blob: 27bc57cf431877883c2381fea4e1ae0cf0a8b947 [file] [log] [blame]
Patrick Scott5f6bd842010-06-28 16:55:16 -04001# generated automatically by aclocal 1.11 -*- Autoconf -*-
The Android Open Source Project893912b2009-03-03 19:30:05 -08002
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
Patrick Scott5f6bd842010-06-28 16:55:16 -04004# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005# 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.
The Android Open Source Project893912b2009-03-03 19:30:05 -08008
9# This program is distributed in the hope that it will be useful,
The Android Open Source Project4215dd12009-03-09 11:52:12 -070010# 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
14m4_ifndef([AC_AUTOCONF_VERSION],
15 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
Patrick Scott5f6bd842010-06-28 16:55:16 -040016m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
17[m4_warning([this file was generated for autoconf 2.65.
The Android Open Source Project4215dd12009-03-09 11:52:12 -070018You have another version of autoconf. It may work, but is not guaranteed to.
19If you have problems, you may need to regenerate the build system entirely.
20To do so, use the procedure documented by the package, typically `autoreconf'.])])
21
22# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
23#
24# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
25# 2006, 2007, 2008 Free Software Foundation, Inc.
26# Written by Gordon Matzigkeit, 1996
27#
28# This file is free software; the Free Software Foundation gives
29# unlimited permission to copy and/or distribute it, with or without
30# modifications, as long as this notice is preserved.
31
32m4_define([_LT_COPYING], [dnl
33# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
34# 2006, 2007, 2008 Free Software Foundation, Inc.
35# Written by Gordon Matzigkeit, 1996
36#
37# This file is part of GNU Libtool.
38#
39# GNU Libtool is free software; you can redistribute it and/or
40# modify it under the terms of the GNU General Public License as
41# published by the Free Software Foundation; either version 2 of
42# the License, or (at your option) any later version.
43#
44# As a special exception to the GNU General Public License,
45# if you distribute this file as part of a program or library that
46# is built using GNU Libtool, you may include this file under the
47# same distribution terms that you use for the rest of that program.
48#
49# GNU Libtool is distributed in the hope that it will be useful,
The Android Open Source Project893912b2009-03-03 19:30:05 -080050# but WITHOUT ANY WARRANTY; without even the implied warranty of
51# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
52# GNU General Public License for more details.
The Android Open Source Project4215dd12009-03-09 11:52:12 -070053#
The Android Open Source Project893912b2009-03-03 19:30:05 -080054# You should have received a copy of the GNU General Public License
The Android Open Source Project4215dd12009-03-09 11:52:12 -070055# along with GNU Libtool; see the file COPYING. If not, a copy
56# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
57# obtained by writing to the Free Software Foundation, Inc.,
58# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
59])
The Android Open Source Project893912b2009-03-03 19:30:05 -080060
Patrick Scott5f6bd842010-06-28 16:55:16 -040061# serial 56 LT_INIT
The Android Open Source Project893912b2009-03-03 19:30:05 -080062
63
The Android Open Source Project4215dd12009-03-09 11:52:12 -070064# LT_PREREQ(VERSION)
65# ------------------
66# Complain and exit if this libtool version is less that VERSION.
67m4_defun([LT_PREREQ],
68[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
69 [m4_default([$3],
70 [m4_fatal([Libtool version $1 or higher is required],
71 63)])],
72 [$2])])
The Android Open Source Project893912b2009-03-03 19:30:05 -080073
74
The Android Open Source Project4215dd12009-03-09 11:52:12 -070075# _LT_CHECK_BUILDDIR
76# ------------------
77# Complain if the absolute build directory name contains unusual characters
78m4_defun([_LT_CHECK_BUILDDIR],
79[case `pwd` in
80 *\ * | *\ *)
81 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
82esac
83])
The Android Open Source Project893912b2009-03-03 19:30:05 -080084
85
The Android Open Source Project4215dd12009-03-09 11:52:12 -070086# LT_INIT([OPTIONS])
87# ------------------
88AC_DEFUN([LT_INIT],
89[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
90AC_BEFORE([$0], [LT_LANG])dnl
91AC_BEFORE([$0], [LT_OUTPUT])dnl
92AC_BEFORE([$0], [LTDL_INIT])dnl
93m4_require([_LT_CHECK_BUILDDIR])dnl
94
95dnl Autoconf doesn't catch unexpanded LT_ macros by default:
96m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
97m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
98dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
99dnl unless we require an AC_DEFUNed macro:
100AC_REQUIRE([LTOPTIONS_VERSION])dnl
101AC_REQUIRE([LTSUGAR_VERSION])dnl
102AC_REQUIRE([LTVERSION_VERSION])dnl
103AC_REQUIRE([LTOBSOLETE_VERSION])dnl
104m4_require([_LT_PROG_LTMAIN])dnl
105
106dnl Parse OPTIONS
107_LT_SET_OPTIONS([$0], [$1])
The Android Open Source Project893912b2009-03-03 19:30:05 -0800108
109# This can be used to rebuild libtool when needed
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700110LIBTOOL_DEPS="$ltmain"
The Android Open Source Project893912b2009-03-03 19:30:05 -0800111
112# Always use our own libtool.
113LIBTOOL='$(SHELL) $(top_builddir)/libtool'
114AC_SUBST(LIBTOOL)dnl
115
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700116_LT_SETUP
117
118# Only expand once:
119m4_define([LT_INIT])
120])# LT_INIT
121
122# Old names:
123AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
124AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
125dnl aclocal-1.4 backwards compatibility:
126dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
127dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -0800128
129
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700130# _LT_CC_BASENAME(CC)
131# -------------------
132# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
133m4_defun([_LT_CC_BASENAME],
134[for cc_temp in $1""; do
135 case $cc_temp in
136 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
137 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
138 \-*) ;;
139 *) break;;
140 esac
141done
142cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
143])
144
145
146# _LT_FILEUTILS_DEFAULTS
147# ----------------------
148# It is okay to use these file commands and assume they have been set
149# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
150m4_defun([_LT_FILEUTILS_DEFAULTS],
151[: ${CP="cp -f"}
152: ${MV="mv -f"}
153: ${RM="rm -f"}
154])# _LT_FILEUTILS_DEFAULTS
155
156
157# _LT_SETUP
158# ---------
159m4_defun([_LT_SETUP],
160[AC_REQUIRE([AC_CANONICAL_HOST])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -0800161AC_REQUIRE([AC_CANONICAL_BUILD])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700162_LT_DECL([], [host_alias], [0], [The host system])dnl
163_LT_DECL([], [host], [0])dnl
164_LT_DECL([], [host_os], [0])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -0800165dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700166_LT_DECL([], [build_alias], [0], [The build system])dnl
167_LT_DECL([], [build], [0])dnl
168_LT_DECL([], [build_os], [0])dnl
169dnl
170AC_REQUIRE([AC_PROG_CC])dnl
171AC_REQUIRE([LT_PATH_LD])dnl
172AC_REQUIRE([LT_PATH_NM])dnl
173dnl
174AC_REQUIRE([AC_PROG_LN_S])dnl
175test -z "$LN_S" && LN_S="ln -s"
176_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
177dnl
178AC_REQUIRE([LT_CMD_MAX_LEN])dnl
179_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
180_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
181dnl
182m4_require([_LT_FILEUTILS_DEFAULTS])dnl
183m4_require([_LT_CHECK_SHELL_FEATURES])dnl
184m4_require([_LT_CMD_RELOAD])dnl
185m4_require([_LT_CHECK_MAGIC_METHOD])dnl
186m4_require([_LT_CMD_OLD_ARCHIVE])dnl
187m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -0800188
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700189_LT_CONFIG_LIBTOOL_INIT([
190# See if we are running on zsh, and set the options which allow our
191# commands through without removal of \ escapes INIT.
192if test -n "\${ZSH_VERSION+set}" ; then
193 setopt NO_GLOB_SUBST
194fi
195])
196if test -n "${ZSH_VERSION+set}" ; then
197 setopt NO_GLOB_SUBST
198fi
The Android Open Source Project893912b2009-03-03 19:30:05 -0800199
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700200_LT_CHECK_OBJDIR
201
202m4_require([_LT_TAG_COMPILER])dnl
203_LT_PROG_ECHO_BACKSLASH
The Android Open Source Project893912b2009-03-03 19:30:05 -0800204
205case $host_os in
206aix3*)
207 # AIX sometimes has problems with the GCC collect2 program. For some
208 # reason, if we set the COLLECT_NAMES environment variable, the problems
209 # vanish in a puff of smoke.
210 if test "X${COLLECT_NAMES+set}" != Xset; then
211 COLLECT_NAMES=
212 export COLLECT_NAMES
213 fi
214 ;;
215esac
216
217# Sed substitution that helps us do robust quoting. It backslashifies
218# metacharacters that are still active within double-quoted strings.
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700219sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
The Android Open Source Project893912b2009-03-03 19:30:05 -0800220
221# Same as above, but do not quote variable references.
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700222double_quote_subst='s/\([["`\\]]\)/\\\1/g'
The Android Open Source Project893912b2009-03-03 19:30:05 -0800223
224# Sed substitution to delay expansion of an escaped shell variable in a
225# double_quote_subst'ed string.
226delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
227
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700228# Sed substitution to delay expansion of an escaped single quote.
229delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
230
The Android Open Source Project893912b2009-03-03 19:30:05 -0800231# Sed substitution to avoid accidental globbing in evaled expressions
232no_glob_subst='s/\*/\\\*/g'
233
The Android Open Source Project893912b2009-03-03 19:30:05 -0800234# Global variables:
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700235ofile=libtool
The Android Open Source Project893912b2009-03-03 19:30:05 -0800236can_build_shared=yes
237
238# All known linkers require a `.a' archive for static linking (except MSVC,
239# which needs '.lib').
240libext=a
The Android Open Source Project893912b2009-03-03 19:30:05 -0800241
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700242with_gnu_ld="$lt_cv_prog_gnu_ld"
The Android Open Source Project893912b2009-03-03 19:30:05 -0800243
244old_CC="$CC"
245old_CFLAGS="$CFLAGS"
246
247# Set sane defaults for various variables
The Android Open Source Project893912b2009-03-03 19:30:05 -0800248test -z "$CC" && CC=cc
249test -z "$LTCC" && LTCC=$CC
250test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
The Android Open Source Project893912b2009-03-03 19:30:05 -0800251test -z "$LD" && LD=ld
The Android Open Source Project893912b2009-03-03 19:30:05 -0800252test -z "$ac_objext" && ac_objext=o
253
The Android Open Source Project893912b2009-03-03 19:30:05 -0800254_LT_CC_BASENAME([$compiler])
255
256# Only perform the check for file, if the check method requires it
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700257test -z "$MAGIC_CMD" && MAGIC_CMD=file
The Android Open Source Project893912b2009-03-03 19:30:05 -0800258case $deplibs_check_method in
259file_magic*)
260 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700261 _LT_PATH_MAGIC
The Android Open Source Project893912b2009-03-03 19:30:05 -0800262 fi
263 ;;
264esac
265
The Android Open Source Project893912b2009-03-03 19:30:05 -0800266# Use C for the default configuration in the libtool script
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700267LT_SUPPORTED_TAG([CC])
268_LT_LANG_C_CONFIG
269_LT_LANG_DEFAULT_CONFIG
270_LT_CONFIG_COMMANDS
271])# _LT_SETUP
The Android Open Source Project893912b2009-03-03 19:30:05 -0800272
273
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700274# _LT_PROG_LTMAIN
275# ---------------
276# Note that this code is called both from `configure', and `config.status'
277# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
278# `config.status' has no value for ac_aux_dir unless we are using Automake,
279# so we pass a copy along to make sure it has a sensible value anyway.
280m4_defun([_LT_PROG_LTMAIN],
281[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
282_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
283ltmain="$ac_aux_dir/ltmain.sh"
284])# _LT_PROG_LTMAIN
285
286
287
288# So that we can recreate a full libtool script including additional
289# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
290# in macros and then make a single call at the end using the `libtool'
291# label.
292
293
294# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
295# ----------------------------------------
296# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
297m4_define([_LT_CONFIG_LIBTOOL_INIT],
298[m4_ifval([$1],
299 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
300 [$1
301])])])
302
303# Initialize.
304m4_define([_LT_OUTPUT_LIBTOOL_INIT])
305
306
307# _LT_CONFIG_LIBTOOL([COMMANDS])
308# ------------------------------
309# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
310m4_define([_LT_CONFIG_LIBTOOL],
311[m4_ifval([$1],
312 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
313 [$1
314])])])
315
316# Initialize.
317m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
318
319
320# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
321# -----------------------------------------------------
322m4_defun([_LT_CONFIG_SAVE_COMMANDS],
323[_LT_CONFIG_LIBTOOL([$1])
324_LT_CONFIG_LIBTOOL_INIT([$2])
325])
326
327
328# _LT_FORMAT_COMMENT([COMMENT])
329# -----------------------------
330# Add leading comment marks to the start of each line, and a trailing
331# full-stop to the whole comment if one is not present already.
332m4_define([_LT_FORMAT_COMMENT],
333[m4_ifval([$1], [
334m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
335 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
336)])
337
338
339
340
341
342# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
343# -------------------------------------------------------------------
344# CONFIGNAME is the name given to the value in the libtool script.
345# VARNAME is the (base) name used in the configure script.
346# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
347# VARNAME. Any other value will be used directly.
348m4_define([_LT_DECL],
349[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
350 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
351 [m4_ifval([$1], [$1], [$2])])
352 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
353 m4_ifval([$4],
354 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
355 lt_dict_add_subkey([lt_decl_dict], [$2],
356 [tagged?], [m4_ifval([$5], [yes], [no])])])
357])
358
359
360# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
361# --------------------------------------------------------
362m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
363
364
365# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
366# ------------------------------------------------
367m4_define([lt_decl_tag_varnames],
368[_lt_decl_filter([tagged?], [yes], $@)])
369
370
371# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
372# ---------------------------------------------------------
373m4_define([_lt_decl_filter],
374[m4_case([$#],
375 [0], [m4_fatal([$0: too few arguments: $#])],
376 [1], [m4_fatal([$0: too few arguments: $#: $1])],
377 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
378 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
379 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
380])
381
382
383# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
384# --------------------------------------------------
385m4_define([lt_decl_quote_varnames],
386[_lt_decl_filter([value], [1], $@)])
387
388
389# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
390# ---------------------------------------------------
391m4_define([lt_decl_dquote_varnames],
392[_lt_decl_filter([value], [2], $@)])
393
394
395# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
396# ---------------------------------------------------
397m4_define([lt_decl_varnames_tagged],
Patrick Scott5f6bd842010-06-28 16:55:16 -0400398[m4_assert([$# <= 2])dnl
399_$0(m4_quote(m4_default([$1], [[, ]])),
400 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
401 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
402m4_define([_lt_decl_varnames_tagged],
403[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700404
405
406# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
407# ------------------------------------------------
408m4_define([lt_decl_all_varnames],
409[_$0(m4_quote(m4_default([$1], [[, ]])),
410 m4_if([$2], [],
411 m4_quote(lt_decl_varnames),
412 m4_quote(m4_shift($@))))[]dnl
413])
414m4_define([_lt_decl_all_varnames],
415[lt_join($@, lt_decl_varnames_tagged([$1],
416 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
417])
418
419
420# _LT_CONFIG_STATUS_DECLARE([VARNAME])
421# ------------------------------------
422# Quote a variable value, and forward it to `config.status' so that its
423# declaration there will have the same value as in `configure'. VARNAME
424# must have a single quote delimited value for this to work.
425m4_define([_LT_CONFIG_STATUS_DECLARE],
426[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
427
428
429# _LT_CONFIG_STATUS_DECLARATIONS
430# ------------------------------
431# We delimit libtool config variables with single quotes, so when
432# we write them to config.status, we have to be sure to quote all
433# embedded single quotes properly. In configure, this macro expands
434# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
435#
436# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
437m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
438[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
439 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
440
441
442# _LT_LIBTOOL_TAGS
443# ----------------
444# Output comment and list of tags supported by the script
445m4_defun([_LT_LIBTOOL_TAGS],
446[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
447available_tags="_LT_TAGS"dnl
448])
449
450
451# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
452# -----------------------------------
453# Extract the dictionary values for VARNAME (optionally with TAG) and
454# expand to a commented shell variable setting:
455#
456# # Some comment about what VAR is for.
457# visible_name=$lt_internal_name
458m4_define([_LT_LIBTOOL_DECLARE],
459[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
460 [description])))[]dnl
461m4_pushdef([_libtool_name],
462 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
463m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
464 [0], [_libtool_name=[$]$1],
465 [1], [_libtool_name=$lt_[]$1],
466 [2], [_libtool_name=$lt_[]$1],
467 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
468m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
469])
470
471
472# _LT_LIBTOOL_CONFIG_VARS
473# -----------------------
474# Produce commented declarations of non-tagged libtool config variables
475# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
476# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
477# section) are produced by _LT_LIBTOOL_TAG_VARS.
478m4_defun([_LT_LIBTOOL_CONFIG_VARS],
479[m4_foreach([_lt_var],
480 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
481 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
482
483
484# _LT_LIBTOOL_TAG_VARS(TAG)
485# -------------------------
486m4_define([_LT_LIBTOOL_TAG_VARS],
487[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
488 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
489
490
491# _LT_TAGVAR(VARNAME, [TAGNAME])
492# ------------------------------
493m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
494
495
496# _LT_CONFIG_COMMANDS
The Android Open Source Project893912b2009-03-03 19:30:05 -0800497# -------------------
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700498# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
499# variables for single and double quote escaping we saved from calls
500# to _LT_DECL, we can put quote escaped variables declarations
501# into `config.status', and then the shell code to quote escape them in
502# for loops in `config.status'. Finally, any additional code accumulated
503# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
504m4_defun([_LT_CONFIG_COMMANDS],
505[AC_PROVIDE_IFELSE([LT_OUTPUT],
506 dnl If the libtool generation code has been placed in $CONFIG_LT,
507 dnl instead of duplicating it all over again into config.status,
508 dnl then we will have config.status run $CONFIG_LT later, so it
509 dnl needs to know what name is stored there:
510 [AC_CONFIG_COMMANDS([libtool],
511 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
512 dnl If the libtool generation code is destined for config.status,
513 dnl expand the accumulated commands and init code now:
514 [AC_CONFIG_COMMANDS([libtool],
515 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
516])#_LT_CONFIG_COMMANDS
517
518
519# Initialize.
520m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
521[
522
523# The HP-UX ksh and POSIX shell print the target directory to stdout
524# if CDPATH is set.
525(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
526
527sed_quote_subst='$sed_quote_subst'
528double_quote_subst='$double_quote_subst'
529delay_variable_subst='$delay_variable_subst'
530_LT_CONFIG_STATUS_DECLARATIONS
531LTCC='$LTCC'
532LTCFLAGS='$LTCFLAGS'
533compiler='$compiler_DEFAULT'
534
535# Quote evaled strings.
536for var in lt_decl_all_varnames([[ \
537]], lt_decl_quote_varnames); do
538 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
539 *[[\\\\\\\`\\"\\\$]]*)
540 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
541 ;;
542 *)
543 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
544 ;;
545 esac
546done
547
548# Double-quote double-evaled strings.
549for var in lt_decl_all_varnames([[ \
550]], lt_decl_dquote_varnames); do
551 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
552 *[[\\\\\\\`\\"\\\$]]*)
553 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
554 ;;
555 *)
556 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
557 ;;
558 esac
559done
560
561# Fix-up fallback echo if it was mangled by the above quoting rules.
562case \$lt_ECHO in
563*'\\\[$]0 --fallback-echo"')dnl "
564 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
565 ;;
566esac
567
568_LT_OUTPUT_LIBTOOL_INIT
569])
570
571
572# LT_OUTPUT
573# ---------
574# This macro allows early generation of the libtool script (before
575# AC_OUTPUT is called), incase it is used in configure for compilation
576# tests.
577AC_DEFUN([LT_OUTPUT],
578[: ${CONFIG_LT=./config.lt}
579AC_MSG_NOTICE([creating $CONFIG_LT])
580cat >"$CONFIG_LT" <<_LTEOF
581#! $SHELL
582# Generated by $as_me.
583# Run this file to recreate a libtool stub with the current configuration.
584
585lt_cl_silent=false
586SHELL=\${CONFIG_SHELL-$SHELL}
587_LTEOF
588
589cat >>"$CONFIG_LT" <<\_LTEOF
590AS_SHELL_SANITIZE
591_AS_PREPARE
592
593exec AS_MESSAGE_FD>&1
594exec AS_MESSAGE_LOG_FD>>config.log
595{
596 echo
597 AS_BOX([Running $as_me.])
598} >&AS_MESSAGE_LOG_FD
599
600lt_cl_help="\
601\`$as_me' creates a local libtool stub from the current configuration,
602for use in further configure time tests before the real libtool is
603generated.
604
605Usage: $[0] [[OPTIONS]]
606
607 -h, --help print this help, then exit
608 -V, --version print version number, then exit
609 -q, --quiet do not print progress messages
610 -d, --debug don't remove temporary files
611
612Report bugs to <bug-libtool@gnu.org>."
613
614lt_cl_version="\
615m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
616m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
617configured by $[0], generated by m4_PACKAGE_STRING.
618
619Copyright (C) 2008 Free Software Foundation, Inc.
620This config.lt script is free software; the Free Software Foundation
621gives unlimited permision to copy, distribute and modify it."
622
623while test $[#] != 0
624do
625 case $[1] in
626 --version | --v* | -V )
627 echo "$lt_cl_version"; exit 0 ;;
628 --help | --h* | -h )
629 echo "$lt_cl_help"; exit 0 ;;
630 --debug | --d* | -d )
631 debug=: ;;
632 --quiet | --q* | --silent | --s* | -q )
633 lt_cl_silent=: ;;
634
635 -*) AC_MSG_ERROR([unrecognized option: $[1]
636Try \`$[0] --help' for more information.]) ;;
637
638 *) AC_MSG_ERROR([unrecognized argument: $[1]
639Try \`$[0] --help' for more information.]) ;;
640 esac
641 shift
642done
643
644if $lt_cl_silent; then
645 exec AS_MESSAGE_FD>/dev/null
646fi
647_LTEOF
648
649cat >>"$CONFIG_LT" <<_LTEOF
650_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
651_LTEOF
652
653cat >>"$CONFIG_LT" <<\_LTEOF
654AC_MSG_NOTICE([creating $ofile])
655_LT_OUTPUT_LIBTOOL_COMMANDS
656AS_EXIT(0)
657_LTEOF
658chmod +x "$CONFIG_LT"
659
660# configure is writing to config.log, but config.lt does its own redirection,
661# appending to config.log, which fails on DOS, as config.log is still kept
662# open by configure. Here we exec the FD to /dev/null, effectively closing
663# config.log, so it can be properly (re)opened and appended to by config.lt.
664if test "$no_create" != yes; then
665 lt_cl_success=:
666 test "$silent" = yes &&
667 lt_config_lt_args="$lt_config_lt_args --quiet"
668 exec AS_MESSAGE_LOG_FD>/dev/null
669 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
670 exec AS_MESSAGE_LOG_FD>>config.log
671 $lt_cl_success || AS_EXIT(1)
672fi
673])# LT_OUTPUT
674
675
676# _LT_CONFIG(TAG)
677# ---------------
678# If TAG is the built-in tag, create an initial libtool script with a
679# default configuration from the untagged config vars. Otherwise add code
680# to config.status for appending the configuration named by TAG from the
681# matching tagged config vars.
682m4_defun([_LT_CONFIG],
683[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
684_LT_CONFIG_SAVE_COMMANDS([
685 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
686 m4_if(_LT_TAG, [C], [
687 # See if we are running on zsh, and set the options which allow our
688 # commands through without removal of \ escapes.
689 if test -n "${ZSH_VERSION+set}" ; then
690 setopt NO_GLOB_SUBST
691 fi
692
693 cfgfile="${ofile}T"
694 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
695 $RM "$cfgfile"
696
697 cat <<_LT_EOF >> "$cfgfile"
698#! $SHELL
699
700# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
701# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
702# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
703# NOTE: Changes made to this file will be lost: look at ltmain.sh.
704#
705_LT_COPYING
706_LT_LIBTOOL_TAGS
707
708# ### BEGIN LIBTOOL CONFIG
709_LT_LIBTOOL_CONFIG_VARS
710_LT_LIBTOOL_TAG_VARS
711# ### END LIBTOOL CONFIG
712
713_LT_EOF
714
715 case $host_os in
716 aix3*)
717 cat <<\_LT_EOF >> "$cfgfile"
718# AIX sometimes has problems with the GCC collect2 program. For some
719# reason, if we set the COLLECT_NAMES environment variable, the problems
720# vanish in a puff of smoke.
721if test "X${COLLECT_NAMES+set}" != Xset; then
722 COLLECT_NAMES=
723 export COLLECT_NAMES
724fi
725_LT_EOF
726 ;;
727 esac
728
729 _LT_PROG_LTMAIN
730
731 # We use sed instead of cat because bash on DJGPP gets confused if
732 # if finds mixed CR/LF and LF-only lines. Since sed operates in
733 # text mode, it properly converts lines to CR/LF. This bash problem
734 # is reportedly fixed, but why not run on old versions too?
735 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
736 || (rm -f "$cfgfile"; exit 1)
737
738 _LT_PROG_XSI_SHELLFNS
739
740 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
741 || (rm -f "$cfgfile"; exit 1)
742
743 mv -f "$cfgfile" "$ofile" ||
744 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
745 chmod +x "$ofile"
746],
747[cat <<_LT_EOF >> "$ofile"
748
749dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
750dnl in a comment (ie after a #).
751# ### BEGIN LIBTOOL TAG CONFIG: $1
752_LT_LIBTOOL_TAG_VARS(_LT_TAG)
753# ### END LIBTOOL TAG CONFIG: $1
754_LT_EOF
755])dnl /m4_if
756],
757[m4_if([$1], [], [
758 PACKAGE='$PACKAGE'
759 VERSION='$VERSION'
760 TIMESTAMP='$TIMESTAMP'
761 RM='$RM'
762 ofile='$ofile'], [])
763])dnl /_LT_CONFIG_SAVE_COMMANDS
764])# _LT_CONFIG
765
766
767# LT_SUPPORTED_TAG(TAG)
768# ---------------------
769# Trace this macro to discover what tags are supported by the libtool
770# --tag option, using:
771# autoconf --trace 'LT_SUPPORTED_TAG:$1'
772AC_DEFUN([LT_SUPPORTED_TAG], [])
773
774
775# C support is built-in for now
776m4_define([_LT_LANG_C_enabled], [])
777m4_define([_LT_TAGS], [])
778
779
780# LT_LANG(LANG)
781# -------------
782# Enable libtool support for the given language if not already enabled.
783AC_DEFUN([LT_LANG],
784[AC_BEFORE([$0], [LT_OUTPUT])dnl
785m4_case([$1],
786 [C], [_LT_LANG(C)],
787 [C++], [_LT_LANG(CXX)],
788 [Java], [_LT_LANG(GCJ)],
789 [Fortran 77], [_LT_LANG(F77)],
790 [Fortran], [_LT_LANG(FC)],
791 [Windows Resource], [_LT_LANG(RC)],
792 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
793 [_LT_LANG($1)],
794 [m4_fatal([$0: unsupported language: "$1"])])])dnl
795])# LT_LANG
796
797
798# _LT_LANG(LANGNAME)
799# ------------------
800m4_defun([_LT_LANG],
801[m4_ifdef([_LT_LANG_]$1[_enabled], [],
802 [LT_SUPPORTED_TAG([$1])dnl
803 m4_append([_LT_TAGS], [$1 ])dnl
804 m4_define([_LT_LANG_]$1[_enabled], [])dnl
805 _LT_LANG_$1_CONFIG($1)])dnl
806])# _LT_LANG
807
808
809# _LT_LANG_DEFAULT_CONFIG
810# -----------------------
811m4_defun([_LT_LANG_DEFAULT_CONFIG],
812[AC_PROVIDE_IFELSE([AC_PROG_CXX],
813 [LT_LANG(CXX)],
814 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
815
816AC_PROVIDE_IFELSE([AC_PROG_F77],
817 [LT_LANG(F77)],
818 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
819
820AC_PROVIDE_IFELSE([AC_PROG_FC],
821 [LT_LANG(FC)],
822 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
823
824dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
825dnl pulling things in needlessly.
826AC_PROVIDE_IFELSE([AC_PROG_GCJ],
827 [LT_LANG(GCJ)],
828 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
829 [LT_LANG(GCJ)],
830 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
831 [LT_LANG(GCJ)],
832 [m4_ifdef([AC_PROG_GCJ],
833 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
834 m4_ifdef([A][M_PROG_GCJ],
835 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
836 m4_ifdef([LT_PROG_GCJ],
837 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
838
839AC_PROVIDE_IFELSE([LT_PROG_RC],
840 [LT_LANG(RC)],
841 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
842])# _LT_LANG_DEFAULT_CONFIG
843
844# Obsolete macros:
845AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
846AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
847AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
848AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
849dnl aclocal-1.4 backwards compatibility:
850dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
851dnl AC_DEFUN([AC_LIBTOOL_F77], [])
852dnl AC_DEFUN([AC_LIBTOOL_FC], [])
853dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
854
855
856# _LT_TAG_COMPILER
857# ----------------
858m4_defun([_LT_TAG_COMPILER],
The Android Open Source Project893912b2009-03-03 19:30:05 -0800859[AC_REQUIRE([AC_PROG_CC])dnl
860
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700861_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
862_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
863_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
864_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
865
The Android Open Source Project893912b2009-03-03 19:30:05 -0800866# If no C compiler was specified, use CC.
867LTCC=${LTCC-"$CC"}
868
869# If no C compiler flags were specified, use CFLAGS.
870LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
871
872# Allow CC to be a program name with arguments.
873compiler=$CC
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700874])# _LT_TAG_COMPILER
The Android Open Source Project893912b2009-03-03 19:30:05 -0800875
876
877# _LT_COMPILER_BOILERPLATE
878# ------------------------
879# Check for compiler boilerplate output or warnings with
880# the simple compiler test code.
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700881m4_defun([_LT_COMPILER_BOILERPLATE],
882[m4_require([_LT_DECL_SED])dnl
883ac_outfile=conftest.$ac_objext
884echo "$lt_simple_compile_test_code" >conftest.$ac_ext
The Android Open Source Project893912b2009-03-03 19:30:05 -0800885eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
886_lt_compiler_boilerplate=`cat conftest.err`
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700887$RM conftest*
The Android Open Source Project893912b2009-03-03 19:30:05 -0800888])# _LT_COMPILER_BOILERPLATE
889
890
891# _LT_LINKER_BOILERPLATE
892# ----------------------
893# Check for linker boilerplate output or warnings with
894# the simple link test code.
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700895m4_defun([_LT_LINKER_BOILERPLATE],
896[m4_require([_LT_DECL_SED])dnl
897ac_outfile=conftest.$ac_objext
898echo "$lt_simple_link_test_code" >conftest.$ac_ext
The Android Open Source Project893912b2009-03-03 19:30:05 -0800899eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
900_lt_linker_boilerplate=`cat conftest.err`
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700901$RM -r conftest*
The Android Open Source Project893912b2009-03-03 19:30:05 -0800902])# _LT_LINKER_BOILERPLATE
903
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700904# _LT_REQUIRED_DARWIN_CHECKS
905# -------------------------
906m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
907 case $host_os in
908 rhapsody* | darwin*)
909 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
910 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
911 AC_CHECK_TOOL([LIPO], [lipo], [:])
Patrick Scott5f6bd842010-06-28 16:55:16 -0400912 AC_CHECK_TOOL([OTOOL], [otool], [:])
913 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700914 _LT_DECL([], [DSYMUTIL], [1],
915 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
916 _LT_DECL([], [NMEDIT], [1],
917 [Tool to change global to local symbols on Mac OS X])
918 _LT_DECL([], [LIPO], [1],
919 [Tool to manipulate fat objects and archives on Mac OS X])
Patrick Scott5f6bd842010-06-28 16:55:16 -0400920 _LT_DECL([], [OTOOL], [1],
921 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
922 _LT_DECL([], [OTOOL64], [1],
923 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
The Android Open Source Project893912b2009-03-03 19:30:05 -0800924
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700925 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
926 [lt_cv_apple_cc_single_mod=no
927 if test -z "${LT_MULTI_MODULE}"; then
928 # By default we will add the -single_module flag. You can override
929 # by either setting the environment variable LT_MULTI_MODULE
930 # non-empty at configure time, or by adding -multi_module to the
931 # link flags.
932 rm -rf libconftest.dylib*
933 echo "int foo(void){return 1;}" > conftest.c
934 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
935-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
936 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
937 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
938 _lt_result=$?
939 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
940 lt_cv_apple_cc_single_mod=yes
941 else
942 cat conftest.err >&AS_MESSAGE_LOG_FD
943 fi
944 rm -rf libconftest.dylib*
945 rm -f conftest.*
946 fi])
947 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
948 [lt_cv_ld_exported_symbols_list],
949 [lt_cv_ld_exported_symbols_list=no
950 save_LDFLAGS=$LDFLAGS
951 echo "_main" > conftest.sym
952 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
953 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
954 [lt_cv_ld_exported_symbols_list=yes],
955 [lt_cv_ld_exported_symbols_list=no])
956 LDFLAGS="$save_LDFLAGS"
957 ])
958 case $host_os in
959 rhapsody* | darwin1.[[012]])
960 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
961 darwin1.*)
962 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -0400963 darwin*) # darwin 5.x on
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700964 # if running on 10.5 or later, the deployment target defaults
965 # to the OS version, if on x86, and 10.4, the deployment
Patrick Scott5f6bd842010-06-28 16:55:16 -0400966 # target defaults to 10.4. Don't you love it?
The Android Open Source Project4215dd12009-03-09 11:52:12 -0700967 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
968 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
969 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
970 10.[[012]]*)
971 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
972 10.*)
973 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
974 esac
975 ;;
976 esac
977 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
978 _lt_dar_single_mod='$single_module'
979 fi
980 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
981 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
982 else
983 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
984 fi
985 if test "$DSYMUTIL" != ":"; then
986 _lt_dsymutil='~$DSYMUTIL $lib || :'
987 else
988 _lt_dsymutil=
989 fi
990 ;;
991 esac
992])
993
994
995# _LT_DARWIN_LINKER_FEATURES
996# --------------------------
997# Checks for linker and compiler features on darwin
998m4_defun([_LT_DARWIN_LINKER_FEATURES],
999[
1000 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1001 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1002 _LT_TAGVAR(hardcode_direct, $1)=no
1003 _LT_TAGVAR(hardcode_automatic, $1)=yes
1004 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1005 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1006 _LT_TAGVAR(link_all_deplibs, $1)=yes
1007 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
Patrick Scott5f6bd842010-06-28 16:55:16 -04001008 case $cc_basename in
1009 ifort*) _lt_dar_can_shared=yes ;;
1010 *) _lt_dar_can_shared=$GCC ;;
1011 esac
1012 if test "$_lt_dar_can_shared" = "yes"; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001013 output_verbose_link_cmd=echo
1014 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
1015 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1016 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
1017 _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
1018 m4_if([$1], [CXX],
1019[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1020 _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
1021 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
1022 fi
1023],[])
1024 else
1025 _LT_TAGVAR(ld_shlibs, $1)=no
1026 fi
1027])
1028
1029# _LT_SYS_MODULE_PATH_AIX
1030# -----------------------
The Android Open Source Project893912b2009-03-03 19:30:05 -08001031# Links a minimal program and checks the executable
1032# for the system default hardcoded library path. In most cases,
1033# this is /usr/lib:/lib, but when the MPI compilers are used
1034# the location of the communication and MPI libs are included too.
1035# If we don't find anything, use the default library path according
1036# to the aix ld manual.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001037m4_defun([_LT_SYS_MODULE_PATH_AIX],
1038[m4_require([_LT_DECL_SED])dnl
1039AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1040lt_aix_libpath_sed='
1041 /Import File Strings/,/^$/ {
1042 /^0/ {
1043 s/^0 *\(.*\)$/\1/
1044 p
1045 }
1046 }'
1047aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
The Android Open Source Project893912b2009-03-03 19:30:05 -08001048# Check for a 64-bit object if we didn't find anything.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001049if test -z "$aix_libpath"; then
1050 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1051fi],[])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001052if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001053])# _LT_SYS_MODULE_PATH_AIX
The Android Open Source Project893912b2009-03-03 19:30:05 -08001054
1055
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001056# _LT_SHELL_INIT(ARG)
1057# -------------------
1058m4_define([_LT_SHELL_INIT],
The Android Open Source Project893912b2009-03-03 19:30:05 -08001059[ifdef([AC_DIVERSION_NOTICE],
1060 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1061 [AC_DIVERT_PUSH(NOTICE)])
1062$1
1063AC_DIVERT_POP
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001064])# _LT_SHELL_INIT
The Android Open Source Project893912b2009-03-03 19:30:05 -08001065
1066
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001067# _LT_PROG_ECHO_BACKSLASH
1068# -----------------------
The Android Open Source Project893912b2009-03-03 19:30:05 -08001069# Add some code to the start of the generated configure script which
1070# will find an echo command which doesn't interpret backslashes.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001071m4_defun([_LT_PROG_ECHO_BACKSLASH],
1072[_LT_SHELL_INIT([
The Android Open Source Project893912b2009-03-03 19:30:05 -08001073# Check that we are running under the correct shell.
1074SHELL=${CONFIG_SHELL-/bin/sh}
1075
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001076case X$lt_ECHO in
The Android Open Source Project893912b2009-03-03 19:30:05 -08001077X*--fallback-echo)
1078 # Remove one level of quotation (which was required for Make).
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001079 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
The Android Open Source Project893912b2009-03-03 19:30:05 -08001080 ;;
1081esac
1082
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001083ECHO=${lt_ECHO-echo}
The Android Open Source Project893912b2009-03-03 19:30:05 -08001084if test "X[$]1" = X--no-reexec; then
1085 # Discard the --no-reexec flag, and continue.
1086 shift
1087elif test "X[$]1" = X--fallback-echo; then
1088 # Avoid inline document here, it may be left over
1089 :
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001090elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1091 # Yippee, $ECHO works!
The Android Open Source Project893912b2009-03-03 19:30:05 -08001092 :
1093else
1094 # Restart under the correct shell.
1095 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1096fi
1097
1098if test "X[$]1" = X--fallback-echo; then
1099 # used as fallback echo
1100 shift
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001101 cat <<_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08001102[$]*
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001103_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08001104 exit 0
1105fi
1106
1107# The HP-UX ksh and POSIX shell print the target directory to stdout
1108# if CDPATH is set.
1109(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1110
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001111if test -z "$lt_ECHO"; then
1112 if test "X${echo_test_string+set}" != Xset; then
1113 # find a string as large as possible, as long as the shell can cope with it
1114 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1115 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1116 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1117 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1118 then
1119 break
1120 fi
1121 done
1122 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08001123
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001124 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1125 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1126 test "X$echo_testing_string" = "X$echo_test_string"; then
1127 :
1128 else
1129 # The Solaris, AIX, and Digital Unix default echo programs unquote
1130 # backslashes. This makes it impossible to quote backslashes using
1131 # echo "$something" | sed 's/\\/\\\\/g'
1132 #
1133 # So, first we look for a working echo in the user's PATH.
The Android Open Source Project893912b2009-03-03 19:30:05 -08001134
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001135 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1136 for dir in $PATH /usr/ucb; do
1137 IFS="$lt_save_ifs"
1138 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1139 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1140 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1141 test "X$echo_testing_string" = "X$echo_test_string"; then
1142 ECHO="$dir/echo"
1143 break
1144 fi
1145 done
The Android Open Source Project893912b2009-03-03 19:30:05 -08001146 IFS="$lt_save_ifs"
The Android Open Source Project893912b2009-03-03 19:30:05 -08001147
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001148 if test "X$ECHO" = Xecho; then
1149 # We didn't find a better echo, so look for alternatives.
1150 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1151 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1152 test "X$echo_testing_string" = "X$echo_test_string"; then
1153 # This shell has a builtin print -r that does the trick.
1154 ECHO='print -r'
1155 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1156 test "X$CONFIG_SHELL" != X/bin/ksh; then
1157 # If we have ksh, try running configure again with it.
1158 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1159 export ORIGINAL_CONFIG_SHELL
1160 CONFIG_SHELL=/bin/ksh
1161 export CONFIG_SHELL
1162 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
The Android Open Source Project893912b2009-03-03 19:30:05 -08001163 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001164 # Try using printf.
1165 ECHO='printf %s\n'
1166 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1167 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1168 test "X$echo_testing_string" = "X$echo_test_string"; then
1169 # Cool, printf works
1170 :
1171 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1172 test "X$echo_testing_string" = 'X\t' &&
1173 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1174 test "X$echo_testing_string" = "X$echo_test_string"; then
1175 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1176 export CONFIG_SHELL
1177 SHELL="$CONFIG_SHELL"
1178 export SHELL
1179 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1180 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1181 test "X$echo_testing_string" = 'X\t' &&
1182 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1183 test "X$echo_testing_string" = "X$echo_test_string"; then
1184 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1185 else
1186 # maybe with a smaller string...
1187 prev=:
The Android Open Source Project893912b2009-03-03 19:30:05 -08001188
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001189 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1190 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1191 then
1192 break
1193 fi
1194 prev="$cmd"
1195 done
1196
1197 if test "$prev" != 'sed 50q "[$]0"'; then
1198 echo_test_string=`eval $prev`
1199 export echo_test_string
1200 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1201 else
1202 # Oops. We lost completely, so just stick with echo.
1203 ECHO=echo
The Android Open Source Project893912b2009-03-03 19:30:05 -08001204 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001205 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08001206 fi
1207 fi
1208 fi
1209fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08001210
1211# Copy echo and quote the copy suitably for passing to libtool from
1212# the Makefile, instead of quoting the original, which is used later.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001213lt_ECHO=$ECHO
1214if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1215 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
The Android Open Source Project893912b2009-03-03 19:30:05 -08001216fi
1217
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001218AC_SUBST(lt_ECHO)
1219])
1220_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1221_LT_DECL([], [ECHO], [1],
1222 [An echo program that does not interpret backslashes])
1223])# _LT_PROG_ECHO_BACKSLASH
The Android Open Source Project893912b2009-03-03 19:30:05 -08001224
1225
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001226# _LT_ENABLE_LOCK
1227# ---------------
1228m4_defun([_LT_ENABLE_LOCK],
The Android Open Source Project893912b2009-03-03 19:30:05 -08001229[AC_ARG_ENABLE([libtool-lock],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001230 [AS_HELP_STRING([--disable-libtool-lock],
1231 [avoid locking (might break parallel builds)])])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001232test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1233
1234# Some flags need to be propagated to the compiler or linker for good
1235# libtool support.
1236case $host in
1237ia64-*-hpux*)
1238 # Find out which ABI we are using.
1239 echo 'int i;' > conftest.$ac_ext
1240 if AC_TRY_EVAL(ac_compile); then
1241 case `/usr/bin/file conftest.$ac_objext` in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001242 *ELF-32*)
1243 HPUX_IA64_MODE="32"
1244 ;;
1245 *ELF-64*)
1246 HPUX_IA64_MODE="64"
1247 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08001248 esac
1249 fi
1250 rm -rf conftest*
1251 ;;
1252*-*-irix6*)
1253 # Find out which ABI we are using.
1254 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1255 if AC_TRY_EVAL(ac_compile); then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001256 if test "$lt_cv_prog_gnu_ld" = yes; then
1257 case `/usr/bin/file conftest.$ac_objext` in
1258 *32-bit*)
1259 LD="${LD-ld} -melf32bsmip"
1260 ;;
1261 *N32*)
1262 LD="${LD-ld} -melf32bmipn32"
1263 ;;
1264 *64-bit*)
1265 LD="${LD-ld} -melf64bmip"
1266 ;;
1267 esac
1268 else
1269 case `/usr/bin/file conftest.$ac_objext` in
1270 *32-bit*)
1271 LD="${LD-ld} -32"
1272 ;;
1273 *N32*)
1274 LD="${LD-ld} -n32"
1275 ;;
1276 *64-bit*)
1277 LD="${LD-ld} -64"
1278 ;;
1279 esac
1280 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08001281 fi
1282 rm -rf conftest*
1283 ;;
1284
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001285x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1286s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08001287 # Find out which ABI we are using.
1288 echo 'int i;' > conftest.$ac_ext
1289 if AC_TRY_EVAL(ac_compile); then
1290 case `/usr/bin/file conftest.o` in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001291 *32-bit*)
1292 case $host in
1293 x86_64-*kfreebsd*-gnu)
1294 LD="${LD-ld} -m elf_i386_fbsd"
1295 ;;
1296 x86_64-*linux*)
1297 LD="${LD-ld} -m elf_i386"
1298 ;;
1299 ppc64-*linux*|powerpc64-*linux*)
1300 LD="${LD-ld} -m elf32ppclinux"
1301 ;;
1302 s390x-*linux*)
1303 LD="${LD-ld} -m elf_s390"
1304 ;;
1305 sparc64-*linux*)
1306 LD="${LD-ld} -m elf32_sparc"
1307 ;;
1308 esac
1309 ;;
1310 *64-bit*)
1311 case $host in
1312 x86_64-*kfreebsd*-gnu)
1313 LD="${LD-ld} -m elf_x86_64_fbsd"
1314 ;;
1315 x86_64-*linux*)
1316 LD="${LD-ld} -m elf_x86_64"
1317 ;;
1318 ppc*-*linux*|powerpc*-*linux*)
1319 LD="${LD-ld} -m elf64ppc"
1320 ;;
1321 s390*-*linux*|s390*-*tpf*)
1322 LD="${LD-ld} -m elf64_s390"
1323 ;;
1324 sparc*-*linux*)
1325 LD="${LD-ld} -m elf64_sparc"
1326 ;;
1327 esac
1328 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08001329 esac
1330 fi
1331 rm -rf conftest*
1332 ;;
1333
1334*-*-sco3.2v5*)
1335 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1336 SAVE_CFLAGS="$CFLAGS"
1337 CFLAGS="$CFLAGS -belf"
1338 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1339 [AC_LANG_PUSH(C)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001340 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001341 AC_LANG_POP])
1342 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1343 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1344 CFLAGS="$SAVE_CFLAGS"
1345 fi
1346 ;;
1347sparc*-*solaris*)
1348 # Find out which ABI we are using.
1349 echo 'int i;' > conftest.$ac_ext
1350 if AC_TRY_EVAL(ac_compile); then
1351 case `/usr/bin/file conftest.o` in
1352 *64-bit*)
1353 case $lt_cv_prog_gnu_ld in
1354 yes*) LD="${LD-ld} -m elf64_sparc" ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001355 *)
1356 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1357 LD="${LD-ld} -64"
1358 fi
1359 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08001360 esac
1361 ;;
1362 esac
1363 fi
1364 rm -rf conftest*
1365 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08001366esac
1367
1368need_locks="$enable_libtool_lock"
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001369])# _LT_ENABLE_LOCK
The Android Open Source Project893912b2009-03-03 19:30:05 -08001370
1371
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001372# _LT_CMD_OLD_ARCHIVE
1373# -------------------
1374m4_defun([_LT_CMD_OLD_ARCHIVE],
1375[AC_CHECK_TOOL(AR, ar, false)
1376test -z "$AR" && AR=ar
1377test -z "$AR_FLAGS" && AR_FLAGS=cru
1378_LT_DECL([], [AR], [1], [The archiver])
1379_LT_DECL([], [AR_FLAGS], [1])
1380
1381AC_CHECK_TOOL(STRIP, strip, :)
1382test -z "$STRIP" && STRIP=:
1383_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1384
1385AC_CHECK_TOOL(RANLIB, ranlib, :)
1386test -z "$RANLIB" && RANLIB=:
1387_LT_DECL([], [RANLIB], [1],
1388 [Commands used to install an old-style archive])
1389
1390# Determine commands to create old-style static archives.
1391old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1392old_postinstall_cmds='chmod 644 $oldlib'
1393old_postuninstall_cmds=
1394
1395if test -n "$RANLIB"; then
1396 case $host_os in
1397 openbsd*)
1398 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1399 ;;
1400 *)
1401 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1402 ;;
1403 esac
1404 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1405fi
1406_LT_DECL([], [old_postinstall_cmds], [2])
1407_LT_DECL([], [old_postuninstall_cmds], [2])
1408_LT_TAGDECL([], [old_archive_cmds], [2],
1409 [Commands used to build an old-style archive])
1410])# _LT_CMD_OLD_ARCHIVE
1411
1412
1413# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
The Android Open Source Project893912b2009-03-03 19:30:05 -08001414# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1415# ----------------------------------------------------------------
1416# Check whether the given compiler option works
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001417AC_DEFUN([_LT_COMPILER_OPTION],
1418[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1419m4_require([_LT_DECL_SED])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -08001420AC_CACHE_CHECK([$1], [$2],
1421 [$2=no
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001422 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1423 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
The Android Open Source Project893912b2009-03-03 19:30:05 -08001424 lt_compiler_flag="$3"
1425 # Insert the option either (1) after the last *FLAGS variable, or
1426 # (2) before a word containing "conftest.", or (3) at the end.
1427 # Note that $ac_compile itself does not contain backslashes and begins
1428 # with a dollar sign (not a hyphen), so the echo should work correctly.
1429 # The option is referenced via a variable to avoid confusing sed.
1430 lt_compile=`echo "$ac_compile" | $SED \
1431 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1432 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1433 -e 's:$: $lt_compiler_flag:'`
1434 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1435 (eval "$lt_compile" 2>conftest.err)
1436 ac_status=$?
1437 cat conftest.err >&AS_MESSAGE_LOG_FD
1438 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1439 if (exit $ac_status) && test -s "$ac_outfile"; then
1440 # The compiler can only warn and ignore the option if not recognized
1441 # So say no if there are warnings other than the usual output.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001442 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
The Android Open Source Project893912b2009-03-03 19:30:05 -08001443 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1444 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1445 $2=yes
1446 fi
1447 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001448 $RM conftest*
The Android Open Source Project893912b2009-03-03 19:30:05 -08001449])
1450
1451if test x"[$]$2" = xyes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001452 m4_if([$5], , :, [$5])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001453else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001454 m4_if([$6], , :, [$6])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001455fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001456])# _LT_COMPILER_OPTION
1457
1458# Old name:
1459AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1460dnl aclocal-1.4 backwards compatibility:
1461dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001462
1463
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001464# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1465# [ACTION-SUCCESS], [ACTION-FAILURE])
1466# ----------------------------------------------------
1467# Check whether the given linker option works
1468AC_DEFUN([_LT_LINKER_OPTION],
1469[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1470m4_require([_LT_DECL_SED])dnl
1471AC_CACHE_CHECK([$1], [$2],
The Android Open Source Project893912b2009-03-03 19:30:05 -08001472 [$2=no
1473 save_LDFLAGS="$LDFLAGS"
1474 LDFLAGS="$LDFLAGS $3"
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001475 echo "$lt_simple_link_test_code" > conftest.$ac_ext
The Android Open Source Project893912b2009-03-03 19:30:05 -08001476 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1477 # The linker can only warn and ignore the option if not recognized
1478 # So say no if there are warnings
1479 if test -s conftest.err; then
1480 # Append any errors to the config.log.
1481 cat conftest.err 1>&AS_MESSAGE_LOG_FD
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001482 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
The Android Open Source Project893912b2009-03-03 19:30:05 -08001483 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1484 if diff conftest.exp conftest.er2 >/dev/null; then
1485 $2=yes
1486 fi
1487 else
1488 $2=yes
1489 fi
1490 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001491 $RM -r conftest*
The Android Open Source Project893912b2009-03-03 19:30:05 -08001492 LDFLAGS="$save_LDFLAGS"
1493])
1494
1495if test x"[$]$2" = xyes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001496 m4_if([$4], , :, [$4])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001497else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001498 m4_if([$5], , :, [$5])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001499fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001500])# _LT_LINKER_OPTION
1501
1502# Old name:
1503AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1504dnl aclocal-1.4 backwards compatibility:
1505dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001506
1507
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001508# LT_CMD_MAX_LEN
1509#---------------
1510AC_DEFUN([LT_CMD_MAX_LEN],
1511[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1512# find the maximum length of command line arguments
The Android Open Source Project893912b2009-03-03 19:30:05 -08001513AC_MSG_CHECKING([the maximum length of command line arguments])
1514AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1515 i=0
1516 teststring="ABCD"
1517
1518 case $build_os in
1519 msdosdjgpp*)
1520 # On DJGPP, this test can blow up pretty badly due to problems in libc
1521 # (any single argument exceeding 2000 bytes causes a buffer overrun
1522 # during glob expansion). Even if it were fixed, the result of this
1523 # check would be larger than it should be.
1524 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1525 ;;
1526
1527 gnu*)
1528 # Under GNU Hurd, this test is not required because there is
1529 # no limit to the length of command line arguments.
1530 # Libtool will interpret -1 as no limit whatsoever
1531 lt_cv_sys_max_cmd_len=-1;
1532 ;;
1533
Patrick Scott5f6bd842010-06-28 16:55:16 -04001534 cygwin* | mingw* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08001535 # On Win9x/ME, this test blows up -- it succeeds, but takes
1536 # about 5 minutes as the teststring grows exponentially.
1537 # Worse, since 9x/ME are not pre-emptively multitasking,
1538 # you end up with a "frozen" computer, even though with patience
1539 # the test eventually succeeds (with a max line length of 256k).
1540 # Instead, let's just punt: use the minimum linelength reported by
1541 # all of the supported platforms: 8192 (on NT/2K/XP).
1542 lt_cv_sys_max_cmd_len=8192;
1543 ;;
1544
1545 amigaos*)
1546 # On AmigaOS with pdksh, this test takes hours, literally.
1547 # So we just punt and use a minimum line length of 8192.
1548 lt_cv_sys_max_cmd_len=8192;
1549 ;;
1550
1551 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1552 # This has been around since 386BSD, at least. Likely further.
1553 if test -x /sbin/sysctl; then
1554 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1555 elif test -x /usr/sbin/sysctl; then
1556 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1557 else
1558 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1559 fi
1560 # And add a safety zone
1561 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1562 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1563 ;;
1564
1565 interix*)
1566 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1567 lt_cv_sys_max_cmd_len=196608
1568 ;;
1569
1570 osf*)
1571 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1572 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1573 # nice to cause kernel panics so lets avoid the loop below.
1574 # First set a reasonable default.
1575 lt_cv_sys_max_cmd_len=16384
1576 #
1577 if test -x /sbin/sysconfig; then
1578 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1579 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1580 esac
1581 fi
1582 ;;
1583 sco3.2v5*)
1584 lt_cv_sys_max_cmd_len=102400
1585 ;;
1586 sysv5* | sco5v6* | sysv4.2uw2*)
1587 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1588 if test -n "$kargmax"; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001589 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
The Android Open Source Project893912b2009-03-03 19:30:05 -08001590 else
1591 lt_cv_sys_max_cmd_len=32768
1592 fi
1593 ;;
1594 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001595 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1596 if test -n "$lt_cv_sys_max_cmd_len"; then
1597 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1598 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1599 else
1600 # Make teststring a little bigger before we do anything with it.
1601 # a 1K string should be a reasonable start.
1602 for i in 1 2 3 4 5 6 7 8 ; do
1603 teststring=$teststring$teststring
1604 done
1605 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1606 # If test is not a shell built-in, we'll probably end up computing a
1607 # maximum length that is only half of the actual maximum length, but
1608 # we can't tell.
1609 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1610 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
1611 test $i != 17 # 1/2 MB should be enough
1612 do
1613 i=`expr $i + 1`
1614 teststring=$teststring$teststring
1615 done
1616 # Only check the string length outside the loop.
1617 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1618 teststring=
1619 # Add a significant safety factor because C++ compilers can tack on
1620 # massive amounts of additional arguments before passing them to the
1621 # linker. It appears as though 1/2 is a usable value.
1622 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1623 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08001624 ;;
1625 esac
1626])
1627if test -n $lt_cv_sys_max_cmd_len ; then
1628 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1629else
1630 AC_MSG_RESULT(none)
1631fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001632max_cmd_len=$lt_cv_sys_max_cmd_len
1633_LT_DECL([], [max_cmd_len], [0],
1634 [What is the maximum length of a command?])
1635])# LT_CMD_MAX_LEN
1636
1637# Old name:
1638AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1639dnl aclocal-1.4 backwards compatibility:
1640dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001641
1642
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001643# _LT_HEADER_DLFCN
1644# ----------------
1645m4_defun([_LT_HEADER_DLFCN],
1646[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1647])# _LT_HEADER_DLFCN
The Android Open Source Project893912b2009-03-03 19:30:05 -08001648
1649
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001650# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1651# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1652# ----------------------------------------------------------------
1653m4_defun([_LT_TRY_DLOPEN_SELF],
1654[m4_require([_LT_HEADER_DLFCN])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -08001655if test "$cross_compiling" = yes; then :
1656 [$4]
1657else
1658 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1659 lt_status=$lt_dlunknown
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001660 cat > conftest.$ac_ext <<_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08001661[#line __oline__ "configure"
1662#include "confdefs.h"
1663
1664#if HAVE_DLFCN_H
1665#include <dlfcn.h>
1666#endif
1667
1668#include <stdio.h>
1669
1670#ifdef RTLD_GLOBAL
1671# define LT_DLGLOBAL RTLD_GLOBAL
1672#else
1673# ifdef DL_GLOBAL
1674# define LT_DLGLOBAL DL_GLOBAL
1675# else
1676# define LT_DLGLOBAL 0
1677# endif
1678#endif
1679
1680/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1681 find out it does not work in some platform. */
1682#ifndef LT_DLLAZY_OR_NOW
1683# ifdef RTLD_LAZY
1684# define LT_DLLAZY_OR_NOW RTLD_LAZY
1685# else
1686# ifdef DL_LAZY
1687# define LT_DLLAZY_OR_NOW DL_LAZY
1688# else
1689# ifdef RTLD_NOW
1690# define LT_DLLAZY_OR_NOW RTLD_NOW
1691# else
1692# ifdef DL_NOW
1693# define LT_DLLAZY_OR_NOW DL_NOW
1694# else
1695# define LT_DLLAZY_OR_NOW 0
1696# endif
1697# endif
1698# endif
1699# endif
1700#endif
1701
The Android Open Source Project893912b2009-03-03 19:30:05 -08001702void fnord() { int i=42;}
1703int main ()
1704{
1705 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1706 int status = $lt_dlunknown;
1707
1708 if (self)
1709 {
1710 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1711 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1712 /* dlclose (self); */
1713 }
1714 else
1715 puts (dlerror ());
1716
Patrick Scott5f6bd842010-06-28 16:55:16 -04001717 return status;
The Android Open Source Project893912b2009-03-03 19:30:05 -08001718}]
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001719_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08001720 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1721 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1722 lt_status=$?
1723 case x$lt_status in
1724 x$lt_dlno_uscore) $1 ;;
1725 x$lt_dlneed_uscore) $2 ;;
1726 x$lt_dlunknown|x*) $3 ;;
1727 esac
1728 else :
1729 # compilation failed
1730 $3
1731 fi
1732fi
1733rm -fr conftest*
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001734])# _LT_TRY_DLOPEN_SELF
The Android Open Source Project893912b2009-03-03 19:30:05 -08001735
1736
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001737# LT_SYS_DLOPEN_SELF
1738# ------------------
1739AC_DEFUN([LT_SYS_DLOPEN_SELF],
1740[m4_require([_LT_HEADER_DLFCN])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -08001741if test "x$enable_dlopen" != xyes; then
1742 enable_dlopen=unknown
1743 enable_dlopen_self=unknown
1744 enable_dlopen_self_static=unknown
1745else
1746 lt_cv_dlopen=no
1747 lt_cv_dlopen_libs=
1748
1749 case $host_os in
1750 beos*)
1751 lt_cv_dlopen="load_add_on"
1752 lt_cv_dlopen_libs=
1753 lt_cv_dlopen_self=yes
1754 ;;
1755
Patrick Scott5f6bd842010-06-28 16:55:16 -04001756 mingw* | pw32* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08001757 lt_cv_dlopen="LoadLibrary"
1758 lt_cv_dlopen_libs=
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001759 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08001760
1761 cygwin*)
1762 lt_cv_dlopen="dlopen"
1763 lt_cv_dlopen_libs=
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001764 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08001765
1766 darwin*)
1767 # if libdl is installed we need to link against it
1768 AC_CHECK_LIB([dl], [dlopen],
1769 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1770 lt_cv_dlopen="dyld"
1771 lt_cv_dlopen_libs=
1772 lt_cv_dlopen_self=yes
1773 ])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001774 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08001775
1776 *)
1777 AC_CHECK_FUNC([shl_load],
1778 [lt_cv_dlopen="shl_load"],
1779 [AC_CHECK_LIB([dld], [shl_load],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001780 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
The Android Open Source Project893912b2009-03-03 19:30:05 -08001781 [AC_CHECK_FUNC([dlopen],
1782 [lt_cv_dlopen="dlopen"],
1783 [AC_CHECK_LIB([dl], [dlopen],
1784 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1785 [AC_CHECK_LIB([svld], [dlopen],
1786 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1787 [AC_CHECK_LIB([dld], [dld_link],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001788 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001789 ])
1790 ])
1791 ])
1792 ])
1793 ])
1794 ;;
1795 esac
1796
1797 if test "x$lt_cv_dlopen" != xno; then
1798 enable_dlopen=yes
1799 else
1800 enable_dlopen=no
1801 fi
1802
1803 case $lt_cv_dlopen in
1804 dlopen)
1805 save_CPPFLAGS="$CPPFLAGS"
1806 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1807
1808 save_LDFLAGS="$LDFLAGS"
1809 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1810
1811 save_LIBS="$LIBS"
1812 LIBS="$lt_cv_dlopen_libs $LIBS"
1813
1814 AC_CACHE_CHECK([whether a program can dlopen itself],
1815 lt_cv_dlopen_self, [dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001816 _LT_TRY_DLOPEN_SELF(
The Android Open Source Project893912b2009-03-03 19:30:05 -08001817 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1818 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1819 ])
1820
1821 if test "x$lt_cv_dlopen_self" = xyes; then
1822 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1823 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001824 lt_cv_dlopen_self_static, [dnl
1825 _LT_TRY_DLOPEN_SELF(
The Android Open Source Project893912b2009-03-03 19:30:05 -08001826 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1827 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1828 ])
1829 fi
1830
1831 CPPFLAGS="$save_CPPFLAGS"
1832 LDFLAGS="$save_LDFLAGS"
1833 LIBS="$save_LIBS"
1834 ;;
1835 esac
1836
1837 case $lt_cv_dlopen_self in
1838 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1839 *) enable_dlopen_self=unknown ;;
1840 esac
1841
1842 case $lt_cv_dlopen_self_static in
1843 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1844 *) enable_dlopen_self_static=unknown ;;
1845 esac
1846fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001847_LT_DECL([dlopen_support], [enable_dlopen], [0],
1848 [Whether dlopen is supported])
1849_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1850 [Whether dlopen of programs is supported])
1851_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1852 [Whether dlopen of statically linked programs is supported])
1853])# LT_SYS_DLOPEN_SELF
1854
1855# Old name:
1856AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1857dnl aclocal-1.4 backwards compatibility:
1858dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001859
1860
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001861# _LT_COMPILER_C_O([TAGNAME])
1862# ---------------------------
1863# Check to see if options -c and -o are simultaneously supported by compiler.
1864# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1865m4_defun([_LT_COMPILER_C_O],
1866[m4_require([_LT_DECL_SED])dnl
1867m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1868m4_require([_LT_TAG_COMPILER])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -08001869AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001870 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1871 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1872 $RM -r conftest 2>/dev/null
The Android Open Source Project893912b2009-03-03 19:30:05 -08001873 mkdir conftest
1874 cd conftest
1875 mkdir out
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001876 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
The Android Open Source Project893912b2009-03-03 19:30:05 -08001877
1878 lt_compiler_flag="-o out/conftest2.$ac_objext"
1879 # Insert the option either (1) after the last *FLAGS variable, or
1880 # (2) before a word containing "conftest.", or (3) at the end.
1881 # Note that $ac_compile itself does not contain backslashes and begins
1882 # with a dollar sign (not a hyphen), so the echo should work correctly.
1883 lt_compile=`echo "$ac_compile" | $SED \
1884 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1885 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1886 -e 's:$: $lt_compiler_flag:'`
1887 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1888 (eval "$lt_compile" 2>out/conftest.err)
1889 ac_status=$?
1890 cat out/conftest.err >&AS_MESSAGE_LOG_FD
1891 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1892 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1893 then
1894 # The compiler can only warn and ignore the option if not recognized
1895 # So say no if there are warnings
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001896 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
The Android Open Source Project893912b2009-03-03 19:30:05 -08001897 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1898 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001899 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08001900 fi
1901 fi
1902 chmod u+w . 2>&AS_MESSAGE_LOG_FD
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001903 $RM conftest*
The Android Open Source Project893912b2009-03-03 19:30:05 -08001904 # SGI C++ compiler will create directory out/ii_files/ for
1905 # template instantiation
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001906 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1907 $RM out/* && rmdir out
The Android Open Source Project893912b2009-03-03 19:30:05 -08001908 cd ..
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001909 $RM -r conftest
1910 $RM conftest*
The Android Open Source Project893912b2009-03-03 19:30:05 -08001911])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001912_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1913 [Does compiler simultaneously support -c and -o options?])
1914])# _LT_COMPILER_C_O
The Android Open Source Project893912b2009-03-03 19:30:05 -08001915
1916
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001917# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1918# ----------------------------------
The Android Open Source Project893912b2009-03-03 19:30:05 -08001919# Check to see if we can do hard links to lock some files if needed
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001920m4_defun([_LT_COMPILER_FILE_LOCKS],
1921[m4_require([_LT_ENABLE_LOCK])dnl
1922m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1923_LT_COMPILER_C_O([$1])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001924
1925hard_links="nottested"
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001926if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08001927 # do not overwrite the value of need_locks provided by the user
1928 AC_MSG_CHECKING([if we can lock with hard links])
1929 hard_links=yes
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001930 $RM conftest*
The Android Open Source Project893912b2009-03-03 19:30:05 -08001931 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1932 touch conftest.a
1933 ln conftest.a conftest.b 2>&5 || hard_links=no
1934 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1935 AC_MSG_RESULT([$hard_links])
1936 if test "$hard_links" = no; then
1937 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1938 need_locks=warn
1939 fi
1940else
1941 need_locks=no
1942fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001943_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1944])# _LT_COMPILER_FILE_LOCKS
The Android Open Source Project893912b2009-03-03 19:30:05 -08001945
1946
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001947# _LT_CHECK_OBJDIR
1948# ----------------
1949m4_defun([_LT_CHECK_OBJDIR],
The Android Open Source Project893912b2009-03-03 19:30:05 -08001950[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1951[rm -f .libs 2>/dev/null
1952mkdir .libs 2>/dev/null
1953if test -d .libs; then
1954 lt_cv_objdir=.libs
1955else
1956 # MS-DOS does not allow filenames that begin with a dot.
1957 lt_cv_objdir=_libs
1958fi
1959rmdir .libs 2>/dev/null])
1960objdir=$lt_cv_objdir
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001961_LT_DECL([], [objdir], [0],
1962 [The name of the directory that contains temporary libtool files])dnl
1963m4_pattern_allow([LT_OBJDIR])dnl
1964AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1965 [Define to the sub-directory in which libtool stores uninstalled libraries.])
1966])# _LT_CHECK_OBJDIR
The Android Open Source Project893912b2009-03-03 19:30:05 -08001967
1968
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001969# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
1970# --------------------------------------
The Android Open Source Project893912b2009-03-03 19:30:05 -08001971# Check hardcoding attributes.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001972m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
The Android Open Source Project893912b2009-03-03 19:30:05 -08001973[AC_MSG_CHECKING([how to hardcode library paths into programs])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001974_LT_TAGVAR(hardcode_action, $1)=
1975if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
1976 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
1977 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08001978
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001979 # We can hardcode non-existent directories.
1980 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
The Android Open Source Project893912b2009-03-03 19:30:05 -08001981 # If the only mechanism to avoid hardcoding is shlibpath_var, we
1982 # have to relink, otherwise we might link with an installed library
1983 # when we should be linking with a yet-to-be-installed one
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001984 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1985 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08001986 # Linking always hardcodes the temporary library directory.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001987 _LT_TAGVAR(hardcode_action, $1)=relink
The Android Open Source Project893912b2009-03-03 19:30:05 -08001988 else
1989 # We can link without hardcoding, and we can hardcode nonexisting dirs.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001990 _LT_TAGVAR(hardcode_action, $1)=immediate
The Android Open Source Project893912b2009-03-03 19:30:05 -08001991 fi
1992else
1993 # We cannot hardcode anything, or else we can only hardcode existing
1994 # directories.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001995 _LT_TAGVAR(hardcode_action, $1)=unsupported
The Android Open Source Project893912b2009-03-03 19:30:05 -08001996fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001997AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
The Android Open Source Project893912b2009-03-03 19:30:05 -08001998
The Android Open Source Project4215dd12009-03-09 11:52:12 -07001999if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2000 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08002001 # Fast installation is not supported
2002 enable_fast_install=no
2003elif test "$shlibpath_overrides_runpath" = yes ||
2004 test "$enable_shared" = no; then
2005 # Fast installation is not necessary
2006 enable_fast_install=needless
2007fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002008_LT_TAGDECL([], [hardcode_action], [0],
2009 [How to hardcode a shared library path into an executable])
2010])# _LT_LINKER_HARDCODE_LIBPATH
The Android Open Source Project893912b2009-03-03 19:30:05 -08002011
2012
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002013# _LT_CMD_STRIPLIB
2014# ----------------
2015m4_defun([_LT_CMD_STRIPLIB],
2016[m4_require([_LT_DECL_EGREP])
2017striplib=
The Android Open Source Project893912b2009-03-03 19:30:05 -08002018old_striplib=
2019AC_MSG_CHECKING([whether stripping libraries is possible])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002020if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08002021 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2022 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2023 AC_MSG_RESULT([yes])
2024else
2025# FIXME - insert some real tests, host_os isn't really good enough
2026 case $host_os in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002027 darwin*)
2028 if test -n "$STRIP" ; then
2029 striplib="$STRIP -x"
2030 old_striplib="$STRIP -S"
2031 AC_MSG_RESULT([yes])
2032 else
2033 AC_MSG_RESULT([no])
2034 fi
2035 ;;
2036 *)
2037 AC_MSG_RESULT([no])
The Android Open Source Project893912b2009-03-03 19:30:05 -08002038 ;;
2039 esac
2040fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002041_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2042_LT_DECL([], [striplib], [1])
2043])# _LT_CMD_STRIPLIB
The Android Open Source Project893912b2009-03-03 19:30:05 -08002044
2045
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002046# _LT_SYS_DYNAMIC_LINKER([TAG])
The Android Open Source Project893912b2009-03-03 19:30:05 -08002047# -----------------------------
2048# PORTME Fill in your ld.so characteristics
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002049m4_defun([_LT_SYS_DYNAMIC_LINKER],
2050[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2051m4_require([_LT_DECL_EGREP])dnl
2052m4_require([_LT_FILEUTILS_DEFAULTS])dnl
Patrick Scott5f6bd842010-06-28 16:55:16 -04002053m4_require([_LT_DECL_OBJDUMP])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002054m4_require([_LT_DECL_SED])dnl
2055AC_MSG_CHECKING([dynamic linker characteristics])
2056m4_if([$1],
2057 [], [
2058if test "$GCC" = yes; then
2059 case $host_os in
2060 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2061 *) lt_awk_arg="/^libraries:/" ;;
2062 esac
2063 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2064 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
2065 # if the path contains ";" then we assume it to be the separator
2066 # otherwise default to the standard path separator (i.e. ":") - it is
2067 # assumed that no part of a normal pathname contains ";" but that should
2068 # okay in the real world where ";" in dirpaths is itself problematic.
2069 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2070 else
2071 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2072 fi
2073 # Ok, now we have the path, separated by spaces, we can step through it
2074 # and add multilib dir if necessary.
2075 lt_tmp_lt_search_path_spec=
2076 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2077 for lt_sys_path in $lt_search_path_spec; do
2078 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2079 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2080 else
2081 test -d "$lt_sys_path" && \
2082 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2083 fi
2084 done
2085 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
2086BEGIN {RS=" "; FS="/|\n";} {
2087 lt_foo="";
2088 lt_count=0;
2089 for (lt_i = NF; lt_i > 0; lt_i--) {
2090 if ($lt_i != "" && $lt_i != ".") {
2091 if ($lt_i == "..") {
2092 lt_count++;
2093 } else {
2094 if (lt_count == 0) {
2095 lt_foo="/" $lt_i lt_foo;
2096 } else {
2097 lt_count--;
2098 }
2099 }
2100 }
2101 }
2102 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2103 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2104}'`
2105 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
2106else
2107 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2108fi])
The Android Open Source Project893912b2009-03-03 19:30:05 -08002109library_names_spec=
2110libname_spec='lib$name'
2111soname_spec=
2112shrext_cmds=".so"
2113postinstall_cmds=
2114postuninstall_cmds=
2115finish_cmds=
2116finish_eval=
2117shlibpath_var=
2118shlibpath_overrides_runpath=unknown
2119version_type=none
2120dynamic_linker="$host_os ld.so"
2121sys_lib_dlsearch_path_spec="/lib /usr/lib"
The Android Open Source Project893912b2009-03-03 19:30:05 -08002122need_lib_prefix=unknown
2123hardcode_into_libs=no
2124
2125# when you set need_version to no, make sure it does not cause -set_version
2126# flags to be left without arguments
2127need_version=unknown
2128
2129case $host_os in
2130aix3*)
2131 version_type=linux
2132 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2133 shlibpath_var=LIBPATH
2134
2135 # AIX 3 has no versioning support, so we append a major version to the name.
2136 soname_spec='${libname}${release}${shared_ext}$major'
2137 ;;
2138
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002139aix[[4-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002140 version_type=linux
2141 need_lib_prefix=no
2142 need_version=no
2143 hardcode_into_libs=yes
2144 if test "$host_cpu" = ia64; then
2145 # AIX 5 supports IA64
2146 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2147 shlibpath_var=LD_LIBRARY_PATH
2148 else
2149 # With GCC up to 2.95.x, collect2 would create an import file
2150 # for dependence libraries. The import file would start with
2151 # the line `#! .'. This would cause the generated library to
2152 # depend on `.', always an invalid library. This was fixed in
2153 # development snapshots of GCC prior to 3.0.
2154 case $host_os in
2155 aix4 | aix4.[[01]] | aix4.[[01]].*)
2156 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2157 echo ' yes '
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002158 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08002159 :
2160 else
2161 can_build_shared=no
2162 fi
2163 ;;
2164 esac
2165 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2166 # soname into executable. Probably we can add versioning support to
2167 # collect2, so additional links can be useful in future.
2168 if test "$aix_use_runtimelinking" = yes; then
2169 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2170 # instead of lib<name>.a to let people know that these are not
2171 # typical AIX shared libraries.
2172 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2173 else
2174 # We preserve .a as extension for shared libraries through AIX4.2
2175 # and later when we are not doing run time linking.
2176 library_names_spec='${libname}${release}.a $libname.a'
2177 soname_spec='${libname}${release}${shared_ext}$major'
2178 fi
2179 shlibpath_var=LIBPATH
2180 fi
2181 ;;
2182
2183amigaos*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002184 case $host_cpu in
2185 powerpc)
2186 # Since July 2007 AmigaOS4 officially supports .so libraries.
2187 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2188 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2189 ;;
2190 m68k)
2191 library_names_spec='$libname.ixlibrary $libname.a'
2192 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2193 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'
2194 ;;
2195 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08002196 ;;
2197
2198beos*)
2199 library_names_spec='${libname}${shared_ext}'
2200 dynamic_linker="$host_os ld.so"
2201 shlibpath_var=LIBRARY_PATH
2202 ;;
2203
2204bsdi[[45]]*)
2205 version_type=linux
2206 need_version=no
2207 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2208 soname_spec='${libname}${release}${shared_ext}$major'
2209 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2210 shlibpath_var=LD_LIBRARY_PATH
2211 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2212 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2213 # the default ld.so.conf also contains /usr/contrib/lib and
2214 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2215 # libtool to hard-code these into programs
2216 ;;
2217
Patrick Scott5f6bd842010-06-28 16:55:16 -04002218cygwin* | mingw* | pw32* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002219 version_type=windows
2220 shrext_cmds=".dll"
2221 need_version=no
2222 need_lib_prefix=no
2223
2224 case $GCC,$host_os in
Patrick Scott5f6bd842010-06-28 16:55:16 -04002225 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002226 library_names_spec='$libname.dll.a'
2227 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2228 postinstall_cmds='base_file=`basename \${file}`~
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002229 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
The Android Open Source Project893912b2009-03-03 19:30:05 -08002230 dldir=$destdir/`dirname \$dlpath`~
2231 test -d \$dldir || mkdir -p \$dldir~
2232 $install_prog $dir/$dlname \$dldir/$dlname~
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002233 chmod a+x \$dldir/$dlname~
2234 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2235 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2236 fi'
The Android Open Source Project893912b2009-03-03 19:30:05 -08002237 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2238 dlpath=$dir/\$dldll~
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002239 $RM \$dlpath'
The Android Open Source Project893912b2009-03-03 19:30:05 -08002240 shlibpath_overrides_runpath=yes
2241
2242 case $host_os in
2243 cygwin*)
2244 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2245 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2246 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2247 ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04002248 mingw* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002249 # MinGW DLLs use traditional 'lib' prefix
2250 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002251 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2252 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08002253 # It is most probably a Windows format PATH printed by
2254 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2255 # path with ; separators, and with drive letters. We can handle the
2256 # drive letters (cygwin fileutils understands them), so leave them,
2257 # especially as we might pass files found there to a mingw objdump,
2258 # which wouldn't understand a cygwinified path. Ahh.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002259 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
The Android Open Source Project893912b2009-03-03 19:30:05 -08002260 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002261 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
The Android Open Source Project893912b2009-03-03 19:30:05 -08002262 fi
2263 ;;
2264 pw32*)
2265 # pw32 DLLs use 'pw' prefix rather than 'lib'
2266 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2267 ;;
2268 esac
2269 ;;
2270
2271 *)
2272 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2273 ;;
2274 esac
2275 dynamic_linker='Win32 ld.exe'
2276 # FIXME: first we should search . and the directory the executable is in
2277 shlibpath_var=PATH
2278 ;;
2279
2280darwin* | rhapsody*)
2281 dynamic_linker="$host_os dyld"
2282 version_type=darwin
2283 need_lib_prefix=no
2284 need_version=no
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002285 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
The Android Open Source Project893912b2009-03-03 19:30:05 -08002286 soname_spec='${libname}${release}${major}$shared_ext'
2287 shlibpath_overrides_runpath=yes
2288 shlibpath_var=DYLD_LIBRARY_PATH
2289 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002290m4_if([$1], [],[
2291 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
The Android Open Source Project893912b2009-03-03 19:30:05 -08002292 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2293 ;;
2294
2295dgux*)
2296 version_type=linux
2297 need_lib_prefix=no
2298 need_version=no
2299 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2300 soname_spec='${libname}${release}${shared_ext}$major'
2301 shlibpath_var=LD_LIBRARY_PATH
2302 ;;
2303
2304freebsd1*)
2305 dynamic_linker=no
2306 ;;
2307
The Android Open Source Project893912b2009-03-03 19:30:05 -08002308freebsd* | dragonfly*)
2309 # DragonFly does not have aout. When/if they implement a new
2310 # versioning mechanism, adjust this.
2311 if test -x /usr/bin/objformat; then
2312 objformat=`/usr/bin/objformat`
2313 else
2314 case $host_os in
2315 freebsd[[123]]*) objformat=aout ;;
2316 *) objformat=elf ;;
2317 esac
2318 fi
2319 version_type=freebsd-$objformat
2320 case $version_type in
2321 freebsd-elf*)
2322 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2323 need_version=no
2324 need_lib_prefix=no
2325 ;;
2326 freebsd-*)
2327 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2328 need_version=yes
2329 ;;
2330 esac
2331 shlibpath_var=LD_LIBRARY_PATH
2332 case $host_os in
2333 freebsd2*)
2334 shlibpath_overrides_runpath=yes
2335 ;;
2336 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2337 shlibpath_overrides_runpath=yes
2338 hardcode_into_libs=yes
2339 ;;
2340 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2341 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2342 shlibpath_overrides_runpath=no
2343 hardcode_into_libs=yes
2344 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002345 *) # from 4.6 on, and DragonFly
The Android Open Source Project893912b2009-03-03 19:30:05 -08002346 shlibpath_overrides_runpath=yes
2347 hardcode_into_libs=yes
2348 ;;
2349 esac
2350 ;;
2351
2352gnu*)
2353 version_type=linux
2354 need_lib_prefix=no
2355 need_version=no
2356 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2357 soname_spec='${libname}${release}${shared_ext}$major'
2358 shlibpath_var=LD_LIBRARY_PATH
2359 hardcode_into_libs=yes
2360 ;;
2361
2362hpux9* | hpux10* | hpux11*)
2363 # Give a soname corresponding to the major version so that dld.sl refuses to
2364 # link against other versions.
2365 version_type=sunos
2366 need_lib_prefix=no
2367 need_version=no
2368 case $host_cpu in
2369 ia64*)
2370 shrext_cmds='.so'
2371 hardcode_into_libs=yes
2372 dynamic_linker="$host_os dld.so"
2373 shlibpath_var=LD_LIBRARY_PATH
2374 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2375 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2376 soname_spec='${libname}${release}${shared_ext}$major'
2377 if test "X$HPUX_IA64_MODE" = X32; then
2378 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2379 else
2380 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2381 fi
2382 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2383 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002384 hppa*64*)
2385 shrext_cmds='.sl'
2386 hardcode_into_libs=yes
2387 dynamic_linker="$host_os dld.sl"
2388 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2389 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2390 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2391 soname_spec='${libname}${release}${shared_ext}$major'
2392 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2393 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2394 ;;
2395 *)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002396 shrext_cmds='.sl'
2397 dynamic_linker="$host_os dld.sl"
2398 shlibpath_var=SHLIB_PATH
2399 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2400 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2401 soname_spec='${libname}${release}${shared_ext}$major'
2402 ;;
2403 esac
2404 # HP-UX runs *really* slowly unless shared libraries are mode 555.
2405 postinstall_cmds='chmod 555 $lib'
2406 ;;
2407
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002408interix[[3-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002409 version_type=linux
2410 need_lib_prefix=no
2411 need_version=no
2412 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2413 soname_spec='${libname}${release}${shared_ext}$major'
2414 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2415 shlibpath_var=LD_LIBRARY_PATH
2416 shlibpath_overrides_runpath=no
2417 hardcode_into_libs=yes
2418 ;;
2419
2420irix5* | irix6* | nonstopux*)
2421 case $host_os in
2422 nonstopux*) version_type=nonstopux ;;
2423 *)
2424 if test "$lt_cv_prog_gnu_ld" = yes; then
2425 version_type=linux
2426 else
2427 version_type=irix
2428 fi ;;
2429 esac
2430 need_lib_prefix=no
2431 need_version=no
2432 soname_spec='${libname}${release}${shared_ext}$major'
2433 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2434 case $host_os in
2435 irix5* | nonstopux*)
2436 libsuff= shlibsuff=
2437 ;;
2438 *)
2439 case $LD in # libtool.m4 will add one of these switches to LD
2440 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2441 libsuff= shlibsuff= libmagic=32-bit;;
2442 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2443 libsuff=32 shlibsuff=N32 libmagic=N32;;
2444 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2445 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2446 *) libsuff= shlibsuff= libmagic=never-match;;
2447 esac
2448 ;;
2449 esac
2450 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2451 shlibpath_overrides_runpath=no
2452 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2453 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2454 hardcode_into_libs=yes
2455 ;;
2456
2457# No shared lib support for Linux oldld, aout, or coff.
2458linux*oldld* | linux*aout* | linux*coff*)
2459 dynamic_linker=no
2460 ;;
2461
2462# This must be Linux ELF.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002463linux* | k*bsd*-gnu)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002464 version_type=linux
2465 need_lib_prefix=no
2466 need_version=no
2467 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2468 soname_spec='${libname}${release}${shared_ext}$major'
2469 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2470 shlibpath_var=LD_LIBRARY_PATH
2471 shlibpath_overrides_runpath=no
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002472 # Some binutils ld are patched to set DT_RUNPATH
2473 save_LDFLAGS=$LDFLAGS
2474 save_libdir=$libdir
2475 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2476 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2477 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2478 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2479 [shlibpath_overrides_runpath=yes])])
2480 LDFLAGS=$save_LDFLAGS
2481 libdir=$save_libdir
2482
The Android Open Source Project893912b2009-03-03 19:30:05 -08002483 # This implies no fast_install, which is unacceptable.
2484 # Some rework will be needed to allow for fast_install
2485 # before this can be enabled.
2486 hardcode_into_libs=yes
2487
2488 # Append ld.so.conf contents to the search path
2489 if test -f /etc/ld.so.conf; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002490 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' ' '`
The Android Open Source Project893912b2009-03-03 19:30:05 -08002491 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2492 fi
2493
2494 # We used to test for /lib/ld.so.1 and disable shared libraries on
2495 # powerpc, because MkLinux only supported shared libraries with the
2496 # GNU dynamic linker. Since this was broken with cross compilers,
2497 # most powerpc-linux boxes support dynamic linking these days and
2498 # people can always --disable-shared, the test was removed, and we
2499 # assume the GNU/Linux dynamic linker is in use.
2500 dynamic_linker='GNU/Linux ld.so'
2501 ;;
2502
The Android Open Source Project893912b2009-03-03 19:30:05 -08002503netbsd*)
2504 version_type=sunos
2505 need_lib_prefix=no
2506 need_version=no
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002507 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08002508 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2509 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2510 dynamic_linker='NetBSD (a.out) ld.so'
2511 else
2512 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2513 soname_spec='${libname}${release}${shared_ext}$major'
2514 dynamic_linker='NetBSD ld.elf_so'
2515 fi
2516 shlibpath_var=LD_LIBRARY_PATH
2517 shlibpath_overrides_runpath=yes
2518 hardcode_into_libs=yes
2519 ;;
2520
2521newsos6)
2522 version_type=linux
2523 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2524 shlibpath_var=LD_LIBRARY_PATH
2525 shlibpath_overrides_runpath=yes
2526 ;;
2527
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002528*nto* | *qnx*)
2529 version_type=qnx
The Android Open Source Project893912b2009-03-03 19:30:05 -08002530 need_lib_prefix=no
2531 need_version=no
2532 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2533 soname_spec='${libname}${release}${shared_ext}$major'
2534 shlibpath_var=LD_LIBRARY_PATH
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002535 shlibpath_overrides_runpath=no
2536 hardcode_into_libs=yes
2537 dynamic_linker='ldqnx.so'
The Android Open Source Project893912b2009-03-03 19:30:05 -08002538 ;;
2539
2540openbsd*)
2541 version_type=sunos
2542 sys_lib_dlsearch_path_spec="/usr/lib"
2543 need_lib_prefix=no
2544 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2545 case $host_os in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002546 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2547 *) need_version=no ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08002548 esac
2549 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2550 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2551 shlibpath_var=LD_LIBRARY_PATH
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002552 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08002553 case $host_os in
2554 openbsd2.[[89]] | openbsd2.[[89]].*)
2555 shlibpath_overrides_runpath=no
2556 ;;
2557 *)
2558 shlibpath_overrides_runpath=yes
2559 ;;
2560 esac
2561 else
2562 shlibpath_overrides_runpath=yes
2563 fi
2564 ;;
2565
2566os2*)
2567 libname_spec='$name'
2568 shrext_cmds=".dll"
2569 need_lib_prefix=no
2570 library_names_spec='$libname${shared_ext} $libname.a'
2571 dynamic_linker='OS/2 ld.exe'
2572 shlibpath_var=LIBPATH
2573 ;;
2574
2575osf3* | osf4* | osf5*)
2576 version_type=osf
2577 need_lib_prefix=no
2578 need_version=no
2579 soname_spec='${libname}${release}${shared_ext}$major'
2580 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2581 shlibpath_var=LD_LIBRARY_PATH
2582 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2583 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2584 ;;
2585
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002586rdos*)
2587 dynamic_linker=no
2588 ;;
2589
The Android Open Source Project893912b2009-03-03 19:30:05 -08002590solaris*)
2591 version_type=linux
2592 need_lib_prefix=no
2593 need_version=no
2594 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2595 soname_spec='${libname}${release}${shared_ext}$major'
2596 shlibpath_var=LD_LIBRARY_PATH
2597 shlibpath_overrides_runpath=yes
2598 hardcode_into_libs=yes
2599 # ldd complains unless libraries are executable
2600 postinstall_cmds='chmod +x $lib'
2601 ;;
2602
2603sunos4*)
2604 version_type=sunos
2605 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2606 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2607 shlibpath_var=LD_LIBRARY_PATH
2608 shlibpath_overrides_runpath=yes
2609 if test "$with_gnu_ld" = yes; then
2610 need_lib_prefix=no
2611 fi
2612 need_version=yes
2613 ;;
2614
2615sysv4 | sysv4.3*)
2616 version_type=linux
2617 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2618 soname_spec='${libname}${release}${shared_ext}$major'
2619 shlibpath_var=LD_LIBRARY_PATH
2620 case $host_vendor in
2621 sni)
2622 shlibpath_overrides_runpath=no
2623 need_lib_prefix=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08002624 runpath_var=LD_RUN_PATH
2625 ;;
2626 siemens)
2627 need_lib_prefix=no
2628 ;;
2629 motorola)
2630 need_lib_prefix=no
2631 need_version=no
2632 shlibpath_overrides_runpath=no
2633 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2634 ;;
2635 esac
2636 ;;
2637
2638sysv4*MP*)
2639 if test -d /usr/nec ;then
2640 version_type=linux
2641 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2642 soname_spec='$libname${shared_ext}.$major'
2643 shlibpath_var=LD_LIBRARY_PATH
2644 fi
2645 ;;
2646
2647sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2648 version_type=freebsd-elf
2649 need_lib_prefix=no
2650 need_version=no
2651 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2652 soname_spec='${libname}${release}${shared_ext}$major'
2653 shlibpath_var=LD_LIBRARY_PATH
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002654 shlibpath_overrides_runpath=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08002655 hardcode_into_libs=yes
2656 if test "$with_gnu_ld" = yes; then
2657 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08002658 else
2659 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08002660 case $host_os in
2661 sco3.2v5*)
2662 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2663 ;;
2664 esac
2665 fi
2666 sys_lib_dlsearch_path_spec='/usr/lib'
2667 ;;
2668
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002669tpf*)
2670 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2671 version_type=linux
2672 need_lib_prefix=no
2673 need_version=no
Patrick Scott5f6bd842010-06-28 16:55:16 -04002674 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002675 shlibpath_var=LD_LIBRARY_PATH
2676 shlibpath_overrides_runpath=no
2677 hardcode_into_libs=yes
2678 ;;
2679
The Android Open Source Project893912b2009-03-03 19:30:05 -08002680uts4*)
2681 version_type=linux
2682 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2683 soname_spec='${libname}${release}${shared_ext}$major'
2684 shlibpath_var=LD_LIBRARY_PATH
2685 ;;
2686
2687*)
2688 dynamic_linker=no
2689 ;;
2690esac
2691AC_MSG_RESULT([$dynamic_linker])
2692test "$dynamic_linker" = no && can_build_shared=no
2693
2694variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2695if test "$GCC" = yes; then
2696 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2697fi
Patrick Scott5f6bd842010-06-28 16:55:16 -04002698
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002699if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2700 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
The Android Open Source Project893912b2009-03-03 19:30:05 -08002701fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002702if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2703 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2704fi
2705
2706_LT_DECL([], [variables_saved_for_relink], [1],
2707 [Variables whose values should be saved in libtool wrapper scripts and
2708 restored at link time])
2709_LT_DECL([], [need_lib_prefix], [0],
2710 [Do we need the "lib" prefix for modules?])
2711_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2712_LT_DECL([], [version_type], [0], [Library versioning type])
2713_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2714_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2715_LT_DECL([], [shlibpath_overrides_runpath], [0],
2716 [Is shlibpath searched before the hard-coded library search path?])
2717_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2718_LT_DECL([], [library_names_spec], [1],
2719 [[List of archive names. First name is the real one, the rest are links.
2720 The last name is the one that the linker finds with -lNAME]])
2721_LT_DECL([], [soname_spec], [1],
2722 [[The coded name of the library, if different from the real name]])
2723_LT_DECL([], [postinstall_cmds], [2],
2724 [Command to use after installation of a shared archive])
2725_LT_DECL([], [postuninstall_cmds], [2],
2726 [Command to use after uninstallation of a shared archive])
2727_LT_DECL([], [finish_cmds], [2],
2728 [Commands used to finish a libtool library installation in a directory])
2729_LT_DECL([], [finish_eval], [1],
2730 [[As "finish_cmds", except a single script fragment to be evaled but
2731 not shown]])
2732_LT_DECL([], [hardcode_into_libs], [0],
2733 [Whether we should hardcode library paths into libraries])
2734_LT_DECL([], [sys_lib_search_path_spec], [2],
2735 [Compile-time system search path for libraries])
2736_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2737 [Run-time system search path for libraries])
2738])# _LT_SYS_DYNAMIC_LINKER
The Android Open Source Project893912b2009-03-03 19:30:05 -08002739
2740
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002741# _LT_PATH_TOOL_PREFIX(TOOL)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002742# --------------------------
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002743# find a file program which can recognize shared library
2744AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2745[m4_require([_LT_DECL_EGREP])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -08002746AC_MSG_CHECKING([for $1])
2747AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2748[case $MAGIC_CMD in
2749[[\\/*] | ?:[\\/]*])
2750 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2751 ;;
2752*)
2753 lt_save_MAGIC_CMD="$MAGIC_CMD"
2754 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2755dnl $ac_dummy forces splitting on constant user-supplied paths.
2756dnl POSIX.2 word splitting is done only on the output of word expansions,
2757dnl not every word. This closes a longstanding sh security hole.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002758 ac_dummy="m4_if([$2], , $PATH, [$2])"
The Android Open Source Project893912b2009-03-03 19:30:05 -08002759 for ac_dir in $ac_dummy; do
2760 IFS="$lt_save_ifs"
2761 test -z "$ac_dir" && ac_dir=.
2762 if test -f $ac_dir/$1; then
2763 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2764 if test -n "$file_magic_test_file"; then
2765 case $deplibs_check_method in
2766 "file_magic "*)
2767 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2768 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2769 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2770 $EGREP "$file_magic_regex" > /dev/null; then
2771 :
2772 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002773 cat <<_LT_EOF 1>&2
The Android Open Source Project893912b2009-03-03 19:30:05 -08002774
2775*** Warning: the command libtool uses to detect shared libraries,
2776*** $file_magic_cmd, produces output that libtool cannot recognize.
2777*** The result is that libtool may fail to recognize shared libraries
2778*** as such. This will affect the creation of libtool libraries that
2779*** depend on shared libraries, but programs linked with such libtool
2780*** libraries will work regardless of this problem. Nevertheless, you
2781*** may want to report the problem to your system manager and/or to
2782*** bug-libtool@gnu.org
2783
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002784_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08002785 fi ;;
2786 esac
2787 fi
2788 break
2789 fi
2790 done
2791 IFS="$lt_save_ifs"
2792 MAGIC_CMD="$lt_save_MAGIC_CMD"
2793 ;;
2794esac])
2795MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2796if test -n "$MAGIC_CMD"; then
2797 AC_MSG_RESULT($MAGIC_CMD)
2798else
2799 AC_MSG_RESULT(no)
2800fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002801_LT_DECL([], [MAGIC_CMD], [0],
2802 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2803])# _LT_PATH_TOOL_PREFIX
2804
2805# Old name:
2806AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2807dnl aclocal-1.4 backwards compatibility:
2808dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -08002809
2810
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002811# _LT_PATH_MAGIC
2812# --------------
2813# find a file program which can recognize a shared library
2814m4_defun([_LT_PATH_MAGIC],
2815[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002816if test -z "$lt_cv_path_MAGIC_CMD"; then
2817 if test -n "$ac_tool_prefix"; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002818 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002819 else
2820 MAGIC_CMD=:
2821 fi
2822fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002823])# _LT_PATH_MAGIC
The Android Open Source Project893912b2009-03-03 19:30:05 -08002824
2825
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002826# LT_PATH_LD
The Android Open Source Project893912b2009-03-03 19:30:05 -08002827# ----------
2828# find the pathname to the GNU or non-GNU linker
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002829AC_DEFUN([LT_PATH_LD],
2830[AC_REQUIRE([AC_PROG_CC])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -08002831AC_REQUIRE([AC_CANONICAL_HOST])dnl
2832AC_REQUIRE([AC_CANONICAL_BUILD])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002833m4_require([_LT_DECL_SED])dnl
2834m4_require([_LT_DECL_EGREP])dnl
2835
2836AC_ARG_WITH([gnu-ld],
2837 [AS_HELP_STRING([--with-gnu-ld],
2838 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2839 [test "$withval" = no || with_gnu_ld=yes],
2840 [with_gnu_ld=no])dnl
2841
The Android Open Source Project893912b2009-03-03 19:30:05 -08002842ac_prog=ld
2843if test "$GCC" = yes; then
2844 # Check if gcc -print-prog-name=ld gives a path.
2845 AC_MSG_CHECKING([for ld used by $CC])
2846 case $host in
2847 *-*-mingw*)
2848 # gcc leaves a trailing carriage return which upsets mingw
2849 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2850 *)
2851 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2852 esac
2853 case $ac_prog in
2854 # Accept absolute paths.
2855 [[\\/]]* | ?:[[\\/]]*)
2856 re_direlt='/[[^/]][[^/]]*/\.\./'
2857 # Canonicalize the pathname of ld
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002858 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2859 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2860 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
The Android Open Source Project893912b2009-03-03 19:30:05 -08002861 done
2862 test -z "$LD" && LD="$ac_prog"
2863 ;;
2864 "")
2865 # If it fails, then pretend we aren't using GCC.
2866 ac_prog=ld
2867 ;;
2868 *)
2869 # If it is relative, then search for the first ld in PATH.
2870 with_gnu_ld=unknown
2871 ;;
2872 esac
2873elif test "$with_gnu_ld" = yes; then
2874 AC_MSG_CHECKING([for GNU ld])
2875else
2876 AC_MSG_CHECKING([for non-GNU ld])
2877fi
2878AC_CACHE_VAL(lt_cv_path_LD,
2879[if test -z "$LD"; then
2880 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2881 for ac_dir in $PATH; do
2882 IFS="$lt_save_ifs"
2883 test -z "$ac_dir" && ac_dir=.
2884 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2885 lt_cv_path_LD="$ac_dir/$ac_prog"
2886 # Check to see if the program is GNU ld. I'd rather use --version,
2887 # but apparently some variants of GNU ld only accept -v.
2888 # Break only if it was the GNU/non-GNU ld that we prefer.
2889 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2890 *GNU* | *'with BFD'*)
2891 test "$with_gnu_ld" != no && break
2892 ;;
2893 *)
2894 test "$with_gnu_ld" != yes && break
2895 ;;
2896 esac
2897 fi
2898 done
2899 IFS="$lt_save_ifs"
2900else
2901 lt_cv_path_LD="$LD" # Let the user override the test with a path.
2902fi])
2903LD="$lt_cv_path_LD"
2904if test -n "$LD"; then
2905 AC_MSG_RESULT($LD)
2906else
2907 AC_MSG_RESULT(no)
2908fi
2909test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002910_LT_PATH_LD_GNU
2911AC_SUBST([LD])
2912
2913_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2914])# LT_PATH_LD
2915
2916# Old names:
2917AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2918AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2919dnl aclocal-1.4 backwards compatibility:
2920dnl AC_DEFUN([AM_PROG_LD], [])
2921dnl AC_DEFUN([AC_PROG_LD], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -08002922
2923
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002924# _LT_PATH_LD_GNU
2925#- --------------
2926m4_defun([_LT_PATH_LD_GNU],
2927[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
The Android Open Source Project893912b2009-03-03 19:30:05 -08002928[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2929case `$LD -v 2>&1 </dev/null` in
2930*GNU* | *'with BFD'*)
2931 lt_cv_prog_gnu_ld=yes
2932 ;;
2933*)
2934 lt_cv_prog_gnu_ld=no
2935 ;;
2936esac])
2937with_gnu_ld=$lt_cv_prog_gnu_ld
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002938])# _LT_PATH_LD_GNU
The Android Open Source Project893912b2009-03-03 19:30:05 -08002939
2940
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002941# _LT_CMD_RELOAD
2942# --------------
The Android Open Source Project893912b2009-03-03 19:30:05 -08002943# find reload flag for linker
2944# -- PORTME Some linkers may need a different reload flag.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002945m4_defun([_LT_CMD_RELOAD],
The Android Open Source Project893912b2009-03-03 19:30:05 -08002946[AC_CACHE_CHECK([for $LD option to reload object files],
2947 lt_cv_ld_reload_flag,
2948 [lt_cv_ld_reload_flag='-r'])
2949reload_flag=$lt_cv_ld_reload_flag
2950case $reload_flag in
2951"" | " "*) ;;
2952*) reload_flag=" $reload_flag" ;;
2953esac
2954reload_cmds='$LD$reload_flag -o $output$reload_objs'
2955case $host_os in
2956 darwin*)
2957 if test "$GCC" = yes; then
2958 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2959 else
2960 reload_cmds='$LD$reload_flag -o $output$reload_objs'
2961 fi
2962 ;;
2963esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002964_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2965_LT_DECL([], [reload_cmds], [2])dnl
2966])# _LT_CMD_RELOAD
The Android Open Source Project893912b2009-03-03 19:30:05 -08002967
2968
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002969# _LT_CHECK_MAGIC_METHOD
2970# ----------------------
The Android Open Source Project893912b2009-03-03 19:30:05 -08002971# how to check for library dependencies
2972# -- PORTME fill in with the dynamic library characteristics
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002973m4_defun([_LT_CHECK_MAGIC_METHOD],
2974[m4_require([_LT_DECL_EGREP])
Patrick Scott5f6bd842010-06-28 16:55:16 -04002975m4_require([_LT_DECL_OBJDUMP])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002976AC_CACHE_CHECK([how to recognize dependent libraries],
The Android Open Source Project893912b2009-03-03 19:30:05 -08002977lt_cv_deplibs_check_method,
2978[lt_cv_file_magic_cmd='$MAGIC_CMD'
2979lt_cv_file_magic_test_file=
2980lt_cv_deplibs_check_method='unknown'
2981# Need to set the preceding variable on all platforms that support
2982# interlibrary dependencies.
2983# 'none' -- dependencies not supported.
2984# `unknown' -- same as none, but documents that we really don't know.
2985# 'pass_all' -- all dependencies passed with no checks.
2986# 'test_compile' -- check by making test program.
2987# 'file_magic [[regex]]' -- check by looking for files in library path
2988# which responds to the $file_magic_cmd with a given extended regex.
2989# If you have `file' or equivalent on your system and you're not sure
2990# whether `pass_all' will *always* work, you probably want this one.
2991
2992case $host_os in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07002993aix[[4-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08002994 lt_cv_deplibs_check_method=pass_all
2995 ;;
2996
2997beos*)
2998 lt_cv_deplibs_check_method=pass_all
2999 ;;
3000
3001bsdi[[45]]*)
3002 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3003 lt_cv_file_magic_cmd='/usr/bin/file -L'
3004 lt_cv_file_magic_test_file=/shlib/libc.so
3005 ;;
3006
3007cygwin*)
3008 # func_win32_libid is a shell function defined in ltmain.sh
3009 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3010 lt_cv_file_magic_cmd='func_win32_libid'
3011 ;;
3012
3013mingw* | pw32*)
3014 # Base MSYS/MinGW do not provide the 'file' command needed by
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003015 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3016 # unless we find 'file', for example because we are cross-compiling.
3017 if ( file / ) >/dev/null 2>&1; then
3018 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3019 lt_cv_file_magic_cmd='func_win32_libid'
3020 else
3021 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3022 lt_cv_file_magic_cmd='$OBJDUMP -f'
3023 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08003024 ;;
3025
Patrick Scott5f6bd842010-06-28 16:55:16 -04003026cegcc)
3027 # use the weaker test based on 'objdump'. See mingw*.
3028 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3029 lt_cv_file_magic_cmd='$OBJDUMP -f'
3030 ;;
3031
The Android Open Source Project893912b2009-03-03 19:30:05 -08003032darwin* | rhapsody*)
3033 lt_cv_deplibs_check_method=pass_all
3034 ;;
3035
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003036freebsd* | dragonfly*)
3037 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08003038 case $host_cpu in
3039 i*86 )
3040 # Not sure whether the presence of OpenBSD here was a mistake.
3041 # Let's accept both of them until this is cleared up.
3042 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3043 lt_cv_file_magic_cmd=/usr/bin/file
3044 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3045 ;;
3046 esac
3047 else
3048 lt_cv_deplibs_check_method=pass_all
3049 fi
3050 ;;
3051
3052gnu*)
3053 lt_cv_deplibs_check_method=pass_all
3054 ;;
3055
3056hpux10.20* | hpux11*)
3057 lt_cv_file_magic_cmd=/usr/bin/file
3058 case $host_cpu in
3059 ia64*)
3060 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3061 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3062 ;;
3063 hppa*64*)
3064 [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]']
3065 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3066 ;;
3067 *)
3068 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3069 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3070 ;;
3071 esac
3072 ;;
3073
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003074interix[[3-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003075 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3076 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3077 ;;
3078
3079irix5* | irix6* | nonstopux*)
3080 case $LD in
3081 *-32|*"-32 ") libmagic=32-bit;;
3082 *-n32|*"-n32 ") libmagic=N32;;
3083 *-64|*"-64 ") libmagic=64-bit;;
3084 *) libmagic=never-match;;
3085 esac
3086 lt_cv_deplibs_check_method=pass_all
3087 ;;
3088
3089# This must be Linux ELF.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003090linux* | k*bsd*-gnu)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003091 lt_cv_deplibs_check_method=pass_all
3092 ;;
3093
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003094netbsd*)
3095 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08003096 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3097 else
3098 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3099 fi
3100 ;;
3101
3102newos6*)
3103 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3104 lt_cv_file_magic_cmd=/usr/bin/file
3105 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3106 ;;
3107
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003108*nto* | *qnx*)
3109 lt_cv_deplibs_check_method=pass_all
The Android Open Source Project893912b2009-03-03 19:30:05 -08003110 ;;
3111
3112openbsd*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003113 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08003114 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3115 else
3116 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3117 fi
3118 ;;
3119
3120osf3* | osf4* | osf5*)
3121 lt_cv_deplibs_check_method=pass_all
3122 ;;
3123
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003124rdos*)
3125 lt_cv_deplibs_check_method=pass_all
3126 ;;
3127
The Android Open Source Project893912b2009-03-03 19:30:05 -08003128solaris*)
3129 lt_cv_deplibs_check_method=pass_all
3130 ;;
3131
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003132sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3133 lt_cv_deplibs_check_method=pass_all
3134 ;;
3135
The Android Open Source Project893912b2009-03-03 19:30:05 -08003136sysv4 | sysv4.3*)
3137 case $host_vendor in
3138 motorola)
3139 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3140 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3141 ;;
3142 ncr)
3143 lt_cv_deplibs_check_method=pass_all
3144 ;;
3145 sequent)
3146 lt_cv_file_magic_cmd='/bin/file'
3147 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3148 ;;
3149 sni)
3150 lt_cv_file_magic_cmd='/bin/file'
3151 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3152 lt_cv_file_magic_test_file=/lib/libc.so
3153 ;;
3154 siemens)
3155 lt_cv_deplibs_check_method=pass_all
3156 ;;
3157 pc)
3158 lt_cv_deplibs_check_method=pass_all
3159 ;;
3160 esac
3161 ;;
3162
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003163tpf*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003164 lt_cv_deplibs_check_method=pass_all
3165 ;;
3166esac
3167])
3168file_magic_cmd=$lt_cv_file_magic_cmd
3169deplibs_check_method=$lt_cv_deplibs_check_method
3170test -z "$deplibs_check_method" && deplibs_check_method=unknown
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003171
3172_LT_DECL([], [deplibs_check_method], [1],
3173 [Method to check whether dependent libraries are shared objects])
3174_LT_DECL([], [file_magic_cmd], [1],
3175 [Command to use when deplibs_check_method == "file_magic"])
3176])# _LT_CHECK_MAGIC_METHOD
The Android Open Source Project893912b2009-03-03 19:30:05 -08003177
3178
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003179# LT_PATH_NM
The Android Open Source Project893912b2009-03-03 19:30:05 -08003180# ----------
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003181# find the pathname to a BSD- or MS-compatible name lister
3182AC_DEFUN([LT_PATH_NM],
3183[AC_REQUIRE([AC_PROG_CC])dnl
3184AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
The Android Open Source Project893912b2009-03-03 19:30:05 -08003185[if test -n "$NM"; then
3186 # Let the user override the test.
3187 lt_cv_path_NM="$NM"
3188else
3189 lt_nm_to_check="${ac_tool_prefix}nm"
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003190 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08003191 lt_nm_to_check="$lt_nm_to_check nm"
3192 fi
3193 for lt_tmp_nm in $lt_nm_to_check; do
3194 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3195 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3196 IFS="$lt_save_ifs"
3197 test -z "$ac_dir" && ac_dir=.
3198 tmp_nm="$ac_dir/$lt_tmp_nm"
3199 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3200 # Check to see if the nm accepts a BSD-compat flag.
3201 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3202 # nm: unknown option "B" ignored
3203 # Tru64's nm complains that /dev/null is an invalid object file
3204 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3205 */dev/null* | *'Invalid file or object type'*)
3206 lt_cv_path_NM="$tmp_nm -B"
3207 break
3208 ;;
3209 *)
3210 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3211 */dev/null*)
3212 lt_cv_path_NM="$tmp_nm -p"
3213 break
3214 ;;
3215 *)
3216 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3217 continue # so that we can try to find one that supports BSD flags
3218 ;;
3219 esac
3220 ;;
3221 esac
3222 fi
3223 done
3224 IFS="$lt_save_ifs"
3225 done
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003226 : ${lt_cv_path_NM=no}
The Android Open Source Project893912b2009-03-03 19:30:05 -08003227fi])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003228if test "$lt_cv_path_NM" != "no"; then
3229 NM="$lt_cv_path_NM"
3230else
3231 # Didn't find any BSD compatible name lister, look for dumpbin.
3232 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
3233 AC_SUBST([DUMPBIN])
3234 if test "$DUMPBIN" != ":"; then
3235 NM="$DUMPBIN"
3236 fi
3237fi
3238test -z "$NM" && NM=nm
3239AC_SUBST([NM])
3240_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3241
3242AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3243 [lt_cv_nm_interface="BSD nm"
3244 echo "int some_variable = 0;" > conftest.$ac_ext
3245 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3246 (eval "$ac_compile" 2>conftest.err)
3247 cat conftest.err >&AS_MESSAGE_LOG_FD
3248 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3249 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3250 cat conftest.err >&AS_MESSAGE_LOG_FD
3251 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
3252 cat conftest.out >&AS_MESSAGE_LOG_FD
3253 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3254 lt_cv_nm_interface="MS dumpbin"
3255 fi
3256 rm -f conftest*])
3257])# LT_PATH_NM
3258
3259# Old names:
3260AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3261AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3262dnl aclocal-1.4 backwards compatibility:
3263dnl AC_DEFUN([AM_PROG_NM], [])
3264dnl AC_DEFUN([AC_PROG_NM], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -08003265
3266
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003267# LT_LIB_M
3268# --------
The Android Open Source Project893912b2009-03-03 19:30:05 -08003269# check for math library
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003270AC_DEFUN([LT_LIB_M],
The Android Open Source Project893912b2009-03-03 19:30:05 -08003271[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3272LIBM=
3273case $host in
3274*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3275 # These system don't have libm, or don't need it
3276 ;;
3277*-ncr-sysv4.3*)
3278 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3279 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3280 ;;
3281*)
3282 AC_CHECK_LIB(m, cos, LIBM="-lm")
3283 ;;
3284esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003285AC_SUBST([LIBM])
3286])# LT_LIB_M
The Android Open Source Project893912b2009-03-03 19:30:05 -08003287
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003288# Old name:
3289AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3290dnl aclocal-1.4 backwards compatibility:
3291dnl AC_DEFUN([AC_CHECK_LIBM], [])
The Android Open Source Project893912b2009-03-03 19:30:05 -08003292
The Android Open Source Project893912b2009-03-03 19:30:05 -08003293
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003294# _LT_COMPILER_NO_RTTI([TAGNAME])
3295# -------------------------------
3296m4_defun([_LT_COMPILER_NO_RTTI],
3297[m4_require([_LT_TAG_COMPILER])dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -08003298
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003299_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08003300
3301if test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003302 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003303
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003304 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
The Android Open Source Project893912b2009-03-03 19:30:05 -08003305 lt_cv_prog_compiler_rtti_exceptions,
3306 [-fno-rtti -fno-exceptions], [],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003307 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
The Android Open Source Project893912b2009-03-03 19:30:05 -08003308fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003309_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3310 [Compiler flag to turn off builtin functions])
3311])# _LT_COMPILER_NO_RTTI
The Android Open Source Project893912b2009-03-03 19:30:05 -08003312
3313
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003314# _LT_CMD_GLOBAL_SYMBOLS
3315# ----------------------
3316m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3317[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3318AC_REQUIRE([AC_PROG_CC])dnl
3319AC_REQUIRE([LT_PATH_NM])dnl
3320AC_REQUIRE([LT_PATH_LD])dnl
3321m4_require([_LT_DECL_SED])dnl
3322m4_require([_LT_DECL_EGREP])dnl
3323m4_require([_LT_TAG_COMPILER])dnl
3324
The Android Open Source Project893912b2009-03-03 19:30:05 -08003325# Check for command to grab the raw symbol name followed by C symbol from nm.
3326AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3327AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3328[
3329# These are sane defaults that work on at least a few old systems.
3330# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3331
3332# Character class describing NM global symbol codes.
3333symcode='[[BCDEGRST]]'
3334
3335# Regexp to match symbols that can be accessed directly from C.
3336sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3337
The Android Open Source Project893912b2009-03-03 19:30:05 -08003338# Define system-specific variables.
3339case $host_os in
3340aix*)
3341 symcode='[[BCDT]]'
3342 ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04003343cygwin* | mingw* | pw32* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003344 symcode='[[ABCDGISTW]]'
3345 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003346hpux*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003347 if test "$host_cpu" = ia64; then
3348 symcode='[[ABCDEGRST]]'
3349 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08003350 ;;
3351irix* | nonstopux*)
3352 symcode='[[BCDEGRST]]'
3353 ;;
3354osf*)
3355 symcode='[[BCDEGQRST]]'
3356 ;;
3357solaris*)
3358 symcode='[[BDRT]]'
3359 ;;
3360sco3.2v5*)
3361 symcode='[[DT]]'
3362 ;;
3363sysv4.2uw2*)
3364 symcode='[[DT]]'
3365 ;;
3366sysv5* | sco5v6* | unixware* | OpenUNIX*)
3367 symcode='[[ABDT]]'
3368 ;;
3369sysv4)
3370 symcode='[[DFNSTU]]'
3371 ;;
3372esac
3373
The Android Open Source Project893912b2009-03-03 19:30:05 -08003374# If we're using GNU nm, then use its standard symbol codes.
3375case `$NM -V 2>&1` in
3376*GNU* | *'with BFD'*)
3377 symcode='[[ABCDGIRSTW]]' ;;
3378esac
3379
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003380# Transform an extracted symbol line into a proper C declaration.
3381# Some systems (esp. on ia64) link data and code symbols differently,
3382# so use this general approach.
3383lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3384
3385# Transform an extracted symbol line into symbol name and symbol address
3386lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3387lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
3388
3389# Handle CRLF in mingw tool chain
3390opt_cr=
3391case $build_os in
3392mingw*)
3393 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3394 ;;
3395esac
3396
3397# Try without a prefix underscore, then with it.
The Android Open Source Project893912b2009-03-03 19:30:05 -08003398for ac_symprfx in "" "_"; do
3399
3400 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3401 symxfrm="\\1 $ac_symprfx\\2 \\2"
3402
3403 # Write the raw and C identifiers.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003404 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3405 # Fake it for dumpbin and say T for any non-static function
3406 # and D for any global variable.
3407 # Also find C++ and __fastcall symbols from MSVC++,
3408 # which start with @ or ?.
3409 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3410" {last_section=section; section=\$ 3};"\
3411" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3412" \$ 0!~/External *\|/{next};"\
3413" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3414" {if(hide[section]) next};"\
3415" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3416" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3417" s[1]~/^[@?]/{print s[1], s[1]; next};"\
3418" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3419" ' prfx=^$ac_symprfx]"
3420 else
3421 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3422 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08003423
3424 # Check to see that the pipe works correctly.
3425 pipe_works=no
3426
3427 rm -f conftest*
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003428 cat > conftest.$ac_ext <<_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08003429#ifdef __cplusplus
3430extern "C" {
3431#endif
3432char nm_test_var;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003433void nm_test_func(void);
3434void nm_test_func(void){}
The Android Open Source Project893912b2009-03-03 19:30:05 -08003435#ifdef __cplusplus
3436}
3437#endif
3438int main(){nm_test_var='a';nm_test_func();return(0);}
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003439_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08003440
3441 if AC_TRY_EVAL(ac_compile); then
3442 # Now try to grab the symbols.
3443 nlist=conftest.nm
3444 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3445 # Try sorting and uniquifying the output.
3446 if sort "$nlist" | uniq > "$nlist"T; then
3447 mv -f "$nlist"T "$nlist"
3448 else
3449 rm -f "$nlist"T
3450 fi
3451
3452 # Make sure that we snagged all the symbols we need.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003453 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3454 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3455 cat <<_LT_EOF > conftest.$ac_ext
The Android Open Source Project893912b2009-03-03 19:30:05 -08003456#ifdef __cplusplus
3457extern "C" {
3458#endif
3459
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003460_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08003461 # Now generate the symbol file.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003462 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003463
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003464 cat <<_LT_EOF >> conftest.$ac_ext
The Android Open Source Project893912b2009-03-03 19:30:05 -08003465
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003466/* The mapping between symbol names and symbols. */
The Android Open Source Project893912b2009-03-03 19:30:05 -08003467const struct {
3468 const char *name;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003469 void *address;
The Android Open Source Project893912b2009-03-03 19:30:05 -08003470}
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003471lt__PROGRAM__LTX_preloaded_symbols[[]] =
The Android Open Source Project893912b2009-03-03 19:30:05 -08003472{
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003473 { "@PROGRAM@", (void *) 0 },
3474_LT_EOF
3475 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3476 cat <<\_LT_EOF >> conftest.$ac_ext
3477 {0, (void *) 0}
The Android Open Source Project893912b2009-03-03 19:30:05 -08003478};
3479
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003480/* This works around a problem in FreeBSD linker */
3481#ifdef FREEBSD_WORKAROUND
3482static const void *lt_preloaded_setup() {
3483 return lt__PROGRAM__LTX_preloaded_symbols;
3484}
3485#endif
3486
The Android Open Source Project893912b2009-03-03 19:30:05 -08003487#ifdef __cplusplus
3488}
3489#endif
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003490_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08003491 # Now try linking the two files.
3492 mv conftest.$ac_objext conftstm.$ac_objext
3493 lt_save_LIBS="$LIBS"
3494 lt_save_CFLAGS="$CFLAGS"
3495 LIBS="conftstm.$ac_objext"
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003496 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
The Android Open Source Project893912b2009-03-03 19:30:05 -08003497 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3498 pipe_works=yes
3499 fi
3500 LIBS="$lt_save_LIBS"
3501 CFLAGS="$lt_save_CFLAGS"
3502 else
3503 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3504 fi
3505 else
3506 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3507 fi
3508 else
3509 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3510 fi
3511 else
3512 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3513 cat conftest.$ac_ext >&5
3514 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003515 rm -rf conftest* conftst*
The Android Open Source Project893912b2009-03-03 19:30:05 -08003516
3517 # Do not use the global_symbol_pipe unless it works.
3518 if test "$pipe_works" = yes; then
3519 break
3520 else
3521 lt_cv_sys_global_symbol_pipe=
3522 fi
3523done
3524])
3525if test -z "$lt_cv_sys_global_symbol_pipe"; then
3526 lt_cv_sys_global_symbol_to_cdecl=
3527fi
3528if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3529 AC_MSG_RESULT(failed)
3530else
3531 AC_MSG_RESULT(ok)
3532fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003533
3534_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3535 [Take the output of nm and produce a listing of raw symbols and C names])
3536_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3537 [Transform the output of nm in a proper C declaration])
3538_LT_DECL([global_symbol_to_c_name_address],
3539 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3540 [Transform the output of nm in a C name address pair])
3541_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3542 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3543 [Transform the output of nm in a C name address pair when lib prefix is needed])
3544]) # _LT_CMD_GLOBAL_SYMBOLS
The Android Open Source Project893912b2009-03-03 19:30:05 -08003545
3546
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003547# _LT_COMPILER_PIC([TAGNAME])
3548# ---------------------------
3549m4_defun([_LT_COMPILER_PIC],
3550[m4_require([_LT_TAG_COMPILER])dnl
3551_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3552_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3553_LT_TAGVAR(lt_prog_compiler_static, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08003554
3555AC_MSG_CHECKING([for $compiler option to produce PIC])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003556m4_if([$1], [CXX], [
The Android Open Source Project893912b2009-03-03 19:30:05 -08003557 # C++ specific cases for pic, static, wl, etc.
3558 if test "$GXX" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003559 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3560 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003561
3562 case $host_os in
3563 aix*)
3564 # All AIX code is PIC.
3565 if test "$host_cpu" = ia64; then
3566 # AIX 5 now supports IA64 processor
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003567 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003568 fi
3569 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003570
The Android Open Source Project893912b2009-03-03 19:30:05 -08003571 amigaos*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003572 case $host_cpu in
3573 powerpc)
3574 # see comment about AmigaOS4 .so support
3575 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3576 ;;
3577 m68k)
3578 # FIXME: we need at least 68020 code to build shared libraries, but
3579 # adding the `-m68020' flag to GCC prevents building anything better,
3580 # like `-m68040'.
3581 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3582 ;;
3583 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08003584 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003585
3586 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003587 # PIC is the default for these OSes.
3588 ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04003589 mingw* | cygwin* | os2* | pw32* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003590 # This hack is so that the source file can tell whether it is being
3591 # built for inclusion in a dll (and should export symbols for example).
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003592 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3593 # (--disable-auto-import) libraries
3594 m4_if([$1], [GCJ], [],
3595 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
The Android Open Source Project893912b2009-03-03 19:30:05 -08003596 ;;
3597 darwin* | rhapsody*)
3598 # PIC is the default on this platform
3599 # Common symbols not allowed in MH_DYLIB files
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003600 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003601 ;;
3602 *djgpp*)
3603 # DJGPP does not support shared libraries at all
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003604 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08003605 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003606 interix[[3-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003607 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3608 # Instead, we relocate shared libraries at runtime.
3609 ;;
3610 sysv4*MP*)
3611 if test -d /usr/nec; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003612 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
The Android Open Source Project893912b2009-03-03 19:30:05 -08003613 fi
3614 ;;
3615 hpux*)
Patrick Scott5f6bd842010-06-28 16:55:16 -04003616 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3617 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3618 # sets the default TLS model and affects inlining.
The Android Open Source Project893912b2009-03-03 19:30:05 -08003619 case $host_cpu in
Patrick Scott5f6bd842010-06-28 16:55:16 -04003620 hppa*64*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003621 ;;
3622 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003623 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003624 ;;
3625 esac
3626 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003627 *qnx* | *nto*)
3628 # QNX uses GNU C++, but need to define -shared option too, otherwise
3629 # it will coredump.
3630 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3631 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08003632 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003633 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003634 ;;
3635 esac
3636 else
3637 case $host_os in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003638 aix[[4-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003639 # All AIX code is PIC.
3640 if test "$host_cpu" = ia64; then
3641 # AIX 5 now supports IA64 processor
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003642 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003643 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003644 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003645 fi
3646 ;;
3647 chorus*)
3648 case $cc_basename in
3649 cxch68*)
3650 # Green Hills C++ Compiler
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003651 # _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"
The Android Open Source Project893912b2009-03-03 19:30:05 -08003652 ;;
3653 esac
3654 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08003655 dgux*)
3656 case $cc_basename in
3657 ec++*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003658 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003659 ;;
3660 ghcx*)
3661 # Green Hills C++ Compiler
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003662 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003663 ;;
3664 *)
3665 ;;
3666 esac
3667 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003668 freebsd* | dragonfly*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003669 # FreeBSD uses GNU C++
3670 ;;
3671 hpux9* | hpux10* | hpux11*)
3672 case $cc_basename in
3673 CC*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003674 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3675 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003676 if test "$host_cpu" != ia64; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003677 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003678 fi
3679 ;;
3680 aCC*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003681 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3682 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003683 case $host_cpu in
3684 hppa*64*|ia64*)
3685 # +Z the default
3686 ;;
3687 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003688 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003689 ;;
3690 esac
3691 ;;
3692 *)
3693 ;;
3694 esac
3695 ;;
3696 interix*)
3697 # This is c89, which is MS Visual C++ (no shared libs)
3698 # Anyone wants to do a port?
3699 ;;
3700 irix5* | irix6* | nonstopux*)
3701 case $cc_basename in
3702 CC*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003703 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3704 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003705 # CC pic flag -KPIC is the default.
3706 ;;
3707 *)
3708 ;;
3709 esac
3710 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003711 linux* | k*bsd*-gnu)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003712 case $cc_basename in
3713 KCC*)
3714 # KAI C++ Compiler
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003715 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3716 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003717 ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04003718 ecpc* )
3719 # old Intel C++ for x86_64 which still supported -KPIC.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003720 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3721 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3722 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003723 ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04003724 icpc* )
3725 # Intel C++, used to be incompatible with GCC.
3726 # ICC 10 doesn't accept -KPIC any more.
3727 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3728 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3729 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3730 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003731 pgCC* | pgcpp*)
3732 # Portland Group C++ compiler
3733 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3734 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3735 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003736 ;;
3737 cxx*)
3738 # Compaq C++
3739 # Make sure the PIC flag is empty. It appears that all Alpha
3740 # Linux and Compaq Tru64 Unix objects are PIC.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003741 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3742 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3743 ;;
3744 xlc* | xlC*)
3745 # IBM XL 8.0 on PPC
3746 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3747 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3748 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003749 ;;
3750 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003751 case `$CC -V 2>&1 | sed 5q` in
3752 *Sun\ C*)
3753 # Sun C++ 5.9
3754 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3755 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3756 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3757 ;;
3758 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08003759 ;;
3760 esac
3761 ;;
3762 lynxos*)
3763 ;;
3764 m88k*)
3765 ;;
3766 mvs*)
3767 case $cc_basename in
3768 cxx*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003769 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003770 ;;
3771 *)
3772 ;;
3773 esac
3774 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003775 netbsd*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003776 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003777 *qnx* | *nto*)
3778 # QNX uses GNU C++, but need to define -shared option too, otherwise
3779 # it will coredump.
3780 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3781 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08003782 osf3* | osf4* | osf5*)
3783 case $cc_basename in
3784 KCC*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003785 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003786 ;;
3787 RCC*)
3788 # Rational C++ 2.4.1
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003789 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003790 ;;
3791 cxx*)
3792 # Digital/Compaq C++
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003793 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003794 # Make sure the PIC flag is empty. It appears that all Alpha
3795 # Linux and Compaq Tru64 Unix objects are PIC.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003796 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3797 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003798 ;;
3799 *)
3800 ;;
3801 esac
3802 ;;
3803 psos*)
3804 ;;
3805 solaris*)
3806 case $cc_basename in
3807 CC*)
3808 # Sun C++ 4.2, 5.x and Centerline C++
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003809 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3810 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3811 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
The Android Open Source Project893912b2009-03-03 19:30:05 -08003812 ;;
3813 gcx*)
3814 # Green Hills C++ Compiler
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003815 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003816 ;;
3817 *)
3818 ;;
3819 esac
3820 ;;
3821 sunos4*)
3822 case $cc_basename in
3823 CC*)
3824 # Sun C++ 4.x
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003825 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3826 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003827 ;;
3828 lcc*)
3829 # Lucid
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003830 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003831 ;;
3832 *)
3833 ;;
3834 esac
3835 ;;
3836 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3837 case $cc_basename in
3838 CC*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003839 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3840 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3841 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3842 ;;
3843 esac
3844 ;;
3845 tandem*)
3846 case $cc_basename in
3847 NCC*)
3848 # NonStop-UX NCC 3.20
3849 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3850 ;;
3851 *)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003852 ;;
3853 esac
3854 ;;
3855 vxworks*)
3856 ;;
3857 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003858 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08003859 ;;
3860 esac
3861 fi
3862],
3863[
3864 if test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003865 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3866 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003867
3868 case $host_os in
3869 aix*)
3870 # All AIX code is PIC.
3871 if test "$host_cpu" = ia64; then
3872 # AIX 5 now supports IA64 processor
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003873 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003874 fi
3875 ;;
3876
3877 amigaos*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003878 case $host_cpu in
3879 powerpc)
3880 # see comment about AmigaOS4 .so support
3881 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3882 ;;
3883 m68k)
3884 # FIXME: we need at least 68020 code to build shared libraries, but
3885 # adding the `-m68020' flag to GCC prevents building anything better,
3886 # like `-m68040'.
3887 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3888 ;;
3889 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08003890 ;;
3891
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003892 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003893 # PIC is the default for these OSes.
3894 ;;
3895
Patrick Scott5f6bd842010-06-28 16:55:16 -04003896 mingw* | cygwin* | pw32* | os2* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003897 # This hack is so that the source file can tell whether it is being
3898 # built for inclusion in a dll (and should export symbols for example).
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003899 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3900 # (--disable-auto-import) libraries
3901 m4_if([$1], [GCJ], [],
3902 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
The Android Open Source Project893912b2009-03-03 19:30:05 -08003903 ;;
3904
3905 darwin* | rhapsody*)
3906 # PIC is the default on this platform
3907 # Common symbols not allowed in MH_DYLIB files
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003908 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003909 ;;
3910
3911 hpux*)
Patrick Scott5f6bd842010-06-28 16:55:16 -04003912 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3913 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3914 # sets the default TLS model and affects inlining.
The Android Open Source Project893912b2009-03-03 19:30:05 -08003915 case $host_cpu in
Patrick Scott5f6bd842010-06-28 16:55:16 -04003916 hppa*64*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003917 # +Z the default
3918 ;;
3919 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003920 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003921 ;;
3922 esac
3923 ;;
3924
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003925 interix[[3-9]]*)
3926 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3927 # Instead, we relocate shared libraries at runtime.
3928 ;;
3929
3930 msdosdjgpp*)
3931 # Just because we use GCC doesn't mean we suddenly get shared libraries
3932 # on systems that don't support them.
3933 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3934 enable_shared=no
3935 ;;
3936
3937 *nto* | *qnx*)
3938 # QNX uses GNU C++, but need to define -shared option too, otherwise
3939 # it will coredump.
3940 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3941 ;;
3942
3943 sysv4*MP*)
3944 if test -d /usr/nec; then
3945 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3946 fi
3947 ;;
3948
The Android Open Source Project893912b2009-03-03 19:30:05 -08003949 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003950 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003951 ;;
3952 esac
3953 else
3954 # PORTME Check for flag to pass linker flags through the system compiler.
3955 case $host_os in
3956 aix*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003957 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003958 if test "$host_cpu" = ia64; then
3959 # AIX 5 now supports IA64 processor
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003960 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003961 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003962 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003963 fi
3964 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08003965
Patrick Scott5f6bd842010-06-28 16:55:16 -04003966 mingw* | cygwin* | pw32* | os2* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003967 # This hack is so that the source file can tell whether it is being
3968 # built for inclusion in a dll (and should export symbols for example).
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003969 m4_if([$1], [GCJ], [],
3970 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
The Android Open Source Project893912b2009-03-03 19:30:05 -08003971 ;;
3972
3973 hpux9* | hpux10* | hpux11*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003974 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003975 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3976 # not for PA HP-UX.
3977 case $host_cpu in
3978 hppa*64*|ia64*)
3979 # +Z the default
3980 ;;
3981 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003982 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003983 ;;
3984 esac
3985 # Is there a better lt_prog_compiler_static that works with the bundled CC?
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003986 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003987 ;;
3988
3989 irix5* | irix6* | nonstopux*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003990 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003991 # PIC (with -KPIC) is the default.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003992 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
The Android Open Source Project893912b2009-03-03 19:30:05 -08003993 ;;
3994
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003995 linux* | k*bsd*-gnu)
The Android Open Source Project893912b2009-03-03 19:30:05 -08003996 case $cc_basename in
Patrick Scott5f6bd842010-06-28 16:55:16 -04003997 # old Intel for x86_64 which still supported -KPIC.
3998 ecc*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07003999 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4000 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4001 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004002 ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04004003 # icc used to be incompatible with GCC.
4004 # ICC 10 doesn't accept -KPIC any more.
4005 icc* | ifort*)
4006 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4007 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4008 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4009 ;;
4010 # Lahey Fortran 8.1.
4011 lf95*)
4012 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4013 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4014 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4015 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08004016 pgcc* | pgf77* | pgf90* | pgf95*)
4017 # Portland Group compilers (*not* the Pentium gcc compiler,
4018 # which looks to be a dead project)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004019 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4020 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4021 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004022 ;;
4023 ccc*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004024 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004025 # All Alpha code is PIC.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004026 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004027 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004028 xl*)
4029 # IBM XL C 8.0/Fortran 10.1 on PPC
4030 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4031 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4032 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4033 ;;
4034 *)
4035 case `$CC -V 2>&1 | sed 5q` in
4036 *Sun\ C*)
4037 # Sun C 5.9
4038 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4039 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4040 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4041 ;;
4042 *Sun\ F*)
4043 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4044 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4045 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4046 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4047 ;;
4048 esac
4049 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08004050 esac
4051 ;;
4052
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004053 newsos6)
4054 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4055 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4056 ;;
4057
4058 *nto* | *qnx*)
4059 # QNX uses GNU C++, but need to define -shared option too, otherwise
4060 # it will coredump.
4061 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4062 ;;
4063
The Android Open Source Project893912b2009-03-03 19:30:05 -08004064 osf3* | osf4* | osf5*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004065 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004066 # All OSF/1 code is PIC.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004067 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4068 ;;
4069
4070 rdos*)
4071 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004072 ;;
4073
4074 solaris*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004075 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4076 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004077 case $cc_basename in
4078 f77* | f90* | f95*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004079 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
The Android Open Source Project893912b2009-03-03 19:30:05 -08004080 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004081 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
The Android Open Source Project893912b2009-03-03 19:30:05 -08004082 esac
4083 ;;
4084
4085 sunos4*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004086 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4087 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4088 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004089 ;;
4090
4091 sysv4 | sysv4.2uw2* | sysv4.3*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004092 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4093 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4094 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004095 ;;
4096
4097 sysv4*MP*)
4098 if test -d /usr/nec ;then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004099 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4100 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004101 fi
4102 ;;
4103
4104 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004105 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4106 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4107 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004108 ;;
4109
4110 unicos*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004111 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4112 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004113 ;;
4114
4115 uts4*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004116 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4117 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004118 ;;
4119
4120 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004121 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004122 ;;
4123 esac
4124 fi
4125])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004126case $host_os in
4127 # For platforms which do not support PIC, -DPIC is meaningless:
4128 *djgpp*)
4129 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4130 ;;
4131 *)
4132 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4133 ;;
4134esac
4135AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4136_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4137 [How to pass a linker flag through the compiler])
The Android Open Source Project893912b2009-03-03 19:30:05 -08004138
4139#
4140# Check to make sure the PIC flag actually works.
4141#
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004142if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4143 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4144 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4145 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4146 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
The Android Open Source Project893912b2009-03-03 19:30:05 -08004147 "" | " "*) ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004148 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08004149 esac],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004150 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4151 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
The Android Open Source Project893912b2009-03-03 19:30:05 -08004152fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004153_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4154 [Additional compiler flags for building library objects])
The Android Open Source Project893912b2009-03-03 19:30:05 -08004155
4156#
4157# Check to make sure the static flag actually works.
4158#
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004159wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4160_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4161 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
The Android Open Source Project893912b2009-03-03 19:30:05 -08004162 $lt_tmp_static_flag,
4163 [],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004164 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4165_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4166 [Compiler flag to prevent dynamic linking])
4167])# _LT_COMPILER_PIC
The Android Open Source Project893912b2009-03-03 19:30:05 -08004168
4169
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004170# _LT_LINKER_SHLIBS([TAGNAME])
4171# ----------------------------
The Android Open Source Project893912b2009-03-03 19:30:05 -08004172# See if the linker supports building shared libraries.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004173m4_defun([_LT_LINKER_SHLIBS],
4174[AC_REQUIRE([LT_PATH_LD])dnl
4175AC_REQUIRE([LT_PATH_NM])dnl
4176m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4177m4_require([_LT_DECL_EGREP])dnl
4178m4_require([_LT_DECL_SED])dnl
4179m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4180m4_require([_LT_TAG_COMPILER])dnl
4181AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4182m4_if([$1], [CXX], [
4183 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004184 case $host_os in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004185 aix[[4-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08004186 # If we're using GNU nm, then we don't want the "-C" option.
4187 # -C means demangle to AIX nm, but means don't demangle with GNU nm
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004188 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4189 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004190 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004191 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004192 fi
4193 ;;
4194 pw32*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004195 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
The Android Open Source Project893912b2009-03-03 19:30:05 -08004196 ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04004197 cygwin* | mingw* | cegcc*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004198 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004199 ;;
4200 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004201 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004202 ;;
4203 esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004204 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4205], [
The Android Open Source Project893912b2009-03-03 19:30:05 -08004206 runpath_var=
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004207 _LT_TAGVAR(allow_undefined_flag, $1)=
4208 _LT_TAGVAR(always_export_symbols, $1)=no
4209 _LT_TAGVAR(archive_cmds, $1)=
4210 _LT_TAGVAR(archive_expsym_cmds, $1)=
4211 _LT_TAGVAR(compiler_needs_object, $1)=no
4212 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4213 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4214 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4215 _LT_TAGVAR(hardcode_automatic, $1)=no
4216 _LT_TAGVAR(hardcode_direct, $1)=no
4217 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4218 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4219 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4220 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4221 _LT_TAGVAR(hardcode_minus_L, $1)=no
4222 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4223 _LT_TAGVAR(inherit_rpath, $1)=no
4224 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4225 _LT_TAGVAR(module_cmds, $1)=
4226 _LT_TAGVAR(module_expsym_cmds, $1)=
4227 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4228 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4229 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4230 _LT_TAGVAR(whole_archive_flag_spec, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08004231 # include_expsyms should be a list of space-separated symbols to be *always*
4232 # included in the symbol list
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004233 _LT_TAGVAR(include_expsyms, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08004234 # exclude_expsyms can be an extended regexp of symbols to exclude
4235 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4236 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4237 # as well as any symbol that contains `d'.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004238 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
The Android Open Source Project893912b2009-03-03 19:30:05 -08004239 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4240 # platforms (ab)use it in PIC code, but their linkers get confused if
4241 # the symbol is explicitly referenced. Since portable code cannot
4242 # rely on this symbol name, it's probably fine to never include it in
4243 # preloaded symbol tables.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004244 # Exclude shared library initialization/finalization symbols.
4245dnl Note also adjust exclude_expsyms for C++ above.
The Android Open Source Project893912b2009-03-03 19:30:05 -08004246 extract_expsyms_cmds=
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004247
The Android Open Source Project893912b2009-03-03 19:30:05 -08004248 case $host_os in
Patrick Scott5f6bd842010-06-28 16:55:16 -04004249 cygwin* | mingw* | pw32* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08004250 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4251 # When not using gcc, we currently assume that we are using
4252 # Microsoft Visual C++.
4253 if test "$GCC" != yes; then
4254 with_gnu_ld=no
4255 fi
4256 ;;
4257 interix*)
4258 # we just hope/assume this is gcc and not c89 (= MSVC++)
4259 with_gnu_ld=yes
4260 ;;
4261 openbsd*)
4262 with_gnu_ld=no
4263 ;;
4264 esac
4265
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004266 _LT_TAGVAR(ld_shlibs, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004267 if test "$with_gnu_ld" = yes; then
4268 # If archive_cmds runs LD, not CC, wlarc should be empty
4269 wlarc='${wl}'
4270
4271 # Set some defaults for GNU ld with shared library support. These
4272 # are reset later if shared libraries are not supported. Putting them
4273 # here allows them to be overridden if necessary.
4274 runpath_var=LD_RUN_PATH
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004275 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4276 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004277 # ancient GNU ld didn't support --whole-archive et. al.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004278 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4279 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4280 else
4281 _LT_TAGVAR(whole_archive_flag_spec, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08004282 fi
4283 supports_anon_versioning=no
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004284 case `$LD -v 2>&1` in
The Android Open Source Project893912b2009-03-03 19:30:05 -08004285 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4286 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4287 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4288 *\ 2.11.*) ;; # other 2.11 versions
4289 *) supports_anon_versioning=yes ;;
4290 esac
4291
4292 # See if GNU ld supports shared libraries.
4293 case $host_os in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004294 aix[[3-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08004295 # On AIX/PPC, the GNU linker is very broken
4296 if test "$host_cpu" != ia64; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004297 _LT_TAGVAR(ld_shlibs, $1)=no
4298 cat <<_LT_EOF 1>&2
The Android Open Source Project893912b2009-03-03 19:30:05 -08004299
4300*** Warning: the GNU linker, at least up to release 2.9.1, is reported
4301*** to be unable to reliably create shared libraries on AIX.
4302*** Therefore, libtool is disabling shared libraries support. If you
4303*** really care for shared libraries, you may want to modify your PATH
4304*** so that a non-GNU linker is found, and then restart.
4305
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004306_LT_EOF
The Android Open Source Project893912b2009-03-03 19:30:05 -08004307 fi
4308 ;;
4309
4310 amigaos*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004311 case $host_cpu in
4312 powerpc)
4313 # see comment about AmigaOS4 .so support
4314 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4315 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4316 ;;
4317 m68k)
4318 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4319 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4320 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4321 ;;
4322 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08004323 ;;
4324
4325 beos*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004326 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4327 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
The Android Open Source Project893912b2009-03-03 19:30:05 -08004328 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4329 # support --undefined. This deserves some investigation. FIXME
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004330 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004331 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004332 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004333 fi
4334 ;;
4335
Patrick Scott5f6bd842010-06-28 16:55:16 -04004336 cygwin* | mingw* | pw32* | cegcc*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004337 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
The Android Open Source Project893912b2009-03-03 19:30:05 -08004338 # as there is no search path for DLLs.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004339 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4340 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4341 _LT_TAGVAR(always_export_symbols, $1)=no
4342 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4343 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004344
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004345 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4346 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004347 # If the export-symbols file already is a .def file (1st line
4348 # is EXPORTS), use it as is; otherwise, prepend...
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004349 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08004350 cp $export_symbols $output_objdir/$soname.def;
4351 else
4352 echo EXPORTS > $output_objdir/$soname.def;
4353 cat $export_symbols >> $output_objdir/$soname.def;
4354 fi~
4355 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4356 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004357 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004358 fi
4359 ;;
4360
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004361 interix[[3-9]]*)
4362 _LT_TAGVAR(hardcode_direct, $1)=no
4363 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4364 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4365 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004366 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4367 # Instead, shared libraries are loaded at an image base (0x10000000 by
4368 # default) and relocated if they conflict, which is a slow very memory
4369 # consuming and fragmenting process. To avoid this, we pick a random,
4370 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4371 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004372 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4373 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004374 ;;
4375
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004376 gnu* | linux* | tpf* | k*bsd*-gnu)
4377 tmp_diet=no
4378 if test "$host_os" = linux-dietlibc; then
4379 case $cc_basename in
4380 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4381 esac
4382 fi
4383 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4384 && test "$tmp_diet" = no
4385 then
The Android Open Source Project893912b2009-03-03 19:30:05 -08004386 tmp_addflag=
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004387 tmp_sharedflag='-shared'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004388 case $cc_basename,$host_cpu in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004389 pgcc*) # Portland Group C compiler
4390 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004391 tmp_addflag=' $pic_flag'
4392 ;;
4393 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004394 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004395 tmp_addflag=' $pic_flag -Mnomain' ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004396 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
The Android Open Source Project893912b2009-03-03 19:30:05 -08004397 tmp_addflag=' -i_dynamic' ;;
4398 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4399 tmp_addflag=' -i_dynamic -nofor_main' ;;
4400 ifc* | ifort*) # Intel Fortran compiler
4401 tmp_addflag=' -nofor_main' ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04004402 lf95*) # Lahey Fortran 8.1
4403 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4404 tmp_sharedflag='--shared' ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004405 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4406 tmp_sharedflag='-qmkshrobj'
4407 tmp_addflag= ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08004408 esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004409 case `$CC -V 2>&1 | sed 5q` in
4410 *Sun\ C*) # Sun C 5.9
4411 _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'
4412 _LT_TAGVAR(compiler_needs_object, $1)=yes
4413 tmp_sharedflag='-G' ;;
4414 *Sun\ F*) # Sun Fortran 8.3
4415 tmp_sharedflag='-G' ;;
4416 esac
4417 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004418
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004419 if test "x$supports_anon_versioning" = xyes; then
4420 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4421 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4422 echo "local: *; };" >> $output_objdir/$libname.ver~
4423 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4424 fi
4425
4426 case $cc_basename in
4427 xlf*)
4428 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4429 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4430 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4431 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4432 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
4433 if test "x$supports_anon_versioning" = xyes; then
4434 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4435 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4436 echo "local: *; };" >> $output_objdir/$libname.ver~
4437 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4438 fi
4439 ;;
4440 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08004441 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004442 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004443 fi
4444 ;;
4445
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004446 netbsd*)
4447 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4448 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004449 wlarc=
4450 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004451 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4452 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004453 fi
4454 ;;
4455
4456 solaris*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004457 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4458 _LT_TAGVAR(ld_shlibs, $1)=no
4459 cat <<_LT_EOF 1>&2
The Android Open Source Project893912b2009-03-03 19:30:05 -08004460
4461*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4462*** create shared libraries on Solaris systems. Therefore, libtool
4463*** is disabling shared libraries support. We urge you to upgrade GNU
4464*** binutils to release 2.9.1 or newer. Another option is to modify
4465*** your PATH or compiler configuration so that the native linker is
4466*** used, and then restart.
4467
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004468_LT_EOF
4469 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4470 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4471 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004472 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004473 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004474 fi
4475 ;;
4476
4477 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4478 case `$LD -v 2>&1` in
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004479 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4480 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004481 cat <<_LT_EOF 1>&2
4482
4483*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4484*** reliably create shared libraries on SCO systems. Therefore, libtool
4485*** is disabling shared libraries support. We urge you to upgrade GNU
4486*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4487*** your PATH or compiler configuration so that the native linker is
4488*** used, and then restart.
4489
4490_LT_EOF
4491 ;;
4492 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004493 # For security reasons, it is highly recommended that you always
4494 # use absolute paths for naming shared libraries, and exclude the
4495 # DT_RUNPATH tag from executables and libraries. But doing so
4496 # requires that you compile everything twice, which is a pain.
4497 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4498 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4499 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4500 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004501 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004502 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004503 fi
4504 ;;
4505 esac
4506 ;;
4507
4508 sunos4*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004509 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004510 wlarc=
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004511 _LT_TAGVAR(hardcode_direct, $1)=yes
4512 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004513 ;;
4514
4515 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004516 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4517 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4518 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004519 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004520 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004521 fi
4522 ;;
4523 esac
4524
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004525 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
The Android Open Source Project893912b2009-03-03 19:30:05 -08004526 runpath_var=
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004527 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4528 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4529 _LT_TAGVAR(whole_archive_flag_spec, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08004530 fi
4531 else
4532 # PORTME fill in a description of your system's linker (not GNU ld)
4533 case $host_os in
4534 aix3*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004535 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4536 _LT_TAGVAR(always_export_symbols, $1)=yes
4537 _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004538 # Note: this linker hardcodes the directories in LIBPATH if there
4539 # are no directories specified by -L.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004540 _LT_TAGVAR(hardcode_minus_L, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004541 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4542 # Neither direct hardcoding nor static linking is supported with a
4543 # broken collect2.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004544 _LT_TAGVAR(hardcode_direct, $1)=unsupported
The Android Open Source Project893912b2009-03-03 19:30:05 -08004545 fi
4546 ;;
4547
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004548 aix[[4-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08004549 if test "$host_cpu" = ia64; then
4550 # On IA64, the linker does run time linking by default, so we don't
4551 # have to do anything special.
4552 aix_use_runtimelinking=no
4553 exp_sym_flag='-Bexport'
4554 no_entry_flag=""
4555 else
4556 # If we're using GNU nm, then we don't want the "-C" option.
4557 # -C means demangle to AIX nm, but means don't demangle with GNU nm
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004558 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4559 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004560 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004561 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004562 fi
4563 aix_use_runtimelinking=no
4564
4565 # Test if we are trying to use run time linking or normal
4566 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
4567 # need to do runtime linking.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004568 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08004569 for ld_flag in $LDFLAGS; do
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004570 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4571 aix_use_runtimelinking=yes
4572 break
4573 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08004574 done
4575 ;;
4576 esac
4577
4578 exp_sym_flag='-bexport'
4579 no_entry_flag='-bnoentry'
4580 fi
4581
4582 # When large executables or shared objects are built, AIX ld can
4583 # have problems creating the table of contents. If linking a library
4584 # or program results in "error TOC overflow" add -mminimal-toc to
4585 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4586 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4587
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004588 _LT_TAGVAR(archive_cmds, $1)=''
4589 _LT_TAGVAR(hardcode_direct, $1)=yes
4590 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4591 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4592 _LT_TAGVAR(link_all_deplibs, $1)=yes
4593 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004594
4595 if test "$GCC" = yes; then
4596 case $host_os in aix4.[[012]]|aix4.[[012]].*)
4597 # We only want to do this on AIX 4.2 and lower, the check
4598 # below for broken collect2 doesn't work under 4.3+
4599 collect2name=`${CC} -print-prog-name=collect2`
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004600 if test -f "$collect2name" &&
4601 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
The Android Open Source Project893912b2009-03-03 19:30:05 -08004602 then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004603 # We have reworked collect2
4604 :
The Android Open Source Project893912b2009-03-03 19:30:05 -08004605 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004606 # We have old collect2
4607 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4608 # It fails to find uninstalled libraries when the uninstalled
4609 # path is not listed in the libpath. Setting hardcode_minus_L
4610 # to unsupported forces relinking
4611 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4612 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4613 _LT_TAGVAR(hardcode_libdir_separator, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08004614 fi
4615 ;;
4616 esac
4617 shared_flag='-shared'
4618 if test "$aix_use_runtimelinking" = yes; then
4619 shared_flag="$shared_flag "'${wl}-G'
4620 fi
4621 else
4622 # not using gcc
4623 if test "$host_cpu" = ia64; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004624 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4625 # chokes on -Wl,-G. The following line is correct:
The Android Open Source Project893912b2009-03-03 19:30:05 -08004626 shared_flag='-G'
4627 else
4628 if test "$aix_use_runtimelinking" = yes; then
4629 shared_flag='${wl}-G'
4630 else
4631 shared_flag='${wl}-bM:SRE'
4632 fi
4633 fi
4634 fi
4635
Patrick Scott5f6bd842010-06-28 16:55:16 -04004636 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004637 # It seems that -bexpall does not export symbols beginning with
4638 # underscore (_), so it is better to generate a list of symbols to export.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004639 _LT_TAGVAR(always_export_symbols, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004640 if test "$aix_use_runtimelinking" = yes; then
4641 # Warning - without using the other runtime loading flags (-brtl),
4642 # -berok will link without error, but may produce a broken library.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004643 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4644 # Determine the default libpath from the value encoded in an
4645 # empty executable.
4646 _LT_SYS_MODULE_PATH_AIX
4647 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4648 _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"
4649 else
The Android Open Source Project893912b2009-03-03 19:30:05 -08004650 if test "$host_cpu" = ia64; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004651 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4652 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4653 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
The Android Open Source Project893912b2009-03-03 19:30:05 -08004654 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004655 # Determine the default libpath from the value encoded in an
4656 # empty executable.
4657 _LT_SYS_MODULE_PATH_AIX
4658 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
The Android Open Source Project893912b2009-03-03 19:30:05 -08004659 # Warning - without using the other run time loading flags,
4660 # -berok will link without error, but may produce a broken library.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004661 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4662 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004663 # Exported symbols can be pulled into shared objects from archives
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004664 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4665 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004666 # This is similar to how AIX traditionally builds its shared libraries.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004667 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004668 fi
4669 fi
4670 ;;
4671
4672 amigaos*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004673 case $host_cpu in
4674 powerpc)
4675 # see comment about AmigaOS4 .so support
4676 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4677 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4678 ;;
4679 m68k)
4680 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4681 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4682 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4683 ;;
4684 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08004685 ;;
4686
4687 bsdi[[45]]*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004688 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
The Android Open Source Project893912b2009-03-03 19:30:05 -08004689 ;;
4690
Patrick Scott5f6bd842010-06-28 16:55:16 -04004691 cygwin* | mingw* | pw32* | cegcc*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08004692 # When not using gcc, we currently assume that we are using
4693 # Microsoft Visual C++.
4694 # hardcode_libdir_flag_spec is actually meaningless, as there is
4695 # no search path for DLLs.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004696 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4697 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
The Android Open Source Project893912b2009-03-03 19:30:05 -08004698 # Tell ltmain to make .lib files, not .a files.
4699 libext=lib
4700 # Tell ltmain to make .dll files, not .so files.
4701 shrext_cmds=".dll"
4702 # FIXME: Setting linknames here is a bad hack.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004703 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
The Android Open Source Project893912b2009-03-03 19:30:05 -08004704 # The linker will automatically build a .lib file if we build a DLL.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004705 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004706 # FIXME: Should let the user specify the lib program.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004707 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4708 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4709 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004710 ;;
4711
4712 darwin* | rhapsody*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004713 _LT_DARWIN_LINKER_FEATURES($1)
The Android Open Source Project893912b2009-03-03 19:30:05 -08004714 ;;
4715
4716 dgux*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004717 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4718 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4719 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004720 ;;
4721
4722 freebsd1*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004723 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004724 ;;
4725
4726 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4727 # support. Future versions do this automatically, but an explicit c++rt0.o
4728 # does not break anything, and helps significantly (at the cost of a little
4729 # extra space).
4730 freebsd2.2*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004731 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4732 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4733 _LT_TAGVAR(hardcode_direct, $1)=yes
4734 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004735 ;;
4736
4737 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4738 freebsd2*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004739 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4740 _LT_TAGVAR(hardcode_direct, $1)=yes
4741 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4742 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004743 ;;
4744
4745 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4746 freebsd* | dragonfly*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004747 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4748 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4749 _LT_TAGVAR(hardcode_direct, $1)=yes
4750 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004751 ;;
4752
4753 hpux9*)
4754 if test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004755 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004756 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004757 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004758 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004759 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4760 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4761 _LT_TAGVAR(hardcode_direct, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004762
4763 # hardcode_minus_L: Not really in the search PATH,
4764 # but as the default location of the library.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004765 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4766 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004767 ;;
4768
4769 hpux10*)
4770 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004771 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004772 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004773 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004774 fi
4775 if test "$with_gnu_ld" = no; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004776 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4777 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4778 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4779 _LT_TAGVAR(hardcode_direct, $1)=yes
4780 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4781 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004782 # hardcode_minus_L: Not really in the search PATH,
4783 # but as the default location of the library.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004784 _LT_TAGVAR(hardcode_minus_L, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004785 fi
4786 ;;
4787
4788 hpux11*)
4789 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4790 case $host_cpu in
4791 hppa*64*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004792 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004793 ;;
4794 ia64*)
Patrick Scott5f6bd842010-06-28 16:55:16 -04004795 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004796 ;;
4797 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004798 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004799 ;;
4800 esac
4801 else
4802 case $host_cpu in
4803 hppa*64*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004804 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004805 ;;
4806 ia64*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004807 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004808 ;;
4809 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004810 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004811 ;;
4812 esac
4813 fi
4814 if test "$with_gnu_ld" = no; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004815 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4816 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
The Android Open Source Project893912b2009-03-03 19:30:05 -08004817
4818 case $host_cpu in
4819 hppa*64*|ia64*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004820 _LT_TAGVAR(hardcode_direct, $1)=no
4821 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004822 ;;
4823 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004824 _LT_TAGVAR(hardcode_direct, $1)=yes
4825 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4826 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004827
4828 # hardcode_minus_L: Not really in the search PATH,
4829 # but as the default location of the library.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004830 _LT_TAGVAR(hardcode_minus_L, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004831 ;;
4832 esac
4833 fi
4834 ;;
4835
4836 irix5* | irix6* | nonstopux*)
4837 if test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004838 _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'
4839 # Try to use the -exported_symbol ld option, if it does not
4840 # work, assume that -exports_file does not work either and
4841 # implicitly export all symbols.
4842 save_LDFLAGS="$LDFLAGS"
4843 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4844 AC_LINK_IFELSE(int foo(void) {},
4845 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
4846 )
4847 LDFLAGS="$save_LDFLAGS"
The Android Open Source Project893912b2009-03-03 19:30:05 -08004848 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004849 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4850 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004851 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004852 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4853 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4854 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4855 _LT_TAGVAR(inherit_rpath, $1)=yes
4856 _LT_TAGVAR(link_all_deplibs, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004857 ;;
4858
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004859 netbsd*)
4860 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4861 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
The Android Open Source Project893912b2009-03-03 19:30:05 -08004862 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004863 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
The Android Open Source Project893912b2009-03-03 19:30:05 -08004864 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004865 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4866 _LT_TAGVAR(hardcode_direct, $1)=yes
4867 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004868 ;;
4869
4870 newsos6)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004871 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4872 _LT_TAGVAR(hardcode_direct, $1)=yes
4873 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4874 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4875 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4876 ;;
4877
4878 *nto* | *qnx*)
The Android Open Source Project893912b2009-03-03 19:30:05 -08004879 ;;
4880
4881 openbsd*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004882 if test -f /usr/libexec/ld.so; then
4883 _LT_TAGVAR(hardcode_direct, $1)=yes
4884 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4885 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4886 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4887 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4888 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4889 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4890 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4891 else
4892 case $host_os in
4893 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4894 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4895 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4896 ;;
4897 *)
4898 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4899 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4900 ;;
4901 esac
4902 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08004903 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004904 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004905 fi
4906 ;;
4907
4908 os2*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004909 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4910 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4911 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4912 _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'
4913 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004914 ;;
4915
4916 osf3*)
4917 if test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004918 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4919 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004920 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004921 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4922 _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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004923 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004924 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4925 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4926 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
The Android Open Source Project893912b2009-03-03 19:30:05 -08004927 ;;
4928
4929 osf4* | osf5*) # as osf3* with the addition of -msym flag
4930 if test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004931 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4932 _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'
4933 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004934 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004935 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4936 _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'
4937 _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~
4938 $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'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004939
4940 # Both c and cxx compiler support -rpath directly
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004941 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004942 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004943 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4944 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
The Android Open Source Project893912b2009-03-03 19:30:05 -08004945 ;;
4946
4947 solaris*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004948 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004949 if test "$GCC" = yes; then
4950 wlarc='${wl}'
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004951 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4952 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4953 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004954 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004955 case `$CC -V 2>&1` in
4956 *"Compilers 5.0"*)
4957 wlarc=''
4958 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4959 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4960 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4961 ;;
4962 *)
4963 wlarc='${wl}'
4964 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4965 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4966 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4967 ;;
4968 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08004969 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004970 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4971 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08004972 case $host_os in
4973 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4974 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004975 # The compiler driver will combine and reorder linker options,
4976 # but understands `-z linker_flag'. GCC discards it without `$wl',
4977 # but is careful enough not to reorder.
4978 # Supported since Solaris 2.6 (maybe 2.5.1?)
4979 if test "$GCC" = yes; then
4980 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
4981 else
4982 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
4983 fi
4984 ;;
The Android Open Source Project893912b2009-03-03 19:30:05 -08004985 esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004986 _LT_TAGVAR(link_all_deplibs, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08004987 ;;
4988
4989 sunos4*)
4990 if test "x$host_vendor" = xsequent; then
4991 # Use $CC to link under sequent, because it throws in some extra .o
4992 # files that make .init and .fini sections work.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004993 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004994 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004995 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08004996 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07004997 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4998 _LT_TAGVAR(hardcode_direct, $1)=yes
4999 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5000 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08005001 ;;
5002
5003 sysv4)
5004 case $host_vendor in
5005 sni)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005006 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5007 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
The Android Open Source Project893912b2009-03-03 19:30:05 -08005008 ;;
5009 siemens)
5010 ## LD is ld it makes a PLAMLIB
5011 ## CC just makes a GrossModule.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005012 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5013 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5014 _LT_TAGVAR(hardcode_direct, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08005015 ;;
5016 motorola)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005017 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5018 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
The Android Open Source Project893912b2009-03-03 19:30:05 -08005019 ;;
5020 esac
5021 runpath_var='LD_RUN_PATH'
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005022 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08005023 ;;
5024
5025 sysv4.3*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005026 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5027 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5028 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
The Android Open Source Project893912b2009-03-03 19:30:05 -08005029 ;;
5030
5031 sysv4*MP*)
5032 if test -d /usr/nec; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005033 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5034 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08005035 runpath_var=LD_RUN_PATH
5036 hardcode_runpath_var=yes
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005037 _LT_TAGVAR(ld_shlibs, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08005038 fi
5039 ;;
5040
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005041 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5042 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5043 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5044 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08005045 runpath_var='LD_RUN_PATH'
5046
5047 if test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005048 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5049 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08005050 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005051 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5052 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08005053 fi
5054 ;;
5055
5056 sysv5* | sco3.2v5* | sco5v6*)
5057 # Note: We can NOT use -z defs as we might desire, because we do not
5058 # link with -lc, and that would cause any symbols used from libc to
5059 # always be unresolved, which means just about no library would
5060 # ever link correctly. If we're not using GNU ld we use -z text
5061 # though, which does catch some bad symbols but isn't as heavy-handed
5062 # as -z defs.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005063 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5064 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5065 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5066 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5067 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5068 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5069 _LT_TAGVAR(link_all_deplibs, $1)=yes
5070 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
The Android Open Source Project893912b2009-03-03 19:30:05 -08005071 runpath_var='LD_RUN_PATH'
5072
5073 if test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005074 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5075 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08005076 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005077 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5078 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
The Android Open Source Project893912b2009-03-03 19:30:05 -08005079 fi
5080 ;;
5081
5082 uts4*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005083 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5084 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5085 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08005086 ;;
5087
5088 *)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005089 _LT_TAGVAR(ld_shlibs, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08005090 ;;
5091 esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005092
5093 if test x$host_vendor = xsni; then
5094 case $host in
5095 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5096 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5097 ;;
5098 esac
5099 fi
The Android Open Source Project893912b2009-03-03 19:30:05 -08005100 fi
5101])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005102AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5103test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5104
5105_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5106
5107_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5108_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5109_LT_DECL([], [extract_expsyms_cmds], [2],
5110 [The commands to extract the exported symbol list from a shared archive])
The Android Open Source Project893912b2009-03-03 19:30:05 -08005111
5112#
5113# Do we need to explicitly link libc?
5114#
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005115case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
The Android Open Source Project893912b2009-03-03 19:30:05 -08005116x|xyes)
5117 # Assume -lc should be added
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005118 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08005119
5120 if test "$enable_shared" = yes && test "$GCC" = yes; then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005121 case $_LT_TAGVAR(archive_cmds, $1) in
The Android Open Source Project893912b2009-03-03 19:30:05 -08005122 *'~'*)
5123 # FIXME: we may have to deal with multi-command sequences.
5124 ;;
5125 '$CC '*)
5126 # Test whether the compiler implicitly links with -lc since on some
5127 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5128 # to ld, don't add -lc before -lgcc.
5129 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005130 $RM conftest*
5131 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
The Android Open Source Project893912b2009-03-03 19:30:05 -08005132
5133 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5134 soname=conftest
5135 lib=conftest
5136 libobjs=conftest.$ac_objext
5137 deplibs=
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005138 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5139 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
The Android Open Source Project893912b2009-03-03 19:30:05 -08005140 compiler_flags=-v
5141 linker_flags=-v
5142 verstring=
5143 output_objdir=.
5144 libname=conftest
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005145 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5146 _LT_TAGVAR(allow_undefined_flag, $1)=
5147 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
The Android Open Source Project893912b2009-03-03 19:30:05 -08005148 then
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005149 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08005150 else
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005151 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
The Android Open Source Project893912b2009-03-03 19:30:05 -08005152 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005153 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
The Android Open Source Project893912b2009-03-03 19:30:05 -08005154 else
5155 cat conftest.err 1>&5
5156 fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005157 $RM conftest*
5158 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
The Android Open Source Project893912b2009-03-03 19:30:05 -08005159 ;;
5160 esac
5161 fi
5162 ;;
5163esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005164
5165_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5166 [Whether or not to add -lc for building shared libraries])
5167_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5168 [enable_shared_with_static_runtimes], [0],
5169 [Whether or not to disallow shared libs when runtime libs are static])
5170_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5171 [Compiler flag to allow reflexive dlopens])
5172_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5173 [Compiler flag to generate shared objects directly from archives])
5174_LT_TAGDECL([], [compiler_needs_object], [1],
5175 [Whether the compiler copes with passing no objects directly])
5176_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5177 [Create an old-style archive from a shared archive])
5178_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5179 [Create a temporary old-style archive to link instead of a shared archive])
5180_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5181_LT_TAGDECL([], [archive_expsym_cmds], [2])
5182_LT_TAGDECL([], [module_cmds], [2],
5183 [Commands used to build a loadable module if different from building
5184 a shared archive.])
5185_LT_TAGDECL([], [module_expsym_cmds], [2])
5186_LT_TAGDECL([], [with_gnu_ld], [1],
5187 [Whether we are building with GNU ld or not])
5188_LT_TAGDECL([], [allow_undefined_flag], [1],
5189 [Flag that allows shared libraries with undefined symbols to be built])
5190_LT_TAGDECL([], [no_undefined_flag], [1],
5191 [Flag that enforces no undefined symbols])
5192_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5193 [Flag to hardcode $libdir into a binary during linking.
5194 This must work even if $libdir does not exist])
5195_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5196 [[If ld is used when linking, flag to hardcode $libdir into a binary
5197 during linking. This must work even if $libdir does not exist]])
5198_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5199 [Whether we need a single "-rpath" flag with a separated argument])
5200_LT_TAGDECL([], [hardcode_direct], [0],
5201 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5202 DIR into the resulting binary])
5203_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5204 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5205 DIR into the resulting binary and the resulting library dependency is
5206 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5207 library is relocated])
5208_LT_TAGDECL([], [hardcode_minus_L], [0],
5209 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5210 into the resulting binary])
5211_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5212 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5213 into the resulting binary])
5214_LT_TAGDECL([], [hardcode_automatic], [0],
5215 [Set to "yes" if building a shared library automatically hardcodes DIR
5216 into the library and all subsequent libraries and executables linked
5217 against it])
5218_LT_TAGDECL([], [inherit_rpath], [0],
5219 [Set to yes if linker adds runtime paths of dependent libraries
5220 to runtime path list])
5221_LT_TAGDECL([], [link_all_deplibs], [0],
5222 [Whether libtool must link a program against all its dependency libraries])
5223_LT_TAGDECL([], [fix_srcfile_path], [1],
5224 [Fix the shell variable $srcfile for the compiler])
5225_LT_TAGDECL([], [always_export_symbols], [0],
5226 [Set to "yes" if exported symbols are required])
5227_LT_TAGDECL([], [export_symbols_cmds], [2],
5228 [The commands to list exported symbols])
5229_LT_TAGDECL([], [exclude_expsyms], [1],
5230 [Symbols that should not be listed in the preloaded symbols])
5231_LT_TAGDECL([], [include_expsyms], [1],
5232 [Symbols that must always be exported])
5233_LT_TAGDECL([], [prelink_cmds], [2],
5234 [Commands necessary for linking programs (against libraries) with templates])
5235_LT_TAGDECL([], [file_list_spec], [1],
5236 [Specify filename containing input files])
5237dnl FIXME: Not yet implemented
5238dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5239dnl [Compiler flag to generate thread safe objects])
5240])# _LT_LINKER_SHLIBS
The Android Open Source Project893912b2009-03-03 19:30:05 -08005241
5242
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005243# _LT_LANG_C_CONFIG([TAG])
5244# ------------------------
5245# Ensure that the configuration variables for a C compiler are suitably
5246# defined. These variables are subsequently used by _LT_CONFIG to write
5247# the compiler configuration to `libtool'.
5248m4_defun([_LT_LANG_C_CONFIG],
5249[m4_require([_LT_DECL_EGREP])dnl
5250lt_save_CC="$CC"
5251AC_LANG_PUSH(C)
5252
5253# Source file extension for C test sources.
5254ac_ext=c
5255
5256# Object file extension for compiled C test sources.
5257objext=o
5258_LT_TAGVAR(objext, $1)=$objext
5259
5260# Code to be used in simple compile tests
5261lt_simple_compile_test_code="int some_variable = 0;"
5262
5263# Code to be used in simple link tests
5264lt_simple_link_test_code='int main(){return(0);}'
5265
5266_LT_TAG_COMPILER
5267# Save the default compiler, since it gets overwritten when the other
5268# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5269compiler_DEFAULT=$CC
5270
5271# save warnings/boilerplate of simple test code
5272_LT_COMPILER_BOILERPLATE
5273_LT_LINKER_BOILERPLATE
5274
5275if test -n "$compiler"; then
5276 _LT_COMPILER_NO_RTTI($1)
5277 _LT_COMPILER_PIC($1)
5278 _LT_COMPILER_C_O($1)
5279 _LT_COMPILER_FILE_LOCKS($1)
5280 _LT_LINKER_SHLIBS($1)
5281 _LT_SYS_DYNAMIC_LINKER($1)
5282 _LT_LINKER_HARDCODE_LIBPATH($1)
5283 LT_SYS_DLOPEN_SELF
5284 _LT_CMD_STRIPLIB
5285
5286 # Report which library types will actually be built
5287 AC_MSG_CHECKING([if libtool supports shared libraries])
5288 AC_MSG_RESULT([$can_build_shared])
5289
5290 AC_MSG_CHECKING([whether to build shared libraries])
5291 test "$can_build_shared" = "no" && enable_shared=no
5292
5293 # On AIX, shared libraries and static libraries use the same namespace, and
5294 # are all built from PIC.
5295 case $host_os in
5296 aix3*)
5297 test "$enable_shared" = yes && enable_static=no
5298 if test -n "$RANLIB"; then
5299 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5300 postinstall_cmds='$RANLIB $lib'
5301 fi
5302 ;;
5303
5304 aix[[4-9]]*)
5305 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5306 test "$enable_shared" = yes && enable_static=no
5307 fi
5308 ;;
5309 esac
5310 AC_MSG_RESULT([$enable_shared])
5311
5312 AC_MSG_CHECKING([whether to build static libraries])
5313 # Make sure either enable_shared or enable_static is yes.
5314 test "$enable_shared" = yes || enable_static=yes
5315 AC_MSG_RESULT([$enable_static])
5316
5317 _LT_CONFIG($1)
5318fi
5319AC_LANG_POP
5320CC="$lt_save_CC"
5321])# _LT_LANG_C_CONFIG
The Android Open Source Project893912b2009-03-03 19:30:05 -08005322
5323
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005324# _LT_PROG_CXX
5325# ------------
5326# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5327# compiler, we have our own version here.
5328m4_defun([_LT_PROG_CXX],
5329[
5330pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5331AC_PROG_CXX
5332if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5333 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5334 (test "X$CXX" != "Xg++"))) ; then
5335 AC_PROG_CXXCPP
5336else
5337 _lt_caught_CXX_error=yes
5338fi
5339popdef([AC_MSG_ERROR])
5340])# _LT_PROG_CXX
5341
5342dnl aclocal-1.4 backwards compatibility:
5343dnl AC_DEFUN([_LT_PROG_CXX], [])
5344
5345
5346# _LT_LANG_CXX_CONFIG([TAG])
5347# --------------------------
5348# Ensure that the configuration variables for a C++ compiler are suitably
5349# defined. These variables are subsequently used by _LT_CONFIG to write
5350# the compiler configuration to `libtool'.
5351m4_defun([_LT_LANG_CXX_CONFIG],
5352[AC_REQUIRE([_LT_PROG_CXX])dnl
5353m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5354m4_require([_LT_DECL_EGREP])dnl
5355
5356AC_LANG_PUSH(C++)
5357_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5358_LT_TAGVAR(allow_undefined_flag, $1)=
5359_LT_TAGVAR(always_export_symbols, $1)=no
5360_LT_TAGVAR(archive_expsym_cmds, $1)=
5361_LT_TAGVAR(compiler_needs_object, $1)=no
5362_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5363_LT_TAGVAR(hardcode_direct, $1)=no
5364_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5365_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5366_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5367_LT_TAGVAR(hardcode_libdir_separator, $1)=
5368_LT_TAGVAR(hardcode_minus_L, $1)=no
5369_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5370_LT_TAGVAR(hardcode_automatic, $1)=no
5371_LT_TAGVAR(inherit_rpath, $1)=no
5372_LT_TAGVAR(module_cmds, $1)=
5373_LT_TAGVAR(module_expsym_cmds, $1)=
5374_LT_TAGVAR(link_all_deplibs, $1)=unknown
5375_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5376_LT_TAGVAR(no_undefined_flag, $1)=
5377_LT_TAGVAR(whole_archive_flag_spec, $1)=
5378_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5379
5380# Source file extension for C++ test sources.
5381ac_ext=cpp
5382
5383# Object file extension for compiled C++ test sources.
5384objext=o
5385_LT_TAGVAR(objext, $1)=$objext
5386
5387# No sense in running all these tests if we already determined that
5388# the CXX compiler isn't working. Some variables (like enable_shared)
5389# are currently assumed to apply to all compilers on this platform,
5390# and will be corrupted by setting them based on a non-working compiler.
5391if test "$_lt_caught_CXX_error" != yes; then
5392 # Code to be used in simple compile tests
5393 lt_simple_compile_test_code="int some_variable = 0;"
5394
5395 # Code to be used in simple link tests
5396 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5397
5398 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5399 _LT_TAG_COMPILER
5400
5401 # save warnings/boilerplate of simple test code
5402 _LT_COMPILER_BOILERPLATE
5403 _LT_LINKER_BOILERPLATE
5404
5405 # Allow CC to be a program name with arguments.
5406 lt_save_CC=$CC
5407 lt_save_LD=$LD
5408 lt_save_GCC=$GCC
5409 GCC=$GXX
5410 lt_save_with_gnu_ld=$with_gnu_ld
5411 lt_save_path_LD=$lt_cv_path_LD
5412 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5413 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5414 else
5415 $as_unset lt_cv_prog_gnu_ld
5416 fi
5417 if test -n "${lt_cv_path_LDCXX+set}"; then
5418 lt_cv_path_LD=$lt_cv_path_LDCXX
5419 else
5420 $as_unset lt_cv_path_LD
5421 fi
5422 test -z "${LDCXX+set}" || LD=$LDCXX
5423 CC=${CXX-"c++"}
5424 compiler=$CC
5425 _LT_TAGVAR(compiler, $1)=$CC
5426 _LT_CC_BASENAME([$compiler])
5427
5428 if test -n "$compiler"; then
5429 # We don't want -fno-exception when compiling C++ code, so set the
5430 # no_builtin_flag separately
5431 if test "$GXX" = yes; then
5432 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5433 else
5434 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5435 fi
5436
5437 if test "$GXX" = yes; then
5438 # Set up default GNU C++ configuration
5439
5440 LT_PATH_LD
5441
5442 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5443 # archiving commands below assume that GNU ld is being used.
5444 if test "$with_gnu_ld" = yes; then
5445 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5446 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5447
5448 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5449 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5450
5451 # If archive_cmds runs LD, not CC, wlarc should be empty
5452 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5453 # investigate it a little bit more. (MM)
5454 wlarc='${wl}'
5455
5456 # ancient GNU ld didn't support --whole-archive et. al.
5457 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5458 $GREP 'no-whole-archive' > /dev/null; then
5459 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5460 else
5461 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5462 fi
5463 else
5464 with_gnu_ld=no
5465 wlarc=
5466
5467 # A generic and very simple default shared library creation
5468 # command for GNU C++ for the case where it uses the native
5469 # linker, instead of GNU ld. If possible, this setting should
5470 # overridden to take advantage of the native linker features on
5471 # the platform it is being used on.
5472 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5473 fi
5474
5475 # Commands to make compiler produce verbose output that lists
5476 # what "hidden" libraries, object files and flags are used when
5477 # linking a shared library.
5478 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
5479
5480 else
5481 GXX=no
5482 with_gnu_ld=no
5483 wlarc=
5484 fi
5485
5486 # PORTME: fill in a description of your system's C++ link characteristics
5487 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5488 _LT_TAGVAR(ld_shlibs, $1)=yes
5489 case $host_os in
5490 aix3*)
5491 # FIXME: insert proper C++ library support
5492 _LT_TAGVAR(ld_shlibs, $1)=no
5493 ;;
5494 aix[[4-9]]*)
5495 if test "$host_cpu" = ia64; then
5496 # On IA64, the linker does run time linking by default, so we don't
5497 # have to do anything special.
5498 aix_use_runtimelinking=no
5499 exp_sym_flag='-Bexport'
5500 no_entry_flag=""
5501 else
5502 aix_use_runtimelinking=no
5503
5504 # Test if we are trying to use run time linking or normal
5505 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5506 # need to do runtime linking.
5507 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5508 for ld_flag in $LDFLAGS; do
5509 case $ld_flag in
5510 *-brtl*)
5511 aix_use_runtimelinking=yes
5512 break
5513 ;;
5514 esac
5515 done
5516 ;;
5517 esac
5518
5519 exp_sym_flag='-bexport'
5520 no_entry_flag='-bnoentry'
5521 fi
5522
5523 # When large executables or shared objects are built, AIX ld can
5524 # have problems creating the table of contents. If linking a library
5525 # or program results in "error TOC overflow" add -mminimal-toc to
5526 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5527 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5528
5529 _LT_TAGVAR(archive_cmds, $1)=''
5530 _LT_TAGVAR(hardcode_direct, $1)=yes
5531 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5532 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5533 _LT_TAGVAR(link_all_deplibs, $1)=yes
5534 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5535
5536 if test "$GXX" = yes; then
5537 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5538 # We only want to do this on AIX 4.2 and lower, the check
5539 # below for broken collect2 doesn't work under 4.3+
5540 collect2name=`${CC} -print-prog-name=collect2`
5541 if test -f "$collect2name" &&
5542 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5543 then
5544 # We have reworked collect2
5545 :
5546 else
5547 # We have old collect2
5548 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5549 # It fails to find uninstalled libraries when the uninstalled
5550 # path is not listed in the libpath. Setting hardcode_minus_L
5551 # to unsupported forces relinking
5552 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5553 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5554 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5555 fi
5556 esac
5557 shared_flag='-shared'
5558 if test "$aix_use_runtimelinking" = yes; then
5559 shared_flag="$shared_flag "'${wl}-G'
5560 fi
5561 else
5562 # not using gcc
5563 if test "$host_cpu" = ia64; then
5564 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5565 # chokes on -Wl,-G. The following line is correct:
5566 shared_flag='-G'
5567 else
5568 if test "$aix_use_runtimelinking" = yes; then
5569 shared_flag='${wl}-G'
5570 else
5571 shared_flag='${wl}-bM:SRE'
5572 fi
5573 fi
5574 fi
5575
Patrick Scott5f6bd842010-06-28 16:55:16 -04005576 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005577 # It seems that -bexpall does not export symbols beginning with
5578 # underscore (_), so it is better to generate a list of symbols to
5579 # export.
5580 _LT_TAGVAR(always_export_symbols, $1)=yes
5581 if test "$aix_use_runtimelinking" = yes; then
5582 # Warning - without using the other runtime loading flags (-brtl),
5583 # -berok will link without error, but may produce a broken library.
5584 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5585 # Determine the default libpath from the value encoded in an empty
5586 # executable.
5587 _LT_SYS_MODULE_PATH_AIX
5588 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5589
5590 _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"
5591 else
5592 if test "$host_cpu" = ia64; then
5593 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5594 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5595 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5596 else
5597 # Determine the default libpath from the value encoded in an
5598 # empty executable.
5599 _LT_SYS_MODULE_PATH_AIX
5600 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5601 # Warning - without using the other run time loading flags,
5602 # -berok will link without error, but may produce a broken library.
5603 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5604 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5605 # Exported symbols can be pulled into shared objects from archives
5606 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5607 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5608 # This is similar to how AIX traditionally builds its shared
5609 # libraries.
5610 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5611 fi
5612 fi
5613 ;;
5614
5615 beos*)
5616 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5617 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5618 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5619 # support --undefined. This deserves some investigation. FIXME
5620 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5621 else
5622 _LT_TAGVAR(ld_shlibs, $1)=no
5623 fi
5624 ;;
5625
5626 chorus*)
5627 case $cc_basename in
5628 *)
5629 # FIXME: insert proper C++ library support
5630 _LT_TAGVAR(ld_shlibs, $1)=no
5631 ;;
5632 esac
5633 ;;
5634
Patrick Scott5f6bd842010-06-28 16:55:16 -04005635 cygwin* | mingw* | pw32* | cegcc*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07005636 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5637 # as there is no search path for DLLs.
5638 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5639 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5640 _LT_TAGVAR(always_export_symbols, $1)=no
5641 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5642
5643 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5644 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5645 # If the export-symbols file already is a .def file (1st line
5646 # is EXPORTS), use it as is; otherwise, prepend...
5647 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5648 cp $export_symbols $output_objdir/$soname.def;
5649 else
5650 echo EXPORTS > $output_objdir/$soname.def;
5651 cat $export_symbols >> $output_objdir/$soname.def;
5652 fi~
5653 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5654 else
5655 _LT_TAGVAR(ld_shlibs, $1)=no
5656 fi
5657 ;;
5658 darwin* | rhapsody*)
5659 _LT_DARWIN_LINKER_FEATURES($1)
5660 ;;
5661
5662 dgux*)
5663 case $cc_basename in
5664 ec++*)
5665 # FIXME: insert proper C++ library support
5666 _LT_TAGVAR(ld_shlibs, $1)=no
5667 ;;
5668 ghcx*)
5669 # Green Hills C++ Compiler
5670 # FIXME: insert proper C++ library support
5671 _LT_TAGVAR(ld_shlibs, $1)=no
5672 ;;
5673 *)
5674 # FIXME: insert proper C++ library support
5675 _LT_TAGVAR(ld_shlibs, $1)=no
5676 ;;
5677 esac
5678 ;;
5679
5680 freebsd[[12]]*)
5681 # C++ shared libraries reported to be fairly broken before
5682 # switch to ELF
5683 _LT_TAGVAR(ld_shlibs, $1)=no
5684 ;;
5685
5686 freebsd-elf*)
5687 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5688 ;;
5689
5690 freebsd* | dragonfly*)
5691 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5692 # conventions
5693 _LT_TAGVAR(ld_shlibs, $1)=yes
5694 ;;
5695
5696 gnu*)
5697 ;;
5698
5699 hpux9*)
5700 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5701 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5702 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5703 _LT_TAGVAR(hardcode_direct, $1)=yes
5704 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5705 # but as the default
5706 # location of the library.
5707
5708 case $cc_basename in
5709 CC*)
5710 # FIXME: insert proper C++ library support
5711 _LT_TAGVAR(ld_shlibs, $1)=no
5712 ;;
5713 aCC*)
5714 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5715 # Commands to make compiler produce verbose output that lists
5716 # what "hidden" libraries, object files and flags are used when
5717 # linking a shared library.
5718 #
5719 # There doesn't appear to be a way to prevent this compiler from
5720 # explicitly linking system object files so we need to strip them
5721 # from the output so that they don't get included in the library
5722 # dependencies.
5723 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'
5724 ;;
5725 *)
5726 if test "$GXX" = yes; then
5727 _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'
5728 else
5729 # FIXME: insert proper C++ library support
5730 _LT_TAGVAR(ld_shlibs, $1)=no
5731 fi
5732 ;;
5733 esac
5734 ;;
5735
5736 hpux10*|hpux11*)
5737 if test $with_gnu_ld = no; then
5738 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5739 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5740
5741 case $host_cpu in
5742 hppa*64*|ia64*)
5743 ;;
5744 *)
5745 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5746 ;;
5747 esac
5748 fi
5749 case $host_cpu in
5750 hppa*64*|ia64*)
5751 _LT_TAGVAR(hardcode_direct, $1)=no
5752 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5753 ;;
5754 *)
5755 _LT_TAGVAR(hardcode_direct, $1)=yes
5756 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5757 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5758 # but as the default
5759 # location of the library.
5760 ;;
5761 esac
5762
5763 case $cc_basename in
5764 CC*)
5765 # FIXME: insert proper C++ library support
5766 _LT_TAGVAR(ld_shlibs, $1)=no
5767 ;;
5768 aCC*)
5769 case $host_cpu in
5770 hppa*64*)
5771 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5772 ;;
5773 ia64*)
5774 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5775 ;;
5776 *)
5777 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5778 ;;
5779 esac
5780 # Commands to make compiler produce verbose output that lists
5781 # what "hidden" libraries, object files and flags are used when
5782 # linking a shared library.
5783 #
5784 # There doesn't appear to be a way to prevent this compiler from
5785 # explicitly linking system object files so we need to strip them
5786 # from the output so that they don't get included in the library
5787 # dependencies.
5788 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'
5789 ;;
5790 *)
5791 if test "$GXX" = yes; then
5792 if test $with_gnu_ld = no; then
5793 case $host_cpu in
5794 hppa*64*)
5795 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5796 ;;
5797 ia64*)
5798 _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'
5799 ;;
5800 *)
5801 _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'
5802 ;;
5803 esac
5804 fi
5805 else
5806 # FIXME: insert proper C++ library support
5807 _LT_TAGVAR(ld_shlibs, $1)=no
5808 fi
5809 ;;
5810 esac
5811 ;;
5812
5813 interix[[3-9]]*)
5814 _LT_TAGVAR(hardcode_direct, $1)=no
5815 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5816 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5817 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5818 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5819 # Instead, shared libraries are loaded at an image base (0x10000000 by
5820 # default) and relocated if they conflict, which is a slow very memory
5821 # consuming and fragmenting process. To avoid this, we pick a random,
5822 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5823 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5824 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5825 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5826 ;;
5827 irix5* | irix6*)
5828 case $cc_basename in
5829 CC*)
5830 # SGI C++
5831 _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'
5832
5833 # Archives containing C++ object files must be created using
5834 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
5835 # necessary to make sure instantiated templates are included
5836 # in the archive.
5837 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
5838 ;;
5839 *)
5840 if test "$GXX" = yes; then
5841 if test "$with_gnu_ld" = no; then
5842 _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'
5843 else
5844 _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'
5845 fi
5846 fi
5847 _LT_TAGVAR(link_all_deplibs, $1)=yes
5848 ;;
5849 esac
5850 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5851 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5852 _LT_TAGVAR(inherit_rpath, $1)=yes
5853 ;;
5854
5855 linux* | k*bsd*-gnu)
5856 case $cc_basename in
5857 KCC*)
5858 # Kuck and Associates, Inc. (KAI) C++ Compiler
5859
5860 # KCC will only create a shared library if the output file
5861 # ends with ".so" (or ".sl" for HP-UX), so rename the library
5862 # to its proper name (with version) after linking.
5863 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
5864 _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
5865 # Commands to make compiler produce verbose output that lists
5866 # what "hidden" libraries, object files and flags are used when
5867 # linking a shared library.
5868 #
5869 # There doesn't appear to be a way to prevent this compiler from
5870 # explicitly linking system object files so we need to strip them
5871 # from the output so that they don't get included in the library
5872 # dependencies.
5873 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'
5874
5875 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5876 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5877
5878 # Archives containing C++ object files must be created using
5879 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
5880 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
5881 ;;
5882 icpc* | ecpc* )
5883 # Intel C++
5884 with_gnu_ld=yes
5885 # version 8.0 and above of icpc choke on multiply defined symbols
5886 # if we add $predep_objects and $postdep_objects, however 7.1 and
5887 # earlier do not add the objects themselves.
5888 case `$CC -V 2>&1` in
5889 *"Version 7."*)
5890 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5891 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5892 ;;
5893 *) # Version 8.0 or newer
5894 tmp_idyn=
5895 case $host_cpu in
5896 ia64*) tmp_idyn=' -i_dynamic';;
5897 esac
5898 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5899 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5900 ;;
5901 esac
5902 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5903 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5904 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5905 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5906 ;;
5907 pgCC* | pgcpp*)
5908 # Portland Group C++ compiler
5909 case `$CC -V` in
5910 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
5911 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5912 rm -rf $tpldir~
5913 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
5914 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
5915 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5916 rm -rf $tpldir~
5917 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
5918 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
5919 $RANLIB $oldlib'
5920 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5921 rm -rf $tpldir~
5922 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5923 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5924 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5925 rm -rf $tpldir~
5926 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5927 $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'
5928 ;;
5929 *) # Version 6 will use weak symbols
5930 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5931 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
5932 ;;
5933 esac
5934
5935 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5936 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5937 _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'
5938 ;;
5939 cxx*)
5940 # Compaq C++
5941 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5942 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
5943
5944 runpath_var=LD_RUN_PATH
5945 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5946 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5947
5948 # Commands to make compiler produce verbose output that lists
5949 # what "hidden" libraries, object files and flags are used when
5950 # linking a shared library.
5951 #
5952 # There doesn't appear to be a way to prevent this compiler from
5953 # explicitly linking system object files so we need to strip them
5954 # from the output so that they don't get included in the library
5955 # dependencies.
5956 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'
5957 ;;
5958 xl*)
5959 # IBM XL 8.0 on PPC, with GNU ld
5960 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5961 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5962 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5963 if test "x$supports_anon_versioning" = xyes; then
5964 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5965 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5966 echo "local: *; };" >> $output_objdir/$libname.ver~
5967 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5968 fi
5969 ;;
5970 *)
5971 case `$CC -V 2>&1 | sed 5q` in
5972 *Sun\ C*)
5973 # Sun C++ 5.9
5974 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
5975 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5976 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
5977 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5978 _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'
5979 _LT_TAGVAR(compiler_needs_object, $1)=yes
5980
5981 # Not sure whether something based on
5982 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
5983 # would be better.
5984 output_verbose_link_cmd='echo'
5985
5986 # Archives containing C++ object files must be created using
5987 # "CC -xar", where "CC" is the Sun C++ compiler. This is
5988 # necessary to make sure instantiated templates are included
5989 # in the archive.
5990 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
5991 ;;
5992 esac
5993 ;;
5994 esac
5995 ;;
5996
5997 lynxos*)
5998 # FIXME: insert proper C++ library support
5999 _LT_TAGVAR(ld_shlibs, $1)=no
6000 ;;
6001
6002 m88k*)
6003 # FIXME: insert proper C++ library support
6004 _LT_TAGVAR(ld_shlibs, $1)=no
6005 ;;
6006
6007 mvs*)
6008 case $cc_basename in
6009 cxx*)
6010 # FIXME: insert proper C++ library support
6011 _LT_TAGVAR(ld_shlibs, $1)=no
6012 ;;
6013 *)
6014 # FIXME: insert proper C++ library support
6015 _LT_TAGVAR(ld_shlibs, $1)=no
6016 ;;
6017 esac
6018 ;;
6019
6020 netbsd*)
6021 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6022 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6023 wlarc=
6024 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6025 _LT_TAGVAR(hardcode_direct, $1)=yes
6026 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6027 fi
6028 # Workaround some broken pre-1.5 toolchains
6029 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6030 ;;
6031
6032 *nto* | *qnx*)
6033 _LT_TAGVAR(ld_shlibs, $1)=yes
6034 ;;
6035
6036 openbsd2*)
6037 # C++ shared libraries are fairly broken
6038 _LT_TAGVAR(ld_shlibs, $1)=no
6039 ;;
6040
6041 openbsd*)
6042 if test -f /usr/libexec/ld.so; then
6043 _LT_TAGVAR(hardcode_direct, $1)=yes
6044 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6045 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6046 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6047 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6048 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6049 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
6050 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6051 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6052 fi
6053 output_verbose_link_cmd=echo
6054 else
6055 _LT_TAGVAR(ld_shlibs, $1)=no
6056 fi
6057 ;;
6058
6059 osf3* | osf4* | osf5*)
6060 case $cc_basename in
6061 KCC*)
6062 # Kuck and Associates, Inc. (KAI) C++ Compiler
6063
6064 # KCC will only create a shared library if the output file
6065 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6066 # to its proper name (with version) after linking.
6067 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6068
6069 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6070 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6071
6072 # Archives containing C++ object files must be created using
6073 # the KAI C++ compiler.
6074 case $host in
6075 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6076 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6077 esac
6078 ;;
6079 RCC*)
6080 # Rational C++ 2.4.1
6081 # FIXME: insert proper C++ library support
6082 _LT_TAGVAR(ld_shlibs, $1)=no
6083 ;;
6084 cxx*)
6085 case $host in
6086 osf3*)
6087 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6088 _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'
6089 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6090 ;;
6091 *)
6092 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6093 _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'
6094 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6095 echo "-hidden">> $lib.exp~
6096 $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~
6097 $RM $lib.exp'
6098 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6099 ;;
6100 esac
6101
6102 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6103
6104 # Commands to make compiler produce verbose output that lists
6105 # what "hidden" libraries, object files and flags are used when
6106 # linking a shared library.
6107 #
6108 # There doesn't appear to be a way to prevent this compiler from
6109 # explicitly linking system object files so we need to strip them
6110 # from the output so that they don't get included in the library
6111 # dependencies.
6112 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'
6113 ;;
6114 *)
6115 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6116 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6117 case $host in
6118 osf3*)
6119 _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'
6120 ;;
6121 *)
6122 _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'
6123 ;;
6124 esac
6125
6126 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6127 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6128
6129 # Commands to make compiler produce verbose output that lists
6130 # what "hidden" libraries, object files and flags are used when
6131 # linking a shared library.
6132 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6133
6134 else
6135 # FIXME: insert proper C++ library support
6136 _LT_TAGVAR(ld_shlibs, $1)=no
6137 fi
6138 ;;
6139 esac
6140 ;;
6141
6142 psos*)
6143 # FIXME: insert proper C++ library support
6144 _LT_TAGVAR(ld_shlibs, $1)=no
6145 ;;
6146
6147 sunos4*)
6148 case $cc_basename in
6149 CC*)
6150 # Sun C++ 4.x
6151 # FIXME: insert proper C++ library support
6152 _LT_TAGVAR(ld_shlibs, $1)=no
6153 ;;
6154 lcc*)
6155 # Lucid
6156 # FIXME: insert proper C++ library support
6157 _LT_TAGVAR(ld_shlibs, $1)=no
6158 ;;
6159 *)
6160 # FIXME: insert proper C++ library support
6161 _LT_TAGVAR(ld_shlibs, $1)=no
6162 ;;
6163 esac
6164 ;;
6165
6166 solaris*)
6167 case $cc_basename in
6168 CC*)
6169 # Sun C++ 4.2, 5.x and Centerline C++
6170 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6171 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6172 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6173 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6174 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6175
6176 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6177 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6178 case $host_os in
6179 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6180 *)
6181 # The compiler driver will combine and reorder linker options,
6182 # but understands `-z linker_flag'.
6183 # Supported since Solaris 2.6 (maybe 2.5.1?)
6184 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6185 ;;
6186 esac
6187 _LT_TAGVAR(link_all_deplibs, $1)=yes
6188
6189 output_verbose_link_cmd='echo'
6190
6191 # Archives containing C++ object files must be created using
6192 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6193 # necessary to make sure instantiated templates are included
6194 # in the archive.
6195 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6196 ;;
6197 gcx*)
6198 # Green Hills C++ Compiler
6199 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6200
6201 # The C++ compiler must be used to create the archive.
6202 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6203 ;;
6204 *)
6205 # GNU C++ compiler with Solaris linker
6206 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6207 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6208 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6209 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6210 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6211 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6212
6213 # Commands to make compiler produce verbose output that lists
6214 # what "hidden" libraries, object files and flags are used when
6215 # linking a shared library.
6216 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6217 else
6218 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6219 # platform.
6220 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6221 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6222 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6223
6224 # Commands to make compiler produce verbose output that lists
6225 # what "hidden" libraries, object files and flags are used when
6226 # linking a shared library.
6227 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6228 fi
6229
6230 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6231 case $host_os in
6232 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6233 *)
6234 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6235 ;;
6236 esac
6237 fi
6238 ;;
6239 esac
6240 ;;
6241
6242 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6243 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6244 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6245 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6246 runpath_var='LD_RUN_PATH'
6247
6248 case $cc_basename in
6249 CC*)
6250 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6251 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6252 ;;
6253 *)
6254 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6255 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6256 ;;
6257 esac
6258 ;;
6259
6260 sysv5* | sco3.2v5* | sco5v6*)
6261 # Note: We can NOT use -z defs as we might desire, because we do not
6262 # link with -lc, and that would cause any symbols used from libc to
6263 # always be unresolved, which means just about no library would
6264 # ever link correctly. If we're not using GNU ld we use -z text
6265 # though, which does catch some bad symbols but isn't as heavy-handed
6266 # as -z defs.
6267 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6268 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6269 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6270 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6271 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6272 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6273 _LT_TAGVAR(link_all_deplibs, $1)=yes
6274 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6275 runpath_var='LD_RUN_PATH'
6276
6277 case $cc_basename in
6278 CC*)
6279 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6280 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6281 ;;
6282 *)
6283 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6284 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6285 ;;
6286 esac
6287 ;;
6288
6289 tandem*)
6290 case $cc_basename in
6291 NCC*)
6292 # NonStop-UX NCC 3.20
6293 # FIXME: insert proper C++ library support
6294 _LT_TAGVAR(ld_shlibs, $1)=no
6295 ;;
6296 *)
6297 # FIXME: insert proper C++ library support
6298 _LT_TAGVAR(ld_shlibs, $1)=no
6299 ;;
6300 esac
6301 ;;
6302
6303 vxworks*)
6304 # FIXME: insert proper C++ library support
6305 _LT_TAGVAR(ld_shlibs, $1)=no
6306 ;;
6307
6308 *)
6309 # FIXME: insert proper C++ library support
6310 _LT_TAGVAR(ld_shlibs, $1)=no
6311 ;;
6312 esac
6313
6314 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6315 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6316
6317 _LT_TAGVAR(GCC, $1)="$GXX"
6318 _LT_TAGVAR(LD, $1)="$LD"
6319
6320 ## CAVEAT EMPTOR:
6321 ## There is no encapsulation within the following macros, do not change
6322 ## the running order or otherwise move them around unless you know exactly
6323 ## what you are doing...
6324 _LT_SYS_HIDDEN_LIBDEPS($1)
6325 _LT_COMPILER_PIC($1)
6326 _LT_COMPILER_C_O($1)
6327 _LT_COMPILER_FILE_LOCKS($1)
6328 _LT_LINKER_SHLIBS($1)
6329 _LT_SYS_DYNAMIC_LINKER($1)
6330 _LT_LINKER_HARDCODE_LIBPATH($1)
6331
6332 _LT_CONFIG($1)
6333 fi # test -n "$compiler"
6334
6335 CC=$lt_save_CC
6336 LDCXX=$LD
6337 LD=$lt_save_LD
6338 GCC=$lt_save_GCC
6339 with_gnu_ld=$lt_save_with_gnu_ld
6340 lt_cv_path_LDCXX=$lt_cv_path_LD
6341 lt_cv_path_LD=$lt_save_path_LD
6342 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6343 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6344fi # test "$_lt_caught_CXX_error" != yes
6345
6346AC_LANG_POP
6347])# _LT_LANG_CXX_CONFIG
6348
6349
6350# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
The Android Open Source Project893912b2009-03-03 19:30:05 -08006351# ---------------------------------
The Android Open Source Project4215dd12009-03-09 11:52:12 -07006352# Figure out "hidden" library dependencies from verbose
6353# compiler output when linking a shared library.
6354# Parse the compiler output and extract the necessary
6355# objects, libraries and library flags.
6356m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6357[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6358# Dependencies to place before and after the object being linked:
6359_LT_TAGVAR(predep_objects, $1)=
6360_LT_TAGVAR(postdep_objects, $1)=
6361_LT_TAGVAR(predeps, $1)=
6362_LT_TAGVAR(postdeps, $1)=
6363_LT_TAGVAR(compiler_lib_search_path, $1)=
The Android Open Source Project893912b2009-03-03 19:30:05 -08006364
The Android Open Source Project4215dd12009-03-09 11:52:12 -07006365dnl we can't use the lt_simple_compile_test_code here,
6366dnl because it contains code intended for an executable,
6367dnl not a library. It's possible we should let each
6368dnl tag define a new lt_????_link_test_code variable,
6369dnl but it's only used here...
6370m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6371int a;
6372void foo (void) { a = 0; }
6373_LT_EOF
6374], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6375class Foo
6376{
6377public:
6378 Foo (void) { a = 0; }
6379private:
6380 int a;
6381};
6382_LT_EOF
6383], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6384 subroutine foo
6385 implicit none
6386 integer*4 a
6387 a=0
6388 return
6389 end
6390_LT_EOF
6391], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6392 subroutine foo
6393 implicit none
6394 integer a
6395 a=0
6396 return
6397 end
6398_LT_EOF
6399], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6400public class foo {
6401 private int a;
6402 public void bar (void) {
6403 a = 0;
6404 }
6405};
6406_LT_EOF
6407])
6408dnl Parse the compiler output and extract the necessary
6409dnl objects, libraries and library flags.
6410if AC_TRY_EVAL(ac_compile); then
6411 # Parse the compiler output and extract the necessary
6412 # objects, libraries and library flags.
The Android Open Source Project893912b2009-03-03 19:30:05 -08006413
The Android Open Source Project4215dd12009-03-09 11:52:12 -07006414 # Sentinel used to keep track of whether or not we are before
6415 # the conftest object file.
6416 pre_test_object_deps_done=no
The Android Open Source Project893912b2009-03-03 19:30:05 -08006417
The Android Open Source Project4215dd12009-03-09 11:52:12 -07006418 for p in `eval "$output_verbose_link_cmd"`; do
6419 case $p in
The Android Open Source Project893912b2009-03-03 19:30:05 -08006420
The Android Open Source Project4215dd12009-03-09 11:52:12 -07006421 -L* | -R* | -l*)
6422 # Some compilers place space between "-{L,R}" and the path.
6423 # Remove the space.
6424 if test $p = "-L" ||
6425 test $p = "-R"; then
6426 prev=$p
6427 continue
6428 else
6429 prev=
6430 fi
6431
6432 if test "$pre_test_object_deps_done" = no; then
6433 case $p in
6434 -L* | -R*)
6435 # Internal compiler library paths should come after those
6436 # provided the user. The postdeps already come after the
6437 # user supplied libs so there is no need to process them.
6438 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6439 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6440 else
6441 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6442 fi
6443 ;;
6444 # The "-l" case would never come before the object being
6445 # linked, so don't bother handling this case.
6446 esac
6447 else
6448 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6449 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6450 else
6451 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6452 fi
6453 fi
6454 ;;
6455
6456 *.$objext)
6457 # This assumes that the test object file only shows up
6458 # once in the compiler output.
6459 if test "$p" = "conftest.$objext"; then
6460 pre_test_object_deps_done=yes
6461 continue
6462 fi
6463
6464 if test "$pre_test_object_deps_done" = no; then
6465 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6466 _LT_TAGVAR(predep_objects, $1)="$p"
6467 else
6468 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6469 fi
6470 else
6471 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6472 _LT_TAGVAR(postdep_objects, $1)="$p"
6473 else
6474 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6475 fi
6476 fi
6477 ;;
6478
6479 *) ;; # Ignore the rest.
6480
6481 esac
6482 done
6483
6484 # Clean up.
6485 rm -f a.out a.exe
6486else
6487 echo "libtool.m4: error: problem compiling $1 test program"
6488fi
6489
6490$RM -f confest.$objext
6491
6492# PORTME: override above test on systems where it is broken
6493m4_if([$1], [CXX],
6494[case $host_os in
6495interix[[3-9]]*)
6496 # Interix 3.5 installs completely hosed .la files for C++, so rather than
6497 # hack all around it, let's just trust "g++" to DTRT.
6498 _LT_TAGVAR(predep_objects,$1)=
6499 _LT_TAGVAR(postdep_objects,$1)=
6500 _LT_TAGVAR(postdeps,$1)=
6501 ;;
6502
6503linux*)
6504 case `$CC -V 2>&1 | sed 5q` in
6505 *Sun\ C*)
6506 # Sun C++ 5.9
6507
6508 # The more standards-conforming stlport4 library is
6509 # incompatible with the Cstd library. Avoid specifying
6510 # it if it's in CXXFLAGS. Ignore libCrun as
6511 # -library=stlport4 depends on it.
6512 case " $CXX $CXXFLAGS " in
6513 *" -library=stlport4 "*)
6514 solaris_use_stlport4=yes
6515 ;;
6516 esac
6517
6518 if test "$solaris_use_stlport4" != yes; then
6519 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6520 fi
6521 ;;
6522 esac
6523 ;;
6524
6525solaris*)
6526 case $cc_basename in
6527 CC*)
6528 # The more standards-conforming stlport4 library is
6529 # incompatible with the Cstd library. Avoid specifying
6530 # it if it's in CXXFLAGS. Ignore libCrun as
6531 # -library=stlport4 depends on it.
6532 case " $CXX $CXXFLAGS " in
6533 *" -library=stlport4 "*)
6534 solaris_use_stlport4=yes
6535 ;;
6536 esac
6537
6538 # Adding this requires a known-good setup of shared libraries for
6539 # Sun compiler versions before 5.6, else PIC objects from an old
6540 # archive will be linked into the output, leading to subtle bugs.
6541 if test "$solaris_use_stlport4" != yes; then
6542 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6543 fi
6544 ;;
6545 esac
6546 ;;
6547esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08006548])
6549
The Android Open Source Project4215dd12009-03-09 11:52:12 -07006550case " $_LT_TAGVAR(postdeps, $1) " in
6551*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
6552esac
6553 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
6554if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
6555 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
6556fi
6557_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
6558 [The directories searched by this compiler when creating a shared library])
6559_LT_TAGDECL([], [predep_objects], [1],
6560 [Dependencies to place before and after the objects being linked to
6561 create a shared library])
6562_LT_TAGDECL([], [postdep_objects], [1])
6563_LT_TAGDECL([], [predeps], [1])
6564_LT_TAGDECL([], [postdeps], [1])
6565_LT_TAGDECL([], [compiler_lib_search_path], [1],
6566 [The library search path used internally by the compiler when linking
6567 a shared library])
6568])# _LT_SYS_HIDDEN_LIBDEPS
6569
6570
6571# _LT_PROG_F77
6572# ------------
6573# Since AC_PROG_F77 is broken, in that it returns the empty string
6574# if there is no fortran compiler, we have our own version here.
6575m4_defun([_LT_PROG_F77],
6576[
6577pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6578AC_PROG_F77
6579if test -z "$F77" || test "X$F77" = "Xno"; then
6580 _lt_disable_F77=yes
6581fi
6582popdef([AC_MSG_ERROR])
6583])# _LT_PROG_F77
6584
6585dnl aclocal-1.4 backwards compatibility:
6586dnl AC_DEFUN([_LT_PROG_F77], [])
6587
6588
6589# _LT_LANG_F77_CONFIG([TAG])
6590# --------------------------
6591# Ensure that the configuration variables for a Fortran 77 compiler are
6592# suitably defined. These variables are subsequently used by _LT_CONFIG
6593# to write the compiler configuration to `libtool'.
6594m4_defun([_LT_LANG_F77_CONFIG],
6595[AC_REQUIRE([_LT_PROG_F77])dnl
6596AC_LANG_PUSH(Fortran 77)
6597
6598_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6599_LT_TAGVAR(allow_undefined_flag, $1)=
6600_LT_TAGVAR(always_export_symbols, $1)=no
6601_LT_TAGVAR(archive_expsym_cmds, $1)=
6602_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6603_LT_TAGVAR(hardcode_direct, $1)=no
6604_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6605_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6606_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6607_LT_TAGVAR(hardcode_libdir_separator, $1)=
6608_LT_TAGVAR(hardcode_minus_L, $1)=no
6609_LT_TAGVAR(hardcode_automatic, $1)=no
6610_LT_TAGVAR(inherit_rpath, $1)=no
6611_LT_TAGVAR(module_cmds, $1)=
6612_LT_TAGVAR(module_expsym_cmds, $1)=
6613_LT_TAGVAR(link_all_deplibs, $1)=unknown
6614_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6615_LT_TAGVAR(no_undefined_flag, $1)=
6616_LT_TAGVAR(whole_archive_flag_spec, $1)=
6617_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6618
6619# Source file extension for f77 test sources.
6620ac_ext=f
6621
6622# Object file extension for compiled f77 test sources.
6623objext=o
6624_LT_TAGVAR(objext, $1)=$objext
6625
6626# No sense in running all these tests if we already determined that
6627# the F77 compiler isn't working. Some variables (like enable_shared)
6628# are currently assumed to apply to all compilers on this platform,
6629# and will be corrupted by setting them based on a non-working compiler.
6630if test "$_lt_disable_F77" != yes; then
6631 # Code to be used in simple compile tests
6632 lt_simple_compile_test_code="\
6633 subroutine t
6634 return
6635 end
6636"
6637
6638 # Code to be used in simple link tests
6639 lt_simple_link_test_code="\
6640 program t
6641 end
6642"
6643
6644 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6645 _LT_TAG_COMPILER
6646
6647 # save warnings/boilerplate of simple test code
6648 _LT_COMPILER_BOILERPLATE
6649 _LT_LINKER_BOILERPLATE
6650
6651 # Allow CC to be a program name with arguments.
6652 lt_save_CC="$CC"
6653 lt_save_GCC=$GCC
6654 CC=${F77-"f77"}
6655 compiler=$CC
6656 _LT_TAGVAR(compiler, $1)=$CC
6657 _LT_CC_BASENAME([$compiler])
6658 GCC=$G77
6659 if test -n "$compiler"; then
6660 AC_MSG_CHECKING([if libtool supports shared libraries])
6661 AC_MSG_RESULT([$can_build_shared])
6662
6663 AC_MSG_CHECKING([whether to build shared libraries])
6664 test "$can_build_shared" = "no" && enable_shared=no
6665
6666 # On AIX, shared libraries and static libraries use the same namespace, and
6667 # are all built from PIC.
6668 case $host_os in
6669 aix3*)
6670 test "$enable_shared" = yes && enable_static=no
6671 if test -n "$RANLIB"; then
6672 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6673 postinstall_cmds='$RANLIB $lib'
6674 fi
6675 ;;
6676 aix[[4-9]]*)
6677 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6678 test "$enable_shared" = yes && enable_static=no
6679 fi
6680 ;;
6681 esac
6682 AC_MSG_RESULT([$enable_shared])
6683
6684 AC_MSG_CHECKING([whether to build static libraries])
6685 # Make sure either enable_shared or enable_static is yes.
6686 test "$enable_shared" = yes || enable_static=yes
6687 AC_MSG_RESULT([$enable_static])
6688
6689 _LT_TAGVAR(GCC, $1)="$G77"
6690 _LT_TAGVAR(LD, $1)="$LD"
6691
6692 ## CAVEAT EMPTOR:
6693 ## There is no encapsulation within the following macros, do not change
6694 ## the running order or otherwise move them around unless you know exactly
6695 ## what you are doing...
6696 _LT_COMPILER_PIC($1)
6697 _LT_COMPILER_C_O($1)
6698 _LT_COMPILER_FILE_LOCKS($1)
6699 _LT_LINKER_SHLIBS($1)
6700 _LT_SYS_DYNAMIC_LINKER($1)
6701 _LT_LINKER_HARDCODE_LIBPATH($1)
6702
6703 _LT_CONFIG($1)
6704 fi # test -n "$compiler"
6705
6706 GCC=$lt_save_GCC
6707 CC="$lt_save_CC"
6708fi # test "$_lt_disable_F77" != yes
6709
6710AC_LANG_POP
6711])# _LT_LANG_F77_CONFIG
6712
6713
6714# _LT_PROG_FC
6715# -----------
6716# Since AC_PROG_FC is broken, in that it returns the empty string
6717# if there is no fortran compiler, we have our own version here.
6718m4_defun([_LT_PROG_FC],
6719[
6720pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6721AC_PROG_FC
6722if test -z "$FC" || test "X$FC" = "Xno"; then
6723 _lt_disable_FC=yes
6724fi
6725popdef([AC_MSG_ERROR])
6726])# _LT_PROG_FC
6727
6728dnl aclocal-1.4 backwards compatibility:
6729dnl AC_DEFUN([_LT_PROG_FC], [])
6730
6731
6732# _LT_LANG_FC_CONFIG([TAG])
6733# -------------------------
6734# Ensure that the configuration variables for a Fortran compiler are
6735# suitably defined. These variables are subsequently used by _LT_CONFIG
6736# to write the compiler configuration to `libtool'.
6737m4_defun([_LT_LANG_FC_CONFIG],
6738[AC_REQUIRE([_LT_PROG_FC])dnl
6739AC_LANG_PUSH(Fortran)
6740
6741_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6742_LT_TAGVAR(allow_undefined_flag, $1)=
6743_LT_TAGVAR(always_export_symbols, $1)=no
6744_LT_TAGVAR(archive_expsym_cmds, $1)=
6745_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6746_LT_TAGVAR(hardcode_direct, $1)=no
6747_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6748_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6749_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6750_LT_TAGVAR(hardcode_libdir_separator, $1)=
6751_LT_TAGVAR(hardcode_minus_L, $1)=no
6752_LT_TAGVAR(hardcode_automatic, $1)=no
6753_LT_TAGVAR(inherit_rpath, $1)=no
6754_LT_TAGVAR(module_cmds, $1)=
6755_LT_TAGVAR(module_expsym_cmds, $1)=
6756_LT_TAGVAR(link_all_deplibs, $1)=unknown
6757_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6758_LT_TAGVAR(no_undefined_flag, $1)=
6759_LT_TAGVAR(whole_archive_flag_spec, $1)=
6760_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6761
6762# Source file extension for fc test sources.
6763ac_ext=${ac_fc_srcext-f}
6764
6765# Object file extension for compiled fc test sources.
6766objext=o
6767_LT_TAGVAR(objext, $1)=$objext
6768
6769# No sense in running all these tests if we already determined that
6770# the FC compiler isn't working. Some variables (like enable_shared)
6771# are currently assumed to apply to all compilers on this platform,
6772# and will be corrupted by setting them based on a non-working compiler.
6773if test "$_lt_disable_FC" != yes; then
6774 # Code to be used in simple compile tests
6775 lt_simple_compile_test_code="\
6776 subroutine t
6777 return
6778 end
6779"
6780
6781 # Code to be used in simple link tests
6782 lt_simple_link_test_code="\
6783 program t
6784 end
6785"
6786
6787 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6788 _LT_TAG_COMPILER
6789
6790 # save warnings/boilerplate of simple test code
6791 _LT_COMPILER_BOILERPLATE
6792 _LT_LINKER_BOILERPLATE
6793
6794 # Allow CC to be a program name with arguments.
6795 lt_save_CC="$CC"
6796 lt_save_GCC=$GCC
6797 CC=${FC-"f95"}
6798 compiler=$CC
6799 GCC=$ac_cv_fc_compiler_gnu
6800
6801 _LT_TAGVAR(compiler, $1)=$CC
6802 _LT_CC_BASENAME([$compiler])
6803
6804 if test -n "$compiler"; then
6805 AC_MSG_CHECKING([if libtool supports shared libraries])
6806 AC_MSG_RESULT([$can_build_shared])
6807
6808 AC_MSG_CHECKING([whether to build shared libraries])
6809 test "$can_build_shared" = "no" && enable_shared=no
6810
6811 # On AIX, shared libraries and static libraries use the same namespace, and
6812 # are all built from PIC.
6813 case $host_os in
6814 aix3*)
6815 test "$enable_shared" = yes && enable_static=no
6816 if test -n "$RANLIB"; then
6817 archive_cmds="$archive_cmds~\$RANLIB \$lib"
6818 postinstall_cmds='$RANLIB $lib'
6819 fi
6820 ;;
6821 aix[[4-9]]*)
6822 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6823 test "$enable_shared" = yes && enable_static=no
6824 fi
6825 ;;
6826 esac
6827 AC_MSG_RESULT([$enable_shared])
6828
6829 AC_MSG_CHECKING([whether to build static libraries])
6830 # Make sure either enable_shared or enable_static is yes.
6831 test "$enable_shared" = yes || enable_static=yes
6832 AC_MSG_RESULT([$enable_static])
6833
6834 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
6835 _LT_TAGVAR(LD, $1)="$LD"
6836
6837 ## CAVEAT EMPTOR:
6838 ## There is no encapsulation within the following macros, do not change
6839 ## the running order or otherwise move them around unless you know exactly
6840 ## what you are doing...
6841 _LT_SYS_HIDDEN_LIBDEPS($1)
6842 _LT_COMPILER_PIC($1)
6843 _LT_COMPILER_C_O($1)
6844 _LT_COMPILER_FILE_LOCKS($1)
6845 _LT_LINKER_SHLIBS($1)
6846 _LT_SYS_DYNAMIC_LINKER($1)
6847 _LT_LINKER_HARDCODE_LIBPATH($1)
6848
6849 _LT_CONFIG($1)
6850 fi # test -n "$compiler"
6851
6852 GCC=$lt_save_GCC
6853 CC="$lt_save_CC"
6854fi # test "$_lt_disable_FC" != yes
6855
6856AC_LANG_POP
6857])# _LT_LANG_FC_CONFIG
6858
6859
6860# _LT_LANG_GCJ_CONFIG([TAG])
6861# --------------------------
6862# Ensure that the configuration variables for the GNU Java Compiler compiler
6863# are suitably defined. These variables are subsequently used by _LT_CONFIG
6864# to write the compiler configuration to `libtool'.
6865m4_defun([_LT_LANG_GCJ_CONFIG],
6866[AC_REQUIRE([LT_PROG_GCJ])dnl
6867AC_LANG_SAVE
6868
6869# Source file extension for Java test sources.
6870ac_ext=java
6871
6872# Object file extension for compiled Java test sources.
6873objext=o
6874_LT_TAGVAR(objext, $1)=$objext
6875
6876# Code to be used in simple compile tests
6877lt_simple_compile_test_code="class foo {}"
6878
6879# Code to be used in simple link tests
6880lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
6881
6882# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6883_LT_TAG_COMPILER
6884
6885# save warnings/boilerplate of simple test code
6886_LT_COMPILER_BOILERPLATE
6887_LT_LINKER_BOILERPLATE
6888
6889# Allow CC to be a program name with arguments.
6890lt_save_CC="$CC"
6891lt_save_GCC=$GCC
6892GCC=yes
6893CC=${GCJ-"gcj"}
6894compiler=$CC
6895_LT_TAGVAR(compiler, $1)=$CC
6896_LT_TAGVAR(LD, $1)="$LD"
6897_LT_CC_BASENAME([$compiler])
6898
6899# GCJ did not exist at the time GCC didn't implicitly link libc in.
6900_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6901
6902_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6903
6904if test -n "$compiler"; then
6905 _LT_COMPILER_NO_RTTI($1)
6906 _LT_COMPILER_PIC($1)
6907 _LT_COMPILER_C_O($1)
6908 _LT_COMPILER_FILE_LOCKS($1)
6909 _LT_LINKER_SHLIBS($1)
6910 _LT_LINKER_HARDCODE_LIBPATH($1)
6911
6912 _LT_CONFIG($1)
6913fi
6914
6915AC_LANG_RESTORE
6916
6917GCC=$lt_save_GCC
6918CC="$lt_save_CC"
6919])# _LT_LANG_GCJ_CONFIG
6920
6921
6922# _LT_LANG_RC_CONFIG([TAG])
6923# -------------------------
6924# Ensure that the configuration variables for the Windows resource compiler
6925# are suitably defined. These variables are subsequently used by _LT_CONFIG
6926# to write the compiler configuration to `libtool'.
6927m4_defun([_LT_LANG_RC_CONFIG],
6928[AC_REQUIRE([LT_PROG_RC])dnl
6929AC_LANG_SAVE
6930
6931# Source file extension for RC test sources.
6932ac_ext=rc
6933
6934# Object file extension for compiled RC test sources.
6935objext=o
6936_LT_TAGVAR(objext, $1)=$objext
6937
6938# Code to be used in simple compile tests
6939lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
6940
6941# Code to be used in simple link tests
6942lt_simple_link_test_code="$lt_simple_compile_test_code"
6943
6944# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6945_LT_TAG_COMPILER
6946
6947# save warnings/boilerplate of simple test code
6948_LT_COMPILER_BOILERPLATE
6949_LT_LINKER_BOILERPLATE
6950
6951# Allow CC to be a program name with arguments.
6952lt_save_CC="$CC"
6953lt_save_GCC=$GCC
6954GCC=
6955CC=${RC-"windres"}
6956compiler=$CC
6957_LT_TAGVAR(compiler, $1)=$CC
6958_LT_CC_BASENAME([$compiler])
6959_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
6960
6961if test -n "$compiler"; then
6962 :
6963 _LT_CONFIG($1)
6964fi
6965
6966GCC=$lt_save_GCC
6967AC_LANG_RESTORE
6968CC="$lt_save_CC"
6969])# _LT_LANG_RC_CONFIG
6970
6971
6972# LT_PROG_GCJ
6973# -----------
6974AC_DEFUN([LT_PROG_GCJ],
6975[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
6976 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
6977 [AC_CHECK_TOOL(GCJ, gcj,)
6978 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
6979 AC_SUBST(GCJFLAGS)])])[]dnl
The Android Open Source Project893912b2009-03-03 19:30:05 -08006980])
6981
The Android Open Source Project4215dd12009-03-09 11:52:12 -07006982# Old name:
6983AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
6984dnl aclocal-1.4 backwards compatibility:
6985dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
6986
6987
6988# LT_PROG_RC
6989# ----------
6990AC_DEFUN([LT_PROG_RC],
6991[AC_CHECK_TOOL(RC, windres,)
6992])
6993
6994# Old name:
6995AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
6996dnl aclocal-1.4 backwards compatibility:
6997dnl AC_DEFUN([LT_AC_PROG_RC], [])
6998
6999
7000# _LT_DECL_EGREP
7001# --------------
7002# If we don't have a new enough Autoconf to choose the best grep
7003# available, choose the one first in the user's PATH.
7004m4_defun([_LT_DECL_EGREP],
7005[AC_REQUIRE([AC_PROG_EGREP])dnl
7006AC_REQUIRE([AC_PROG_FGREP])dnl
7007test -z "$GREP" && GREP=grep
7008_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7009_LT_DECL([], [EGREP], [1], [An ERE matcher])
7010_LT_DECL([], [FGREP], [1], [A literal string matcher])
7011dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7012AC_SUBST([GREP])
7013])
7014
7015
Patrick Scott5f6bd842010-06-28 16:55:16 -04007016# _LT_DECL_OBJDUMP
7017# --------------
7018# If we don't have a new enough Autoconf to choose the best objdump
7019# available, choose the one first in the user's PATH.
7020m4_defun([_LT_DECL_OBJDUMP],
7021[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7022test -z "$OBJDUMP" && OBJDUMP=objdump
7023_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7024AC_SUBST([OBJDUMP])
7025])
7026
7027
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007028# _LT_DECL_SED
7029# ------------
7030# Check for a fully-functional sed program, that truncates
7031# as few characters as possible. Prefer GNU sed if found.
7032m4_defun([_LT_DECL_SED],
7033[AC_PROG_SED
7034test -z "$SED" && SED=sed
7035Xsed="$SED -e 1s/^X//"
7036_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7037_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7038 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7039])# _LT_DECL_SED
7040
7041m4_ifndef([AC_PROG_SED], [
The Android Open Source Project893912b2009-03-03 19:30:05 -08007042# NOTE: This macro has been submitted for inclusion into #
7043# GNU Autoconf as AC_PROG_SED. When it is available in #
7044# a released version of Autoconf we should remove this #
7045# macro and use it instead. #
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007046
7047m4_defun([AC_PROG_SED],
The Android Open Source Project893912b2009-03-03 19:30:05 -08007048[AC_MSG_CHECKING([for a sed that does not truncate output])
7049AC_CACHE_VAL(lt_cv_path_SED,
7050[# Loop through the user's path and test for sed and gsed.
7051# Then use that list of sed's as ones to test for truncation.
7052as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7053for as_dir in $PATH
7054do
7055 IFS=$as_save_IFS
7056 test -z "$as_dir" && as_dir=.
7057 for lt_ac_prog in sed gsed; do
7058 for ac_exec_ext in '' $ac_executable_extensions; do
7059 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7060 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7061 fi
7062 done
7063 done
7064done
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007065IFS=$as_save_IFS
The Android Open Source Project893912b2009-03-03 19:30:05 -08007066lt_ac_max=0
7067lt_ac_count=0
7068# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7069# along with /bin/sed that truncates output.
7070for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7071 test ! -f $lt_ac_sed && continue
7072 cat /dev/null > conftest.in
7073 lt_ac_count=0
7074 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7075 # Check for GNU sed and select it if it is found.
7076 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7077 lt_cv_path_SED=$lt_ac_sed
7078 break
7079 fi
7080 while true; do
7081 cat conftest.in conftest.in >conftest.tmp
7082 mv conftest.tmp conftest.in
7083 cp conftest.in conftest.nl
7084 echo >>conftest.nl
7085 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7086 cmp -s conftest.out conftest.nl || break
7087 # 10000 chars as input seems more than enough
7088 test $lt_ac_count -gt 10 && break
7089 lt_ac_count=`expr $lt_ac_count + 1`
7090 if test $lt_ac_count -gt $lt_ac_max; then
7091 lt_ac_max=$lt_ac_count
7092 lt_cv_path_SED=$lt_ac_sed
7093 fi
7094 done
7095done
7096])
7097SED=$lt_cv_path_SED
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007098AC_SUBST([SED])
The Android Open Source Project893912b2009-03-03 19:30:05 -08007099AC_MSG_RESULT([$SED])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007100])#AC_PROG_SED
7101])#m4_ifndef
7102
7103# Old name:
7104AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7105dnl aclocal-1.4 backwards compatibility:
7106dnl AC_DEFUN([LT_AC_PROG_SED], [])
7107
7108
7109# _LT_CHECK_SHELL_FEATURES
7110# ------------------------
7111# Find out whether the shell is Bourne or XSI compatible,
7112# or has some other useful features.
7113m4_defun([_LT_CHECK_SHELL_FEATURES],
7114[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7115# Try some XSI features
7116xsi_shell=no
7117( _lt_dummy="a/b/c"
7118 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7119 = c,a/b,, \
7120 && eval 'test $(( 1 + 1 )) -eq 2 \
7121 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7122 && xsi_shell=yes
7123AC_MSG_RESULT([$xsi_shell])
7124_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7125
7126AC_MSG_CHECKING([whether the shell understands "+="])
7127lt_shell_append=no
7128( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7129 >/dev/null 2>&1 \
7130 && lt_shell_append=yes
7131AC_MSG_RESULT([$lt_shell_append])
7132_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7133
7134if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7135 lt_unset=unset
7136else
7137 lt_unset=false
7138fi
7139_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7140
7141# test EBCDIC or ASCII
7142case `echo X|tr X '\101'` in
7143 A) # ASCII based system
7144 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7145 lt_SP2NL='tr \040 \012'
7146 lt_NL2SP='tr \015\012 \040\040'
7147 ;;
7148 *) # EBCDIC based system
7149 lt_SP2NL='tr \100 \n'
7150 lt_NL2SP='tr \r\n \100\100'
7151 ;;
7152esac
7153_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7154_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7155])# _LT_CHECK_SHELL_FEATURES
7156
7157
7158# _LT_PROG_XSI_SHELLFNS
7159# ---------------------
7160# Bourne and XSI compatible variants of some useful shell functions.
7161m4_defun([_LT_PROG_XSI_SHELLFNS],
7162[case $xsi_shell in
7163 yes)
7164 cat << \_LT_EOF >> "$cfgfile"
7165
7166# func_dirname file append nondir_replacement
7167# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7168# otherwise set result to NONDIR_REPLACEMENT.
7169func_dirname ()
7170{
7171 case ${1} in
7172 */*) func_dirname_result="${1%/*}${2}" ;;
7173 * ) func_dirname_result="${3}" ;;
7174 esac
7175}
7176
7177# func_basename file
7178func_basename ()
7179{
7180 func_basename_result="${1##*/}"
7181}
7182
7183# func_dirname_and_basename file append nondir_replacement
7184# perform func_basename and func_dirname in a single function
7185# call:
7186# dirname: Compute the dirname of FILE. If nonempty,
7187# add APPEND to the result, otherwise set result
7188# to NONDIR_REPLACEMENT.
7189# value returned in "$func_dirname_result"
7190# basename: Compute filename of FILE.
7191# value retuned in "$func_basename_result"
7192# Implementation must be kept synchronized with func_dirname
7193# and func_basename. For efficiency, we do not delegate to
7194# those functions but instead duplicate the functionality here.
7195func_dirname_and_basename ()
7196{
7197 case ${1} in
7198 */*) func_dirname_result="${1%/*}${2}" ;;
7199 * ) func_dirname_result="${3}" ;;
7200 esac
7201 func_basename_result="${1##*/}"
7202}
7203
7204# func_stripname prefix suffix name
7205# strip PREFIX and SUFFIX off of NAME.
7206# PREFIX and SUFFIX must not contain globbing or regex special
7207# characters, hashes, percent signs, but SUFFIX may contain a leading
7208# dot (in which case that matches only a dot).
7209func_stripname ()
7210{
7211 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7212 # positional parameters, so assign one to ordinary parameter first.
7213 func_stripname_result=${3}
7214 func_stripname_result=${func_stripname_result#"${1}"}
7215 func_stripname_result=${func_stripname_result%"${2}"}
7216}
7217
7218# func_opt_split
7219func_opt_split ()
7220{
7221 func_opt_split_opt=${1%%=*}
7222 func_opt_split_arg=${1#*=}
7223}
7224
7225# func_lo2o object
7226func_lo2o ()
7227{
7228 case ${1} in
7229 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7230 *) func_lo2o_result=${1} ;;
7231 esac
7232}
7233
7234# func_xform libobj-or-source
7235func_xform ()
7236{
7237 func_xform_result=${1%.*}.lo
7238}
7239
7240# func_arith arithmetic-term...
7241func_arith ()
7242{
7243 func_arith_result=$(( $[*] ))
7244}
7245
7246# func_len string
7247# STRING may not start with a hyphen.
7248func_len ()
7249{
7250 func_len_result=${#1}
7251}
7252
7253_LT_EOF
7254 ;;
7255 *) # Bourne compatible functions.
7256 cat << \_LT_EOF >> "$cfgfile"
7257
7258# func_dirname file append nondir_replacement
7259# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7260# otherwise set result to NONDIR_REPLACEMENT.
7261func_dirname ()
7262{
7263 # Extract subdirectory from the argument.
7264 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7265 if test "X$func_dirname_result" = "X${1}"; then
7266 func_dirname_result="${3}"
7267 else
7268 func_dirname_result="$func_dirname_result${2}"
7269 fi
7270}
7271
7272# func_basename file
7273func_basename ()
7274{
7275 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7276}
7277
7278dnl func_dirname_and_basename
7279dnl A portable version of this function is already defined in general.m4sh
7280dnl so there is no need for it here.
7281
7282# func_stripname prefix suffix name
7283# strip PREFIX and SUFFIX off of NAME.
7284# PREFIX and SUFFIX must not contain globbing or regex special
7285# characters, hashes, percent signs, but SUFFIX may contain a leading
7286# dot (in which case that matches only a dot).
7287# func_strip_suffix prefix name
7288func_stripname ()
7289{
7290 case ${2} in
7291 .*) func_stripname_result=`$ECHO "X${3}" \
7292 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7293 *) func_stripname_result=`$ECHO "X${3}" \
7294 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7295 esac
7296}
7297
7298# sed scripts:
7299my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7300my_sed_long_arg='1s/^-[[^=]]*=//'
7301
7302# func_opt_split
7303func_opt_split ()
7304{
7305 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7306 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7307}
7308
7309# func_lo2o object
7310func_lo2o ()
7311{
7312 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7313}
7314
7315# func_xform libobj-or-source
7316func_xform ()
7317{
7318 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7319}
7320
7321# func_arith arithmetic-term...
7322func_arith ()
7323{
7324 func_arith_result=`expr "$[@]"`
7325}
7326
7327# func_len string
7328# STRING may not start with a hyphen.
7329func_len ()
7330{
7331 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7332}
7333
7334_LT_EOF
7335esac
7336
7337case $lt_shell_append in
7338 yes)
7339 cat << \_LT_EOF >> "$cfgfile"
7340
7341# func_append var value
7342# Append VALUE to the end of shell variable VAR.
7343func_append ()
7344{
7345 eval "$[1]+=\$[2]"
7346}
7347_LT_EOF
7348 ;;
7349 *)
7350 cat << \_LT_EOF >> "$cfgfile"
7351
7352# func_append var value
7353# Append VALUE to the end of shell variable VAR.
7354func_append ()
7355{
7356 eval "$[1]=\$$[1]\$[2]"
7357}
7358
7359_LT_EOF
7360 ;;
7361 esac
The Android Open Source Project893912b2009-03-03 19:30:05 -08007362])
7363
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007364# Helper functions for option handling. -*- Autoconf -*-
7365#
7366# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7367# Written by Gary V. Vaughan, 2004
7368#
7369# This file is free software; the Free Software Foundation gives
7370# unlimited permission to copy and/or distribute it, with or without
7371# modifications, as long as this notice is preserved.
7372
Patrick Scott5f6bd842010-06-28 16:55:16 -04007373# serial 6 ltoptions.m4
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007374
7375# This is to help aclocal find these macros, as it can't see m4_define.
7376AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
7377
7378
7379# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
7380# ------------------------------------------
7381m4_define([_LT_MANGLE_OPTION],
7382[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
7383
7384
7385# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
7386# ---------------------------------------
7387# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
7388# matching handler defined, dispatch to it. Other OPTION-NAMEs are
7389# saved as a flag.
7390m4_define([_LT_SET_OPTION],
7391[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
7392m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
7393 _LT_MANGLE_DEFUN([$1], [$2]),
7394 [m4_warning([Unknown $1 option `$2'])])[]dnl
7395])
7396
7397
7398# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
7399# ------------------------------------------------------------
7400# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
7401m4_define([_LT_IF_OPTION],
7402[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
7403
7404
7405# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
7406# -------------------------------------------------------
7407# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
7408# are set.
7409m4_define([_LT_UNLESS_OPTIONS],
7410[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7411 [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
7412 [m4_define([$0_found])])])[]dnl
7413m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
7414])[]dnl
7415])
7416
7417
7418# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
7419# ----------------------------------------
7420# OPTION-LIST is a space-separated list of Libtool options associated
7421# with MACRO-NAME. If any OPTION has a matching handler declared with
7422# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
7423# the unknown option and exit.
7424m4_defun([_LT_SET_OPTIONS],
7425[# Set options
7426m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7427 [_LT_SET_OPTION([$1], _LT_Option)])
7428
7429m4_if([$1],[LT_INIT],[
7430 dnl
7431 dnl Simply set some default values (i.e off) if boolean options were not
7432 dnl specified:
7433 _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
7434 ])
7435 _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
7436 ])
7437 dnl
7438 dnl If no reference was made to various pairs of opposing options, then
7439 dnl we run the default mode handler for the pair. For example, if neither
7440 dnl `shared' nor `disable-shared' was passed, we enable building of shared
7441 dnl archives by default:
7442 _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
7443 _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
7444 _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
7445 _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
7446 [_LT_ENABLE_FAST_INSTALL])
7447 ])
7448])# _LT_SET_OPTIONS
7449
7450
7451
7452# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
7453# -----------------------------------------
7454m4_define([_LT_MANGLE_DEFUN],
7455[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
7456
7457
7458# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
7459# -----------------------------------------------
7460m4_define([LT_OPTION_DEFINE],
7461[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
7462])# LT_OPTION_DEFINE
7463
7464
7465# dlopen
7466# ------
7467LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
7468])
7469
7470AU_DEFUN([AC_LIBTOOL_DLOPEN],
7471[_LT_SET_OPTION([LT_INIT], [dlopen])
7472AC_DIAGNOSE([obsolete],
7473[$0: Remove this warning and the call to _LT_SET_OPTION when you
7474put the `dlopen' option into LT_INIT's first parameter.])
7475])
7476
7477dnl aclocal-1.4 backwards compatibility:
7478dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
7479
7480
7481# win32-dll
7482# ---------
7483# Declare package support for building win32 dll's.
7484LT_OPTION_DEFINE([LT_INIT], [win32-dll],
7485[enable_win32_dll=yes
7486
7487case $host in
Patrick Scott5f6bd842010-06-28 16:55:16 -04007488*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007489 AC_CHECK_TOOL(AS, as, false)
7490 AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7491 AC_CHECK_TOOL(OBJDUMP, objdump, false)
7492 ;;
7493esac
7494
7495test -z "$AS" && AS=as
7496_LT_DECL([], [AS], [0], [Assembler program])dnl
7497
7498test -z "$DLLTOOL" && DLLTOOL=dlltool
7499_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
7500
7501test -z "$OBJDUMP" && OBJDUMP=objdump
7502_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
7503])# win32-dll
7504
7505AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
7506[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7507_LT_SET_OPTION([LT_INIT], [win32-dll])
7508AC_DIAGNOSE([obsolete],
7509[$0: Remove this warning and the call to _LT_SET_OPTION when you
7510put the `win32-dll' option into LT_INIT's first parameter.])
7511])
7512
7513dnl aclocal-1.4 backwards compatibility:
7514dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
7515
7516
7517# _LT_ENABLE_SHARED([DEFAULT])
7518# ----------------------------
7519# implement the --enable-shared flag, and supports the `shared' and
7520# `disable-shared' LT_INIT options.
7521# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7522m4_define([_LT_ENABLE_SHARED],
7523[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
7524AC_ARG_ENABLE([shared],
7525 [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
7526 [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
7527 [p=${PACKAGE-default}
7528 case $enableval in
7529 yes) enable_shared=yes ;;
7530 no) enable_shared=no ;;
7531 *)
7532 enable_shared=no
7533 # Look at the argument we got. We use all the common list separators.
7534 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7535 for pkg in $enableval; do
7536 IFS="$lt_save_ifs"
7537 if test "X$pkg" = "X$p"; then
7538 enable_shared=yes
7539 fi
7540 done
7541 IFS="$lt_save_ifs"
7542 ;;
7543 esac],
7544 [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
7545
7546 _LT_DECL([build_libtool_libs], [enable_shared], [0],
7547 [Whether or not to build shared libraries])
7548])# _LT_ENABLE_SHARED
7549
7550LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
7551LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
7552
7553# Old names:
7554AC_DEFUN([AC_ENABLE_SHARED],
7555[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
7556])
7557
7558AC_DEFUN([AC_DISABLE_SHARED],
7559[_LT_SET_OPTION([LT_INIT], [disable-shared])
7560])
7561
7562AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
7563AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7564
7565dnl aclocal-1.4 backwards compatibility:
7566dnl AC_DEFUN([AM_ENABLE_SHARED], [])
7567dnl AC_DEFUN([AM_DISABLE_SHARED], [])
7568
7569
7570
7571# _LT_ENABLE_STATIC([DEFAULT])
7572# ----------------------------
7573# implement the --enable-static flag, and support the `static' and
7574# `disable-static' LT_INIT options.
7575# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7576m4_define([_LT_ENABLE_STATIC],
7577[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
7578AC_ARG_ENABLE([static],
7579 [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
7580 [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
7581 [p=${PACKAGE-default}
7582 case $enableval in
7583 yes) enable_static=yes ;;
7584 no) enable_static=no ;;
7585 *)
7586 enable_static=no
7587 # Look at the argument we got. We use all the common list separators.
7588 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7589 for pkg in $enableval; do
7590 IFS="$lt_save_ifs"
7591 if test "X$pkg" = "X$p"; then
7592 enable_static=yes
7593 fi
7594 done
7595 IFS="$lt_save_ifs"
7596 ;;
7597 esac],
7598 [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
7599
7600 _LT_DECL([build_old_libs], [enable_static], [0],
7601 [Whether or not to build static libraries])
7602])# _LT_ENABLE_STATIC
7603
7604LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
7605LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
7606
7607# Old names:
7608AC_DEFUN([AC_ENABLE_STATIC],
7609[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
7610])
7611
7612AC_DEFUN([AC_DISABLE_STATIC],
7613[_LT_SET_OPTION([LT_INIT], [disable-static])
7614])
7615
7616AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
7617AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7618
7619dnl aclocal-1.4 backwards compatibility:
7620dnl AC_DEFUN([AM_ENABLE_STATIC], [])
7621dnl AC_DEFUN([AM_DISABLE_STATIC], [])
7622
7623
7624
7625# _LT_ENABLE_FAST_INSTALL([DEFAULT])
7626# ----------------------------------
7627# implement the --enable-fast-install flag, and support the `fast-install'
7628# and `disable-fast-install' LT_INIT options.
7629# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7630m4_define([_LT_ENABLE_FAST_INSTALL],
7631[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
7632AC_ARG_ENABLE([fast-install],
7633 [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
7634 [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
7635 [p=${PACKAGE-default}
7636 case $enableval in
7637 yes) enable_fast_install=yes ;;
7638 no) enable_fast_install=no ;;
7639 *)
7640 enable_fast_install=no
7641 # Look at the argument we got. We use all the common list separators.
7642 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7643 for pkg in $enableval; do
7644 IFS="$lt_save_ifs"
7645 if test "X$pkg" = "X$p"; then
7646 enable_fast_install=yes
7647 fi
7648 done
7649 IFS="$lt_save_ifs"
7650 ;;
7651 esac],
7652 [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
7653
7654_LT_DECL([fast_install], [enable_fast_install], [0],
7655 [Whether or not to optimize for fast installation])dnl
7656])# _LT_ENABLE_FAST_INSTALL
7657
7658LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
7659LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
7660
7661# Old names:
7662AU_DEFUN([AC_ENABLE_FAST_INSTALL],
7663[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
7664AC_DIAGNOSE([obsolete],
7665[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7666the `fast-install' option into LT_INIT's first parameter.])
7667])
7668
7669AU_DEFUN([AC_DISABLE_FAST_INSTALL],
7670[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
7671AC_DIAGNOSE([obsolete],
7672[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7673the `disable-fast-install' option into LT_INIT's first parameter.])
7674])
7675
7676dnl aclocal-1.4 backwards compatibility:
7677dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
7678dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
7679
7680
7681# _LT_WITH_PIC([MODE])
7682# --------------------
7683# implement the --with-pic flag, and support the `pic-only' and `no-pic'
7684# LT_INIT options.
7685# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
7686m4_define([_LT_WITH_PIC],
7687[AC_ARG_WITH([pic],
7688 [AS_HELP_STRING([--with-pic],
7689 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
7690 [pic_mode="$withval"],
7691 [pic_mode=default])
7692
7693test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
7694
7695_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
7696])# _LT_WITH_PIC
7697
7698LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
7699LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
7700
7701# Old name:
7702AU_DEFUN([AC_LIBTOOL_PICMODE],
7703[_LT_SET_OPTION([LT_INIT], [pic-only])
7704AC_DIAGNOSE([obsolete],
7705[$0: Remove this warning and the call to _LT_SET_OPTION when you
7706put the `pic-only' option into LT_INIT's first parameter.])
7707])
7708
7709dnl aclocal-1.4 backwards compatibility:
7710dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
7711
7712
7713m4_define([_LTDL_MODE], [])
7714LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
7715 [m4_define([_LTDL_MODE], [nonrecursive])])
7716LT_OPTION_DEFINE([LTDL_INIT], [recursive],
7717 [m4_define([_LTDL_MODE], [recursive])])
7718LT_OPTION_DEFINE([LTDL_INIT], [subproject],
7719 [m4_define([_LTDL_MODE], [subproject])])
7720
7721m4_define([_LTDL_TYPE], [])
7722LT_OPTION_DEFINE([LTDL_INIT], [installable],
7723 [m4_define([_LTDL_TYPE], [installable])])
7724LT_OPTION_DEFINE([LTDL_INIT], [convenience],
7725 [m4_define([_LTDL_TYPE], [convenience])])
7726
7727# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
7728#
Patrick Scott5f6bd842010-06-28 16:55:16 -04007729# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7730# Written by Gary V. Vaughan, 2004
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007731#
7732# This file is free software; the Free Software Foundation gives
7733# unlimited permission to copy and/or distribute it, with or without
7734# modifications, as long as this notice is preserved.
7735
Patrick Scott5f6bd842010-06-28 16:55:16 -04007736# serial 6 ltsugar.m4
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007737
7738# This is to help aclocal find these macros, as it can't see m4_define.
7739AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
7740
7741
7742# lt_join(SEP, ARG1, [ARG2...])
7743# -----------------------------
7744# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
7745# associated separator.
7746# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
7747# versions in m4sugar had bugs.
7748m4_define([lt_join],
7749[m4_if([$#], [1], [],
7750 [$#], [2], [[$2]],
7751 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
7752m4_define([_lt_join],
7753[m4_if([$#$2], [2], [],
7754 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
7755
7756
7757# lt_car(LIST)
7758# lt_cdr(LIST)
7759# ------------
7760# Manipulate m4 lists.
7761# These macros are necessary as long as will still need to support
7762# Autoconf-2.59 which quotes differently.
7763m4_define([lt_car], [[$1]])
7764m4_define([lt_cdr],
7765[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
7766 [$#], 1, [],
7767 [m4_dquote(m4_shift($@))])])
7768m4_define([lt_unquote], $1)
7769
7770
7771# lt_append(MACRO-NAME, STRING, [SEPARATOR])
7772# ------------------------------------------
7773# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
7774# Note that neither SEPARATOR nor STRING are expanded; they are appended
7775# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
7776# No SEPARATOR is output if MACRO-NAME was previously undefined (different
7777# than defined and empty).
7778#
7779# This macro is needed until we can rely on Autoconf 2.62, since earlier
7780# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
7781m4_define([lt_append],
7782[m4_define([$1],
7783 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
7784
7785
7786
7787# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
7788# ----------------------------------------------------------
7789# Produce a SEP delimited list of all paired combinations of elements of
7790# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
7791# has the form PREFIXmINFIXSUFFIXn.
Patrick Scott5f6bd842010-06-28 16:55:16 -04007792# Needed until we can rely on m4_combine added in Autoconf 2.62.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007793m4_define([lt_combine],
Patrick Scott5f6bd842010-06-28 16:55:16 -04007794[m4_if(m4_eval([$# > 3]), [1],
7795 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
7796[[m4_foreach([_Lt_prefix], [$2],
7797 [m4_foreach([_Lt_suffix],
7798 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
7799 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007800
7801
7802# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
7803# -----------------------------------------------------------------------
7804# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
7805# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
7806m4_define([lt_if_append_uniq],
7807[m4_ifdef([$1],
7808 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
7809 [lt_append([$1], [$2], [$3])$4],
7810 [$5])],
7811 [lt_append([$1], [$2], [$3])$4])])
7812
7813
7814# lt_dict_add(DICT, KEY, VALUE)
7815# -----------------------------
7816m4_define([lt_dict_add],
7817[m4_define([$1($2)], [$3])])
7818
7819
7820# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
7821# --------------------------------------------
7822m4_define([lt_dict_add_subkey],
7823[m4_define([$1($2:$3)], [$4])])
7824
7825
7826# lt_dict_fetch(DICT, KEY, [SUBKEY])
7827# ----------------------------------
7828m4_define([lt_dict_fetch],
7829[m4_ifval([$3],
7830 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
7831 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
7832
7833
7834# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
7835# -----------------------------------------------------------------
7836m4_define([lt_if_dict_fetch],
7837[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
7838 [$5],
7839 [$6])])
7840
7841
7842# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
7843# --------------------------------------------------------------
7844m4_define([lt_dict_filter],
7845[m4_if([$5], [], [],
7846 [lt_join(m4_quote(m4_default([$4], [[, ]])),
7847 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
7848 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
7849])
7850
7851# ltversion.m4 -- version numbers -*- Autoconf -*-
7852#
7853# Copyright (C) 2004 Free Software Foundation, Inc.
7854# Written by Scott James Remnant, 2004
7855#
7856# This file is free software; the Free Software Foundation gives
7857# unlimited permission to copy and/or distribute it, with or without
7858# modifications, as long as this notice is preserved.
7859
7860# Generated from ltversion.in.
7861
Patrick Scott5f6bd842010-06-28 16:55:16 -04007862# serial 3017 ltversion.m4
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007863# This file is part of GNU Libtool
7864
Patrick Scott5f6bd842010-06-28 16:55:16 -04007865m4_define([LT_PACKAGE_VERSION], [2.2.6b])
7866m4_define([LT_PACKAGE_REVISION], [1.3017])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007867
7868AC_DEFUN([LTVERSION_VERSION],
Patrick Scott5f6bd842010-06-28 16:55:16 -04007869[macro_version='2.2.6b'
7870macro_revision='1.3017'
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007871_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
7872_LT_DECL(, macro_revision, 0)
7873])
7874
7875# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
7876#
7877# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
7878# Written by Scott James Remnant, 2004.
7879#
7880# This file is free software; the Free Software Foundation gives
7881# unlimited permission to copy and/or distribute it, with or without
7882# modifications, as long as this notice is preserved.
7883
Patrick Scott5f6bd842010-06-28 16:55:16 -04007884# serial 4 lt~obsolete.m4
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007885
7886# These exist entirely to fool aclocal when bootstrapping libtool.
7887#
7888# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
7889# which have later been changed to m4_define as they aren't part of the
7890# exported API, or moved to Autoconf or Automake where they belong.
7891#
7892# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
7893# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
7894# using a macro with the same name in our local m4/libtool.m4 it'll
7895# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
7896# and doesn't know about Autoconf macros at all.)
7897#
7898# So we provide this file, which has a silly filename so it's always
7899# included after everything else. This provides aclocal with the
7900# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
7901# because those macros already exist, or will be overwritten later.
7902# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
7903#
7904# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
7905# Yes, that means every name once taken will need to remain here until
7906# we give up compatibility with versions before 1.7, at which point
7907# we need to keep only those names which we still refer to.
7908
7909# This is to help aclocal find these macros, as it can't see m4_define.
7910AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
7911
7912m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
7913m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
7914m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
7915m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
7916m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
7917m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
7918m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
7919m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
7920m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
7921m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
7922m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
7923m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
7924m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
7925m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
7926m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
7927m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
7928m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
7929m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
7930m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
7931m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
7932m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
7933m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
7934m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
7935m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
7936m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
7937m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
7938m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
7939m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
7940m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
7941m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
7942m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
7943m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
7944m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
7945m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
7946m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
7947m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
7948m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
7949m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
7950m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
7951m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
7952m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
7953m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
7954m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
7955m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
7956m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
7957m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
7958m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
7959m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
7960m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
7961m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
7962m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
7963m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
7964m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
7965m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
7966m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
7967
Patrick Scott5f6bd842010-06-28 16:55:16 -04007968# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007969#
7970# This file is free software; the Free Software Foundation
7971# gives unlimited permission to copy and/or distribute it,
7972# with or without modifications, as long as this notice is preserved.
7973
7974# AM_AUTOMAKE_VERSION(VERSION)
7975# ----------------------------
7976# Automake X.Y traces this macro to ensure aclocal.m4 has been
7977# generated from the m4 files accompanying Automake X.Y.
7978# (This private macro should not be called outside this file.)
7979AC_DEFUN([AM_AUTOMAKE_VERSION],
Patrick Scott5f6bd842010-06-28 16:55:16 -04007980[am__api_version='1.11'
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007981dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
7982dnl require some minimum version. Point them to the right macro.
Patrick Scott5f6bd842010-06-28 16:55:16 -04007983m4_if([$1], [1.11], [],
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007984 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
7985])
7986
7987# _AM_AUTOCONF_VERSION(VERSION)
7988# -----------------------------
7989# aclocal traces this macro to find the Autoconf version.
7990# This is a private macro too. Using m4_define simplifies
7991# the logic in aclocal, which can simply ignore this definition.
7992m4_define([_AM_AUTOCONF_VERSION], [])
7993
7994# AM_SET_CURRENT_AUTOMAKE_VERSION
7995# -------------------------------
7996# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
Patrick Scott5f6bd842010-06-28 16:55:16 -04007997# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07007998AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
Patrick Scott5f6bd842010-06-28 16:55:16 -04007999[AM_AUTOMAKE_VERSION([1.11])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008000m4_ifndef([AC_AUTOCONF_VERSION],
8001 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
Patrick Scott5f6bd842010-06-28 16:55:16 -04008002_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008003
8004# AM_AUX_DIR_EXPAND -*- Autoconf -*-
8005
8006# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8007#
8008# This file is free software; the Free Software Foundation
8009# gives unlimited permission to copy and/or distribute it,
8010# with or without modifications, as long as this notice is preserved.
8011
8012# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
8013# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
8014# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
8015#
8016# Of course, Automake must honor this variable whenever it calls a
8017# tool from the auxiliary directory. The problem is that $srcdir (and
8018# therefore $ac_aux_dir as well) can be either absolute or relative,
8019# depending on how configure is run. This is pretty annoying, since
8020# it makes $ac_aux_dir quite unusable in subdirectories: in the top
8021# source directory, any form will work fine, but in subdirectories a
8022# relative path needs to be adjusted first.
8023#
8024# $ac_aux_dir/missing
8025# fails when called from a subdirectory if $ac_aux_dir is relative
8026# $top_srcdir/$ac_aux_dir/missing
8027# fails if $ac_aux_dir is absolute,
8028# fails when called from a subdirectory in a VPATH build with
8029# a relative $ac_aux_dir
8030#
8031# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
8032# are both prefixed by $srcdir. In an in-source build this is usually
8033# harmless because $srcdir is `.', but things will broke when you
8034# start a VPATH build or use an absolute $srcdir.
8035#
8036# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
8037# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
8038# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
8039# and then we would define $MISSING as
8040# MISSING="\${SHELL} $am_aux_dir/missing"
8041# This will work as long as MISSING is not called from configure, because
8042# unfortunately $(top_srcdir) has no meaning in configure.
8043# However there are other variables, like CC, which are often used in
8044# configure, and could therefore not use this "fixed" $ac_aux_dir.
8045#
8046# Another solution, used here, is to always expand $ac_aux_dir to an
8047# absolute PATH. The drawback is that using absolute paths prevent a
8048# configured tree to be moved without reconfiguration.
8049
8050AC_DEFUN([AM_AUX_DIR_EXPAND],
8051[dnl Rely on autoconf to set up CDPATH properly.
8052AC_PREREQ([2.50])dnl
8053# expand $ac_aux_dir to an absolute path
8054am_aux_dir=`cd $ac_aux_dir && pwd`
8055])
8056
8057# AM_CONDITIONAL -*- Autoconf -*-
8058
Patrick Scott5f6bd842010-06-28 16:55:16 -04008059# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008060# Free Software Foundation, Inc.
8061#
8062# This file is free software; the Free Software Foundation
8063# gives unlimited permission to copy and/or distribute it,
8064# with or without modifications, as long as this notice is preserved.
8065
Patrick Scott5f6bd842010-06-28 16:55:16 -04008066# serial 9
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008067
8068# AM_CONDITIONAL(NAME, SHELL-CONDITION)
8069# -------------------------------------
8070# Define a conditional.
8071AC_DEFUN([AM_CONDITIONAL],
8072[AC_PREREQ(2.52)dnl
8073 ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
8074 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
8075AC_SUBST([$1_TRUE])dnl
8076AC_SUBST([$1_FALSE])dnl
8077_AM_SUBST_NOTMAKE([$1_TRUE])dnl
8078_AM_SUBST_NOTMAKE([$1_FALSE])dnl
Patrick Scott5f6bd842010-06-28 16:55:16 -04008079m4_define([_AM_COND_VALUE_$1], [$2])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008080if $2; then
8081 $1_TRUE=
8082 $1_FALSE='#'
8083else
8084 $1_TRUE='#'
8085 $1_FALSE=
8086fi
8087AC_CONFIG_COMMANDS_PRE(
8088[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
8089 AC_MSG_ERROR([[conditional "$1" was never defined.
8090Usually this means the macro was only invoked conditionally.]])
8091fi])])
8092
Patrick Scott5f6bd842010-06-28 16:55:16 -04008093# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008094# Free Software Foundation, Inc.
8095#
8096# This file is free software; the Free Software Foundation
8097# gives unlimited permission to copy and/or distribute it,
8098# with or without modifications, as long as this notice is preserved.
8099
Patrick Scott5f6bd842010-06-28 16:55:16 -04008100# serial 10
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008101
8102# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
8103# written in clear, in which case automake, when reading aclocal.m4,
8104# will think it sees a *use*, and therefore will trigger all it's
8105# C support machinery. Also note that it means that autoscan, seeing
8106# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
8107
8108
8109# _AM_DEPENDENCIES(NAME)
8110# ----------------------
8111# See how the compiler implements dependency checking.
8112# NAME is "CC", "CXX", "GCJ", or "OBJC".
8113# We try a few techniques and use that to set a single cache variable.
8114#
8115# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
8116# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
8117# dependency, and given that the user is not expected to run this macro,
8118# just rely on AC_PROG_CC.
8119AC_DEFUN([_AM_DEPENDENCIES],
8120[AC_REQUIRE([AM_SET_DEPDIR])dnl
8121AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
8122AC_REQUIRE([AM_MAKE_INCLUDE])dnl
8123AC_REQUIRE([AM_DEP_TRACK])dnl
8124
8125ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
8126 [$1], CXX, [depcc="$CXX" am_compiler_list=],
8127 [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
8128 [$1], UPC, [depcc="$UPC" am_compiler_list=],
8129 [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
8130 [depcc="$$1" am_compiler_list=])
8131
8132AC_CACHE_CHECK([dependency style of $depcc],
8133 [am_cv_$1_dependencies_compiler_type],
8134[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
8135 # We make a subdir and do the tests there. Otherwise we can end up
8136 # making bogus files that we don't know about and never remove. For
8137 # instance it was reported that on HP-UX the gcc test will end up
8138 # making a dummy file named `D' -- because `-MD' means `put the output
8139 # in D'.
8140 mkdir conftest.dir
8141 # Copy depcomp to subdir because otherwise we won't find it if we're
8142 # using a relative directory.
8143 cp "$am_depcomp" conftest.dir
8144 cd conftest.dir
8145 # We will build objects and dependencies in a subdirectory because
8146 # it helps to detect inapplicable dependency modes. For instance
8147 # both Tru64's cc and ICC support -MD to output dependencies as a
8148 # side effect of compilation, but ICC will put the dependencies in
8149 # the current directory while Tru64 will put them in the object
8150 # directory.
8151 mkdir sub
8152
8153 am_cv_$1_dependencies_compiler_type=none
8154 if test "$am_compiler_list" = ""; then
8155 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
8156 fi
Patrick Scott5f6bd842010-06-28 16:55:16 -04008157 am__universal=false
8158 m4_case([$1], [CC],
8159 [case " $depcc " in #(
8160 *\ -arch\ *\ -arch\ *) am__universal=true ;;
8161 esac],
8162 [CXX],
8163 [case " $depcc " in #(
8164 *\ -arch\ *\ -arch\ *) am__universal=true ;;
8165 esac])
8166
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008167 for depmode in $am_compiler_list; do
8168 # Setup a source with many dependencies, because some compilers
8169 # like to wrap large dependency lists on column 80 (with \), and
8170 # we should not choose a depcomp mode which is confused by this.
8171 #
8172 # We need to recreate these files for each test, as the compiler may
8173 # overwrite some of them when testing with obscure command lines.
8174 # This happens at least with the AIX C compiler.
8175 : > sub/conftest.c
8176 for i in 1 2 3 4 5 6; do
8177 echo '#include "conftst'$i'.h"' >> sub/conftest.c
8178 # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
8179 # Solaris 8's {/usr,}/bin/sh.
8180 touch sub/conftst$i.h
8181 done
8182 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
8183
Patrick Scott5f6bd842010-06-28 16:55:16 -04008184 # We check with `-c' and `-o' for the sake of the "dashmstdout"
8185 # mode. It turns out that the SunPro C++ compiler does not properly
8186 # handle `-M -o', and we need to detect this. Also, some Intel
8187 # versions had trouble with output in subdirs
8188 am__obj=sub/conftest.${OBJEXT-o}
8189 am__minus_obj="-o $am__obj"
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008190 case $depmode in
Patrick Scott5f6bd842010-06-28 16:55:16 -04008191 gcc)
8192 # This depmode causes a compiler race in universal mode.
8193 test "$am__universal" = false || continue
8194 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008195 nosideeffect)
8196 # after this tag, mechanisms are not by side-effect, so they'll
8197 # only be used when explicitly requested
8198 if test "x$enable_dependency_tracking" = xyes; then
8199 continue
8200 else
8201 break
8202 fi
8203 ;;
Patrick Scott5f6bd842010-06-28 16:55:16 -04008204 msvisualcpp | msvcmsys)
8205 # This compiler won't grok `-c -o', but also, the minuso test has
8206 # not run yet. These depmodes are late enough in the game, and
8207 # so weak that their functioning should not be impacted.
8208 am__obj=conftest.${OBJEXT-o}
8209 am__minus_obj=
8210 ;;
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008211 none) break ;;
8212 esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008213 if depmode=$depmode \
Patrick Scott5f6bd842010-06-28 16:55:16 -04008214 source=sub/conftest.c object=$am__obj \
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008215 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
Patrick Scott5f6bd842010-06-28 16:55:16 -04008216 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008217 >/dev/null 2>conftest.err &&
8218 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
8219 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
Patrick Scott5f6bd842010-06-28 16:55:16 -04008220 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008221 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
8222 # icc doesn't choke on unknown options, it will just issue warnings
8223 # or remarks (even with -Werror). So we grep stderr for any message
8224 # that says an option was ignored or not supported.
8225 # When given -MP, icc 7.0 and 7.1 complain thusly:
8226 # icc: Command line warning: ignoring option '-M'; no argument required
8227 # The diagnosis changed in icc 8.0:
8228 # icc: Command line remark: option '-MP' not supported
8229 if (grep 'ignoring option' conftest.err ||
8230 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
8231 am_cv_$1_dependencies_compiler_type=$depmode
8232 break
8233 fi
8234 fi
8235 done
8236
8237 cd ..
8238 rm -rf conftest.dir
8239else
8240 am_cv_$1_dependencies_compiler_type=none
8241fi
8242])
8243AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
8244AM_CONDITIONAL([am__fastdep$1], [
8245 test "x$enable_dependency_tracking" != xno \
8246 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
8247])
8248
8249
8250# AM_SET_DEPDIR
8251# -------------
8252# Choose a directory name for dependency files.
8253# This macro is AC_REQUIREd in _AM_DEPENDENCIES
8254AC_DEFUN([AM_SET_DEPDIR],
8255[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
8256AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
8257])
8258
8259
8260# AM_DEP_TRACK
8261# ------------
8262AC_DEFUN([AM_DEP_TRACK],
8263[AC_ARG_ENABLE(dependency-tracking,
8264[ --disable-dependency-tracking speeds up one-time build
8265 --enable-dependency-tracking do not reject slow dependency extractors])
8266if test "x$enable_dependency_tracking" != xno; then
8267 am_depcomp="$ac_aux_dir/depcomp"
8268 AMDEPBACKSLASH='\'
8269fi
8270AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
8271AC_SUBST([AMDEPBACKSLASH])dnl
8272_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
8273])
8274
8275# Generate code to set up dependency tracking. -*- Autoconf -*-
8276
Patrick Scott5f6bd842010-06-28 16:55:16 -04008277# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008278# Free Software Foundation, Inc.
8279#
8280# This file is free software; the Free Software Foundation
8281# gives unlimited permission to copy and/or distribute it,
8282# with or without modifications, as long as this notice is preserved.
8283
Patrick Scott5f6bd842010-06-28 16:55:16 -04008284#serial 5
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008285
8286# _AM_OUTPUT_DEPENDENCY_COMMANDS
8287# ------------------------------
8288AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008289[{
8290 # Autoconf 2.62 quotes --file arguments for eval, but not when files
8291 # are listed without --file. Let's play safe and only enable the eval
8292 # if we detect the quoting.
8293 case $CONFIG_FILES in
8294 *\'*) eval set x "$CONFIG_FILES" ;;
8295 *) set x $CONFIG_FILES ;;
8296 esac
8297 shift
8298 for mf
8299 do
8300 # Strip MF so we end up with the name of the file.
8301 mf=`echo "$mf" | sed -e 's/:.*$//'`
8302 # Check whether this is an Automake generated Makefile or not.
8303 # We used to match only the files named `Makefile.in', but
8304 # some people rename them; so instead we look at the file content.
8305 # Grep'ing the first line is not enough: some people post-process
8306 # each Makefile.in and add a new line on top of each file to say so.
8307 # Grep'ing the whole file is not good either: AIX grep has a line
8308 # limit of 2048, but all sed's we know have understand at least 4000.
8309 if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
8310 dirpart=`AS_DIRNAME("$mf")`
8311 else
8312 continue
8313 fi
8314 # Extract the definition of DEPDIR, am__include, and am__quote
8315 # from the Makefile without running `make'.
8316 DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
8317 test -z "$DEPDIR" && continue
8318 am__include=`sed -n 's/^am__include = //p' < "$mf"`
8319 test -z "am__include" && continue
8320 am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
8321 # When using ansi2knr, U may be empty or an underscore; expand it
8322 U=`sed -n 's/^U = //p' < "$mf"`
8323 # Find all dependency output files, they are included files with
8324 # $(DEPDIR) in their names. We invoke sed twice because it is the
8325 # simplest approach to changing $(DEPDIR) to its actual value in the
8326 # expansion.
8327 for file in `sed -n "
8328 s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
8329 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
8330 # Make sure the directory exists.
8331 test -f "$dirpart/$file" && continue
8332 fdir=`AS_DIRNAME(["$file"])`
8333 AS_MKDIR_P([$dirpart/$fdir])
8334 # echo "creating $dirpart/$file"
8335 echo '# dummy' > "$dirpart/$file"
8336 done
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008337 done
Patrick Scott5f6bd842010-06-28 16:55:16 -04008338}
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008339])# _AM_OUTPUT_DEPENDENCY_COMMANDS
8340
8341
8342# AM_OUTPUT_DEPENDENCY_COMMANDS
8343# -----------------------------
8344# This macro should only be invoked once -- use via AC_REQUIRE.
8345#
8346# This code is only required when automatic dependency tracking
8347# is enabled. FIXME. This creates each `.P' file that we will
8348# need in order to bootstrap the dependency handling code.
8349AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
8350[AC_CONFIG_COMMANDS([depfiles],
8351 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
8352 [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
8353])
8354
8355# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
8356# Free Software Foundation, Inc.
8357#
8358# This file is free software; the Free Software Foundation
8359# gives unlimited permission to copy and/or distribute it,
8360# with or without modifications, as long as this notice is preserved.
8361
8362# serial 8
8363
8364# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
8365AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
8366
8367# Do all the work for Automake. -*- Autoconf -*-
8368
8369# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
Patrick Scott5f6bd842010-06-28 16:55:16 -04008370# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008371#
8372# This file is free software; the Free Software Foundation
8373# gives unlimited permission to copy and/or distribute it,
8374# with or without modifications, as long as this notice is preserved.
8375
Patrick Scott5f6bd842010-06-28 16:55:16 -04008376# serial 16
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008377
8378# This macro actually does too much. Some checks are only needed if
8379# your package does certain things. But this isn't really a big deal.
8380
8381# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
8382# AM_INIT_AUTOMAKE([OPTIONS])
8383# -----------------------------------------------
8384# The call with PACKAGE and VERSION arguments is the old style
8385# call (pre autoconf-2.50), which is being phased out. PACKAGE
8386# and VERSION should now be passed to AC_INIT and removed from
8387# the call to AM_INIT_AUTOMAKE.
8388# We support both call styles for the transition. After
8389# the next Automake release, Autoconf can make the AC_INIT
8390# arguments mandatory, and then we can depend on a new Autoconf
8391# release and drop the old call support.
8392AC_DEFUN([AM_INIT_AUTOMAKE],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008393[AC_PREREQ([2.62])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008394dnl Autoconf wants to disallow AM_ names. We explicitly allow
8395dnl the ones we care about.
8396m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
8397AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
8398AC_REQUIRE([AC_PROG_INSTALL])dnl
8399if test "`cd $srcdir && pwd`" != "`pwd`"; then
8400 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
8401 # is not polluted with repeated "-I."
8402 AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
8403 # test to see if srcdir already configured
8404 if test -f $srcdir/config.status; then
8405 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
8406 fi
8407fi
8408
8409# test whether we have cygpath
8410if test -z "$CYGPATH_W"; then
8411 if (cygpath --version) >/dev/null 2>/dev/null; then
8412 CYGPATH_W='cygpath -w'
8413 else
8414 CYGPATH_W=echo
8415 fi
8416fi
8417AC_SUBST([CYGPATH_W])
8418
8419# Define the identity of the package.
8420dnl Distinguish between old-style and new-style calls.
8421m4_ifval([$2],
8422[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
8423 AC_SUBST([PACKAGE], [$1])dnl
8424 AC_SUBST([VERSION], [$2])],
8425[_AM_SET_OPTIONS([$1])dnl
8426dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
8427m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
8428 [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
8429 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
8430 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
8431
8432_AM_IF_OPTION([no-define],,
8433[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
8434 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
8435
8436# Some tools Automake needs.
8437AC_REQUIRE([AM_SANITY_CHECK])dnl
8438AC_REQUIRE([AC_ARG_PROGRAM])dnl
8439AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
8440AM_MISSING_PROG(AUTOCONF, autoconf)
8441AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
8442AM_MISSING_PROG(AUTOHEADER, autoheader)
8443AM_MISSING_PROG(MAKEINFO, makeinfo)
Patrick Scott5f6bd842010-06-28 16:55:16 -04008444AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
8445AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008446AC_REQUIRE([AM_PROG_MKDIR_P])dnl
8447# We need awk for the "check" target. The system "awk" is bad on
8448# some platforms.
8449AC_REQUIRE([AC_PROG_AWK])dnl
8450AC_REQUIRE([AC_PROG_MAKE_SET])dnl
8451AC_REQUIRE([AM_SET_LEADING_DOT])dnl
8452_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008453 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
8454 [_AM_PROG_TAR([v7])])])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008455_AM_IF_OPTION([no-dependencies],,
8456[AC_PROVIDE_IFELSE([AC_PROG_CC],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008457 [_AM_DEPENDENCIES(CC)],
8458 [define([AC_PROG_CC],
8459 defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008460AC_PROVIDE_IFELSE([AC_PROG_CXX],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008461 [_AM_DEPENDENCIES(CXX)],
8462 [define([AC_PROG_CXX],
8463 defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008464AC_PROVIDE_IFELSE([AC_PROG_OBJC],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008465 [_AM_DEPENDENCIES(OBJC)],
8466 [define([AC_PROG_OBJC],
8467 defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008468])
Patrick Scott5f6bd842010-06-28 16:55:16 -04008469_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
8470dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
8471dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
8472dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
8473AC_CONFIG_COMMANDS_PRE(dnl
8474[m4_provide_if([_AM_COMPILER_EXEEXT],
8475 [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008476])
8477
Patrick Scott5f6bd842010-06-28 16:55:16 -04008478dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
8479dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
8480dnl mangled by Autoconf and run in a shell conditional statement.
8481m4_define([_AC_COMPILER_EXEEXT],
8482m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
8483
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008484
8485# When config.status generates a header, we must update the stamp-h file.
8486# This file resides in the same directory as the config header
8487# that is generated. The stamp files are numbered to have different names.
8488
8489# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
8490# loop where config.status creates the headers, so we can generate
8491# our stamp files there.
8492AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
8493[# Compute $1's index in $config_headers.
8494_am_arg=$1
8495_am_stamp_count=1
8496for _am_header in $config_headers :; do
8497 case $_am_header in
8498 $_am_arg | $_am_arg:* )
8499 break ;;
8500 * )
8501 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
8502 esac
8503done
8504echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
8505
Patrick Scott5f6bd842010-06-28 16:55:16 -04008506# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008507#
8508# This file is free software; the Free Software Foundation
8509# gives unlimited permission to copy and/or distribute it,
8510# with or without modifications, as long as this notice is preserved.
8511
8512# AM_PROG_INSTALL_SH
8513# ------------------
8514# Define $install_sh.
8515AC_DEFUN([AM_PROG_INSTALL_SH],
8516[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
Patrick Scott5f6bd842010-06-28 16:55:16 -04008517if test x"${install_sh}" != xset; then
8518 case $am_aux_dir in
8519 *\ * | *\ *)
8520 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
8521 *)
8522 install_sh="\${SHELL} $am_aux_dir/install-sh"
8523 esac
8524fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008525AC_SUBST(install_sh)])
8526
8527# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
8528#
8529# This file is free software; the Free Software Foundation
8530# gives unlimited permission to copy and/or distribute it,
8531# with or without modifications, as long as this notice is preserved.
8532
8533# serial 2
8534
8535# Check whether the underlying file-system supports filenames
8536# with a leading dot. For instance MS-DOS doesn't.
8537AC_DEFUN([AM_SET_LEADING_DOT],
8538[rm -rf .tst 2>/dev/null
8539mkdir .tst 2>/dev/null
8540if test -d .tst; then
8541 am__leading_dot=.
8542else
8543 am__leading_dot=_
8544fi
8545rmdir .tst 2>/dev/null
8546AC_SUBST([am__leading_dot])])
8547
8548# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
8549# From Jim Meyering
8550
Patrick Scott5f6bd842010-06-28 16:55:16 -04008551# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008552# Free Software Foundation, Inc.
8553#
8554# This file is free software; the Free Software Foundation
8555# gives unlimited permission to copy and/or distribute it,
8556# with or without modifications, as long as this notice is preserved.
8557
Patrick Scott5f6bd842010-06-28 16:55:16 -04008558# serial 5
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008559
Patrick Scott5f6bd842010-06-28 16:55:16 -04008560# AM_MAINTAINER_MODE([DEFAULT-MODE])
8561# ----------------------------------
8562# Control maintainer-specific portions of Makefiles.
8563# Default is to disable them, unless `enable' is passed literally.
8564# For symmetry, `disable' may be passed as well. Anyway, the user
8565# can override the default with the --enable/--disable switch.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008566AC_DEFUN([AM_MAINTAINER_MODE],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008567[m4_case(m4_default([$1], [disable]),
8568 [enable], [m4_define([am_maintainer_other], [disable])],
8569 [disable], [m4_define([am_maintainer_other], [enable])],
8570 [m4_define([am_maintainer_other], [enable])
8571 m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
8572AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
8573 dnl maintainer-mode's default is 'disable' unless 'enable' is passed
8574 AC_ARG_ENABLE([maintainer-mode],
8575[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008576 (and sometimes confusing) to the casual installer],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008577 [USE_MAINTAINER_MODE=$enableval],
8578 [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008579 AC_MSG_RESULT([$USE_MAINTAINER_MODE])
Patrick Scott5f6bd842010-06-28 16:55:16 -04008580 AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008581 MAINT=$MAINTAINER_MODE_TRUE
Patrick Scott5f6bd842010-06-28 16:55:16 -04008582 AC_SUBST([MAINT])dnl
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008583]
8584)
8585
8586AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
8587
8588# Check to see how 'make' treats includes. -*- Autoconf -*-
8589
Patrick Scott5f6bd842010-06-28 16:55:16 -04008590# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008591#
8592# This file is free software; the Free Software Foundation
8593# gives unlimited permission to copy and/or distribute it,
8594# with or without modifications, as long as this notice is preserved.
8595
Patrick Scott5f6bd842010-06-28 16:55:16 -04008596# serial 4
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008597
8598# AM_MAKE_INCLUDE()
8599# -----------------
8600# Check to see how make treats includes.
8601AC_DEFUN([AM_MAKE_INCLUDE],
8602[am_make=${MAKE-make}
8603cat > confinc << 'END'
8604am__doit:
Patrick Scott5f6bd842010-06-28 16:55:16 -04008605 @echo this is the am__doit target
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008606.PHONY: am__doit
8607END
8608# If we don't find an include directive, just comment out the code.
8609AC_MSG_CHECKING([for style of include used by $am_make])
8610am__include="#"
8611am__quote=
8612_am_result=none
8613# First try GNU make style include.
8614echo "include confinc" > confmf
Patrick Scott5f6bd842010-06-28 16:55:16 -04008615# Ignore all kinds of additional output from `make'.
8616case `$am_make -s -f confmf 2> /dev/null` in #(
8617*the\ am__doit\ target*)
8618 am__include=include
8619 am__quote=
8620 _am_result=GNU
8621 ;;
8622esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008623# Now try BSD make style include.
8624if test "$am__include" = "#"; then
8625 echo '.include "confinc"' > confmf
Patrick Scott5f6bd842010-06-28 16:55:16 -04008626 case `$am_make -s -f confmf 2> /dev/null` in #(
8627 *the\ am__doit\ target*)
8628 am__include=.include
8629 am__quote="\""
8630 _am_result=BSD
8631 ;;
8632 esac
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008633fi
8634AC_SUBST([am__include])
8635AC_SUBST([am__quote])
8636AC_MSG_RESULT([$_am_result])
8637rm -f confinc confmf
8638])
8639
8640# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
8641
Patrick Scott5f6bd842010-06-28 16:55:16 -04008642# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008643# Free Software Foundation, Inc.
8644#
8645# This file is free software; the Free Software Foundation
8646# gives unlimited permission to copy and/or distribute it,
8647# with or without modifications, as long as this notice is preserved.
8648
Patrick Scott5f6bd842010-06-28 16:55:16 -04008649# serial 6
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008650
8651# AM_MISSING_PROG(NAME, PROGRAM)
8652# ------------------------------
8653AC_DEFUN([AM_MISSING_PROG],
8654[AC_REQUIRE([AM_MISSING_HAS_RUN])
8655$1=${$1-"${am_missing_run}$2"}
8656AC_SUBST($1)])
8657
8658
8659# AM_MISSING_HAS_RUN
8660# ------------------
8661# Define MISSING if not defined so far and test if it supports --run.
8662# If it does, set am_missing_run to use it, otherwise, to nothing.
8663AC_DEFUN([AM_MISSING_HAS_RUN],
8664[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
8665AC_REQUIRE_AUX_FILE([missing])dnl
Patrick Scott5f6bd842010-06-28 16:55:16 -04008666if test x"${MISSING+set}" != xset; then
8667 case $am_aux_dir in
8668 *\ * | *\ *)
8669 MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
8670 *)
8671 MISSING="\${SHELL} $am_aux_dir/missing" ;;
8672 esac
8673fi
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008674# Use eval to expand $SHELL
8675if eval "$MISSING --run true"; then
8676 am_missing_run="$MISSING --run "
8677else
8678 am_missing_run=
8679 AC_MSG_WARN([`missing' script is too old or missing])
8680fi
8681])
8682
8683# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
8684#
8685# This file is free software; the Free Software Foundation
8686# gives unlimited permission to copy and/or distribute it,
8687# with or without modifications, as long as this notice is preserved.
8688
8689# AM_PROG_MKDIR_P
8690# ---------------
8691# Check for `mkdir -p'.
8692AC_DEFUN([AM_PROG_MKDIR_P],
8693[AC_PREREQ([2.60])dnl
8694AC_REQUIRE([AC_PROG_MKDIR_P])dnl
8695dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
8696dnl while keeping a definition of mkdir_p for backward compatibility.
8697dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
8698dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
8699dnl Makefile.ins that do not define MKDIR_P, so we do our own
8700dnl adjustment using top_builddir (which is defined more often than
8701dnl MKDIR_P).
8702AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
8703case $mkdir_p in
8704 [[\\/$]]* | ?:[[\\/]]*) ;;
8705 */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
8706esac
8707])
8708
8709# Helper functions for option handling. -*- Autoconf -*-
8710
Patrick Scott5f6bd842010-06-28 16:55:16 -04008711# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008712#
8713# This file is free software; the Free Software Foundation
8714# gives unlimited permission to copy and/or distribute it,
8715# with or without modifications, as long as this notice is preserved.
8716
Patrick Scott5f6bd842010-06-28 16:55:16 -04008717# serial 4
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008718
8719# _AM_MANGLE_OPTION(NAME)
8720# -----------------------
8721AC_DEFUN([_AM_MANGLE_OPTION],
8722[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
8723
8724# _AM_SET_OPTION(NAME)
8725# ------------------------------
8726# Set option NAME. Presently that only means defining a flag for this option.
8727AC_DEFUN([_AM_SET_OPTION],
8728[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
8729
8730# _AM_SET_OPTIONS(OPTIONS)
8731# ----------------------------------
8732# OPTIONS is a space-separated list of Automake options.
8733AC_DEFUN([_AM_SET_OPTIONS],
Patrick Scott5f6bd842010-06-28 16:55:16 -04008734[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008735
8736# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
8737# -------------------------------------------
8738# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
8739AC_DEFUN([_AM_IF_OPTION],
8740[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
8741
8742# Check to make sure that the build environment is sane. -*- Autoconf -*-
8743
Patrick Scott5f6bd842010-06-28 16:55:16 -04008744# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008745# Free Software Foundation, Inc.
8746#
8747# This file is free software; the Free Software Foundation
8748# gives unlimited permission to copy and/or distribute it,
8749# with or without modifications, as long as this notice is preserved.
8750
Patrick Scott5f6bd842010-06-28 16:55:16 -04008751# serial 5
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008752
8753# AM_SANITY_CHECK
8754# ---------------
8755AC_DEFUN([AM_SANITY_CHECK],
8756[AC_MSG_CHECKING([whether build environment is sane])
8757# Just in case
8758sleep 1
8759echo timestamp > conftest.file
Patrick Scott5f6bd842010-06-28 16:55:16 -04008760# Reject unsafe characters in $srcdir or the absolute working directory
8761# name. Accept space and tab only in the latter.
8762am_lf='
8763'
8764case `pwd` in
8765 *[[\\\"\#\$\&\'\`$am_lf]]*)
8766 AC_MSG_ERROR([unsafe absolute working directory name]);;
8767esac
8768case $srcdir in
8769 *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
8770 AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
8771esac
8772
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008773# Do `set' in a subshell so we don't clobber the current shell's
8774# arguments. Must try -L first in case configure is actually a
8775# symlink; some systems play weird games with the mod time of symlinks
8776# (eg FreeBSD returns the mod time of the symlink's containing
8777# directory).
8778if (
Patrick Scott5f6bd842010-06-28 16:55:16 -04008779 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008780 if test "$[*]" = "X"; then
8781 # -L didn't work.
Patrick Scott5f6bd842010-06-28 16:55:16 -04008782 set X `ls -t "$srcdir/configure" conftest.file`
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008783 fi
8784 rm -f conftest.file
8785 if test "$[*]" != "X $srcdir/configure conftest.file" \
8786 && test "$[*]" != "X conftest.file $srcdir/configure"; then
8787
8788 # If neither matched, then we have a broken ls. This can happen
8789 # if, for instance, CONFIG_SHELL is bash and it inherits a
8790 # broken ls alias from the environment. This has actually
8791 # happened. Such a system could not be considered "sane".
8792 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
8793alias in your environment])
8794 fi
8795
8796 test "$[2]" = conftest.file
8797 )
8798then
8799 # Ok.
8800 :
8801else
8802 AC_MSG_ERROR([newly created file is older than distributed files!
8803Check your system clock])
8804fi
8805AC_MSG_RESULT(yes)])
8806
8807# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
8808#
8809# This file is free software; the Free Software Foundation
8810# gives unlimited permission to copy and/or distribute it,
8811# with or without modifications, as long as this notice is preserved.
8812
8813# AM_PROG_INSTALL_STRIP
8814# ---------------------
8815# One issue with vendor `install' (even GNU) is that you can't
8816# specify the program used to strip binaries. This is especially
8817# annoying in cross-compiling environments, where the build's strip
8818# is unlikely to handle the host's binaries.
8819# Fortunately install-sh will honor a STRIPPROG variable, so we
8820# always use install-sh in `make install-strip', and initialize
8821# STRIPPROG with the value of the STRIP variable (set by the user).
8822AC_DEFUN([AM_PROG_INSTALL_STRIP],
8823[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
8824# Installed binaries are usually stripped using `strip' when the user
8825# run `make install-strip'. However `strip' might not be the right
8826# tool to use in cross-compilation environments, therefore Automake
8827# will honor the `STRIP' environment variable to overrule this program.
8828dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
8829if test "$cross_compiling" != no; then
8830 AC_CHECK_TOOL([STRIP], [strip], :)
8831fi
8832INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
8833AC_SUBST([INSTALL_STRIP_PROGRAM])])
8834
Patrick Scott5f6bd842010-06-28 16:55:16 -04008835# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008836#
8837# This file is free software; the Free Software Foundation
8838# gives unlimited permission to copy and/or distribute it,
8839# with or without modifications, as long as this notice is preserved.
8840
Patrick Scott5f6bd842010-06-28 16:55:16 -04008841# serial 2
8842
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008843# _AM_SUBST_NOTMAKE(VARIABLE)
8844# ---------------------------
8845# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
8846# This macro is traced by Automake.
8847AC_DEFUN([_AM_SUBST_NOTMAKE])
8848
Patrick Scott5f6bd842010-06-28 16:55:16 -04008849# AM_SUBST_NOTMAKE(VARIABLE)
8850# ---------------------------
8851# Public sister of _AM_SUBST_NOTMAKE.
8852AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
8853
The Android Open Source Project4215dd12009-03-09 11:52:12 -07008854# Check how to create a tarball. -*- Autoconf -*-
8855
8856# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
8857#
8858# This file is free software; the Free Software Foundation
8859# gives unlimited permission to copy and/or distribute it,
8860# with or without modifications, as long as this notice is preserved.
8861
8862# serial 2
8863
8864# _AM_PROG_TAR(FORMAT)
8865# --------------------
8866# Check how to create a tarball in format FORMAT.
8867# FORMAT should be one of `v7', `ustar', or `pax'.
8868#
8869# Substitute a variable $(am__tar) that is a command
8870# writing to stdout a FORMAT-tarball containing the directory
8871# $tardir.
8872# tardir=directory && $(am__tar) > result.tar
8873#
8874# Substitute a variable $(am__untar) that extract such
8875# a tarball read from stdin.
8876# $(am__untar) < result.tar
8877AC_DEFUN([_AM_PROG_TAR],
8878[# Always define AMTAR for backward compatibility.
8879AM_MISSING_PROG([AMTAR], [tar])
8880m4_if([$1], [v7],
8881 [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
8882 [m4_case([$1], [ustar],, [pax],,
8883 [m4_fatal([Unknown tar format])])
8884AC_MSG_CHECKING([how to create a $1 tar archive])
8885# Loop over all known methods to create a tar archive until one works.
8886_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
8887_am_tools=${am_cv_prog_tar_$1-$_am_tools}
8888# Do not fold the above two line into one, because Tru64 sh and
8889# Solaris sh will not grok spaces in the rhs of `-'.
8890for _am_tool in $_am_tools
8891do
8892 case $_am_tool in
8893 gnutar)
8894 for _am_tar in tar gnutar gtar;
8895 do
8896 AM_RUN_LOG([$_am_tar --version]) && break
8897 done
8898 am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
8899 am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
8900 am__untar="$_am_tar -xf -"
8901 ;;
8902 plaintar)
8903 # Must skip GNU tar: if it does not support --format= it doesn't create
8904 # ustar tarball either.
8905 (tar --version) >/dev/null 2>&1 && continue
8906 am__tar='tar chf - "$$tardir"'
8907 am__tar_='tar chf - "$tardir"'
8908 am__untar='tar xf -'
8909 ;;
8910 pax)
8911 am__tar='pax -L -x $1 -w "$$tardir"'
8912 am__tar_='pax -L -x $1 -w "$tardir"'
8913 am__untar='pax -r'
8914 ;;
8915 cpio)
8916 am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
8917 am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
8918 am__untar='cpio -i -H $1 -d'
8919 ;;
8920 none)
8921 am__tar=false
8922 am__tar_=false
8923 am__untar=false
8924 ;;
8925 esac
8926
8927 # If the value was cached, stop now. We just wanted to have am__tar
8928 # and am__untar set.
8929 test -n "${am_cv_prog_tar_$1}" && break
8930
8931 # tar/untar a dummy directory, and stop if the command works
8932 rm -rf conftest.dir
8933 mkdir conftest.dir
8934 echo GrepMe > conftest.dir/file
8935 AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
8936 rm -rf conftest.dir
8937 if test -s conftest.tar; then
8938 AM_RUN_LOG([$am__untar <conftest.tar])
8939 grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
8940 fi
8941done
8942rm -rf conftest.dir
8943
8944AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
8945AC_MSG_RESULT([$am_cv_prog_tar_$1])])
8946AC_SUBST([am__tar])
8947AC_SUBST([am__untar])
8948]) # _AM_PROG_TAR
8949