Develop and Download Open Source Software

Browse Subversion Repository

Contents of /tags/tritonn-1.0.12-mysql-5.0.83/aclocal.m4

Parent Directory Parent Directory | Revision Log Revision Log


Revision 177 - (show annotations) (download)
Mon Jul 6 09:38:02 2009 UTC (14 years, 8 months ago) by myuka
File size: 315251 byte(s)
Initial inport
1 # generated automatically by aclocal 1.10.2 -*- Autoconf -*-
2
3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4 # 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
5 # This file is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 m4_ifndef([AC_AUTOCONF_VERSION],
15 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
17 [m4_warning([this file was generated for autoconf 2.63.
18 You have another version of autoconf. It may work, but is not guaranteed to.
19 If you have problems, you may need to regenerate the build system entirely.
20 To do so, use the procedure documented by the package, typically `autoreconf'.])])
21
22 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
23 #
24 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
25 # 2006, 2007, 2008 Free Software Foundation, Inc.
26 # Written by Gordon Matzigkeit, 1996
27 #
28 # This file is free software; the Free Software Foundation gives
29 # unlimited permission to copy and/or distribute it, with or without
30 # modifications, as long as this notice is preserved.
31
32 m4_define([_LT_COPYING], [dnl
33 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
34 # 2006, 2007, 2008 Free Software Foundation, Inc.
35 # Written by Gordon Matzigkeit, 1996
36 #
37 # This file is part of GNU Libtool.
38 #
39 # GNU Libtool is free software; you can redistribute it and/or
40 # modify it under the terms of the GNU General Public License as
41 # published by the Free Software Foundation; either version 2 of
42 # the License, or (at your option) any later version.
43 #
44 # As a special exception to the GNU General Public License,
45 # if you distribute this file as part of a program or library that
46 # is built using GNU Libtool, you may include this file under the
47 # same distribution terms that you use for the rest of that program.
48 #
49 # GNU Libtool is distributed in the hope that it will be useful,
50 # but WITHOUT ANY WARRANTY; without even the implied warranty of
51 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
52 # GNU General Public License for more details.
53 #
54 # You should have received a copy of the GNU General Public License
55 # along with GNU Libtool; see the file COPYING. If not, a copy
56 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
57 # obtained by writing to the Free Software Foundation, Inc.,
58 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
59 ])
60
61 # serial 56 LT_INIT
62
63
64 # LT_PREREQ(VERSION)
65 # ------------------
66 # Complain and exit if this libtool version is less that VERSION.
67 m4_defun([LT_PREREQ],
68 [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
69 [m4_default([$3],
70 [m4_fatal([Libtool version $1 or higher is required],
71 63)])],
72 [$2])])
73
74
75 # _LT_CHECK_BUILDDIR
76 # ------------------
77 # Complain if the absolute build directory name contains unusual characters
78 m4_defun([_LT_CHECK_BUILDDIR],
79 [case `pwd` in
80 *\ * | *\ *)
81 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
82 esac
83 ])
84
85
86 # LT_INIT([OPTIONS])
87 # ------------------
88 AC_DEFUN([LT_INIT],
89 [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
90 AC_BEFORE([$0], [LT_LANG])dnl
91 AC_BEFORE([$0], [LT_OUTPUT])dnl
92 AC_BEFORE([$0], [LTDL_INIT])dnl
93 m4_require([_LT_CHECK_BUILDDIR])dnl
94
95 dnl Autoconf doesn't catch unexpanded LT_ macros by default:
96 m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
97 m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
98 dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
99 dnl unless we require an AC_DEFUNed macro:
100 AC_REQUIRE([LTOPTIONS_VERSION])dnl
101 AC_REQUIRE([LTSUGAR_VERSION])dnl
102 AC_REQUIRE([LTVERSION_VERSION])dnl
103 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
104 m4_require([_LT_PROG_LTMAIN])dnl
105
106 dnl Parse OPTIONS
107 _LT_SET_OPTIONS([$0], [$1])
108
109 # This can be used to rebuild libtool when needed
110 LIBTOOL_DEPS="$ltmain"
111
112 # Always use our own libtool.
113 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
114 AC_SUBST(LIBTOOL)dnl
115
116 _LT_SETUP
117
118 # Only expand once:
119 m4_define([LT_INIT])
120 ])# LT_INIT
121
122 # Old names:
123 AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
124 AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
125 dnl aclocal-1.4 backwards compatibility:
126 dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
127 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
128
129
130 # _LT_CC_BASENAME(CC)
131 # -------------------
132 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
133 m4_defun([_LT_CC_BASENAME],
134 [for cc_temp in $1""; do
135 case $cc_temp in
136 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
137 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
138 \-*) ;;
139 *) break;;
140 esac
141 done
142 cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
143 ])
144
145
146 # _LT_FILEUTILS_DEFAULTS
147 # ----------------------
148 # It is okay to use these file commands and assume they have been set
149 # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
150 m4_defun([_LT_FILEUTILS_DEFAULTS],
151 [: ${CP="cp -f"}
152 : ${MV="mv -f"}
153 : ${RM="rm -f"}
154 ])# _LT_FILEUTILS_DEFAULTS
155
156
157 # _LT_SETUP
158 # ---------
159 m4_defun([_LT_SETUP],
160 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
161 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
162 _LT_DECL([], [host_alias], [0], [The host system])dnl
163 _LT_DECL([], [host], [0])dnl
164 _LT_DECL([], [host_os], [0])dnl
165 dnl
166 _LT_DECL([], [build_alias], [0], [The build system])dnl
167 _LT_DECL([], [build], [0])dnl
168 _LT_DECL([], [build_os], [0])dnl
169 dnl
170 AC_REQUIRE([AC_PROG_CC])dnl
171 AC_REQUIRE([LT_PATH_LD])dnl
172 AC_REQUIRE([LT_PATH_NM])dnl
173 dnl
174 AC_REQUIRE([AC_PROG_LN_S])dnl
175 test -z "$LN_S" && LN_S="ln -s"
176 _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
177 dnl
178 AC_REQUIRE([LT_CMD_MAX_LEN])dnl
179 _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
180 _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
181 dnl
182 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
183 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
184 m4_require([_LT_CMD_RELOAD])dnl
185 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
186 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
187 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
188
189 _LT_CONFIG_LIBTOOL_INIT([
190 # See if we are running on zsh, and set the options which allow our
191 # commands through without removal of \ escapes INIT.
192 if test -n "\${ZSH_VERSION+set}" ; then
193 setopt NO_GLOB_SUBST
194 fi
195 ])
196 if test -n "${ZSH_VERSION+set}" ; then
197 setopt NO_GLOB_SUBST
198 fi
199
200 _LT_CHECK_OBJDIR
201
202 m4_require([_LT_TAG_COMPILER])dnl
203 _LT_PROG_ECHO_BACKSLASH
204
205 case $host_os in
206 aix3*)
207 # AIX sometimes has problems with the GCC collect2 program. For some
208 # reason, if we set the COLLECT_NAMES environment variable, the problems
209 # vanish in a puff of smoke.
210 if test "X${COLLECT_NAMES+set}" != Xset; then
211 COLLECT_NAMES=
212 export COLLECT_NAMES
213 fi
214 ;;
215 esac
216
217 # Sed substitution that helps us do robust quoting. It backslashifies
218 # metacharacters that are still active within double-quoted strings.
219 sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
220
221 # Same as above, but do not quote variable references.
222 double_quote_subst='s/\([["`\\]]\)/\\\1/g'
223
224 # Sed substitution to delay expansion of an escaped shell variable in a
225 # double_quote_subst'ed string.
226 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
227
228 # Sed substitution to delay expansion of an escaped single quote.
229 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
230
231 # Sed substitution to avoid accidental globbing in evaled expressions
232 no_glob_subst='s/\*/\\\*/g'
233
234 # Global variables:
235 ofile=libtool
236 can_build_shared=yes
237
238 # All known linkers require a `.a' archive for static linking (except MSVC,
239 # which needs '.lib').
240 libext=a
241
242 with_gnu_ld="$lt_cv_prog_gnu_ld"
243
244 old_CC="$CC"
245 old_CFLAGS="$CFLAGS"
246
247 # Set sane defaults for various variables
248 test -z "$CC" && CC=cc
249 test -z "$LTCC" && LTCC=$CC
250 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
251 test -z "$LD" && LD=ld
252 test -z "$ac_objext" && ac_objext=o
253
254 _LT_CC_BASENAME([$compiler])
255
256 # Only perform the check for file, if the check method requires it
257 test -z "$MAGIC_CMD" && MAGIC_CMD=file
258 case $deplibs_check_method in
259 file_magic*)
260 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
261 _LT_PATH_MAGIC
262 fi
263 ;;
264 esac
265
266 # Use C for the default configuration in the libtool script
267 LT_SUPPORTED_TAG([CC])
268 _LT_LANG_C_CONFIG
269 _LT_LANG_DEFAULT_CONFIG
270 _LT_CONFIG_COMMANDS
271 ])# _LT_SETUP
272
273
274 # _LT_PROG_LTMAIN
275 # ---------------
276 # Note that this code is called both from `configure', and `config.status'
277 # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
278 # `config.status' has no value for ac_aux_dir unless we are using Automake,
279 # so we pass a copy along to make sure it has a sensible value anyway.
280 m4_defun([_LT_PROG_LTMAIN],
281 [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
282 _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
283 ltmain="$ac_aux_dir/ltmain.sh"
284 ])# _LT_PROG_LTMAIN
285
286
287
288 # So that we can recreate a full libtool script including additional
289 # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
290 # in macros and then make a single call at the end using the `libtool'
291 # label.
292
293
294 # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
295 # ----------------------------------------
296 # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
297 m4_define([_LT_CONFIG_LIBTOOL_INIT],
298 [m4_ifval([$1],
299 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
300 [$1
301 ])])])
302
303 # Initialize.
304 m4_define([_LT_OUTPUT_LIBTOOL_INIT])
305
306
307 # _LT_CONFIG_LIBTOOL([COMMANDS])
308 # ------------------------------
309 # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
310 m4_define([_LT_CONFIG_LIBTOOL],
311 [m4_ifval([$1],
312 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
313 [$1
314 ])])])
315
316 # Initialize.
317 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
318
319
320 # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
321 # -----------------------------------------------------
322 m4_defun([_LT_CONFIG_SAVE_COMMANDS],
323 [_LT_CONFIG_LIBTOOL([$1])
324 _LT_CONFIG_LIBTOOL_INIT([$2])
325 ])
326
327
328 # _LT_FORMAT_COMMENT([COMMENT])
329 # -----------------------------
330 # Add leading comment marks to the start of each line, and a trailing
331 # full-stop to the whole comment if one is not present already.
332 m4_define([_LT_FORMAT_COMMENT],
333 [m4_ifval([$1], [
334 m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
335 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
336 )])
337
338
339
340
341
342 # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
343 # -------------------------------------------------------------------
344 # CONFIGNAME is the name given to the value in the libtool script.
345 # VARNAME is the (base) name used in the configure script.
346 # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
347 # VARNAME. Any other value will be used directly.
348 m4_define([_LT_DECL],
349 [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
350 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
351 [m4_ifval([$1], [$1], [$2])])
352 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
353 m4_ifval([$4],
354 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
355 lt_dict_add_subkey([lt_decl_dict], [$2],
356 [tagged?], [m4_ifval([$5], [yes], [no])])])
357 ])
358
359
360 # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
361 # --------------------------------------------------------
362 m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
363
364
365 # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
366 # ------------------------------------------------
367 m4_define([lt_decl_tag_varnames],
368 [_lt_decl_filter([tagged?], [yes], $@)])
369
370
371 # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
372 # ---------------------------------------------------------
373 m4_define([_lt_decl_filter],
374 [m4_case([$#],
375 [0], [m4_fatal([$0: too few arguments: $#])],
376 [1], [m4_fatal([$0: too few arguments: $#: $1])],
377 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
378 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
379 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
380 ])
381
382
383 # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
384 # --------------------------------------------------
385 m4_define([lt_decl_quote_varnames],
386 [_lt_decl_filter([value], [1], $@)])
387
388
389 # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
390 # ---------------------------------------------------
391 m4_define([lt_decl_dquote_varnames],
392 [_lt_decl_filter([value], [2], $@)])
393
394
395 # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
396 # ---------------------------------------------------
397 m4_define([lt_decl_varnames_tagged],
398 [m4_assert([$# <= 2])dnl
399 _$0(m4_quote(m4_default([$1], [[, ]])),
400 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
401 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
402 m4_define([_lt_decl_varnames_tagged],
403 [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
404
405
406 # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
407 # ------------------------------------------------
408 m4_define([lt_decl_all_varnames],
409 [_$0(m4_quote(m4_default([$1], [[, ]])),
410 m4_if([$2], [],
411 m4_quote(lt_decl_varnames),
412 m4_quote(m4_shift($@))))[]dnl
413 ])
414 m4_define([_lt_decl_all_varnames],
415 [lt_join($@, lt_decl_varnames_tagged([$1],
416 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
417 ])
418
419
420 # _LT_CONFIG_STATUS_DECLARE([VARNAME])
421 # ------------------------------------
422 # Quote a variable value, and forward it to `config.status' so that its
423 # declaration there will have the same value as in `configure'. VARNAME
424 # must have a single quote delimited value for this to work.
425 m4_define([_LT_CONFIG_STATUS_DECLARE],
426 [$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
427
428
429 # _LT_CONFIG_STATUS_DECLARATIONS
430 # ------------------------------
431 # We delimit libtool config variables with single quotes, so when
432 # we write them to config.status, we have to be sure to quote all
433 # embedded single quotes properly. In configure, this macro expands
434 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
435 #
436 # <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
437 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
438 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
439 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
440
441
442 # _LT_LIBTOOL_TAGS
443 # ----------------
444 # Output comment and list of tags supported by the script
445 m4_defun([_LT_LIBTOOL_TAGS],
446 [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
447 available_tags="_LT_TAGS"dnl
448 ])
449
450
451 # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
452 # -----------------------------------
453 # Extract the dictionary values for VARNAME (optionally with TAG) and
454 # expand to a commented shell variable setting:
455 #
456 # # Some comment about what VAR is for.
457 # visible_name=$lt_internal_name
458 m4_define([_LT_LIBTOOL_DECLARE],
459 [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
460 [description])))[]dnl
461 m4_pushdef([_libtool_name],
462 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
463 m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
464 [0], [_libtool_name=[$]$1],
465 [1], [_libtool_name=$lt_[]$1],
466 [2], [_libtool_name=$lt_[]$1],
467 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
468 m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
469 ])
470
471
472 # _LT_LIBTOOL_CONFIG_VARS
473 # -----------------------
474 # Produce commented declarations of non-tagged libtool config variables
475 # suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
476 # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
477 # section) are produced by _LT_LIBTOOL_TAG_VARS.
478 m4_defun([_LT_LIBTOOL_CONFIG_VARS],
479 [m4_foreach([_lt_var],
480 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
481 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
482
483
484 # _LT_LIBTOOL_TAG_VARS(TAG)
485 # -------------------------
486 m4_define([_LT_LIBTOOL_TAG_VARS],
487 [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
488 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
489
490
491 # _LT_TAGVAR(VARNAME, [TAGNAME])
492 # ------------------------------
493 m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
494
495
496 # _LT_CONFIG_COMMANDS
497 # -------------------
498 # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
499 # variables for single and double quote escaping we saved from calls
500 # to _LT_DECL, we can put quote escaped variables declarations
501 # into `config.status', and then the shell code to quote escape them in
502 # for loops in `config.status'. Finally, any additional code accumulated
503 # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
504 m4_defun([_LT_CONFIG_COMMANDS],
505 [AC_PROVIDE_IFELSE([LT_OUTPUT],
506 dnl If the libtool generation code has been placed in $CONFIG_LT,
507 dnl instead of duplicating it all over again into config.status,
508 dnl then we will have config.status run $CONFIG_LT later, so it
509 dnl needs to know what name is stored there:
510 [AC_CONFIG_COMMANDS([libtool],
511 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
512 dnl If the libtool generation code is destined for config.status,
513 dnl expand the accumulated commands and init code now:
514 [AC_CONFIG_COMMANDS([libtool],
515 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
516 ])#_LT_CONFIG_COMMANDS
517
518
519 # Initialize.
520 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
521 [
522
523 # The HP-UX ksh and POSIX shell print the target directory to stdout
524 # if CDPATH is set.
525 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
526
527 sed_quote_subst='$sed_quote_subst'
528 double_quote_subst='$double_quote_subst'
529 delay_variable_subst='$delay_variable_subst'
530 _LT_CONFIG_STATUS_DECLARATIONS
531 LTCC='$LTCC'
532 LTCFLAGS='$LTCFLAGS'
533 compiler='$compiler_DEFAULT'
534
535 # Quote evaled strings.
536 for var in lt_decl_all_varnames([[ \
537 ]], lt_decl_quote_varnames); do
538 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
539 *[[\\\\\\\`\\"\\\$]]*)
540 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
541 ;;
542 *)
543 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
544 ;;
545 esac
546 done
547
548 # Double-quote double-evaled strings.
549 for var in lt_decl_all_varnames([[ \
550 ]], lt_decl_dquote_varnames); do
551 case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
552 *[[\\\\\\\`\\"\\\$]]*)
553 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
554 ;;
555 *)
556 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
557 ;;
558 esac
559 done
560
561 # Fix-up fallback echo if it was mangled by the above quoting rules.
562 case \$lt_ECHO in
563 *'\\\[$]0 --fallback-echo"')dnl "
564 lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
565 ;;
566 esac
567
568 _LT_OUTPUT_LIBTOOL_INIT
569 ])
570
571
572 # LT_OUTPUT
573 # ---------
574 # This macro allows early generation of the libtool script (before
575 # AC_OUTPUT is called), incase it is used in configure for compilation
576 # tests.
577 AC_DEFUN([LT_OUTPUT],
578 [: ${CONFIG_LT=./config.lt}
579 AC_MSG_NOTICE([creating $CONFIG_LT])
580 cat >"$CONFIG_LT" <<_LTEOF
581 #! $SHELL
582 # Generated by $as_me.
583 # Run this file to recreate a libtool stub with the current configuration.
584
585 lt_cl_silent=false
586 SHELL=\${CONFIG_SHELL-$SHELL}
587 _LTEOF
588
589 cat >>"$CONFIG_LT" <<\_LTEOF
590 AS_SHELL_SANITIZE
591 _AS_PREPARE
592
593 exec AS_MESSAGE_FD>&1
594 exec AS_MESSAGE_LOG_FD>>config.log
595 {
596 echo
597 AS_BOX([Running $as_me.])
598 } >&AS_MESSAGE_LOG_FD
599
600 lt_cl_help="\
601 \`$as_me' creates a local libtool stub from the current configuration,
602 for use in further configure time tests before the real libtool is
603 generated.
604
605 Usage: $[0] [[OPTIONS]]
606
607 -h, --help print this help, then exit
608 -V, --version print version number, then exit
609 -q, --quiet do not print progress messages
610 -d, --debug don't remove temporary files
611
612 Report bugs to <bug-libtool@gnu.org>."
613
614 lt_cl_version="\
615 m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
616 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
617 configured by $[0], generated by m4_PACKAGE_STRING.
618
619 Copyright (C) 2008 Free Software Foundation, Inc.
620 This config.lt script is free software; the Free Software Foundation
621 gives unlimited permision to copy, distribute and modify it."
622
623 while test $[#] != 0
624 do
625 case $[1] in
626 --version | --v* | -V )
627 echo "$lt_cl_version"; exit 0 ;;
628 --help | --h* | -h )
629 echo "$lt_cl_help"; exit 0 ;;
630 --debug | --d* | -d )
631 debug=: ;;
632 --quiet | --q* | --silent | --s* | -q )
633 lt_cl_silent=: ;;
634
635 -*) AC_MSG_ERROR([unrecognized option: $[1]
636 Try \`$[0] --help' for more information.]) ;;
637
638 *) AC_MSG_ERROR([unrecognized argument: $[1]
639 Try \`$[0] --help' for more information.]) ;;
640 esac
641 shift
642 done
643
644 if $lt_cl_silent; then
645 exec AS_MESSAGE_FD>/dev/null
646 fi
647 _LTEOF
648
649 cat >>"$CONFIG_LT" <<_LTEOF
650 _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
651 _LTEOF
652
653 cat >>"$CONFIG_LT" <<\_LTEOF
654 AC_MSG_NOTICE([creating $ofile])
655 _LT_OUTPUT_LIBTOOL_COMMANDS
656 AS_EXIT(0)
657 _LTEOF
658 chmod +x "$CONFIG_LT"
659
660 # configure is writing to config.log, but config.lt does its own redirection,
661 # appending to config.log, which fails on DOS, as config.log is still kept
662 # open by configure. Here we exec the FD to /dev/null, effectively closing
663 # config.log, so it can be properly (re)opened and appended to by config.lt.
664 if test "$no_create" != yes; then
665 lt_cl_success=:
666 test "$silent" = yes &&
667 lt_config_lt_args="$lt_config_lt_args --quiet"
668 exec AS_MESSAGE_LOG_FD>/dev/null
669 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
670 exec AS_MESSAGE_LOG_FD>>config.log
671 $lt_cl_success || AS_EXIT(1)
672 fi
673 ])# LT_OUTPUT
674
675
676 # _LT_CONFIG(TAG)
677 # ---------------
678 # If TAG is the built-in tag, create an initial libtool script with a
679 # default configuration from the untagged config vars. Otherwise add code
680 # to config.status for appending the configuration named by TAG from the
681 # matching tagged config vars.
682 m4_defun([_LT_CONFIG],
683 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
684 _LT_CONFIG_SAVE_COMMANDS([
685 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
686 m4_if(_LT_TAG, [C], [
687 # See if we are running on zsh, and set the options which allow our
688 # commands through without removal of \ escapes.
689 if test -n "${ZSH_VERSION+set}" ; then
690 setopt NO_GLOB_SUBST
691 fi
692
693 cfgfile="${ofile}T"
694 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
695 $RM "$cfgfile"
696
697 cat <<_LT_EOF >> "$cfgfile"
698 #! $SHELL
699
700 # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
701 # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
702 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
703 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
704 #
705 _LT_COPYING
706 _LT_LIBTOOL_TAGS
707
708 # ### BEGIN LIBTOOL CONFIG
709 _LT_LIBTOOL_CONFIG_VARS
710 _LT_LIBTOOL_TAG_VARS
711 # ### END LIBTOOL CONFIG
712
713 _LT_EOF
714
715 case $host_os in
716 aix3*)
717 cat <<\_LT_EOF >> "$cfgfile"
718 # AIX sometimes has problems with the GCC collect2 program. For some
719 # reason, if we set the COLLECT_NAMES environment variable, the problems
720 # vanish in a puff of smoke.
721 if test "X${COLLECT_NAMES+set}" != Xset; then
722 COLLECT_NAMES=
723 export COLLECT_NAMES
724 fi
725 _LT_EOF
726 ;;
727 esac
728
729 _LT_PROG_LTMAIN
730
731 # We use sed instead of cat because bash on DJGPP gets confused if
732 # if finds mixed CR/LF and LF-only lines. Since sed operates in
733 # text mode, it properly converts lines to CR/LF. This bash problem
734 # is reportedly fixed, but why not run on old versions too?
735 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
736 || (rm -f "$cfgfile"; exit 1)
737
738 _LT_PROG_XSI_SHELLFNS
739
740 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
741 || (rm -f "$cfgfile"; exit 1)
742
743 mv -f "$cfgfile" "$ofile" ||
744 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
745 chmod +x "$ofile"
746 ],
747 [cat <<_LT_EOF >> "$ofile"
748
749 dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
750 dnl in a comment (ie after a #).
751 # ### BEGIN LIBTOOL TAG CONFIG: $1
752 _LT_LIBTOOL_TAG_VARS(_LT_TAG)
753 # ### END LIBTOOL TAG CONFIG: $1
754 _LT_EOF
755 ])dnl /m4_if
756 ],
757 [m4_if([$1], [], [
758 PACKAGE='$PACKAGE'
759 VERSION='$VERSION'
760 TIMESTAMP='$TIMESTAMP'
761 RM='$RM'
762 ofile='$ofile'], [])
763 ])dnl /_LT_CONFIG_SAVE_COMMANDS
764 ])# _LT_CONFIG
765
766
767 # LT_SUPPORTED_TAG(TAG)
768 # ---------------------
769 # Trace this macro to discover what tags are supported by the libtool
770 # --tag option, using:
771 # autoconf --trace 'LT_SUPPORTED_TAG:$1'
772 AC_DEFUN([LT_SUPPORTED_TAG], [])
773
774
775 # C support is built-in for now
776 m4_define([_LT_LANG_C_enabled], [])
777 m4_define([_LT_TAGS], [])
778
779
780 # LT_LANG(LANG)
781 # -------------
782 # Enable libtool support for the given language if not already enabled.
783 AC_DEFUN([LT_LANG],
784 [AC_BEFORE([$0], [LT_OUTPUT])dnl
785 m4_case([$1],
786 [C], [_LT_LANG(C)],
787 [C++], [_LT_LANG(CXX)],
788 [Java], [_LT_LANG(GCJ)],
789 [Fortran 77], [_LT_LANG(F77)],
790 [Fortran], [_LT_LANG(FC)],
791 [Windows Resource], [_LT_LANG(RC)],
792 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
793 [_LT_LANG($1)],
794 [m4_fatal([$0: unsupported language: "$1"])])])dnl
795 ])# LT_LANG
796
797
798 # _LT_LANG(LANGNAME)
799 # ------------------
800 m4_defun([_LT_LANG],
801 [m4_ifdef([_LT_LANG_]$1[_enabled], [],
802 [LT_SUPPORTED_TAG([$1])dnl
803 m4_append([_LT_TAGS], [$1 ])dnl
804 m4_define([_LT_LANG_]$1[_enabled], [])dnl
805 _LT_LANG_$1_CONFIG($1)])dnl
806 ])# _LT_LANG
807
808
809 # _LT_LANG_DEFAULT_CONFIG
810 # -----------------------
811 m4_defun([_LT_LANG_DEFAULT_CONFIG],
812 [AC_PROVIDE_IFELSE([AC_PROG_CXX],
813 [LT_LANG(CXX)],
814 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
815
816 AC_PROVIDE_IFELSE([AC_PROG_F77],
817 [LT_LANG(F77)],
818 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
819
820 AC_PROVIDE_IFELSE([AC_PROG_FC],
821 [LT_LANG(FC)],
822 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
823
824 dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
825 dnl pulling things in needlessly.
826 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
827 [LT_LANG(GCJ)],
828 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
829 [LT_LANG(GCJ)],
830 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
831 [LT_LANG(GCJ)],
832 [m4_ifdef([AC_PROG_GCJ],
833 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
834 m4_ifdef([A][M_PROG_GCJ],
835 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
836 m4_ifdef([LT_PROG_GCJ],
837 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
838
839 AC_PROVIDE_IFELSE([LT_PROG_RC],
840 [LT_LANG(RC)],
841 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
842 ])# _LT_LANG_DEFAULT_CONFIG
843
844 # Obsolete macros:
845 AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
846 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
847 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
848 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
849 dnl aclocal-1.4 backwards compatibility:
850 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
851 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
852 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
853 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
854
855
856 # _LT_TAG_COMPILER
857 # ----------------
858 m4_defun([_LT_TAG_COMPILER],
859 [AC_REQUIRE([AC_PROG_CC])dnl
860
861 _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
862 _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
863 _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
864 _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
865
866 # If no C compiler was specified, use CC.
867 LTCC=${LTCC-"$CC"}
868
869 # If no C compiler flags were specified, use CFLAGS.
870 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
871
872 # Allow CC to be a program name with arguments.
873 compiler=$CC
874 ])# _LT_TAG_COMPILER
875
876
877 # _LT_COMPILER_BOILERPLATE
878 # ------------------------
879 # Check for compiler boilerplate output or warnings with
880 # the simple compiler test code.
881 m4_defun([_LT_COMPILER_BOILERPLATE],
882 [m4_require([_LT_DECL_SED])dnl
883 ac_outfile=conftest.$ac_objext
884 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
885 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
886 _lt_compiler_boilerplate=`cat conftest.err`
887 $RM conftest*
888 ])# _LT_COMPILER_BOILERPLATE
889
890
891 # _LT_LINKER_BOILERPLATE
892 # ----------------------
893 # Check for linker boilerplate output or warnings with
894 # the simple link test code.
895 m4_defun([_LT_LINKER_BOILERPLATE],
896 [m4_require([_LT_DECL_SED])dnl
897 ac_outfile=conftest.$ac_objext
898 echo "$lt_simple_link_test_code" >conftest.$ac_ext
899 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
900 _lt_linker_boilerplate=`cat conftest.err`
901 $RM -r conftest*
902 ])# _LT_LINKER_BOILERPLATE
903
904 # _LT_REQUIRED_DARWIN_CHECKS
905 # -------------------------
906 m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
907 case $host_os in
908 rhapsody* | darwin*)
909 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
910 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
911 AC_CHECK_TOOL([LIPO], [lipo], [:])
912 AC_CHECK_TOOL([OTOOL], [otool], [:])
913 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
914 _LT_DECL([], [DSYMUTIL], [1],
915 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
916 _LT_DECL([], [NMEDIT], [1],
917 [Tool to change global to local symbols on Mac OS X])
918 _LT_DECL([], [LIPO], [1],
919 [Tool to manipulate fat objects and archives on Mac OS X])
920 _LT_DECL([], [OTOOL], [1],
921 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
922 _LT_DECL([], [OTOOL64], [1],
923 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
924
925 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
926 [lt_cv_apple_cc_single_mod=no
927 if test -z "${LT_MULTI_MODULE}"; then
928 # By default we will add the -single_module flag. You can override
929 # by either setting the environment variable LT_MULTI_MODULE
930 # non-empty at configure time, or by adding -multi_module to the
931 # link flags.
932 rm -rf libconftest.dylib*
933 echo "int foo(void){return 1;}" > conftest.c
934 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
935 -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
936 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
937 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
938 _lt_result=$?
939 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
940 lt_cv_apple_cc_single_mod=yes
941 else
942 cat conftest.err >&AS_MESSAGE_LOG_FD
943 fi
944 rm -rf libconftest.dylib*
945 rm -f conftest.*
946 fi])
947 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
948 [lt_cv_ld_exported_symbols_list],
949 [lt_cv_ld_exported_symbols_list=no
950 save_LDFLAGS=$LDFLAGS
951 echo "_main" > conftest.sym
952 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
953 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
954 [lt_cv_ld_exported_symbols_list=yes],
955 [lt_cv_ld_exported_symbols_list=no])
956 LDFLAGS="$save_LDFLAGS"
957 ])
958 case $host_os in
959 rhapsody* | darwin1.[[012]])
960 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
961 darwin1.*)
962 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
963 darwin*) # darwin 5.x on
964 # if running on 10.5 or later, the deployment target defaults
965 # to the OS version, if on x86, and 10.4, the deployment
966 # target defaults to 10.4. Don't you love it?
967 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
968 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
969 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
970 10.[[012]]*)
971 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
972 10.*)
973 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
974 esac
975 ;;
976 esac
977 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
978 _lt_dar_single_mod='$single_module'
979 fi
980 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
981 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
982 else
983 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
984 fi
985 if test "$DSYMUTIL" != ":"; then
986 _lt_dsymutil='~$DSYMUTIL $lib || :'
987 else
988 _lt_dsymutil=
989 fi
990 ;;
991 esac
992 ])
993
994
995 # _LT_DARWIN_LINKER_FEATURES
996 # --------------------------
997 # Checks for linker and compiler features on darwin
998 m4_defun([_LT_DARWIN_LINKER_FEATURES],
999 [
1000 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1001 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1002 _LT_TAGVAR(hardcode_direct, $1)=no
1003 _LT_TAGVAR(hardcode_automatic, $1)=yes
1004 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1005 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1006 _LT_TAGVAR(link_all_deplibs, $1)=yes
1007 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1008 case $cc_basename in
1009 ifort*) _lt_dar_can_shared=yes ;;
1010 *) _lt_dar_can_shared=$GCC ;;
1011 esac
1012 if test "$_lt_dar_can_shared" = "yes"; then
1013 output_verbose_link_cmd=echo
1014 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
1015 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1016 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
1017 _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
1018 m4_if([$1], [CXX],
1019 [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1020 _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
1021 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
1022 fi
1023 ],[])
1024 else
1025 _LT_TAGVAR(ld_shlibs, $1)=no
1026 fi
1027 ])
1028
1029 # _LT_SYS_MODULE_PATH_AIX
1030 # -----------------------
1031 # Links a minimal program and checks the executable
1032 # for the system default hardcoded library path. In most cases,
1033 # this is /usr/lib:/lib, but when the MPI compilers are used
1034 # the location of the communication and MPI libs are included too.
1035 # If we don't find anything, use the default library path according
1036 # to the aix ld manual.
1037 m4_defun([_LT_SYS_MODULE_PATH_AIX],
1038 [m4_require([_LT_DECL_SED])dnl
1039 AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1040 lt_aix_libpath_sed='
1041 /Import File Strings/,/^$/ {
1042 /^0/ {
1043 s/^0 *\(.*\)$/\1/
1044 p
1045 }
1046 }'
1047 aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1048 # Check for a 64-bit object if we didn't find anything.
1049 if test -z "$aix_libpath"; then
1050 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1051 fi],[])
1052 if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1053 ])# _LT_SYS_MODULE_PATH_AIX
1054
1055
1056 # _LT_SHELL_INIT(ARG)
1057 # -------------------
1058 m4_define([_LT_SHELL_INIT],
1059 [ifdef([AC_DIVERSION_NOTICE],
1060 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1061 [AC_DIVERT_PUSH(NOTICE)])
1062 $1
1063 AC_DIVERT_POP
1064 ])# _LT_SHELL_INIT
1065
1066
1067 # _LT_PROG_ECHO_BACKSLASH
1068 # -----------------------
1069 # Add some code to the start of the generated configure script which
1070 # will find an echo command which doesn't interpret backslashes.
1071 m4_defun([_LT_PROG_ECHO_BACKSLASH],
1072 [_LT_SHELL_INIT([
1073 # Check that we are running under the correct shell.
1074 SHELL=${CONFIG_SHELL-/bin/sh}
1075
1076 case X$lt_ECHO in
1077 X*--fallback-echo)
1078 # Remove one level of quotation (which was required for Make).
1079 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1080 ;;
1081 esac
1082
1083 ECHO=${lt_ECHO-echo}
1084 if test "X[$]1" = X--no-reexec; then
1085 # Discard the --no-reexec flag, and continue.
1086 shift
1087 elif test "X[$]1" = X--fallback-echo; then
1088 # Avoid inline document here, it may be left over
1089 :
1090 elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1091 # Yippee, $ECHO works!
1092 :
1093 else
1094 # Restart under the correct shell.
1095 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1096 fi
1097
1098 if test "X[$]1" = X--fallback-echo; then
1099 # used as fallback echo
1100 shift
1101 cat <<_LT_EOF
1102 [$]*
1103 _LT_EOF
1104 exit 0
1105 fi
1106
1107 # The HP-UX ksh and POSIX shell print the target directory to stdout
1108 # if CDPATH is set.
1109 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1110
1111 if test -z "$lt_ECHO"; then
1112 if test "X${echo_test_string+set}" != Xset; then
1113 # find a string as large as possible, as long as the shell can cope with it
1114 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1115 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1116 if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1117 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1118 then
1119 break
1120 fi
1121 done
1122 fi
1123
1124 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1125 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1126 test "X$echo_testing_string" = "X$echo_test_string"; then
1127 :
1128 else
1129 # The Solaris, AIX, and Digital Unix default echo programs unquote
1130 # backslashes. This makes it impossible to quote backslashes using
1131 # echo "$something" | sed 's/\\/\\\\/g'
1132 #
1133 # So, first we look for a working echo in the user's PATH.
1134
1135 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1136 for dir in $PATH /usr/ucb; do
1137 IFS="$lt_save_ifs"
1138 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1139 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1140 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1141 test "X$echo_testing_string" = "X$echo_test_string"; then
1142 ECHO="$dir/echo"
1143 break
1144 fi
1145 done
1146 IFS="$lt_save_ifs"
1147
1148 if test "X$ECHO" = Xecho; then
1149 # We didn't find a better echo, so look for alternatives.
1150 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1151 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1152 test "X$echo_testing_string" = "X$echo_test_string"; then
1153 # This shell has a builtin print -r that does the trick.
1154 ECHO='print -r'
1155 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1156 test "X$CONFIG_SHELL" != X/bin/ksh; then
1157 # If we have ksh, try running configure again with it.
1158 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1159 export ORIGINAL_CONFIG_SHELL
1160 CONFIG_SHELL=/bin/ksh
1161 export CONFIG_SHELL
1162 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1163 else
1164 # Try using printf.
1165 ECHO='printf %s\n'
1166 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1167 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1168 test "X$echo_testing_string" = "X$echo_test_string"; then
1169 # Cool, printf works
1170 :
1171 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1172 test "X$echo_testing_string" = 'X\t' &&
1173 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1174 test "X$echo_testing_string" = "X$echo_test_string"; then
1175 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1176 export CONFIG_SHELL
1177 SHELL="$CONFIG_SHELL"
1178 export SHELL
1179 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1180 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1181 test "X$echo_testing_string" = 'X\t' &&
1182 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1183 test "X$echo_testing_string" = "X$echo_test_string"; then
1184 ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1185 else
1186 # maybe with a smaller string...
1187 prev=:
1188
1189 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1190 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1191 then
1192 break
1193 fi
1194 prev="$cmd"
1195 done
1196
1197 if test "$prev" != 'sed 50q "[$]0"'; then
1198 echo_test_string=`eval $prev`
1199 export echo_test_string
1200 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1201 else
1202 # Oops. We lost completely, so just stick with echo.
1203 ECHO=echo
1204 fi
1205 fi
1206 fi
1207 fi
1208 fi
1209 fi
1210
1211 # Copy echo and quote the copy suitably for passing to libtool from
1212 # the Makefile, instead of quoting the original, which is used later.
1213 lt_ECHO=$ECHO
1214 if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1215 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1216 fi
1217
1218 AC_SUBST(lt_ECHO)
1219 ])
1220 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1221 _LT_DECL([], [ECHO], [1],
1222 [An echo program that does not interpret backslashes])
1223 ])# _LT_PROG_ECHO_BACKSLASH
1224
1225
1226 # _LT_ENABLE_LOCK
1227 # ---------------
1228 m4_defun([_LT_ENABLE_LOCK],
1229 [AC_ARG_ENABLE([libtool-lock],
1230 [AS_HELP_STRING([--disable-libtool-lock],
1231 [avoid locking (might break parallel builds)])])
1232 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1233
1234 # Some flags need to be propagated to the compiler or linker for good
1235 # libtool support.
1236 case $host in
1237 ia64-*-hpux*)
1238 # Find out which ABI we are using.
1239 echo 'int i;' > conftest.$ac_ext
1240 if AC_TRY_EVAL(ac_compile); then
1241 case `/usr/bin/file conftest.$ac_objext` in
1242 *ELF-32*)
1243 HPUX_IA64_MODE="32"
1244 ;;
1245 *ELF-64*)
1246 HPUX_IA64_MODE="64"
1247 ;;
1248 esac
1249 fi
1250 rm -rf conftest*
1251 ;;
1252 *-*-irix6*)
1253 # Find out which ABI we are using.
1254 echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1255 if AC_TRY_EVAL(ac_compile); then
1256 if test "$lt_cv_prog_gnu_ld" = yes; then
1257 case `/usr/bin/file conftest.$ac_objext` in
1258 *32-bit*)
1259 LD="${LD-ld} -melf32bsmip"
1260 ;;
1261 *N32*)
1262 LD="${LD-ld} -melf32bmipn32"
1263 ;;
1264 *64-bit*)
1265 LD="${LD-ld} -melf64bmip"
1266 ;;
1267 esac
1268 else
1269 case `/usr/bin/file conftest.$ac_objext` in
1270 *32-bit*)
1271 LD="${LD-ld} -32"
1272 ;;
1273 *N32*)
1274 LD="${LD-ld} -n32"
1275 ;;
1276 *64-bit*)
1277 LD="${LD-ld} -64"
1278 ;;
1279 esac
1280 fi
1281 fi
1282 rm -rf conftest*
1283 ;;
1284
1285 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1286 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1287 # Find out which ABI we are using.
1288 echo 'int i;' > conftest.$ac_ext
1289 if AC_TRY_EVAL(ac_compile); then
1290 case `/usr/bin/file conftest.o` in
1291 *32-bit*)
1292 case $host in
1293 x86_64-*kfreebsd*-gnu)
1294 LD="${LD-ld} -m elf_i386_fbsd"
1295 ;;
1296 x86_64-*linux*)
1297 LD="${LD-ld} -m elf_i386"
1298 ;;
1299 ppc64-*linux*|powerpc64-*linux*)
1300 LD="${LD-ld} -m elf32ppclinux"
1301 ;;
1302 s390x-*linux*)
1303 LD="${LD-ld} -m elf_s390"
1304 ;;
1305 sparc64-*linux*)
1306 LD="${LD-ld} -m elf32_sparc"
1307 ;;
1308 esac
1309 ;;
1310 *64-bit*)
1311 case $host in
1312 x86_64-*kfreebsd*-gnu)
1313 LD="${LD-ld} -m elf_x86_64_fbsd"
1314 ;;
1315 x86_64-*linux*)
1316 LD="${LD-ld} -m elf_x86_64"
1317 ;;
1318 ppc*-*linux*|powerpc*-*linux*)
1319 LD="${LD-ld} -m elf64ppc"
1320 ;;
1321 s390*-*linux*|s390*-*tpf*)
1322 LD="${LD-ld} -m elf64_s390"
1323 ;;
1324 sparc*-*linux*)
1325 LD="${LD-ld} -m elf64_sparc"
1326 ;;
1327 esac
1328 ;;
1329 esac
1330 fi
1331 rm -rf conftest*
1332 ;;
1333
1334 *-*-sco3.2v5*)
1335 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1336 SAVE_CFLAGS="$CFLAGS"
1337 CFLAGS="$CFLAGS -belf"
1338 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1339 [AC_LANG_PUSH(C)
1340 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1341 AC_LANG_POP])
1342 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1343 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1344 CFLAGS="$SAVE_CFLAGS"
1345 fi
1346 ;;
1347 sparc*-*solaris*)
1348 # Find out which ABI we are using.
1349 echo 'int i;' > conftest.$ac_ext
1350 if AC_TRY_EVAL(ac_compile); then
1351 case `/usr/bin/file conftest.o` in
1352 *64-bit*)
1353 case $lt_cv_prog_gnu_ld in
1354 yes*) LD="${LD-ld} -m elf64_sparc" ;;
1355 *)
1356 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1357 LD="${LD-ld} -64"
1358 fi
1359 ;;
1360 esac
1361 ;;
1362 esac
1363 fi
1364 rm -rf conftest*
1365 ;;
1366 esac
1367
1368 need_locks="$enable_libtool_lock"
1369 ])# _LT_ENABLE_LOCK
1370
1371
1372 # _LT_CMD_OLD_ARCHIVE
1373 # -------------------
1374 m4_defun([_LT_CMD_OLD_ARCHIVE],
1375 [AC_CHECK_TOOL(AR, ar, false)
1376 test -z "$AR" && AR=ar
1377 test -z "$AR_FLAGS" && AR_FLAGS=cru
1378 _LT_DECL([], [AR], [1], [The archiver])
1379 _LT_DECL([], [AR_FLAGS], [1])
1380
1381 AC_CHECK_TOOL(STRIP, strip, :)
1382 test -z "$STRIP" && STRIP=:
1383 _LT_DECL([], [STRIP], [1], [A symbol stripping program])
1384
1385 AC_CHECK_TOOL(RANLIB, ranlib, :)
1386 test -z "$RANLIB" && RANLIB=:
1387 _LT_DECL([], [RANLIB], [1],
1388 [Commands used to install an old-style archive])
1389
1390 # Determine commands to create old-style static archives.
1391 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1392 old_postinstall_cmds='chmod 644 $oldlib'
1393 old_postuninstall_cmds=
1394
1395 if test -n "$RANLIB"; then
1396 case $host_os in
1397 openbsd*)
1398 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1399 ;;
1400 *)
1401 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1402 ;;
1403 esac
1404 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1405 fi
1406 _LT_DECL([], [old_postinstall_cmds], [2])
1407 _LT_DECL([], [old_postuninstall_cmds], [2])
1408 _LT_TAGDECL([], [old_archive_cmds], [2],
1409 [Commands used to build an old-style archive])
1410 ])# _LT_CMD_OLD_ARCHIVE
1411
1412
1413 # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1414 # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1415 # ----------------------------------------------------------------
1416 # Check whether the given compiler option works
1417 AC_DEFUN([_LT_COMPILER_OPTION],
1418 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1419 m4_require([_LT_DECL_SED])dnl
1420 AC_CACHE_CHECK([$1], [$2],
1421 [$2=no
1422 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1423 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1424 lt_compiler_flag="$3"
1425 # Insert the option either (1) after the last *FLAGS variable, or
1426 # (2) before a word containing "conftest.", or (3) at the end.
1427 # Note that $ac_compile itself does not contain backslashes and begins
1428 # with a dollar sign (not a hyphen), so the echo should work correctly.
1429 # The option is referenced via a variable to avoid confusing sed.
1430 lt_compile=`echo "$ac_compile" | $SED \
1431 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1432 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1433 -e 's:$: $lt_compiler_flag:'`
1434 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1435 (eval "$lt_compile" 2>conftest.err)
1436 ac_status=$?
1437 cat conftest.err >&AS_MESSAGE_LOG_FD
1438 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1439 if (exit $ac_status) && test -s "$ac_outfile"; then
1440 # The compiler can only warn and ignore the option if not recognized
1441 # So say no if there are warnings other than the usual output.
1442 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
1443 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1444 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1445 $2=yes
1446 fi
1447 fi
1448 $RM conftest*
1449 ])
1450
1451 if test x"[$]$2" = xyes; then
1452 m4_if([$5], , :, [$5])
1453 else
1454 m4_if([$6], , :, [$6])
1455 fi
1456 ])# _LT_COMPILER_OPTION
1457
1458 # Old name:
1459 AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1460 dnl aclocal-1.4 backwards compatibility:
1461 dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1462
1463
1464 # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1465 # [ACTION-SUCCESS], [ACTION-FAILURE])
1466 # ----------------------------------------------------
1467 # Check whether the given linker option works
1468 AC_DEFUN([_LT_LINKER_OPTION],
1469 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1470 m4_require([_LT_DECL_SED])dnl
1471 AC_CACHE_CHECK([$1], [$2],
1472 [$2=no
1473 save_LDFLAGS="$LDFLAGS"
1474 LDFLAGS="$LDFLAGS $3"
1475 echo "$lt_simple_link_test_code" > conftest.$ac_ext
1476 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1477 # The linker can only warn and ignore the option if not recognized
1478 # So say no if there are warnings
1479 if test -s conftest.err; then
1480 # Append any errors to the config.log.
1481 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1482 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
1483 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1484 if diff conftest.exp conftest.er2 >/dev/null; then
1485 $2=yes
1486 fi
1487 else
1488 $2=yes
1489 fi
1490 fi
1491 $RM -r conftest*
1492 LDFLAGS="$save_LDFLAGS"
1493 ])
1494
1495 if test x"[$]$2" = xyes; then
1496 m4_if([$4], , :, [$4])
1497 else
1498 m4_if([$5], , :, [$5])
1499 fi
1500 ])# _LT_LINKER_OPTION
1501
1502 # Old name:
1503 AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1504 dnl aclocal-1.4 backwards compatibility:
1505 dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1506
1507
1508 # LT_CMD_MAX_LEN
1509 #---------------
1510 AC_DEFUN([LT_CMD_MAX_LEN],
1511 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1512 # find the maximum length of command line arguments
1513 AC_MSG_CHECKING([the maximum length of command line arguments])
1514 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1515 i=0
1516 teststring="ABCD"
1517
1518 case $build_os in
1519 msdosdjgpp*)
1520 # On DJGPP, this test can blow up pretty badly due to problems in libc
1521 # (any single argument exceeding 2000 bytes causes a buffer overrun
1522 # during glob expansion). Even if it were fixed, the result of this
1523 # check would be larger than it should be.
1524 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1525 ;;
1526
1527 gnu*)
1528 # Under GNU Hurd, this test is not required because there is
1529 # no limit to the length of command line arguments.
1530 # Libtool will interpret -1 as no limit whatsoever
1531 lt_cv_sys_max_cmd_len=-1;
1532 ;;
1533
1534 cygwin* | mingw* | cegcc*)
1535 # On Win9x/ME, this test blows up -- it succeeds, but takes
1536 # about 5 minutes as the teststring grows exponentially.
1537 # Worse, since 9x/ME are not pre-emptively multitasking,
1538 # you end up with a "frozen" computer, even though with patience
1539 # the test eventually succeeds (with a max line length of 256k).
1540 # Instead, let's just punt: use the minimum linelength reported by
1541 # all of the supported platforms: 8192 (on NT/2K/XP).
1542 lt_cv_sys_max_cmd_len=8192;
1543 ;;
1544
1545 amigaos*)
1546 # On AmigaOS with pdksh, this test takes hours, literally.
1547 # So we just punt and use a minimum line length of 8192.
1548 lt_cv_sys_max_cmd_len=8192;
1549 ;;
1550
1551 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1552 # This has been around since 386BSD, at least. Likely further.
1553 if test -x /sbin/sysctl; then
1554 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1555 elif test -x /usr/sbin/sysctl; then
1556 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1557 else
1558 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1559 fi
1560 # And add a safety zone
1561 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1562 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1563 ;;
1564
1565 interix*)
1566 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1567 lt_cv_sys_max_cmd_len=196608
1568 ;;
1569
1570 osf*)
1571 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1572 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1573 # nice to cause kernel panics so lets avoid the loop below.
1574 # First set a reasonable default.
1575 lt_cv_sys_max_cmd_len=16384
1576 #
1577 if test -x /sbin/sysconfig; then
1578 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1579 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1580 esac
1581 fi
1582 ;;
1583 sco3.2v5*)
1584 lt_cv_sys_max_cmd_len=102400
1585 ;;
1586 sysv5* | sco5v6* | sysv4.2uw2*)
1587 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1588 if test -n "$kargmax"; then
1589 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1590 else
1591 lt_cv_sys_max_cmd_len=32768
1592 fi
1593 ;;
1594 *)
1595 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1596 if test -n "$lt_cv_sys_max_cmd_len"; then
1597 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1598 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1599 else
1600 # Make teststring a little bigger before we do anything with it.
1601 # a 1K string should be a reasonable start.
1602 for i in 1 2 3 4 5 6 7 8 ; do
1603 teststring=$teststring$teststring
1604 done
1605 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1606 # If test is not a shell built-in, we'll probably end up computing a
1607 # maximum length that is only half of the actual maximum length, but
1608 # we can't tell.
1609 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1610 = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
1611 test $i != 17 # 1/2 MB should be enough
1612 do
1613 i=`expr $i + 1`
1614 teststring=$teststring$teststring
1615 done
1616 # Only check the string length outside the loop.
1617 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1618 teststring=
1619 # Add a significant safety factor because C++ compilers can tack on
1620 # massive amounts of additional arguments before passing them to the
1621 # linker. It appears as though 1/2 is a usable value.
1622 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1623 fi
1624 ;;
1625 esac
1626 ])
1627 if test -n $lt_cv_sys_max_cmd_len ; then
1628 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1629 else
1630 AC_MSG_RESULT(none)
1631 fi
1632 max_cmd_len=$lt_cv_sys_max_cmd_len
1633 _LT_DECL([], [max_cmd_len], [0],
1634 [What is the maximum length of a command?])
1635 ])# LT_CMD_MAX_LEN
1636
1637 # Old name:
1638 AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1639 dnl aclocal-1.4 backwards compatibility:
1640 dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1641
1642
1643 # _LT_HEADER_DLFCN
1644 # ----------------
1645 m4_defun([_LT_HEADER_DLFCN],
1646 [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1647 ])# _LT_HEADER_DLFCN
1648
1649
1650 # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1651 # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1652 # ----------------------------------------------------------------
1653 m4_defun([_LT_TRY_DLOPEN_SELF],
1654 [m4_require([_LT_HEADER_DLFCN])dnl
1655 if test "$cross_compiling" = yes; then :
1656 [$4]
1657 else
1658 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1659 lt_status=$lt_dlunknown
1660 cat > conftest.$ac_ext <<_LT_EOF
1661 [#line __oline__ "configure"
1662 #include "confdefs.h"
1663
1664 #if HAVE_DLFCN_H
1665 #include <dlfcn.h>
1666 #endif
1667
1668 #include <stdio.h>
1669
1670 #ifdef RTLD_GLOBAL
1671 # define LT_DLGLOBAL RTLD_GLOBAL
1672 #else
1673 # ifdef DL_GLOBAL
1674 # define LT_DLGLOBAL DL_GLOBAL
1675 # else
1676 # define LT_DLGLOBAL 0
1677 # endif
1678 #endif
1679
1680 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1681 find out it does not work in some platform. */
1682 #ifndef LT_DLLAZY_OR_NOW
1683 # ifdef RTLD_LAZY
1684 # define LT_DLLAZY_OR_NOW RTLD_LAZY
1685 # else
1686 # ifdef DL_LAZY
1687 # define LT_DLLAZY_OR_NOW DL_LAZY
1688 # else
1689 # ifdef RTLD_NOW
1690 # define LT_DLLAZY_OR_NOW RTLD_NOW
1691 # else
1692 # ifdef DL_NOW
1693 # define LT_DLLAZY_OR_NOW DL_NOW
1694 # else
1695 # define LT_DLLAZY_OR_NOW 0
1696 # endif
1697 # endif
1698 # endif
1699 # endif
1700 #endif
1701
1702 void fnord() { int i=42;}
1703 int main ()
1704 {
1705 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1706 int status = $lt_dlunknown;
1707
1708 if (self)
1709 {
1710 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1711 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1712 /* dlclose (self); */
1713 }
1714 else
1715 puts (dlerror ());
1716
1717 return status;
1718 }]
1719 _LT_EOF
1720 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1721 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1722 lt_status=$?
1723 case x$lt_status in
1724 x$lt_dlno_uscore) $1 ;;
1725 x$lt_dlneed_uscore) $2 ;;
1726 x$lt_dlunknown|x*) $3 ;;
1727 esac
1728 else :
1729 # compilation failed
1730 $3
1731 fi
1732 fi
1733 rm -fr conftest*
1734 ])# _LT_TRY_DLOPEN_SELF
1735
1736
1737 # LT_SYS_DLOPEN_SELF
1738 # ------------------
1739 AC_DEFUN([LT_SYS_DLOPEN_SELF],
1740 [m4_require([_LT_HEADER_DLFCN])dnl
1741 if test "x$enable_dlopen" != xyes; then
1742 enable_dlopen=unknown
1743 enable_dlopen_self=unknown
1744 enable_dlopen_self_static=unknown
1745 else
1746 lt_cv_dlopen=no
1747 lt_cv_dlopen_libs=
1748
1749 case $host_os in
1750 beos*)
1751 lt_cv_dlopen="load_add_on"
1752 lt_cv_dlopen_libs=
1753 lt_cv_dlopen_self=yes
1754 ;;
1755
1756 mingw* | pw32* | cegcc*)
1757 lt_cv_dlopen="LoadLibrary"
1758 lt_cv_dlopen_libs=
1759 ;;
1760
1761 cygwin*)
1762 lt_cv_dlopen="dlopen"
1763 lt_cv_dlopen_libs=
1764 ;;
1765
1766 darwin*)
1767 # if libdl is installed we need to link against it
1768 AC_CHECK_LIB([dl], [dlopen],
1769 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1770 lt_cv_dlopen="dyld"
1771 lt_cv_dlopen_libs=
1772 lt_cv_dlopen_self=yes
1773 ])
1774 ;;
1775
1776 *)
1777 AC_CHECK_FUNC([shl_load],
1778 [lt_cv_dlopen="shl_load"],
1779 [AC_CHECK_LIB([dld], [shl_load],
1780 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1781 [AC_CHECK_FUNC([dlopen],
1782 [lt_cv_dlopen="dlopen"],
1783 [AC_CHECK_LIB([dl], [dlopen],
1784 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1785 [AC_CHECK_LIB([svld], [dlopen],
1786 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1787 [AC_CHECK_LIB([dld], [dld_link],
1788 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1789 ])
1790 ])
1791 ])
1792 ])
1793 ])
1794 ;;
1795 esac
1796
1797 if test "x$lt_cv_dlopen" != xno; then
1798 enable_dlopen=yes
1799 else
1800 enable_dlopen=no
1801 fi
1802
1803 case $lt_cv_dlopen in
1804 dlopen)
1805 save_CPPFLAGS="$CPPFLAGS"
1806 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1807
1808 save_LDFLAGS="$LDFLAGS"
1809 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1810
1811 save_LIBS="$LIBS"
1812 LIBS="$lt_cv_dlopen_libs $LIBS"
1813
1814 AC_CACHE_CHECK([whether a program can dlopen itself],
1815 lt_cv_dlopen_self, [dnl
1816 _LT_TRY_DLOPEN_SELF(
1817 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1818 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1819 ])
1820
1821 if test "x$lt_cv_dlopen_self" = xyes; then
1822 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1823 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1824 lt_cv_dlopen_self_static, [dnl
1825 _LT_TRY_DLOPEN_SELF(
1826 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1827 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1828 ])
1829 fi
1830
1831 CPPFLAGS="$save_CPPFLAGS"
1832 LDFLAGS="$save_LDFLAGS"
1833 LIBS="$save_LIBS"
1834 ;;
1835 esac
1836
1837 case $lt_cv_dlopen_self in
1838 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1839 *) enable_dlopen_self=unknown ;;
1840 esac
1841
1842 case $lt_cv_dlopen_self_static in
1843 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1844 *) enable_dlopen_self_static=unknown ;;
1845 esac
1846 fi
1847 _LT_DECL([dlopen_support], [enable_dlopen], [0],
1848 [Whether dlopen is supported])
1849 _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1850 [Whether dlopen of programs is supported])
1851 _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1852 [Whether dlopen of statically linked programs is supported])
1853 ])# LT_SYS_DLOPEN_SELF
1854
1855 # Old name:
1856 AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1857 dnl aclocal-1.4 backwards compatibility:
1858 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1859
1860
1861 # _LT_COMPILER_C_O([TAGNAME])
1862 # ---------------------------
1863 # Check to see if options -c and -o are simultaneously supported by compiler.
1864 # This macro does not hard code the compiler like AC_PROG_CC_C_O.
1865 m4_defun([_LT_COMPILER_C_O],
1866 [m4_require([_LT_DECL_SED])dnl
1867 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1868 m4_require([_LT_TAG_COMPILER])dnl
1869 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1870 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1871 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1872 $RM -r conftest 2>/dev/null
1873 mkdir conftest
1874 cd conftest
1875 mkdir out
1876 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1877
1878 lt_compiler_flag="-o out/conftest2.$ac_objext"
1879 # Insert the option either (1) after the last *FLAGS variable, or
1880 # (2) before a word containing "conftest.", or (3) at the end.
1881 # Note that $ac_compile itself does not contain backslashes and begins
1882 # with a dollar sign (not a hyphen), so the echo should work correctly.
1883 lt_compile=`echo "$ac_compile" | $SED \
1884 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1885 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1886 -e 's:$: $lt_compiler_flag:'`
1887 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1888 (eval "$lt_compile" 2>out/conftest.err)
1889 ac_status=$?
1890 cat out/conftest.err >&AS_MESSAGE_LOG_FD
1891 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1892 if (exit $ac_status) && test -s out/conftest2.$ac_objext
1893 then
1894 # The compiler can only warn and ignore the option if not recognized
1895 # So say no if there are warnings
1896 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
1897 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1898 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1899 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
1900 fi
1901 fi
1902 chmod u+w . 2>&AS_MESSAGE_LOG_FD
1903 $RM conftest*
1904 # SGI C++ compiler will create directory out/ii_files/ for
1905 # template instantiation
1906 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1907 $RM out/* && rmdir out
1908 cd ..
1909 $RM -r conftest
1910 $RM conftest*
1911 ])
1912 _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1913 [Does compiler simultaneously support -c and -o options?])
1914 ])# _LT_COMPILER_C_O
1915
1916
1917 # _LT_COMPILER_FILE_LOCKS([TAGNAME])
1918 # ----------------------------------
1919 # Check to see if we can do hard links to lock some files if needed
1920 m4_defun([_LT_COMPILER_FILE_LOCKS],
1921 [m4_require([_LT_ENABLE_LOCK])dnl
1922 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1923 _LT_COMPILER_C_O([$1])
1924
1925 hard_links="nottested"
1926 if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
1927 # do not overwrite the value of need_locks provided by the user
1928 AC_MSG_CHECKING([if we can lock with hard links])
1929 hard_links=yes
1930 $RM conftest*
1931 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1932 touch conftest.a
1933 ln conftest.a conftest.b 2>&5 || hard_links=no
1934 ln conftest.a conftest.b 2>/dev/null && hard_links=no
1935 AC_MSG_RESULT([$hard_links])
1936 if test "$hard_links" = no; then
1937 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1938 need_locks=warn
1939 fi
1940 else
1941 need_locks=no
1942 fi
1943 _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1944 ])# _LT_COMPILER_FILE_LOCKS
1945
1946
1947 # _LT_CHECK_OBJDIR
1948 # ----------------
1949 m4_defun([_LT_CHECK_OBJDIR],
1950 [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1951 [rm -f .libs 2>/dev/null
1952 mkdir .libs 2>/dev/null
1953 if test -d .libs; then
1954 lt_cv_objdir=.libs
1955 else
1956 # MS-DOS does not allow filenames that begin with a dot.
1957 lt_cv_objdir=_libs
1958 fi
1959 rmdir .libs 2>/dev/null])
1960 objdir=$lt_cv_objdir
1961 _LT_DECL([], [objdir], [0],
1962 [The name of the directory that contains temporary libtool files])dnl
1963 m4_pattern_allow([LT_OBJDIR])dnl
1964 AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1965 [Define to the sub-directory in which libtool stores uninstalled libraries.])
1966 ])# _LT_CHECK_OBJDIR
1967
1968
1969 # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
1970 # --------------------------------------
1971 # Check hardcoding attributes.
1972 m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
1973 [AC_MSG_CHECKING([how to hardcode library paths into programs])
1974 _LT_TAGVAR(hardcode_action, $1)=
1975 if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
1976 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
1977 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
1978
1979 # We can hardcode non-existent directories.
1980 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
1981 # If the only mechanism to avoid hardcoding is shlibpath_var, we
1982 # have to relink, otherwise we might link with an installed library
1983 # when we should be linking with a yet-to-be-installed one
1984 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1985 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
1986 # Linking always hardcodes the temporary library directory.
1987 _LT_TAGVAR(hardcode_action, $1)=relink
1988 else
1989 # We can link without hardcoding, and we can hardcode nonexisting dirs.
1990 _LT_TAGVAR(hardcode_action, $1)=immediate
1991 fi
1992 else
1993 # We cannot hardcode anything, or else we can only hardcode existing
1994 # directories.
1995 _LT_TAGVAR(hardcode_action, $1)=unsupported
1996 fi
1997 AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
1998
1999 if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2000 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2001 # Fast installation is not supported
2002 enable_fast_install=no
2003 elif test "$shlibpath_overrides_runpath" = yes ||
2004 test "$enable_shared" = no; then
2005 # Fast installation is not necessary
2006 enable_fast_install=needless
2007 fi
2008 _LT_TAGDECL([], [hardcode_action], [0],
2009 [How to hardcode a shared library path into an executable])
2010 ])# _LT_LINKER_HARDCODE_LIBPATH
2011
2012
2013 # _LT_CMD_STRIPLIB
2014 # ----------------
2015 m4_defun([_LT_CMD_STRIPLIB],
2016 [m4_require([_LT_DECL_EGREP])
2017 striplib=
2018 old_striplib=
2019 AC_MSG_CHECKING([whether stripping libraries is possible])
2020 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2021 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2022 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2023 AC_MSG_RESULT([yes])
2024 else
2025 # FIXME - insert some real tests, host_os isn't really good enough
2026 case $host_os in
2027 darwin*)
2028 if test -n "$STRIP" ; then
2029 striplib="$STRIP -x"
2030 old_striplib="$STRIP -S"
2031 AC_MSG_RESULT([yes])
2032 else
2033 AC_MSG_RESULT([no])
2034 fi
2035 ;;
2036 *)
2037 AC_MSG_RESULT([no])
2038 ;;
2039 esac
2040 fi
2041 _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2042 _LT_DECL([], [striplib], [1])
2043 ])# _LT_CMD_STRIPLIB
2044
2045
2046 # _LT_SYS_DYNAMIC_LINKER([TAG])
2047 # -----------------------------
2048 # PORTME Fill in your ld.so characteristics
2049 m4_defun([_LT_SYS_DYNAMIC_LINKER],
2050 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2051 m4_require([_LT_DECL_EGREP])dnl
2052 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2053 m4_require([_LT_DECL_OBJDUMP])dnl
2054 m4_require([_LT_DECL_SED])dnl
2055 AC_MSG_CHECKING([dynamic linker characteristics])
2056 m4_if([$1],
2057 [], [
2058 if test "$GCC" = yes; then
2059 case $host_os in
2060 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2061 *) lt_awk_arg="/^libraries:/" ;;
2062 esac
2063 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2064 if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
2065 # if the path contains ";" then we assume it to be the separator
2066 # otherwise default to the standard path separator (i.e. ":") - it is
2067 # assumed that no part of a normal pathname contains ";" but that should
2068 # okay in the real world where ";" in dirpaths is itself problematic.
2069 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2070 else
2071 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2072 fi
2073 # Ok, now we have the path, separated by spaces, we can step through it
2074 # and add multilib dir if necessary.
2075 lt_tmp_lt_search_path_spec=
2076 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2077 for lt_sys_path in $lt_search_path_spec; do
2078 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2079 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2080 else
2081 test -d "$lt_sys_path" && \
2082 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2083 fi
2084 done
2085 lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
2086 BEGIN {RS=" "; FS="/|\n";} {
2087 lt_foo="";
2088 lt_count=0;
2089 for (lt_i = NF; lt_i > 0; lt_i--) {
2090 if ($lt_i != "" && $lt_i != ".") {
2091 if ($lt_i == "..") {
2092 lt_count++;
2093 } else {
2094 if (lt_count == 0) {
2095 lt_foo="/" $lt_i lt_foo;
2096 } else {
2097 lt_count--;
2098 }
2099 }
2100 }
2101 }
2102 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2103 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2104 }'`
2105 sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
2106 else
2107 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2108 fi])
2109 library_names_spec=
2110 libname_spec='lib$name'
2111 soname_spec=
2112 shrext_cmds=".so"
2113 postinstall_cmds=
2114 postuninstall_cmds=
2115 finish_cmds=
2116 finish_eval=
2117 shlibpath_var=
2118 shlibpath_overrides_runpath=unknown
2119 version_type=none
2120 dynamic_linker="$host_os ld.so"
2121 sys_lib_dlsearch_path_spec="/lib /usr/lib"
2122 need_lib_prefix=unknown
2123 hardcode_into_libs=no
2124
2125 # when you set need_version to no, make sure it does not cause -set_version
2126 # flags to be left without arguments
2127 need_version=unknown
2128
2129 case $host_os in
2130 aix3*)
2131 version_type=linux
2132 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2133 shlibpath_var=LIBPATH
2134
2135 # AIX 3 has no versioning support, so we append a major version to the name.
2136 soname_spec='${libname}${release}${shared_ext}$major'
2137 ;;
2138
2139 aix[[4-9]]*)
2140 version_type=linux
2141 need_lib_prefix=no
2142 need_version=no
2143 hardcode_into_libs=yes
2144 if test "$host_cpu" = ia64; then
2145 # AIX 5 supports IA64
2146 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2147 shlibpath_var=LD_LIBRARY_PATH
2148 else
2149 # With GCC up to 2.95.x, collect2 would create an import file
2150 # for dependence libraries. The import file would start with
2151 # the line `#! .'. This would cause the generated library to
2152 # depend on `.', always an invalid library. This was fixed in
2153 # development snapshots of GCC prior to 3.0.
2154 case $host_os in
2155 aix4 | aix4.[[01]] | aix4.[[01]].*)
2156 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2157 echo ' yes '
2158 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2159 :
2160 else
2161 can_build_shared=no
2162 fi
2163 ;;
2164 esac
2165 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2166 # soname into executable. Probably we can add versioning support to
2167 # collect2, so additional links can be useful in future.
2168 if test "$aix_use_runtimelinking" = yes; then
2169 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2170 # instead of lib<name>.a to let people know that these are not
2171 # typical AIX shared libraries.
2172 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2173 else
2174 # We preserve .a as extension for shared libraries through AIX4.2
2175 # and later when we are not doing run time linking.
2176 library_names_spec='${libname}${release}.a $libname.a'
2177 soname_spec='${libname}${release}${shared_ext}$major'
2178 fi
2179 shlibpath_var=LIBPATH
2180 fi
2181 ;;
2182
2183 amigaos*)
2184 case $host_cpu in
2185 powerpc)
2186 # Since July 2007 AmigaOS4 officially supports .so libraries.
2187 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2188 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2189 ;;
2190 m68k)
2191 library_names_spec='$libname.ixlibrary $libname.a'
2192 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2193 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2194 ;;
2195 esac
2196 ;;
2197
2198 beos*)
2199 library_names_spec='${libname}${shared_ext}'
2200 dynamic_linker="$host_os ld.so"
2201 shlibpath_var=LIBRARY_PATH
2202 ;;
2203
2204 bsdi[[45]]*)
2205 version_type=linux
2206 need_version=no
2207 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2208 soname_spec='${libname}${release}${shared_ext}$major'
2209 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2210 shlibpath_var=LD_LIBRARY_PATH
2211 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2212 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2213 # the default ld.so.conf also contains /usr/contrib/lib and
2214 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2215 # libtool to hard-code these into programs
2216 ;;
2217
2218 cygwin* | mingw* | pw32* | cegcc*)
2219 version_type=windows
2220 shrext_cmds=".dll"
2221 need_version=no
2222 need_lib_prefix=no
2223
2224 case $GCC,$host_os in
2225 yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
2226 library_names_spec='$libname.dll.a'
2227 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2228 postinstall_cmds='base_file=`basename \${file}`~
2229 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2230 dldir=$destdir/`dirname \$dlpath`~
2231 test -d \$dldir || mkdir -p \$dldir~
2232 $install_prog $dir/$dlname \$dldir/$dlname~
2233 chmod a+x \$dldir/$dlname~
2234 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2235 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2236 fi'
2237 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2238 dlpath=$dir/\$dldll~
2239 $RM \$dlpath'
2240 shlibpath_overrides_runpath=yes
2241
2242 case $host_os in
2243 cygwin*)
2244 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2245 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2246 sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2247 ;;
2248 mingw* | cegcc*)
2249 # MinGW DLLs use traditional 'lib' prefix
2250 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2251 sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2252 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2253 # It is most probably a Windows format PATH printed by
2254 # mingw gcc, but we are running on Cygwin. Gcc prints its search
2255 # path with ; separators, and with drive letters. We can handle the
2256 # drive letters (cygwin fileutils understands them), so leave them,
2257 # especially as we might pass files found there to a mingw objdump,
2258 # which wouldn't understand a cygwinified path. Ahh.
2259 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2260 else
2261 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2262 fi
2263 ;;
2264 pw32*)
2265 # pw32 DLLs use 'pw' prefix rather than 'lib'
2266 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2267 ;;
2268 esac
2269 ;;
2270
2271 *)
2272 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2273 ;;
2274 esac
2275 dynamic_linker='Win32 ld.exe'
2276 # FIXME: first we should search . and the directory the executable is in
2277 shlibpath_var=PATH
2278 ;;
2279
2280 darwin* | rhapsody*)
2281 dynamic_linker="$host_os dyld"
2282 version_type=darwin
2283 need_lib_prefix=no
2284 need_version=no
2285 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2286 soname_spec='${libname}${release}${major}$shared_ext'
2287 shlibpath_overrides_runpath=yes
2288 shlibpath_var=DYLD_LIBRARY_PATH
2289 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2290 m4_if([$1], [],[
2291 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2292 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2293 ;;
2294
2295 dgux*)
2296 version_type=linux
2297 need_lib_prefix=no
2298 need_version=no
2299 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2300 soname_spec='${libname}${release}${shared_ext}$major'
2301 shlibpath_var=LD_LIBRARY_PATH
2302 ;;
2303
2304 freebsd1*)
2305 dynamic_linker=no
2306 ;;
2307
2308 freebsd* | dragonfly*)
2309 # DragonFly does not have aout. When/if they implement a new
2310 # versioning mechanism, adjust this.
2311 if test -x /usr/bin/objformat; then
2312 objformat=`/usr/bin/objformat`
2313 else
2314 case $host_os in
2315 freebsd[[123]]*) objformat=aout ;;
2316 *) objformat=elf ;;
2317 esac
2318 fi
2319 version_type=freebsd-$objformat
2320 case $version_type in
2321 freebsd-elf*)
2322 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2323 need_version=no
2324 need_lib_prefix=no
2325 ;;
2326 freebsd-*)
2327 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2328 need_version=yes
2329 ;;
2330 esac
2331 shlibpath_var=LD_LIBRARY_PATH
2332 case $host_os in
2333 freebsd2*)
2334 shlibpath_overrides_runpath=yes
2335 ;;
2336 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2337 shlibpath_overrides_runpath=yes
2338 hardcode_into_libs=yes
2339 ;;
2340 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2341 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2342 shlibpath_overrides_runpath=no
2343 hardcode_into_libs=yes
2344 ;;
2345 *) # from 4.6 on, and DragonFly
2346 shlibpath_overrides_runpath=yes
2347 hardcode_into_libs=yes
2348 ;;
2349 esac
2350 ;;
2351
2352 gnu*)
2353 version_type=linux
2354 need_lib_prefix=no
2355 need_version=no
2356 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2357 soname_spec='${libname}${release}${shared_ext}$major'
2358 shlibpath_var=LD_LIBRARY_PATH
2359 hardcode_into_libs=yes
2360 ;;
2361
2362 hpux9* | hpux10* | hpux11*)
2363 # Give a soname corresponding to the major version so that dld.sl refuses to
2364 # link against other versions.
2365 version_type=sunos
2366 need_lib_prefix=no
2367 need_version=no
2368 case $host_cpu in
2369 ia64*)
2370 shrext_cmds='.so'
2371 hardcode_into_libs=yes
2372 dynamic_linker="$host_os dld.so"
2373 shlibpath_var=LD_LIBRARY_PATH
2374 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2375 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2376 soname_spec='${libname}${release}${shared_ext}$major'
2377 if test "X$HPUX_IA64_MODE" = X32; then
2378 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2379 else
2380 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2381 fi
2382 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2383 ;;
2384 hppa*64*)
2385 shrext_cmds='.sl'
2386 hardcode_into_libs=yes
2387 dynamic_linker="$host_os dld.sl"
2388 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2389 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2390 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2391 soname_spec='${libname}${release}${shared_ext}$major'
2392 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2393 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2394 ;;
2395 *)
2396 shrext_cmds='.sl'
2397 dynamic_linker="$host_os dld.sl"
2398 shlibpath_var=SHLIB_PATH
2399 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2400 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2401 soname_spec='${libname}${release}${shared_ext}$major'
2402 ;;
2403 esac
2404 # HP-UX runs *really* slowly unless shared libraries are mode 555.
2405 postinstall_cmds='chmod 555 $lib'
2406 ;;
2407
2408 interix[[3-9]]*)
2409 version_type=linux
2410 need_lib_prefix=no
2411 need_version=no
2412 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2413 soname_spec='${libname}${release}${shared_ext}$major'
2414 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2415 shlibpath_var=LD_LIBRARY_PATH
2416 shlibpath_overrides_runpath=no
2417 hardcode_into_libs=yes
2418 ;;
2419
2420 irix5* | irix6* | nonstopux*)
2421 case $host_os in
2422 nonstopux*) version_type=nonstopux ;;
2423 *)
2424 if test "$lt_cv_prog_gnu_ld" = yes; then
2425 version_type=linux
2426 else
2427 version_type=irix
2428 fi ;;
2429 esac
2430 need_lib_prefix=no
2431 need_version=no
2432 soname_spec='${libname}${release}${shared_ext}$major'
2433 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2434 case $host_os in
2435 irix5* | nonstopux*)
2436 libsuff= shlibsuff=
2437 ;;
2438 *)
2439 case $LD in # libtool.m4 will add one of these switches to LD
2440 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2441 libsuff= shlibsuff= libmagic=32-bit;;
2442 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2443 libsuff=32 shlibsuff=N32 libmagic=N32;;
2444 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2445 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2446 *) libsuff= shlibsuff= libmagic=never-match;;
2447 esac
2448 ;;
2449 esac
2450 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2451 shlibpath_overrides_runpath=no
2452 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2453 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2454 hardcode_into_libs=yes
2455 ;;
2456
2457 # No shared lib support for Linux oldld, aout, or coff.
2458 linux*oldld* | linux*aout* | linux*coff*)
2459 dynamic_linker=no
2460 ;;
2461
2462 # This must be Linux ELF.
2463 linux* | k*bsd*-gnu)
2464 version_type=linux
2465 need_lib_prefix=no
2466 need_version=no
2467 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2468 soname_spec='${libname}${release}${shared_ext}$major'
2469 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2470 shlibpath_var=LD_LIBRARY_PATH
2471 shlibpath_overrides_runpath=no
2472 # Some binutils ld are patched to set DT_RUNPATH
2473 save_LDFLAGS=$LDFLAGS
2474 save_libdir=$libdir
2475 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2476 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2477 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2478 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2479 [shlibpath_overrides_runpath=yes])])
2480 LDFLAGS=$save_LDFLAGS
2481 libdir=$save_libdir
2482
2483 # This implies no fast_install, which is unacceptable.
2484 # Some rework will be needed to allow for fast_install
2485 # before this can be enabled.
2486 hardcode_into_libs=yes
2487
2488 # Append ld.so.conf contents to the search path
2489 if test -f /etc/ld.so.conf; then
2490 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
2491 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2492 fi
2493
2494 # We used to test for /lib/ld.so.1 and disable shared libraries on
2495 # powerpc, because MkLinux only supported shared libraries with the
2496 # GNU dynamic linker. Since this was broken with cross compilers,
2497 # most powerpc-linux boxes support dynamic linking these days and
2498 # people can always --disable-shared, the test was removed, and we
2499 # assume the GNU/Linux dynamic linker is in use.
2500 dynamic_linker='GNU/Linux ld.so'
2501 ;;
2502
2503 netbsd*)
2504 version_type=sunos
2505 need_lib_prefix=no
2506 need_version=no
2507 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2508 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2509 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2510 dynamic_linker='NetBSD (a.out) ld.so'
2511 else
2512 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2513 soname_spec='${libname}${release}${shared_ext}$major'
2514 dynamic_linker='NetBSD ld.elf_so'
2515 fi
2516 shlibpath_var=LD_LIBRARY_PATH
2517 shlibpath_overrides_runpath=yes
2518 hardcode_into_libs=yes
2519 ;;
2520
2521 newsos6)
2522 version_type=linux
2523 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2524 shlibpath_var=LD_LIBRARY_PATH
2525 shlibpath_overrides_runpath=yes
2526 ;;
2527
2528 *nto* | *qnx*)
2529 version_type=qnx
2530 need_lib_prefix=no
2531 need_version=no
2532 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2533 soname_spec='${libname}${release}${shared_ext}$major'
2534 shlibpath_var=LD_LIBRARY_PATH
2535 shlibpath_overrides_runpath=no
2536 hardcode_into_libs=yes
2537 dynamic_linker='ldqnx.so'
2538 ;;
2539
2540 openbsd*)
2541 version_type=sunos
2542 sys_lib_dlsearch_path_spec="/usr/lib"
2543 need_lib_prefix=no
2544 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2545 case $host_os in
2546 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2547 *) need_version=no ;;
2548 esac
2549 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2550 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2551 shlibpath_var=LD_LIBRARY_PATH
2552 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2553 case $host_os in
2554 openbsd2.[[89]] | openbsd2.[[89]].*)
2555 shlibpath_overrides_runpath=no
2556 ;;
2557 *)
2558 shlibpath_overrides_runpath=yes
2559 ;;
2560 esac
2561 else
2562 shlibpath_overrides_runpath=yes
2563 fi
2564 ;;
2565
2566 os2*)
2567 libname_spec='$name'
2568 shrext_cmds=".dll"
2569 need_lib_prefix=no
2570 library_names_spec='$libname${shared_ext} $libname.a'
2571 dynamic_linker='OS/2 ld.exe'
2572 shlibpath_var=LIBPATH
2573 ;;
2574
2575 osf3* | osf4* | osf5*)
2576 version_type=osf
2577 need_lib_prefix=no
2578 need_version=no
2579 soname_spec='${libname}${release}${shared_ext}$major'
2580 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2581 shlibpath_var=LD_LIBRARY_PATH
2582 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2583 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2584 ;;
2585
2586 rdos*)
2587 dynamic_linker=no
2588 ;;
2589
2590 solaris*)
2591 version_type=linux
2592 need_lib_prefix=no
2593 need_version=no
2594 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2595 soname_spec='${libname}${release}${shared_ext}$major'
2596 shlibpath_var=LD_LIBRARY_PATH
2597 shlibpath_overrides_runpath=yes
2598 hardcode_into_libs=yes
2599 # ldd complains unless libraries are executable
2600 postinstall_cmds='chmod +x $lib'
2601 ;;
2602
2603 sunos4*)
2604 version_type=sunos
2605 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2606 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2607 shlibpath_var=LD_LIBRARY_PATH
2608 shlibpath_overrides_runpath=yes
2609 if test "$with_gnu_ld" = yes; then
2610 need_lib_prefix=no
2611 fi
2612 need_version=yes
2613 ;;
2614
2615 sysv4 | sysv4.3*)
2616 version_type=linux
2617 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2618 soname_spec='${libname}${release}${shared_ext}$major'
2619 shlibpath_var=LD_LIBRARY_PATH
2620 case $host_vendor in
2621 sni)
2622 shlibpath_overrides_runpath=no
2623 need_lib_prefix=no
2624 runpath_var=LD_RUN_PATH
2625 ;;
2626 siemens)
2627 need_lib_prefix=no
2628 ;;
2629 motorola)
2630 need_lib_prefix=no
2631 need_version=no
2632 shlibpath_overrides_runpath=no
2633 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2634 ;;
2635 esac
2636 ;;
2637
2638 sysv4*MP*)
2639 if test -d /usr/nec ;then
2640 version_type=linux
2641 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2642 soname_spec='$libname${shared_ext}.$major'
2643 shlibpath_var=LD_LIBRARY_PATH
2644 fi
2645 ;;
2646
2647 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2648 version_type=freebsd-elf
2649 need_lib_prefix=no
2650 need_version=no
2651 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2652 soname_spec='${libname}${release}${shared_ext}$major'
2653 shlibpath_var=LD_LIBRARY_PATH
2654 shlibpath_overrides_runpath=yes
2655 hardcode_into_libs=yes
2656 if test "$with_gnu_ld" = yes; then
2657 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2658 else
2659 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2660 case $host_os in
2661 sco3.2v5*)
2662 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2663 ;;
2664 esac
2665 fi
2666 sys_lib_dlsearch_path_spec='/usr/lib'
2667 ;;
2668
2669 tpf*)
2670 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2671 version_type=linux
2672 need_lib_prefix=no
2673 need_version=no
2674 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2675 shlibpath_var=LD_LIBRARY_PATH
2676 shlibpath_overrides_runpath=no
2677 hardcode_into_libs=yes
2678 ;;
2679
2680 uts4*)
2681 version_type=linux
2682 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2683 soname_spec='${libname}${release}${shared_ext}$major'
2684 shlibpath_var=LD_LIBRARY_PATH
2685 ;;
2686
2687 *)
2688 dynamic_linker=no
2689 ;;
2690 esac
2691 AC_MSG_RESULT([$dynamic_linker])
2692 test "$dynamic_linker" = no && can_build_shared=no
2693
2694 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2695 if test "$GCC" = yes; then
2696 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2697 fi
2698
2699 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2700 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2701 fi
2702 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2703 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2704 fi
2705
2706 _LT_DECL([], [variables_saved_for_relink], [1],
2707 [Variables whose values should be saved in libtool wrapper scripts and
2708 restored at link time])
2709 _LT_DECL([], [need_lib_prefix], [0],
2710 [Do we need the "lib" prefix for modules?])
2711 _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2712 _LT_DECL([], [version_type], [0], [Library versioning type])
2713 _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2714 _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2715 _LT_DECL([], [shlibpath_overrides_runpath], [0],
2716 [Is shlibpath searched before the hard-coded library search path?])
2717 _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2718 _LT_DECL([], [library_names_spec], [1],
2719 [[List of archive names. First name is the real one, the rest are links.
2720 The last name is the one that the linker finds with -lNAME]])
2721 _LT_DECL([], [soname_spec], [1],
2722 [[The coded name of the library, if different from the real name]])
2723 _LT_DECL([], [postinstall_cmds], [2],
2724 [Command to use after installation of a shared archive])
2725 _LT_DECL([], [postuninstall_cmds], [2],
2726 [Command to use after uninstallation of a shared archive])
2727 _LT_DECL([], [finish_cmds], [2],
2728 [Commands used to finish a libtool library installation in a directory])
2729 _LT_DECL([], [finish_eval], [1],
2730 [[As "finish_cmds", except a single script fragment to be evaled but
2731 not shown]])
2732 _LT_DECL([], [hardcode_into_libs], [0],
2733 [Whether we should hardcode library paths into libraries])
2734 _LT_DECL([], [sys_lib_search_path_spec], [2],
2735 [Compile-time system search path for libraries])
2736 _LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2737 [Run-time system search path for libraries])
2738 ])# _LT_SYS_DYNAMIC_LINKER
2739
2740
2741 # _LT_PATH_TOOL_PREFIX(TOOL)
2742 # --------------------------
2743 # find a file program which can recognize shared library
2744 AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2745 [m4_require([_LT_DECL_EGREP])dnl
2746 AC_MSG_CHECKING([for $1])
2747 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2748 [case $MAGIC_CMD in
2749 [[\\/*] | ?:[\\/]*])
2750 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2751 ;;
2752 *)
2753 lt_save_MAGIC_CMD="$MAGIC_CMD"
2754 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2755 dnl $ac_dummy forces splitting on constant user-supplied paths.
2756 dnl POSIX.2 word splitting is done only on the output of word expansions,
2757 dnl not every word. This closes a longstanding sh security hole.
2758 ac_dummy="m4_if([$2], , $PATH, [$2])"
2759 for ac_dir in $ac_dummy; do
2760 IFS="$lt_save_ifs"
2761 test -z "$ac_dir" && ac_dir=.
2762 if test -f $ac_dir/$1; then
2763 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2764 if test -n "$file_magic_test_file"; then
2765 case $deplibs_check_method in
2766 "file_magic "*)
2767 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2768 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2769 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2770 $EGREP "$file_magic_regex" > /dev/null; then
2771 :
2772 else
2773 cat <<_LT_EOF 1>&2
2774
2775 *** Warning: the command libtool uses to detect shared libraries,
2776 *** $file_magic_cmd, produces output that libtool cannot recognize.
2777 *** The result is that libtool may fail to recognize shared libraries
2778 *** as such. This will affect the creation of libtool libraries that
2779 *** depend on shared libraries, but programs linked with such libtool
2780 *** libraries will work regardless of this problem. Nevertheless, you
2781 *** may want to report the problem to your system manager and/or to
2782 *** bug-libtool@gnu.org
2783
2784 _LT_EOF
2785 fi ;;
2786 esac
2787 fi
2788 break
2789 fi
2790 done
2791 IFS="$lt_save_ifs"
2792 MAGIC_CMD="$lt_save_MAGIC_CMD"
2793 ;;
2794 esac])
2795 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2796 if test -n "$MAGIC_CMD"; then
2797 AC_MSG_RESULT($MAGIC_CMD)
2798 else
2799 AC_MSG_RESULT(no)
2800 fi
2801 _LT_DECL([], [MAGIC_CMD], [0],
2802 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2803 ])# _LT_PATH_TOOL_PREFIX
2804
2805 # Old name:
2806 AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2807 dnl aclocal-1.4 backwards compatibility:
2808 dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
2809
2810
2811 # _LT_PATH_MAGIC
2812 # --------------
2813 # find a file program which can recognize a shared library
2814 m4_defun([_LT_PATH_MAGIC],
2815 [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2816 if test -z "$lt_cv_path_MAGIC_CMD"; then
2817 if test -n "$ac_tool_prefix"; then
2818 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2819 else
2820 MAGIC_CMD=:
2821 fi
2822 fi
2823 ])# _LT_PATH_MAGIC
2824
2825
2826 # LT_PATH_LD
2827 # ----------
2828 # find the pathname to the GNU or non-GNU linker
2829 AC_DEFUN([LT_PATH_LD],
2830 [AC_REQUIRE([AC_PROG_CC])dnl
2831 AC_REQUIRE([AC_CANONICAL_HOST])dnl
2832 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
2833 m4_require([_LT_DECL_SED])dnl
2834 m4_require([_LT_DECL_EGREP])dnl
2835
2836 AC_ARG_WITH([gnu-ld],
2837 [AS_HELP_STRING([--with-gnu-ld],
2838 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2839 [test "$withval" = no || with_gnu_ld=yes],
2840 [with_gnu_ld=no])dnl
2841
2842 ac_prog=ld
2843 if test "$GCC" = yes; then
2844 # Check if gcc -print-prog-name=ld gives a path.
2845 AC_MSG_CHECKING([for ld used by $CC])
2846 case $host in
2847 *-*-mingw*)
2848 # gcc leaves a trailing carriage return which upsets mingw
2849 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2850 *)
2851 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2852 esac
2853 case $ac_prog in
2854 # Accept absolute paths.
2855 [[\\/]]* | ?:[[\\/]]*)
2856 re_direlt='/[[^/]][[^/]]*/\.\./'
2857 # Canonicalize the pathname of ld
2858 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2859 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2860 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
2861 done
2862 test -z "$LD" && LD="$ac_prog"
2863 ;;
2864 "")
2865 # If it fails, then pretend we aren't using GCC.
2866 ac_prog=ld
2867 ;;
2868 *)
2869 # If it is relative, then search for the first ld in PATH.
2870 with_gnu_ld=unknown
2871 ;;
2872 esac
2873 elif test "$with_gnu_ld" = yes; then
2874 AC_MSG_CHECKING([for GNU ld])
2875 else
2876 AC_MSG_CHECKING([for non-GNU ld])
2877 fi
2878 AC_CACHE_VAL(lt_cv_path_LD,
2879 [if test -z "$LD"; then
2880 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2881 for ac_dir in $PATH; do
2882 IFS="$lt_save_ifs"
2883 test -z "$ac_dir" && ac_dir=.
2884 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2885 lt_cv_path_LD="$ac_dir/$ac_prog"
2886 # Check to see if the program is GNU ld. I'd rather use --version,
2887 # but apparently some variants of GNU ld only accept -v.
2888 # Break only if it was the GNU/non-GNU ld that we prefer.
2889 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2890 *GNU* | *'with BFD'*)
2891 test "$with_gnu_ld" != no && break
2892 ;;
2893 *)
2894 test "$with_gnu_ld" != yes && break
2895 ;;
2896 esac
2897 fi
2898 done
2899 IFS="$lt_save_ifs"
2900 else
2901 lt_cv_path_LD="$LD" # Let the user override the test with a path.
2902 fi])
2903 LD="$lt_cv_path_LD"
2904 if test -n "$LD"; then
2905 AC_MSG_RESULT($LD)
2906 else
2907 AC_MSG_RESULT(no)
2908 fi
2909 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2910 _LT_PATH_LD_GNU
2911 AC_SUBST([LD])
2912
2913 _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2914 ])# LT_PATH_LD
2915
2916 # Old names:
2917 AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2918 AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2919 dnl aclocal-1.4 backwards compatibility:
2920 dnl AC_DEFUN([AM_PROG_LD], [])
2921 dnl AC_DEFUN([AC_PROG_LD], [])
2922
2923
2924 # _LT_PATH_LD_GNU
2925 #- --------------
2926 m4_defun([_LT_PATH_LD_GNU],
2927 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2928 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
2929 case `$LD -v 2>&1 </dev/null` in
2930 *GNU* | *'with BFD'*)
2931 lt_cv_prog_gnu_ld=yes
2932 ;;
2933 *)
2934 lt_cv_prog_gnu_ld=no
2935 ;;
2936 esac])
2937 with_gnu_ld=$lt_cv_prog_gnu_ld
2938 ])# _LT_PATH_LD_GNU
2939
2940
2941 # _LT_CMD_RELOAD
2942 # --------------
2943 # find reload flag for linker
2944 # -- PORTME Some linkers may need a different reload flag.
2945 m4_defun([_LT_CMD_RELOAD],
2946 [AC_CACHE_CHECK([for $LD option to reload object files],
2947 lt_cv_ld_reload_flag,
2948 [lt_cv_ld_reload_flag='-r'])
2949 reload_flag=$lt_cv_ld_reload_flag
2950 case $reload_flag in
2951 "" | " "*) ;;
2952 *) reload_flag=" $reload_flag" ;;
2953 esac
2954 reload_cmds='$LD$reload_flag -o $output$reload_objs'
2955 case $host_os in
2956 darwin*)
2957 if test "$GCC" = yes; then
2958 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2959 else
2960 reload_cmds='$LD$reload_flag -o $output$reload_objs'
2961 fi
2962 ;;
2963 esac
2964 _LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2965 _LT_DECL([], [reload_cmds], [2])dnl
2966 ])# _LT_CMD_RELOAD
2967
2968
2969 # _LT_CHECK_MAGIC_METHOD
2970 # ----------------------
2971 # how to check for library dependencies
2972 # -- PORTME fill in with the dynamic library characteristics
2973 m4_defun([_LT_CHECK_MAGIC_METHOD],
2974 [m4_require([_LT_DECL_EGREP])
2975 m4_require([_LT_DECL_OBJDUMP])
2976 AC_CACHE_CHECK([how to recognize dependent libraries],
2977 lt_cv_deplibs_check_method,
2978 [lt_cv_file_magic_cmd='$MAGIC_CMD'
2979 lt_cv_file_magic_test_file=
2980 lt_cv_deplibs_check_method='unknown'
2981 # Need to set the preceding variable on all platforms that support
2982 # interlibrary dependencies.
2983 # 'none' -- dependencies not supported.
2984 # `unknown' -- same as none, but documents that we really don't know.
2985 # 'pass_all' -- all dependencies passed with no checks.
2986 # 'test_compile' -- check by making test program.
2987 # 'file_magic [[regex]]' -- check by looking for files in library path
2988 # which responds to the $file_magic_cmd with a given extended regex.
2989 # If you have `file' or equivalent on your system and you're not sure
2990 # whether `pass_all' will *always* work, you probably want this one.
2991
2992 case $host_os in
2993 aix[[4-9]]*)
2994 lt_cv_deplibs_check_method=pass_all
2995 ;;
2996
2997 beos*)
2998 lt_cv_deplibs_check_method=pass_all
2999 ;;
3000
3001 bsdi[[45]]*)
3002 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3003 lt_cv_file_magic_cmd='/usr/bin/file -L'
3004 lt_cv_file_magic_test_file=/shlib/libc.so
3005 ;;
3006
3007 cygwin*)
3008 # func_win32_libid is a shell function defined in ltmain.sh
3009 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3010 lt_cv_file_magic_cmd='func_win32_libid'
3011 ;;
3012
3013 mingw* | pw32*)
3014 # Base MSYS/MinGW do not provide the 'file' command needed by
3015 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3016 # unless we find 'file', for example because we are cross-compiling.
3017 if ( file / ) >/dev/null 2>&1; then
3018 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3019 lt_cv_file_magic_cmd='func_win32_libid'
3020 else
3021 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3022 lt_cv_file_magic_cmd='$OBJDUMP -f'
3023 fi
3024 ;;
3025
3026 cegcc)
3027 # use the weaker test based on 'objdump'. See mingw*.
3028 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3029 lt_cv_file_magic_cmd='$OBJDUMP -f'
3030 ;;
3031
3032 darwin* | rhapsody*)
3033 lt_cv_deplibs_check_method=pass_all
3034 ;;
3035
3036 freebsd* | dragonfly*)
3037 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3038 case $host_cpu in
3039 i*86 )
3040 # Not sure whether the presence of OpenBSD here was a mistake.
3041 # Let's accept both of them until this is cleared up.
3042 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3043 lt_cv_file_magic_cmd=/usr/bin/file
3044 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3045 ;;
3046 esac
3047 else
3048 lt_cv_deplibs_check_method=pass_all
3049 fi
3050 ;;
3051
3052 gnu*)
3053 lt_cv_deplibs_check_method=pass_all
3054 ;;
3055
3056 hpux10.20* | hpux11*)
3057 lt_cv_file_magic_cmd=/usr/bin/file
3058 case $host_cpu in
3059 ia64*)
3060 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3061 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3062 ;;
3063 hppa*64*)
3064 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
3065 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3066 ;;
3067 *)
3068 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3069 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3070 ;;
3071 esac
3072 ;;
3073
3074 interix[[3-9]]*)
3075 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3076 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3077 ;;
3078
3079 irix5* | irix6* | nonstopux*)
3080 case $LD in
3081 *-32|*"-32 ") libmagic=32-bit;;
3082 *-n32|*"-n32 ") libmagic=N32;;
3083 *-64|*"-64 ") libmagic=64-bit;;
3084 *) libmagic=never-match;;
3085 esac
3086 lt_cv_deplibs_check_method=pass_all
3087 ;;
3088
3089 # This must be Linux ELF.
3090 linux* | k*bsd*-gnu)
3091 lt_cv_deplibs_check_method=pass_all
3092 ;;
3093
3094 netbsd*)
3095 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3096 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3097 else
3098 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3099 fi
3100 ;;
3101
3102 newos6*)
3103 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3104 lt_cv_file_magic_cmd=/usr/bin/file
3105 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3106 ;;
3107
3108 *nto* | *qnx*)
3109 lt_cv_deplibs_check_method=pass_all
3110 ;;
3111
3112 openbsd*)
3113 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3114 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3115 else
3116 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3117 fi
3118 ;;
3119
3120 osf3* | osf4* | osf5*)
3121 lt_cv_deplibs_check_method=pass_all
3122 ;;
3123
3124 rdos*)
3125 lt_cv_deplibs_check_method=pass_all
3126 ;;
3127
3128 solaris*)
3129 lt_cv_deplibs_check_method=pass_all
3130 ;;
3131
3132 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3133 lt_cv_deplibs_check_method=pass_all
3134 ;;
3135
3136 sysv4 | sysv4.3*)
3137 case $host_vendor in
3138 motorola)
3139 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3140 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3141 ;;
3142 ncr)
3143 lt_cv_deplibs_check_method=pass_all
3144 ;;
3145 sequent)
3146 lt_cv_file_magic_cmd='/bin/file'
3147 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3148 ;;
3149 sni)
3150 lt_cv_file_magic_cmd='/bin/file'
3151 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3152 lt_cv_file_magic_test_file=/lib/libc.so
3153 ;;
3154 siemens)
3155 lt_cv_deplibs_check_method=pass_all
3156 ;;
3157 pc)
3158 lt_cv_deplibs_check_method=pass_all
3159 ;;
3160 esac
3161 ;;
3162
3163 tpf*)
3164 lt_cv_deplibs_check_method=pass_all
3165 ;;
3166 esac
3167 ])
3168 file_magic_cmd=$lt_cv_file_magic_cmd
3169 deplibs_check_method=$lt_cv_deplibs_check_method
3170 test -z "$deplibs_check_method" && deplibs_check_method=unknown
3171
3172 _LT_DECL([], [deplibs_check_method], [1],
3173 [Method to check whether dependent libraries are shared objects])
3174 _LT_DECL([], [file_magic_cmd], [1],
3175 [Command to use when deplibs_check_method == "file_magic"])
3176 ])# _LT_CHECK_MAGIC_METHOD
3177
3178
3179 # LT_PATH_NM
3180 # ----------
3181 # find the pathname to a BSD- or MS-compatible name lister
3182 AC_DEFUN([LT_PATH_NM],
3183 [AC_REQUIRE([AC_PROG_CC])dnl
3184 AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3185 [if test -n "$NM"; then
3186 # Let the user override the test.
3187 lt_cv_path_NM="$NM"
3188 else
3189 lt_nm_to_check="${ac_tool_prefix}nm"
3190 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3191 lt_nm_to_check="$lt_nm_to_check nm"
3192 fi
3193 for lt_tmp_nm in $lt_nm_to_check; do
3194 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3195 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3196 IFS="$lt_save_ifs"
3197 test -z "$ac_dir" && ac_dir=.
3198 tmp_nm="$ac_dir/$lt_tmp_nm"
3199 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3200 # Check to see if the nm accepts a BSD-compat flag.
3201 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3202 # nm: unknown option "B" ignored
3203 # Tru64's nm complains that /dev/null is an invalid object file
3204 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3205 */dev/null* | *'Invalid file or object type'*)
3206 lt_cv_path_NM="$tmp_nm -B"
3207 break
3208 ;;
3209 *)
3210 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3211 */dev/null*)
3212 lt_cv_path_NM="$tmp_nm -p"
3213 break
3214 ;;
3215 *)
3216 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3217 continue # so that we can try to find one that supports BSD flags
3218 ;;
3219 esac
3220 ;;
3221 esac
3222 fi
3223 done
3224 IFS="$lt_save_ifs"
3225 done
3226 : ${lt_cv_path_NM=no}
3227 fi])
3228 if test "$lt_cv_path_NM" != "no"; then
3229 NM="$lt_cv_path_NM"
3230 else
3231 # Didn't find any BSD compatible name lister, look for dumpbin.
3232 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
3233 AC_SUBST([DUMPBIN])
3234 if test "$DUMPBIN" != ":"; then
3235 NM="$DUMPBIN"
3236 fi
3237 fi
3238 test -z "$NM" && NM=nm
3239 AC_SUBST([NM])
3240 _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3241
3242 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3243 [lt_cv_nm_interface="BSD nm"
3244 echo "int some_variable = 0;" > conftest.$ac_ext
3245 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3246 (eval "$ac_compile" 2>conftest.err)
3247 cat conftest.err >&AS_MESSAGE_LOG_FD
3248 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3249 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3250 cat conftest.err >&AS_MESSAGE_LOG_FD
3251 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
3252 cat conftest.out >&AS_MESSAGE_LOG_FD
3253 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3254 lt_cv_nm_interface="MS dumpbin"
3255 fi
3256 rm -f conftest*])
3257 ])# LT_PATH_NM
3258
3259 # Old names:
3260 AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3261 AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3262 dnl aclocal-1.4 backwards compatibility:
3263 dnl AC_DEFUN([AM_PROG_NM], [])
3264 dnl AC_DEFUN([AC_PROG_NM], [])
3265
3266
3267 # LT_LIB_M
3268 # --------
3269 # check for math library
3270 AC_DEFUN([LT_LIB_M],
3271 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3272 LIBM=
3273 case $host in
3274 *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3275 # These system don't have libm, or don't need it
3276 ;;
3277 *-ncr-sysv4.3*)
3278 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3279 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3280 ;;
3281 *)
3282 AC_CHECK_LIB(m, cos, LIBM="-lm")
3283 ;;
3284 esac
3285 AC_SUBST([LIBM])
3286 ])# LT_LIB_M
3287
3288 # Old name:
3289 AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3290 dnl aclocal-1.4 backwards compatibility:
3291 dnl AC_DEFUN([AC_CHECK_LIBM], [])
3292
3293
3294 # _LT_COMPILER_NO_RTTI([TAGNAME])
3295 # -------------------------------
3296 m4_defun([_LT_COMPILER_NO_RTTI],
3297 [m4_require([_LT_TAG_COMPILER])dnl
3298
3299 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3300
3301 if test "$GCC" = yes; then
3302 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3303
3304 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3305 lt_cv_prog_compiler_rtti_exceptions,
3306 [-fno-rtti -fno-exceptions], [],
3307 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3308 fi
3309 _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3310 [Compiler flag to turn off builtin functions])
3311 ])# _LT_COMPILER_NO_RTTI
3312
3313
3314 # _LT_CMD_GLOBAL_SYMBOLS
3315 # ----------------------
3316 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3317 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3318 AC_REQUIRE([AC_PROG_CC])dnl
3319 AC_REQUIRE([LT_PATH_NM])dnl
3320 AC_REQUIRE([LT_PATH_LD])dnl
3321 m4_require([_LT_DECL_SED])dnl
3322 m4_require([_LT_DECL_EGREP])dnl
3323 m4_require([_LT_TAG_COMPILER])dnl
3324
3325 # Check for command to grab the raw symbol name followed by C symbol from nm.
3326 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3327 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3328 [
3329 # These are sane defaults that work on at least a few old systems.
3330 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
3331
3332 # Character class describing NM global symbol codes.
3333 symcode='[[BCDEGRST]]'
3334
3335 # Regexp to match symbols that can be accessed directly from C.
3336 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3337
3338 # Define system-specific variables.
3339 case $host_os in
3340 aix*)
3341 symcode='[[BCDT]]'
3342 ;;
3343 cygwin* | mingw* | pw32* | cegcc*)
3344 symcode='[[ABCDGISTW]]'
3345 ;;
3346 hpux*)
3347 if test "$host_cpu" = ia64; then
3348 symcode='[[ABCDEGRST]]'
3349 fi
3350 ;;
3351 irix* | nonstopux*)
3352 symcode='[[BCDEGRST]]'
3353 ;;
3354 osf*)
3355 symcode='[[BCDEGQRST]]'
3356 ;;
3357 solaris*)
3358 symcode='[[BDRT]]'
3359 ;;
3360 sco3.2v5*)
3361 symcode='[[DT]]'
3362 ;;
3363 sysv4.2uw2*)
3364 symcode='[[DT]]'
3365 ;;
3366 sysv5* | sco5v6* | unixware* | OpenUNIX*)
3367 symcode='[[ABDT]]'
3368 ;;
3369 sysv4)
3370 symcode='[[DFNSTU]]'
3371 ;;
3372 esac
3373
3374 # If we're using GNU nm, then use its standard symbol codes.
3375 case `$NM -V 2>&1` in
3376 *GNU* | *'with BFD'*)
3377 symcode='[[ABCDGIRSTW]]' ;;
3378 esac
3379
3380 # Transform an extracted symbol line into a proper C declaration.
3381 # Some systems (esp. on ia64) link data and code symbols differently,
3382 # so use this general approach.
3383 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3384
3385 # Transform an extracted symbol line into symbol name and symbol address
3386 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3387 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'"
3388
3389 # Handle CRLF in mingw tool chain
3390 opt_cr=
3391 case $build_os in
3392 mingw*)
3393 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3394 ;;
3395 esac
3396
3397 # Try without a prefix underscore, then with it.
3398 for ac_symprfx in "" "_"; do
3399
3400 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3401 symxfrm="\\1 $ac_symprfx\\2 \\2"
3402
3403 # Write the raw and C identifiers.
3404 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3405 # Fake it for dumpbin and say T for any non-static function
3406 # and D for any global variable.
3407 # Also find C++ and __fastcall symbols from MSVC++,
3408 # which start with @ or ?.
3409 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3410 " {last_section=section; section=\$ 3};"\
3411 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3412 " \$ 0!~/External *\|/{next};"\
3413 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3414 " {if(hide[section]) next};"\
3415 " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3416 " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3417 " s[1]~/^[@?]/{print s[1], s[1]; next};"\
3418 " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3419 " ' prfx=^$ac_symprfx]"
3420 else
3421 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3422 fi
3423
3424 # Check to see that the pipe works correctly.
3425 pipe_works=no
3426
3427 rm -f conftest*
3428 cat > conftest.$ac_ext <<_LT_EOF
3429 #ifdef __cplusplus
3430 extern "C" {
3431 #endif
3432 char nm_test_var;
3433 void nm_test_func(void);
3434 void nm_test_func(void){}
3435 #ifdef __cplusplus
3436 }
3437 #endif
3438 int main(){nm_test_var='a';nm_test_func();return(0);}
3439 _LT_EOF
3440
3441 if AC_TRY_EVAL(ac_compile); then
3442 # Now try to grab the symbols.
3443 nlist=conftest.nm
3444 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3445 # Try sorting and uniquifying the output.
3446 if sort "$nlist" | uniq > "$nlist"T; then
3447 mv -f "$nlist"T "$nlist"
3448 else
3449 rm -f "$nlist"T
3450 fi
3451
3452 # Make sure that we snagged all the symbols we need.
3453 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3454 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3455 cat <<_LT_EOF > conftest.$ac_ext
3456 #ifdef __cplusplus
3457 extern "C" {
3458 #endif
3459
3460 _LT_EOF
3461 # Now generate the symbol file.
3462 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3463
3464 cat <<_LT_EOF >> conftest.$ac_ext
3465
3466 /* The mapping between symbol names and symbols. */
3467 const struct {
3468 const char *name;
3469 void *address;
3470 }
3471 lt__PROGRAM__LTX_preloaded_symbols[[]] =
3472 {
3473 { "@PROGRAM@", (void *) 0 },
3474 _LT_EOF
3475 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3476 cat <<\_LT_EOF >> conftest.$ac_ext
3477 {0, (void *) 0}
3478 };
3479
3480 /* This works around a problem in FreeBSD linker */
3481 #ifdef FREEBSD_WORKAROUND
3482 static const void *lt_preloaded_setup() {
3483 return lt__PROGRAM__LTX_preloaded_symbols;
3484 }
3485 #endif
3486
3487 #ifdef __cplusplus
3488 }
3489 #endif
3490 _LT_EOF
3491 # Now try linking the two files.
3492 mv conftest.$ac_objext conftstm.$ac_objext
3493 lt_save_LIBS="$LIBS"
3494 lt_save_CFLAGS="$CFLAGS"
3495 LIBS="conftstm.$ac_objext"
3496 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3497 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3498 pipe_works=yes
3499 fi
3500 LIBS="$lt_save_LIBS"
3501 CFLAGS="$lt_save_CFLAGS"
3502 else
3503 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3504 fi
3505 else
3506 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3507 fi
3508 else
3509 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3510 fi
3511 else
3512 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3513 cat conftest.$ac_ext >&5
3514 fi
3515 rm -rf conftest* conftst*
3516
3517 # Do not use the global_symbol_pipe unless it works.
3518 if test "$pipe_works" = yes; then
3519 break
3520 else
3521 lt_cv_sys_global_symbol_pipe=
3522 fi
3523 done
3524 ])
3525 if test -z "$lt_cv_sys_global_symbol_pipe"; then
3526 lt_cv_sys_global_symbol_to_cdecl=
3527 fi
3528 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3529 AC_MSG_RESULT(failed)
3530 else
3531 AC_MSG_RESULT(ok)
3532 fi
3533
3534 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3535 [Take the output of nm and produce a listing of raw symbols and C names])
3536 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3537 [Transform the output of nm in a proper C declaration])
3538 _LT_DECL([global_symbol_to_c_name_address],
3539 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3540 [Transform the output of nm in a C name address pair])
3541 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3542 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3543 [Transform the output of nm in a C name address pair when lib prefix is needed])
3544 ]) # _LT_CMD_GLOBAL_SYMBOLS
3545
3546
3547 # _LT_COMPILER_PIC([TAGNAME])
3548 # ---------------------------
3549 m4_defun([_LT_COMPILER_PIC],
3550 [m4_require([_LT_TAG_COMPILER])dnl
3551 _LT_TAGVAR(lt_prog_compiler_wl, $1)=
3552 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3553 _LT_TAGVAR(lt_prog_compiler_static, $1)=
3554
3555 AC_MSG_CHECKING([for $compiler option to produce PIC])
3556 m4_if([$1], [CXX], [
3557 # C++ specific cases for pic, static, wl, etc.
3558 if test "$GXX" = yes; then
3559 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3560 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3561
3562 case $host_os in
3563 aix*)
3564 # All AIX code is PIC.
3565 if test "$host_cpu" = ia64; then
3566 # AIX 5 now supports IA64 processor
3567 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3568 fi
3569 ;;
3570
3571 amigaos*)
3572 case $host_cpu in
3573 powerpc)
3574 # see comment about AmigaOS4 .so support
3575 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3576 ;;
3577 m68k)
3578 # FIXME: we need at least 68020 code to build shared libraries, but
3579 # adding the `-m68020' flag to GCC prevents building anything better,
3580 # like `-m68040'.
3581 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3582 ;;
3583 esac
3584 ;;
3585
3586 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3587 # PIC is the default for these OSes.
3588 ;;
3589 mingw* | cygwin* | os2* | pw32* | cegcc*)
3590 # This hack is so that the source file can tell whether it is being
3591 # built for inclusion in a dll (and should export symbols for example).
3592 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3593 # (--disable-auto-import) libraries
3594 m4_if([$1], [GCJ], [],
3595 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3596 ;;
3597 darwin* | rhapsody*)
3598 # PIC is the default on this platform
3599 # Common symbols not allowed in MH_DYLIB files
3600 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3601 ;;
3602 *djgpp*)
3603 # DJGPP does not support shared libraries at all
3604 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3605 ;;
3606 interix[[3-9]]*)
3607 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3608 # Instead, we relocate shared libraries at runtime.
3609 ;;
3610 sysv4*MP*)
3611 if test -d /usr/nec; then
3612 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3613 fi
3614 ;;
3615 hpux*)
3616 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3617 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3618 # sets the default TLS model and affects inlining.
3619 case $host_cpu in
3620 hppa*64*)
3621 ;;
3622 *)
3623 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3624 ;;
3625 esac
3626 ;;
3627 *qnx* | *nto*)
3628 # QNX uses GNU C++, but need to define -shared option too, otherwise
3629 # it will coredump.
3630 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3631 ;;
3632 *)
3633 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3634 ;;
3635 esac
3636 else
3637 case $host_os in
3638 aix[[4-9]]*)
3639 # All AIX code is PIC.
3640 if test "$host_cpu" = ia64; then
3641 # AIX 5 now supports IA64 processor
3642 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3643 else
3644 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3645 fi
3646 ;;
3647 chorus*)
3648 case $cc_basename in
3649 cxch68*)
3650 # Green Hills C++ Compiler
3651 # _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"
3652 ;;
3653 esac
3654 ;;
3655 dgux*)
3656 case $cc_basename in
3657 ec++*)
3658 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3659 ;;
3660 ghcx*)
3661 # Green Hills C++ Compiler
3662 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3663 ;;
3664 *)
3665 ;;
3666 esac
3667 ;;
3668 freebsd* | dragonfly*)
3669 # FreeBSD uses GNU C++
3670 ;;
3671 hpux9* | hpux10* | hpux11*)
3672 case $cc_basename in
3673 CC*)
3674 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3675 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3676 if test "$host_cpu" != ia64; then
3677 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3678 fi
3679 ;;
3680 aCC*)
3681 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3682 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3683 case $host_cpu in
3684 hppa*64*|ia64*)
3685 # +Z the default
3686 ;;
3687 *)
3688 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3689 ;;
3690 esac
3691 ;;
3692 *)
3693 ;;
3694 esac
3695 ;;
3696 interix*)
3697 # This is c89, which is MS Visual C++ (no shared libs)
3698 # Anyone wants to do a port?
3699 ;;
3700 irix5* | irix6* | nonstopux*)
3701 case $cc_basename in
3702 CC*)
3703 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3704 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3705 # CC pic flag -KPIC is the default.
3706 ;;
3707 *)
3708 ;;
3709 esac
3710 ;;
3711 linux* | k*bsd*-gnu)
3712 case $cc_basename in
3713 KCC*)
3714 # KAI C++ Compiler
3715 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3716 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3717 ;;
3718 ecpc* )
3719 # old Intel C++ for x86_64 which still supported -KPIC.
3720 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3721 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3722 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3723 ;;
3724 icpc* )
3725 # Intel C++, used to be incompatible with GCC.
3726 # ICC 10 doesn't accept -KPIC any more.
3727 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3728 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3729 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3730 ;;
3731 pgCC* | pgcpp*)
3732 # Portland Group C++ compiler
3733 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3734 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3735 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3736 ;;
3737 cxx*)
3738 # Compaq C++
3739 # Make sure the PIC flag is empty. It appears that all Alpha
3740 # Linux and Compaq Tru64 Unix objects are PIC.
3741 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3742 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3743 ;;
3744 xlc* | xlC*)
3745 # IBM XL 8.0 on PPC
3746 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3747 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3748 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
3749 ;;
3750 *)
3751 case `$CC -V 2>&1 | sed 5q` in
3752 *Sun\ C*)
3753 # Sun C++ 5.9
3754 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3755 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3756 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3757 ;;
3758 esac
3759 ;;
3760 esac
3761 ;;
3762 lynxos*)
3763 ;;
3764 m88k*)
3765 ;;
3766 mvs*)
3767 case $cc_basename in
3768 cxx*)
3769 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
3770 ;;
3771 *)
3772 ;;
3773 esac
3774 ;;
3775 netbsd*)
3776 ;;
3777 *qnx* | *nto*)
3778 # QNX uses GNU C++, but need to define -shared option too, otherwise
3779 # it will coredump.
3780 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3781 ;;
3782 osf3* | osf4* | osf5*)
3783 case $cc_basename in
3784 KCC*)
3785 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3786 ;;
3787 RCC*)
3788 # Rational C++ 2.4.1
3789 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3790 ;;
3791 cxx*)
3792 # Digital/Compaq C++
3793 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3794 # Make sure the PIC flag is empty. It appears that all Alpha
3795 # Linux and Compaq Tru64 Unix objects are PIC.
3796 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3797 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3798 ;;
3799 *)
3800 ;;
3801 esac
3802 ;;
3803 psos*)
3804 ;;
3805 solaris*)
3806 case $cc_basename in
3807 CC*)
3808 # Sun C++ 4.2, 5.x and Centerline C++
3809 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3810 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3811 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3812 ;;
3813 gcx*)
3814 # Green Hills C++ Compiler
3815 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
3816 ;;
3817 *)
3818 ;;
3819 esac
3820 ;;
3821 sunos4*)
3822 case $cc_basename in
3823 CC*)
3824 # Sun C++ 4.x
3825 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3826 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3827 ;;
3828 lcc*)
3829 # Lucid
3830 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3831 ;;
3832 *)
3833 ;;
3834 esac
3835 ;;
3836 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3837 case $cc_basename in
3838 CC*)
3839 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3840 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3841 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3842 ;;
3843 esac
3844 ;;
3845 tandem*)
3846 case $cc_basename in
3847 NCC*)
3848 # NonStop-UX NCC 3.20
3849 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3850 ;;
3851 *)
3852 ;;
3853 esac
3854 ;;
3855 vxworks*)
3856 ;;
3857 *)
3858 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3859 ;;
3860 esac
3861 fi
3862 ],
3863 [
3864 if test "$GCC" = yes; then
3865 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3866 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3867
3868 case $host_os in
3869 aix*)
3870 # All AIX code is PIC.
3871 if test "$host_cpu" = ia64; then
3872 # AIX 5 now supports IA64 processor
3873 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3874 fi
3875 ;;
3876
3877 amigaos*)
3878 case $host_cpu in
3879 powerpc)
3880 # see comment about AmigaOS4 .so support
3881 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3882 ;;
3883 m68k)
3884 # FIXME: we need at least 68020 code to build shared libraries, but
3885 # adding the `-m68020' flag to GCC prevents building anything better,
3886 # like `-m68040'.
3887 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3888 ;;
3889 esac
3890 ;;
3891
3892 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3893 # PIC is the default for these OSes.
3894 ;;
3895
3896 mingw* | cygwin* | pw32* | os2* | cegcc*)
3897 # This hack is so that the source file can tell whether it is being
3898 # built for inclusion in a dll (and should export symbols for example).
3899 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3900 # (--disable-auto-import) libraries
3901 m4_if([$1], [GCJ], [],
3902 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3903 ;;
3904
3905 darwin* | rhapsody*)
3906 # PIC is the default on this platform
3907 # Common symbols not allowed in MH_DYLIB files
3908 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3909 ;;
3910
3911 hpux*)
3912 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3913 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3914 # sets the default TLS model and affects inlining.
3915 case $host_cpu in
3916 hppa*64*)
3917 # +Z the default
3918 ;;
3919 *)
3920 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3921 ;;
3922 esac
3923 ;;
3924
3925 interix[[3-9]]*)
3926 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3927 # Instead, we relocate shared libraries at runtime.
3928 ;;
3929
3930 msdosdjgpp*)
3931 # Just because we use GCC doesn't mean we suddenly get shared libraries
3932 # on systems that don't support them.
3933 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3934 enable_shared=no
3935 ;;
3936
3937 *nto* | *qnx*)
3938 # QNX uses GNU C++, but need to define -shared option too, otherwise
3939 # it will coredump.
3940 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3941 ;;
3942
3943 sysv4*MP*)
3944 if test -d /usr/nec; then
3945 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3946 fi
3947 ;;
3948
3949 *)
3950 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3951 ;;
3952 esac
3953 else
3954 # PORTME Check for flag to pass linker flags through the system compiler.
3955 case $host_os in
3956 aix*)
3957 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3958 if test "$host_cpu" = ia64; then
3959 # AIX 5 now supports IA64 processor
3960 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3961 else
3962 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3963 fi
3964 ;;
3965
3966 mingw* | cygwin* | pw32* | os2* | cegcc*)
3967 # This hack is so that the source file can tell whether it is being
3968 # built for inclusion in a dll (and should export symbols for example).
3969 m4_if([$1], [GCJ], [],
3970 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3971 ;;
3972
3973 hpux9* | hpux10* | hpux11*)
3974 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3975 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3976 # not for PA HP-UX.
3977 case $host_cpu in
3978 hppa*64*|ia64*)
3979 # +Z the default
3980 ;;
3981 *)
3982 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3983 ;;
3984 esac
3985 # Is there a better lt_prog_compiler_static that works with the bundled CC?
3986 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3987 ;;
3988
3989 irix5* | irix6* | nonstopux*)
3990 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3991 # PIC (with -KPIC) is the default.
3992 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3993 ;;
3994
3995 linux* | k*bsd*-gnu)
3996 case $cc_basename in
3997 # old Intel for x86_64 which still supported -KPIC.
3998 ecc*)
3999 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4000 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4001 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4002 ;;
4003 # icc used to be incompatible with GCC.
4004 # ICC 10 doesn't accept -KPIC any more.
4005 icc* | ifort*)
4006 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4007 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4008 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4009 ;;
4010 # Lahey Fortran 8.1.
4011 lf95*)
4012 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4013 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4014 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4015 ;;
4016 pgcc* | pgf77* | pgf90* | pgf95*)
4017 # Portland Group compilers (*not* the Pentium gcc compiler,
4018 # which looks to be a dead project)
4019 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4020 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4021 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4022 ;;
4023 ccc*)
4024 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4025 # All Alpha code is PIC.
4026 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4027 ;;
4028 xl*)
4029 # IBM XL C 8.0/Fortran 10.1 on PPC
4030 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4031 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4032 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4033 ;;
4034 *)
4035 case `$CC -V 2>&1 | sed 5q` in
4036 *Sun\ C*)
4037 # Sun C 5.9
4038 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4039 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4040 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4041 ;;
4042 *Sun\ F*)
4043 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4044 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4045 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4046 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4047 ;;
4048 esac
4049 ;;
4050 esac
4051 ;;
4052
4053 newsos6)
4054 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4055 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4056 ;;
4057
4058 *nto* | *qnx*)
4059 # QNX uses GNU C++, but need to define -shared option too, otherwise
4060 # it will coredump.
4061 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4062 ;;
4063
4064 osf3* | osf4* | osf5*)
4065 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4066 # All OSF/1 code is PIC.
4067 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4068 ;;
4069
4070 rdos*)
4071 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4072 ;;
4073
4074 solaris*)
4075 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4076 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4077 case $cc_basename in
4078 f77* | f90* | f95*)
4079 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4080 *)
4081 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4082 esac
4083 ;;
4084
4085 sunos4*)
4086 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4087 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4088 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4089 ;;
4090
4091 sysv4 | sysv4.2uw2* | sysv4.3*)
4092 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4093 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4094 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4095 ;;
4096
4097 sysv4*MP*)
4098 if test -d /usr/nec ;then
4099 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4100 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4101 fi
4102 ;;
4103
4104 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4105 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4106 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4107 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4108 ;;
4109
4110 unicos*)
4111 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4112 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4113 ;;
4114
4115 uts4*)
4116 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4117 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4118 ;;
4119
4120 *)
4121 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4122 ;;
4123 esac
4124 fi
4125 ])
4126 case $host_os in
4127 # For platforms which do not support PIC, -DPIC is meaningless:
4128 *djgpp*)
4129 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4130 ;;
4131 *)
4132 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4133 ;;
4134 esac
4135 AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4136 _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4137 [How to pass a linker flag through the compiler])
4138
4139 #
4140 # Check to make sure the PIC flag actually works.
4141 #
4142 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4143 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4144 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4145 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4146 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4147 "" | " "*) ;;
4148 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4149 esac],
4150 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4151 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4152 fi
4153 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4154 [Additional compiler flags for building library objects])
4155
4156 #
4157 # Check to make sure the static flag actually works.
4158 #
4159 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4160 _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4161 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4162 $lt_tmp_static_flag,
4163 [],
4164 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4165 _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4166 [Compiler flag to prevent dynamic linking])
4167 ])# _LT_COMPILER_PIC
4168
4169
4170 # _LT_LINKER_SHLIBS([TAGNAME])
4171 # ----------------------------
4172 # See if the linker supports building shared libraries.
4173 m4_defun([_LT_LINKER_SHLIBS],
4174 [AC_REQUIRE([LT_PATH_LD])dnl
4175 AC_REQUIRE([LT_PATH_NM])dnl
4176 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4177 m4_require([_LT_DECL_EGREP])dnl
4178 m4_require([_LT_DECL_SED])dnl
4179 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4180 m4_require([_LT_TAG_COMPILER])dnl
4181 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4182 m4_if([$1], [CXX], [
4183 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4184 case $host_os in
4185 aix[[4-9]]*)
4186 # If we're using GNU nm, then we don't want the "-C" option.
4187 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4188 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4189 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4190 else
4191 _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'
4192 fi
4193 ;;
4194 pw32*)
4195 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4196 ;;
4197 cygwin* | mingw* | cegcc*)
4198 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4199 ;;
4200 *)
4201 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4202 ;;
4203 esac
4204 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4205 ], [
4206 runpath_var=
4207 _LT_TAGVAR(allow_undefined_flag, $1)=
4208 _LT_TAGVAR(always_export_symbols, $1)=no
4209 _LT_TAGVAR(archive_cmds, $1)=
4210 _LT_TAGVAR(archive_expsym_cmds, $1)=
4211 _LT_TAGVAR(compiler_needs_object, $1)=no
4212 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4213 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4214 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4215 _LT_TAGVAR(hardcode_automatic, $1)=no
4216 _LT_TAGVAR(hardcode_direct, $1)=no
4217 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4218 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4219 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4220 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4221 _LT_TAGVAR(hardcode_minus_L, $1)=no
4222 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4223 _LT_TAGVAR(inherit_rpath, $1)=no
4224 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4225 _LT_TAGVAR(module_cmds, $1)=
4226 _LT_TAGVAR(module_expsym_cmds, $1)=
4227 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4228 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4229 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4230 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4231 # include_expsyms should be a list of space-separated symbols to be *always*
4232 # included in the symbol list
4233 _LT_TAGVAR(include_expsyms, $1)=
4234 # exclude_expsyms can be an extended regexp of symbols to exclude
4235 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4236 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4237 # as well as any symbol that contains `d'.
4238 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4239 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4240 # platforms (ab)use it in PIC code, but their linkers get confused if
4241 # the symbol is explicitly referenced. Since portable code cannot
4242 # rely on this symbol name, it's probably fine to never include it in
4243 # preloaded symbol tables.
4244 # Exclude shared library initialization/finalization symbols.
4245 dnl Note also adjust exclude_expsyms for C++ above.
4246 extract_expsyms_cmds=
4247
4248 case $host_os in
4249 cygwin* | mingw* | pw32* | cegcc*)
4250 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4251 # When not using gcc, we currently assume that we are using
4252 # Microsoft Visual C++.
4253 if test "$GCC" != yes; then
4254 with_gnu_ld=no
4255 fi
4256 ;;
4257 interix*)
4258 # we just hope/assume this is gcc and not c89 (= MSVC++)
4259 with_gnu_ld=yes
4260 ;;
4261 openbsd*)
4262 with_gnu_ld=no
4263 ;;
4264 esac
4265
4266 _LT_TAGVAR(ld_shlibs, $1)=yes
4267 if test "$with_gnu_ld" = yes; then
4268 # If archive_cmds runs LD, not CC, wlarc should be empty
4269 wlarc='${wl}'
4270
4271 # Set some defaults for GNU ld with shared library support. These
4272 # are reset later if shared libraries are not supported. Putting them
4273 # here allows them to be overridden if necessary.
4274 runpath_var=LD_RUN_PATH
4275 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4276 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4277 # ancient GNU ld didn't support --whole-archive et. al.
4278 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4279 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4280 else
4281 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4282 fi
4283 supports_anon_versioning=no
4284 case `$LD -v 2>&1` in
4285 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4286 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4287 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4288 *\ 2.11.*) ;; # other 2.11 versions
4289 *) supports_anon_versioning=yes ;;
4290 esac
4291
4292 # See if GNU ld supports shared libraries.
4293 case $host_os in
4294 aix[[3-9]]*)
4295 # On AIX/PPC, the GNU linker is very broken
4296 if test "$host_cpu" != ia64; then
4297 _LT_TAGVAR(ld_shlibs, $1)=no
4298 cat <<_LT_EOF 1>&2
4299
4300 *** Warning: the GNU linker, at least up to release 2.9.1, is reported
4301 *** to be unable to reliably create shared libraries on AIX.
4302 *** Therefore, libtool is disabling shared libraries support. If you
4303 *** really care for shared libraries, you may want to modify your PATH
4304 *** so that a non-GNU linker is found, and then restart.
4305
4306 _LT_EOF
4307 fi
4308 ;;
4309
4310 amigaos*)
4311 case $host_cpu in
4312 powerpc)
4313 # see comment about AmigaOS4 .so support
4314 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4315 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4316 ;;
4317 m68k)
4318 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4319 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4320 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4321 ;;
4322 esac
4323 ;;
4324
4325 beos*)
4326 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4327 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4328 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4329 # support --undefined. This deserves some investigation. FIXME
4330 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4331 else
4332 _LT_TAGVAR(ld_shlibs, $1)=no
4333 fi
4334 ;;
4335
4336 cygwin* | mingw* | pw32* | cegcc*)
4337 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4338 # as there is no search path for DLLs.
4339 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4340 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4341 _LT_TAGVAR(always_export_symbols, $1)=no
4342 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4343 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
4344
4345 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4346 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4347 # If the export-symbols file already is a .def file (1st line
4348 # is EXPORTS), use it as is; otherwise, prepend...
4349 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4350 cp $export_symbols $output_objdir/$soname.def;
4351 else
4352 echo EXPORTS > $output_objdir/$soname.def;
4353 cat $export_symbols >> $output_objdir/$soname.def;
4354 fi~
4355 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4356 else
4357 _LT_TAGVAR(ld_shlibs, $1)=no
4358 fi
4359 ;;
4360
4361 interix[[3-9]]*)
4362 _LT_TAGVAR(hardcode_direct, $1)=no
4363 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4364 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4365 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4366 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4367 # Instead, shared libraries are loaded at an image base (0x10000000 by
4368 # default) and relocated if they conflict, which is a slow very memory
4369 # consuming and fragmenting process. To avoid this, we pick a random,
4370 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4371 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
4372 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4373 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4374 ;;
4375
4376 gnu* | linux* | tpf* | k*bsd*-gnu)
4377 tmp_diet=no
4378 if test "$host_os" = linux-dietlibc; then
4379 case $cc_basename in
4380 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4381 esac
4382 fi
4383 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4384 && test "$tmp_diet" = no
4385 then
4386 tmp_addflag=
4387 tmp_sharedflag='-shared'
4388 case $cc_basename,$host_cpu in
4389 pgcc*) # Portland Group C compiler
4390 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4391 tmp_addflag=' $pic_flag'
4392 ;;
4393 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
4394 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4395 tmp_addflag=' $pic_flag -Mnomain' ;;
4396 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
4397 tmp_addflag=' -i_dynamic' ;;
4398 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4399 tmp_addflag=' -i_dynamic -nofor_main' ;;
4400 ifc* | ifort*) # Intel Fortran compiler
4401 tmp_addflag=' -nofor_main' ;;
4402 lf95*) # Lahey Fortran 8.1
4403 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4404 tmp_sharedflag='--shared' ;;
4405 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4406 tmp_sharedflag='-qmkshrobj'
4407 tmp_addflag= ;;
4408 esac
4409 case `$CC -V 2>&1 | sed 5q` in
4410 *Sun\ C*) # Sun C 5.9
4411 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4412 _LT_TAGVAR(compiler_needs_object, $1)=yes
4413 tmp_sharedflag='-G' ;;
4414 *Sun\ F*) # Sun Fortran 8.3
4415 tmp_sharedflag='-G' ;;
4416 esac
4417 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4418
4419 if test "x$supports_anon_versioning" = xyes; then
4420 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4421 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4422 echo "local: *; };" >> $output_objdir/$libname.ver~
4423 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4424 fi
4425
4426 case $cc_basename in
4427 xlf*)
4428 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4429 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4430 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4431 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4432 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
4433 if test "x$supports_anon_versioning" = xyes; then
4434 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4435 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4436 echo "local: *; };" >> $output_objdir/$libname.ver~
4437 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4438 fi
4439 ;;
4440 esac
4441 else
4442 _LT_TAGVAR(ld_shlibs, $1)=no
4443 fi
4444 ;;
4445
4446 netbsd*)
4447 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4448 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4449 wlarc=
4450 else
4451 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4452 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4453 fi
4454 ;;
4455
4456 solaris*)
4457 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4458 _LT_TAGVAR(ld_shlibs, $1)=no
4459 cat <<_LT_EOF 1>&2
4460
4461 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
4462 *** create shared libraries on Solaris systems. Therefore, libtool
4463 *** is disabling shared libraries support. We urge you to upgrade GNU
4464 *** binutils to release 2.9.1 or newer. Another option is to modify
4465 *** your PATH or compiler configuration so that the native linker is
4466 *** used, and then restart.
4467
4468 _LT_EOF
4469 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4470 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4471 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4472 else
4473 _LT_TAGVAR(ld_shlibs, $1)=no
4474 fi
4475 ;;
4476
4477 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4478 case `$LD -v 2>&1` in
4479 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4480 _LT_TAGVAR(ld_shlibs, $1)=no
4481 cat <<_LT_EOF 1>&2
4482
4483 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4484 *** reliably create shared libraries on SCO systems. Therefore, libtool
4485 *** is disabling shared libraries support. We urge you to upgrade GNU
4486 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4487 *** your PATH or compiler configuration so that the native linker is
4488 *** used, and then restart.
4489
4490 _LT_EOF
4491 ;;
4492 *)
4493 # For security reasons, it is highly recommended that you always
4494 # use absolute paths for naming shared libraries, and exclude the
4495 # DT_RUNPATH tag from executables and libraries. But doing so
4496 # requires that you compile everything twice, which is a pain.
4497 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4498 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4499 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4500 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4501 else
4502 _LT_TAGVAR(ld_shlibs, $1)=no
4503 fi
4504 ;;
4505 esac
4506 ;;
4507
4508 sunos4*)
4509 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4510 wlarc=
4511 _LT_TAGVAR(hardcode_direct, $1)=yes
4512 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4513 ;;
4514
4515 *)
4516 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4517 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4518 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4519 else
4520 _LT_TAGVAR(ld_shlibs, $1)=no
4521 fi
4522 ;;
4523 esac
4524
4525 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4526 runpath_var=
4527 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4528 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4529 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4530 fi
4531 else
4532 # PORTME fill in a description of your system's linker (not GNU ld)
4533 case $host_os in
4534 aix3*)
4535 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4536 _LT_TAGVAR(always_export_symbols, $1)=yes
4537 _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
4538 # Note: this linker hardcodes the directories in LIBPATH if there
4539 # are no directories specified by -L.
4540 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4541 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4542 # Neither direct hardcoding nor static linking is supported with a
4543 # broken collect2.
4544 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4545 fi
4546 ;;
4547
4548 aix[[4-9]]*)
4549 if test "$host_cpu" = ia64; then
4550 # On IA64, the linker does run time linking by default, so we don't
4551 # have to do anything special.
4552 aix_use_runtimelinking=no
4553 exp_sym_flag='-Bexport'
4554 no_entry_flag=""
4555 else
4556 # If we're using GNU nm, then we don't want the "-C" option.
4557 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4558 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4559 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4560 else
4561 _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'
4562 fi
4563 aix_use_runtimelinking=no
4564
4565 # Test if we are trying to use run time linking or normal
4566 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
4567 # need to do runtime linking.
4568 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
4569 for ld_flag in $LDFLAGS; do
4570 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4571 aix_use_runtimelinking=yes
4572 break
4573 fi
4574 done
4575 ;;
4576 esac
4577
4578 exp_sym_flag='-bexport'
4579 no_entry_flag='-bnoentry'
4580 fi
4581
4582 # When large executables or shared objects are built, AIX ld can
4583 # have problems creating the table of contents. If linking a library
4584 # or program results in "error TOC overflow" add -mminimal-toc to
4585 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4586 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4587
4588 _LT_TAGVAR(archive_cmds, $1)=''
4589 _LT_TAGVAR(hardcode_direct, $1)=yes
4590 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4591 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4592 _LT_TAGVAR(link_all_deplibs, $1)=yes
4593 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
4594
4595 if test "$GCC" = yes; then
4596 case $host_os in aix4.[[012]]|aix4.[[012]].*)
4597 # We only want to do this on AIX 4.2 and lower, the check
4598 # below for broken collect2 doesn't work under 4.3+
4599 collect2name=`${CC} -print-prog-name=collect2`
4600 if test -f "$collect2name" &&
4601 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
4602 then
4603 # We have reworked collect2
4604 :
4605 else
4606 # We have old collect2
4607 _LT_TAGVAR(hardcode_direct, $1)=unsupported
4608 # It fails to find uninstalled libraries when the uninstalled
4609 # path is not listed in the libpath. Setting hardcode_minus_L
4610 # to unsupported forces relinking
4611 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4612 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4613 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4614 fi
4615 ;;
4616 esac
4617 shared_flag='-shared'
4618 if test "$aix_use_runtimelinking" = yes; then
4619 shared_flag="$shared_flag "'${wl}-G'
4620 fi
4621 else
4622 # not using gcc
4623 if test "$host_cpu" = ia64; then
4624 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4625 # chokes on -Wl,-G. The following line is correct:
4626 shared_flag='-G'
4627 else
4628 if test "$aix_use_runtimelinking" = yes; then
4629 shared_flag='${wl}-G'
4630 else
4631 shared_flag='${wl}-bM:SRE'
4632 fi
4633 fi
4634 fi
4635
4636 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
4637 # It seems that -bexpall does not export symbols beginning with
4638 # underscore (_), so it is better to generate a list of symbols to export.
4639 _LT_TAGVAR(always_export_symbols, $1)=yes
4640 if test "$aix_use_runtimelinking" = yes; then
4641 # Warning - without using the other runtime loading flags (-brtl),
4642 # -berok will link without error, but may produce a broken library.
4643 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4644 # Determine the default libpath from the value encoded in an
4645 # empty executable.
4646 _LT_SYS_MODULE_PATH_AIX
4647 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4648 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
4649 else
4650 if test "$host_cpu" = ia64; then
4651 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4652 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4653 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
4654 else
4655 # Determine the default libpath from the value encoded in an
4656 # empty executable.
4657 _LT_SYS_MODULE_PATH_AIX
4658 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4659 # Warning - without using the other run time loading flags,
4660 # -berok will link without error, but may produce a broken library.
4661 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4662 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4663 # Exported symbols can be pulled into shared objects from archives
4664 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4665 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
4666 # This is similar to how AIX traditionally builds its shared libraries.
4667 _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'
4668 fi
4669 fi
4670 ;;
4671
4672 amigaos*)
4673 case $host_cpu in
4674 powerpc)
4675 # see comment about AmigaOS4 .so support
4676 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4677 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4678 ;;
4679 m68k)
4680 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4681 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4682 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4683 ;;
4684 esac
4685 ;;
4686
4687 bsdi[[45]]*)
4688 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
4689 ;;
4690
4691 cygwin* | mingw* | pw32* | cegcc*)
4692 # When not using gcc, we currently assume that we are using
4693 # Microsoft Visual C++.
4694 # hardcode_libdir_flag_spec is actually meaningless, as there is
4695 # no search path for DLLs.
4696 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4697 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4698 # Tell ltmain to make .lib files, not .a files.
4699 libext=lib
4700 # Tell ltmain to make .dll files, not .so files.
4701 shrext_cmds=".dll"
4702 # FIXME: Setting linknames here is a bad hack.
4703 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4704 # The linker will automatically build a .lib file if we build a DLL.
4705 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
4706 # FIXME: Should let the user specify the lib program.
4707 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4708 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4709 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4710 ;;
4711
4712 darwin* | rhapsody*)
4713 _LT_DARWIN_LINKER_FEATURES($1)
4714 ;;
4715
4716 dgux*)
4717 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4718 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4719 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4720 ;;
4721
4722 freebsd1*)
4723 _LT_TAGVAR(ld_shlibs, $1)=no
4724 ;;
4725
4726 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4727 # support. Future versions do this automatically, but an explicit c++rt0.o
4728 # does not break anything, and helps significantly (at the cost of a little
4729 # extra space).
4730 freebsd2.2*)
4731 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4732 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4733 _LT_TAGVAR(hardcode_direct, $1)=yes
4734 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4735 ;;
4736
4737 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4738 freebsd2*)
4739 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4740 _LT_TAGVAR(hardcode_direct, $1)=yes
4741 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4742 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4743 ;;
4744
4745 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4746 freebsd* | dragonfly*)
4747 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4748 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4749 _LT_TAGVAR(hardcode_direct, $1)=yes
4750 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4751 ;;
4752
4753 hpux9*)
4754 if test "$GCC" = yes; then
4755 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4756 else
4757 _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'
4758 fi
4759 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4760 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4761 _LT_TAGVAR(hardcode_direct, $1)=yes
4762
4763 # hardcode_minus_L: Not really in the search PATH,
4764 # but as the default location of the library.
4765 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4766 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4767 ;;
4768
4769 hpux10*)
4770 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4771 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4772 else
4773 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4774 fi
4775 if test "$with_gnu_ld" = no; then
4776 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4777 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4778 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4779 _LT_TAGVAR(hardcode_direct, $1)=yes
4780 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4781 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4782 # hardcode_minus_L: Not really in the search PATH,
4783 # but as the default location of the library.
4784 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4785 fi
4786 ;;
4787
4788 hpux11*)
4789 if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4790 case $host_cpu in
4791 hppa*64*)
4792 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4793 ;;
4794 ia64*)
4795 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4796 ;;
4797 *)
4798 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4799 ;;
4800 esac
4801 else
4802 case $host_cpu in
4803 hppa*64*)
4804 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4805 ;;
4806 ia64*)
4807 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4808 ;;
4809 *)
4810 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4811 ;;
4812 esac
4813 fi
4814 if test "$with_gnu_ld" = no; then
4815 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4816 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4817
4818 case $host_cpu in
4819 hppa*64*|ia64*)
4820 _LT_TAGVAR(hardcode_direct, $1)=no
4821 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4822 ;;
4823 *)
4824 _LT_TAGVAR(hardcode_direct, $1)=yes
4825 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4826 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4827
4828 # hardcode_minus_L: Not really in the search PATH,
4829 # but as the default location of the library.
4830 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4831 ;;
4832 esac
4833 fi
4834 ;;
4835
4836 irix5* | irix6* | nonstopux*)
4837 if test "$GCC" = yes; then
4838 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4839 # Try to use the -exported_symbol ld option, if it does not
4840 # work, assume that -exports_file does not work either and
4841 # implicitly export all symbols.
4842 save_LDFLAGS="$LDFLAGS"
4843 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4844 AC_LINK_IFELSE(int foo(void) {},
4845 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
4846 )
4847 LDFLAGS="$save_LDFLAGS"
4848 else
4849 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4850 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
4851 fi
4852 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4853 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4854 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4855 _LT_TAGVAR(inherit_rpath, $1)=yes
4856 _LT_TAGVAR(link_all_deplibs, $1)=yes
4857 ;;
4858
4859 netbsd*)
4860 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4861 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
4862 else
4863 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
4864 fi
4865 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4866 _LT_TAGVAR(hardcode_direct, $1)=yes
4867 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4868 ;;
4869
4870 newsos6)
4871 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4872 _LT_TAGVAR(hardcode_direct, $1)=yes
4873 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4874 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4875 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4876 ;;
4877
4878 *nto* | *qnx*)
4879 ;;
4880
4881 openbsd*)
4882 if test -f /usr/libexec/ld.so; then
4883 _LT_TAGVAR(hardcode_direct, $1)=yes
4884 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4885 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4886 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4887 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4888 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4889 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4890 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4891 else
4892 case $host_os in
4893 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4894 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4895 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4896 ;;
4897 *)
4898 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4899 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4900 ;;
4901 esac
4902 fi
4903 else
4904 _LT_TAGVAR(ld_shlibs, $1)=no
4905 fi
4906 ;;
4907
4908 os2*)
4909 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4910 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4911 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4912 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
4913 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4914 ;;
4915
4916 osf3*)
4917 if test "$GCC" = yes; then
4918 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4919 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4920 else
4921 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4922 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4923 fi
4924 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4925 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4926 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4927 ;;
4928
4929 osf4* | osf5*) # as osf3* with the addition of -msym flag
4930 if test "$GCC" = yes; then
4931 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4932 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4933 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4934 else
4935 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4936 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4937 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
4938 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
4939
4940 # Both c and cxx compiler support -rpath directly
4941 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4942 fi
4943 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4944 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4945 ;;
4946
4947 solaris*)
4948 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
4949 if test "$GCC" = yes; then
4950 wlarc='${wl}'
4951 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4952 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4953 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4954 else
4955 case `$CC -V 2>&1` in
4956 *"Compilers 5.0"*)
4957 wlarc=''
4958 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4959 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4960 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4961 ;;
4962 *)
4963 wlarc='${wl}'
4964 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4965 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4966 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4967 ;;
4968 esac
4969 fi
4970 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4971 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4972 case $host_os in
4973 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4974 *)
4975 # The compiler driver will combine and reorder linker options,
4976 # but understands `-z linker_flag'. GCC discards it without `$wl',
4977 # but is careful enough not to reorder.
4978 # Supported since Solaris 2.6 (maybe 2.5.1?)
4979 if test "$GCC" = yes; then
4980 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
4981 else
4982 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
4983 fi
4984 ;;
4985 esac
4986 _LT_TAGVAR(link_all_deplibs, $1)=yes
4987 ;;
4988
4989 sunos4*)
4990 if test "x$host_vendor" = xsequent; then
4991 # Use $CC to link under sequent, because it throws in some extra .o
4992 # files that make .init and .fini sections work.
4993 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
4994 else
4995 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
4996 fi
4997 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4998 _LT_TAGVAR(hardcode_direct, $1)=yes
4999 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5000 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5001 ;;
5002
5003 sysv4)
5004 case $host_vendor in
5005 sni)
5006 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5007 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5008 ;;
5009 siemens)
5010 ## LD is ld it makes a PLAMLIB
5011 ## CC just makes a GrossModule.
5012 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5013 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5014 _LT_TAGVAR(hardcode_direct, $1)=no
5015 ;;
5016 motorola)
5017 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5018 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5019 ;;
5020 esac
5021 runpath_var='LD_RUN_PATH'
5022 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5023 ;;
5024
5025 sysv4.3*)
5026 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5027 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5028 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5029 ;;
5030
5031 sysv4*MP*)
5032 if test -d /usr/nec; then
5033 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5034 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5035 runpath_var=LD_RUN_PATH
5036 hardcode_runpath_var=yes
5037 _LT_TAGVAR(ld_shlibs, $1)=yes
5038 fi
5039 ;;
5040
5041 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5042 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5043 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5044 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5045 runpath_var='LD_RUN_PATH'
5046
5047 if test "$GCC" = yes; then
5048 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5049 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5050 else
5051 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5052 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5053 fi
5054 ;;
5055
5056 sysv5* | sco3.2v5* | sco5v6*)
5057 # Note: We can NOT use -z defs as we might desire, because we do not
5058 # link with -lc, and that would cause any symbols used from libc to
5059 # always be unresolved, which means just about no library would
5060 # ever link correctly. If we're not using GNU ld we use -z text
5061 # though, which does catch some bad symbols but isn't as heavy-handed
5062 # as -z defs.
5063 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5064 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5065 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5066 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5067 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5068 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5069 _LT_TAGVAR(link_all_deplibs, $1)=yes
5070 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5071 runpath_var='LD_RUN_PATH'
5072
5073 if test "$GCC" = yes; then
5074 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5075 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5076 else
5077 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5078 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5079 fi
5080 ;;
5081
5082 uts4*)
5083 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5084 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5085 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5086 ;;
5087
5088 *)
5089 _LT_TAGVAR(ld_shlibs, $1)=no
5090 ;;
5091 esac
5092
5093 if test x$host_vendor = xsni; then
5094 case $host in
5095 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5096 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5097 ;;
5098 esac
5099 fi
5100 fi
5101 ])
5102 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5103 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5104
5105 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5106
5107 _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5108 _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5109 _LT_DECL([], [extract_expsyms_cmds], [2],
5110 [The commands to extract the exported symbol list from a shared archive])
5111
5112 #
5113 # Do we need to explicitly link libc?
5114 #
5115 case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5116 x|xyes)
5117 # Assume -lc should be added
5118 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5119
5120 if test "$enable_shared" = yes && test "$GCC" = yes; then
5121 case $_LT_TAGVAR(archive_cmds, $1) in
5122 *'~'*)
5123 # FIXME: we may have to deal with multi-command sequences.
5124 ;;
5125 '$CC '*)
5126 # Test whether the compiler implicitly links with -lc since on some
5127 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5128 # to ld, don't add -lc before -lgcc.
5129 AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5130 $RM conftest*
5131 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5132
5133 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5134 soname=conftest
5135 lib=conftest
5136 libobjs=conftest.$ac_objext
5137 deplibs=
5138 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5139 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5140 compiler_flags=-v
5141 linker_flags=-v
5142 verstring=
5143 output_objdir=.
5144 libname=conftest
5145 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5146 _LT_TAGVAR(allow_undefined_flag, $1)=
5147 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5148 then
5149 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5150 else
5151 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5152 fi
5153 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5154 else
5155 cat conftest.err 1>&5
5156 fi
5157 $RM conftest*
5158 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
5159 ;;
5160 esac
5161 fi
5162 ;;
5163 esac
5164
5165 _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5166 [Whether or not to add -lc for building shared libraries])
5167 _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5168 [enable_shared_with_static_runtimes], [0],
5169 [Whether or not to disallow shared libs when runtime libs are static])
5170 _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5171 [Compiler flag to allow reflexive dlopens])
5172 _LT_TAGDECL([], [whole_archive_flag_spec], [1],
5173 [Compiler flag to generate shared objects directly from archives])
5174 _LT_TAGDECL([], [compiler_needs_object], [1],
5175 [Whether the compiler copes with passing no objects directly])
5176 _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5177 [Create an old-style archive from a shared archive])
5178 _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5179 [Create a temporary old-style archive to link instead of a shared archive])
5180 _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5181 _LT_TAGDECL([], [archive_expsym_cmds], [2])
5182 _LT_TAGDECL([], [module_cmds], [2],
5183 [Commands used to build a loadable module if different from building
5184 a shared archive.])
5185 _LT_TAGDECL([], [module_expsym_cmds], [2])
5186 _LT_TAGDECL([], [with_gnu_ld], [1],
5187 [Whether we are building with GNU ld or not])
5188 _LT_TAGDECL([], [allow_undefined_flag], [1],
5189 [Flag that allows shared libraries with undefined symbols to be built])
5190 _LT_TAGDECL([], [no_undefined_flag], [1],
5191 [Flag that enforces no undefined symbols])
5192 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5193 [Flag to hardcode $libdir into a binary during linking.
5194 This must work even if $libdir does not exist])
5195 _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5196 [[If ld is used when linking, flag to hardcode $libdir into a binary
5197 during linking. This must work even if $libdir does not exist]])
5198 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
5199 [Whether we need a single "-rpath" flag with a separated argument])
5200 _LT_TAGDECL([], [hardcode_direct], [0],
5201 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5202 DIR into the resulting binary])
5203 _LT_TAGDECL([], [hardcode_direct_absolute], [0],
5204 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5205 DIR into the resulting binary and the resulting library dependency is
5206 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5207 library is relocated])
5208 _LT_TAGDECL([], [hardcode_minus_L], [0],
5209 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5210 into the resulting binary])
5211 _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5212 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5213 into the resulting binary])
5214 _LT_TAGDECL([], [hardcode_automatic], [0],
5215 [Set to "yes" if building a shared library automatically hardcodes DIR
5216 into the library and all subsequent libraries and executables linked
5217 against it])
5218 _LT_TAGDECL([], [inherit_rpath], [0],
5219 [Set to yes if linker adds runtime paths of dependent libraries
5220 to runtime path list])
5221 _LT_TAGDECL([], [link_all_deplibs], [0],
5222 [Whether libtool must link a program against all its dependency libraries])
5223 _LT_TAGDECL([], [fix_srcfile_path], [1],
5224 [Fix the shell variable $srcfile for the compiler])
5225 _LT_TAGDECL([], [always_export_symbols], [0],
5226 [Set to "yes" if exported symbols are required])
5227 _LT_TAGDECL([], [export_symbols_cmds], [2],
5228 [The commands to list exported symbols])
5229 _LT_TAGDECL([], [exclude_expsyms], [1],
5230 [Symbols that should not be listed in the preloaded symbols])
5231 _LT_TAGDECL([], [include_expsyms], [1],
5232 [Symbols that must always be exported])
5233 _LT_TAGDECL([], [prelink_cmds], [2],
5234 [Commands necessary for linking programs (against libraries) with templates])
5235 _LT_TAGDECL([], [file_list_spec], [1],
5236 [Specify filename containing input files])
5237 dnl FIXME: Not yet implemented
5238 dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5239 dnl [Compiler flag to generate thread safe objects])
5240 ])# _LT_LINKER_SHLIBS
5241
5242
5243 # _LT_LANG_C_CONFIG([TAG])
5244 # ------------------------
5245 # Ensure that the configuration variables for a C compiler are suitably
5246 # defined. These variables are subsequently used by _LT_CONFIG to write
5247 # the compiler configuration to `libtool'.
5248 m4_defun([_LT_LANG_C_CONFIG],
5249 [m4_require([_LT_DECL_EGREP])dnl
5250 lt_save_CC="$CC"
5251 AC_LANG_PUSH(C)
5252
5253 # Source file extension for C test sources.
5254 ac_ext=c
5255
5256 # Object file extension for compiled C test sources.
5257 objext=o
5258 _LT_TAGVAR(objext, $1)=$objext
5259
5260 # Code to be used in simple compile tests
5261 lt_simple_compile_test_code="int some_variable = 0;"
5262
5263 # Code to be used in simple link tests
5264 lt_simple_link_test_code='int main(){return(0);}'
5265
5266 _LT_TAG_COMPILER
5267 # Save the default compiler, since it gets overwritten when the other
5268 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5269 compiler_DEFAULT=$CC
5270
5271 # save warnings/boilerplate of simple test code
5272 _LT_COMPILER_BOILERPLATE
5273 _LT_LINKER_BOILERPLATE
5274
5275 if test -n "$compiler"; then
5276 _LT_COMPILER_NO_RTTI($1)
5277 _LT_COMPILER_PIC($1)
5278 _LT_COMPILER_C_O($1)
5279 _LT_COMPILER_FILE_LOCKS($1)
5280 _LT_LINKER_SHLIBS($1)
5281 _LT_SYS_DYNAMIC_LINKER($1)
5282 _LT_LINKER_HARDCODE_LIBPATH($1)
5283 LT_SYS_DLOPEN_SELF
5284 _LT_CMD_STRIPLIB
5285
5286 # Report which library types will actually be built
5287 AC_MSG_CHECKING([if libtool supports shared libraries])
5288 AC_MSG_RESULT([$can_build_shared])
5289
5290 AC_MSG_CHECKING([whether to build shared libraries])
5291 test "$can_build_shared" = "no" && enable_shared=no
5292
5293 # On AIX, shared libraries and static libraries use the same namespace, and
5294 # are all built from PIC.
5295 case $host_os in
5296 aix3*)
5297 test "$enable_shared" = yes && enable_static=no
5298 if test -n "$RANLIB"; then
5299 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5300 postinstall_cmds='$RANLIB $lib'
5301 fi
5302 ;;
5303
5304 aix[[4-9]]*)
5305 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5306 test "$enable_shared" = yes && enable_static=no
5307 fi
5308 ;;
5309 esac
5310 AC_MSG_RESULT([$enable_shared])
5311
5312 AC_MSG_CHECKING([whether to build static libraries])
5313 # Make sure either enable_shared or enable_static is yes.
5314 test "$enable_shared" = yes || enable_static=yes
5315 AC_MSG_RESULT([$enable_static])
5316
5317 _LT_CONFIG($1)
5318 fi
5319 AC_LANG_POP
5320 CC="$lt_save_CC"
5321 ])# _LT_LANG_C_CONFIG
5322
5323
5324 # _LT_PROG_CXX
5325 # ------------
5326 # Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5327 # compiler, we have our own version here.
5328 m4_defun([_LT_PROG_CXX],
5329 [
5330 pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5331 AC_PROG_CXX
5332 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5333 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5334 (test "X$CXX" != "Xg++"))) ; then
5335 AC_PROG_CXXCPP
5336 else
5337 _lt_caught_CXX_error=yes
5338 fi
5339 popdef([AC_MSG_ERROR])
5340 ])# _LT_PROG_CXX
5341
5342 dnl aclocal-1.4 backwards compatibility:
5343 dnl AC_DEFUN([_LT_PROG_CXX], [])
5344
5345
5346 # _LT_LANG_CXX_CONFIG([TAG])
5347 # --------------------------
5348 # Ensure that the configuration variables for a C++ compiler are suitably
5349 # defined. These variables are subsequently used by _LT_CONFIG to write
5350 # the compiler configuration to `libtool'.
5351 m4_defun([_LT_LANG_CXX_CONFIG],
5352 [AC_REQUIRE([_LT_PROG_CXX])dnl
5353 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5354 m4_require([_LT_DECL_EGREP])dnl
5355
5356 AC_LANG_PUSH(C++)
5357 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5358 _LT_TAGVAR(allow_undefined_flag, $1)=
5359 _LT_TAGVAR(always_export_symbols, $1)=no
5360 _LT_TAGVAR(archive_expsym_cmds, $1)=
5361 _LT_TAGVAR(compiler_needs_object, $1)=no
5362 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5363 _LT_TAGVAR(hardcode_direct, $1)=no
5364 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5365 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5366 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5367 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5368 _LT_TAGVAR(hardcode_minus_L, $1)=no
5369 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5370 _LT_TAGVAR(hardcode_automatic, $1)=no
5371 _LT_TAGVAR(inherit_rpath, $1)=no
5372 _LT_TAGVAR(module_cmds, $1)=
5373 _LT_TAGVAR(module_expsym_cmds, $1)=
5374 _LT_TAGVAR(link_all_deplibs, $1)=unknown
5375 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5376 _LT_TAGVAR(no_undefined_flag, $1)=
5377 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5378 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5379
5380 # Source file extension for C++ test sources.
5381 ac_ext=cpp
5382
5383 # Object file extension for compiled C++ test sources.
5384 objext=o
5385 _LT_TAGVAR(objext, $1)=$objext
5386
5387 # No sense in running all these tests if we already determined that
5388 # the CXX compiler isn't working. Some variables (like enable_shared)
5389 # are currently assumed to apply to all compilers on this platform,
5390 # and will be corrupted by setting them based on a non-working compiler.
5391 if test "$_lt_caught_CXX_error" != yes; then
5392 # Code to be used in simple compile tests
5393 lt_simple_compile_test_code="int some_variable = 0;"
5394
5395 # Code to be used in simple link tests
5396 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5397
5398 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5399 _LT_TAG_COMPILER
5400
5401 # save warnings/boilerplate of simple test code
5402 _LT_COMPILER_BOILERPLATE
5403 _LT_LINKER_BOILERPLATE
5404
5405 # Allow CC to be a program name with arguments.
5406 lt_save_CC=$CC
5407 lt_save_LD=$LD
5408 lt_save_GCC=$GCC
5409 GCC=$GXX
5410 lt_save_with_gnu_ld=$with_gnu_ld
5411 lt_save_path_LD=$lt_cv_path_LD
5412 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5413 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5414 else
5415 $as_unset lt_cv_prog_gnu_ld
5416 fi
5417 if test -n "${lt_cv_path_LDCXX+set}"; then
5418 lt_cv_path_LD=$lt_cv_path_LDCXX
5419 else
5420 $as_unset lt_cv_path_LD
5421 fi
5422 test -z "${LDCXX+set}" || LD=$LDCXX
5423 CC=${CXX-"c++"}
5424 compiler=$CC
5425 _LT_TAGVAR(compiler, $1)=$CC
5426 _LT_CC_BASENAME([$compiler])
5427
5428 if test -n "$compiler"; then
5429 # We don't want -fno-exception when compiling C++ code, so set the
5430 # no_builtin_flag separately
5431 if test "$GXX" = yes; then
5432 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5433 else
5434 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5435 fi
5436
5437 if test "$GXX" = yes; then
5438 # Set up default GNU C++ configuration
5439
5440 LT_PATH_LD
5441
5442 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5443 # archiving commands below assume that GNU ld is being used.
5444 if test "$with_gnu_ld" = yes; then
5445 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5446 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5447
5448 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5449 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5450
5451 # If archive_cmds runs LD, not CC, wlarc should be empty
5452 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5453 # investigate it a little bit more. (MM)
5454 wlarc='${wl}'
5455
5456 # ancient GNU ld didn't support --whole-archive et. al.
5457 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5458 $GREP 'no-whole-archive' > /dev/null; then
5459 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5460 else
5461 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5462 fi
5463 else
5464 with_gnu_ld=no
5465 wlarc=
5466
5467 # A generic and very simple default shared library creation
5468 # command for GNU C++ for the case where it uses the native
5469 # linker, instead of GNU ld. If possible, this setting should
5470 # overridden to take advantage of the native linker features on
5471 # the platform it is being used on.
5472 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5473 fi
5474
5475 # Commands to make compiler produce verbose output that lists
5476 # what "hidden" libraries, object files and flags are used when
5477 # linking a shared library.
5478 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
5479
5480 else
5481 GXX=no
5482 with_gnu_ld=no
5483 wlarc=
5484 fi
5485
5486 # PORTME: fill in a description of your system's C++ link characteristics
5487 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5488 _LT_TAGVAR(ld_shlibs, $1)=yes
5489 case $host_os in
5490 aix3*)
5491 # FIXME: insert proper C++ library support
5492 _LT_TAGVAR(ld_shlibs, $1)=no
5493 ;;
5494 aix[[4-9]]*)
5495 if test "$host_cpu" = ia64; then
5496 # On IA64, the linker does run time linking by default, so we don't
5497 # have to do anything special.
5498 aix_use_runtimelinking=no
5499 exp_sym_flag='-Bexport'
5500 no_entry_flag=""
5501 else
5502 aix_use_runtimelinking=no
5503
5504 # Test if we are trying to use run time linking or normal
5505 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5506 # need to do runtime linking.
5507 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5508 for ld_flag in $LDFLAGS; do
5509 case $ld_flag in
5510 *-brtl*)
5511 aix_use_runtimelinking=yes
5512 break
5513 ;;
5514 esac
5515 done
5516 ;;
5517 esac
5518
5519 exp_sym_flag='-bexport'
5520 no_entry_flag='-bnoentry'
5521 fi
5522
5523 # When large executables or shared objects are built, AIX ld can
5524 # have problems creating the table of contents. If linking a library
5525 # or program results in "error TOC overflow" add -mminimal-toc to
5526 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5527 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5528
5529 _LT_TAGVAR(archive_cmds, $1)=''
5530 _LT_TAGVAR(hardcode_direct, $1)=yes
5531 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5532 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5533 _LT_TAGVAR(link_all_deplibs, $1)=yes
5534 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5535
5536 if test "$GXX" = yes; then
5537 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5538 # We only want to do this on AIX 4.2 and lower, the check
5539 # below for broken collect2 doesn't work under 4.3+
5540 collect2name=`${CC} -print-prog-name=collect2`
5541 if test -f "$collect2name" &&
5542 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5543 then
5544 # We have reworked collect2
5545 :
5546 else
5547 # We have old collect2
5548 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5549 # It fails to find uninstalled libraries when the uninstalled
5550 # path is not listed in the libpath. Setting hardcode_minus_L
5551 # to unsupported forces relinking
5552 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5553 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5554 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5555 fi
5556 esac
5557 shared_flag='-shared'
5558 if test "$aix_use_runtimelinking" = yes; then
5559 shared_flag="$shared_flag "'${wl}-G'
5560 fi
5561 else
5562 # not using gcc
5563 if test "$host_cpu" = ia64; then
5564 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5565 # chokes on -Wl,-G. The following line is correct:
5566 shared_flag='-G'
5567 else
5568 if test "$aix_use_runtimelinking" = yes; then
5569 shared_flag='${wl}-G'
5570 else
5571 shared_flag='${wl}-bM:SRE'
5572 fi
5573 fi
5574 fi
5575
5576 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5577 # It seems that -bexpall does not export symbols beginning with
5578 # underscore (_), so it is better to generate a list of symbols to
5579 # export.
5580 _LT_TAGVAR(always_export_symbols, $1)=yes
5581 if test "$aix_use_runtimelinking" = yes; then
5582 # Warning - without using the other runtime loading flags (-brtl),
5583 # -berok will link without error, but may produce a broken library.
5584 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5585 # Determine the default libpath from the value encoded in an empty
5586 # executable.
5587 _LT_SYS_MODULE_PATH_AIX
5588 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5589
5590 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5591 else
5592 if test "$host_cpu" = ia64; then
5593 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5594 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5595 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5596 else
5597 # Determine the default libpath from the value encoded in an
5598 # empty executable.
5599 _LT_SYS_MODULE_PATH_AIX
5600 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5601 # Warning - without using the other run time loading flags,
5602 # -berok will link without error, but may produce a broken library.
5603 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5604 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5605 # Exported symbols can be pulled into shared objects from archives
5606 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5607 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5608 # This is similar to how AIX traditionally builds its shared
5609 # libraries.
5610 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5611 fi
5612 fi
5613 ;;
5614
5615 beos*)
5616 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5617 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5618 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5619 # support --undefined. This deserves some investigation. FIXME
5620 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5621 else
5622 _LT_TAGVAR(ld_shlibs, $1)=no
5623 fi
5624 ;;
5625
5626 chorus*)
5627 case $cc_basename in
5628 *)
5629 # FIXME: insert proper C++ library support
5630 _LT_TAGVAR(ld_shlibs, $1)=no
5631 ;;
5632 esac
5633 ;;
5634
5635 cygwin* | mingw* | pw32* | cegcc*)
5636 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5637 # as there is no search path for DLLs.
5638 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5639 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5640 _LT_TAGVAR(always_export_symbols, $1)=no
5641 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5642
5643 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5644 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5645 # If the export-symbols file already is a .def file (1st line
5646 # is EXPORTS), use it as is; otherwise, prepend...
5647 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5648 cp $export_symbols $output_objdir/$soname.def;
5649 else
5650 echo EXPORTS > $output_objdir/$soname.def;
5651 cat $export_symbols >> $output_objdir/$soname.def;
5652 fi~
5653 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5654 else
5655 _LT_TAGVAR(ld_shlibs, $1)=no
5656 fi
5657 ;;
5658 darwin* | rhapsody*)
5659 _LT_DARWIN_LINKER_FEATURES($1)
5660 ;;
5661
5662 dgux*)
5663 case $cc_basename in
5664 ec++*)
5665 # FIXME: insert proper C++ library support
5666 _LT_TAGVAR(ld_shlibs, $1)=no
5667 ;;
5668 ghcx*)
5669 # Green Hills C++ Compiler
5670 # FIXME: insert proper C++ library support
5671 _LT_TAGVAR(ld_shlibs, $1)=no
5672 ;;
5673 *)
5674 # FIXME: insert proper C++ library support
5675 _LT_TAGVAR(ld_shlibs, $1)=no
5676 ;;
5677 esac
5678 ;;
5679
5680 freebsd[[12]]*)
5681 # C++ shared libraries reported to be fairly broken before
5682 # switch to ELF
5683 _LT_TAGVAR(ld_shlibs, $1)=no
5684 ;;
5685
5686 freebsd-elf*)
5687 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5688 ;;
5689
5690 freebsd* | dragonfly*)
5691 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5692 # conventions
5693 _LT_TAGVAR(ld_shlibs, $1)=yes
5694 ;;
5695
5696 gnu*)
5697 ;;
5698
5699 hpux9*)
5700 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5701 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5702 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5703 _LT_TAGVAR(hardcode_direct, $1)=yes
5704 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5705 # but as the default
5706 # location of the library.
5707
5708 case $cc_basename in
5709 CC*)
5710 # FIXME: insert proper C++ library support
5711 _LT_TAGVAR(ld_shlibs, $1)=no
5712 ;;
5713 aCC*)
5714 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5715 # Commands to make compiler produce verbose output that lists
5716 # what "hidden" libraries, object files and flags are used when
5717 # linking a shared library.
5718 #
5719 # There doesn't appear to be a way to prevent this compiler from
5720 # explicitly linking system object files so we need to strip them
5721 # from the output so that they don't get included in the library
5722 # dependencies.
5723 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $temp