blob: f04e571f5f5e2ae123aa61610bfa87b7c459527e [file] [log] [blame]
Lev Walkin5af1a692006-08-18 01:54:27 +00001# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
Lev Walkinf15320b2004-06-03 03:38:44 +00002
Lev Walkin5af1a692006-08-18 01:54:27 +00003# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4# 2005 Free Software Foundation, Inc.
Lev Walkinf15320b2004-06-03 03:38:44 +00005# This file is free software; the Free Software Foundation
6# gives unlimited permission to copy and/or distribute it,
7# with or without modifications, as long as this notice is preserved.
8
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12# PARTICULAR PURPOSE.
13
Lev Walkin8e8b5482004-06-17 23:42:48 +000014# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
Lev Walkin4da95cf2010-10-16 02:46:32 -070015#
16# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
17# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
18# Inc.
19# Written by Gordon Matzigkeit, 1996
20#
21# This file is free software; the Free Software Foundation gives
22# unlimited permission to copy and/or distribute it, with or without
23# modifications, as long as this notice is preserved.
Lev Walkinf15320b2004-06-03 03:38:44 +000024
Lev Walkin4da95cf2010-10-16 02:46:32 -070025m4_define([_LT_COPYING], [dnl
26# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
27# 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
28# Inc.
29# Written by Gordon Matzigkeit, 1996
30#
31# This file is part of GNU Libtool.
32#
33# GNU Libtool is free software; you can redistribute it and/or
34# modify it under the terms of the GNU General Public License as
35# published by the Free Software Foundation; either version 2 of
36# the License, or (at your option) any later version.
37#
38# As a special exception to the GNU General Public License,
39# if you distribute this file as part of a program or library that
40# is built using GNU Libtool, you may include this file under the
41# same distribution terms that you use for the rest of that program.
42#
43# GNU Libtool is distributed in the hope that it will be useful,
44# but WITHOUT ANY WARRANTY; without even the implied warranty of
45# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
46# GNU General Public License for more details.
47#
48# You should have received a copy of the GNU General Public License
49# along with GNU Libtool; see the file COPYING. If not, a copy
50# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
51# obtained by writing to the Free Software Foundation, Inc.,
52# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
53])
54
55# serial 57 LT_INIT
Lev Walkin8e8b5482004-06-17 23:42:48 +000056
57
Lev Walkin4da95cf2010-10-16 02:46:32 -070058# LT_PREREQ(VERSION)
59# ------------------
60# Complain and exit if this libtool version is less that VERSION.
61m4_defun([LT_PREREQ],
62[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
63 [m4_default([$3],
64 [m4_fatal([Libtool version $1 or higher is required],
65 63)])],
66 [$2])])
Lev Walkin8e8b5482004-06-17 23:42:48 +000067
68
Lev Walkin4da95cf2010-10-16 02:46:32 -070069# _LT_CHECK_BUILDDIR
70# ------------------
71# Complain if the absolute build directory name contains unusual characters
72m4_defun([_LT_CHECK_BUILDDIR],
73[case `pwd` in
74 *\ * | *\ *)
75 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
76esac
77])
Lev Walkin8e8b5482004-06-17 23:42:48 +000078
79
Lev Walkin4da95cf2010-10-16 02:46:32 -070080# LT_INIT([OPTIONS])
81# ------------------
82AC_DEFUN([LT_INIT],
83[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
84AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
85AC_BEFORE([$0], [LT_LANG])dnl
86AC_BEFORE([$0], [LT_OUTPUT])dnl
87AC_BEFORE([$0], [LTDL_INIT])dnl
88m4_require([_LT_CHECK_BUILDDIR])dnl
89
90dnl Autoconf doesn't catch unexpanded LT_ macros by default:
91m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
92m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
93dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
94dnl unless we require an AC_DEFUNed macro:
95AC_REQUIRE([LTOPTIONS_VERSION])dnl
96AC_REQUIRE([LTSUGAR_VERSION])dnl
97AC_REQUIRE([LTVERSION_VERSION])dnl
98AC_REQUIRE([LTOBSOLETE_VERSION])dnl
99m4_require([_LT_PROG_LTMAIN])dnl
100
101_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
102
103dnl Parse OPTIONS
104_LT_SET_OPTIONS([$0], [$1])
Lev Walkin8e8b5482004-06-17 23:42:48 +0000105
106# This can be used to rebuild libtool when needed
Lev Walkin4da95cf2010-10-16 02:46:32 -0700107LIBTOOL_DEPS="$ltmain"
Lev Walkin8e8b5482004-06-17 23:42:48 +0000108
109# Always use our own libtool.
110LIBTOOL='$(SHELL) $(top_builddir)/libtool'
111AC_SUBST(LIBTOOL)dnl
112
Lev Walkin4da95cf2010-10-16 02:46:32 -0700113_LT_SETUP
114
115# Only expand once:
116m4_define([LT_INIT])
117])# LT_INIT
118
119# Old names:
120AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
121AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
122dnl aclocal-1.4 backwards compatibility:
123dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
124dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +0000125
126
Lev Walkin4da95cf2010-10-16 02:46:32 -0700127# _LT_CC_BASENAME(CC)
128# -------------------
129# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
130m4_defun([_LT_CC_BASENAME],
131[for cc_temp in $1""; do
132 case $cc_temp in
133 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
134 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
135 \-*) ;;
136 *) break;;
137 esac
138done
139cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
140])
141
142
143# _LT_FILEUTILS_DEFAULTS
144# ----------------------
145# It is okay to use these file commands and assume they have been set
146# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
147m4_defun([_LT_FILEUTILS_DEFAULTS],
148[: ${CP="cp -f"}
149: ${MV="mv -f"}
150: ${RM="rm -f"}
151])# _LT_FILEUTILS_DEFAULTS
152
153
154# _LT_SETUP
155# ---------
156m4_defun([_LT_SETUP],
157[AC_REQUIRE([AC_CANONICAL_HOST])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +0000158AC_REQUIRE([AC_CANONICAL_BUILD])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -0700159AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
160AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +0000161
Lev Walkin4da95cf2010-10-16 02:46:32 -0700162_LT_DECL([], [host_alias], [0], [The host system])dnl
163_LT_DECL([], [host], [0])dnl
164_LT_DECL([], [host_os], [0])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +0000165dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -0700166_LT_DECL([], [build_alias], [0], [The build system])dnl
167_LT_DECL([], [build], [0])dnl
168_LT_DECL([], [build_os], [0])dnl
169dnl
170AC_REQUIRE([AC_PROG_CC])dnl
171AC_REQUIRE([LT_PATH_LD])dnl
172AC_REQUIRE([LT_PATH_NM])dnl
173dnl
174AC_REQUIRE([AC_PROG_LN_S])dnl
175test -z "$LN_S" && LN_S="ln -s"
176_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
177dnl
178AC_REQUIRE([LT_CMD_MAX_LEN])dnl
179_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
180_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
181dnl
182m4_require([_LT_FILEUTILS_DEFAULTS])dnl
183m4_require([_LT_CHECK_SHELL_FEATURES])dnl
184m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
185m4_require([_LT_CMD_RELOAD])dnl
186m4_require([_LT_CHECK_MAGIC_METHOD])dnl
187m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
188m4_require([_LT_CMD_OLD_ARCHIVE])dnl
189m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
190m4_require([_LT_WITH_SYSROOT])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +0000191
Lev Walkin4da95cf2010-10-16 02:46:32 -0700192_LT_CONFIG_LIBTOOL_INIT([
193# See if we are running on zsh, and set the options which allow our
194# commands through without removal of \ escapes INIT.
195if test -n "\${ZSH_VERSION+set}" ; then
196 setopt NO_GLOB_SUBST
197fi
198])
199if test -n "${ZSH_VERSION+set}" ; then
200 setopt NO_GLOB_SUBST
201fi
Lev Walkin8e8b5482004-06-17 23:42:48 +0000202
Lev Walkin4da95cf2010-10-16 02:46:32 -0700203_LT_CHECK_OBJDIR
204
205m4_require([_LT_TAG_COMPILER])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +0000206
207case $host_os in
208aix3*)
209 # AIX sometimes has problems with the GCC collect2 program. For some
210 # reason, if we set the COLLECT_NAMES environment variable, the problems
211 # vanish in a puff of smoke.
212 if test "X${COLLECT_NAMES+set}" != Xset; then
213 COLLECT_NAMES=
214 export COLLECT_NAMES
215 fi
216 ;;
217esac
218
Lev Walkin8e8b5482004-06-17 23:42:48 +0000219# Global variables:
Lev Walkin4da95cf2010-10-16 02:46:32 -0700220ofile=libtool
Lev Walkin8e8b5482004-06-17 23:42:48 +0000221can_build_shared=yes
222
Lev Walkin27fd0b62007-08-27 23:57:45 +0000223# All known linkers require a `.a' archive for static linking (except MSVC,
Lev Walkin8e8b5482004-06-17 23:42:48 +0000224# which needs '.lib').
225libext=a
Lev Walkin8e8b5482004-06-17 23:42:48 +0000226
Lev Walkin4da95cf2010-10-16 02:46:32 -0700227with_gnu_ld="$lt_cv_prog_gnu_ld"
Lev Walkin8e8b5482004-06-17 23:42:48 +0000228
229old_CC="$CC"
230old_CFLAGS="$CFLAGS"
231
232# Set sane defaults for various variables
Lev Walkin8e8b5482004-06-17 23:42:48 +0000233test -z "$CC" && CC=cc
234test -z "$LTCC" && LTCC=$CC
Lev Walkin27fd0b62007-08-27 23:57:45 +0000235test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
Lev Walkin8e8b5482004-06-17 23:42:48 +0000236test -z "$LD" && LD=ld
Lev Walkin8e8b5482004-06-17 23:42:48 +0000237test -z "$ac_objext" && ac_objext=o
238
Lev Walkin4da95cf2010-10-16 02:46:32 -0700239_LT_CC_BASENAME([$compiler])
240
241# Only perform the check for file, if the check method requires it
242test -z "$MAGIC_CMD" && MAGIC_CMD=file
243case $deplibs_check_method in
244file_magic*)
245 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
246 _LT_PATH_MAGIC
247 fi
248 ;;
249esac
250
251# Use C for the default configuration in the libtool script
252LT_SUPPORTED_TAG([CC])
253_LT_LANG_C_CONFIG
254_LT_LANG_DEFAULT_CONFIG
255_LT_CONFIG_COMMANDS
256])# _LT_SETUP
257
258
259# _LT_PREPARE_SED_QUOTE_VARS
260# --------------------------
261# Define a few sed substitution that help us do robust quoting.
262m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
263[# Backslashify metacharacters that are still active within
264# double-quoted strings.
265sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
266
267# Same as above, but do not quote variable references.
268double_quote_subst='s/\([["`\\]]\)/\\\1/g'
269
270# Sed substitution to delay expansion of an escaped shell variable in a
271# double_quote_subst'ed string.
272delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
273
274# Sed substitution to delay expansion of an escaped single quote.
275delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
276
277# Sed substitution to avoid accidental globbing in evaled expressions
278no_glob_subst='s/\*/\\\*/g'
279])
280
281# _LT_PROG_LTMAIN
282# ---------------
283# Note that this code is called both from `configure', and `config.status'
284# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
285# `config.status' has no value for ac_aux_dir unless we are using Automake,
286# so we pass a copy along to make sure it has a sensible value anyway.
287m4_defun([_LT_PROG_LTMAIN],
288[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
289_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
290ltmain="$ac_aux_dir/ltmain.sh"
291])# _LT_PROG_LTMAIN
292
293
294
295# So that we can recreate a full libtool script including additional
296# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
297# in macros and then make a single call at the end using the `libtool'
298# label.
299
300
301# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
302# ----------------------------------------
303# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
304m4_define([_LT_CONFIG_LIBTOOL_INIT],
305[m4_ifval([$1],
306 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
307 [$1
308])])])
309
310# Initialize.
311m4_define([_LT_OUTPUT_LIBTOOL_INIT])
312
313
314# _LT_CONFIG_LIBTOOL([COMMANDS])
315# ------------------------------
316# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
317m4_define([_LT_CONFIG_LIBTOOL],
318[m4_ifval([$1],
319 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
320 [$1
321])])])
322
323# Initialize.
324m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
325
326
327# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
328# -----------------------------------------------------
329m4_defun([_LT_CONFIG_SAVE_COMMANDS],
330[_LT_CONFIG_LIBTOOL([$1])
331_LT_CONFIG_LIBTOOL_INIT([$2])
332])
333
334
335# _LT_FORMAT_COMMENT([COMMENT])
336# -----------------------------
337# Add leading comment marks to the start of each line, and a trailing
338# full-stop to the whole comment if one is not present already.
339m4_define([_LT_FORMAT_COMMENT],
340[m4_ifval([$1], [
341m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
342 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
343)])
344
345
346
347
348
349# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
350# -------------------------------------------------------------------
351# CONFIGNAME is the name given to the value in the libtool script.
352# VARNAME is the (base) name used in the configure script.
353# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
354# VARNAME. Any other value will be used directly.
355m4_define([_LT_DECL],
356[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
357 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
358 [m4_ifval([$1], [$1], [$2])])
359 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
360 m4_ifval([$4],
361 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
362 lt_dict_add_subkey([lt_decl_dict], [$2],
363 [tagged?], [m4_ifval([$5], [yes], [no])])])
364])
365
366
367# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
368# --------------------------------------------------------
369m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
370
371
372# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
373# ------------------------------------------------
374m4_define([lt_decl_tag_varnames],
375[_lt_decl_filter([tagged?], [yes], $@)])
376
377
378# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
379# ---------------------------------------------------------
380m4_define([_lt_decl_filter],
381[m4_case([$#],
382 [0], [m4_fatal([$0: too few arguments: $#])],
383 [1], [m4_fatal([$0: too few arguments: $#: $1])],
384 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
385 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
386 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
387])
388
389
390# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
391# --------------------------------------------------
392m4_define([lt_decl_quote_varnames],
393[_lt_decl_filter([value], [1], $@)])
394
395
396# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
397# ---------------------------------------------------
398m4_define([lt_decl_dquote_varnames],
399[_lt_decl_filter([value], [2], $@)])
400
401
402# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
403# ---------------------------------------------------
404m4_define([lt_decl_varnames_tagged],
405[m4_assert([$# <= 2])dnl
406_$0(m4_quote(m4_default([$1], [[, ]])),
407 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
408 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
409m4_define([_lt_decl_varnames_tagged],
410[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
411
412
413# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
414# ------------------------------------------------
415m4_define([lt_decl_all_varnames],
416[_$0(m4_quote(m4_default([$1], [[, ]])),
417 m4_if([$2], [],
418 m4_quote(lt_decl_varnames),
419 m4_quote(m4_shift($@))))[]dnl
420])
421m4_define([_lt_decl_all_varnames],
422[lt_join($@, lt_decl_varnames_tagged([$1],
423 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
424])
425
426
427# _LT_CONFIG_STATUS_DECLARE([VARNAME])
428# ------------------------------------
429# Quote a variable value, and forward it to `config.status' so that its
430# declaration there will have the same value as in `configure'. VARNAME
431# must have a single quote delimited value for this to work.
432m4_define([_LT_CONFIG_STATUS_DECLARE],
433[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
434
435
436# _LT_CONFIG_STATUS_DECLARATIONS
437# ------------------------------
438# We delimit libtool config variables with single quotes, so when
439# we write them to config.status, we have to be sure to quote all
440# embedded single quotes properly. In configure, this macro expands
441# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
442#
443# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
444m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
445[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
446 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
447
448
449# _LT_LIBTOOL_TAGS
450# ----------------
451# Output comment and list of tags supported by the script
452m4_defun([_LT_LIBTOOL_TAGS],
453[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
454available_tags="_LT_TAGS"dnl
455])
456
457
458# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
459# -----------------------------------
460# Extract the dictionary values for VARNAME (optionally with TAG) and
461# expand to a commented shell variable setting:
462#
463# # Some comment about what VAR is for.
464# visible_name=$lt_internal_name
465m4_define([_LT_LIBTOOL_DECLARE],
466[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
467 [description])))[]dnl
468m4_pushdef([_libtool_name],
469 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
470m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
471 [0], [_libtool_name=[$]$1],
472 [1], [_libtool_name=$lt_[]$1],
473 [2], [_libtool_name=$lt_[]$1],
474 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
475m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
476])
477
478
479# _LT_LIBTOOL_CONFIG_VARS
480# -----------------------
481# Produce commented declarations of non-tagged libtool config variables
482# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
483# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
484# section) are produced by _LT_LIBTOOL_TAG_VARS.
485m4_defun([_LT_LIBTOOL_CONFIG_VARS],
486[m4_foreach([_lt_var],
487 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
488 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
489
490
491# _LT_LIBTOOL_TAG_VARS(TAG)
492# -------------------------
493m4_define([_LT_LIBTOOL_TAG_VARS],
494[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
495 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
496
497
498# _LT_TAGVAR(VARNAME, [TAGNAME])
499# ------------------------------
500m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
501
502
503# _LT_CONFIG_COMMANDS
504# -------------------
505# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
506# variables for single and double quote escaping we saved from calls
507# to _LT_DECL, we can put quote escaped variables declarations
508# into `config.status', and then the shell code to quote escape them in
509# for loops in `config.status'. Finally, any additional code accumulated
510# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
511m4_defun([_LT_CONFIG_COMMANDS],
512[AC_PROVIDE_IFELSE([LT_OUTPUT],
513 dnl If the libtool generation code has been placed in $CONFIG_LT,
514 dnl instead of duplicating it all over again into config.status,
515 dnl then we will have config.status run $CONFIG_LT later, so it
516 dnl needs to know what name is stored there:
517 [AC_CONFIG_COMMANDS([libtool],
518 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
519 dnl If the libtool generation code is destined for config.status,
520 dnl expand the accumulated commands and init code now:
521 [AC_CONFIG_COMMANDS([libtool],
522 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
523])#_LT_CONFIG_COMMANDS
524
525
526# Initialize.
527m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
528[
529
530# The HP-UX ksh and POSIX shell print the target directory to stdout
531# if CDPATH is set.
532(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
533
534sed_quote_subst='$sed_quote_subst'
535double_quote_subst='$double_quote_subst'
536delay_variable_subst='$delay_variable_subst'
537_LT_CONFIG_STATUS_DECLARATIONS
538LTCC='$LTCC'
539LTCFLAGS='$LTCFLAGS'
540compiler='$compiler_DEFAULT'
541
542# A function that is used when there is no print builtin or printf.
543func_fallback_echo ()
544{
545 eval 'cat <<_LTECHO_EOF
546\$[]1
547_LTECHO_EOF'
548}
549
550# Quote evaled strings.
551for var in lt_decl_all_varnames([[ \
552]], lt_decl_quote_varnames); do
553 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
554 *[[\\\\\\\`\\"\\\$]]*)
555 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
556 ;;
557 *)
558 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
559 ;;
560 esac
561done
562
563# Double-quote double-evaled strings.
564for var in lt_decl_all_varnames([[ \
565]], lt_decl_dquote_varnames); do
566 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
567 *[[\\\\\\\`\\"\\\$]]*)
568 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
569 ;;
570 *)
571 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
572 ;;
573 esac
574done
575
576_LT_OUTPUT_LIBTOOL_INIT
577])
578
579# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
580# ------------------------------------
581# Generate a child script FILE with all initialization necessary to
582# reuse the environment learned by the parent script, and make the
583# file executable. If COMMENT is supplied, it is inserted after the
584# `#!' sequence but before initialization text begins. After this
585# macro, additional text can be appended to FILE to form the body of
586# the child script. The macro ends with non-zero status if the
587# file could not be fully written (such as if the disk is full).
588m4_ifdef([AS_INIT_GENERATED],
589[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
590[m4_defun([_LT_GENERATED_FILE_INIT],
591[m4_require([AS_PREPARE])]dnl
592[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
593[lt_write_fail=0
594cat >$1 <<_ASEOF || lt_write_fail=1
595#! $SHELL
596# Generated by $as_me.
597$2
598SHELL=\${CONFIG_SHELL-$SHELL}
599export SHELL
600_ASEOF
601cat >>$1 <<\_ASEOF || lt_write_fail=1
602AS_SHELL_SANITIZE
603_AS_PREPARE
604exec AS_MESSAGE_FD>&1
605_ASEOF
606test $lt_write_fail = 0 && chmod +x $1[]dnl
607m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
608
609# LT_OUTPUT
610# ---------
611# This macro allows early generation of the libtool script (before
612# AC_OUTPUT is called), incase it is used in configure for compilation
613# tests.
614AC_DEFUN([LT_OUTPUT],
615[: ${CONFIG_LT=./config.lt}
616AC_MSG_NOTICE([creating $CONFIG_LT])
617_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
618[# Run this file to recreate a libtool stub with the current configuration.])
619
620cat >>"$CONFIG_LT" <<\_LTEOF
621lt_cl_silent=false
622exec AS_MESSAGE_LOG_FD>>config.log
623{
624 echo
625 AS_BOX([Running $as_me.])
626} >&AS_MESSAGE_LOG_FD
627
628lt_cl_help="\
629\`$as_me' creates a local libtool stub from the current configuration,
630for use in further configure time tests before the real libtool is
631generated.
632
633Usage: $[0] [[OPTIONS]]
634
635 -h, --help print this help, then exit
636 -V, --version print version number, then exit
637 -q, --quiet do not print progress messages
638 -d, --debug don't remove temporary files
639
640Report bugs to <bug-libtool@gnu.org>."
641
642lt_cl_version="\
643m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
644m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
645configured by $[0], generated by m4_PACKAGE_STRING.
646
647Copyright (C) 2010 Free Software Foundation, Inc.
648This config.lt script is free software; the Free Software Foundation
649gives unlimited permision to copy, distribute and modify it."
650
651while test $[#] != 0
652do
653 case $[1] in
654 --version | --v* | -V )
655 echo "$lt_cl_version"; exit 0 ;;
656 --help | --h* | -h )
657 echo "$lt_cl_help"; exit 0 ;;
658 --debug | --d* | -d )
659 debug=: ;;
660 --quiet | --q* | --silent | --s* | -q )
661 lt_cl_silent=: ;;
662
663 -*) AC_MSG_ERROR([unrecognized option: $[1]
664Try \`$[0] --help' for more information.]) ;;
665
666 *) AC_MSG_ERROR([unrecognized argument: $[1]
667Try \`$[0] --help' for more information.]) ;;
668 esac
669 shift
670done
671
672if $lt_cl_silent; then
673 exec AS_MESSAGE_FD>/dev/null
674fi
675_LTEOF
676
677cat >>"$CONFIG_LT" <<_LTEOF
678_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
679_LTEOF
680
681cat >>"$CONFIG_LT" <<\_LTEOF
682AC_MSG_NOTICE([creating $ofile])
683_LT_OUTPUT_LIBTOOL_COMMANDS
684AS_EXIT(0)
685_LTEOF
686chmod +x "$CONFIG_LT"
687
688# configure is writing to config.log, but config.lt does its own redirection,
689# appending to config.log, which fails on DOS, as config.log is still kept
690# open by configure. Here we exec the FD to /dev/null, effectively closing
691# config.log, so it can be properly (re)opened and appended to by config.lt.
692lt_cl_success=:
693test "$silent" = yes &&
694 lt_config_lt_args="$lt_config_lt_args --quiet"
695exec AS_MESSAGE_LOG_FD>/dev/null
696$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
697exec AS_MESSAGE_LOG_FD>>config.log
698$lt_cl_success || AS_EXIT(1)
699])# LT_OUTPUT
700
701
702# _LT_CONFIG(TAG)
703# ---------------
704# If TAG is the built-in tag, create an initial libtool script with a
705# default configuration from the untagged config vars. Otherwise add code
706# to config.status for appending the configuration named by TAG from the
707# matching tagged config vars.
708m4_defun([_LT_CONFIG],
709[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
710_LT_CONFIG_SAVE_COMMANDS([
711 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
712 m4_if(_LT_TAG, [C], [
713 # See if we are running on zsh, and set the options which allow our
714 # commands through without removal of \ escapes.
715 if test -n "${ZSH_VERSION+set}" ; then
716 setopt NO_GLOB_SUBST
717 fi
718
719 cfgfile="${ofile}T"
720 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
721 $RM "$cfgfile"
722
723 cat <<_LT_EOF >> "$cfgfile"
724#! $SHELL
725
726# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
727# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
728# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
729# NOTE: Changes made to this file will be lost: look at ltmain.sh.
730#
731_LT_COPYING
732_LT_LIBTOOL_TAGS
733
734# ### BEGIN LIBTOOL CONFIG
735_LT_LIBTOOL_CONFIG_VARS
736_LT_LIBTOOL_TAG_VARS
737# ### END LIBTOOL CONFIG
738
739_LT_EOF
740
741 case $host_os in
742 aix3*)
743 cat <<\_LT_EOF >> "$cfgfile"
744# AIX sometimes has problems with the GCC collect2 program. For some
745# reason, if we set the COLLECT_NAMES environment variable, the problems
746# vanish in a puff of smoke.
747if test "X${COLLECT_NAMES+set}" != Xset; then
748 COLLECT_NAMES=
749 export COLLECT_NAMES
750fi
751_LT_EOF
752 ;;
753 esac
754
755 _LT_PROG_LTMAIN
756
757 # We use sed instead of cat because bash on DJGPP gets confused if
758 # if finds mixed CR/LF and LF-only lines. Since sed operates in
759 # text mode, it properly converts lines to CR/LF. This bash problem
760 # is reportedly fixed, but why not run on old versions too?
761 sed '$q' "$ltmain" >> "$cfgfile" \
762 || (rm -f "$cfgfile"; exit 1)
763
764 _LT_PROG_REPLACE_SHELLFNS
765
766 mv -f "$cfgfile" "$ofile" ||
767 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
768 chmod +x "$ofile"
769],
770[cat <<_LT_EOF >> "$ofile"
771
772dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
773dnl in a comment (ie after a #).
774# ### BEGIN LIBTOOL TAG CONFIG: $1
775_LT_LIBTOOL_TAG_VARS(_LT_TAG)
776# ### END LIBTOOL TAG CONFIG: $1
777_LT_EOF
778])dnl /m4_if
779],
780[m4_if([$1], [], [
781 PACKAGE='$PACKAGE'
782 VERSION='$VERSION'
783 TIMESTAMP='$TIMESTAMP'
784 RM='$RM'
785 ofile='$ofile'], [])
786])dnl /_LT_CONFIG_SAVE_COMMANDS
787])# _LT_CONFIG
788
789
790# LT_SUPPORTED_TAG(TAG)
791# ---------------------
792# Trace this macro to discover what tags are supported by the libtool
793# --tag option, using:
794# autoconf --trace 'LT_SUPPORTED_TAG:$1'
795AC_DEFUN([LT_SUPPORTED_TAG], [])
796
797
798# C support is built-in for now
799m4_define([_LT_LANG_C_enabled], [])
800m4_define([_LT_TAGS], [])
801
802
803# LT_LANG(LANG)
804# -------------
805# Enable libtool support for the given language if not already enabled.
806AC_DEFUN([LT_LANG],
807[AC_BEFORE([$0], [LT_OUTPUT])dnl
808m4_case([$1],
809 [C], [_LT_LANG(C)],
810 [C++], [_LT_LANG(CXX)],
811 [Java], [_LT_LANG(GCJ)],
812 [Fortran 77], [_LT_LANG(F77)],
813 [Fortran], [_LT_LANG(FC)],
814 [Windows Resource], [_LT_LANG(RC)],
815 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
816 [_LT_LANG($1)],
817 [m4_fatal([$0: unsupported language: "$1"])])])dnl
818])# LT_LANG
819
820
821# _LT_LANG(LANGNAME)
822# ------------------
823m4_defun([_LT_LANG],
824[m4_ifdef([_LT_LANG_]$1[_enabled], [],
825 [LT_SUPPORTED_TAG([$1])dnl
826 m4_append([_LT_TAGS], [$1 ])dnl
827 m4_define([_LT_LANG_]$1[_enabled], [])dnl
828 _LT_LANG_$1_CONFIG($1)])dnl
829])# _LT_LANG
830
831
832# _LT_LANG_DEFAULT_CONFIG
833# -----------------------
834m4_defun([_LT_LANG_DEFAULT_CONFIG],
835[AC_PROVIDE_IFELSE([AC_PROG_CXX],
836 [LT_LANG(CXX)],
837 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
838
839AC_PROVIDE_IFELSE([AC_PROG_F77],
840 [LT_LANG(F77)],
841 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
842
843AC_PROVIDE_IFELSE([AC_PROG_FC],
844 [LT_LANG(FC)],
845 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
846
847dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
848dnl pulling things in needlessly.
849AC_PROVIDE_IFELSE([AC_PROG_GCJ],
850 [LT_LANG(GCJ)],
851 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
852 [LT_LANG(GCJ)],
853 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
854 [LT_LANG(GCJ)],
855 [m4_ifdef([AC_PROG_GCJ],
856 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
857 m4_ifdef([A][M_PROG_GCJ],
858 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
859 m4_ifdef([LT_PROG_GCJ],
860 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
861
862AC_PROVIDE_IFELSE([LT_PROG_RC],
863 [LT_LANG(RC)],
864 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
865])# _LT_LANG_DEFAULT_CONFIG
866
867# Obsolete macros:
868AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
869AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
870AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
871AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
872AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
873dnl aclocal-1.4 backwards compatibility:
874dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
875dnl AC_DEFUN([AC_LIBTOOL_F77], [])
876dnl AC_DEFUN([AC_LIBTOOL_FC], [])
877dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
878dnl AC_DEFUN([AC_LIBTOOL_RC], [])
879
880
881# _LT_TAG_COMPILER
882# ----------------
883m4_defun([_LT_TAG_COMPILER],
884[AC_REQUIRE([AC_PROG_CC])dnl
885
886_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
887_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
888_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
889_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
890
891# If no C compiler was specified, use CC.
892LTCC=${LTCC-"$CC"}
893
894# If no C compiler flags were specified, use CFLAGS.
895LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
896
897# Allow CC to be a program name with arguments.
898compiler=$CC
899])# _LT_TAG_COMPILER
900
901
902# _LT_COMPILER_BOILERPLATE
903# ------------------------
904# Check for compiler boilerplate output or warnings with
905# the simple compiler test code.
906m4_defun([_LT_COMPILER_BOILERPLATE],
907[m4_require([_LT_DECL_SED])dnl
908ac_outfile=conftest.$ac_objext
909echo "$lt_simple_compile_test_code" >conftest.$ac_ext
910eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
911_lt_compiler_boilerplate=`cat conftest.err`
912$RM conftest*
913])# _LT_COMPILER_BOILERPLATE
914
915
916# _LT_LINKER_BOILERPLATE
917# ----------------------
918# Check for linker boilerplate output or warnings with
919# the simple link test code.
920m4_defun([_LT_LINKER_BOILERPLATE],
921[m4_require([_LT_DECL_SED])dnl
922ac_outfile=conftest.$ac_objext
923echo "$lt_simple_link_test_code" >conftest.$ac_ext
924eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
925_lt_linker_boilerplate=`cat conftest.err`
926$RM -r conftest*
927])# _LT_LINKER_BOILERPLATE
928
929# _LT_REQUIRED_DARWIN_CHECKS
930# -------------------------
931m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
932 case $host_os in
933 rhapsody* | darwin*)
934 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
935 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
936 AC_CHECK_TOOL([LIPO], [lipo], [:])
937 AC_CHECK_TOOL([OTOOL], [otool], [:])
938 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
939 _LT_DECL([], [DSYMUTIL], [1],
940 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
941 _LT_DECL([], [NMEDIT], [1],
942 [Tool to change global to local symbols on Mac OS X])
943 _LT_DECL([], [LIPO], [1],
944 [Tool to manipulate fat objects and archives on Mac OS X])
945 _LT_DECL([], [OTOOL], [1],
946 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
947 _LT_DECL([], [OTOOL64], [1],
948 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
949
950 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
951 [lt_cv_apple_cc_single_mod=no
952 if test -z "${LT_MULTI_MODULE}"; then
953 # By default we will add the -single_module flag. You can override
954 # by either setting the environment variable LT_MULTI_MODULE
955 # non-empty at configure time, or by adding -multi_module to the
956 # link flags.
957 rm -rf libconftest.dylib*
958 echo "int foo(void){return 1;}" > conftest.c
959 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
960-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
961 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
962 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
963 _lt_result=$?
964 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
965 lt_cv_apple_cc_single_mod=yes
966 else
967 cat conftest.err >&AS_MESSAGE_LOG_FD
968 fi
969 rm -rf libconftest.dylib*
970 rm -f conftest.*
971 fi])
972 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
973 [lt_cv_ld_exported_symbols_list],
974 [lt_cv_ld_exported_symbols_list=no
975 save_LDFLAGS=$LDFLAGS
976 echo "_main" > conftest.sym
977 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
978 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
979 [lt_cv_ld_exported_symbols_list=yes],
980 [lt_cv_ld_exported_symbols_list=no])
981 LDFLAGS="$save_LDFLAGS"
982 ])
983 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
984 [lt_cv_ld_force_load=no
985 cat > conftest.c << _LT_EOF
986int forced_loaded() { return 2;}
987_LT_EOF
988 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
989 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
990 echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
991 $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
992 echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
993 $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
994 cat > conftest.c << _LT_EOF
995int main() { return 0;}
996_LT_EOF
997 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
998 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
999 _lt_result=$?
1000 if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
1001 lt_cv_ld_force_load=yes
1002 else
1003 cat conftest.err >&AS_MESSAGE_LOG_FD
1004 fi
1005 rm -f conftest.err libconftest.a conftest conftest.c
1006 rm -rf conftest.dSYM
1007 ])
1008 case $host_os in
1009 rhapsody* | darwin1.[[012]])
1010 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
1011 darwin1.*)
1012 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1013 darwin*) # darwin 5.x on
1014 # if running on 10.5 or later, the deployment target defaults
1015 # to the OS version, if on x86, and 10.4, the deployment
1016 # target defaults to 10.4. Don't you love it?
1017 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1018 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1019 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1020 10.[[012]]*)
1021 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1022 10.*)
1023 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1024 esac
1025 ;;
1026 esac
1027 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1028 _lt_dar_single_mod='$single_module'
1029 fi
1030 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1031 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1032 else
1033 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1034 fi
1035 if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
1036 _lt_dsymutil='~$DSYMUTIL $lib || :'
1037 else
1038 _lt_dsymutil=
1039 fi
1040 ;;
1041 esac
1042])
1043
1044
1045# _LT_DARWIN_LINKER_FEATURES
1046# --------------------------
1047# Checks for linker and compiler features on darwin
1048m4_defun([_LT_DARWIN_LINKER_FEATURES],
1049[
1050 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1051 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1052 _LT_TAGVAR(hardcode_direct, $1)=no
1053 _LT_TAGVAR(hardcode_automatic, $1)=yes
1054 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1055 if test "$lt_cv_ld_force_load" = "yes"; then
1056 _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\"`'
1057 else
1058 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1059 fi
1060 _LT_TAGVAR(link_all_deplibs, $1)=yes
1061 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1062 case $cc_basename in
1063 ifort*) _lt_dar_can_shared=yes ;;
1064 *) _lt_dar_can_shared=$GCC ;;
1065 esac
1066 if test "$_lt_dar_can_shared" = "yes"; then
1067 output_verbose_link_cmd=func_echo_all
1068 _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}"
1069 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1070 _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}"
1071 _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}"
1072 m4_if([$1], [CXX],
1073[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1074 _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}"
1075 _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}"
1076 fi
1077],[])
1078 else
1079 _LT_TAGVAR(ld_shlibs, $1)=no
1080 fi
1081])
1082
1083# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1084# ----------------------------------
1085# Links a minimal program and checks the executable
1086# for the system default hardcoded library path. In most cases,
1087# this is /usr/lib:/lib, but when the MPI compilers are used
1088# the location of the communication and MPI libs are included too.
1089# If we don't find anything, use the default library path according
1090# to the aix ld manual.
1091# Store the results from the different compilers for each TAGNAME.
1092# Allow to override them for all tags through lt_cv_aix_libpath.
1093m4_defun([_LT_SYS_MODULE_PATH_AIX],
1094[m4_require([_LT_DECL_SED])dnl
1095if test "${lt_cv_aix_libpath+set}" = set; then
1096 aix_libpath=$lt_cv_aix_libpath
1097else
1098 AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1099 [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1100 lt_aix_libpath_sed='[
1101 /Import File Strings/,/^$/ {
1102 /^0/ {
1103 s/^0 *\([^ ]*\) *$/\1/
1104 p
1105 }
1106 }]'
1107 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1108 # Check for a 64-bit object if we didn't find anything.
1109 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1110 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1111 fi],[])
1112 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1113 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
1114 fi
1115 ])
1116 aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1117fi
1118])# _LT_SYS_MODULE_PATH_AIX
1119
1120
1121# _LT_SHELL_INIT(ARG)
1122# -------------------
1123m4_define([_LT_SHELL_INIT],
1124[m4_divert_text([M4SH-INIT], [$1
1125])])# _LT_SHELL_INIT
1126
1127
1128
1129# _LT_PROG_ECHO_BACKSLASH
1130# -----------------------
1131# Find how we can fake an echo command that does not interpret backslash.
1132# In particular, with Autoconf 2.60 or later we add some code to the start
1133# of the generated configure script which will find a shell with a builtin
1134# printf (which we can use as an echo command).
1135m4_defun([_LT_PROG_ECHO_BACKSLASH],
1136[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1137ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1138ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1139
1140AC_MSG_CHECKING([how to print strings])
1141# Test print first, because it will be a builtin if present.
1142if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1143 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1144 ECHO='print -r --'
1145elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1146 ECHO='printf %s\n'
1147else
1148 # Use this function as a fallback that always works.
1149 func_fallback_echo ()
1150 {
1151 eval 'cat <<_LTECHO_EOF
1152$[]1
1153_LTECHO_EOF'
1154 }
1155 ECHO='func_fallback_echo'
1156fi
1157
1158# func_echo_all arg...
1159# Invoke $ECHO with all args, space-separated.
1160func_echo_all ()
1161{
1162 $ECHO "$*"
1163}
1164
1165case "$ECHO" in
1166 printf*) AC_MSG_RESULT([printf]) ;;
1167 print*) AC_MSG_RESULT([print -r]) ;;
1168 *) AC_MSG_RESULT([cat]) ;;
1169esac
1170
1171m4_ifdef([_AS_DETECT_SUGGESTED],
1172[_AS_DETECT_SUGGESTED([
1173 test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1174 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1175 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1176 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1177 PATH=/empty FPATH=/empty; export PATH FPATH
1178 test "X`printf %s $ECHO`" = "X$ECHO" \
1179 || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1180
1181_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1182_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1183])# _LT_PROG_ECHO_BACKSLASH
1184
1185
1186# _LT_WITH_SYSROOT
1187# ----------------
1188AC_DEFUN([_LT_WITH_SYSROOT],
1189[AC_MSG_CHECKING([for sysroot])
1190AC_ARG_WITH([sysroot],
1191[ --with-sysroot[=DIR] Search for dependent libraries within DIR
1192 (or the compiler's sysroot if not specified).],
1193[], [with_sysroot=no])
1194
1195dnl lt_sysroot will always be passed unquoted. We quote it here
1196dnl in case the user passed a directory name.
1197lt_sysroot=
1198case ${with_sysroot} in #(
1199 yes)
1200 if test "$GCC" = yes; then
1201 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1202 fi
1203 ;; #(
1204 /*)
1205 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1206 ;; #(
1207 no|'')
1208 ;; #(
1209 *)
1210 AC_MSG_RESULT([${with_sysroot}])
1211 AC_MSG_ERROR([The sysroot must be an absolute path.])
1212 ;;
1213esac
1214
1215 AC_MSG_RESULT([${lt_sysroot:-no}])
1216_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1217[dependent libraries, and in which our libraries should be installed.])])
1218
1219# _LT_ENABLE_LOCK
1220# ---------------
1221m4_defun([_LT_ENABLE_LOCK],
1222[AC_ARG_ENABLE([libtool-lock],
1223 [AS_HELP_STRING([--disable-libtool-lock],
1224 [avoid locking (might break parallel builds)])])
1225test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1226
1227# Some flags need to be propagated to the compiler or linker for good
1228# libtool support.
1229case $host in
1230ia64-*-hpux*)
1231 # Find out which ABI we are using.
1232 echo 'int i;' > conftest.$ac_ext
1233 if AC_TRY_EVAL(ac_compile); then
1234 case `/usr/bin/file conftest.$ac_objext` in
1235 *ELF-32*)
1236 HPUX_IA64_MODE="32"
1237 ;;
1238 *ELF-64*)
1239 HPUX_IA64_MODE="64"
1240 ;;
1241 esac
1242 fi
1243 rm -rf conftest*
1244 ;;
1245*-*-irix6*)
1246 # Find out which ABI we are using.
1247 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1248 if AC_TRY_EVAL(ac_compile); then
1249 if test "$lt_cv_prog_gnu_ld" = yes; then
1250 case `/usr/bin/file conftest.$ac_objext` in
1251 *32-bit*)
1252 LD="${LD-ld} -melf32bsmip"
1253 ;;
1254 *N32*)
1255 LD="${LD-ld} -melf32bmipn32"
1256 ;;
1257 *64-bit*)
1258 LD="${LD-ld} -melf64bmip"
1259 ;;
1260 esac
1261 else
1262 case `/usr/bin/file conftest.$ac_objext` in
1263 *32-bit*)
1264 LD="${LD-ld} -32"
1265 ;;
1266 *N32*)
1267 LD="${LD-ld} -n32"
1268 ;;
1269 *64-bit*)
1270 LD="${LD-ld} -64"
1271 ;;
1272 esac
1273 fi
1274 fi
1275 rm -rf conftest*
1276 ;;
1277
1278x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1279s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1280 # Find out which ABI we are using.
1281 echo 'int i;' > conftest.$ac_ext
1282 if AC_TRY_EVAL(ac_compile); then
1283 case `/usr/bin/file conftest.o` in
1284 *32-bit*)
1285 case $host in
1286 x86_64-*kfreebsd*-gnu)
1287 LD="${LD-ld} -m elf_i386_fbsd"
1288 ;;
1289 x86_64-*linux*)
1290 LD="${LD-ld} -m elf_i386"
1291 ;;
1292 ppc64-*linux*|powerpc64-*linux*)
1293 LD="${LD-ld} -m elf32ppclinux"
1294 ;;
1295 s390x-*linux*)
1296 LD="${LD-ld} -m elf_s390"
1297 ;;
1298 sparc64-*linux*)
1299 LD="${LD-ld} -m elf32_sparc"
1300 ;;
1301 esac
1302 ;;
1303 *64-bit*)
1304 case $host in
1305 x86_64-*kfreebsd*-gnu)
1306 LD="${LD-ld} -m elf_x86_64_fbsd"
1307 ;;
1308 x86_64-*linux*)
1309 LD="${LD-ld} -m elf_x86_64"
1310 ;;
1311 ppc*-*linux*|powerpc*-*linux*)
1312 LD="${LD-ld} -m elf64ppc"
1313 ;;
1314 s390*-*linux*|s390*-*tpf*)
1315 LD="${LD-ld} -m elf64_s390"
1316 ;;
1317 sparc*-*linux*)
1318 LD="${LD-ld} -m elf64_sparc"
1319 ;;
1320 esac
1321 ;;
1322 esac
1323 fi
1324 rm -rf conftest*
1325 ;;
1326
1327*-*-sco3.2v5*)
1328 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1329 SAVE_CFLAGS="$CFLAGS"
1330 CFLAGS="$CFLAGS -belf"
1331 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1332 [AC_LANG_PUSH(C)
1333 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1334 AC_LANG_POP])
1335 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1336 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1337 CFLAGS="$SAVE_CFLAGS"
1338 fi
1339 ;;
1340sparc*-*solaris*)
1341 # Find out which ABI we are using.
1342 echo 'int i;' > conftest.$ac_ext
1343 if AC_TRY_EVAL(ac_compile); then
1344 case `/usr/bin/file conftest.o` in
1345 *64-bit*)
1346 case $lt_cv_prog_gnu_ld in
1347 yes*) LD="${LD-ld} -m elf64_sparc" ;;
1348 *)
1349 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1350 LD="${LD-ld} -64"
1351 fi
1352 ;;
1353 esac
1354 ;;
1355 esac
1356 fi
1357 rm -rf conftest*
1358 ;;
1359esac
1360
1361need_locks="$enable_libtool_lock"
1362])# _LT_ENABLE_LOCK
1363
1364
1365# _LT_PROG_AR
1366# -----------
1367m4_defun([_LT_PROG_AR],
1368[AC_CHECK_TOOLS(AR, [ar], false)
1369: ${AR=ar}
1370: ${AR_FLAGS=cru}
1371_LT_DECL([], [AR], [1], [The archiver])
1372_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1373
1374AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1375 [lt_cv_ar_at_file=no
1376 AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1377 [echo conftest.$ac_objext > conftest.lst
1378 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1379 AC_TRY_EVAL([lt_ar_try])
1380 if test "$ac_status" -eq 0; then
1381 # Ensure the archiver fails upon bogus file names.
1382 rm -f conftest.$ac_objext libconftest.a
1383 AC_TRY_EVAL([lt_ar_try])
1384 if test "$ac_status" -ne 0; then
1385 lt_cv_ar_at_file=@
1386 fi
1387 fi
1388 rm -f conftest.* libconftest.a
1389 ])
1390 ])
1391
1392if test "x$lt_cv_ar_at_file" = xno; then
1393 archiver_list_spec=
1394else
1395 archiver_list_spec=$lt_cv_ar_at_file
1396fi
1397_LT_DECL([], [archiver_list_spec], [1],
1398 [How to feed a file listing to the archiver])
1399])# _LT_PROG_AR
1400
1401
1402# _LT_CMD_OLD_ARCHIVE
1403# -------------------
1404m4_defun([_LT_CMD_OLD_ARCHIVE],
1405[_LT_PROG_AR
1406
1407AC_CHECK_TOOL(STRIP, strip, :)
1408test -z "$STRIP" && STRIP=:
1409_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1410
1411AC_CHECK_TOOL(RANLIB, ranlib, :)
1412test -z "$RANLIB" && RANLIB=:
1413_LT_DECL([], [RANLIB], [1],
1414 [Commands used to install an old-style archive])
1415
Lev Walkin8e8b5482004-06-17 23:42:48 +00001416# Determine commands to create old-style static archives.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001417old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
Lev Walkin8e8b5482004-06-17 23:42:48 +00001418old_postinstall_cmds='chmod 644 $oldlib'
1419old_postuninstall_cmds=
1420
1421if test -n "$RANLIB"; then
1422 case $host_os in
1423 openbsd*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00001424 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001425 ;;
1426 *)
Lev Walkin27fd0b62007-08-27 23:57:45 +00001427 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001428 ;;
1429 esac
1430 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1431fi
1432
Lev Walkin4da95cf2010-10-16 02:46:32 -07001433case $host_os in
1434 darwin*)
1435 lock_old_archive_extraction=yes ;;
1436 *)
1437 lock_old_archive_extraction=no ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001438esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07001439_LT_DECL([], [old_postinstall_cmds], [2])
1440_LT_DECL([], [old_postuninstall_cmds], [2])
1441_LT_TAGDECL([], [old_archive_cmds], [2],
1442 [Commands used to build an old-style archive])
1443_LT_DECL([], [lock_old_archive_extraction], [0],
1444 [Whether to use a lock for old archive extraction])
1445])# _LT_CMD_OLD_ARCHIVE
Lev Walkin8e8b5482004-06-17 23:42:48 +00001446
1447
Lev Walkin4da95cf2010-10-16 02:46:32 -07001448# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
Lev Walkin8e8b5482004-06-17 23:42:48 +00001449# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1450# ----------------------------------------------------------------
1451# Check whether the given compiler option works
Lev Walkin4da95cf2010-10-16 02:46:32 -07001452AC_DEFUN([_LT_COMPILER_OPTION],
1453[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1454m4_require([_LT_DECL_SED])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00001455AC_CACHE_CHECK([$1], [$2],
1456 [$2=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07001457 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1458 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00001459 lt_compiler_flag="$3"
1460 # Insert the option either (1) after the last *FLAGS variable, or
1461 # (2) before a word containing "conftest.", or (3) at the end.
1462 # Note that $ac_compile itself does not contain backslashes and begins
1463 # with a dollar sign (not a hyphen), so the echo should work correctly.
1464 # The option is referenced via a variable to avoid confusing sed.
1465 lt_compile=`echo "$ac_compile" | $SED \
Lev Walkin27fd0b62007-08-27 23:57:45 +00001466 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
Lev Walkin8e8b5482004-06-17 23:42:48 +00001467 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1468 -e 's:$: $lt_compiler_flag:'`
Lev Walkin4da95cf2010-10-16 02:46:32 -07001469 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
Lev Walkin8e8b5482004-06-17 23:42:48 +00001470 (eval "$lt_compile" 2>conftest.err)
1471 ac_status=$?
1472 cat conftest.err >&AS_MESSAGE_LOG_FD
Lev Walkin4da95cf2010-10-16 02:46:32 -07001473 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
Lev Walkin8e8b5482004-06-17 23:42:48 +00001474 if (exit $ac_status) && test -s "$ac_outfile"; then
1475 # The compiler can only warn and ignore the option if not recognized
Lev Walkin27fd0b62007-08-27 23:57:45 +00001476 # So say no if there are warnings other than the usual output.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001477 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
Lev Walkin27fd0b62007-08-27 23:57:45 +00001478 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1479 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00001480 $2=yes
1481 fi
1482 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001483 $RM conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001484])
1485
1486if test x"[$]$2" = xyes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07001487 m4_if([$5], , :, [$5])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001488else
Lev Walkin4da95cf2010-10-16 02:46:32 -07001489 m4_if([$6], , :, [$6])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001490fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001491])# _LT_COMPILER_OPTION
1492
1493# Old name:
1494AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1495dnl aclocal-1.4 backwards compatibility:
1496dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001497
1498
Lev Walkin4da95cf2010-10-16 02:46:32 -07001499# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1500# [ACTION-SUCCESS], [ACTION-FAILURE])
1501# ----------------------------------------------------
1502# Check whether the given linker option works
1503AC_DEFUN([_LT_LINKER_OPTION],
1504[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1505m4_require([_LT_DECL_SED])dnl
1506AC_CACHE_CHECK([$1], [$2],
Lev Walkin8e8b5482004-06-17 23:42:48 +00001507 [$2=no
1508 save_LDFLAGS="$LDFLAGS"
1509 LDFLAGS="$LDFLAGS $3"
Lev Walkin4da95cf2010-10-16 02:46:32 -07001510 echo "$lt_simple_link_test_code" > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00001511 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00001512 # The linker can only warn and ignore the option if not recognized
Lev Walkin8e8b5482004-06-17 23:42:48 +00001513 # So say no if there are warnings
1514 if test -s conftest.err; then
1515 # Append any errors to the config.log.
1516 cat conftest.err 1>&AS_MESSAGE_LOG_FD
Lev Walkin4da95cf2010-10-16 02:46:32 -07001517 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
Lev Walkin27fd0b62007-08-27 23:57:45 +00001518 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1519 if diff conftest.exp conftest.er2 >/dev/null; then
1520 $2=yes
1521 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00001522 else
1523 $2=yes
1524 fi
1525 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001526 $RM -r conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001527 LDFLAGS="$save_LDFLAGS"
1528])
1529
1530if test x"[$]$2" = xyes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07001531 m4_if([$4], , :, [$4])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001532else
Lev Walkin4da95cf2010-10-16 02:46:32 -07001533 m4_if([$5], , :, [$5])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001534fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001535])# _LT_LINKER_OPTION
1536
1537# Old name:
1538AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1539dnl aclocal-1.4 backwards compatibility:
1540dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001541
1542
Lev Walkin4da95cf2010-10-16 02:46:32 -07001543# LT_CMD_MAX_LEN
1544#---------------
1545AC_DEFUN([LT_CMD_MAX_LEN],
1546[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1547# find the maximum length of command line arguments
Lev Walkin8e8b5482004-06-17 23:42:48 +00001548AC_MSG_CHECKING([the maximum length of command line arguments])
1549AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1550 i=0
1551 teststring="ABCD"
1552
1553 case $build_os in
1554 msdosdjgpp*)
1555 # On DJGPP, this test can blow up pretty badly due to problems in libc
1556 # (any single argument exceeding 2000 bytes causes a buffer overrun
1557 # during glob expansion). Even if it were fixed, the result of this
1558 # check would be larger than it should be.
1559 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1560 ;;
1561
1562 gnu*)
1563 # Under GNU Hurd, this test is not required because there is
1564 # no limit to the length of command line arguments.
1565 # Libtool will interpret -1 as no limit whatsoever
1566 lt_cv_sys_max_cmd_len=-1;
1567 ;;
1568
Lev Walkin4da95cf2010-10-16 02:46:32 -07001569 cygwin* | mingw* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00001570 # On Win9x/ME, this test blows up -- it succeeds, but takes
1571 # about 5 minutes as the teststring grows exponentially.
1572 # Worse, since 9x/ME are not pre-emptively multitasking,
1573 # you end up with a "frozen" computer, even though with patience
1574 # the test eventually succeeds (with a max line length of 256k).
1575 # Instead, let's just punt: use the minimum linelength reported by
1576 # all of the supported platforms: 8192 (on NT/2K/XP).
1577 lt_cv_sys_max_cmd_len=8192;
1578 ;;
1579
Lev Walkin4da95cf2010-10-16 02:46:32 -07001580 mint*)
1581 # On MiNT this can take a long time and run out of memory.
1582 lt_cv_sys_max_cmd_len=8192;
1583 ;;
1584
Lev Walkin8e8b5482004-06-17 23:42:48 +00001585 amigaos*)
1586 # On AmigaOS with pdksh, this test takes hours, literally.
1587 # So we just punt and use a minimum line length of 8192.
1588 lt_cv_sys_max_cmd_len=8192;
1589 ;;
1590
Lev Walkin27fd0b62007-08-27 23:57:45 +00001591 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1592 # This has been around since 386BSD, at least. Likely further.
1593 if test -x /sbin/sysctl; then
1594 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1595 elif test -x /usr/sbin/sysctl; then
1596 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1597 else
1598 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1599 fi
1600 # And add a safety zone
1601 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1602 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1603 ;;
1604
1605 interix*)
1606 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1607 lt_cv_sys_max_cmd_len=196608
1608 ;;
1609
1610 osf*)
1611 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1612 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1613 # nice to cause kernel panics so lets avoid the loop below.
1614 # First set a reasonable default.
1615 lt_cv_sys_max_cmd_len=16384
1616 #
1617 if test -x /sbin/sysconfig; then
1618 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1619 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1620 esac
1621 fi
1622 ;;
1623 sco3.2v5*)
1624 lt_cv_sys_max_cmd_len=102400
1625 ;;
1626 sysv5* | sco5v6* | sysv4.2uw2*)
1627 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1628 if test -n "$kargmax"; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07001629 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
Lev Walkin27fd0b62007-08-27 23:57:45 +00001630 else
1631 lt_cv_sys_max_cmd_len=32768
1632 fi
1633 ;;
1634 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07001635 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1636 if test -n "$lt_cv_sys_max_cmd_len"; then
1637 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1638 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1639 else
1640 # Make teststring a little bigger before we do anything with it.
1641 # a 1K string should be a reasonable start.
1642 for i in 1 2 3 4 5 6 7 8 ; do
1643 teststring=$teststring$teststring
1644 done
1645 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1646 # If test is not a shell built-in, we'll probably end up computing a
1647 # maximum length that is only half of the actual maximum length, but
1648 # we can't tell.
1649 while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
1650 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1651 test $i != 17 # 1/2 MB should be enough
1652 do
1653 i=`expr $i + 1`
1654 teststring=$teststring$teststring
1655 done
1656 # Only check the string length outside the loop.
1657 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1658 teststring=
1659 # Add a significant safety factor because C++ compilers can tack on
1660 # massive amounts of additional arguments before passing them to the
1661 # linker. It appears as though 1/2 is a usable value.
1662 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1663 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00001664 ;;
1665 esac
1666])
1667if test -n $lt_cv_sys_max_cmd_len ; then
1668 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1669else
1670 AC_MSG_RESULT(none)
1671fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001672max_cmd_len=$lt_cv_sys_max_cmd_len
1673_LT_DECL([], [max_cmd_len], [0],
1674 [What is the maximum length of a command?])
1675])# LT_CMD_MAX_LEN
1676
1677# Old name:
1678AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1679dnl aclocal-1.4 backwards compatibility:
1680dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001681
1682
Lev Walkin4da95cf2010-10-16 02:46:32 -07001683# _LT_HEADER_DLFCN
1684# ----------------
1685m4_defun([_LT_HEADER_DLFCN],
1686[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1687])# _LT_HEADER_DLFCN
Lev Walkin8e8b5482004-06-17 23:42:48 +00001688
1689
Lev Walkin4da95cf2010-10-16 02:46:32 -07001690# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1691# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1692# ----------------------------------------------------------------
1693m4_defun([_LT_TRY_DLOPEN_SELF],
1694[m4_require([_LT_HEADER_DLFCN])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00001695if test "$cross_compiling" = yes; then :
1696 [$4]
1697else
1698 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1699 lt_status=$lt_dlunknown
Lev Walkin4da95cf2010-10-16 02:46:32 -07001700 cat > conftest.$ac_ext <<_LT_EOF
1701[#line $LINENO "configure"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001702#include "confdefs.h"
1703
1704#if HAVE_DLFCN_H
1705#include <dlfcn.h>
1706#endif
1707
1708#include <stdio.h>
1709
1710#ifdef RTLD_GLOBAL
1711# define LT_DLGLOBAL RTLD_GLOBAL
1712#else
1713# ifdef DL_GLOBAL
1714# define LT_DLGLOBAL DL_GLOBAL
1715# else
1716# define LT_DLGLOBAL 0
1717# endif
1718#endif
1719
1720/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1721 find out it does not work in some platform. */
1722#ifndef LT_DLLAZY_OR_NOW
1723# ifdef RTLD_LAZY
1724# define LT_DLLAZY_OR_NOW RTLD_LAZY
1725# else
1726# ifdef DL_LAZY
1727# define LT_DLLAZY_OR_NOW DL_LAZY
1728# else
1729# ifdef RTLD_NOW
1730# define LT_DLLAZY_OR_NOW RTLD_NOW
1731# else
1732# ifdef DL_NOW
1733# define LT_DLLAZY_OR_NOW DL_NOW
1734# else
1735# define LT_DLLAZY_OR_NOW 0
1736# endif
1737# endif
1738# endif
1739# endif
1740#endif
1741
Lev Walkin4da95cf2010-10-16 02:46:32 -07001742/* When -fvisbility=hidden is used, assume the code has been annotated
1743 correspondingly for the symbols needed. */
1744#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1745int fnord () __attribute__((visibility("default")));
Lev Walkin8e8b5482004-06-17 23:42:48 +00001746#endif
1747
Lev Walkin4da95cf2010-10-16 02:46:32 -07001748int fnord () { return 42; }
Lev Walkin8e8b5482004-06-17 23:42:48 +00001749int main ()
1750{
1751 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1752 int status = $lt_dlunknown;
1753
1754 if (self)
1755 {
1756 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
Lev Walkin4da95cf2010-10-16 02:46:32 -07001757 else
1758 {
1759 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1760 else puts (dlerror ());
1761 }
Lev Walkin8e8b5482004-06-17 23:42:48 +00001762 /* dlclose (self); */
1763 }
Lev Walkin27fd0b62007-08-27 23:57:45 +00001764 else
1765 puts (dlerror ());
Lev Walkin8e8b5482004-06-17 23:42:48 +00001766
Lev Walkin4da95cf2010-10-16 02:46:32 -07001767 return status;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001768}]
Lev Walkin4da95cf2010-10-16 02:46:32 -07001769_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00001770 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00001771 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
Lev Walkin8e8b5482004-06-17 23:42:48 +00001772 lt_status=$?
1773 case x$lt_status in
1774 x$lt_dlno_uscore) $1 ;;
1775 x$lt_dlneed_uscore) $2 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00001776 x$lt_dlunknown|x*) $3 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001777 esac
1778 else :
1779 # compilation failed
1780 $3
1781 fi
1782fi
1783rm -fr conftest*
Lev Walkin4da95cf2010-10-16 02:46:32 -07001784])# _LT_TRY_DLOPEN_SELF
Lev Walkin8e8b5482004-06-17 23:42:48 +00001785
1786
Lev Walkin4da95cf2010-10-16 02:46:32 -07001787# LT_SYS_DLOPEN_SELF
1788# ------------------
1789AC_DEFUN([LT_SYS_DLOPEN_SELF],
1790[m4_require([_LT_HEADER_DLFCN])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00001791if test "x$enable_dlopen" != xyes; then
1792 enable_dlopen=unknown
1793 enable_dlopen_self=unknown
1794 enable_dlopen_self_static=unknown
1795else
1796 lt_cv_dlopen=no
1797 lt_cv_dlopen_libs=
1798
1799 case $host_os in
1800 beos*)
1801 lt_cv_dlopen="load_add_on"
1802 lt_cv_dlopen_libs=
1803 lt_cv_dlopen_self=yes
1804 ;;
1805
Lev Walkin4da95cf2010-10-16 02:46:32 -07001806 mingw* | pw32* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00001807 lt_cv_dlopen="LoadLibrary"
1808 lt_cv_dlopen_libs=
Lev Walkin4da95cf2010-10-16 02:46:32 -07001809 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001810
1811 cygwin*)
1812 lt_cv_dlopen="dlopen"
1813 lt_cv_dlopen_libs=
Lev Walkin4da95cf2010-10-16 02:46:32 -07001814 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001815
1816 darwin*)
1817 # if libdl is installed we need to link against it
1818 AC_CHECK_LIB([dl], [dlopen],
1819 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1820 lt_cv_dlopen="dyld"
1821 lt_cv_dlopen_libs=
1822 lt_cv_dlopen_self=yes
1823 ])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001824 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001825
1826 *)
1827 AC_CHECK_FUNC([shl_load],
1828 [lt_cv_dlopen="shl_load"],
1829 [AC_CHECK_LIB([dld], [shl_load],
Lev Walkin4da95cf2010-10-16 02:46:32 -07001830 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
Lev Walkin8e8b5482004-06-17 23:42:48 +00001831 [AC_CHECK_FUNC([dlopen],
1832 [lt_cv_dlopen="dlopen"],
1833 [AC_CHECK_LIB([dl], [dlopen],
1834 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1835 [AC_CHECK_LIB([svld], [dlopen],
1836 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1837 [AC_CHECK_LIB([dld], [dld_link],
Lev Walkin4da95cf2010-10-16 02:46:32 -07001838 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001839 ])
1840 ])
1841 ])
1842 ])
1843 ])
1844 ;;
1845 esac
1846
1847 if test "x$lt_cv_dlopen" != xno; then
1848 enable_dlopen=yes
1849 else
1850 enable_dlopen=no
1851 fi
1852
1853 case $lt_cv_dlopen in
1854 dlopen)
1855 save_CPPFLAGS="$CPPFLAGS"
1856 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1857
1858 save_LDFLAGS="$LDFLAGS"
Lev Walkin27fd0b62007-08-27 23:57:45 +00001859 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001860
1861 save_LIBS="$LIBS"
1862 LIBS="$lt_cv_dlopen_libs $LIBS"
1863
1864 AC_CACHE_CHECK([whether a program can dlopen itself],
1865 lt_cv_dlopen_self, [dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07001866 _LT_TRY_DLOPEN_SELF(
Lev Walkin8e8b5482004-06-17 23:42:48 +00001867 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1868 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1869 ])
1870
1871 if test "x$lt_cv_dlopen_self" = xyes; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00001872 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001873 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
Lev Walkin4da95cf2010-10-16 02:46:32 -07001874 lt_cv_dlopen_self_static, [dnl
1875 _LT_TRY_DLOPEN_SELF(
Lev Walkin8e8b5482004-06-17 23:42:48 +00001876 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1877 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1878 ])
1879 fi
1880
1881 CPPFLAGS="$save_CPPFLAGS"
1882 LDFLAGS="$save_LDFLAGS"
1883 LIBS="$save_LIBS"
1884 ;;
1885 esac
1886
1887 case $lt_cv_dlopen_self in
1888 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1889 *) enable_dlopen_self=unknown ;;
1890 esac
1891
1892 case $lt_cv_dlopen_self_static in
1893 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1894 *) enable_dlopen_self_static=unknown ;;
1895 esac
1896fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001897_LT_DECL([dlopen_support], [enable_dlopen], [0],
1898 [Whether dlopen is supported])
1899_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1900 [Whether dlopen of programs is supported])
1901_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1902 [Whether dlopen of statically linked programs is supported])
1903])# LT_SYS_DLOPEN_SELF
1904
1905# Old name:
1906AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1907dnl aclocal-1.4 backwards compatibility:
1908dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001909
1910
Lev Walkin4da95cf2010-10-16 02:46:32 -07001911# _LT_COMPILER_C_O([TAGNAME])
1912# ---------------------------
1913# Check to see if options -c and -o are simultaneously supported by compiler.
1914# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1915m4_defun([_LT_COMPILER_C_O],
1916[m4_require([_LT_DECL_SED])dnl
1917m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1918m4_require([_LT_TAG_COMPILER])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00001919AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
Lev Walkin4da95cf2010-10-16 02:46:32 -07001920 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1921 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1922 $RM -r conftest 2>/dev/null
Lev Walkin8e8b5482004-06-17 23:42:48 +00001923 mkdir conftest
1924 cd conftest
1925 mkdir out
Lev Walkin4da95cf2010-10-16 02:46:32 -07001926 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00001927
1928 lt_compiler_flag="-o out/conftest2.$ac_objext"
1929 # Insert the option either (1) after the last *FLAGS variable, or
1930 # (2) before a word containing "conftest.", or (3) at the end.
1931 # Note that $ac_compile itself does not contain backslashes and begins
1932 # with a dollar sign (not a hyphen), so the echo should work correctly.
1933 lt_compile=`echo "$ac_compile" | $SED \
Lev Walkin27fd0b62007-08-27 23:57:45 +00001934 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
Lev Walkin8e8b5482004-06-17 23:42:48 +00001935 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1936 -e 's:$: $lt_compiler_flag:'`
Lev Walkin4da95cf2010-10-16 02:46:32 -07001937 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
Lev Walkin8e8b5482004-06-17 23:42:48 +00001938 (eval "$lt_compile" 2>out/conftest.err)
1939 ac_status=$?
1940 cat out/conftest.err >&AS_MESSAGE_LOG_FD
Lev Walkin4da95cf2010-10-16 02:46:32 -07001941 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
Lev Walkin8e8b5482004-06-17 23:42:48 +00001942 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1943 then
1944 # The compiler can only warn and ignore the option if not recognized
1945 # So say no if there are warnings
Lev Walkin4da95cf2010-10-16 02:46:32 -07001946 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
Lev Walkin27fd0b62007-08-27 23:57:45 +00001947 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1948 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07001949 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00001950 fi
1951 fi
Lev Walkin27fd0b62007-08-27 23:57:45 +00001952 chmod u+w . 2>&AS_MESSAGE_LOG_FD
Lev Walkin4da95cf2010-10-16 02:46:32 -07001953 $RM conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001954 # SGI C++ compiler will create directory out/ii_files/ for
1955 # template instantiation
Lev Walkin4da95cf2010-10-16 02:46:32 -07001956 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1957 $RM out/* && rmdir out
Lev Walkin8e8b5482004-06-17 23:42:48 +00001958 cd ..
Lev Walkin4da95cf2010-10-16 02:46:32 -07001959 $RM -r conftest
1960 $RM conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001961])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001962_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1963 [Does compiler simultaneously support -c and -o options?])
1964])# _LT_COMPILER_C_O
Lev Walkin8e8b5482004-06-17 23:42:48 +00001965
1966
Lev Walkin4da95cf2010-10-16 02:46:32 -07001967# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1968# ----------------------------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00001969# Check to see if we can do hard links to lock some files if needed
Lev Walkin4da95cf2010-10-16 02:46:32 -07001970m4_defun([_LT_COMPILER_FILE_LOCKS],
1971[m4_require([_LT_ENABLE_LOCK])dnl
1972m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1973_LT_COMPILER_C_O([$1])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001974
1975hard_links="nottested"
Lev Walkin4da95cf2010-10-16 02:46:32 -07001976if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00001977 # do not overwrite the value of need_locks provided by the user
1978 AC_MSG_CHECKING([if we can lock with hard links])
1979 hard_links=yes
Lev Walkin4da95cf2010-10-16 02:46:32 -07001980 $RM conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001981 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1982 touch conftest.a
1983 ln conftest.a conftest.b 2>&5 || hard_links=no
1984 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1985 AC_MSG_RESULT([$hard_links])
1986 if test "$hard_links" = no; then
1987 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1988 need_locks=warn
1989 fi
1990else
1991 need_locks=no
1992fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001993_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1994])# _LT_COMPILER_FILE_LOCKS
Lev Walkin8e8b5482004-06-17 23:42:48 +00001995
1996
Lev Walkin4da95cf2010-10-16 02:46:32 -07001997# _LT_CHECK_OBJDIR
1998# ----------------
1999m4_defun([_LT_CHECK_OBJDIR],
Lev Walkin8e8b5482004-06-17 23:42:48 +00002000[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2001[rm -f .libs 2>/dev/null
2002mkdir .libs 2>/dev/null
2003if test -d .libs; then
2004 lt_cv_objdir=.libs
2005else
2006 # MS-DOS does not allow filenames that begin with a dot.
2007 lt_cv_objdir=_libs
2008fi
2009rmdir .libs 2>/dev/null])
2010objdir=$lt_cv_objdir
Lev Walkin4da95cf2010-10-16 02:46:32 -07002011_LT_DECL([], [objdir], [0],
2012 [The name of the directory that contains temporary libtool files])dnl
2013m4_pattern_allow([LT_OBJDIR])dnl
2014AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2015 [Define to the sub-directory in which libtool stores uninstalled libraries.])
2016])# _LT_CHECK_OBJDIR
Lev Walkin8e8b5482004-06-17 23:42:48 +00002017
2018
Lev Walkin4da95cf2010-10-16 02:46:32 -07002019# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2020# --------------------------------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00002021# Check hardcoding attributes.
Lev Walkin4da95cf2010-10-16 02:46:32 -07002022m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
Lev Walkin8e8b5482004-06-17 23:42:48 +00002023[AC_MSG_CHECKING([how to hardcode library paths into programs])
Lev Walkin4da95cf2010-10-16 02:46:32 -07002024_LT_TAGVAR(hardcode_action, $1)=
2025if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2026 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2027 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002028
Lev Walkin4da95cf2010-10-16 02:46:32 -07002029 # We can hardcode non-existent directories.
2030 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
Lev Walkin8e8b5482004-06-17 23:42:48 +00002031 # If the only mechanism to avoid hardcoding is shlibpath_var, we
2032 # have to relink, otherwise we might link with an installed library
2033 # when we should be linking with a yet-to-be-installed one
Lev Walkin4da95cf2010-10-16 02:46:32 -07002034 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2035 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002036 # Linking always hardcodes the temporary library directory.
Lev Walkin4da95cf2010-10-16 02:46:32 -07002037 _LT_TAGVAR(hardcode_action, $1)=relink
Lev Walkin8e8b5482004-06-17 23:42:48 +00002038 else
2039 # We can link without hardcoding, and we can hardcode nonexisting dirs.
Lev Walkin4da95cf2010-10-16 02:46:32 -07002040 _LT_TAGVAR(hardcode_action, $1)=immediate
Lev Walkin8e8b5482004-06-17 23:42:48 +00002041 fi
2042else
2043 # We cannot hardcode anything, or else we can only hardcode existing
2044 # directories.
Lev Walkin4da95cf2010-10-16 02:46:32 -07002045 _LT_TAGVAR(hardcode_action, $1)=unsupported
Lev Walkin8e8b5482004-06-17 23:42:48 +00002046fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002047AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002048
Lev Walkin4da95cf2010-10-16 02:46:32 -07002049if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2050 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002051 # Fast installation is not supported
2052 enable_fast_install=no
2053elif test "$shlibpath_overrides_runpath" = yes ||
2054 test "$enable_shared" = no; then
2055 # Fast installation is not necessary
2056 enable_fast_install=needless
2057fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002058_LT_TAGDECL([], [hardcode_action], [0],
2059 [How to hardcode a shared library path into an executable])
2060])# _LT_LINKER_HARDCODE_LIBPATH
Lev Walkin8e8b5482004-06-17 23:42:48 +00002061
2062
Lev Walkin4da95cf2010-10-16 02:46:32 -07002063# _LT_CMD_STRIPLIB
2064# ----------------
2065m4_defun([_LT_CMD_STRIPLIB],
2066[m4_require([_LT_DECL_EGREP])
2067striplib=
Lev Walkin8e8b5482004-06-17 23:42:48 +00002068old_striplib=
2069AC_MSG_CHECKING([whether stripping libraries is possible])
Lev Walkin4da95cf2010-10-16 02:46:32 -07002070if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002071 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2072 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2073 AC_MSG_RESULT([yes])
2074else
2075# FIXME - insert some real tests, host_os isn't really good enough
2076 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07002077 darwin*)
2078 if test -n "$STRIP" ; then
2079 striplib="$STRIP -x"
2080 old_striplib="$STRIP -S"
2081 AC_MSG_RESULT([yes])
2082 else
2083 AC_MSG_RESULT([no])
2084 fi
2085 ;;
2086 *)
2087 AC_MSG_RESULT([no])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002088 ;;
2089 esac
2090fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002091_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2092_LT_DECL([], [striplib], [1])
2093])# _LT_CMD_STRIPLIB
Lev Walkin8e8b5482004-06-17 23:42:48 +00002094
2095
Lev Walkin4da95cf2010-10-16 02:46:32 -07002096# _LT_SYS_DYNAMIC_LINKER([TAG])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002097# -----------------------------
2098# PORTME Fill in your ld.so characteristics
Lev Walkin4da95cf2010-10-16 02:46:32 -07002099m4_defun([_LT_SYS_DYNAMIC_LINKER],
2100[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2101m4_require([_LT_DECL_EGREP])dnl
2102m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2103m4_require([_LT_DECL_OBJDUMP])dnl
2104m4_require([_LT_DECL_SED])dnl
2105m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2106AC_MSG_CHECKING([dynamic linker characteristics])
2107m4_if([$1],
2108 [], [
2109if test "$GCC" = yes; then
2110 case $host_os in
2111 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2112 *) lt_awk_arg="/^libraries:/" ;;
2113 esac
2114 case $host_os in
2115 mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
2116 *) lt_sed_strip_eq="s,=/,/,g" ;;
2117 esac
2118 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2119 case $lt_search_path_spec in
2120 *\;*)
2121 # if the path contains ";" then we assume it to be the separator
2122 # otherwise default to the standard path separator (i.e. ":") - it is
2123 # assumed that no part of a normal pathname contains ";" but that should
2124 # okay in the real world where ";" in dirpaths is itself problematic.
2125 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2126 ;;
2127 *)
2128 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2129 ;;
2130 esac
2131 # Ok, now we have the path, separated by spaces, we can step through it
2132 # and add multilib dir if necessary.
2133 lt_tmp_lt_search_path_spec=
2134 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2135 for lt_sys_path in $lt_search_path_spec; do
2136 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2137 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2138 else
2139 test -d "$lt_sys_path" && \
2140 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2141 fi
2142 done
2143 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2144BEGIN {RS=" "; FS="/|\n";} {
2145 lt_foo="";
2146 lt_count=0;
2147 for (lt_i = NF; lt_i > 0; lt_i--) {
2148 if ($lt_i != "" && $lt_i != ".") {
2149 if ($lt_i == "..") {
2150 lt_count++;
2151 } else {
2152 if (lt_count == 0) {
2153 lt_foo="/" $lt_i lt_foo;
2154 } else {
2155 lt_count--;
2156 }
2157 }
2158 }
2159 }
2160 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2161 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2162}'`
2163 # AWK program above erroneously prepends '/' to C:/dos/paths
2164 # for these hosts.
2165 case $host_os in
2166 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2167 $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
2168 esac
2169 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2170else
2171 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2172fi])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002173library_names_spec=
2174libname_spec='lib$name'
2175soname_spec=
2176shrext_cmds=".so"
2177postinstall_cmds=
2178postuninstall_cmds=
2179finish_cmds=
2180finish_eval=
2181shlibpath_var=
2182shlibpath_overrides_runpath=unknown
2183version_type=none
2184dynamic_linker="$host_os ld.so"
2185sys_lib_dlsearch_path_spec="/lib /usr/lib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002186need_lib_prefix=unknown
2187hardcode_into_libs=no
2188
2189# when you set need_version to no, make sure it does not cause -set_version
2190# flags to be left without arguments
2191need_version=unknown
2192
2193case $host_os in
2194aix3*)
2195 version_type=linux
2196 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2197 shlibpath_var=LIBPATH
2198
2199 # AIX 3 has no versioning support, so we append a major version to the name.
2200 soname_spec='${libname}${release}${shared_ext}$major'
2201 ;;
2202
Lev Walkin4da95cf2010-10-16 02:46:32 -07002203aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002204 version_type=linux
2205 need_lib_prefix=no
2206 need_version=no
2207 hardcode_into_libs=yes
2208 if test "$host_cpu" = ia64; then
2209 # AIX 5 supports IA64
2210 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2211 shlibpath_var=LD_LIBRARY_PATH
2212 else
2213 # With GCC up to 2.95.x, collect2 would create an import file
2214 # for dependence libraries. The import file would start with
2215 # the line `#! .'. This would cause the generated library to
2216 # depend on `.', always an invalid library. This was fixed in
2217 # development snapshots of GCC prior to 3.0.
2218 case $host_os in
2219 aix4 | aix4.[[01]] | aix4.[[01]].*)
2220 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2221 echo ' yes '
Lev Walkin4da95cf2010-10-16 02:46:32 -07002222 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002223 :
2224 else
2225 can_build_shared=no
2226 fi
2227 ;;
2228 esac
2229 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2230 # soname into executable. Probably we can add versioning support to
2231 # collect2, so additional links can be useful in future.
2232 if test "$aix_use_runtimelinking" = yes; then
2233 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2234 # instead of lib<name>.a to let people know that these are not
2235 # typical AIX shared libraries.
2236 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2237 else
2238 # We preserve .a as extension for shared libraries through AIX4.2
2239 # and later when we are not doing run time linking.
2240 library_names_spec='${libname}${release}.a $libname.a'
2241 soname_spec='${libname}${release}${shared_ext}$major'
2242 fi
2243 shlibpath_var=LIBPATH
2244 fi
2245 ;;
2246
2247amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07002248 case $host_cpu in
2249 powerpc)
2250 # Since July 2007 AmigaOS4 officially supports .so libraries.
2251 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2252 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2253 ;;
2254 m68k)
2255 library_names_spec='$libname.ixlibrary $libname.a'
2256 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2257 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2258 ;;
2259 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00002260 ;;
2261
2262beos*)
2263 library_names_spec='${libname}${shared_ext}'
2264 dynamic_linker="$host_os ld.so"
2265 shlibpath_var=LIBRARY_PATH
2266 ;;
2267
Lev Walkin27fd0b62007-08-27 23:57:45 +00002268bsdi[[45]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002269 version_type=linux
2270 need_version=no
2271 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2272 soname_spec='${libname}${release}${shared_ext}$major'
2273 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2274 shlibpath_var=LD_LIBRARY_PATH
2275 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2276 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2277 # the default ld.so.conf also contains /usr/contrib/lib and
2278 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2279 # libtool to hard-code these into programs
2280 ;;
2281
Lev Walkin4da95cf2010-10-16 02:46:32 -07002282cygwin* | mingw* | pw32* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002283 version_type=windows
2284 shrext_cmds=".dll"
2285 need_version=no
2286 need_lib_prefix=no
2287
Lev Walkin4da95cf2010-10-16 02:46:32 -07002288 case $GCC,$cc_basename in
2289 yes,*)
2290 # gcc
Lev Walkin8e8b5482004-06-17 23:42:48 +00002291 library_names_spec='$libname.dll.a'
2292 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2293 postinstall_cmds='base_file=`basename \${file}`~
Lev Walkin4da95cf2010-10-16 02:46:32 -07002294 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
Lev Walkin8e8b5482004-06-17 23:42:48 +00002295 dldir=$destdir/`dirname \$dlpath`~
2296 test -d \$dldir || mkdir -p \$dldir~
Lev Walkin27fd0b62007-08-27 23:57:45 +00002297 $install_prog $dir/$dlname \$dldir/$dlname~
Lev Walkin4da95cf2010-10-16 02:46:32 -07002298 chmod a+x \$dldir/$dlname~
2299 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2300 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2301 fi'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002302 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2303 dlpath=$dir/\$dldll~
Lev Walkin4da95cf2010-10-16 02:46:32 -07002304 $RM \$dlpath'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002305 shlibpath_overrides_runpath=yes
2306
2307 case $host_os in
2308 cygwin*)
2309 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2310 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
Lev Walkin4da95cf2010-10-16 02:46:32 -07002311m4_if([$1], [],[
2312 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002313 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07002314 mingw* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002315 # MinGW DLLs use traditional 'lib' prefix
2316 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002317 ;;
2318 pw32*)
2319 # pw32 DLLs use 'pw' prefix rather than 'lib'
Lev Walkin27fd0b62007-08-27 23:57:45 +00002320 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002321 ;;
2322 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07002323 dynamic_linker='Win32 ld.exe'
2324 ;;
2325
2326 *,cl*)
2327 # Native MSVC
2328 libname_spec='$name'
2329 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2330 library_names_spec='${libname}.dll.lib'
2331
2332 case $build_os in
2333 mingw*)
2334 sys_lib_search_path_spec=
2335 lt_save_ifs=$IFS
2336 IFS=';'
2337 for lt_path in $LIB
2338 do
2339 IFS=$lt_save_ifs
2340 # Let DOS variable expansion print the short 8.3 style file name.
2341 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2342 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2343 done
2344 IFS=$lt_save_ifs
2345 # Convert to MSYS style.
2346 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2347 ;;
2348 cygwin*)
2349 # Convert to unix form, then to dos form, then back to unix form
2350 # but this time dos style (no spaces!) so that the unix form looks
2351 # like /cygdrive/c/PROGRA~1:/cygdr...
2352 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2353 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2354 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2355 ;;
2356 *)
2357 sys_lib_search_path_spec="$LIB"
2358 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2359 # It is most probably a Windows format PATH.
2360 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2361 else
2362 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2363 fi
2364 # FIXME: find the short name or the path components, as spaces are
2365 # common. (e.g. "Program Files" -> "PROGRA~1")
2366 ;;
2367 esac
2368
2369 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2370 postinstall_cmds='base_file=`basename \${file}`~
2371 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2372 dldir=$destdir/`dirname \$dlpath`~
2373 test -d \$dldir || mkdir -p \$dldir~
2374 $install_prog $dir/$dlname \$dldir/$dlname'
2375 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2376 dlpath=$dir/\$dldll~
2377 $RM \$dlpath'
2378 shlibpath_overrides_runpath=yes
2379 dynamic_linker='Win32 link.exe'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002380 ;;
2381
2382 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07002383 # Assume MSVC wrapper
Lev Walkin8e8b5482004-06-17 23:42:48 +00002384 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07002385 dynamic_linker='Win32 ld.exe'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002386 ;;
2387 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00002388 # FIXME: first we should search . and the directory the executable is in
2389 shlibpath_var=PATH
2390 ;;
2391
2392darwin* | rhapsody*)
2393 dynamic_linker="$host_os dyld"
2394 version_type=darwin
2395 need_lib_prefix=no
2396 need_version=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07002397 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002398 soname_spec='${libname}${release}${major}$shared_ext'
2399 shlibpath_overrides_runpath=yes
2400 shlibpath_var=DYLD_LIBRARY_PATH
Lev Walkin27fd0b62007-08-27 23:57:45 +00002401 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
Lev Walkin4da95cf2010-10-16 02:46:32 -07002402m4_if([$1], [],[
2403 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002404 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2405 ;;
2406
2407dgux*)
2408 version_type=linux
2409 need_lib_prefix=no
2410 need_version=no
2411 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2412 soname_spec='${libname}${release}${shared_ext}$major'
2413 shlibpath_var=LD_LIBRARY_PATH
2414 ;;
2415
2416freebsd1*)
2417 dynamic_linker=no
2418 ;;
2419
Lev Walkin27fd0b62007-08-27 23:57:45 +00002420freebsd* | dragonfly*)
2421 # DragonFly does not have aout. When/if they implement a new
2422 # versioning mechanism, adjust this.
2423 if test -x /usr/bin/objformat; then
2424 objformat=`/usr/bin/objformat`
2425 else
2426 case $host_os in
2427 freebsd[[123]]*) objformat=aout ;;
2428 *) objformat=elf ;;
2429 esac
2430 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00002431 version_type=freebsd-$objformat
2432 case $version_type in
2433 freebsd-elf*)
2434 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2435 need_version=no
2436 need_lib_prefix=no
2437 ;;
2438 freebsd-*)
2439 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2440 need_version=yes
2441 ;;
2442 esac
2443 shlibpath_var=LD_LIBRARY_PATH
2444 case $host_os in
2445 freebsd2*)
2446 shlibpath_overrides_runpath=yes
2447 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00002448 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002449 shlibpath_overrides_runpath=yes
2450 hardcode_into_libs=yes
2451 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00002452 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2453 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002454 shlibpath_overrides_runpath=no
2455 hardcode_into_libs=yes
2456 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07002457 *) # from 4.6 on, and DragonFly
Lev Walkin27fd0b62007-08-27 23:57:45 +00002458 shlibpath_overrides_runpath=yes
2459 hardcode_into_libs=yes
2460 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00002461 esac
2462 ;;
2463
2464gnu*)
2465 version_type=linux
2466 need_lib_prefix=no
2467 need_version=no
2468 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2469 soname_spec='${libname}${release}${shared_ext}$major'
2470 shlibpath_var=LD_LIBRARY_PATH
2471 hardcode_into_libs=yes
2472 ;;
2473
Lev Walkin4da95cf2010-10-16 02:46:32 -07002474haiku*)
2475 version_type=linux
2476 need_lib_prefix=no
2477 need_version=no
2478 dynamic_linker="$host_os runtime_loader"
2479 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2480 soname_spec='${libname}${release}${shared_ext}$major'
2481 shlibpath_var=LIBRARY_PATH
2482 shlibpath_overrides_runpath=yes
2483 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2484 hardcode_into_libs=yes
2485 ;;
2486
Lev Walkin8e8b5482004-06-17 23:42:48 +00002487hpux9* | hpux10* | hpux11*)
2488 # Give a soname corresponding to the major version so that dld.sl refuses to
2489 # link against other versions.
2490 version_type=sunos
2491 need_lib_prefix=no
2492 need_version=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00002493 case $host_cpu in
Lev Walkin8e8b5482004-06-17 23:42:48 +00002494 ia64*)
2495 shrext_cmds='.so'
2496 hardcode_into_libs=yes
2497 dynamic_linker="$host_os dld.so"
2498 shlibpath_var=LD_LIBRARY_PATH
2499 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2500 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2501 soname_spec='${libname}${release}${shared_ext}$major'
2502 if test "X$HPUX_IA64_MODE" = X32; then
2503 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2504 else
2505 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2506 fi
2507 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2508 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07002509 hppa*64*)
2510 shrext_cmds='.sl'
2511 hardcode_into_libs=yes
2512 dynamic_linker="$host_os dld.sl"
2513 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2514 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2515 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2516 soname_spec='${libname}${release}${shared_ext}$major'
2517 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2518 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2519 ;;
2520 *)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002521 shrext_cmds='.sl'
2522 dynamic_linker="$host_os dld.sl"
2523 shlibpath_var=SHLIB_PATH
2524 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2525 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2526 soname_spec='${libname}${release}${shared_ext}$major'
2527 ;;
2528 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07002529 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
Lev Walkin8e8b5482004-06-17 23:42:48 +00002530 postinstall_cmds='chmod 555 $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07002531 # or fails outright, so override atomically:
2532 install_override_mode=555
Lev Walkin8e8b5482004-06-17 23:42:48 +00002533 ;;
2534
Lev Walkin4da95cf2010-10-16 02:46:32 -07002535interix[[3-9]]*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00002536 version_type=linux
2537 need_lib_prefix=no
2538 need_version=no
2539 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2540 soname_spec='${libname}${release}${shared_ext}$major'
2541 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2542 shlibpath_var=LD_LIBRARY_PATH
2543 shlibpath_overrides_runpath=no
2544 hardcode_into_libs=yes
2545 ;;
2546
Lev Walkin8e8b5482004-06-17 23:42:48 +00002547irix5* | irix6* | nonstopux*)
2548 case $host_os in
2549 nonstopux*) version_type=nonstopux ;;
2550 *)
2551 if test "$lt_cv_prog_gnu_ld" = yes; then
2552 version_type=linux
2553 else
2554 version_type=irix
2555 fi ;;
2556 esac
2557 need_lib_prefix=no
2558 need_version=no
2559 soname_spec='${libname}${release}${shared_ext}$major'
2560 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2561 case $host_os in
2562 irix5* | nonstopux*)
2563 libsuff= shlibsuff=
2564 ;;
2565 *)
2566 case $LD in # libtool.m4 will add one of these switches to LD
2567 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2568 libsuff= shlibsuff= libmagic=32-bit;;
2569 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2570 libsuff=32 shlibsuff=N32 libmagic=N32;;
2571 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2572 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2573 *) libsuff= shlibsuff= libmagic=never-match;;
2574 esac
2575 ;;
2576 esac
2577 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2578 shlibpath_overrides_runpath=no
2579 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2580 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2581 hardcode_into_libs=yes
2582 ;;
2583
2584# No shared lib support for Linux oldld, aout, or coff.
2585linux*oldld* | linux*aout* | linux*coff*)
2586 dynamic_linker=no
2587 ;;
2588
2589# This must be Linux ELF.
Lev Walkin4da95cf2010-10-16 02:46:32 -07002590linux* | k*bsd*-gnu | kopensolaris*-gnu)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002591 version_type=linux
2592 need_lib_prefix=no
2593 need_version=no
2594 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2595 soname_spec='${libname}${release}${shared_ext}$major'
2596 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2597 shlibpath_var=LD_LIBRARY_PATH
2598 shlibpath_overrides_runpath=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07002599
2600 # Some binutils ld are patched to set DT_RUNPATH
2601 AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2602 [lt_cv_shlibpath_overrides_runpath=no
2603 save_LDFLAGS=$LDFLAGS
2604 save_libdir=$libdir
2605 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2606 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2607 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2608 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2609 [lt_cv_shlibpath_overrides_runpath=yes])])
2610 LDFLAGS=$save_LDFLAGS
2611 libdir=$save_libdir
2612 ])
2613 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2614
Lev Walkin8e8b5482004-06-17 23:42:48 +00002615 # This implies no fast_install, which is unacceptable.
2616 # Some rework will be needed to allow for fast_install
2617 # before this can be enabled.
2618 hardcode_into_libs=yes
2619
2620 # Append ld.so.conf contents to the search path
2621 if test -f /etc/ld.so.conf; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07002622 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' ' '`
Lev Walkin8e8b5482004-06-17 23:42:48 +00002623 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2624 fi
2625
2626 # We used to test for /lib/ld.so.1 and disable shared libraries on
2627 # powerpc, because MkLinux only supported shared libraries with the
2628 # GNU dynamic linker. Since this was broken with cross compilers,
2629 # most powerpc-linux boxes support dynamic linking these days and
2630 # people can always --disable-shared, the test was removed, and we
2631 # assume the GNU/Linux dynamic linker is in use.
2632 dynamic_linker='GNU/Linux ld.so'
2633 ;;
2634
Lev Walkin8e8b5482004-06-17 23:42:48 +00002635netbsd*)
2636 version_type=sunos
2637 need_lib_prefix=no
2638 need_version=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07002639 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002640 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2641 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2642 dynamic_linker='NetBSD (a.out) ld.so'
2643 else
2644 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2645 soname_spec='${libname}${release}${shared_ext}$major'
2646 dynamic_linker='NetBSD ld.elf_so'
2647 fi
2648 shlibpath_var=LD_LIBRARY_PATH
2649 shlibpath_overrides_runpath=yes
2650 hardcode_into_libs=yes
2651 ;;
2652
2653newsos6)
2654 version_type=linux
2655 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2656 shlibpath_var=LD_LIBRARY_PATH
2657 shlibpath_overrides_runpath=yes
2658 ;;
2659
Lev Walkin4da95cf2010-10-16 02:46:32 -07002660*nto* | *qnx*)
2661 version_type=qnx
Lev Walkin8e8b5482004-06-17 23:42:48 +00002662 need_lib_prefix=no
2663 need_version=no
2664 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2665 soname_spec='${libname}${release}${shared_ext}$major'
2666 shlibpath_var=LD_LIBRARY_PATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07002667 shlibpath_overrides_runpath=no
2668 hardcode_into_libs=yes
2669 dynamic_linker='ldqnx.so'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002670 ;;
2671
2672openbsd*)
2673 version_type=sunos
Lev Walkin27fd0b62007-08-27 23:57:45 +00002674 sys_lib_dlsearch_path_spec="/usr/lib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002675 need_lib_prefix=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00002676 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2677 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07002678 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2679 *) need_version=no ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00002680 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00002681 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2682 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2683 shlibpath_var=LD_LIBRARY_PATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07002684 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002685 case $host_os in
2686 openbsd2.[[89]] | openbsd2.[[89]].*)
2687 shlibpath_overrides_runpath=no
2688 ;;
2689 *)
2690 shlibpath_overrides_runpath=yes
2691 ;;
2692 esac
2693 else
2694 shlibpath_overrides_runpath=yes
2695 fi
2696 ;;
2697
2698os2*)
2699 libname_spec='$name'
2700 shrext_cmds=".dll"
2701 need_lib_prefix=no
2702 library_names_spec='$libname${shared_ext} $libname.a'
2703 dynamic_linker='OS/2 ld.exe'
2704 shlibpath_var=LIBPATH
2705 ;;
2706
2707osf3* | osf4* | osf5*)
2708 version_type=osf
2709 need_lib_prefix=no
2710 need_version=no
2711 soname_spec='${libname}${release}${shared_ext}$major'
2712 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2713 shlibpath_var=LD_LIBRARY_PATH
2714 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2715 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2716 ;;
2717
Lev Walkin4da95cf2010-10-16 02:46:32 -07002718rdos*)
2719 dynamic_linker=no
2720 ;;
2721
Lev Walkin8e8b5482004-06-17 23:42:48 +00002722solaris*)
2723 version_type=linux
2724 need_lib_prefix=no
2725 need_version=no
2726 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2727 soname_spec='${libname}${release}${shared_ext}$major'
2728 shlibpath_var=LD_LIBRARY_PATH
2729 shlibpath_overrides_runpath=yes
2730 hardcode_into_libs=yes
2731 # ldd complains unless libraries are executable
2732 postinstall_cmds='chmod +x $lib'
2733 ;;
2734
2735sunos4*)
2736 version_type=sunos
2737 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2738 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2739 shlibpath_var=LD_LIBRARY_PATH
2740 shlibpath_overrides_runpath=yes
2741 if test "$with_gnu_ld" = yes; then
2742 need_lib_prefix=no
2743 fi
2744 need_version=yes
2745 ;;
2746
Lev Walkin27fd0b62007-08-27 23:57:45 +00002747sysv4 | sysv4.3*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002748 version_type=linux
2749 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2750 soname_spec='${libname}${release}${shared_ext}$major'
2751 shlibpath_var=LD_LIBRARY_PATH
2752 case $host_vendor in
2753 sni)
2754 shlibpath_overrides_runpath=no
2755 need_lib_prefix=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00002756 runpath_var=LD_RUN_PATH
2757 ;;
2758 siemens)
2759 need_lib_prefix=no
2760 ;;
2761 motorola)
2762 need_lib_prefix=no
2763 need_version=no
2764 shlibpath_overrides_runpath=no
2765 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2766 ;;
2767 esac
2768 ;;
2769
2770sysv4*MP*)
2771 if test -d /usr/nec ;then
2772 version_type=linux
2773 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2774 soname_spec='$libname${shared_ext}.$major'
2775 shlibpath_var=LD_LIBRARY_PATH
2776 fi
2777 ;;
2778
Lev Walkin27fd0b62007-08-27 23:57:45 +00002779sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2780 version_type=freebsd-elf
2781 need_lib_prefix=no
2782 need_version=no
2783 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2784 soname_spec='${libname}${release}${shared_ext}$major'
2785 shlibpath_var=LD_LIBRARY_PATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07002786 shlibpath_overrides_runpath=yes
Lev Walkin27fd0b62007-08-27 23:57:45 +00002787 hardcode_into_libs=yes
2788 if test "$with_gnu_ld" = yes; then
2789 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
Lev Walkin27fd0b62007-08-27 23:57:45 +00002790 else
2791 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
Lev Walkin27fd0b62007-08-27 23:57:45 +00002792 case $host_os in
2793 sco3.2v5*)
2794 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2795 ;;
2796 esac
2797 fi
2798 sys_lib_dlsearch_path_spec='/usr/lib'
2799 ;;
2800
Lev Walkin4da95cf2010-10-16 02:46:32 -07002801tpf*)
2802 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2803 version_type=linux
2804 need_lib_prefix=no
2805 need_version=no
2806 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2807 shlibpath_var=LD_LIBRARY_PATH
2808 shlibpath_overrides_runpath=no
2809 hardcode_into_libs=yes
2810 ;;
2811
Lev Walkin8e8b5482004-06-17 23:42:48 +00002812uts4*)
2813 version_type=linux
2814 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2815 soname_spec='${libname}${release}${shared_ext}$major'
2816 shlibpath_var=LD_LIBRARY_PATH
2817 ;;
2818
2819*)
2820 dynamic_linker=no
2821 ;;
2822esac
2823AC_MSG_RESULT([$dynamic_linker])
2824test "$dynamic_linker" = no && can_build_shared=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00002825
2826variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2827if test "$GCC" = yes; then
2828 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2829fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00002830
Lev Walkin4da95cf2010-10-16 02:46:32 -07002831if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2832 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002833fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002834if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2835 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2836fi
2837
2838_LT_DECL([], [variables_saved_for_relink], [1],
2839 [Variables whose values should be saved in libtool wrapper scripts and
2840 restored at link time])
2841_LT_DECL([], [need_lib_prefix], [0],
2842 [Do we need the "lib" prefix for modules?])
2843_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2844_LT_DECL([], [version_type], [0], [Library versioning type])
2845_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2846_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2847_LT_DECL([], [shlibpath_overrides_runpath], [0],
2848 [Is shlibpath searched before the hard-coded library search path?])
2849_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2850_LT_DECL([], [library_names_spec], [1],
2851 [[List of archive names. First name is the real one, the rest are links.
2852 The last name is the one that the linker finds with -lNAME]])
2853_LT_DECL([], [soname_spec], [1],
2854 [[The coded name of the library, if different from the real name]])
2855_LT_DECL([], [install_override_mode], [1],
2856 [Permission mode override for installation of shared libraries])
2857_LT_DECL([], [postinstall_cmds], [2],
2858 [Command to use after installation of a shared archive])
2859_LT_DECL([], [postuninstall_cmds], [2],
2860 [Command to use after uninstallation of a shared archive])
2861_LT_DECL([], [finish_cmds], [2],
2862 [Commands used to finish a libtool library installation in a directory])
2863_LT_DECL([], [finish_eval], [1],
2864 [[As "finish_cmds", except a single script fragment to be evaled but
2865 not shown]])
2866_LT_DECL([], [hardcode_into_libs], [0],
2867 [Whether we should hardcode library paths into libraries])
2868_LT_DECL([], [sys_lib_search_path_spec], [2],
2869 [Compile-time system search path for libraries])
2870_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2871 [Run-time system search path for libraries])
2872])# _LT_SYS_DYNAMIC_LINKER
Lev Walkin8e8b5482004-06-17 23:42:48 +00002873
2874
Lev Walkin4da95cf2010-10-16 02:46:32 -07002875# _LT_PATH_TOOL_PREFIX(TOOL)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002876# --------------------------
Lev Walkin4da95cf2010-10-16 02:46:32 -07002877# find a file program which can recognize shared library
2878AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2879[m4_require([_LT_DECL_EGREP])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00002880AC_MSG_CHECKING([for $1])
2881AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2882[case $MAGIC_CMD in
2883[[\\/*] | ?:[\\/]*])
2884 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2885 ;;
2886*)
2887 lt_save_MAGIC_CMD="$MAGIC_CMD"
2888 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2889dnl $ac_dummy forces splitting on constant user-supplied paths.
2890dnl POSIX.2 word splitting is done only on the output of word expansions,
2891dnl not every word. This closes a longstanding sh security hole.
Lev Walkin4da95cf2010-10-16 02:46:32 -07002892 ac_dummy="m4_if([$2], , $PATH, [$2])"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002893 for ac_dir in $ac_dummy; do
2894 IFS="$lt_save_ifs"
2895 test -z "$ac_dir" && ac_dir=.
2896 if test -f $ac_dir/$1; then
2897 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2898 if test -n "$file_magic_test_file"; then
2899 case $deplibs_check_method in
2900 "file_magic "*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00002901 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
Lev Walkin8e8b5482004-06-17 23:42:48 +00002902 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2903 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2904 $EGREP "$file_magic_regex" > /dev/null; then
2905 :
2906 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07002907 cat <<_LT_EOF 1>&2
Lev Walkin8e8b5482004-06-17 23:42:48 +00002908
2909*** Warning: the command libtool uses to detect shared libraries,
2910*** $file_magic_cmd, produces output that libtool cannot recognize.
2911*** The result is that libtool may fail to recognize shared libraries
2912*** as such. This will affect the creation of libtool libraries that
2913*** depend on shared libraries, but programs linked with such libtool
2914*** libraries will work regardless of this problem. Nevertheless, you
2915*** may want to report the problem to your system manager and/or to
2916*** bug-libtool@gnu.org
2917
Lev Walkin4da95cf2010-10-16 02:46:32 -07002918_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00002919 fi ;;
2920 esac
2921 fi
2922 break
2923 fi
2924 done
2925 IFS="$lt_save_ifs"
2926 MAGIC_CMD="$lt_save_MAGIC_CMD"
2927 ;;
2928esac])
2929MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2930if test -n "$MAGIC_CMD"; then
2931 AC_MSG_RESULT($MAGIC_CMD)
2932else
2933 AC_MSG_RESULT(no)
2934fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002935_LT_DECL([], [MAGIC_CMD], [0],
2936 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2937])# _LT_PATH_TOOL_PREFIX
2938
2939# Old name:
2940AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2941dnl aclocal-1.4 backwards compatibility:
2942dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002943
2944
Lev Walkin4da95cf2010-10-16 02:46:32 -07002945# _LT_PATH_MAGIC
2946# --------------
2947# find a file program which can recognize a shared library
2948m4_defun([_LT_PATH_MAGIC],
2949[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002950if test -z "$lt_cv_path_MAGIC_CMD"; then
2951 if test -n "$ac_tool_prefix"; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07002952 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002953 else
2954 MAGIC_CMD=:
2955 fi
2956fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002957])# _LT_PATH_MAGIC
Lev Walkin8e8b5482004-06-17 23:42:48 +00002958
2959
Lev Walkin4da95cf2010-10-16 02:46:32 -07002960# LT_PATH_LD
Lev Walkin8e8b5482004-06-17 23:42:48 +00002961# ----------
2962# find the pathname to the GNU or non-GNU linker
Lev Walkin4da95cf2010-10-16 02:46:32 -07002963AC_DEFUN([LT_PATH_LD],
2964[AC_REQUIRE([AC_PROG_CC])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00002965AC_REQUIRE([AC_CANONICAL_HOST])dnl
2966AC_REQUIRE([AC_CANONICAL_BUILD])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07002967m4_require([_LT_DECL_SED])dnl
2968m4_require([_LT_DECL_EGREP])dnl
2969m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
2970
2971AC_ARG_WITH([gnu-ld],
2972 [AS_HELP_STRING([--with-gnu-ld],
2973 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2974 [test "$withval" = no || with_gnu_ld=yes],
2975 [with_gnu_ld=no])dnl
2976
Lev Walkin8e8b5482004-06-17 23:42:48 +00002977ac_prog=ld
2978if test "$GCC" = yes; then
2979 # Check if gcc -print-prog-name=ld gives a path.
2980 AC_MSG_CHECKING([for ld used by $CC])
2981 case $host in
2982 *-*-mingw*)
2983 # gcc leaves a trailing carriage return which upsets mingw
2984 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2985 *)
2986 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2987 esac
2988 case $ac_prog in
2989 # Accept absolute paths.
2990 [[\\/]]* | ?:[[\\/]]*)
2991 re_direlt='/[[^/]][[^/]]*/\.\./'
2992 # Canonicalize the pathname of ld
Lev Walkin4da95cf2010-10-16 02:46:32 -07002993 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2994 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2995 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
Lev Walkin8e8b5482004-06-17 23:42:48 +00002996 done
2997 test -z "$LD" && LD="$ac_prog"
2998 ;;
2999 "")
3000 # If it fails, then pretend we aren't using GCC.
3001 ac_prog=ld
3002 ;;
3003 *)
3004 # If it is relative, then search for the first ld in PATH.
3005 with_gnu_ld=unknown
3006 ;;
3007 esac
3008elif test "$with_gnu_ld" = yes; then
3009 AC_MSG_CHECKING([for GNU ld])
3010else
3011 AC_MSG_CHECKING([for non-GNU ld])
3012fi
3013AC_CACHE_VAL(lt_cv_path_LD,
3014[if test -z "$LD"; then
3015 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3016 for ac_dir in $PATH; do
3017 IFS="$lt_save_ifs"
3018 test -z "$ac_dir" && ac_dir=.
3019 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3020 lt_cv_path_LD="$ac_dir/$ac_prog"
3021 # Check to see if the program is GNU ld. I'd rather use --version,
Lev Walkin27fd0b62007-08-27 23:57:45 +00003022 # but apparently some variants of GNU ld only accept -v.
Lev Walkin8e8b5482004-06-17 23:42:48 +00003023 # Break only if it was the GNU/non-GNU ld that we prefer.
3024 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3025 *GNU* | *'with BFD'*)
3026 test "$with_gnu_ld" != no && break
3027 ;;
3028 *)
3029 test "$with_gnu_ld" != yes && break
3030 ;;
3031 esac
3032 fi
3033 done
3034 IFS="$lt_save_ifs"
3035else
3036 lt_cv_path_LD="$LD" # Let the user override the test with a path.
3037fi])
3038LD="$lt_cv_path_LD"
3039if test -n "$LD"; then
3040 AC_MSG_RESULT($LD)
3041else
3042 AC_MSG_RESULT(no)
3043fi
3044test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
Lev Walkin4da95cf2010-10-16 02:46:32 -07003045_LT_PATH_LD_GNU
3046AC_SUBST([LD])
3047
3048_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3049])# LT_PATH_LD
3050
3051# Old names:
3052AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3053AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3054dnl aclocal-1.4 backwards compatibility:
3055dnl AC_DEFUN([AM_PROG_LD], [])
3056dnl AC_DEFUN([AC_PROG_LD], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00003057
3058
Lev Walkin4da95cf2010-10-16 02:46:32 -07003059# _LT_PATH_LD_GNU
3060#- --------------
3061m4_defun([_LT_PATH_LD_GNU],
3062[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
Lev Walkin27fd0b62007-08-27 23:57:45 +00003063[# I'd rather use --version here, but apparently some GNU lds only accept -v.
Lev Walkin8e8b5482004-06-17 23:42:48 +00003064case `$LD -v 2>&1 </dev/null` in
3065*GNU* | *'with BFD'*)
3066 lt_cv_prog_gnu_ld=yes
3067 ;;
3068*)
3069 lt_cv_prog_gnu_ld=no
3070 ;;
3071esac])
3072with_gnu_ld=$lt_cv_prog_gnu_ld
Lev Walkin4da95cf2010-10-16 02:46:32 -07003073])# _LT_PATH_LD_GNU
Lev Walkin8e8b5482004-06-17 23:42:48 +00003074
3075
Lev Walkin4da95cf2010-10-16 02:46:32 -07003076# _LT_CMD_RELOAD
3077# --------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00003078# find reload flag for linker
3079# -- PORTME Some linkers may need a different reload flag.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003080m4_defun([_LT_CMD_RELOAD],
Lev Walkin8e8b5482004-06-17 23:42:48 +00003081[AC_CACHE_CHECK([for $LD option to reload object files],
3082 lt_cv_ld_reload_flag,
3083 [lt_cv_ld_reload_flag='-r'])
3084reload_flag=$lt_cv_ld_reload_flag
3085case $reload_flag in
3086"" | " "*) ;;
3087*) reload_flag=" $reload_flag" ;;
3088esac
3089reload_cmds='$LD$reload_flag -o $output$reload_objs'
Lev Walkin27fd0b62007-08-27 23:57:45 +00003090case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07003091 cygwin* | mingw* | pw32* | cegcc*)
3092 if test "$GCC" != yes; then
3093 reload_cmds=false
3094 fi
3095 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003096 darwin*)
3097 if test "$GCC" = yes; then
3098 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3099 else
3100 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3101 fi
3102 ;;
3103esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07003104_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3105_LT_TAGDECL([], [reload_cmds], [2])dnl
3106])# _LT_CMD_RELOAD
Lev Walkin8e8b5482004-06-17 23:42:48 +00003107
3108
Lev Walkin4da95cf2010-10-16 02:46:32 -07003109# _LT_CHECK_MAGIC_METHOD
3110# ----------------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00003111# how to check for library dependencies
3112# -- PORTME fill in with the dynamic library characteristics
Lev Walkin4da95cf2010-10-16 02:46:32 -07003113m4_defun([_LT_CHECK_MAGIC_METHOD],
3114[m4_require([_LT_DECL_EGREP])
3115m4_require([_LT_DECL_OBJDUMP])
3116AC_CACHE_CHECK([how to recognize dependent libraries],
Lev Walkin8e8b5482004-06-17 23:42:48 +00003117lt_cv_deplibs_check_method,
3118[lt_cv_file_magic_cmd='$MAGIC_CMD'
3119lt_cv_file_magic_test_file=
3120lt_cv_deplibs_check_method='unknown'
3121# Need to set the preceding variable on all platforms that support
3122# interlibrary dependencies.
3123# 'none' -- dependencies not supported.
3124# `unknown' -- same as none, but documents that we really don't know.
3125# 'pass_all' -- all dependencies passed with no checks.
3126# 'test_compile' -- check by making test program.
3127# 'file_magic [[regex]]' -- check by looking for files in library path
3128# which responds to the $file_magic_cmd with a given extended regex.
3129# If you have `file' or equivalent on your system and you're not sure
3130# whether `pass_all' will *always* work, you probably want this one.
3131
3132case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07003133aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003134 lt_cv_deplibs_check_method=pass_all
3135 ;;
3136
3137beos*)
3138 lt_cv_deplibs_check_method=pass_all
3139 ;;
3140
Lev Walkin27fd0b62007-08-27 23:57:45 +00003141bsdi[[45]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003142 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3143 lt_cv_file_magic_cmd='/usr/bin/file -L'
3144 lt_cv_file_magic_test_file=/shlib/libc.so
3145 ;;
3146
3147cygwin*)
3148 # func_win32_libid is a shell function defined in ltmain.sh
3149 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3150 lt_cv_file_magic_cmd='func_win32_libid'
3151 ;;
3152
3153mingw* | pw32*)
3154 # Base MSYS/MinGW do not provide the 'file' command needed by
Lev Walkin4da95cf2010-10-16 02:46:32 -07003155 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3156 # unless we find 'file', for example because we are cross-compiling.
3157 # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
3158 if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
3159 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3160 lt_cv_file_magic_cmd='func_win32_libid'
3161 else
3162 # Keep this pattern in sync with the one in func_win32_libid.
3163 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3164 lt_cv_file_magic_cmd='$OBJDUMP -f'
3165 fi
3166 ;;
3167
3168cegcc*)
3169 # use the weaker test based on 'objdump'. See mingw*.
3170 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003171 lt_cv_file_magic_cmd='$OBJDUMP -f'
3172 ;;
3173
3174darwin* | rhapsody*)
3175 lt_cv_deplibs_check_method=pass_all
3176 ;;
3177
Lev Walkin4da95cf2010-10-16 02:46:32 -07003178freebsd* | dragonfly*)
3179 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00003180 case $host_cpu in
3181 i*86 )
3182 # Not sure whether the presence of OpenBSD here was a mistake.
3183 # Let's accept both of them until this is cleared up.
Lev Walkin27fd0b62007-08-27 23:57:45 +00003184 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003185 lt_cv_file_magic_cmd=/usr/bin/file
3186 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3187 ;;
3188 esac
3189 else
3190 lt_cv_deplibs_check_method=pass_all
3191 fi
3192 ;;
3193
3194gnu*)
3195 lt_cv_deplibs_check_method=pass_all
3196 ;;
3197
Lev Walkin4da95cf2010-10-16 02:46:32 -07003198haiku*)
3199 lt_cv_deplibs_check_method=pass_all
3200 ;;
3201
Lev Walkin8e8b5482004-06-17 23:42:48 +00003202hpux10.20* | hpux11*)
3203 lt_cv_file_magic_cmd=/usr/bin/file
Lev Walkin27fd0b62007-08-27 23:57:45 +00003204 case $host_cpu in
Lev Walkin8e8b5482004-06-17 23:42:48 +00003205 ia64*)
3206 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3207 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3208 ;;
3209 hppa*64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003210 [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]']
Lev Walkin8e8b5482004-06-17 23:42:48 +00003211 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3212 ;;
3213 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003214 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003215 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3216 ;;
3217 esac
3218 ;;
3219
Lev Walkin4da95cf2010-10-16 02:46:32 -07003220interix[[3-9]]*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003221 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3222 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3223 ;;
3224
Lev Walkin8e8b5482004-06-17 23:42:48 +00003225irix5* | irix6* | nonstopux*)
3226 case $LD in
3227 *-32|*"-32 ") libmagic=32-bit;;
3228 *-n32|*"-n32 ") libmagic=N32;;
3229 *-64|*"-64 ") libmagic=64-bit;;
3230 *) libmagic=never-match;;
3231 esac
3232 lt_cv_deplibs_check_method=pass_all
3233 ;;
3234
3235# This must be Linux ELF.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003236linux* | k*bsd*-gnu | kopensolaris*-gnu)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003237 lt_cv_deplibs_check_method=pass_all
3238 ;;
3239
3240netbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003241 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00003242 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3243 else
3244 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3245 fi
3246 ;;
3247
3248newos6*)
3249 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3250 lt_cv_file_magic_cmd=/usr/bin/file
3251 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3252 ;;
3253
Lev Walkin4da95cf2010-10-16 02:46:32 -07003254*nto* | *qnx*)
3255 lt_cv_deplibs_check_method=pass_all
Lev Walkin8e8b5482004-06-17 23:42:48 +00003256 ;;
3257
3258openbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003259 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00003260 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003261 else
Lev Walkin27fd0b62007-08-27 23:57:45 +00003262 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003263 fi
3264 ;;
3265
3266osf3* | osf4* | osf5*)
3267 lt_cv_deplibs_check_method=pass_all
3268 ;;
3269
Lev Walkin4da95cf2010-10-16 02:46:32 -07003270rdos*)
3271 lt_cv_deplibs_check_method=pass_all
3272 ;;
3273
Lev Walkin8e8b5482004-06-17 23:42:48 +00003274solaris*)
3275 lt_cv_deplibs_check_method=pass_all
3276 ;;
3277
Lev Walkin4da95cf2010-10-16 02:46:32 -07003278sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3279 lt_cv_deplibs_check_method=pass_all
3280 ;;
3281
Lev Walkin27fd0b62007-08-27 23:57:45 +00003282sysv4 | sysv4.3*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003283 case $host_vendor in
3284 motorola)
3285 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]]'
3286 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3287 ;;
3288 ncr)
3289 lt_cv_deplibs_check_method=pass_all
3290 ;;
3291 sequent)
3292 lt_cv_file_magic_cmd='/bin/file'
3293 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3294 ;;
3295 sni)
3296 lt_cv_file_magic_cmd='/bin/file'
3297 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3298 lt_cv_file_magic_test_file=/lib/libc.so
3299 ;;
3300 siemens)
3301 lt_cv_deplibs_check_method=pass_all
3302 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003303 pc)
3304 lt_cv_deplibs_check_method=pass_all
3305 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003306 esac
3307 ;;
3308
Lev Walkin4da95cf2010-10-16 02:46:32 -07003309tpf*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003310 lt_cv_deplibs_check_method=pass_all
3311 ;;
3312esac
3313])
Lev Walkin4da95cf2010-10-16 02:46:32 -07003314
3315file_magic_glob=
3316want_nocaseglob=no
3317if test "$build" = "$host"; then
3318 case $host_os in
3319 mingw* | pw32*)
3320 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3321 want_nocaseglob=yes
3322 else
3323 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3324 fi
3325 ;;
3326 esac
3327fi
3328
Lev Walkin8e8b5482004-06-17 23:42:48 +00003329file_magic_cmd=$lt_cv_file_magic_cmd
3330deplibs_check_method=$lt_cv_deplibs_check_method
3331test -z "$deplibs_check_method" && deplibs_check_method=unknown
Lev Walkin4da95cf2010-10-16 02:46:32 -07003332
3333_LT_DECL([], [deplibs_check_method], [1],
3334 [Method to check whether dependent libraries are shared objects])
3335_LT_DECL([], [file_magic_cmd], [1],
3336 [Command to use when deplibs_check_method = "file_magic"])
3337_LT_DECL([], [file_magic_glob], [1],
3338 [How to find potential files when deplibs_check_method = "file_magic"])
3339_LT_DECL([], [want_nocaseglob], [1],
3340 [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3341])# _LT_CHECK_MAGIC_METHOD
Lev Walkin8e8b5482004-06-17 23:42:48 +00003342
3343
Lev Walkin4da95cf2010-10-16 02:46:32 -07003344# LT_PATH_NM
Lev Walkin8e8b5482004-06-17 23:42:48 +00003345# ----------
Lev Walkin4da95cf2010-10-16 02:46:32 -07003346# find the pathname to a BSD- or MS-compatible name lister
3347AC_DEFUN([LT_PATH_NM],
3348[AC_REQUIRE([AC_PROG_CC])dnl
3349AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
Lev Walkin8e8b5482004-06-17 23:42:48 +00003350[if test -n "$NM"; then
3351 # Let the user override the test.
3352 lt_cv_path_NM="$NM"
3353else
Lev Walkin27fd0b62007-08-27 23:57:45 +00003354 lt_nm_to_check="${ac_tool_prefix}nm"
Lev Walkin4da95cf2010-10-16 02:46:32 -07003355 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00003356 lt_nm_to_check="$lt_nm_to_check nm"
3357 fi
3358 for lt_tmp_nm in $lt_nm_to_check; do
3359 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3360 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3361 IFS="$lt_save_ifs"
3362 test -z "$ac_dir" && ac_dir=.
3363 tmp_nm="$ac_dir/$lt_tmp_nm"
3364 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3365 # Check to see if the nm accepts a BSD-compat flag.
3366 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3367 # nm: unknown option "B" ignored
3368 # Tru64's nm complains that /dev/null is an invalid object file
3369 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3370 */dev/null* | *'Invalid file or object type'*)
3371 lt_cv_path_NM="$tmp_nm -B"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003372 break
3373 ;;
3374 *)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003375 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3376 */dev/null*)
3377 lt_cv_path_NM="$tmp_nm -p"
3378 break
3379 ;;
3380 *)
3381 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3382 continue # so that we can try to find one that supports BSD flags
3383 ;;
3384 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003385 ;;
3386 esac
Lev Walkin27fd0b62007-08-27 23:57:45 +00003387 fi
3388 done
3389 IFS="$lt_save_ifs"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003390 done
Lev Walkin4da95cf2010-10-16 02:46:32 -07003391 : ${lt_cv_path_NM=no}
Lev Walkin8e8b5482004-06-17 23:42:48 +00003392fi])
Lev Walkin4da95cf2010-10-16 02:46:32 -07003393if test "$lt_cv_path_NM" != "no"; then
3394 NM="$lt_cv_path_NM"
3395else
3396 # Didn't find any BSD compatible name lister, look for dumpbin.
3397 if test -n "$DUMPBIN"; then :
3398 # Let the user override the test.
3399 else
3400 AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3401 case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
3402 *COFF*)
3403 DUMPBIN="$DUMPBIN -symbols"
3404 ;;
3405 *)
3406 DUMPBIN=:
3407 ;;
3408 esac
3409 fi
3410 AC_SUBST([DUMPBIN])
3411 if test "$DUMPBIN" != ":"; then
3412 NM="$DUMPBIN"
3413 fi
3414fi
3415test -z "$NM" && NM=nm
3416AC_SUBST([NM])
3417_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3418
3419AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3420 [lt_cv_nm_interface="BSD nm"
3421 echo "int some_variable = 0;" > conftest.$ac_ext
3422 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3423 (eval "$ac_compile" 2>conftest.err)
3424 cat conftest.err >&AS_MESSAGE_LOG_FD
3425 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3426 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3427 cat conftest.err >&AS_MESSAGE_LOG_FD
3428 (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3429 cat conftest.out >&AS_MESSAGE_LOG_FD
3430 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3431 lt_cv_nm_interface="MS dumpbin"
3432 fi
3433 rm -f conftest*])
3434])# LT_PATH_NM
3435
3436# Old names:
3437AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3438AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3439dnl aclocal-1.4 backwards compatibility:
3440dnl AC_DEFUN([AM_PROG_NM], [])
3441dnl AC_DEFUN([AC_PROG_NM], [])
3442
3443# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3444# --------------------------------
3445# how to determine the name of the shared library
3446# associated with a specific link library.
3447# -- PORTME fill in with the dynamic library characteristics
3448m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3449[m4_require([_LT_DECL_EGREP])
3450m4_require([_LT_DECL_OBJDUMP])
3451m4_require([_LT_DECL_DLLTOOL])
3452AC_CACHE_CHECK([how to associate runtime and link libraries],
3453lt_cv_sharedlib_from_linklib_cmd,
3454[lt_cv_sharedlib_from_linklib_cmd='unknown'
3455
3456case $host_os in
3457cygwin* | mingw* | pw32* | cegcc*)
3458 # two different shell functions defined in ltmain.sh
3459 # decide which to use based on capabilities of $DLLTOOL
3460 case `$DLLTOOL --help 2>&1` in
3461 *--identify-strict*)
3462 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3463 ;;
3464 *)
3465 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3466 ;;
3467 esac
3468 ;;
3469*)
3470 # fallback: assume linklib IS sharedlib
3471 lt_cv_sharedlib_from_linklib_cmd="$ECHO"
3472 ;;
3473esac
3474])
3475sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3476test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3477
3478_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3479 [Command to associate shared and link libraries])
3480])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
Lev Walkin8e8b5482004-06-17 23:42:48 +00003481
3482
Lev Walkin4da95cf2010-10-16 02:46:32 -07003483# _LT_PATH_MANIFEST_TOOL
3484# ----------------------
3485# locate the manifest tool
3486m4_defun([_LT_PATH_MANIFEST_TOOL],
3487[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3488test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3489AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3490 [lt_cv_path_mainfest_tool=no
3491 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3492 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3493 cat conftest.err >&AS_MESSAGE_LOG_FD
3494 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3495 lt_cv_path_mainfest_tool=yes
3496 fi
3497 rm -f conftest*])
3498if test "x$lt_cv_path_mainfest_tool" != xyes; then
3499 MANIFEST_TOOL=:
3500fi
3501_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3502])# _LT_PATH_MANIFEST_TOOL
3503
3504
3505# LT_LIB_M
3506# --------
Lev Walkin8e8b5482004-06-17 23:42:48 +00003507# check for math library
Lev Walkin4da95cf2010-10-16 02:46:32 -07003508AC_DEFUN([LT_LIB_M],
Lev Walkin8e8b5482004-06-17 23:42:48 +00003509[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3510LIBM=
3511case $host in
Lev Walkin4da95cf2010-10-16 02:46:32 -07003512*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003513 # These system don't have libm, or don't need it
3514 ;;
3515*-ncr-sysv4.3*)
3516 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3517 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3518 ;;
3519*)
3520 AC_CHECK_LIB(m, cos, LIBM="-lm")
3521 ;;
3522esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07003523AC_SUBST([LIBM])
3524])# LT_LIB_M
Lev Walkin8e8b5482004-06-17 23:42:48 +00003525
Lev Walkin4da95cf2010-10-16 02:46:32 -07003526# Old name:
3527AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3528dnl aclocal-1.4 backwards compatibility:
3529dnl AC_DEFUN([AC_CHECK_LIBM], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00003530
Lev Walkin8e8b5482004-06-17 23:42:48 +00003531
Lev Walkin4da95cf2010-10-16 02:46:32 -07003532# _LT_COMPILER_NO_RTTI([TAGNAME])
3533# -------------------------------
3534m4_defun([_LT_COMPILER_NO_RTTI],
3535[m4_require([_LT_TAG_COMPILER])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00003536
Lev Walkin4da95cf2010-10-16 02:46:32 -07003537_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00003538
3539if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003540 case $cc_basename in
3541 nvcc*)
3542 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3543 *)
3544 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3545 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003546
Lev Walkin4da95cf2010-10-16 02:46:32 -07003547 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
Lev Walkin8e8b5482004-06-17 23:42:48 +00003548 lt_cv_prog_compiler_rtti_exceptions,
3549 [-fno-rtti -fno-exceptions], [],
Lev Walkin4da95cf2010-10-16 02:46:32 -07003550 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
Lev Walkin8e8b5482004-06-17 23:42:48 +00003551fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07003552_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3553 [Compiler flag to turn off builtin functions])
3554])# _LT_COMPILER_NO_RTTI
Lev Walkin8e8b5482004-06-17 23:42:48 +00003555
3556
Lev Walkin4da95cf2010-10-16 02:46:32 -07003557# _LT_CMD_GLOBAL_SYMBOLS
3558# ----------------------
3559m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3560[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3561AC_REQUIRE([AC_PROG_CC])dnl
3562AC_REQUIRE([AC_PROG_AWK])dnl
3563AC_REQUIRE([LT_PATH_NM])dnl
3564AC_REQUIRE([LT_PATH_LD])dnl
3565m4_require([_LT_DECL_SED])dnl
3566m4_require([_LT_DECL_EGREP])dnl
3567m4_require([_LT_TAG_COMPILER])dnl
3568
Lev Walkin8e8b5482004-06-17 23:42:48 +00003569# Check for command to grab the raw symbol name followed by C symbol from nm.
3570AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3571AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3572[
3573# These are sane defaults that work on at least a few old systems.
3574# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3575
3576# Character class describing NM global symbol codes.
3577symcode='[[BCDEGRST]]'
3578
3579# Regexp to match symbols that can be accessed directly from C.
3580sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3581
Lev Walkin8e8b5482004-06-17 23:42:48 +00003582# Define system-specific variables.
3583case $host_os in
3584aix*)
3585 symcode='[[BCDT]]'
3586 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003587cygwin* | mingw* | pw32* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003588 symcode='[[ABCDGISTW]]'
3589 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003590hpux*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003591 if test "$host_cpu" = ia64; then
3592 symcode='[[ABCDEGRST]]'
3593 fi
Lev Walkin27fd0b62007-08-27 23:57:45 +00003594 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003595irix* | nonstopux*)
3596 symcode='[[BCDEGRST]]'
3597 ;;
3598osf*)
3599 symcode='[[BCDEGQRST]]'
3600 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003601solaris*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003602 symcode='[[BDRT]]'
3603 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003604sco3.2v5*)
3605 symcode='[[DT]]'
3606 ;;
3607sysv4.2uw2*)
3608 symcode='[[DT]]'
3609 ;;
3610sysv5* | sco5v6* | unixware* | OpenUNIX*)
3611 symcode='[[ABDT]]'
3612 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003613sysv4)
3614 symcode='[[DFNSTU]]'
3615 ;;
3616esac
3617
Lev Walkin8e8b5482004-06-17 23:42:48 +00003618# If we're using GNU nm, then use its standard symbol codes.
3619case `$NM -V 2>&1` in
3620*GNU* | *'with BFD'*)
3621 symcode='[[ABCDGIRSTW]]' ;;
3622esac
3623
Lev Walkin4da95cf2010-10-16 02:46:32 -07003624# Transform an extracted symbol line into a proper C declaration.
3625# Some systems (esp. on ia64) link data and code symbols differently,
3626# so use this general approach.
3627lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3628
3629# Transform an extracted symbol line into symbol name and symbol address
3630lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3631lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
3632
3633# Handle CRLF in mingw tool chain
3634opt_cr=
3635case $build_os in
3636mingw*)
3637 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3638 ;;
3639esac
3640
3641# Try without a prefix underscore, then with it.
Lev Walkin8e8b5482004-06-17 23:42:48 +00003642for ac_symprfx in "" "_"; do
3643
Lev Walkin27fd0b62007-08-27 23:57:45 +00003644 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3645 symxfrm="\\1 $ac_symprfx\\2 \\2"
3646
Lev Walkin8e8b5482004-06-17 23:42:48 +00003647 # Write the raw and C identifiers.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003648 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3649 # Fake it for dumpbin and say T for any non-static function
3650 # and D for any global variable.
3651 # Also find C++ and __fastcall symbols from MSVC++,
3652 # which start with @ or ?.
3653 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3654" {last_section=section; section=\$ 3};"\
3655" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3656" \$ 0!~/External *\|/{next};"\
3657" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3658" {if(hide[section]) next};"\
3659" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3660" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3661" s[1]~/^[@?]/{print s[1], s[1]; next};"\
3662" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3663" ' prfx=^$ac_symprfx]"
3664 else
3665 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3666 fi
3667 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003668
3669 # Check to see that the pipe works correctly.
3670 pipe_works=no
3671
3672 rm -f conftest*
Lev Walkin4da95cf2010-10-16 02:46:32 -07003673 cat > conftest.$ac_ext <<_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00003674#ifdef __cplusplus
3675extern "C" {
3676#endif
3677char nm_test_var;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003678void nm_test_func(void);
3679void nm_test_func(void){}
Lev Walkin8e8b5482004-06-17 23:42:48 +00003680#ifdef __cplusplus
3681}
3682#endif
3683int main(){nm_test_var='a';nm_test_func();return(0);}
Lev Walkin4da95cf2010-10-16 02:46:32 -07003684_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00003685
3686 if AC_TRY_EVAL(ac_compile); then
3687 # Now try to grab the symbols.
3688 nlist=conftest.nm
Lev Walkin4da95cf2010-10-16 02:46:32 -07003689 if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00003690 # Try sorting and uniquifying the output.
3691 if sort "$nlist" | uniq > "$nlist"T; then
3692 mv -f "$nlist"T "$nlist"
3693 else
3694 rm -f "$nlist"T
3695 fi
3696
3697 # Make sure that we snagged all the symbols we need.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003698 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3699 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3700 cat <<_LT_EOF > conftest.$ac_ext
3701/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
3702#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3703/* DATA imports from DLLs on WIN32 con't be const, because runtime
3704 relocations are performed -- see ld's documentation on pseudo-relocs. */
3705# define LT@&t@_DLSYM_CONST
3706#elif defined(__osf__)
3707/* This system does not cope well with relocations in const data. */
3708# define LT@&t@_DLSYM_CONST
3709#else
3710# define LT@&t@_DLSYM_CONST const
3711#endif
3712
Lev Walkin8e8b5482004-06-17 23:42:48 +00003713#ifdef __cplusplus
3714extern "C" {
3715#endif
3716
Lev Walkin4da95cf2010-10-16 02:46:32 -07003717_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00003718 # Now generate the symbol file.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003719 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003720
Lev Walkin4da95cf2010-10-16 02:46:32 -07003721 cat <<_LT_EOF >> conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00003722
Lev Walkin4da95cf2010-10-16 02:46:32 -07003723/* The mapping between symbol names and symbols. */
3724LT@&t@_DLSYM_CONST struct {
Lev Walkin8e8b5482004-06-17 23:42:48 +00003725 const char *name;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003726 void *address;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003727}
Lev Walkin4da95cf2010-10-16 02:46:32 -07003728lt__PROGRAM__LTX_preloaded_symbols[[]] =
Lev Walkin8e8b5482004-06-17 23:42:48 +00003729{
Lev Walkin4da95cf2010-10-16 02:46:32 -07003730 { "@PROGRAM@", (void *) 0 },
3731_LT_EOF
3732 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3733 cat <<\_LT_EOF >> conftest.$ac_ext
3734 {0, (void *) 0}
Lev Walkin8e8b5482004-06-17 23:42:48 +00003735};
3736
Lev Walkin4da95cf2010-10-16 02:46:32 -07003737/* This works around a problem in FreeBSD linker */
3738#ifdef FREEBSD_WORKAROUND
3739static const void *lt_preloaded_setup() {
3740 return lt__PROGRAM__LTX_preloaded_symbols;
3741}
3742#endif
3743
Lev Walkin8e8b5482004-06-17 23:42:48 +00003744#ifdef __cplusplus
3745}
3746#endif
Lev Walkin4da95cf2010-10-16 02:46:32 -07003747_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00003748 # Now try linking the two files.
3749 mv conftest.$ac_objext conftstm.$ac_objext
Lev Walkin4da95cf2010-10-16 02:46:32 -07003750 lt_globsym_save_LIBS=$LIBS
3751 lt_globsym_save_CFLAGS=$CFLAGS
Lev Walkin8e8b5482004-06-17 23:42:48 +00003752 LIBS="conftstm.$ac_objext"
Lev Walkin4da95cf2010-10-16 02:46:32 -07003753 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003754 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3755 pipe_works=yes
3756 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07003757 LIBS=$lt_globsym_save_LIBS
3758 CFLAGS=$lt_globsym_save_CFLAGS
Lev Walkin8e8b5482004-06-17 23:42:48 +00003759 else
3760 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3761 fi
3762 else
3763 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3764 fi
3765 else
3766 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3767 fi
3768 else
3769 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3770 cat conftest.$ac_ext >&5
3771 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07003772 rm -rf conftest* conftst*
Lev Walkin8e8b5482004-06-17 23:42:48 +00003773
3774 # Do not use the global_symbol_pipe unless it works.
3775 if test "$pipe_works" = yes; then
3776 break
3777 else
3778 lt_cv_sys_global_symbol_pipe=
3779 fi
3780done
3781])
3782if test -z "$lt_cv_sys_global_symbol_pipe"; then
3783 lt_cv_sys_global_symbol_to_cdecl=
3784fi
3785if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3786 AC_MSG_RESULT(failed)
3787else
3788 AC_MSG_RESULT(ok)
3789fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07003790
3791# Response file support.
3792if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3793 nm_file_list_spec='@'
3794elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
3795 nm_file_list_spec='@'
3796fi
3797
3798_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3799 [Take the output of nm and produce a listing of raw symbols and C names])
3800_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3801 [Transform the output of nm in a proper C declaration])
3802_LT_DECL([global_symbol_to_c_name_address],
3803 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3804 [Transform the output of nm in a C name address pair])
3805_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3806 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3807 [Transform the output of nm in a C name address pair when lib prefix is needed])
3808_LT_DECL([], [nm_file_list_spec], [1],
3809 [Specify filename containing input files for $NM])
3810]) # _LT_CMD_GLOBAL_SYMBOLS
Lev Walkin8e8b5482004-06-17 23:42:48 +00003811
3812
Lev Walkin4da95cf2010-10-16 02:46:32 -07003813# _LT_COMPILER_PIC([TAGNAME])
3814# ---------------------------
3815m4_defun([_LT_COMPILER_PIC],
3816[m4_require([_LT_TAG_COMPILER])dnl
3817_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3818_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3819_LT_TAGVAR(lt_prog_compiler_static, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00003820
Lev Walkin4da95cf2010-10-16 02:46:32 -07003821m4_if([$1], [CXX], [
Lev Walkin8e8b5482004-06-17 23:42:48 +00003822 # C++ specific cases for pic, static, wl, etc.
3823 if test "$GXX" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003824 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3825 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003826
3827 case $host_os in
3828 aix*)
3829 # All AIX code is PIC.
3830 if test "$host_cpu" = ia64; then
3831 # AIX 5 now supports IA64 processor
Lev Walkin4da95cf2010-10-16 02:46:32 -07003832 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003833 fi
3834 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003835
Lev Walkin8e8b5482004-06-17 23:42:48 +00003836 amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003837 case $host_cpu in
3838 powerpc)
3839 # see comment about AmigaOS4 .so support
3840 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3841 ;;
3842 m68k)
3843 # FIXME: we need at least 68020 code to build shared libraries, but
3844 # adding the `-m68020' flag to GCC prevents building anything better,
3845 # like `-m68040'.
3846 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3847 ;;
3848 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003849 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003850
3851 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003852 # PIC is the default for these OSes.
3853 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003854 mingw* | cygwin* | os2* | pw32* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003855 # This hack is so that the source file can tell whether it is being
3856 # built for inclusion in a dll (and should export symbols for example).
Lev Walkin4da95cf2010-10-16 02:46:32 -07003857 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3858 # (--disable-auto-import) libraries
3859 m4_if([$1], [GCJ], [],
3860 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Lev Walkin8e8b5482004-06-17 23:42:48 +00003861 ;;
3862 darwin* | rhapsody*)
3863 # PIC is the default on this platform
3864 # Common symbols not allowed in MH_DYLIB files
Lev Walkin4da95cf2010-10-16 02:46:32 -07003865 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003866 ;;
3867 *djgpp*)
3868 # DJGPP does not support shared libraries at all
Lev Walkin4da95cf2010-10-16 02:46:32 -07003869 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00003870 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003871 haiku*)
3872 # PIC is the default for Haiku.
3873 # The "-static" flag exists, but is broken.
3874 _LT_TAGVAR(lt_prog_compiler_static, $1)=
3875 ;;
3876 interix[[3-9]]*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003877 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3878 # Instead, we relocate shared libraries at runtime.
3879 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003880 sysv4*MP*)
3881 if test -d /usr/nec; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003882 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
Lev Walkin8e8b5482004-06-17 23:42:48 +00003883 fi
3884 ;;
3885 hpux*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003886 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3887 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3888 # sets the default TLS model and affects inlining.
Lev Walkin27fd0b62007-08-27 23:57:45 +00003889 case $host_cpu in
Lev Walkin4da95cf2010-10-16 02:46:32 -07003890 hppa*64*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003891 ;;
3892 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003893 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003894 ;;
3895 esac
3896 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003897 *qnx* | *nto*)
3898 # QNX uses GNU C++, but need to define -shared option too, otherwise
3899 # it will coredump.
3900 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3901 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003902 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003903 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003904 ;;
3905 esac
3906 else
3907 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07003908 aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003909 # All AIX code is PIC.
3910 if test "$host_cpu" = ia64; then
3911 # AIX 5 now supports IA64 processor
Lev Walkin4da95cf2010-10-16 02:46:32 -07003912 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003913 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07003914 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003915 fi
3916 ;;
3917 chorus*)
3918 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003919 cxch68*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003920 # Green Hills C++ Compiler
Lev Walkin4da95cf2010-10-16 02:46:32 -07003921 # _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"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003922 ;;
3923 esac
3924 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003925 mingw* | cygwin* | os2* | pw32* | cegcc*)
3926 # This hack is so that the source file can tell whether it is being
3927 # built for inclusion in a dll (and should export symbols for example).
3928 m4_if([$1], [GCJ], [],
3929 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3930 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003931 dgux*)
3932 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003933 ec++*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003934 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003935 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003936 ghcx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003937 # Green Hills C++ Compiler
Lev Walkin4da95cf2010-10-16 02:46:32 -07003938 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003939 ;;
3940 *)
3941 ;;
3942 esac
3943 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003944 freebsd* | dragonfly*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003945 # FreeBSD uses GNU C++
3946 ;;
3947 hpux9* | hpux10* | hpux11*)
3948 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003949 CC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003950 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3951 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003952 if test "$host_cpu" != ia64; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003953 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003954 fi
3955 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003956 aCC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003957 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3958 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Lev Walkin27fd0b62007-08-27 23:57:45 +00003959 case $host_cpu in
Lev Walkin8e8b5482004-06-17 23:42:48 +00003960 hppa*64*|ia64*)
3961 # +Z the default
3962 ;;
3963 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003964 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003965 ;;
3966 esac
3967 ;;
3968 *)
3969 ;;
3970 esac
3971 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003972 interix*)
3973 # This is c89, which is MS Visual C++ (no shared libs)
3974 # Anyone wants to do a port?
3975 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003976 irix5* | irix6* | nonstopux*)
3977 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003978 CC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003979 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3980 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003981 # CC pic flag -KPIC is the default.
3982 ;;
3983 *)
3984 ;;
3985 esac
3986 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003987 linux* | k*bsd*-gnu | kopensolaris*-gnu)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003988 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003989 KCC*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003990 # KAI C++ Compiler
Lev Walkin4da95cf2010-10-16 02:46:32 -07003991 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3992 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003993 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003994 ecpc* )
3995 # old Intel C++ for x86_64 which still supported -KPIC.
3996 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3997 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3998 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003999 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004000 icpc* )
4001 # Intel C++, used to be incompatible with GCC.
4002 # ICC 10 doesn't accept -KPIC any more.
4003 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4004 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4005 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4006 ;;
4007 pgCC* | pgcpp*)
4008 # Portland Group C++ compiler
4009 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4010 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4011 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004012 ;;
4013 cxx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004014 # Compaq C++
4015 # Make sure the PIC flag is empty. It appears that all Alpha
4016 # Linux and Compaq Tru64 Unix objects are PIC.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004017 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4018 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4019 ;;
4020 xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4021 # IBM XL 8.0, 9.0 on PPC and BlueGene
4022 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4023 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4024 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004025 ;;
4026 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004027 case `$CC -V 2>&1 | sed 5q` in
4028 *Sun\ C*)
4029 # Sun C++ 5.9
4030 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4031 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4032 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4033 ;;
4034 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004035 ;;
4036 esac
4037 ;;
4038 lynxos*)
4039 ;;
4040 m88k*)
4041 ;;
4042 mvs*)
4043 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00004044 cxx*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004045 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004046 ;;
4047 *)
4048 ;;
4049 esac
4050 ;;
4051 netbsd*)
4052 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004053 *qnx* | *nto*)
4054 # QNX uses GNU C++, but need to define -shared option too, otherwise
4055 # it will coredump.
4056 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4057 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004058 osf3* | osf4* | osf5*)
4059 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00004060 KCC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004061 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004062 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004063 RCC*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004064 # Rational C++ 2.4.1
Lev Walkin4da95cf2010-10-16 02:46:32 -07004065 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004066 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004067 cxx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004068 # Digital/Compaq C++
Lev Walkin4da95cf2010-10-16 02:46:32 -07004069 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004070 # Make sure the PIC flag is empty. It appears that all Alpha
4071 # Linux and Compaq Tru64 Unix objects are PIC.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004072 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4073 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004074 ;;
4075 *)
4076 ;;
4077 esac
4078 ;;
4079 psos*)
4080 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004081 solaris*)
4082 case $cc_basename in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004083 CC* | sunCC*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004084 # Sun C++ 4.2, 5.x and Centerline C++
Lev Walkin4da95cf2010-10-16 02:46:32 -07004085 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4086 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4087 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
Lev Walkin8e8b5482004-06-17 23:42:48 +00004088 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004089 gcx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004090 # Green Hills C++ Compiler
Lev Walkin4da95cf2010-10-16 02:46:32 -07004091 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004092 ;;
4093 *)
4094 ;;
4095 esac
4096 ;;
4097 sunos4*)
4098 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00004099 CC*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004100 # Sun C++ 4.x
Lev Walkin4da95cf2010-10-16 02:46:32 -07004101 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4102 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004103 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004104 lcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004105 # Lucid
Lev Walkin4da95cf2010-10-16 02:46:32 -07004106 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004107 ;;
4108 *)
4109 ;;
4110 esac
4111 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004112 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4113 case $cc_basename in
4114 CC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004115 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4116 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4117 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4118 ;;
4119 esac
4120 ;;
4121 tandem*)
4122 case $cc_basename in
4123 NCC*)
4124 # NonStop-UX NCC 3.20
4125 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4126 ;;
4127 *)
Lev Walkin27fd0b62007-08-27 23:57:45 +00004128 ;;
4129 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004130 ;;
4131 vxworks*)
4132 ;;
4133 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004134 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004135 ;;
4136 esac
4137 fi
4138],
4139[
4140 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004141 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4142 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004143
4144 case $host_os in
4145 aix*)
4146 # All AIX code is PIC.
4147 if test "$host_cpu" = ia64; then
4148 # AIX 5 now supports IA64 processor
Lev Walkin4da95cf2010-10-16 02:46:32 -07004149 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004150 fi
4151 ;;
4152
4153 amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004154 case $host_cpu in
4155 powerpc)
4156 # see comment about AmigaOS4 .so support
4157 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4158 ;;
4159 m68k)
4160 # FIXME: we need at least 68020 code to build shared libraries, but
4161 # adding the `-m68020' flag to GCC prevents building anything better,
4162 # like `-m68040'.
4163 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4164 ;;
4165 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004166 ;;
4167
Lev Walkin4da95cf2010-10-16 02:46:32 -07004168 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004169 # PIC is the default for these OSes.
4170 ;;
4171
Lev Walkin4da95cf2010-10-16 02:46:32 -07004172 mingw* | cygwin* | pw32* | os2* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004173 # This hack is so that the source file can tell whether it is being
4174 # built for inclusion in a dll (and should export symbols for example).
Lev Walkin4da95cf2010-10-16 02:46:32 -07004175 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4176 # (--disable-auto-import) libraries
4177 m4_if([$1], [GCJ], [],
4178 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Lev Walkin8e8b5482004-06-17 23:42:48 +00004179 ;;
4180
4181 darwin* | rhapsody*)
4182 # PIC is the default on this platform
4183 # Common symbols not allowed in MH_DYLIB files
Lev Walkin4da95cf2010-10-16 02:46:32 -07004184 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004185 ;;
4186
Lev Walkin4da95cf2010-10-16 02:46:32 -07004187 haiku*)
4188 # PIC is the default for Haiku.
4189 # The "-static" flag exists, but is broken.
4190 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4191 ;;
4192
4193 hpux*)
4194 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4195 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4196 # sets the default TLS model and affects inlining.
4197 case $host_cpu in
4198 hppa*64*)
4199 # +Z the default
4200 ;;
4201 *)
4202 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4203 ;;
4204 esac
4205 ;;
4206
4207 interix[[3-9]]*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00004208 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4209 # Instead, we relocate shared libraries at runtime.
4210 ;;
4211
Lev Walkin8e8b5482004-06-17 23:42:48 +00004212 msdosdjgpp*)
4213 # Just because we use GCC doesn't mean we suddenly get shared libraries
4214 # on systems that don't support them.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004215 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004216 enable_shared=no
4217 ;;
4218
Lev Walkin4da95cf2010-10-16 02:46:32 -07004219 *nto* | *qnx*)
4220 # QNX uses GNU C++, but need to define -shared option too, otherwise
4221 # it will coredump.
4222 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4223 ;;
4224
Lev Walkin8e8b5482004-06-17 23:42:48 +00004225 sysv4*MP*)
4226 if test -d /usr/nec; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004227 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
Lev Walkin8e8b5482004-06-17 23:42:48 +00004228 fi
4229 ;;
4230
Lev Walkin8e8b5482004-06-17 23:42:48 +00004231 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004232 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4233 ;;
4234 esac
4235
4236 case $cc_basename in
4237 nvcc*) # Cuda Compiler Driver 2.2
4238 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4239 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004240 ;;
4241 esac
4242 else
4243 # PORTME Check for flag to pass linker flags through the system compiler.
4244 case $host_os in
4245 aix*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004246 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004247 if test "$host_cpu" = ia64; then
4248 # AIX 5 now supports IA64 processor
Lev Walkin4da95cf2010-10-16 02:46:32 -07004249 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004250 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004251 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004252 fi
4253 ;;
4254
Lev Walkin4da95cf2010-10-16 02:46:32 -07004255 mingw* | cygwin* | pw32* | os2* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004256 # This hack is so that the source file can tell whether it is being
4257 # built for inclusion in a dll (and should export symbols for example).
Lev Walkin4da95cf2010-10-16 02:46:32 -07004258 m4_if([$1], [GCJ], [],
4259 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Lev Walkin8e8b5482004-06-17 23:42:48 +00004260 ;;
4261
4262 hpux9* | hpux10* | hpux11*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004263 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004264 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4265 # not for PA HP-UX.
Lev Walkin27fd0b62007-08-27 23:57:45 +00004266 case $host_cpu in
Lev Walkin8e8b5482004-06-17 23:42:48 +00004267 hppa*64*|ia64*)
4268 # +Z the default
4269 ;;
4270 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004271 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004272 ;;
4273 esac
4274 # Is there a better lt_prog_compiler_static that works with the bundled CC?
Lev Walkin4da95cf2010-10-16 02:46:32 -07004275 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004276 ;;
4277
4278 irix5* | irix6* | nonstopux*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004279 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004280 # PIC (with -KPIC) is the default.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004281 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004282 ;;
4283
Lev Walkin4da95cf2010-10-16 02:46:32 -07004284 linux* | k*bsd*-gnu | kopensolaris*-gnu)
Lev Walkin27fd0b62007-08-27 23:57:45 +00004285 case $cc_basename in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004286 # old Intel for x86_64 which still supported -KPIC.
4287 ecc*)
4288 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4289 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4290 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004291 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004292 # icc used to be incompatible with GCC.
4293 # ICC 10 doesn't accept -KPIC any more.
4294 icc* | ifort*)
4295 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4296 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4297 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4298 ;;
4299 # Lahey Fortran 8.1.
4300 lf95*)
4301 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4302 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4303 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4304 ;;
4305 nagfor*)
4306 # NAG Fortran compiler
4307 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4308 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4309 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4310 ;;
4311 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00004312 # Portland Group compilers (*not* the Pentium gcc compiler,
4313 # which looks to be a dead project)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004314 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4315 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4316 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004317 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004318 ccc*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004319 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004320 # All Alpha code is PIC.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004321 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004322 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004323 xl* | bgxl* | bgf* | mpixl*)
4324 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4325 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4326 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4327 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4328 ;;
4329 *)
4330 case `$CC -V 2>&1 | sed 5q` in
4331 *Sun\ F* | *Sun*Fortran*)
4332 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4333 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4334 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4335 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4336 ;;
4337 *Sun\ C*)
4338 # Sun C 5.9
4339 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4340 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4341 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4342 ;;
4343 esac
4344 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004345 esac
4346 ;;
4347
Lev Walkin4da95cf2010-10-16 02:46:32 -07004348 newsos6)
4349 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4350 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4351 ;;
4352
4353 *nto* | *qnx*)
4354 # QNX uses GNU C++, but need to define -shared option too, otherwise
4355 # it will coredump.
4356 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4357 ;;
4358
Lev Walkin8e8b5482004-06-17 23:42:48 +00004359 osf3* | osf4* | osf5*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004360 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004361 # All OSF/1 code is PIC.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004362 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4363 ;;
4364
4365 rdos*)
4366 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004367 ;;
4368
Lev Walkin8e8b5482004-06-17 23:42:48 +00004369 solaris*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004370 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4371 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004372 case $cc_basename in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004373 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4374 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004375 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004376 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004377 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004378 ;;
4379
4380 sunos4*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004381 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4382 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4383 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004384 ;;
4385
Lev Walkin27fd0b62007-08-27 23:57:45 +00004386 sysv4 | sysv4.2uw2* | sysv4.3*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004387 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4388 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4389 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004390 ;;
4391
4392 sysv4*MP*)
4393 if test -d /usr/nec ;then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004394 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4395 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004396 fi
4397 ;;
4398
Lev Walkin27fd0b62007-08-27 23:57:45 +00004399 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004400 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4401 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4402 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004403 ;;
4404
4405 unicos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004406 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4407 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00004408 ;;
4409
Lev Walkin8e8b5482004-06-17 23:42:48 +00004410 uts4*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004411 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4412 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004413 ;;
4414
4415 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004416 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004417 ;;
4418 esac
4419 fi
4420])
Lev Walkin4da95cf2010-10-16 02:46:32 -07004421case $host_os in
4422 # For platforms which do not support PIC, -DPIC is meaningless:
4423 *djgpp*)
4424 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4425 ;;
4426 *)
4427 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4428 ;;
4429esac
4430
4431AC_CACHE_CHECK([for $compiler option to produce PIC],
4432 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4433 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4434_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004435
4436#
4437# Check to make sure the PIC flag actually works.
4438#
Lev Walkin4da95cf2010-10-16 02:46:32 -07004439if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4440 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4441 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4442 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4443 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
Lev Walkin8e8b5482004-06-17 23:42:48 +00004444 "" | " "*) ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004445 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004446 esac],
Lev Walkin4da95cf2010-10-16 02:46:32 -07004447 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4448 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
Lev Walkin8e8b5482004-06-17 23:42:48 +00004449fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004450_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4451 [Additional compiler flags for building library objects])
Lev Walkin27fd0b62007-08-27 23:57:45 +00004452
Lev Walkin4da95cf2010-10-16 02:46:32 -07004453_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4454 [How to pass a linker flag through the compiler])
Lev Walkin27fd0b62007-08-27 23:57:45 +00004455#
4456# Check to make sure the static flag actually works.
4457#
Lev Walkin4da95cf2010-10-16 02:46:32 -07004458wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4459_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4460 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
Lev Walkin27fd0b62007-08-27 23:57:45 +00004461 $lt_tmp_static_flag,
4462 [],
Lev Walkin4da95cf2010-10-16 02:46:32 -07004463 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4464_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4465 [Compiler flag to prevent dynamic linking])
4466])# _LT_COMPILER_PIC
Lev Walkin8e8b5482004-06-17 23:42:48 +00004467
4468
Lev Walkin4da95cf2010-10-16 02:46:32 -07004469# _LT_LINKER_SHLIBS([TAGNAME])
4470# ----------------------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00004471# See if the linker supports building shared libraries.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004472m4_defun([_LT_LINKER_SHLIBS],
4473[AC_REQUIRE([LT_PATH_LD])dnl
4474AC_REQUIRE([LT_PATH_NM])dnl
4475m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4476m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4477m4_require([_LT_DECL_EGREP])dnl
4478m4_require([_LT_DECL_SED])dnl
4479m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4480m4_require([_LT_TAG_COMPILER])dnl
4481AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4482m4_if([$1], [CXX], [
4483 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4484 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
Lev Walkin8e8b5482004-06-17 23:42:48 +00004485 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004486 aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004487 # If we're using GNU nm, then we don't want the "-C" option.
4488 # -C means demangle to AIX nm, but means don't demangle with GNU nm
Lev Walkin4da95cf2010-10-16 02:46:32 -07004489 # Also, AIX nm treats weak defined symbols like other global defined
4490 # symbols, whereas GNU nm marks them as "W".
4491 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4492 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004493 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004494 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004495 fi
4496 ;;
4497 pw32*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004498 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4499 ;;
4500 cygwin* | mingw* | cegcc*)
4501 case $cc_basename in
4502 cl*) ;;
4503 *)
4504 _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'
4505 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4506 ;;
4507 esac
4508 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004509 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004510 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4511 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004512 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07004513], [
Lev Walkin8e8b5482004-06-17 23:42:48 +00004514 runpath_var=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004515 _LT_TAGVAR(allow_undefined_flag, $1)=
4516 _LT_TAGVAR(always_export_symbols, $1)=no
4517 _LT_TAGVAR(archive_cmds, $1)=
4518 _LT_TAGVAR(archive_expsym_cmds, $1)=
4519 _LT_TAGVAR(compiler_needs_object, $1)=no
4520 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4521 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4522 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4523 _LT_TAGVAR(hardcode_automatic, $1)=no
4524 _LT_TAGVAR(hardcode_direct, $1)=no
4525 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4526 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4527 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4528 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4529 _LT_TAGVAR(hardcode_minus_L, $1)=no
4530 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4531 _LT_TAGVAR(inherit_rpath, $1)=no
4532 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4533 _LT_TAGVAR(module_cmds, $1)=
4534 _LT_TAGVAR(module_expsym_cmds, $1)=
4535 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4536 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4537 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4538 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00004539 # include_expsyms should be a list of space-separated symbols to be *always*
4540 # included in the symbol list
Lev Walkin4da95cf2010-10-16 02:46:32 -07004541 _LT_TAGVAR(include_expsyms, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00004542 # exclude_expsyms can be an extended regexp of symbols to exclude
4543 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4544 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4545 # as well as any symbol that contains `d'.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004546 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
Lev Walkin8e8b5482004-06-17 23:42:48 +00004547 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4548 # platforms (ab)use it in PIC code, but their linkers get confused if
4549 # the symbol is explicitly referenced. Since portable code cannot
4550 # rely on this symbol name, it's probably fine to never include it in
4551 # preloaded symbol tables.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004552 # Exclude shared library initialization/finalization symbols.
4553dnl Note also adjust exclude_expsyms for C++ above.
Lev Walkin8e8b5482004-06-17 23:42:48 +00004554 extract_expsyms_cmds=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004555
Lev Walkin8e8b5482004-06-17 23:42:48 +00004556 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004557 cygwin* | mingw* | pw32* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004558 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4559 # When not using gcc, we currently assume that we are using
4560 # Microsoft Visual C++.
4561 if test "$GCC" != yes; then
4562 with_gnu_ld=no
4563 fi
4564 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004565 interix*)
4566 # we just hope/assume this is gcc and not c89 (= MSVC++)
4567 with_gnu_ld=yes
4568 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004569 openbsd*)
4570 with_gnu_ld=no
4571 ;;
4572 esac
4573
Lev Walkin4da95cf2010-10-16 02:46:32 -07004574 _LT_TAGVAR(ld_shlibs, $1)=yes
4575
4576 # On some targets, GNU ld is compatible enough with the native linker
4577 # that we're better off using the native interface for both.
4578 lt_use_gnu_ld_interface=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004579 if test "$with_gnu_ld" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004580 case $host_os in
4581 aix*)
4582 # The AIX port of GNU ld has always aspired to compatibility
4583 # with the native linker. However, as the warning in the GNU ld
4584 # block says, versions before 2.19.5* couldn't really create working
4585 # shared libraries, regardless of the interface used.
4586 case `$LD -v 2>&1` in
4587 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
4588 *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
4589 *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
4590 *)
4591 lt_use_gnu_ld_interface=yes
4592 ;;
4593 esac
4594 ;;
4595 *)
4596 lt_use_gnu_ld_interface=yes
4597 ;;
4598 esac
4599 fi
4600
4601 if test "$lt_use_gnu_ld_interface" = yes; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00004602 # If archive_cmds runs LD, not CC, wlarc should be empty
4603 wlarc='${wl}'
4604
Lev Walkin27fd0b62007-08-27 23:57:45 +00004605 # Set some defaults for GNU ld with shared library support. These
4606 # are reset later if shared libraries are not supported. Putting them
4607 # here allows them to be overridden if necessary.
4608 runpath_var=LD_RUN_PATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07004609 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4610 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004611 # ancient GNU ld didn't support --whole-archive et. al.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004612 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4613 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4614 else
4615 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Lev Walkin27fd0b62007-08-27 23:57:45 +00004616 fi
4617 supports_anon_versioning=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07004618 case `$LD -v 2>&1` in
4619 *GNU\ gold*) supports_anon_versioning=yes ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004620 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4621 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4622 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4623 *\ 2.11.*) ;; # other 2.11 versions
4624 *) supports_anon_versioning=yes ;;
4625 esac
4626
Lev Walkin8e8b5482004-06-17 23:42:48 +00004627 # See if GNU ld supports shared libraries.
4628 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004629 aix[[3-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004630 # On AIX/PPC, the GNU linker is very broken
4631 if test "$host_cpu" != ia64; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004632 _LT_TAGVAR(ld_shlibs, $1)=no
4633 cat <<_LT_EOF 1>&2
Lev Walkin8e8b5482004-06-17 23:42:48 +00004634
Lev Walkin4da95cf2010-10-16 02:46:32 -07004635*** Warning: the GNU linker, at least up to release 2.19, is reported
Lev Walkin8e8b5482004-06-17 23:42:48 +00004636*** to be unable to reliably create shared libraries on AIX.
4637*** Therefore, libtool is disabling shared libraries support. If you
Lev Walkin4da95cf2010-10-16 02:46:32 -07004638*** really care for shared libraries, you may want to install binutils
4639*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
4640*** You will then need to restart the configuration process.
Lev Walkin8e8b5482004-06-17 23:42:48 +00004641
Lev Walkin4da95cf2010-10-16 02:46:32 -07004642_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00004643 fi
4644 ;;
4645
4646 amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004647 case $host_cpu in
4648 powerpc)
4649 # see comment about AmigaOS4 .so support
4650 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4651 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4652 ;;
4653 m68k)
4654 _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)'
4655 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4656 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4657 ;;
4658 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004659 ;;
4660
4661 beos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004662 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4663 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
Lev Walkin8e8b5482004-06-17 23:42:48 +00004664 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4665 # support --undefined. This deserves some investigation. FIXME
Lev Walkin4da95cf2010-10-16 02:46:32 -07004666 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004667 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004668 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004669 fi
4670 ;;
4671
Lev Walkin4da95cf2010-10-16 02:46:32 -07004672 cygwin* | mingw* | pw32* | cegcc*)
4673 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
Lev Walkin8e8b5482004-06-17 23:42:48 +00004674 # as there is no search path for DLLs.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004675 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4676 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
4677 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4678 _LT_TAGVAR(always_export_symbols, $1)=no
4679 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4680 _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'
4681 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
Lev Walkin8e8b5482004-06-17 23:42:48 +00004682
Lev Walkin4da95cf2010-10-16 02:46:32 -07004683 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4684 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004685 # If the export-symbols file already is a .def file (1st line
4686 # is EXPORTS), use it as is; otherwise, prepend...
Lev Walkin4da95cf2010-10-16 02:46:32 -07004687 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00004688 cp $export_symbols $output_objdir/$soname.def;
4689 else
4690 echo EXPORTS > $output_objdir/$soname.def;
4691 cat $export_symbols >> $output_objdir/$soname.def;
4692 fi~
Lev Walkin27fd0b62007-08-27 23:57:45 +00004693 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004694 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004695 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00004696 fi
4697 ;;
4698
Lev Walkin4da95cf2010-10-16 02:46:32 -07004699 haiku*)
4700 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4701 _LT_TAGVAR(link_all_deplibs, $1)=yes
4702 ;;
4703
4704 interix[[3-9]]*)
4705 _LT_TAGVAR(hardcode_direct, $1)=no
4706 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4707 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4708 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004709 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4710 # Instead, shared libraries are loaded at an image base (0x10000000 by
4711 # default) and relocated if they conflict, which is a slow very memory
4712 # consuming and fragmenting process. To avoid this, we pick a random,
4713 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4714 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004715 _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'
4716 _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'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004717 ;;
4718
Lev Walkin4da95cf2010-10-16 02:46:32 -07004719 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
4720 tmp_diet=no
4721 if test "$host_os" = linux-dietlibc; then
4722 case $cc_basename in
4723 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4724 esac
4725 fi
4726 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4727 && test "$tmp_diet" = no
4728 then
4729 tmp_addflag=' $pic_flag'
4730 tmp_sharedflag='-shared'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004731 case $cc_basename,$host_cpu in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004732 pgcc*) # Portland Group C compiler
4733 _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'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004734 tmp_addflag=' $pic_flag'
4735 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004736 pgf77* | pgf90* | pgf95* | pgfortran*)
4737 # Portland Group f77 and f90 compilers
4738 _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'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004739 tmp_addflag=' $pic_flag -Mnomain' ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004740 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
Lev Walkin27fd0b62007-08-27 23:57:45 +00004741 tmp_addflag=' -i_dynamic' ;;
4742 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4743 tmp_addflag=' -i_dynamic -nofor_main' ;;
4744 ifc* | ifort*) # Intel Fortran compiler
4745 tmp_addflag=' -nofor_main' ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004746 lf95*) # Lahey Fortran 8.1
4747 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4748 tmp_sharedflag='--shared' ;;
4749 xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4750 tmp_sharedflag='-qmkshrobj'
4751 tmp_addflag= ;;
4752 nvcc*) # Cuda Compiler Driver 2.2
4753 _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'
4754 _LT_TAGVAR(compiler_needs_object, $1)=yes
4755 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004756 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07004757 case `$CC -V 2>&1 | sed 5q` in
4758 *Sun\ C*) # Sun C 5.9
4759 _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'
4760 _LT_TAGVAR(compiler_needs_object, $1)=yes
4761 tmp_sharedflag='-G' ;;
4762 *Sun\ F*) # Sun Fortran 8.3
4763 tmp_sharedflag='-G' ;;
4764 esac
4765 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004766
Lev Walkin4da95cf2010-10-16 02:46:32 -07004767 if test "x$supports_anon_versioning" = xyes; then
4768 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4769 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4770 echo "local: *; };" >> $output_objdir/$libname.ver~
4771 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4772 fi
4773
4774 case $cc_basename in
4775 xlf* | bgf* | bgxlf* | mpixlf*)
4776 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4777 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4778 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4779 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4780 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
4781 if test "x$supports_anon_versioning" = xyes; then
4782 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4783 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4784 echo "local: *; };" >> $output_objdir/$libname.ver~
4785 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4786 fi
4787 ;;
4788 esac
Lev Walkin27fd0b62007-08-27 23:57:45 +00004789 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004790 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004791 fi
4792 ;;
4793
4794 netbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004795 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4796 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004797 wlarc=
4798 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004799 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4800 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004801 fi
4802 ;;
4803
Lev Walkin27fd0b62007-08-27 23:57:45 +00004804 solaris*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004805 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4806 _LT_TAGVAR(ld_shlibs, $1)=no
4807 cat <<_LT_EOF 1>&2
Lev Walkin8e8b5482004-06-17 23:42:48 +00004808
4809*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4810*** create shared libraries on Solaris systems. Therefore, libtool
4811*** is disabling shared libraries support. We urge you to upgrade GNU
4812*** binutils to release 2.9.1 or newer. Another option is to modify
4813*** your PATH or compiler configuration so that the native linker is
4814*** used, and then restart.
4815
Lev Walkin4da95cf2010-10-16 02:46:32 -07004816_LT_EOF
4817 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4818 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4819 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004820 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004821 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004822 fi
4823 ;;
4824
Lev Walkin27fd0b62007-08-27 23:57:45 +00004825 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4826 case `$LD -v 2>&1` in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004827 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4828 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00004829 cat <<_LT_EOF 1>&2
4830
4831*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4832*** reliably create shared libraries on SCO systems. Therefore, libtool
4833*** is disabling shared libraries support. We urge you to upgrade GNU
4834*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4835*** your PATH or compiler configuration so that the native linker is
4836*** used, and then restart.
4837
4838_LT_EOF
4839 ;;
4840 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004841 # For security reasons, it is highly recommended that you always
4842 # use absolute paths for naming shared libraries, and exclude the
4843 # DT_RUNPATH tag from executables and libraries. But doing so
4844 # requires that you compile everything twice, which is a pain.
4845 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4846 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4847 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4848 _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'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004849 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004850 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00004851 fi
4852 ;;
4853 esac
4854 ;;
4855
Lev Walkin8e8b5482004-06-17 23:42:48 +00004856 sunos4*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004857 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004858 wlarc=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004859 _LT_TAGVAR(hardcode_direct, $1)=yes
4860 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004861 ;;
4862
Lev Walkin8e8b5482004-06-17 23:42:48 +00004863 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004864 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4865 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4866 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004867 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004868 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004869 fi
4870 ;;
4871 esac
4872
Lev Walkin4da95cf2010-10-16 02:46:32 -07004873 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00004874 runpath_var=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004875 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4876 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4877 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00004878 fi
4879 else
4880 # PORTME fill in a description of your system's linker (not GNU ld)
4881 case $host_os in
4882 aix3*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004883 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4884 _LT_TAGVAR(always_export_symbols, $1)=yes
4885 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004886 # Note: this linker hardcodes the directories in LIBPATH if there
4887 # are no directories specified by -L.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004888 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Lev Walkin27fd0b62007-08-27 23:57:45 +00004889 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00004890 # Neither direct hardcoding nor static linking is supported with a
4891 # broken collect2.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004892 _LT_TAGVAR(hardcode_direct, $1)=unsupported
Lev Walkin8e8b5482004-06-17 23:42:48 +00004893 fi
4894 ;;
4895
Lev Walkin4da95cf2010-10-16 02:46:32 -07004896 aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004897 if test "$host_cpu" = ia64; then
4898 # On IA64, the linker does run time linking by default, so we don't
4899 # have to do anything special.
4900 aix_use_runtimelinking=no
4901 exp_sym_flag='-Bexport'
4902 no_entry_flag=""
4903 else
4904 # If we're using GNU nm, then we don't want the "-C" option.
4905 # -C means demangle to AIX nm, but means don't demangle with GNU nm
Lev Walkin4da95cf2010-10-16 02:46:32 -07004906 # Also, AIX nm treats weak defined symbols like other global
4907 # defined symbols, whereas GNU nm marks them as "W".
4908 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4909 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004910 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004911 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004912 fi
4913 aix_use_runtimelinking=no
4914
4915 # Test if we are trying to use run time linking or normal
4916 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
4917 # need to do runtime linking.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004918 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004919 for ld_flag in $LDFLAGS; do
Lev Walkin4da95cf2010-10-16 02:46:32 -07004920 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4921 aix_use_runtimelinking=yes
4922 break
4923 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00004924 done
Lev Walkin27fd0b62007-08-27 23:57:45 +00004925 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004926 esac
4927
4928 exp_sym_flag='-bexport'
4929 no_entry_flag='-bnoentry'
4930 fi
4931
4932 # When large executables or shared objects are built, AIX ld can
4933 # have problems creating the table of contents. If linking a library
4934 # or program results in "error TOC overflow" add -mminimal-toc to
4935 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4936 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4937
Lev Walkin4da95cf2010-10-16 02:46:32 -07004938 _LT_TAGVAR(archive_cmds, $1)=''
4939 _LT_TAGVAR(hardcode_direct, $1)=yes
4940 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4941 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4942 _LT_TAGVAR(link_all_deplibs, $1)=yes
4943 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004944
4945 if test "$GCC" = yes; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00004946 case $host_os in aix4.[[012]]|aix4.[[012]].*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004947 # We only want to do this on AIX 4.2 and lower, the check
4948 # below for broken collect2 doesn't work under 4.3+
4949 collect2name=`${CC} -print-prog-name=collect2`
Lev Walkin4da95cf2010-10-16 02:46:32 -07004950 if test -f "$collect2name" &&
4951 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
Lev Walkin8e8b5482004-06-17 23:42:48 +00004952 then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004953 # We have reworked collect2
4954 :
Lev Walkin8e8b5482004-06-17 23:42:48 +00004955 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004956 # We have old collect2
4957 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4958 # It fails to find uninstalled libraries when the uninstalled
4959 # path is not listed in the libpath. Setting hardcode_minus_L
4960 # to unsupported forces relinking
4961 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4962 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4963 _LT_TAGVAR(hardcode_libdir_separator, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00004964 fi
Lev Walkin27fd0b62007-08-27 23:57:45 +00004965 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004966 esac
4967 shared_flag='-shared'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004968 if test "$aix_use_runtimelinking" = yes; then
4969 shared_flag="$shared_flag "'${wl}-G'
4970 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00004971 else
4972 # not using gcc
4973 if test "$host_cpu" = ia64; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004974 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4975 # chokes on -Wl,-G. The following line is correct:
Lev Walkin8e8b5482004-06-17 23:42:48 +00004976 shared_flag='-G'
4977 else
Lev Walkin27fd0b62007-08-27 23:57:45 +00004978 if test "$aix_use_runtimelinking" = yes; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00004979 shared_flag='${wl}-G'
4980 else
4981 shared_flag='${wl}-bM:SRE'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004982 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00004983 fi
4984 fi
4985
Lev Walkin4da95cf2010-10-16 02:46:32 -07004986 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004987 # It seems that -bexpall does not export symbols beginning with
4988 # underscore (_), so it is better to generate a list of symbols to export.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004989 _LT_TAGVAR(always_export_symbols, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00004990 if test "$aix_use_runtimelinking" = yes; then
4991 # Warning - without using the other runtime loading flags (-brtl),
4992 # -berok will link without error, but may produce a broken library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004993 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4994 # Determine the default libpath from the value encoded in an
4995 # empty executable.
4996 _LT_SYS_MODULE_PATH_AIX([$1])
4997 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4998 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
4999 else
Lev Walkin8e8b5482004-06-17 23:42:48 +00005000 if test "$host_cpu" = ia64; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005001 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5002 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5003 _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"
Lev Walkin8e8b5482004-06-17 23:42:48 +00005004 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005005 # Determine the default libpath from the value encoded in an
5006 # empty executable.
5007 _LT_SYS_MODULE_PATH_AIX([$1])
5008 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
Lev Walkin8e8b5482004-06-17 23:42:48 +00005009 # Warning - without using the other run time loading flags,
5010 # -berok will link without error, but may produce a broken library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005011 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5012 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5013 if test "$with_gnu_ld" = yes; then
5014 # We only use this code for GNU lds that support --whole-archive.
5015 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5016 else
5017 # Exported symbols can be pulled into shared objects from archives
5018 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5019 fi
5020 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
Lev Walkin27fd0b62007-08-27 23:57:45 +00005021 # This is similar to how AIX traditionally builds its shared libraries.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005022 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005023 fi
5024 fi
5025 ;;
5026
5027 amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005028 case $host_cpu in
5029 powerpc)
5030 # see comment about AmigaOS4 .so support
5031 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5032 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5033 ;;
5034 m68k)
5035 _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)'
5036 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5037 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5038 ;;
5039 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00005040 ;;
5041
Lev Walkin27fd0b62007-08-27 23:57:45 +00005042 bsdi[[45]]*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005043 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
Lev Walkin8e8b5482004-06-17 23:42:48 +00005044 ;;
5045
Lev Walkin4da95cf2010-10-16 02:46:32 -07005046 cygwin* | mingw* | pw32* | cegcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00005047 # When not using gcc, we currently assume that we are using
5048 # Microsoft Visual C++.
5049 # hardcode_libdir_flag_spec is actually meaningless, as there is
5050 # no search path for DLLs.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005051 case $cc_basename in
5052 cl*)
5053 # Native MSVC
5054 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5055 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5056 _LT_TAGVAR(always_export_symbols, $1)=yes
5057 _LT_TAGVAR(file_list_spec, $1)='@'
5058 # Tell ltmain to make .lib files, not .a files.
5059 libext=lib
5060 # Tell ltmain to make .dll files, not .so files.
5061 shrext_cmds=".dll"
5062 # FIXME: Setting linknames here is a bad hack.
5063 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
5064 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5065 sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
5066 else
5067 sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
5068 fi~
5069 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5070 linknames='
5071 # The linker will not automatically build a static lib if we build a DLL.
5072 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5073 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5074 _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'
5075 # Don't use ranlib
5076 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5077 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5078 lt_tool_outputfile="@TOOL_OUTPUT@"~
5079 case $lt_outputfile in
5080 *.exe|*.EXE) ;;
5081 *)
5082 lt_outputfile="$lt_outputfile.exe"
5083 lt_tool_outputfile="$lt_tool_outputfile.exe"
5084 ;;
5085 esac~
5086 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
5087 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5088 $RM "$lt_outputfile.manifest";
5089 fi'
5090 ;;
5091 *)
5092 # Assume MSVC wrapper
5093 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5094 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5095 # Tell ltmain to make .lib files, not .a files.
5096 libext=lib
5097 # Tell ltmain to make .dll files, not .so files.
5098 shrext_cmds=".dll"
5099 # FIXME: Setting linknames here is a bad hack.
5100 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5101 # The linker will automatically build a .lib file if we build a DLL.
5102 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5103 # FIXME: Should let the user specify the lib program.
5104 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5105 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5106 ;;
5107 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00005108 ;;
5109
5110 darwin* | rhapsody*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005111 _LT_DARWIN_LINKER_FEATURES($1)
Lev Walkin8e8b5482004-06-17 23:42:48 +00005112 ;;
5113
5114 dgux*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005115 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5116 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5117 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005118 ;;
5119
5120 freebsd1*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005121 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005122 ;;
5123
5124 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5125 # support. Future versions do this automatically, but an explicit c++rt0.o
5126 # does not break anything, and helps significantly (at the cost of a little
5127 # extra space).
5128 freebsd2.2*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005129 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5130 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5131 _LT_TAGVAR(hardcode_direct, $1)=yes
5132 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005133 ;;
5134
5135 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5136 freebsd2*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005137 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5138 _LT_TAGVAR(hardcode_direct, $1)=yes
5139 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5140 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005141 ;;
5142
5143 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005144 freebsd* | dragonfly*)
5145 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5146 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5147 _LT_TAGVAR(hardcode_direct, $1)=yes
5148 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005149 ;;
5150
5151 hpux9*)
5152 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005153 _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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005154 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005155 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005156 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07005157 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5158 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5159 _LT_TAGVAR(hardcode_direct, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00005160
5161 # hardcode_minus_L: Not really in the search PATH,
5162 # but as the default location of the library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005163 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5164 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005165 ;;
5166
Lev Walkin27fd0b62007-08-27 23:57:45 +00005167 hpux10*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005168 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5169 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005170 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005171 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005172 fi
5173 if test "$with_gnu_ld" = no; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005174 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5175 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
5176 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5177 _LT_TAGVAR(hardcode_direct, $1)=yes
5178 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5179 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005180 # hardcode_minus_L: Not really in the search PATH,
5181 # but as the default location of the library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005182 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Lev Walkin27fd0b62007-08-27 23:57:45 +00005183 fi
5184 ;;
5185
5186 hpux11*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005187 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00005188 case $host_cpu in
5189 hppa*64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005190 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005191 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00005192 ia64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005193 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005194 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00005195 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005196 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005197 ;;
5198 esac
5199 else
Lev Walkin27fd0b62007-08-27 23:57:45 +00005200 case $host_cpu in
5201 hppa*64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005202 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005203 ;;
5204 ia64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005205 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005206 ;;
5207 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005208 m4_if($1, [], [
5209 # Older versions of the 11.00 compiler do not understand -b yet
5210 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5211 _LT_LINKER_OPTION([if $CC understands -b],
5212 _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5213 [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5214 [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5215 [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
Lev Walkin8e8b5482004-06-17 23:42:48 +00005216 ;;
5217 esac
5218 fi
5219 if test "$with_gnu_ld" = no; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005220 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5221 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Lev Walkin8e8b5482004-06-17 23:42:48 +00005222
Lev Walkin27fd0b62007-08-27 23:57:45 +00005223 case $host_cpu in
5224 hppa*64*|ia64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005225 _LT_TAGVAR(hardcode_direct, $1)=no
5226 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005227 ;;
5228 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005229 _LT_TAGVAR(hardcode_direct, $1)=yes
5230 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5231 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005232
5233 # hardcode_minus_L: Not really in the search PATH,
5234 # but as the default location of the library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005235 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00005236 ;;
5237 esac
5238 fi
5239 ;;
5240
5241 irix5* | irix6* | nonstopux*)
5242 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005243 _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'
5244 # Try to use the -exported_symbol ld option, if it does not
5245 # work, assume that -exports_file does not work either and
5246 # implicitly export all symbols.
5247 # This should be the same for all languages, so no per-tag cache variable.
5248 AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5249 [lt_cv_irix_exported_symbol],
5250 [save_LDFLAGS="$LDFLAGS"
5251 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
5252 AC_LINK_IFELSE(
5253 [AC_LANG_SOURCE(
5254 [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5255 [C++], [[int foo (void) { return 0; }]],
5256 [Fortran 77], [[
5257 subroutine foo
5258 end]],
5259 [Fortran], [[
5260 subroutine foo
5261 end]])])],
5262 [lt_cv_irix_exported_symbol=yes],
5263 [lt_cv_irix_exported_symbol=no])
5264 LDFLAGS="$save_LDFLAGS"])
5265 if test "$lt_cv_irix_exported_symbol" = yes; then
5266 _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'
5267 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00005268 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005269 _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'
5270 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005271 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07005272 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5273 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5274 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5275 _LT_TAGVAR(inherit_rpath, $1)=yes
5276 _LT_TAGVAR(link_all_deplibs, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00005277 ;;
5278
5279 netbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005280 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5281 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
Lev Walkin8e8b5482004-06-17 23:42:48 +00005282 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005283 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
Lev Walkin8e8b5482004-06-17 23:42:48 +00005284 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07005285 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5286 _LT_TAGVAR(hardcode_direct, $1)=yes
5287 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005288 ;;
5289
5290 newsos6)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005291 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5292 _LT_TAGVAR(hardcode_direct, $1)=yes
5293 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5294 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5295 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5296 ;;
5297
5298 *nto* | *qnx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00005299 ;;
5300
5301 openbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005302 if test -f /usr/libexec/ld.so; then
5303 _LT_TAGVAR(hardcode_direct, $1)=yes
5304 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5305 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5306 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5307 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5308 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
5309 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5310 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5311 else
5312 case $host_os in
5313 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
5314 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5315 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5316 ;;
5317 *)
5318 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5319 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5320 ;;
5321 esac
5322 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00005323 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005324 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005325 fi
5326 ;;
5327
5328 os2*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005329 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5330 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5331 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5332 _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'
5333 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005334 ;;
5335
5336 osf3*)
5337 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005338 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5339 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005340 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005341 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5342 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005343 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07005344 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5345 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5346 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Lev Walkin8e8b5482004-06-17 23:42:48 +00005347 ;;
5348
5349 osf4* | osf5*) # as osf3* with the addition of -msym flag
5350 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005351 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5352 _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'
5353 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005354 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005355 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5356 _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'
5357 _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~
5358 $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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005359
5360 # Both c and cxx compiler support -rpath directly
Lev Walkin4da95cf2010-10-16 02:46:32 -07005361 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005362 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07005363 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5364 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Lev Walkin8e8b5482004-06-17 23:42:48 +00005365 ;;
5366
Lev Walkin8e8b5482004-06-17 23:42:48 +00005367 solaris*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005368 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005369 if test "$GCC" = yes; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00005370 wlarc='${wl}'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005371 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5372 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5373 $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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005374 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005375 case `$CC -V 2>&1` in
5376 *"Compilers 5.0"*)
5377 wlarc=''
5378 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5379 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5380 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5381 ;;
5382 *)
5383 wlarc='${wl}'
5384 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5385 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5386 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5387 ;;
5388 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00005389 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07005390 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5391 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005392 case $host_os in
5393 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00005394 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005395 # The compiler driver will combine and reorder linker options,
5396 # but understands `-z linker_flag'. GCC discards it without `$wl',
5397 # but is careful enough not to reorder.
5398 # Supported since Solaris 2.6 (maybe 2.5.1?)
5399 if test "$GCC" = yes; then
5400 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5401 else
5402 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5403 fi
5404 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00005405 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07005406 _LT_TAGVAR(link_all_deplibs, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00005407 ;;
5408
5409 sunos4*)
5410 if test "x$host_vendor" = xsequent; then
5411 # Use $CC to link under sequent, because it throws in some extra .o
5412 # files that make .init and .fini sections work.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005413 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005414 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005415 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005416 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07005417 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5418 _LT_TAGVAR(hardcode_direct, $1)=yes
5419 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5420 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005421 ;;
5422
5423 sysv4)
5424 case $host_vendor in
5425 sni)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005426 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5427 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
Lev Walkin8e8b5482004-06-17 23:42:48 +00005428 ;;
5429 siemens)
5430 ## LD is ld it makes a PLAMLIB
5431 ## CC just makes a GrossModule.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005432 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5433 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5434 _LT_TAGVAR(hardcode_direct, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005435 ;;
5436 motorola)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005437 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5438 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
Lev Walkin8e8b5482004-06-17 23:42:48 +00005439 ;;
5440 esac
5441 runpath_var='LD_RUN_PATH'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005442 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005443 ;;
5444
5445 sysv4.3*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005446 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5447 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5448 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005449 ;;
5450
5451 sysv4*MP*)
5452 if test -d /usr/nec; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005453 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5454 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005455 runpath_var=LD_RUN_PATH
5456 hardcode_runpath_var=yes
Lev Walkin4da95cf2010-10-16 02:46:32 -07005457 _LT_TAGVAR(ld_shlibs, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00005458 fi
5459 ;;
5460
Lev Walkin4da95cf2010-10-16 02:46:32 -07005461 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5462 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5463 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5464 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00005465 runpath_var='LD_RUN_PATH'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005466
Lev Walkin8e8b5482004-06-17 23:42:48 +00005467 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005468 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5469 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005470 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005471 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5472 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005473 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00005474 ;;
5475
Lev Walkin27fd0b62007-08-27 23:57:45 +00005476 sysv5* | sco3.2v5* | sco5v6*)
5477 # Note: We can NOT use -z defs as we might desire, because we do not
5478 # link with -lc, and that would cause any symbols used from libc to
5479 # always be unresolved, which means just about no library would
5480 # ever link correctly. If we're not using GNU ld we use -z text
5481 # though, which does catch some bad symbols but isn't as heavy-handed
5482 # as -z defs.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005483 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5484 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5485 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5486 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5487 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5488 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5489 _LT_TAGVAR(link_all_deplibs, $1)=yes
5490 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005491 runpath_var='LD_RUN_PATH'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005492
5493 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005494 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5495 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005496 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005497 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5498 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005499 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00005500 ;;
5501
5502 uts4*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005503 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5504 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5505 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005506 ;;
5507
5508 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005509 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005510 ;;
5511 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07005512
5513 if test x$host_vendor = xsni; then
5514 case $host in
5515 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5516 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5517 ;;
5518 esac
5519 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00005520 fi
5521])
Lev Walkin4da95cf2010-10-16 02:46:32 -07005522AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5523test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5524
5525_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5526
5527_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5528_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5529_LT_DECL([], [extract_expsyms_cmds], [2],
5530 [The commands to extract the exported symbol list from a shared archive])
Lev Walkin8e8b5482004-06-17 23:42:48 +00005531
Lev Walkin8e8b5482004-06-17 23:42:48 +00005532#
5533# Do we need to explicitly link libc?
5534#
Lev Walkin4da95cf2010-10-16 02:46:32 -07005535case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
Lev Walkin8e8b5482004-06-17 23:42:48 +00005536x|xyes)
5537 # Assume -lc should be added
Lev Walkin4da95cf2010-10-16 02:46:32 -07005538 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00005539
5540 if test "$enable_shared" = yes && test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005541 case $_LT_TAGVAR(archive_cmds, $1) in
Lev Walkin8e8b5482004-06-17 23:42:48 +00005542 *'~'*)
5543 # FIXME: we may have to deal with multi-command sequences.
5544 ;;
5545 '$CC '*)
5546 # Test whether the compiler implicitly links with -lc since on some
5547 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5548 # to ld, don't add -lc before -lgcc.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005549 AC_CACHE_CHECK([whether -lc should be explicitly linked in],
5550 [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
5551 [$RM conftest*
5552 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00005553
Lev Walkin4da95cf2010-10-16 02:46:32 -07005554 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5555 soname=conftest
5556 lib=conftest
5557 libobjs=conftest.$ac_objext
5558 deplibs=
5559 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5560 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5561 compiler_flags=-v
5562 linker_flags=-v
5563 verstring=
5564 output_objdir=.
5565 libname=conftest
5566 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5567 _LT_TAGVAR(allow_undefined_flag, $1)=
5568 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5569 then
5570 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5571 else
5572 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5573 fi
5574 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5575 else
5576 cat conftest.err 1>&5
5577 fi
5578 $RM conftest*
5579 ])
5580 _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
Lev Walkin8e8b5482004-06-17 23:42:48 +00005581 ;;
5582 esac
5583 fi
5584 ;;
5585esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07005586
5587_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5588 [Whether or not to add -lc for building shared libraries])
5589_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5590 [enable_shared_with_static_runtimes], [0],
5591 [Whether or not to disallow shared libs when runtime libs are static])
5592_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5593 [Compiler flag to allow reflexive dlopens])
5594_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5595 [Compiler flag to generate shared objects directly from archives])
5596_LT_TAGDECL([], [compiler_needs_object], [1],
5597 [Whether the compiler copes with passing no objects directly])
5598_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5599 [Create an old-style archive from a shared archive])
5600_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5601 [Create a temporary old-style archive to link instead of a shared archive])
5602_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5603_LT_TAGDECL([], [archive_expsym_cmds], [2])
5604_LT_TAGDECL([], [module_cmds], [2],
5605 [Commands used to build a loadable module if different from building
5606 a shared archive.])
5607_LT_TAGDECL([], [module_expsym_cmds], [2])
5608_LT_TAGDECL([], [with_gnu_ld], [1],
5609 [Whether we are building with GNU ld or not])
5610_LT_TAGDECL([], [allow_undefined_flag], [1],
5611 [Flag that allows shared libraries with undefined symbols to be built])
5612_LT_TAGDECL([], [no_undefined_flag], [1],
5613 [Flag that enforces no undefined symbols])
5614_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5615 [Flag to hardcode $libdir into a binary during linking.
5616 This must work even if $libdir does not exist])
5617_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5618 [[If ld is used when linking, flag to hardcode $libdir into a binary
5619 during linking. This must work even if $libdir does not exist]])
5620_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5621 [Whether we need a single "-rpath" flag with a separated argument])
5622_LT_TAGDECL([], [hardcode_direct], [0],
5623 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5624 DIR into the resulting binary])
5625_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5626 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5627 DIR into the resulting binary and the resulting library dependency is
5628 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5629 library is relocated])
5630_LT_TAGDECL([], [hardcode_minus_L], [0],
5631 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5632 into the resulting binary])
5633_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5634 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5635 into the resulting binary])
5636_LT_TAGDECL([], [hardcode_automatic], [0],
5637 [Set to "yes" if building a shared library automatically hardcodes DIR
5638 into the library and all subsequent libraries and executables linked
5639 against it])
5640_LT_TAGDECL([], [inherit_rpath], [0],
5641 [Set to yes if linker adds runtime paths of dependent libraries
5642 to runtime path list])
5643_LT_TAGDECL([], [link_all_deplibs], [0],
5644 [Whether libtool must link a program against all its dependency libraries])
5645_LT_TAGDECL([], [always_export_symbols], [0],
5646 [Set to "yes" if exported symbols are required])
5647_LT_TAGDECL([], [export_symbols_cmds], [2],
5648 [The commands to list exported symbols])
5649_LT_TAGDECL([], [exclude_expsyms], [1],
5650 [Symbols that should not be listed in the preloaded symbols])
5651_LT_TAGDECL([], [include_expsyms], [1],
5652 [Symbols that must always be exported])
5653_LT_TAGDECL([], [prelink_cmds], [2],
5654 [Commands necessary for linking programs (against libraries) with templates])
5655_LT_TAGDECL([], [postlink_cmds], [2],
5656 [Commands necessary for finishing linking programs])
5657_LT_TAGDECL([], [file_list_spec], [1],
5658 [Specify filename containing input files])
5659dnl FIXME: Not yet implemented
5660dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5661dnl [Compiler flag to generate thread safe objects])
5662])# _LT_LINKER_SHLIBS
Lev Walkin8e8b5482004-06-17 23:42:48 +00005663
5664
Lev Walkin4da95cf2010-10-16 02:46:32 -07005665# _LT_LANG_C_CONFIG([TAG])
5666# ------------------------
5667# Ensure that the configuration variables for a C compiler are suitably
5668# defined. These variables are subsequently used by _LT_CONFIG to write
5669# the compiler configuration to `libtool'.
5670m4_defun([_LT_LANG_C_CONFIG],
5671[m4_require([_LT_DECL_EGREP])dnl
5672lt_save_CC="$CC"
5673AC_LANG_PUSH(C)
5674
5675# Source file extension for C test sources.
5676ac_ext=c
5677
5678# Object file extension for compiled C test sources.
5679objext=o
5680_LT_TAGVAR(objext, $1)=$objext
5681
5682# Code to be used in simple compile tests
5683lt_simple_compile_test_code="int some_variable = 0;"
5684
5685# Code to be used in simple link tests
5686lt_simple_link_test_code='int main(){return(0);}'
5687
5688_LT_TAG_COMPILER
5689# Save the default compiler, since it gets overwritten when the other
5690# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5691compiler_DEFAULT=$CC
5692
5693# save warnings/boilerplate of simple test code
5694_LT_COMPILER_BOILERPLATE
5695_LT_LINKER_BOILERPLATE
5696
5697if test -n "$compiler"; then
5698 _LT_COMPILER_NO_RTTI($1)
5699 _LT_COMPILER_PIC($1)
5700 _LT_COMPILER_C_O($1)
5701 _LT_COMPILER_FILE_LOCKS($1)
5702 _LT_LINKER_SHLIBS($1)
5703 _LT_SYS_DYNAMIC_LINKER($1)
5704 _LT_LINKER_HARDCODE_LIBPATH($1)
5705 LT_SYS_DLOPEN_SELF
5706 _LT_CMD_STRIPLIB
5707
5708 # Report which library types will actually be built
5709 AC_MSG_CHECKING([if libtool supports shared libraries])
5710 AC_MSG_RESULT([$can_build_shared])
5711
5712 AC_MSG_CHECKING([whether to build shared libraries])
5713 test "$can_build_shared" = "no" && enable_shared=no
5714
5715 # On AIX, shared libraries and static libraries use the same namespace, and
5716 # are all built from PIC.
5717 case $host_os in
5718 aix3*)
5719 test "$enable_shared" = yes && enable_static=no
5720 if test -n "$RANLIB"; then
5721 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5722 postinstall_cmds='$RANLIB $lib'
5723 fi
5724 ;;
5725
5726 aix[[4-9]]*)
5727 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5728 test "$enable_shared" = yes && enable_static=no
5729 fi
5730 ;;
5731 esac
5732 AC_MSG_RESULT([$enable_shared])
5733
5734 AC_MSG_CHECKING([whether to build static libraries])
5735 # Make sure either enable_shared or enable_static is yes.
5736 test "$enable_shared" = yes || enable_static=yes
5737 AC_MSG_RESULT([$enable_static])
5738
5739 _LT_CONFIG($1)
5740fi
5741AC_LANG_POP
5742CC="$lt_save_CC"
5743])# _LT_LANG_C_CONFIG
Lev Walkin8e8b5482004-06-17 23:42:48 +00005744
5745
Lev Walkin4da95cf2010-10-16 02:46:32 -07005746# _LT_LANG_CXX_CONFIG([TAG])
5747# --------------------------
5748# Ensure that the configuration variables for a C++ compiler are suitably
5749# defined. These variables are subsequently used by _LT_CONFIG to write
5750# the compiler configuration to `libtool'.
5751m4_defun([_LT_LANG_CXX_CONFIG],
5752[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5753m4_require([_LT_DECL_EGREP])dnl
5754m4_require([_LT_PATH_MANIFEST_TOOL])dnl
5755if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5756 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5757 (test "X$CXX" != "Xg++"))) ; then
5758 AC_PROG_CXXCPP
5759else
5760 _lt_caught_CXX_error=yes
5761fi
5762
5763AC_LANG_PUSH(C++)
5764_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5765_LT_TAGVAR(allow_undefined_flag, $1)=
5766_LT_TAGVAR(always_export_symbols, $1)=no
5767_LT_TAGVAR(archive_expsym_cmds, $1)=
5768_LT_TAGVAR(compiler_needs_object, $1)=no
5769_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5770_LT_TAGVAR(hardcode_direct, $1)=no
5771_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5772_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5773_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5774_LT_TAGVAR(hardcode_libdir_separator, $1)=
5775_LT_TAGVAR(hardcode_minus_L, $1)=no
5776_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5777_LT_TAGVAR(hardcode_automatic, $1)=no
5778_LT_TAGVAR(inherit_rpath, $1)=no
5779_LT_TAGVAR(module_cmds, $1)=
5780_LT_TAGVAR(module_expsym_cmds, $1)=
5781_LT_TAGVAR(link_all_deplibs, $1)=unknown
5782_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5783_LT_TAGVAR(reload_flag, $1)=$reload_flag
5784_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
5785_LT_TAGVAR(no_undefined_flag, $1)=
5786_LT_TAGVAR(whole_archive_flag_spec, $1)=
5787_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5788
5789# Source file extension for C++ test sources.
5790ac_ext=cpp
5791
5792# Object file extension for compiled C++ test sources.
5793objext=o
5794_LT_TAGVAR(objext, $1)=$objext
5795
5796# No sense in running all these tests if we already determined that
5797# the CXX compiler isn't working. Some variables (like enable_shared)
5798# are currently assumed to apply to all compilers on this platform,
5799# and will be corrupted by setting them based on a non-working compiler.
5800if test "$_lt_caught_CXX_error" != yes; then
5801 # Code to be used in simple compile tests
5802 lt_simple_compile_test_code="int some_variable = 0;"
5803
5804 # Code to be used in simple link tests
5805 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5806
5807 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5808 _LT_TAG_COMPILER
5809
5810 # save warnings/boilerplate of simple test code
5811 _LT_COMPILER_BOILERPLATE
5812 _LT_LINKER_BOILERPLATE
5813
5814 # Allow CC to be a program name with arguments.
5815 lt_save_CC=$CC
5816 lt_save_CFLAGS=$CFLAGS
5817 lt_save_LD=$LD
5818 lt_save_GCC=$GCC
5819 GCC=$GXX
5820 lt_save_with_gnu_ld=$with_gnu_ld
5821 lt_save_path_LD=$lt_cv_path_LD
5822 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5823 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5824 else
5825 $as_unset lt_cv_prog_gnu_ld
5826 fi
5827 if test -n "${lt_cv_path_LDCXX+set}"; then
5828 lt_cv_path_LD=$lt_cv_path_LDCXX
5829 else
5830 $as_unset lt_cv_path_LD
5831 fi
5832 test -z "${LDCXX+set}" || LD=$LDCXX
5833 CC=${CXX-"c++"}
5834 CFLAGS=$CXXFLAGS
5835 compiler=$CC
5836 _LT_TAGVAR(compiler, $1)=$CC
5837 _LT_CC_BASENAME([$compiler])
5838
5839 if test -n "$compiler"; then
5840 # We don't want -fno-exception when compiling C++ code, so set the
5841 # no_builtin_flag separately
5842 if test "$GXX" = yes; then
5843 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5844 else
5845 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5846 fi
5847
5848 if test "$GXX" = yes; then
5849 # Set up default GNU C++ configuration
5850
5851 LT_PATH_LD
5852
5853 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5854 # archiving commands below assume that GNU ld is being used.
5855 if test "$with_gnu_ld" = yes; then
5856 _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5857 _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'
5858
5859 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5860 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5861
5862 # If archive_cmds runs LD, not CC, wlarc should be empty
5863 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5864 # investigate it a little bit more. (MM)
5865 wlarc='${wl}'
5866
5867 # ancient GNU ld didn't support --whole-archive et. al.
5868 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5869 $GREP 'no-whole-archive' > /dev/null; then
5870 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5871 else
5872 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5873 fi
5874 else
5875 with_gnu_ld=no
5876 wlarc=
5877
5878 # A generic and very simple default shared library creation
5879 # command for GNU C++ for the case where it uses the native
5880 # linker, instead of GNU ld. If possible, this setting should
5881 # overridden to take advantage of the native linker features on
5882 # the platform it is being used on.
5883 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5884 fi
5885
5886 # Commands to make compiler produce verbose output that lists
5887 # what "hidden" libraries, object files and flags are used when
5888 # linking a shared library.
5889 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
5890
5891 else
5892 GXX=no
5893 with_gnu_ld=no
5894 wlarc=
5895 fi
5896
5897 # PORTME: fill in a description of your system's C++ link characteristics
5898 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5899 _LT_TAGVAR(ld_shlibs, $1)=yes
5900 case $host_os in
5901 aix3*)
5902 # FIXME: insert proper C++ library support
5903 _LT_TAGVAR(ld_shlibs, $1)=no
5904 ;;
5905 aix[[4-9]]*)
5906 if test "$host_cpu" = ia64; then
5907 # On IA64, the linker does run time linking by default, so we don't
5908 # have to do anything special.
5909 aix_use_runtimelinking=no
5910 exp_sym_flag='-Bexport'
5911 no_entry_flag=""
5912 else
5913 aix_use_runtimelinking=no
5914
5915 # Test if we are trying to use run time linking or normal
5916 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5917 # need to do runtime linking.
5918 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5919 for ld_flag in $LDFLAGS; do
5920 case $ld_flag in
5921 *-brtl*)
5922 aix_use_runtimelinking=yes
5923 break
5924 ;;
5925 esac
5926 done
5927 ;;
5928 esac
5929
5930 exp_sym_flag='-bexport'
5931 no_entry_flag='-bnoentry'
5932 fi
5933
5934 # When large executables or shared objects are built, AIX ld can
5935 # have problems creating the table of contents. If linking a library
5936 # or program results in "error TOC overflow" add -mminimal-toc to
5937 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5938 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5939
5940 _LT_TAGVAR(archive_cmds, $1)=''
5941 _LT_TAGVAR(hardcode_direct, $1)=yes
5942 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5943 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5944 _LT_TAGVAR(link_all_deplibs, $1)=yes
5945 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5946
5947 if test "$GXX" = yes; then
5948 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5949 # We only want to do this on AIX 4.2 and lower, the check
5950 # below for broken collect2 doesn't work under 4.3+
5951 collect2name=`${CC} -print-prog-name=collect2`
5952 if test -f "$collect2name" &&
5953 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5954 then
5955 # We have reworked collect2
5956 :
5957 else
5958 # We have old collect2
5959 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5960 # It fails to find uninstalled libraries when the uninstalled
5961 # path is not listed in the libpath. Setting hardcode_minus_L
5962 # to unsupported forces relinking
5963 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5964 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5965 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5966 fi
5967 esac
5968 shared_flag='-shared'
5969 if test "$aix_use_runtimelinking" = yes; then
5970 shared_flag="$shared_flag "'${wl}-G'
5971 fi
5972 else
5973 # not using gcc
5974 if test "$host_cpu" = ia64; then
5975 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5976 # chokes on -Wl,-G. The following line is correct:
5977 shared_flag='-G'
5978 else
5979 if test "$aix_use_runtimelinking" = yes; then
5980 shared_flag='${wl}-G'
5981 else
5982 shared_flag='${wl}-bM:SRE'
5983 fi
5984 fi
5985 fi
5986
5987 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5988 # It seems that -bexpall does not export symbols beginning with
5989 # underscore (_), so it is better to generate a list of symbols to
5990 # export.
5991 _LT_TAGVAR(always_export_symbols, $1)=yes
5992 if test "$aix_use_runtimelinking" = yes; then
5993 # Warning - without using the other runtime loading flags (-brtl),
5994 # -berok will link without error, but may produce a broken library.
5995 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5996 # Determine the default libpath from the value encoded in an empty
5997 # executable.
5998 _LT_SYS_MODULE_PATH_AIX([$1])
5999 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6000
6001 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
6002 else
6003 if test "$host_cpu" = ia64; then
6004 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6005 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6006 _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"
6007 else
6008 # Determine the default libpath from the value encoded in an
6009 # empty executable.
6010 _LT_SYS_MODULE_PATH_AIX([$1])
6011 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6012 # Warning - without using the other run time loading flags,
6013 # -berok will link without error, but may produce a broken library.
6014 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6015 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6016 if test "$with_gnu_ld" = yes; then
6017 # We only use this code for GNU lds that support --whole-archive.
6018 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6019 else
6020 # Exported symbols can be pulled into shared objects from archives
6021 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6022 fi
6023 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6024 # This is similar to how AIX traditionally builds its shared
6025 # libraries.
6026 _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'
6027 fi
6028 fi
6029 ;;
6030
6031 beos*)
6032 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6033 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6034 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6035 # support --undefined. This deserves some investigation. FIXME
6036 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6037 else
6038 _LT_TAGVAR(ld_shlibs, $1)=no
6039 fi
6040 ;;
6041
6042 chorus*)
6043 case $cc_basename in
6044 *)
6045 # FIXME: insert proper C++ library support
6046 _LT_TAGVAR(ld_shlibs, $1)=no
6047 ;;
6048 esac
6049 ;;
6050
6051 cygwin* | mingw* | pw32* | cegcc*)
6052 case $GXX,$cc_basename in
6053 ,cl* | no,cl*)
6054 # Native MSVC
6055 # hardcode_libdir_flag_spec is actually meaningless, as there is
6056 # no search path for DLLs.
6057 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6058 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6059 _LT_TAGVAR(always_export_symbols, $1)=yes
6060 _LT_TAGVAR(file_list_spec, $1)='@'
6061 # Tell ltmain to make .lib files, not .a files.
6062 libext=lib
6063 # Tell ltmain to make .dll files, not .so files.
6064 shrext_cmds=".dll"
6065 # FIXME: Setting linknames here is a bad hack.
6066 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
6067 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6068 $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
6069 else
6070 $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
6071 fi~
6072 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6073 linknames='
6074 # The linker will not automatically build a static lib if we build a DLL.
6075 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6076 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6077 # Don't use ranlib
6078 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6079 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6080 lt_tool_outputfile="@TOOL_OUTPUT@"~
6081 case $lt_outputfile in
6082 *.exe|*.EXE) ;;
6083 *)
6084 lt_outputfile="$lt_outputfile.exe"
6085 lt_tool_outputfile="$lt_tool_outputfile.exe"
6086 ;;
6087 esac~
6088 func_to_tool_file "$lt_outputfile"~
6089 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
6090 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6091 $RM "$lt_outputfile.manifest";
6092 fi'
6093 ;;
6094 *)
6095 # g++
6096 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6097 # as there is no search path for DLLs.
6098 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6099 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
6100 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6101 _LT_TAGVAR(always_export_symbols, $1)=no
6102 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6103
6104 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6105 _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'
6106 # If the export-symbols file already is a .def file (1st line
6107 # is EXPORTS), use it as is; otherwise, prepend...
6108 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6109 cp $export_symbols $output_objdir/$soname.def;
6110 else
6111 echo EXPORTS > $output_objdir/$soname.def;
6112 cat $export_symbols >> $output_objdir/$soname.def;
6113 fi~
6114 $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'
6115 else
6116 _LT_TAGVAR(ld_shlibs, $1)=no
6117 fi
6118 ;;
6119 esac
6120 ;;
6121 darwin* | rhapsody*)
6122 _LT_DARWIN_LINKER_FEATURES($1)
6123 ;;
6124
6125 dgux*)
6126 case $cc_basename in
6127 ec++*)
6128 # FIXME: insert proper C++ library support
6129 _LT_TAGVAR(ld_shlibs, $1)=no
6130 ;;
6131 ghcx*)
6132 # Green Hills C++ Compiler
6133 # FIXME: insert proper C++ library support
6134 _LT_TAGVAR(ld_shlibs, $1)=no
6135 ;;
6136 *)
6137 # FIXME: insert proper C++ library support
6138 _LT_TAGVAR(ld_shlibs, $1)=no
6139 ;;
6140 esac
6141 ;;
6142
6143 freebsd[[12]]*)
6144 # C++ shared libraries reported to be fairly broken before
6145 # switch to ELF
6146 _LT_TAGVAR(ld_shlibs, $1)=no
6147 ;;
6148
6149 freebsd-elf*)
6150 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6151 ;;
6152
6153 freebsd* | dragonfly*)
6154 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6155 # conventions
6156 _LT_TAGVAR(ld_shlibs, $1)=yes
6157 ;;
6158
6159 gnu*)
6160 ;;
6161
6162 haiku*)
6163 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6164 _LT_TAGVAR(link_all_deplibs, $1)=yes
6165 ;;
6166
6167 hpux9*)
6168 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6169 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6170 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6171 _LT_TAGVAR(hardcode_direct, $1)=yes
6172 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6173 # but as the default
6174 # location of the library.
6175
6176 case $cc_basename in
6177 CC*)
6178 # FIXME: insert proper C++ library support
6179 _LT_TAGVAR(ld_shlibs, $1)=no
6180 ;;
6181 aCC*)
6182 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6183 # Commands to make compiler produce verbose output that lists
6184 # what "hidden" libraries, object files and flags are used when
6185 # linking a shared library.
6186 #
6187 # There doesn't appear to be a way to prevent this compiler from
6188 # explicitly linking system object files so we need to strip them
6189 # from the output so that they don't get included in the library
6190 # dependencies.
6191 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"'
6192 ;;
6193 *)
6194 if test "$GXX" = yes; then
6195 _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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6196 else
6197 # FIXME: insert proper C++ library support
6198 _LT_TAGVAR(ld_shlibs, $1)=no
6199 fi
6200 ;;
6201 esac
6202 ;;
6203
6204 hpux10*|hpux11*)
6205 if test $with_gnu_ld = no; then
6206 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6207 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6208
6209 case $host_cpu in
6210 hppa*64*|ia64*)
6211 ;;
6212 *)
6213 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6214 ;;
6215 esac
6216 fi
6217 case $host_cpu in
6218 hppa*64*|ia64*)
6219 _LT_TAGVAR(hardcode_direct, $1)=no
6220 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6221 ;;
6222 *)
6223 _LT_TAGVAR(hardcode_direct, $1)=yes
6224 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6225 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6226 # but as the default
6227 # location of the library.
6228 ;;
6229 esac
6230
6231 case $cc_basename in
6232 CC*)
6233 # FIXME: insert proper C++ library support
6234 _LT_TAGVAR(ld_shlibs, $1)=no
6235 ;;
6236 aCC*)
6237 case $host_cpu in
6238 hppa*64*)
6239 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6240 ;;
6241 ia64*)
6242 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6243 ;;
6244 *)
6245 _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'
6246 ;;
6247 esac
6248 # Commands to make compiler produce verbose output that lists
6249 # what "hidden" libraries, object files and flags are used when
6250 # linking a shared library.
6251 #
6252 # There doesn't appear to be a way to prevent this compiler from
6253 # explicitly linking system object files so we need to strip them
6254 # from the output so that they don't get included in the library
6255 # dependencies.
6256 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"'
6257 ;;
6258 *)
6259 if test "$GXX" = yes; then
6260 if test $with_gnu_ld = no; then
6261 case $host_cpu in
6262 hppa*64*)
6263 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6264 ;;
6265 ia64*)
6266 _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'
6267 ;;
6268 *)
6269 _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'
6270 ;;
6271 esac
6272 fi
6273 else
6274 # FIXME: insert proper C++ library support
6275 _LT_TAGVAR(ld_shlibs, $1)=no
6276 fi
6277 ;;
6278 esac
6279 ;;
6280
6281 interix[[3-9]]*)
6282 _LT_TAGVAR(hardcode_direct, $1)=no
6283 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6284 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6285 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6286 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6287 # Instead, shared libraries are loaded at an image base (0x10000000 by
6288 # default) and relocated if they conflict, which is a slow very memory
6289 # consuming and fragmenting process. To avoid this, we pick a random,
6290 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6291 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6292 _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'
6293 _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'
6294 ;;
6295 irix5* | irix6*)
6296 case $cc_basename in
6297 CC*)
6298 # SGI C++
6299 _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'
6300
6301 # Archives containing C++ object files must be created using
6302 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6303 # necessary to make sure instantiated templates are included
6304 # in the archive.
6305 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6306 ;;
6307 *)
6308 if test "$GXX" = yes; then
6309 if test "$with_gnu_ld" = no; then
6310 _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'
6311 else
6312 _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'
6313 fi
6314 fi
6315 _LT_TAGVAR(link_all_deplibs, $1)=yes
6316 ;;
6317 esac
6318 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6319 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6320 _LT_TAGVAR(inherit_rpath, $1)=yes
6321 ;;
6322
6323 linux* | k*bsd*-gnu | kopensolaris*-gnu)
6324 case $cc_basename in
6325 KCC*)
6326 # Kuck and Associates, Inc. (KAI) C++ Compiler
6327
6328 # KCC will only create a shared library if the output file
6329 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6330 # to its proper name (with version) after linking.
6331 _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'
6332 _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'
6333 # Commands to make compiler produce verbose output that lists
6334 # what "hidden" libraries, object files and flags are used when
6335 # linking a shared library.
6336 #
6337 # There doesn't appear to be a way to prevent this compiler from
6338 # explicitly linking system object files so we need to strip them
6339 # from the output so that they don't get included in the library
6340 # dependencies.
6341 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"'
6342
6343 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6344 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6345
6346 # Archives containing C++ object files must be created using
6347 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6348 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6349 ;;
6350 icpc* | ecpc* )
6351 # Intel C++
6352 with_gnu_ld=yes
6353 # version 8.0 and above of icpc choke on multiply defined symbols
6354 # if we add $predep_objects and $postdep_objects, however 7.1 and
6355 # earlier do not add the objects themselves.
6356 case `$CC -V 2>&1` in
6357 *"Version 7."*)
6358 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6359 _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'
6360 ;;
6361 *) # Version 8.0 or newer
6362 tmp_idyn=
6363 case $host_cpu in
6364 ia64*) tmp_idyn=' -i_dynamic';;
6365 esac
6366 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6367 _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'
6368 ;;
6369 esac
6370 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6371 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6372 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6373 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6374 ;;
6375 pgCC* | pgcpp*)
6376 # Portland Group C++ compiler
6377 case `$CC -V` in
6378 *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
6379 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
6380 rm -rf $tpldir~
6381 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
6382 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
6383 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
6384 rm -rf $tpldir~
6385 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
6386 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
6387 $RANLIB $oldlib'
6388 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
6389 rm -rf $tpldir~
6390 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6391 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6392 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
6393 rm -rf $tpldir~
6394 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6395 $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'
6396 ;;
6397 *) # Version 6 and above use weak symbols
6398 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6399 _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'
6400 ;;
6401 esac
6402
6403 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6404 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6405 _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'
6406 ;;
6407 cxx*)
6408 # Compaq C++
6409 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6410 _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'
6411
6412 runpath_var=LD_RUN_PATH
6413 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6414 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6415
6416 # Commands to make compiler produce verbose output that lists
6417 # what "hidden" libraries, object files and flags are used when
6418 # linking a shared library.
6419 #
6420 # There doesn't appear to be a way to prevent this compiler from
6421 # explicitly linking system object files so we need to strip them
6422 # from the output so that they don't get included in the library
6423 # dependencies.
6424 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'
6425 ;;
6426 xl* | mpixl* | bgxl*)
6427 # IBM XL 8.0 on PPC, with GNU ld
6428 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6429 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6430 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6431 if test "x$supports_anon_versioning" = xyes; then
6432 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6433 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6434 echo "local: *; };" >> $output_objdir/$libname.ver~
6435 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6436 fi
6437 ;;
6438 *)
6439 case `$CC -V 2>&1 | sed 5q` in
6440 *Sun\ C*)
6441 # Sun C++ 5.9
6442 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6443 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6444 _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'
6445 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6446 _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'
6447 _LT_TAGVAR(compiler_needs_object, $1)=yes
6448
6449 # Not sure whether something based on
6450 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6451 # would be better.
6452 output_verbose_link_cmd='func_echo_all'
6453
6454 # Archives containing C++ object files must be created using
6455 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6456 # necessary to make sure instantiated templates are included
6457 # in the archive.
6458 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6459 ;;
6460 esac
6461 ;;
6462 esac
6463 ;;
6464
6465 lynxos*)
6466 # FIXME: insert proper C++ library support
6467 _LT_TAGVAR(ld_shlibs, $1)=no
6468 ;;
6469
6470 m88k*)
6471 # FIXME: insert proper C++ library support
6472 _LT_TAGVAR(ld_shlibs, $1)=no
6473 ;;
6474
6475 mvs*)
6476 case $cc_basename in
6477 cxx*)
6478 # FIXME: insert proper C++ library support
6479 _LT_TAGVAR(ld_shlibs, $1)=no
6480 ;;
6481 *)
6482 # FIXME: insert proper C++ library support
6483 _LT_TAGVAR(ld_shlibs, $1)=no
6484 ;;
6485 esac
6486 ;;
6487
6488 netbsd*)
6489 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6490 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6491 wlarc=
6492 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6493 _LT_TAGVAR(hardcode_direct, $1)=yes
6494 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6495 fi
6496 # Workaround some broken pre-1.5 toolchains
6497 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6498 ;;
6499
6500 *nto* | *qnx*)
6501 _LT_TAGVAR(ld_shlibs, $1)=yes
6502 ;;
6503
6504 openbsd2*)
6505 # C++ shared libraries are fairly broken
6506 _LT_TAGVAR(ld_shlibs, $1)=no
6507 ;;
6508
6509 openbsd*)
6510 if test -f /usr/libexec/ld.so; then
6511 _LT_TAGVAR(hardcode_direct, $1)=yes
6512 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6513 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6514 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6515 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6516 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6517 _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'
6518 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6519 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6520 fi
6521 output_verbose_link_cmd=func_echo_all
6522 else
6523 _LT_TAGVAR(ld_shlibs, $1)=no
6524 fi
6525 ;;
6526
6527 osf3* | osf4* | osf5*)
6528 case $cc_basename in
6529 KCC*)
6530 # Kuck and Associates, Inc. (KAI) C++ Compiler
6531
6532 # KCC will only create a shared library if the output file
6533 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6534 # to its proper name (with version) after linking.
6535 _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'
6536
6537 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6538 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6539
6540 # Archives containing C++ object files must be created using
6541 # the KAI C++ compiler.
6542 case $host in
6543 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6544 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6545 esac
6546 ;;
6547 RCC*)
6548 # Rational C++ 2.4.1
6549 # FIXME: insert proper C++ library support
6550 _LT_TAGVAR(ld_shlibs, $1)=no
6551 ;;
6552 cxx*)
6553 case $host in
6554 osf3*)
6555 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6556 _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'
6557 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6558 ;;
6559 *)
6560 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6561 _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'
6562 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6563 echo "-hidden">> $lib.exp~
6564 $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~
6565 $RM $lib.exp'
6566 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6567 ;;
6568 esac
6569
6570 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6571
6572 # Commands to make compiler produce verbose output that lists
6573 # what "hidden" libraries, object files and flags are used when
6574 # linking a shared library.
6575 #
6576 # There doesn't appear to be a way to prevent this compiler from
6577 # explicitly linking system object files so we need to strip them
6578 # from the output so that they don't get included in the library
6579 # dependencies.
6580 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"'
6581 ;;
6582 *)
6583 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6584 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6585 case $host in
6586 osf3*)
6587 _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'
6588 ;;
6589 *)
6590 _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'
6591 ;;
6592 esac
6593
6594 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6595 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6596
6597 # Commands to make compiler produce verbose output that lists
6598 # what "hidden" libraries, object files and flags are used when
6599 # linking a shared library.
6600 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6601
6602 else
6603 # FIXME: insert proper C++ library support
6604 _LT_TAGVAR(ld_shlibs, $1)=no
6605 fi
6606 ;;
6607 esac
6608 ;;
6609
6610 psos*)
6611 # FIXME: insert proper C++ library support
6612 _LT_TAGVAR(ld_shlibs, $1)=no
6613 ;;
6614
6615 sunos4*)
6616 case $cc_basename in
6617 CC*)
6618 # Sun C++ 4.x
6619 # FIXME: insert proper C++ library support
6620 _LT_TAGVAR(ld_shlibs, $1)=no
6621 ;;
6622 lcc*)
6623 # Lucid
6624 # FIXME: insert proper C++ library support
6625 _LT_TAGVAR(ld_shlibs, $1)=no
6626 ;;
6627 *)
6628 # FIXME: insert proper C++ library support
6629 _LT_TAGVAR(ld_shlibs, $1)=no
6630 ;;
6631 esac
6632 ;;
6633
6634 solaris*)
6635 case $cc_basename in
6636 CC* | sunCC*)
6637 # Sun C++ 4.2, 5.x and Centerline C++
6638 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6639 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6640 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6641 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6642 $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'
6643
6644 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6645 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6646 case $host_os in
6647 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6648 *)
6649 # The compiler driver will combine and reorder linker options,
6650 # but understands `-z linker_flag'.
6651 # Supported since Solaris 2.6 (maybe 2.5.1?)
6652 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6653 ;;
6654 esac
6655 _LT_TAGVAR(link_all_deplibs, $1)=yes
6656
6657 output_verbose_link_cmd='func_echo_all'
6658
6659 # Archives containing C++ object files must be created using
6660 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6661 # necessary to make sure instantiated templates are included
6662 # in the archive.
6663 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6664 ;;
6665 gcx*)
6666 # Green Hills C++ Compiler
6667 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6668
6669 # The C++ compiler must be used to create the archive.
6670 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6671 ;;
6672 *)
6673 # GNU C++ compiler with Solaris linker
6674 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6675 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6676 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6677 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6678 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6679 $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6680
6681 # Commands to make compiler produce verbose output that lists
6682 # what "hidden" libraries, object files and flags are used when
6683 # linking a shared library.
6684 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6685 else
6686 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6687 # platform.
6688 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6689 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6690 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6691
6692 # Commands to make compiler produce verbose output that lists
6693 # what "hidden" libraries, object files and flags are used when
6694 # linking a shared library.
6695 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6696 fi
6697
6698 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6699 case $host_os in
6700 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6701 *)
6702 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6703 ;;
6704 esac
6705 fi
6706 ;;
6707 esac
6708 ;;
6709
6710 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6711 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6712 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6713 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6714 runpath_var='LD_RUN_PATH'
6715
6716 case $cc_basename in
6717 CC*)
6718 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6719 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6720 ;;
6721 *)
6722 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6723 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6724 ;;
6725 esac
6726 ;;
6727
6728 sysv5* | sco3.2v5* | sco5v6*)
6729 # Note: We can NOT use -z defs as we might desire, because we do not
6730 # link with -lc, and that would cause any symbols used from libc to
6731 # always be unresolved, which means just about no library would
6732 # ever link correctly. If we're not using GNU ld we use -z text
6733 # though, which does catch some bad symbols but isn't as heavy-handed
6734 # as -z defs.
6735 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6736 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6737 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6738 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6739 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6740 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6741 _LT_TAGVAR(link_all_deplibs, $1)=yes
6742 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6743 runpath_var='LD_RUN_PATH'
6744
6745 case $cc_basename in
6746 CC*)
6747 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6748 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6749 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
6750 '"$_LT_TAGVAR(old_archive_cmds, $1)"
6751 _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
6752 '"$_LT_TAGVAR(reload_cmds, $1)"
6753 ;;
6754 *)
6755 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6756 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6757 ;;
6758 esac
6759 ;;
6760
6761 tandem*)
6762 case $cc_basename in
6763 NCC*)
6764 # NonStop-UX NCC 3.20
6765 # FIXME: insert proper C++ library support
6766 _LT_TAGVAR(ld_shlibs, $1)=no
6767 ;;
6768 *)
6769 # FIXME: insert proper C++ library support
6770 _LT_TAGVAR(ld_shlibs, $1)=no
6771 ;;
6772 esac
6773 ;;
6774
6775 vxworks*)
6776 # FIXME: insert proper C++ library support
6777 _LT_TAGVAR(ld_shlibs, $1)=no
6778 ;;
6779
6780 *)
6781 # FIXME: insert proper C++ library support
6782 _LT_TAGVAR(ld_shlibs, $1)=no
6783 ;;
6784 esac
6785
6786 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6787 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6788
6789 _LT_TAGVAR(GCC, $1)="$GXX"
6790 _LT_TAGVAR(LD, $1)="$LD"
6791
6792 ## CAVEAT EMPTOR:
6793 ## There is no encapsulation within the following macros, do not change
6794 ## the running order or otherwise move them around unless you know exactly
6795 ## what you are doing...
6796 _LT_SYS_HIDDEN_LIBDEPS($1)
6797 _LT_COMPILER_PIC($1)
6798 _LT_COMPILER_C_O($1)
6799 _LT_COMPILER_FILE_LOCKS($1)
6800 _LT_LINKER_SHLIBS($1)
6801 _LT_SYS_DYNAMIC_LINKER($1)
6802 _LT_LINKER_HARDCODE_LIBPATH($1)
6803
6804 _LT_CONFIG($1)
6805 fi # test -n "$compiler"
6806
6807 CC=$lt_save_CC
6808 CFLAGS=$lt_save_CFLAGS
6809 LDCXX=$LD
6810 LD=$lt_save_LD
6811 GCC=$lt_save_GCC
6812 with_gnu_ld=$lt_save_with_gnu_ld
6813 lt_cv_path_LDCXX=$lt_cv_path_LD
6814 lt_cv_path_LD=$lt_save_path_LD
6815 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6816 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6817fi # test "$_lt_caught_CXX_error" != yes
6818
6819AC_LANG_POP
6820])# _LT_LANG_CXX_CONFIG
6821
6822
6823# _LT_FUNC_STRIPNAME_CNF
6824# ----------------------
6825# func_stripname_cnf prefix suffix name
6826# strip PREFIX and SUFFIX off of NAME.
6827# PREFIX and SUFFIX must not contain globbing or regex special
6828# characters, hashes, percent signs, but SUFFIX may contain a leading
6829# dot (in which case that matches only a dot).
6830#
6831# This function is identical to the (non-XSI) version of func_stripname,
6832# except this one can be used by m4 code that may be executed by configure,
6833# rather than the libtool script.
6834m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
6835AC_REQUIRE([_LT_DECL_SED])
6836AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
6837func_stripname_cnf ()
6838{
6839 case ${2} in
6840 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
6841 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
6842 esac
6843} # func_stripname_cnf
6844])# _LT_FUNC_STRIPNAME_CNF
6845
6846# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
Lev Walkin8e8b5482004-06-17 23:42:48 +00006847# ---------------------------------
Lev Walkin4da95cf2010-10-16 02:46:32 -07006848# Figure out "hidden" library dependencies from verbose
6849# compiler output when linking a shared library.
6850# Parse the compiler output and extract the necessary
6851# objects, libraries and library flags.
6852m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6853[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6854AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
6855# Dependencies to place before and after the object being linked:
6856_LT_TAGVAR(predep_objects, $1)=
6857_LT_TAGVAR(postdep_objects, $1)=
6858_LT_TAGVAR(predeps, $1)=
6859_LT_TAGVAR(postdeps, $1)=
6860_LT_TAGVAR(compiler_lib_search_path, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00006861
Lev Walkin4da95cf2010-10-16 02:46:32 -07006862dnl we can't use the lt_simple_compile_test_code here,
6863dnl because it contains code intended for an executable,
6864dnl not a library. It's possible we should let each
6865dnl tag define a new lt_????_link_test_code variable,
6866dnl but it's only used here...
6867m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6868int a;
6869void foo (void) { a = 0; }
6870_LT_EOF
6871], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6872class Foo
6873{
6874public:
6875 Foo (void) { a = 0; }
6876private:
6877 int a;
6878};
6879_LT_EOF
6880], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6881 subroutine foo
6882 implicit none
6883 integer*4 a
6884 a=0
6885 return
6886 end
6887_LT_EOF
6888], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6889 subroutine foo
6890 implicit none
6891 integer a
6892 a=0
6893 return
6894 end
6895_LT_EOF
6896], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6897public class foo {
6898 private int a;
6899 public void bar (void) {
6900 a = 0;
6901 }
6902};
6903_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00006904])
6905
Lev Walkin4da95cf2010-10-16 02:46:32 -07006906_lt_libdeps_save_CFLAGS=$CFLAGS
6907case "$CC $CFLAGS " in #(
6908*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
6909*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
6910esac
6911
6912dnl Parse the compiler output and extract the necessary
6913dnl objects, libraries and library flags.
6914if AC_TRY_EVAL(ac_compile); then
6915 # Parse the compiler output and extract the necessary
6916 # objects, libraries and library flags.
6917
6918 # Sentinel used to keep track of whether or not we are before
6919 # the conftest object file.
6920 pre_test_object_deps_done=no
6921
6922 for p in `eval "$output_verbose_link_cmd"`; do
6923 case ${prev}${p} in
6924
6925 -L* | -R* | -l*)
6926 # Some compilers place space between "-{L,R}" and the path.
6927 # Remove the space.
6928 if test $p = "-L" ||
6929 test $p = "-R"; then
6930 prev=$p
6931 continue
6932 fi
6933
6934 # Expand the sysroot to ease extracting the directories later.
6935 if test -z "$prev"; then
6936 case $p in
6937 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
6938 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
6939 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
6940 esac
6941 fi
6942 case $p in
6943 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
6944 esac
6945 if test "$pre_test_object_deps_done" = no; then
6946 case ${prev} in
6947 -L | -R)
6948 # Internal compiler library paths should come after those
6949 # provided the user. The postdeps already come after the
6950 # user supplied libs so there is no need to process them.
6951 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6952 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6953 else
6954 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6955 fi
6956 ;;
6957 # The "-l" case would never come before the object being
6958 # linked, so don't bother handling this case.
6959 esac
6960 else
6961 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6962 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6963 else
6964 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6965 fi
6966 fi
6967 prev=
6968 ;;
6969
6970 *.lto.$objext) ;; # Ignore GCC LTO objects
6971 *.$objext)
6972 # This assumes that the test object file only shows up
6973 # once in the compiler output.
6974 if test "$p" = "conftest.$objext"; then
6975 pre_test_object_deps_done=yes
6976 continue
6977 fi
6978
6979 if test "$pre_test_object_deps_done" = no; then
6980 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6981 _LT_TAGVAR(predep_objects, $1)="$p"
6982 else
6983 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6984 fi
6985 else
6986 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6987 _LT_TAGVAR(postdep_objects, $1)="$p"
6988 else
6989 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6990 fi
6991 fi
6992 ;;
6993
6994 *) ;; # Ignore the rest.
6995
6996 esac
6997 done
6998
6999 # Clean up.
7000 rm -f a.out a.exe
7001else
7002 echo "libtool.m4: error: problem compiling $1 test program"
7003fi
7004
7005$RM -f confest.$objext
7006CFLAGS=$_lt_libdeps_save_CFLAGS
7007
7008# PORTME: override above test on systems where it is broken
7009m4_if([$1], [CXX],
7010[case $host_os in
7011interix[[3-9]]*)
7012 # Interix 3.5 installs completely hosed .la files for C++, so rather than
7013 # hack all around it, let's just trust "g++" to DTRT.
7014 _LT_TAGVAR(predep_objects,$1)=
7015 _LT_TAGVAR(postdep_objects,$1)=
7016 _LT_TAGVAR(postdeps,$1)=
7017 ;;
7018
7019linux*)
7020 case `$CC -V 2>&1 | sed 5q` in
7021 *Sun\ C*)
7022 # Sun C++ 5.9
7023
7024 # The more standards-conforming stlport4 library is
7025 # incompatible with the Cstd library. Avoid specifying
7026 # it if it's in CXXFLAGS. Ignore libCrun as
7027 # -library=stlport4 depends on it.
7028 case " $CXX $CXXFLAGS " in
7029 *" -library=stlport4 "*)
7030 solaris_use_stlport4=yes
7031 ;;
7032 esac
7033
7034 if test "$solaris_use_stlport4" != yes; then
7035 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7036 fi
7037 ;;
7038 esac
7039 ;;
7040
7041solaris*)
7042 case $cc_basename in
7043 CC* | sunCC*)
7044 # The more standards-conforming stlport4 library is
7045 # incompatible with the Cstd library. Avoid specifying
7046 # it if it's in CXXFLAGS. Ignore libCrun as
7047 # -library=stlport4 depends on it.
7048 case " $CXX $CXXFLAGS " in
7049 *" -library=stlport4 "*)
7050 solaris_use_stlport4=yes
7051 ;;
7052 esac
7053
7054 # Adding this requires a known-good setup of shared libraries for
7055 # Sun compiler versions before 5.6, else PIC objects from an old
7056 # archive will be linked into the output, leading to subtle bugs.
7057 if test "$solaris_use_stlport4" != yes; then
7058 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7059 fi
7060 ;;
7061 esac
7062 ;;
7063esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00007064])
7065
Lev Walkin4da95cf2010-10-16 02:46:32 -07007066case " $_LT_TAGVAR(postdeps, $1) " in
7067*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7068esac
7069 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7070if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7071 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
7072fi
7073_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7074 [The directories searched by this compiler when creating a shared library])
7075_LT_TAGDECL([], [predep_objects], [1],
7076 [Dependencies to place before and after the objects being linked to
7077 create a shared library])
7078_LT_TAGDECL([], [postdep_objects], [1])
7079_LT_TAGDECL([], [predeps], [1])
7080_LT_TAGDECL([], [postdeps], [1])
7081_LT_TAGDECL([], [compiler_lib_search_path], [1],
7082 [The library search path used internally by the compiler when linking
7083 a shared library])
7084])# _LT_SYS_HIDDEN_LIBDEPS
7085
7086
7087# _LT_LANG_F77_CONFIG([TAG])
7088# --------------------------
7089# Ensure that the configuration variables for a Fortran 77 compiler are
7090# suitably defined. These variables are subsequently used by _LT_CONFIG
7091# to write the compiler configuration to `libtool'.
7092m4_defun([_LT_LANG_F77_CONFIG],
7093[AC_LANG_PUSH(Fortran 77)
7094if test -z "$F77" || test "X$F77" = "Xno"; then
7095 _lt_disable_F77=yes
7096fi
7097
7098_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7099_LT_TAGVAR(allow_undefined_flag, $1)=
7100_LT_TAGVAR(always_export_symbols, $1)=no
7101_LT_TAGVAR(archive_expsym_cmds, $1)=
7102_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7103_LT_TAGVAR(hardcode_direct, $1)=no
7104_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7105_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7106_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
7107_LT_TAGVAR(hardcode_libdir_separator, $1)=
7108_LT_TAGVAR(hardcode_minus_L, $1)=no
7109_LT_TAGVAR(hardcode_automatic, $1)=no
7110_LT_TAGVAR(inherit_rpath, $1)=no
7111_LT_TAGVAR(module_cmds, $1)=
7112_LT_TAGVAR(module_expsym_cmds, $1)=
7113_LT_TAGVAR(link_all_deplibs, $1)=unknown
7114_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7115_LT_TAGVAR(reload_flag, $1)=$reload_flag
7116_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7117_LT_TAGVAR(no_undefined_flag, $1)=
7118_LT_TAGVAR(whole_archive_flag_spec, $1)=
7119_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7120
7121# Source file extension for f77 test sources.
7122ac_ext=f
7123
7124# Object file extension for compiled f77 test sources.
7125objext=o
7126_LT_TAGVAR(objext, $1)=$objext
7127
7128# No sense in running all these tests if we already determined that
7129# the F77 compiler isn't working. Some variables (like enable_shared)
7130# are currently assumed to apply to all compilers on this platform,
7131# and will be corrupted by setting them based on a non-working compiler.
7132if test "$_lt_disable_F77" != yes; then
7133 # Code to be used in simple compile tests
7134 lt_simple_compile_test_code="\
7135 subroutine t
7136 return
7137 end
7138"
7139
7140 # Code to be used in simple link tests
7141 lt_simple_link_test_code="\
7142 program t
7143 end
7144"
7145
7146 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7147 _LT_TAG_COMPILER
7148
7149 # save warnings/boilerplate of simple test code
7150 _LT_COMPILER_BOILERPLATE
7151 _LT_LINKER_BOILERPLATE
7152
7153 # Allow CC to be a program name with arguments.
7154 lt_save_CC="$CC"
7155 lt_save_GCC=$GCC
7156 lt_save_CFLAGS=$CFLAGS
7157 CC=${F77-"f77"}
7158 CFLAGS=$FFLAGS
7159 compiler=$CC
7160 _LT_TAGVAR(compiler, $1)=$CC
7161 _LT_CC_BASENAME([$compiler])
7162 GCC=$G77
7163 if test -n "$compiler"; then
7164 AC_MSG_CHECKING([if libtool supports shared libraries])
7165 AC_MSG_RESULT([$can_build_shared])
7166
7167 AC_MSG_CHECKING([whether to build shared libraries])
7168 test "$can_build_shared" = "no" && enable_shared=no
7169
7170 # On AIX, shared libraries and static libraries use the same namespace, and
7171 # are all built from PIC.
7172 case $host_os in
7173 aix3*)
7174 test "$enable_shared" = yes && enable_static=no
7175 if test -n "$RANLIB"; then
7176 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7177 postinstall_cmds='$RANLIB $lib'
7178 fi
7179 ;;
7180 aix[[4-9]]*)
7181 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7182 test "$enable_shared" = yes && enable_static=no
7183 fi
7184 ;;
7185 esac
7186 AC_MSG_RESULT([$enable_shared])
7187
7188 AC_MSG_CHECKING([whether to build static libraries])
7189 # Make sure either enable_shared or enable_static is yes.
7190 test "$enable_shared" = yes || enable_static=yes
7191 AC_MSG_RESULT([$enable_static])
7192
7193 _LT_TAGVAR(GCC, $1)="$G77"
7194 _LT_TAGVAR(LD, $1)="$LD"
7195
7196 ## CAVEAT EMPTOR:
7197 ## There is no encapsulation within the following macros, do not change
7198 ## the running order or otherwise move them around unless you know exactly
7199 ## what you are doing...
7200 _LT_COMPILER_PIC($1)
7201 _LT_COMPILER_C_O($1)
7202 _LT_COMPILER_FILE_LOCKS($1)
7203 _LT_LINKER_SHLIBS($1)
7204 _LT_SYS_DYNAMIC_LINKER($1)
7205 _LT_LINKER_HARDCODE_LIBPATH($1)
7206
7207 _LT_CONFIG($1)
7208 fi # test -n "$compiler"
7209
7210 GCC=$lt_save_GCC
7211 CC="$lt_save_CC"
7212 CFLAGS="$lt_save_CFLAGS"
7213fi # test "$_lt_disable_F77" != yes
7214
7215AC_LANG_POP
7216])# _LT_LANG_F77_CONFIG
7217
7218
7219# _LT_LANG_FC_CONFIG([TAG])
7220# -------------------------
7221# Ensure that the configuration variables for a Fortran compiler are
7222# suitably defined. These variables are subsequently used by _LT_CONFIG
7223# to write the compiler configuration to `libtool'.
7224m4_defun([_LT_LANG_FC_CONFIG],
7225[AC_LANG_PUSH(Fortran)
7226
7227if test -z "$FC" || test "X$FC" = "Xno"; then
7228 _lt_disable_FC=yes
7229fi
7230
7231_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7232_LT_TAGVAR(allow_undefined_flag, $1)=
7233_LT_TAGVAR(always_export_symbols, $1)=no
7234_LT_TAGVAR(archive_expsym_cmds, $1)=
7235_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7236_LT_TAGVAR(hardcode_direct, $1)=no
7237_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7238_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7239_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
7240_LT_TAGVAR(hardcode_libdir_separator, $1)=
7241_LT_TAGVAR(hardcode_minus_L, $1)=no
7242_LT_TAGVAR(hardcode_automatic, $1)=no
7243_LT_TAGVAR(inherit_rpath, $1)=no
7244_LT_TAGVAR(module_cmds, $1)=
7245_LT_TAGVAR(module_expsym_cmds, $1)=
7246_LT_TAGVAR(link_all_deplibs, $1)=unknown
7247_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7248_LT_TAGVAR(reload_flag, $1)=$reload_flag
7249_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7250_LT_TAGVAR(no_undefined_flag, $1)=
7251_LT_TAGVAR(whole_archive_flag_spec, $1)=
7252_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7253
7254# Source file extension for fc test sources.
7255ac_ext=${ac_fc_srcext-f}
7256
7257# Object file extension for compiled fc test sources.
7258objext=o
7259_LT_TAGVAR(objext, $1)=$objext
7260
7261# No sense in running all these tests if we already determined that
7262# the FC compiler isn't working. Some variables (like enable_shared)
7263# are currently assumed to apply to all compilers on this platform,
7264# and will be corrupted by setting them based on a non-working compiler.
7265if test "$_lt_disable_FC" != yes; then
7266 # Code to be used in simple compile tests
7267 lt_simple_compile_test_code="\
7268 subroutine t
7269 return
7270 end
7271"
7272
7273 # Code to be used in simple link tests
7274 lt_simple_link_test_code="\
7275 program t
7276 end
7277"
7278
7279 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7280 _LT_TAG_COMPILER
7281
7282 # save warnings/boilerplate of simple test code
7283 _LT_COMPILER_BOILERPLATE
7284 _LT_LINKER_BOILERPLATE
7285
7286 # Allow CC to be a program name with arguments.
7287 lt_save_CC="$CC"
7288 lt_save_GCC=$GCC
7289 lt_save_CFLAGS=$CFLAGS
7290 CC=${FC-"f95"}
7291 CFLAGS=$FCFLAGS
7292 compiler=$CC
7293 GCC=$ac_cv_fc_compiler_gnu
7294
7295 _LT_TAGVAR(compiler, $1)=$CC
7296 _LT_CC_BASENAME([$compiler])
7297
7298 if test -n "$compiler"; then
7299 AC_MSG_CHECKING([if libtool supports shared libraries])
7300 AC_MSG_RESULT([$can_build_shared])
7301
7302 AC_MSG_CHECKING([whether to build shared libraries])
7303 test "$can_build_shared" = "no" && enable_shared=no
7304
7305 # On AIX, shared libraries and static libraries use the same namespace, and
7306 # are all built from PIC.
7307 case $host_os in
7308 aix3*)
7309 test "$enable_shared" = yes && enable_static=no
7310 if test -n "$RANLIB"; then
7311 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7312 postinstall_cmds='$RANLIB $lib'
7313 fi
7314 ;;
7315 aix[[4-9]]*)
7316 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7317 test "$enable_shared" = yes && enable_static=no
7318 fi
7319 ;;
7320 esac
7321 AC_MSG_RESULT([$enable_shared])
7322
7323 AC_MSG_CHECKING([whether to build static libraries])
7324 # Make sure either enable_shared or enable_static is yes.
7325 test "$enable_shared" = yes || enable_static=yes
7326 AC_MSG_RESULT([$enable_static])
7327
7328 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
7329 _LT_TAGVAR(LD, $1)="$LD"
7330
7331 ## CAVEAT EMPTOR:
7332 ## There is no encapsulation within the following macros, do not change
7333 ## the running order or otherwise move them around unless you know exactly
7334 ## what you are doing...
7335 _LT_SYS_HIDDEN_LIBDEPS($1)
7336 _LT_COMPILER_PIC($1)
7337 _LT_COMPILER_C_O($1)
7338 _LT_COMPILER_FILE_LOCKS($1)
7339 _LT_LINKER_SHLIBS($1)
7340 _LT_SYS_DYNAMIC_LINKER($1)
7341 _LT_LINKER_HARDCODE_LIBPATH($1)
7342
7343 _LT_CONFIG($1)
7344 fi # test -n "$compiler"
7345
7346 GCC=$lt_save_GCC
7347 CC=$lt_save_CC
7348 CFLAGS=$lt_save_CFLAGS
7349fi # test "$_lt_disable_FC" != yes
7350
7351AC_LANG_POP
7352])# _LT_LANG_FC_CONFIG
7353
7354
7355# _LT_LANG_GCJ_CONFIG([TAG])
7356# --------------------------
7357# Ensure that the configuration variables for the GNU Java Compiler compiler
7358# are suitably defined. These variables are subsequently used by _LT_CONFIG
7359# to write the compiler configuration to `libtool'.
7360m4_defun([_LT_LANG_GCJ_CONFIG],
7361[AC_REQUIRE([LT_PROG_GCJ])dnl
7362AC_LANG_SAVE
7363
7364# Source file extension for Java test sources.
7365ac_ext=java
7366
7367# Object file extension for compiled Java test sources.
7368objext=o
7369_LT_TAGVAR(objext, $1)=$objext
7370
7371# Code to be used in simple compile tests
7372lt_simple_compile_test_code="class foo {}"
7373
7374# Code to be used in simple link tests
7375lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7376
7377# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7378_LT_TAG_COMPILER
7379
7380# save warnings/boilerplate of simple test code
7381_LT_COMPILER_BOILERPLATE
7382_LT_LINKER_BOILERPLATE
7383
7384# Allow CC to be a program name with arguments.
7385lt_save_CC=$CC
7386lt_save_CFLAGS=$CFLAGS
7387lt_save_GCC=$GCC
7388GCC=yes
7389CC=${GCJ-"gcj"}
7390CFLAGS=$GCJFLAGS
7391compiler=$CC
7392_LT_TAGVAR(compiler, $1)=$CC
7393_LT_TAGVAR(LD, $1)="$LD"
7394_LT_CC_BASENAME([$compiler])
7395
7396# GCJ did not exist at the time GCC didn't implicitly link libc in.
7397_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7398
7399_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7400_LT_TAGVAR(reload_flag, $1)=$reload_flag
7401_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7402
7403if test -n "$compiler"; then
7404 _LT_COMPILER_NO_RTTI($1)
7405 _LT_COMPILER_PIC($1)
7406 _LT_COMPILER_C_O($1)
7407 _LT_COMPILER_FILE_LOCKS($1)
7408 _LT_LINKER_SHLIBS($1)
7409 _LT_LINKER_HARDCODE_LIBPATH($1)
7410
7411 _LT_CONFIG($1)
7412fi
7413
7414AC_LANG_RESTORE
7415
7416GCC=$lt_save_GCC
7417CC=$lt_save_CC
7418CFLAGS=$lt_save_CFLAGS
7419])# _LT_LANG_GCJ_CONFIG
7420
7421
7422# _LT_LANG_RC_CONFIG([TAG])
7423# -------------------------
7424# Ensure that the configuration variables for the Windows resource compiler
7425# are suitably defined. These variables are subsequently used by _LT_CONFIG
7426# to write the compiler configuration to `libtool'.
7427m4_defun([_LT_LANG_RC_CONFIG],
7428[AC_REQUIRE([LT_PROG_RC])dnl
7429AC_LANG_SAVE
7430
7431# Source file extension for RC test sources.
7432ac_ext=rc
7433
7434# Object file extension for compiled RC test sources.
7435objext=o
7436_LT_TAGVAR(objext, $1)=$objext
7437
7438# Code to be used in simple compile tests
7439lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
7440
7441# Code to be used in simple link tests
7442lt_simple_link_test_code="$lt_simple_compile_test_code"
7443
7444# ltmain only uses $CC for tagged configurations so make sure $CC is set.
7445_LT_TAG_COMPILER
7446
7447# save warnings/boilerplate of simple test code
7448_LT_COMPILER_BOILERPLATE
7449_LT_LINKER_BOILERPLATE
7450
7451# Allow CC to be a program name with arguments.
7452lt_save_CC="$CC"
7453lt_save_CFLAGS=$CFLAGS
7454lt_save_GCC=$GCC
7455GCC=
7456CC=${RC-"windres"}
7457CFLAGS=
7458compiler=$CC
7459_LT_TAGVAR(compiler, $1)=$CC
7460_LT_CC_BASENAME([$compiler])
7461_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
7462
7463if test -n "$compiler"; then
7464 :
7465 _LT_CONFIG($1)
7466fi
7467
7468GCC=$lt_save_GCC
7469AC_LANG_RESTORE
7470CC=$lt_save_CC
7471CFLAGS=$lt_save_CFLAGS
7472])# _LT_LANG_RC_CONFIG
7473
7474
7475# LT_PROG_GCJ
7476# -----------
7477AC_DEFUN([LT_PROG_GCJ],
7478[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
7479 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
7480 [AC_CHECK_TOOL(GCJ, gcj,)
7481 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7482 AC_SUBST(GCJFLAGS)])])[]dnl
7483])
7484
7485# Old name:
7486AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7487dnl aclocal-1.4 backwards compatibility:
7488dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7489
7490
7491# LT_PROG_RC
7492# ----------
7493AC_DEFUN([LT_PROG_RC],
7494[AC_CHECK_TOOL(RC, windres,)
7495])
7496
7497# Old name:
7498AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7499dnl aclocal-1.4 backwards compatibility:
7500dnl AC_DEFUN([LT_AC_PROG_RC], [])
7501
7502
7503# _LT_DECL_EGREP
7504# --------------
7505# If we don't have a new enough Autoconf to choose the best grep
7506# available, choose the one first in the user's PATH.
7507m4_defun([_LT_DECL_EGREP],
7508[AC_REQUIRE([AC_PROG_EGREP])dnl
7509AC_REQUIRE([AC_PROG_FGREP])dnl
7510test -z "$GREP" && GREP=grep
7511_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7512_LT_DECL([], [EGREP], [1], [An ERE matcher])
7513_LT_DECL([], [FGREP], [1], [A literal string matcher])
7514dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7515AC_SUBST([GREP])
7516])
7517
7518
7519# _LT_DECL_OBJDUMP
7520# --------------
7521# If we don't have a new enough Autoconf to choose the best objdump
7522# available, choose the one first in the user's PATH.
7523m4_defun([_LT_DECL_OBJDUMP],
7524[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7525test -z "$OBJDUMP" && OBJDUMP=objdump
7526_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7527AC_SUBST([OBJDUMP])
7528])
7529
7530# _LT_DECL_DLLTOOL
7531# ----------------
7532# Ensure DLLTOOL variable is set.
7533m4_defun([_LT_DECL_DLLTOOL],
7534[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7535test -z "$DLLTOOL" && DLLTOOL=dlltool
7536_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
7537AC_SUBST([DLLTOOL])
7538])
7539
7540# _LT_DECL_SED
7541# ------------
7542# Check for a fully-functional sed program, that truncates
7543# as few characters as possible. Prefer GNU sed if found.
7544m4_defun([_LT_DECL_SED],
7545[AC_PROG_SED
7546test -z "$SED" && SED=sed
7547Xsed="$SED -e 1s/^X//"
7548_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7549_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7550 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7551])# _LT_DECL_SED
7552
7553m4_ifndef([AC_PROG_SED], [
Lev Walkin8e8b5482004-06-17 23:42:48 +00007554# NOTE: This macro has been submitted for inclusion into #
7555# GNU Autoconf as AC_PROG_SED. When it is available in #
7556# a released version of Autoconf we should remove this #
7557# macro and use it instead. #
Lev Walkin4da95cf2010-10-16 02:46:32 -07007558
7559m4_defun([AC_PROG_SED],
Lev Walkin8e8b5482004-06-17 23:42:48 +00007560[AC_MSG_CHECKING([for a sed that does not truncate output])
7561AC_CACHE_VAL(lt_cv_path_SED,
7562[# Loop through the user's path and test for sed and gsed.
7563# Then use that list of sed's as ones to test for truncation.
7564as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7565for as_dir in $PATH
7566do
7567 IFS=$as_save_IFS
7568 test -z "$as_dir" && as_dir=.
7569 for lt_ac_prog in sed gsed; do
7570 for ac_exec_ext in '' $ac_executable_extensions; do
7571 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7572 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7573 fi
7574 done
7575 done
7576done
Lev Walkin4da95cf2010-10-16 02:46:32 -07007577IFS=$as_save_IFS
Lev Walkin8e8b5482004-06-17 23:42:48 +00007578lt_ac_max=0
7579lt_ac_count=0
7580# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7581# along with /bin/sed that truncates output.
7582for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
Lev Walkin27fd0b62007-08-27 23:57:45 +00007583 test ! -f $lt_ac_sed && continue
Lev Walkin8e8b5482004-06-17 23:42:48 +00007584 cat /dev/null > conftest.in
7585 lt_ac_count=0
7586 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7587 # Check for GNU sed and select it if it is found.
7588 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7589 lt_cv_path_SED=$lt_ac_sed
7590 break
7591 fi
7592 while true; do
7593 cat conftest.in conftest.in >conftest.tmp
7594 mv conftest.tmp conftest.in
7595 cp conftest.in conftest.nl
7596 echo >>conftest.nl
7597 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7598 cmp -s conftest.out conftest.nl || break
7599 # 10000 chars as input seems more than enough
7600 test $lt_ac_count -gt 10 && break
7601 lt_ac_count=`expr $lt_ac_count + 1`
7602 if test $lt_ac_count -gt $lt_ac_max; then
7603 lt_ac_max=$lt_ac_count
7604 lt_cv_path_SED=$lt_ac_sed
7605 fi
7606 done
7607done
Lev Walkin8e8b5482004-06-17 23:42:48 +00007608])
Lev Walkin27fd0b62007-08-27 23:57:45 +00007609SED=$lt_cv_path_SED
Lev Walkin4da95cf2010-10-16 02:46:32 -07007610AC_SUBST([SED])
Lev Walkin8e8b5482004-06-17 23:42:48 +00007611AC_MSG_RESULT([$SED])
Lev Walkin4da95cf2010-10-16 02:46:32 -07007612])#AC_PROG_SED
7613])#m4_ifndef
7614
7615# Old name:
7616AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7617dnl aclocal-1.4 backwards compatibility:
7618dnl AC_DEFUN([LT_AC_PROG_SED], [])
7619
7620
7621# _LT_CHECK_SHELL_FEATURES
7622# ------------------------
7623# Find out whether the shell is Bourne or XSI compatible,
7624# or has some other useful features.
7625m4_defun([_LT_CHECK_SHELL_FEATURES],
7626[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7627# Try some XSI features
7628xsi_shell=no
7629( _lt_dummy="a/b/c"
7630 test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
7631 = c,a/b,b/c, \
7632 && eval 'test $(( 1 + 1 )) -eq 2 \
7633 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7634 && xsi_shell=yes
7635AC_MSG_RESULT([$xsi_shell])
7636_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7637
7638AC_MSG_CHECKING([whether the shell understands "+="])
7639lt_shell_append=no
7640( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7641 >/dev/null 2>&1 \
7642 && lt_shell_append=yes
7643AC_MSG_RESULT([$lt_shell_append])
7644_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7645
7646if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7647 lt_unset=unset
7648else
7649 lt_unset=false
7650fi
7651_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7652
7653# test EBCDIC or ASCII
7654case `echo X|tr X '\101'` in
7655 A) # ASCII based system
7656 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7657 lt_SP2NL='tr \040 \012'
7658 lt_NL2SP='tr \015\012 \040\040'
7659 ;;
7660 *) # EBCDIC based system
7661 lt_SP2NL='tr \100 \n'
7662 lt_NL2SP='tr \r\n \100\100'
7663 ;;
7664esac
7665_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7666_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7667])# _LT_CHECK_SHELL_FEATURES
7668
7669
7670# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
7671# ------------------------------------------------------
7672# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
7673# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
7674m4_defun([_LT_PROG_FUNCTION_REPLACE],
7675[dnl {
7676sed -e '/^$1 ()$/,/^} # $1 /c\
7677$1 ()\
7678{\
7679m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
7680} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
7681 && mv -f "$cfgfile.tmp" "$cfgfile" \
7682 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7683test 0 -eq $? || _lt_function_replace_fail=:
Lev Walkin8e8b5482004-06-17 23:42:48 +00007684])
7685
Lev Walkin4da95cf2010-10-16 02:46:32 -07007686
7687# _LT_PROG_REPLACE_SHELLFNS
7688# -------------------------
7689# Replace existing portable implementations of several shell functions with
7690# equivalent extended shell implementations where those features are available..
7691m4_defun([_LT_PROG_REPLACE_SHELLFNS],
7692[if test x"$xsi_shell" = xyes; then
7693 _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
7694 case ${1} in
7695 */*) func_dirname_result="${1%/*}${2}" ;;
7696 * ) func_dirname_result="${3}" ;;
7697 esac])
7698
7699 _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
7700 func_basename_result="${1##*/}"])
7701
7702 _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
7703 case ${1} in
7704 */*) func_dirname_result="${1%/*}${2}" ;;
7705 * ) func_dirname_result="${3}" ;;
7706 esac
7707 func_basename_result="${1##*/}"])
7708
7709 _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
7710 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7711 # positional parameters, so assign one to ordinary parameter first.
7712 func_stripname_result=${3}
7713 func_stripname_result=${func_stripname_result#"${1}"}
7714 func_stripname_result=${func_stripname_result%"${2}"}])
7715
7716 _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
7717 func_split_long_opt_name=${1%%=*}
7718 func_split_long_opt_arg=${1#*=}])
7719
7720 _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
7721 func_split_short_opt_arg=${1#??}
7722 func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
7723
7724 _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
7725 case ${1} in
7726 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7727 *) func_lo2o_result=${1} ;;
7728 esac])
7729
7730 _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
7731
7732 _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
7733
7734 _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
7735fi
7736
7737if test x"$lt_shell_append" = xyes; then
7738 _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
7739
7740 _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
7741 func_quote_for_eval "${2}"
7742dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
7743 eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
7744
7745 # Save a `func_append' function call where possible by direct use of '+='
7746 sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
7747 && mv -f "$cfgfile.tmp" "$cfgfile" \
7748 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7749 test 0 -eq $? || _lt_function_replace_fail=:
7750else
7751 # Save a `func_append' function call even when '+=' is not available
7752 sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
7753 && mv -f "$cfgfile.tmp" "$cfgfile" \
7754 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7755 test 0 -eq $? || _lt_function_replace_fail=:
7756fi
7757
7758if test x"$_lt_function_replace_fail" = x":"; then
7759 AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
7760fi
7761])
7762
7763# _LT_PATH_CONVERSION_FUNCTIONS
7764# -----------------------------
7765# Determine which file name conversion functions should be used by
7766# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
7767# for certain cross-compile configurations and native mingw.
7768m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
7769[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7770AC_REQUIRE([AC_CANONICAL_BUILD])dnl
7771AC_MSG_CHECKING([how to convert $build file names to $host format])
7772AC_CACHE_VAL(lt_cv_to_host_file_cmd,
7773[case $host in
7774 *-*-mingw* )
7775 case $build in
7776 *-*-mingw* ) # actually msys
7777 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
7778 ;;
7779 *-*-cygwin* )
7780 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
7781 ;;
7782 * ) # otherwise, assume *nix
7783 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
7784 ;;
7785 esac
7786 ;;
7787 *-*-cygwin* )
7788 case $build in
7789 *-*-mingw* ) # actually msys
7790 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
7791 ;;
7792 *-*-cygwin* )
7793 lt_cv_to_host_file_cmd=func_convert_file_noop
7794 ;;
7795 * ) # otherwise, assume *nix
7796 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
7797 ;;
7798 esac
7799 ;;
7800 * ) # unhandled hosts (and "normal" native builds)
7801 lt_cv_to_host_file_cmd=func_convert_file_noop
7802 ;;
7803esac
7804])
7805to_host_file_cmd=$lt_cv_to_host_file_cmd
7806AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
7807_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
7808 [0], [convert $build file names to $host format])dnl
7809
7810AC_MSG_CHECKING([how to convert $build file names to toolchain format])
7811AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
7812[#assume ordinary cross tools, or native build.
7813lt_cv_to_tool_file_cmd=func_convert_file_noop
7814case $host in
7815 *-*-mingw* )
7816 case $build in
7817 *-*-mingw* ) # actually msys
7818 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
7819 ;;
7820 esac
7821 ;;
7822esac
7823])
7824to_tool_file_cmd=$lt_cv_to_tool_file_cmd
7825AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
7826_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
7827 [0], [convert $build files to toolchain format])dnl
7828])# _LT_PATH_CONVERSION_FUNCTIONS
7829
7830# Helper functions for option handling. -*- Autoconf -*-
7831#
7832# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
7833# Inc.
7834# Written by Gary V. Vaughan, 2004
7835#
7836# This file is free software; the Free Software Foundation gives
7837# unlimited permission to copy and/or distribute it, with or without
7838# modifications, as long as this notice is preserved.
7839
7840# serial 7 ltoptions.m4
7841
7842# This is to help aclocal find these macros, as it can't see m4_define.
7843AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
7844
7845
7846# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
7847# ------------------------------------------
7848m4_define([_LT_MANGLE_OPTION],
7849[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
7850
7851
7852# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
7853# ---------------------------------------
7854# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
7855# matching handler defined, dispatch to it. Other OPTION-NAMEs are
7856# saved as a flag.
7857m4_define([_LT_SET_OPTION],
7858[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
7859m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
7860 _LT_MANGLE_DEFUN([$1], [$2]),
7861 [m4_warning([Unknown $1 option `$2'])])[]dnl
7862])
7863
7864
7865# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
7866# ------------------------------------------------------------
7867# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
7868m4_define([_LT_IF_OPTION],
7869[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
7870
7871
7872# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
7873# -------------------------------------------------------
7874# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
7875# are set.
7876m4_define([_LT_UNLESS_OPTIONS],
7877[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7878 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
7879 [m4_define([$0_found])])])[]dnl
7880m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
7881])[]dnl
7882])
7883
7884
7885# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
7886# ----------------------------------------
7887# OPTION-LIST is a space-separated list of Libtool options associated
7888# with MACRO-NAME. If any OPTION has a matching handler declared with
7889# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
7890# the unknown option and exit.
7891m4_defun([_LT_SET_OPTIONS],
7892[# Set options
7893m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7894 [_LT_SET_OPTION([$1], _LT_Option)])
7895
7896m4_if([$1],[LT_INIT],[
7897 dnl
7898 dnl Simply set some default values (i.e off) if boolean options were not
7899 dnl specified:
7900 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
7901 ])
7902 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
7903 ])
7904 dnl
7905 dnl If no reference was made to various pairs of opposing options, then
7906 dnl we run the default mode handler for the pair. For example, if neither
7907 dnl `shared' nor `disable-shared' was passed, we enable building of shared
7908 dnl archives by default:
7909 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
7910 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
7911 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
7912 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
7913 [_LT_ENABLE_FAST_INSTALL])
7914 ])
7915])# _LT_SET_OPTIONS
7916
7917
7918
7919# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
7920# -----------------------------------------
7921m4_define([_LT_MANGLE_DEFUN],
7922[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
7923
7924
7925# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
7926# -----------------------------------------------
7927m4_define([LT_OPTION_DEFINE],
7928[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
7929])# LT_OPTION_DEFINE
7930
7931
7932# dlopen
7933# ------
7934LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
7935])
7936
7937AU_DEFUN([AC_LIBTOOL_DLOPEN],
7938[_LT_SET_OPTION([LT_INIT], [dlopen])
7939AC_DIAGNOSE([obsolete],
7940[$0: Remove this warning and the call to _LT_SET_OPTION when you
7941put the `dlopen' option into LT_INIT's first parameter.])
7942])
7943
7944dnl aclocal-1.4 backwards compatibility:
7945dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
7946
7947
7948# win32-dll
7949# ---------
7950# Declare package support for building win32 dll's.
7951LT_OPTION_DEFINE([LT_INIT], [win32-dll],
7952[enable_win32_dll=yes
7953
7954case $host in
7955*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
7956 AC_CHECK_TOOL(AS, as, false)
7957 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7958 AC_CHECK_TOOL(OBJDUMP, objdump, false)
7959 ;;
7960esac
7961
7962test -z "$AS" && AS=as
7963_LT_DECL([], [AS], [1], [Assembler program])dnl
7964
7965test -z "$DLLTOOL" && DLLTOOL=dlltool
7966_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
7967
7968test -z "$OBJDUMP" && OBJDUMP=objdump
7969_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
7970])# win32-dll
7971
7972AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
7973[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7974_LT_SET_OPTION([LT_INIT], [win32-dll])
7975AC_DIAGNOSE([obsolete],
7976[$0: Remove this warning and the call to _LT_SET_OPTION when you
7977put the `win32-dll' option into LT_INIT's first parameter.])
7978])
7979
7980dnl aclocal-1.4 backwards compatibility:
7981dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
7982
7983
7984# _LT_ENABLE_SHARED([DEFAULT])
7985# ----------------------------
7986# implement the --enable-shared flag, and supports the `shared' and
7987# `disable-shared' LT_INIT options.
7988# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7989m4_define([_LT_ENABLE_SHARED],
7990[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
7991AC_ARG_ENABLE([shared],
7992 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
7993 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
7994 [p=${PACKAGE-default}
7995 case $enableval in
7996 yes) enable_shared=yes ;;
7997 no) enable_shared=no ;;
7998 *)
7999 enable_shared=no
8000 # Look at the argument we got. We use all the common list separators.
8001 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8002 for pkg in $enableval; do
8003 IFS="$lt_save_ifs"
8004 if test "X$pkg" = "X$p"; then
8005 enable_shared=yes
8006 fi
8007 done
8008 IFS="$lt_save_ifs"
8009 ;;
8010 esac],
8011 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
8012
8013 _LT_DECL([build_libtool_libs], [enable_shared], [0],
8014 [Whether or not to build shared libraries])
8015])# _LT_ENABLE_SHARED
8016
8017LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
8018LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
8019
8020# Old names:
8021AC_DEFUN([AC_ENABLE_SHARED],
8022[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
8023])
8024
8025AC_DEFUN([AC_DISABLE_SHARED],
8026[_LT_SET_OPTION([LT_INIT], [disable-shared])
8027])
8028
8029AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
8030AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
8031
8032dnl aclocal-1.4 backwards compatibility:
8033dnl AC_DEFUN([AM_ENABLE_SHARED], [])
8034dnl AC_DEFUN([AM_DISABLE_SHARED], [])
8035
8036
8037
8038# _LT_ENABLE_STATIC([DEFAULT])
8039# ----------------------------
8040# implement the --enable-static flag, and support the `static' and
8041# `disable-static' LT_INIT options.
8042# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
8043m4_define([_LT_ENABLE_STATIC],
8044[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
8045AC_ARG_ENABLE([static],
8046 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
8047 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
8048 [p=${PACKAGE-default}
8049 case $enableval in
8050 yes) enable_static=yes ;;
8051 no) enable_static=no ;;
8052 *)
8053 enable_static=no
8054 # Look at the argument we got. We use all the common list separators.
8055 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8056 for pkg in $enableval; do
8057 IFS="$lt_save_ifs"
8058 if test "X$pkg" = "X$p"; then
8059 enable_static=yes
8060 fi
8061 done
8062 IFS="$lt_save_ifs"
8063 ;;
8064 esac],
8065 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
8066
8067 _LT_DECL([build_old_libs], [enable_static], [0],
8068 [Whether or not to build static libraries])
8069])# _LT_ENABLE_STATIC
8070
8071LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
8072LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
8073
8074# Old names:
8075AC_DEFUN([AC_ENABLE_STATIC],
8076[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
8077])
8078
8079AC_DEFUN([AC_DISABLE_STATIC],
8080[_LT_SET_OPTION([LT_INIT], [disable-static])
8081])
8082
8083AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
8084AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
8085
8086dnl aclocal-1.4 backwards compatibility:
8087dnl AC_DEFUN([AM_ENABLE_STATIC], [])
8088dnl AC_DEFUN([AM_DISABLE_STATIC], [])
8089
8090
8091
8092# _LT_ENABLE_FAST_INSTALL([DEFAULT])
8093# ----------------------------------
8094# implement the --enable-fast-install flag, and support the `fast-install'
8095# and `disable-fast-install' LT_INIT options.
8096# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
8097m4_define([_LT_ENABLE_FAST_INSTALL],
8098[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
8099AC_ARG_ENABLE([fast-install],
8100 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
8101 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
8102 [p=${PACKAGE-default}
8103 case $enableval in
8104 yes) enable_fast_install=yes ;;
8105 no) enable_fast_install=no ;;
8106 *)
8107 enable_fast_install=no
8108 # Look at the argument we got. We use all the common list separators.
8109 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
8110 for pkg in $enableval; do
8111 IFS="$lt_save_ifs"
8112 if test "X$pkg" = "X$p"; then
8113 enable_fast_install=yes
8114 fi
8115 done
8116 IFS="$lt_save_ifs"
8117 ;;
8118 esac],
8119 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
8120
8121_LT_DECL([fast_install], [enable_fast_install], [0],
8122 [Whether or not to optimize for fast installation])dnl
8123])# _LT_ENABLE_FAST_INSTALL
8124
8125LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
8126LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
8127
8128# Old names:
8129AU_DEFUN([AC_ENABLE_FAST_INSTALL],
8130[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
8131AC_DIAGNOSE([obsolete],
8132[$0: Remove this warning and the call to _LT_SET_OPTION when you put
8133the `fast-install' option into LT_INIT's first parameter.])
8134])
8135
8136AU_DEFUN([AC_DISABLE_FAST_INSTALL],
8137[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
8138AC_DIAGNOSE([obsolete],
8139[$0: Remove this warning and the call to _LT_SET_OPTION when you put
8140the `disable-fast-install' option into LT_INIT's first parameter.])
8141])
8142
8143dnl aclocal-1.4 backwards compatibility:
8144dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
8145dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
8146
8147
8148# _LT_WITH_PIC([MODE])
8149# --------------------
8150# implement the --with-pic flag, and support the `pic-only' and `no-pic'
8151# LT_INIT options.
8152# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
8153m4_define([_LT_WITH_PIC],
8154[AC_ARG_WITH([pic],
8155 [AS_HELP_STRING([--with-pic],
8156 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
8157 [pic_mode="$withval"],
8158 [pic_mode=default])
8159
8160test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
8161
8162_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
8163])# _LT_WITH_PIC
8164
8165LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
8166LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
8167
8168# Old name:
8169AU_DEFUN([AC_LIBTOOL_PICMODE],
8170[_LT_SET_OPTION([LT_INIT], [pic-only])
8171AC_DIAGNOSE([obsolete],
8172[$0: Remove this warning and the call to _LT_SET_OPTION when you
8173put the `pic-only' option into LT_INIT's first parameter.])
8174])
8175
8176dnl aclocal-1.4 backwards compatibility:
8177dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
8178
8179
8180m4_define([_LTDL_MODE], [])
8181LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
8182 [m4_define([_LTDL_MODE], [nonrecursive])])
8183LT_OPTION_DEFINE([LTDL_INIT], [recursive],
8184 [m4_define([_LTDL_MODE], [recursive])])
8185LT_OPTION_DEFINE([LTDL_INIT], [subproject],
8186 [m4_define([_LTDL_MODE], [subproject])])
8187
8188m4_define([_LTDL_TYPE], [])
8189LT_OPTION_DEFINE([LTDL_INIT], [installable],
8190 [m4_define([_LTDL_TYPE], [installable])])
8191LT_OPTION_DEFINE([LTDL_INIT], [convenience],
8192 [m4_define([_LTDL_TYPE], [convenience])])
8193
8194# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
8195#
8196# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
8197# Written by Gary V. Vaughan, 2004
8198#
8199# This file is free software; the Free Software Foundation gives
8200# unlimited permission to copy and/or distribute it, with or without
8201# modifications, as long as this notice is preserved.
8202
8203# serial 6 ltsugar.m4
8204
8205# This is to help aclocal find these macros, as it can't see m4_define.
8206AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
8207
8208
8209# lt_join(SEP, ARG1, [ARG2...])
8210# -----------------------------
8211# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
8212# associated separator.
8213# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
8214# versions in m4sugar had bugs.
8215m4_define([lt_join],
8216[m4_if([$#], [1], [],
8217 [$#], [2], [[$2]],
8218 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
8219m4_define([_lt_join],
8220[m4_if([$#$2], [2], [],
8221 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
8222
8223
8224# lt_car(LIST)
8225# lt_cdr(LIST)
8226# ------------
8227# Manipulate m4 lists.
8228# These macros are necessary as long as will still need to support
8229# Autoconf-2.59 which quotes differently.
8230m4_define([lt_car], [[$1]])
8231m4_define([lt_cdr],
8232[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
8233 [$#], 1, [],
8234 [m4_dquote(m4_shift($@))])])
8235m4_define([lt_unquote], $1)
8236
8237
8238# lt_append(MACRO-NAME, STRING, [SEPARATOR])
8239# ------------------------------------------
8240# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
8241# Note that neither SEPARATOR nor STRING are expanded; they are appended
8242# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
8243# No SEPARATOR is output if MACRO-NAME was previously undefined (different
8244# than defined and empty).
8245#
8246# This macro is needed until we can rely on Autoconf 2.62, since earlier
8247# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
8248m4_define([lt_append],
8249[m4_define([$1],
8250 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
8251
8252
8253
8254# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
8255# ----------------------------------------------------------
8256# Produce a SEP delimited list of all paired combinations of elements of
8257# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
8258# has the form PREFIXmINFIXSUFFIXn.
8259# Needed until we can rely on m4_combine added in Autoconf 2.62.
8260m4_define([lt_combine],
8261[m4_if(m4_eval([$# > 3]), [1],
8262 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
8263[[m4_foreach([_Lt_prefix], [$2],
8264 [m4_foreach([_Lt_suffix],
8265 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
8266 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
8267
8268
8269# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
8270# -----------------------------------------------------------------------
8271# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
8272# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
8273m4_define([lt_if_append_uniq],
8274[m4_ifdef([$1],
8275 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
8276 [lt_append([$1], [$2], [$3])$4],
8277 [$5])],
8278 [lt_append([$1], [$2], [$3])$4])])
8279
8280
8281# lt_dict_add(DICT, KEY, VALUE)
8282# -----------------------------
8283m4_define([lt_dict_add],
8284[m4_define([$1($2)], [$3])])
8285
8286
8287# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
8288# --------------------------------------------
8289m4_define([lt_dict_add_subkey],
8290[m4_define([$1($2:$3)], [$4])])
8291
8292
8293# lt_dict_fetch(DICT, KEY, [SUBKEY])
8294# ----------------------------------
8295m4_define([lt_dict_fetch],
8296[m4_ifval([$3],
8297 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
8298 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
8299
8300
8301# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
8302# -----------------------------------------------------------------
8303m4_define([lt_if_dict_fetch],
8304[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
8305 [$5],
8306 [$6])])
8307
8308
8309# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
8310# --------------------------------------------------------------
8311m4_define([lt_dict_filter],
8312[m4_if([$5], [], [],
8313 [lt_join(m4_quote(m4_default([$4], [[, ]])),
8314 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
8315 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
8316])
8317
8318# ltversion.m4 -- version numbers -*- Autoconf -*-
8319#
8320# Copyright (C) 2004 Free Software Foundation, Inc.
8321# Written by Scott James Remnant, 2004
8322#
8323# This file is free software; the Free Software Foundation gives
8324# unlimited permission to copy and/or distribute it, with or without
8325# modifications, as long as this notice is preserved.
8326
8327# @configure_input@
8328
8329# serial 3293 ltversion.m4
8330# This file is part of GNU Libtool
8331
8332m4_define([LT_PACKAGE_VERSION], [2.4])
8333m4_define([LT_PACKAGE_REVISION], [1.3293])
8334
8335AC_DEFUN([LTVERSION_VERSION],
8336[macro_version='2.4'
8337macro_revision='1.3293'
8338_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
8339_LT_DECL(, macro_revision, 0)
8340])
8341
8342# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
8343#
8344# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
8345# Written by Scott James Remnant, 2004.
8346#
8347# This file is free software; the Free Software Foundation gives
8348# unlimited permission to copy and/or distribute it, with or without
8349# modifications, as long as this notice is preserved.
8350
8351# serial 5 lt~obsolete.m4
8352
8353# These exist entirely to fool aclocal when bootstrapping libtool.
8354#
8355# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
8356# which have later been changed to m4_define as they aren't part of the
8357# exported API, or moved to Autoconf or Automake where they belong.
8358#
8359# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
8360# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
8361# using a macro with the same name in our local m4/libtool.m4 it'll
8362# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
8363# and doesn't know about Autoconf macros at all.)
8364#
8365# So we provide this file, which has a silly filename so it's always
8366# included after everything else. This provides aclocal with the
8367# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
8368# because those macros already exist, or will be overwritten later.
8369# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
8370#
8371# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
8372# Yes, that means every name once taken will need to remain here until
8373# we give up compatibility with versions before 1.7, at which point
8374# we need to keep only those names which we still refer to.
8375
8376# This is to help aclocal find these macros, as it can't see m4_define.
8377AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
8378
8379m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
8380m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
8381m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
8382m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
8383m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
8384m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
8385m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
8386m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
8387m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
8388m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
8389m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
8390m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
8391m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
8392m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
8393m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
8394m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
8395m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
8396m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
8397m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
8398m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
8399m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
8400m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
8401m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
8402m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
8403m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
8404m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
8405m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
8406m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
8407m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
8408m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
8409m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
8410m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
8411m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
8412m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
8413m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
8414m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
8415m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
8416m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
8417m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
8418m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
8419m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
8420m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
8421m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
8422m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
8423m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
8424m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
8425m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
8426m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
8427m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
8428m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
8429m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
8430m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
8431m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
8432m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
8433m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
8434m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
8435m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
8436m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
8437m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
8438m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
8439m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
8440
Lev Walkin5af1a692006-08-18 01:54:27 +00008441# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
8442#
8443# This file is free software; the Free Software Foundation
8444# gives unlimited permission to copy and/or distribute it,
8445# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008446
8447# AM_AUTOMAKE_VERSION(VERSION)
8448# ----------------------------
8449# Automake X.Y traces this macro to ensure aclocal.m4 has been
8450# generated from the m4 files accompanying Automake X.Y.
Lev Walkin5af1a692006-08-18 01:54:27 +00008451AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008452
8453# AM_SET_CURRENT_AUTOMAKE_VERSION
8454# -------------------------------
8455# Call AM_AUTOMAKE_VERSION so it can be traced.
8456# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
8457AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
Lev Walkin5af1a692006-08-18 01:54:27 +00008458 [AM_AUTOMAKE_VERSION([1.9.6])])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008459
Lev Walkin5af1a692006-08-18 01:54:27 +00008460# AM_AUX_DIR_EXPAND -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008461
Lev Walkin5af1a692006-08-18 01:54:27 +00008462# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8463#
8464# This file is free software; the Free Software Foundation
8465# gives unlimited permission to copy and/or distribute it,
8466# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008467
8468# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
8469# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
8470# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
8471#
8472# Of course, Automake must honor this variable whenever it calls a
8473# tool from the auxiliary directory. The problem is that $srcdir (and
8474# therefore $ac_aux_dir as well) can be either absolute or relative,
8475# depending on how configure is run. This is pretty annoying, since
8476# it makes $ac_aux_dir quite unusable in subdirectories: in the top
8477# source directory, any form will work fine, but in subdirectories a
8478# relative path needs to be adjusted first.
8479#
8480# $ac_aux_dir/missing
8481# fails when called from a subdirectory if $ac_aux_dir is relative
8482# $top_srcdir/$ac_aux_dir/missing
8483# fails if $ac_aux_dir is absolute,
8484# fails when called from a subdirectory in a VPATH build with
8485# a relative $ac_aux_dir
8486#
8487# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
8488# are both prefixed by $srcdir. In an in-source build this is usually
8489# harmless because $srcdir is `.', but things will broke when you
8490# start a VPATH build or use an absolute $srcdir.
8491#
8492# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
8493# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
8494# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
8495# and then we would define $MISSING as
8496# MISSING="\${SHELL} $am_aux_dir/missing"
8497# This will work as long as MISSING is not called from configure, because
8498# unfortunately $(top_srcdir) has no meaning in configure.
8499# However there are other variables, like CC, which are often used in
8500# configure, and could therefore not use this "fixed" $ac_aux_dir.
8501#
8502# Another solution, used here, is to always expand $ac_aux_dir to an
8503# absolute PATH. The drawback is that using absolute paths prevent a
8504# configured tree to be moved without reconfiguration.
8505
8506AC_DEFUN([AM_AUX_DIR_EXPAND],
8507[dnl Rely on autoconf to set up CDPATH properly.
8508AC_PREREQ([2.50])dnl
8509# expand $ac_aux_dir to an absolute path
8510am_aux_dir=`cd $ac_aux_dir && pwd`
8511])
8512
Lev Walkin5af1a692006-08-18 01:54:27 +00008513# AM_CONDITIONAL -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008514
Lev Walkin5af1a692006-08-18 01:54:27 +00008515# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
8516# Free Software Foundation, Inc.
8517#
8518# This file is free software; the Free Software Foundation
8519# gives unlimited permission to copy and/or distribute it,
8520# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008521
Lev Walkin5af1a692006-08-18 01:54:27 +00008522# serial 7
Lev Walkin8e8b5482004-06-17 23:42:48 +00008523
8524# AM_CONDITIONAL(NAME, SHELL-CONDITION)
8525# -------------------------------------
8526# Define a conditional.
8527AC_DEFUN([AM_CONDITIONAL],
8528[AC_PREREQ(2.52)dnl
8529 ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
8530 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
8531AC_SUBST([$1_TRUE])
8532AC_SUBST([$1_FALSE])
8533if $2; then
8534 $1_TRUE=
8535 $1_FALSE='#'
8536else
8537 $1_TRUE='#'
8538 $1_FALSE=
8539fi
8540AC_CONFIG_COMMANDS_PRE(
8541[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
Lev Walkin5af1a692006-08-18 01:54:27 +00008542 AC_MSG_ERROR([[conditional "$1" was never defined.
8543Usually this means the macro was only invoked conditionally.]])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008544fi])])
8545
Lev Walkin8e8b5482004-06-17 23:42:48 +00008546
Lev Walkin5af1a692006-08-18 01:54:27 +00008547# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
Lev Walkin8e8b5482004-06-17 23:42:48 +00008548# Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008549#
8550# This file is free software; the Free Software Foundation
8551# gives unlimited permission to copy and/or distribute it,
8552# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008553
Lev Walkin5af1a692006-08-18 01:54:27 +00008554# serial 8
Lev Walkinf15320b2004-06-03 03:38:44 +00008555
8556# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
8557# written in clear, in which case automake, when reading aclocal.m4,
8558# will think it sees a *use*, and therefore will trigger all it's
8559# C support machinery. Also note that it means that autoscan, seeing
8560# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
8561
8562
Lev Walkin8e8b5482004-06-17 23:42:48 +00008563# _AM_DEPENDENCIES(NAME)
8564# ----------------------
8565# See how the compiler implements dependency checking.
8566# NAME is "CC", "CXX", "GCJ", or "OBJC".
8567# We try a few techniques and use that to set a single cache variable.
8568#
8569# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
8570# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
8571# dependency, and given that the user is not expected to run this macro,
8572# just rely on AC_PROG_CC.
8573AC_DEFUN([_AM_DEPENDENCIES],
8574[AC_REQUIRE([AM_SET_DEPDIR])dnl
8575AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
8576AC_REQUIRE([AM_MAKE_INCLUDE])dnl
8577AC_REQUIRE([AM_DEP_TRACK])dnl
8578
8579ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
8580 [$1], CXX, [depcc="$CXX" am_compiler_list=],
8581 [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
8582 [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
8583 [depcc="$$1" am_compiler_list=])
8584
8585AC_CACHE_CHECK([dependency style of $depcc],
8586 [am_cv_$1_dependencies_compiler_type],
8587[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
8588 # We make a subdir and do the tests there. Otherwise we can end up
8589 # making bogus files that we don't know about and never remove. For
8590 # instance it was reported that on HP-UX the gcc test will end up
8591 # making a dummy file named `D' -- because `-MD' means `put the output
8592 # in D'.
8593 mkdir conftest.dir
8594 # Copy depcomp to subdir because otherwise we won't find it if we're
8595 # using a relative directory.
8596 cp "$am_depcomp" conftest.dir
8597 cd conftest.dir
8598 # We will build objects and dependencies in a subdirectory because
8599 # it helps to detect inapplicable dependency modes. For instance
8600 # both Tru64's cc and ICC support -MD to output dependencies as a
8601 # side effect of compilation, but ICC will put the dependencies in
8602 # the current directory while Tru64 will put them in the object
8603 # directory.
8604 mkdir sub
8605
8606 am_cv_$1_dependencies_compiler_type=none
8607 if test "$am_compiler_list" = ""; then
8608 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
8609 fi
8610 for depmode in $am_compiler_list; do
8611 # Setup a source with many dependencies, because some compilers
8612 # like to wrap large dependency lists on column 80 (with \), and
8613 # we should not choose a depcomp mode which is confused by this.
8614 #
8615 # We need to recreate these files for each test, as the compiler may
8616 # overwrite some of them when testing with obscure command lines.
8617 # This happens at least with the AIX C compiler.
8618 : > sub/conftest.c
8619 for i in 1 2 3 4 5 6; do
8620 echo '#include "conftst'$i'.h"' >> sub/conftest.c
8621 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
8622 # Solaris 8's {/usr,}/bin/sh.
8623 touch sub/conftst$i.h
8624 done
8625 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
8626
8627 case $depmode in
8628 nosideeffect)
8629 # after this tag, mechanisms are not by side-effect, so they'll
8630 # only be used when explicitly requested
8631 if test "x$enable_dependency_tracking" = xyes; then
8632 continue
8633 else
8634 break
8635 fi
8636 ;;
8637 none) break ;;
8638 esac
8639 # We check with `-c' and `-o' for the sake of the "dashmstdout"
8640 # mode. It turns out that the SunPro C++ compiler does not properly
8641 # handle `-M -o', and we need to detect this.
8642 if depmode=$depmode \
8643 source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
8644 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
8645 $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
8646 >/dev/null 2>conftest.err &&
8647 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
8648 grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
8649 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
8650 # icc doesn't choke on unknown options, it will just issue warnings
8651 # or remarks (even with -Werror). So we grep stderr for any message
8652 # that says an option was ignored or not supported.
8653 # When given -MP, icc 7.0 and 7.1 complain thusly:
8654 # icc: Command line warning: ignoring option '-M'; no argument required
8655 # The diagnosis changed in icc 8.0:
8656 # icc: Command line remark: option '-MP' not supported
8657 if (grep 'ignoring option' conftest.err ||
8658 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
8659 am_cv_$1_dependencies_compiler_type=$depmode
8660 break
8661 fi
8662 fi
8663 done
8664
8665 cd ..
8666 rm -rf conftest.dir
8667else
8668 am_cv_$1_dependencies_compiler_type=none
8669fi
8670])
8671AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
8672AM_CONDITIONAL([am__fastdep$1], [
8673 test "x$enable_dependency_tracking" != xno \
8674 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
8675])
Lev Walkinf15320b2004-06-03 03:38:44 +00008676
8677
Lev Walkin8e8b5482004-06-17 23:42:48 +00008678# AM_SET_DEPDIR
8679# -------------
8680# Choose a directory name for dependency files.
8681# This macro is AC_REQUIREd in _AM_DEPENDENCIES
8682AC_DEFUN([AM_SET_DEPDIR],
8683[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
8684AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
8685])
8686
8687
8688# AM_DEP_TRACK
8689# ------------
8690AC_DEFUN([AM_DEP_TRACK],
8691[AC_ARG_ENABLE(dependency-tracking,
8692[ --disable-dependency-tracking speeds up one-time build
8693 --enable-dependency-tracking do not reject slow dependency extractors])
8694if test "x$enable_dependency_tracking" != xno; then
8695 am_depcomp="$ac_aux_dir/depcomp"
8696 AMDEPBACKSLASH='\'
8697fi
8698AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
8699AC_SUBST([AMDEPBACKSLASH])
8700])
8701
Lev Walkin5af1a692006-08-18 01:54:27 +00008702# Generate code to set up dependency tracking. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008703
Lev Walkin5af1a692006-08-18 01:54:27 +00008704# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
8705# Free Software Foundation, Inc.
8706#
8707# This file is free software; the Free Software Foundation
8708# gives unlimited permission to copy and/or distribute it,
8709# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008710
Lev Walkin5af1a692006-08-18 01:54:27 +00008711#serial 3
Lev Walkin8e8b5482004-06-17 23:42:48 +00008712
8713# _AM_OUTPUT_DEPENDENCY_COMMANDS
8714# ------------------------------
8715AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
8716[for mf in $CONFIG_FILES; do
8717 # Strip MF so we end up with the name of the file.
8718 mf=`echo "$mf" | sed -e 's/:.*$//'`
8719 # Check whether this is an Automake generated Makefile or not.
8720 # We used to match only the files named `Makefile.in', but
8721 # some people rename them; so instead we look at the file content.
8722 # Grep'ing the first line is not enough: some people post-process
8723 # each Makefile.in and add a new line on top of each file to say so.
8724 # So let's grep whole file.
8725 if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
8726 dirpart=`AS_DIRNAME("$mf")`
8727 else
8728 continue
8729 fi
Lev Walkin5af1a692006-08-18 01:54:27 +00008730 # Extract the definition of DEPDIR, am__include, and am__quote
8731 # from the Makefile without running `make'.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008732 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
8733 test -z "$DEPDIR" && continue
Lev Walkin5af1a692006-08-18 01:54:27 +00008734 am__include=`sed -n 's/^am__include = //p' < "$mf"`
8735 test -z "am__include" && continue
8736 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
Lev Walkin8e8b5482004-06-17 23:42:48 +00008737 # When using ansi2knr, U may be empty or an underscore; expand it
8738 U=`sed -n 's/^U = //p' < "$mf"`
Lev Walkin5af1a692006-08-18 01:54:27 +00008739 # Find all dependency output files, they are included files with
8740 # $(DEPDIR) in their names. We invoke sed twice because it is the
8741 # simplest approach to changing $(DEPDIR) to its actual value in the
8742 # expansion.
8743 for file in `sed -n "
8744 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
Lev Walkin8e8b5482004-06-17 23:42:48 +00008745 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
8746 # Make sure the directory exists.
8747 test -f "$dirpart/$file" && continue
8748 fdir=`AS_DIRNAME(["$file"])`
8749 AS_MKDIR_P([$dirpart/$fdir])
8750 # echo "creating $dirpart/$file"
8751 echo '# dummy' > "$dirpart/$file"
8752 done
8753done
8754])# _AM_OUTPUT_DEPENDENCY_COMMANDS
8755
8756
8757# AM_OUTPUT_DEPENDENCY_COMMANDS
8758# -----------------------------
8759# This macro should only be invoked once -- use via AC_REQUIRE.
8760#
8761# This code is only required when automatic dependency tracking
8762# is enabled. FIXME. This creates each `.P' file that we will
8763# need in order to bootstrap the dependency handling code.
8764AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
8765[AC_CONFIG_COMMANDS([depfiles],
8766 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
8767 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
8768])
8769
Lev Walkin5af1a692006-08-18 01:54:27 +00008770# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
8771# Free Software Foundation, Inc.
8772#
8773# This file is free software; the Free Software Foundation
8774# gives unlimited permission to copy and/or distribute it,
8775# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008776
Lev Walkin5af1a692006-08-18 01:54:27 +00008777# serial 8
Lev Walkin8e8b5482004-06-17 23:42:48 +00008778
8779# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
8780AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
8781
Lev Walkin5af1a692006-08-18 01:54:27 +00008782# Do all the work for Automake. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008783
Lev Walkin5af1a692006-08-18 01:54:27 +00008784# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Lev Walkin8e8b5482004-06-17 23:42:48 +00008785# Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008786#
8787# This file is free software; the Free Software Foundation
8788# gives unlimited permission to copy and/or distribute it,
8789# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008790
Lev Walkin5af1a692006-08-18 01:54:27 +00008791# serial 12
Lev Walkin8e8b5482004-06-17 23:42:48 +00008792
Lev Walkin5af1a692006-08-18 01:54:27 +00008793# This macro actually does too much. Some checks are only needed if
8794# your package does certain things. But this isn't really a big deal.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008795
8796# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
8797# AM_INIT_AUTOMAKE([OPTIONS])
8798# -----------------------------------------------
8799# The call with PACKAGE and VERSION arguments is the old style
8800# call (pre autoconf-2.50), which is being phased out. PACKAGE
8801# and VERSION should now be passed to AC_INIT and removed from
8802# the call to AM_INIT_AUTOMAKE.
8803# We support both call styles for the transition. After
8804# the next Automake release, Autoconf can make the AC_INIT
8805# arguments mandatory, and then we can depend on a new Autoconf
8806# release and drop the old call support.
Lev Walkinf15320b2004-06-03 03:38:44 +00008807AC_DEFUN([AM_INIT_AUTOMAKE],
Lev Walkin8e8b5482004-06-17 23:42:48 +00008808[AC_PREREQ([2.58])dnl
8809dnl Autoconf wants to disallow AM_ names. We explicitly allow
8810dnl the ones we care about.
8811m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
8812AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
8813AC_REQUIRE([AC_PROG_INSTALL])dnl
Lev Walkinf15320b2004-06-03 03:38:44 +00008814# test to see if srcdir already configured
Lev Walkin8e8b5482004-06-17 23:42:48 +00008815if test "`cd $srcdir && pwd`" != "`pwd`" &&
Lev Walkinf15320b2004-06-03 03:38:44 +00008816 test -f $srcdir/config.status; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00008817 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
Lev Walkinf15320b2004-06-03 03:38:44 +00008818fi
8819
Lev Walkin8e8b5482004-06-17 23:42:48 +00008820# test whether we have cygpath
8821if test -z "$CYGPATH_W"; then
8822 if (cygpath --version) >/dev/null 2>/dev/null; then
8823 CYGPATH_W='cygpath -w'
8824 else
8825 CYGPATH_W=echo
8826 fi
8827fi
8828AC_SUBST([CYGPATH_W])
8829
Lev Walkinf15320b2004-06-03 03:38:44 +00008830# Define the identity of the package.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008831dnl Distinguish between old-style and new-style calls.
8832m4_ifval([$2],
8833[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
8834 AC_SUBST([PACKAGE], [$1])dnl
8835 AC_SUBST([VERSION], [$2])],
8836[_AM_SET_OPTIONS([$1])dnl
8837 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
8838 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
8839
8840_AM_IF_OPTION([no-define],,
Lev Walkinf15320b2004-06-03 03:38:44 +00008841[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008842 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
Lev Walkinf15320b2004-06-03 03:38:44 +00008843
8844# Some tools Automake needs.
8845AC_REQUIRE([AM_SANITY_CHECK])dnl
8846AC_REQUIRE([AC_ARG_PROGRAM])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008847AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
Lev Walkinf15320b2004-06-03 03:38:44 +00008848AM_MISSING_PROG(AUTOCONF, autoconf)
Lev Walkin8e8b5482004-06-17 23:42:48 +00008849AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
Lev Walkinf15320b2004-06-03 03:38:44 +00008850AM_MISSING_PROG(AUTOHEADER, autoheader)
8851AM_MISSING_PROG(MAKEINFO, makeinfo)
Lev Walkinf15320b2004-06-03 03:38:44 +00008852AM_PROG_INSTALL_SH
8853AM_PROG_INSTALL_STRIP
Lev Walkin8e8b5482004-06-17 23:42:48 +00008854AC_REQUIRE([AM_PROG_MKDIR_P])dnl
Lev Walkinf15320b2004-06-03 03:38:44 +00008855# We need awk for the "check" target. The system "awk" is bad on
8856# some platforms.
8857AC_REQUIRE([AC_PROG_AWK])dnl
8858AC_REQUIRE([AC_PROG_MAKE_SET])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008859AC_REQUIRE([AM_SET_LEADING_DOT])dnl
Lev Walkin5af1a692006-08-18 01:54:27 +00008860_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
8861 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
8862 [_AM_PROG_TAR([v7])])])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008863_AM_IF_OPTION([no-dependencies],,
8864[AC_PROVIDE_IFELSE([AC_PROG_CC],
Lev Walkinf15320b2004-06-03 03:38:44 +00008865 [_AM_DEPENDENCIES(CC)],
Lev Walkin8e8b5482004-06-17 23:42:48 +00008866 [define([AC_PROG_CC],
8867 defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
8868AC_PROVIDE_IFELSE([AC_PROG_CXX],
Lev Walkinf15320b2004-06-03 03:38:44 +00008869 [_AM_DEPENDENCIES(CXX)],
Lev Walkin8e8b5482004-06-17 23:42:48 +00008870 [define([AC_PROG_CXX],
8871 defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
Lev Walkinf15320b2004-06-03 03:38:44 +00008872])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008873])
8874
8875
8876# When config.status generates a header, we must update the stamp-h file.
8877# This file resides in the same directory as the config header
8878# that is generated. The stamp files are numbered to have different names.
8879
8880# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
8881# loop where config.status creates the headers, so we can generate
8882# our stamp files there.
8883AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
8884[# Compute $1's index in $config_headers.
8885_am_stamp_count=1
8886for _am_header in $config_headers :; do
8887 case $_am_header in
8888 $1 | $1:* )
8889 break ;;
8890 * )
8891 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
8892 esac
8893done
8894echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
8895
Lev Walkin5af1a692006-08-18 01:54:27 +00008896# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8897#
8898# This file is free software; the Free Software Foundation
8899# gives unlimited permission to copy and/or distribute it,
8900# with or without modifications, as long as this notice is preserved.
8901
Lev Walkin8e8b5482004-06-17 23:42:48 +00008902# AM_PROG_INSTALL_SH
8903# ------------------
8904# Define $install_sh.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008905AC_DEFUN([AM_PROG_INSTALL_SH],
8906[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
8907install_sh=${install_sh-"$am_aux_dir/install-sh"}
8908AC_SUBST(install_sh)])
8909
Lev Walkin5af1a692006-08-18 01:54:27 +00008910# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
8911#
8912# This file is free software; the Free Software Foundation
8913# gives unlimited permission to copy and/or distribute it,
8914# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008915
Lev Walkin5af1a692006-08-18 01:54:27 +00008916# serial 2
Lev Walkin8e8b5482004-06-17 23:42:48 +00008917
8918# Check whether the underlying file-system supports filenames
8919# with a leading dot. For instance MS-DOS doesn't.
8920AC_DEFUN([AM_SET_LEADING_DOT],
8921[rm -rf .tst 2>/dev/null
8922mkdir .tst 2>/dev/null
8923if test -d .tst; then
8924 am__leading_dot=.
8925else
8926 am__leading_dot=_
8927fi
8928rmdir .tst 2>/dev/null
8929AC_SUBST([am__leading_dot])])
8930
Lev Walkin5af1a692006-08-18 01:54:27 +00008931# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
Lev Walkin8e8b5482004-06-17 23:42:48 +00008932# Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008933#
8934# This file is free software; the Free Software Foundation
8935# gives unlimited permission to copy and/or distribute it,
8936# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008937
Lev Walkin5af1a692006-08-18 01:54:27 +00008938# serial 5
Lev Walkin8e8b5482004-06-17 23:42:48 +00008939
8940# AM_PROG_LEX
8941# -----------
8942# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a
8943# "missing" invocation, for better error output.
8944AC_DEFUN([AM_PROG_LEX],
8945[AC_PREREQ(2.50)dnl
8946AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
8947AC_REQUIRE([AC_PROG_LEX])dnl
8948if test "$LEX" = :; then
8949 LEX=${am_missing_run}flex
8950fi])
8951
Lev Walkin5af1a692006-08-18 01:54:27 +00008952# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008953# From Jim Meyering
8954
Lev Walkin5af1a692006-08-18 01:54:27 +00008955# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
Lev Walkin8e8b5482004-06-17 23:42:48 +00008956# Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008957#
8958# This file is free software; the Free Software Foundation
8959# gives unlimited permission to copy and/or distribute it,
8960# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008961
Lev Walkin5af1a692006-08-18 01:54:27 +00008962# serial 4
Lev Walkin8e8b5482004-06-17 23:42:48 +00008963
8964AC_DEFUN([AM_MAINTAINER_MODE],
8965[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
8966 dnl maintainer-mode is disabled by default
8967 AC_ARG_ENABLE(maintainer-mode,
8968[ --enable-maintainer-mode enable make rules and dependencies not useful
8969 (and sometimes confusing) to the casual installer],
8970 USE_MAINTAINER_MODE=$enableval,
8971 USE_MAINTAINER_MODE=no)
8972 AC_MSG_RESULT([$USE_MAINTAINER_MODE])
8973 AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
8974 MAINT=$MAINTAINER_MODE_TRUE
8975 AC_SUBST(MAINT)dnl
8976]
8977)
8978
8979AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
8980
Lev Walkin5af1a692006-08-18 01:54:27 +00008981# Check to see how 'make' treats includes. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008982
Lev Walkin5af1a692006-08-18 01:54:27 +00008983# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
8984#
8985# This file is free software; the Free Software Foundation
8986# gives unlimited permission to copy and/or distribute it,
8987# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008988
Lev Walkin5af1a692006-08-18 01:54:27 +00008989# serial 3
Lev Walkin8e8b5482004-06-17 23:42:48 +00008990
8991# AM_MAKE_INCLUDE()
8992# -----------------
8993# Check to see how make treats includes.
8994AC_DEFUN([AM_MAKE_INCLUDE],
8995[am_make=${MAKE-make}
8996cat > confinc << 'END'
8997am__doit:
8998 @echo done
8999.PHONY: am__doit
9000END
9001# If we don't find an include directive, just comment out the code.
9002AC_MSG_CHECKING([for style of include used by $am_make])
9003am__include="#"
9004am__quote=
9005_am_result=none
9006# First try GNU make style include.
9007echo "include confinc" > confmf
9008# We grep out `Entering directory' and `Leaving directory'
9009# messages which can occur if `w' ends up in MAKEFLAGS.
9010# In particular we don't look at `^make:' because GNU make might
9011# be invoked under some other name (usually "gmake"), in which
9012# case it prints its new name instead of `make'.
9013if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
9014 am__include=include
9015 am__quote=
9016 _am_result=GNU
9017fi
9018# Now try BSD make style include.
9019if test "$am__include" = "#"; then
9020 echo '.include "confinc"' > confmf
9021 if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
9022 am__include=.include
9023 am__quote="\""
9024 _am_result=BSD
9025 fi
9026fi
9027AC_SUBST([am__include])
9028AC_SUBST([am__quote])
9029AC_MSG_RESULT([$_am_result])
9030rm -f confinc confmf
9031])
9032
Lev Walkin5af1a692006-08-18 01:54:27 +00009033# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00009034
Lev Walkin5af1a692006-08-18 01:54:27 +00009035# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
9036# Free Software Foundation, Inc.
9037#
9038# This file is free software; the Free Software Foundation
9039# gives unlimited permission to copy and/or distribute it,
9040# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00009041
Lev Walkin5af1a692006-08-18 01:54:27 +00009042# serial 4
Lev Walkin8e8b5482004-06-17 23:42:48 +00009043
9044# AM_MISSING_PROG(NAME, PROGRAM)
9045# ------------------------------
9046AC_DEFUN([AM_MISSING_PROG],
9047[AC_REQUIRE([AM_MISSING_HAS_RUN])
9048$1=${$1-"${am_missing_run}$2"}
9049AC_SUBST($1)])
9050
9051
9052# AM_MISSING_HAS_RUN
9053# ------------------
9054# Define MISSING if not defined so far and test if it supports --run.
9055# If it does, set am_missing_run to use it, otherwise, to nothing.
9056AC_DEFUN([AM_MISSING_HAS_RUN],
9057[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
9058test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
9059# Use eval to expand $SHELL
9060if eval "$MISSING --run true"; then
9061 am_missing_run="$MISSING --run "
9062else
9063 am_missing_run=
9064 AC_MSG_WARN([`missing' script is too old or missing])
9065fi
9066])
9067
Lev Walkin5af1a692006-08-18 01:54:27 +00009068# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
9069#
9070# This file is free software; the Free Software Foundation
9071# gives unlimited permission to copy and/or distribute it,
9072# with or without modifications, as long as this notice is preserved.
9073
Lev Walkin8e8b5482004-06-17 23:42:48 +00009074# AM_PROG_MKDIR_P
9075# ---------------
9076# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
Lev Walkin5af1a692006-08-18 01:54:27 +00009077#
Lev Walkin8e8b5482004-06-17 23:42:48 +00009078# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
9079# created by `make install' are always world readable, even if the
9080# installer happens to have an overly restrictive umask (e.g. 077).
9081# This was a mistake. There are at least two reasons why we must not
9082# use `-m 0755':
9083# - it causes special bits like SGID to be ignored,
9084# - it may be too restrictive (some setups expect 775 directories).
9085#
9086# Do not use -m 0755 and let people choose whatever they expect by
9087# setting umask.
9088#
9089# We cannot accept any implementation of `mkdir' that recognizes `-p'.
9090# Some implementations (such as Solaris 8's) are not thread-safe: if a
9091# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
9092# concurrently, both version can detect that a/ is missing, but only
9093# one can create it and the other will error out. Consequently we
9094# restrict ourselves to GNU make (using the --version option ensures
9095# this.)
9096AC_DEFUN([AM_PROG_MKDIR_P],
9097[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
Lev Walkin5af1a692006-08-18 01:54:27 +00009098 # We used to keeping the `.' as first argument, in order to
9099 # allow $(mkdir_p) to be used without argument. As in
Lev Walkin8e8b5482004-06-17 23:42:48 +00009100 # $(mkdir_p) $(somedir)
Lev Walkin5af1a692006-08-18 01:54:27 +00009101 # where $(somedir) is conditionally defined. However this is wrong
9102 # for two reasons:
9103 # 1. if the package is installed by a user who cannot write `.'
9104 # make install will fail,
9105 # 2. the above comment should most certainly read
9106 # $(mkdir_p) $(DESTDIR)$(somedir)
9107 # so it does not work when $(somedir) is undefined and
9108 # $(DESTDIR) is not.
9109 # To support the latter case, we have to write
9110 # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
9111 # so the `.' trick is pointless.
9112 mkdir_p='mkdir -p --'
Lev Walkin8e8b5482004-06-17 23:42:48 +00009113else
9114 # On NextStep and OpenStep, the `mkdir' command does not
9115 # recognize any option. It will interpret all options as
9116 # directories to create, and then abort because `.' already
9117 # exists.
9118 for d in ./-p ./--version;
9119 do
9120 test -d $d && rmdir $d
9121 done
9122 # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
9123 if test -f "$ac_aux_dir/mkinstalldirs"; then
9124 mkdir_p='$(mkinstalldirs)'
9125 else
9126 mkdir_p='$(install_sh) -d'
9127 fi
9128fi
9129AC_SUBST([mkdir_p])])
9130
Lev Walkin5af1a692006-08-18 01:54:27 +00009131# Helper functions for option handling. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00009132
Lev Walkin5af1a692006-08-18 01:54:27 +00009133# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
9134#
9135# This file is free software; the Free Software Foundation
9136# gives unlimited permission to copy and/or distribute it,
9137# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00009138
Lev Walkin5af1a692006-08-18 01:54:27 +00009139# serial 3
Lev Walkin8e8b5482004-06-17 23:42:48 +00009140
9141# _AM_MANGLE_OPTION(NAME)
9142# -----------------------
9143AC_DEFUN([_AM_MANGLE_OPTION],
9144[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
9145
9146# _AM_SET_OPTION(NAME)
9147# ------------------------------
9148# Set option NAME. Presently that only means defining a flag for this option.
9149AC_DEFUN([_AM_SET_OPTION],
9150[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
9151
9152# _AM_SET_OPTIONS(OPTIONS)
9153# ----------------------------------
9154# OPTIONS is a space-separated list of Automake options.
9155AC_DEFUN([_AM_SET_OPTIONS],
9156[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
9157
9158# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
9159# -------------------------------------------
9160# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
9161AC_DEFUN([_AM_IF_OPTION],
9162[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
Lev Walkinf15320b2004-06-03 03:38:44 +00009163
Lev Walkin5af1a692006-08-18 01:54:27 +00009164# Check to make sure that the build environment is sane. -*- Autoconf -*-
9165
9166# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
9167# Free Software Foundation, Inc.
Lev Walkinf15320b2004-06-03 03:38:44 +00009168#
Lev Walkin5af1a692006-08-18 01:54:27 +00009169# This file is free software; the Free Software Foundation
9170# gives unlimited permission to copy and/or distribute it,
9171# with or without modifications, as long as this notice is preserved.
Lev Walkinf15320b2004-06-03 03:38:44 +00009172
Lev Walkin5af1a692006-08-18 01:54:27 +00009173# serial 4
Lev Walkinf15320b2004-06-03 03:38:44 +00009174
9175# AM_SANITY_CHECK
9176# ---------------
9177AC_DEFUN([AM_SANITY_CHECK],
9178[AC_MSG_CHECKING([whether build environment is sane])
9179# Just in case
9180sleep 1
9181echo timestamp > conftest.file
9182# Do `set' in a subshell so we don't clobber the current shell's
9183# arguments. Must try -L first in case configure is actually a
9184# symlink; some systems play weird games with the mod time of symlinks
9185# (eg FreeBSD returns the mod time of the symlink's containing
9186# directory).
9187if (
9188 set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
9189 if test "$[*]" = "X"; then
9190 # -L didn't work.
9191 set X `ls -t $srcdir/configure conftest.file`
9192 fi
9193 rm -f conftest.file
9194 if test "$[*]" != "X $srcdir/configure conftest.file" \
9195 && test "$[*]" != "X conftest.file $srcdir/configure"; then
9196
9197 # If neither matched, then we have a broken ls. This can happen
9198 # if, for instance, CONFIG_SHELL is bash and it inherits a
9199 # broken ls alias from the environment. This has actually
9200 # happened. Such a system could not be considered "sane".
9201 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
9202alias in your environment])
9203 fi
9204
9205 test "$[2]" = conftest.file
9206 )
9207then
9208 # Ok.
9209 :
9210else
9211 AC_MSG_ERROR([newly created file is older than distributed files!
9212Check your system clock])
9213fi
9214AC_MSG_RESULT(yes)])
9215
Lev Walkin5af1a692006-08-18 01:54:27 +00009216# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
9217#
9218# This file is free software; the Free Software Foundation
9219# gives unlimited permission to copy and/or distribute it,
9220# with or without modifications, as long as this notice is preserved.
9221
Lev Walkin8e8b5482004-06-17 23:42:48 +00009222# AM_PROG_INSTALL_STRIP
Lev Walkin5af1a692006-08-18 01:54:27 +00009223# ---------------------
Lev Walkinf15320b2004-06-03 03:38:44 +00009224# One issue with vendor `install' (even GNU) is that you can't
9225# specify the program used to strip binaries. This is especially
9226# annoying in cross-compiling environments, where the build's strip
9227# is unlikely to handle the host's binaries.
9228# Fortunately install-sh will honor a STRIPPROG variable, so we
9229# always use install-sh in `make install-strip', and initialize
9230# STRIPPROG with the value of the STRIP variable (set by the user).
9231AC_DEFUN([AM_PROG_INSTALL_STRIP],
9232[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00009233# Installed binaries are usually stripped using `strip' when the user
9234# run `make install-strip'. However `strip' might not be the right
9235# tool to use in cross-compilation environments, therefore Automake
9236# will honor the `STRIP' environment variable to overrule this program.
9237dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
9238if test "$cross_compiling" != no; then
9239 AC_CHECK_TOOL([STRIP], [strip], :)
9240fi
Lev Walkinf15320b2004-06-03 03:38:44 +00009241INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
9242AC_SUBST([INSTALL_STRIP_PROGRAM])])
9243
Lev Walkin5af1a692006-08-18 01:54:27 +00009244# Check how to create a tarball. -*- Autoconf -*-
9245
9246# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
9247#
9248# This file is free software; the Free Software Foundation
9249# gives unlimited permission to copy and/or distribute it,
9250# with or without modifications, as long as this notice is preserved.
9251
9252# serial 2
9253
9254# _AM_PROG_TAR(FORMAT)
9255# --------------------
9256# Check how to create a tarball in format FORMAT.
9257# FORMAT should be one of `v7', `ustar', or `pax'.
9258#
9259# Substitute a variable $(am__tar) that is a command
9260# writing to stdout a FORMAT-tarball containing the directory
9261# $tardir.
9262# tardir=directory && $(am__tar) > result.tar
9263#
9264# Substitute a variable $(am__untar) that extract such
9265# a tarball read from stdin.
9266# $(am__untar) < result.tar
9267AC_DEFUN([_AM_PROG_TAR],
9268[# Always define AMTAR for backward compatibility.
9269AM_MISSING_PROG([AMTAR], [tar])
9270m4_if([$1], [v7],
9271 [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
9272 [m4_case([$1], [ustar],, [pax],,
9273 [m4_fatal([Unknown tar format])])
9274AC_MSG_CHECKING([how to create a $1 tar archive])
9275# Loop over all known methods to create a tar archive until one works.
9276_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
9277_am_tools=${am_cv_prog_tar_$1-$_am_tools}
9278# Do not fold the above two line into one, because Tru64 sh and
9279# Solaris sh will not grok spaces in the rhs of `-'.
9280for _am_tool in $_am_tools
9281do
9282 case $_am_tool in
9283 gnutar)
9284 for _am_tar in tar gnutar gtar;
9285 do
9286 AM_RUN_LOG([$_am_tar --version]) && break
9287 done
9288 am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
9289 am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
9290 am__untar="$_am_tar -xf -"
9291 ;;
9292 plaintar)
9293 # Must skip GNU tar: if it does not support --format= it doesn't create
9294 # ustar tarball either.
9295 (tar --version) >/dev/null 2>&1 && continue
9296 am__tar='tar chf - "$$tardir"'
9297 am__tar_='tar chf - "$tardir"'
9298 am__untar='tar xf -'
9299 ;;
9300 pax)
9301 am__tar='pax -L -x $1 -w "$$tardir"'
9302 am__tar_='pax -L -x $1 -w "$tardir"'
9303 am__untar='pax -r'
9304 ;;
9305 cpio)
9306 am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
9307 am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
9308 am__untar='cpio -i -H $1 -d'
9309 ;;
9310 none)
9311 am__tar=false
9312 am__tar_=false
9313 am__untar=false
9314 ;;
9315 esac
9316
9317 # If the value was cached, stop now. We just wanted to have am__tar
9318 # and am__untar set.
9319 test -n "${am_cv_prog_tar_$1}" && break
9320
9321 # tar/untar a dummy directory, and stop if the command works
9322 rm -rf conftest.dir
9323 mkdir conftest.dir
9324 echo GrepMe > conftest.dir/file
9325 AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
9326 rm -rf conftest.dir
9327 if test -s conftest.tar; then
9328 AM_RUN_LOG([$am__untar <conftest.tar])
9329 grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
9330 fi
9331done
9332rm -rf conftest.dir
9333
9334AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
9335AC_MSG_RESULT([$am_cv_prog_tar_$1])])
9336AC_SUBST([am__tar])
9337AC_SUBST([am__untar])
9338]) # _AM_PROG_TAR
9339