blob: a230022456333847f399133b18c8fa87cbe2963d [file] [log] [blame]
Lev Walkin4c776e52010-11-08 02:07:31 -08001# generated automatically by aclocal 1.10 -*- 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,
Lev Walkin4c776e52010-11-08 02:07:31 -08004# 2005, 2006 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 Walkin4c776e52010-11-08 02:07:31 -080014m4_if(m4_PACKAGE_VERSION, [2.61],,
15[m4_fatal([this file was generated for autoconf 2.61.
16You have another version of autoconf. If you want to use that,
17you should regenerate the build system entirely.], [63])])
18
Lev Walkin8e8b5482004-06-17 23:42:48 +000019# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
Lev Walkin4da95cf2010-10-16 02:46:32 -070020#
21# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
Lev Walkin4c776e52010-11-08 02:07:31 -080022# 2006, 2007, 2008 Free Software Foundation, Inc.
Lev Walkin4da95cf2010-10-16 02:46:32 -070023# Written by Gordon Matzigkeit, 1996
24#
25# This file is free software; the Free Software Foundation gives
26# unlimited permission to copy and/or distribute it, with or without
27# modifications, as long as this notice is preserved.
Lev Walkinf15320b2004-06-03 03:38:44 +000028
Lev Walkin4da95cf2010-10-16 02:46:32 -070029m4_define([_LT_COPYING], [dnl
30# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
Lev Walkin4c776e52010-11-08 02:07:31 -080031# 2006, 2007, 2008 Free Software Foundation, Inc.
Lev Walkin4da95cf2010-10-16 02:46:32 -070032# Written by Gordon Matzigkeit, 1996
33#
34# This file is part of GNU Libtool.
35#
36# GNU Libtool is free software; you can redistribute it and/or
37# modify it under the terms of the GNU General Public License as
38# published by the Free Software Foundation; either version 2 of
39# the License, or (at your option) any later version.
40#
41# As a special exception to the GNU General Public License,
42# if you distribute this file as part of a program or library that
43# is built using GNU Libtool, you may include this file under the
44# same distribution terms that you use for the rest of that program.
45#
46# GNU Libtool is distributed in the hope that it will be useful,
47# but WITHOUT ANY WARRANTY; without even the implied warranty of
48# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
49# GNU General Public License for more details.
50#
51# You should have received a copy of the GNU General Public License
52# along with GNU Libtool; see the file COPYING. If not, a copy
53# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
54# obtained by writing to the Free Software Foundation, Inc.,
55# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
56])
57
Lev Walkin4c776e52010-11-08 02:07:31 -080058# serial 56 LT_INIT
Lev Walkin8e8b5482004-06-17 23:42:48 +000059
60
Lev Walkin4da95cf2010-10-16 02:46:32 -070061# LT_PREREQ(VERSION)
62# ------------------
63# Complain and exit if this libtool version is less that VERSION.
64m4_defun([LT_PREREQ],
65[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
66 [m4_default([$3],
67 [m4_fatal([Libtool version $1 or higher is required],
68 63)])],
69 [$2])])
Lev Walkin8e8b5482004-06-17 23:42:48 +000070
71
Lev Walkin4da95cf2010-10-16 02:46:32 -070072# _LT_CHECK_BUILDDIR
73# ------------------
74# Complain if the absolute build directory name contains unusual characters
75m4_defun([_LT_CHECK_BUILDDIR],
76[case `pwd` in
77 *\ * | *\ *)
78 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
79esac
80])
Lev Walkin8e8b5482004-06-17 23:42:48 +000081
82
Lev Walkin4da95cf2010-10-16 02:46:32 -070083# LT_INIT([OPTIONS])
84# ------------------
85AC_DEFUN([LT_INIT],
86[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
Lev Walkin4da95cf2010-10-16 02:46:32 -070087AC_BEFORE([$0], [LT_LANG])dnl
88AC_BEFORE([$0], [LT_OUTPUT])dnl
89AC_BEFORE([$0], [LTDL_INIT])dnl
90m4_require([_LT_CHECK_BUILDDIR])dnl
91
92dnl Autoconf doesn't catch unexpanded LT_ macros by default:
93m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
94m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
95dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
96dnl unless we require an AC_DEFUNed macro:
97AC_REQUIRE([LTOPTIONS_VERSION])dnl
98AC_REQUIRE([LTSUGAR_VERSION])dnl
99AC_REQUIRE([LTVERSION_VERSION])dnl
100AC_REQUIRE([LTOBSOLETE_VERSION])dnl
101m4_require([_LT_PROG_LTMAIN])dnl
102
Lev Walkin4da95cf2010-10-16 02:46:32 -0700103dnl 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
Lev Walkin4c776e52010-11-08 02:07:31 -0800139cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
Lev Walkin4da95cf2010-10-16 02:46:32 -0700140])
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 -0700159_LT_DECL([], [host_alias], [0], [The host system])dnl
160_LT_DECL([], [host], [0])dnl
161_LT_DECL([], [host_os], [0])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +0000162dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -0700163_LT_DECL([], [build_alias], [0], [The build system])dnl
164_LT_DECL([], [build], [0])dnl
165_LT_DECL([], [build_os], [0])dnl
166dnl
167AC_REQUIRE([AC_PROG_CC])dnl
168AC_REQUIRE([LT_PATH_LD])dnl
169AC_REQUIRE([LT_PATH_NM])dnl
170dnl
171AC_REQUIRE([AC_PROG_LN_S])dnl
172test -z "$LN_S" && LN_S="ln -s"
173_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
174dnl
175AC_REQUIRE([LT_CMD_MAX_LEN])dnl
176_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
177_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
178dnl
179m4_require([_LT_FILEUTILS_DEFAULTS])dnl
180m4_require([_LT_CHECK_SHELL_FEATURES])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -0700181m4_require([_LT_CMD_RELOAD])dnl
182m4_require([_LT_CHECK_MAGIC_METHOD])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -0700183m4_require([_LT_CMD_OLD_ARCHIVE])dnl
184m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +0000185
Lev Walkin4da95cf2010-10-16 02:46:32 -0700186_LT_CONFIG_LIBTOOL_INIT([
187# See if we are running on zsh, and set the options which allow our
188# commands through without removal of \ escapes INIT.
189if test -n "\${ZSH_VERSION+set}" ; then
190 setopt NO_GLOB_SUBST
191fi
192])
193if test -n "${ZSH_VERSION+set}" ; then
194 setopt NO_GLOB_SUBST
195fi
Lev Walkin8e8b5482004-06-17 23:42:48 +0000196
Lev Walkin4da95cf2010-10-16 02:46:32 -0700197_LT_CHECK_OBJDIR
198
199m4_require([_LT_TAG_COMPILER])dnl
Lev Walkin4c776e52010-11-08 02:07:31 -0800200_LT_PROG_ECHO_BACKSLASH
Lev Walkin8e8b5482004-06-17 23:42:48 +0000201
202case $host_os in
203aix3*)
204 # AIX sometimes has problems with the GCC collect2 program. For some
205 # reason, if we set the COLLECT_NAMES environment variable, the problems
206 # vanish in a puff of smoke.
207 if test "X${COLLECT_NAMES+set}" != Xset; then
208 COLLECT_NAMES=
209 export COLLECT_NAMES
210 fi
211 ;;
212esac
213
Lev Walkin4c776e52010-11-08 02:07:31 -0800214# Sed substitution that helps us do robust quoting. It backslashifies
215# metacharacters that are still active within double-quoted strings.
216sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
217
218# Same as above, but do not quote variable references.
219double_quote_subst='s/\([["`\\]]\)/\\\1/g'
220
221# Sed substitution to delay expansion of an escaped shell variable in a
222# double_quote_subst'ed string.
223delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
224
225# Sed substitution to delay expansion of an escaped single quote.
226delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
227
228# Sed substitution to avoid accidental globbing in evaled expressions
229no_glob_subst='s/\*/\\\*/g'
230
Lev Walkin8e8b5482004-06-17 23:42:48 +0000231# Global variables:
Lev Walkin4da95cf2010-10-16 02:46:32 -0700232ofile=libtool
Lev Walkin8e8b5482004-06-17 23:42:48 +0000233can_build_shared=yes
234
Lev Walkin27fd0b62007-08-27 23:57:45 +0000235# All known linkers require a `.a' archive for static linking (except MSVC,
Lev Walkin8e8b5482004-06-17 23:42:48 +0000236# which needs '.lib').
237libext=a
Lev Walkin8e8b5482004-06-17 23:42:48 +0000238
Lev Walkin4da95cf2010-10-16 02:46:32 -0700239with_gnu_ld="$lt_cv_prog_gnu_ld"
Lev Walkin8e8b5482004-06-17 23:42:48 +0000240
241old_CC="$CC"
242old_CFLAGS="$CFLAGS"
243
244# Set sane defaults for various variables
Lev Walkin8e8b5482004-06-17 23:42:48 +0000245test -z "$CC" && CC=cc
246test -z "$LTCC" && LTCC=$CC
Lev Walkin27fd0b62007-08-27 23:57:45 +0000247test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
Lev Walkin8e8b5482004-06-17 23:42:48 +0000248test -z "$LD" && LD=ld
Lev Walkin8e8b5482004-06-17 23:42:48 +0000249test -z "$ac_objext" && ac_objext=o
250
Lev Walkin4da95cf2010-10-16 02:46:32 -0700251_LT_CC_BASENAME([$compiler])
252
253# Only perform the check for file, if the check method requires it
254test -z "$MAGIC_CMD" && MAGIC_CMD=file
255case $deplibs_check_method in
256file_magic*)
257 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
258 _LT_PATH_MAGIC
259 fi
260 ;;
261esac
262
263# Use C for the default configuration in the libtool script
264LT_SUPPORTED_TAG([CC])
265_LT_LANG_C_CONFIG
266_LT_LANG_DEFAULT_CONFIG
267_LT_CONFIG_COMMANDS
268])# _LT_SETUP
269
270
Lev Walkin4da95cf2010-10-16 02:46:32 -0700271# _LT_PROG_LTMAIN
272# ---------------
273# Note that this code is called both from `configure', and `config.status'
274# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
275# `config.status' has no value for ac_aux_dir unless we are using Automake,
276# so we pass a copy along to make sure it has a sensible value anyway.
277m4_defun([_LT_PROG_LTMAIN],
278[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
279_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
280ltmain="$ac_aux_dir/ltmain.sh"
281])# _LT_PROG_LTMAIN
282
283
284
285# So that we can recreate a full libtool script including additional
286# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
287# in macros and then make a single call at the end using the `libtool'
288# label.
289
290
291# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
292# ----------------------------------------
293# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
294m4_define([_LT_CONFIG_LIBTOOL_INIT],
295[m4_ifval([$1],
296 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
297 [$1
298])])])
299
300# Initialize.
301m4_define([_LT_OUTPUT_LIBTOOL_INIT])
302
303
304# _LT_CONFIG_LIBTOOL([COMMANDS])
305# ------------------------------
306# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
307m4_define([_LT_CONFIG_LIBTOOL],
308[m4_ifval([$1],
309 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
310 [$1
311])])])
312
313# Initialize.
314m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
315
316
317# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
318# -----------------------------------------------------
319m4_defun([_LT_CONFIG_SAVE_COMMANDS],
320[_LT_CONFIG_LIBTOOL([$1])
321_LT_CONFIG_LIBTOOL_INIT([$2])
322])
323
324
325# _LT_FORMAT_COMMENT([COMMENT])
326# -----------------------------
327# Add leading comment marks to the start of each line, and a trailing
328# full-stop to the whole comment if one is not present already.
329m4_define([_LT_FORMAT_COMMENT],
330[m4_ifval([$1], [
331m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
332 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
333)])
334
335
336
337
338
339# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
340# -------------------------------------------------------------------
341# CONFIGNAME is the name given to the value in the libtool script.
342# VARNAME is the (base) name used in the configure script.
343# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
344# VARNAME. Any other value will be used directly.
345m4_define([_LT_DECL],
346[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
347 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
348 [m4_ifval([$1], [$1], [$2])])
349 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
350 m4_ifval([$4],
351 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
352 lt_dict_add_subkey([lt_decl_dict], [$2],
353 [tagged?], [m4_ifval([$5], [yes], [no])])])
354])
355
356
357# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
358# --------------------------------------------------------
359m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
360
361
362# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
363# ------------------------------------------------
364m4_define([lt_decl_tag_varnames],
365[_lt_decl_filter([tagged?], [yes], $@)])
366
367
368# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
369# ---------------------------------------------------------
370m4_define([_lt_decl_filter],
371[m4_case([$#],
372 [0], [m4_fatal([$0: too few arguments: $#])],
373 [1], [m4_fatal([$0: too few arguments: $#: $1])],
374 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
375 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
376 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
377])
378
379
380# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
381# --------------------------------------------------
382m4_define([lt_decl_quote_varnames],
383[_lt_decl_filter([value], [1], $@)])
384
385
386# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
387# ---------------------------------------------------
388m4_define([lt_decl_dquote_varnames],
389[_lt_decl_filter([value], [2], $@)])
390
391
392# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
393# ---------------------------------------------------
394m4_define([lt_decl_varnames_tagged],
Lev Walkin4c776e52010-11-08 02:07:31 -0800395[_$0(m4_quote(m4_default([$1], [[, ]])),
396 m4_quote(m4_if([$2], [],
397 m4_quote(lt_decl_tag_varnames),
398 m4_quote(m4_shift($@)))),
399 m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
400m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])
Lev Walkin4da95cf2010-10-16 02:46:32 -0700401
402
403# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
404# ------------------------------------------------
405m4_define([lt_decl_all_varnames],
406[_$0(m4_quote(m4_default([$1], [[, ]])),
407 m4_if([$2], [],
408 m4_quote(lt_decl_varnames),
409 m4_quote(m4_shift($@))))[]dnl
410])
411m4_define([_lt_decl_all_varnames],
412[lt_join($@, lt_decl_varnames_tagged([$1],
413 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
414])
415
416
417# _LT_CONFIG_STATUS_DECLARE([VARNAME])
418# ------------------------------------
419# Quote a variable value, and forward it to `config.status' so that its
420# declaration there will have the same value as in `configure'. VARNAME
421# must have a single quote delimited value for this to work.
422m4_define([_LT_CONFIG_STATUS_DECLARE],
Lev Walkin4c776e52010-11-08 02:07:31 -0800423[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
Lev Walkin4da95cf2010-10-16 02:46:32 -0700424
425
426# _LT_CONFIG_STATUS_DECLARATIONS
427# ------------------------------
428# We delimit libtool config variables with single quotes, so when
429# we write them to config.status, we have to be sure to quote all
430# embedded single quotes properly. In configure, this macro expands
431# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
432#
Lev Walkin4c776e52010-11-08 02:07:31 -0800433# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
Lev Walkin4da95cf2010-10-16 02:46:32 -0700434m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
435[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
436 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
437
438
439# _LT_LIBTOOL_TAGS
440# ----------------
441# Output comment and list of tags supported by the script
442m4_defun([_LT_LIBTOOL_TAGS],
443[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
444available_tags="_LT_TAGS"dnl
445])
446
447
448# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
449# -----------------------------------
450# Extract the dictionary values for VARNAME (optionally with TAG) and
451# expand to a commented shell variable setting:
452#
453# # Some comment about what VAR is for.
454# visible_name=$lt_internal_name
455m4_define([_LT_LIBTOOL_DECLARE],
456[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
457 [description])))[]dnl
458m4_pushdef([_libtool_name],
459 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
460m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
461 [0], [_libtool_name=[$]$1],
462 [1], [_libtool_name=$lt_[]$1],
463 [2], [_libtool_name=$lt_[]$1],
464 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
465m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
466])
467
468
469# _LT_LIBTOOL_CONFIG_VARS
470# -----------------------
471# Produce commented declarations of non-tagged libtool config variables
472# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
473# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
474# section) are produced by _LT_LIBTOOL_TAG_VARS.
475m4_defun([_LT_LIBTOOL_CONFIG_VARS],
476[m4_foreach([_lt_var],
477 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
478 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
479
480
481# _LT_LIBTOOL_TAG_VARS(TAG)
482# -------------------------
483m4_define([_LT_LIBTOOL_TAG_VARS],
484[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
485 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
486
487
488# _LT_TAGVAR(VARNAME, [TAGNAME])
489# ------------------------------
490m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
491
492
493# _LT_CONFIG_COMMANDS
494# -------------------
495# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
496# variables for single and double quote escaping we saved from calls
497# to _LT_DECL, we can put quote escaped variables declarations
498# into `config.status', and then the shell code to quote escape them in
499# for loops in `config.status'. Finally, any additional code accumulated
500# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
501m4_defun([_LT_CONFIG_COMMANDS],
502[AC_PROVIDE_IFELSE([LT_OUTPUT],
503 dnl If the libtool generation code has been placed in $CONFIG_LT,
504 dnl instead of duplicating it all over again into config.status,
505 dnl then we will have config.status run $CONFIG_LT later, so it
506 dnl needs to know what name is stored there:
507 [AC_CONFIG_COMMANDS([libtool],
508 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
509 dnl If the libtool generation code is destined for config.status,
510 dnl expand the accumulated commands and init code now:
511 [AC_CONFIG_COMMANDS([libtool],
512 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
513])#_LT_CONFIG_COMMANDS
514
515
516# Initialize.
517m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
518[
519
520# The HP-UX ksh and POSIX shell print the target directory to stdout
521# if CDPATH is set.
522(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
523
524sed_quote_subst='$sed_quote_subst'
525double_quote_subst='$double_quote_subst'
526delay_variable_subst='$delay_variable_subst'
527_LT_CONFIG_STATUS_DECLARATIONS
528LTCC='$LTCC'
529LTCFLAGS='$LTCFLAGS'
530compiler='$compiler_DEFAULT'
531
Lev Walkin4da95cf2010-10-16 02:46:32 -0700532# Quote evaled strings.
533for var in lt_decl_all_varnames([[ \
534]], lt_decl_quote_varnames); do
Lev Walkin4c776e52010-11-08 02:07:31 -0800535 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
Lev Walkin4da95cf2010-10-16 02:46:32 -0700536 *[[\\\\\\\`\\"\\\$]]*)
Lev Walkin4c776e52010-11-08 02:07:31 -0800537 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
Lev Walkin4da95cf2010-10-16 02:46:32 -0700538 ;;
539 *)
540 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
541 ;;
542 esac
543done
544
545# Double-quote double-evaled strings.
546for var in lt_decl_all_varnames([[ \
547]], lt_decl_dquote_varnames); do
Lev Walkin4c776e52010-11-08 02:07:31 -0800548 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
Lev Walkin4da95cf2010-10-16 02:46:32 -0700549 *[[\\\\\\\`\\"\\\$]]*)
Lev Walkin4c776e52010-11-08 02:07:31 -0800550 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
Lev Walkin4da95cf2010-10-16 02:46:32 -0700551 ;;
552 *)
553 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
554 ;;
555 esac
556done
557
Lev Walkin4c776e52010-11-08 02:07:31 -0800558# Fix-up fallback echo if it was mangled by the above quoting rules.
559case \$lt_ECHO in
560*'\\\[$]0 --fallback-echo"')dnl "
561 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
562 ;;
563esac
564
Lev Walkin4da95cf2010-10-16 02:46:32 -0700565_LT_OUTPUT_LIBTOOL_INIT
566])
567
Lev Walkin4da95cf2010-10-16 02:46:32 -0700568
569# LT_OUTPUT
570# ---------
571# This macro allows early generation of the libtool script (before
572# AC_OUTPUT is called), incase it is used in configure for compilation
573# tests.
574AC_DEFUN([LT_OUTPUT],
575[: ${CONFIG_LT=./config.lt}
576AC_MSG_NOTICE([creating $CONFIG_LT])
Lev Walkin4c776e52010-11-08 02:07:31 -0800577cat >"$CONFIG_LT" <<_LTEOF
578#! $SHELL
579# Generated by $as_me.
580# Run this file to recreate a libtool stub with the current configuration.
581
582lt_cl_silent=false
583SHELL=\${CONFIG_SHELL-$SHELL}
584_LTEOF
Lev Walkin4da95cf2010-10-16 02:46:32 -0700585
586cat >>"$CONFIG_LT" <<\_LTEOF
Lev Walkin4c776e52010-11-08 02:07:31 -0800587AS_SHELL_SANITIZE
588_AS_PREPARE
589
590exec AS_MESSAGE_FD>&1
Lev Walkin4da95cf2010-10-16 02:46:32 -0700591exec AS_MESSAGE_LOG_FD>>config.log
592{
593 echo
594 AS_BOX([Running $as_me.])
595} >&AS_MESSAGE_LOG_FD
596
597lt_cl_help="\
598\`$as_me' creates a local libtool stub from the current configuration,
599for use in further configure time tests before the real libtool is
600generated.
601
602Usage: $[0] [[OPTIONS]]
603
604 -h, --help print this help, then exit
605 -V, --version print version number, then exit
606 -q, --quiet do not print progress messages
607 -d, --debug don't remove temporary files
608
609Report bugs to <bug-libtool@gnu.org>."
610
611lt_cl_version="\
612m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
613m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
614configured by $[0], generated by m4_PACKAGE_STRING.
615
Lev Walkin4c776e52010-11-08 02:07:31 -0800616Copyright (C) 2008 Free Software Foundation, Inc.
Lev Walkin4da95cf2010-10-16 02:46:32 -0700617This config.lt script is free software; the Free Software Foundation
618gives unlimited permision to copy, distribute and modify it."
619
620while test $[#] != 0
621do
622 case $[1] in
623 --version | --v* | -V )
624 echo "$lt_cl_version"; exit 0 ;;
625 --help | --h* | -h )
626 echo "$lt_cl_help"; exit 0 ;;
627 --debug | --d* | -d )
628 debug=: ;;
629 --quiet | --q* | --silent | --s* | -q )
630 lt_cl_silent=: ;;
631
632 -*) AC_MSG_ERROR([unrecognized option: $[1]
633Try \`$[0] --help' for more information.]) ;;
634
635 *) AC_MSG_ERROR([unrecognized argument: $[1]
636Try \`$[0] --help' for more information.]) ;;
637 esac
638 shift
639done
640
641if $lt_cl_silent; then
642 exec AS_MESSAGE_FD>/dev/null
643fi
644_LTEOF
645
646cat >>"$CONFIG_LT" <<_LTEOF
647_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
648_LTEOF
649
650cat >>"$CONFIG_LT" <<\_LTEOF
651AC_MSG_NOTICE([creating $ofile])
652_LT_OUTPUT_LIBTOOL_COMMANDS
653AS_EXIT(0)
654_LTEOF
655chmod +x "$CONFIG_LT"
656
657# configure is writing to config.log, but config.lt does its own redirection,
658# appending to config.log, which fails on DOS, as config.log is still kept
659# open by configure. Here we exec the FD to /dev/null, effectively closing
660# config.log, so it can be properly (re)opened and appended to by config.lt.
Lev Walkin4c776e52010-11-08 02:07:31 -0800661if test "$no_create" != yes; then
662 lt_cl_success=:
663 test "$silent" = yes &&
664 lt_config_lt_args="$lt_config_lt_args --quiet"
665 exec AS_MESSAGE_LOG_FD>/dev/null
666 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
667 exec AS_MESSAGE_LOG_FD>>config.log
668 $lt_cl_success || AS_EXIT(1)
669fi
Lev Walkin4da95cf2010-10-16 02:46:32 -0700670])# LT_OUTPUT
671
672
673# _LT_CONFIG(TAG)
674# ---------------
675# If TAG is the built-in tag, create an initial libtool script with a
676# default configuration from the untagged config vars. Otherwise add code
677# to config.status for appending the configuration named by TAG from the
678# matching tagged config vars.
679m4_defun([_LT_CONFIG],
680[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
681_LT_CONFIG_SAVE_COMMANDS([
682 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
683 m4_if(_LT_TAG, [C], [
684 # See if we are running on zsh, and set the options which allow our
685 # commands through without removal of \ escapes.
686 if test -n "${ZSH_VERSION+set}" ; then
687 setopt NO_GLOB_SUBST
688 fi
689
690 cfgfile="${ofile}T"
Lev Walkin4c776e52010-11-08 02:07:31 -0800691 trap "$RM -f \"$cfgfile\"; exit 1" 1 2 15
692 $RM -f "$cfgfile"
Lev Walkin4da95cf2010-10-16 02:46:32 -0700693
694 cat <<_LT_EOF >> "$cfgfile"
695#! $SHELL
696
697# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
698# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
699# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
700# NOTE: Changes made to this file will be lost: look at ltmain.sh.
701#
702_LT_COPYING
703_LT_LIBTOOL_TAGS
704
705# ### BEGIN LIBTOOL CONFIG
706_LT_LIBTOOL_CONFIG_VARS
707_LT_LIBTOOL_TAG_VARS
708# ### END LIBTOOL CONFIG
709
710_LT_EOF
711
712 case $host_os in
713 aix3*)
714 cat <<\_LT_EOF >> "$cfgfile"
715# AIX sometimes has problems with the GCC collect2 program. For some
716# reason, if we set the COLLECT_NAMES environment variable, the problems
717# vanish in a puff of smoke.
718if test "X${COLLECT_NAMES+set}" != Xset; then
719 COLLECT_NAMES=
720 export COLLECT_NAMES
721fi
722_LT_EOF
723 ;;
724 esac
725
726 _LT_PROG_LTMAIN
727
728 # We use sed instead of cat because bash on DJGPP gets confused if
729 # if finds mixed CR/LF and LF-only lines. Since sed operates in
730 # text mode, it properly converts lines to CR/LF. This bash problem
731 # is reportedly fixed, but why not run on old versions too?
Lev Walkin4c776e52010-11-08 02:07:31 -0800732 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
733 || (rm -f "$cfgfile"; exit 1)
Lev Walkin4da95cf2010-10-16 02:46:32 -0700734
Lev Walkin4c776e52010-11-08 02:07:31 -0800735 _LT_PROG_XSI_SHELLFNS
Lev Walkin4da95cf2010-10-16 02:46:32 -0700736
Lev Walkin4c776e52010-11-08 02:07:31 -0800737 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
738 || (rm -f "$cfgfile"; exit 1)
739
740 mv -f "$cfgfile" "$ofile" ||
Lev Walkin4da95cf2010-10-16 02:46:32 -0700741 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
742 chmod +x "$ofile"
743],
744[cat <<_LT_EOF >> "$ofile"
745
746dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
747dnl in a comment (ie after a #).
748# ### BEGIN LIBTOOL TAG CONFIG: $1
749_LT_LIBTOOL_TAG_VARS(_LT_TAG)
750# ### END LIBTOOL TAG CONFIG: $1
751_LT_EOF
752])dnl /m4_if
753],
754[m4_if([$1], [], [
755 PACKAGE='$PACKAGE'
756 VERSION='$VERSION'
757 TIMESTAMP='$TIMESTAMP'
758 RM='$RM'
759 ofile='$ofile'], [])
760])dnl /_LT_CONFIG_SAVE_COMMANDS
761])# _LT_CONFIG
762
763
764# LT_SUPPORTED_TAG(TAG)
765# ---------------------
766# Trace this macro to discover what tags are supported by the libtool
767# --tag option, using:
768# autoconf --trace 'LT_SUPPORTED_TAG:$1'
769AC_DEFUN([LT_SUPPORTED_TAG], [])
770
771
772# C support is built-in for now
773m4_define([_LT_LANG_C_enabled], [])
774m4_define([_LT_TAGS], [])
775
776
777# LT_LANG(LANG)
778# -------------
779# Enable libtool support for the given language if not already enabled.
780AC_DEFUN([LT_LANG],
781[AC_BEFORE([$0], [LT_OUTPUT])dnl
782m4_case([$1],
783 [C], [_LT_LANG(C)],
784 [C++], [_LT_LANG(CXX)],
785 [Java], [_LT_LANG(GCJ)],
786 [Fortran 77], [_LT_LANG(F77)],
787 [Fortran], [_LT_LANG(FC)],
788 [Windows Resource], [_LT_LANG(RC)],
789 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
790 [_LT_LANG($1)],
791 [m4_fatal([$0: unsupported language: "$1"])])])dnl
792])# LT_LANG
793
794
795# _LT_LANG(LANGNAME)
796# ------------------
797m4_defun([_LT_LANG],
798[m4_ifdef([_LT_LANG_]$1[_enabled], [],
799 [LT_SUPPORTED_TAG([$1])dnl
800 m4_append([_LT_TAGS], [$1 ])dnl
801 m4_define([_LT_LANG_]$1[_enabled], [])dnl
802 _LT_LANG_$1_CONFIG($1)])dnl
803])# _LT_LANG
804
805
806# _LT_LANG_DEFAULT_CONFIG
807# -----------------------
808m4_defun([_LT_LANG_DEFAULT_CONFIG],
809[AC_PROVIDE_IFELSE([AC_PROG_CXX],
810 [LT_LANG(CXX)],
811 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
812
813AC_PROVIDE_IFELSE([AC_PROG_F77],
814 [LT_LANG(F77)],
815 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
816
817AC_PROVIDE_IFELSE([AC_PROG_FC],
818 [LT_LANG(FC)],
819 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
820
821dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
822dnl pulling things in needlessly.
823AC_PROVIDE_IFELSE([AC_PROG_GCJ],
824 [LT_LANG(GCJ)],
825 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
826 [LT_LANG(GCJ)],
827 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
828 [LT_LANG(GCJ)],
829 [m4_ifdef([AC_PROG_GCJ],
830 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
831 m4_ifdef([A][M_PROG_GCJ],
832 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
833 m4_ifdef([LT_PROG_GCJ],
834 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
835
836AC_PROVIDE_IFELSE([LT_PROG_RC],
837 [LT_LANG(RC)],
838 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
839])# _LT_LANG_DEFAULT_CONFIG
840
841# Obsolete macros:
842AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
843AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
844AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
845AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
Lev Walkin4da95cf2010-10-16 02:46:32 -0700846dnl aclocal-1.4 backwards compatibility:
847dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
848dnl AC_DEFUN([AC_LIBTOOL_F77], [])
849dnl AC_DEFUN([AC_LIBTOOL_FC], [])
850dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
Lev Walkin4da95cf2010-10-16 02:46:32 -0700851
852
853# _LT_TAG_COMPILER
854# ----------------
855m4_defun([_LT_TAG_COMPILER],
856[AC_REQUIRE([AC_PROG_CC])dnl
857
858_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
859_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
860_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
861_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
862
863# If no C compiler was specified, use CC.
864LTCC=${LTCC-"$CC"}
865
866# If no C compiler flags were specified, use CFLAGS.
867LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
868
869# Allow CC to be a program name with arguments.
870compiler=$CC
871])# _LT_TAG_COMPILER
872
873
874# _LT_COMPILER_BOILERPLATE
875# ------------------------
876# Check for compiler boilerplate output or warnings with
877# the simple compiler test code.
878m4_defun([_LT_COMPILER_BOILERPLATE],
879[m4_require([_LT_DECL_SED])dnl
880ac_outfile=conftest.$ac_objext
881echo "$lt_simple_compile_test_code" >conftest.$ac_ext
882eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
883_lt_compiler_boilerplate=`cat conftest.err`
Lev Walkin4c776e52010-11-08 02:07:31 -0800884$RM -r conftest*
Lev Walkin4da95cf2010-10-16 02:46:32 -0700885])# _LT_COMPILER_BOILERPLATE
886
887
888# _LT_LINKER_BOILERPLATE
889# ----------------------
890# Check for linker boilerplate output or warnings with
891# the simple link test code.
892m4_defun([_LT_LINKER_BOILERPLATE],
893[m4_require([_LT_DECL_SED])dnl
894ac_outfile=conftest.$ac_objext
895echo "$lt_simple_link_test_code" >conftest.$ac_ext
896eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
897_lt_linker_boilerplate=`cat conftest.err`
898$RM -r conftest*
899])# _LT_LINKER_BOILERPLATE
900
901# _LT_REQUIRED_DARWIN_CHECKS
902# -------------------------
903m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
904 case $host_os in
905 rhapsody* | darwin*)
906 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
907 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
908 AC_CHECK_TOOL([LIPO], [lipo], [:])
909 AC_CHECK_TOOL([OTOOL], [otool], [:])
910 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
911 _LT_DECL([], [DSYMUTIL], [1],
912 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
913 _LT_DECL([], [NMEDIT], [1],
914 [Tool to change global to local symbols on Mac OS X])
915 _LT_DECL([], [LIPO], [1],
916 [Tool to manipulate fat objects and archives on Mac OS X])
917 _LT_DECL([], [OTOOL], [1],
918 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
919 _LT_DECL([], [OTOOL64], [1],
920 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
921
922 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
923 [lt_cv_apple_cc_single_mod=no
924 if test -z "${LT_MULTI_MODULE}"; then
925 # By default we will add the -single_module flag. You can override
926 # by either setting the environment variable LT_MULTI_MODULE
927 # non-empty at configure time, or by adding -multi_module to the
928 # link flags.
929 rm -rf libconftest.dylib*
930 echo "int foo(void){return 1;}" > conftest.c
931 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
932-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
933 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
934 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
935 _lt_result=$?
936 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
937 lt_cv_apple_cc_single_mod=yes
938 else
939 cat conftest.err >&AS_MESSAGE_LOG_FD
940 fi
941 rm -rf libconftest.dylib*
942 rm -f conftest.*
943 fi])
944 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
945 [lt_cv_ld_exported_symbols_list],
946 [lt_cv_ld_exported_symbols_list=no
947 save_LDFLAGS=$LDFLAGS
948 echo "_main" > conftest.sym
949 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
950 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
951 [lt_cv_ld_exported_symbols_list=yes],
952 [lt_cv_ld_exported_symbols_list=no])
953 LDFLAGS="$save_LDFLAGS"
954 ])
Lev Walkin4da95cf2010-10-16 02:46:32 -0700955 case $host_os in
956 rhapsody* | darwin1.[[012]])
957 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
958 darwin1.*)
959 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
Lev Walkin4c776e52010-11-08 02:07:31 -0800960 darwin*) # darwin 5.x on
Lev Walkin4da95cf2010-10-16 02:46:32 -0700961 # if running on 10.5 or later, the deployment target defaults
962 # to the OS version, if on x86, and 10.4, the deployment
Lev Walkin4c776e52010-11-08 02:07:31 -0800963 # target defaults to 10.4. Don't you love it?
Lev Walkin4da95cf2010-10-16 02:46:32 -0700964 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
965 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
966 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
967 10.[[012]]*)
968 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
969 10.*)
970 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
971 esac
972 ;;
973 esac
974 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
975 _lt_dar_single_mod='$single_module'
976 fi
977 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
978 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
979 else
980 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
981 fi
Lev Walkin4c776e52010-11-08 02:07:31 -0800982 if test "$DSYMUTIL" != ":"; then
Lev Walkin4da95cf2010-10-16 02:46:32 -0700983 _lt_dsymutil='~$DSYMUTIL $lib || :'
984 else
985 _lt_dsymutil=
986 fi
987 ;;
988 esac
989])
990
991
992# _LT_DARWIN_LINKER_FEATURES
993# --------------------------
994# Checks for linker and compiler features on darwin
995m4_defun([_LT_DARWIN_LINKER_FEATURES],
996[
997 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
998 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
999 _LT_TAGVAR(hardcode_direct, $1)=no
1000 _LT_TAGVAR(hardcode_automatic, $1)=yes
1001 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
Lev Walkin4c776e52010-11-08 02:07:31 -08001002 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
Lev Walkin4da95cf2010-10-16 02:46:32 -07001003 _LT_TAGVAR(link_all_deplibs, $1)=yes
1004 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
Lev Walkin4c776e52010-11-08 02:07:31 -08001005 if test "$GCC" = "yes"; then
1006 output_verbose_link_cmd=echo
Lev Walkin4da95cf2010-10-16 02:46:32 -07001007 _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}"
1008 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1009 _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}"
1010 _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}"
1011 m4_if([$1], [CXX],
1012[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1013 _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}"
1014 _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}"
1015 fi
1016],[])
1017 else
1018 _LT_TAGVAR(ld_shlibs, $1)=no
1019 fi
1020])
1021
Lev Walkin4c776e52010-11-08 02:07:31 -08001022# _LT_SYS_MODULE_PATH_AIX
1023# -----------------------
Lev Walkin4da95cf2010-10-16 02:46:32 -07001024# Links a minimal program and checks the executable
1025# for the system default hardcoded library path. In most cases,
1026# this is /usr/lib:/lib, but when the MPI compilers are used
1027# the location of the communication and MPI libs are included too.
1028# If we don't find anything, use the default library path according
1029# to the aix ld manual.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001030m4_defun([_LT_SYS_MODULE_PATH_AIX],
1031[m4_require([_LT_DECL_SED])dnl
Lev Walkin4c776e52010-11-08 02:07:31 -08001032AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1033lt_aix_libpath_sed='
1034 /Import File Strings/,/^$/ {
1035 /^0/ {
1036 s/^0 *\(.*\)$/\1/
1037 p
1038 }
1039 }'
1040aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1041# Check for a 64-bit object if we didn't find anything.
1042if test -z "$aix_libpath"; then
1043 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1044fi],[])
1045if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001046])# _LT_SYS_MODULE_PATH_AIX
1047
1048
1049# _LT_SHELL_INIT(ARG)
1050# -------------------
1051m4_define([_LT_SHELL_INIT],
Lev Walkin4c776e52010-11-08 02:07:31 -08001052[ifdef([AC_DIVERSION_NOTICE],
1053 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1054 [AC_DIVERT_PUSH(NOTICE)])
1055$1
1056AC_DIVERT_POP
1057])# _LT_SHELL_INIT
Lev Walkin4da95cf2010-10-16 02:46:32 -07001058
1059
1060# _LT_PROG_ECHO_BACKSLASH
1061# -----------------------
Lev Walkin4c776e52010-11-08 02:07:31 -08001062# Add some code to the start of the generated configure script which
1063# will find an echo command which doesn't interpret backslashes.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001064m4_defun([_LT_PROG_ECHO_BACKSLASH],
Lev Walkin4c776e52010-11-08 02:07:31 -08001065[_LT_SHELL_INIT([
1066# Check that we are running under the correct shell.
1067SHELL=${CONFIG_SHELL-/bin/sh}
Lev Walkin4da95cf2010-10-16 02:46:32 -07001068
Lev Walkin4c776e52010-11-08 02:07:31 -08001069case X$lt_ECHO in
1070X*--fallback-echo)
1071 # Remove one level of quotation (which was required for Make).
1072 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1073 ;;
1074esac
1075
1076ECHO=${lt_ECHO-echo}
1077if test "X[$]1" = X--no-reexec; then
1078 # Discard the --no-reexec flag, and continue.
1079 shift
1080elif test "X[$]1" = X--fallback-echo; then
1081 # Avoid inline document here, it may be left over
1082 :
1083elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1084 # Yippee, $ECHO works!
1085 :
Lev Walkin4da95cf2010-10-16 02:46:32 -07001086else
Lev Walkin4c776e52010-11-08 02:07:31 -08001087 # Restart under the correct shell.
1088 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
Lev Walkin4da95cf2010-10-16 02:46:32 -07001089fi
1090
Lev Walkin4c776e52010-11-08 02:07:31 -08001091if test "X[$]1" = X--fallback-echo; then
1092 # used as fallback echo
1093 shift
1094 cat <<_LT_EOF
1095[$]*
1096_LT_EOF
1097 exit 0
1098fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001099
Lev Walkin4c776e52010-11-08 02:07:31 -08001100# The HP-UX ksh and POSIX shell print the target directory to stdout
1101# if CDPATH is set.
1102(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07001103
Lev Walkin4c776e52010-11-08 02:07:31 -08001104if test -z "$lt_ECHO"; then
1105 if test "X${echo_test_string+set}" != Xset; then
1106 # find a string as large as possible, as long as the shell can cope with it
1107 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1108 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1109 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1110 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1111 then
1112 break
1113 fi
1114 done
1115 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001116
Lev Walkin4c776e52010-11-08 02:07:31 -08001117 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1118 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1119 test "X$echo_testing_string" = "X$echo_test_string"; then
1120 :
1121 else
1122 # The Solaris, AIX, and Digital Unix default echo programs unquote
1123 # backslashes. This makes it impossible to quote backslashes using
1124 # echo "$something" | sed 's/\\/\\\\/g'
1125 #
1126 # So, first we look for a working echo in the user's PATH.
1127
1128 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1129 for dir in $PATH /usr/ucb; do
1130 IFS="$lt_save_ifs"
1131 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1132 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1133 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1134 test "X$echo_testing_string" = "X$echo_test_string"; then
1135 ECHO="$dir/echo"
1136 break
1137 fi
1138 done
1139 IFS="$lt_save_ifs"
1140
1141 if test "X$ECHO" = Xecho; then
1142 # We didn't find a better echo, so look for alternatives.
1143 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1144 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1145 test "X$echo_testing_string" = "X$echo_test_string"; then
1146 # This shell has a builtin print -r that does the trick.
1147 ECHO='print -r'
1148 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1149 test "X$CONFIG_SHELL" != X/bin/ksh; then
1150 # If we have ksh, try running configure again with it.
1151 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1152 export ORIGINAL_CONFIG_SHELL
1153 CONFIG_SHELL=/bin/ksh
1154 export CONFIG_SHELL
1155 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1156 else
1157 # Try using printf.
1158 ECHO='printf %s\n'
1159 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1160 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1161 test "X$echo_testing_string" = "X$echo_test_string"; then
1162 # Cool, printf works
1163 :
1164 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1165 test "X$echo_testing_string" = 'X\t' &&
1166 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1167 test "X$echo_testing_string" = "X$echo_test_string"; then
1168 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1169 export CONFIG_SHELL
1170 SHELL="$CONFIG_SHELL"
1171 export SHELL
1172 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1173 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1174 test "X$echo_testing_string" = 'X\t' &&
1175 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1176 test "X$echo_testing_string" = "X$echo_test_string"; then
1177 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1178 else
1179 # maybe with a smaller string...
1180 prev=:
1181
1182 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1183 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1184 then
1185 break
1186 fi
1187 prev="$cmd"
1188 done
1189
1190 if test "$prev" != 'sed 50q "[$]0"'; then
1191 echo_test_string=`eval $prev`
1192 export echo_test_string
1193 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1194 else
1195 # Oops. We lost completely, so just stick with echo.
1196 ECHO=echo
1197 fi
1198 fi
1199 fi
1200 fi
1201 fi
1202fi
1203
1204# Copy echo and quote the copy suitably for passing to libtool from
1205# the Makefile, instead of quoting the original, which is used later.
1206lt_ECHO=$ECHO
1207if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1208 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1209fi
1210
1211AC_SUBST(lt_ECHO)
1212])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001213_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
Lev Walkin4c776e52010-11-08 02:07:31 -08001214_LT_DECL([], [ECHO], [1],
1215 [An echo program that does not interpret backslashes])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001216])# _LT_PROG_ECHO_BACKSLASH
1217
1218
Lev Walkin4da95cf2010-10-16 02:46:32 -07001219# _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.
Lev Walkin4c776e52010-11-08 02:07:31 -08001247 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
Lev Walkin4da95cf2010-10-16 02:46:32 -07001248 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
Lev Walkin4da95cf2010-10-16 02:46:32 -07001365# _LT_CMD_OLD_ARCHIVE
1366# -------------------
1367m4_defun([_LT_CMD_OLD_ARCHIVE],
Lev Walkin4c776e52010-11-08 02:07:31 -08001368[AC_CHECK_TOOL(AR, ar, false)
1369test -z "$AR" && AR=ar
1370test -z "$AR_FLAGS" && AR_FLAGS=cru
1371_LT_DECL([], [AR], [1], [The archiver])
1372_LT_DECL([], [AR_FLAGS], [1])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001373
1374AC_CHECK_TOOL(STRIP, strip, :)
1375test -z "$STRIP" && STRIP=:
1376_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1377
1378AC_CHECK_TOOL(RANLIB, ranlib, :)
1379test -z "$RANLIB" && RANLIB=:
1380_LT_DECL([], [RANLIB], [1],
1381 [Commands used to install an old-style archive])
1382
Lev Walkin8e8b5482004-06-17 23:42:48 +00001383# Determine commands to create old-style static archives.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001384old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
Lev Walkin8e8b5482004-06-17 23:42:48 +00001385old_postinstall_cmds='chmod 644 $oldlib'
1386old_postuninstall_cmds=
1387
1388if test -n "$RANLIB"; then
1389 case $host_os in
1390 openbsd*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00001391 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001392 ;;
1393 *)
Lev Walkin27fd0b62007-08-27 23:57:45 +00001394 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001395 ;;
1396 esac
1397 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1398fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001399_LT_DECL([], [old_postinstall_cmds], [2])
1400_LT_DECL([], [old_postuninstall_cmds], [2])
1401_LT_TAGDECL([], [old_archive_cmds], [2],
1402 [Commands used to build an old-style archive])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001403])# _LT_CMD_OLD_ARCHIVE
Lev Walkin8e8b5482004-06-17 23:42:48 +00001404
1405
Lev Walkin4da95cf2010-10-16 02:46:32 -07001406# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
Lev Walkin8e8b5482004-06-17 23:42:48 +00001407# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1408# ----------------------------------------------------------------
1409# Check whether the given compiler option works
Lev Walkin4da95cf2010-10-16 02:46:32 -07001410AC_DEFUN([_LT_COMPILER_OPTION],
1411[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1412m4_require([_LT_DECL_SED])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00001413AC_CACHE_CHECK([$1], [$2],
1414 [$2=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07001415 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1416 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00001417 lt_compiler_flag="$3"
1418 # Insert the option either (1) after the last *FLAGS variable, or
1419 # (2) before a word containing "conftest.", or (3) at the end.
1420 # Note that $ac_compile itself does not contain backslashes and begins
1421 # with a dollar sign (not a hyphen), so the echo should work correctly.
1422 # The option is referenced via a variable to avoid confusing sed.
1423 lt_compile=`echo "$ac_compile" | $SED \
Lev Walkin27fd0b62007-08-27 23:57:45 +00001424 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
Lev Walkin8e8b5482004-06-17 23:42:48 +00001425 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1426 -e 's:$: $lt_compiler_flag:'`
Lev Walkin4c776e52010-11-08 02:07:31 -08001427 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
Lev Walkin8e8b5482004-06-17 23:42:48 +00001428 (eval "$lt_compile" 2>conftest.err)
1429 ac_status=$?
1430 cat conftest.err >&AS_MESSAGE_LOG_FD
Lev Walkin4c776e52010-11-08 02:07:31 -08001431 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
Lev Walkin8e8b5482004-06-17 23:42:48 +00001432 if (exit $ac_status) && test -s "$ac_outfile"; then
1433 # The compiler can only warn and ignore the option if not recognized
Lev Walkin27fd0b62007-08-27 23:57:45 +00001434 # So say no if there are warnings other than the usual output.
Lev Walkin4c776e52010-11-08 02:07:31 -08001435 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
Lev Walkin27fd0b62007-08-27 23:57:45 +00001436 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1437 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00001438 $2=yes
1439 fi
1440 fi
Lev Walkin4c776e52010-11-08 02:07:31 -08001441 $RM -r conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001442])
1443
1444if test x"[$]$2" = xyes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07001445 m4_if([$5], , :, [$5])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001446else
Lev Walkin4da95cf2010-10-16 02:46:32 -07001447 m4_if([$6], , :, [$6])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001448fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001449])# _LT_COMPILER_OPTION
1450
1451# Old name:
1452AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1453dnl aclocal-1.4 backwards compatibility:
1454dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001455
1456
Lev Walkin4da95cf2010-10-16 02:46:32 -07001457# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1458# [ACTION-SUCCESS], [ACTION-FAILURE])
1459# ----------------------------------------------------
1460# Check whether the given linker option works
1461AC_DEFUN([_LT_LINKER_OPTION],
1462[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1463m4_require([_LT_DECL_SED])dnl
1464AC_CACHE_CHECK([$1], [$2],
Lev Walkin8e8b5482004-06-17 23:42:48 +00001465 [$2=no
1466 save_LDFLAGS="$LDFLAGS"
1467 LDFLAGS="$LDFLAGS $3"
Lev Walkin4da95cf2010-10-16 02:46:32 -07001468 echo "$lt_simple_link_test_code" > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00001469 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00001470 # The linker can only warn and ignore the option if not recognized
Lev Walkin8e8b5482004-06-17 23:42:48 +00001471 # So say no if there are warnings
1472 if test -s conftest.err; then
1473 # Append any errors to the config.log.
1474 cat conftest.err 1>&AS_MESSAGE_LOG_FD
Lev Walkin4c776e52010-11-08 02:07:31 -08001475 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
Lev Walkin27fd0b62007-08-27 23:57:45 +00001476 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1477 if diff conftest.exp conftest.er2 >/dev/null; then
1478 $2=yes
1479 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00001480 else
1481 $2=yes
1482 fi
1483 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001484 $RM -r conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001485 LDFLAGS="$save_LDFLAGS"
1486])
1487
1488if test x"[$]$2" = xyes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07001489 m4_if([$4], , :, [$4])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001490else
Lev Walkin4da95cf2010-10-16 02:46:32 -07001491 m4_if([$5], , :, [$5])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001492fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001493])# _LT_LINKER_OPTION
1494
1495# Old name:
1496AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1497dnl aclocal-1.4 backwards compatibility:
1498dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001499
1500
Lev Walkin4da95cf2010-10-16 02:46:32 -07001501# LT_CMD_MAX_LEN
1502#---------------
1503AC_DEFUN([LT_CMD_MAX_LEN],
1504[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1505# find the maximum length of command line arguments
Lev Walkin8e8b5482004-06-17 23:42:48 +00001506AC_MSG_CHECKING([the maximum length of command line arguments])
1507AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1508 i=0
1509 teststring="ABCD"
1510
1511 case $build_os in
1512 msdosdjgpp*)
1513 # On DJGPP, this test can blow up pretty badly due to problems in libc
1514 # (any single argument exceeding 2000 bytes causes a buffer overrun
1515 # during glob expansion). Even if it were fixed, the result of this
1516 # check would be larger than it should be.
1517 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1518 ;;
1519
1520 gnu*)
1521 # Under GNU Hurd, this test is not required because there is
1522 # no limit to the length of command line arguments.
1523 # Libtool will interpret -1 as no limit whatsoever
1524 lt_cv_sys_max_cmd_len=-1;
1525 ;;
1526
Lev Walkin4c776e52010-11-08 02:07:31 -08001527 cygwin* | mingw*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00001528 # On Win9x/ME, this test blows up -- it succeeds, but takes
1529 # about 5 minutes as the teststring grows exponentially.
1530 # Worse, since 9x/ME are not pre-emptively multitasking,
1531 # you end up with a "frozen" computer, even though with patience
1532 # the test eventually succeeds (with a max line length of 256k).
1533 # Instead, let's just punt: use the minimum linelength reported by
1534 # all of the supported platforms: 8192 (on NT/2K/XP).
1535 lt_cv_sys_max_cmd_len=8192;
1536 ;;
1537
1538 amigaos*)
1539 # On AmigaOS with pdksh, this test takes hours, literally.
1540 # So we just punt and use a minimum line length of 8192.
1541 lt_cv_sys_max_cmd_len=8192;
1542 ;;
1543
Lev Walkin27fd0b62007-08-27 23:57:45 +00001544 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1545 # This has been around since 386BSD, at least. Likely further.
1546 if test -x /sbin/sysctl; then
1547 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1548 elif test -x /usr/sbin/sysctl; then
1549 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1550 else
1551 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1552 fi
1553 # And add a safety zone
1554 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1555 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1556 ;;
1557
1558 interix*)
1559 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1560 lt_cv_sys_max_cmd_len=196608
1561 ;;
1562
1563 osf*)
1564 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1565 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1566 # nice to cause kernel panics so lets avoid the loop below.
1567 # First set a reasonable default.
1568 lt_cv_sys_max_cmd_len=16384
1569 #
1570 if test -x /sbin/sysconfig; then
1571 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1572 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1573 esac
1574 fi
1575 ;;
1576 sco3.2v5*)
1577 lt_cv_sys_max_cmd_len=102400
1578 ;;
1579 sysv5* | sco5v6* | sysv4.2uw2*)
1580 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1581 if test -n "$kargmax"; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07001582 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
Lev Walkin27fd0b62007-08-27 23:57:45 +00001583 else
1584 lt_cv_sys_max_cmd_len=32768
1585 fi
1586 ;;
1587 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07001588 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1589 if test -n "$lt_cv_sys_max_cmd_len"; then
1590 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1591 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1592 else
1593 # Make teststring a little bigger before we do anything with it.
1594 # a 1K string should be a reasonable start.
1595 for i in 1 2 3 4 5 6 7 8 ; do
1596 teststring=$teststring$teststring
1597 done
1598 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1599 # If test is not a shell built-in, we'll probably end up computing a
1600 # maximum length that is only half of the actual maximum length, but
1601 # we can't tell.
Lev Walkin4c776e52010-11-08 02:07:31 -08001602 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1603 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
Lev Walkin4da95cf2010-10-16 02:46:32 -07001604 test $i != 17 # 1/2 MB should be enough
1605 do
1606 i=`expr $i + 1`
1607 teststring=$teststring$teststring
1608 done
1609 # Only check the string length outside the loop.
1610 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1611 teststring=
1612 # Add a significant safety factor because C++ compilers can tack on
1613 # massive amounts of additional arguments before passing them to the
1614 # linker. It appears as though 1/2 is a usable value.
1615 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1616 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00001617 ;;
1618 esac
1619])
1620if test -n $lt_cv_sys_max_cmd_len ; then
1621 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1622else
1623 AC_MSG_RESULT(none)
1624fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001625max_cmd_len=$lt_cv_sys_max_cmd_len
1626_LT_DECL([], [max_cmd_len], [0],
1627 [What is the maximum length of a command?])
1628])# LT_CMD_MAX_LEN
1629
1630# Old name:
1631AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1632dnl aclocal-1.4 backwards compatibility:
1633dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001634
1635
Lev Walkin4da95cf2010-10-16 02:46:32 -07001636# _LT_HEADER_DLFCN
1637# ----------------
1638m4_defun([_LT_HEADER_DLFCN],
1639[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1640])# _LT_HEADER_DLFCN
Lev Walkin8e8b5482004-06-17 23:42:48 +00001641
1642
Lev Walkin4da95cf2010-10-16 02:46:32 -07001643# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1644# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1645# ----------------------------------------------------------------
1646m4_defun([_LT_TRY_DLOPEN_SELF],
1647[m4_require([_LT_HEADER_DLFCN])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00001648if test "$cross_compiling" = yes; then :
1649 [$4]
1650else
1651 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1652 lt_status=$lt_dlunknown
Lev Walkin4da95cf2010-10-16 02:46:32 -07001653 cat > conftest.$ac_ext <<_LT_EOF
Lev Walkin4c776e52010-11-08 02:07:31 -08001654[#line __oline__ "configure"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001655#include "confdefs.h"
1656
1657#if HAVE_DLFCN_H
1658#include <dlfcn.h>
1659#endif
1660
1661#include <stdio.h>
1662
1663#ifdef RTLD_GLOBAL
1664# define LT_DLGLOBAL RTLD_GLOBAL
1665#else
1666# ifdef DL_GLOBAL
1667# define LT_DLGLOBAL DL_GLOBAL
1668# else
1669# define LT_DLGLOBAL 0
1670# endif
1671#endif
1672
1673/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1674 find out it does not work in some platform. */
1675#ifndef LT_DLLAZY_OR_NOW
1676# ifdef RTLD_LAZY
1677# define LT_DLLAZY_OR_NOW RTLD_LAZY
1678# else
1679# ifdef DL_LAZY
1680# define LT_DLLAZY_OR_NOW DL_LAZY
1681# else
1682# ifdef RTLD_NOW
1683# define LT_DLLAZY_OR_NOW RTLD_NOW
1684# else
1685# ifdef DL_NOW
1686# define LT_DLLAZY_OR_NOW DL_NOW
1687# else
1688# define LT_DLLAZY_OR_NOW 0
1689# endif
1690# endif
1691# endif
1692# endif
1693#endif
1694
Lev Walkin4c776e52010-11-08 02:07:31 -08001695#ifdef __cplusplus
1696extern "C" void exit (int);
Lev Walkin8e8b5482004-06-17 23:42:48 +00001697#endif
1698
Lev Walkin4c776e52010-11-08 02:07:31 -08001699void fnord() { int i=42;}
Lev Walkin8e8b5482004-06-17 23:42:48 +00001700int main ()
1701{
1702 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1703 int status = $lt_dlunknown;
1704
1705 if (self)
1706 {
1707 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
Lev Walkin4c776e52010-11-08 02:07:31 -08001708 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001709 /* dlclose (self); */
1710 }
Lev Walkin27fd0b62007-08-27 23:57:45 +00001711 else
1712 puts (dlerror ());
Lev Walkin8e8b5482004-06-17 23:42:48 +00001713
Lev Walkin4c776e52010-11-08 02:07:31 -08001714 exit (status);
Lev Walkin8e8b5482004-06-17 23:42:48 +00001715}]
Lev Walkin4da95cf2010-10-16 02:46:32 -07001716_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00001717 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00001718 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
Lev Walkin8e8b5482004-06-17 23:42:48 +00001719 lt_status=$?
1720 case x$lt_status in
1721 x$lt_dlno_uscore) $1 ;;
1722 x$lt_dlneed_uscore) $2 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00001723 x$lt_dlunknown|x*) $3 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001724 esac
1725 else :
1726 # compilation failed
1727 $3
1728 fi
1729fi
1730rm -fr conftest*
Lev Walkin4da95cf2010-10-16 02:46:32 -07001731])# _LT_TRY_DLOPEN_SELF
Lev Walkin8e8b5482004-06-17 23:42:48 +00001732
1733
Lev Walkin4da95cf2010-10-16 02:46:32 -07001734# LT_SYS_DLOPEN_SELF
1735# ------------------
1736AC_DEFUN([LT_SYS_DLOPEN_SELF],
1737[m4_require([_LT_HEADER_DLFCN])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00001738if test "x$enable_dlopen" != xyes; then
1739 enable_dlopen=unknown
1740 enable_dlopen_self=unknown
1741 enable_dlopen_self_static=unknown
1742else
1743 lt_cv_dlopen=no
1744 lt_cv_dlopen_libs=
1745
1746 case $host_os in
1747 beos*)
1748 lt_cv_dlopen="load_add_on"
1749 lt_cv_dlopen_libs=
1750 lt_cv_dlopen_self=yes
1751 ;;
1752
Lev Walkin4c776e52010-11-08 02:07:31 -08001753 mingw* | pw32*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00001754 lt_cv_dlopen="LoadLibrary"
1755 lt_cv_dlopen_libs=
Lev Walkin4da95cf2010-10-16 02:46:32 -07001756 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001757
1758 cygwin*)
1759 lt_cv_dlopen="dlopen"
1760 lt_cv_dlopen_libs=
Lev Walkin4da95cf2010-10-16 02:46:32 -07001761 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001762
1763 darwin*)
1764 # if libdl is installed we need to link against it
1765 AC_CHECK_LIB([dl], [dlopen],
1766 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1767 lt_cv_dlopen="dyld"
1768 lt_cv_dlopen_libs=
1769 lt_cv_dlopen_self=yes
1770 ])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001771 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00001772
1773 *)
1774 AC_CHECK_FUNC([shl_load],
1775 [lt_cv_dlopen="shl_load"],
1776 [AC_CHECK_LIB([dld], [shl_load],
Lev Walkin4da95cf2010-10-16 02:46:32 -07001777 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
Lev Walkin8e8b5482004-06-17 23:42:48 +00001778 [AC_CHECK_FUNC([dlopen],
1779 [lt_cv_dlopen="dlopen"],
1780 [AC_CHECK_LIB([dl], [dlopen],
1781 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1782 [AC_CHECK_LIB([svld], [dlopen],
1783 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1784 [AC_CHECK_LIB([dld], [dld_link],
Lev Walkin4da95cf2010-10-16 02:46:32 -07001785 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001786 ])
1787 ])
1788 ])
1789 ])
1790 ])
1791 ;;
1792 esac
1793
1794 if test "x$lt_cv_dlopen" != xno; then
1795 enable_dlopen=yes
1796 else
1797 enable_dlopen=no
1798 fi
1799
1800 case $lt_cv_dlopen in
1801 dlopen)
1802 save_CPPFLAGS="$CPPFLAGS"
1803 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1804
1805 save_LDFLAGS="$LDFLAGS"
Lev Walkin27fd0b62007-08-27 23:57:45 +00001806 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001807
1808 save_LIBS="$LIBS"
1809 LIBS="$lt_cv_dlopen_libs $LIBS"
1810
1811 AC_CACHE_CHECK([whether a program can dlopen itself],
1812 lt_cv_dlopen_self, [dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07001813 _LT_TRY_DLOPEN_SELF(
Lev Walkin8e8b5482004-06-17 23:42:48 +00001814 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1815 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1816 ])
1817
1818 if test "x$lt_cv_dlopen_self" = xyes; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00001819 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
Lev Walkin8e8b5482004-06-17 23:42:48 +00001820 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
Lev Walkin4da95cf2010-10-16 02:46:32 -07001821 lt_cv_dlopen_self_static, [dnl
1822 _LT_TRY_DLOPEN_SELF(
Lev Walkin8e8b5482004-06-17 23:42:48 +00001823 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1824 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1825 ])
1826 fi
1827
1828 CPPFLAGS="$save_CPPFLAGS"
1829 LDFLAGS="$save_LDFLAGS"
1830 LIBS="$save_LIBS"
1831 ;;
1832 esac
1833
1834 case $lt_cv_dlopen_self in
1835 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1836 *) enable_dlopen_self=unknown ;;
1837 esac
1838
1839 case $lt_cv_dlopen_self_static in
1840 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1841 *) enable_dlopen_self_static=unknown ;;
1842 esac
1843fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001844_LT_DECL([dlopen_support], [enable_dlopen], [0],
1845 [Whether dlopen is supported])
1846_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1847 [Whether dlopen of programs is supported])
1848_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1849 [Whether dlopen of statically linked programs is supported])
1850])# LT_SYS_DLOPEN_SELF
1851
1852# Old name:
1853AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1854dnl aclocal-1.4 backwards compatibility:
1855dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001856
1857
Lev Walkin4da95cf2010-10-16 02:46:32 -07001858# _LT_COMPILER_C_O([TAGNAME])
1859# ---------------------------
1860# Check to see if options -c and -o are simultaneously supported by compiler.
1861# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1862m4_defun([_LT_COMPILER_C_O],
1863[m4_require([_LT_DECL_SED])dnl
1864m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1865m4_require([_LT_TAG_COMPILER])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00001866AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
Lev Walkin4da95cf2010-10-16 02:46:32 -07001867 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1868 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1869 $RM -r conftest 2>/dev/null
Lev Walkin8e8b5482004-06-17 23:42:48 +00001870 mkdir conftest
1871 cd conftest
1872 mkdir out
Lev Walkin4da95cf2010-10-16 02:46:32 -07001873 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00001874
1875 lt_compiler_flag="-o out/conftest2.$ac_objext"
1876 # Insert the option either (1) after the last *FLAGS variable, or
1877 # (2) before a word containing "conftest.", or (3) at the end.
1878 # Note that $ac_compile itself does not contain backslashes and begins
1879 # with a dollar sign (not a hyphen), so the echo should work correctly.
1880 lt_compile=`echo "$ac_compile" | $SED \
Lev Walkin27fd0b62007-08-27 23:57:45 +00001881 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
Lev Walkin8e8b5482004-06-17 23:42:48 +00001882 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1883 -e 's:$: $lt_compiler_flag:'`
Lev Walkin4c776e52010-11-08 02:07:31 -08001884 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
Lev Walkin8e8b5482004-06-17 23:42:48 +00001885 (eval "$lt_compile" 2>out/conftest.err)
1886 ac_status=$?
1887 cat out/conftest.err >&AS_MESSAGE_LOG_FD
Lev Walkin4c776e52010-11-08 02:07:31 -08001888 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
Lev Walkin8e8b5482004-06-17 23:42:48 +00001889 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1890 then
1891 # The compiler can only warn and ignore the option if not recognized
1892 # So say no if there are warnings
Lev Walkin4c776e52010-11-08 02:07:31 -08001893 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
Lev Walkin27fd0b62007-08-27 23:57:45 +00001894 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1895 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07001896 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00001897 fi
1898 fi
Lev Walkin27fd0b62007-08-27 23:57:45 +00001899 chmod u+w . 2>&AS_MESSAGE_LOG_FD
Lev Walkin4c776e52010-11-08 02:07:31 -08001900 $RM -r conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001901 # SGI C++ compiler will create directory out/ii_files/ for
1902 # template instantiation
Lev Walkin4da95cf2010-10-16 02:46:32 -07001903 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1904 $RM out/* && rmdir out
Lev Walkin8e8b5482004-06-17 23:42:48 +00001905 cd ..
Lev Walkin4da95cf2010-10-16 02:46:32 -07001906 $RM -r conftest
Lev Walkin4c776e52010-11-08 02:07:31 -08001907 $RM -r conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001908])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001909_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1910 [Does compiler simultaneously support -c and -o options?])
1911])# _LT_COMPILER_C_O
Lev Walkin8e8b5482004-06-17 23:42:48 +00001912
1913
Lev Walkin4da95cf2010-10-16 02:46:32 -07001914# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1915# ----------------------------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00001916# Check to see if we can do hard links to lock some files if needed
Lev Walkin4da95cf2010-10-16 02:46:32 -07001917m4_defun([_LT_COMPILER_FILE_LOCKS],
1918[m4_require([_LT_ENABLE_LOCK])dnl
1919m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1920_LT_COMPILER_C_O([$1])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001921
1922hard_links="nottested"
Lev Walkin4da95cf2010-10-16 02:46:32 -07001923if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00001924 # do not overwrite the value of need_locks provided by the user
1925 AC_MSG_CHECKING([if we can lock with hard links])
1926 hard_links=yes
Lev Walkin4c776e52010-11-08 02:07:31 -08001927 $RM -r conftest*
Lev Walkin8e8b5482004-06-17 23:42:48 +00001928 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1929 touch conftest.a
1930 ln conftest.a conftest.b 2>&5 || hard_links=no
1931 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1932 AC_MSG_RESULT([$hard_links])
1933 if test "$hard_links" = no; then
1934 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1935 need_locks=warn
1936 fi
1937else
1938 need_locks=no
1939fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001940_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1941])# _LT_COMPILER_FILE_LOCKS
Lev Walkin8e8b5482004-06-17 23:42:48 +00001942
1943
Lev Walkin4da95cf2010-10-16 02:46:32 -07001944# _LT_CHECK_OBJDIR
1945# ----------------
1946m4_defun([_LT_CHECK_OBJDIR],
Lev Walkin8e8b5482004-06-17 23:42:48 +00001947[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1948[rm -f .libs 2>/dev/null
1949mkdir .libs 2>/dev/null
1950if test -d .libs; then
1951 lt_cv_objdir=.libs
1952else
1953 # MS-DOS does not allow filenames that begin with a dot.
1954 lt_cv_objdir=_libs
1955fi
1956rmdir .libs 2>/dev/null])
1957objdir=$lt_cv_objdir
Lev Walkin4da95cf2010-10-16 02:46:32 -07001958_LT_DECL([], [objdir], [0],
1959 [The name of the directory that contains temporary libtool files])dnl
1960m4_pattern_allow([LT_OBJDIR])dnl
1961AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1962 [Define to the sub-directory in which libtool stores uninstalled libraries.])
1963])# _LT_CHECK_OBJDIR
Lev Walkin8e8b5482004-06-17 23:42:48 +00001964
1965
Lev Walkin4da95cf2010-10-16 02:46:32 -07001966# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
1967# --------------------------------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00001968# Check hardcoding attributes.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001969m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
Lev Walkin8e8b5482004-06-17 23:42:48 +00001970[AC_MSG_CHECKING([how to hardcode library paths into programs])
Lev Walkin4da95cf2010-10-16 02:46:32 -07001971_LT_TAGVAR(hardcode_action, $1)=
1972if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
1973 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
1974 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00001975
Lev Walkin4da95cf2010-10-16 02:46:32 -07001976 # We can hardcode non-existent directories.
1977 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
Lev Walkin8e8b5482004-06-17 23:42:48 +00001978 # If the only mechanism to avoid hardcoding is shlibpath_var, we
1979 # have to relink, otherwise we might link with an installed library
1980 # when we should be linking with a yet-to-be-installed one
Lev Walkin4da95cf2010-10-16 02:46:32 -07001981 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1982 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00001983 # Linking always hardcodes the temporary library directory.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001984 _LT_TAGVAR(hardcode_action, $1)=relink
Lev Walkin8e8b5482004-06-17 23:42:48 +00001985 else
1986 # We can link without hardcoding, and we can hardcode nonexisting dirs.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001987 _LT_TAGVAR(hardcode_action, $1)=immediate
Lev Walkin8e8b5482004-06-17 23:42:48 +00001988 fi
1989else
1990 # We cannot hardcode anything, or else we can only hardcode existing
1991 # directories.
Lev Walkin4da95cf2010-10-16 02:46:32 -07001992 _LT_TAGVAR(hardcode_action, $1)=unsupported
Lev Walkin8e8b5482004-06-17 23:42:48 +00001993fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07001994AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
Lev Walkin8e8b5482004-06-17 23:42:48 +00001995
Lev Walkin4da95cf2010-10-16 02:46:32 -07001996if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
1997 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00001998 # Fast installation is not supported
1999 enable_fast_install=no
2000elif test "$shlibpath_overrides_runpath" = yes ||
2001 test "$enable_shared" = no; then
2002 # Fast installation is not necessary
2003 enable_fast_install=needless
2004fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002005_LT_TAGDECL([], [hardcode_action], [0],
2006 [How to hardcode a shared library path into an executable])
2007])# _LT_LINKER_HARDCODE_LIBPATH
Lev Walkin8e8b5482004-06-17 23:42:48 +00002008
2009
Lev Walkin4da95cf2010-10-16 02:46:32 -07002010# _LT_CMD_STRIPLIB
2011# ----------------
2012m4_defun([_LT_CMD_STRIPLIB],
2013[m4_require([_LT_DECL_EGREP])
2014striplib=
Lev Walkin8e8b5482004-06-17 23:42:48 +00002015old_striplib=
2016AC_MSG_CHECKING([whether stripping libraries is possible])
Lev Walkin4da95cf2010-10-16 02:46:32 -07002017if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002018 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2019 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2020 AC_MSG_RESULT([yes])
2021else
2022# FIXME - insert some real tests, host_os isn't really good enough
2023 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07002024 darwin*)
2025 if test -n "$STRIP" ; then
2026 striplib="$STRIP -x"
2027 old_striplib="$STRIP -S"
2028 AC_MSG_RESULT([yes])
2029 else
2030 AC_MSG_RESULT([no])
2031 fi
2032 ;;
2033 *)
2034 AC_MSG_RESULT([no])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002035 ;;
2036 esac
2037fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002038_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2039_LT_DECL([], [striplib], [1])
2040])# _LT_CMD_STRIPLIB
Lev Walkin8e8b5482004-06-17 23:42:48 +00002041
2042
Lev Walkin4da95cf2010-10-16 02:46:32 -07002043# _LT_SYS_DYNAMIC_LINKER([TAG])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002044# -----------------------------
2045# PORTME Fill in your ld.so characteristics
Lev Walkin4da95cf2010-10-16 02:46:32 -07002046m4_defun([_LT_SYS_DYNAMIC_LINKER],
2047[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2048m4_require([_LT_DECL_EGREP])dnl
2049m4_require([_LT_FILEUTILS_DEFAULTS])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07002050m4_require([_LT_DECL_SED])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07002051AC_MSG_CHECKING([dynamic linker characteristics])
2052m4_if([$1],
2053 [], [
2054if test "$GCC" = yes; then
2055 case $host_os in
2056 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2057 *) lt_awk_arg="/^libraries:/" ;;
2058 esac
Lev Walkin4c776e52010-11-08 02:07:31 -08002059 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2060 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07002061 # if the path contains ";" then we assume it to be the separator
2062 # otherwise default to the standard path separator (i.e. ":") - it is
2063 # assumed that no part of a normal pathname contains ";" but that should
2064 # okay in the real world where ";" in dirpaths is itself problematic.
Lev Walkin4c776e52010-11-08 02:07:31 -08002065 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2066 else
2067 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2068 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002069 # Ok, now we have the path, separated by spaces, we can step through it
2070 # and add multilib dir if necessary.
2071 lt_tmp_lt_search_path_spec=
2072 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2073 for lt_sys_path in $lt_search_path_spec; do
2074 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2075 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2076 else
2077 test -d "$lt_sys_path" && \
2078 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2079 fi
2080 done
Lev Walkin4c776e52010-11-08 02:07:31 -08002081 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
Lev Walkin4da95cf2010-10-16 02:46:32 -07002082BEGIN {RS=" "; FS="/|\n";} {
2083 lt_foo="";
2084 lt_count=0;
2085 for (lt_i = NF; lt_i > 0; lt_i--) {
2086 if ($lt_i != "" && $lt_i != ".") {
2087 if ($lt_i == "..") {
2088 lt_count++;
2089 } else {
2090 if (lt_count == 0) {
2091 lt_foo="/" $lt_i lt_foo;
2092 } else {
2093 lt_count--;
2094 }
2095 }
2096 }
2097 }
2098 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2099 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2100}'`
Lev Walkin4c776e52010-11-08 02:07:31 -08002101 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
Lev Walkin4da95cf2010-10-16 02:46:32 -07002102else
2103 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2104fi])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002105library_names_spec=
2106libname_spec='lib$name'
2107soname_spec=
2108shrext_cmds=".so"
2109postinstall_cmds=
2110postuninstall_cmds=
2111finish_cmds=
2112finish_eval=
2113shlibpath_var=
2114shlibpath_overrides_runpath=unknown
2115version_type=none
2116dynamic_linker="$host_os ld.so"
2117sys_lib_dlsearch_path_spec="/lib /usr/lib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002118need_lib_prefix=unknown
2119hardcode_into_libs=no
2120
2121# when you set need_version to no, make sure it does not cause -set_version
2122# flags to be left without arguments
2123need_version=unknown
2124
2125case $host_os in
2126aix3*)
2127 version_type=linux
2128 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2129 shlibpath_var=LIBPATH
2130
2131 # AIX 3 has no versioning support, so we append a major version to the name.
2132 soname_spec='${libname}${release}${shared_ext}$major'
2133 ;;
2134
Lev Walkin4da95cf2010-10-16 02:46:32 -07002135aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002136 version_type=linux
2137 need_lib_prefix=no
2138 need_version=no
2139 hardcode_into_libs=yes
2140 if test "$host_cpu" = ia64; then
2141 # AIX 5 supports IA64
2142 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2143 shlibpath_var=LD_LIBRARY_PATH
2144 else
2145 # With GCC up to 2.95.x, collect2 would create an import file
2146 # for dependence libraries. The import file would start with
2147 # the line `#! .'. This would cause the generated library to
2148 # depend on `.', always an invalid library. This was fixed in
2149 # development snapshots of GCC prior to 3.0.
2150 case $host_os in
2151 aix4 | aix4.[[01]] | aix4.[[01]].*)
2152 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2153 echo ' yes '
Lev Walkin4da95cf2010-10-16 02:46:32 -07002154 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002155 :
2156 else
2157 can_build_shared=no
2158 fi
2159 ;;
2160 esac
2161 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2162 # soname into executable. Probably we can add versioning support to
2163 # collect2, so additional links can be useful in future.
2164 if test "$aix_use_runtimelinking" = yes; then
2165 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2166 # instead of lib<name>.a to let people know that these are not
2167 # typical AIX shared libraries.
2168 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2169 else
2170 # We preserve .a as extension for shared libraries through AIX4.2
2171 # and later when we are not doing run time linking.
2172 library_names_spec='${libname}${release}.a $libname.a'
2173 soname_spec='${libname}${release}${shared_ext}$major'
2174 fi
2175 shlibpath_var=LIBPATH
2176 fi
2177 ;;
2178
2179amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07002180 case $host_cpu in
2181 powerpc)
2182 # Since July 2007 AmigaOS4 officially supports .so libraries.
2183 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2184 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2185 ;;
2186 m68k)
2187 library_names_spec='$libname.ixlibrary $libname.a'
2188 # Create ${libname}_ixlibrary.a entries in /sys/libs.
Lev Walkin4c776e52010-11-08 02:07:31 -08002189 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
Lev Walkin4da95cf2010-10-16 02:46:32 -07002190 ;;
2191 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00002192 ;;
2193
2194beos*)
2195 library_names_spec='${libname}${shared_ext}'
2196 dynamic_linker="$host_os ld.so"
2197 shlibpath_var=LIBRARY_PATH
2198 ;;
2199
Lev Walkin27fd0b62007-08-27 23:57:45 +00002200bsdi[[45]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002201 version_type=linux
2202 need_version=no
2203 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2204 soname_spec='${libname}${release}${shared_ext}$major'
2205 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2206 shlibpath_var=LD_LIBRARY_PATH
2207 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2208 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2209 # the default ld.so.conf also contains /usr/contrib/lib and
2210 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2211 # libtool to hard-code these into programs
2212 ;;
2213
Lev Walkin4c776e52010-11-08 02:07:31 -08002214cygwin* | mingw* | pw32*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002215 version_type=windows
2216 shrext_cmds=".dll"
2217 need_version=no
2218 need_lib_prefix=no
2219
Lev Walkin4c776e52010-11-08 02:07:31 -08002220 case $GCC,$host_os in
2221 yes,cygwin* | yes,mingw* | yes,pw32*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002222 library_names_spec='$libname.dll.a'
2223 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2224 postinstall_cmds='base_file=`basename \${file}`~
Lev Walkin4da95cf2010-10-16 02:46:32 -07002225 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
Lev Walkin8e8b5482004-06-17 23:42:48 +00002226 dldir=$destdir/`dirname \$dlpath`~
2227 test -d \$dldir || mkdir -p \$dldir~
Lev Walkin27fd0b62007-08-27 23:57:45 +00002228 $install_prog $dir/$dlname \$dldir/$dlname~
Lev Walkin4da95cf2010-10-16 02:46:32 -07002229 chmod a+x \$dldir/$dlname~
2230 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2231 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2232 fi'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002233 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2234 dlpath=$dir/\$dldll~
Lev Walkin4da95cf2010-10-16 02:46:32 -07002235 $RM \$dlpath'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002236 shlibpath_overrides_runpath=yes
2237
2238 case $host_os in
2239 cygwin*)
2240 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2241 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
Lev Walkin4c776e52010-11-08 02:07:31 -08002242 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002243 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08002244 mingw*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002245 # MinGW DLLs use traditional 'lib' prefix
2246 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
Lev Walkin4c776e52010-11-08 02:07:31 -08002247 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2248 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2249 # It is most probably a Windows format PATH printed by
2250 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2251 # path with ; separators, and with drive letters. We can handle the
2252 # drive letters (cygwin fileutils understands them), so leave them,
2253 # especially as we might pass files found there to a mingw objdump,
2254 # which wouldn't understand a cygwinified path. Ahh.
2255 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2256 else
2257 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2258 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00002259 ;;
2260 pw32*)
2261 # pw32 DLLs use 'pw' prefix rather than 'lib'
Lev Walkin27fd0b62007-08-27 23:57:45 +00002262 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 +00002263 ;;
2264 esac
2265 ;;
2266
2267 *)
2268 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2269 ;;
2270 esac
Lev Walkin4c776e52010-11-08 02:07:31 -08002271 dynamic_linker='Win32 ld.exe'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002272 # FIXME: first we should search . and the directory the executable is in
2273 shlibpath_var=PATH
2274 ;;
2275
2276darwin* | rhapsody*)
2277 dynamic_linker="$host_os dyld"
2278 version_type=darwin
2279 need_lib_prefix=no
2280 need_version=no
Lev Walkin4c776e52010-11-08 02:07:31 -08002281 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext ${libname}${release}${versuffix}$shared_ext'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002282 soname_spec='${libname}${release}${major}$shared_ext'
2283 shlibpath_overrides_runpath=yes
2284 shlibpath_var=DYLD_LIBRARY_PATH
Lev Walkin27fd0b62007-08-27 23:57:45 +00002285 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
Lev Walkin4da95cf2010-10-16 02:46:32 -07002286m4_if([$1], [],[
2287 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002288 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2289 ;;
2290
2291dgux*)
2292 version_type=linux
2293 need_lib_prefix=no
2294 need_version=no
2295 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2296 soname_spec='${libname}${release}${shared_ext}$major'
2297 shlibpath_var=LD_LIBRARY_PATH
2298 ;;
2299
2300freebsd1*)
2301 dynamic_linker=no
2302 ;;
2303
Lev Walkin27fd0b62007-08-27 23:57:45 +00002304freebsd* | dragonfly*)
2305 # DragonFly does not have aout. When/if they implement a new
2306 # versioning mechanism, adjust this.
2307 if test -x /usr/bin/objformat; then
2308 objformat=`/usr/bin/objformat`
2309 else
2310 case $host_os in
2311 freebsd[[123]]*) objformat=aout ;;
2312 *) objformat=elf ;;
2313 esac
2314 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00002315 version_type=freebsd-$objformat
2316 case $version_type in
2317 freebsd-elf*)
2318 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2319 need_version=no
2320 need_lib_prefix=no
2321 ;;
2322 freebsd-*)
2323 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2324 need_version=yes
2325 ;;
2326 esac
2327 shlibpath_var=LD_LIBRARY_PATH
2328 case $host_os in
2329 freebsd2*)
2330 shlibpath_overrides_runpath=yes
2331 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00002332 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002333 shlibpath_overrides_runpath=yes
2334 hardcode_into_libs=yes
2335 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00002336 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2337 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002338 shlibpath_overrides_runpath=no
2339 hardcode_into_libs=yes
2340 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07002341 *) # from 4.6 on, and DragonFly
Lev Walkin27fd0b62007-08-27 23:57:45 +00002342 shlibpath_overrides_runpath=yes
2343 hardcode_into_libs=yes
2344 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00002345 esac
2346 ;;
2347
2348gnu*)
2349 version_type=linux
2350 need_lib_prefix=no
2351 need_version=no
2352 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2353 soname_spec='${libname}${release}${shared_ext}$major'
2354 shlibpath_var=LD_LIBRARY_PATH
2355 hardcode_into_libs=yes
2356 ;;
2357
2358hpux9* | hpux10* | hpux11*)
2359 # Give a soname corresponding to the major version so that dld.sl refuses to
2360 # link against other versions.
2361 version_type=sunos
2362 need_lib_prefix=no
2363 need_version=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00002364 case $host_cpu in
Lev Walkin8e8b5482004-06-17 23:42:48 +00002365 ia64*)
2366 shrext_cmds='.so'
2367 hardcode_into_libs=yes
2368 dynamic_linker="$host_os dld.so"
2369 shlibpath_var=LD_LIBRARY_PATH
2370 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2371 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2372 soname_spec='${libname}${release}${shared_ext}$major'
2373 if test "X$HPUX_IA64_MODE" = X32; then
2374 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2375 else
2376 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2377 fi
2378 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2379 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07002380 hppa*64*)
2381 shrext_cmds='.sl'
2382 hardcode_into_libs=yes
2383 dynamic_linker="$host_os dld.sl"
2384 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2385 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2386 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2387 soname_spec='${libname}${release}${shared_ext}$major'
2388 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2389 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2390 ;;
2391 *)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002392 shrext_cmds='.sl'
2393 dynamic_linker="$host_os dld.sl"
2394 shlibpath_var=SHLIB_PATH
2395 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2396 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2397 soname_spec='${libname}${release}${shared_ext}$major'
2398 ;;
2399 esac
Lev Walkin4c776e52010-11-08 02:07:31 -08002400 # HP-UX runs *really* slowly unless shared libraries are mode 555.
Lev Walkin8e8b5482004-06-17 23:42:48 +00002401 postinstall_cmds='chmod 555 $lib'
2402 ;;
2403
Lev Walkin4da95cf2010-10-16 02:46:32 -07002404interix[[3-9]]*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00002405 version_type=linux
2406 need_lib_prefix=no
2407 need_version=no
2408 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2409 soname_spec='${libname}${release}${shared_ext}$major'
2410 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2411 shlibpath_var=LD_LIBRARY_PATH
2412 shlibpath_overrides_runpath=no
2413 hardcode_into_libs=yes
2414 ;;
2415
Lev Walkin8e8b5482004-06-17 23:42:48 +00002416irix5* | irix6* | nonstopux*)
2417 case $host_os in
2418 nonstopux*) version_type=nonstopux ;;
2419 *)
2420 if test "$lt_cv_prog_gnu_ld" = yes; then
2421 version_type=linux
2422 else
2423 version_type=irix
2424 fi ;;
2425 esac
2426 need_lib_prefix=no
2427 need_version=no
2428 soname_spec='${libname}${release}${shared_ext}$major'
2429 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2430 case $host_os in
2431 irix5* | nonstopux*)
2432 libsuff= shlibsuff=
2433 ;;
2434 *)
2435 case $LD in # libtool.m4 will add one of these switches to LD
2436 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2437 libsuff= shlibsuff= libmagic=32-bit;;
2438 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2439 libsuff=32 shlibsuff=N32 libmagic=N32;;
2440 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2441 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2442 *) libsuff= shlibsuff= libmagic=never-match;;
2443 esac
2444 ;;
2445 esac
2446 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2447 shlibpath_overrides_runpath=no
2448 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2449 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2450 hardcode_into_libs=yes
2451 ;;
2452
2453# No shared lib support for Linux oldld, aout, or coff.
2454linux*oldld* | linux*aout* | linux*coff*)
2455 dynamic_linker=no
2456 ;;
2457
2458# This must be Linux ELF.
Lev Walkin4c776e52010-11-08 02:07:31 -08002459linux* | k*bsd*-gnu)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002460 version_type=linux
2461 need_lib_prefix=no
2462 need_version=no
2463 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2464 soname_spec='${libname}${release}${shared_ext}$major'
2465 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2466 shlibpath_var=LD_LIBRARY_PATH
2467 shlibpath_overrides_runpath=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07002468 # Some binutils ld are patched to set DT_RUNPATH
Lev Walkin4c776e52010-11-08 02:07:31 -08002469 save_LDFLAGS=$LDFLAGS
2470 save_libdir=$libdir
2471 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2472 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2473 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2474 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2475 [shlibpath_overrides_runpath=yes])])
2476 LDFLAGS=$save_LDFLAGS
2477 libdir=$save_libdir
Lev Walkin4da95cf2010-10-16 02:46:32 -07002478
Lev Walkin8e8b5482004-06-17 23:42:48 +00002479 # This implies no fast_install, which is unacceptable.
2480 # Some rework will be needed to allow for fast_install
2481 # before this can be enabled.
2482 hardcode_into_libs=yes
2483
2484 # Append ld.so.conf contents to the search path
2485 if test -f /etc/ld.so.conf; then
Lev Walkin4c776e52010-11-08 02:07:31 -08002486 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
Lev Walkin8e8b5482004-06-17 23:42:48 +00002487 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2488 fi
2489
2490 # We used to test for /lib/ld.so.1 and disable shared libraries on
2491 # powerpc, because MkLinux only supported shared libraries with the
2492 # GNU dynamic linker. Since this was broken with cross compilers,
2493 # most powerpc-linux boxes support dynamic linking these days and
2494 # people can always --disable-shared, the test was removed, and we
2495 # assume the GNU/Linux dynamic linker is in use.
2496 dynamic_linker='GNU/Linux ld.so'
2497 ;;
2498
Lev Walkin8e8b5482004-06-17 23:42:48 +00002499netbsd*)
2500 version_type=sunos
2501 need_lib_prefix=no
2502 need_version=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07002503 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00002504 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2505 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2506 dynamic_linker='NetBSD (a.out) ld.so'
2507 else
2508 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2509 soname_spec='${libname}${release}${shared_ext}$major'
2510 dynamic_linker='NetBSD ld.elf_so'
2511 fi
2512 shlibpath_var=LD_LIBRARY_PATH
2513 shlibpath_overrides_runpath=yes
2514 hardcode_into_libs=yes
2515 ;;
2516
2517newsos6)
2518 version_type=linux
2519 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2520 shlibpath_var=LD_LIBRARY_PATH
2521 shlibpath_overrides_runpath=yes
2522 ;;
2523
Lev Walkin4da95cf2010-10-16 02:46:32 -07002524*nto* | *qnx*)
2525 version_type=qnx
Lev Walkin8e8b5482004-06-17 23:42:48 +00002526 need_lib_prefix=no
2527 need_version=no
2528 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2529 soname_spec='${libname}${release}${shared_ext}$major'
2530 shlibpath_var=LD_LIBRARY_PATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07002531 shlibpath_overrides_runpath=no
2532 hardcode_into_libs=yes
2533 dynamic_linker='ldqnx.so'
Lev Walkin8e8b5482004-06-17 23:42:48 +00002534 ;;
2535
2536openbsd*)
2537 version_type=sunos
Lev Walkin27fd0b62007-08-27 23:57:45 +00002538 sys_lib_dlsearch_path_spec="/usr/lib"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002539 need_lib_prefix=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00002540 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2541 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07002542 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2543 *) need_version=no ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00002544 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00002545 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2546 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2547 shlibpath_var=LD_LIBRARY_PATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07002548 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 +00002549 case $host_os in
2550 openbsd2.[[89]] | openbsd2.[[89]].*)
2551 shlibpath_overrides_runpath=no
2552 ;;
2553 *)
2554 shlibpath_overrides_runpath=yes
2555 ;;
2556 esac
2557 else
2558 shlibpath_overrides_runpath=yes
2559 fi
2560 ;;
2561
2562os2*)
2563 libname_spec='$name'
2564 shrext_cmds=".dll"
2565 need_lib_prefix=no
2566 library_names_spec='$libname${shared_ext} $libname.a'
2567 dynamic_linker='OS/2 ld.exe'
2568 shlibpath_var=LIBPATH
2569 ;;
2570
2571osf3* | osf4* | osf5*)
2572 version_type=osf
2573 need_lib_prefix=no
2574 need_version=no
2575 soname_spec='${libname}${release}${shared_ext}$major'
2576 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2577 shlibpath_var=LD_LIBRARY_PATH
2578 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2579 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2580 ;;
2581
Lev Walkin4da95cf2010-10-16 02:46:32 -07002582rdos*)
2583 dynamic_linker=no
2584 ;;
2585
Lev Walkin8e8b5482004-06-17 23:42:48 +00002586solaris*)
2587 version_type=linux
2588 need_lib_prefix=no
2589 need_version=no
2590 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2591 soname_spec='${libname}${release}${shared_ext}$major'
2592 shlibpath_var=LD_LIBRARY_PATH
2593 shlibpath_overrides_runpath=yes
2594 hardcode_into_libs=yes
2595 # ldd complains unless libraries are executable
2596 postinstall_cmds='chmod +x $lib'
2597 ;;
2598
2599sunos4*)
2600 version_type=sunos
2601 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2602 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2603 shlibpath_var=LD_LIBRARY_PATH
2604 shlibpath_overrides_runpath=yes
2605 if test "$with_gnu_ld" = yes; then
2606 need_lib_prefix=no
2607 fi
2608 need_version=yes
2609 ;;
2610
Lev Walkin27fd0b62007-08-27 23:57:45 +00002611sysv4 | sysv4.3*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002612 version_type=linux
2613 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2614 soname_spec='${libname}${release}${shared_ext}$major'
2615 shlibpath_var=LD_LIBRARY_PATH
2616 case $host_vendor in
2617 sni)
2618 shlibpath_overrides_runpath=no
2619 need_lib_prefix=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00002620 runpath_var=LD_RUN_PATH
2621 ;;
2622 siemens)
2623 need_lib_prefix=no
2624 ;;
2625 motorola)
2626 need_lib_prefix=no
2627 need_version=no
2628 shlibpath_overrides_runpath=no
2629 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2630 ;;
2631 esac
2632 ;;
2633
2634sysv4*MP*)
2635 if test -d /usr/nec ;then
2636 version_type=linux
2637 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2638 soname_spec='$libname${shared_ext}.$major'
2639 shlibpath_var=LD_LIBRARY_PATH
2640 fi
2641 ;;
2642
Lev Walkin27fd0b62007-08-27 23:57:45 +00002643sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2644 version_type=freebsd-elf
2645 need_lib_prefix=no
2646 need_version=no
2647 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2648 soname_spec='${libname}${release}${shared_ext}$major'
2649 shlibpath_var=LD_LIBRARY_PATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07002650 shlibpath_overrides_runpath=yes
Lev Walkin27fd0b62007-08-27 23:57:45 +00002651 hardcode_into_libs=yes
2652 if test "$with_gnu_ld" = yes; then
2653 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
Lev Walkin27fd0b62007-08-27 23:57:45 +00002654 else
2655 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
Lev Walkin27fd0b62007-08-27 23:57:45 +00002656 case $host_os in
2657 sco3.2v5*)
2658 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2659 ;;
2660 esac
2661 fi
2662 sys_lib_dlsearch_path_spec='/usr/lib'
2663 ;;
2664
Lev Walkin4da95cf2010-10-16 02:46:32 -07002665tpf*)
2666 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2667 version_type=linux
2668 need_lib_prefix=no
2669 need_version=no
Lev Walkin4c776e52010-11-08 02:07:31 -08002670 library_name_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
Lev Walkin4da95cf2010-10-16 02:46:32 -07002671 shlibpath_var=LD_LIBRARY_PATH
2672 shlibpath_overrides_runpath=no
2673 hardcode_into_libs=yes
2674 ;;
2675
Lev Walkin8e8b5482004-06-17 23:42:48 +00002676uts4*)
2677 version_type=linux
2678 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2679 soname_spec='${libname}${release}${shared_ext}$major'
2680 shlibpath_var=LD_LIBRARY_PATH
2681 ;;
2682
2683*)
2684 dynamic_linker=no
2685 ;;
2686esac
2687AC_MSG_RESULT([$dynamic_linker])
2688test "$dynamic_linker" = no && can_build_shared=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00002689
2690variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2691if test "$GCC" = yes; then
2692 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2693fi
Lev Walkin4c776e52010-11-08 02:07:31 -08002694
Lev Walkin4da95cf2010-10-16 02:46:32 -07002695if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2696 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002697fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002698if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2699 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2700fi
2701
2702_LT_DECL([], [variables_saved_for_relink], [1],
2703 [Variables whose values should be saved in libtool wrapper scripts and
2704 restored at link time])
2705_LT_DECL([], [need_lib_prefix], [0],
2706 [Do we need the "lib" prefix for modules?])
2707_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2708_LT_DECL([], [version_type], [0], [Library versioning type])
2709_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2710_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2711_LT_DECL([], [shlibpath_overrides_runpath], [0],
2712 [Is shlibpath searched before the hard-coded library search path?])
2713_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2714_LT_DECL([], [library_names_spec], [1],
2715 [[List of archive names. First name is the real one, the rest are links.
2716 The last name is the one that the linker finds with -lNAME]])
2717_LT_DECL([], [soname_spec], [1],
2718 [[The coded name of the library, if different from the real name]])
Lev Walkin4da95cf2010-10-16 02:46:32 -07002719_LT_DECL([], [postinstall_cmds], [2],
2720 [Command to use after installation of a shared archive])
2721_LT_DECL([], [postuninstall_cmds], [2],
2722 [Command to use after uninstallation of a shared archive])
2723_LT_DECL([], [finish_cmds], [2],
2724 [Commands used to finish a libtool library installation in a directory])
2725_LT_DECL([], [finish_eval], [1],
2726 [[As "finish_cmds", except a single script fragment to be evaled but
2727 not shown]])
2728_LT_DECL([], [hardcode_into_libs], [0],
2729 [Whether we should hardcode library paths into libraries])
2730_LT_DECL([], [sys_lib_search_path_spec], [2],
2731 [Compile-time system search path for libraries])
2732_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2733 [Run-time system search path for libraries])
2734])# _LT_SYS_DYNAMIC_LINKER
Lev Walkin8e8b5482004-06-17 23:42:48 +00002735
2736
Lev Walkin4da95cf2010-10-16 02:46:32 -07002737# _LT_PATH_TOOL_PREFIX(TOOL)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002738# --------------------------
Lev Walkin4da95cf2010-10-16 02:46:32 -07002739# find a file program which can recognize shared library
2740AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2741[m4_require([_LT_DECL_EGREP])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00002742AC_MSG_CHECKING([for $1])
2743AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2744[case $MAGIC_CMD in
2745[[\\/*] | ?:[\\/]*])
2746 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2747 ;;
2748*)
2749 lt_save_MAGIC_CMD="$MAGIC_CMD"
2750 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2751dnl $ac_dummy forces splitting on constant user-supplied paths.
2752dnl POSIX.2 word splitting is done only on the output of word expansions,
2753dnl not every word. This closes a longstanding sh security hole.
Lev Walkin4da95cf2010-10-16 02:46:32 -07002754 ac_dummy="m4_if([$2], , $PATH, [$2])"
Lev Walkin8e8b5482004-06-17 23:42:48 +00002755 for ac_dir in $ac_dummy; do
2756 IFS="$lt_save_ifs"
2757 test -z "$ac_dir" && ac_dir=.
2758 if test -f $ac_dir/$1; then
2759 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2760 if test -n "$file_magic_test_file"; then
2761 case $deplibs_check_method in
2762 "file_magic "*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00002763 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
Lev Walkin8e8b5482004-06-17 23:42:48 +00002764 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2765 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2766 $EGREP "$file_magic_regex" > /dev/null; then
2767 :
2768 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07002769 cat <<_LT_EOF 1>&2
Lev Walkin8e8b5482004-06-17 23:42:48 +00002770
2771*** Warning: the command libtool uses to detect shared libraries,
2772*** $file_magic_cmd, produces output that libtool cannot recognize.
2773*** The result is that libtool may fail to recognize shared libraries
2774*** as such. This will affect the creation of libtool libraries that
2775*** depend on shared libraries, but programs linked with such libtool
2776*** libraries will work regardless of this problem. Nevertheless, you
2777*** may want to report the problem to your system manager and/or to
2778*** bug-libtool@gnu.org
2779
Lev Walkin4da95cf2010-10-16 02:46:32 -07002780_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00002781 fi ;;
2782 esac
2783 fi
2784 break
2785 fi
2786 done
2787 IFS="$lt_save_ifs"
2788 MAGIC_CMD="$lt_save_MAGIC_CMD"
2789 ;;
2790esac])
2791MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2792if test -n "$MAGIC_CMD"; then
2793 AC_MSG_RESULT($MAGIC_CMD)
2794else
2795 AC_MSG_RESULT(no)
2796fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002797_LT_DECL([], [MAGIC_CMD], [0],
2798 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2799])# _LT_PATH_TOOL_PREFIX
2800
2801# Old name:
2802AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2803dnl aclocal-1.4 backwards compatibility:
2804dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002805
2806
Lev Walkin4da95cf2010-10-16 02:46:32 -07002807# _LT_PATH_MAGIC
2808# --------------
2809# find a file program which can recognize a shared library
2810m4_defun([_LT_PATH_MAGIC],
2811[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002812if test -z "$lt_cv_path_MAGIC_CMD"; then
2813 if test -n "$ac_tool_prefix"; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07002814 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002815 else
2816 MAGIC_CMD=:
2817 fi
2818fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07002819])# _LT_PATH_MAGIC
Lev Walkin8e8b5482004-06-17 23:42:48 +00002820
2821
Lev Walkin4da95cf2010-10-16 02:46:32 -07002822# LT_PATH_LD
Lev Walkin8e8b5482004-06-17 23:42:48 +00002823# ----------
2824# find the pathname to the GNU or non-GNU linker
Lev Walkin4da95cf2010-10-16 02:46:32 -07002825AC_DEFUN([LT_PATH_LD],
2826[AC_REQUIRE([AC_PROG_CC])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00002827AC_REQUIRE([AC_CANONICAL_HOST])dnl
2828AC_REQUIRE([AC_CANONICAL_BUILD])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07002829m4_require([_LT_DECL_SED])dnl
2830m4_require([_LT_DECL_EGREP])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07002831
2832AC_ARG_WITH([gnu-ld],
2833 [AS_HELP_STRING([--with-gnu-ld],
2834 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2835 [test "$withval" = no || with_gnu_ld=yes],
2836 [with_gnu_ld=no])dnl
2837
Lev Walkin8e8b5482004-06-17 23:42:48 +00002838ac_prog=ld
2839if test "$GCC" = yes; then
2840 # Check if gcc -print-prog-name=ld gives a path.
2841 AC_MSG_CHECKING([for ld used by $CC])
2842 case $host in
2843 *-*-mingw*)
2844 # gcc leaves a trailing carriage return which upsets mingw
2845 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2846 *)
2847 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2848 esac
2849 case $ac_prog in
2850 # Accept absolute paths.
2851 [[\\/]]* | ?:[[\\/]]*)
2852 re_direlt='/[[^/]][[^/]]*/\.\./'
2853 # Canonicalize the pathname of ld
Lev Walkin4da95cf2010-10-16 02:46:32 -07002854 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2855 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2856 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
Lev Walkin8e8b5482004-06-17 23:42:48 +00002857 done
2858 test -z "$LD" && LD="$ac_prog"
2859 ;;
2860 "")
2861 # If it fails, then pretend we aren't using GCC.
2862 ac_prog=ld
2863 ;;
2864 *)
2865 # If it is relative, then search for the first ld in PATH.
2866 with_gnu_ld=unknown
2867 ;;
2868 esac
2869elif test "$with_gnu_ld" = yes; then
2870 AC_MSG_CHECKING([for GNU ld])
2871else
2872 AC_MSG_CHECKING([for non-GNU ld])
2873fi
2874AC_CACHE_VAL(lt_cv_path_LD,
2875[if test -z "$LD"; then
2876 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2877 for ac_dir in $PATH; do
2878 IFS="$lt_save_ifs"
2879 test -z "$ac_dir" && ac_dir=.
2880 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2881 lt_cv_path_LD="$ac_dir/$ac_prog"
2882 # Check to see if the program is GNU ld. I'd rather use --version,
Lev Walkin27fd0b62007-08-27 23:57:45 +00002883 # but apparently some variants of GNU ld only accept -v.
Lev Walkin8e8b5482004-06-17 23:42:48 +00002884 # Break only if it was the GNU/non-GNU ld that we prefer.
2885 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2886 *GNU* | *'with BFD'*)
2887 test "$with_gnu_ld" != no && break
2888 ;;
2889 *)
2890 test "$with_gnu_ld" != yes && break
2891 ;;
2892 esac
2893 fi
2894 done
2895 IFS="$lt_save_ifs"
2896else
2897 lt_cv_path_LD="$LD" # Let the user override the test with a path.
2898fi])
2899LD="$lt_cv_path_LD"
2900if test -n "$LD"; then
2901 AC_MSG_RESULT($LD)
2902else
2903 AC_MSG_RESULT(no)
2904fi
2905test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
Lev Walkin4da95cf2010-10-16 02:46:32 -07002906_LT_PATH_LD_GNU
2907AC_SUBST([LD])
2908
2909_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2910])# LT_PATH_LD
2911
2912# Old names:
2913AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2914AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2915dnl aclocal-1.4 backwards compatibility:
2916dnl AC_DEFUN([AM_PROG_LD], [])
2917dnl AC_DEFUN([AC_PROG_LD], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00002918
2919
Lev Walkin4da95cf2010-10-16 02:46:32 -07002920# _LT_PATH_LD_GNU
2921#- --------------
2922m4_defun([_LT_PATH_LD_GNU],
2923[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
Lev Walkin27fd0b62007-08-27 23:57:45 +00002924[# I'd rather use --version here, but apparently some GNU lds only accept -v.
Lev Walkin8e8b5482004-06-17 23:42:48 +00002925case `$LD -v 2>&1 </dev/null` in
2926*GNU* | *'with BFD'*)
2927 lt_cv_prog_gnu_ld=yes
2928 ;;
2929*)
2930 lt_cv_prog_gnu_ld=no
2931 ;;
2932esac])
2933with_gnu_ld=$lt_cv_prog_gnu_ld
Lev Walkin4da95cf2010-10-16 02:46:32 -07002934])# _LT_PATH_LD_GNU
Lev Walkin8e8b5482004-06-17 23:42:48 +00002935
2936
Lev Walkin4da95cf2010-10-16 02:46:32 -07002937# _LT_CMD_RELOAD
2938# --------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00002939# find reload flag for linker
2940# -- PORTME Some linkers may need a different reload flag.
Lev Walkin4da95cf2010-10-16 02:46:32 -07002941m4_defun([_LT_CMD_RELOAD],
Lev Walkin8e8b5482004-06-17 23:42:48 +00002942[AC_CACHE_CHECK([for $LD option to reload object files],
2943 lt_cv_ld_reload_flag,
2944 [lt_cv_ld_reload_flag='-r'])
2945reload_flag=$lt_cv_ld_reload_flag
2946case $reload_flag in
2947"" | " "*) ;;
2948*) reload_flag=" $reload_flag" ;;
2949esac
2950reload_cmds='$LD$reload_flag -o $output$reload_objs'
Lev Walkin27fd0b62007-08-27 23:57:45 +00002951case $host_os in
2952 darwin*)
2953 if test "$GCC" = yes; then
2954 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2955 else
2956 reload_cmds='$LD$reload_flag -o $output$reload_objs'
2957 fi
2958 ;;
2959esac
Lev Walkin4c776e52010-11-08 02:07:31 -08002960_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2961_LT_DECL([], [reload_cmds], [2])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07002962])# _LT_CMD_RELOAD
Lev Walkin8e8b5482004-06-17 23:42:48 +00002963
2964
Lev Walkin4da95cf2010-10-16 02:46:32 -07002965# _LT_CHECK_MAGIC_METHOD
2966# ----------------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00002967# how to check for library dependencies
2968# -- PORTME fill in with the dynamic library characteristics
Lev Walkin4da95cf2010-10-16 02:46:32 -07002969m4_defun([_LT_CHECK_MAGIC_METHOD],
2970[m4_require([_LT_DECL_EGREP])
Lev Walkin4da95cf2010-10-16 02:46:32 -07002971AC_CACHE_CHECK([how to recognize dependent libraries],
Lev Walkin8e8b5482004-06-17 23:42:48 +00002972lt_cv_deplibs_check_method,
2973[lt_cv_file_magic_cmd='$MAGIC_CMD'
2974lt_cv_file_magic_test_file=
2975lt_cv_deplibs_check_method='unknown'
2976# Need to set the preceding variable on all platforms that support
2977# interlibrary dependencies.
2978# 'none' -- dependencies not supported.
2979# `unknown' -- same as none, but documents that we really don't know.
2980# 'pass_all' -- all dependencies passed with no checks.
2981# 'test_compile' -- check by making test program.
2982# 'file_magic [[regex]]' -- check by looking for files in library path
2983# which responds to the $file_magic_cmd with a given extended regex.
2984# If you have `file' or equivalent on your system and you're not sure
2985# whether `pass_all' will *always* work, you probably want this one.
2986
2987case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07002988aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002989 lt_cv_deplibs_check_method=pass_all
2990 ;;
2991
2992beos*)
2993 lt_cv_deplibs_check_method=pass_all
2994 ;;
2995
Lev Walkin27fd0b62007-08-27 23:57:45 +00002996bsdi[[45]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00002997 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
2998 lt_cv_file_magic_cmd='/usr/bin/file -L'
2999 lt_cv_file_magic_test_file=/shlib/libc.so
3000 ;;
3001
3002cygwin*)
3003 # func_win32_libid is a shell function defined in ltmain.sh
3004 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3005 lt_cv_file_magic_cmd='func_win32_libid'
3006 ;;
3007
3008mingw* | pw32*)
3009 # Base MSYS/MinGW do not provide the 'file' command needed by
Lev Walkin4da95cf2010-10-16 02:46:32 -07003010 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3011 # unless we find 'file', for example because we are cross-compiling.
Lev Walkin4c776e52010-11-08 02:07:31 -08003012 if ( file / ) >/dev/null 2>&1; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003013 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3014 lt_cv_file_magic_cmd='func_win32_libid'
3015 else
Lev Walkin4c776e52010-11-08 02:07:31 -08003016 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
Lev Walkin4da95cf2010-10-16 02:46:32 -07003017 lt_cv_file_magic_cmd='$OBJDUMP -f'
3018 fi
3019 ;;
3020
Lev Walkin8e8b5482004-06-17 23:42:48 +00003021darwin* | rhapsody*)
3022 lt_cv_deplibs_check_method=pass_all
3023 ;;
3024
Lev Walkin4da95cf2010-10-16 02:46:32 -07003025freebsd* | dragonfly*)
3026 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00003027 case $host_cpu in
3028 i*86 )
3029 # Not sure whether the presence of OpenBSD here was a mistake.
3030 # Let's accept both of them until this is cleared up.
Lev Walkin27fd0b62007-08-27 23:57:45 +00003031 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 +00003032 lt_cv_file_magic_cmd=/usr/bin/file
3033 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3034 ;;
3035 esac
3036 else
3037 lt_cv_deplibs_check_method=pass_all
3038 fi
3039 ;;
3040
3041gnu*)
3042 lt_cv_deplibs_check_method=pass_all
3043 ;;
3044
3045hpux10.20* | hpux11*)
3046 lt_cv_file_magic_cmd=/usr/bin/file
Lev Walkin27fd0b62007-08-27 23:57:45 +00003047 case $host_cpu in
Lev Walkin8e8b5482004-06-17 23:42:48 +00003048 ia64*)
3049 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3050 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3051 ;;
3052 hppa*64*)
Lev Walkin4c776e52010-11-08 02:07:31 -08003053 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
Lev Walkin8e8b5482004-06-17 23:42:48 +00003054 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3055 ;;
3056 *)
Lev Walkin4c776e52010-11-08 02:07:31 -08003057 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 +00003058 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3059 ;;
3060 esac
3061 ;;
3062
Lev Walkin4da95cf2010-10-16 02:46:32 -07003063interix[[3-9]]*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003064 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3065 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3066 ;;
3067
Lev Walkin8e8b5482004-06-17 23:42:48 +00003068irix5* | irix6* | nonstopux*)
3069 case $LD in
3070 *-32|*"-32 ") libmagic=32-bit;;
3071 *-n32|*"-n32 ") libmagic=N32;;
3072 *-64|*"-64 ") libmagic=64-bit;;
3073 *) libmagic=never-match;;
3074 esac
3075 lt_cv_deplibs_check_method=pass_all
3076 ;;
3077
3078# This must be Linux ELF.
Lev Walkin4c776e52010-11-08 02:07:31 -08003079linux* | k*bsd*-gnu)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003080 lt_cv_deplibs_check_method=pass_all
3081 ;;
3082
3083netbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003084 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00003085 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3086 else
3087 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3088 fi
3089 ;;
3090
3091newos6*)
3092 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3093 lt_cv_file_magic_cmd=/usr/bin/file
3094 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3095 ;;
3096
Lev Walkin4da95cf2010-10-16 02:46:32 -07003097*nto* | *qnx*)
3098 lt_cv_deplibs_check_method=pass_all
Lev Walkin8e8b5482004-06-17 23:42:48 +00003099 ;;
3100
3101openbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003102 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 +00003103 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003104 else
Lev Walkin27fd0b62007-08-27 23:57:45 +00003105 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003106 fi
3107 ;;
3108
3109osf3* | osf4* | osf5*)
3110 lt_cv_deplibs_check_method=pass_all
3111 ;;
3112
Lev Walkin4da95cf2010-10-16 02:46:32 -07003113rdos*)
3114 lt_cv_deplibs_check_method=pass_all
3115 ;;
3116
Lev Walkin8e8b5482004-06-17 23:42:48 +00003117solaris*)
3118 lt_cv_deplibs_check_method=pass_all
3119 ;;
3120
Lev Walkin4da95cf2010-10-16 02:46:32 -07003121sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3122 lt_cv_deplibs_check_method=pass_all
3123 ;;
3124
Lev Walkin27fd0b62007-08-27 23:57:45 +00003125sysv4 | sysv4.3*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003126 case $host_vendor in
3127 motorola)
3128 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]]'
3129 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3130 ;;
3131 ncr)
3132 lt_cv_deplibs_check_method=pass_all
3133 ;;
3134 sequent)
3135 lt_cv_file_magic_cmd='/bin/file'
3136 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3137 ;;
3138 sni)
3139 lt_cv_file_magic_cmd='/bin/file'
3140 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3141 lt_cv_file_magic_test_file=/lib/libc.so
3142 ;;
3143 siemens)
3144 lt_cv_deplibs_check_method=pass_all
3145 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003146 pc)
3147 lt_cv_deplibs_check_method=pass_all
3148 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003149 esac
3150 ;;
3151
Lev Walkin4da95cf2010-10-16 02:46:32 -07003152tpf*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003153 lt_cv_deplibs_check_method=pass_all
3154 ;;
3155esac
3156])
3157file_magic_cmd=$lt_cv_file_magic_cmd
3158deplibs_check_method=$lt_cv_deplibs_check_method
3159test -z "$deplibs_check_method" && deplibs_check_method=unknown
Lev Walkin4da95cf2010-10-16 02:46:32 -07003160
3161_LT_DECL([], [deplibs_check_method], [1],
3162 [Method to check whether dependent libraries are shared objects])
3163_LT_DECL([], [file_magic_cmd], [1],
Lev Walkin4c776e52010-11-08 02:07:31 -08003164 [Command to use when deplibs_check_method == "file_magic"])
Lev Walkin4da95cf2010-10-16 02:46:32 -07003165])# _LT_CHECK_MAGIC_METHOD
Lev Walkin8e8b5482004-06-17 23:42:48 +00003166
3167
Lev Walkin4da95cf2010-10-16 02:46:32 -07003168# LT_PATH_NM
Lev Walkin8e8b5482004-06-17 23:42:48 +00003169# ----------
Lev Walkin4da95cf2010-10-16 02:46:32 -07003170# find the pathname to a BSD- or MS-compatible name lister
3171AC_DEFUN([LT_PATH_NM],
3172[AC_REQUIRE([AC_PROG_CC])dnl
3173AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
Lev Walkin8e8b5482004-06-17 23:42:48 +00003174[if test -n "$NM"; then
3175 # Let the user override the test.
3176 lt_cv_path_NM="$NM"
3177else
Lev Walkin27fd0b62007-08-27 23:57:45 +00003178 lt_nm_to_check="${ac_tool_prefix}nm"
Lev Walkin4da95cf2010-10-16 02:46:32 -07003179 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00003180 lt_nm_to_check="$lt_nm_to_check nm"
3181 fi
3182 for lt_tmp_nm in $lt_nm_to_check; do
3183 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3184 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3185 IFS="$lt_save_ifs"
3186 test -z "$ac_dir" && ac_dir=.
3187 tmp_nm="$ac_dir/$lt_tmp_nm"
3188 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3189 # Check to see if the nm accepts a BSD-compat flag.
3190 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3191 # nm: unknown option "B" ignored
3192 # Tru64's nm complains that /dev/null is an invalid object file
3193 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3194 */dev/null* | *'Invalid file or object type'*)
3195 lt_cv_path_NM="$tmp_nm -B"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003196 break
3197 ;;
3198 *)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003199 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3200 */dev/null*)
3201 lt_cv_path_NM="$tmp_nm -p"
3202 break
3203 ;;
3204 *)
3205 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3206 continue # so that we can try to find one that supports BSD flags
3207 ;;
3208 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003209 ;;
3210 esac
Lev Walkin27fd0b62007-08-27 23:57:45 +00003211 fi
3212 done
3213 IFS="$lt_save_ifs"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003214 done
Lev Walkin4da95cf2010-10-16 02:46:32 -07003215 : ${lt_cv_path_NM=no}
Lev Walkin8e8b5482004-06-17 23:42:48 +00003216fi])
Lev Walkin4da95cf2010-10-16 02:46:32 -07003217if test "$lt_cv_path_NM" != "no"; then
3218 NM="$lt_cv_path_NM"
3219else
3220 # Didn't find any BSD compatible name lister, look for dumpbin.
Lev Walkin4c776e52010-11-08 02:07:31 -08003221 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003222 AC_SUBST([DUMPBIN])
3223 if test "$DUMPBIN" != ":"; then
3224 NM="$DUMPBIN"
3225 fi
3226fi
3227test -z "$NM" && NM=nm
3228AC_SUBST([NM])
3229_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3230
3231AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3232 [lt_cv_nm_interface="BSD nm"
3233 echo "int some_variable = 0;" > conftest.$ac_ext
Lev Walkin4c776e52010-11-08 02:07:31 -08003234 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003235 (eval "$ac_compile" 2>conftest.err)
3236 cat conftest.err >&AS_MESSAGE_LOG_FD
Lev Walkin4c776e52010-11-08 02:07:31 -08003237 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003238 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3239 cat conftest.err >&AS_MESSAGE_LOG_FD
Lev Walkin4c776e52010-11-08 02:07:31 -08003240 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003241 cat conftest.out >&AS_MESSAGE_LOG_FD
3242 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3243 lt_cv_nm_interface="MS dumpbin"
3244 fi
Lev Walkin4c776e52010-11-08 02:07:31 -08003245 rm -r -f conftest*])
Lev Walkin4da95cf2010-10-16 02:46:32 -07003246])# LT_PATH_NM
3247
3248# Old names:
3249AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3250AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3251dnl aclocal-1.4 backwards compatibility:
3252dnl AC_DEFUN([AM_PROG_NM], [])
3253dnl AC_DEFUN([AC_PROG_NM], [])
3254
Lev Walkin4da95cf2010-10-16 02:46:32 -07003255
3256# LT_LIB_M
3257# --------
Lev Walkin8e8b5482004-06-17 23:42:48 +00003258# check for math library
Lev Walkin4da95cf2010-10-16 02:46:32 -07003259AC_DEFUN([LT_LIB_M],
Lev Walkin8e8b5482004-06-17 23:42:48 +00003260[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3261LIBM=
3262case $host in
Lev Walkin4c776e52010-11-08 02:07:31 -08003263*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003264 # These system don't have libm, or don't need it
3265 ;;
3266*-ncr-sysv4.3*)
3267 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3268 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3269 ;;
3270*)
3271 AC_CHECK_LIB(m, cos, LIBM="-lm")
3272 ;;
3273esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07003274AC_SUBST([LIBM])
3275])# LT_LIB_M
Lev Walkin8e8b5482004-06-17 23:42:48 +00003276
Lev Walkin4da95cf2010-10-16 02:46:32 -07003277# Old name:
3278AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3279dnl aclocal-1.4 backwards compatibility:
3280dnl AC_DEFUN([AC_CHECK_LIBM], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00003281
Lev Walkin8e8b5482004-06-17 23:42:48 +00003282
Lev Walkin4da95cf2010-10-16 02:46:32 -07003283# _LT_COMPILER_NO_RTTI([TAGNAME])
3284# -------------------------------
3285m4_defun([_LT_COMPILER_NO_RTTI],
3286[m4_require([_LT_TAG_COMPILER])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00003287
Lev Walkin4da95cf2010-10-16 02:46:32 -07003288_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00003289
3290if test "$GCC" = yes; then
Lev Walkin4c776e52010-11-08 02:07:31 -08003291 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003292
Lev Walkin4da95cf2010-10-16 02:46:32 -07003293 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
Lev Walkin8e8b5482004-06-17 23:42:48 +00003294 lt_cv_prog_compiler_rtti_exceptions,
3295 [-fno-rtti -fno-exceptions], [],
Lev Walkin4da95cf2010-10-16 02:46:32 -07003296 [_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 +00003297fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07003298_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3299 [Compiler flag to turn off builtin functions])
3300])# _LT_COMPILER_NO_RTTI
Lev Walkin8e8b5482004-06-17 23:42:48 +00003301
3302
Lev Walkin4da95cf2010-10-16 02:46:32 -07003303# _LT_CMD_GLOBAL_SYMBOLS
3304# ----------------------
3305m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3306[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3307AC_REQUIRE([AC_PROG_CC])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07003308AC_REQUIRE([LT_PATH_NM])dnl
3309AC_REQUIRE([LT_PATH_LD])dnl
3310m4_require([_LT_DECL_SED])dnl
3311m4_require([_LT_DECL_EGREP])dnl
3312m4_require([_LT_TAG_COMPILER])dnl
3313
Lev Walkin8e8b5482004-06-17 23:42:48 +00003314# Check for command to grab the raw symbol name followed by C symbol from nm.
3315AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3316AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3317[
3318# These are sane defaults that work on at least a few old systems.
3319# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3320
3321# Character class describing NM global symbol codes.
3322symcode='[[BCDEGRST]]'
3323
3324# Regexp to match symbols that can be accessed directly from C.
3325sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3326
Lev Walkin8e8b5482004-06-17 23:42:48 +00003327# Define system-specific variables.
3328case $host_os in
3329aix*)
3330 symcode='[[BCDT]]'
3331 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08003332cygwin* | mingw* | pw32*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003333 symcode='[[ABCDGISTW]]'
3334 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003335hpux*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003336 if test "$host_cpu" = ia64; then
3337 symcode='[[ABCDEGRST]]'
3338 fi
Lev Walkin27fd0b62007-08-27 23:57:45 +00003339 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003340irix* | nonstopux*)
3341 symcode='[[BCDEGRST]]'
3342 ;;
3343osf*)
3344 symcode='[[BCDEGQRST]]'
3345 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003346solaris*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003347 symcode='[[BDRT]]'
3348 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003349sco3.2v5*)
3350 symcode='[[DT]]'
3351 ;;
3352sysv4.2uw2*)
3353 symcode='[[DT]]'
3354 ;;
3355sysv5* | sco5v6* | unixware* | OpenUNIX*)
3356 symcode='[[ABDT]]'
3357 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003358sysv4)
3359 symcode='[[DFNSTU]]'
3360 ;;
3361esac
3362
Lev Walkin8e8b5482004-06-17 23:42:48 +00003363# If we're using GNU nm, then use its standard symbol codes.
3364case `$NM -V 2>&1` in
3365*GNU* | *'with BFD'*)
3366 symcode='[[ABCDGIRSTW]]' ;;
3367esac
3368
Lev Walkin4da95cf2010-10-16 02:46:32 -07003369# Transform an extracted symbol line into a proper C declaration.
3370# Some systems (esp. on ia64) link data and code symbols differently,
3371# so use this general approach.
3372lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3373
3374# Transform an extracted symbol line into symbol name and symbol address
Lev Walkin4c776e52010-11-08 02:07:31 -08003375lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3376lt_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'"
Lev Walkin4da95cf2010-10-16 02:46:32 -07003377
3378# Handle CRLF in mingw tool chain
3379opt_cr=
3380case $build_os in
3381mingw*)
3382 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3383 ;;
3384esac
3385
3386# Try without a prefix underscore, then with it.
Lev Walkin8e8b5482004-06-17 23:42:48 +00003387for ac_symprfx in "" "_"; do
3388
Lev Walkin27fd0b62007-08-27 23:57:45 +00003389 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3390 symxfrm="\\1 $ac_symprfx\\2 \\2"
3391
Lev Walkin8e8b5482004-06-17 23:42:48 +00003392 # Write the raw and C identifiers.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003393 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3394 # Fake it for dumpbin and say T for any non-static function
3395 # and D for any global variable.
3396 # Also find C++ and __fastcall symbols from MSVC++,
3397 # which start with @ or ?.
3398 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3399" {last_section=section; section=\$ 3};"\
3400" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3401" \$ 0!~/External *\|/{next};"\
3402" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3403" {if(hide[section]) next};"\
3404" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3405" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3406" s[1]~/^[@?]/{print s[1], s[1]; next};"\
3407" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3408" ' prfx=^$ac_symprfx]"
3409 else
3410 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3411 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00003412
3413 # Check to see that the pipe works correctly.
3414 pipe_works=no
3415
Lev Walkin4c776e52010-11-08 02:07:31 -08003416 rm -r -f conftest*
Lev Walkin4da95cf2010-10-16 02:46:32 -07003417 cat > conftest.$ac_ext <<_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00003418#ifdef __cplusplus
3419extern "C" {
3420#endif
3421char nm_test_var;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003422void nm_test_func(void);
3423void nm_test_func(void){}
Lev Walkin8e8b5482004-06-17 23:42:48 +00003424#ifdef __cplusplus
3425}
3426#endif
3427int main(){nm_test_var='a';nm_test_func();return(0);}
Lev Walkin4da95cf2010-10-16 02:46:32 -07003428_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00003429
3430 if AC_TRY_EVAL(ac_compile); then
3431 # Now try to grab the symbols.
3432 nlist=conftest.nm
Lev Walkin4c776e52010-11-08 02:07:31 -08003433 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 +00003434 # Try sorting and uniquifying the output.
3435 if sort "$nlist" | uniq > "$nlist"T; then
3436 mv -f "$nlist"T "$nlist"
3437 else
3438 rm -f "$nlist"T
3439 fi
3440
3441 # Make sure that we snagged all the symbols we need.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003442 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3443 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3444 cat <<_LT_EOF > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00003445#ifdef __cplusplus
3446extern "C" {
3447#endif
3448
Lev Walkin4da95cf2010-10-16 02:46:32 -07003449_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00003450 # Now generate the symbol file.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003451 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003452
Lev Walkin4da95cf2010-10-16 02:46:32 -07003453 cat <<_LT_EOF >> conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00003454
Lev Walkin4da95cf2010-10-16 02:46:32 -07003455/* The mapping between symbol names and symbols. */
Lev Walkin4c776e52010-11-08 02:07:31 -08003456const struct {
Lev Walkin8e8b5482004-06-17 23:42:48 +00003457 const char *name;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003458 void *address;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003459}
Lev Walkin4da95cf2010-10-16 02:46:32 -07003460lt__PROGRAM__LTX_preloaded_symbols[[]] =
Lev Walkin8e8b5482004-06-17 23:42:48 +00003461{
Lev Walkin4da95cf2010-10-16 02:46:32 -07003462 { "@PROGRAM@", (void *) 0 },
3463_LT_EOF
3464 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3465 cat <<\_LT_EOF >> conftest.$ac_ext
3466 {0, (void *) 0}
Lev Walkin8e8b5482004-06-17 23:42:48 +00003467};
3468
Lev Walkin4da95cf2010-10-16 02:46:32 -07003469/* This works around a problem in FreeBSD linker */
3470#ifdef FREEBSD_WORKAROUND
3471static const void *lt_preloaded_setup() {
3472 return lt__PROGRAM__LTX_preloaded_symbols;
3473}
3474#endif
3475
Lev Walkin8e8b5482004-06-17 23:42:48 +00003476#ifdef __cplusplus
3477}
3478#endif
Lev Walkin4da95cf2010-10-16 02:46:32 -07003479_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00003480 # Now try linking the two files.
3481 mv conftest.$ac_objext conftstm.$ac_objext
Lev Walkin4c776e52010-11-08 02:07:31 -08003482 lt_save_LIBS="$LIBS"
3483 lt_save_CFLAGS="$CFLAGS"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003484 LIBS="conftstm.$ac_objext"
Lev Walkin4da95cf2010-10-16 02:46:32 -07003485 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003486 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3487 pipe_works=yes
3488 fi
Lev Walkin4c776e52010-11-08 02:07:31 -08003489 LIBS="$lt_save_LIBS"
3490 CFLAGS="$lt_save_CFLAGS"
Lev Walkin8e8b5482004-06-17 23:42:48 +00003491 else
3492 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3493 fi
3494 else
3495 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3496 fi
3497 else
3498 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3499 fi
3500 else
3501 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3502 cat conftest.$ac_ext >&5
3503 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07003504 rm -rf conftest* conftst*
Lev Walkin8e8b5482004-06-17 23:42:48 +00003505
3506 # Do not use the global_symbol_pipe unless it works.
3507 if test "$pipe_works" = yes; then
3508 break
3509 else
3510 lt_cv_sys_global_symbol_pipe=
3511 fi
3512done
3513])
3514if test -z "$lt_cv_sys_global_symbol_pipe"; then
3515 lt_cv_sys_global_symbol_to_cdecl=
3516fi
3517if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3518 AC_MSG_RESULT(failed)
3519else
3520 AC_MSG_RESULT(ok)
3521fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07003522
Lev Walkin4da95cf2010-10-16 02:46:32 -07003523_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3524 [Take the output of nm and produce a listing of raw symbols and C names])
3525_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3526 [Transform the output of nm in a proper C declaration])
3527_LT_DECL([global_symbol_to_c_name_address],
3528 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3529 [Transform the output of nm in a C name address pair])
3530_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3531 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3532 [Transform the output of nm in a C name address pair when lib prefix is needed])
Lev Walkin4da95cf2010-10-16 02:46:32 -07003533]) # _LT_CMD_GLOBAL_SYMBOLS
Lev Walkin8e8b5482004-06-17 23:42:48 +00003534
3535
Lev Walkin4da95cf2010-10-16 02:46:32 -07003536# _LT_COMPILER_PIC([TAGNAME])
3537# ---------------------------
3538m4_defun([_LT_COMPILER_PIC],
3539[m4_require([_LT_TAG_COMPILER])dnl
3540_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3541_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3542_LT_TAGVAR(lt_prog_compiler_static, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00003543
Lev Walkin4c776e52010-11-08 02:07:31 -08003544AC_MSG_CHECKING([for $compiler option to produce PIC])
Lev Walkin4da95cf2010-10-16 02:46:32 -07003545m4_if([$1], [CXX], [
Lev Walkin8e8b5482004-06-17 23:42:48 +00003546 # C++ specific cases for pic, static, wl, etc.
3547 if test "$GXX" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003548 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3549 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003550
3551 case $host_os in
3552 aix*)
3553 # All AIX code is PIC.
3554 if test "$host_cpu" = ia64; then
3555 # AIX 5 now supports IA64 processor
Lev Walkin4da95cf2010-10-16 02:46:32 -07003556 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003557 fi
3558 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003559
Lev Walkin8e8b5482004-06-17 23:42:48 +00003560 amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003561 case $host_cpu in
3562 powerpc)
3563 # see comment about AmigaOS4 .so support
3564 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3565 ;;
3566 m68k)
3567 # FIXME: we need at least 68020 code to build shared libraries, but
3568 # adding the `-m68020' flag to GCC prevents building anything better,
3569 # like `-m68040'.
3570 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3571 ;;
3572 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003573 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003574
3575 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003576 # PIC is the default for these OSes.
3577 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08003578 mingw* | cygwin* | os2* | pw32*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003579 # This hack is so that the source file can tell whether it is being
3580 # built for inclusion in a dll (and should export symbols for example).
Lev Walkin4da95cf2010-10-16 02:46:32 -07003581 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3582 # (--disable-auto-import) libraries
3583 m4_if([$1], [GCJ], [],
3584 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Lev Walkin8e8b5482004-06-17 23:42:48 +00003585 ;;
3586 darwin* | rhapsody*)
3587 # PIC is the default on this platform
3588 # Common symbols not allowed in MH_DYLIB files
Lev Walkin4da95cf2010-10-16 02:46:32 -07003589 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003590 ;;
3591 *djgpp*)
3592 # DJGPP does not support shared libraries at all
Lev Walkin4da95cf2010-10-16 02:46:32 -07003593 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00003594 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003595 interix[[3-9]]*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003596 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3597 # Instead, we relocate shared libraries at runtime.
3598 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003599 sysv4*MP*)
3600 if test -d /usr/nec; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003601 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
Lev Walkin8e8b5482004-06-17 23:42:48 +00003602 fi
3603 ;;
3604 hpux*)
Lev Walkin4c776e52010-11-08 02:07:31 -08003605 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3606 # not for PA HP-UX.
Lev Walkin27fd0b62007-08-27 23:57:45 +00003607 case $host_cpu in
Lev Walkin4c776e52010-11-08 02:07:31 -08003608 hppa*64*|ia64*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003609 ;;
3610 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003611 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003612 ;;
3613 esac
3614 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003615 *qnx* | *nto*)
3616 # QNX uses GNU C++, but need to define -shared option too, otherwise
3617 # it will coredump.
3618 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3619 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003620 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003621 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003622 ;;
3623 esac
3624 else
3625 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07003626 aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003627 # All AIX code is PIC.
3628 if test "$host_cpu" = ia64; then
3629 # AIX 5 now supports IA64 processor
Lev Walkin4da95cf2010-10-16 02:46:32 -07003630 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003631 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07003632 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003633 fi
3634 ;;
3635 chorus*)
3636 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003637 cxch68*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003638 # Green Hills C++ Compiler
Lev Walkin4da95cf2010-10-16 02:46:32 -07003639 # _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 +00003640 ;;
3641 esac
3642 ;;
3643 dgux*)
3644 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003645 ec++*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003646 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003647 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003648 ghcx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003649 # Green Hills C++ Compiler
Lev Walkin4da95cf2010-10-16 02:46:32 -07003650 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003651 ;;
3652 *)
3653 ;;
3654 esac
3655 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003656 freebsd* | dragonfly*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003657 # FreeBSD uses GNU C++
3658 ;;
3659 hpux9* | hpux10* | hpux11*)
3660 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003661 CC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003662 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3663 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003664 if test "$host_cpu" != ia64; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003665 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003666 fi
3667 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003668 aCC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003669 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3670 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Lev Walkin27fd0b62007-08-27 23:57:45 +00003671 case $host_cpu in
Lev Walkin8e8b5482004-06-17 23:42:48 +00003672 hppa*64*|ia64*)
3673 # +Z the default
3674 ;;
3675 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003676 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003677 ;;
3678 esac
3679 ;;
3680 *)
3681 ;;
3682 esac
3683 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003684 interix*)
3685 # This is c89, which is MS Visual C++ (no shared libs)
3686 # Anyone wants to do a port?
3687 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003688 irix5* | irix6* | nonstopux*)
3689 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003690 CC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003691 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3692 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003693 # CC pic flag -KPIC is the default.
3694 ;;
3695 *)
3696 ;;
3697 esac
3698 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08003699 linux* | k*bsd*-gnu)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003700 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003701 KCC*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003702 # KAI C++ Compiler
Lev Walkin4da95cf2010-10-16 02:46:32 -07003703 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3704 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003705 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08003706 icpc* | ecpc* )
3707 # Intel C++
Lev Walkin4da95cf2010-10-16 02:46:32 -07003708 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3709 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3710 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003711 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003712 pgCC* | pgcpp*)
3713 # Portland Group C++ compiler
3714 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3715 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3716 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00003717 ;;
3718 cxx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003719 # Compaq C++
3720 # Make sure the PIC flag is empty. It appears that all Alpha
3721 # Linux and Compaq Tru64 Unix objects are PIC.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003722 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3723 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3724 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08003725 xlc* | xlC*)
3726 # IBM XL 8.0 on PPC
Lev Walkin4da95cf2010-10-16 02:46:32 -07003727 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3728 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3729 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003730 ;;
3731 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003732 case `$CC -V 2>&1 | sed 5q` in
3733 *Sun\ C*)
3734 # Sun C++ 5.9
3735 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3736 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3737 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3738 ;;
3739 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003740 ;;
3741 esac
3742 ;;
3743 lynxos*)
3744 ;;
3745 m88k*)
3746 ;;
3747 mvs*)
3748 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003749 cxx*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003750 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003751 ;;
3752 *)
3753 ;;
3754 esac
3755 ;;
3756 netbsd*)
3757 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07003758 *qnx* | *nto*)
3759 # QNX uses GNU C++, but need to define -shared option too, otherwise
3760 # it will coredump.
3761 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3762 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003763 osf3* | osf4* | osf5*)
3764 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003765 KCC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003766 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003767 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003768 RCC*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003769 # Rational C++ 2.4.1
Lev Walkin4da95cf2010-10-16 02:46:32 -07003770 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003771 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003772 cxx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003773 # Digital/Compaq C++
Lev Walkin4da95cf2010-10-16 02:46:32 -07003774 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003775 # Make sure the PIC flag is empty. It appears that all Alpha
3776 # Linux and Compaq Tru64 Unix objects are PIC.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003777 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3778 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003779 ;;
3780 *)
3781 ;;
3782 esac
3783 ;;
3784 psos*)
3785 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003786 solaris*)
3787 case $cc_basename in
Lev Walkin4c776e52010-11-08 02:07:31 -08003788 CC*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003789 # Sun C++ 4.2, 5.x and Centerline C++
Lev Walkin4da95cf2010-10-16 02:46:32 -07003790 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3791 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3792 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
Lev Walkin8e8b5482004-06-17 23:42:48 +00003793 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003794 gcx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003795 # Green Hills C++ Compiler
Lev Walkin4da95cf2010-10-16 02:46:32 -07003796 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003797 ;;
3798 *)
3799 ;;
3800 esac
3801 ;;
3802 sunos4*)
3803 case $cc_basename in
Lev Walkin27fd0b62007-08-27 23:57:45 +00003804 CC*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003805 # Sun C++ 4.x
Lev Walkin4da95cf2010-10-16 02:46:32 -07003806 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3807 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003808 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003809 lcc*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003810 # Lucid
Lev Walkin4da95cf2010-10-16 02:46:32 -07003811 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003812 ;;
3813 *)
3814 ;;
3815 esac
3816 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00003817 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3818 case $cc_basename in
3819 CC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003820 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3821 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3822 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3823 ;;
3824 esac
3825 ;;
3826 tandem*)
3827 case $cc_basename in
3828 NCC*)
3829 # NonStop-UX NCC 3.20
3830 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3831 ;;
3832 *)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003833 ;;
3834 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003835 ;;
3836 vxworks*)
3837 ;;
3838 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003839 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00003840 ;;
3841 esac
3842 fi
3843],
3844[
3845 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003846 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3847 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003848
3849 case $host_os in
3850 aix*)
3851 # All AIX code is PIC.
3852 if test "$host_cpu" = ia64; then
3853 # AIX 5 now supports IA64 processor
Lev Walkin4da95cf2010-10-16 02:46:32 -07003854 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003855 fi
3856 ;;
3857
3858 amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003859 case $host_cpu in
3860 powerpc)
3861 # see comment about AmigaOS4 .so support
3862 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3863 ;;
3864 m68k)
3865 # FIXME: we need at least 68020 code to build shared libraries, but
3866 # adding the `-m68020' flag to GCC prevents building anything better,
3867 # like `-m68040'.
3868 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3869 ;;
3870 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003871 ;;
3872
Lev Walkin4da95cf2010-10-16 02:46:32 -07003873 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003874 # PIC is the default for these OSes.
3875 ;;
3876
Lev Walkin4c776e52010-11-08 02:07:31 -08003877 mingw* | cygwin* | pw32* | os2*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003878 # This hack is so that the source file can tell whether it is being
3879 # built for inclusion in a dll (and should export symbols for example).
Lev Walkin4da95cf2010-10-16 02:46:32 -07003880 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3881 # (--disable-auto-import) libraries
3882 m4_if([$1], [GCJ], [],
3883 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Lev Walkin8e8b5482004-06-17 23:42:48 +00003884 ;;
3885
3886 darwin* | rhapsody*)
3887 # PIC is the default on this platform
3888 # Common symbols not allowed in MH_DYLIB files
Lev Walkin4da95cf2010-10-16 02:46:32 -07003889 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003890 ;;
3891
Lev Walkin4da95cf2010-10-16 02:46:32 -07003892 hpux*)
Lev Walkin4c776e52010-11-08 02:07:31 -08003893 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3894 # not for PA HP-UX.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003895 case $host_cpu in
Lev Walkin4c776e52010-11-08 02:07:31 -08003896 hppa*64*|ia64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003897 # +Z the default
3898 ;;
3899 *)
3900 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3901 ;;
3902 esac
3903 ;;
3904
3905 interix[[3-9]]*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003906 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3907 # Instead, we relocate shared libraries at runtime.
3908 ;;
3909
Lev Walkin8e8b5482004-06-17 23:42:48 +00003910 msdosdjgpp*)
3911 # Just because we use GCC doesn't mean we suddenly get shared libraries
3912 # on systems that don't support them.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003913 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00003914 enable_shared=no
3915 ;;
3916
Lev Walkin4da95cf2010-10-16 02:46:32 -07003917 *nto* | *qnx*)
3918 # QNX uses GNU C++, but need to define -shared option too, otherwise
3919 # it will coredump.
3920 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3921 ;;
3922
Lev Walkin8e8b5482004-06-17 23:42:48 +00003923 sysv4*MP*)
3924 if test -d /usr/nec; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07003925 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
Lev Walkin8e8b5482004-06-17 23:42:48 +00003926 fi
3927 ;;
3928
Lev Walkin8e8b5482004-06-17 23:42:48 +00003929 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003930 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3931 ;;
3932 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00003933 else
3934 # PORTME Check for flag to pass linker flags through the system compiler.
3935 case $host_os in
3936 aix*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003937 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003938 if test "$host_cpu" = ia64; then
3939 # AIX 5 now supports IA64 processor
Lev Walkin4da95cf2010-10-16 02:46:32 -07003940 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003941 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07003942 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003943 fi
3944 ;;
3945
Lev Walkin4c776e52010-11-08 02:07:31 -08003946 mingw* | cygwin* | pw32* | os2*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00003947 # This hack is so that the source file can tell whether it is being
3948 # built for inclusion in a dll (and should export symbols for example).
Lev Walkin4da95cf2010-10-16 02:46:32 -07003949 m4_if([$1], [GCJ], [],
3950 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
Lev Walkin8e8b5482004-06-17 23:42:48 +00003951 ;;
3952
3953 hpux9* | hpux10* | hpux11*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003954 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003955 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3956 # not for PA HP-UX.
Lev Walkin27fd0b62007-08-27 23:57:45 +00003957 case $host_cpu in
Lev Walkin8e8b5482004-06-17 23:42:48 +00003958 hppa*64*|ia64*)
3959 # +Z the default
3960 ;;
3961 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003962 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003963 ;;
3964 esac
3965 # Is there a better lt_prog_compiler_static that works with the bundled CC?
Lev Walkin4da95cf2010-10-16 02:46:32 -07003966 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003967 ;;
3968
3969 irix5* | irix6* | nonstopux*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003970 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003971 # PIC (with -KPIC) is the default.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003972 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003973 ;;
3974
Lev Walkin4c776e52010-11-08 02:07:31 -08003975 linux* | k*bsd*-gnu)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003976 case $cc_basename in
Lev Walkin4c776e52010-11-08 02:07:31 -08003977 icc* | ecc* | ifort*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003978 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3979 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3980 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003981 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08003982 pgcc* | pgf77* | pgf90* | pgf95*)
Lev Walkin27fd0b62007-08-27 23:57:45 +00003983 # Portland Group compilers (*not* the Pentium gcc compiler,
3984 # which looks to be a dead project)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003985 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3986 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3987 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00003988 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00003989 ccc*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07003990 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003991 # All Alpha code is PIC.
Lev Walkin4da95cf2010-10-16 02:46:32 -07003992 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00003993 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08003994 xl*)
3995 # IBM XL C 8.0/Fortran 10.1 on PPC
Lev Walkin4da95cf2010-10-16 02:46:32 -07003996 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3997 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3998 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
3999 ;;
4000 *)
4001 case `$CC -V 2>&1 | sed 5q` in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004002 *Sun\ C*)
4003 # Sun C 5.9
4004 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4005 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4006 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4007 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08004008 *Sun\ F*)
4009 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4010 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4011 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4012 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4013 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004014 esac
4015 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004016 esac
4017 ;;
4018
Lev Walkin4da95cf2010-10-16 02:46:32 -07004019 newsos6)
4020 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4021 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4022 ;;
4023
4024 *nto* | *qnx*)
4025 # QNX uses GNU C++, but need to define -shared option too, otherwise
4026 # it will coredump.
4027 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4028 ;;
4029
Lev Walkin8e8b5482004-06-17 23:42:48 +00004030 osf3* | osf4* | osf5*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004031 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004032 # All OSF/1 code is PIC.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004033 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4034 ;;
4035
4036 rdos*)
4037 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004038 ;;
4039
Lev Walkin8e8b5482004-06-17 23:42:48 +00004040 solaris*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004041 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4042 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004043 case $cc_basename in
Lev Walkin4c776e52010-11-08 02:07:31 -08004044 f77* | f90* | f95*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004045 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004046 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004047 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004048 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004049 ;;
4050
4051 sunos4*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004052 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4053 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4054 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004055 ;;
4056
Lev Walkin27fd0b62007-08-27 23:57:45 +00004057 sysv4 | sysv4.2uw2* | sysv4.3*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004058 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4059 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4060 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004061 ;;
4062
4063 sysv4*MP*)
4064 if test -d /usr/nec ;then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004065 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4066 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004067 fi
4068 ;;
4069
Lev Walkin27fd0b62007-08-27 23:57:45 +00004070 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004071 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4072 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4073 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004074 ;;
4075
4076 unicos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004077 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4078 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00004079 ;;
4080
Lev Walkin8e8b5482004-06-17 23:42:48 +00004081 uts4*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004082 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4083 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004084 ;;
4085
4086 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004087 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004088 ;;
4089 esac
4090 fi
4091])
Lev Walkin4da95cf2010-10-16 02:46:32 -07004092case $host_os in
4093 # For platforms which do not support PIC, -DPIC is meaningless:
4094 *djgpp*)
4095 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4096 ;;
4097 *)
4098 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4099 ;;
4100esac
Lev Walkin4c776e52010-11-08 02:07:31 -08004101AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4102_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4103 [How to pass a linker flag through the compiler])
Lev Walkin8e8b5482004-06-17 23:42:48 +00004104
4105#
4106# Check to make sure the PIC flag actually works.
4107#
Lev Walkin4da95cf2010-10-16 02:46:32 -07004108if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4109 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4110 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4111 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4112 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
Lev Walkin8e8b5482004-06-17 23:42:48 +00004113 "" | " "*) ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004114 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004115 esac],
Lev Walkin4da95cf2010-10-16 02:46:32 -07004116 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4117 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
Lev Walkin8e8b5482004-06-17 23:42:48 +00004118fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004119_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4120 [Additional compiler flags for building library objects])
Lev Walkin27fd0b62007-08-27 23:57:45 +00004121
4122#
4123# Check to make sure the static flag actually works.
4124#
Lev Walkin4da95cf2010-10-16 02:46:32 -07004125wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4126_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4127 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
Lev Walkin27fd0b62007-08-27 23:57:45 +00004128 $lt_tmp_static_flag,
4129 [],
Lev Walkin4da95cf2010-10-16 02:46:32 -07004130 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4131_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4132 [Compiler flag to prevent dynamic linking])
4133])# _LT_COMPILER_PIC
Lev Walkin8e8b5482004-06-17 23:42:48 +00004134
4135
Lev Walkin4da95cf2010-10-16 02:46:32 -07004136# _LT_LINKER_SHLIBS([TAGNAME])
4137# ----------------------------
Lev Walkin8e8b5482004-06-17 23:42:48 +00004138# See if the linker supports building shared libraries.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004139m4_defun([_LT_LINKER_SHLIBS],
4140[AC_REQUIRE([LT_PATH_LD])dnl
4141AC_REQUIRE([LT_PATH_NM])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07004142m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4143m4_require([_LT_DECL_EGREP])dnl
4144m4_require([_LT_DECL_SED])dnl
4145m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4146m4_require([_LT_TAG_COMPILER])dnl
4147AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4148m4_if([$1], [CXX], [
4149 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004150 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004151 aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004152 # If we're using GNU nm, then we don't want the "-C" option.
4153 # -C means demangle to AIX nm, but means don't demangle with GNU nm
Lev Walkin4da95cf2010-10-16 02:46:32 -07004154 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
Lev Walkin4c776e52010-11-08 02:07:31 -08004155 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004156 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004157 _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 +00004158 fi
4159 ;;
4160 pw32*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004161 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
Lev Walkin4c776e52010-11-08 02:07:31 -08004162 ;;
4163 cygwin* | mingw*)
4164 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4165 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004166 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004167 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
Lev Walkin4c776e52010-11-08 02:07:31 -08004168 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004169 esac
Lev Walkin4c776e52010-11-08 02:07:31 -08004170 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
Lev Walkin4da95cf2010-10-16 02:46:32 -07004171], [
Lev Walkin8e8b5482004-06-17 23:42:48 +00004172 runpath_var=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004173 _LT_TAGVAR(allow_undefined_flag, $1)=
4174 _LT_TAGVAR(always_export_symbols, $1)=no
4175 _LT_TAGVAR(archive_cmds, $1)=
4176 _LT_TAGVAR(archive_expsym_cmds, $1)=
4177 _LT_TAGVAR(compiler_needs_object, $1)=no
4178 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4179 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4180 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4181 _LT_TAGVAR(hardcode_automatic, $1)=no
4182 _LT_TAGVAR(hardcode_direct, $1)=no
4183 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4184 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4185 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4186 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4187 _LT_TAGVAR(hardcode_minus_L, $1)=no
4188 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4189 _LT_TAGVAR(inherit_rpath, $1)=no
4190 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4191 _LT_TAGVAR(module_cmds, $1)=
4192 _LT_TAGVAR(module_expsym_cmds, $1)=
4193 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4194 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4195 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4196 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00004197 # include_expsyms should be a list of space-separated symbols to be *always*
4198 # included in the symbol list
Lev Walkin4da95cf2010-10-16 02:46:32 -07004199 _LT_TAGVAR(include_expsyms, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00004200 # exclude_expsyms can be an extended regexp of symbols to exclude
4201 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4202 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4203 # as well as any symbol that contains `d'.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004204 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
Lev Walkin8e8b5482004-06-17 23:42:48 +00004205 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4206 # platforms (ab)use it in PIC code, but their linkers get confused if
4207 # the symbol is explicitly referenced. Since portable code cannot
4208 # rely on this symbol name, it's probably fine to never include it in
4209 # preloaded symbol tables.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004210 # Exclude shared library initialization/finalization symbols.
4211dnl Note also adjust exclude_expsyms for C++ above.
Lev Walkin8e8b5482004-06-17 23:42:48 +00004212 extract_expsyms_cmds=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004213
Lev Walkin8e8b5482004-06-17 23:42:48 +00004214 case $host_os in
Lev Walkin4c776e52010-11-08 02:07:31 -08004215 cygwin* | mingw* | pw32*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004216 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4217 # When not using gcc, we currently assume that we are using
4218 # Microsoft Visual C++.
4219 if test "$GCC" != yes; then
4220 with_gnu_ld=no
4221 fi
4222 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004223 interix*)
4224 # we just hope/assume this is gcc and not c89 (= MSVC++)
4225 with_gnu_ld=yes
4226 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004227 openbsd*)
4228 with_gnu_ld=no
4229 ;;
4230 esac
4231
Lev Walkin4da95cf2010-10-16 02:46:32 -07004232 _LT_TAGVAR(ld_shlibs, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00004233 if test "$with_gnu_ld" = yes; then
4234 # If archive_cmds runs LD, not CC, wlarc should be empty
4235 wlarc='${wl}'
4236
Lev Walkin27fd0b62007-08-27 23:57:45 +00004237 # Set some defaults for GNU ld with shared library support. These
4238 # are reset later if shared libraries are not supported. Putting them
4239 # here allows them to be overridden if necessary.
4240 runpath_var=LD_RUN_PATH
Lev Walkin4da95cf2010-10-16 02:46:32 -07004241 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4242 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004243 # ancient GNU ld didn't support --whole-archive et. al.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004244 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4245 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4246 else
4247 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Lev Walkin27fd0b62007-08-27 23:57:45 +00004248 fi
4249 supports_anon_versioning=no
Lev Walkin4da95cf2010-10-16 02:46:32 -07004250 case `$LD -v 2>&1` in
Lev Walkin27fd0b62007-08-27 23:57:45 +00004251 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4252 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4253 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4254 *\ 2.11.*) ;; # other 2.11 versions
4255 *) supports_anon_versioning=yes ;;
4256 esac
4257
Lev Walkin8e8b5482004-06-17 23:42:48 +00004258 # See if GNU ld supports shared libraries.
4259 case $host_os in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004260 aix[[3-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004261 # On AIX/PPC, the GNU linker is very broken
4262 if test "$host_cpu" != ia64; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004263 _LT_TAGVAR(ld_shlibs, $1)=no
4264 cat <<_LT_EOF 1>&2
Lev Walkin8e8b5482004-06-17 23:42:48 +00004265
Lev Walkin4c776e52010-11-08 02:07:31 -08004266*** Warning: the GNU linker, at least up to release 2.9.1, is reported
Lev Walkin8e8b5482004-06-17 23:42:48 +00004267*** to be unable to reliably create shared libraries on AIX.
4268*** Therefore, libtool is disabling shared libraries support. If you
Lev Walkin4c776e52010-11-08 02:07:31 -08004269*** really care for shared libraries, you may want to modify your PATH
4270*** so that a non-GNU linker is found, and then restart.
Lev Walkin8e8b5482004-06-17 23:42:48 +00004271
Lev Walkin4da95cf2010-10-16 02:46:32 -07004272_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00004273 fi
4274 ;;
4275
4276 amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004277 case $host_cpu in
4278 powerpc)
4279 # see comment about AmigaOS4 .so support
4280 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4281 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4282 ;;
4283 m68k)
4284 _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)'
4285 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4286 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4287 ;;
4288 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004289 ;;
4290
4291 beos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004292 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4293 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
Lev Walkin8e8b5482004-06-17 23:42:48 +00004294 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4295 # support --undefined. This deserves some investigation. FIXME
Lev Walkin4da95cf2010-10-16 02:46:32 -07004296 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004297 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004298 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004299 fi
4300 ;;
4301
Lev Walkin4c776e52010-11-08 02:07:31 -08004302 cygwin* | mingw* | pw32*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004303 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
Lev Walkin8e8b5482004-06-17 23:42:48 +00004304 # as there is no search path for DLLs.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004305 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004306 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4307 _LT_TAGVAR(always_export_symbols, $1)=no
4308 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
Lev Walkin4c776e52010-11-08 02:07:31 -08004309 _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'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004310
Lev Walkin4da95cf2010-10-16 02:46:32 -07004311 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4312 _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 +00004313 # If the export-symbols file already is a .def file (1st line
4314 # is EXPORTS), use it as is; otherwise, prepend...
Lev Walkin4da95cf2010-10-16 02:46:32 -07004315 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00004316 cp $export_symbols $output_objdir/$soname.def;
4317 else
4318 echo EXPORTS > $output_objdir/$soname.def;
4319 cat $export_symbols >> $output_objdir/$soname.def;
4320 fi~
Lev Walkin27fd0b62007-08-27 23:57:45 +00004321 $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 +00004322 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004323 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00004324 fi
4325 ;;
4326
Lev Walkin4da95cf2010-10-16 02:46:32 -07004327 interix[[3-9]]*)
4328 _LT_TAGVAR(hardcode_direct, $1)=no
4329 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4330 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4331 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004332 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4333 # Instead, shared libraries are loaded at an image base (0x10000000 by
4334 # default) and relocated if they conflict, which is a slow very memory
4335 # consuming and fragmenting process. To avoid this, we pick a random,
4336 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4337 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004338 _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'
4339 _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 +00004340 ;;
4341
Lev Walkin4c776e52010-11-08 02:07:31 -08004342 gnu* | linux* | tpf* | k*bsd*-gnu)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004343 tmp_diet=no
4344 if test "$host_os" = linux-dietlibc; then
4345 case $cc_basename in
4346 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4347 esac
4348 fi
4349 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4350 && test "$tmp_diet" = no
4351 then
Lev Walkin4c776e52010-11-08 02:07:31 -08004352 tmp_addflag=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004353 tmp_sharedflag='-shared'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004354 case $cc_basename,$host_cpu in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004355 pgcc*) # Portland Group C compiler
Lev Walkin4c776e52010-11-08 02:07:31 -08004356 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004357 tmp_addflag=' $pic_flag'
4358 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08004359 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
4360 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004361 tmp_addflag=' $pic_flag -Mnomain' ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07004362 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
Lev Walkin27fd0b62007-08-27 23:57:45 +00004363 tmp_addflag=' -i_dynamic' ;;
4364 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4365 tmp_addflag=' -i_dynamic -nofor_main' ;;
4366 ifc* | ifort*) # Intel Fortran compiler
4367 tmp_addflag=' -nofor_main' ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08004368 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004369 tmp_sharedflag='-qmkshrobj'
4370 tmp_addflag= ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004371 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07004372 case `$CC -V 2>&1 | sed 5q` in
4373 *Sun\ C*) # Sun C 5.9
Lev Walkin4c776e52010-11-08 02:07:31 -08004374 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004375 _LT_TAGVAR(compiler_needs_object, $1)=yes
4376 tmp_sharedflag='-G' ;;
4377 *Sun\ F*) # Sun Fortran 8.3
4378 tmp_sharedflag='-G' ;;
4379 esac
4380 _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 +00004381
Lev Walkin4da95cf2010-10-16 02:46:32 -07004382 if test "x$supports_anon_versioning" = xyes; then
4383 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4384 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4385 echo "local: *; };" >> $output_objdir/$libname.ver~
4386 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4387 fi
4388
4389 case $cc_basename in
Lev Walkin4c776e52010-11-08 02:07:31 -08004390 xlf*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004391 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4392 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4393 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4394 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
Lev Walkin4c776e52010-11-08 02:07:31 -08004395 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004396 if test "x$supports_anon_versioning" = xyes; then
4397 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4398 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4399 echo "local: *; };" >> $output_objdir/$libname.ver~
Lev Walkin4c776e52010-11-08 02:07:31 -08004400 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004401 fi
4402 ;;
4403 esac
Lev Walkin27fd0b62007-08-27 23:57:45 +00004404 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004405 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004406 fi
4407 ;;
4408
4409 netbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004410 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4411 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004412 wlarc=
4413 else
Lev Walkin4c776e52010-11-08 02:07:31 -08004414 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4415 _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 Walkin8e8b5482004-06-17 23:42:48 +00004416 fi
4417 ;;
4418
Lev Walkin27fd0b62007-08-27 23:57:45 +00004419 solaris*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004420 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4421 _LT_TAGVAR(ld_shlibs, $1)=no
4422 cat <<_LT_EOF 1>&2
Lev Walkin8e8b5482004-06-17 23:42:48 +00004423
4424*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4425*** create shared libraries on Solaris systems. Therefore, libtool
4426*** is disabling shared libraries support. We urge you to upgrade GNU
4427*** binutils to release 2.9.1 or newer. Another option is to modify
4428*** your PATH or compiler configuration so that the native linker is
4429*** used, and then restart.
4430
Lev Walkin4da95cf2010-10-16 02:46:32 -07004431_LT_EOF
4432 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
Lev Walkin4c776e52010-11-08 02:07:31 -08004433 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4434 _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 Walkin8e8b5482004-06-17 23:42:48 +00004435 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004436 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004437 fi
4438 ;;
4439
Lev Walkin27fd0b62007-08-27 23:57:45 +00004440 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4441 case `$LD -v 2>&1` in
Lev Walkin4da95cf2010-10-16 02:46:32 -07004442 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4443 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00004444 cat <<_LT_EOF 1>&2
4445
4446*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4447*** reliably create shared libraries on SCO systems. Therefore, libtool
4448*** is disabling shared libraries support. We urge you to upgrade GNU
4449*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4450*** your PATH or compiler configuration so that the native linker is
4451*** used, and then restart.
4452
4453_LT_EOF
4454 ;;
4455 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004456 # For security reasons, it is highly recommended that you always
4457 # use absolute paths for naming shared libraries, and exclude the
4458 # DT_RUNPATH tag from executables and libraries. But doing so
4459 # requires that you compile everything twice, which is a pain.
4460 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4461 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4462 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4463 _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 +00004464 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004465 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00004466 fi
4467 ;;
4468 esac
4469 ;;
4470
Lev Walkin8e8b5482004-06-17 23:42:48 +00004471 sunos4*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004472 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004473 wlarc=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004474 _LT_TAGVAR(hardcode_direct, $1)=yes
4475 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004476 ;;
4477
Lev Walkin8e8b5482004-06-17 23:42:48 +00004478 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004479 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
Lev Walkin4c776e52010-11-08 02:07:31 -08004480 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4481 _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 Walkin8e8b5482004-06-17 23:42:48 +00004482 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004483 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004484 fi
4485 ;;
4486 esac
4487
Lev Walkin4da95cf2010-10-16 02:46:32 -07004488 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00004489 runpath_var=
Lev Walkin4da95cf2010-10-16 02:46:32 -07004490 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4491 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4492 _LT_TAGVAR(whole_archive_flag_spec, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00004493 fi
4494 else
4495 # PORTME fill in a description of your system's linker (not GNU ld)
4496 case $host_os in
4497 aix3*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004498 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4499 _LT_TAGVAR(always_export_symbols, $1)=yes
4500 _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 +00004501 # Note: this linker hardcodes the directories in LIBPATH if there
4502 # are no directories specified by -L.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004503 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Lev Walkin27fd0b62007-08-27 23:57:45 +00004504 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00004505 # Neither direct hardcoding nor static linking is supported with a
4506 # broken collect2.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004507 _LT_TAGVAR(hardcode_direct, $1)=unsupported
Lev Walkin8e8b5482004-06-17 23:42:48 +00004508 fi
4509 ;;
4510
Lev Walkin4da95cf2010-10-16 02:46:32 -07004511 aix[[4-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004512 if test "$host_cpu" = ia64; then
4513 # On IA64, the linker does run time linking by default, so we don't
4514 # have to do anything special.
4515 aix_use_runtimelinking=no
4516 exp_sym_flag='-Bexport'
4517 no_entry_flag=""
4518 else
4519 # If we're using GNU nm, then we don't want the "-C" option.
4520 # -C means demangle to AIX nm, but means don't demangle with GNU nm
Lev Walkin4da95cf2010-10-16 02:46:32 -07004521 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
Lev Walkin4c776e52010-11-08 02:07:31 -08004522 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004523 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004524 _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 +00004525 fi
4526 aix_use_runtimelinking=no
4527
4528 # Test if we are trying to use run time linking or normal
4529 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
4530 # need to do runtime linking.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004531 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004532 for ld_flag in $LDFLAGS; do
Lev Walkin4da95cf2010-10-16 02:46:32 -07004533 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4534 aix_use_runtimelinking=yes
4535 break
4536 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00004537 done
Lev Walkin27fd0b62007-08-27 23:57:45 +00004538 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004539 esac
4540
4541 exp_sym_flag='-bexport'
4542 no_entry_flag='-bnoentry'
4543 fi
4544
4545 # When large executables or shared objects are built, AIX ld can
4546 # have problems creating the table of contents. If linking a library
4547 # or program results in "error TOC overflow" add -mminimal-toc to
4548 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4549 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4550
Lev Walkin4da95cf2010-10-16 02:46:32 -07004551 _LT_TAGVAR(archive_cmds, $1)=''
4552 _LT_TAGVAR(hardcode_direct, $1)=yes
4553 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4554 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4555 _LT_TAGVAR(link_all_deplibs, $1)=yes
4556 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004557
4558 if test "$GCC" = yes; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00004559 case $host_os in aix4.[[012]]|aix4.[[012]].*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004560 # We only want to do this on AIX 4.2 and lower, the check
4561 # below for broken collect2 doesn't work under 4.3+
4562 collect2name=`${CC} -print-prog-name=collect2`
Lev Walkin4da95cf2010-10-16 02:46:32 -07004563 if test -f "$collect2name" &&
4564 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
Lev Walkin8e8b5482004-06-17 23:42:48 +00004565 then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004566 # We have reworked collect2
4567 :
Lev Walkin8e8b5482004-06-17 23:42:48 +00004568 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004569 # We have old collect2
4570 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4571 # It fails to find uninstalled libraries when the uninstalled
4572 # path is not listed in the libpath. Setting hardcode_minus_L
4573 # to unsupported forces relinking
4574 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4575 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4576 _LT_TAGVAR(hardcode_libdir_separator, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00004577 fi
Lev Walkin27fd0b62007-08-27 23:57:45 +00004578 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004579 esac
4580 shared_flag='-shared'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004581 if test "$aix_use_runtimelinking" = yes; then
4582 shared_flag="$shared_flag "'${wl}-G'
4583 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00004584 else
4585 # not using gcc
4586 if test "$host_cpu" = ia64; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004587 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4588 # chokes on -Wl,-G. The following line is correct:
Lev Walkin8e8b5482004-06-17 23:42:48 +00004589 shared_flag='-G'
4590 else
Lev Walkin27fd0b62007-08-27 23:57:45 +00004591 if test "$aix_use_runtimelinking" = yes; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00004592 shared_flag='${wl}-G'
4593 else
4594 shared_flag='${wl}-bM:SRE'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004595 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00004596 fi
4597 fi
4598
4599 # It seems that -bexpall does not export symbols beginning with
4600 # underscore (_), so it is better to generate a list of symbols to export.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004601 _LT_TAGVAR(always_export_symbols, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00004602 if test "$aix_use_runtimelinking" = yes; then
4603 # Warning - without using the other runtime loading flags (-brtl),
4604 # -berok will link without error, but may produce a broken library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004605 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4606 # Determine the default libpath from the value encoded in an
4607 # empty executable.
Lev Walkin4c776e52010-11-08 02:07:31 -08004608 _LT_SYS_MODULE_PATH_AIX
Lev Walkin4da95cf2010-10-16 02:46:32 -07004609 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
Lev Walkin4c776e52010-11-08 02:07:31 -08004610 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
Lev Walkin4da95cf2010-10-16 02:46:32 -07004611 else
Lev Walkin8e8b5482004-06-17 23:42:48 +00004612 if test "$host_cpu" = ia64; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004613 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4614 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4615 _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 +00004616 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004617 # Determine the default libpath from the value encoded in an
4618 # empty executable.
Lev Walkin4c776e52010-11-08 02:07:31 -08004619 _LT_SYS_MODULE_PATH_AIX
Lev Walkin4da95cf2010-10-16 02:46:32 -07004620 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
Lev Walkin8e8b5482004-06-17 23:42:48 +00004621 # Warning - without using the other run time loading flags,
4622 # -berok will link without error, but may produce a broken library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004623 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4624 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
Lev Walkin4c776e52010-11-08 02:07:31 -08004625 # Exported symbols can be pulled into shared objects from archives
4626 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004627 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
Lev Walkin27fd0b62007-08-27 23:57:45 +00004628 # This is similar to how AIX traditionally builds its shared libraries.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004629 _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 +00004630 fi
4631 fi
4632 ;;
4633
4634 amigaos*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004635 case $host_cpu in
4636 powerpc)
4637 # see comment about AmigaOS4 .so support
4638 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4639 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4640 ;;
4641 m68k)
4642 _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)'
4643 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4644 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4645 ;;
4646 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004647 ;;
4648
Lev Walkin27fd0b62007-08-27 23:57:45 +00004649 bsdi[[45]]*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004650 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
Lev Walkin8e8b5482004-06-17 23:42:48 +00004651 ;;
4652
Lev Walkin4c776e52010-11-08 02:07:31 -08004653 cygwin* | mingw* | pw32*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004654 # When not using gcc, we currently assume that we are using
4655 # Microsoft Visual C++.
4656 # hardcode_libdir_flag_spec is actually meaningless, as there is
4657 # no search path for DLLs.
Lev Walkin4c776e52010-11-08 02:07:31 -08004658 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4659 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4660 # Tell ltmain to make .lib files, not .a files.
4661 libext=lib
4662 # Tell ltmain to make .dll files, not .so files.
4663 shrext_cmds=".dll"
4664 # FIXME: Setting linknames here is a bad hack.
4665 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4666 # The linker will automatically build a .lib file if we build a DLL.
4667 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
4668 # FIXME: Should let the user specify the lib program.
4669 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4670 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4671 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00004672 ;;
4673
4674 darwin* | rhapsody*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004675 _LT_DARWIN_LINKER_FEATURES($1)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004676 ;;
4677
4678 dgux*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004679 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4680 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4681 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004682 ;;
4683
4684 freebsd1*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004685 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004686 ;;
4687
4688 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4689 # support. Future versions do this automatically, but an explicit c++rt0.o
4690 # does not break anything, and helps significantly (at the cost of a little
4691 # extra space).
4692 freebsd2.2*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004693 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4694 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4695 _LT_TAGVAR(hardcode_direct, $1)=yes
4696 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004697 ;;
4698
4699 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4700 freebsd2*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004701 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4702 _LT_TAGVAR(hardcode_direct, $1)=yes
4703 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4704 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004705 ;;
4706
4707 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004708 freebsd* | dragonfly*)
Lev Walkin4c776e52010-11-08 02:07:31 -08004709 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004710 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4711 _LT_TAGVAR(hardcode_direct, $1)=yes
4712 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004713 ;;
4714
4715 hpux9*)
4716 if test "$GCC" = yes; then
Lev Walkin4c776e52010-11-08 02:07:31 -08004717 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004718 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004719 _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 +00004720 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004721 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4722 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4723 _LT_TAGVAR(hardcode_direct, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00004724
4725 # hardcode_minus_L: Not really in the search PATH,
4726 # but as the default location of the library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004727 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4728 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004729 ;;
4730
Lev Walkin27fd0b62007-08-27 23:57:45 +00004731 hpux10*)
Lev Walkin4c776e52010-11-08 02:07:31 -08004732 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4733 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004734 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004735 _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 +00004736 fi
4737 if test "$with_gnu_ld" = no; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004738 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4739 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4740 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4741 _LT_TAGVAR(hardcode_direct, $1)=yes
4742 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4743 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004744 # hardcode_minus_L: Not really in the search PATH,
4745 # but as the default location of the library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004746 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Lev Walkin27fd0b62007-08-27 23:57:45 +00004747 fi
4748 ;;
4749
4750 hpux11*)
Lev Walkin4c776e52010-11-08 02:07:31 -08004751 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00004752 case $host_cpu in
4753 hppa*64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004754 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004755 ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004756 ia64*)
Lev Walkin4c776e52010-11-08 02:07:31 -08004757 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004758 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004759 *)
Lev Walkin4c776e52010-11-08 02:07:31 -08004760 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004761 ;;
4762 esac
4763 else
Lev Walkin27fd0b62007-08-27 23:57:45 +00004764 case $host_cpu in
4765 hppa*64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004766 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin27fd0b62007-08-27 23:57:45 +00004767 ;;
4768 ia64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004769 _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 +00004770 ;;
4771 *)
Lev Walkin4c776e52010-11-08 02:07:31 -08004772 _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 +00004773 ;;
4774 esac
4775 fi
4776 if test "$with_gnu_ld" = no; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004777 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4778 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Lev Walkin8e8b5482004-06-17 23:42:48 +00004779
Lev Walkin27fd0b62007-08-27 23:57:45 +00004780 case $host_cpu in
4781 hppa*64*|ia64*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004782 _LT_TAGVAR(hardcode_direct, $1)=no
4783 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004784 ;;
4785 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004786 _LT_TAGVAR(hardcode_direct, $1)=yes
4787 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4788 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004789
4790 # hardcode_minus_L: Not really in the search PATH,
4791 # but as the default location of the library.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004792 _LT_TAGVAR(hardcode_minus_L, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00004793 ;;
4794 esac
4795 fi
4796 ;;
4797
4798 irix5* | irix6* | nonstopux*)
4799 if test "$GCC" = yes; then
Lev Walkin4c776e52010-11-08 02:07:31 -08004800 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004801 # Try to use the -exported_symbol ld option, if it does not
4802 # work, assume that -exports_file does not work either and
4803 # implicitly export all symbols.
Lev Walkin4c776e52010-11-08 02:07:31 -08004804 save_LDFLAGS="$LDFLAGS"
4805 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4806 AC_LINK_IFELSE(int foo(void) {},
4807 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
4808 )
4809 LDFLAGS="$save_LDFLAGS"
Lev Walkin8e8b5482004-06-17 23:42:48 +00004810 else
Lev Walkin4c776e52010-11-08 02:07:31 -08004811 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4812 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004813 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004814 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4815 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4816 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4817 _LT_TAGVAR(inherit_rpath, $1)=yes
4818 _LT_TAGVAR(link_all_deplibs, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00004819 ;;
4820
4821 netbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004822 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4823 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
Lev Walkin8e8b5482004-06-17 23:42:48 +00004824 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004825 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
Lev Walkin8e8b5482004-06-17 23:42:48 +00004826 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004827 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4828 _LT_TAGVAR(hardcode_direct, $1)=yes
4829 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004830 ;;
4831
4832 newsos6)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004833 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4834 _LT_TAGVAR(hardcode_direct, $1)=yes
4835 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4836 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4837 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4838 ;;
4839
4840 *nto* | *qnx*)
Lev Walkin8e8b5482004-06-17 23:42:48 +00004841 ;;
4842
4843 openbsd*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004844 if test -f /usr/libexec/ld.so; then
4845 _LT_TAGVAR(hardcode_direct, $1)=yes
4846 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4847 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4848 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4849 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4850 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4851 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4852 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4853 else
4854 case $host_os in
4855 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4856 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4857 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4858 ;;
4859 *)
4860 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4861 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4862 ;;
4863 esac
4864 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00004865 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004866 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004867 fi
4868 ;;
4869
4870 os2*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004871 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4872 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4873 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
Lev Walkin4c776e52010-11-08 02:07:31 -08004874 _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'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004875 _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 +00004876 ;;
4877
4878 osf3*)
4879 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004880 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
Lev Walkin4c776e52010-11-08 02:07:31 -08004881 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004882 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004883 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
Lev Walkin4c776e52010-11-08 02:07:31 -08004884 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004885 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004886 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4887 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4888 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Lev Walkin8e8b5482004-06-17 23:42:48 +00004889 ;;
4890
4891 osf4* | osf5*) # as osf3* with the addition of -msym flag
4892 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004893 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
Lev Walkin4c776e52010-11-08 02:07:31 -08004894 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004895 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004896 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004897 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
Lev Walkin4c776e52010-11-08 02:07:31 -08004898 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004899 _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~
Lev Walkin4c776e52010-11-08 02:07:31 -08004900 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004901
4902 # Both c and cxx compiler support -rpath directly
Lev Walkin4da95cf2010-10-16 02:46:32 -07004903 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004904 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004905 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4906 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
Lev Walkin8e8b5482004-06-17 23:42:48 +00004907 ;;
4908
Lev Walkin8e8b5482004-06-17 23:42:48 +00004909 solaris*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004910 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004911 if test "$GCC" = yes; then
Lev Walkin27fd0b62007-08-27 23:57:45 +00004912 wlarc='${wl}'
Lev Walkin4c776e52010-11-08 02:07:31 -08004913 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004914 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
Lev Walkin4c776e52010-11-08 02:07:31 -08004915 $CC -shared ${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 +00004916 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004917 case `$CC -V 2>&1` in
4918 *"Compilers 5.0"*)
4919 wlarc=''
4920 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4921 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4922 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4923 ;;
4924 *)
4925 wlarc='${wl}'
4926 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4927 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4928 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4929 ;;
4930 esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00004931 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004932 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4933 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004934 case $host_os in
4935 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
Lev Walkin27fd0b62007-08-27 23:57:45 +00004936 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004937 # The compiler driver will combine and reorder linker options,
4938 # but understands `-z linker_flag'. GCC discards it without `$wl',
4939 # but is careful enough not to reorder.
4940 # Supported since Solaris 2.6 (maybe 2.5.1?)
4941 if test "$GCC" = yes; then
4942 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
4943 else
4944 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
4945 fi
4946 ;;
Lev Walkin8e8b5482004-06-17 23:42:48 +00004947 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07004948 _LT_TAGVAR(link_all_deplibs, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00004949 ;;
4950
4951 sunos4*)
4952 if test "x$host_vendor" = xsequent; then
4953 # Use $CC to link under sequent, because it throws in some extra .o
4954 # files that make .init and .fini sections work.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004955 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004956 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07004957 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004958 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07004959 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4960 _LT_TAGVAR(hardcode_direct, $1)=yes
4961 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4962 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004963 ;;
4964
4965 sysv4)
4966 case $host_vendor in
4967 sni)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004968 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4969 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
Lev Walkin8e8b5482004-06-17 23:42:48 +00004970 ;;
4971 siemens)
4972 ## LD is ld it makes a PLAMLIB
4973 ## CC just makes a GrossModule.
Lev Walkin4da95cf2010-10-16 02:46:32 -07004974 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
4975 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
4976 _LT_TAGVAR(hardcode_direct, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004977 ;;
4978 motorola)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004979 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4980 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
Lev Walkin8e8b5482004-06-17 23:42:48 +00004981 ;;
4982 esac
4983 runpath_var='LD_RUN_PATH'
Lev Walkin4da95cf2010-10-16 02:46:32 -07004984 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004985 ;;
4986
4987 sysv4.3*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07004988 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4989 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4990 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
Lev Walkin8e8b5482004-06-17 23:42:48 +00004991 ;;
4992
4993 sysv4*MP*)
4994 if test -d /usr/nec; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07004995 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4996 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00004997 runpath_var=LD_RUN_PATH
4998 hardcode_runpath_var=yes
Lev Walkin4da95cf2010-10-16 02:46:32 -07004999 _LT_TAGVAR(ld_shlibs, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00005000 fi
5001 ;;
5002
Lev Walkin4da95cf2010-10-16 02:46:32 -07005003 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5004 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5005 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5006 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin27fd0b62007-08-27 23:57:45 +00005007 runpath_var='LD_RUN_PATH'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005008
Lev Walkin8e8b5482004-06-17 23:42:48 +00005009 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005010 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5011 _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 +00005012 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005013 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5014 _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 +00005015 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00005016 ;;
5017
Lev Walkin27fd0b62007-08-27 23:57:45 +00005018 sysv5* | sco3.2v5* | sco5v6*)
5019 # Note: We can NOT use -z defs as we might desire, because we do not
5020 # link with -lc, and that would cause any symbols used from libc to
5021 # always be unresolved, which means just about no library would
5022 # ever link correctly. If we're not using GNU ld we use -z text
5023 # though, which does catch some bad symbols but isn't as heavy-handed
5024 # as -z defs.
Lev Walkin4da95cf2010-10-16 02:46:32 -07005025 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5026 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5027 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5028 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5029 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5030 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5031 _LT_TAGVAR(link_all_deplibs, $1)=yes
5032 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
Lev Walkin8e8b5482004-06-17 23:42:48 +00005033 runpath_var='LD_RUN_PATH'
Lev Walkin27fd0b62007-08-27 23:57:45 +00005034
5035 if test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005036 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5037 _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 +00005038 else
Lev Walkin4da95cf2010-10-16 02:46:32 -07005039 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5040 _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 +00005041 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00005042 ;;
5043
5044 uts4*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005045 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5046 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5047 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005048 ;;
5049
5050 *)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005051 _LT_TAGVAR(ld_shlibs, $1)=no
Lev Walkin8e8b5482004-06-17 23:42:48 +00005052 ;;
5053 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07005054
5055 if test x$host_vendor = xsni; then
5056 case $host in
5057 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5058 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5059 ;;
5060 esac
5061 fi
Lev Walkin8e8b5482004-06-17 23:42:48 +00005062 fi
5063])
Lev Walkin4da95cf2010-10-16 02:46:32 -07005064AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5065test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5066
5067_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5068
5069_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5070_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5071_LT_DECL([], [extract_expsyms_cmds], [2],
5072 [The commands to extract the exported symbol list from a shared archive])
Lev Walkin8e8b5482004-06-17 23:42:48 +00005073
Lev Walkin8e8b5482004-06-17 23:42:48 +00005074#
5075# Do we need to explicitly link libc?
5076#
Lev Walkin4da95cf2010-10-16 02:46:32 -07005077case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
Lev Walkin8e8b5482004-06-17 23:42:48 +00005078x|xyes)
5079 # Assume -lc should be added
Lev Walkin4da95cf2010-10-16 02:46:32 -07005080 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
Lev Walkin8e8b5482004-06-17 23:42:48 +00005081
5082 if test "$enable_shared" = yes && test "$GCC" = yes; then
Lev Walkin4da95cf2010-10-16 02:46:32 -07005083 case $_LT_TAGVAR(archive_cmds, $1) in
Lev Walkin8e8b5482004-06-17 23:42:48 +00005084 *'~'*)
5085 # FIXME: we may have to deal with multi-command sequences.
5086 ;;
5087 '$CC '*)
5088 # Test whether the compiler implicitly links with -lc since on some
5089 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5090 # to ld, don't add -lc before -lgcc.
Lev Walkin4c776e52010-11-08 02:07:31 -08005091 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5092 $RM -r conftest*
5093 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
Lev Walkin8e8b5482004-06-17 23:42:48 +00005094
Lev Walkin4c776e52010-11-08 02:07:31 -08005095 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5096 soname=conftest
5097 lib=conftest
5098 libobjs=conftest.$ac_objext
5099 deplibs=
5100 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5101 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5102 compiler_flags=-v
5103 linker_flags=-v
5104 verstring=
5105 output_objdir=.
5106 libname=conftest
5107 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5108 _LT_TAGVAR(allow_undefined_flag, $1)=
5109 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5110 then
5111 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5112 else
5113 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5114 fi
5115 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5116 else
5117 cat conftest.err 1>&5
5118 fi
5119 $RM -r conftest*
5120 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
Lev Walkin8e8b5482004-06-17 23:42:48 +00005121 ;;
5122 esac
5123 fi
5124 ;;
5125esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07005126
5127_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5128 [Whether or not to add -lc for building shared libraries])
5129_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5130 [enable_shared_with_static_runtimes], [0],
5131 [Whether or not to disallow shared libs when runtime libs are static])
5132_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5133 [Compiler flag to allow reflexive dlopens])
5134_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5135 [Compiler flag to generate shared objects directly from archives])
5136_LT_TAGDECL([], [compiler_needs_object], [1],
5137 [Whether the compiler copes with passing no objects directly])
5138_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5139 [Create an old-style archive from a shared archive])
5140_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5141 [Create a temporary old-style archive to link instead of a shared archive])
5142_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5143_LT_TAGDECL([], [archive_expsym_cmds], [2])
5144_LT_TAGDECL([], [module_cmds], [2],
5145 [Commands used to build a loadable module if different from building
5146 a shared archive.])
5147_LT_TAGDECL([], [module_expsym_cmds], [2])
5148_LT_TAGDECL([], [with_gnu_ld], [1],
5149 [Whether we are building with GNU ld or not])
5150_LT_TAGDECL([], [allow_undefined_flag], [1],
5151 [Flag that allows shared libraries with undefined symbols to be built])
5152_LT_TAGDECL([], [no_undefined_flag], [1],
5153 [Flag that enforces no undefined symbols])
5154_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5155 [Flag to hardcode $libdir into a binary during linking.
5156 This must work even if $libdir does not exist])
5157_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5158 [[If ld is used when linking, flag to hardcode $libdir into a binary
5159 during linking. This must work even if $libdir does not exist]])
5160_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5161 [Whether we need a single "-rpath" flag with a separated argument])
5162_LT_TAGDECL([], [hardcode_direct], [0],
5163 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5164 DIR into the resulting binary])
5165_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5166 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5167 DIR into the resulting binary and the resulting library dependency is
5168 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5169 library is relocated])
5170_LT_TAGDECL([], [hardcode_minus_L], [0],
5171 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5172 into the resulting binary])
5173_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5174 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5175 into the resulting binary])
5176_LT_TAGDECL([], [hardcode_automatic], [0],
5177 [Set to "yes" if building a shared library automatically hardcodes DIR
5178 into the library and all subsequent libraries and executables linked
5179 against it])
5180_LT_TAGDECL([], [inherit_rpath], [0],
5181 [Set to yes if linker adds runtime paths of dependent libraries
5182 to runtime path list])
5183_LT_TAGDECL([], [link_all_deplibs], [0],
5184 [Whether libtool must link a program against all its dependency libraries])
Lev Walkin4c776e52010-11-08 02:07:31 -08005185_LT_TAGDECL([], [fix_srcfile_path], [1],
5186 [Fix the shell variable $srcfile for the compiler])
Lev Walkin4da95cf2010-10-16 02:46:32 -07005187_LT_TAGDECL([], [always_export_symbols], [0],
5188 [Set to "yes" if exported symbols are required])
5189_LT_TAGDECL([], [export_symbols_cmds], [2],
5190 [The commands to list exported symbols])
5191_LT_TAGDECL([], [exclude_expsyms], [1],
5192 [Symbols that should not be listed in the preloaded symbols])
5193_LT_TAGDECL([], [include_expsyms], [1],
5194 [Symbols that must always be exported])
5195_LT_TAGDECL([], [prelink_cmds], [2],
5196 [Commands necessary for linking programs (against libraries) with templates])
Lev Walkin4da95cf2010-10-16 02:46:32 -07005197_LT_TAGDECL([], [file_list_spec], [1],
5198 [Specify filename containing input files])
5199dnl FIXME: Not yet implemented
5200dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5201dnl [Compiler flag to generate thread safe objects])
5202])# _LT_LINKER_SHLIBS
Lev Walkin8e8b5482004-06-17 23:42:48 +00005203
5204
Lev Walkin4da95cf2010-10-16 02:46:32 -07005205# _LT_LANG_C_CONFIG([TAG])
5206# ------------------------
5207# Ensure that the configuration variables for a C compiler are suitably
5208# defined. These variables are subsequently used by _LT_CONFIG to write
5209# the compiler configuration to `libtool'.
5210m4_defun([_LT_LANG_C_CONFIG],
5211[m4_require([_LT_DECL_EGREP])dnl
5212lt_save_CC="$CC"
5213AC_LANG_PUSH(C)
5214
5215# Source file extension for C test sources.
5216ac_ext=c
5217
5218# Object file extension for compiled C test sources.
5219objext=o
5220_LT_TAGVAR(objext, $1)=$objext
5221
5222# Code to be used in simple compile tests
5223lt_simple_compile_test_code="int some_variable = 0;"
5224
5225# Code to be used in simple link tests
5226lt_simple_link_test_code='int main(){return(0);}'
5227
5228_LT_TAG_COMPILER
5229# Save the default compiler, since it gets overwritten when the other
5230# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5231compiler_DEFAULT=$CC
5232
5233# save warnings/boilerplate of simple test code
5234_LT_COMPILER_BOILERPLATE
5235_LT_LINKER_BOILERPLATE
5236
5237if test -n "$compiler"; then
5238 _LT_COMPILER_NO_RTTI($1)
5239 _LT_COMPILER_PIC($1)
5240 _LT_COMPILER_C_O($1)
5241 _LT_COMPILER_FILE_LOCKS($1)
5242 _LT_LINKER_SHLIBS($1)
5243 _LT_SYS_DYNAMIC_LINKER($1)
5244 _LT_LINKER_HARDCODE_LIBPATH($1)
5245 LT_SYS_DLOPEN_SELF
5246 _LT_CMD_STRIPLIB
5247
5248 # Report which library types will actually be built
5249 AC_MSG_CHECKING([if libtool supports shared libraries])
5250 AC_MSG_RESULT([$can_build_shared])
5251
5252 AC_MSG_CHECKING([whether to build shared libraries])
5253 test "$can_build_shared" = "no" && enable_shared=no
5254
5255 # On AIX, shared libraries and static libraries use the same namespace, and
5256 # are all built from PIC.
5257 case $host_os in
5258 aix3*)
5259 test "$enable_shared" = yes && enable_static=no
5260 if test -n "$RANLIB"; then
5261 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5262 postinstall_cmds='$RANLIB $lib'
5263 fi
5264 ;;
5265
5266 aix[[4-9]]*)
5267 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5268 test "$enable_shared" = yes && enable_static=no
5269 fi
5270 ;;
5271 esac
5272 AC_MSG_RESULT([$enable_shared])
5273
5274 AC_MSG_CHECKING([whether to build static libraries])
5275 # Make sure either enable_shared or enable_static is yes.
5276 test "$enable_shared" = yes || enable_static=yes
5277 AC_MSG_RESULT([$enable_static])
5278
5279 _LT_CONFIG($1)
5280fi
5281AC_LANG_POP
5282CC="$lt_save_CC"
5283])# _LT_LANG_C_CONFIG
Lev Walkin8e8b5482004-06-17 23:42:48 +00005284
5285
Lev Walkin4c776e52010-11-08 02:07:31 -08005286# _LT_PROG_CXX
5287# ------------
5288# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5289# compiler, we have our own version here.
5290m4_defun([_LT_PROG_CXX],
5291[
5292pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5293AC_PROG_CXX
Lev Walkin4da95cf2010-10-16 02:46:32 -07005294if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5295 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5296 (test "X$CXX" != "Xg++"))) ; then
5297 AC_PROG_CXXCPP
5298else
5299 _lt_caught_CXX_error=yes
5300fi
Lev Walkin4c776e52010-11-08 02:07:31 -08005301popdef([AC_MSG_ERROR])
5302])# _LT_PROG_CXX
5303
5304dnl aclocal-1.4 backwards compatibility:
5305dnl AC_DEFUN([_LT_PROG_CXX], [])
5306
5307
5308# _LT_LANG_CXX_CONFIG([TAG])
5309# --------------------------
5310# Ensure that the configuration variables for a C++ compiler are suitably
5311# defined. These variables are subsequently used by _LT_CONFIG to write
5312# the compiler configuration to `libtool'.
5313m4_defun([_LT_LANG_CXX_CONFIG],
5314[AC_REQUIRE([_LT_PROG_CXX])dnl
5315m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5316m4_require([_LT_DECL_EGREP])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07005317
5318AC_LANG_PUSH(C++)
5319_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5320_LT_TAGVAR(allow_undefined_flag, $1)=
5321_LT_TAGVAR(always_export_symbols, $1)=no
5322_LT_TAGVAR(archive_expsym_cmds, $1)=
5323_LT_TAGVAR(compiler_needs_object, $1)=no
5324_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5325_LT_TAGVAR(hardcode_direct, $1)=no
5326_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5327_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5328_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5329_LT_TAGVAR(hardcode_libdir_separator, $1)=
5330_LT_TAGVAR(hardcode_minus_L, $1)=no
5331_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5332_LT_TAGVAR(hardcode_automatic, $1)=no
5333_LT_TAGVAR(inherit_rpath, $1)=no
5334_LT_TAGVAR(module_cmds, $1)=
5335_LT_TAGVAR(module_expsym_cmds, $1)=
5336_LT_TAGVAR(link_all_deplibs, $1)=unknown
5337_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
Lev Walkin4da95cf2010-10-16 02:46:32 -07005338_LT_TAGVAR(no_undefined_flag, $1)=
5339_LT_TAGVAR(whole_archive_flag_spec, $1)=
5340_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5341
5342# Source file extension for C++ test sources.
5343ac_ext=cpp
5344
5345# Object file extension for compiled C++ test sources.
5346objext=o
5347_LT_TAGVAR(objext, $1)=$objext
5348
5349# No sense in running all these tests if we already determined that
5350# the CXX compiler isn't working. Some variables (like enable_shared)
5351# are currently assumed to apply to all compilers on this platform,
5352# and will be corrupted by setting them based on a non-working compiler.
5353if test "$_lt_caught_CXX_error" != yes; then
5354 # Code to be used in simple compile tests
5355 lt_simple_compile_test_code="int some_variable = 0;"
5356
5357 # Code to be used in simple link tests
5358 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5359
5360 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5361 _LT_TAG_COMPILER
5362
5363 # save warnings/boilerplate of simple test code
5364 _LT_COMPILER_BOILERPLATE
5365 _LT_LINKER_BOILERPLATE
5366
5367 # Allow CC to be a program name with arguments.
5368 lt_save_CC=$CC
Lev Walkin4da95cf2010-10-16 02:46:32 -07005369 lt_save_LD=$LD
5370 lt_save_GCC=$GCC
5371 GCC=$GXX
5372 lt_save_with_gnu_ld=$with_gnu_ld
5373 lt_save_path_LD=$lt_cv_path_LD
5374 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5375 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5376 else
5377 $as_unset lt_cv_prog_gnu_ld
5378 fi
5379 if test -n "${lt_cv_path_LDCXX+set}"; then
5380 lt_cv_path_LD=$lt_cv_path_LDCXX
5381 else
5382 $as_unset lt_cv_path_LD
5383 fi
5384 test -z "${LDCXX+set}" || LD=$LDCXX
5385 CC=${CXX-"c++"}
Lev Walkin4da95cf2010-10-16 02:46:32 -07005386 compiler=$CC
5387 _LT_TAGVAR(compiler, $1)=$CC
5388 _LT_CC_BASENAME([$compiler])
5389
5390 if test -n "$compiler"; then
5391 # We don't want -fno-exception when compiling C++ code, so set the
5392 # no_builtin_flag separately
5393 if test "$GXX" = yes; then
5394 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5395 else
5396 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5397 fi
5398
5399 if test "$GXX" = yes; then
5400 # Set up default GNU C++ configuration
5401
5402 LT_PATH_LD
5403
5404 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5405 # archiving commands below assume that GNU ld is being used.
5406 if test "$with_gnu_ld" = yes; then
Lev Walkin4c776e52010-11-08 02:07:31 -08005407 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5408 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005409
5410 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5411 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5412
5413 # If archive_cmds runs LD, not CC, wlarc should be empty
5414 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5415 # investigate it a little bit more. (MM)
5416 wlarc='${wl}'
5417
5418 # ancient GNU ld didn't support --whole-archive et. al.
5419 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5420 $GREP 'no-whole-archive' > /dev/null; then
5421 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5422 else
5423 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5424 fi
5425 else
5426 with_gnu_ld=no
5427 wlarc=
5428
5429 # A generic and very simple default shared library creation
5430 # command for GNU C++ for the case where it uses the native
5431 # linker, instead of GNU ld. If possible, this setting should
5432 # overridden to take advantage of the native linker features on
5433 # the platform it is being used on.
5434 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5435 fi
5436
5437 # Commands to make compiler produce verbose output that lists
5438 # what "hidden" libraries, object files and flags are used when
5439 # linking a shared library.
Lev Walkin4c776e52010-11-08 02:07:31 -08005440 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005441
5442 else
5443 GXX=no
5444 with_gnu_ld=no
5445 wlarc=
5446 fi
5447
5448 # PORTME: fill in a description of your system's C++ link characteristics
5449 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5450 _LT_TAGVAR(ld_shlibs, $1)=yes
5451 case $host_os in
5452 aix3*)
5453 # FIXME: insert proper C++ library support
5454 _LT_TAGVAR(ld_shlibs, $1)=no
5455 ;;
5456 aix[[4-9]]*)
5457 if test "$host_cpu" = ia64; then
5458 # On IA64, the linker does run time linking by default, so we don't
5459 # have to do anything special.
5460 aix_use_runtimelinking=no
5461 exp_sym_flag='-Bexport'
5462 no_entry_flag=""
5463 else
5464 aix_use_runtimelinking=no
5465
5466 # Test if we are trying to use run time linking or normal
5467 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5468 # need to do runtime linking.
5469 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5470 for ld_flag in $LDFLAGS; do
5471 case $ld_flag in
5472 *-brtl*)
5473 aix_use_runtimelinking=yes
5474 break
5475 ;;
5476 esac
5477 done
5478 ;;
5479 esac
5480
5481 exp_sym_flag='-bexport'
5482 no_entry_flag='-bnoentry'
5483 fi
5484
5485 # When large executables or shared objects are built, AIX ld can
5486 # have problems creating the table of contents. If linking a library
5487 # or program results in "error TOC overflow" add -mminimal-toc to
5488 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5489 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5490
5491 _LT_TAGVAR(archive_cmds, $1)=''
5492 _LT_TAGVAR(hardcode_direct, $1)=yes
5493 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5494 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5495 _LT_TAGVAR(link_all_deplibs, $1)=yes
5496 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5497
5498 if test "$GXX" = yes; then
5499 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5500 # We only want to do this on AIX 4.2 and lower, the check
5501 # below for broken collect2 doesn't work under 4.3+
5502 collect2name=`${CC} -print-prog-name=collect2`
5503 if test -f "$collect2name" &&
5504 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5505 then
5506 # We have reworked collect2
5507 :
5508 else
5509 # We have old collect2
5510 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5511 # It fails to find uninstalled libraries when the uninstalled
5512 # path is not listed in the libpath. Setting hardcode_minus_L
5513 # to unsupported forces relinking
5514 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5515 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5516 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5517 fi
5518 esac
5519 shared_flag='-shared'
5520 if test "$aix_use_runtimelinking" = yes; then
5521 shared_flag="$shared_flag "'${wl}-G'
5522 fi
5523 else
5524 # not using gcc
5525 if test "$host_cpu" = ia64; then
5526 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5527 # chokes on -Wl,-G. The following line is correct:
5528 shared_flag='-G'
5529 else
5530 if test "$aix_use_runtimelinking" = yes; then
5531 shared_flag='${wl}-G'
5532 else
5533 shared_flag='${wl}-bM:SRE'
5534 fi
5535 fi
5536 fi
5537
Lev Walkin4da95cf2010-10-16 02:46:32 -07005538 # It seems that -bexpall does not export symbols beginning with
5539 # underscore (_), so it is better to generate a list of symbols to
5540 # export.
5541 _LT_TAGVAR(always_export_symbols, $1)=yes
5542 if test "$aix_use_runtimelinking" = yes; then
5543 # Warning - without using the other runtime loading flags (-brtl),
5544 # -berok will link without error, but may produce a broken library.
5545 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5546 # Determine the default libpath from the value encoded in an empty
5547 # executable.
Lev Walkin4c776e52010-11-08 02:07:31 -08005548 _LT_SYS_MODULE_PATH_AIX
Lev Walkin4da95cf2010-10-16 02:46:32 -07005549 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5550
Lev Walkin4c776e52010-11-08 02:07:31 -08005551 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
Lev Walkin4da95cf2010-10-16 02:46:32 -07005552 else
5553 if test "$host_cpu" = ia64; then
5554 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5555 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5556 _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"
5557 else
5558 # Determine the default libpath from the value encoded in an
5559 # empty executable.
Lev Walkin4c776e52010-11-08 02:07:31 -08005560 _LT_SYS_MODULE_PATH_AIX
Lev Walkin4da95cf2010-10-16 02:46:32 -07005561 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5562 # Warning - without using the other run time loading flags,
5563 # -berok will link without error, but may produce a broken library.
5564 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5565 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
Lev Walkin4c776e52010-11-08 02:07:31 -08005566 # Exported symbols can be pulled into shared objects from archives
5567 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005568 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5569 # This is similar to how AIX traditionally builds its shared
5570 # libraries.
5571 _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'
5572 fi
5573 fi
5574 ;;
5575
5576 beos*)
5577 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5578 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5579 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5580 # support --undefined. This deserves some investigation. FIXME
5581 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5582 else
5583 _LT_TAGVAR(ld_shlibs, $1)=no
5584 fi
5585 ;;
5586
5587 chorus*)
5588 case $cc_basename in
5589 *)
5590 # FIXME: insert proper C++ library support
5591 _LT_TAGVAR(ld_shlibs, $1)=no
5592 ;;
5593 esac
5594 ;;
5595
Lev Walkin4c776e52010-11-08 02:07:31 -08005596 cygwin* | mingw* | pw32*)
5597 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5598 # as there is no search path for DLLs.
5599 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5600 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5601 _LT_TAGVAR(always_export_symbols, $1)=no
5602 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
Lev Walkin4da95cf2010-10-16 02:46:32 -07005603
Lev Walkin4c776e52010-11-08 02:07:31 -08005604 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5605 _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'
5606 # If the export-symbols file already is a .def file (1st line
5607 # is EXPORTS), use it as is; otherwise, prepend...
5608 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5609 cp $export_symbols $output_objdir/$soname.def;
5610 else
5611 echo EXPORTS > $output_objdir/$soname.def;
5612 cat $export_symbols >> $output_objdir/$soname.def;
5613 fi~
5614 $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'
5615 else
5616 _LT_TAGVAR(ld_shlibs, $1)=no
5617 fi
5618 ;;
Lev Walkin4da95cf2010-10-16 02:46:32 -07005619 darwin* | rhapsody*)
5620 _LT_DARWIN_LINKER_FEATURES($1)
5621 ;;
5622
5623 dgux*)
5624 case $cc_basename in
5625 ec++*)
5626 # FIXME: insert proper C++ library support
5627 _LT_TAGVAR(ld_shlibs, $1)=no
5628 ;;
5629 ghcx*)
5630 # Green Hills C++ Compiler
5631 # FIXME: insert proper C++ library support
5632 _LT_TAGVAR(ld_shlibs, $1)=no
5633 ;;
5634 *)
5635 # FIXME: insert proper C++ library support
5636 _LT_TAGVAR(ld_shlibs, $1)=no
5637 ;;
5638 esac
5639 ;;
5640
5641 freebsd[[12]]*)
5642 # C++ shared libraries reported to be fairly broken before
5643 # switch to ELF
5644 _LT_TAGVAR(ld_shlibs, $1)=no
5645 ;;
5646
5647 freebsd-elf*)
5648 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5649 ;;
5650
5651 freebsd* | dragonfly*)
5652 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5653 # conventions
5654 _LT_TAGVAR(ld_shlibs, $1)=yes
5655 ;;
5656
5657 gnu*)
5658 ;;
5659
Lev Walkin4da95cf2010-10-16 02:46:32 -07005660 hpux9*)
5661 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5662 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5663 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5664 _LT_TAGVAR(hardcode_direct, $1)=yes
5665 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5666 # but as the default
5667 # location of the library.
5668
5669 case $cc_basename in
5670 CC*)
5671 # FIXME: insert proper C++ library support
5672 _LT_TAGVAR(ld_shlibs, $1)=no
5673 ;;
5674 aCC*)
5675 _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'
5676 # Commands to make compiler produce verbose output that lists
5677 # what "hidden" libraries, object files and flags are used when
5678 # linking a shared library.
5679 #
5680 # There doesn't appear to be a way to prevent this compiler from
5681 # explicitly linking system object files so we need to strip them
5682 # from the output so that they don't get included in the library
5683 # dependencies.
Lev Walkin4c776e52010-11-08 02:07:31 -08005684 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005685 ;;
5686 *)
5687 if test "$GXX" = yes; then
Lev Walkin4c776e52010-11-08 02:07:31 -08005688 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005689 else
5690 # FIXME: insert proper C++ library support
5691 _LT_TAGVAR(ld_shlibs, $1)=no
5692 fi
5693 ;;
5694 esac
5695 ;;
5696
5697 hpux10*|hpux11*)
5698 if test $with_gnu_ld = no; then
5699 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5700 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5701
5702 case $host_cpu in
5703 hppa*64*|ia64*)
5704 ;;
5705 *)
5706 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5707 ;;
5708 esac
5709 fi
5710 case $host_cpu in
5711 hppa*64*|ia64*)
5712 _LT_TAGVAR(hardcode_direct, $1)=no
5713 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5714 ;;
5715 *)
5716 _LT_TAGVAR(hardcode_direct, $1)=yes
5717 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5718 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5719 # but as the default
5720 # location of the library.
5721 ;;
5722 esac
5723
5724 case $cc_basename in
5725 CC*)
5726 # FIXME: insert proper C++ library support
5727 _LT_TAGVAR(ld_shlibs, $1)=no
5728 ;;
5729 aCC*)
5730 case $host_cpu in
5731 hppa*64*)
5732 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5733 ;;
5734 ia64*)
5735 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5736 ;;
5737 *)
5738 _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'
5739 ;;
5740 esac
5741 # Commands to make compiler produce verbose output that lists
5742 # what "hidden" libraries, object files and flags are used when
5743 # linking a shared library.
5744 #
5745 # There doesn't appear to be a way to prevent this compiler from
5746 # explicitly linking system object files so we need to strip them
5747 # from the output so that they don't get included in the library
5748 # dependencies.
Lev Walkin4c776e52010-11-08 02:07:31 -08005749 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005750 ;;
5751 *)
5752 if test "$GXX" = yes; then
5753 if test $with_gnu_ld = no; then
5754 case $host_cpu in
5755 hppa*64*)
5756 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5757 ;;
5758 ia64*)
Lev Walkin4c776e52010-11-08 02:07:31 -08005759 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005760 ;;
5761 *)
Lev Walkin4c776e52010-11-08 02:07:31 -08005762 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005763 ;;
5764 esac
5765 fi
5766 else
5767 # FIXME: insert proper C++ library support
5768 _LT_TAGVAR(ld_shlibs, $1)=no
5769 fi
5770 ;;
5771 esac
5772 ;;
5773
5774 interix[[3-9]]*)
5775 _LT_TAGVAR(hardcode_direct, $1)=no
5776 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5777 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5778 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5779 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5780 # Instead, shared libraries are loaded at an image base (0x10000000 by
5781 # default) and relocated if they conflict, which is a slow very memory
5782 # consuming and fragmenting process. To avoid this, we pick a random,
5783 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5784 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5785 _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'
5786 _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'
5787 ;;
5788 irix5* | irix6*)
5789 case $cc_basename in
5790 CC*)
5791 # SGI C++
Lev Walkin4c776e52010-11-08 02:07:31 -08005792 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005793
5794 # Archives containing C++ object files must be created using
5795 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
5796 # necessary to make sure instantiated templates are included
5797 # in the archive.
5798 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
5799 ;;
5800 *)
5801 if test "$GXX" = yes; then
5802 if test "$with_gnu_ld" = no; then
Lev Walkin4c776e52010-11-08 02:07:31 -08005803 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005804 else
Lev Walkin4c776e52010-11-08 02:07:31 -08005805 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005806 fi
5807 fi
5808 _LT_TAGVAR(link_all_deplibs, $1)=yes
5809 ;;
5810 esac
5811 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5812 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5813 _LT_TAGVAR(inherit_rpath, $1)=yes
5814 ;;
5815
Lev Walkin4c776e52010-11-08 02:07:31 -08005816 linux* | k*bsd*-gnu)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005817 case $cc_basename in
5818 KCC*)
5819 # Kuck and Associates, Inc. (KAI) C++ Compiler
5820
5821 # KCC will only create a shared library if the output file
5822 # ends with ".so" (or ".sl" for HP-UX), so rename the library
5823 # to its proper name (with version) after linking.
5824 _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'
5825 _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'
5826 # Commands to make compiler produce verbose output that lists
5827 # what "hidden" libraries, object files and flags are used when
5828 # linking a shared library.
5829 #
5830 # There doesn't appear to be a way to prevent this compiler from
5831 # explicitly linking system object files so we need to strip them
5832 # from the output so that they don't get included in the library
5833 # dependencies.
Lev Walkin4c776e52010-11-08 02:07:31 -08005834 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005835
5836 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5837 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5838
5839 # Archives containing C++ object files must be created using
5840 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
5841 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
5842 ;;
5843 icpc* | ecpc* )
5844 # Intel C++
5845 with_gnu_ld=yes
5846 # version 8.0 and above of icpc choke on multiply defined symbols
5847 # if we add $predep_objects and $postdep_objects, however 7.1 and
5848 # earlier do not add the objects themselves.
5849 case `$CC -V 2>&1` in
5850 *"Version 7."*)
5851 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5852 _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'
5853 ;;
5854 *) # Version 8.0 or newer
5855 tmp_idyn=
5856 case $host_cpu in
5857 ia64*) tmp_idyn=' -i_dynamic';;
5858 esac
5859 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5860 _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'
5861 ;;
5862 esac
5863 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5864 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5865 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5866 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5867 ;;
5868 pgCC* | pgcpp*)
5869 # Portland Group C++ compiler
5870 case `$CC -V` in
Lev Walkin4c776e52010-11-08 02:07:31 -08005871 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005872 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5873 rm -rf $tpldir~
5874 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
Lev Walkin4c776e52010-11-08 02:07:31 -08005875 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005876 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5877 rm -rf $tpldir~
5878 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
Lev Walkin4c776e52010-11-08 02:07:31 -08005879 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
Lev Walkin4da95cf2010-10-16 02:46:32 -07005880 $RANLIB $oldlib'
5881 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5882 rm -rf $tpldir~
5883 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
Lev Walkin4c776e52010-11-08 02:07:31 -08005884 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005885 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5886 rm -rf $tpldir~
5887 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
Lev Walkin4c776e52010-11-08 02:07:31 -08005888 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005889 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08005890 *) # Version 6 will use weak symbols
Lev Walkin4da95cf2010-10-16 02:46:32 -07005891 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5892 _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'
5893 ;;
5894 esac
5895
5896 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5897 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
Lev Walkin4c776e52010-11-08 02:07:31 -08005898 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005899 ;;
5900 cxx*)
5901 # Compaq C++
5902 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5903 _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'
5904
5905 runpath_var=LD_RUN_PATH
5906 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5907 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5908
5909 # Commands to make compiler produce verbose output that lists
5910 # what "hidden" libraries, object files and flags are used when
5911 # linking a shared library.
5912 #
5913 # There doesn't appear to be a way to prevent this compiler from
5914 # explicitly linking system object files so we need to strip them
5915 # from the output so that they don't get included in the library
5916 # dependencies.
Lev Walkin4c776e52010-11-08 02:07:31 -08005917 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005918 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08005919 xl*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07005920 # IBM XL 8.0 on PPC, with GNU ld
5921 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5922 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5923 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5924 if test "x$supports_anon_versioning" = xyes; then
5925 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5926 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5927 echo "local: *; };" >> $output_objdir/$libname.ver~
5928 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5929 fi
5930 ;;
5931 *)
5932 case `$CC -V 2>&1 | sed 5q` in
5933 *Sun\ C*)
5934 # Sun C++ 5.9
5935 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
5936 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5937 _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'
5938 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
Lev Walkin4c776e52010-11-08 02:07:31 -08005939 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005940 _LT_TAGVAR(compiler_needs_object, $1)=yes
5941
5942 # Not sure whether something based on
5943 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
5944 # would be better.
Lev Walkin4c776e52010-11-08 02:07:31 -08005945 output_verbose_link_cmd='echo'
Lev Walkin4da95cf2010-10-16 02:46:32 -07005946
5947 # Archives containing C++ object files must be created using
5948 # "CC -xar", where "CC" is the Sun C++ compiler. This is
5949 # necessary to make sure instantiated templates are included
5950 # in the archive.
5951 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
5952 ;;
5953 esac
5954 ;;
5955 esac
5956 ;;
5957
5958 lynxos*)
5959 # FIXME: insert proper C++ library support
5960 _LT_TAGVAR(ld_shlibs, $1)=no
5961 ;;
5962
5963 m88k*)
5964 # FIXME: insert proper C++ library support
5965 _LT_TAGVAR(ld_shlibs, $1)=no
5966 ;;
5967
5968 mvs*)
5969 case $cc_basename in
5970 cxx*)
5971 # FIXME: insert proper C++ library support
5972 _LT_TAGVAR(ld_shlibs, $1)=no
5973 ;;
5974 *)
5975 # FIXME: insert proper C++ library support
5976 _LT_TAGVAR(ld_shlibs, $1)=no
5977 ;;
5978 esac
5979 ;;
5980
5981 netbsd*)
5982 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5983 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
5984 wlarc=
5985 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5986 _LT_TAGVAR(hardcode_direct, $1)=yes
5987 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5988 fi
5989 # Workaround some broken pre-1.5 toolchains
5990 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
5991 ;;
5992
5993 *nto* | *qnx*)
5994 _LT_TAGVAR(ld_shlibs, $1)=yes
5995 ;;
5996
5997 openbsd2*)
5998 # C++ shared libraries are fairly broken
5999 _LT_TAGVAR(ld_shlibs, $1)=no
6000 ;;
6001
6002 openbsd*)
6003 if test -f /usr/libexec/ld.so; then
6004 _LT_TAGVAR(hardcode_direct, $1)=yes
6005 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6006 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6007 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6008 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6009 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6010 _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'
6011 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6012 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6013 fi
Lev Walkin4c776e52010-11-08 02:07:31 -08006014 output_verbose_link_cmd=echo
Lev Walkin4da95cf2010-10-16 02:46:32 -07006015 else
6016 _LT_TAGVAR(ld_shlibs, $1)=no
6017 fi
6018 ;;
6019
6020 osf3* | osf4* | osf5*)
6021 case $cc_basename in
6022 KCC*)
6023 # Kuck and Associates, Inc. (KAI) C++ Compiler
6024
6025 # KCC will only create a shared library if the output file
6026 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6027 # to its proper name (with version) after linking.
6028 _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'
6029
6030 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6031 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6032
6033 # Archives containing C++ object files must be created using
6034 # the KAI C++ compiler.
6035 case $host in
6036 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6037 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6038 esac
6039 ;;
6040 RCC*)
6041 # Rational C++ 2.4.1
6042 # FIXME: insert proper C++ library support
6043 _LT_TAGVAR(ld_shlibs, $1)=no
6044 ;;
6045 cxx*)
6046 case $host in
6047 osf3*)
6048 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
Lev Walkin4c776e52010-11-08 02:07:31 -08006049 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006050 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6051 ;;
6052 *)
6053 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
Lev Walkin4c776e52010-11-08 02:07:31 -08006054 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006055 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6056 echo "-hidden">> $lib.exp~
Lev Walkin4c776e52010-11-08 02:07:31 -08006057 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
Lev Walkin4da95cf2010-10-16 02:46:32 -07006058 $RM $lib.exp'
6059 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6060 ;;
6061 esac
6062
6063 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6064
6065 # Commands to make compiler produce verbose output that lists
6066 # what "hidden" libraries, object files and flags are used when
6067 # linking a shared library.
6068 #
6069 # There doesn't appear to be a way to prevent this compiler from
6070 # explicitly linking system object files so we need to strip them
6071 # from the output so that they don't get included in the library
6072 # dependencies.
Lev Walkin4c776e52010-11-08 02:07:31 -08006073 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006074 ;;
6075 *)
6076 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6077 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6078 case $host in
6079 osf3*)
Lev Walkin4c776e52010-11-08 02:07:31 -08006080 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006081 ;;
6082 *)
Lev Walkin4c776e52010-11-08 02:07:31 -08006083 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006084 ;;
6085 esac
6086
6087 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6088 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6089
6090 # Commands to make compiler produce verbose output that lists
6091 # what "hidden" libraries, object files and flags are used when
6092 # linking a shared library.
Lev Walkin4c776e52010-11-08 02:07:31 -08006093 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006094
6095 else
6096 # FIXME: insert proper C++ library support
6097 _LT_TAGVAR(ld_shlibs, $1)=no
6098 fi
6099 ;;
6100 esac
6101 ;;
6102
6103 psos*)
6104 # FIXME: insert proper C++ library support
6105 _LT_TAGVAR(ld_shlibs, $1)=no
6106 ;;
6107
6108 sunos4*)
6109 case $cc_basename in
6110 CC*)
6111 # Sun C++ 4.x
6112 # FIXME: insert proper C++ library support
6113 _LT_TAGVAR(ld_shlibs, $1)=no
6114 ;;
6115 lcc*)
6116 # Lucid
6117 # FIXME: insert proper C++ library support
6118 _LT_TAGVAR(ld_shlibs, $1)=no
6119 ;;
6120 *)
6121 # FIXME: insert proper C++ library support
6122 _LT_TAGVAR(ld_shlibs, $1)=no
6123 ;;
6124 esac
6125 ;;
6126
6127 solaris*)
6128 case $cc_basename in
Lev Walkin4c776e52010-11-08 02:07:31 -08006129 CC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07006130 # Sun C++ 4.2, 5.x and Centerline C++
6131 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6132 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6133 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6134 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6135 $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'
6136
6137 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6138 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6139 case $host_os in
6140 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6141 *)
6142 # The compiler driver will combine and reorder linker options,
6143 # but understands `-z linker_flag'.
6144 # Supported since Solaris 2.6 (maybe 2.5.1?)
6145 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6146 ;;
6147 esac
6148 _LT_TAGVAR(link_all_deplibs, $1)=yes
6149
Lev Walkin4c776e52010-11-08 02:07:31 -08006150 output_verbose_link_cmd='echo'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006151
6152 # Archives containing C++ object files must be created using
6153 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6154 # necessary to make sure instantiated templates are included
6155 # in the archive.
6156 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6157 ;;
6158 gcx*)
6159 # Green Hills C++ Compiler
6160 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6161
6162 # The C++ compiler must be used to create the archive.
6163 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6164 ;;
6165 *)
6166 # GNU C++ compiler with Solaris linker
6167 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6168 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6169 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
Lev Walkin4c776e52010-11-08 02:07:31 -08006170 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006171 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
Lev Walkin4c776e52010-11-08 02:07:31 -08006172 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006173
6174 # Commands to make compiler produce verbose output that lists
6175 # what "hidden" libraries, object files and flags are used when
6176 # linking a shared library.
Lev Walkin4c776e52010-11-08 02:07:31 -08006177 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006178 else
6179 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6180 # platform.
6181 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6182 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6183 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6184
6185 # Commands to make compiler produce verbose output that lists
6186 # what "hidden" libraries, object files and flags are used when
6187 # linking a shared library.
Lev Walkin4c776e52010-11-08 02:07:31 -08006188 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006189 fi
6190
6191 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6192 case $host_os in
6193 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6194 *)
6195 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6196 ;;
6197 esac
6198 fi
6199 ;;
6200 esac
6201 ;;
6202
6203 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6204 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6205 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6206 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6207 runpath_var='LD_RUN_PATH'
6208
6209 case $cc_basename in
6210 CC*)
6211 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6212 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6213 ;;
6214 *)
6215 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6216 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6217 ;;
6218 esac
6219 ;;
6220
6221 sysv5* | sco3.2v5* | sco5v6*)
6222 # Note: We can NOT use -z defs as we might desire, because we do not
6223 # link with -lc, and that would cause any symbols used from libc to
6224 # always be unresolved, which means just about no library would
6225 # ever link correctly. If we're not using GNU ld we use -z text
6226 # though, which does catch some bad symbols but isn't as heavy-handed
6227 # as -z defs.
6228 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6229 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6230 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6231 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6232 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6233 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6234 _LT_TAGVAR(link_all_deplibs, $1)=yes
6235 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6236 runpath_var='LD_RUN_PATH'
6237
6238 case $cc_basename in
6239 CC*)
6240 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6241 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
Lev Walkin4da95cf2010-10-16 02:46:32 -07006242 ;;
6243 *)
6244 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6245 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6246 ;;
6247 esac
6248 ;;
6249
6250 tandem*)
6251 case $cc_basename in
6252 NCC*)
6253 # NonStop-UX NCC 3.20
6254 # FIXME: insert proper C++ library support
6255 _LT_TAGVAR(ld_shlibs, $1)=no
6256 ;;
6257 *)
6258 # FIXME: insert proper C++ library support
6259 _LT_TAGVAR(ld_shlibs, $1)=no
6260 ;;
6261 esac
6262 ;;
6263
6264 vxworks*)
6265 # FIXME: insert proper C++ library support
6266 _LT_TAGVAR(ld_shlibs, $1)=no
6267 ;;
6268
6269 *)
6270 # FIXME: insert proper C++ library support
6271 _LT_TAGVAR(ld_shlibs, $1)=no
6272 ;;
6273 esac
6274
6275 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6276 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6277
6278 _LT_TAGVAR(GCC, $1)="$GXX"
6279 _LT_TAGVAR(LD, $1)="$LD"
6280
6281 ## CAVEAT EMPTOR:
6282 ## There is no encapsulation within the following macros, do not change
6283 ## the running order or otherwise move them around unless you know exactly
6284 ## what you are doing...
6285 _LT_SYS_HIDDEN_LIBDEPS($1)
6286 _LT_COMPILER_PIC($1)
6287 _LT_COMPILER_C_O($1)
6288 _LT_COMPILER_FILE_LOCKS($1)
6289 _LT_LINKER_SHLIBS($1)
6290 _LT_SYS_DYNAMIC_LINKER($1)
6291 _LT_LINKER_HARDCODE_LIBPATH($1)
6292
6293 _LT_CONFIG($1)
6294 fi # test -n "$compiler"
6295
6296 CC=$lt_save_CC
Lev Walkin4da95cf2010-10-16 02:46:32 -07006297 LDCXX=$LD
6298 LD=$lt_save_LD
6299 GCC=$lt_save_GCC
6300 with_gnu_ld=$lt_save_with_gnu_ld
6301 lt_cv_path_LDCXX=$lt_cv_path_LD
6302 lt_cv_path_LD=$lt_save_path_LD
6303 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6304 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6305fi # test "$_lt_caught_CXX_error" != yes
6306
6307AC_LANG_POP
6308])# _LT_LANG_CXX_CONFIG
6309
6310
Lev Walkin4da95cf2010-10-16 02:46:32 -07006311# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
Lev Walkin8e8b5482004-06-17 23:42:48 +00006312# ---------------------------------
Lev Walkin4da95cf2010-10-16 02:46:32 -07006313# Figure out "hidden" library dependencies from verbose
6314# compiler output when linking a shared library.
6315# Parse the compiler output and extract the necessary
6316# objects, libraries and library flags.
6317m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6318[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07006319# Dependencies to place before and after the object being linked:
6320_LT_TAGVAR(predep_objects, $1)=
6321_LT_TAGVAR(postdep_objects, $1)=
6322_LT_TAGVAR(predeps, $1)=
6323_LT_TAGVAR(postdeps, $1)=
6324_LT_TAGVAR(compiler_lib_search_path, $1)=
Lev Walkin8e8b5482004-06-17 23:42:48 +00006325
Lev Walkin4da95cf2010-10-16 02:46:32 -07006326dnl we can't use the lt_simple_compile_test_code here,
6327dnl because it contains code intended for an executable,
6328dnl not a library. It's possible we should let each
6329dnl tag define a new lt_????_link_test_code variable,
6330dnl but it's only used here...
6331m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6332int a;
6333void foo (void) { a = 0; }
6334_LT_EOF
6335], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6336class Foo
6337{
6338public:
6339 Foo (void) { a = 0; }
6340private:
6341 int a;
6342};
6343_LT_EOF
6344], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6345 subroutine foo
6346 implicit none
6347 integer*4 a
6348 a=0
6349 return
6350 end
6351_LT_EOF
6352], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6353 subroutine foo
6354 implicit none
6355 integer a
6356 a=0
6357 return
6358 end
6359_LT_EOF
6360], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6361public class foo {
6362 private int a;
6363 public void bar (void) {
6364 a = 0;
6365 }
6366};
6367_LT_EOF
Lev Walkin8e8b5482004-06-17 23:42:48 +00006368])
Lev Walkin4da95cf2010-10-16 02:46:32 -07006369dnl Parse the compiler output and extract the necessary
6370dnl objects, libraries and library flags.
6371if AC_TRY_EVAL(ac_compile); then
6372 # Parse the compiler output and extract the necessary
6373 # objects, libraries and library flags.
6374
6375 # Sentinel used to keep track of whether or not we are before
6376 # the conftest object file.
6377 pre_test_object_deps_done=no
6378
6379 for p in `eval "$output_verbose_link_cmd"`; do
Lev Walkin4c776e52010-11-08 02:07:31 -08006380 case $p in
Lev Walkin4da95cf2010-10-16 02:46:32 -07006381
6382 -L* | -R* | -l*)
6383 # Some compilers place space between "-{L,R}" and the path.
6384 # Remove the space.
6385 if test $p = "-L" ||
6386 test $p = "-R"; then
6387 prev=$p
6388 continue
Lev Walkin4c776e52010-11-08 02:07:31 -08006389 else
6390 prev=
Lev Walkin4da95cf2010-10-16 02:46:32 -07006391 fi
6392
Lev Walkin4da95cf2010-10-16 02:46:32 -07006393 if test "$pre_test_object_deps_done" = no; then
Lev Walkin4c776e52010-11-08 02:07:31 -08006394 case $p in
6395 -L* | -R*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07006396 # Internal compiler library paths should come after those
6397 # provided the user. The postdeps already come after the
6398 # user supplied libs so there is no need to process them.
6399 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6400 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6401 else
6402 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6403 fi
6404 ;;
6405 # The "-l" case would never come before the object being
6406 # linked, so don't bother handling this case.
6407 esac
6408 else
6409 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6410 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6411 else
6412 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6413 fi
6414 fi
Lev Walkin4da95cf2010-10-16 02:46:32 -07006415 ;;
6416
Lev Walkin4da95cf2010-10-16 02:46:32 -07006417 *.$objext)
6418 # This assumes that the test object file only shows up
6419 # once in the compiler output.
6420 if test "$p" = "conftest.$objext"; then
6421 pre_test_object_deps_done=yes
6422 continue
6423 fi
6424
6425 if test "$pre_test_object_deps_done" = no; then
6426 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6427 _LT_TAGVAR(predep_objects, $1)="$p"
6428 else
6429 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6430 fi
6431 else
6432 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6433 _LT_TAGVAR(postdep_objects, $1)="$p"
6434 else
6435 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6436 fi
6437 fi
6438 ;;
6439
6440 *) ;; # Ignore the rest.
6441
6442 esac
6443 done
6444
6445 # Clean up.
6446 rm -f a.out a.exe
6447else
6448 echo "libtool.m4: error: problem compiling $1 test program"
6449fi
6450
6451$RM -f confest.$objext
Lev Walkin4da95cf2010-10-16 02:46:32 -07006452
6453# PORTME: override above test on systems where it is broken
6454m4_if([$1], [CXX],
6455[case $host_os in
6456interix[[3-9]]*)
6457 # Interix 3.5 installs completely hosed .la files for C++, so rather than
6458 # hack all around it, let's just trust "g++" to DTRT.
6459 _LT_TAGVAR(predep_objects,$1)=
6460 _LT_TAGVAR(postdep_objects,$1)=
6461 _LT_TAGVAR(postdeps,$1)=
6462 ;;
6463
6464linux*)
6465 case `$CC -V 2>&1 | sed 5q` in
6466 *Sun\ C*)
6467 # Sun C++ 5.9
6468
6469 # The more standards-conforming stlport4 library is
6470 # incompatible with the Cstd library. Avoid specifying
6471 # it if it's in CXXFLAGS. Ignore libCrun as
6472 # -library=stlport4 depends on it.
6473 case " $CXX $CXXFLAGS " in
6474 *" -library=stlport4 "*)
6475 solaris_use_stlport4=yes
6476 ;;
6477 esac
6478
6479 if test "$solaris_use_stlport4" != yes; then
6480 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6481 fi
6482 ;;
6483 esac
6484 ;;
6485
6486solaris*)
6487 case $cc_basename in
Lev Walkin4c776e52010-11-08 02:07:31 -08006488 CC*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07006489 # The more standards-conforming stlport4 library is
6490 # incompatible with the Cstd library. Avoid specifying
6491 # it if it's in CXXFLAGS. Ignore libCrun as
6492 # -library=stlport4 depends on it.
6493 case " $CXX $CXXFLAGS " in
6494 *" -library=stlport4 "*)
6495 solaris_use_stlport4=yes
6496 ;;
6497 esac
6498
6499 # Adding this requires a known-good setup of shared libraries for
6500 # Sun compiler versions before 5.6, else PIC objects from an old
6501 # archive will be linked into the output, leading to subtle bugs.
6502 if test "$solaris_use_stlport4" != yes; then
6503 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6504 fi
6505 ;;
6506 esac
6507 ;;
6508esac
Lev Walkin8e8b5482004-06-17 23:42:48 +00006509])
6510
Lev Walkin4da95cf2010-10-16 02:46:32 -07006511case " $_LT_TAGVAR(postdeps, $1) " in
6512*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
6513esac
6514 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
6515if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
6516 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
6517fi
6518_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
6519 [The directories searched by this compiler when creating a shared library])
6520_LT_TAGDECL([], [predep_objects], [1],
6521 [Dependencies to place before and after the objects being linked to
6522 create a shared library])
6523_LT_TAGDECL([], [postdep_objects], [1])
6524_LT_TAGDECL([], [predeps], [1])
6525_LT_TAGDECL([], [postdeps], [1])
6526_LT_TAGDECL([], [compiler_lib_search_path], [1],
6527 [The library search path used internally by the compiler when linking
6528 a shared library])
6529])# _LT_SYS_HIDDEN_LIBDEPS
6530
6531
Lev Walkin4c776e52010-11-08 02:07:31 -08006532# _LT_PROG_F77
6533# ------------
6534# Since AC_PROG_F77 is broken, in that it returns the empty string
6535# if there is no fortran compiler, we have our own version here.
6536m4_defun([_LT_PROG_F77],
6537[
6538pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6539AC_PROG_F77
6540if test -z "$F77" || test "X$F77" = "Xno"; then
6541 _lt_disable_F77=yes
6542fi
6543popdef([AC_MSG_ERROR])
6544])# _LT_PROG_F77
6545
6546dnl aclocal-1.4 backwards compatibility:
6547dnl AC_DEFUN([_LT_PROG_F77], [])
6548
6549
Lev Walkin4da95cf2010-10-16 02:46:32 -07006550# _LT_LANG_F77_CONFIG([TAG])
6551# --------------------------
6552# Ensure that the configuration variables for a Fortran 77 compiler are
6553# suitably defined. These variables are subsequently used by _LT_CONFIG
6554# to write the compiler configuration to `libtool'.
6555m4_defun([_LT_LANG_F77_CONFIG],
Lev Walkin4c776e52010-11-08 02:07:31 -08006556[AC_REQUIRE([_LT_PROG_F77])dnl
6557AC_LANG_PUSH(Fortran 77)
Lev Walkin4da95cf2010-10-16 02:46:32 -07006558
6559_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6560_LT_TAGVAR(allow_undefined_flag, $1)=
6561_LT_TAGVAR(always_export_symbols, $1)=no
6562_LT_TAGVAR(archive_expsym_cmds, $1)=
6563_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6564_LT_TAGVAR(hardcode_direct, $1)=no
6565_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6566_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6567_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6568_LT_TAGVAR(hardcode_libdir_separator, $1)=
6569_LT_TAGVAR(hardcode_minus_L, $1)=no
6570_LT_TAGVAR(hardcode_automatic, $1)=no
6571_LT_TAGVAR(inherit_rpath, $1)=no
6572_LT_TAGVAR(module_cmds, $1)=
6573_LT_TAGVAR(module_expsym_cmds, $1)=
6574_LT_TAGVAR(link_all_deplibs, $1)=unknown
6575_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
Lev Walkin4da95cf2010-10-16 02:46:32 -07006576_LT_TAGVAR(no_undefined_flag, $1)=
6577_LT_TAGVAR(whole_archive_flag_spec, $1)=
6578_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6579
6580# Source file extension for f77 test sources.
6581ac_ext=f
6582
6583# Object file extension for compiled f77 test sources.
6584objext=o
6585_LT_TAGVAR(objext, $1)=$objext
6586
6587# No sense in running all these tests if we already determined that
6588# the F77 compiler isn't working. Some variables (like enable_shared)
6589# are currently assumed to apply to all compilers on this platform,
6590# and will be corrupted by setting them based on a non-working compiler.
6591if test "$_lt_disable_F77" != yes; then
6592 # Code to be used in simple compile tests
6593 lt_simple_compile_test_code="\
6594 subroutine t
6595 return
6596 end
6597"
6598
6599 # Code to be used in simple link tests
6600 lt_simple_link_test_code="\
6601 program t
6602 end
6603"
6604
6605 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6606 _LT_TAG_COMPILER
6607
6608 # save warnings/boilerplate of simple test code
6609 _LT_COMPILER_BOILERPLATE
6610 _LT_LINKER_BOILERPLATE
6611
6612 # Allow CC to be a program name with arguments.
6613 lt_save_CC="$CC"
6614 lt_save_GCC=$GCC
Lev Walkin4da95cf2010-10-16 02:46:32 -07006615 CC=${F77-"f77"}
Lev Walkin4da95cf2010-10-16 02:46:32 -07006616 compiler=$CC
6617 _LT_TAGVAR(compiler, $1)=$CC
6618 _LT_CC_BASENAME([$compiler])
6619 GCC=$G77
6620 if test -n "$compiler"; then
6621 AC_MSG_CHECKING([if libtool supports shared libraries])
6622 AC_MSG_RESULT([$can_build_shared])
6623
6624 AC_MSG_CHECKING([whether to build shared libraries])
6625 test "$can_build_shared" = "no" && enable_shared=no
6626
6627 # On AIX, shared libraries and static libraries use the same namespace, and
6628 # are all built from PIC.
6629 case $host_os in
6630 aix3*)
6631 test "$enable_shared" = yes && enable_static=no
6632 if test -n "$RANLIB"; then
6633 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6634 postinstall_cmds='$RANLIB $lib'
6635 fi
6636 ;;
6637 aix[[4-9]]*)
6638 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6639 test "$enable_shared" = yes && enable_static=no
6640 fi
6641 ;;
6642 esac
6643 AC_MSG_RESULT([$enable_shared])
6644
6645 AC_MSG_CHECKING([whether to build static libraries])
6646 # Make sure either enable_shared or enable_static is yes.
6647 test "$enable_shared" = yes || enable_static=yes
6648 AC_MSG_RESULT([$enable_static])
6649
6650 _LT_TAGVAR(GCC, $1)="$G77"
6651 _LT_TAGVAR(LD, $1)="$LD"
6652
6653 ## CAVEAT EMPTOR:
6654 ## There is no encapsulation within the following macros, do not change
6655 ## the running order or otherwise move them around unless you know exactly
6656 ## what you are doing...
6657 _LT_COMPILER_PIC($1)
6658 _LT_COMPILER_C_O($1)
6659 _LT_COMPILER_FILE_LOCKS($1)
6660 _LT_LINKER_SHLIBS($1)
6661 _LT_SYS_DYNAMIC_LINKER($1)
6662 _LT_LINKER_HARDCODE_LIBPATH($1)
6663
6664 _LT_CONFIG($1)
6665 fi # test -n "$compiler"
6666
6667 GCC=$lt_save_GCC
6668 CC="$lt_save_CC"
Lev Walkin4da95cf2010-10-16 02:46:32 -07006669fi # test "$_lt_disable_F77" != yes
6670
6671AC_LANG_POP
6672])# _LT_LANG_F77_CONFIG
6673
6674
Lev Walkin4c776e52010-11-08 02:07:31 -08006675# _LT_PROG_FC
6676# -----------
6677# Since AC_PROG_FC is broken, in that it returns the empty string
6678# if there is no fortran compiler, we have our own version here.
6679m4_defun([_LT_PROG_FC],
6680[
6681pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6682AC_PROG_FC
6683if test -z "$FC" || test "X$FC" = "Xno"; then
6684 _lt_disable_FC=yes
6685fi
6686popdef([AC_MSG_ERROR])
6687])# _LT_PROG_FC
6688
6689dnl aclocal-1.4 backwards compatibility:
6690dnl AC_DEFUN([_LT_PROG_FC], [])
6691
6692
Lev Walkin4da95cf2010-10-16 02:46:32 -07006693# _LT_LANG_FC_CONFIG([TAG])
6694# -------------------------
6695# Ensure that the configuration variables for a Fortran compiler are
6696# suitably defined. These variables are subsequently used by _LT_CONFIG
6697# to write the compiler configuration to `libtool'.
6698m4_defun([_LT_LANG_FC_CONFIG],
Lev Walkin4c776e52010-11-08 02:07:31 -08006699[AC_REQUIRE([_LT_PROG_FC])dnl
6700AC_LANG_PUSH(Fortran)
Lev Walkin4da95cf2010-10-16 02:46:32 -07006701
6702_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6703_LT_TAGVAR(allow_undefined_flag, $1)=
6704_LT_TAGVAR(always_export_symbols, $1)=no
6705_LT_TAGVAR(archive_expsym_cmds, $1)=
6706_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6707_LT_TAGVAR(hardcode_direct, $1)=no
6708_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6709_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6710_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6711_LT_TAGVAR(hardcode_libdir_separator, $1)=
6712_LT_TAGVAR(hardcode_minus_L, $1)=no
6713_LT_TAGVAR(hardcode_automatic, $1)=no
6714_LT_TAGVAR(inherit_rpath, $1)=no
6715_LT_TAGVAR(module_cmds, $1)=
6716_LT_TAGVAR(module_expsym_cmds, $1)=
6717_LT_TAGVAR(link_all_deplibs, $1)=unknown
6718_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
Lev Walkin4da95cf2010-10-16 02:46:32 -07006719_LT_TAGVAR(no_undefined_flag, $1)=
6720_LT_TAGVAR(whole_archive_flag_spec, $1)=
6721_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6722
6723# Source file extension for fc test sources.
6724ac_ext=${ac_fc_srcext-f}
6725
6726# Object file extension for compiled fc test sources.
6727objext=o
6728_LT_TAGVAR(objext, $1)=$objext
6729
6730# No sense in running all these tests if we already determined that
6731# the FC compiler isn't working. Some variables (like enable_shared)
6732# are currently assumed to apply to all compilers on this platform,
6733# and will be corrupted by setting them based on a non-working compiler.
6734if test "$_lt_disable_FC" != yes; then
6735 # Code to be used in simple compile tests
6736 lt_simple_compile_test_code="\
6737 subroutine t
6738 return
6739 end
6740"
6741
6742 # Code to be used in simple link tests
6743 lt_simple_link_test_code="\
6744 program t
6745 end
6746"
6747
6748 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6749 _LT_TAG_COMPILER
6750
6751 # save warnings/boilerplate of simple test code
6752 _LT_COMPILER_BOILERPLATE
6753 _LT_LINKER_BOILERPLATE
6754
6755 # Allow CC to be a program name with arguments.
6756 lt_save_CC="$CC"
6757 lt_save_GCC=$GCC
Lev Walkin4da95cf2010-10-16 02:46:32 -07006758 CC=${FC-"f95"}
Lev Walkin4da95cf2010-10-16 02:46:32 -07006759 compiler=$CC
6760 GCC=$ac_cv_fc_compiler_gnu
6761
6762 _LT_TAGVAR(compiler, $1)=$CC
6763 _LT_CC_BASENAME([$compiler])
6764
6765 if test -n "$compiler"; then
6766 AC_MSG_CHECKING([if libtool supports shared libraries])
6767 AC_MSG_RESULT([$can_build_shared])
6768
6769 AC_MSG_CHECKING([whether to build shared libraries])
6770 test "$can_build_shared" = "no" && enable_shared=no
6771
6772 # On AIX, shared libraries and static libraries use the same namespace, and
6773 # are all built from PIC.
6774 case $host_os in
6775 aix3*)
6776 test "$enable_shared" = yes && enable_static=no
6777 if test -n "$RANLIB"; then
6778 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6779 postinstall_cmds='$RANLIB $lib'
6780 fi
6781 ;;
6782 aix[[4-9]]*)
6783 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6784 test "$enable_shared" = yes && enable_static=no
6785 fi
6786 ;;
6787 esac
6788 AC_MSG_RESULT([$enable_shared])
6789
6790 AC_MSG_CHECKING([whether to build static libraries])
6791 # Make sure either enable_shared or enable_static is yes.
6792 test "$enable_shared" = yes || enable_static=yes
6793 AC_MSG_RESULT([$enable_static])
6794
6795 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
6796 _LT_TAGVAR(LD, $1)="$LD"
6797
6798 ## CAVEAT EMPTOR:
6799 ## There is no encapsulation within the following macros, do not change
6800 ## the running order or otherwise move them around unless you know exactly
6801 ## what you are doing...
6802 _LT_SYS_HIDDEN_LIBDEPS($1)
6803 _LT_COMPILER_PIC($1)
6804 _LT_COMPILER_C_O($1)
6805 _LT_COMPILER_FILE_LOCKS($1)
6806 _LT_LINKER_SHLIBS($1)
6807 _LT_SYS_DYNAMIC_LINKER($1)
6808 _LT_LINKER_HARDCODE_LIBPATH($1)
6809
6810 _LT_CONFIG($1)
6811 fi # test -n "$compiler"
6812
6813 GCC=$lt_save_GCC
Lev Walkin4c776e52010-11-08 02:07:31 -08006814 CC="$lt_save_CC"
Lev Walkin4da95cf2010-10-16 02:46:32 -07006815fi # test "$_lt_disable_FC" != yes
6816
6817AC_LANG_POP
6818])# _LT_LANG_FC_CONFIG
6819
6820
6821# _LT_LANG_GCJ_CONFIG([TAG])
6822# --------------------------
6823# Ensure that the configuration variables for the GNU Java Compiler compiler
6824# are suitably defined. These variables are subsequently used by _LT_CONFIG
6825# to write the compiler configuration to `libtool'.
6826m4_defun([_LT_LANG_GCJ_CONFIG],
6827[AC_REQUIRE([LT_PROG_GCJ])dnl
6828AC_LANG_SAVE
6829
6830# Source file extension for Java test sources.
6831ac_ext=java
6832
6833# Object file extension for compiled Java test sources.
6834objext=o
6835_LT_TAGVAR(objext, $1)=$objext
6836
6837# Code to be used in simple compile tests
6838lt_simple_compile_test_code="class foo {}"
6839
6840# Code to be used in simple link tests
6841lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
6842
6843# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6844_LT_TAG_COMPILER
6845
6846# save warnings/boilerplate of simple test code
6847_LT_COMPILER_BOILERPLATE
6848_LT_LINKER_BOILERPLATE
6849
6850# Allow CC to be a program name with arguments.
Lev Walkin4c776e52010-11-08 02:07:31 -08006851lt_save_CC="$CC"
Lev Walkin4da95cf2010-10-16 02:46:32 -07006852lt_save_GCC=$GCC
6853GCC=yes
6854CC=${GCJ-"gcj"}
Lev Walkin4da95cf2010-10-16 02:46:32 -07006855compiler=$CC
6856_LT_TAGVAR(compiler, $1)=$CC
6857_LT_TAGVAR(LD, $1)="$LD"
6858_LT_CC_BASENAME([$compiler])
6859
6860# GCJ did not exist at the time GCC didn't implicitly link libc in.
6861_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6862
6863_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
Lev Walkin4da95cf2010-10-16 02:46:32 -07006864
6865if test -n "$compiler"; then
6866 _LT_COMPILER_NO_RTTI($1)
6867 _LT_COMPILER_PIC($1)
6868 _LT_COMPILER_C_O($1)
6869 _LT_COMPILER_FILE_LOCKS($1)
6870 _LT_LINKER_SHLIBS($1)
6871 _LT_LINKER_HARDCODE_LIBPATH($1)
6872
6873 _LT_CONFIG($1)
6874fi
6875
6876AC_LANG_RESTORE
6877
6878GCC=$lt_save_GCC
Lev Walkin4c776e52010-11-08 02:07:31 -08006879CC="$lt_save_CC"
Lev Walkin4da95cf2010-10-16 02:46:32 -07006880])# _LT_LANG_GCJ_CONFIG
6881
6882
6883# _LT_LANG_RC_CONFIG([TAG])
6884# -------------------------
6885# Ensure that the configuration variables for the Windows resource compiler
6886# are suitably defined. These variables are subsequently used by _LT_CONFIG
6887# to write the compiler configuration to `libtool'.
6888m4_defun([_LT_LANG_RC_CONFIG],
6889[AC_REQUIRE([LT_PROG_RC])dnl
6890AC_LANG_SAVE
6891
6892# Source file extension for RC test sources.
6893ac_ext=rc
6894
6895# Object file extension for compiled RC test sources.
6896objext=o
6897_LT_TAGVAR(objext, $1)=$objext
6898
6899# Code to be used in simple compile tests
6900lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
6901
6902# Code to be used in simple link tests
6903lt_simple_link_test_code="$lt_simple_compile_test_code"
6904
6905# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6906_LT_TAG_COMPILER
6907
6908# save warnings/boilerplate of simple test code
6909_LT_COMPILER_BOILERPLATE
6910_LT_LINKER_BOILERPLATE
6911
6912# Allow CC to be a program name with arguments.
6913lt_save_CC="$CC"
Lev Walkin4da95cf2010-10-16 02:46:32 -07006914lt_save_GCC=$GCC
6915GCC=
6916CC=${RC-"windres"}
Lev Walkin4da95cf2010-10-16 02:46:32 -07006917compiler=$CC
6918_LT_TAGVAR(compiler, $1)=$CC
6919_LT_CC_BASENAME([$compiler])
6920_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
6921
6922if test -n "$compiler"; then
6923 :
6924 _LT_CONFIG($1)
6925fi
6926
6927GCC=$lt_save_GCC
6928AC_LANG_RESTORE
Lev Walkin4c776e52010-11-08 02:07:31 -08006929CC="$lt_save_CC"
Lev Walkin4da95cf2010-10-16 02:46:32 -07006930])# _LT_LANG_RC_CONFIG
6931
6932
6933# LT_PROG_GCJ
6934# -----------
6935AC_DEFUN([LT_PROG_GCJ],
6936[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
6937 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
6938 [AC_CHECK_TOOL(GCJ, gcj,)
6939 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
6940 AC_SUBST(GCJFLAGS)])])[]dnl
6941])
6942
6943# Old name:
6944AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
6945dnl aclocal-1.4 backwards compatibility:
6946dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
6947
6948
6949# LT_PROG_RC
6950# ----------
6951AC_DEFUN([LT_PROG_RC],
6952[AC_CHECK_TOOL(RC, windres,)
6953])
6954
6955# Old name:
6956AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
6957dnl aclocal-1.4 backwards compatibility:
6958dnl AC_DEFUN([LT_AC_PROG_RC], [])
6959
6960
6961# _LT_DECL_EGREP
6962# --------------
6963# If we don't have a new enough Autoconf to choose the best grep
6964# available, choose the one first in the user's PATH.
6965m4_defun([_LT_DECL_EGREP],
6966[AC_REQUIRE([AC_PROG_EGREP])dnl
6967AC_REQUIRE([AC_PROG_FGREP])dnl
6968test -z "$GREP" && GREP=grep
6969_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
6970_LT_DECL([], [EGREP], [1], [An ERE matcher])
6971_LT_DECL([], [FGREP], [1], [A literal string matcher])
6972dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
6973AC_SUBST([GREP])
6974])
6975
6976
Lev Walkin4da95cf2010-10-16 02:46:32 -07006977# _LT_DECL_SED
6978# ------------
6979# Check for a fully-functional sed program, that truncates
6980# as few characters as possible. Prefer GNU sed if found.
6981m4_defun([_LT_DECL_SED],
6982[AC_PROG_SED
6983test -z "$SED" && SED=sed
6984Xsed="$SED -e 1s/^X//"
6985_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
6986_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
6987 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
6988])# _LT_DECL_SED
6989
6990m4_ifndef([AC_PROG_SED], [
Lev Walkin8e8b5482004-06-17 23:42:48 +00006991# NOTE: This macro has been submitted for inclusion into #
6992# GNU Autoconf as AC_PROG_SED. When it is available in #
6993# a released version of Autoconf we should remove this #
6994# macro and use it instead. #
Lev Walkin4da95cf2010-10-16 02:46:32 -07006995
6996m4_defun([AC_PROG_SED],
Lev Walkin8e8b5482004-06-17 23:42:48 +00006997[AC_MSG_CHECKING([for a sed that does not truncate output])
6998AC_CACHE_VAL(lt_cv_path_SED,
6999[# Loop through the user's path and test for sed and gsed.
7000# Then use that list of sed's as ones to test for truncation.
7001as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7002for as_dir in $PATH
7003do
7004 IFS=$as_save_IFS
7005 test -z "$as_dir" && as_dir=.
7006 for lt_ac_prog in sed gsed; do
7007 for ac_exec_ext in '' $ac_executable_extensions; do
7008 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7009 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7010 fi
7011 done
7012 done
7013done
Lev Walkin4da95cf2010-10-16 02:46:32 -07007014IFS=$as_save_IFS
Lev Walkin8e8b5482004-06-17 23:42:48 +00007015lt_ac_max=0
7016lt_ac_count=0
7017# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7018# along with /bin/sed that truncates output.
7019for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
Lev Walkin27fd0b62007-08-27 23:57:45 +00007020 test ! -f $lt_ac_sed && continue
Lev Walkin8e8b5482004-06-17 23:42:48 +00007021 cat /dev/null > conftest.in
7022 lt_ac_count=0
7023 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7024 # Check for GNU sed and select it if it is found.
7025 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7026 lt_cv_path_SED=$lt_ac_sed
7027 break
7028 fi
7029 while true; do
7030 cat conftest.in conftest.in >conftest.tmp
7031 mv conftest.tmp conftest.in
7032 cp conftest.in conftest.nl
7033 echo >>conftest.nl
7034 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7035 cmp -s conftest.out conftest.nl || break
7036 # 10000 chars as input seems more than enough
7037 test $lt_ac_count -gt 10 && break
7038 lt_ac_count=`expr $lt_ac_count + 1`
7039 if test $lt_ac_count -gt $lt_ac_max; then
7040 lt_ac_max=$lt_ac_count
7041 lt_cv_path_SED=$lt_ac_sed
7042 fi
7043 done
7044done
Lev Walkin8e8b5482004-06-17 23:42:48 +00007045])
Lev Walkin27fd0b62007-08-27 23:57:45 +00007046SED=$lt_cv_path_SED
Lev Walkin4da95cf2010-10-16 02:46:32 -07007047AC_SUBST([SED])
Lev Walkin8e8b5482004-06-17 23:42:48 +00007048AC_MSG_RESULT([$SED])
Lev Walkin4da95cf2010-10-16 02:46:32 -07007049])#AC_PROG_SED
7050])#m4_ifndef
7051
7052# Old name:
7053AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7054dnl aclocal-1.4 backwards compatibility:
7055dnl AC_DEFUN([LT_AC_PROG_SED], [])
7056
7057
7058# _LT_CHECK_SHELL_FEATURES
7059# ------------------------
7060# Find out whether the shell is Bourne or XSI compatible,
7061# or has some other useful features.
7062m4_defun([_LT_CHECK_SHELL_FEATURES],
7063[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7064# Try some XSI features
7065xsi_shell=no
7066( _lt_dummy="a/b/c"
Lev Walkin4c776e52010-11-08 02:07:31 -08007067 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7068 = c,a/b,, \
Lev Walkin4da95cf2010-10-16 02:46:32 -07007069 && eval 'test $(( 1 + 1 )) -eq 2 \
7070 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7071 && xsi_shell=yes
7072AC_MSG_RESULT([$xsi_shell])
7073_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7074
7075AC_MSG_CHECKING([whether the shell understands "+="])
7076lt_shell_append=no
7077( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7078 >/dev/null 2>&1 \
7079 && lt_shell_append=yes
7080AC_MSG_RESULT([$lt_shell_append])
7081_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7082
7083if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7084 lt_unset=unset
7085else
7086 lt_unset=false
7087fi
7088_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7089
7090# test EBCDIC or ASCII
7091case `echo X|tr X '\101'` in
7092 A) # ASCII based system
7093 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7094 lt_SP2NL='tr \040 \012'
7095 lt_NL2SP='tr \015\012 \040\040'
7096 ;;
7097 *) # EBCDIC based system
7098 lt_SP2NL='tr \100 \n'
7099 lt_NL2SP='tr \r\n \100\100'
7100 ;;
7101esac
7102_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7103_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7104])# _LT_CHECK_SHELL_FEATURES
7105
7106
Lev Walkin4c776e52010-11-08 02:07:31 -08007107# _LT_PROG_XSI_SHELLFNS
7108# ---------------------
7109# Bourne and XSI compatible variants of some useful shell functions.
7110m4_defun([_LT_PROG_XSI_SHELLFNS],
7111[case $xsi_shell in
7112 yes)
7113 cat << \_LT_EOF >> "$cfgfile"
Lev Walkin8e8b5482004-06-17 23:42:48 +00007114
Lev Walkin4c776e52010-11-08 02:07:31 -08007115# func_dirname file append nondir_replacement
7116# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7117# otherwise set result to NONDIR_REPLACEMENT.
7118func_dirname ()
7119{
7120 case ${1} in
7121 */*) func_dirname_result="${1%/*}${2}" ;;
7122 * ) func_dirname_result="${3}" ;;
7123 esac
7124}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007125
Lev Walkin4c776e52010-11-08 02:07:31 -08007126# func_basename file
7127func_basename ()
7128{
7129 func_basename_result="${1##*/}"
7130}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007131
Lev Walkin4c776e52010-11-08 02:07:31 -08007132# func_dirname_and_basename file append nondir_replacement
7133# perform func_basename and func_dirname in a single function
7134# call:
7135# dirname: Compute the dirname of FILE. If nonempty,
7136# add APPEND to the result, otherwise set result
7137# to NONDIR_REPLACEMENT.
7138# value returned in "$func_dirname_result"
7139# basename: Compute filename of FILE.
7140# value retuned in "$func_basename_result"
7141# Implementation must be kept synchronized with func_dirname
7142# and func_basename. For efficiency, we do not delegate to
7143# those functions but instead duplicate the functionality here.
7144func_dirname_and_basename ()
7145{
7146 case ${1} in
7147 */*) func_dirname_result="${1%/*}${2}" ;;
7148 * ) func_dirname_result="${3}" ;;
7149 esac
7150 func_basename_result="${1##*/}"
7151}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007152
Lev Walkin4c776e52010-11-08 02:07:31 -08007153# func_stripname prefix suffix name
7154# strip PREFIX and SUFFIX off of NAME.
7155# PREFIX and SUFFIX must not contain globbing or regex special
7156# characters, hashes, percent signs, but SUFFIX may contain a leading
7157# dot (in which case that matches only a dot).
7158func_stripname ()
7159{
7160 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7161 # positional parameters, so assign one to ordinary parameter first.
7162 func_stripname_result=${3}
7163 func_stripname_result=${func_stripname_result#"${1}"}
7164 func_stripname_result=${func_stripname_result%"${2}"}
7165}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007166
Lev Walkin4c776e52010-11-08 02:07:31 -08007167# func_opt_split
7168func_opt_split ()
7169{
7170 func_opt_split_opt=${1%%=*}
7171 func_opt_split_arg=${1#*=}
7172}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007173
Lev Walkin4c776e52010-11-08 02:07:31 -08007174# func_lo2o object
7175func_lo2o ()
7176{
7177 case ${1} in
7178 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7179 *) func_lo2o_result=${1} ;;
7180 esac
7181}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007182
Lev Walkin4c776e52010-11-08 02:07:31 -08007183# func_xform libobj-or-source
7184func_xform ()
7185{
7186 func_xform_result=${1%.*}.lo
7187}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007188
Lev Walkin4c776e52010-11-08 02:07:31 -08007189# func_arith arithmetic-term...
7190func_arith ()
7191{
7192 func_arith_result=$(( $[*] ))
7193}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007194
Lev Walkin4c776e52010-11-08 02:07:31 -08007195# func_len string
7196# STRING may not start with a hyphen.
7197func_len ()
7198{
7199 func_len_result=${#1}
7200}
Lev Walkin4da95cf2010-10-16 02:46:32 -07007201
Lev Walkin4c776e52010-11-08 02:07:31 -08007202_LT_EOF
Lev Walkin4da95cf2010-10-16 02:46:32 -07007203 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08007204 *) # Bourne compatible functions.
7205 cat << \_LT_EOF >> "$cfgfile"
7206
7207# func_dirname file append nondir_replacement
7208# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7209# otherwise set result to NONDIR_REPLACEMENT.
7210func_dirname ()
7211{
7212 # Extract subdirectory from the argument.
7213 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7214 if test "X$func_dirname_result" = "X${1}"; then
7215 func_dirname_result="${3}"
7216 else
7217 func_dirname_result="$func_dirname_result${2}"
7218 fi
7219}
7220
7221# func_basename file
7222func_basename ()
7223{
7224 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7225}
7226
7227dnl func_dirname_and_basename
7228dnl A portable version of this function is already defined in general.m4sh
7229dnl so there is no need for it here.
7230
7231# func_stripname prefix suffix name
7232# strip PREFIX and SUFFIX off of NAME.
7233# PREFIX and SUFFIX must not contain globbing or regex special
7234# characters, hashes, percent signs, but SUFFIX may contain a leading
7235# dot (in which case that matches only a dot).
7236# func_strip_suffix prefix name
7237func_stripname ()
7238{
7239 case ${2} in
7240 .*) func_stripname_result=`$ECHO "X${3}" \
7241 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7242 *) func_stripname_result=`$ECHO "X${3}" \
7243 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7244 esac
7245}
7246
7247# sed scripts:
7248my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7249my_sed_long_arg='1s/^-[[^=]]*=//'
7250
7251# func_opt_split
7252func_opt_split ()
7253{
7254 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7255 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7256}
7257
7258# func_lo2o object
7259func_lo2o ()
7260{
7261 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7262}
7263
7264# func_xform libobj-or-source
7265func_xform ()
7266{
7267 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7268}
7269
7270# func_arith arithmetic-term...
7271func_arith ()
7272{
7273 func_arith_result=`expr "$[@]"`
7274}
7275
7276# func_len string
7277# STRING may not start with a hyphen.
7278func_len ()
7279{
7280 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7281}
7282
7283_LT_EOF
Lev Walkin4da95cf2010-10-16 02:46:32 -07007284esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07007285
Lev Walkin4c776e52010-11-08 02:07:31 -08007286case $lt_shell_append in
7287 yes)
7288 cat << \_LT_EOF >> "$cfgfile"
7289
7290# func_append var value
7291# Append VALUE to the end of shell variable VAR.
7292func_append ()
7293{
7294 eval "$[1]+=\$[2]"
7295}
7296_LT_EOF
Lev Walkin4da95cf2010-10-16 02:46:32 -07007297 ;;
Lev Walkin4c776e52010-11-08 02:07:31 -08007298 *)
7299 cat << \_LT_EOF >> "$cfgfile"
7300
7301# func_append var value
7302# Append VALUE to the end of shell variable VAR.
7303func_append ()
7304{
7305 eval "$[1]=\$$[1]\$[2]"
7306}
7307
7308_LT_EOF
7309 ;;
7310 esac
Lev Walkin4da95cf2010-10-16 02:46:32 -07007311])
Lev Walkin4da95cf2010-10-16 02:46:32 -07007312
7313# Helper functions for option handling. -*- Autoconf -*-
7314#
Lev Walkin4c776e52010-11-08 02:07:31 -08007315# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
Lev Walkin4da95cf2010-10-16 02:46:32 -07007316# Written by Gary V. Vaughan, 2004
7317#
7318# This file is free software; the Free Software Foundation gives
7319# unlimited permission to copy and/or distribute it, with or without
7320# modifications, as long as this notice is preserved.
7321
Lev Walkin4c776e52010-11-08 02:07:31 -08007322# serial 6 ltoptions.m4
Lev Walkin4da95cf2010-10-16 02:46:32 -07007323
7324# This is to help aclocal find these macros, as it can't see m4_define.
7325AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
7326
7327
7328# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
7329# ------------------------------------------
7330m4_define([_LT_MANGLE_OPTION],
7331[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
7332
7333
7334# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
7335# ---------------------------------------
7336# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
7337# matching handler defined, dispatch to it. Other OPTION-NAMEs are
7338# saved as a flag.
7339m4_define([_LT_SET_OPTION],
7340[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
7341m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
7342 _LT_MANGLE_DEFUN([$1], [$2]),
7343 [m4_warning([Unknown $1 option `$2'])])[]dnl
7344])
7345
7346
7347# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
7348# ------------------------------------------------------------
7349# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
7350m4_define([_LT_IF_OPTION],
7351[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
7352
7353
7354# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
7355# -------------------------------------------------------
7356# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
7357# are set.
7358m4_define([_LT_UNLESS_OPTIONS],
7359[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7360 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
7361 [m4_define([$0_found])])])[]dnl
7362m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
7363])[]dnl
7364])
7365
7366
7367# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
7368# ----------------------------------------
7369# OPTION-LIST is a space-separated list of Libtool options associated
7370# with MACRO-NAME. If any OPTION has a matching handler declared with
7371# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
7372# the unknown option and exit.
7373m4_defun([_LT_SET_OPTIONS],
7374[# Set options
7375m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7376 [_LT_SET_OPTION([$1], _LT_Option)])
7377
7378m4_if([$1],[LT_INIT],[
7379 dnl
7380 dnl Simply set some default values (i.e off) if boolean options were not
7381 dnl specified:
7382 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
7383 ])
7384 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
7385 ])
7386 dnl
7387 dnl If no reference was made to various pairs of opposing options, then
7388 dnl we run the default mode handler for the pair. For example, if neither
7389 dnl `shared' nor `disable-shared' was passed, we enable building of shared
7390 dnl archives by default:
7391 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
7392 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
7393 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
7394 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
7395 [_LT_ENABLE_FAST_INSTALL])
7396 ])
7397])# _LT_SET_OPTIONS
7398
7399
7400
7401# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
7402# -----------------------------------------
7403m4_define([_LT_MANGLE_DEFUN],
7404[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
7405
7406
7407# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
7408# -----------------------------------------------
7409m4_define([LT_OPTION_DEFINE],
7410[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
7411])# LT_OPTION_DEFINE
7412
7413
7414# dlopen
7415# ------
7416LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
7417])
7418
7419AU_DEFUN([AC_LIBTOOL_DLOPEN],
7420[_LT_SET_OPTION([LT_INIT], [dlopen])
7421AC_DIAGNOSE([obsolete],
7422[$0: Remove this warning and the call to _LT_SET_OPTION when you
7423put the `dlopen' option into LT_INIT's first parameter.])
7424])
7425
7426dnl aclocal-1.4 backwards compatibility:
7427dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
7428
7429
7430# win32-dll
7431# ---------
7432# Declare package support for building win32 dll's.
7433LT_OPTION_DEFINE([LT_INIT], [win32-dll],
7434[enable_win32_dll=yes
7435
7436case $host in
Lev Walkin4c776e52010-11-08 02:07:31 -08007437*-*-cygwin* | *-*-mingw* | *-*-pw32*)
Lev Walkin4da95cf2010-10-16 02:46:32 -07007438 AC_CHECK_TOOL(AS, as, false)
7439 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7440 AC_CHECK_TOOL(OBJDUMP, objdump, false)
7441 ;;
7442esac
7443
7444test -z "$AS" && AS=as
Lev Walkin4c776e52010-11-08 02:07:31 -08007445_LT_DECL([], [AS], [0], [Assembler program])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07007446
7447test -z "$DLLTOOL" && DLLTOOL=dlltool
Lev Walkin4c776e52010-11-08 02:07:31 -08007448_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07007449
7450test -z "$OBJDUMP" && OBJDUMP=objdump
Lev Walkin4c776e52010-11-08 02:07:31 -08007451_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
Lev Walkin4da95cf2010-10-16 02:46:32 -07007452])# win32-dll
7453
7454AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
7455[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7456_LT_SET_OPTION([LT_INIT], [win32-dll])
7457AC_DIAGNOSE([obsolete],
7458[$0: Remove this warning and the call to _LT_SET_OPTION when you
7459put the `win32-dll' option into LT_INIT's first parameter.])
7460])
7461
7462dnl aclocal-1.4 backwards compatibility:
7463dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
7464
7465
7466# _LT_ENABLE_SHARED([DEFAULT])
7467# ----------------------------
7468# implement the --enable-shared flag, and supports the `shared' and
7469# `disable-shared' LT_INIT options.
7470# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7471m4_define([_LT_ENABLE_SHARED],
7472[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
7473AC_ARG_ENABLE([shared],
7474 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
7475 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
7476 [p=${PACKAGE-default}
7477 case $enableval in
7478 yes) enable_shared=yes ;;
7479 no) enable_shared=no ;;
7480 *)
7481 enable_shared=no
7482 # Look at the argument we got. We use all the common list separators.
7483 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7484 for pkg in $enableval; do
7485 IFS="$lt_save_ifs"
7486 if test "X$pkg" = "X$p"; then
7487 enable_shared=yes
7488 fi
7489 done
7490 IFS="$lt_save_ifs"
7491 ;;
7492 esac],
7493 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
7494
7495 _LT_DECL([build_libtool_libs], [enable_shared], [0],
7496 [Whether or not to build shared libraries])
7497])# _LT_ENABLE_SHARED
7498
7499LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
7500LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
7501
7502# Old names:
7503AC_DEFUN([AC_ENABLE_SHARED],
7504[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
7505])
7506
7507AC_DEFUN([AC_DISABLE_SHARED],
7508[_LT_SET_OPTION([LT_INIT], [disable-shared])
7509])
7510
7511AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
7512AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7513
7514dnl aclocal-1.4 backwards compatibility:
7515dnl AC_DEFUN([AM_ENABLE_SHARED], [])
7516dnl AC_DEFUN([AM_DISABLE_SHARED], [])
7517
7518
7519
7520# _LT_ENABLE_STATIC([DEFAULT])
7521# ----------------------------
7522# implement the --enable-static flag, and support the `static' and
7523# `disable-static' LT_INIT options.
7524# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7525m4_define([_LT_ENABLE_STATIC],
7526[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
7527AC_ARG_ENABLE([static],
7528 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
7529 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
7530 [p=${PACKAGE-default}
7531 case $enableval in
7532 yes) enable_static=yes ;;
7533 no) enable_static=no ;;
7534 *)
7535 enable_static=no
7536 # Look at the argument we got. We use all the common list separators.
7537 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7538 for pkg in $enableval; do
7539 IFS="$lt_save_ifs"
7540 if test "X$pkg" = "X$p"; then
7541 enable_static=yes
7542 fi
7543 done
7544 IFS="$lt_save_ifs"
7545 ;;
7546 esac],
7547 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
7548
7549 _LT_DECL([build_old_libs], [enable_static], [0],
7550 [Whether or not to build static libraries])
7551])# _LT_ENABLE_STATIC
7552
7553LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
7554LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
7555
7556# Old names:
7557AC_DEFUN([AC_ENABLE_STATIC],
7558[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
7559])
7560
7561AC_DEFUN([AC_DISABLE_STATIC],
7562[_LT_SET_OPTION([LT_INIT], [disable-static])
7563])
7564
7565AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
7566AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7567
7568dnl aclocal-1.4 backwards compatibility:
7569dnl AC_DEFUN([AM_ENABLE_STATIC], [])
7570dnl AC_DEFUN([AM_DISABLE_STATIC], [])
7571
7572
7573
7574# _LT_ENABLE_FAST_INSTALL([DEFAULT])
7575# ----------------------------------
7576# implement the --enable-fast-install flag, and support the `fast-install'
7577# and `disable-fast-install' LT_INIT options.
7578# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7579m4_define([_LT_ENABLE_FAST_INSTALL],
7580[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
7581AC_ARG_ENABLE([fast-install],
7582 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
7583 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
7584 [p=${PACKAGE-default}
7585 case $enableval in
7586 yes) enable_fast_install=yes ;;
7587 no) enable_fast_install=no ;;
7588 *)
7589 enable_fast_install=no
7590 # Look at the argument we got. We use all the common list separators.
7591 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7592 for pkg in $enableval; do
7593 IFS="$lt_save_ifs"
7594 if test "X$pkg" = "X$p"; then
7595 enable_fast_install=yes
7596 fi
7597 done
7598 IFS="$lt_save_ifs"
7599 ;;
7600 esac],
7601 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
7602
7603_LT_DECL([fast_install], [enable_fast_install], [0],
7604 [Whether or not to optimize for fast installation])dnl
7605])# _LT_ENABLE_FAST_INSTALL
7606
7607LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
7608LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
7609
7610# Old names:
7611AU_DEFUN([AC_ENABLE_FAST_INSTALL],
7612[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
7613AC_DIAGNOSE([obsolete],
7614[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7615the `fast-install' option into LT_INIT's first parameter.])
7616])
7617
7618AU_DEFUN([AC_DISABLE_FAST_INSTALL],
7619[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
7620AC_DIAGNOSE([obsolete],
7621[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7622the `disable-fast-install' option into LT_INIT's first parameter.])
7623])
7624
7625dnl aclocal-1.4 backwards compatibility:
7626dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
7627dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
7628
7629
7630# _LT_WITH_PIC([MODE])
7631# --------------------
7632# implement the --with-pic flag, and support the `pic-only' and `no-pic'
7633# LT_INIT options.
7634# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
7635m4_define([_LT_WITH_PIC],
7636[AC_ARG_WITH([pic],
7637 [AS_HELP_STRING([--with-pic],
7638 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
7639 [pic_mode="$withval"],
7640 [pic_mode=default])
7641
7642test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
7643
7644_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
7645])# _LT_WITH_PIC
7646
7647LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
7648LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
7649
7650# Old name:
7651AU_DEFUN([AC_LIBTOOL_PICMODE],
7652[_LT_SET_OPTION([LT_INIT], [pic-only])
7653AC_DIAGNOSE([obsolete],
7654[$0: Remove this warning and the call to _LT_SET_OPTION when you
7655put the `pic-only' option into LT_INIT's first parameter.])
7656])
7657
7658dnl aclocal-1.4 backwards compatibility:
7659dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
7660
7661
7662m4_define([_LTDL_MODE], [])
7663LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
7664 [m4_define([_LTDL_MODE], [nonrecursive])])
7665LT_OPTION_DEFINE([LTDL_INIT], [recursive],
7666 [m4_define([_LTDL_MODE], [recursive])])
7667LT_OPTION_DEFINE([LTDL_INIT], [subproject],
7668 [m4_define([_LTDL_MODE], [subproject])])
7669
7670m4_define([_LTDL_TYPE], [])
7671LT_OPTION_DEFINE([LTDL_INIT], [installable],
7672 [m4_define([_LTDL_TYPE], [installable])])
7673LT_OPTION_DEFINE([LTDL_INIT], [convenience],
7674 [m4_define([_LTDL_TYPE], [convenience])])
7675
7676# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
7677#
Lev Walkin4c776e52010-11-08 02:07:31 -08007678# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
7679# Written by Gary V. Vaughan, 2004
Lev Walkin4da95cf2010-10-16 02:46:32 -07007680#
7681# This file is free software; the Free Software Foundation gives
7682# unlimited permission to copy and/or distribute it, with or without
7683# modifications, as long as this notice is preserved.
7684
Lev Walkin4c776e52010-11-08 02:07:31 -08007685# serial 5 ltsugar.m4
Lev Walkin4da95cf2010-10-16 02:46:32 -07007686
7687# This is to help aclocal find these macros, as it can't see m4_define.
7688AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
7689
7690
7691# lt_join(SEP, ARG1, [ARG2...])
7692# -----------------------------
7693# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
7694# associated separator.
7695# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
7696# versions in m4sugar had bugs.
7697m4_define([lt_join],
7698[m4_if([$#], [1], [],
7699 [$#], [2], [[$2]],
7700 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
7701m4_define([_lt_join],
7702[m4_if([$#$2], [2], [],
7703 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
7704
7705
7706# lt_car(LIST)
7707# lt_cdr(LIST)
7708# ------------
7709# Manipulate m4 lists.
7710# These macros are necessary as long as will still need to support
7711# Autoconf-2.59 which quotes differently.
7712m4_define([lt_car], [[$1]])
7713m4_define([lt_cdr],
7714[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
7715 [$#], 1, [],
7716 [m4_dquote(m4_shift($@))])])
7717m4_define([lt_unquote], $1)
7718
7719
7720# lt_append(MACRO-NAME, STRING, [SEPARATOR])
7721# ------------------------------------------
7722# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
7723# Note that neither SEPARATOR nor STRING are expanded; they are appended
7724# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
7725# No SEPARATOR is output if MACRO-NAME was previously undefined (different
7726# than defined and empty).
7727#
7728# This macro is needed until we can rely on Autoconf 2.62, since earlier
7729# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
7730m4_define([lt_append],
7731[m4_define([$1],
7732 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
7733
7734
7735
7736# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
7737# ----------------------------------------------------------
7738# Produce a SEP delimited list of all paired combinations of elements of
7739# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
7740# has the form PREFIXmINFIXSUFFIXn.
Lev Walkin4da95cf2010-10-16 02:46:32 -07007741m4_define([lt_combine],
Lev Walkin4c776e52010-11-08 02:07:31 -08007742[m4_if([$2], [], [],
7743 [m4_if([$4], [], [],
7744 [lt_join(m4_quote(m4_default([$1], [[, ]])),
7745 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_prefix, [$2],
7746 [m4_foreach(_Lt_suffix, lt_car([m4_shiftn(3, $@)]),
7747 [_Lt_prefix[]$3[]_Lt_suffix ])])))))])])dnl
7748])
Lev Walkin4da95cf2010-10-16 02:46:32 -07007749
7750
7751# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
7752# -----------------------------------------------------------------------
7753# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
7754# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
7755m4_define([lt_if_append_uniq],
7756[m4_ifdef([$1],
7757 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
7758 [lt_append([$1], [$2], [$3])$4],
7759 [$5])],
7760 [lt_append([$1], [$2], [$3])$4])])
7761
7762
7763# lt_dict_add(DICT, KEY, VALUE)
7764# -----------------------------
7765m4_define([lt_dict_add],
7766[m4_define([$1($2)], [$3])])
7767
7768
7769# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
7770# --------------------------------------------
7771m4_define([lt_dict_add_subkey],
7772[m4_define([$1($2:$3)], [$4])])
7773
7774
7775# lt_dict_fetch(DICT, KEY, [SUBKEY])
7776# ----------------------------------
7777m4_define([lt_dict_fetch],
7778[m4_ifval([$3],
7779 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
7780 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
7781
7782
7783# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
7784# -----------------------------------------------------------------
7785m4_define([lt_if_dict_fetch],
7786[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
7787 [$5],
7788 [$6])])
7789
7790
7791# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
7792# --------------------------------------------------------------
7793m4_define([lt_dict_filter],
7794[m4_if([$5], [], [],
7795 [lt_join(m4_quote(m4_default([$4], [[, ]])),
7796 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
7797 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
7798])
7799
7800# ltversion.m4 -- version numbers -*- Autoconf -*-
7801#
7802# Copyright (C) 2004 Free Software Foundation, Inc.
7803# Written by Scott James Remnant, 2004
7804#
7805# This file is free software; the Free Software Foundation gives
7806# unlimited permission to copy and/or distribute it, with or without
7807# modifications, as long as this notice is preserved.
7808
Lev Walkin4c776e52010-11-08 02:07:31 -08007809# Generated from ltversion.in.
Lev Walkin4da95cf2010-10-16 02:46:32 -07007810
Lev Walkin4c776e52010-11-08 02:07:31 -08007811# serial 2976 ltversion.m4
Lev Walkin4da95cf2010-10-16 02:46:32 -07007812# This file is part of GNU Libtool
7813
Lev Walkin4c776e52010-11-08 02:07:31 -08007814m4_define([LT_PACKAGE_VERSION], [2.2.4])
7815m4_define([LT_PACKAGE_REVISION], [1.2976])
Lev Walkin4da95cf2010-10-16 02:46:32 -07007816
7817AC_DEFUN([LTVERSION_VERSION],
Lev Walkin4c776e52010-11-08 02:07:31 -08007818[macro_version='2.2.4'
7819macro_revision='1.2976'
Lev Walkin4da95cf2010-10-16 02:46:32 -07007820_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
7821_LT_DECL(, macro_revision, 0)
7822])
7823
7824# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
7825#
Lev Walkin4c776e52010-11-08 02:07:31 -08007826# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
Lev Walkin4da95cf2010-10-16 02:46:32 -07007827# Written by Scott James Remnant, 2004.
7828#
7829# This file is free software; the Free Software Foundation gives
7830# unlimited permission to copy and/or distribute it, with or without
7831# modifications, as long as this notice is preserved.
7832
Lev Walkin4c776e52010-11-08 02:07:31 -08007833# serial 4 lt~obsolete.m4
Lev Walkin4da95cf2010-10-16 02:46:32 -07007834
7835# These exist entirely to fool aclocal when bootstrapping libtool.
7836#
7837# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
7838# which have later been changed to m4_define as they aren't part of the
7839# exported API, or moved to Autoconf or Automake where they belong.
7840#
7841# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
7842# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
7843# using a macro with the same name in our local m4/libtool.m4 it'll
7844# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
7845# and doesn't know about Autoconf macros at all.)
7846#
7847# So we provide this file, which has a silly filename so it's always
7848# included after everything else. This provides aclocal with the
7849# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
7850# because those macros already exist, or will be overwritten later.
7851# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
7852#
7853# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
7854# Yes, that means every name once taken will need to remain here until
7855# we give up compatibility with versions before 1.7, at which point
7856# we need to keep only those names which we still refer to.
7857
7858# This is to help aclocal find these macros, as it can't see m4_define.
7859AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
7860
7861m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
7862m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
7863m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
7864m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
7865m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
7866m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
7867m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
7868m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
7869m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
7870m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
7871m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
7872m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
7873m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
7874m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
7875m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
7876m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
7877m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
7878m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
7879m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
7880m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
7881m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
7882m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
7883m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
7884m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
7885m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
7886m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
7887m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
7888m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
7889m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
7890m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
7891m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
7892m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
7893m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
7894m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
7895m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
7896m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
7897m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
7898m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
7899m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
7900m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
7901m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
7902m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
Lev Walkin4c776e52010-11-08 02:07:31 -08007903m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
Lev Walkin4da95cf2010-10-16 02:46:32 -07007904m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
7905m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
7906m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
7907m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
7908m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
7909m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
7910m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
7911m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
7912m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
7913m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
7914m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
7915m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
Lev Walkin4da95cf2010-10-16 02:46:32 -07007916
Lev Walkin4c776e52010-11-08 02:07:31 -08007917# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00007918#
7919# This file is free software; the Free Software Foundation
7920# gives unlimited permission to copy and/or distribute it,
7921# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00007922
7923# AM_AUTOMAKE_VERSION(VERSION)
7924# ----------------------------
7925# Automake X.Y traces this macro to ensure aclocal.m4 has been
7926# generated from the m4 files accompanying Automake X.Y.
Lev Walkin4c776e52010-11-08 02:07:31 -08007927# (This private macro should not be called outside this file.)
7928AC_DEFUN([AM_AUTOMAKE_VERSION],
7929[am__api_version='1.10'
7930dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
7931dnl require some minimum version. Point them to the right macro.
7932m4_if([$1], [1.10], [],
7933 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
7934])
7935
7936# _AM_AUTOCONF_VERSION(VERSION)
7937# -----------------------------
7938# aclocal traces this macro to find the Autoconf version.
7939# This is a private macro too. Using m4_define simplifies
7940# the logic in aclocal, which can simply ignore this definition.
7941m4_define([_AM_AUTOCONF_VERSION], [])
Lev Walkin8e8b5482004-06-17 23:42:48 +00007942
7943# AM_SET_CURRENT_AUTOMAKE_VERSION
7944# -------------------------------
Lev Walkin4c776e52010-11-08 02:07:31 -08007945# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
Lev Walkin8e8b5482004-06-17 23:42:48 +00007946# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
7947AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
Lev Walkin4c776e52010-11-08 02:07:31 -08007948[AM_AUTOMAKE_VERSION([1.10])dnl
7949_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
Lev Walkin8e8b5482004-06-17 23:42:48 +00007950
Lev Walkin5af1a692006-08-18 01:54:27 +00007951# AM_AUX_DIR_EXPAND -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00007952
Lev Walkin5af1a692006-08-18 01:54:27 +00007953# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
7954#
7955# This file is free software; the Free Software Foundation
7956# gives unlimited permission to copy and/or distribute it,
7957# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00007958
7959# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
7960# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
7961# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
7962#
7963# Of course, Automake must honor this variable whenever it calls a
7964# tool from the auxiliary directory. The problem is that $srcdir (and
7965# therefore $ac_aux_dir as well) can be either absolute or relative,
7966# depending on how configure is run. This is pretty annoying, since
7967# it makes $ac_aux_dir quite unusable in subdirectories: in the top
7968# source directory, any form will work fine, but in subdirectories a
7969# relative path needs to be adjusted first.
7970#
7971# $ac_aux_dir/missing
7972# fails when called from a subdirectory if $ac_aux_dir is relative
7973# $top_srcdir/$ac_aux_dir/missing
7974# fails if $ac_aux_dir is absolute,
7975# fails when called from a subdirectory in a VPATH build with
7976# a relative $ac_aux_dir
7977#
7978# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
7979# are both prefixed by $srcdir. In an in-source build this is usually
7980# harmless because $srcdir is `.', but things will broke when you
7981# start a VPATH build or use an absolute $srcdir.
7982#
7983# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
7984# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
7985# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
7986# and then we would define $MISSING as
7987# MISSING="\${SHELL} $am_aux_dir/missing"
7988# This will work as long as MISSING is not called from configure, because
7989# unfortunately $(top_srcdir) has no meaning in configure.
7990# However there are other variables, like CC, which are often used in
7991# configure, and could therefore not use this "fixed" $ac_aux_dir.
7992#
7993# Another solution, used here, is to always expand $ac_aux_dir to an
7994# absolute PATH. The drawback is that using absolute paths prevent a
7995# configured tree to be moved without reconfiguration.
7996
7997AC_DEFUN([AM_AUX_DIR_EXPAND],
7998[dnl Rely on autoconf to set up CDPATH properly.
7999AC_PREREQ([2.50])dnl
8000# expand $ac_aux_dir to an absolute path
8001am_aux_dir=`cd $ac_aux_dir && pwd`
8002])
8003
Lev Walkin5af1a692006-08-18 01:54:27 +00008004# AM_CONDITIONAL -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008005
Lev Walkin4c776e52010-11-08 02:07:31 -08008006# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
Lev Walkin5af1a692006-08-18 01:54:27 +00008007# Free Software Foundation, Inc.
8008#
8009# This file is free software; the Free Software Foundation
8010# gives unlimited permission to copy and/or distribute it,
8011# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008012
Lev Walkin4c776e52010-11-08 02:07:31 -08008013# serial 8
Lev Walkin8e8b5482004-06-17 23:42:48 +00008014
8015# AM_CONDITIONAL(NAME, SHELL-CONDITION)
8016# -------------------------------------
8017# Define a conditional.
8018AC_DEFUN([AM_CONDITIONAL],
8019[AC_PREREQ(2.52)dnl
8020 ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
8021 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
Lev Walkin4c776e52010-11-08 02:07:31 -08008022AC_SUBST([$1_TRUE])dnl
8023AC_SUBST([$1_FALSE])dnl
8024_AM_SUBST_NOTMAKE([$1_TRUE])dnl
8025_AM_SUBST_NOTMAKE([$1_FALSE])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008026if $2; then
8027 $1_TRUE=
8028 $1_FALSE='#'
8029else
8030 $1_TRUE='#'
8031 $1_FALSE=
8032fi
8033AC_CONFIG_COMMANDS_PRE(
8034[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
Lev Walkin5af1a692006-08-18 01:54:27 +00008035 AC_MSG_ERROR([[conditional "$1" was never defined.
8036Usually this means the macro was only invoked conditionally.]])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008037fi])])
8038
Lev Walkin4c776e52010-11-08 02:07:31 -08008039# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Lev Walkin8e8b5482004-06-17 23:42:48 +00008040# Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008041#
8042# This file is free software; the Free Software Foundation
8043# gives unlimited permission to copy and/or distribute it,
8044# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008045
Lev Walkin4c776e52010-11-08 02:07:31 -08008046# serial 9
Lev Walkinf15320b2004-06-03 03:38:44 +00008047
8048# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
8049# written in clear, in which case automake, when reading aclocal.m4,
8050# will think it sees a *use*, and therefore will trigger all it's
8051# C support machinery. Also note that it means that autoscan, seeing
8052# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
8053
8054
Lev Walkin8e8b5482004-06-17 23:42:48 +00008055# _AM_DEPENDENCIES(NAME)
8056# ----------------------
8057# See how the compiler implements dependency checking.
8058# NAME is "CC", "CXX", "GCJ", or "OBJC".
8059# We try a few techniques and use that to set a single cache variable.
8060#
8061# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
8062# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
8063# dependency, and given that the user is not expected to run this macro,
8064# just rely on AC_PROG_CC.
8065AC_DEFUN([_AM_DEPENDENCIES],
8066[AC_REQUIRE([AM_SET_DEPDIR])dnl
8067AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
8068AC_REQUIRE([AM_MAKE_INCLUDE])dnl
8069AC_REQUIRE([AM_DEP_TRACK])dnl
8070
8071ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
8072 [$1], CXX, [depcc="$CXX" am_compiler_list=],
8073 [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
Lev Walkin4c776e52010-11-08 02:07:31 -08008074 [$1], UPC, [depcc="$UPC" am_compiler_list=],
Lev Walkin8e8b5482004-06-17 23:42:48 +00008075 [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
8076 [depcc="$$1" am_compiler_list=])
8077
8078AC_CACHE_CHECK([dependency style of $depcc],
8079 [am_cv_$1_dependencies_compiler_type],
8080[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
8081 # We make a subdir and do the tests there. Otherwise we can end up
8082 # making bogus files that we don't know about and never remove. For
8083 # instance it was reported that on HP-UX the gcc test will end up
8084 # making a dummy file named `D' -- because `-MD' means `put the output
8085 # in D'.
8086 mkdir conftest.dir
8087 # Copy depcomp to subdir because otherwise we won't find it if we're
8088 # using a relative directory.
8089 cp "$am_depcomp" conftest.dir
8090 cd conftest.dir
8091 # We will build objects and dependencies in a subdirectory because
8092 # it helps to detect inapplicable dependency modes. For instance
8093 # both Tru64's cc and ICC support -MD to output dependencies as a
8094 # side effect of compilation, but ICC will put the dependencies in
8095 # the current directory while Tru64 will put them in the object
8096 # directory.
8097 mkdir sub
8098
8099 am_cv_$1_dependencies_compiler_type=none
8100 if test "$am_compiler_list" = ""; then
8101 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
8102 fi
8103 for depmode in $am_compiler_list; do
8104 # Setup a source with many dependencies, because some compilers
8105 # like to wrap large dependency lists on column 80 (with \), and
8106 # we should not choose a depcomp mode which is confused by this.
8107 #
8108 # We need to recreate these files for each test, as the compiler may
8109 # overwrite some of them when testing with obscure command lines.
8110 # This happens at least with the AIX C compiler.
8111 : > sub/conftest.c
8112 for i in 1 2 3 4 5 6; do
8113 echo '#include "conftst'$i'.h"' >> sub/conftest.c
8114 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
8115 # Solaris 8's {/usr,}/bin/sh.
8116 touch sub/conftst$i.h
8117 done
8118 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
8119
8120 case $depmode in
8121 nosideeffect)
8122 # after this tag, mechanisms are not by side-effect, so they'll
8123 # only be used when explicitly requested
8124 if test "x$enable_dependency_tracking" = xyes; then
8125 continue
8126 else
8127 break
8128 fi
8129 ;;
8130 none) break ;;
8131 esac
8132 # We check with `-c' and `-o' for the sake of the "dashmstdout"
8133 # mode. It turns out that the SunPro C++ compiler does not properly
8134 # handle `-M -o', and we need to detect this.
8135 if depmode=$depmode \
8136 source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
8137 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
8138 $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
8139 >/dev/null 2>conftest.err &&
Lev Walkin4c776e52010-11-08 02:07:31 -08008140 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
Lev Walkin8e8b5482004-06-17 23:42:48 +00008141 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
8142 grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
8143 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
8144 # icc doesn't choke on unknown options, it will just issue warnings
8145 # or remarks (even with -Werror). So we grep stderr for any message
8146 # that says an option was ignored or not supported.
8147 # When given -MP, icc 7.0 and 7.1 complain thusly:
8148 # icc: Command line warning: ignoring option '-M'; no argument required
8149 # The diagnosis changed in icc 8.0:
8150 # icc: Command line remark: option '-MP' not supported
8151 if (grep 'ignoring option' conftest.err ||
8152 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
8153 am_cv_$1_dependencies_compiler_type=$depmode
8154 break
8155 fi
8156 fi
8157 done
8158
8159 cd ..
8160 rm -rf conftest.dir
8161else
8162 am_cv_$1_dependencies_compiler_type=none
8163fi
8164])
8165AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
8166AM_CONDITIONAL([am__fastdep$1], [
8167 test "x$enable_dependency_tracking" != xno \
8168 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
8169])
Lev Walkinf15320b2004-06-03 03:38:44 +00008170
8171
Lev Walkin8e8b5482004-06-17 23:42:48 +00008172# AM_SET_DEPDIR
8173# -------------
8174# Choose a directory name for dependency files.
8175# This macro is AC_REQUIREd in _AM_DEPENDENCIES
8176AC_DEFUN([AM_SET_DEPDIR],
8177[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
8178AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
8179])
8180
8181
8182# AM_DEP_TRACK
8183# ------------
8184AC_DEFUN([AM_DEP_TRACK],
8185[AC_ARG_ENABLE(dependency-tracking,
8186[ --disable-dependency-tracking speeds up one-time build
8187 --enable-dependency-tracking do not reject slow dependency extractors])
8188if test "x$enable_dependency_tracking" != xno; then
8189 am_depcomp="$ac_aux_dir/depcomp"
8190 AMDEPBACKSLASH='\'
8191fi
8192AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
Lev Walkin4c776e52010-11-08 02:07:31 -08008193AC_SUBST([AMDEPBACKSLASH])dnl
8194_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008195])
8196
Lev Walkin5af1a692006-08-18 01:54:27 +00008197# Generate code to set up dependency tracking. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008198
Lev Walkin5af1a692006-08-18 01:54:27 +00008199# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
8200# Free Software Foundation, Inc.
8201#
8202# This file is free software; the Free Software Foundation
8203# gives unlimited permission to copy and/or distribute it,
8204# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008205
Lev Walkin5af1a692006-08-18 01:54:27 +00008206#serial 3
Lev Walkin8e8b5482004-06-17 23:42:48 +00008207
8208# _AM_OUTPUT_DEPENDENCY_COMMANDS
8209# ------------------------------
8210AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
8211[for mf in $CONFIG_FILES; do
8212 # Strip MF so we end up with the name of the file.
8213 mf=`echo "$mf" | sed -e 's/:.*$//'`
8214 # Check whether this is an Automake generated Makefile or not.
8215 # We used to match only the files named `Makefile.in', but
8216 # some people rename them; so instead we look at the file content.
8217 # Grep'ing the first line is not enough: some people post-process
8218 # each Makefile.in and add a new line on top of each file to say so.
Lev Walkin4c776e52010-11-08 02:07:31 -08008219 # Grep'ing the whole file is not good either: AIX grep has a line
8220 # limit of 2048, but all sed's we know have understand at least 4000.
8221 if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
Lev Walkin8e8b5482004-06-17 23:42:48 +00008222 dirpart=`AS_DIRNAME("$mf")`
8223 else
8224 continue
8225 fi
Lev Walkin5af1a692006-08-18 01:54:27 +00008226 # Extract the definition of DEPDIR, am__include, and am__quote
8227 # from the Makefile without running `make'.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008228 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
8229 test -z "$DEPDIR" && continue
Lev Walkin5af1a692006-08-18 01:54:27 +00008230 am__include=`sed -n 's/^am__include = //p' < "$mf"`
8231 test -z "am__include" && continue
8232 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
Lev Walkin8e8b5482004-06-17 23:42:48 +00008233 # When using ansi2knr, U may be empty or an underscore; expand it
8234 U=`sed -n 's/^U = //p' < "$mf"`
Lev Walkin5af1a692006-08-18 01:54:27 +00008235 # Find all dependency output files, they are included files with
8236 # $(DEPDIR) in their names. We invoke sed twice because it is the
8237 # simplest approach to changing $(DEPDIR) to its actual value in the
8238 # expansion.
8239 for file in `sed -n "
8240 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
Lev Walkin8e8b5482004-06-17 23:42:48 +00008241 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
8242 # Make sure the directory exists.
8243 test -f "$dirpart/$file" && continue
8244 fdir=`AS_DIRNAME(["$file"])`
8245 AS_MKDIR_P([$dirpart/$fdir])
8246 # echo "creating $dirpart/$file"
8247 echo '# dummy' > "$dirpart/$file"
8248 done
8249done
8250])# _AM_OUTPUT_DEPENDENCY_COMMANDS
8251
8252
8253# AM_OUTPUT_DEPENDENCY_COMMANDS
8254# -----------------------------
8255# This macro should only be invoked once -- use via AC_REQUIRE.
8256#
8257# This code is only required when automatic dependency tracking
8258# is enabled. FIXME. This creates each `.P' file that we will
8259# need in order to bootstrap the dependency handling code.
8260AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
8261[AC_CONFIG_COMMANDS([depfiles],
8262 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
8263 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
8264])
8265
Lev Walkin5af1a692006-08-18 01:54:27 +00008266# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
8267# Free Software Foundation, Inc.
8268#
8269# This file is free software; the Free Software Foundation
8270# gives unlimited permission to copy and/or distribute it,
8271# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008272
Lev Walkin5af1a692006-08-18 01:54:27 +00008273# serial 8
Lev Walkin8e8b5482004-06-17 23:42:48 +00008274
8275# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
8276AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
8277
Lev Walkin5af1a692006-08-18 01:54:27 +00008278# Do all the work for Automake. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008279
Lev Walkin4c776e52010-11-08 02:07:31 -08008280# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
8281# 2005, 2006 Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008282#
8283# This file is free software; the Free Software Foundation
8284# gives unlimited permission to copy and/or distribute it,
8285# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008286
Lev Walkin5af1a692006-08-18 01:54:27 +00008287# serial 12
Lev Walkin8e8b5482004-06-17 23:42:48 +00008288
Lev Walkin5af1a692006-08-18 01:54:27 +00008289# This macro actually does too much. Some checks are only needed if
8290# your package does certain things. But this isn't really a big deal.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008291
8292# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
8293# AM_INIT_AUTOMAKE([OPTIONS])
8294# -----------------------------------------------
8295# The call with PACKAGE and VERSION arguments is the old style
8296# call (pre autoconf-2.50), which is being phased out. PACKAGE
8297# and VERSION should now be passed to AC_INIT and removed from
8298# the call to AM_INIT_AUTOMAKE.
8299# We support both call styles for the transition. After
8300# the next Automake release, Autoconf can make the AC_INIT
8301# arguments mandatory, and then we can depend on a new Autoconf
8302# release and drop the old call support.
Lev Walkinf15320b2004-06-03 03:38:44 +00008303AC_DEFUN([AM_INIT_AUTOMAKE],
Lev Walkin4c776e52010-11-08 02:07:31 -08008304[AC_PREREQ([2.60])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008305dnl Autoconf wants to disallow AM_ names. We explicitly allow
8306dnl the ones we care about.
8307m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
8308AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
8309AC_REQUIRE([AC_PROG_INSTALL])dnl
Lev Walkin4c776e52010-11-08 02:07:31 -08008310if test "`cd $srcdir && pwd`" != "`pwd`"; then
8311 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
8312 # is not polluted with repeated "-I."
8313 AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
8314 # test to see if srcdir already configured
8315 if test -f $srcdir/config.status; then
8316 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
8317 fi
Lev Walkinf15320b2004-06-03 03:38:44 +00008318fi
8319
Lev Walkin8e8b5482004-06-17 23:42:48 +00008320# test whether we have cygpath
8321if test -z "$CYGPATH_W"; then
8322 if (cygpath --version) >/dev/null 2>/dev/null; then
8323 CYGPATH_W='cygpath -w'
8324 else
8325 CYGPATH_W=echo
8326 fi
8327fi
8328AC_SUBST([CYGPATH_W])
8329
Lev Walkinf15320b2004-06-03 03:38:44 +00008330# Define the identity of the package.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008331dnl Distinguish between old-style and new-style calls.
8332m4_ifval([$2],
8333[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
8334 AC_SUBST([PACKAGE], [$1])dnl
8335 AC_SUBST([VERSION], [$2])],
8336[_AM_SET_OPTIONS([$1])dnl
Lev Walkin4c776e52010-11-08 02:07:31 -08008337dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
8338m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
8339 [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008340 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
8341 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
8342
8343_AM_IF_OPTION([no-define],,
Lev Walkinf15320b2004-06-03 03:38:44 +00008344[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008345 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
Lev Walkinf15320b2004-06-03 03:38:44 +00008346
8347# Some tools Automake needs.
8348AC_REQUIRE([AM_SANITY_CHECK])dnl
8349AC_REQUIRE([AC_ARG_PROGRAM])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008350AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
Lev Walkinf15320b2004-06-03 03:38:44 +00008351AM_MISSING_PROG(AUTOCONF, autoconf)
Lev Walkin8e8b5482004-06-17 23:42:48 +00008352AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
Lev Walkinf15320b2004-06-03 03:38:44 +00008353AM_MISSING_PROG(AUTOHEADER, autoheader)
8354AM_MISSING_PROG(MAKEINFO, makeinfo)
Lev Walkinf15320b2004-06-03 03:38:44 +00008355AM_PROG_INSTALL_SH
8356AM_PROG_INSTALL_STRIP
Lev Walkin8e8b5482004-06-17 23:42:48 +00008357AC_REQUIRE([AM_PROG_MKDIR_P])dnl
Lev Walkinf15320b2004-06-03 03:38:44 +00008358# We need awk for the "check" target. The system "awk" is bad on
8359# some platforms.
8360AC_REQUIRE([AC_PROG_AWK])dnl
8361AC_REQUIRE([AC_PROG_MAKE_SET])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008362AC_REQUIRE([AM_SET_LEADING_DOT])dnl
Lev Walkin5af1a692006-08-18 01:54:27 +00008363_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
8364 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
8365 [_AM_PROG_TAR([v7])])])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008366_AM_IF_OPTION([no-dependencies],,
8367[AC_PROVIDE_IFELSE([AC_PROG_CC],
Lev Walkinf15320b2004-06-03 03:38:44 +00008368 [_AM_DEPENDENCIES(CC)],
Lev Walkin8e8b5482004-06-17 23:42:48 +00008369 [define([AC_PROG_CC],
8370 defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
8371AC_PROVIDE_IFELSE([AC_PROG_CXX],
Lev Walkinf15320b2004-06-03 03:38:44 +00008372 [_AM_DEPENDENCIES(CXX)],
Lev Walkin8e8b5482004-06-17 23:42:48 +00008373 [define([AC_PROG_CXX],
8374 defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
Lev Walkin4c776e52010-11-08 02:07:31 -08008375AC_PROVIDE_IFELSE([AC_PROG_OBJC],
8376 [_AM_DEPENDENCIES(OBJC)],
8377 [define([AC_PROG_OBJC],
8378 defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
Lev Walkinf15320b2004-06-03 03:38:44 +00008379])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008380])
8381
8382
8383# When config.status generates a header, we must update the stamp-h file.
8384# This file resides in the same directory as the config header
8385# that is generated. The stamp files are numbered to have different names.
8386
8387# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
8388# loop where config.status creates the headers, so we can generate
8389# our stamp files there.
8390AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
8391[# Compute $1's index in $config_headers.
8392_am_stamp_count=1
8393for _am_header in $config_headers :; do
8394 case $_am_header in
8395 $1 | $1:* )
8396 break ;;
8397 * )
8398 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
8399 esac
8400done
8401echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
8402
Lev Walkin5af1a692006-08-18 01:54:27 +00008403# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8404#
8405# This file is free software; the Free Software Foundation
8406# gives unlimited permission to copy and/or distribute it,
8407# with or without modifications, as long as this notice is preserved.
8408
Lev Walkin8e8b5482004-06-17 23:42:48 +00008409# AM_PROG_INSTALL_SH
8410# ------------------
8411# Define $install_sh.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008412AC_DEFUN([AM_PROG_INSTALL_SH],
8413[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
Lev Walkin4c776e52010-11-08 02:07:31 -08008414install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
Lev Walkin8e8b5482004-06-17 23:42:48 +00008415AC_SUBST(install_sh)])
8416
Lev Walkin5af1a692006-08-18 01:54:27 +00008417# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
8418#
8419# This file is free software; the Free Software Foundation
8420# gives unlimited permission to copy and/or distribute it,
8421# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008422
Lev Walkin5af1a692006-08-18 01:54:27 +00008423# serial 2
Lev Walkin8e8b5482004-06-17 23:42:48 +00008424
8425# Check whether the underlying file-system supports filenames
8426# with a leading dot. For instance MS-DOS doesn't.
8427AC_DEFUN([AM_SET_LEADING_DOT],
8428[rm -rf .tst 2>/dev/null
8429mkdir .tst 2>/dev/null
8430if test -d .tst; then
8431 am__leading_dot=.
8432else
8433 am__leading_dot=_
8434fi
8435rmdir .tst 2>/dev/null
8436AC_SUBST([am__leading_dot])])
8437
Lev Walkin5af1a692006-08-18 01:54:27 +00008438# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
Lev Walkin8e8b5482004-06-17 23:42:48 +00008439# Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008440#
8441# This file is free software; the Free Software Foundation
8442# gives unlimited permission to copy and/or distribute it,
8443# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008444
Lev Walkin5af1a692006-08-18 01:54:27 +00008445# serial 5
Lev Walkin8e8b5482004-06-17 23:42:48 +00008446
8447# AM_PROG_LEX
8448# -----------
8449# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a
8450# "missing" invocation, for better error output.
8451AC_DEFUN([AM_PROG_LEX],
8452[AC_PREREQ(2.50)dnl
8453AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
8454AC_REQUIRE([AC_PROG_LEX])dnl
8455if test "$LEX" = :; then
8456 LEX=${am_missing_run}flex
8457fi])
8458
Lev Walkin5af1a692006-08-18 01:54:27 +00008459# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008460# From Jim Meyering
8461
Lev Walkin5af1a692006-08-18 01:54:27 +00008462# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
Lev Walkin8e8b5482004-06-17 23:42:48 +00008463# Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008464#
8465# This file is free software; the Free Software Foundation
8466# gives unlimited permission to copy and/or distribute it,
8467# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008468
Lev Walkin5af1a692006-08-18 01:54:27 +00008469# serial 4
Lev Walkin8e8b5482004-06-17 23:42:48 +00008470
8471AC_DEFUN([AM_MAINTAINER_MODE],
8472[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
8473 dnl maintainer-mode is disabled by default
8474 AC_ARG_ENABLE(maintainer-mode,
8475[ --enable-maintainer-mode enable make rules and dependencies not useful
8476 (and sometimes confusing) to the casual installer],
8477 USE_MAINTAINER_MODE=$enableval,
8478 USE_MAINTAINER_MODE=no)
8479 AC_MSG_RESULT([$USE_MAINTAINER_MODE])
8480 AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes])
8481 MAINT=$MAINTAINER_MODE_TRUE
8482 AC_SUBST(MAINT)dnl
8483]
8484)
8485
8486AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
8487
Lev Walkin5af1a692006-08-18 01:54:27 +00008488# Check to see how 'make' treats includes. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008489
Lev Walkin5af1a692006-08-18 01:54:27 +00008490# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
8491#
8492# This file is free software; the Free Software Foundation
8493# gives unlimited permission to copy and/or distribute it,
8494# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008495
Lev Walkin5af1a692006-08-18 01:54:27 +00008496# serial 3
Lev Walkin8e8b5482004-06-17 23:42:48 +00008497
8498# AM_MAKE_INCLUDE()
8499# -----------------
8500# Check to see how make treats includes.
8501AC_DEFUN([AM_MAKE_INCLUDE],
8502[am_make=${MAKE-make}
8503cat > confinc << 'END'
8504am__doit:
8505 @echo done
8506.PHONY: am__doit
8507END
8508# If we don't find an include directive, just comment out the code.
8509AC_MSG_CHECKING([for style of include used by $am_make])
8510am__include="#"
8511am__quote=
8512_am_result=none
8513# First try GNU make style include.
8514echo "include confinc" > confmf
8515# We grep out `Entering directory' and `Leaving directory'
8516# messages which can occur if `w' ends up in MAKEFLAGS.
8517# In particular we don't look at `^make:' because GNU make might
8518# be invoked under some other name (usually "gmake"), in which
8519# case it prints its new name instead of `make'.
8520if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
8521 am__include=include
8522 am__quote=
8523 _am_result=GNU
8524fi
8525# Now try BSD make style include.
8526if test "$am__include" = "#"; then
8527 echo '.include "confinc"' > confmf
8528 if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
8529 am__include=.include
8530 am__quote="\""
8531 _am_result=BSD
8532 fi
8533fi
8534AC_SUBST([am__include])
8535AC_SUBST([am__quote])
8536AC_MSG_RESULT([$_am_result])
8537rm -f confinc confmf
8538])
8539
Lev Walkin5af1a692006-08-18 01:54:27 +00008540# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008541
Lev Walkin4c776e52010-11-08 02:07:31 -08008542# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
Lev Walkin5af1a692006-08-18 01:54:27 +00008543# Free Software Foundation, Inc.
8544#
8545# This file is free software; the Free Software Foundation
8546# gives unlimited permission to copy and/or distribute it,
8547# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008548
Lev Walkin4c776e52010-11-08 02:07:31 -08008549# serial 5
Lev Walkin8e8b5482004-06-17 23:42:48 +00008550
8551# AM_MISSING_PROG(NAME, PROGRAM)
8552# ------------------------------
8553AC_DEFUN([AM_MISSING_PROG],
8554[AC_REQUIRE([AM_MISSING_HAS_RUN])
8555$1=${$1-"${am_missing_run}$2"}
8556AC_SUBST($1)])
8557
8558
8559# AM_MISSING_HAS_RUN
8560# ------------------
8561# Define MISSING if not defined so far and test if it supports --run.
8562# If it does, set am_missing_run to use it, otherwise, to nothing.
8563AC_DEFUN([AM_MISSING_HAS_RUN],
8564[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
Lev Walkin4c776e52010-11-08 02:07:31 -08008565AC_REQUIRE_AUX_FILE([missing])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008566test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
8567# Use eval to expand $SHELL
8568if eval "$MISSING --run true"; then
8569 am_missing_run="$MISSING --run "
8570else
8571 am_missing_run=
8572 AC_MSG_WARN([`missing' script is too old or missing])
8573fi
8574])
8575
Lev Walkin4c776e52010-11-08 02:07:31 -08008576# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Lev Walkin5af1a692006-08-18 01:54:27 +00008577#
8578# This file is free software; the Free Software Foundation
8579# gives unlimited permission to copy and/or distribute it,
8580# with or without modifications, as long as this notice is preserved.
8581
Lev Walkin8e8b5482004-06-17 23:42:48 +00008582# AM_PROG_MKDIR_P
8583# ---------------
Lev Walkin4c776e52010-11-08 02:07:31 -08008584# Check for `mkdir -p'.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008585AC_DEFUN([AM_PROG_MKDIR_P],
Lev Walkin4c776e52010-11-08 02:07:31 -08008586[AC_PREREQ([2.60])dnl
8587AC_REQUIRE([AC_PROG_MKDIR_P])dnl
8588dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
8589dnl while keeping a definition of mkdir_p for backward compatibility.
8590dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
8591dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
8592dnl Makefile.ins that do not define MKDIR_P, so we do our own
8593dnl adjustment using top_builddir (which is defined more often than
8594dnl MKDIR_P).
8595AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
8596case $mkdir_p in
8597 [[\\/$]]* | ?:[[\\/]]*) ;;
8598 */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
8599esac
8600])
Lev Walkin8e8b5482004-06-17 23:42:48 +00008601
Lev Walkin5af1a692006-08-18 01:54:27 +00008602# Helper functions for option handling. -*- Autoconf -*-
Lev Walkin8e8b5482004-06-17 23:42:48 +00008603
Lev Walkin5af1a692006-08-18 01:54:27 +00008604# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
8605#
8606# This file is free software; the Free Software Foundation
8607# gives unlimited permission to copy and/or distribute it,
8608# with or without modifications, as long as this notice is preserved.
Lev Walkin8e8b5482004-06-17 23:42:48 +00008609
Lev Walkin5af1a692006-08-18 01:54:27 +00008610# serial 3
Lev Walkin8e8b5482004-06-17 23:42:48 +00008611
8612# _AM_MANGLE_OPTION(NAME)
8613# -----------------------
8614AC_DEFUN([_AM_MANGLE_OPTION],
8615[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
8616
8617# _AM_SET_OPTION(NAME)
8618# ------------------------------
8619# Set option NAME. Presently that only means defining a flag for this option.
8620AC_DEFUN([_AM_SET_OPTION],
8621[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
8622
8623# _AM_SET_OPTIONS(OPTIONS)
8624# ----------------------------------
8625# OPTIONS is a space-separated list of Automake options.
8626AC_DEFUN([_AM_SET_OPTIONS],
8627[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
8628
8629# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
8630# -------------------------------------------
8631# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
8632AC_DEFUN([_AM_IF_OPTION],
8633[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
Lev Walkinf15320b2004-06-03 03:38:44 +00008634
Lev Walkin5af1a692006-08-18 01:54:27 +00008635# Check to make sure that the build environment is sane. -*- Autoconf -*-
8636
8637# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
8638# Free Software Foundation, Inc.
Lev Walkinf15320b2004-06-03 03:38:44 +00008639#
Lev Walkin5af1a692006-08-18 01:54:27 +00008640# This file is free software; the Free Software Foundation
8641# gives unlimited permission to copy and/or distribute it,
8642# with or without modifications, as long as this notice is preserved.
Lev Walkinf15320b2004-06-03 03:38:44 +00008643
Lev Walkin5af1a692006-08-18 01:54:27 +00008644# serial 4
Lev Walkinf15320b2004-06-03 03:38:44 +00008645
8646# AM_SANITY_CHECK
8647# ---------------
8648AC_DEFUN([AM_SANITY_CHECK],
8649[AC_MSG_CHECKING([whether build environment is sane])
8650# Just in case
8651sleep 1
8652echo timestamp > conftest.file
8653# Do `set' in a subshell so we don't clobber the current shell's
8654# arguments. Must try -L first in case configure is actually a
8655# symlink; some systems play weird games with the mod time of symlinks
8656# (eg FreeBSD returns the mod time of the symlink's containing
8657# directory).
8658if (
8659 set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
8660 if test "$[*]" = "X"; then
8661 # -L didn't work.
8662 set X `ls -t $srcdir/configure conftest.file`
8663 fi
8664 rm -f conftest.file
8665 if test "$[*]" != "X $srcdir/configure conftest.file" \
8666 && test "$[*]" != "X conftest.file $srcdir/configure"; then
8667
8668 # If neither matched, then we have a broken ls. This can happen
8669 # if, for instance, CONFIG_SHELL is bash and it inherits a
8670 # broken ls alias from the environment. This has actually
8671 # happened. Such a system could not be considered "sane".
8672 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
8673alias in your environment])
8674 fi
8675
8676 test "$[2]" = conftest.file
8677 )
8678then
8679 # Ok.
8680 :
8681else
8682 AC_MSG_ERROR([newly created file is older than distributed files!
8683Check your system clock])
8684fi
8685AC_MSG_RESULT(yes)])
8686
Lev Walkin5af1a692006-08-18 01:54:27 +00008687# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8688#
8689# This file is free software; the Free Software Foundation
8690# gives unlimited permission to copy and/or distribute it,
8691# with or without modifications, as long as this notice is preserved.
8692
Lev Walkin8e8b5482004-06-17 23:42:48 +00008693# AM_PROG_INSTALL_STRIP
Lev Walkin5af1a692006-08-18 01:54:27 +00008694# ---------------------
Lev Walkinf15320b2004-06-03 03:38:44 +00008695# One issue with vendor `install' (even GNU) is that you can't
8696# specify the program used to strip binaries. This is especially
8697# annoying in cross-compiling environments, where the build's strip
8698# is unlikely to handle the host's binaries.
8699# Fortunately install-sh will honor a STRIPPROG variable, so we
8700# always use install-sh in `make install-strip', and initialize
8701# STRIPPROG with the value of the STRIP variable (set by the user).
8702AC_DEFUN([AM_PROG_INSTALL_STRIP],
8703[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
Lev Walkin8e8b5482004-06-17 23:42:48 +00008704# Installed binaries are usually stripped using `strip' when the user
8705# run `make install-strip'. However `strip' might not be the right
8706# tool to use in cross-compilation environments, therefore Automake
8707# will honor the `STRIP' environment variable to overrule this program.
8708dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
8709if test "$cross_compiling" != no; then
8710 AC_CHECK_TOOL([STRIP], [strip], :)
8711fi
Lev Walkin4c776e52010-11-08 02:07:31 -08008712INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
Lev Walkinf15320b2004-06-03 03:38:44 +00008713AC_SUBST([INSTALL_STRIP_PROGRAM])])
8714
Lev Walkin4c776e52010-11-08 02:07:31 -08008715# Copyright (C) 2006 Free Software Foundation, Inc.
8716#
8717# This file is free software; the Free Software Foundation
8718# gives unlimited permission to copy and/or distribute it,
8719# with or without modifications, as long as this notice is preserved.
8720
8721# _AM_SUBST_NOTMAKE(VARIABLE)
8722# ---------------------------
8723# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
8724# This macro is traced by Automake.
8725AC_DEFUN([_AM_SUBST_NOTMAKE])
8726
Lev Walkin5af1a692006-08-18 01:54:27 +00008727# Check how to create a tarball. -*- Autoconf -*-
8728
8729# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
8730#
8731# This file is free software; the Free Software Foundation
8732# gives unlimited permission to copy and/or distribute it,
8733# with or without modifications, as long as this notice is preserved.
8734
8735# serial 2
8736
8737# _AM_PROG_TAR(FORMAT)
8738# --------------------
8739# Check how to create a tarball in format FORMAT.
8740# FORMAT should be one of `v7', `ustar', or `pax'.
8741#
8742# Substitute a variable $(am__tar) that is a command
8743# writing to stdout a FORMAT-tarball containing the directory
8744# $tardir.
8745# tardir=directory && $(am__tar) > result.tar
8746#
8747# Substitute a variable $(am__untar) that extract such
8748# a tarball read from stdin.
8749# $(am__untar) < result.tar
8750AC_DEFUN([_AM_PROG_TAR],
8751[# Always define AMTAR for backward compatibility.
8752AM_MISSING_PROG([AMTAR], [tar])
8753m4_if([$1], [v7],
8754 [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
8755 [m4_case([$1], [ustar],, [pax],,
8756 [m4_fatal([Unknown tar format])])
8757AC_MSG_CHECKING([how to create a $1 tar archive])
8758# Loop over all known methods to create a tar archive until one works.
8759_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
8760_am_tools=${am_cv_prog_tar_$1-$_am_tools}
8761# Do not fold the above two line into one, because Tru64 sh and
8762# Solaris sh will not grok spaces in the rhs of `-'.
8763for _am_tool in $_am_tools
8764do
8765 case $_am_tool in
8766 gnutar)
8767 for _am_tar in tar gnutar gtar;
8768 do
8769 AM_RUN_LOG([$_am_tar --version]) && break
8770 done
8771 am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
8772 am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
8773 am__untar="$_am_tar -xf -"
8774 ;;
8775 plaintar)
8776 # Must skip GNU tar: if it does not support --format= it doesn't create
8777 # ustar tarball either.
8778 (tar --version) >/dev/null 2>&1 && continue
8779 am__tar='tar chf - "$$tardir"'
8780 am__tar_='tar chf - "$tardir"'
8781 am__untar='tar xf -'
8782 ;;
8783 pax)
8784 am__tar='pax -L -x $1 -w "$$tardir"'
8785 am__tar_='pax -L -x $1 -w "$tardir"'
8786 am__untar='pax -r'
8787 ;;
8788 cpio)
8789 am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
8790 am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
8791 am__untar='cpio -i -H $1 -d'
8792 ;;
8793 none)
8794 am__tar=false
8795 am__tar_=false
8796 am__untar=false
8797 ;;
8798 esac
8799
8800 # If the value was cached, stop now. We just wanted to have am__tar
8801 # and am__untar set.
8802 test -n "${am_cv_prog_tar_$1}" && break
8803
8804 # tar/untar a dummy directory, and stop if the command works
8805 rm -rf conftest.dir
8806 mkdir conftest.dir
8807 echo GrepMe > conftest.dir/file
8808 AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
8809 rm -rf conftest.dir
8810 if test -s conftest.tar; then
8811 AM_RUN_LOG([$am__untar <conftest.tar])
8812 grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
8813 fi
8814done
8815rm -rf conftest.dir
8816
8817AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
8818AC_MSG_RESULT([$am_cv_prog_tar_$1])])
8819AC_SUBST([am__tar])
8820AC_SUBST([am__untar])
8821]) # _AM_PROG_TAR
8822