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