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