comparison src/portaudio/aclocal.m4 @ 4:e13257ea84a4

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