libtool.m4 revision 1.1.1.1 1 1.1 mrg # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2 1.1 mrg #
3 1.1 mrg # Copyright (C) 1996-2001, 2003-2019, 2021-2024 Free Software
4 1.1 mrg # Foundation, Inc.
5 1.1 mrg # Written by Gordon Matzigkeit, 1996
6 1.1 mrg #
7 1.1 mrg # This file is free software; the Free Software Foundation gives
8 1.1 mrg # unlimited permission to copy and/or distribute it, with or without
9 1.1 mrg # modifications, as long as this notice is preserved.
10 1.1 mrg
11 1.1 mrg m4_define([_LT_COPYING], [dnl
12 1.1 mrg # Copyright (C) 2024 Free Software Foundation, Inc.
13 1.1 mrg # This is free software; see the source for copying conditions. There is NO
14 1.1 mrg # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 1.1 mrg
16 1.1 mrg # GNU Libtool is free software; you can redistribute it and/or modify
17 1.1 mrg # it under the terms of the GNU General Public License as published by
18 1.1 mrg # the Free Software Foundation; either version 2 of the License, or
19 1.1 mrg # (at your option) any later version.
20 1.1 mrg #
21 1.1 mrg # As a special exception to the GNU General Public License, if you
22 1.1 mrg # distribute this file as part of a program or library that is built
23 1.1 mrg # using GNU Libtool, you may include this file under the same
24 1.1 mrg # distribution terms that you use for the rest of that program.
25 1.1 mrg #
26 1.1 mrg # GNU Libtool is distributed in the hope that it will be useful, but
27 1.1 mrg # WITHOUT ANY WARRANTY; without even the implied warranty of
28 1.1 mrg # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 1.1 mrg # GNU General Public License for more details.
30 1.1 mrg #
31 1.1 mrg # You should have received a copy of the GNU General Public License
32 1.1 mrg # along with this program. If not, see <http://www.gnu.org/licenses/>.
33 1.1 mrg ])
34 1.1 mrg
35 1.1 mrg # serial 63 LT_INIT
36 1.1 mrg
37 1.1 mrg
38 1.1 mrg # LT_PREREQ(VERSION)
39 1.1 mrg # ------------------
40 1.1 mrg # Complain and exit if this libtool version is less that VERSION.
41 1.1 mrg m4_defun([LT_PREREQ],
42 1.1 mrg [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
43 1.1 mrg [m4_default([$3],
44 1.1 mrg [m4_fatal([Libtool version $1 or higher is required],
45 1.1 mrg 63)])],
46 1.1 mrg [$2])])
47 1.1 mrg
48 1.1 mrg
49 1.1 mrg # _LT_CHECK_BUILDDIR
50 1.1 mrg # ------------------
51 1.1 mrg # Complain if the absolute build directory name contains unusual characters
52 1.1 mrg m4_defun([_LT_CHECK_BUILDDIR],
53 1.1 mrg [case `pwd` in
54 1.1 mrg *\ * | *\ *)
55 1.1 mrg AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
56 1.1 mrg esac
57 1.1 mrg ])
58 1.1 mrg
59 1.1 mrg
60 1.1 mrg # LT_INIT([OPTIONS])
61 1.1 mrg # ------------------
62 1.1 mrg AC_DEFUN([LT_INIT],
63 1.1 mrg [AC_PREREQ([2.64])dnl We use AC_PATH_PROGS_FEATURE_CHECK
64 1.1 mrg AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
65 1.1 mrg AC_BEFORE([$0], [LT_LANG])dnl
66 1.1 mrg AC_BEFORE([$0], [LT_OUTPUT])dnl
67 1.1 mrg AC_BEFORE([$0], [LTDL_INIT])dnl
68 1.1 mrg m4_require([_LT_CHECK_BUILDDIR])dnl
69 1.1 mrg
70 1.1 mrg dnl Autoconf doesn't catch unexpanded LT_ macros by default:
71 1.1 mrg m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
72 1.1 mrg m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
73 1.1 mrg dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
74 1.1 mrg dnl unless we require an AC_DEFUNed macro:
75 1.1 mrg AC_REQUIRE([LTOPTIONS_VERSION])dnl
76 1.1 mrg AC_REQUIRE([LTSUGAR_VERSION])dnl
77 1.1 mrg AC_REQUIRE([LTVERSION_VERSION])dnl
78 1.1 mrg AC_REQUIRE([LTOBSOLETE_VERSION])dnl
79 1.1 mrg m4_require([_LT_PROG_LTMAIN])dnl
80 1.1 mrg
81 1.1 mrg _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
82 1.1 mrg
83 1.1 mrg dnl Parse OPTIONS
84 1.1 mrg _LT_SET_OPTIONS([$0], [$1])
85 1.1 mrg
86 1.1 mrg # This can be used to rebuild libtool when needed
87 1.1 mrg LIBTOOL_DEPS=$ltmain
88 1.1 mrg
89 1.1 mrg # Always use our own libtool.
90 1.1 mrg LIBTOOL='$(SHELL) $(top_builddir)/libtool'
91 1.1 mrg AC_SUBST(LIBTOOL)dnl
92 1.1 mrg
93 1.1 mrg _LT_SETUP
94 1.1 mrg
95 1.1 mrg # Only expand once:
96 1.1 mrg m4_define([LT_INIT])
97 1.1 mrg ])# LT_INIT
98 1.1 mrg
99 1.1 mrg # Old names:
100 1.1 mrg AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
101 1.1 mrg AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
102 1.1 mrg dnl aclocal-1.4 backwards compatibility:
103 1.1 mrg dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
104 1.1 mrg dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
105 1.1 mrg
106 1.1 mrg
107 1.1 mrg # _LT_PREPARE_CC_BASENAME
108 1.1 mrg # -----------------------
109 1.1 mrg m4_defun([_LT_PREPARE_CC_BASENAME], [
110 1.1 mrg # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
111 1.1 mrg func_cc_basename ()
112 1.1 mrg {
113 1.1 mrg for cc_temp in @S|@*""; do
114 1.1 mrg case $cc_temp in
115 1.1 mrg compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
116 1.1 mrg distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
117 1.1 mrg \-*) ;;
118 1.1 mrg *) break;;
119 1.1 mrg esac
120 1.1 mrg done
121 1.1 mrg func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
122 1.1 mrg }
123 1.1 mrg ])# _LT_PREPARE_CC_BASENAME
124 1.1 mrg
125 1.1 mrg
126 1.1 mrg # _LT_CC_BASENAME(CC)
127 1.1 mrg # -------------------
128 1.1 mrg # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
129 1.1 mrg # but that macro is also expanded into generated libtool script, which
130 1.1 mrg # arranges for $SED and $ECHO to be set by different means.
131 1.1 mrg m4_defun([_LT_CC_BASENAME],
132 1.1 mrg [m4_require([_LT_PREPARE_CC_BASENAME])dnl
133 1.1 mrg AC_REQUIRE([_LT_DECL_SED])dnl
134 1.1 mrg AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
135 1.1 mrg func_cc_basename $1
136 1.1 mrg cc_basename=$func_cc_basename_result
137 1.1 mrg ])
138 1.1 mrg
139 1.1 mrg
140 1.1 mrg # _LT_FILEUTILS_DEFAULTS
141 1.1 mrg # ----------------------
142 1.1 mrg # It is okay to use these file commands and assume they have been set
143 1.1 mrg # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
144 1.1 mrg m4_defun([_LT_FILEUTILS_DEFAULTS],
145 1.1 mrg [: ${CP="cp -f"}
146 1.1 mrg : ${MV="mv -f"}
147 1.1 mrg : ${RM="rm -f"}
148 1.1 mrg ])# _LT_FILEUTILS_DEFAULTS
149 1.1 mrg
150 1.1 mrg
151 1.1 mrg # _LT_SETUP
152 1.1 mrg # ---------
153 1.1 mrg m4_defun([_LT_SETUP],
154 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
155 1.1 mrg AC_REQUIRE([AC_CANONICAL_BUILD])dnl
156 1.1 mrg AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
157 1.1 mrg AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
158 1.1 mrg
159 1.1 mrg _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
160 1.1 mrg dnl
161 1.1 mrg _LT_DECL([], [host_alias], [0], [The host system])dnl
162 1.1 mrg _LT_DECL([], [host], [0])dnl
163 1.1 mrg _LT_DECL([], [host_os], [0])dnl
164 1.1 mrg dnl
165 1.1 mrg _LT_DECL([], [build_alias], [0], [The build system])dnl
166 1.1 mrg _LT_DECL([], [build], [0])dnl
167 1.1 mrg _LT_DECL([], [build_os], [0])dnl
168 1.1 mrg dnl
169 1.1 mrg AC_REQUIRE([AC_PROG_CC])dnl
170 1.1 mrg AC_REQUIRE([LT_PATH_LD])dnl
171 1.1 mrg AC_REQUIRE([LT_PATH_NM])dnl
172 1.1 mrg dnl
173 1.1 mrg AC_REQUIRE([AC_PROG_LN_S])dnl
174 1.1 mrg test -z "$LN_S" && LN_S="ln -s"
175 1.1 mrg _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
176 1.1 mrg dnl
177 1.1 mrg AC_REQUIRE([LT_CMD_MAX_LEN])dnl
178 1.1 mrg _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
179 1.1 mrg _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
180 1.1 mrg dnl
181 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
182 1.1 mrg m4_require([_LT_CHECK_SHELL_FEATURES])dnl
183 1.1 mrg m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
184 1.1 mrg m4_require([_LT_CMD_RELOAD])dnl
185 1.1 mrg m4_require([_LT_DECL_FILECMD])dnl
186 1.1 mrg m4_require([_LT_CHECK_MAGIC_METHOD])dnl
187 1.1 mrg m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
188 1.1 mrg m4_require([_LT_CMD_OLD_ARCHIVE])dnl
189 1.1 mrg m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
190 1.1 mrg m4_require([_LT_WITH_SYSROOT])dnl
191 1.1 mrg m4_require([_LT_CMD_TRUNCATE])dnl
192 1.1 mrg
193 1.1 mrg _LT_CONFIG_LIBTOOL_INIT([
194 1.1 mrg # See if we are running on zsh, and set the options that allow our
195 1.1 mrg # commands through without removal of \ escapes INIT.
196 1.1 mrg if test -n "\${ZSH_VERSION+set}"; then
197 1.1 mrg setopt NO_GLOB_SUBST
198 1.1 mrg fi
199 1.1 mrg ])
200 1.1 mrg if test -n "${ZSH_VERSION+set}"; then
201 1.1 mrg setopt NO_GLOB_SUBST
202 1.1 mrg fi
203 1.1 mrg
204 1.1 mrg _LT_CHECK_OBJDIR
205 1.1 mrg
206 1.1 mrg m4_require([_LT_TAG_COMPILER])dnl
207 1.1 mrg
208 1.1 mrg case $host_os in
209 1.1 mrg aix3*)
210 1.1 mrg # AIX sometimes has problems with the GCC collect2 program. For some
211 1.1 mrg # reason, if we set the COLLECT_NAMES environment variable, the problems
212 1.1 mrg # vanish in a puff of smoke.
213 1.1 mrg if test set != "${COLLECT_NAMES+set}"; then
214 1.1 mrg COLLECT_NAMES=
215 1.1 mrg export COLLECT_NAMES
216 1.1 mrg fi
217 1.1 mrg ;;
218 1.1 mrg esac
219 1.1 mrg
220 1.1 mrg # Global variables:
221 1.1 mrg ofile=libtool
222 1.1 mrg can_build_shared=yes
223 1.1 mrg
224 1.1 mrg # All known linkers require a '.a' archive for static linking (except MSVC and
225 1.1 mrg # ICC, which need '.lib').
226 1.1 mrg libext=a
227 1.1 mrg
228 1.1 mrg with_gnu_ld=$lt_cv_prog_gnu_ld
229 1.1 mrg
230 1.1 mrg old_CC=$CC
231 1.1 mrg old_CFLAGS=$CFLAGS
232 1.1 mrg
233 1.1 mrg # Set sane defaults for various variables
234 1.1 mrg test -z "$CC" && CC=cc
235 1.1 mrg test -z "$LTCC" && LTCC=$CC
236 1.1 mrg test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
237 1.1 mrg test -z "$LD" && LD=ld
238 1.1 mrg test -z "$ac_objext" && ac_objext=o
239 1.1 mrg
240 1.1 mrg _LT_CC_BASENAME([$compiler])
241 1.1 mrg
242 1.1 mrg # Only perform the check for file, if the check method requires it
243 1.1 mrg test -z "$MAGIC_CMD" && MAGIC_CMD=file
244 1.1 mrg case $deplibs_check_method in
245 1.1 mrg file_magic*)
246 1.1 mrg if test "$file_magic_cmd" = '$MAGIC_CMD'; then
247 1.1 mrg _LT_PATH_MAGIC
248 1.1 mrg fi
249 1.1 mrg ;;
250 1.1 mrg esac
251 1.1 mrg
252 1.1 mrg # Use C for the default configuration in the libtool script
253 1.1 mrg LT_SUPPORTED_TAG([CC])
254 1.1 mrg _LT_LANG_C_CONFIG
255 1.1 mrg _LT_LANG_DEFAULT_CONFIG
256 1.1 mrg _LT_CONFIG_COMMANDS
257 1.1 mrg ])# _LT_SETUP
258 1.1 mrg
259 1.1 mrg
260 1.1 mrg # _LT_PREPARE_SED_QUOTE_VARS
261 1.1 mrg # --------------------------
262 1.1 mrg # Define a few sed substitution that help us do robust quoting.
263 1.1 mrg m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
264 1.1 mrg [# Backslashify metacharacters that are still active within
265 1.1 mrg # double-quoted strings.
266 1.1 mrg sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
267 1.1 mrg
268 1.1 mrg # Same as above, but do not quote variable references.
269 1.1 mrg double_quote_subst='s/\([["`\\]]\)/\\\1/g'
270 1.1 mrg
271 1.1 mrg # Sed substitution to delay expansion of an escaped shell variable in a
272 1.1 mrg # double_quote_subst'ed string.
273 1.1 mrg delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
274 1.1 mrg
275 1.1 mrg # Sed substitution to delay expansion of an escaped single quote.
276 1.1 mrg delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
277 1.1 mrg
278 1.1 mrg # Sed substitution to avoid accidental globbing in evaled expressions
279 1.1 mrg no_glob_subst='s/\*/\\\*/g'
280 1.1 mrg ])
281 1.1 mrg
282 1.1 mrg # _LT_PROG_LTMAIN
283 1.1 mrg # ---------------
284 1.1 mrg # Note that this code is called both from 'configure', and 'config.status'
285 1.1 mrg # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
286 1.1 mrg # 'config.status' has no value for ac_aux_dir unless we are using Automake,
287 1.1 mrg # so we pass a copy along to make sure it has a sensible value anyway.
288 1.1 mrg m4_defun([_LT_PROG_LTMAIN],
289 1.1 mrg [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
290 1.1 mrg _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
291 1.1 mrg ltmain=$ac_aux_dir/ltmain.sh
292 1.1 mrg ])# _LT_PROG_LTMAIN
293 1.1 mrg
294 1.1 mrg
295 1.1 mrg ## ------------------------------------- ##
296 1.1 mrg ## Accumulate code for creating libtool. ##
297 1.1 mrg ## ------------------------------------- ##
298 1.1 mrg
299 1.1 mrg # So that we can recreate a full libtool script including additional
300 1.1 mrg # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
301 1.1 mrg # in macros and then make a single call at the end using the 'libtool'
302 1.1 mrg # label.
303 1.1 mrg
304 1.1 mrg
305 1.1 mrg # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
306 1.1 mrg # ----------------------------------------
307 1.1 mrg # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
308 1.1 mrg m4_define([_LT_CONFIG_LIBTOOL_INIT],
309 1.1 mrg [m4_ifval([$1],
310 1.1 mrg [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
311 1.1 mrg [$1
312 1.1 mrg ])])])
313 1.1 mrg
314 1.1 mrg # Initialize.
315 1.1 mrg m4_define([_LT_OUTPUT_LIBTOOL_INIT])
316 1.1 mrg
317 1.1 mrg
318 1.1 mrg # _LT_CONFIG_LIBTOOL([COMMANDS])
319 1.1 mrg # ------------------------------
320 1.1 mrg # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
321 1.1 mrg m4_define([_LT_CONFIG_LIBTOOL],
322 1.1 mrg [m4_ifval([$1],
323 1.1 mrg [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
324 1.1 mrg [$1
325 1.1 mrg ])])])
326 1.1 mrg
327 1.1 mrg # Initialize.
328 1.1 mrg m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
329 1.1 mrg
330 1.1 mrg
331 1.1 mrg # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
332 1.1 mrg # -----------------------------------------------------
333 1.1 mrg m4_defun([_LT_CONFIG_SAVE_COMMANDS],
334 1.1 mrg [_LT_CONFIG_LIBTOOL([$1])
335 1.1 mrg _LT_CONFIG_LIBTOOL_INIT([$2])
336 1.1 mrg ])
337 1.1 mrg
338 1.1 mrg
339 1.1 mrg # _LT_FORMAT_COMMENT([COMMENT])
340 1.1 mrg # -----------------------------
341 1.1 mrg # Add leading comment marks to the start of each line, and a trailing
342 1.1 mrg # full-stop to the whole comment if one is not present already.
343 1.1 mrg m4_define([_LT_FORMAT_COMMENT],
344 1.1 mrg [m4_ifval([$1], [
345 1.1 mrg m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
346 1.1 mrg [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
347 1.1 mrg )])
348 1.1 mrg
349 1.1 mrg
350 1.1 mrg
351 1.1 mrg ## ------------------------ ##
352 1.1 mrg ## FIXME: Eliminate VARNAME ##
353 1.1 mrg ## ------------------------ ##
354 1.1 mrg
355 1.1 mrg
356 1.1 mrg # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
357 1.1 mrg # -------------------------------------------------------------------
358 1.1 mrg # CONFIGNAME is the name given to the value in the libtool script.
359 1.1 mrg # VARNAME is the (base) name used in the configure script.
360 1.1 mrg # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
361 1.1 mrg # VARNAME. Any other value will be used directly.
362 1.1 mrg m4_define([_LT_DECL],
363 1.1 mrg [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
364 1.1 mrg [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
365 1.1 mrg [m4_ifval([$1], [$1], [$2])])
366 1.1 mrg lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
367 1.1 mrg m4_ifval([$4],
368 1.1 mrg [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
369 1.1 mrg lt_dict_add_subkey([lt_decl_dict], [$2],
370 1.1 mrg [tagged?], [m4_ifval([$5], [yes], [no])])])
371 1.1 mrg ])
372 1.1 mrg
373 1.1 mrg
374 1.1 mrg # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
375 1.1 mrg # --------------------------------------------------------
376 1.1 mrg m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
377 1.1 mrg
378 1.1 mrg
379 1.1 mrg # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
380 1.1 mrg # ------------------------------------------------
381 1.1 mrg m4_define([lt_decl_tag_varnames],
382 1.1 mrg [_lt_decl_filter([tagged?], [yes], $@)])
383 1.1 mrg
384 1.1 mrg
385 1.1 mrg # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
386 1.1 mrg # ---------------------------------------------------------
387 1.1 mrg m4_define([_lt_decl_filter],
388 1.1 mrg [m4_case([$#],
389 1.1 mrg [0], [m4_fatal([$0: too few arguments: $#])],
390 1.1 mrg [1], [m4_fatal([$0: too few arguments: $#: $1])],
391 1.1 mrg [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
392 1.1 mrg [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
393 1.1 mrg [lt_dict_filter([lt_decl_dict], $@)])[]dnl
394 1.1 mrg ])
395 1.1 mrg
396 1.1 mrg
397 1.1 mrg # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
398 1.1 mrg # --------------------------------------------------
399 1.1 mrg m4_define([lt_decl_quote_varnames],
400 1.1 mrg [_lt_decl_filter([value], [1], $@)])
401 1.1 mrg
402 1.1 mrg
403 1.1 mrg # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
404 1.1 mrg # ---------------------------------------------------
405 1.1 mrg m4_define([lt_decl_dquote_varnames],
406 1.1 mrg [_lt_decl_filter([value], [2], $@)])
407 1.1 mrg
408 1.1 mrg
409 1.1 mrg # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
410 1.1 mrg # ---------------------------------------------------
411 1.1 mrg m4_define([lt_decl_varnames_tagged],
412 1.1 mrg [m4_assert([$# <= 2])dnl
413 1.1 mrg _$0(m4_quote(m4_default([$1], [[, ]])),
414 1.1 mrg m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
415 1.1 mrg m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
416 1.1 mrg m4_define([_lt_decl_varnames_tagged],
417 1.1 mrg [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
418 1.1 mrg
419 1.1 mrg
420 1.1 mrg # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
421 1.1 mrg # ------------------------------------------------
422 1.1 mrg m4_define([lt_decl_all_varnames],
423 1.1 mrg [_$0(m4_quote(m4_default([$1], [[, ]])),
424 1.1 mrg m4_if([$2], [],
425 1.1 mrg m4_quote(lt_decl_varnames),
426 1.1 mrg m4_quote(m4_shift($@))))[]dnl
427 1.1 mrg ])
428 1.1 mrg m4_define([_lt_decl_all_varnames],
429 1.1 mrg [lt_join($@, lt_decl_varnames_tagged([$1],
430 1.1 mrg lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
431 1.1 mrg ])
432 1.1 mrg
433 1.1 mrg
434 1.1 mrg # _LT_CONFIG_STATUS_DECLARE([VARNAME])
435 1.1 mrg # ------------------------------------
436 1.1 mrg # Quote a variable value, and forward it to 'config.status' so that its
437 1.1 mrg # declaration there will have the same value as in 'configure'. VARNAME
438 1.1 mrg # must have a single quote delimited value for this to work.
439 1.1 mrg m4_define([_LT_CONFIG_STATUS_DECLARE],
440 1.1 mrg [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
441 1.1 mrg
442 1.1 mrg
443 1.1 mrg # _LT_CONFIG_STATUS_DECLARATIONS
444 1.1 mrg # ------------------------------
445 1.1 mrg # We delimit libtool config variables with single quotes, so when
446 1.1 mrg # we write them to config.status, we have to be sure to quote all
447 1.1 mrg # embedded single quotes properly. In configure, this macro expands
448 1.1 mrg # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
449 1.1 mrg #
450 1.1 mrg # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
451 1.1 mrg m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
452 1.1 mrg [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
453 1.1 mrg [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
454 1.1 mrg
455 1.1 mrg
456 1.1 mrg # _LT_LIBTOOL_TAGS
457 1.1 mrg # ----------------
458 1.1 mrg # Output comment and list of tags supported by the script
459 1.1 mrg m4_defun([_LT_LIBTOOL_TAGS],
460 1.1 mrg [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
461 1.1 mrg available_tags='_LT_TAGS'dnl
462 1.1 mrg ])
463 1.1 mrg
464 1.1 mrg
465 1.1 mrg # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
466 1.1 mrg # -----------------------------------
467 1.1 mrg # Extract the dictionary values for VARNAME (optionally with TAG) and
468 1.1 mrg # expand to a commented shell variable setting:
469 1.1 mrg #
470 1.1 mrg # # Some comment about what VAR is for.
471 1.1 mrg # visible_name=$lt_internal_name
472 1.1 mrg m4_define([_LT_LIBTOOL_DECLARE],
473 1.1 mrg [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
474 1.1 mrg [description])))[]dnl
475 1.1 mrg m4_pushdef([_libtool_name],
476 1.1 mrg m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
477 1.1 mrg m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
478 1.1 mrg [0], [_libtool_name=[$]$1],
479 1.1 mrg [1], [_libtool_name=$lt_[]$1],
480 1.1 mrg [2], [_libtool_name=$lt_[]$1],
481 1.1 mrg [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
482 1.1 mrg m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
483 1.1 mrg ])
484 1.1 mrg
485 1.1 mrg
486 1.1 mrg # _LT_LIBTOOL_CONFIG_VARS
487 1.1 mrg # -----------------------
488 1.1 mrg # Produce commented declarations of non-tagged libtool config variables
489 1.1 mrg # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
490 1.1 mrg # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
491 1.1 mrg # section) are produced by _LT_LIBTOOL_TAG_VARS.
492 1.1 mrg m4_defun([_LT_LIBTOOL_CONFIG_VARS],
493 1.1 mrg [m4_foreach([_lt_var],
494 1.1 mrg m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
495 1.1 mrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
496 1.1 mrg
497 1.1 mrg
498 1.1 mrg # _LT_LIBTOOL_TAG_VARS(TAG)
499 1.1 mrg # -------------------------
500 1.1 mrg m4_define([_LT_LIBTOOL_TAG_VARS],
501 1.1 mrg [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
502 1.1 mrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
503 1.1 mrg
504 1.1 mrg
505 1.1 mrg # _LT_TAGVAR(VARNAME, [TAGNAME])
506 1.1 mrg # ------------------------------
507 1.1 mrg m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
508 1.1 mrg
509 1.1 mrg
510 1.1 mrg # _LT_CONFIG_COMMANDS
511 1.1 mrg # -------------------
512 1.1 mrg # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
513 1.1 mrg # variables for single and double quote escaping we saved from calls
514 1.1 mrg # to _LT_DECL, we can put quote escaped variables declarations
515 1.1 mrg # into 'config.status', and then the shell code to quote escape them in
516 1.1 mrg # for loops in 'config.status'. Finally, any additional code accumulated
517 1.1 mrg # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
518 1.1 mrg m4_defun([_LT_CONFIG_COMMANDS],
519 1.1 mrg [AC_PROVIDE_IFELSE([LT_OUTPUT],
520 1.1 mrg dnl If the libtool generation code has been placed in $CONFIG_LT,
521 1.1 mrg dnl instead of duplicating it all over again into config.status,
522 1.1 mrg dnl then we will have config.status run $CONFIG_LT later, so it
523 1.1 mrg dnl needs to know what name is stored there:
524 1.1 mrg [AC_CONFIG_COMMANDS([libtool],
525 1.1 mrg [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
526 1.1 mrg dnl If the libtool generation code is destined for config.status,
527 1.1 mrg dnl expand the accumulated commands and init code now:
528 1.1 mrg [AC_CONFIG_COMMANDS([libtool],
529 1.1 mrg [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
530 1.1 mrg ])#_LT_CONFIG_COMMANDS
531 1.1 mrg
532 1.1 mrg
533 1.1 mrg # Initialize.
534 1.1 mrg m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
535 1.1 mrg [
536 1.1 mrg
537 1.1 mrg # The HP-UX ksh and POSIX shell print the target directory to stdout
538 1.1 mrg # if CDPATH is set.
539 1.1 mrg (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
540 1.1 mrg
541 1.1 mrg sed_quote_subst='$sed_quote_subst'
542 1.1 mrg double_quote_subst='$double_quote_subst'
543 1.1 mrg delay_variable_subst='$delay_variable_subst'
544 1.1 mrg _LT_CONFIG_STATUS_DECLARATIONS
545 1.1 mrg LTCC='$LTCC'
546 1.1 mrg LTCFLAGS='$LTCFLAGS'
547 1.1 mrg compiler='$compiler_DEFAULT'
548 1.1 mrg
549 1.1 mrg # A function that is used when there is no print builtin or printf.
550 1.1 mrg func_fallback_echo ()
551 1.1 mrg {
552 1.1 mrg eval 'cat <<_LTECHO_EOF
553 1.1 mrg \$[]1
554 1.1 mrg _LTECHO_EOF'
555 1.1 mrg }
556 1.1 mrg
557 1.1 mrg # Quote evaled strings.
558 1.1 mrg for var in lt_decl_all_varnames([[ \
559 1.1 mrg ]], lt_decl_quote_varnames); do
560 1.1 mrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
561 1.1 mrg *[[\\\\\\\`\\"\\\$]]*)
562 1.1 mrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
563 1.1 mrg ;;
564 1.1 mrg *)
565 1.1 mrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
566 1.1 mrg ;;
567 1.1 mrg esac
568 1.1 mrg done
569 1.1 mrg
570 1.1 mrg # Double-quote double-evaled strings.
571 1.1 mrg for var in lt_decl_all_varnames([[ \
572 1.1 mrg ]], lt_decl_dquote_varnames); do
573 1.1 mrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
574 1.1 mrg *[[\\\\\\\`\\"\\\$]]*)
575 1.1 mrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
576 1.1 mrg ;;
577 1.1 mrg *)
578 1.1 mrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
579 1.1 mrg ;;
580 1.1 mrg esac
581 1.1 mrg done
582 1.1 mrg
583 1.1 mrg _LT_OUTPUT_LIBTOOL_INIT
584 1.1 mrg ])
585 1.1 mrg
586 1.1 mrg # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
587 1.1 mrg # ------------------------------------
588 1.1 mrg # Generate a child script FILE with all initialization necessary to
589 1.1 mrg # reuse the environment learned by the parent script, and make the
590 1.1 mrg # file executable. If COMMENT is supplied, it is inserted after the
591 1.1 mrg # '#!' sequence but before initialization text begins. After this
592 1.1 mrg # macro, additional text can be appended to FILE to form the body of
593 1.1 mrg # the child script. The macro ends with non-zero status if the
594 1.1 mrg # file could not be fully written (such as if the disk is full).
595 1.1 mrg m4_ifdef([AS_INIT_GENERATED],
596 1.1 mrg [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
597 1.1 mrg [m4_defun([_LT_GENERATED_FILE_INIT],
598 1.1 mrg [m4_require([AS_PREPARE])]dnl
599 1.1 mrg [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
600 1.1 mrg [lt_write_fail=0
601 1.1 mrg cat >$1 <<_ASEOF || lt_write_fail=1
602 1.1 mrg #! $SHELL
603 1.1 mrg # Generated by $as_me.
604 1.1 mrg $2
605 1.1 mrg SHELL=\${CONFIG_SHELL-$SHELL}
606 1.1 mrg export SHELL
607 1.1 mrg _ASEOF
608 1.1 mrg cat >>$1 <<\_ASEOF || lt_write_fail=1
609 1.1 mrg AS_SHELL_SANITIZE
610 1.1 mrg _AS_PREPARE
611 1.1 mrg exec AS_MESSAGE_FD>&1
612 1.1 mrg _ASEOF
613 1.1 mrg test 0 = "$lt_write_fail" && chmod +x $1[]dnl
614 1.1 mrg m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
615 1.1 mrg
616 1.1 mrg # LT_OUTPUT
617 1.1 mrg # ---------
618 1.1 mrg # This macro allows early generation of the libtool script (before
619 1.1 mrg # AC_OUTPUT is called), in case it is used in configure for compilation
620 1.1 mrg # tests.
621 1.1 mrg AC_DEFUN([LT_OUTPUT],
622 1.1 mrg [: ${CONFIG_LT=./config.lt}
623 1.1 mrg AC_MSG_NOTICE([creating $CONFIG_LT])
624 1.1 mrg _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
625 1.1 mrg [# Run this file to recreate a libtool stub with the current configuration.])
626 1.1 mrg
627 1.1 mrg cat >>"$CONFIG_LT" <<\_LTEOF
628 1.1 mrg lt_cl_silent=false
629 1.1 mrg exec AS_MESSAGE_LOG_FD>>config.log
630 1.1 mrg {
631 1.1 mrg echo
632 1.1 mrg AS_BOX([Running $as_me.])
633 1.1 mrg } >&AS_MESSAGE_LOG_FD
634 1.1 mrg
635 1.1 mrg lt_cl_help="\
636 1.1 mrg '$as_me' creates a local libtool stub from the current configuration,
637 1.1 mrg for use in further configure time tests before the real libtool is
638 1.1 mrg generated.
639 1.1 mrg
640 1.1 mrg Usage: $[0] [[OPTIONS]]
641 1.1 mrg
642 1.1 mrg -h, --help print this help, then exit
643 1.1 mrg -V, --version print version number, then exit
644 1.1 mrg -q, --quiet do not print progress messages
645 1.1 mrg -d, --debug don't remove temporary files
646 1.1 mrg
647 1.1 mrg Report bugs to <bug-libtool (a] gnu.org>."
648 1.1 mrg
649 1.1 mrg lt_cl_version="\
650 1.1 mrg m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
651 1.1 mrg m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
652 1.1 mrg configured by $[0], generated by m4_PACKAGE_STRING.
653 1.1 mrg
654 1.1 mrg Copyright (C) 2024 Free Software Foundation, Inc.
655 1.1 mrg This config.lt script is free software; the Free Software Foundation
656 1.1 mrg gives unlimited permission to copy, distribute and modify it."
657 1.1 mrg
658 1.1 mrg while test 0 != $[#]
659 1.1 mrg do
660 1.1 mrg case $[1] in
661 1.1 mrg --version | --v* | -V )
662 1.1 mrg echo "$lt_cl_version"; exit 0 ;;
663 1.1 mrg --help | --h* | -h )
664 1.1 mrg echo "$lt_cl_help"; exit 0 ;;
665 1.1 mrg --debug | --d* | -d )
666 1.1 mrg debug=: ;;
667 1.1 mrg --quiet | --q* | --silent | --s* | -q )
668 1.1 mrg lt_cl_silent=: ;;
669 1.1 mrg
670 1.1 mrg -*) AC_MSG_ERROR([unrecognized option: $[1]
671 1.1 mrg Try '$[0] --help' for more information.]) ;;
672 1.1 mrg
673 1.1 mrg *) AC_MSG_ERROR([unrecognized argument: $[1]
674 1.1 mrg Try '$[0] --help' for more information.]) ;;
675 1.1 mrg esac
676 1.1 mrg shift
677 1.1 mrg done
678 1.1 mrg
679 1.1 mrg if $lt_cl_silent; then
680 1.1 mrg exec AS_MESSAGE_FD>/dev/null
681 1.1 mrg fi
682 1.1 mrg _LTEOF
683 1.1 mrg
684 1.1 mrg cat >>"$CONFIG_LT" <<_LTEOF
685 1.1 mrg _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
686 1.1 mrg _LTEOF
687 1.1 mrg
688 1.1 mrg cat >>"$CONFIG_LT" <<\_LTEOF
689 1.1 mrg AC_MSG_NOTICE([creating $ofile])
690 1.1 mrg _LT_OUTPUT_LIBTOOL_COMMANDS
691 1.1 mrg AS_EXIT(0)
692 1.1 mrg _LTEOF
693 1.1 mrg chmod +x "$CONFIG_LT"
694 1.1 mrg
695 1.1 mrg # configure is writing to config.log, but config.lt does its own redirection,
696 1.1 mrg # appending to config.log, which fails on DOS, as config.log is still kept
697 1.1 mrg # open by configure. Here we exec the FD to /dev/null, effectively closing
698 1.1 mrg # config.log, so it can be properly (re)opened and appended to by config.lt.
699 1.1 mrg lt_cl_success=:
700 1.1 mrg test yes = "$silent" &&
701 1.1 mrg lt_config_lt_args="$lt_config_lt_args --quiet"
702 1.1 mrg exec AS_MESSAGE_LOG_FD>/dev/null
703 1.1 mrg $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
704 1.1 mrg exec AS_MESSAGE_LOG_FD>>config.log
705 1.1 mrg $lt_cl_success || AS_EXIT(1)
706 1.1 mrg ])# LT_OUTPUT
707 1.1 mrg
708 1.1 mrg
709 1.1 mrg # _LT_CONFIG(TAG)
710 1.1 mrg # ---------------
711 1.1 mrg # If TAG is the built-in tag, create an initial libtool script with a
712 1.1 mrg # default configuration from the untagged config vars. Otherwise add code
713 1.1 mrg # to config.status for appending the configuration named by TAG from the
714 1.1 mrg # matching tagged config vars.
715 1.1 mrg m4_defun([_LT_CONFIG],
716 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
717 1.1 mrg _LT_CONFIG_SAVE_COMMANDS([
718 1.1 mrg m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
719 1.1 mrg m4_if(_LT_TAG, [C], [
720 1.1 mrg # See if we are running on zsh, and set the options that allow our
721 1.1 mrg # commands through without removal of \ escapes.
722 1.1 mrg if test -n "${ZSH_VERSION+set}"; then
723 1.1 mrg setopt NO_GLOB_SUBST
724 1.1 mrg fi
725 1.1 mrg
726 1.1 mrg cfgfile=${ofile}T
727 1.1 mrg trap "$RM \"$cfgfile\"; exit 1" 1 2 15
728 1.1 mrg $RM "$cfgfile"
729 1.1 mrg
730 1.1 mrg cat <<_LT_EOF >> "$cfgfile"
731 1.1 mrg #! $SHELL
732 1.1 mrg # Generated automatically by $as_me ($PACKAGE) $VERSION
733 1.1 mrg # NOTE: Changes made to this file will be lost: look at ltmain.sh.
734 1.1 mrg
735 1.1 mrg # Provide generalized library-building support services.
736 1.1 mrg # Written by Gordon Matzigkeit, 1996
737 1.1 mrg
738 1.1 mrg _LT_COPYING
739 1.1 mrg _LT_LIBTOOL_TAGS
740 1.1 mrg
741 1.1 mrg # Configured defaults for sys_lib_dlsearch_path munging.
742 1.1 mrg : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
743 1.1 mrg
744 1.1 mrg # ### BEGIN LIBTOOL CONFIG
745 1.1 mrg _LT_LIBTOOL_CONFIG_VARS
746 1.1 mrg _LT_LIBTOOL_TAG_VARS
747 1.1 mrg # ### END LIBTOOL CONFIG
748 1.1 mrg
749 1.1 mrg _LT_EOF
750 1.1 mrg
751 1.1 mrg cat <<'_LT_EOF' >> "$cfgfile"
752 1.1 mrg
753 1.1 mrg # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
754 1.1 mrg
755 1.1 mrg _LT_PREPARE_MUNGE_PATH_LIST
756 1.1 mrg _LT_PREPARE_CC_BASENAME
757 1.1 mrg
758 1.1 mrg # ### END FUNCTIONS SHARED WITH CONFIGURE
759 1.1 mrg
760 1.1 mrg _LT_EOF
761 1.1 mrg
762 1.1 mrg case $host_os in
763 1.1 mrg aix3*)
764 1.1 mrg cat <<\_LT_EOF >> "$cfgfile"
765 1.1 mrg # AIX sometimes has problems with the GCC collect2 program. For some
766 1.1 mrg # reason, if we set the COLLECT_NAMES environment variable, the problems
767 1.1 mrg # vanish in a puff of smoke.
768 1.1 mrg if test set != "${COLLECT_NAMES+set}"; then
769 1.1 mrg COLLECT_NAMES=
770 1.1 mrg export COLLECT_NAMES
771 1.1 mrg fi
772 1.1 mrg _LT_EOF
773 1.1 mrg ;;
774 1.1 mrg esac
775 1.1 mrg
776 1.1 mrg _LT_PROG_LTMAIN
777 1.1 mrg
778 1.1 mrg # We use sed instead of cat because bash on DJGPP gets confused if
779 1.1 mrg # if finds mixed CR/LF and LF-only lines. Since sed operates in
780 1.1 mrg # text mode, it properly converts lines to CR/LF. This bash problem
781 1.1 mrg # is reportedly fixed, but why not run on old versions too?
782 1.1 mrg $SED '$q' "$ltmain" >> "$cfgfile" \
783 1.1 mrg || (rm -f "$cfgfile"; exit 1)
784 1.1 mrg
785 1.1 mrg mv -f "$cfgfile" "$ofile" ||
786 1.1 mrg (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
787 1.1 mrg chmod +x "$ofile"
788 1.1 mrg ],
789 1.1 mrg [cat <<_LT_EOF >> "$ofile"
790 1.1 mrg
791 1.1 mrg dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
792 1.1 mrg dnl in a comment (ie after a #).
793 1.1 mrg # ### BEGIN LIBTOOL TAG CONFIG: $1
794 1.1 mrg _LT_LIBTOOL_TAG_VARS(_LT_TAG)
795 1.1 mrg # ### END LIBTOOL TAG CONFIG: $1
796 1.1 mrg _LT_EOF
797 1.1 mrg ])dnl /m4_if
798 1.1 mrg ],
799 1.1 mrg [m4_if([$1], [], [
800 1.1 mrg PACKAGE='$PACKAGE'
801 1.1 mrg VERSION='$VERSION'
802 1.1 mrg RM='$RM'
803 1.1 mrg ofile='$ofile'], [])
804 1.1 mrg ])dnl /_LT_CONFIG_SAVE_COMMANDS
805 1.1 mrg ])# _LT_CONFIG
806 1.1 mrg
807 1.1 mrg
808 1.1 mrg # LT_SUPPORTED_TAG(TAG)
809 1.1 mrg # ---------------------
810 1.1 mrg # Trace this macro to discover what tags are supported by the libtool
811 1.1 mrg # --tag option, using:
812 1.1 mrg # autoconf --trace 'LT_SUPPORTED_TAG:$1'
813 1.1 mrg AC_DEFUN([LT_SUPPORTED_TAG], [])
814 1.1 mrg
815 1.1 mrg
816 1.1 mrg # C support is built-in for now
817 1.1 mrg m4_define([_LT_LANG_C_enabled], [])
818 1.1 mrg m4_define([_LT_TAGS], [])
819 1.1 mrg
820 1.1 mrg
821 1.1 mrg # LT_LANG(LANG)
822 1.1 mrg # -------------
823 1.1 mrg # Enable libtool support for the given language if not already enabled.
824 1.1 mrg AC_DEFUN([LT_LANG],
825 1.1 mrg [AC_BEFORE([$0], [LT_OUTPUT])dnl
826 1.1 mrg m4_case([$1],
827 1.1 mrg [C], [_LT_LANG(C)],
828 1.1 mrg [C++], [_LT_LANG(CXX)],
829 1.1 mrg [Go], [_LT_LANG(GO)],
830 1.1 mrg [Java], [_LT_LANG(GCJ)],
831 1.1 mrg [Fortran 77], [_LT_LANG(F77)],
832 1.1 mrg [Fortran], [_LT_LANG(FC)],
833 1.1 mrg [Windows Resource], [_LT_LANG(RC)],
834 1.1 mrg [m4_ifdef([_LT_LANG_]$1[_CONFIG],
835 1.1 mrg [_LT_LANG($1)],
836 1.1 mrg [m4_fatal([$0: unsupported language: "$1"])])])dnl
837 1.1 mrg ])# LT_LANG
838 1.1 mrg
839 1.1 mrg
840 1.1 mrg # _LT_LANG(LANGNAME)
841 1.1 mrg # ------------------
842 1.1 mrg m4_defun([_LT_LANG],
843 1.1 mrg [m4_ifdef([_LT_LANG_]$1[_enabled], [],
844 1.1 mrg [LT_SUPPORTED_TAG([$1])dnl
845 1.1 mrg m4_append([_LT_TAGS], [$1 ])dnl
846 1.1 mrg m4_define([_LT_LANG_]$1[_enabled], [])dnl
847 1.1 mrg _LT_LANG_$1_CONFIG($1)])dnl
848 1.1 mrg ])# _LT_LANG
849 1.1 mrg
850 1.1 mrg
851 1.1 mrg m4_ifndef([AC_PROG_GO], [
852 1.1 mrg ############################################################
853 1.1 mrg # NOTE: This macro has been submitted for inclusion into #
854 1.1 mrg # GNU Autoconf as AC_PROG_GO. When it is available in #
855 1.1 mrg # a released version of Autoconf we should remove this #
856 1.1 mrg # macro and use it instead. #
857 1.1 mrg ############################################################
858 1.1 mrg m4_defun([AC_PROG_GO],
859 1.1 mrg [AC_LANG_PUSH(Go)dnl
860 1.1 mrg AC_ARG_VAR([GOC], [Go compiler command])dnl
861 1.1 mrg AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
862 1.1 mrg _AC_ARG_VAR_LDFLAGS()dnl
863 1.1 mrg AC_CHECK_TOOL(GOC, gccgo)
864 1.1 mrg if test -z "$GOC"; then
865 1.1 mrg if test -n "$ac_tool_prefix"; then
866 1.1 mrg AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
867 1.1 mrg fi
868 1.1 mrg fi
869 1.1 mrg if test -z "$GOC"; then
870 1.1 mrg AC_CHECK_PROG(GOC, gccgo, gccgo, false)
871 1.1 mrg fi
872 1.1 mrg ])#m4_defun
873 1.1 mrg ])#m4_ifndef
874 1.1 mrg
875 1.1 mrg
876 1.1 mrg # _LT_LANG_DEFAULT_CONFIG
877 1.1 mrg # -----------------------
878 1.1 mrg m4_defun([_LT_LANG_DEFAULT_CONFIG],
879 1.1 mrg [AC_PROVIDE_IFELSE([AC_PROG_CXX],
880 1.1 mrg [LT_LANG(CXX)],
881 1.1 mrg [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
882 1.1 mrg
883 1.1 mrg AC_PROVIDE_IFELSE([AC_PROG_F77],
884 1.1 mrg [LT_LANG(F77)],
885 1.1 mrg [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
886 1.1 mrg
887 1.1 mrg AC_PROVIDE_IFELSE([AC_PROG_FC],
888 1.1 mrg [LT_LANG(FC)],
889 1.1 mrg [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
890 1.1 mrg
891 1.1 mrg dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
892 1.1 mrg dnl pulling things in needlessly.
893 1.1 mrg AC_PROVIDE_IFELSE([AC_PROG_GCJ],
894 1.1 mrg [LT_LANG(GCJ)],
895 1.1 mrg [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
896 1.1 mrg [LT_LANG(GCJ)],
897 1.1 mrg [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
898 1.1 mrg [LT_LANG(GCJ)],
899 1.1 mrg [m4_ifdef([AC_PROG_GCJ],
900 1.1 mrg [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
901 1.1 mrg m4_ifdef([A][M_PROG_GCJ],
902 1.1 mrg [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
903 1.1 mrg m4_ifdef([LT_PROG_GCJ],
904 1.1 mrg [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
905 1.1 mrg
906 1.1 mrg AC_PROVIDE_IFELSE([AC_PROG_GO],
907 1.1 mrg [LT_LANG(GO)],
908 1.1 mrg [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
909 1.1 mrg
910 1.1 mrg AC_PROVIDE_IFELSE([LT_PROG_RC],
911 1.1 mrg [LT_LANG(RC)],
912 1.1 mrg [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
913 1.1 mrg ])# _LT_LANG_DEFAULT_CONFIG
914 1.1 mrg
915 1.1 mrg # Obsolete macros:
916 1.1 mrg AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
917 1.1 mrg AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
918 1.1 mrg AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
919 1.1 mrg AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
920 1.1 mrg AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
921 1.1 mrg dnl aclocal-1.4 backwards compatibility:
922 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
923 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_F77], [])
924 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_FC], [])
925 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
926 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_RC], [])
927 1.1 mrg
928 1.1 mrg
929 1.1 mrg # _LT_TAG_COMPILER
930 1.1 mrg # ----------------
931 1.1 mrg m4_defun([_LT_TAG_COMPILER],
932 1.1 mrg [AC_REQUIRE([AC_PROG_CC])dnl
933 1.1 mrg
934 1.1 mrg _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
935 1.1 mrg _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
936 1.1 mrg _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
937 1.1 mrg _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
938 1.1 mrg
939 1.1 mrg # If no C compiler was specified, use CC.
940 1.1 mrg LTCC=${LTCC-"$CC"}
941 1.1 mrg
942 1.1 mrg # If no C compiler flags were specified, use CFLAGS.
943 1.1 mrg LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
944 1.1 mrg
945 1.1 mrg # Allow CC to be a program name with arguments.
946 1.1 mrg compiler=$CC
947 1.1 mrg ])# _LT_TAG_COMPILER
948 1.1 mrg
949 1.1 mrg
950 1.1 mrg # _LT_COMPILER_BOILERPLATE
951 1.1 mrg # ------------------------
952 1.1 mrg # Check for compiler boilerplate output or warnings with
953 1.1 mrg # the simple compiler test code.
954 1.1 mrg m4_defun([_LT_COMPILER_BOILERPLATE],
955 1.1 mrg [m4_require([_LT_DECL_SED])dnl
956 1.1 mrg ac_outfile=conftest.$ac_objext
957 1.1 mrg echo "$lt_simple_compile_test_code" >conftest.$ac_ext
958 1.1 mrg eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
959 1.1 mrg _lt_compiler_boilerplate=`cat conftest.err`
960 1.1 mrg $RM conftest*
961 1.1 mrg ])# _LT_COMPILER_BOILERPLATE
962 1.1 mrg
963 1.1 mrg
964 1.1 mrg # _LT_LINKER_BOILERPLATE
965 1.1 mrg # ----------------------
966 1.1 mrg # Check for linker boilerplate output or warnings with
967 1.1 mrg # the simple link test code.
968 1.1 mrg m4_defun([_LT_LINKER_BOILERPLATE],
969 1.1 mrg [m4_require([_LT_DECL_SED])dnl
970 1.1 mrg ac_outfile=conftest.$ac_objext
971 1.1 mrg echo "$lt_simple_link_test_code" >conftest.$ac_ext
972 1.1 mrg eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
973 1.1 mrg _lt_linker_boilerplate=`cat conftest.err`
974 1.1 mrg $RM -r conftest*
975 1.1 mrg ])# _LT_LINKER_BOILERPLATE
976 1.1 mrg
977 1.1 mrg
978 1.1 mrg # _LT_REQUIRED_DARWIN_CHECKS
979 1.1 mrg # -------------------------
980 1.1 mrg m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
981 1.1 mrg case $host_os in
982 1.1 mrg rhapsody* | darwin*)
983 1.1 mrg AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
984 1.1 mrg AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
985 1.1 mrg AC_CHECK_TOOL([LIPO], [lipo], [:])
986 1.1 mrg AC_CHECK_TOOL([OTOOL], [otool], [:])
987 1.1 mrg AC_CHECK_TOOL([OTOOL64], [otool64], [:])
988 1.1 mrg _LT_DECL([], [DSYMUTIL], [1],
989 1.1 mrg [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
990 1.1 mrg _LT_DECL([], [NMEDIT], [1],
991 1.1 mrg [Tool to change global to local symbols on Mac OS X])
992 1.1 mrg _LT_DECL([], [LIPO], [1],
993 1.1 mrg [Tool to manipulate fat objects and archives on Mac OS X])
994 1.1 mrg _LT_DECL([], [OTOOL], [1],
995 1.1 mrg [ldd/readelf like tool for Mach-O binaries on Mac OS X])
996 1.1 mrg _LT_DECL([], [OTOOL64], [1],
997 1.1 mrg [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
998 1.1 mrg
999 1.1 mrg AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
1000 1.1 mrg [lt_cv_apple_cc_single_mod=no
1001 1.1 mrg if test -z "$LT_MULTI_MODULE"; then
1002 1.1 mrg # By default we will add the -single_module flag. You can override
1003 1.1 mrg # by either setting the environment variable LT_MULTI_MODULE
1004 1.1 mrg # non-empty at configure time, or by adding -multi_module to the
1005 1.1 mrg # link flags.
1006 1.1 mrg rm -rf libconftest.dylib*
1007 1.1 mrg echo "int foo(void){return 1;}" > conftest.c
1008 1.1 mrg echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1009 1.1 mrg -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1010 1.1 mrg $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1011 1.1 mrg -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1012 1.1 mrg _lt_result=$?
1013 1.1 mrg # If there is a non-empty error log, and "single_module"
1014 1.1 mrg # appears in it, assume the flag caused a linker warning
1015 1.1 mrg if test -s conftest.err && $GREP single_module conftest.err; then
1016 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1017 1.1 mrg # Otherwise, if the output was created with a 0 exit code from
1018 1.1 mrg # the compiler, it worked.
1019 1.1 mrg elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
1020 1.1 mrg lt_cv_apple_cc_single_mod=yes
1021 1.1 mrg else
1022 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1023 1.1 mrg fi
1024 1.1 mrg rm -rf libconftest.dylib*
1025 1.1 mrg rm -f conftest.*
1026 1.1 mrg fi])
1027 1.1 mrg
1028 1.1 mrg # Feature test to disable chained fixups since it is not
1029 1.1 mrg # compatible with '-undefined dynamic_lookup'
1030 1.1 mrg AC_CACHE_CHECK([for -no_fixup_chains linker flag],
1031 1.1 mrg [lt_cv_support_no_fixup_chains],
1032 1.1 mrg [ save_LDFLAGS=$LDFLAGS
1033 1.1 mrg LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains"
1034 1.1 mrg AC_LINK_IFELSE(
1035 1.1 mrg [AC_LANG_PROGRAM([],[])],
1036 1.1 mrg lt_cv_support_no_fixup_chains=yes,
1037 1.1 mrg lt_cv_support_no_fixup_chains=no
1038 1.1 mrg )
1039 1.1 mrg LDFLAGS=$save_LDFLAGS
1040 1.1 mrg ]
1041 1.1 mrg )
1042 1.1 mrg
1043 1.1 mrg AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1044 1.1 mrg [lt_cv_ld_exported_symbols_list],
1045 1.1 mrg [lt_cv_ld_exported_symbols_list=no
1046 1.1 mrg save_LDFLAGS=$LDFLAGS
1047 1.1 mrg echo "_main" > conftest.sym
1048 1.1 mrg LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1049 1.1 mrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1050 1.1 mrg [lt_cv_ld_exported_symbols_list=yes],
1051 1.1 mrg [lt_cv_ld_exported_symbols_list=no])
1052 1.1 mrg LDFLAGS=$save_LDFLAGS
1053 1.1 mrg ])
1054 1.1 mrg
1055 1.1 mrg AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1056 1.1 mrg [lt_cv_ld_force_load=no
1057 1.1 mrg cat > conftest.c << _LT_EOF
1058 1.1 mrg int forced_loaded() { return 2;}
1059 1.1 mrg _LT_EOF
1060 1.1 mrg echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1061 1.1 mrg $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1062 1.1 mrg echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1063 1.1 mrg $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1064 1.1 mrg echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1065 1.1 mrg $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1066 1.1 mrg cat > conftest.c << _LT_EOF
1067 1.1 mrg int main(void) { return 0;}
1068 1.1 mrg _LT_EOF
1069 1.1 mrg echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1070 1.1 mrg $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1071 1.1 mrg _lt_result=$?
1072 1.1 mrg if test -s conftest.err && $GREP force_load conftest.err; then
1073 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1074 1.1 mrg elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
1075 1.1 mrg lt_cv_ld_force_load=yes
1076 1.1 mrg else
1077 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1078 1.1 mrg fi
1079 1.1 mrg rm -f conftest.err libconftest.a conftest conftest.c
1080 1.1 mrg rm -rf conftest.dSYM
1081 1.1 mrg ])
1082 1.1 mrg case $host_os in
1083 1.1 mrg rhapsody* | darwin1.[[012]])
1084 1.1 mrg _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
1085 1.1 mrg darwin1.*)
1086 1.1 mrg _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1087 1.1 mrg darwin*)
1088 1.1 mrg case $MACOSX_DEPLOYMENT_TARGET,$host in
1089 1.1 mrg 10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
1090 1.1 mrg _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1091 1.1 mrg *)
1092 1.1 mrg _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup'
1093 1.1 mrg if test yes = "$lt_cv_support_no_fixup_chains"; then
1094 1.1 mrg AS_VAR_APPEND([_lt_dar_allow_undefined], [' $wl-no_fixup_chains'])
1095 1.1 mrg fi
1096 1.1 mrg ;;
1097 1.1 mrg esac
1098 1.1 mrg ;;
1099 1.1 mrg esac
1100 1.1 mrg if test yes = "$lt_cv_apple_cc_single_mod"; then
1101 1.1 mrg _lt_dar_single_mod='$single_module'
1102 1.1 mrg fi
1103 1.1 mrg _lt_dar_needs_single_mod=no
1104 1.1 mrg case $host_os in
1105 1.1 mrg rhapsody* | darwin1.*)
1106 1.1 mrg _lt_dar_needs_single_mod=yes ;;
1107 1.1 mrg darwin*)
1108 1.1 mrg # When targeting Mac OS X 10.4 (darwin 8) or later,
1109 1.1 mrg # -single_module is the default and -multi_module is unsupported.
1110 1.1 mrg # The toolchain on macOS 10.14 (darwin 18) and later cannot
1111 1.1 mrg # target any OS version that needs -single_module.
1112 1.1 mrg case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1113 1.1 mrg 10.0,*-darwin[[567]].*|10.[[0-3]],*-darwin[[5-9]].*|10.[[0-3]],*-darwin1[[0-7]].*)
1114 1.1 mrg _lt_dar_needs_single_mod=yes ;;
1115 1.1 mrg esac
1116 1.1 mrg ;;
1117 1.1 mrg esac
1118 1.1 mrg if test yes = "$lt_cv_ld_exported_symbols_list"; then
1119 1.1 mrg _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
1120 1.1 mrg else
1121 1.1 mrg _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
1122 1.1 mrg fi
1123 1.1 mrg if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
1124 1.1 mrg _lt_dsymutil='~$DSYMUTIL $lib || :'
1125 1.1 mrg else
1126 1.1 mrg _lt_dsymutil=
1127 1.1 mrg fi
1128 1.1 mrg ;;
1129 1.1 mrg esac
1130 1.1 mrg ])
1131 1.1 mrg
1132 1.1 mrg
1133 1.1 mrg # _LT_DARWIN_LINKER_FEATURES([TAG])
1134 1.1 mrg # ---------------------------------
1135 1.1 mrg # Checks for linker and compiler features on darwin
1136 1.1 mrg m4_defun([_LT_DARWIN_LINKER_FEATURES],
1137 1.1 mrg [
1138 1.1 mrg m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1139 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1140 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
1141 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=yes
1142 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1143 1.1 mrg if test yes = "$lt_cv_ld_force_load"; then
1144 1.1 mrg _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\"`'
1145 1.1 mrg m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1146 1.1 mrg [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1147 1.1 mrg else
1148 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1149 1.1 mrg fi
1150 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
1151 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
1152 1.1 mrg case $cc_basename in
1153 1.1 mrg ifort*|nagfor*) _lt_dar_can_shared=yes ;;
1154 1.1 mrg *) _lt_dar_can_shared=$GCC ;;
1155 1.1 mrg esac
1156 1.1 mrg if test yes = "$_lt_dar_can_shared"; then
1157 1.1 mrg output_verbose_link_cmd=func_echo_all
1158 1.1 mrg _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"
1159 1.1 mrg _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
1160 1.1 mrg _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"
1161 1.1 mrg _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"
1162 1.1 mrg m4_if([$1], [CXX],
1163 1.1 mrg [ if test yes = "$_lt_dar_needs_single_mod" -a yes != "$lt_cv_apple_cc_single_mod"; then
1164 1.1 mrg _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"
1165 1.1 mrg _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"
1166 1.1 mrg fi
1167 1.1 mrg ],[])
1168 1.1 mrg else
1169 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
1170 1.1 mrg fi
1171 1.1 mrg ])
1172 1.1 mrg
1173 1.1 mrg # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1174 1.1 mrg # ----------------------------------
1175 1.1 mrg # Links a minimal program and checks the executable
1176 1.1 mrg # for the system default hardcoded library path. In most cases,
1177 1.1 mrg # this is /usr/lib:/lib, but when the MPI compilers are used
1178 1.1 mrg # the location of the communication and MPI libs are included too.
1179 1.1 mrg # If we don't find anything, use the default library path according
1180 1.1 mrg # to the aix ld manual.
1181 1.1 mrg # Store the results from the different compilers for each TAGNAME.
1182 1.1 mrg # Allow to override them for all tags through lt_cv_aix_libpath.
1183 1.1 mrg m4_defun([_LT_SYS_MODULE_PATH_AIX],
1184 1.1 mrg [m4_require([_LT_DECL_SED])dnl
1185 1.1 mrg if test set = "${lt_cv_aix_libpath+set}"; then
1186 1.1 mrg aix_libpath=$lt_cv_aix_libpath
1187 1.1 mrg else
1188 1.1 mrg AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1189 1.1 mrg [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1190 1.1 mrg lt_aix_libpath_sed='[
1191 1.1 mrg /Import File Strings/,/^$/ {
1192 1.1 mrg /^0/ {
1193 1.1 mrg s/^0 *\([^ ]*\) *$/\1/
1194 1.1 mrg p
1195 1.1 mrg }
1196 1.1 mrg }]'
1197 1.1 mrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1198 1.1 mrg # Check for a 64-bit object if we didn't find anything.
1199 1.1 mrg if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1200 1.1 mrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1201 1.1 mrg fi],[])
1202 1.1 mrg if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1203 1.1 mrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
1204 1.1 mrg fi
1205 1.1 mrg ])
1206 1.1 mrg aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1207 1.1 mrg fi
1208 1.1 mrg ])# _LT_SYS_MODULE_PATH_AIX
1209 1.1 mrg
1210 1.1 mrg
1211 1.1 mrg # _LT_SHELL_INIT(ARG)
1212 1.1 mrg # -------------------
1213 1.1 mrg m4_define([_LT_SHELL_INIT],
1214 1.1 mrg [m4_divert_text([M4SH-INIT], [$1
1215 1.1 mrg ])])# _LT_SHELL_INIT
1216 1.1 mrg
1217 1.1 mrg
1218 1.1 mrg
1219 1.1 mrg # _LT_PROG_ECHO_BACKSLASH
1220 1.1 mrg # -----------------------
1221 1.1 mrg # Find how we can fake an echo command that does not interpret backslash.
1222 1.1 mrg # In particular, with Autoconf 2.60 or later we add some code to the start
1223 1.1 mrg # of the generated configure script that will find a shell with a builtin
1224 1.1 mrg # printf (that we can use as an echo command).
1225 1.1 mrg m4_defun([_LT_PROG_ECHO_BACKSLASH],
1226 1.1 mrg [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1227 1.1 mrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1228 1.1 mrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1229 1.1 mrg
1230 1.1 mrg AC_MSG_CHECKING([how to print strings])
1231 1.1 mrg # Test print first, because it will be a builtin if present.
1232 1.1 mrg if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1233 1.1 mrg test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1234 1.1 mrg ECHO='print -r --'
1235 1.1 mrg elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1236 1.1 mrg ECHO='printf %s\n'
1237 1.1 mrg else
1238 1.1 mrg # Use this function as a fallback that always works.
1239 1.1 mrg func_fallback_echo ()
1240 1.1 mrg {
1241 1.1 mrg eval 'cat <<_LTECHO_EOF
1242 1.1 mrg $[]1
1243 1.1 mrg _LTECHO_EOF'
1244 1.1 mrg }
1245 1.1 mrg ECHO='func_fallback_echo'
1246 1.1 mrg fi
1247 1.1 mrg
1248 1.1 mrg # func_echo_all arg...
1249 1.1 mrg # Invoke $ECHO with all args, space-separated.
1250 1.1 mrg func_echo_all ()
1251 1.1 mrg {
1252 1.1 mrg $ECHO "$*"
1253 1.1 mrg }
1254 1.1 mrg
1255 1.1 mrg case $ECHO in
1256 1.1 mrg printf*) AC_MSG_RESULT([printf]) ;;
1257 1.1 mrg print*) AC_MSG_RESULT([print -r]) ;;
1258 1.1 mrg *) AC_MSG_RESULT([cat]) ;;
1259 1.1 mrg esac
1260 1.1 mrg
1261 1.1 mrg m4_ifdef([_AS_DETECT_SUGGESTED],
1262 1.1 mrg [_AS_DETECT_SUGGESTED([
1263 1.1 mrg test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1264 1.1 mrg ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1265 1.1 mrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1266 1.1 mrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1267 1.1 mrg PATH=/empty FPATH=/empty; export PATH FPATH
1268 1.1 mrg test "X`printf %s $ECHO`" = "X$ECHO" \
1269 1.1 mrg || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1270 1.1 mrg
1271 1.1 mrg _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1272 1.1 mrg _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1273 1.1 mrg ])# _LT_PROG_ECHO_BACKSLASH
1274 1.1 mrg
1275 1.1 mrg
1276 1.1 mrg # _LT_WITH_SYSROOT
1277 1.1 mrg # ----------------
1278 1.1 mrg AC_DEFUN([_LT_WITH_SYSROOT],
1279 1.1 mrg [m4_require([_LT_DECL_SED])dnl
1280 1.1 mrg AC_MSG_CHECKING([for sysroot])
1281 1.1 mrg AC_ARG_WITH([sysroot],
1282 1.1 mrg [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1283 1.1 mrg [Search for dependent libraries within DIR (or the compiler's sysroot
1284 1.1 mrg if not specified).])],
1285 1.1 mrg [], [with_sysroot=no])
1286 1.1 mrg
1287 1.1 mrg dnl lt_sysroot will always be passed unquoted. We quote it here
1288 1.1 mrg dnl in case the user passed a directory name.
1289 1.1 mrg lt_sysroot=
1290 1.1 mrg case $with_sysroot in #(
1291 1.1 mrg yes)
1292 1.1 mrg if test yes = "$GCC"; then
1293 1.1 mrg # Trim trailing / since we'll always append absolute paths and we want
1294 1.1 mrg # to avoid //, if only for less confusing output for the user.
1295 1.1 mrg lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
1296 1.1 mrg fi
1297 1.1 mrg ;; #(
1298 1.1 mrg /*)
1299 1.1 mrg lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
1300 1.1 mrg ;; #(
1301 1.1 mrg no|'')
1302 1.1 mrg ;; #(
1303 1.1 mrg *)
1304 1.1 mrg AC_MSG_RESULT([$with_sysroot])
1305 1.1 mrg AC_MSG_ERROR([The sysroot must be an absolute path.])
1306 1.1 mrg ;;
1307 1.1 mrg esac
1308 1.1 mrg
1309 1.1 mrg AC_MSG_RESULT([${lt_sysroot:-no}])
1310 1.1 mrg _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1311 1.1 mrg [dependent libraries, and where our libraries should be installed.])])
1312 1.1 mrg
1313 1.1 mrg # _LT_ENABLE_LOCK
1314 1.1 mrg # ---------------
1315 1.1 mrg m4_defun([_LT_ENABLE_LOCK],
1316 1.1 mrg [AC_ARG_ENABLE([libtool-lock],
1317 1.1 mrg [AS_HELP_STRING([--disable-libtool-lock],
1318 1.1 mrg [avoid locking (might break parallel builds)])])
1319 1.1 mrg test no = "$enable_libtool_lock" || enable_libtool_lock=yes
1320 1.1 mrg
1321 1.1 mrg # Some flags need to be propagated to the compiler or linker for good
1322 1.1 mrg # libtool support.
1323 1.1 mrg case $host in
1324 1.1 mrg ia64-*-hpux*)
1325 1.1 mrg # Find out what ABI is being produced by ac_compile, and set mode
1326 1.1 mrg # options accordingly.
1327 1.1 mrg echo 'int i;' > conftest.$ac_ext
1328 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1329 1.1 mrg case `$FILECMD conftest.$ac_objext` in
1330 1.1 mrg *ELF-32*)
1331 1.1 mrg HPUX_IA64_MODE=32
1332 1.1 mrg ;;
1333 1.1 mrg *ELF-64*)
1334 1.1 mrg HPUX_IA64_MODE=64
1335 1.1 mrg ;;
1336 1.1 mrg esac
1337 1.1 mrg fi
1338 1.1 mrg rm -rf conftest*
1339 1.1 mrg ;;
1340 1.1 mrg *-*-irix6*)
1341 1.1 mrg # Find out what ABI is being produced by ac_compile, and set linker
1342 1.1 mrg # options accordingly.
1343 1.1 mrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1344 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1345 1.1 mrg if test yes = "$lt_cv_prog_gnu_ld"; then
1346 1.1 mrg case `$FILECMD conftest.$ac_objext` in
1347 1.1 mrg *32-bit*)
1348 1.1 mrg LD="${LD-ld} -melf32bsmip"
1349 1.1 mrg ;;
1350 1.1 mrg *N32*)
1351 1.1 mrg LD="${LD-ld} -melf32bmipn32"
1352 1.1 mrg ;;
1353 1.1 mrg *64-bit*)
1354 1.1 mrg LD="${LD-ld} -melf64bmip"
1355 1.1 mrg ;;
1356 1.1 mrg esac
1357 1.1 mrg else
1358 1.1 mrg case `$FILECMD conftest.$ac_objext` in
1359 1.1 mrg *32-bit*)
1360 1.1 mrg LD="${LD-ld} -32"
1361 1.1 mrg ;;
1362 1.1 mrg *N32*)
1363 1.1 mrg LD="${LD-ld} -n32"
1364 1.1 mrg ;;
1365 1.1 mrg *64-bit*)
1366 1.1 mrg LD="${LD-ld} -64"
1367 1.1 mrg ;;
1368 1.1 mrg esac
1369 1.1 mrg fi
1370 1.1 mrg fi
1371 1.1 mrg rm -rf conftest*
1372 1.1 mrg ;;
1373 1.1 mrg
1374 1.1 mrg mips64*-*linux*)
1375 1.1 mrg # Find out what ABI is being produced by ac_compile, and set linker
1376 1.1 mrg # options accordingly.
1377 1.1 mrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1378 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1379 1.1 mrg emul=elf
1380 1.1 mrg case `$FILECMD conftest.$ac_objext` in
1381 1.1 mrg *32-bit*)
1382 1.1 mrg emul="${emul}32"
1383 1.1 mrg ;;
1384 1.1 mrg *64-bit*)
1385 1.1 mrg emul="${emul}64"
1386 1.1 mrg ;;
1387 1.1 mrg esac
1388 1.1 mrg case `$FILECMD conftest.$ac_objext` in
1389 1.1 mrg *MSB*)
1390 1.1 mrg emul="${emul}btsmip"
1391 1.1 mrg ;;
1392 1.1 mrg *LSB*)
1393 1.1 mrg emul="${emul}ltsmip"
1394 1.1 mrg ;;
1395 1.1 mrg esac
1396 1.1 mrg case `$FILECMD conftest.$ac_objext` in
1397 1.1 mrg *N32*)
1398 1.1 mrg emul="${emul}n32"
1399 1.1 mrg ;;
1400 1.1 mrg esac
1401 1.1 mrg LD="${LD-ld} -m $emul"
1402 1.1 mrg fi
1403 1.1 mrg rm -rf conftest*
1404 1.1 mrg ;;
1405 1.1 mrg
1406 1.1 mrg x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
1407 1.1 mrg s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
1408 1.1 mrg # Find out what ABI is being produced by ac_compile, and set linker
1409 1.1 mrg # options accordingly. Note that the listed cases only cover the
1410 1.1 mrg # situations where additional linker options are needed (such as when
1411 1.1 mrg # doing 32-bit compilation for a host where ld defaults to 64-bit, or
1412 1.1 mrg # vice versa); the common cases where no linker options are needed do
1413 1.1 mrg # not appear in the list.
1414 1.1 mrg echo 'int i;' > conftest.$ac_ext
1415 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1416 1.1 mrg case `$FILECMD conftest.o` in
1417 1.1 mrg *32-bit*)
1418 1.1 mrg case $host in
1419 1.1 mrg x86_64-*kfreebsd*-gnu)
1420 1.1 mrg LD="${LD-ld} -m elf_i386_fbsd"
1421 1.1 mrg ;;
1422 1.1 mrg x86_64-*linux*|x86_64-gnu*)
1423 1.1 mrg case `$FILECMD conftest.o` in
1424 1.1 mrg *x86-64*)
1425 1.1 mrg LD="${LD-ld} -m elf32_x86_64"
1426 1.1 mrg ;;
1427 1.1 mrg *)
1428 1.1 mrg LD="${LD-ld} -m elf_i386"
1429 1.1 mrg ;;
1430 1.1 mrg esac
1431 1.1 mrg ;;
1432 1.1 mrg powerpc64le-*linux*)
1433 1.1 mrg LD="${LD-ld} -m elf32lppclinux"
1434 1.1 mrg ;;
1435 1.1 mrg powerpc64-*linux*)
1436 1.1 mrg LD="${LD-ld} -m elf32ppclinux"
1437 1.1 mrg ;;
1438 1.1 mrg s390x-*linux*)
1439 1.1 mrg LD="${LD-ld} -m elf_s390"
1440 1.1 mrg ;;
1441 1.1 mrg sparc64-*linux*)
1442 1.1 mrg LD="${LD-ld} -m elf32_sparc"
1443 1.1 mrg ;;
1444 1.1 mrg esac
1445 1.1 mrg ;;
1446 1.1 mrg *64-bit*)
1447 1.1 mrg case $host in
1448 1.1 mrg x86_64-*kfreebsd*-gnu)
1449 1.1 mrg LD="${LD-ld} -m elf_x86_64_fbsd"
1450 1.1 mrg ;;
1451 1.1 mrg x86_64-*linux*|x86_64-gnu*)
1452 1.1 mrg LD="${LD-ld} -m elf_x86_64"
1453 1.1 mrg ;;
1454 1.1 mrg powerpcle-*linux*)
1455 1.1 mrg LD="${LD-ld} -m elf64lppc"
1456 1.1 mrg ;;
1457 1.1 mrg powerpc-*linux*)
1458 1.1 mrg LD="${LD-ld} -m elf64ppc"
1459 1.1 mrg ;;
1460 1.1 mrg s390*-*linux*|s390*-*tpf*)
1461 1.1 mrg LD="${LD-ld} -m elf64_s390"
1462 1.1 mrg ;;
1463 1.1 mrg sparc*-*linux*)
1464 1.1 mrg LD="${LD-ld} -m elf64_sparc"
1465 1.1 mrg ;;
1466 1.1 mrg esac
1467 1.1 mrg ;;
1468 1.1 mrg esac
1469 1.1 mrg fi
1470 1.1 mrg rm -rf conftest*
1471 1.1 mrg ;;
1472 1.1 mrg
1473 1.1 mrg *-*-sco3.2v5*)
1474 1.1 mrg # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1475 1.1 mrg SAVE_CFLAGS=$CFLAGS
1476 1.1 mrg CFLAGS="$CFLAGS -belf"
1477 1.1 mrg AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1478 1.1 mrg [AC_LANG_PUSH(C)
1479 1.1 mrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1480 1.1 mrg AC_LANG_POP])
1481 1.1 mrg if test yes != "$lt_cv_cc_needs_belf"; then
1482 1.1 mrg # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1483 1.1 mrg CFLAGS=$SAVE_CFLAGS
1484 1.1 mrg fi
1485 1.1 mrg ;;
1486 1.1 mrg *-*solaris*)
1487 1.1 mrg # Find out what ABI is being produced by ac_compile, and set linker
1488 1.1 mrg # options accordingly.
1489 1.1 mrg echo 'int i;' > conftest.$ac_ext
1490 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1491 1.1 mrg case `$FILECMD conftest.o` in
1492 1.1 mrg *64-bit*)
1493 1.1 mrg case $lt_cv_prog_gnu_ld in
1494 1.1 mrg yes*)
1495 1.1 mrg case $host in
1496 1.1 mrg i?86-*-solaris*|x86_64-*-solaris*)
1497 1.1 mrg LD="${LD-ld} -m elf_x86_64"
1498 1.1 mrg ;;
1499 1.1 mrg sparc*-*-solaris*)
1500 1.1 mrg LD="${LD-ld} -m elf64_sparc"
1501 1.1 mrg ;;
1502 1.1 mrg esac
1503 1.1 mrg # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1504 1.1 mrg if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1505 1.1 mrg LD=${LD-ld}_sol2
1506 1.1 mrg fi
1507 1.1 mrg ;;
1508 1.1 mrg *)
1509 1.1 mrg if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1510 1.1 mrg LD="${LD-ld} -64"
1511 1.1 mrg fi
1512 1.1 mrg ;;
1513 1.1 mrg esac
1514 1.1 mrg ;;
1515 1.1 mrg esac
1516 1.1 mrg fi
1517 1.1 mrg rm -rf conftest*
1518 1.1 mrg ;;
1519 1.1 mrg esac
1520 1.1 mrg
1521 1.1 mrg need_locks=$enable_libtool_lock
1522 1.1 mrg ])# _LT_ENABLE_LOCK
1523 1.1 mrg
1524 1.1 mrg
1525 1.1 mrg # _LT_PROG_AR
1526 1.1 mrg # -----------
1527 1.1 mrg m4_defun([_LT_PROG_AR],
1528 1.1 mrg [AC_CHECK_TOOLS(AR, [ar], false)
1529 1.1 mrg : ${AR=ar}
1530 1.1 mrg _LT_DECL([], [AR], [1], [The archiver])
1531 1.1 mrg
1532 1.1 mrg # Use ARFLAGS variable as AR's operation code to sync the variable naming with
1533 1.1 mrg # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
1534 1.1 mrg # higher priority because that's what people were doing historically (setting
1535 1.1 mrg # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
1536 1.1 mrg # variable obsoleted/removed.
1537 1.1 mrg
1538 1.1 mrg test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
1539 1.1 mrg lt_ar_flags=$AR_FLAGS
1540 1.1 mrg _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
1541 1.1 mrg
1542 1.1 mrg # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
1543 1.1 mrg # by AR_FLAGS because that was never working and AR_FLAGS is about to die.
1544 1.1 mrg _LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
1545 1.1 mrg [Flags to create an archive])
1546 1.1 mrg
1547 1.1 mrg AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1548 1.1 mrg [lt_cv_ar_at_file=no
1549 1.1 mrg AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1550 1.1 mrg [echo conftest.$ac_objext > conftest.lst
1551 1.1 mrg lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1552 1.1 mrg AC_TRY_EVAL([lt_ar_try])
1553 1.1 mrg if test 0 -eq "$ac_status"; then
1554 1.1 mrg # Ensure the archiver fails upon bogus file names.
1555 1.1 mrg rm -f conftest.$ac_objext libconftest.a
1556 1.1 mrg AC_TRY_EVAL([lt_ar_try])
1557 1.1 mrg if test 0 -ne "$ac_status"; then
1558 1.1 mrg lt_cv_ar_at_file=@
1559 1.1 mrg fi
1560 1.1 mrg fi
1561 1.1 mrg rm -f conftest.* libconftest.a
1562 1.1 mrg ])
1563 1.1 mrg ])
1564 1.1 mrg
1565 1.1 mrg if test no = "$lt_cv_ar_at_file"; then
1566 1.1 mrg archiver_list_spec=
1567 1.1 mrg else
1568 1.1 mrg archiver_list_spec=$lt_cv_ar_at_file
1569 1.1 mrg fi
1570 1.1 mrg _LT_DECL([], [archiver_list_spec], [1],
1571 1.1 mrg [How to feed a file listing to the archiver])
1572 1.1 mrg ])# _LT_PROG_AR
1573 1.1 mrg
1574 1.1 mrg
1575 1.1 mrg # _LT_CMD_OLD_ARCHIVE
1576 1.1 mrg # -------------------
1577 1.1 mrg m4_defun([_LT_CMD_OLD_ARCHIVE],
1578 1.1 mrg [_LT_PROG_AR
1579 1.1 mrg
1580 1.1 mrg AC_CHECK_TOOL(STRIP, strip, :)
1581 1.1 mrg test -z "$STRIP" && STRIP=:
1582 1.1 mrg _LT_DECL([], [STRIP], [1], [A symbol stripping program])
1583 1.1 mrg
1584 1.1 mrg AC_REQUIRE([AC_PROG_RANLIB])
1585 1.1 mrg test -z "$RANLIB" && RANLIB=:
1586 1.1 mrg _LT_DECL([], [RANLIB], [1],
1587 1.1 mrg [Commands used to install an old-style archive])
1588 1.1 mrg
1589 1.1 mrg # Determine commands to create old-style static archives.
1590 1.1 mrg old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1591 1.1 mrg old_postinstall_cmds='chmod 644 $oldlib'
1592 1.1 mrg old_postuninstall_cmds=
1593 1.1 mrg
1594 1.1 mrg if test -n "$RANLIB"; then
1595 1.1 mrg old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1596 1.1 mrg old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1597 1.1 mrg fi
1598 1.1 mrg
1599 1.1 mrg case $host_os in
1600 1.1 mrg darwin*)
1601 1.1 mrg lock_old_archive_extraction=yes ;;
1602 1.1 mrg *)
1603 1.1 mrg lock_old_archive_extraction=no ;;
1604 1.1 mrg esac
1605 1.1 mrg _LT_DECL([], [old_postinstall_cmds], [2])
1606 1.1 mrg _LT_DECL([], [old_postuninstall_cmds], [2])
1607 1.1 mrg _LT_TAGDECL([], [old_archive_cmds], [2],
1608 1.1 mrg [Commands used to build an old-style archive])
1609 1.1 mrg _LT_DECL([], [lock_old_archive_extraction], [0],
1610 1.1 mrg [Whether to use a lock for old archive extraction])
1611 1.1 mrg ])# _LT_CMD_OLD_ARCHIVE
1612 1.1 mrg
1613 1.1 mrg
1614 1.1 mrg # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1615 1.1 mrg # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1616 1.1 mrg # ----------------------------------------------------------------
1617 1.1 mrg # Check whether the given compiler option works
1618 1.1 mrg AC_DEFUN([_LT_COMPILER_OPTION],
1619 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1620 1.1 mrg m4_require([_LT_DECL_SED])dnl
1621 1.1 mrg AC_CACHE_CHECK([$1], [$2],
1622 1.1 mrg [$2=no
1623 1.1 mrg m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1624 1.1 mrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1625 1.1 mrg lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
1626 1.1 mrg # Insert the option either (1) after the last *FLAGS variable, or
1627 1.1 mrg # (2) before a word containing "conftest.", or (3) at the end.
1628 1.1 mrg # Note that $ac_compile itself does not contain backslashes and begins
1629 1.1 mrg # with a dollar sign (not a hyphen), so the echo should work correctly.
1630 1.1 mrg # The option is referenced via a variable to avoid confusing sed.
1631 1.1 mrg lt_compile=`echo "$ac_compile" | $SED \
1632 1.1 mrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1633 1.1 mrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1634 1.1 mrg -e 's:$: $lt_compiler_flag:'`
1635 1.1 mrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1636 1.1 mrg (eval "$lt_compile" 2>conftest.err)
1637 1.1 mrg ac_status=$?
1638 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1639 1.1 mrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1640 1.1 mrg if (exit $ac_status) && test -s "$ac_outfile"; then
1641 1.1 mrg # The compiler can only warn and ignore the option if not recognized
1642 1.1 mrg # So say no if there are warnings other than the usual output.
1643 1.1 mrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1644 1.1 mrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1645 1.1 mrg if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1646 1.1 mrg $2=yes
1647 1.1 mrg fi
1648 1.1 mrg fi
1649 1.1 mrg $RM conftest*
1650 1.1 mrg ])
1651 1.1 mrg
1652 1.1 mrg if test yes = "[$]$2"; then
1653 1.1 mrg m4_if([$5], , :, [$5])
1654 1.1 mrg else
1655 1.1 mrg m4_if([$6], , :, [$6])
1656 1.1 mrg fi
1657 1.1 mrg ])# _LT_COMPILER_OPTION
1658 1.1 mrg
1659 1.1 mrg # Old name:
1660 1.1 mrg AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1661 1.1 mrg dnl aclocal-1.4 backwards compatibility:
1662 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1663 1.1 mrg
1664 1.1 mrg
1665 1.1 mrg # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1666 1.1 mrg # [ACTION-SUCCESS], [ACTION-FAILURE])
1667 1.1 mrg # ----------------------------------------------------
1668 1.1 mrg # Check whether the given linker option works
1669 1.1 mrg AC_DEFUN([_LT_LINKER_OPTION],
1670 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1671 1.1 mrg m4_require([_LT_DECL_SED])dnl
1672 1.1 mrg AC_CACHE_CHECK([$1], [$2],
1673 1.1 mrg [$2=no
1674 1.1 mrg save_LDFLAGS=$LDFLAGS
1675 1.1 mrg LDFLAGS="$LDFLAGS $3"
1676 1.1 mrg echo "$lt_simple_link_test_code" > conftest.$ac_ext
1677 1.1 mrg if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1678 1.1 mrg # The linker can only warn and ignore the option if not recognized
1679 1.1 mrg # So say no if there are warnings
1680 1.1 mrg if test -s conftest.err; then
1681 1.1 mrg # Append any errors to the config.log.
1682 1.1 mrg cat conftest.err 1>&AS_MESSAGE_LOG_FD
1683 1.1 mrg $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1684 1.1 mrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1685 1.1 mrg if diff conftest.exp conftest.er2 >/dev/null; then
1686 1.1 mrg $2=yes
1687 1.1 mrg fi
1688 1.1 mrg else
1689 1.1 mrg $2=yes
1690 1.1 mrg fi
1691 1.1 mrg fi
1692 1.1 mrg $RM -r conftest*
1693 1.1 mrg LDFLAGS=$save_LDFLAGS
1694 1.1 mrg ])
1695 1.1 mrg
1696 1.1 mrg if test yes = "[$]$2"; then
1697 1.1 mrg m4_if([$4], , :, [$4])
1698 1.1 mrg else
1699 1.1 mrg m4_if([$5], , :, [$5])
1700 1.1 mrg fi
1701 1.1 mrg ])# _LT_LINKER_OPTION
1702 1.1 mrg
1703 1.1 mrg # Old name:
1704 1.1 mrg AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1705 1.1 mrg dnl aclocal-1.4 backwards compatibility:
1706 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1707 1.1 mrg
1708 1.1 mrg
1709 1.1 mrg # LT_CMD_MAX_LEN
1710 1.1 mrg #---------------
1711 1.1 mrg AC_DEFUN([LT_CMD_MAX_LEN],
1712 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1713 1.1 mrg # find the maximum length of command line arguments
1714 1.1 mrg AC_MSG_CHECKING([the maximum length of command line arguments])
1715 1.1 mrg AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1716 1.1 mrg i=0
1717 1.1 mrg teststring=ABCD
1718 1.1 mrg
1719 1.1 mrg case $build_os in
1720 1.1 mrg msdosdjgpp*)
1721 1.1 mrg # On DJGPP, this test can blow up pretty badly due to problems in libc
1722 1.1 mrg # (any single argument exceeding 2000 bytes causes a buffer overrun
1723 1.1 mrg # during glob expansion). Even if it were fixed, the result of this
1724 1.1 mrg # check would be larger than it should be.
1725 1.1 mrg lt_cv_sys_max_cmd_len=12288; # 12K is about right
1726 1.1 mrg ;;
1727 1.1 mrg
1728 1.1 mrg gnu* | ironclad*)
1729 1.1 mrg # Under GNU Hurd and Ironclad, this test is not required because there
1730 1.1 mrg # is no limit to the length of command line arguments.
1731 1.1 mrg # Libtool will interpret -1 as no limit whatsoever
1732 1.1 mrg lt_cv_sys_max_cmd_len=-1;
1733 1.1 mrg ;;
1734 1.1 mrg
1735 1.1 mrg cygwin* | mingw* | windows* | cegcc*)
1736 1.1 mrg # On Win9x/ME, this test blows up -- it succeeds, but takes
1737 1.1 mrg # about 5 minutes as the teststring grows exponentially.
1738 1.1 mrg # Worse, since 9x/ME are not pre-emptively multitasking,
1739 1.1 mrg # you end up with a "frozen" computer, even though with patience
1740 1.1 mrg # the test eventually succeeds (with a max line length of 256k).
1741 1.1 mrg # Instead, let's just punt: use the minimum linelength reported by
1742 1.1 mrg # all of the supported platforms: 8192 (on NT/2K/XP).
1743 1.1 mrg lt_cv_sys_max_cmd_len=8192;
1744 1.1 mrg ;;
1745 1.1 mrg
1746 1.1 mrg mint*)
1747 1.1 mrg # On MiNT this can take a long time and run out of memory.
1748 1.1 mrg lt_cv_sys_max_cmd_len=8192;
1749 1.1 mrg ;;
1750 1.1 mrg
1751 1.1 mrg amigaos*)
1752 1.1 mrg # On AmigaOS with pdksh, this test takes hours, literally.
1753 1.1 mrg # So we just punt and use a minimum line length of 8192.
1754 1.1 mrg lt_cv_sys_max_cmd_len=8192;
1755 1.1 mrg ;;
1756 1.1 mrg
1757 1.1 mrg darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
1758 1.1 mrg # This has been around since 386BSD, at least. Likely further.
1759 1.1 mrg if test -x /sbin/sysctl; then
1760 1.1 mrg lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1761 1.1 mrg elif test -x /usr/sbin/sysctl; then
1762 1.1 mrg lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1763 1.1 mrg else
1764 1.1 mrg lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1765 1.1 mrg fi
1766 1.1 mrg # And add a safety zone
1767 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1768 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1769 1.1 mrg ;;
1770 1.1 mrg
1771 1.1 mrg interix*)
1772 1.1 mrg # We know the value 262144 and hardcode it with a safety zone (like BSD)
1773 1.1 mrg lt_cv_sys_max_cmd_len=196608
1774 1.1 mrg ;;
1775 1.1 mrg
1776 1.1 mrg os2*)
1777 1.1 mrg # The test takes a long time on OS/2.
1778 1.1 mrg lt_cv_sys_max_cmd_len=8192
1779 1.1 mrg ;;
1780 1.1 mrg
1781 1.1 mrg osf*)
1782 1.1 mrg # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1783 1.1 mrg # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1784 1.1 mrg # nice to cause kernel panics so lets avoid the loop below.
1785 1.1 mrg # First set a reasonable default.
1786 1.1 mrg lt_cv_sys_max_cmd_len=16384
1787 1.1 mrg #
1788 1.1 mrg if test -x /sbin/sysconfig; then
1789 1.1 mrg case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1790 1.1 mrg *1*) lt_cv_sys_max_cmd_len=-1 ;;
1791 1.1 mrg esac
1792 1.1 mrg fi
1793 1.1 mrg ;;
1794 1.1 mrg sco3.2v5*)
1795 1.1 mrg lt_cv_sys_max_cmd_len=102400
1796 1.1 mrg ;;
1797 1.1 mrg sysv5* | sco5v6* | sysv4.2uw2*)
1798 1.1 mrg kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1799 1.1 mrg if test -n "$kargmax"; then
1800 1.1 mrg lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'`
1801 1.1 mrg else
1802 1.1 mrg lt_cv_sys_max_cmd_len=32768
1803 1.1 mrg fi
1804 1.1 mrg ;;
1805 1.1 mrg *)
1806 1.1 mrg lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1807 1.1 mrg if test -n "$lt_cv_sys_max_cmd_len" && \
1808 1.1 mrg test undefined != "$lt_cv_sys_max_cmd_len"; then
1809 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1810 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1811 1.1 mrg else
1812 1.1 mrg # Make teststring a little bigger before we do anything with it.
1813 1.1 mrg # a 1K string should be a reasonable start.
1814 1.1 mrg for i in 1 2 3 4 5 6 7 8; do
1815 1.1 mrg teststring=$teststring$teststring
1816 1.1 mrg done
1817 1.1 mrg SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1818 1.1 mrg # If test is not a shell built-in, we'll probably end up computing a
1819 1.1 mrg # maximum length that is only half of the actual maximum length, but
1820 1.1 mrg # we can't tell.
1821 1.1 mrg while { test X`env echo "$teststring$teststring" 2>/dev/null` \
1822 1.1 mrg = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1823 1.1 mrg test 17 != "$i" # 1/2 MB should be enough
1824 1.1 mrg do
1825 1.1 mrg i=`expr $i + 1`
1826 1.1 mrg teststring=$teststring$teststring
1827 1.1 mrg done
1828 1.1 mrg # Only check the string length outside the loop.
1829 1.1 mrg lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1830 1.1 mrg teststring=
1831 1.1 mrg # Add a significant safety factor because C++ compilers can tack on
1832 1.1 mrg # massive amounts of additional arguments before passing them to the
1833 1.1 mrg # linker. It appears as though 1/2 is a usable value.
1834 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1835 1.1 mrg fi
1836 1.1 mrg ;;
1837 1.1 mrg esac
1838 1.1 mrg ])
1839 1.1 mrg if test -n "$lt_cv_sys_max_cmd_len"; then
1840 1.1 mrg AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1841 1.1 mrg else
1842 1.1 mrg AC_MSG_RESULT(none)
1843 1.1 mrg fi
1844 1.1 mrg max_cmd_len=$lt_cv_sys_max_cmd_len
1845 1.1 mrg _LT_DECL([], [max_cmd_len], [0],
1846 1.1 mrg [What is the maximum length of a command?])
1847 1.1 mrg ])# LT_CMD_MAX_LEN
1848 1.1 mrg
1849 1.1 mrg # Old name:
1850 1.1 mrg AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1851 1.1 mrg dnl aclocal-1.4 backwards compatibility:
1852 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1853 1.1 mrg
1854 1.1 mrg
1855 1.1 mrg # _LT_HEADER_DLFCN
1856 1.1 mrg # ----------------
1857 1.1 mrg m4_defun([_LT_HEADER_DLFCN],
1858 1.1 mrg [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1859 1.1 mrg ])# _LT_HEADER_DLFCN
1860 1.1 mrg
1861 1.1 mrg
1862 1.1 mrg # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1863 1.1 mrg # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1864 1.1 mrg # ----------------------------------------------------------------
1865 1.1 mrg m4_defun([_LT_TRY_DLOPEN_SELF],
1866 1.1 mrg [m4_require([_LT_HEADER_DLFCN])dnl
1867 1.1 mrg if test yes = "$cross_compiling"; then :
1868 1.1 mrg [$4]
1869 1.1 mrg else
1870 1.1 mrg lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1871 1.1 mrg lt_status=$lt_dlunknown
1872 1.1 mrg cat > conftest.$ac_ext <<_LT_EOF
1873 1.1 mrg [#line $LINENO "configure"
1874 1.1 mrg #include "confdefs.h"
1875 1.1 mrg
1876 1.1 mrg #if HAVE_DLFCN_H
1877 1.1 mrg #include <dlfcn.h>
1878 1.1 mrg #endif
1879 1.1 mrg
1880 1.1 mrg #include <stdio.h>
1881 1.1 mrg
1882 1.1 mrg #ifdef RTLD_GLOBAL
1883 1.1 mrg # define LT_DLGLOBAL RTLD_GLOBAL
1884 1.1 mrg #else
1885 1.1 mrg # ifdef DL_GLOBAL
1886 1.1 mrg # define LT_DLGLOBAL DL_GLOBAL
1887 1.1 mrg # else
1888 1.1 mrg # define LT_DLGLOBAL 0
1889 1.1 mrg # endif
1890 1.1 mrg #endif
1891 1.1 mrg
1892 1.1 mrg /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1893 1.1 mrg find out it does not work in some platform. */
1894 1.1 mrg #ifndef LT_DLLAZY_OR_NOW
1895 1.1 mrg # ifdef RTLD_LAZY
1896 1.1 mrg # define LT_DLLAZY_OR_NOW RTLD_LAZY
1897 1.1 mrg # else
1898 1.1 mrg # ifdef DL_LAZY
1899 1.1 mrg # define LT_DLLAZY_OR_NOW DL_LAZY
1900 1.1 mrg # else
1901 1.1 mrg # ifdef RTLD_NOW
1902 1.1 mrg # define LT_DLLAZY_OR_NOW RTLD_NOW
1903 1.1 mrg # else
1904 1.1 mrg # ifdef DL_NOW
1905 1.1 mrg # define LT_DLLAZY_OR_NOW DL_NOW
1906 1.1 mrg # else
1907 1.1 mrg # define LT_DLLAZY_OR_NOW 0
1908 1.1 mrg # endif
1909 1.1 mrg # endif
1910 1.1 mrg # endif
1911 1.1 mrg # endif
1912 1.1 mrg #endif
1913 1.1 mrg
1914 1.1 mrg /* When -fvisibility=hidden is used, assume the code has been annotated
1915 1.1 mrg correspondingly for the symbols needed. */
1916 1.1 mrg #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1917 1.1 mrg int fnord (void) __attribute__((visibility("default")));
1918 1.1 mrg #endif
1919 1.1 mrg
1920 1.1 mrg int fnord (void) { return 42; }
1921 1.1 mrg int main (void)
1922 1.1 mrg {
1923 1.1 mrg void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1924 1.1 mrg int status = $lt_dlunknown;
1925 1.1 mrg
1926 1.1 mrg if (self)
1927 1.1 mrg {
1928 1.1 mrg if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1929 1.1 mrg else
1930 1.1 mrg {
1931 1.1 mrg if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1932 1.1 mrg else puts (dlerror ());
1933 1.1 mrg }
1934 1.1 mrg /* dlclose (self); */
1935 1.1 mrg }
1936 1.1 mrg else
1937 1.1 mrg puts (dlerror ());
1938 1.1 mrg
1939 1.1 mrg return status;
1940 1.1 mrg }]
1941 1.1 mrg _LT_EOF
1942 1.1 mrg if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
1943 1.1 mrg (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1944 1.1 mrg lt_status=$?
1945 1.1 mrg case x$lt_status in
1946 1.1 mrg x$lt_dlno_uscore) $1 ;;
1947 1.1 mrg x$lt_dlneed_uscore) $2 ;;
1948 1.1 mrg x$lt_dlunknown|x*) $3 ;;
1949 1.1 mrg esac
1950 1.1 mrg else :
1951 1.1 mrg # compilation failed
1952 1.1 mrg $3
1953 1.1 mrg fi
1954 1.1 mrg fi
1955 1.1 mrg rm -fr conftest*
1956 1.1 mrg ])# _LT_TRY_DLOPEN_SELF
1957 1.1 mrg
1958 1.1 mrg
1959 1.1 mrg # LT_SYS_DLOPEN_SELF
1960 1.1 mrg # ------------------
1961 1.1 mrg AC_DEFUN([LT_SYS_DLOPEN_SELF],
1962 1.1 mrg [m4_require([_LT_HEADER_DLFCN])dnl
1963 1.1 mrg if test yes != "$enable_dlopen"; then
1964 1.1 mrg enable_dlopen=unknown
1965 1.1 mrg enable_dlopen_self=unknown
1966 1.1 mrg enable_dlopen_self_static=unknown
1967 1.1 mrg else
1968 1.1 mrg lt_cv_dlopen=no
1969 1.1 mrg lt_cv_dlopen_libs=
1970 1.1 mrg
1971 1.1 mrg case $host_os in
1972 1.1 mrg beos*)
1973 1.1 mrg lt_cv_dlopen=load_add_on
1974 1.1 mrg lt_cv_dlopen_libs=
1975 1.1 mrg lt_cv_dlopen_self=yes
1976 1.1 mrg ;;
1977 1.1 mrg
1978 1.1 mrg mingw* | windows* | pw32* | cegcc*)
1979 1.1 mrg lt_cv_dlopen=LoadLibrary
1980 1.1 mrg lt_cv_dlopen_libs=
1981 1.1 mrg ;;
1982 1.1 mrg
1983 1.1 mrg cygwin*)
1984 1.1 mrg lt_cv_dlopen=dlopen
1985 1.1 mrg lt_cv_dlopen_libs=
1986 1.1 mrg ;;
1987 1.1 mrg
1988 1.1 mrg darwin*)
1989 1.1 mrg # if libdl is installed we need to link against it
1990 1.1 mrg AC_CHECK_LIB([dl], [dlopen],
1991 1.1 mrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1992 1.1 mrg lt_cv_dlopen=dyld
1993 1.1 mrg lt_cv_dlopen_libs=
1994 1.1 mrg lt_cv_dlopen_self=yes
1995 1.1 mrg ])
1996 1.1 mrg ;;
1997 1.1 mrg
1998 1.1 mrg tpf*)
1999 1.1 mrg # Don't try to run any link tests for TPF. We know it's impossible
2000 1.1 mrg # because TPF is a cross-compiler, and we know how we open DSOs.
2001 1.1 mrg lt_cv_dlopen=dlopen
2002 1.1 mrg lt_cv_dlopen_libs=
2003 1.1 mrg lt_cv_dlopen_self=no
2004 1.1 mrg ;;
2005 1.1 mrg
2006 1.1 mrg *)
2007 1.1 mrg AC_CHECK_FUNC([shl_load],
2008 1.1 mrg [lt_cv_dlopen=shl_load],
2009 1.1 mrg [AC_CHECK_LIB([dld], [shl_load],
2010 1.1 mrg [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
2011 1.1 mrg [AC_CHECK_FUNC([dlopen],
2012 1.1 mrg [lt_cv_dlopen=dlopen],
2013 1.1 mrg [AC_CHECK_LIB([dl], [dlopen],
2014 1.1 mrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
2015 1.1 mrg [AC_CHECK_LIB([svld], [dlopen],
2016 1.1 mrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
2017 1.1 mrg [AC_CHECK_LIB([dld], [dld_link],
2018 1.1 mrg [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
2019 1.1 mrg ])
2020 1.1 mrg ])
2021 1.1 mrg ])
2022 1.1 mrg ])
2023 1.1 mrg ])
2024 1.1 mrg ;;
2025 1.1 mrg esac
2026 1.1 mrg
2027 1.1 mrg if test no = "$lt_cv_dlopen"; then
2028 1.1 mrg enable_dlopen=no
2029 1.1 mrg else
2030 1.1 mrg enable_dlopen=yes
2031 1.1 mrg fi
2032 1.1 mrg
2033 1.1 mrg case $lt_cv_dlopen in
2034 1.1 mrg dlopen)
2035 1.1 mrg save_CPPFLAGS=$CPPFLAGS
2036 1.1 mrg test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2037 1.1 mrg
2038 1.1 mrg save_LDFLAGS=$LDFLAGS
2039 1.1 mrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2040 1.1 mrg
2041 1.1 mrg save_LIBS=$LIBS
2042 1.1 mrg LIBS="$lt_cv_dlopen_libs $LIBS"
2043 1.1 mrg
2044 1.1 mrg AC_CACHE_CHECK([whether a program can dlopen itself],
2045 1.1 mrg lt_cv_dlopen_self, [dnl
2046 1.1 mrg _LT_TRY_DLOPEN_SELF(
2047 1.1 mrg lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2048 1.1 mrg lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2049 1.1 mrg ])
2050 1.1 mrg
2051 1.1 mrg if test yes = "$lt_cv_dlopen_self"; then
2052 1.1 mrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2053 1.1 mrg AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2054 1.1 mrg lt_cv_dlopen_self_static, [dnl
2055 1.1 mrg _LT_TRY_DLOPEN_SELF(
2056 1.1 mrg lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2057 1.1 mrg lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2058 1.1 mrg ])
2059 1.1 mrg fi
2060 1.1 mrg
2061 1.1 mrg CPPFLAGS=$save_CPPFLAGS
2062 1.1 mrg LDFLAGS=$save_LDFLAGS
2063 1.1 mrg LIBS=$save_LIBS
2064 1.1 mrg ;;
2065 1.1 mrg esac
2066 1.1 mrg
2067 1.1 mrg case $lt_cv_dlopen_self in
2068 1.1 mrg yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2069 1.1 mrg *) enable_dlopen_self=unknown ;;
2070 1.1 mrg esac
2071 1.1 mrg
2072 1.1 mrg case $lt_cv_dlopen_self_static in
2073 1.1 mrg yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2074 1.1 mrg *) enable_dlopen_self_static=unknown ;;
2075 1.1 mrg esac
2076 1.1 mrg fi
2077 1.1 mrg _LT_DECL([dlopen_support], [enable_dlopen], [0],
2078 1.1 mrg [Whether dlopen is supported])
2079 1.1 mrg _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2080 1.1 mrg [Whether dlopen of programs is supported])
2081 1.1 mrg _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2082 1.1 mrg [Whether dlopen of statically linked programs is supported])
2083 1.1 mrg ])# LT_SYS_DLOPEN_SELF
2084 1.1 mrg
2085 1.1 mrg # Old name:
2086 1.1 mrg AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2087 1.1 mrg dnl aclocal-1.4 backwards compatibility:
2088 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2089 1.1 mrg
2090 1.1 mrg
2091 1.1 mrg # _LT_COMPILER_C_O([TAGNAME])
2092 1.1 mrg # ---------------------------
2093 1.1 mrg # Check to see if options -c and -o are simultaneously supported by compiler.
2094 1.1 mrg # This macro does not hard code the compiler like AC_PROG_CC_C_O.
2095 1.1 mrg m4_defun([_LT_COMPILER_C_O],
2096 1.1 mrg [m4_require([_LT_DECL_SED])dnl
2097 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2098 1.1 mrg m4_require([_LT_TAG_COMPILER])dnl
2099 1.1 mrg AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2100 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2101 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2102 1.1 mrg $RM -r conftest 2>/dev/null
2103 1.1 mrg mkdir conftest
2104 1.1 mrg cd conftest
2105 1.1 mrg mkdir out
2106 1.1 mrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2107 1.1 mrg
2108 1.1 mrg lt_compiler_flag="-o out/conftest2.$ac_objext"
2109 1.1 mrg # Insert the option either (1) after the last *FLAGS variable, or
2110 1.1 mrg # (2) before a word containing "conftest.", or (3) at the end.
2111 1.1 mrg # Note that $ac_compile itself does not contain backslashes and begins
2112 1.1 mrg # with a dollar sign (not a hyphen), so the echo should work correctly.
2113 1.1 mrg lt_compile=`echo "$ac_compile" | $SED \
2114 1.1 mrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2115 1.1 mrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2116 1.1 mrg -e 's:$: $lt_compiler_flag:'`
2117 1.1 mrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2118 1.1 mrg (eval "$lt_compile" 2>out/conftest.err)
2119 1.1 mrg ac_status=$?
2120 1.1 mrg cat out/conftest.err >&AS_MESSAGE_LOG_FD
2121 1.1 mrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2122 1.1 mrg if (exit $ac_status) && test -s out/conftest2.$ac_objext
2123 1.1 mrg then
2124 1.1 mrg # The compiler can only warn and ignore the option if not recognized
2125 1.1 mrg # So say no if there are warnings
2126 1.1 mrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2127 1.1 mrg $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2128 1.1 mrg if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2129 1.1 mrg _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2130 1.1 mrg fi
2131 1.1 mrg fi
2132 1.1 mrg chmod u+w . 2>&AS_MESSAGE_LOG_FD
2133 1.1 mrg $RM conftest*
2134 1.1 mrg # SGI C++ compiler will create directory out/ii_files/ for
2135 1.1 mrg # template instantiation
2136 1.1 mrg test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2137 1.1 mrg $RM out/* && rmdir out
2138 1.1 mrg cd ..
2139 1.1 mrg $RM -r conftest
2140 1.1 mrg $RM conftest*
2141 1.1 mrg ])
2142 1.1 mrg _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2143 1.1 mrg [Does compiler simultaneously support -c and -o options?])
2144 1.1 mrg ])# _LT_COMPILER_C_O
2145 1.1 mrg
2146 1.1 mrg
2147 1.1 mrg # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2148 1.1 mrg # ----------------------------------
2149 1.1 mrg # Check to see if we can do hard links to lock some files if needed
2150 1.1 mrg m4_defun([_LT_COMPILER_FILE_LOCKS],
2151 1.1 mrg [m4_require([_LT_ENABLE_LOCK])dnl
2152 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2153 1.1 mrg _LT_COMPILER_C_O([$1])
2154 1.1 mrg
2155 1.1 mrg hard_links=nottested
2156 1.1 mrg if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
2157 1.1 mrg # do not overwrite the value of need_locks provided by the user
2158 1.1 mrg AC_MSG_CHECKING([if we can lock with hard links])
2159 1.1 mrg hard_links=yes
2160 1.1 mrg $RM conftest*
2161 1.1 mrg ln conftest.a conftest.b 2>/dev/null && hard_links=no
2162 1.1 mrg touch conftest.a
2163 1.1 mrg ln conftest.a conftest.b 2>&5 || hard_links=no
2164 1.1 mrg ln conftest.a conftest.b 2>/dev/null && hard_links=no
2165 1.1 mrg AC_MSG_RESULT([$hard_links])
2166 1.1 mrg if test no = "$hard_links"; then
2167 1.1 mrg AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
2168 1.1 mrg need_locks=warn
2169 1.1 mrg fi
2170 1.1 mrg else
2171 1.1 mrg need_locks=no
2172 1.1 mrg fi
2173 1.1 mrg _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2174 1.1 mrg ])# _LT_COMPILER_FILE_LOCKS
2175 1.1 mrg
2176 1.1 mrg
2177 1.1 mrg # _LT_CHECK_OBJDIR
2178 1.1 mrg # ----------------
2179 1.1 mrg m4_defun([_LT_CHECK_OBJDIR],
2180 1.1 mrg [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2181 1.1 mrg [rm -f .libs 2>/dev/null
2182 1.1 mrg mkdir .libs 2>/dev/null
2183 1.1 mrg if test -d .libs; then
2184 1.1 mrg lt_cv_objdir=.libs
2185 1.1 mrg else
2186 1.1 mrg # MS-DOS does not allow filenames that begin with a dot.
2187 1.1 mrg lt_cv_objdir=_libs
2188 1.1 mrg fi
2189 1.1 mrg rmdir .libs 2>/dev/null])
2190 1.1 mrg objdir=$lt_cv_objdir
2191 1.1 mrg _LT_DECL([], [objdir], [0],
2192 1.1 mrg [The name of the directory that contains temporary libtool files])dnl
2193 1.1 mrg m4_pattern_allow([LT_OBJDIR])dnl
2194 1.1 mrg AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2195 1.1 mrg [Define to the sub-directory where libtool stores uninstalled libraries.])
2196 1.1 mrg ])# _LT_CHECK_OBJDIR
2197 1.1 mrg
2198 1.1 mrg
2199 1.1 mrg # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2200 1.1 mrg # --------------------------------------
2201 1.1 mrg # Check hardcoding attributes.
2202 1.1 mrg m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2203 1.1 mrg [AC_MSG_CHECKING([how to hardcode library paths into programs])
2204 1.1 mrg _LT_TAGVAR(hardcode_action, $1)=
2205 1.1 mrg if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2206 1.1 mrg test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2207 1.1 mrg test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
2208 1.1 mrg
2209 1.1 mrg # We can hardcode non-existent directories.
2210 1.1 mrg if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
2211 1.1 mrg # If the only mechanism to avoid hardcoding is shlibpath_var, we
2212 1.1 mrg # have to relink, otherwise we might link with an installed library
2213 1.1 mrg # when we should be linking with a yet-to-be-installed one
2214 1.1 mrg ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2215 1.1 mrg test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
2216 1.1 mrg # Linking always hardcodes the temporary library directory.
2217 1.1 mrg _LT_TAGVAR(hardcode_action, $1)=relink
2218 1.1 mrg else
2219 1.1 mrg # We can link without hardcoding, and we can hardcode nonexisting dirs.
2220 1.1 mrg _LT_TAGVAR(hardcode_action, $1)=immediate
2221 1.1 mrg fi
2222 1.1 mrg else
2223 1.1 mrg # We cannot hardcode anything, or else we can only hardcode existing
2224 1.1 mrg # directories.
2225 1.1 mrg _LT_TAGVAR(hardcode_action, $1)=unsupported
2226 1.1 mrg fi
2227 1.1 mrg AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2228 1.1 mrg
2229 1.1 mrg if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2230 1.1 mrg test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
2231 1.1 mrg # Fast installation is not supported
2232 1.1 mrg enable_fast_install=no
2233 1.1 mrg elif test yes = "$shlibpath_overrides_runpath" ||
2234 1.1 mrg test no = "$enable_shared"; then
2235 1.1 mrg # Fast installation is not necessary
2236 1.1 mrg enable_fast_install=needless
2237 1.1 mrg fi
2238 1.1 mrg _LT_TAGDECL([], [hardcode_action], [0],
2239 1.1 mrg [How to hardcode a shared library path into an executable])
2240 1.1 mrg ])# _LT_LINKER_HARDCODE_LIBPATH
2241 1.1 mrg
2242 1.1 mrg
2243 1.1 mrg # _LT_CMD_STRIPLIB
2244 1.1 mrg # ----------------
2245 1.1 mrg m4_defun([_LT_CMD_STRIPLIB],
2246 1.1 mrg [m4_require([_LT_DECL_EGREP])
2247 1.1 mrg striplib=
2248 1.1 mrg old_striplib=
2249 1.1 mrg AC_MSG_CHECKING([whether stripping libraries is possible])
2250 1.1 mrg if test -z "$STRIP"; then
2251 1.1 mrg AC_MSG_RESULT([no])
2252 1.1 mrg else
2253 1.1 mrg if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2254 1.1 mrg old_striplib="$STRIP --strip-debug"
2255 1.1 mrg striplib="$STRIP --strip-unneeded"
2256 1.1 mrg AC_MSG_RESULT([yes])
2257 1.1 mrg else
2258 1.1 mrg case $host_os in
2259 1.1 mrg darwin*)
2260 1.1 mrg # FIXME - insert some real tests, host_os isn't really good enough
2261 1.1 mrg striplib="$STRIP -x"
2262 1.1 mrg old_striplib="$STRIP -S"
2263 1.1 mrg AC_MSG_RESULT([yes])
2264 1.1 mrg ;;
2265 1.1 mrg freebsd*)
2266 1.1 mrg if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
2267 1.1 mrg old_striplib="$STRIP --strip-debug"
2268 1.1 mrg striplib="$STRIP --strip-unneeded"
2269 1.1 mrg AC_MSG_RESULT([yes])
2270 1.1 mrg else
2271 1.1 mrg AC_MSG_RESULT([no])
2272 1.1 mrg fi
2273 1.1 mrg ;;
2274 1.1 mrg *)
2275 1.1 mrg AC_MSG_RESULT([no])
2276 1.1 mrg ;;
2277 1.1 mrg esac
2278 1.1 mrg fi
2279 1.1 mrg fi
2280 1.1 mrg _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2281 1.1 mrg _LT_DECL([], [striplib], [1])
2282 1.1 mrg ])# _LT_CMD_STRIPLIB
2283 1.1 mrg
2284 1.1 mrg
2285 1.1 mrg # _LT_PREPARE_MUNGE_PATH_LIST
2286 1.1 mrg # ---------------------------
2287 1.1 mrg # Make sure func_munge_path_list() is defined correctly.
2288 1.1 mrg m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2289 1.1 mrg [[# func_munge_path_list VARIABLE PATH
2290 1.1 mrg # -----------------------------------
2291 1.1 mrg # VARIABLE is name of variable containing _space_ separated list of
2292 1.1 mrg # directories to be munged by the contents of PATH, which is string
2293 1.1 mrg # having a format:
2294 1.1 mrg # "DIR[:DIR]:"
2295 1.1 mrg # string "DIR[ DIR]" will be prepended to VARIABLE
2296 1.1 mrg # ":DIR[:DIR]"
2297 1.1 mrg # string "DIR[ DIR]" will be appended to VARIABLE
2298 1.1 mrg # "DIRP[:DIRP]::[DIRA:]DIRA"
2299 1.1 mrg # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2300 1.1 mrg # "DIRA[ DIRA]" will be appended to VARIABLE
2301 1.1 mrg # "DIR[:DIR]"
2302 1.1 mrg # VARIABLE will be replaced by "DIR[ DIR]"
2303 1.1 mrg func_munge_path_list ()
2304 1.1 mrg {
2305 1.1 mrg case x@S|@2 in
2306 1.1 mrg x)
2307 1.1 mrg ;;
2308 1.1 mrg *:)
2309 1.1 mrg eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2310 1.1 mrg ;;
2311 1.1 mrg x:*)
2312 1.1 mrg eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2313 1.1 mrg ;;
2314 1.1 mrg *::*)
2315 1.1 mrg eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2316 1.1 mrg eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2317 1.1 mrg ;;
2318 1.1 mrg *)
2319 1.1 mrg eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2320 1.1 mrg ;;
2321 1.1 mrg esac
2322 1.1 mrg }
2323 1.1 mrg ]])# _LT_PREPARE_PATH_LIST
2324 1.1 mrg
2325 1.1 mrg
2326 1.1 mrg # _LT_SYS_DYNAMIC_LINKER([TAG])
2327 1.1 mrg # -----------------------------
2328 1.1 mrg # PORTME Fill in your ld.so characteristics
2329 1.1 mrg m4_defun([_LT_SYS_DYNAMIC_LINKER],
2330 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2331 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
2332 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2333 1.1 mrg m4_require([_LT_DECL_OBJDUMP])dnl
2334 1.1 mrg m4_require([_LT_DECL_SED])dnl
2335 1.1 mrg m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2336 1.1 mrg m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
2337 1.1 mrg AC_MSG_CHECKING([dynamic linker characteristics])
2338 1.1 mrg m4_if([$1],
2339 1.1 mrg [], [
2340 1.1 mrg if test yes = "$GCC"; then
2341 1.1 mrg case $host_os in
2342 1.1 mrg darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2343 1.1 mrg *) lt_awk_arg='/^libraries:/' ;;
2344 1.1 mrg esac
2345 1.1 mrg case $host_os in
2346 1.1 mrg mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2347 1.1 mrg *) lt_sed_strip_eq='s|=/|/|g' ;;
2348 1.1 mrg esac
2349 1.1 mrg lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2350 1.1 mrg case $lt_search_path_spec in
2351 1.1 mrg *\;*)
2352 1.1 mrg # if the path contains ";" then we assume it to be the separator
2353 1.1 mrg # otherwise default to the standard path separator (i.e. ":") - it is
2354 1.1 mrg # assumed that no part of a normal pathname contains ";" but that should
2355 1.1 mrg # okay in the real world where ";" in dirpaths is itself problematic.
2356 1.1 mrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2357 1.1 mrg ;;
2358 1.1 mrg *)
2359 1.1 mrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2360 1.1 mrg ;;
2361 1.1 mrg esac
2362 1.1 mrg # Ok, now we have the path, separated by spaces, we can step through it
2363 1.1 mrg # and add multilib dir if necessary...
2364 1.1 mrg lt_tmp_lt_search_path_spec=
2365 1.1 mrg lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2366 1.1 mrg # ...but if some path component already ends with the multilib dir we assume
2367 1.1 mrg # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2368 1.1 mrg case "$lt_multi_os_dir; $lt_search_path_spec " in
2369 1.1 mrg "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2370 1.1 mrg lt_multi_os_dir=
2371 1.1 mrg ;;
2372 1.1 mrg esac
2373 1.1 mrg for lt_sys_path in $lt_search_path_spec; do
2374 1.1 mrg if test -d "$lt_sys_path$lt_multi_os_dir"; then
2375 1.1 mrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2376 1.1 mrg elif test -n "$lt_multi_os_dir"; then
2377 1.1 mrg test -d "$lt_sys_path" && \
2378 1.1 mrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2379 1.1 mrg fi
2380 1.1 mrg done
2381 1.1 mrg lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2382 1.1 mrg BEGIN {RS = " "; FS = "/|\n";} {
2383 1.1 mrg lt_foo = "";
2384 1.1 mrg lt_count = 0;
2385 1.1 mrg for (lt_i = NF; lt_i > 0; lt_i--) {
2386 1.1 mrg if ($lt_i != "" && $lt_i != ".") {
2387 1.1 mrg if ($lt_i == "..") {
2388 1.1 mrg lt_count++;
2389 1.1 mrg } else {
2390 1.1 mrg if (lt_count == 0) {
2391 1.1 mrg lt_foo = "/" $lt_i lt_foo;
2392 1.1 mrg } else {
2393 1.1 mrg lt_count--;
2394 1.1 mrg }
2395 1.1 mrg }
2396 1.1 mrg }
2397 1.1 mrg }
2398 1.1 mrg if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2399 1.1 mrg if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2400 1.1 mrg }'`
2401 1.1 mrg # AWK program above erroneously prepends '/' to C:/dos/paths
2402 1.1 mrg # for these hosts.
2403 1.1 mrg case $host_os in
2404 1.1 mrg mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2405 1.1 mrg $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
2406 1.1 mrg esac
2407 1.1 mrg sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2408 1.1 mrg else
2409 1.1 mrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2410 1.1 mrg fi])
2411 1.1 mrg library_names_spec=
2412 1.1 mrg libname_spec='lib$name'
2413 1.1 mrg soname_spec=
2414 1.1 mrg shrext_cmds=.so
2415 1.1 mrg postinstall_cmds=
2416 1.1 mrg postuninstall_cmds=
2417 1.1 mrg finish_cmds=
2418 1.1 mrg finish_eval=
2419 1.1 mrg shlibpath_var=
2420 1.1 mrg shlibpath_overrides_runpath=unknown
2421 1.1 mrg version_type=none
2422 1.1 mrg dynamic_linker="$host_os ld.so"
2423 1.1 mrg sys_lib_dlsearch_path_spec="/lib /usr/lib"
2424 1.1 mrg need_lib_prefix=unknown
2425 1.1 mrg hardcode_into_libs=no
2426 1.1 mrg
2427 1.1 mrg # when you set need_version to no, make sure it does not cause -set_version
2428 1.1 mrg # flags to be left without arguments
2429 1.1 mrg need_version=unknown
2430 1.1 mrg
2431 1.1 mrg AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2432 1.1 mrg [User-defined run-time library search path.])
2433 1.1 mrg
2434 1.1 mrg case $host_os in
2435 1.1 mrg aix3*)
2436 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
2437 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
2438 1.1 mrg shlibpath_var=LIBPATH
2439 1.1 mrg
2440 1.1 mrg # AIX 3 has no versioning support, so we append a major version to the name.
2441 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2442 1.1 mrg ;;
2443 1.1 mrg
2444 1.1 mrg aix[[4-9]]*)
2445 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
2446 1.1 mrg need_lib_prefix=no
2447 1.1 mrg need_version=no
2448 1.1 mrg hardcode_into_libs=yes
2449 1.1 mrg if test ia64 = "$host_cpu"; then
2450 1.1 mrg # AIX 5 supports IA64
2451 1.1 mrg library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
2452 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2453 1.1 mrg else
2454 1.1 mrg # With GCC up to 2.95.x, collect2 would create an import file
2455 1.1 mrg # for dependence libraries. The import file would start with
2456 1.1 mrg # the line '#! .'. This would cause the generated library to
2457 1.1 mrg # depend on '.', always an invalid library. This was fixed in
2458 1.1 mrg # development snapshots of GCC prior to 3.0.
2459 1.1 mrg case $host_os in
2460 1.1 mrg aix4 | aix4.[[01]] | aix4.[[01]].*)
2461 1.1 mrg if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2462 1.1 mrg echo ' yes '
2463 1.1 mrg echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
2464 1.1 mrg :
2465 1.1 mrg else
2466 1.1 mrg can_build_shared=no
2467 1.1 mrg fi
2468 1.1 mrg ;;
2469 1.1 mrg esac
2470 1.1 mrg # Using Import Files as archive members, it is possible to support
2471 1.1 mrg # filename-based versioning of shared library archives on AIX. While
2472 1.1 mrg # this would work for both with and without runtime linking, it will
2473 1.1 mrg # prevent static linking of such archives. So we do filename-based
2474 1.1 mrg # shared library versioning with .so extension only, which is used
2475 1.1 mrg # when both runtime linking and shared linking is enabled.
2476 1.1 mrg # Unfortunately, runtime linking may impact performance, so we do
2477 1.1 mrg # not want this to be the default eventually. Also, we use the
2478 1.1 mrg # versioned .so libs for executables only if there is the -brtl
2479 1.1 mrg # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only.
2480 1.1 mrg # To allow for filename-based versioning support, we need to create
2481 1.1 mrg # libNAME.so.V as an archive file, containing:
2482 1.1 mrg # *) an Import File, referring to the versioned filename of the
2483 1.1 mrg # archive as well as the shared archive member, telling the
2484 1.1 mrg # bitwidth (32 or 64) of that shared object, and providing the
2485 1.1 mrg # list of exported symbols of that shared object, eventually
2486 1.1 mrg # decorated with the 'weak' keyword
2487 1.1 mrg # *) the shared object with the F_LOADONLY flag set, to really avoid
2488 1.1 mrg # it being seen by the linker.
2489 1.1 mrg # At run time we better use the real file rather than another symlink,
2490 1.1 mrg # but for link time we create the symlink libNAME.so -> libNAME.so.V
2491 1.1 mrg
2492 1.1 mrg case $with_aix_soname,$aix_use_runtimelinking in
2493 1.1 mrg # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
2494 1.1 mrg # soname into executable. Probably we can add versioning support to
2495 1.1 mrg # collect2, so additional links can be useful in future.
2496 1.1 mrg aix,yes) # traditional libtool
2497 1.1 mrg dynamic_linker='AIX unversionable lib.so'
2498 1.1 mrg # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2499 1.1 mrg # instead of lib<name>.a to let people know that these are not
2500 1.1 mrg # typical AIX shared libraries.
2501 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2502 1.1 mrg ;;
2503 1.1 mrg aix,no) # traditional AIX only
2504 1.1 mrg dynamic_linker='AIX lib.a[(]lib.so.V[)]'
2505 1.1 mrg # We preserve .a as extension for shared libraries through AIX4.2
2506 1.1 mrg # and later when we are not doing run time linking.
2507 1.1 mrg library_names_spec='$libname$release.a $libname.a'
2508 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2509 1.1 mrg ;;
2510 1.1 mrg svr4,*) # full svr4 only
2511 1.1 mrg dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2512 1.1 mrg library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2513 1.1 mrg # We do not specify a path in Import Files, so LIBPATH fires.
2514 1.1 mrg shlibpath_overrides_runpath=yes
2515 1.1 mrg ;;
2516 1.1 mrg *,yes) # both, prefer svr4
2517 1.1 mrg dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2518 1.1 mrg library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2519 1.1 mrg # unpreferred sharedlib libNAME.a needs extra handling
2520 1.1 mrg postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
2521 1.1 mrg postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
2522 1.1 mrg # We do not specify a path in Import Files, so LIBPATH fires.
2523 1.1 mrg shlibpath_overrides_runpath=yes
2524 1.1 mrg ;;
2525 1.1 mrg *,no) # both, prefer aix
2526 1.1 mrg dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2527 1.1 mrg library_names_spec='$libname$release.a $libname.a'
2528 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2529 1.1 mrg # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2530 1.1 mrg postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
2531 1.1 mrg postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
2532 1.1 mrg ;;
2533 1.1 mrg esac
2534 1.1 mrg shlibpath_var=LIBPATH
2535 1.1 mrg fi
2536 1.1 mrg ;;
2537 1.1 mrg
2538 1.1 mrg amigaos*)
2539 1.1 mrg case $host_cpu in
2540 1.1 mrg powerpc)
2541 1.1 mrg # Since July 2007 AmigaOS4 officially supports .so libraries.
2542 1.1 mrg # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2543 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2544 1.1 mrg ;;
2545 1.1 mrg m68k)
2546 1.1 mrg library_names_spec='$libname.ixlibrary $libname.a'
2547 1.1 mrg # Create ${libname}_ixlibrary.a entries in /sys/libs.
2548 1.1 mrg finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $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'
2549 1.1 mrg ;;
2550 1.1 mrg esac
2551 1.1 mrg ;;
2552 1.1 mrg
2553 1.1 mrg beos*)
2554 1.1 mrg library_names_spec='$libname$shared_ext'
2555 1.1 mrg dynamic_linker="$host_os ld.so"
2556 1.1 mrg shlibpath_var=LIBRARY_PATH
2557 1.1 mrg ;;
2558 1.1 mrg
2559 1.1 mrg bsdi[[45]]*)
2560 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
2561 1.1 mrg need_version=no
2562 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2563 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2564 1.1 mrg finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2565 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2566 1.1 mrg sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2567 1.1 mrg sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2568 1.1 mrg # the default ld.so.conf also contains /usr/contrib/lib and
2569 1.1 mrg # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2570 1.1 mrg # libtool to hard-code these into programs
2571 1.1 mrg ;;
2572 1.1 mrg
2573 1.1 mrg cygwin* | mingw* | windows* | pw32* | cegcc*)
2574 1.1 mrg version_type=windows
2575 1.1 mrg shrext_cmds=.dll
2576 1.1 mrg need_version=no
2577 1.1 mrg need_lib_prefix=no
2578 1.1 mrg
2579 1.1 mrg case $GCC,$cc_basename in
2580 1.1 mrg yes,*)
2581 1.1 mrg # gcc
2582 1.1 mrg library_names_spec='$libname.dll.a'
2583 1.1 mrg # DLL is installed to $(libdir)/../bin by postinstall_cmds
2584 1.1 mrg # If user builds GCC with multilib enabled,
2585 1.1 mrg # it should just install on $(libdir)
2586 1.1 mrg # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
2587 1.1 mrg if test xyes = x"$multilib"; then
2588 1.1 mrg postinstall_cmds='base_file=`basename \$file`~
2589 1.1 mrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2590 1.1 mrg dldir=$destdir/`dirname \$dlpath`~
2591 1.1 mrg $install_prog $dir/$dlname $destdir/$dlname~
2592 1.1 mrg chmod a+x $destdir/$dlname~
2593 1.1 mrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2594 1.1 mrg eval '\''$striplib $destdir/$dlname'\'' || exit \$?;
2595 1.1 mrg fi'
2596 1.1 mrg else
2597 1.1 mrg postinstall_cmds='base_file=`basename \$file`~
2598 1.1 mrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2599 1.1 mrg dldir=$destdir/`dirname \$dlpath`~
2600 1.1 mrg test -d \$dldir || mkdir -p \$dldir~
2601 1.1 mrg $install_prog $dir/$dlname \$dldir/$dlname~
2602 1.1 mrg chmod a+x \$dldir/$dlname~
2603 1.1 mrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2604 1.1 mrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2605 1.1 mrg fi'
2606 1.1 mrg fi
2607 1.1 mrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2608 1.1 mrg dlpath=$dir/\$dldll~
2609 1.1 mrg $RM \$dlpath'
2610 1.1 mrg shlibpath_overrides_runpath=yes
2611 1.1 mrg
2612 1.1 mrg case $host_os in
2613 1.1 mrg cygwin*)
2614 1.1 mrg # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2615 1.1 mrg soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2616 1.1 mrg m4_if([$1], [],[
2617 1.1 mrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2618 1.1 mrg ;;
2619 1.1 mrg mingw* | windows* | cegcc*)
2620 1.1 mrg # MinGW DLLs use traditional 'lib' prefix
2621 1.1 mrg soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2622 1.1 mrg ;;
2623 1.1 mrg pw32*)
2624 1.1 mrg # pw32 DLLs use 'pw' prefix rather than 'lib'
2625 1.1 mrg library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2626 1.1 mrg ;;
2627 1.1 mrg esac
2628 1.1 mrg dynamic_linker='Win32 ld.exe'
2629 1.1 mrg ;;
2630 1.1 mrg
2631 1.1 mrg *,cl* | *,icl*)
2632 1.1 mrg # Native MSVC or ICC
2633 1.1 mrg libname_spec='$name'
2634 1.1 mrg soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2635 1.1 mrg library_names_spec='$libname.dll.lib'
2636 1.1 mrg
2637 1.1 mrg case $build_os in
2638 1.1 mrg mingw* | windows*)
2639 1.1 mrg sys_lib_search_path_spec=
2640 1.1 mrg lt_save_ifs=$IFS
2641 1.1 mrg IFS=';'
2642 1.1 mrg for lt_path in $LIB
2643 1.1 mrg do
2644 1.1 mrg IFS=$lt_save_ifs
2645 1.1 mrg # Let DOS variable expansion print the short 8.3 style file name.
2646 1.1 mrg lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2647 1.1 mrg sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2648 1.1 mrg done
2649 1.1 mrg IFS=$lt_save_ifs
2650 1.1 mrg # Convert to MSYS style.
2651 1.1 mrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2652 1.1 mrg ;;
2653 1.1 mrg cygwin*)
2654 1.1 mrg # Convert to unix form, then to dos form, then back to unix form
2655 1.1 mrg # but this time dos style (no spaces!) so that the unix form looks
2656 1.1 mrg # like /cygdrive/c/PROGRA~1:/cygdr...
2657 1.1 mrg sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2658 1.1 mrg sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2659 1.1 mrg sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2660 1.1 mrg ;;
2661 1.1 mrg *)
2662 1.1 mrg sys_lib_search_path_spec=$LIB
2663 1.1 mrg if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2664 1.1 mrg # It is most probably a Windows format PATH.
2665 1.1 mrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2666 1.1 mrg else
2667 1.1 mrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2668 1.1 mrg fi
2669 1.1 mrg # FIXME: find the short name or the path components, as spaces are
2670 1.1 mrg # common. (e.g. "Program Files" -> "PROGRA~1")
2671 1.1 mrg ;;
2672 1.1 mrg esac
2673 1.1 mrg
2674 1.1 mrg # DLL is installed to $(libdir)/../bin by postinstall_cmds
2675 1.1 mrg postinstall_cmds='base_file=`basename \$file`~
2676 1.1 mrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2677 1.1 mrg dldir=$destdir/`dirname \$dlpath`~
2678 1.1 mrg test -d \$dldir || mkdir -p \$dldir~
2679 1.1 mrg $install_prog $dir/$dlname \$dldir/$dlname'
2680 1.1 mrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2681 1.1 mrg dlpath=$dir/\$dldll~
2682 1.1 mrg $RM \$dlpath'
2683 1.1 mrg shlibpath_overrides_runpath=yes
2684 1.1 mrg dynamic_linker='Win32 link.exe'
2685 1.1 mrg ;;
2686 1.1 mrg
2687 1.1 mrg *)
2688 1.1 mrg # Assume MSVC and ICC wrapper
2689 1.1 mrg library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
2690 1.1 mrg dynamic_linker='Win32 ld.exe'
2691 1.1 mrg ;;
2692 1.1 mrg esac
2693 1.1 mrg # FIXME: first we should search . and the directory the executable is in
2694 1.1 mrg shlibpath_var=PATH
2695 1.1 mrg ;;
2696 1.1 mrg
2697 1.1 mrg darwin* | rhapsody*)
2698 1.1 mrg dynamic_linker="$host_os dyld"
2699 1.1 mrg version_type=darwin
2700 1.1 mrg need_lib_prefix=no
2701 1.1 mrg need_version=no
2702 1.1 mrg library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
2703 1.1 mrg soname_spec='$libname$release$major$shared_ext'
2704 1.1 mrg shlibpath_overrides_runpath=yes
2705 1.1 mrg shlibpath_var=DYLD_LIBRARY_PATH
2706 1.1 mrg shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2707 1.1 mrg m4_if([$1], [],[
2708 1.1 mrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2709 1.1 mrg sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2710 1.1 mrg ;;
2711 1.1 mrg
2712 1.1 mrg dgux*)
2713 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
2714 1.1 mrg need_lib_prefix=no
2715 1.1 mrg need_version=no
2716 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2717 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2718 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2719 1.1 mrg ;;
2720 1.1 mrg
2721 1.1 mrg freebsd* | dragonfly* | midnightbsd*)
2722 1.1 mrg # DragonFly does not have aout. When/if they implement a new
2723 1.1 mrg # versioning mechanism, adjust this.
2724 1.1 mrg if test -x /usr/bin/objformat; then
2725 1.1 mrg objformat=`/usr/bin/objformat`
2726 1.1 mrg else
2727 1.1 mrg case $host_os in
2728 1.1 mrg freebsd[[23]].*) objformat=aout ;;
2729 1.1 mrg *) objformat=elf ;;
2730 1.1 mrg esac
2731 1.1 mrg fi
2732 1.1 mrg version_type=freebsd-$objformat
2733 1.1 mrg case $version_type in
2734 1.1 mrg freebsd-elf*)
2735 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2736 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2737 1.1 mrg need_version=no
2738 1.1 mrg need_lib_prefix=no
2739 1.1 mrg ;;
2740 1.1 mrg freebsd-*)
2741 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2742 1.1 mrg need_version=yes
2743 1.1 mrg ;;
2744 1.1 mrg esac
2745 1.1 mrg case $host_cpu in
2746 1.1 mrg powerpc64)
2747 1.1 mrg # On FreeBSD bi-arch platforms, a different variable is used for 32-bit
2748 1.1 mrg # binaries. See <https://man.freebsd.org/cgi/man.cgi?query=ld.so>.
2749 1.1 mrg AC_COMPILE_IFELSE(
2750 1.1 mrg [AC_LANG_SOURCE(
2751 1.1 mrg [[int test_pointer_size[sizeof (void *) - 5];
2752 1.1 mrg ]])],
2753 1.1 mrg [shlibpath_var=LD_LIBRARY_PATH],
2754 1.1 mrg [shlibpath_var=LD_32_LIBRARY_PATH])
2755 1.1 mrg ;;
2756 1.1 mrg *)
2757 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2758 1.1 mrg ;;
2759 1.1 mrg esac
2760 1.1 mrg case $host_os in
2761 1.1 mrg freebsd2.*)
2762 1.1 mrg shlibpath_overrides_runpath=yes
2763 1.1 mrg ;;
2764 1.1 mrg freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2765 1.1 mrg shlibpath_overrides_runpath=yes
2766 1.1 mrg hardcode_into_libs=yes
2767 1.1 mrg ;;
2768 1.1 mrg freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2769 1.1 mrg freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2770 1.1 mrg shlibpath_overrides_runpath=no
2771 1.1 mrg hardcode_into_libs=yes
2772 1.1 mrg ;;
2773 1.1 mrg *) # from 4.6 on, and DragonFly
2774 1.1 mrg shlibpath_overrides_runpath=yes
2775 1.1 mrg hardcode_into_libs=yes
2776 1.1 mrg ;;
2777 1.1 mrg esac
2778 1.1 mrg ;;
2779 1.1 mrg
2780 1.1 mrg haiku*)
2781 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
2782 1.1 mrg need_lib_prefix=no
2783 1.1 mrg need_version=no
2784 1.1 mrg dynamic_linker="$host_os runtime_loader"
2785 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2786 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2787 1.1 mrg shlibpath_var=LIBRARY_PATH
2788 1.1 mrg shlibpath_overrides_runpath=no
2789 1.1 mrg sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib'
2790 1.1 mrg sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib'
2791 1.1 mrg hardcode_into_libs=no
2792 1.1 mrg ;;
2793 1.1 mrg
2794 1.1 mrg hpux9* | hpux10* | hpux11*)
2795 1.1 mrg # Give a soname corresponding to the major version so that dld.sl refuses to
2796 1.1 mrg # link against other versions.
2797 1.1 mrg version_type=sunos
2798 1.1 mrg need_lib_prefix=no
2799 1.1 mrg need_version=no
2800 1.1 mrg case $host_cpu in
2801 1.1 mrg ia64*)
2802 1.1 mrg shrext_cmds='.so'
2803 1.1 mrg hardcode_into_libs=yes
2804 1.1 mrg dynamic_linker="$host_os dld.so"
2805 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2806 1.1 mrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2807 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2808 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2809 1.1 mrg if test 32 = "$HPUX_IA64_MODE"; then
2810 1.1 mrg sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2811 1.1 mrg sys_lib_dlsearch_path_spec=/usr/lib/hpux32
2812 1.1 mrg else
2813 1.1 mrg sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2814 1.1 mrg sys_lib_dlsearch_path_spec=/usr/lib/hpux64
2815 1.1 mrg fi
2816 1.1 mrg ;;
2817 1.1 mrg hppa*64*)
2818 1.1 mrg shrext_cmds='.sl'
2819 1.1 mrg hardcode_into_libs=yes
2820 1.1 mrg dynamic_linker="$host_os dld.sl"
2821 1.1 mrg shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2822 1.1 mrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2823 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2824 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2825 1.1 mrg sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2826 1.1 mrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2827 1.1 mrg ;;
2828 1.1 mrg *)
2829 1.1 mrg shrext_cmds='.sl'
2830 1.1 mrg dynamic_linker="$host_os dld.sl"
2831 1.1 mrg shlibpath_var=SHLIB_PATH
2832 1.1 mrg shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2833 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2834 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2835 1.1 mrg ;;
2836 1.1 mrg esac
2837 1.1 mrg # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2838 1.1 mrg postinstall_cmds='chmod 555 $lib'
2839 1.1 mrg # or fails outright, so override atomically:
2840 1.1 mrg install_override_mode=555
2841 1.1 mrg ;;
2842 1.1 mrg
2843 1.1 mrg interix[[3-9]]*)
2844 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
2845 1.1 mrg need_lib_prefix=no
2846 1.1 mrg need_version=no
2847 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2848 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2849 1.1 mrg dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2850 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2851 1.1 mrg shlibpath_overrides_runpath=no
2852 1.1 mrg hardcode_into_libs=yes
2853 1.1 mrg ;;
2854 1.1 mrg
2855 1.1 mrg irix5* | irix6* | nonstopux*)
2856 1.1 mrg case $host_os in
2857 1.1 mrg nonstopux*) version_type=nonstopux ;;
2858 1.1 mrg *)
2859 1.1 mrg if test yes = "$lt_cv_prog_gnu_ld"; then
2860 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
2861 1.1 mrg else
2862 1.1 mrg version_type=irix
2863 1.1 mrg fi ;;
2864 1.1 mrg esac
2865 1.1 mrg need_lib_prefix=no
2866 1.1 mrg need_version=no
2867 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2868 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
2869 1.1 mrg case $host_os in
2870 1.1 mrg irix5* | nonstopux*)
2871 1.1 mrg libsuff= shlibsuff=
2872 1.1 mrg ;;
2873 1.1 mrg *)
2874 1.1 mrg case $LD in # libtool.m4 will add one of these switches to LD
2875 1.1 mrg *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2876 1.1 mrg libsuff= shlibsuff= libmagic=32-bit;;
2877 1.1 mrg *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2878 1.1 mrg libsuff=32 shlibsuff=N32 libmagic=N32;;
2879 1.1 mrg *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2880 1.1 mrg libsuff=64 shlibsuff=64 libmagic=64-bit;;
2881 1.1 mrg *) libsuff= shlibsuff= libmagic=never-match;;
2882 1.1 mrg esac
2883 1.1 mrg ;;
2884 1.1 mrg esac
2885 1.1 mrg shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2886 1.1 mrg shlibpath_overrides_runpath=no
2887 1.1 mrg sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2888 1.1 mrg sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
2889 1.1 mrg hardcode_into_libs=yes
2890 1.1 mrg ;;
2891 1.1 mrg
2892 1.1 mrg # No shared lib support for Linux oldld, aout, or coff.
2893 1.1 mrg linux*oldld* | linux*aout* | linux*coff*)
2894 1.1 mrg dynamic_linker=no
2895 1.1 mrg ;;
2896 1.1 mrg
2897 1.1 mrg linux*android*)
2898 1.1 mrg version_type=none # Android doesn't support versioned libraries.
2899 1.1 mrg need_lib_prefix=no
2900 1.1 mrg need_version=no
2901 1.1 mrg library_names_spec='$libname$release$shared_ext $libname$shared_ext'
2902 1.1 mrg soname_spec='$libname$release$shared_ext'
2903 1.1 mrg finish_cmds=
2904 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2905 1.1 mrg shlibpath_overrides_runpath=yes
2906 1.1 mrg
2907 1.1 mrg # This implies no fast_install, which is unacceptable.
2908 1.1 mrg # Some rework will be needed to allow for fast_install
2909 1.1 mrg # before this can be enabled.
2910 1.1 mrg hardcode_into_libs=yes
2911 1.1 mrg
2912 1.1 mrg dynamic_linker='Android linker'
2913 1.1 mrg # -rpath works at least for libraries that are not overridden by
2914 1.1 mrg # libraries installed in system locations.
2915 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
2916 1.1 mrg ;;
2917 1.1 mrg
2918 1.1 mrg # This must be glibc/ELF.
2919 1.1 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
2920 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
2921 1.1 mrg need_lib_prefix=no
2922 1.1 mrg need_version=no
2923 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2924 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2925 1.1 mrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2926 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2927 1.1 mrg shlibpath_overrides_runpath=no
2928 1.1 mrg
2929 1.1 mrg # Some binutils ld are patched to set DT_RUNPATH
2930 1.1 mrg AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2931 1.1 mrg [lt_cv_shlibpath_overrides_runpath=no
2932 1.1 mrg save_LDFLAGS=$LDFLAGS
2933 1.1 mrg save_libdir=$libdir
2934 1.1 mrg eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2935 1.1 mrg LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2936 1.1 mrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2937 1.1 mrg [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2938 1.1 mrg [lt_cv_shlibpath_overrides_runpath=yes])])
2939 1.1 mrg LDFLAGS=$save_LDFLAGS
2940 1.1 mrg libdir=$save_libdir
2941 1.1 mrg ])
2942 1.1 mrg shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2943 1.1 mrg
2944 1.1 mrg # This implies no fast_install, which is unacceptable.
2945 1.1 mrg # Some rework will be needed to allow for fast_install
2946 1.1 mrg # before this can be enabled.
2947 1.1 mrg hardcode_into_libs=yes
2948 1.1 mrg
2949 1.1 mrg # Ideally, we could use ldconfig to report *all* directories which are
2950 1.1 mrg # searched for libraries, however this is still not possible. Aside from not
2951 1.1 mrg # being certain /sbin/ldconfig is available, command
2952 1.1 mrg # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2953 1.1 mrg # even though it is searched at run-time. Try to do the best guess by
2954 1.1 mrg # appending ld.so.conf contents (and includes) to the search path.
2955 1.1 mrg if test -f /etc/ld.so.conf; then
2956 1.1 mrg 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' ' '`
2957 1.1 mrg sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2958 1.1 mrg fi
2959 1.1 mrg
2960 1.1 mrg # We used to test for /lib/ld.so.1 and disable shared libraries on
2961 1.1 mrg # powerpc, because MkLinux only supported shared libraries with the
2962 1.1 mrg # GNU dynamic linker. Since this was broken with cross compilers,
2963 1.1 mrg # most powerpc-linux boxes support dynamic linking these days and
2964 1.1 mrg # people can always --disable-shared, the test was removed, and we
2965 1.1 mrg # assume the GNU/Linux dynamic linker is in use.
2966 1.1 mrg dynamic_linker='GNU/Linux ld.so'
2967 1.1 mrg ;;
2968 1.1 mrg
2969 1.1 mrg netbsdelf*-gnu)
2970 1.1 mrg version_type=linux
2971 1.1 mrg need_lib_prefix=no
2972 1.1 mrg need_version=no
2973 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2974 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2975 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2976 1.1 mrg shlibpath_overrides_runpath=no
2977 1.1 mrg hardcode_into_libs=yes
2978 1.1 mrg dynamic_linker='NetBSD ld.elf_so'
2979 1.1 mrg ;;
2980 1.1 mrg
2981 1.1 mrg netbsd*)
2982 1.1 mrg version_type=sunos
2983 1.1 mrg need_lib_prefix=no
2984 1.1 mrg need_version=no
2985 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2986 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2987 1.1 mrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2988 1.1 mrg dynamic_linker='NetBSD (a.out) ld.so'
2989 1.1 mrg else
2990 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2991 1.1 mrg soname_spec='$libname$release$shared_ext$major'
2992 1.1 mrg dynamic_linker='NetBSD ld.elf_so'
2993 1.1 mrg fi
2994 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2995 1.1 mrg shlibpath_overrides_runpath=yes
2996 1.1 mrg hardcode_into_libs=yes
2997 1.1 mrg ;;
2998 1.1 mrg
2999 1.1 mrg *-mlibc)
3000 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
3001 1.1 mrg need_lib_prefix=no
3002 1.1 mrg need_version=no
3003 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3004 1.1 mrg soname_spec='$libname$release$shared_ext$major'
3005 1.1 mrg dynamic_linker='mlibc ld.so'
3006 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3007 1.1 mrg shlibpath_overrides_runpath=no
3008 1.1 mrg hardcode_into_libs=yes
3009 1.1 mrg ;;
3010 1.1 mrg
3011 1.1 mrg newsos6)
3012 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
3013 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3014 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3015 1.1 mrg shlibpath_overrides_runpath=yes
3016 1.1 mrg ;;
3017 1.1 mrg
3018 1.1 mrg *nto* | *qnx*)
3019 1.1 mrg version_type=qnx
3020 1.1 mrg need_lib_prefix=no
3021 1.1 mrg need_version=no
3022 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3023 1.1 mrg soname_spec='$libname$release$shared_ext$major'
3024 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3025 1.1 mrg shlibpath_overrides_runpath=no
3026 1.1 mrg hardcode_into_libs=yes
3027 1.1 mrg dynamic_linker='ldqnx.so'
3028 1.1 mrg ;;
3029 1.1 mrg
3030 1.1 mrg openbsd*)
3031 1.1 mrg version_type=sunos
3032 1.1 mrg sys_lib_dlsearch_path_spec=/usr/lib
3033 1.1 mrg need_lib_prefix=no
3034 1.1 mrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3035 1.1 mrg need_version=no
3036 1.1 mrg else
3037 1.1 mrg need_version=yes
3038 1.1 mrg fi
3039 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3040 1.1 mrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
3041 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3042 1.1 mrg shlibpath_overrides_runpath=yes
3043 1.1 mrg ;;
3044 1.1 mrg
3045 1.1 mrg os2*)
3046 1.1 mrg libname_spec='$name'
3047 1.1 mrg version_type=windows
3048 1.1 mrg shrext_cmds=.dll
3049 1.1 mrg need_version=no
3050 1.1 mrg need_lib_prefix=no
3051 1.1 mrg # OS/2 can only load a DLL with a base name of 8 characters or less.
3052 1.1 mrg soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
3053 1.1 mrg v=$($ECHO $release$versuffix | tr -d .-);
3054 1.1 mrg n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
3055 1.1 mrg $ECHO $n$v`$shared_ext'
3056 1.1 mrg library_names_spec='${libname}_dll.$libext'
3057 1.1 mrg dynamic_linker='OS/2 ld.exe'
3058 1.1 mrg shlibpath_var=BEGINLIBPATH
3059 1.1 mrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
3060 1.1 mrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
3061 1.1 mrg postinstall_cmds='base_file=`basename \$file`~
3062 1.1 mrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
3063 1.1 mrg dldir=$destdir/`dirname \$dlpath`~
3064 1.1 mrg test -d \$dldir || mkdir -p \$dldir~
3065 1.1 mrg $install_prog $dir/$dlname \$dldir/$dlname~
3066 1.1 mrg chmod a+x \$dldir/$dlname~
3067 1.1 mrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
3068 1.1 mrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
3069 1.1 mrg fi'
3070 1.1 mrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
3071 1.1 mrg dlpath=$dir/\$dldll~
3072 1.1 mrg $RM \$dlpath'
3073 1.1 mrg ;;
3074 1.1 mrg
3075 1.1 mrg osf3* | osf4* | osf5*)
3076 1.1 mrg version_type=osf
3077 1.1 mrg need_lib_prefix=no
3078 1.1 mrg need_version=no
3079 1.1 mrg soname_spec='$libname$release$shared_ext$major'
3080 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3081 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3082 1.1 mrg sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
3083 1.1 mrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
3084 1.1 mrg ;;
3085 1.1 mrg
3086 1.1 mrg rdos*)
3087 1.1 mrg dynamic_linker=no
3088 1.1 mrg ;;
3089 1.1 mrg
3090 1.1 mrg serenity*)
3091 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
3092 1.1 mrg need_lib_prefix=no
3093 1.1 mrg need_version=no
3094 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3095 1.1 mrg soname_spec='$libname$release$shared_ext$major'
3096 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3097 1.1 mrg shlibpath_overrides_runpath=no
3098 1.1 mrg dynamic_linker='SerenityOS LibELF'
3099 1.1 mrg ;;
3100 1.1 mrg
3101 1.1 mrg solaris*)
3102 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
3103 1.1 mrg need_lib_prefix=no
3104 1.1 mrg need_version=no
3105 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3106 1.1 mrg soname_spec='$libname$release$shared_ext$major'
3107 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3108 1.1 mrg shlibpath_overrides_runpath=yes
3109 1.1 mrg hardcode_into_libs=yes
3110 1.1 mrg # ldd complains unless libraries are executable
3111 1.1 mrg postinstall_cmds='chmod +x $lib'
3112 1.1 mrg ;;
3113 1.1 mrg
3114 1.1 mrg sunos4*)
3115 1.1 mrg version_type=sunos
3116 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3117 1.1 mrg finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3118 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3119 1.1 mrg shlibpath_overrides_runpath=yes
3120 1.1 mrg if test yes = "$with_gnu_ld"; then
3121 1.1 mrg need_lib_prefix=no
3122 1.1 mrg fi
3123 1.1 mrg need_version=yes
3124 1.1 mrg ;;
3125 1.1 mrg
3126 1.1 mrg sysv4 | sysv4.3*)
3127 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
3128 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3129 1.1 mrg soname_spec='$libname$release$shared_ext$major'
3130 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3131 1.1 mrg case $host_vendor in
3132 1.1 mrg sni)
3133 1.1 mrg shlibpath_overrides_runpath=no
3134 1.1 mrg need_lib_prefix=no
3135 1.1 mrg runpath_var=LD_RUN_PATH
3136 1.1 mrg ;;
3137 1.1 mrg siemens)
3138 1.1 mrg need_lib_prefix=no
3139 1.1 mrg ;;
3140 1.1 mrg motorola)
3141 1.1 mrg need_lib_prefix=no
3142 1.1 mrg need_version=no
3143 1.1 mrg shlibpath_overrides_runpath=no
3144 1.1 mrg sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3145 1.1 mrg ;;
3146 1.1 mrg esac
3147 1.1 mrg ;;
3148 1.1 mrg
3149 1.1 mrg sysv4*MP*)
3150 1.1 mrg if test -d /usr/nec; then
3151 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
3152 1.1 mrg library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3153 1.1 mrg soname_spec='$libname$shared_ext.$major'
3154 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3155 1.1 mrg fi
3156 1.1 mrg ;;
3157 1.1 mrg
3158 1.1 mrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3159 1.1 mrg version_type=sco
3160 1.1 mrg need_lib_prefix=no
3161 1.1 mrg need_version=no
3162 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3163 1.1 mrg soname_spec='$libname$release$shared_ext$major'
3164 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3165 1.1 mrg shlibpath_overrides_runpath=yes
3166 1.1 mrg hardcode_into_libs=yes
3167 1.1 mrg if test yes = "$with_gnu_ld"; then
3168 1.1 mrg sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3169 1.1 mrg else
3170 1.1 mrg sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3171 1.1 mrg case $host_os in
3172 1.1 mrg sco3.2v5*)
3173 1.1 mrg sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3174 1.1 mrg ;;
3175 1.1 mrg esac
3176 1.1 mrg fi
3177 1.1 mrg sys_lib_dlsearch_path_spec='/usr/lib'
3178 1.1 mrg ;;
3179 1.1 mrg
3180 1.1 mrg tpf*)
3181 1.1 mrg # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3182 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
3183 1.1 mrg need_lib_prefix=no
3184 1.1 mrg need_version=no
3185 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3186 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3187 1.1 mrg shlibpath_overrides_runpath=no
3188 1.1 mrg hardcode_into_libs=yes
3189 1.1 mrg ;;
3190 1.1 mrg
3191 1.1 mrg uts4*)
3192 1.1 mrg version_type=linux # correct to gnu/linux during the next big refactor
3193 1.1 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3194 1.1 mrg soname_spec='$libname$release$shared_ext$major'
3195 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3196 1.1 mrg ;;
3197 1.1 mrg
3198 1.1 mrg emscripten*)
3199 1.1 mrg version_type=none
3200 1.1 mrg need_lib_prefix=no
3201 1.1 mrg need_version=no
3202 1.1 mrg library_names_spec='$libname$release$shared_ext'
3203 1.1 mrg soname_spec='$libname$release$shared_ext'
3204 1.1 mrg finish_cmds=
3205 1.1 mrg dynamic_linker="Emscripten linker"
3206 1.1 mrg _LT_COMPILER_PIC($1)='-fPIC'
3207 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib'
3208 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym'
3209 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
3210 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=
3211 1.1 mrg ;;
3212 1.1 mrg
3213 1.1 mrg *)
3214 1.1 mrg dynamic_linker=no
3215 1.1 mrg ;;
3216 1.1 mrg esac
3217 1.1 mrg AC_MSG_RESULT([$dynamic_linker])
3218 1.1 mrg test no = "$dynamic_linker" && can_build_shared=no
3219 1.1 mrg
3220 1.1 mrg variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3221 1.1 mrg if test yes = "$GCC"; then
3222 1.1 mrg variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3223 1.1 mrg fi
3224 1.1 mrg
3225 1.1 mrg if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3226 1.1 mrg sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
3227 1.1 mrg fi
3228 1.1 mrg
3229 1.1 mrg if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3230 1.1 mrg sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
3231 1.1 mrg fi
3232 1.1 mrg
3233 1.1 mrg # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3234 1.1 mrg configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3235 1.1 mrg
3236 1.1 mrg # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3237 1.1 mrg func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3238 1.1 mrg
3239 1.1 mrg # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3240 1.1 mrg configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3241 1.1 mrg
3242 1.1 mrg _LT_DECL([], [variables_saved_for_relink], [1],
3243 1.1 mrg [Variables whose values should be saved in libtool wrapper scripts and
3244 1.1 mrg restored at link time])
3245 1.1 mrg _LT_DECL([], [need_lib_prefix], [0],
3246 1.1 mrg [Do we need the "lib" prefix for modules?])
3247 1.1 mrg _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3248 1.1 mrg _LT_DECL([], [version_type], [0], [Library versioning type])
3249 1.1 mrg _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3250 1.1 mrg _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3251 1.1 mrg _LT_DECL([], [shlibpath_overrides_runpath], [0],
3252 1.1 mrg [Is shlibpath searched before the hard-coded library search path?])
3253 1.1 mrg _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3254 1.1 mrg _LT_DECL([], [library_names_spec], [1],
3255 1.1 mrg [[List of archive names. First name is the real one, the rest are links.
3256 1.1 mrg The last name is the one that the linker finds with -lNAME]])
3257 1.1 mrg _LT_DECL([], [soname_spec], [1],
3258 1.1 mrg [[The coded name of the library, if different from the real name]])
3259 1.1 mrg _LT_DECL([], [install_override_mode], [1],
3260 1.1 mrg [Permission mode override for installation of shared libraries])
3261 1.1 mrg _LT_DECL([], [postinstall_cmds], [2],
3262 1.1 mrg [Command to use after installation of a shared archive])
3263 1.1 mrg _LT_DECL([], [postuninstall_cmds], [2],
3264 1.1 mrg [Command to use after uninstallation of a shared archive])
3265 1.1 mrg _LT_DECL([], [finish_cmds], [2],
3266 1.1 mrg [Commands used to finish a libtool library installation in a directory])
3267 1.1 mrg _LT_DECL([], [finish_eval], [1],
3268 1.1 mrg [[As "finish_cmds", except a single script fragment to be evaled but
3269 1.1 mrg not shown]])
3270 1.1 mrg _LT_DECL([], [hardcode_into_libs], [0],
3271 1.1 mrg [Whether we should hardcode library paths into libraries])
3272 1.1 mrg _LT_DECL([], [sys_lib_search_path_spec], [2],
3273 1.1 mrg [Compile-time system search path for libraries])
3274 1.1 mrg _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3275 1.1 mrg [Detected run-time system search path for libraries])
3276 1.1 mrg _LT_DECL([], [configure_time_lt_sys_library_path], [2],
3277 1.1 mrg [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
3278 1.1 mrg ])# _LT_SYS_DYNAMIC_LINKER
3279 1.1 mrg
3280 1.1 mrg
3281 1.1 mrg # _LT_PATH_TOOL_PREFIX(TOOL)
3282 1.1 mrg # --------------------------
3283 1.1 mrg # find a file program that can recognize shared library
3284 1.1 mrg AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3285 1.1 mrg [m4_require([_LT_DECL_EGREP])dnl
3286 1.1 mrg AC_MSG_CHECKING([for $1])
3287 1.1 mrg AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3288 1.1 mrg [case $MAGIC_CMD in
3289 1.1 mrg [[\\/*] | ?:[\\/]*])
3290 1.1 mrg lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
3291 1.1 mrg ;;
3292 1.1 mrg *)
3293 1.1 mrg lt_save_MAGIC_CMD=$MAGIC_CMD
3294 1.1 mrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3295 1.1 mrg dnl $ac_dummy forces splitting on constant user-supplied paths.
3296 1.1 mrg dnl POSIX.2 word splitting is done only on the output of word expansions,
3297 1.1 mrg dnl not every word. This closes a longstanding sh security hole.
3298 1.1 mrg ac_dummy="m4_if([$2], , $PATH, [$2])"
3299 1.1 mrg for ac_dir in $ac_dummy; do
3300 1.1 mrg IFS=$lt_save_ifs
3301 1.1 mrg test -z "$ac_dir" && ac_dir=.
3302 1.1 mrg if test -f "$ac_dir/$1"; then
3303 1.1 mrg lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
3304 1.1 mrg if test -n "$file_magic_test_file"; then
3305 1.1 mrg case $deplibs_check_method in
3306 1.1 mrg "file_magic "*)
3307 1.1 mrg file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3308 1.1 mrg MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3309 1.1 mrg if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3310 1.1 mrg $EGREP "$file_magic_regex" > /dev/null; then
3311 1.1 mrg :
3312 1.1 mrg else
3313 1.1 mrg cat <<_LT_EOF 1>&2
3314 1.1 mrg
3315 1.1 mrg *** Warning: the command libtool uses to detect shared libraries,
3316 1.1 mrg *** $file_magic_cmd, produces output that libtool cannot recognize.
3317 1.1 mrg *** The result is that libtool may fail to recognize shared libraries
3318 1.1 mrg *** as such. This will affect the creation of libtool libraries that
3319 1.1 mrg *** depend on shared libraries, but programs linked with such libtool
3320 1.1 mrg *** libraries will work regardless of this problem. Nevertheless, you
3321 1.1 mrg *** may want to report the problem to your system manager and/or to
3322 1.1 mrg *** bug-libtool (a] gnu.org
3323 1.1 mrg
3324 1.1 mrg _LT_EOF
3325 1.1 mrg fi ;;
3326 1.1 mrg esac
3327 1.1 mrg fi
3328 1.1 mrg break
3329 1.1 mrg fi
3330 1.1 mrg done
3331 1.1 mrg IFS=$lt_save_ifs
3332 1.1 mrg MAGIC_CMD=$lt_save_MAGIC_CMD
3333 1.1 mrg ;;
3334 1.1 mrg esac])
3335 1.1 mrg MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3336 1.1 mrg if test -n "$MAGIC_CMD"; then
3337 1.1 mrg AC_MSG_RESULT($MAGIC_CMD)
3338 1.1 mrg else
3339 1.1 mrg AC_MSG_RESULT(no)
3340 1.1 mrg fi
3341 1.1 mrg _LT_DECL([], [MAGIC_CMD], [0],
3342 1.1 mrg [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3343 1.1 mrg ])# _LT_PATH_TOOL_PREFIX
3344 1.1 mrg
3345 1.1 mrg # Old name:
3346 1.1 mrg AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3347 1.1 mrg dnl aclocal-1.4 backwards compatibility:
3348 1.1 mrg dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3349 1.1 mrg
3350 1.1 mrg
3351 1.1 mrg # _LT_PATH_MAGIC
3352 1.1 mrg # --------------
3353 1.1 mrg # find a file program that can recognize a shared library
3354 1.1 mrg m4_defun([_LT_PATH_MAGIC],
3355 1.1 mrg [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3356 1.1 mrg if test -z "$lt_cv_path_MAGIC_CMD"; then
3357 1.1 mrg if test -n "$ac_tool_prefix"; then
3358 1.1 mrg _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3359 1.1 mrg else
3360 1.1 mrg MAGIC_CMD=:
3361 1.1 mrg fi
3362 1.1 mrg fi
3363 1.1 mrg ])# _LT_PATH_MAGIC
3364 1.1 mrg
3365 1.1 mrg
3366 1.1 mrg # LT_PATH_LD
3367 1.1 mrg # ----------
3368 1.1 mrg # find the pathname to the GNU or non-GNU linker
3369 1.1 mrg AC_DEFUN([LT_PATH_LD],
3370 1.1 mrg [AC_REQUIRE([AC_PROG_CC])dnl
3371 1.1 mrg AC_REQUIRE([AC_CANONICAL_HOST])dnl
3372 1.1 mrg AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3373 1.1 mrg m4_require([_LT_DECL_SED])dnl
3374 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
3375 1.1 mrg m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3376 1.1 mrg
3377 1.1 mrg AC_ARG_WITH([gnu-ld],
3378 1.1 mrg [AS_HELP_STRING([--with-gnu-ld],
3379 1.1 mrg [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3380 1.1 mrg [test no = "$withval" || with_gnu_ld=yes],
3381 1.1 mrg [with_gnu_ld=no])dnl
3382 1.1 mrg
3383 1.1 mrg ac_prog=ld
3384 1.1 mrg if test yes = "$GCC"; then
3385 1.1 mrg # Check if gcc -print-prog-name=ld gives a path.
3386 1.1 mrg AC_MSG_CHECKING([for ld used by $CC])
3387 1.1 mrg case $host in
3388 1.1 mrg *-*-mingw* | *-*-windows*)
3389 1.1 mrg # gcc leaves a trailing carriage return, which upsets mingw
3390 1.1 mrg ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3391 1.1 mrg *)
3392 1.1 mrg ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3393 1.1 mrg esac
3394 1.1 mrg case $ac_prog in
3395 1.1 mrg # Accept absolute paths.
3396 1.1 mrg [[\\/]]* | ?:[[\\/]]*)
3397 1.1 mrg re_direlt='/[[^/]][[^/]]*/\.\./'
3398 1.1 mrg # Canonicalize the pathname of ld
3399 1.1 mrg ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3400 1.1 mrg while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3401 1.1 mrg ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3402 1.1 mrg done
3403 1.1 mrg test -z "$LD" && LD=$ac_prog
3404 1.1 mrg ;;
3405 1.1 mrg "")
3406 1.1 mrg # If it fails, then pretend we aren't using GCC.
3407 1.1 mrg ac_prog=ld
3408 1.1 mrg ;;
3409 1.1 mrg *)
3410 1.1 mrg # If it is relative, then search for the first ld in PATH.
3411 1.1 mrg with_gnu_ld=unknown
3412 1.1 mrg ;;
3413 1.1 mrg esac
3414 1.1 mrg elif test yes = "$with_gnu_ld"; then
3415 1.1 mrg AC_MSG_CHECKING([for GNU ld])
3416 1.1 mrg else
3417 1.1 mrg AC_MSG_CHECKING([for non-GNU ld])
3418 1.1 mrg fi
3419 1.1 mrg AC_CACHE_VAL(lt_cv_path_LD,
3420 1.1 mrg [if test -z "$LD"; then
3421 1.1 mrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3422 1.1 mrg for ac_dir in $PATH; do
3423 1.1 mrg IFS=$lt_save_ifs
3424 1.1 mrg test -z "$ac_dir" && ac_dir=.
3425 1.1 mrg if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3426 1.1 mrg lt_cv_path_LD=$ac_dir/$ac_prog
3427 1.1 mrg # Check to see if the program is GNU ld. I'd rather use --version,
3428 1.1 mrg # but apparently some variants of GNU ld only accept -v.
3429 1.1 mrg # Break only if it was the GNU/non-GNU ld that we prefer.
3430 1.1 mrg case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3431 1.1 mrg *GNU* | *'with BFD'*)
3432 1.1 mrg test no != "$with_gnu_ld" && break
3433 1.1 mrg ;;
3434 1.1 mrg *)
3435 1.1 mrg test yes != "$with_gnu_ld" && break
3436 1.1 mrg ;;
3437 1.1 mrg esac
3438 1.1 mrg fi
3439 1.1 mrg done
3440 1.1 mrg IFS=$lt_save_ifs
3441 1.1 mrg else
3442 1.1 mrg lt_cv_path_LD=$LD # Let the user override the test with a path.
3443 1.1 mrg fi])
3444 1.1 mrg LD=$lt_cv_path_LD
3445 1.1 mrg if test -n "$LD"; then
3446 1.1 mrg AC_MSG_RESULT($LD)
3447 1.1 mrg else
3448 1.1 mrg AC_MSG_RESULT(no)
3449 1.1 mrg fi
3450 1.1 mrg test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3451 1.1 mrg _LT_PATH_LD_GNU
3452 1.1 mrg AC_SUBST([LD])
3453 1.1 mrg
3454 1.1 mrg _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3455 1.1 mrg ])# LT_PATH_LD
3456 1.1 mrg
3457 1.1 mrg # Old names:
3458 1.1 mrg AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3459 1.1 mrg AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3460 1.1 mrg dnl aclocal-1.4 backwards compatibility:
3461 1.1 mrg dnl AC_DEFUN([AM_PROG_LD], [])
3462 1.1 mrg dnl AC_DEFUN([AC_PROG_LD], [])
3463 1.1 mrg
3464 1.1 mrg
3465 1.1 mrg # _LT_PATH_LD_GNU
3466 1.1 mrg #- --------------
3467 1.1 mrg m4_defun([_LT_PATH_LD_GNU],
3468 1.1 mrg [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3469 1.1 mrg [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3470 1.1 mrg case `$LD -v 2>&1 </dev/null` in
3471 1.1 mrg *GNU* | *'with BFD'*)
3472 1.1 mrg lt_cv_prog_gnu_ld=yes
3473 1.1 mrg ;;
3474 1.1 mrg *)
3475 1.1 mrg lt_cv_prog_gnu_ld=no
3476 1.1 mrg ;;
3477 1.1 mrg esac])
3478 1.1 mrg with_gnu_ld=$lt_cv_prog_gnu_ld
3479 1.1 mrg ])# _LT_PATH_LD_GNU
3480 1.1 mrg
3481 1.1 mrg
3482 1.1 mrg # _LT_CMD_RELOAD
3483 1.1 mrg # --------------
3484 1.1 mrg # find reload flag for linker
3485 1.1 mrg # -- PORTME Some linkers may need a different reload flag.
3486 1.1 mrg m4_defun([_LT_CMD_RELOAD],
3487 1.1 mrg [AC_CACHE_CHECK([for $LD option to reload object files],
3488 1.1 mrg lt_cv_ld_reload_flag,
3489 1.1 mrg [lt_cv_ld_reload_flag='-r'])
3490 1.1 mrg reload_flag=$lt_cv_ld_reload_flag
3491 1.1 mrg case $reload_flag in
3492 1.1 mrg "" | " "*) ;;
3493 1.1 mrg *) reload_flag=" $reload_flag" ;;
3494 1.1 mrg esac
3495 1.1 mrg reload_cmds='$LD$reload_flag -o $output$reload_objs'
3496 1.1 mrg case $host_os in
3497 1.1 mrg cygwin* | mingw* | windows* | pw32* | cegcc*)
3498 1.1 mrg if test yes != "$GCC"; then
3499 1.1 mrg reload_cmds=false
3500 1.1 mrg fi
3501 1.1 mrg ;;
3502 1.1 mrg darwin*)
3503 1.1 mrg if test yes = "$GCC"; then
3504 1.1 mrg reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
3505 1.1 mrg else
3506 1.1 mrg reload_cmds='$LD$reload_flag -o $output$reload_objs'
3507 1.1 mrg fi
3508 1.1 mrg ;;
3509 1.1 mrg esac
3510 1.1 mrg _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3511 1.1 mrg _LT_TAGDECL([], [reload_cmds], [2])dnl
3512 1.1 mrg ])# _LT_CMD_RELOAD
3513 1.1 mrg
3514 1.1 mrg
3515 1.1 mrg # _LT_PATH_DD
3516 1.1 mrg # -----------
3517 1.1 mrg # find a working dd
3518 1.1 mrg m4_defun([_LT_PATH_DD],
3519 1.1 mrg [AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3520 1.1 mrg [printf 0123456789abcdef0123456789abcdef >conftest.i
3521 1.1 mrg cat conftest.i conftest.i >conftest2.i
3522 1.1 mrg : ${lt_DD:=$DD}
3523 1.1 mrg AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3524 1.1 mrg [if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3525 1.1 mrg cmp -s conftest.i conftest.out \
3526 1.1 mrg && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3527 1.1 mrg fi])
3528 1.1 mrg rm -f conftest.i conftest2.i conftest.out])
3529 1.1 mrg ])# _LT_PATH_DD
3530 1.1 mrg
3531 1.1 mrg
3532 1.1 mrg # _LT_CMD_TRUNCATE
3533 1.1 mrg # ----------------
3534 1.1 mrg # find command to truncate a binary pipe
3535 1.1 mrg m4_defun([_LT_CMD_TRUNCATE],
3536 1.1 mrg [m4_require([_LT_PATH_DD])
3537 1.1 mrg AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3538 1.1 mrg [printf 0123456789abcdef0123456789abcdef >conftest.i
3539 1.1 mrg cat conftest.i conftest.i >conftest2.i
3540 1.1 mrg lt_cv_truncate_bin=
3541 1.1 mrg if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3542 1.1 mrg cmp -s conftest.i conftest.out \
3543 1.1 mrg && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3544 1.1 mrg fi
3545 1.1 mrg rm -f conftest.i conftest2.i conftest.out
3546 1.1 mrg test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3547 1.1 mrg _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3548 1.1 mrg [Command to truncate a binary pipe])
3549 1.1 mrg ])# _LT_CMD_TRUNCATE
3550 1.1 mrg
3551 1.1 mrg
3552 1.1 mrg # _LT_CHECK_MAGIC_METHOD
3553 1.1 mrg # ----------------------
3554 1.1 mrg # how to check for library dependencies
3555 1.1 mrg # -- PORTME fill in with the dynamic library characteristics
3556 1.1 mrg m4_defun([_LT_CHECK_MAGIC_METHOD],
3557 1.1 mrg [m4_require([_LT_DECL_EGREP])
3558 1.1 mrg m4_require([_LT_DECL_OBJDUMP])
3559 1.1 mrg AC_CACHE_CHECK([how to recognize dependent libraries],
3560 1.1 mrg lt_cv_deplibs_check_method,
3561 1.1 mrg [lt_cv_file_magic_cmd='$MAGIC_CMD'
3562 1.1 mrg lt_cv_file_magic_test_file=
3563 1.1 mrg lt_cv_deplibs_check_method='unknown'
3564 1.1 mrg # Need to set the preceding variable on all platforms that support
3565 1.1 mrg # interlibrary dependencies.
3566 1.1 mrg # 'none' -- dependencies not supported.
3567 1.1 mrg # 'unknown' -- same as none, but documents that we really don't know.
3568 1.1 mrg # 'pass_all' -- all dependencies passed with no checks.
3569 1.1 mrg # 'file_magic [[regex]]' -- check by looking for files in library path
3570 1.1 mrg # that responds to the $file_magic_cmd with a given extended regex.
3571 1.1 mrg # If you have 'file' or equivalent on your system and you're not sure
3572 1.1 mrg # whether 'pass_all' will *always* work, you probably want this one.
3573 1.1 mrg
3574 1.1 mrg case $host_os in
3575 1.1 mrg aix[[4-9]]*)
3576 1.1 mrg lt_cv_deplibs_check_method=pass_all
3577 1.1 mrg ;;
3578 1.1 mrg
3579 1.1 mrg beos*)
3580 1.1 mrg lt_cv_deplibs_check_method=pass_all
3581 1.1 mrg ;;
3582 1.1 mrg
3583 1.1 mrg bsdi[[45]]*)
3584 1.1 mrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3585 1.1 mrg lt_cv_file_magic_cmd='$FILECMD -L'
3586 1.1 mrg lt_cv_file_magic_test_file=/shlib/libc.so
3587 1.1 mrg ;;
3588 1.1 mrg
3589 1.1 mrg cygwin*)
3590 1.1 mrg # func_win32_libid is a shell function defined in ltmain.sh
3591 1.1 mrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3592 1.1 mrg lt_cv_file_magic_cmd='func_win32_libid'
3593 1.1 mrg ;;
3594 1.1 mrg
3595 1.1 mrg mingw* | windows* | pw32*)
3596 1.1 mrg # Base MSYS/MinGW do not provide the 'file' command needed by
3597 1.1 mrg # func_win32_libid shell function, so use a weaker test based on 'objdump',
3598 1.1 mrg # unless we find 'file', for example because we are cross-compiling.
3599 1.1 mrg if ( file / ) >/dev/null 2>&1; then
3600 1.1 mrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3601 1.1 mrg lt_cv_file_magic_cmd='func_win32_libid'
3602 1.1 mrg else
3603 1.1 mrg # Keep this pattern in sync with the one in func_win32_libid.
3604 1.1 mrg lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)'
3605 1.1 mrg lt_cv_file_magic_cmd='$OBJDUMP -f'
3606 1.1 mrg fi
3607 1.1 mrg ;;
3608 1.1 mrg
3609 1.1 mrg cegcc*)
3610 1.1 mrg # use the weaker test based on 'objdump'. See mingw*.
3611 1.1 mrg lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3612 1.1 mrg lt_cv_file_magic_cmd='$OBJDUMP -f'
3613 1.1 mrg ;;
3614 1.1 mrg
3615 1.1 mrg darwin* | rhapsody*)
3616 1.1 mrg lt_cv_deplibs_check_method=pass_all
3617 1.1 mrg ;;
3618 1.1 mrg
3619 1.1 mrg freebsd* | dragonfly* | midnightbsd*)
3620 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3621 1.1 mrg case $host_cpu in
3622 1.1 mrg i*86 )
3623 1.1 mrg # Not sure whether the presence of OpenBSD here was a mistake.
3624 1.1 mrg # Let's accept both of them until this is cleared up.
3625 1.1 mrg lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3626 1.1 mrg lt_cv_file_magic_cmd=$FILECMD
3627 1.1 mrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3628 1.1 mrg ;;
3629 1.1 mrg esac
3630 1.1 mrg else
3631 1.1 mrg lt_cv_deplibs_check_method=pass_all
3632 1.1 mrg fi
3633 1.1 mrg ;;
3634 1.1 mrg
3635 1.1 mrg haiku*)
3636 1.1 mrg lt_cv_deplibs_check_method=pass_all
3637 1.1 mrg ;;
3638 1.1 mrg
3639 1.1 mrg hpux10.20* | hpux11*)
3640 1.1 mrg lt_cv_file_magic_cmd=$FILECMD
3641 1.1 mrg case $host_cpu in
3642 1.1 mrg ia64*)
3643 1.1 mrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3644 1.1 mrg lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3645 1.1 mrg ;;
3646 1.1 mrg hppa*64*)
3647 1.1 mrg [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]']
3648 1.1 mrg lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3649 1.1 mrg ;;
3650 1.1 mrg *)
3651 1.1 mrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3652 1.1 mrg lt_cv_file_magic_test_file=/usr/lib/libc.sl
3653 1.1 mrg ;;
3654 1.1 mrg esac
3655 1.1 mrg ;;
3656 1.1 mrg
3657 1.1 mrg interix[[3-9]]*)
3658 1.1 mrg # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3659 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3660 1.1 mrg ;;
3661 1.1 mrg
3662 1.1 mrg irix5* | irix6* | nonstopux*)
3663 1.1 mrg case $LD in
3664 1.1 mrg *-32|*"-32 ") libmagic=32-bit;;
3665 1.1 mrg *-n32|*"-n32 ") libmagic=N32;;
3666 1.1 mrg *-64|*"-64 ") libmagic=64-bit;;
3667 1.1 mrg *) libmagic=never-match;;
3668 1.1 mrg esac
3669 1.1 mrg lt_cv_deplibs_check_method=pass_all
3670 1.1 mrg ;;
3671 1.1 mrg
3672 1.1 mrg # This must be glibc/ELF.
3673 1.1 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3674 1.1 mrg lt_cv_deplibs_check_method=pass_all
3675 1.1 mrg ;;
3676 1.1 mrg
3677 1.1 mrg *-mlibc)
3678 1.1 mrg lt_cv_deplibs_check_method=pass_all
3679 1.1 mrg ;;
3680 1.1 mrg
3681 1.1 mrg netbsd* | netbsdelf*-gnu)
3682 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3683 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3684 1.1 mrg else
3685 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3686 1.1 mrg fi
3687 1.1 mrg ;;
3688 1.1 mrg
3689 1.1 mrg newos6*)
3690 1.1 mrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3691 1.1 mrg lt_cv_file_magic_cmd=$FILECMD
3692 1.1 mrg lt_cv_file_magic_test_file=/usr/lib/libnls.so
3693 1.1 mrg ;;
3694 1.1 mrg
3695 1.1 mrg *nto* | *qnx*)
3696 1.1 mrg lt_cv_deplibs_check_method=pass_all
3697 1.1 mrg ;;
3698 1.1 mrg
3699 1.1 mrg openbsd*)
3700 1.1 mrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3701 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3702 1.1 mrg else
3703 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3704 1.1 mrg fi
3705 1.1 mrg ;;
3706 1.1 mrg
3707 1.1 mrg osf3* | osf4* | osf5*)
3708 1.1 mrg lt_cv_deplibs_check_method=pass_all
3709 1.1 mrg ;;
3710 1.1 mrg
3711 1.1 mrg rdos*)
3712 1.1 mrg lt_cv_deplibs_check_method=pass_all
3713 1.1 mrg ;;
3714 1.1 mrg
3715 1.1 mrg serenity*)
3716 1.1 mrg lt_cv_deplibs_check_method=pass_all
3717 1.1 mrg ;;
3718 1.1 mrg
3719 1.1 mrg solaris*)
3720 1.1 mrg lt_cv_deplibs_check_method=pass_all
3721 1.1 mrg ;;
3722 1.1 mrg
3723 1.1 mrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3724 1.1 mrg lt_cv_deplibs_check_method=pass_all
3725 1.1 mrg ;;
3726 1.1 mrg
3727 1.1 mrg sysv4 | sysv4.3*)
3728 1.1 mrg case $host_vendor in
3729 1.1 mrg motorola)
3730 1.1 mrg 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]]'
3731 1.1 mrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3732 1.1 mrg ;;
3733 1.1 mrg ncr)
3734 1.1 mrg lt_cv_deplibs_check_method=pass_all
3735 1.1 mrg ;;
3736 1.1 mrg sequent)
3737 1.1 mrg lt_cv_file_magic_cmd='/bin/file'
3738 1.1 mrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3739 1.1 mrg ;;
3740 1.1 mrg sni)
3741 1.1 mrg lt_cv_file_magic_cmd='/bin/file'
3742 1.1 mrg lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3743 1.1 mrg lt_cv_file_magic_test_file=/lib/libc.so
3744 1.1 mrg ;;
3745 1.1 mrg siemens)
3746 1.1 mrg lt_cv_deplibs_check_method=pass_all
3747 1.1 mrg ;;
3748 1.1 mrg pc)
3749 1.1 mrg lt_cv_deplibs_check_method=pass_all
3750 1.1 mrg ;;
3751 1.1 mrg esac
3752 1.1 mrg ;;
3753 1.1 mrg
3754 1.1 mrg tpf*)
3755 1.1 mrg lt_cv_deplibs_check_method=pass_all
3756 1.1 mrg ;;
3757 1.1 mrg os2*)
3758 1.1 mrg lt_cv_deplibs_check_method=pass_all
3759 1.1 mrg ;;
3760 1.1 mrg esac
3761 1.1 mrg ])
3762 1.1 mrg
3763 1.1 mrg file_magic_glob=
3764 1.1 mrg want_nocaseglob=no
3765 1.1 mrg if test "$build" = "$host"; then
3766 1.1 mrg case $host_os in
3767 1.1 mrg mingw* | windows* | pw32*)
3768 1.1 mrg if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3769 1.1 mrg want_nocaseglob=yes
3770 1.1 mrg else
3771 1.1 mrg file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3772 1.1 mrg fi
3773 1.1 mrg ;;
3774 1.1 mrg esac
3775 1.1 mrg fi
3776 1.1 mrg
3777 1.1 mrg file_magic_cmd=$lt_cv_file_magic_cmd
3778 1.1 mrg deplibs_check_method=$lt_cv_deplibs_check_method
3779 1.1 mrg test -z "$deplibs_check_method" && deplibs_check_method=unknown
3780 1.1 mrg
3781 1.1 mrg _LT_DECL([], [deplibs_check_method], [1],
3782 1.1 mrg [Method to check whether dependent libraries are shared objects])
3783 1.1 mrg _LT_DECL([], [file_magic_cmd], [1],
3784 1.1 mrg [Command to use when deplibs_check_method = "file_magic"])
3785 1.1 mrg _LT_DECL([], [file_magic_glob], [1],
3786 1.1 mrg [How to find potential files when deplibs_check_method = "file_magic"])
3787 1.1 mrg _LT_DECL([], [want_nocaseglob], [1],
3788 1.1 mrg [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3789 1.1 mrg ])# _LT_CHECK_MAGIC_METHOD
3790 1.1 mrg
3791 1.1 mrg
3792 1.1 mrg # LT_PATH_NM
3793 1.1 mrg # ----------
3794 1.1 mrg # find the pathname to a BSD- or MS-compatible name lister
3795 1.1 mrg AC_DEFUN([LT_PATH_NM],
3796 1.1 mrg [AC_REQUIRE([AC_PROG_CC])dnl
3797 1.1 mrg AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3798 1.1 mrg [if test -n "$NM"; then
3799 1.1 mrg # Let the user override the test.
3800 1.1 mrg lt_cv_path_NM=$NM
3801 1.1 mrg else
3802 1.1 mrg lt_nm_to_check=${ac_tool_prefix}nm
3803 1.1 mrg if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3804 1.1 mrg lt_nm_to_check="$lt_nm_to_check nm"
3805 1.1 mrg fi
3806 1.1 mrg for lt_tmp_nm in $lt_nm_to_check; do
3807 1.1 mrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3808 1.1 mrg for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3809 1.1 mrg IFS=$lt_save_ifs
3810 1.1 mrg test -z "$ac_dir" && ac_dir=.
3811 1.1 mrg tmp_nm=$ac_dir/$lt_tmp_nm
3812 1.1 mrg if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
3813 1.1 mrg # Check to see if the nm accepts a BSD-compat flag.
3814 1.1 mrg # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
3815 1.1 mrg # nm: unknown option "B" ignored
3816 1.1 mrg # Tru64's nm complains that /dev/null is an invalid object file
3817 1.1 mrg # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3818 1.1 mrg case $build_os in
3819 1.1 mrg mingw* | windows*) lt_bad_file=conftest.nm/nofile ;;
3820 1.1 mrg *) lt_bad_file=/dev/null ;;
3821 1.1 mrg esac
3822 1.1 mrg case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
3823 1.1 mrg *$lt_bad_file* | *'Invalid file or object type'*)
3824 1.1 mrg lt_cv_path_NM="$tmp_nm -B"
3825 1.1 mrg break 2
3826 1.1 mrg ;;
3827 1.1 mrg *)
3828 1.1 mrg case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
3829 1.1 mrg */dev/null*)
3830 1.1 mrg lt_cv_path_NM="$tmp_nm -p"
3831 1.1 mrg break 2
3832 1.1 mrg ;;
3833 1.1 mrg *)
3834 1.1 mrg lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3835 1.1 mrg continue # so that we can try to find one that supports BSD flags
3836 1.1 mrg ;;
3837 1.1 mrg esac
3838 1.1 mrg ;;
3839 1.1 mrg esac
3840 1.1 mrg fi
3841 1.1 mrg done
3842 1.1 mrg IFS=$lt_save_ifs
3843 1.1 mrg done
3844 1.1 mrg : ${lt_cv_path_NM=no}
3845 1.1 mrg fi])
3846 1.1 mrg if test no != "$lt_cv_path_NM"; then
3847 1.1 mrg NM=$lt_cv_path_NM
3848 1.1 mrg else
3849 1.1 mrg # Didn't find any BSD compatible name lister, look for dumpbin.
3850 1.1 mrg if test -n "$DUMPBIN"; then :
3851 1.1 mrg # Let the user override the test.
3852 1.1 mrg else
3853 1.1 mrg AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3854 1.1 mrg case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
3855 1.1 mrg *COFF*)
3856 1.1 mrg DUMPBIN="$DUMPBIN -symbols -headers"
3857 1.1 mrg ;;
3858 1.1 mrg *)
3859 1.1 mrg DUMPBIN=:
3860 1.1 mrg ;;
3861 1.1 mrg esac
3862 1.1 mrg fi
3863 1.1 mrg AC_SUBST([DUMPBIN])
3864 1.1 mrg if test : != "$DUMPBIN"; then
3865 1.1 mrg NM=$DUMPBIN
3866 1.1 mrg fi
3867 1.1 mrg fi
3868 1.1 mrg test -z "$NM" && NM=nm
3869 1.1 mrg AC_SUBST([NM])
3870 1.1 mrg _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3871 1.1 mrg
3872 1.1 mrg AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3873 1.1 mrg [lt_cv_nm_interface="BSD nm"
3874 1.1 mrg echo "int some_variable = 0;" > conftest.$ac_ext
3875 1.1 mrg (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3876 1.1 mrg (eval "$ac_compile" 2>conftest.err)
3877 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
3878 1.1 mrg (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3879 1.1 mrg (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3880 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
3881 1.1 mrg (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3882 1.1 mrg cat conftest.out >&AS_MESSAGE_LOG_FD
3883 1.1 mrg if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3884 1.1 mrg lt_cv_nm_interface="MS dumpbin"
3885 1.1 mrg fi
3886 1.1 mrg rm -f conftest*])
3887 1.1 mrg ])# LT_PATH_NM
3888 1.1 mrg
3889 1.1 mrg # Old names:
3890 1.1 mrg AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3891 1.1 mrg AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3892 1.1 mrg dnl aclocal-1.4 backwards compatibility:
3893 1.1 mrg dnl AC_DEFUN([AM_PROG_NM], [])
3894 1.1 mrg dnl AC_DEFUN([AC_PROG_NM], [])
3895 1.1 mrg
3896 1.1 mrg # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3897 1.1 mrg # --------------------------------
3898 1.1 mrg # how to determine the name of the shared library
3899 1.1 mrg # associated with a specific link library.
3900 1.1 mrg # -- PORTME fill in with the dynamic library characteristics
3901 1.1 mrg m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3902 1.1 mrg [m4_require([_LT_DECL_EGREP])
3903 1.1 mrg m4_require([_LT_DECL_OBJDUMP])
3904 1.1 mrg m4_require([_LT_DECL_DLLTOOL])
3905 1.1 mrg AC_CACHE_CHECK([how to associate runtime and link libraries],
3906 1.1 mrg lt_cv_sharedlib_from_linklib_cmd,
3907 1.1 mrg [lt_cv_sharedlib_from_linklib_cmd='unknown'
3908 1.1 mrg
3909 1.1 mrg case $host_os in
3910 1.1 mrg cygwin* | mingw* | windows* | pw32* | cegcc*)
3911 1.1 mrg # two different shell functions defined in ltmain.sh;
3912 1.1 mrg # decide which one to use based on capabilities of $DLLTOOL
3913 1.1 mrg case `$DLLTOOL --help 2>&1` in
3914 1.1 mrg *--identify-strict*)
3915 1.1 mrg lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3916 1.1 mrg ;;
3917 1.1 mrg *)
3918 1.1 mrg lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3919 1.1 mrg ;;
3920 1.1 mrg esac
3921 1.1 mrg ;;
3922 1.1 mrg *)
3923 1.1 mrg # fallback: assume linklib IS sharedlib
3924 1.1 mrg lt_cv_sharedlib_from_linklib_cmd=$ECHO
3925 1.1 mrg ;;
3926 1.1 mrg esac
3927 1.1 mrg ])
3928 1.1 mrg sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3929 1.1 mrg test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3930 1.1 mrg
3931 1.1 mrg _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3932 1.1 mrg [Command to associate shared and link libraries])
3933 1.1 mrg ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3934 1.1 mrg
3935 1.1 mrg
3936 1.1 mrg # _LT_PATH_MANIFEST_TOOL
3937 1.1 mrg # ----------------------
3938 1.1 mrg # locate the manifest tool
3939 1.1 mrg m4_defun([_LT_PATH_MANIFEST_TOOL],
3940 1.1 mrg [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3941 1.1 mrg test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3942 1.1 mrg AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_manifest_tool],
3943 1.1 mrg [lt_cv_path_manifest_tool=no
3944 1.1 mrg echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3945 1.1 mrg $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3946 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
3947 1.1 mrg if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3948 1.1 mrg lt_cv_path_manifest_tool=yes
3949 1.1 mrg fi
3950 1.1 mrg rm -f conftest*])
3951 1.1 mrg if test yes != "$lt_cv_path_manifest_tool"; then
3952 1.1 mrg MANIFEST_TOOL=:
3953 1.1 mrg fi
3954 1.1 mrg _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3955 1.1 mrg ])# _LT_PATH_MANIFEST_TOOL
3956 1.1 mrg
3957 1.1 mrg
3958 1.1 mrg # _LT_DLL_DEF_P([FILE])
3959 1.1 mrg # ---------------------
3960 1.1 mrg # True iff FILE is a Windows DLL '.def' file.
3961 1.1 mrg # Keep in sync with func_dll_def_p in the libtool script
3962 1.1 mrg AC_DEFUN([_LT_DLL_DEF_P],
3963 1.1 mrg [dnl
3964 1.1 mrg test DEF = "`$SED -n dnl
3965 1.1 mrg -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
3966 1.1 mrg -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
3967 1.1 mrg -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
3968 1.1 mrg -e q dnl Only consider the first "real" line
3969 1.1 mrg $1`" dnl
3970 1.1 mrg ])# _LT_DLL_DEF_P
3971 1.1 mrg
3972 1.1 mrg
3973 1.1 mrg # LT_LIB_M
3974 1.1 mrg # --------
3975 1.1 mrg # check for math library
3976 1.1 mrg AC_DEFUN([LT_LIB_M],
3977 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3978 1.1 mrg LIBM=
3979 1.1 mrg case $host in
3980 1.1 mrg *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-mingw* | *-*-pw32* | *-*-darwin*)
3981 1.1 mrg # These system don't have libm, or don't need it
3982 1.1 mrg ;;
3983 1.1 mrg *-ncr-sysv4.3*)
3984 1.1 mrg AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
3985 1.1 mrg AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3986 1.1 mrg ;;
3987 1.1 mrg *)
3988 1.1 mrg AC_CHECK_LIB(m, cos, LIBM=-lm)
3989 1.1 mrg ;;
3990 1.1 mrg esac
3991 1.1 mrg AC_SUBST([LIBM])
3992 1.1 mrg ])# LT_LIB_M
3993 1.1 mrg
3994 1.1 mrg # Old name:
3995 1.1 mrg AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3996 1.1 mrg dnl aclocal-1.4 backwards compatibility:
3997 1.1 mrg dnl AC_DEFUN([AC_CHECK_LIBM], [])
3998 1.1 mrg
3999 1.1 mrg
4000 1.1 mrg # _LT_COMPILER_NO_RTTI([TAGNAME])
4001 1.1 mrg # -------------------------------
4002 1.1 mrg m4_defun([_LT_COMPILER_NO_RTTI],
4003 1.1 mrg [m4_require([_LT_TAG_COMPILER])dnl
4004 1.1 mrg
4005 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
4006 1.1 mrg
4007 1.1 mrg if test yes = "$GCC"; then
4008 1.1 mrg case $cc_basename in
4009 1.1 mrg nvcc*)
4010 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
4011 1.1 mrg *)
4012 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
4013 1.1 mrg esac
4014 1.1 mrg
4015 1.1 mrg _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
4016 1.1 mrg lt_cv_prog_compiler_rtti_exceptions,
4017 1.1 mrg [-fno-rtti -fno-exceptions], [],
4018 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
4019 1.1 mrg fi
4020 1.1 mrg _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
4021 1.1 mrg [Compiler flag to turn off builtin functions])
4022 1.1 mrg ])# _LT_COMPILER_NO_RTTI
4023 1.1 mrg
4024 1.1 mrg
4025 1.1 mrg # _LT_CMD_GLOBAL_SYMBOLS
4026 1.1 mrg # ----------------------
4027 1.1 mrg m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
4028 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
4029 1.1 mrg AC_REQUIRE([AC_PROG_CC])dnl
4030 1.1 mrg AC_REQUIRE([AC_PROG_AWK])dnl
4031 1.1 mrg AC_REQUIRE([LT_PATH_NM])dnl
4032 1.1 mrg AC_REQUIRE([LT_PATH_LD])dnl
4033 1.1 mrg m4_require([_LT_DECL_SED])dnl
4034 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
4035 1.1 mrg m4_require([_LT_TAG_COMPILER])dnl
4036 1.1 mrg
4037 1.1 mrg # Check for command to grab the raw symbol name followed by C symbol from nm.
4038 1.1 mrg AC_MSG_CHECKING([command to parse $NM output from $compiler object])
4039 1.1 mrg AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
4040 1.1 mrg [
4041 1.1 mrg # These are sane defaults that work on at least a few old systems.
4042 1.1 mrg # [They come from Ultrix. What could be older than Ultrix?!! ;)]
4043 1.1 mrg
4044 1.1 mrg # Character class describing NM global symbol codes.
4045 1.1 mrg symcode='[[BCDEGRST]]'
4046 1.1 mrg
4047 1.1 mrg # Regexp to match symbols that can be accessed directly from C.
4048 1.1 mrg sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
4049 1.1 mrg
4050 1.1 mrg # Define system-specific variables.
4051 1.1 mrg case $host_os in
4052 1.1 mrg aix*)
4053 1.1 mrg symcode='[[BCDT]]'
4054 1.1 mrg ;;
4055 1.1 mrg cygwin* | mingw* | windows* | pw32* | cegcc*)
4056 1.1 mrg symcode='[[ABCDGISTW]]'
4057 1.1 mrg ;;
4058 1.1 mrg hpux*)
4059 1.1 mrg if test ia64 = "$host_cpu"; then
4060 1.1 mrg symcode='[[ABCDEGRST]]'
4061 1.1 mrg fi
4062 1.1 mrg ;;
4063 1.1 mrg irix* | nonstopux*)
4064 1.1 mrg symcode='[[BCDEGRST]]'
4065 1.1 mrg ;;
4066 1.1 mrg osf*)
4067 1.1 mrg symcode='[[BCDEGQRST]]'
4068 1.1 mrg ;;
4069 1.1 mrg solaris*)
4070 1.1 mrg symcode='[[BCDRT]]'
4071 1.1 mrg ;;
4072 1.1 mrg sco3.2v5*)
4073 1.1 mrg symcode='[[DT]]'
4074 1.1 mrg ;;
4075 1.1 mrg sysv4.2uw2*)
4076 1.1 mrg symcode='[[DT]]'
4077 1.1 mrg ;;
4078 1.1 mrg sysv5* | sco5v6* | unixware* | OpenUNIX*)
4079 1.1 mrg symcode='[[ABDT]]'
4080 1.1 mrg ;;
4081 1.1 mrg sysv4)
4082 1.1 mrg symcode='[[DFNSTU]]'
4083 1.1 mrg ;;
4084 1.1 mrg esac
4085 1.1 mrg
4086 1.1 mrg # If we're using GNU nm, then use its standard symbol codes.
4087 1.1 mrg case `$NM -V 2>&1` in
4088 1.1 mrg *GNU* | *'with BFD'*)
4089 1.1 mrg symcode='[[ABCDGIRSTW]]' ;;
4090 1.1 mrg esac
4091 1.1 mrg
4092 1.1 mrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4093 1.1 mrg # Gets list of data symbols to import.
4094 1.1 mrg lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
4095 1.1 mrg # Adjust the below global symbol transforms to fixup imported variables.
4096 1.1 mrg lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
4097 1.1 mrg lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
4098 1.1 mrg lt_c_name_lib_hook="\
4099 1.1 mrg -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
4100 1.1 mrg -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
4101 1.1 mrg else
4102 1.1 mrg # Disable hooks by default.
4103 1.1 mrg lt_cv_sys_global_symbol_to_import=
4104 1.1 mrg lt_cdecl_hook=
4105 1.1 mrg lt_c_name_hook=
4106 1.1 mrg lt_c_name_lib_hook=
4107 1.1 mrg fi
4108 1.1 mrg
4109 1.1 mrg # Transform an extracted symbol line into a proper C declaration.
4110 1.1 mrg # Some systems (esp. on ia64) link data and code symbols differently,
4111 1.1 mrg # so use this general approach.
4112 1.1 mrg lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
4113 1.1 mrg $lt_cdecl_hook\
4114 1.1 mrg " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
4115 1.1 mrg " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
4116 1.1 mrg
4117 1.1 mrg # Transform an extracted symbol line into symbol name and symbol address
4118 1.1 mrg lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
4119 1.1 mrg $lt_c_name_hook\
4120 1.1 mrg " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4121 1.1 mrg " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
4122 1.1 mrg
4123 1.1 mrg # Transform an extracted symbol line into symbol name with lib prefix and
4124 1.1 mrg # symbol address.
4125 1.1 mrg lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
4126 1.1 mrg $lt_c_name_lib_hook\
4127 1.1 mrg " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4128 1.1 mrg " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
4129 1.1 mrg " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
4130 1.1 mrg
4131 1.1 mrg # Handle CRLF in mingw tool chain
4132 1.1 mrg opt_cr=
4133 1.1 mrg case $build_os in
4134 1.1 mrg mingw* | windows*)
4135 1.1 mrg opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4136 1.1 mrg ;;
4137 1.1 mrg esac
4138 1.1 mrg
4139 1.1 mrg # Try without a prefix underscore, then with it.
4140 1.1 mrg for ac_symprfx in "" "_"; do
4141 1.1 mrg
4142 1.1 mrg # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4143 1.1 mrg symxfrm="\\1 $ac_symprfx\\2 \\2"
4144 1.1 mrg
4145 1.1 mrg # Write the raw and C identifiers.
4146 1.1 mrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4147 1.1 mrg # Fake it for dumpbin and say T for any non-static function,
4148 1.1 mrg # D for any global variable and I for any imported variable.
4149 1.1 mrg # Also find C++ and __fastcall symbols from MSVC++ or ICC,
4150 1.1 mrg # which start with @ or ?.
4151 1.1 mrg lt_cv_sys_global_symbol_pipe="$AWK ['"\
4152 1.1 mrg " {last_section=section; section=\$ 3};"\
4153 1.1 mrg " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
4154 1.1 mrg " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4155 1.1 mrg " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4156 1.1 mrg " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4157 1.1 mrg " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
4158 1.1 mrg " \$ 0!~/External *\|/{next};"\
4159 1.1 mrg " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4160 1.1 mrg " {if(hide[section]) next};"\
4161 1.1 mrg " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
4162 1.1 mrg " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4163 1.1 mrg " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4164 1.1 mrg " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
4165 1.1 mrg " ' prfx=^$ac_symprfx]"
4166 1.1 mrg else
4167 1.1 mrg lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4168 1.1 mrg fi
4169 1.1 mrg lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
4170 1.1 mrg
4171 1.1 mrg # Check to see that the pipe works correctly.
4172 1.1 mrg pipe_works=no
4173 1.1 mrg
4174 1.1 mrg rm -f conftest*
4175 1.1 mrg cat > conftest.$ac_ext <<_LT_EOF
4176 1.1 mrg #ifdef __cplusplus
4177 1.1 mrg extern "C" {
4178 1.1 mrg #endif
4179 1.1 mrg char nm_test_var;
4180 1.1 mrg void nm_test_func(void);
4181 1.1 mrg void nm_test_func(void){}
4182 1.1 mrg #ifdef __cplusplus
4183 1.1 mrg }
4184 1.1 mrg #endif
4185 1.1 mrg int main(void){nm_test_var='a';nm_test_func();return(0);}
4186 1.1 mrg _LT_EOF
4187 1.1 mrg
4188 1.1 mrg if AC_TRY_EVAL(ac_compile); then
4189 1.1 mrg # Now try to grab the symbols.
4190 1.1 mrg nlist=conftest.nm
4191 1.1 mrg $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
4192 1.1 mrg if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
4193 1.1 mrg # Try sorting and uniquifying the output.
4194 1.1 mrg if sort "$nlist" | uniq > "$nlist"T; then
4195 1.1 mrg mv -f "$nlist"T "$nlist"
4196 1.1 mrg else
4197 1.1 mrg rm -f "$nlist"T
4198 1.1 mrg fi
4199 1.1 mrg
4200 1.1 mrg # Make sure that we snagged all the symbols we need.
4201 1.1 mrg if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4202 1.1 mrg if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4203 1.1 mrg cat <<_LT_EOF > conftest.$ac_ext
4204 1.1 mrg /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
4205 1.1 mrg #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4206 1.1 mrg /* DATA imports from DLLs on WIN32 can't be const, because runtime
4207 1.1 mrg relocations are performed -- see ld's documentation on pseudo-relocs. */
4208 1.1 mrg # define LT@&t@_DLSYM_CONST
4209 1.1 mrg #elif defined __osf__
4210 1.1 mrg /* This system does not cope well with relocations in const data. */
4211 1.1 mrg # define LT@&t@_DLSYM_CONST
4212 1.1 mrg #else
4213 1.1 mrg # define LT@&t@_DLSYM_CONST const
4214 1.1 mrg #endif
4215 1.1 mrg
4216 1.1 mrg #ifdef __cplusplus
4217 1.1 mrg extern "C" {
4218 1.1 mrg #endif
4219 1.1 mrg
4220 1.1 mrg _LT_EOF
4221 1.1 mrg # Now generate the symbol file.
4222 1.1 mrg eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4223 1.1 mrg
4224 1.1 mrg cat <<_LT_EOF >> conftest.$ac_ext
4225 1.1 mrg
4226 1.1 mrg /* The mapping between symbol names and symbols. */
4227 1.1 mrg LT@&t@_DLSYM_CONST struct {
4228 1.1 mrg const char *name;
4229 1.1 mrg void *address;
4230 1.1 mrg }
4231 1.1 mrg lt__PROGRAM__LTX_preloaded_symbols[[]] =
4232 1.1 mrg {
4233 1.1 mrg { "@PROGRAM@", (void *) 0 },
4234 1.1 mrg _LT_EOF
4235 1.1 mrg $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4236 1.1 mrg cat <<\_LT_EOF >> conftest.$ac_ext
4237 1.1 mrg {0, (void *) 0}
4238 1.1 mrg };
4239 1.1 mrg
4240 1.1 mrg /* This works around a problem in FreeBSD linker */
4241 1.1 mrg #ifdef FREEBSD_WORKAROUND
4242 1.1 mrg static const void *lt_preloaded_setup() {
4243 1.1 mrg return lt__PROGRAM__LTX_preloaded_symbols;
4244 1.1 mrg }
4245 1.1 mrg #endif
4246 1.1 mrg
4247 1.1 mrg #ifdef __cplusplus
4248 1.1 mrg }
4249 1.1 mrg #endif
4250 1.1 mrg _LT_EOF
4251 1.1 mrg # Now try linking the two files.
4252 1.1 mrg mv conftest.$ac_objext conftstm.$ac_objext
4253 1.1 mrg lt_globsym_save_LIBS=$LIBS
4254 1.1 mrg lt_globsym_save_CFLAGS=$CFLAGS
4255 1.1 mrg LIBS=conftstm.$ac_objext
4256 1.1 mrg CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4257 1.1 mrg if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
4258 1.1 mrg pipe_works=yes
4259 1.1 mrg fi
4260 1.1 mrg LIBS=$lt_globsym_save_LIBS
4261 1.1 mrg CFLAGS=$lt_globsym_save_CFLAGS
4262 1.1 mrg else
4263 1.1 mrg echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4264 1.1 mrg fi
4265 1.1 mrg else
4266 1.1 mrg echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4267 1.1 mrg fi
4268 1.1 mrg else
4269 1.1 mrg echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4270 1.1 mrg fi
4271 1.1 mrg else
4272 1.1 mrg echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4273 1.1 mrg cat conftest.$ac_ext >&5
4274 1.1 mrg fi
4275 1.1 mrg rm -rf conftest* conftst*
4276 1.1 mrg
4277 1.1 mrg # Do not use the global_symbol_pipe unless it works.
4278 1.1 mrg if test yes = "$pipe_works"; then
4279 1.1 mrg break
4280 1.1 mrg else
4281 1.1 mrg lt_cv_sys_global_symbol_pipe=
4282 1.1 mrg fi
4283 1.1 mrg done
4284 1.1 mrg ])
4285 1.1 mrg if test -z "$lt_cv_sys_global_symbol_pipe"; then
4286 1.1 mrg lt_cv_sys_global_symbol_to_cdecl=
4287 1.1 mrg fi
4288 1.1 mrg if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4289 1.1 mrg AC_MSG_RESULT(failed)
4290 1.1 mrg else
4291 1.1 mrg AC_MSG_RESULT(ok)
4292 1.1 mrg fi
4293 1.1 mrg
4294 1.1 mrg # Response file support.
4295 1.1 mrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4296 1.1 mrg nm_file_list_spec='@'
4297 1.1 mrg elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
4298 1.1 mrg nm_file_list_spec='@'
4299 1.1 mrg fi
4300 1.1 mrg
4301 1.1 mrg _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4302 1.1 mrg [Take the output of nm and produce a listing of raw symbols and C names])
4303 1.1 mrg _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4304 1.1 mrg [Transform the output of nm in a proper C declaration])
4305 1.1 mrg _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4306 1.1 mrg [Transform the output of nm into a list of symbols to manually relocate])
4307 1.1 mrg _LT_DECL([global_symbol_to_c_name_address],
4308 1.1 mrg [lt_cv_sys_global_symbol_to_c_name_address], [1],
4309 1.1 mrg [Transform the output of nm in a C name address pair])
4310 1.1 mrg _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4311 1.1 mrg [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4312 1.1 mrg [Transform the output of nm in a C name address pair when lib prefix is needed])
4313 1.1 mrg _LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4314 1.1 mrg [The name lister interface])
4315 1.1 mrg _LT_DECL([], [nm_file_list_spec], [1],
4316 1.1 mrg [Specify filename containing input files for $NM])
4317 1.1 mrg ]) # _LT_CMD_GLOBAL_SYMBOLS
4318 1.1 mrg
4319 1.1 mrg
4320 1.1 mrg # _LT_COMPILER_PIC([TAGNAME])
4321 1.1 mrg # ---------------------------
4322 1.1 mrg m4_defun([_LT_COMPILER_PIC],
4323 1.1 mrg [m4_require([_LT_TAG_COMPILER])dnl
4324 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)=
4325 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4326 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)=
4327 1.1 mrg
4328 1.1 mrg m4_if([$1], [CXX], [
4329 1.1 mrg # C++ specific cases for pic, static, wl, etc.
4330 1.1 mrg if test yes = "$GXX"; then
4331 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4332 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4333 1.1 mrg
4334 1.1 mrg case $host_os in
4335 1.1 mrg aix*)
4336 1.1 mrg # All AIX code is PIC.
4337 1.1 mrg if test ia64 = "$host_cpu"; then
4338 1.1 mrg # AIX 5 now supports IA64 processor
4339 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4340 1.1 mrg fi
4341 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4342 1.1 mrg ;;
4343 1.1 mrg
4344 1.1 mrg amigaos*)
4345 1.1 mrg case $host_cpu in
4346 1.1 mrg powerpc)
4347 1.1 mrg # see comment about AmigaOS4 .so support
4348 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4349 1.1 mrg ;;
4350 1.1 mrg m68k)
4351 1.1 mrg # FIXME: we need at least 68020 code to build shared libraries, but
4352 1.1 mrg # adding the '-m68020' flag to GCC prevents building anything better,
4353 1.1 mrg # like '-m68040'.
4354 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4355 1.1 mrg ;;
4356 1.1 mrg esac
4357 1.1 mrg ;;
4358 1.1 mrg
4359 1.1 mrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4360 1.1 mrg # PIC is the default for these OSes.
4361 1.1 mrg ;;
4362 1.1 mrg mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
4363 1.1 mrg # This hack is so that the source file can tell whether it is being
4364 1.1 mrg # built for inclusion in a dll (and should export symbols for example).
4365 1.1 mrg # Although the cygwin gcc ignores -fPIC, still need this for old-style
4366 1.1 mrg # (--disable-auto-import) libraries
4367 1.1 mrg m4_if([$1], [GCJ], [],
4368 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4369 1.1 mrg case $host_os in
4370 1.1 mrg os2*)
4371 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4372 1.1 mrg ;;
4373 1.1 mrg esac
4374 1.1 mrg ;;
4375 1.1 mrg darwin* | rhapsody*)
4376 1.1 mrg # PIC is the default on this platform
4377 1.1 mrg # Common symbols not allowed in MH_DYLIB files
4378 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4379 1.1 mrg ;;
4380 1.1 mrg *djgpp*)
4381 1.1 mrg # DJGPP does not support shared libraries at all
4382 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4383 1.1 mrg ;;
4384 1.1 mrg haiku*)
4385 1.1 mrg # PIC is the default for Haiku.
4386 1.1 mrg # The "-static" flag exists, but is broken.
4387 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)=
4388 1.1 mrg ;;
4389 1.1 mrg interix[[3-9]]*)
4390 1.1 mrg # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4391 1.1 mrg # Instead, we relocate shared libraries at runtime.
4392 1.1 mrg ;;
4393 1.1 mrg sysv4*MP*)
4394 1.1 mrg if test -d /usr/nec; then
4395 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4396 1.1 mrg fi
4397 1.1 mrg ;;
4398 1.1 mrg hpux*)
4399 1.1 mrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4400 1.1 mrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4401 1.1 mrg # sets the default TLS model and affects inlining.
4402 1.1 mrg case $host_cpu in
4403 1.1 mrg hppa*64*)
4404 1.1 mrg ;;
4405 1.1 mrg *)
4406 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4407 1.1 mrg ;;
4408 1.1 mrg esac
4409 1.1 mrg ;;
4410 1.1 mrg *qnx* | *nto*)
4411 1.1 mrg # QNX uses GNU C++, but need to define -shared option too, otherwise
4412 1.1 mrg # it will coredump.
4413 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4414 1.1 mrg ;;
4415 1.1 mrg *)
4416 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4417 1.1 mrg ;;
4418 1.1 mrg esac
4419 1.1 mrg else
4420 1.1 mrg case $host_os in
4421 1.1 mrg aix[[4-9]]*)
4422 1.1 mrg # All AIX code is PIC.
4423 1.1 mrg if test ia64 = "$host_cpu"; then
4424 1.1 mrg # AIX 5 now supports IA64 processor
4425 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4426 1.1 mrg else
4427 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4428 1.1 mrg fi
4429 1.1 mrg ;;
4430 1.1 mrg chorus*)
4431 1.1 mrg case $cc_basename in
4432 1.1 mrg cxch68*)
4433 1.1 mrg # Green Hills C++ Compiler
4434 1.1 mrg # _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"
4435 1.1 mrg ;;
4436 1.1 mrg esac
4437 1.1 mrg ;;
4438 1.1 mrg mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
4439 1.1 mrg # This hack is so that the source file can tell whether it is being
4440 1.1 mrg # built for inclusion in a dll (and should export symbols for example).
4441 1.1 mrg m4_if([$1], [GCJ], [],
4442 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4443 1.1 mrg ;;
4444 1.1 mrg dgux*)
4445 1.1 mrg case $cc_basename in
4446 1.1 mrg ec++*)
4447 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4448 1.1 mrg ;;
4449 1.1 mrg ghcx*)
4450 1.1 mrg # Green Hills C++ Compiler
4451 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4452 1.1 mrg ;;
4453 1.1 mrg *)
4454 1.1 mrg ;;
4455 1.1 mrg esac
4456 1.1 mrg ;;
4457 1.1 mrg freebsd* | dragonfly* | midnightbsd*)
4458 1.1 mrg # FreeBSD uses GNU C++
4459 1.1 mrg ;;
4460 1.1 mrg hpux9* | hpux10* | hpux11*)
4461 1.1 mrg case $cc_basename in
4462 1.1 mrg CC*)
4463 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4464 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4465 1.1 mrg if test ia64 != "$host_cpu"; then
4466 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4467 1.1 mrg fi
4468 1.1 mrg ;;
4469 1.1 mrg aCC*)
4470 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4471 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4472 1.1 mrg case $host_cpu in
4473 1.1 mrg hppa*64*|ia64*)
4474 1.1 mrg # +Z the default
4475 1.1 mrg ;;
4476 1.1 mrg *)
4477 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4478 1.1 mrg ;;
4479 1.1 mrg esac
4480 1.1 mrg ;;
4481 1.1 mrg *)
4482 1.1 mrg ;;
4483 1.1 mrg esac
4484 1.1 mrg ;;
4485 1.1 mrg interix*)
4486 1.1 mrg # This is c89, which is MS Visual C++ (no shared libs)
4487 1.1 mrg # Anyone wants to do a port?
4488 1.1 mrg ;;
4489 1.1 mrg irix5* | irix6* | nonstopux*)
4490 1.1 mrg case $cc_basename in
4491 1.1 mrg CC*)
4492 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4493 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4494 1.1 mrg # CC pic flag -KPIC is the default.
4495 1.1 mrg ;;
4496 1.1 mrg *)
4497 1.1 mrg ;;
4498 1.1 mrg esac
4499 1.1 mrg ;;
4500 1.1 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4501 1.1 mrg case $cc_basename in
4502 1.1 mrg KCC*)
4503 1.1 mrg # KAI C++ Compiler
4504 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4505 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4506 1.1 mrg ;;
4507 1.1 mrg ecpc* )
4508 1.1 mrg # old Intel C++ for x86_64, which still supported -KPIC.
4509 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4510 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4511 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4512 1.1 mrg ;;
4513 1.1 mrg icpc* )
4514 1.1 mrg # Intel C++, used to be incompatible with GCC.
4515 1.1 mrg # ICC 10 doesn't accept -KPIC any more.
4516 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4517 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4518 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4519 1.1 mrg ;;
4520 1.1 mrg pgCC* | pgcpp*)
4521 1.1 mrg # Portland Group C++ compiler
4522 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4523 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4524 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4525 1.1 mrg ;;
4526 1.1 mrg cxx*)
4527 1.1 mrg # Compaq C++
4528 1.1 mrg # Make sure the PIC flag is empty. It appears that all Alpha
4529 1.1 mrg # Linux and Compaq Tru64 Unix objects are PIC.
4530 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4531 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4532 1.1 mrg ;;
4533 1.1 mrg xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4534 1.1 mrg # IBM XL 8.0, 9.0 on PPC and BlueGene
4535 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4536 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4537 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4538 1.1 mrg ;;
4539 1.1 mrg *)
4540 1.1 mrg case `$CC -V 2>&1 | $SED 5q` in
4541 1.1 mrg *Sun\ C*)
4542 1.1 mrg # Sun C++ 5.9
4543 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4544 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4545 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4546 1.1 mrg ;;
4547 1.1 mrg esac
4548 1.1 mrg ;;
4549 1.1 mrg esac
4550 1.1 mrg ;;
4551 1.1 mrg lynxos*)
4552 1.1 mrg ;;
4553 1.1 mrg m88k*)
4554 1.1 mrg ;;
4555 1.1 mrg mvs*)
4556 1.1 mrg case $cc_basename in
4557 1.1 mrg cxx*)
4558 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4559 1.1 mrg ;;
4560 1.1 mrg *)
4561 1.1 mrg ;;
4562 1.1 mrg esac
4563 1.1 mrg ;;
4564 1.1 mrg netbsd* | netbsdelf*-gnu)
4565 1.1 mrg ;;
4566 1.1 mrg *-mlibc)
4567 1.1 mrg ;;
4568 1.1 mrg *qnx* | *nto*)
4569 1.1 mrg # QNX uses GNU C++, but need to define -shared option too, otherwise
4570 1.1 mrg # it will coredump.
4571 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4572 1.1 mrg ;;
4573 1.1 mrg osf3* | osf4* | osf5*)
4574 1.1 mrg case $cc_basename in
4575 1.1 mrg KCC*)
4576 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4577 1.1 mrg ;;
4578 1.1 mrg RCC*)
4579 1.1 mrg # Rational C++ 2.4.1
4580 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4581 1.1 mrg ;;
4582 1.1 mrg cxx*)
4583 1.1 mrg # Digital/Compaq C++
4584 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4585 1.1 mrg # Make sure the PIC flag is empty. It appears that all Alpha
4586 1.1 mrg # Linux and Compaq Tru64 Unix objects are PIC.
4587 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4588 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4589 1.1 mrg ;;
4590 1.1 mrg *)
4591 1.1 mrg ;;
4592 1.1 mrg esac
4593 1.1 mrg ;;
4594 1.1 mrg psos*)
4595 1.1 mrg ;;
4596 1.1 mrg serenity*)
4597 1.1 mrg ;;
4598 1.1 mrg solaris*)
4599 1.1 mrg case $cc_basename in
4600 1.1 mrg CC* | sunCC*)
4601 1.1 mrg # Sun C++ 4.2, 5.x and Centerline C++
4602 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4603 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4604 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4605 1.1 mrg ;;
4606 1.1 mrg gcx*)
4607 1.1 mrg # Green Hills C++ Compiler
4608 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4609 1.1 mrg ;;
4610 1.1 mrg *)
4611 1.1 mrg ;;
4612 1.1 mrg esac
4613 1.1 mrg ;;
4614 1.1 mrg sunos4*)
4615 1.1 mrg case $cc_basename in
4616 1.1 mrg CC*)
4617 1.1 mrg # Sun C++ 4.x
4618 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4619 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4620 1.1 mrg ;;
4621 1.1 mrg lcc*)
4622 1.1 mrg # Lucid
4623 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4624 1.1 mrg ;;
4625 1.1 mrg *)
4626 1.1 mrg ;;
4627 1.1 mrg esac
4628 1.1 mrg ;;
4629 1.1 mrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4630 1.1 mrg case $cc_basename in
4631 1.1 mrg CC*)
4632 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4633 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4634 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4635 1.1 mrg ;;
4636 1.1 mrg esac
4637 1.1 mrg ;;
4638 1.1 mrg tandem*)
4639 1.1 mrg case $cc_basename in
4640 1.1 mrg NCC*)
4641 1.1 mrg # NonStop-UX NCC 3.20
4642 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4643 1.1 mrg ;;
4644 1.1 mrg *)
4645 1.1 mrg ;;
4646 1.1 mrg esac
4647 1.1 mrg ;;
4648 1.1 mrg vxworks*)
4649 1.1 mrg ;;
4650 1.1 mrg *)
4651 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4652 1.1 mrg ;;
4653 1.1 mrg esac
4654 1.1 mrg fi
4655 1.1 mrg ],
4656 1.1 mrg [
4657 1.1 mrg if test yes = "$GCC"; then
4658 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4659 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4660 1.1 mrg
4661 1.1 mrg case $host_os in
4662 1.1 mrg aix*)
4663 1.1 mrg # All AIX code is PIC.
4664 1.1 mrg if test ia64 = "$host_cpu"; then
4665 1.1 mrg # AIX 5 now supports IA64 processor
4666 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4667 1.1 mrg fi
4668 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4669 1.1 mrg ;;
4670 1.1 mrg
4671 1.1 mrg amigaos*)
4672 1.1 mrg case $host_cpu in
4673 1.1 mrg powerpc)
4674 1.1 mrg # see comment about AmigaOS4 .so support
4675 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4676 1.1 mrg ;;
4677 1.1 mrg m68k)
4678 1.1 mrg # FIXME: we need at least 68020 code to build shared libraries, but
4679 1.1 mrg # adding the '-m68020' flag to GCC prevents building anything better,
4680 1.1 mrg # like '-m68040'.
4681 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4682 1.1 mrg ;;
4683 1.1 mrg esac
4684 1.1 mrg ;;
4685 1.1 mrg
4686 1.1 mrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4687 1.1 mrg # PIC is the default for these OSes.
4688 1.1 mrg ;;
4689 1.1 mrg
4690 1.1 mrg mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
4691 1.1 mrg # This hack is so that the source file can tell whether it is being
4692 1.1 mrg # built for inclusion in a dll (and should export symbols for example).
4693 1.1 mrg # Although the cygwin gcc ignores -fPIC, still need this for old-style
4694 1.1 mrg # (--disable-auto-import) libraries
4695 1.1 mrg m4_if([$1], [GCJ], [],
4696 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4697 1.1 mrg case $host_os in
4698 1.1 mrg os2*)
4699 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4700 1.1 mrg ;;
4701 1.1 mrg esac
4702 1.1 mrg ;;
4703 1.1 mrg
4704 1.1 mrg darwin* | rhapsody*)
4705 1.1 mrg # PIC is the default on this platform
4706 1.1 mrg # Common symbols not allowed in MH_DYLIB files
4707 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4708 1.1 mrg ;;
4709 1.1 mrg
4710 1.1 mrg haiku*)
4711 1.1 mrg # PIC is the default for Haiku.
4712 1.1 mrg # The "-static" flag exists, but is broken.
4713 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)=
4714 1.1 mrg ;;
4715 1.1 mrg
4716 1.1 mrg hpux*)
4717 1.1 mrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4718 1.1 mrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4719 1.1 mrg # sets the default TLS model and affects inlining.
4720 1.1 mrg case $host_cpu in
4721 1.1 mrg hppa*64*)
4722 1.1 mrg # +Z the default
4723 1.1 mrg ;;
4724 1.1 mrg *)
4725 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4726 1.1 mrg ;;
4727 1.1 mrg esac
4728 1.1 mrg ;;
4729 1.1 mrg
4730 1.1 mrg interix[[3-9]]*)
4731 1.1 mrg # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4732 1.1 mrg # Instead, we relocate shared libraries at runtime.
4733 1.1 mrg ;;
4734 1.1 mrg
4735 1.1 mrg msdosdjgpp*)
4736 1.1 mrg # Just because we use GCC doesn't mean we suddenly get shared libraries
4737 1.1 mrg # on systems that don't support them.
4738 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4739 1.1 mrg enable_shared=no
4740 1.1 mrg ;;
4741 1.1 mrg
4742 1.1 mrg *nto* | *qnx*)
4743 1.1 mrg # QNX uses GNU C++, but need to define -shared option too, otherwise
4744 1.1 mrg # it will coredump.
4745 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4746 1.1 mrg ;;
4747 1.1 mrg
4748 1.1 mrg sysv4*MP*)
4749 1.1 mrg if test -d /usr/nec; then
4750 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4751 1.1 mrg fi
4752 1.1 mrg ;;
4753 1.1 mrg
4754 1.1 mrg *)
4755 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4756 1.1 mrg ;;
4757 1.1 mrg esac
4758 1.1 mrg
4759 1.1 mrg case $cc_basename in
4760 1.1 mrg nvcc*) # Cuda Compiler Driver 2.2
4761 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4762 1.1 mrg if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4763 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4764 1.1 mrg fi
4765 1.1 mrg ;;
4766 1.1 mrg esac
4767 1.1 mrg else
4768 1.1 mrg # PORTME Check for flag to pass linker flags through the system compiler.
4769 1.1 mrg case $host_os in
4770 1.1 mrg aix*)
4771 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4772 1.1 mrg if test ia64 = "$host_cpu"; then
4773 1.1 mrg # AIX 5 now supports IA64 processor
4774 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4775 1.1 mrg else
4776 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4777 1.1 mrg fi
4778 1.1 mrg ;;
4779 1.1 mrg
4780 1.1 mrg darwin* | rhapsody*)
4781 1.1 mrg # PIC is the default on this platform
4782 1.1 mrg # Common symbols not allowed in MH_DYLIB files
4783 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4784 1.1 mrg case $cc_basename in
4785 1.1 mrg nagfor*)
4786 1.1 mrg # NAG Fortran compiler
4787 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4788 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4789 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4790 1.1 mrg ;;
4791 1.1 mrg esac
4792 1.1 mrg ;;
4793 1.1 mrg
4794 1.1 mrg mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
4795 1.1 mrg # This hack is so that the source file can tell whether it is being
4796 1.1 mrg # built for inclusion in a dll (and should export symbols for example).
4797 1.1 mrg m4_if([$1], [GCJ], [],
4798 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4799 1.1 mrg case $host_os in
4800 1.1 mrg os2*)
4801 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4802 1.1 mrg ;;
4803 1.1 mrg esac
4804 1.1 mrg ;;
4805 1.1 mrg
4806 1.1 mrg hpux9* | hpux10* | hpux11*)
4807 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4808 1.1 mrg # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4809 1.1 mrg # not for PA HP-UX.
4810 1.1 mrg case $host_cpu in
4811 1.1 mrg hppa*64*|ia64*)
4812 1.1 mrg # +Z the default
4813 1.1 mrg ;;
4814 1.1 mrg *)
4815 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4816 1.1 mrg ;;
4817 1.1 mrg esac
4818 1.1 mrg # Is there a better lt_prog_compiler_static that works with the bundled CC?
4819 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4820 1.1 mrg ;;
4821 1.1 mrg
4822 1.1 mrg irix5* | irix6* | nonstopux*)
4823 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4824 1.1 mrg # PIC (with -KPIC) is the default.
4825 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4826 1.1 mrg ;;
4827 1.1 mrg
4828 1.1 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4829 1.1 mrg case $cc_basename in
4830 1.1 mrg # old Intel for x86_64, which still supported -KPIC.
4831 1.1 mrg ecc*)
4832 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4833 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4834 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4835 1.1 mrg ;;
4836 1.1 mrg *flang* | ftn | f18* | f95*)
4837 1.1 mrg # Flang compiler.
4838 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4839 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4840 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4841 1.1 mrg ;;
4842 1.1 mrg # icc used to be incompatible with GCC.
4843 1.1 mrg # ICC 10 doesn't accept -KPIC any more.
4844 1.1 mrg icc* | ifort*)
4845 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4846 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4847 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4848 1.1 mrg ;;
4849 1.1 mrg # Lahey Fortran 8.1.
4850 1.1 mrg lf95*)
4851 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4852 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4853 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4854 1.1 mrg ;;
4855 1.1 mrg nagfor*)
4856 1.1 mrg # NAG Fortran compiler
4857 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4858 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4859 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4860 1.1 mrg ;;
4861 1.1 mrg tcc*)
4862 1.1 mrg # Fabrice Bellard et al's Tiny C Compiler
4863 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4864 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4865 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4866 1.1 mrg ;;
4867 1.1 mrg pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4868 1.1 mrg # Portland Group compilers (*not* the Pentium gcc compiler,
4869 1.1 mrg # which looks to be a dead project)
4870 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4871 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4872 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4873 1.1 mrg ;;
4874 1.1 mrg ccc*)
4875 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4876 1.1 mrg # All Alpha code is PIC.
4877 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4878 1.1 mrg ;;
4879 1.1 mrg xl* | bgxl* | bgf* | mpixl*)
4880 1.1 mrg # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4881 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4882 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4883 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4884 1.1 mrg ;;
4885 1.1 mrg *)
4886 1.1 mrg case `$CC -V 2>&1 | $SED 5q` in
4887 1.1 mrg *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4888 1.1 mrg # Sun Fortran 8.3 passes all unrecognized flags to the linker
4889 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4890 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4891 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4892 1.1 mrg ;;
4893 1.1 mrg *Sun\ F* | *Sun*Fortran*)
4894 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4895 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4896 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4897 1.1 mrg ;;
4898 1.1 mrg *Sun\ C*)
4899 1.1 mrg # Sun C 5.9
4900 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4901 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4902 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4903 1.1 mrg ;;
4904 1.1 mrg *Intel*\ [[CF]]*Compiler*)
4905 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4906 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4907 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4908 1.1 mrg ;;
4909 1.1 mrg *Portland\ Group*)
4910 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4911 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4912 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4913 1.1 mrg ;;
4914 1.1 mrg esac
4915 1.1 mrg ;;
4916 1.1 mrg esac
4917 1.1 mrg ;;
4918 1.1 mrg
4919 1.1 mrg newsos6)
4920 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4921 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4922 1.1 mrg ;;
4923 1.1 mrg
4924 1.1 mrg *-mlibc)
4925 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4926 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4927 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4928 1.1 mrg ;;
4929 1.1 mrg
4930 1.1 mrg *nto* | *qnx*)
4931 1.1 mrg # QNX uses GNU C++, but need to define -shared option too, otherwise
4932 1.1 mrg # it will coredump.
4933 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4934 1.1 mrg ;;
4935 1.1 mrg
4936 1.1 mrg osf3* | osf4* | osf5*)
4937 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4938 1.1 mrg # All OSF/1 code is PIC.
4939 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4940 1.1 mrg ;;
4941 1.1 mrg
4942 1.1 mrg rdos*)
4943 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4944 1.1 mrg ;;
4945 1.1 mrg
4946 1.1 mrg serenity*)
4947 1.1 mrg ;;
4948 1.1 mrg
4949 1.1 mrg solaris*)
4950 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4951 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4952 1.1 mrg case $cc_basename in
4953 1.1 mrg f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4954 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4955 1.1 mrg *)
4956 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4957 1.1 mrg esac
4958 1.1 mrg ;;
4959 1.1 mrg
4960 1.1 mrg sunos4*)
4961 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4962 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4963 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4964 1.1 mrg ;;
4965 1.1 mrg
4966 1.1 mrg sysv4 | sysv4.2uw2* | sysv4.3*)
4967 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4968 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4969 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4970 1.1 mrg ;;
4971 1.1 mrg
4972 1.1 mrg sysv4*MP*)
4973 1.1 mrg if test -d /usr/nec; then
4974 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4975 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4976 1.1 mrg fi
4977 1.1 mrg ;;
4978 1.1 mrg
4979 1.1 mrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4980 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4981 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4982 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4983 1.1 mrg ;;
4984 1.1 mrg
4985 1.1 mrg unicos*)
4986 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4987 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4988 1.1 mrg ;;
4989 1.1 mrg
4990 1.1 mrg uts4*)
4991 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4992 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4993 1.1 mrg ;;
4994 1.1 mrg
4995 1.1 mrg *)
4996 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4997 1.1 mrg ;;
4998 1.1 mrg esac
4999 1.1 mrg fi
5000 1.1 mrg ])
5001 1.1 mrg case $host_os in
5002 1.1 mrg # For platforms that do not support PIC, -DPIC is meaningless:
5003 1.1 mrg *djgpp*)
5004 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
5005 1.1 mrg ;;
5006 1.1 mrg *)
5007 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
5008 1.1 mrg ;;
5009 1.1 mrg esac
5010 1.1 mrg
5011 1.1 mrg AC_CACHE_CHECK([for $compiler option to produce PIC],
5012 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
5013 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
5014 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
5015 1.1 mrg
5016 1.1 mrg #
5017 1.1 mrg # Check to make sure the PIC flag actually works.
5018 1.1 mrg #
5019 1.1 mrg if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
5020 1.1 mrg _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
5021 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
5022 1.1 mrg [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
5023 1.1 mrg [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
5024 1.1 mrg "" | " "*) ;;
5025 1.1 mrg *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
5026 1.1 mrg esac],
5027 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
5028 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
5029 1.1 mrg fi
5030 1.1 mrg _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
5031 1.1 mrg [Additional compiler flags for building library objects])
5032 1.1 mrg
5033 1.1 mrg _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
5034 1.1 mrg [How to pass a linker flag through the compiler])
5035 1.1 mrg #
5036 1.1 mrg # Check to make sure the static flag actually works.
5037 1.1 mrg #
5038 1.1 mrg wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
5039 1.1 mrg _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
5040 1.1 mrg _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
5041 1.1 mrg $lt_tmp_static_flag,
5042 1.1 mrg [],
5043 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
5044 1.1 mrg _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
5045 1.1 mrg [Compiler flag to prevent dynamic linking])
5046 1.1 mrg ])# _LT_COMPILER_PIC
5047 1.1 mrg
5048 1.1 mrg
5049 1.1 mrg # _LT_LINKER_SHLIBS([TAGNAME])
5050 1.1 mrg # ----------------------------
5051 1.1 mrg # See if the linker supports building shared libraries.
5052 1.1 mrg m4_defun([_LT_LINKER_SHLIBS],
5053 1.1 mrg [AC_REQUIRE([LT_PATH_LD])dnl
5054 1.1 mrg AC_REQUIRE([LT_PATH_NM])dnl
5055 1.1 mrg m4_require([_LT_PATH_MANIFEST_TOOL])dnl
5056 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5057 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
5058 1.1 mrg m4_require([_LT_DECL_SED])dnl
5059 1.1 mrg m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
5060 1.1 mrg m4_require([_LT_TAG_COMPILER])dnl
5061 1.1 mrg AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5062 1.1 mrg m4_if([$1], [CXX], [
5063 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5064 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5065 1.1 mrg case $host_os in
5066 1.1 mrg aix[[4-9]]*)
5067 1.1 mrg # If we're using GNU nm, then we don't want the "-C" option.
5068 1.1 mrg # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5069 1.1 mrg # Without the "-l" option, or with the "-B" option, AIX nm treats
5070 1.1 mrg # weak defined symbols like other global defined symbols, whereas
5071 1.1 mrg # GNU nm marks them as "W".
5072 1.1 mrg # While the 'weak' keyword is ignored in the Export File, we need
5073 1.1 mrg # it in the Import File for the 'aix-soname' feature, so we have
5074 1.1 mrg # to replace the "-B" option with "-P" for AIX nm.
5075 1.1 mrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5076 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
5077 1.1 mrg else
5078 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
5079 1.1 mrg fi
5080 1.1 mrg ;;
5081 1.1 mrg pw32*)
5082 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
5083 1.1 mrg ;;
5084 1.1 mrg cygwin* | mingw* | windows* | cegcc*)
5085 1.1 mrg case $cc_basename in
5086 1.1 mrg cl* | icl*)
5087 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5088 1.1 mrg ;;
5089 1.1 mrg *)
5090 1.1 mrg _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'
5091 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
5092 1.1 mrg ;;
5093 1.1 mrg esac
5094 1.1 mrg ;;
5095 1.1 mrg *)
5096 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5097 1.1 mrg ;;
5098 1.1 mrg esac
5099 1.1 mrg ], [
5100 1.1 mrg runpath_var=
5101 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
5102 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
5103 1.1 mrg _LT_TAGVAR(archive_cmds, $1)=
5104 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=
5105 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=no
5106 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5107 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5108 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5109 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=no
5110 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
5111 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5112 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5113 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
5114 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=no
5115 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5116 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=no
5117 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=unknown
5118 1.1 mrg _LT_TAGVAR(module_cmds, $1)=
5119 1.1 mrg _LT_TAGVAR(module_expsym_cmds, $1)=
5120 1.1 mrg _LT_TAGVAR(old_archive_from_new_cmds, $1)=
5121 1.1 mrg _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
5122 1.1 mrg _LT_TAGVAR(thread_safe_flag_spec, $1)=
5123 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
5124 1.1 mrg # include_expsyms should be a list of space-separated symbols to be *always*
5125 1.1 mrg # included in the symbol list
5126 1.1 mrg _LT_TAGVAR(include_expsyms, $1)=
5127 1.1 mrg # exclude_expsyms can be an extended regexp of symbols to exclude
5128 1.1 mrg # it will be wrapped by ' (' and ')$', so one must not match beginning or
5129 1.1 mrg # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
5130 1.1 mrg # as well as any symbol that contains 'd'.
5131 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5132 1.1 mrg # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
5133 1.1 mrg # platforms (ab)use it in PIC code, but their linkers get confused if
5134 1.1 mrg # the symbol is explicitly referenced. Since portable code cannot
5135 1.1 mrg # rely on this symbol name, it's probably fine to never include it in
5136 1.1 mrg # preloaded symbol tables.
5137 1.1 mrg # Exclude shared library initialization/finalization symbols.
5138 1.1 mrg dnl Note also adjust exclude_expsyms for C++ above.
5139 1.1 mrg extract_expsyms_cmds=
5140 1.1 mrg
5141 1.1 mrg case $host_os in
5142 1.1 mrg cygwin* | mingw* | windows* | pw32* | cegcc*)
5143 1.1 mrg # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
5144 1.1 mrg # When not using gcc, we currently assume that we are using
5145 1.1 mrg # Microsoft Visual C++ or Intel C++ Compiler.
5146 1.1 mrg if test yes != "$GCC"; then
5147 1.1 mrg with_gnu_ld=no
5148 1.1 mrg fi
5149 1.1 mrg ;;
5150 1.1 mrg interix*)
5151 1.1 mrg # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
5152 1.1 mrg with_gnu_ld=yes
5153 1.1 mrg ;;
5154 1.1 mrg esac
5155 1.1 mrg
5156 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
5157 1.1 mrg
5158 1.1 mrg # On some targets, GNU ld is compatible enough with the native linker
5159 1.1 mrg # that we're better off using the native interface for both.
5160 1.1 mrg lt_use_gnu_ld_interface=no
5161 1.1 mrg if test yes = "$with_gnu_ld"; then
5162 1.1 mrg case $host_os in
5163 1.1 mrg aix*)
5164 1.1 mrg # The AIX port of GNU ld has always aspired to compatibility
5165 1.1 mrg # with the native linker. However, as the warning in the GNU ld
5166 1.1 mrg # block says, versions before 2.19.5* couldn't really create working
5167 1.1 mrg # shared libraries, regardless of the interface used.
5168 1.1 mrg case `$LD -v 2>&1` in
5169 1.1 mrg *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
5170 1.1 mrg *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
5171 1.1 mrg *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
5172 1.1 mrg *)
5173 1.1 mrg lt_use_gnu_ld_interface=yes
5174 1.1 mrg ;;
5175 1.1 mrg esac
5176 1.1 mrg ;;
5177 1.1 mrg *)
5178 1.1 mrg lt_use_gnu_ld_interface=yes
5179 1.1 mrg ;;
5180 1.1 mrg esac
5181 1.1 mrg fi
5182 1.1 mrg
5183 1.1 mrg if test yes = "$lt_use_gnu_ld_interface"; then
5184 1.1 mrg # If archive_cmds runs LD, not CC, wlarc should be empty
5185 1.1 mrg wlarc='$wl'
5186 1.1 mrg
5187 1.1 mrg # Set some defaults for GNU ld with shared library support. These
5188 1.1 mrg # are reset later if shared libraries are not supported. Putting them
5189 1.1 mrg # here allows them to be overridden if necessary.
5190 1.1 mrg runpath_var=LD_RUN_PATH
5191 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5192 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
5193 1.1 mrg # ancient GNU ld didn't support --whole-archive et. al.
5194 1.1 mrg if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5195 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
5196 1.1 mrg else
5197 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
5198 1.1 mrg fi
5199 1.1 mrg supports_anon_versioning=no
5200 1.1 mrg case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
5201 1.1 mrg *GNU\ gold*) supports_anon_versioning=yes ;;
5202 1.1 mrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5203 1.1 mrg *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5204 1.1 mrg *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5205 1.1 mrg *\ 2.11.*) ;; # other 2.11 versions
5206 1.1 mrg *) supports_anon_versioning=yes ;;
5207 1.1 mrg esac
5208 1.1 mrg
5209 1.1 mrg # See if GNU ld supports shared libraries.
5210 1.1 mrg case $host_os in
5211 1.1 mrg aix[[3-9]]*)
5212 1.1 mrg # On AIX/PPC, the GNU linker is very broken
5213 1.1 mrg if test ia64 != "$host_cpu"; then
5214 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5215 1.1 mrg cat <<_LT_EOF 1>&2
5216 1.1 mrg
5217 1.1 mrg *** Warning: the GNU linker, at least up to release 2.19, is reported
5218 1.1 mrg *** to be unable to reliably create shared libraries on AIX.
5219 1.1 mrg *** Therefore, libtool is disabling shared libraries support. If you
5220 1.1 mrg *** really care for shared libraries, you may want to install binutils
5221 1.1 mrg *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
5222 1.1 mrg *** You will then need to restart the configuration process.
5223 1.1 mrg
5224 1.1 mrg _LT_EOF
5225 1.1 mrg fi
5226 1.1 mrg ;;
5227 1.1 mrg
5228 1.1 mrg amigaos*)
5229 1.1 mrg case $host_cpu in
5230 1.1 mrg powerpc)
5231 1.1 mrg # see comment about AmigaOS4 .so support
5232 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5233 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=''
5234 1.1 mrg ;;
5235 1.1 mrg m68k)
5236 1.1 mrg _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)'
5237 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5238 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5239 1.1 mrg ;;
5240 1.1 mrg esac
5241 1.1 mrg ;;
5242 1.1 mrg
5243 1.1 mrg beos*)
5244 1.1 mrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5245 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5246 1.1 mrg # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
5247 1.1 mrg # support --undefined. This deserves some investigation. FIXME
5248 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5249 1.1 mrg else
5250 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5251 1.1 mrg fi
5252 1.1 mrg ;;
5253 1.1 mrg
5254 1.1 mrg cygwin* | mingw* | windows* | pw32* | cegcc*)
5255 1.1 mrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5256 1.1 mrg # as there is no search path for DLLs.
5257 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5258 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
5259 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5260 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
5261 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5262 1.1 mrg _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'
5263 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
5264 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
5265 1.1 mrg
5266 1.1 mrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5267 1.1 mrg _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'
5268 1.1 mrg # If the export-symbols file already is a .def file, use it as
5269 1.1 mrg # is; otherwise, prepend EXPORTS...
5270 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5271 1.1 mrg cp $export_symbols $output_objdir/$soname.def;
5272 1.1 mrg else
5273 1.1 mrg echo EXPORTS > $output_objdir/$soname.def;
5274 1.1 mrg cat $export_symbols >> $output_objdir/$soname.def;
5275 1.1 mrg fi~
5276 1.1 mrg $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5277 1.1 mrg else
5278 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5279 1.1 mrg fi
5280 1.1 mrg ;;
5281 1.1 mrg
5282 1.1 mrg haiku*)
5283 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5284 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=no
5285 1.1 mrg ;;
5286 1.1 mrg
5287 1.1 mrg os2*)
5288 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5289 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5290 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5291 1.1 mrg shrext_cmds=.dll
5292 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5293 1.1 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5294 1.1 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5295 1.1 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
5296 1.1 mrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5297 1.1 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5298 1.1 mrg emximp -o $lib $output_objdir/$libname.def'
5299 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5300 1.1 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5301 1.1 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5302 1.1 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
5303 1.1 mrg prefix_cmds="$SED"~
5304 1.1 mrg if test EXPORTS = "`$SED 1q $export_symbols`"; then
5305 1.1 mrg prefix_cmds="$prefix_cmds -e 1d";
5306 1.1 mrg fi~
5307 1.1 mrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5308 1.1 mrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5309 1.1 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5310 1.1 mrg emximp -o $lib $output_objdir/$libname.def'
5311 1.1 mrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5312 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5313 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
5314 1.1 mrg ;;
5315 1.1 mrg
5316 1.1 mrg interix[[3-9]]*)
5317 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
5318 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5319 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5320 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5321 1.1 mrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5322 1.1 mrg # Instead, shared libraries are loaded at an image base (0x10000000 by
5323 1.1 mrg # default) and relocated if they conflict, which is a slow very memory
5324 1.1 mrg # consuming and fragmenting process. To avoid this, we pick a random,
5325 1.1 mrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5326 1.1 mrg # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5327 1.1 mrg _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'
5328 1.1 mrg _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'
5329 1.1 mrg ;;
5330 1.1 mrg
5331 1.1 mrg gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5332 1.1 mrg tmp_diet=no
5333 1.1 mrg if test linux-dietlibc = "$host_os"; then
5334 1.1 mrg case $cc_basename in
5335 1.1 mrg diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5336 1.1 mrg esac
5337 1.1 mrg fi
5338 1.1 mrg if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5339 1.1 mrg && test no = "$tmp_diet"
5340 1.1 mrg then
5341 1.1 mrg tmp_addflag=' $pic_flag'
5342 1.1 mrg tmp_sharedflag='-shared'
5343 1.1 mrg case $cc_basename,$host_cpu in
5344 1.1 mrg pgcc*) # Portland Group C compiler
5345 1.1 mrg _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'
5346 1.1 mrg tmp_addflag=' $pic_flag'
5347 1.1 mrg ;;
5348 1.1 mrg pgf77* | pgf90* | pgf95* | pgfortran*)
5349 1.1 mrg # Portland Group f77 and f90 compilers
5350 1.1 mrg _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'
5351 1.1 mrg tmp_addflag=' $pic_flag -Mnomain' ;;
5352 1.1 mrg ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5353 1.1 mrg tmp_addflag=' -i_dynamic' ;;
5354 1.1 mrg efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5355 1.1 mrg tmp_addflag=' -i_dynamic -nofor_main' ;;
5356 1.1 mrg ifc* | ifort*) # Intel Fortran compiler
5357 1.1 mrg tmp_addflag=' -nofor_main' ;;
5358 1.1 mrg lf95*) # Lahey Fortran 8.1
5359 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
5360 1.1 mrg tmp_sharedflag='--shared' ;;
5361 1.1 mrg nagfor*) # NAGFOR 5.3
5362 1.1 mrg tmp_sharedflag='-Wl,-shared' ;;
5363 1.1 mrg xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5364 1.1 mrg tmp_sharedflag='-qmkshrobj'
5365 1.1 mrg tmp_addflag= ;;
5366 1.1 mrg nvcc*) # Cuda Compiler Driver 2.2
5367 1.1 mrg _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'
5368 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=yes
5369 1.1 mrg ;;
5370 1.1 mrg esac
5371 1.1 mrg case `$CC -V 2>&1 | $SED 5q` in
5372 1.1 mrg *Sun\ C*) # Sun C 5.9
5373 1.1 mrg _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'
5374 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=yes
5375 1.1 mrg tmp_sharedflag='-G' ;;
5376 1.1 mrg *Sun\ F*) # Sun Fortran 8.3
5377 1.1 mrg tmp_sharedflag='-G' ;;
5378 1.1 mrg esac
5379 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5380 1.1 mrg
5381 1.1 mrg if test yes = "$supports_anon_versioning"; then
5382 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5383 1.1 mrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5384 1.1 mrg echo "local: *; };" >> $output_objdir/$libname.ver~
5385 1.1 mrg $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
5386 1.1 mrg fi
5387 1.1 mrg
5388 1.1 mrg case $cc_basename in
5389 1.1 mrg tcc*)
5390 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5391 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5392 1.1 mrg ;;
5393 1.1 mrg xlf* | bgf* | bgxlf* | mpixlf*)
5394 1.1 mrg # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5395 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5396 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5397 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5398 1.1 mrg if test yes = "$supports_anon_versioning"; then
5399 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5400 1.1 mrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5401 1.1 mrg echo "local: *; };" >> $output_objdir/$libname.ver~
5402 1.1 mrg $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5403 1.1 mrg fi
5404 1.1 mrg ;;
5405 1.1 mrg esac
5406 1.1 mrg else
5407 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5408 1.1 mrg fi
5409 1.1 mrg ;;
5410 1.1 mrg
5411 1.1 mrg *-mlibc)
5412 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5413 1.1 mrg _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'
5414 1.1 mrg ;;
5415 1.1 mrg
5416 1.1 mrg netbsd* | netbsdelf*-gnu)
5417 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5418 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5419 1.1 mrg wlarc=
5420 1.1 mrg else
5421 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5422 1.1 mrg _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'
5423 1.1 mrg fi
5424 1.1 mrg ;;
5425 1.1 mrg
5426 1.1 mrg solaris*)
5427 1.1 mrg if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5428 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5429 1.1 mrg cat <<_LT_EOF 1>&2
5430 1.1 mrg
5431 1.1 mrg *** Warning: The releases 2.8.* of the GNU linker cannot reliably
5432 1.1 mrg *** create shared libraries on Solaris systems. Therefore, libtool
5433 1.1 mrg *** is disabling shared libraries support. We urge you to upgrade GNU
5434 1.1 mrg *** binutils to release 2.9.1 or newer. Another option is to modify
5435 1.1 mrg *** your PATH or compiler configuration so that the native linker is
5436 1.1 mrg *** used, and then restart.
5437 1.1 mrg
5438 1.1 mrg _LT_EOF
5439 1.1 mrg elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5440 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5441 1.1 mrg _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'
5442 1.1 mrg else
5443 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5444 1.1 mrg fi
5445 1.1 mrg ;;
5446 1.1 mrg
5447 1.1 mrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5448 1.1 mrg case `$LD -v 2>&1` in
5449 1.1 mrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5450 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5451 1.1 mrg cat <<_LT_EOF 1>&2
5452 1.1 mrg
5453 1.1 mrg *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
5454 1.1 mrg *** reliably create shared libraries on SCO systems. Therefore, libtool
5455 1.1 mrg *** is disabling shared libraries support. We urge you to upgrade GNU
5456 1.1 mrg *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5457 1.1 mrg *** your PATH or compiler configuration so that the native linker is
5458 1.1 mrg *** used, and then restart.
5459 1.1 mrg
5460 1.1 mrg _LT_EOF
5461 1.1 mrg ;;
5462 1.1 mrg *)
5463 1.1 mrg # For security reasons, it is highly recommended that you always
5464 1.1 mrg # use absolute paths for naming shared libraries, and exclude the
5465 1.1 mrg # DT_RUNPATH tag from executables and libraries. But doing so
5466 1.1 mrg # requires that you compile everything twice, which is a pain.
5467 1.1 mrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5468 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5469 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5470 1.1 mrg _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'
5471 1.1 mrg else
5472 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5473 1.1 mrg fi
5474 1.1 mrg ;;
5475 1.1 mrg esac
5476 1.1 mrg ;;
5477 1.1 mrg
5478 1.1 mrg sunos4*)
5479 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5480 1.1 mrg wlarc=
5481 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5482 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5483 1.1 mrg ;;
5484 1.1 mrg
5485 1.1 mrg *)
5486 1.1 mrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5487 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5488 1.1 mrg _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'
5489 1.1 mrg else
5490 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5491 1.1 mrg fi
5492 1.1 mrg ;;
5493 1.1 mrg esac
5494 1.1 mrg
5495 1.1 mrg if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
5496 1.1 mrg runpath_var=
5497 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5498 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5499 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
5500 1.1 mrg fi
5501 1.1 mrg else
5502 1.1 mrg # PORTME fill in a description of your system's linker (not GNU ld)
5503 1.1 mrg case $host_os in
5504 1.1 mrg aix3*)
5505 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5506 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
5507 1.1 mrg _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'
5508 1.1 mrg # Note: this linker hardcodes the directories in LIBPATH if there
5509 1.1 mrg # are no directories specified by -L.
5510 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5511 1.1 mrg if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
5512 1.1 mrg # Neither direct hardcoding nor static linking is supported with a
5513 1.1 mrg # broken collect2.
5514 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=unsupported
5515 1.1 mrg fi
5516 1.1 mrg ;;
5517 1.1 mrg
5518 1.1 mrg aix[[4-9]]*)
5519 1.1 mrg if test ia64 = "$host_cpu"; then
5520 1.1 mrg # On IA64, the linker does run time linking by default, so we don't
5521 1.1 mrg # have to do anything special.
5522 1.1 mrg aix_use_runtimelinking=no
5523 1.1 mrg exp_sym_flag='-Bexport'
5524 1.1 mrg no_entry_flag=
5525 1.1 mrg else
5526 1.1 mrg # If we're using GNU nm, then we don't want the "-C" option.
5527 1.1 mrg # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5528 1.1 mrg # Without the "-l" option, or with the "-B" option, AIX nm treats
5529 1.1 mrg # weak defined symbols like other global defined symbols, whereas
5530 1.1 mrg # GNU nm marks them as "W".
5531 1.1 mrg # While the 'weak' keyword is ignored in the Export File, we need
5532 1.1 mrg # it in the Import File for the 'aix-soname' feature, so we have
5533 1.1 mrg # to replace the "-B" option with "-P" for AIX nm.
5534 1.1 mrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5535 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
5536 1.1 mrg else
5537 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
5538 1.1 mrg fi
5539 1.1 mrg aix_use_runtimelinking=no
5540 1.1 mrg
5541 1.1 mrg # Test if we are trying to use run time linking or normal
5542 1.1 mrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5543 1.1 mrg # have runtime linking enabled, and use it for executables.
5544 1.1 mrg # For shared libraries, we enable/disable runtime linking
5545 1.1 mrg # depending on the kind of the shared library created -
5546 1.1 mrg # when "with_aix_soname,aix_use_runtimelinking" is:
5547 1.1 mrg # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
5548 1.1 mrg # "aix,yes" lib.so shared, rtl:yes, for executables
5549 1.1 mrg # lib.a static archive
5550 1.1 mrg # "both,no" lib.so.V(shr.o) shared, rtl:yes
5551 1.1 mrg # lib.a(lib.so.V) shared, rtl:no, for executables
5552 1.1 mrg # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5553 1.1 mrg # lib.a(lib.so.V) shared, rtl:no
5554 1.1 mrg # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
5555 1.1 mrg # lib.a static archive
5556 1.1 mrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5557 1.1 mrg for ld_flag in $LDFLAGS; do
5558 1.1 mrg if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
5559 1.1 mrg aix_use_runtimelinking=yes
5560 1.1 mrg break
5561 1.1 mrg fi
5562 1.1 mrg done
5563 1.1 mrg if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5564 1.1 mrg # With aix-soname=svr4, we create the lib.so.V shared archives only,
5565 1.1 mrg # so we don't have lib.a shared libs to link our executables.
5566 1.1 mrg # We have to force runtime linking in this case.
5567 1.1 mrg aix_use_runtimelinking=yes
5568 1.1 mrg LDFLAGS="$LDFLAGS -Wl,-brtl"
5569 1.1 mrg fi
5570 1.1 mrg ;;
5571 1.1 mrg esac
5572 1.1 mrg
5573 1.1 mrg exp_sym_flag='-bexport'
5574 1.1 mrg no_entry_flag='-bnoentry'
5575 1.1 mrg fi
5576 1.1 mrg
5577 1.1 mrg # When large executables or shared objects are built, AIX ld can
5578 1.1 mrg # have problems creating the table of contents. If linking a library
5579 1.1 mrg # or program results in "error TOC overflow" add -mminimal-toc to
5580 1.1 mrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5581 1.1 mrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5582 1.1 mrg
5583 1.1 mrg _LT_TAGVAR(archive_cmds, $1)=''
5584 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5585 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5586 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5587 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
5588 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5589 1.1 mrg case $with_aix_soname,$aix_use_runtimelinking in
5590 1.1 mrg aix,*) ;; # traditional, no import file
5591 1.1 mrg svr4,* | *,yes) # use import file
5592 1.1 mrg # The Import File defines what to hardcode.
5593 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
5594 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5595 1.1 mrg ;;
5596 1.1 mrg esac
5597 1.1 mrg
5598 1.1 mrg if test yes = "$GCC"; then
5599 1.1 mrg case $host_os in aix4.[[012]]|aix4.[[012]].*)
5600 1.1 mrg # We only want to do this on AIX 4.2 and lower, the check
5601 1.1 mrg # below for broken collect2 doesn't work under 4.3+
5602 1.1 mrg collect2name=`$CC -print-prog-name=collect2`
5603 1.1 mrg if test -f "$collect2name" &&
5604 1.1 mrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5605 1.1 mrg then
5606 1.1 mrg # We have reworked collect2
5607 1.1 mrg :
5608 1.1 mrg else
5609 1.1 mrg # We have old collect2
5610 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=unsupported
5611 1.1 mrg # It fails to find uninstalled libraries when the uninstalled
5612 1.1 mrg # path is not listed in the libpath. Setting hardcode_minus_L
5613 1.1 mrg # to unsupported forces relinking
5614 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5615 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5616 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
5617 1.1 mrg fi
5618 1.1 mrg ;;
5619 1.1 mrg esac
5620 1.1 mrg shared_flag='-shared'
5621 1.1 mrg if test yes = "$aix_use_runtimelinking"; then
5622 1.1 mrg shared_flag="$shared_flag "'$wl-G'
5623 1.1 mrg fi
5624 1.1 mrg # Need to ensure runtime linking is disabled for the traditional
5625 1.1 mrg # shared library, or the linker may eventually find shared libraries
5626 1.1 mrg # /with/ Import File - we do not want to mix them.
5627 1.1 mrg shared_flag_aix='-shared'
5628 1.1 mrg shared_flag_svr4='-shared $wl-G'
5629 1.1 mrg else
5630 1.1 mrg # not using gcc
5631 1.1 mrg if test ia64 = "$host_cpu"; then
5632 1.1 mrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5633 1.1 mrg # chokes on -Wl,-G. The following line is correct:
5634 1.1 mrg shared_flag='-G'
5635 1.1 mrg else
5636 1.1 mrg if test yes = "$aix_use_runtimelinking"; then
5637 1.1 mrg shared_flag='$wl-G'
5638 1.1 mrg else
5639 1.1 mrg shared_flag='$wl-bM:SRE'
5640 1.1 mrg fi
5641 1.1 mrg shared_flag_aix='$wl-bM:SRE'
5642 1.1 mrg shared_flag_svr4='$wl-G'
5643 1.1 mrg fi
5644 1.1 mrg fi
5645 1.1 mrg
5646 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
5647 1.1 mrg # It seems that -bexpall does not export symbols beginning with
5648 1.1 mrg # underscore (_), so it is better to generate a list of symbols to export.
5649 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
5650 1.1 mrg if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
5651 1.1 mrg # Warning - without using the other runtime loading flags (-brtl),
5652 1.1 mrg # -berok will link without error, but may produce a broken library.
5653 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5654 1.1 mrg # Determine the default libpath from the value encoded in an
5655 1.1 mrg # empty executable.
5656 1.1 mrg _LT_SYS_MODULE_PATH_AIX([$1])
5657 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5658 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
5659 1.1 mrg else
5660 1.1 mrg if test ia64 = "$host_cpu"; then
5661 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
5662 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5663 1.1 mrg _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"
5664 1.1 mrg else
5665 1.1 mrg # Determine the default libpath from the value encoded in an
5666 1.1 mrg # empty executable.
5667 1.1 mrg _LT_SYS_MODULE_PATH_AIX([$1])
5668 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5669 1.1 mrg # Warning - without using the other run time loading flags,
5670 1.1 mrg # -berok will link without error, but may produce a broken library.
5671 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5672 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5673 1.1 mrg if test yes = "$with_gnu_ld"; then
5674 1.1 mrg # We only use this code for GNU lds that support --whole-archive.
5675 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
5676 1.1 mrg else
5677 1.1 mrg # Exported symbols can be pulled into shared objects from archives
5678 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5679 1.1 mrg fi
5680 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5681 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5682 1.1 mrg # -brtl affects multiple linker settings, -berok does not and is overridden later
5683 1.1 mrg compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5684 1.1 mrg if test svr4 != "$with_aix_soname"; then
5685 1.1 mrg # This is similar to how AIX traditionally builds its shared libraries.
5686 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
5687 1.1 mrg fi
5688 1.1 mrg if test aix != "$with_aix_soname"; then
5689 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
5690 1.1 mrg else
5691 1.1 mrg # used by -dlpreopen to get the symbols
5692 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
5693 1.1 mrg fi
5694 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
5695 1.1 mrg fi
5696 1.1 mrg fi
5697 1.1 mrg ;;
5698 1.1 mrg
5699 1.1 mrg amigaos*)
5700 1.1 mrg case $host_cpu in
5701 1.1 mrg powerpc)
5702 1.1 mrg # see comment about AmigaOS4 .so support
5703 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5704 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=''
5705 1.1 mrg ;;
5706 1.1 mrg m68k)
5707 1.1 mrg _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)'
5708 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5709 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5710 1.1 mrg ;;
5711 1.1 mrg esac
5712 1.1 mrg ;;
5713 1.1 mrg
5714 1.1 mrg bsdi[[45]]*)
5715 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5716 1.1 mrg ;;
5717 1.1 mrg
5718 1.1 mrg cygwin* | mingw* | windows* | pw32* | cegcc*)
5719 1.1 mrg # When not using gcc, we currently assume that we are using
5720 1.1 mrg # Microsoft Visual C++ or Intel C++ Compiler.
5721 1.1 mrg # hardcode_libdir_flag_spec is actually meaningless, as there is
5722 1.1 mrg # no search path for DLLs.
5723 1.1 mrg case $cc_basename in
5724 1.1 mrg cl* | icl*)
5725 1.1 mrg # Native MSVC or ICC
5726 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5727 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5728 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
5729 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
5730 1.1 mrg # Tell ltmain to make .lib files, not .a files.
5731 1.1 mrg libext=lib
5732 1.1 mrg # Tell ltmain to make .dll files, not .so files.
5733 1.1 mrg shrext_cmds=.dll
5734 1.1 mrg # FIXME: Setting linknames here is a bad hack.
5735 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -Fe$output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
5736 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5737 1.1 mrg cp "$export_symbols" "$output_objdir/$soname.def";
5738 1.1 mrg echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
5739 1.1 mrg else
5740 1.1 mrg $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
5741 1.1 mrg fi~
5742 1.1 mrg $CC -Fe$tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5743 1.1 mrg linknames='
5744 1.1 mrg # The linker will not automatically build a static lib if we build a DLL.
5745 1.1 mrg # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5746 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5747 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5748 1.1 mrg _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'
5749 1.1 mrg # Don't use ranlib
5750 1.1 mrg _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5751 1.1 mrg _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5752 1.1 mrg lt_tool_outputfile="@TOOL_OUTPUT@"~
5753 1.1 mrg case $lt_outputfile in
5754 1.1 mrg *.exe|*.EXE) ;;
5755 1.1 mrg *)
5756 1.1 mrg lt_outputfile=$lt_outputfile.exe
5757 1.1 mrg lt_tool_outputfile=$lt_tool_outputfile.exe
5758 1.1 mrg ;;
5759 1.1 mrg esac~
5760 1.1 mrg if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
5761 1.1 mrg $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5762 1.1 mrg $RM "$lt_outputfile.manifest";
5763 1.1 mrg fi'
5764 1.1 mrg ;;
5765 1.1 mrg *)
5766 1.1 mrg # Assume MSVC and ICC wrapper
5767 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5768 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5769 1.1 mrg # Tell ltmain to make .lib files, not .a files.
5770 1.1 mrg libext=lib
5771 1.1 mrg # Tell ltmain to make .dll files, not .so files.
5772 1.1 mrg shrext_cmds=.dll
5773 1.1 mrg # FIXME: Setting linknames here is a bad hack.
5774 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5775 1.1 mrg # The linker will automatically build a .lib file if we build a DLL.
5776 1.1 mrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5777 1.1 mrg # FIXME: Should let the user specify the lib program.
5778 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5779 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5780 1.1 mrg ;;
5781 1.1 mrg esac
5782 1.1 mrg ;;
5783 1.1 mrg
5784 1.1 mrg darwin* | rhapsody*)
5785 1.1 mrg _LT_DARWIN_LINKER_FEATURES($1)
5786 1.1 mrg ;;
5787 1.1 mrg
5788 1.1 mrg dgux*)
5789 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5790 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5791 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5792 1.1 mrg ;;
5793 1.1 mrg
5794 1.1 mrg # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5795 1.1 mrg # support. Future versions do this automatically, but an explicit c++rt0.o
5796 1.1 mrg # does not break anything, and helps significantly (at the cost of a little
5797 1.1 mrg # extra space).
5798 1.1 mrg freebsd2.2*)
5799 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5800 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5801 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5802 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5803 1.1 mrg ;;
5804 1.1 mrg
5805 1.1 mrg # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5806 1.1 mrg freebsd2.*)
5807 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5808 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5809 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5810 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5811 1.1 mrg ;;
5812 1.1 mrg
5813 1.1 mrg # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5814 1.1 mrg freebsd* | dragonfly* | midnightbsd*)
5815 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5816 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5817 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5818 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5819 1.1 mrg ;;
5820 1.1 mrg
5821 1.1 mrg hpux9*)
5822 1.1 mrg if test yes = "$GCC"; then
5823 1.1 mrg _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 "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5824 1.1 mrg else
5825 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5826 1.1 mrg fi
5827 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5828 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5829 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5830 1.1 mrg
5831 1.1 mrg # hardcode_minus_L: Not really in the search PATH,
5832 1.1 mrg # but as the default location of the library.
5833 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5834 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5835 1.1 mrg ;;
5836 1.1 mrg
5837 1.1 mrg hpux10*)
5838 1.1 mrg if test yes,no = "$GCC,$with_gnu_ld"; then
5839 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5840 1.1 mrg else
5841 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5842 1.1 mrg fi
5843 1.1 mrg if test no = "$with_gnu_ld"; then
5844 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5845 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5846 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5847 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5848 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5849 1.1 mrg # hardcode_minus_L: Not really in the search PATH,
5850 1.1 mrg # but as the default location of the library.
5851 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5852 1.1 mrg fi
5853 1.1 mrg ;;
5854 1.1 mrg
5855 1.1 mrg hpux11*)
5856 1.1 mrg if test yes,no = "$GCC,$with_gnu_ld"; then
5857 1.1 mrg case $host_cpu in
5858 1.1 mrg hppa*64*)
5859 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5860 1.1 mrg ;;
5861 1.1 mrg ia64*)
5862 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5863 1.1 mrg ;;
5864 1.1 mrg *)
5865 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5866 1.1 mrg ;;
5867 1.1 mrg esac
5868 1.1 mrg else
5869 1.1 mrg case $host_cpu in
5870 1.1 mrg hppa*64*)
5871 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5872 1.1 mrg ;;
5873 1.1 mrg ia64*)
5874 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5875 1.1 mrg ;;
5876 1.1 mrg *)
5877 1.1 mrg m4_if($1, [], [
5878 1.1 mrg # Older versions of the 11.00 compiler do not understand -b yet
5879 1.1 mrg # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5880 1.1 mrg _LT_LINKER_OPTION([if $CC understands -b],
5881 1.1 mrg _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5882 1.1 mrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5883 1.1 mrg [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5884 1.1 mrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5885 1.1 mrg ;;
5886 1.1 mrg esac
5887 1.1 mrg fi
5888 1.1 mrg if test no = "$with_gnu_ld"; then
5889 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5890 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5891 1.1 mrg
5892 1.1 mrg case $host_cpu in
5893 1.1 mrg hppa*64*|ia64*)
5894 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
5895 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5896 1.1 mrg ;;
5897 1.1 mrg *)
5898 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5899 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5900 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5901 1.1 mrg
5902 1.1 mrg # hardcode_minus_L: Not really in the search PATH,
5903 1.1 mrg # but as the default location of the library.
5904 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5905 1.1 mrg ;;
5906 1.1 mrg esac
5907 1.1 mrg fi
5908 1.1 mrg ;;
5909 1.1 mrg
5910 1.1 mrg irix5* | irix6* | nonstopux*)
5911 1.1 mrg if test yes = "$GCC"; then
5912 1.1 mrg _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'
5913 1.1 mrg # Try to use the -exported_symbol ld option, if it does not
5914 1.1 mrg # work, assume that -exports_file does not work either and
5915 1.1 mrg # implicitly export all symbols.
5916 1.1 mrg # This should be the same for all languages, so no per-tag cache variable.
5917 1.1 mrg AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5918 1.1 mrg [lt_cv_irix_exported_symbol],
5919 1.1 mrg [save_LDFLAGS=$LDFLAGS
5920 1.1 mrg LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
5921 1.1 mrg AC_LINK_IFELSE(
5922 1.1 mrg [AC_LANG_SOURCE(
5923 1.1 mrg [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5924 1.1 mrg [C++], [[int foo (void) { return 0; }]],
5925 1.1 mrg [Fortran 77], [[
5926 1.1 mrg subroutine foo
5927 1.1 mrg end]],
5928 1.1 mrg [Fortran], [[
5929 1.1 mrg subroutine foo
5930 1.1 mrg end]])])],
5931 1.1 mrg [lt_cv_irix_exported_symbol=yes],
5932 1.1 mrg [lt_cv_irix_exported_symbol=no])
5933 1.1 mrg LDFLAGS=$save_LDFLAGS])
5934 1.1 mrg if test yes = "$lt_cv_irix_exported_symbol"; then
5935 1.1 mrg _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'
5936 1.1 mrg fi
5937 1.1 mrg else
5938 1.1 mrg _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'
5939 1.1 mrg _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'
5940 1.1 mrg fi
5941 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5942 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5943 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5944 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=yes
5945 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
5946 1.1 mrg ;;
5947 1.1 mrg
5948 1.1 mrg linux*)
5949 1.1 mrg case $cc_basename in
5950 1.1 mrg tcc*)
5951 1.1 mrg # Fabrice Bellard et al's Tiny C Compiler
5952 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
5953 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5954 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5955 1.1 mrg ;;
5956 1.1 mrg esac
5957 1.1 mrg ;;
5958 1.1 mrg
5959 1.1 mrg *-mlibc)
5960 1.1 mrg ;;
5961 1.1 mrg
5962 1.1 mrg netbsd* | netbsdelf*-gnu)
5963 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5964 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5965 1.1 mrg else
5966 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5967 1.1 mrg fi
5968 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5969 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5970 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5971 1.1 mrg ;;
5972 1.1 mrg
5973 1.1 mrg newsos6)
5974 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5975 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5976 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5977 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5978 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5979 1.1 mrg ;;
5980 1.1 mrg
5981 1.1 mrg *nto* | *qnx*)
5982 1.1 mrg ;;
5983 1.1 mrg
5984 1.1 mrg openbsd*)
5985 1.1 mrg if test -f /usr/libexec/ld.so; then
5986 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5987 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5988 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5989 1.1 mrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
5990 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5991 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
5992 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5993 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5994 1.1 mrg else
5995 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5996 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5997 1.1 mrg fi
5998 1.1 mrg else
5999 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6000 1.1 mrg fi
6001 1.1 mrg ;;
6002 1.1 mrg
6003 1.1 mrg os2*)
6004 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6005 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
6006 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6007 1.1 mrg shrext_cmds=.dll
6008 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6009 1.1 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6010 1.1 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6011 1.1 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
6012 1.1 mrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6013 1.1 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6014 1.1 mrg emximp -o $lib $output_objdir/$libname.def'
6015 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6016 1.1 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6017 1.1 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6018 1.1 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
6019 1.1 mrg prefix_cmds="$SED"~
6020 1.1 mrg if test EXPORTS = "`$SED 1q $export_symbols`"; then
6021 1.1 mrg prefix_cmds="$prefix_cmds -e 1d";
6022 1.1 mrg fi~
6023 1.1 mrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6024 1.1 mrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6025 1.1 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6026 1.1 mrg emximp -o $lib $output_objdir/$libname.def'
6027 1.1 mrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6028 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6029 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
6030 1.1 mrg ;;
6031 1.1 mrg
6032 1.1 mrg osf3*)
6033 1.1 mrg if test yes = "$GCC"; then
6034 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
6035 1.1 mrg _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'
6036 1.1 mrg else
6037 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6038 1.1 mrg _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'
6039 1.1 mrg fi
6040 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
6041 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6042 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6043 1.1 mrg ;;
6044 1.1 mrg
6045 1.1 mrg osf4* | osf5*) # as osf3* with the addition of -msym flag
6046 1.1 mrg if test yes = "$GCC"; then
6047 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
6048 1.1 mrg _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'
6049 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6050 1.1 mrg else
6051 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6052 1.1 mrg _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'
6053 1.1 mrg _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~
6054 1.1 mrg $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'
6055 1.1 mrg
6056 1.1 mrg # Both c and cxx compiler support -rpath directly
6057 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6058 1.1 mrg fi
6059 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
6060 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6061 1.1 mrg ;;
6062 1.1 mrg
6063 1.1 mrg serenity*)
6064 1.1 mrg ;;
6065 1.1 mrg
6066 1.1 mrg solaris*)
6067 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
6068 1.1 mrg if test yes = "$GCC"; then
6069 1.1 mrg wlarc='$wl'
6070 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
6071 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6072 1.1 mrg $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'
6073 1.1 mrg else
6074 1.1 mrg case `$CC -V 2>&1` in
6075 1.1 mrg *"Compilers 5.0"*)
6076 1.1 mrg wlarc=''
6077 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
6078 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6079 1.1 mrg $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
6080 1.1 mrg ;;
6081 1.1 mrg *)
6082 1.1 mrg wlarc='$wl'
6083 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
6084 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6085 1.1 mrg $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
6086 1.1 mrg ;;
6087 1.1 mrg esac
6088 1.1 mrg fi
6089 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6090 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6091 1.1 mrg case $host_os in
6092 1.1 mrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6093 1.1 mrg *)
6094 1.1 mrg # The compiler driver will combine and reorder linker options,
6095 1.1 mrg # but understands '-z linker_flag'. GCC discards it without '$wl',
6096 1.1 mrg # but is careful enough not to reorder.
6097 1.1 mrg # Supported since Solaris 2.6 (maybe 2.5.1?)
6098 1.1 mrg if test yes = "$GCC"; then
6099 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
6100 1.1 mrg else
6101 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6102 1.1 mrg fi
6103 1.1 mrg ;;
6104 1.1 mrg esac
6105 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
6106 1.1 mrg ;;
6107 1.1 mrg
6108 1.1 mrg sunos4*)
6109 1.1 mrg if test sequent = "$host_vendor"; then
6110 1.1 mrg # Use $CC to link under sequent, because it throws in some extra .o
6111 1.1 mrg # files that make .init and .fini sections work.
6112 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
6113 1.1 mrg else
6114 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
6115 1.1 mrg fi
6116 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6117 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
6118 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
6119 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6120 1.1 mrg ;;
6121 1.1 mrg
6122 1.1 mrg sysv4)
6123 1.1 mrg case $host_vendor in
6124 1.1 mrg sni)
6125 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6126 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
6127 1.1 mrg ;;
6128 1.1 mrg siemens)
6129 1.1 mrg ## LD is ld it makes a PLAMLIB
6130 1.1 mrg ## CC just makes a GrossModule.
6131 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
6132 1.1 mrg _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
6133 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
6134 1.1 mrg ;;
6135 1.1 mrg motorola)
6136 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6137 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
6138 1.1 mrg ;;
6139 1.1 mrg esac
6140 1.1 mrg runpath_var='LD_RUN_PATH'
6141 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6142 1.1 mrg ;;
6143 1.1 mrg
6144 1.1 mrg sysv4.3*)
6145 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6146 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6147 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
6148 1.1 mrg ;;
6149 1.1 mrg
6150 1.1 mrg sysv4*MP*)
6151 1.1 mrg if test -d /usr/nec; then
6152 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6153 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6154 1.1 mrg runpath_var=LD_RUN_PATH
6155 1.1 mrg hardcode_runpath_var=yes
6156 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
6157 1.1 mrg fi
6158 1.1 mrg ;;
6159 1.1 mrg
6160 1.1 mrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6161 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6162 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6163 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6164 1.1 mrg runpath_var='LD_RUN_PATH'
6165 1.1 mrg
6166 1.1 mrg if test yes = "$GCC"; then
6167 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6168 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6169 1.1 mrg else
6170 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6171 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6172 1.1 mrg fi
6173 1.1 mrg ;;
6174 1.1 mrg
6175 1.1 mrg sysv5* | sco3.2v5* | sco5v6*)
6176 1.1 mrg # Note: We CANNOT use -z defs as we might desire, because we do not
6177 1.1 mrg # link with -lc, and that would cause any symbols used from libc to
6178 1.1 mrg # always be unresolved, which means just about no library would
6179 1.1 mrg # ever link correctly. If we're not using GNU ld we use -z text
6180 1.1 mrg # though, which does catch some bad symbols but isn't as heavy-handed
6181 1.1 mrg # as -z defs.
6182 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6183 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
6184 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6185 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6186 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
6187 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6188 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
6189 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
6190 1.1 mrg runpath_var='LD_RUN_PATH'
6191 1.1 mrg
6192 1.1 mrg if test yes = "$GCC"; then
6193 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6194 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6195 1.1 mrg else
6196 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6197 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6198 1.1 mrg fi
6199 1.1 mrg ;;
6200 1.1 mrg
6201 1.1 mrg uts4*)
6202 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6203 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6204 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6205 1.1 mrg ;;
6206 1.1 mrg
6207 1.1 mrg *)
6208 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6209 1.1 mrg ;;
6210 1.1 mrg esac
6211 1.1 mrg
6212 1.1 mrg if test sni = "$host_vendor"; then
6213 1.1 mrg case $host in
6214 1.1 mrg sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6215 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
6216 1.1 mrg ;;
6217 1.1 mrg esac
6218 1.1 mrg fi
6219 1.1 mrg fi
6220 1.1 mrg ])
6221 1.1 mrg AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6222 1.1 mrg test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
6223 1.1 mrg
6224 1.1 mrg _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
6225 1.1 mrg
6226 1.1 mrg _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
6227 1.1 mrg _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
6228 1.1 mrg _LT_DECL([], [extract_expsyms_cmds], [2],
6229 1.1 mrg [The commands to extract the exported symbol list from a shared archive])
6230 1.1 mrg
6231 1.1 mrg #
6232 1.1 mrg # Do we need to explicitly link libc?
6233 1.1 mrg #
6234 1.1 mrg case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
6235 1.1 mrg x|xyes)
6236 1.1 mrg # Assume -lc should be added
6237 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6238 1.1 mrg
6239 1.1 mrg if test yes,yes = "$GCC,$enable_shared"; then
6240 1.1 mrg case $_LT_TAGVAR(archive_cmds, $1) in
6241 1.1 mrg *'~'*)
6242 1.1 mrg # FIXME: we may have to deal with multi-command sequences.
6243 1.1 mrg ;;
6244 1.1 mrg '$CC '*)
6245 1.1 mrg # Test whether the compiler implicitly links with -lc since on some
6246 1.1 mrg # systems, -lgcc has to come before -lc. If gcc already passes -lc
6247 1.1 mrg # to ld, don't add -lc before -lgcc.
6248 1.1 mrg AC_CACHE_CHECK([whether -lc should be explicitly linked in],
6249 1.1 mrg [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
6250 1.1 mrg [$RM conftest*
6251 1.1 mrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6252 1.1 mrg
6253 1.1 mrg if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6254 1.1 mrg soname=conftest
6255 1.1 mrg lib=conftest
6256 1.1 mrg libobjs=conftest.$ac_objext
6257 1.1 mrg deplibs=
6258 1.1 mrg wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
6259 1.1 mrg pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
6260 1.1 mrg compiler_flags=-v
6261 1.1 mrg linker_flags=-v
6262 1.1 mrg verstring=
6263 1.1 mrg output_objdir=.
6264 1.1 mrg libname=conftest
6265 1.1 mrg lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6266 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
6267 1.1 mrg if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
6268 1.1 mrg then
6269 1.1 mrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6270 1.1 mrg else
6271 1.1 mrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6272 1.1 mrg fi
6273 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6274 1.1 mrg else
6275 1.1 mrg cat conftest.err 1>&5
6276 1.1 mrg fi
6277 1.1 mrg $RM conftest*
6278 1.1 mrg ])
6279 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
6280 1.1 mrg ;;
6281 1.1 mrg esac
6282 1.1 mrg fi
6283 1.1 mrg ;;
6284 1.1 mrg esac
6285 1.1 mrg
6286 1.1 mrg _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6287 1.1 mrg [Whether or not to add -lc for building shared libraries])
6288 1.1 mrg _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6289 1.1 mrg [enable_shared_with_static_runtimes], [0],
6290 1.1 mrg [Whether or not to disallow shared libs when runtime libs are static])
6291 1.1 mrg _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6292 1.1 mrg [Compiler flag to allow reflexive dlopens])
6293 1.1 mrg _LT_TAGDECL([], [whole_archive_flag_spec], [1],
6294 1.1 mrg [Compiler flag to generate shared objects directly from archives])
6295 1.1 mrg _LT_TAGDECL([], [compiler_needs_object], [1],
6296 1.1 mrg [Whether the compiler copes with passing no objects directly])
6297 1.1 mrg _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6298 1.1 mrg [Create an old-style archive from a shared archive])
6299 1.1 mrg _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6300 1.1 mrg [Create a temporary old-style archive to link instead of a shared archive])
6301 1.1 mrg _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6302 1.1 mrg _LT_TAGDECL([], [archive_expsym_cmds], [2])
6303 1.1 mrg _LT_TAGDECL([], [module_cmds], [2],
6304 1.1 mrg [Commands used to build a loadable module if different from building
6305 1.1 mrg a shared archive.])
6306 1.1 mrg _LT_TAGDECL([], [module_expsym_cmds], [2])
6307 1.1 mrg _LT_TAGDECL([], [with_gnu_ld], [1],
6308 1.1 mrg [Whether we are building with GNU ld or not])
6309 1.1 mrg _LT_TAGDECL([], [allow_undefined_flag], [1],
6310 1.1 mrg [Flag that allows shared libraries with undefined symbols to be built])
6311 1.1 mrg _LT_TAGDECL([], [no_undefined_flag], [1],
6312 1.1 mrg [Flag that enforces no undefined symbols])
6313 1.1 mrg _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6314 1.1 mrg [Flag to hardcode $libdir into a binary during linking.
6315 1.1 mrg This must work even if $libdir does not exist])
6316 1.1 mrg _LT_TAGDECL([], [hardcode_libdir_separator], [1],
6317 1.1 mrg [Whether we need a single "-rpath" flag with a separated argument])
6318 1.1 mrg _LT_TAGDECL([], [hardcode_direct], [0],
6319 1.1 mrg [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6320 1.1 mrg DIR into the resulting binary])
6321 1.1 mrg _LT_TAGDECL([], [hardcode_direct_absolute], [0],
6322 1.1 mrg [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6323 1.1 mrg DIR into the resulting binary and the resulting library dependency is
6324 1.1 mrg "absolute", i.e. impossible to change by setting $shlibpath_var if the
6325 1.1 mrg library is relocated])
6326 1.1 mrg _LT_TAGDECL([], [hardcode_minus_L], [0],
6327 1.1 mrg [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6328 1.1 mrg into the resulting binary])
6329 1.1 mrg _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6330 1.1 mrg [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6331 1.1 mrg into the resulting binary])
6332 1.1 mrg _LT_TAGDECL([], [hardcode_automatic], [0],
6333 1.1 mrg [Set to "yes" if building a shared library automatically hardcodes DIR
6334 1.1 mrg into the library and all subsequent libraries and executables linked
6335 1.1 mrg against it])
6336 1.1 mrg _LT_TAGDECL([], [inherit_rpath], [0],
6337 1.1 mrg [Set to yes if linker adds runtime paths of dependent libraries
6338 1.1 mrg to runtime path list])
6339 1.1 mrg _LT_TAGDECL([], [link_all_deplibs], [0],
6340 1.1 mrg [Whether libtool must link a program against all its dependency libraries])
6341 1.1 mrg _LT_TAGDECL([], [always_export_symbols], [0],
6342 1.1 mrg [Set to "yes" if exported symbols are required])
6343 1.1 mrg _LT_TAGDECL([], [export_symbols_cmds], [2],
6344 1.1 mrg [The commands to list exported symbols])
6345 1.1 mrg _LT_TAGDECL([], [exclude_expsyms], [1],
6346 1.1 mrg [Symbols that should not be listed in the preloaded symbols])
6347 1.1 mrg _LT_TAGDECL([], [include_expsyms], [1],
6348 1.1 mrg [Symbols that must always be exported])
6349 1.1 mrg _LT_TAGDECL([], [prelink_cmds], [2],
6350 1.1 mrg [Commands necessary for linking programs (against libraries) with templates])
6351 1.1 mrg _LT_TAGDECL([], [postlink_cmds], [2],
6352 1.1 mrg [Commands necessary for finishing linking programs])
6353 1.1 mrg _LT_TAGDECL([], [file_list_spec], [1],
6354 1.1 mrg [Specify filename containing input files])
6355 1.1 mrg dnl FIXME: Not yet implemented
6356 1.1 mrg dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6357 1.1 mrg dnl [Compiler flag to generate thread safe objects])
6358 1.1 mrg ])# _LT_LINKER_SHLIBS
6359 1.1 mrg
6360 1.1 mrg
6361 1.1 mrg # _LT_LANG_C_CONFIG([TAG])
6362 1.1 mrg # ------------------------
6363 1.1 mrg # Ensure that the configuration variables for a C compiler are suitably
6364 1.1 mrg # defined. These variables are subsequently used by _LT_CONFIG to write
6365 1.1 mrg # the compiler configuration to 'libtool'.
6366 1.1 mrg m4_defun([_LT_LANG_C_CONFIG],
6367 1.1 mrg [m4_require([_LT_DECL_EGREP])dnl
6368 1.1 mrg lt_save_CC=$CC
6369 1.1 mrg AC_LANG_PUSH(C)
6370 1.1 mrg
6371 1.1 mrg # Source file extension for C test sources.
6372 1.1 mrg ac_ext=c
6373 1.1 mrg
6374 1.1 mrg # Object file extension for compiled C test sources.
6375 1.1 mrg objext=o
6376 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
6377 1.1 mrg
6378 1.1 mrg # Code to be used in simple compile tests
6379 1.1 mrg lt_simple_compile_test_code="int some_variable = 0;"
6380 1.1 mrg
6381 1.1 mrg # Code to be used in simple link tests
6382 1.1 mrg lt_simple_link_test_code='int main(void){return(0);}'
6383 1.1 mrg
6384 1.1 mrg _LT_TAG_COMPILER
6385 1.1 mrg # Save the default compiler, since it gets overwritten when the other
6386 1.1 mrg # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6387 1.1 mrg compiler_DEFAULT=$CC
6388 1.1 mrg
6389 1.1 mrg # save warnings/boilerplate of simple test code
6390 1.1 mrg _LT_COMPILER_BOILERPLATE
6391 1.1 mrg _LT_LINKER_BOILERPLATE
6392 1.1 mrg
6393 1.1 mrg ## CAVEAT EMPTOR:
6394 1.1 mrg ## There is no encapsulation within the following macros, do not change
6395 1.1 mrg ## the running order or otherwise move them around unless you know exactly
6396 1.1 mrg ## what you are doing...
6397 1.1 mrg if test -n "$compiler"; then
6398 1.1 mrg _LT_COMPILER_NO_RTTI($1)
6399 1.1 mrg _LT_COMPILER_PIC($1)
6400 1.1 mrg _LT_COMPILER_C_O($1)
6401 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
6402 1.1 mrg _LT_LINKER_SHLIBS($1)
6403 1.1 mrg _LT_SYS_DYNAMIC_LINKER($1)
6404 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
6405 1.1 mrg LT_SYS_DLOPEN_SELF
6406 1.1 mrg _LT_CMD_STRIPLIB
6407 1.1 mrg
6408 1.1 mrg # Report what library types will actually be built
6409 1.1 mrg AC_MSG_CHECKING([if libtool supports shared libraries])
6410 1.1 mrg AC_MSG_RESULT([$can_build_shared])
6411 1.1 mrg
6412 1.1 mrg AC_MSG_CHECKING([whether to build shared libraries])
6413 1.1 mrg test no = "$can_build_shared" && enable_shared=no
6414 1.1 mrg
6415 1.1 mrg # On AIX, shared libraries and static libraries use the same namespace, and
6416 1.1 mrg # are all built from PIC.
6417 1.1 mrg case $host_os in
6418 1.1 mrg aix3*)
6419 1.1 mrg test yes = "$enable_shared" && enable_static=no
6420 1.1 mrg if test -n "$RANLIB"; then
6421 1.1 mrg archive_cmds="$archive_cmds~\$RANLIB \$lib"
6422 1.1 mrg postinstall_cmds='$RANLIB $lib'
6423 1.1 mrg fi
6424 1.1 mrg ;;
6425 1.1 mrg
6426 1.1 mrg aix[[4-9]]*)
6427 1.1 mrg if test ia64 != "$host_cpu"; then
6428 1.1 mrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6429 1.1 mrg yes,aix,yes) ;; # shared object as lib.so file only
6430 1.1 mrg yes,svr4,*) ;; # shared object as lib.so archive member only
6431 1.1 mrg yes,*) enable_static=no ;; # shared object in lib.a archive as well
6432 1.1 mrg esac
6433 1.1 mrg fi
6434 1.1 mrg ;;
6435 1.1 mrg esac
6436 1.1 mrg AC_MSG_RESULT([$enable_shared])
6437 1.1 mrg
6438 1.1 mrg AC_MSG_CHECKING([whether to build static libraries])
6439 1.1 mrg # Make sure either enable_shared or enable_static is yes.
6440 1.1 mrg test yes = "$enable_shared" || enable_static=yes
6441 1.1 mrg AC_MSG_RESULT([$enable_static])
6442 1.1 mrg
6443 1.1 mrg _LT_CONFIG($1)
6444 1.1 mrg fi
6445 1.1 mrg AC_LANG_POP
6446 1.1 mrg CC=$lt_save_CC
6447 1.1 mrg ])# _LT_LANG_C_CONFIG
6448 1.1 mrg
6449 1.1 mrg
6450 1.1 mrg # _LT_LANG_CXX_CONFIG([TAG])
6451 1.1 mrg # --------------------------
6452 1.1 mrg # Ensure that the configuration variables for a C++ compiler are suitably
6453 1.1 mrg # defined. These variables are subsequently used by _LT_CONFIG to write
6454 1.1 mrg # the compiler configuration to 'libtool'.
6455 1.1 mrg m4_defun([_LT_LANG_CXX_CONFIG],
6456 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6457 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
6458 1.1 mrg m4_require([_LT_PATH_MANIFEST_TOOL])dnl
6459 1.1 mrg if test -n "$CXX" && ( test no != "$CXX" &&
6460 1.1 mrg ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6461 1.1 mrg (test g++ != "$CXX"))); then
6462 1.1 mrg AC_PROG_CXXCPP
6463 1.1 mrg else
6464 1.1 mrg _lt_caught_CXX_error=yes
6465 1.1 mrg fi
6466 1.1 mrg
6467 1.1 mrg AC_LANG_PUSH(C++)
6468 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6469 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
6470 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
6471 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=
6472 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=no
6473 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6474 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
6475 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6476 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6477 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
6478 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=no
6479 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6480 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=no
6481 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=no
6482 1.1 mrg _LT_TAGVAR(module_cmds, $1)=
6483 1.1 mrg _LT_TAGVAR(module_expsym_cmds, $1)=
6484 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=unknown
6485 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6486 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
6487 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6488 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=
6489 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
6490 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6491 1.1 mrg
6492 1.1 mrg # Source file extension for C++ test sources.
6493 1.1 mrg ac_ext=cpp
6494 1.1 mrg
6495 1.1 mrg # Object file extension for compiled C++ test sources.
6496 1.1 mrg objext=o
6497 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
6498 1.1 mrg
6499 1.1 mrg # No sense in running all these tests if we already determined that
6500 1.1 mrg # the CXX compiler isn't working. Some variables (like enable_shared)
6501 1.1 mrg # are currently assumed to apply to all compilers on this platform,
6502 1.1 mrg # and will be corrupted by setting them based on a non-working compiler.
6503 1.1 mrg if test yes != "$_lt_caught_CXX_error"; then
6504 1.1 mrg # Code to be used in simple compile tests
6505 1.1 mrg lt_simple_compile_test_code="int some_variable = 0;"
6506 1.1 mrg
6507 1.1 mrg # Code to be used in simple link tests
6508 1.1 mrg lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6509 1.1 mrg
6510 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6511 1.1 mrg _LT_TAG_COMPILER
6512 1.1 mrg
6513 1.1 mrg # save warnings/boilerplate of simple test code
6514 1.1 mrg _LT_COMPILER_BOILERPLATE
6515 1.1 mrg _LT_LINKER_BOILERPLATE
6516 1.1 mrg
6517 1.1 mrg # Allow CC to be a program name with arguments.
6518 1.1 mrg lt_save_CC=$CC
6519 1.1 mrg lt_save_CFLAGS=$CFLAGS
6520 1.1 mrg lt_save_LD=$LD
6521 1.1 mrg lt_save_GCC=$GCC
6522 1.1 mrg GCC=$GXX
6523 1.1 mrg lt_save_with_gnu_ld=$with_gnu_ld
6524 1.1 mrg lt_save_path_LD=$lt_cv_path_LD
6525 1.1 mrg if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6526 1.1 mrg lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6527 1.1 mrg else
6528 1.1 mrg $as_unset lt_cv_prog_gnu_ld
6529 1.1 mrg fi
6530 1.1 mrg if test -n "${lt_cv_path_LDCXX+set}"; then
6531 1.1 mrg lt_cv_path_LD=$lt_cv_path_LDCXX
6532 1.1 mrg else
6533 1.1 mrg $as_unset lt_cv_path_LD
6534 1.1 mrg fi
6535 1.1 mrg test -z "${LDCXX+set}" || LD=$LDCXX
6536 1.1 mrg CC=${CXX-"c++"}
6537 1.1 mrg CFLAGS=$CXXFLAGS
6538 1.1 mrg compiler=$CC
6539 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
6540 1.1 mrg _LT_CC_BASENAME([$compiler])
6541 1.1 mrg
6542 1.1 mrg if test -n "$compiler"; then
6543 1.1 mrg # We don't want -fno-exception when compiling C++ code, so set the
6544 1.1 mrg # no_builtin_flag separately
6545 1.1 mrg if test yes = "$GXX"; then
6546 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6547 1.1 mrg else
6548 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6549 1.1 mrg fi
6550 1.1 mrg
6551 1.1 mrg if test yes = "$GXX"; then
6552 1.1 mrg # Set up default GNU C++ configuration
6553 1.1 mrg
6554 1.1 mrg LT_PATH_LD
6555 1.1 mrg
6556 1.1 mrg # Check if GNU C++ uses GNU ld as the underlying linker, since the
6557 1.1 mrg # archiving commands below assume that GNU ld is being used.
6558 1.1 mrg if test yes = "$with_gnu_ld"; then
6559 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6560 1.1 mrg _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'
6561 1.1 mrg
6562 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6563 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6564 1.1 mrg
6565 1.1 mrg # If archive_cmds runs LD, not CC, wlarc should be empty
6566 1.1 mrg # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6567 1.1 mrg # investigate it a little bit more. (MM)
6568 1.1 mrg wlarc='$wl'
6569 1.1 mrg
6570 1.1 mrg # ancient GNU ld didn't support --whole-archive et. al.
6571 1.1 mrg if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
6572 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
6573 1.1 mrg else
6574 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
6575 1.1 mrg fi
6576 1.1 mrg else
6577 1.1 mrg with_gnu_ld=no
6578 1.1 mrg wlarc=
6579 1.1 mrg
6580 1.1 mrg # A generic and very simple default shared library creation
6581 1.1 mrg # command for GNU C++ for the case where it uses the native
6582 1.1 mrg # linker, instead of GNU ld. If possible, this setting should
6583 1.1 mrg # overridden to take advantage of the native linker features on
6584 1.1 mrg # the platform it is being used on.
6585 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6586 1.1 mrg fi
6587 1.1 mrg
6588 1.1 mrg # Commands to make compiler produce verbose output that lists
6589 1.1 mrg # what "hidden" libraries, object files and flags are used when
6590 1.1 mrg # linking a shared library.
6591 1.1 mrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
6592 1.1 mrg
6593 1.1 mrg else
6594 1.1 mrg GXX=no
6595 1.1 mrg with_gnu_ld=no
6596 1.1 mrg wlarc=
6597 1.1 mrg fi
6598 1.1 mrg
6599 1.1 mrg # PORTME: fill in a description of your system's C++ link characteristics
6600 1.1 mrg AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6601 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
6602 1.1 mrg case $host_os in
6603 1.1 mrg aix3*)
6604 1.1 mrg # FIXME: insert proper C++ library support
6605 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6606 1.1 mrg ;;
6607 1.1 mrg aix[[4-9]]*)
6608 1.1 mrg if test ia64 = "$host_cpu"; then
6609 1.1 mrg # On IA64, the linker does run time linking by default, so we don't
6610 1.1 mrg # have to do anything special.
6611 1.1 mrg aix_use_runtimelinking=no
6612 1.1 mrg exp_sym_flag='-Bexport'
6613 1.1 mrg no_entry_flag=
6614 1.1 mrg else
6615 1.1 mrg aix_use_runtimelinking=no
6616 1.1 mrg
6617 1.1 mrg # Test if we are trying to use run time linking or normal
6618 1.1 mrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6619 1.1 mrg # have runtime linking enabled, and use it for executables.
6620 1.1 mrg # For shared libraries, we enable/disable runtime linking
6621 1.1 mrg # depending on the kind of the shared library created -
6622 1.1 mrg # when "with_aix_soname,aix_use_runtimelinking" is:
6623 1.1 mrg # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
6624 1.1 mrg # "aix,yes" lib.so shared, rtl:yes, for executables
6625 1.1 mrg # lib.a static archive
6626 1.1 mrg # "both,no" lib.so.V(shr.o) shared, rtl:yes
6627 1.1 mrg # lib.a(lib.so.V) shared, rtl:no, for executables
6628 1.1 mrg # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6629 1.1 mrg # lib.a(lib.so.V) shared, rtl:no
6630 1.1 mrg # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
6631 1.1 mrg # lib.a static archive
6632 1.1 mrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6633 1.1 mrg for ld_flag in $LDFLAGS; do
6634 1.1 mrg case $ld_flag in
6635 1.1 mrg *-brtl*)
6636 1.1 mrg aix_use_runtimelinking=yes
6637 1.1 mrg break
6638 1.1 mrg ;;
6639 1.1 mrg esac
6640 1.1 mrg done
6641 1.1 mrg if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6642 1.1 mrg # With aix-soname=svr4, we create the lib.so.V shared archives only,
6643 1.1 mrg # so we don't have lib.a shared libs to link our executables.
6644 1.1 mrg # We have to force runtime linking in this case.
6645 1.1 mrg aix_use_runtimelinking=yes
6646 1.1 mrg LDFLAGS="$LDFLAGS -Wl,-brtl"
6647 1.1 mrg fi
6648 1.1 mrg ;;
6649 1.1 mrg esac
6650 1.1 mrg
6651 1.1 mrg exp_sym_flag='-bexport'
6652 1.1 mrg no_entry_flag='-bnoentry'
6653 1.1 mrg fi
6654 1.1 mrg
6655 1.1 mrg # When large executables or shared objects are built, AIX ld can
6656 1.1 mrg # have problems creating the table of contents. If linking a library
6657 1.1 mrg # or program results in "error TOC overflow" add -mminimal-toc to
6658 1.1 mrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6659 1.1 mrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6660 1.1 mrg
6661 1.1 mrg _LT_TAGVAR(archive_cmds, $1)=''
6662 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
6663 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6664 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6665 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
6666 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6667 1.1 mrg case $with_aix_soname,$aix_use_runtimelinking in
6668 1.1 mrg aix,*) ;; # no import file
6669 1.1 mrg svr4,* | *,yes) # use import file
6670 1.1 mrg # The Import File defines what to hardcode.
6671 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
6672 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6673 1.1 mrg ;;
6674 1.1 mrg esac
6675 1.1 mrg
6676 1.1 mrg if test yes = "$GXX"; then
6677 1.1 mrg case $host_os in aix4.[[012]]|aix4.[[012]].*)
6678 1.1 mrg # We only want to do this on AIX 4.2 and lower, the check
6679 1.1 mrg # below for broken collect2 doesn't work under 4.3+
6680 1.1 mrg collect2name=`$CC -print-prog-name=collect2`
6681 1.1 mrg if test -f "$collect2name" &&
6682 1.1 mrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6683 1.1 mrg then
6684 1.1 mrg # We have reworked collect2
6685 1.1 mrg :
6686 1.1 mrg else
6687 1.1 mrg # We have old collect2
6688 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=unsupported
6689 1.1 mrg # It fails to find uninstalled libraries when the uninstalled
6690 1.1 mrg # path is not listed in the libpath. Setting hardcode_minus_L
6691 1.1 mrg # to unsupported forces relinking
6692 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
6693 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6694 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
6695 1.1 mrg fi
6696 1.1 mrg esac
6697 1.1 mrg shared_flag='-shared'
6698 1.1 mrg if test yes = "$aix_use_runtimelinking"; then
6699 1.1 mrg shared_flag=$shared_flag' $wl-G'
6700 1.1 mrg fi
6701 1.1 mrg # Need to ensure runtime linking is disabled for the traditional
6702 1.1 mrg # shared library, or the linker may eventually find shared libraries
6703 1.1 mrg # /with/ Import File - we do not want to mix them.
6704 1.1 mrg shared_flag_aix='-shared'
6705 1.1 mrg shared_flag_svr4='-shared $wl-G'
6706 1.1 mrg else
6707 1.1 mrg # not using gcc
6708 1.1 mrg if test ia64 = "$host_cpu"; then
6709 1.1 mrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6710 1.1 mrg # chokes on -Wl,-G. The following line is correct:
6711 1.1 mrg shared_flag='-G'
6712 1.1 mrg else
6713 1.1 mrg if test yes = "$aix_use_runtimelinking"; then
6714 1.1 mrg shared_flag='$wl-G'
6715 1.1 mrg else
6716 1.1 mrg shared_flag='$wl-bM:SRE'
6717 1.1 mrg fi
6718 1.1 mrg shared_flag_aix='$wl-bM:SRE'
6719 1.1 mrg shared_flag_svr4='$wl-G'
6720 1.1 mrg fi
6721 1.1 mrg fi
6722 1.1 mrg
6723 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
6724 1.1 mrg # It seems that -bexpall does not export symbols beginning with
6725 1.1 mrg # underscore (_), so it is better to generate a list of symbols to
6726 1.1 mrg # export.
6727 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
6728 1.1 mrg if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
6729 1.1 mrg # Warning - without using the other runtime loading flags (-brtl),
6730 1.1 mrg # -berok will link without error, but may produce a broken library.
6731 1.1 mrg # The "-G" linker flag allows undefined symbols.
6732 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
6733 1.1 mrg # Determine the default libpath from the value encoded in an empty
6734 1.1 mrg # executable.
6735 1.1 mrg _LT_SYS_MODULE_PATH_AIX([$1])
6736 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6737 1.1 mrg
6738 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
6739 1.1 mrg else
6740 1.1 mrg if test ia64 = "$host_cpu"; then
6741 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
6742 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6743 1.1 mrg _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"
6744 1.1 mrg else
6745 1.1 mrg # Determine the default libpath from the value encoded in an
6746 1.1 mrg # empty executable.
6747 1.1 mrg _LT_SYS_MODULE_PATH_AIX([$1])
6748 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6749 1.1 mrg # Warning - without using the other run time loading flags,
6750 1.1 mrg # -berok will link without error, but may produce a broken library.
6751 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6752 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6753 1.1 mrg if test yes = "$with_gnu_ld"; then
6754 1.1 mrg # We only use this code for GNU lds that support --whole-archive.
6755 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6756 1.1 mrg else
6757 1.1 mrg # Exported symbols can be pulled into shared objects from archives
6758 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6759 1.1 mrg fi
6760 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6761 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6762 1.1 mrg # -brtl affects multiple linker settings, -berok does not and is overridden later
6763 1.1 mrg compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6764 1.1 mrg if test svr4 != "$with_aix_soname"; then
6765 1.1 mrg # This is similar to how AIX traditionally builds its shared
6766 1.1 mrg # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6767 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
6768 1.1 mrg fi
6769 1.1 mrg if test aix != "$with_aix_soname"; then
6770 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
6771 1.1 mrg else
6772 1.1 mrg # used by -dlpreopen to get the symbols
6773 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
6774 1.1 mrg fi
6775 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
6776 1.1 mrg fi
6777 1.1 mrg fi
6778 1.1 mrg ;;
6779 1.1 mrg
6780 1.1 mrg beos*)
6781 1.1 mrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6782 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6783 1.1 mrg # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
6784 1.1 mrg # support --undefined. This deserves some investigation. FIXME
6785 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6786 1.1 mrg else
6787 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6788 1.1 mrg fi
6789 1.1 mrg ;;
6790 1.1 mrg
6791 1.1 mrg chorus*)
6792 1.1 mrg case $cc_basename in
6793 1.1 mrg *)
6794 1.1 mrg # FIXME: insert proper C++ library support
6795 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6796 1.1 mrg ;;
6797 1.1 mrg esac
6798 1.1 mrg ;;
6799 1.1 mrg
6800 1.1 mrg cygwin* | mingw* | windows* | pw32* | cegcc*)
6801 1.1 mrg case $GXX,$cc_basename in
6802 1.1 mrg ,cl* | no,cl* | ,icl* | no,icl*)
6803 1.1 mrg # Native MSVC or ICC
6804 1.1 mrg # hardcode_libdir_flag_spec is actually meaningless, as there is
6805 1.1 mrg # no search path for DLLs.
6806 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6807 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6808 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
6809 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
6810 1.1 mrg # Tell ltmain to make .lib files, not .a files.
6811 1.1 mrg libext=lib
6812 1.1 mrg # Tell ltmain to make .dll files, not .so files.
6813 1.1 mrg shrext_cmds=.dll
6814 1.1 mrg # FIXME: Setting linknames here is a bad hack.
6815 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
6816 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6817 1.1 mrg cp "$export_symbols" "$output_objdir/$soname.def";
6818 1.1 mrg echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
6819 1.1 mrg else
6820 1.1 mrg $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
6821 1.1 mrg fi~
6822 1.1 mrg $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6823 1.1 mrg linknames='
6824 1.1 mrg # The linker will not automatically build a static lib if we build a DLL.
6825 1.1 mrg # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6826 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6827 1.1 mrg # Don't use ranlib
6828 1.1 mrg _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6829 1.1 mrg _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6830 1.1 mrg lt_tool_outputfile="@TOOL_OUTPUT@"~
6831 1.1 mrg case $lt_outputfile in
6832 1.1 mrg *.exe|*.EXE) ;;
6833 1.1 mrg *)
6834 1.1 mrg lt_outputfile=$lt_outputfile.exe
6835 1.1 mrg lt_tool_outputfile=$lt_tool_outputfile.exe
6836 1.1 mrg ;;
6837 1.1 mrg esac~
6838 1.1 mrg func_to_tool_file "$lt_outputfile"~
6839 1.1 mrg if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
6840 1.1 mrg $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6841 1.1 mrg $RM "$lt_outputfile.manifest";
6842 1.1 mrg fi'
6843 1.1 mrg ;;
6844 1.1 mrg *)
6845 1.1 mrg # g++
6846 1.1 mrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6847 1.1 mrg # as there is no search path for DLLs.
6848 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6849 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
6850 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6851 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
6852 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6853 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
6854 1.1 mrg
6855 1.1 mrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6856 1.1 mrg _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'
6857 1.1 mrg # If the export-symbols file already is a .def file, use it as
6858 1.1 mrg # is; otherwise, prepend EXPORTS...
6859 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6860 1.1 mrg cp $export_symbols $output_objdir/$soname.def;
6861 1.1 mrg else
6862 1.1 mrg echo EXPORTS > $output_objdir/$soname.def;
6863 1.1 mrg cat $export_symbols >> $output_objdir/$soname.def;
6864 1.1 mrg fi~
6865 1.1 mrg $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'
6866 1.1 mrg else
6867 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6868 1.1 mrg fi
6869 1.1 mrg ;;
6870 1.1 mrg esac
6871 1.1 mrg ;;
6872 1.1 mrg darwin* | rhapsody*)
6873 1.1 mrg _LT_DARWIN_LINKER_FEATURES($1)
6874 1.1 mrg ;;
6875 1.1 mrg
6876 1.1 mrg os2*)
6877 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6878 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
6879 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6880 1.1 mrg shrext_cmds=.dll
6881 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6882 1.1 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6883 1.1 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6884 1.1 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
6885 1.1 mrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6886 1.1 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6887 1.1 mrg emximp -o $lib $output_objdir/$libname.def'
6888 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6889 1.1 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6890 1.1 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6891 1.1 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
6892 1.1 mrg prefix_cmds="$SED"~
6893 1.1 mrg if test EXPORTS = "`$SED 1q $export_symbols`"; then
6894 1.1 mrg prefix_cmds="$prefix_cmds -e 1d";
6895 1.1 mrg fi~
6896 1.1 mrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6897 1.1 mrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6898 1.1 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6899 1.1 mrg emximp -o $lib $output_objdir/$libname.def'
6900 1.1 mrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6901 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6902 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
6903 1.1 mrg ;;
6904 1.1 mrg
6905 1.1 mrg dgux*)
6906 1.1 mrg case $cc_basename in
6907 1.1 mrg ec++*)
6908 1.1 mrg # FIXME: insert proper C++ library support
6909 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6910 1.1 mrg ;;
6911 1.1 mrg ghcx*)
6912 1.1 mrg # Green Hills C++ Compiler
6913 1.1 mrg # FIXME: insert proper C++ library support
6914 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6915 1.1 mrg ;;
6916 1.1 mrg *)
6917 1.1 mrg # FIXME: insert proper C++ library support
6918 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6919 1.1 mrg ;;
6920 1.1 mrg esac
6921 1.1 mrg ;;
6922 1.1 mrg
6923 1.1 mrg freebsd2.*)
6924 1.1 mrg # C++ shared libraries reported to be fairly broken before
6925 1.1 mrg # switch to ELF
6926 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6927 1.1 mrg ;;
6928 1.1 mrg
6929 1.1 mrg freebsd-elf*)
6930 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6931 1.1 mrg ;;
6932 1.1 mrg
6933 1.1 mrg freebsd* | dragonfly* | midnightbsd*)
6934 1.1 mrg # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6935 1.1 mrg # conventions
6936 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
6937 1.1 mrg ;;
6938 1.1 mrg
6939 1.1 mrg haiku*)
6940 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6941 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=no
6942 1.1 mrg ;;
6943 1.1 mrg
6944 1.1 mrg hpux9*)
6945 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6946 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6947 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6948 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
6949 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6950 1.1 mrg # but as the default
6951 1.1 mrg # location of the library.
6952 1.1 mrg
6953 1.1 mrg case $cc_basename in
6954 1.1 mrg CC*)
6955 1.1 mrg # FIXME: insert proper C++ library support
6956 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6957 1.1 mrg ;;
6958 1.1 mrg aCC*)
6959 1.1 mrg _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 "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6960 1.1 mrg # Commands to make compiler produce verbose output that lists
6961 1.1 mrg # what "hidden" libraries, object files and flags are used when
6962 1.1 mrg # linking a shared library.
6963 1.1 mrg #
6964 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
6965 1.1 mrg # explicitly linking system object files so we need to strip them
6966 1.1 mrg # from the output so that they don't get included in the library
6967 1.1 mrg # dependencies.
6968 1.1 mrg 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"'
6969 1.1 mrg ;;
6970 1.1 mrg *)
6971 1.1 mrg if test yes = "$GXX"; then
6972 1.1 mrg _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 "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6973 1.1 mrg else
6974 1.1 mrg # FIXME: insert proper C++ library support
6975 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6976 1.1 mrg fi
6977 1.1 mrg ;;
6978 1.1 mrg esac
6979 1.1 mrg ;;
6980 1.1 mrg
6981 1.1 mrg hpux10*|hpux11*)
6982 1.1 mrg if test no = "$with_gnu_ld"; then
6983 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6984 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6985 1.1 mrg
6986 1.1 mrg case $host_cpu in
6987 1.1 mrg hppa*64*|ia64*)
6988 1.1 mrg ;;
6989 1.1 mrg *)
6990 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6991 1.1 mrg ;;
6992 1.1 mrg esac
6993 1.1 mrg fi
6994 1.1 mrg case $host_cpu in
6995 1.1 mrg hppa*64*|ia64*)
6996 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
6997 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6998 1.1 mrg ;;
6999 1.1 mrg *)
7000 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
7001 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7002 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
7003 1.1 mrg # but as the default
7004 1.1 mrg # location of the library.
7005 1.1 mrg ;;
7006 1.1 mrg esac
7007 1.1 mrg
7008 1.1 mrg case $cc_basename in
7009 1.1 mrg CC*)
7010 1.1 mrg # FIXME: insert proper C++ library support
7011 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7012 1.1 mrg ;;
7013 1.1 mrg aCC*)
7014 1.1 mrg case $host_cpu in
7015 1.1 mrg hppa*64*)
7016 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7017 1.1 mrg ;;
7018 1.1 mrg ia64*)
7019 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7020 1.1 mrg ;;
7021 1.1 mrg *)
7022 1.1 mrg _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'
7023 1.1 mrg ;;
7024 1.1 mrg esac
7025 1.1 mrg # Commands to make compiler produce verbose output that lists
7026 1.1 mrg # what "hidden" libraries, object files and flags are used when
7027 1.1 mrg # linking a shared library.
7028 1.1 mrg #
7029 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
7030 1.1 mrg # explicitly linking system object files so we need to strip them
7031 1.1 mrg # from the output so that they don't get included in the library
7032 1.1 mrg # dependencies.
7033 1.1 mrg 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"'
7034 1.1 mrg ;;
7035 1.1 mrg *)
7036 1.1 mrg if test yes = "$GXX"; then
7037 1.1 mrg if test no = "$with_gnu_ld"; then
7038 1.1 mrg case $host_cpu in
7039 1.1 mrg hppa*64*)
7040 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7041 1.1 mrg ;;
7042 1.1 mrg ia64*)
7043 1.1 mrg _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'
7044 1.1 mrg ;;
7045 1.1 mrg *)
7046 1.1 mrg _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'
7047 1.1 mrg ;;
7048 1.1 mrg esac
7049 1.1 mrg fi
7050 1.1 mrg else
7051 1.1 mrg # FIXME: insert proper C++ library support
7052 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7053 1.1 mrg fi
7054 1.1 mrg ;;
7055 1.1 mrg esac
7056 1.1 mrg ;;
7057 1.1 mrg
7058 1.1 mrg interix[[3-9]]*)
7059 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
7060 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7061 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7062 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7063 1.1 mrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
7064 1.1 mrg # Instead, shared libraries are loaded at an image base (0x10000000 by
7065 1.1 mrg # default) and relocated if they conflict, which is a slow very memory
7066 1.1 mrg # consuming and fragmenting process. To avoid this, we pick a random,
7067 1.1 mrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
7068 1.1 mrg # time. Moving up from 0x10000000 also allows more sbrk(2) space.
7069 1.1 mrg _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'
7070 1.1 mrg _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'
7071 1.1 mrg ;;
7072 1.1 mrg irix5* | irix6*)
7073 1.1 mrg case $cc_basename in
7074 1.1 mrg CC*)
7075 1.1 mrg # SGI C++
7076 1.1 mrg _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'
7077 1.1 mrg
7078 1.1 mrg # Archives containing C++ object files must be created using
7079 1.1 mrg # "CC -ar", where "CC" is the IRIX C++ compiler. This is
7080 1.1 mrg # necessary to make sure instantiated templates are included
7081 1.1 mrg # in the archive.
7082 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
7083 1.1 mrg ;;
7084 1.1 mrg *)
7085 1.1 mrg if test yes = "$GXX"; then
7086 1.1 mrg if test no = "$with_gnu_ld"; then
7087 1.1 mrg _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'
7088 1.1 mrg else
7089 1.1 mrg _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'
7090 1.1 mrg fi
7091 1.1 mrg fi
7092 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
7093 1.1 mrg ;;
7094 1.1 mrg esac
7095 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7096 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7097 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=yes
7098 1.1 mrg ;;
7099 1.1 mrg
7100 1.1 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
7101 1.1 mrg case $cc_basename in
7102 1.1 mrg KCC*)
7103 1.1 mrg # Kuck and Associates, Inc. (KAI) C++ Compiler
7104 1.1 mrg
7105 1.1 mrg # KCC will only create a shared library if the output file
7106 1.1 mrg # ends with ".so" (or ".sl" for HP-UX), so rename the library
7107 1.1 mrg # to its proper name (with version) after linking.
7108 1.1 mrg _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'
7109 1.1 mrg _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'
7110 1.1 mrg # Commands to make compiler produce verbose output that lists
7111 1.1 mrg # what "hidden" libraries, object files and flags are used when
7112 1.1 mrg # linking a shared library.
7113 1.1 mrg #
7114 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
7115 1.1 mrg # explicitly linking system object files so we need to strip them
7116 1.1 mrg # from the output so that they don't get included in the library
7117 1.1 mrg # dependencies.
7118 1.1 mrg 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"'
7119 1.1 mrg
7120 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7121 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7122 1.1 mrg
7123 1.1 mrg # Archives containing C++ object files must be created using
7124 1.1 mrg # "CC -Bstatic", where "CC" is the KAI C++ compiler.
7125 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
7126 1.1 mrg ;;
7127 1.1 mrg icpc* | ecpc* )
7128 1.1 mrg # Intel C++
7129 1.1 mrg with_gnu_ld=yes
7130 1.1 mrg # version 8.0 and above of icpc choke on multiply defined symbols
7131 1.1 mrg # if we add $predep_objects and $postdep_objects, however 7.1 and
7132 1.1 mrg # earlier do not add the objects themselves.
7133 1.1 mrg case `$CC -V 2>&1` in
7134 1.1 mrg *"Version 7."*)
7135 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7136 1.1 mrg _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'
7137 1.1 mrg ;;
7138 1.1 mrg *) # Version 8.0 or newer
7139 1.1 mrg tmp_idyn=
7140 1.1 mrg case $host_cpu in
7141 1.1 mrg ia64*) tmp_idyn=' -i_dynamic';;
7142 1.1 mrg esac
7143 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7144 1.1 mrg _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'
7145 1.1 mrg ;;
7146 1.1 mrg esac
7147 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7148 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7149 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7150 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
7151 1.1 mrg ;;
7152 1.1 mrg pgCC* | pgcpp*)
7153 1.1 mrg # Portland Group C++ compiler
7154 1.1 mrg case `$CC -V` in
7155 1.1 mrg *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
7156 1.1 mrg _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
7157 1.1 mrg rm -rf $tpldir~
7158 1.1 mrg $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
7159 1.1 mrg compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
7160 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
7161 1.1 mrg rm -rf $tpldir~
7162 1.1 mrg $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
7163 1.1 mrg $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
7164 1.1 mrg $RANLIB $oldlib'
7165 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
7166 1.1 mrg rm -rf $tpldir~
7167 1.1 mrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7168 1.1 mrg $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7169 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
7170 1.1 mrg rm -rf $tpldir~
7171 1.1 mrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7172 1.1 mrg $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'
7173 1.1 mrg ;;
7174 1.1 mrg *) # Version 6 and above use weak symbols
7175 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7176 1.1 mrg _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'
7177 1.1 mrg ;;
7178 1.1 mrg esac
7179 1.1 mrg
7180 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7181 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7182 1.1 mrg _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'
7183 1.1 mrg ;;
7184 1.1 mrg cxx*)
7185 1.1 mrg # Compaq C++
7186 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7187 1.1 mrg _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'
7188 1.1 mrg
7189 1.1 mrg runpath_var=LD_RUN_PATH
7190 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7191 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7192 1.1 mrg
7193 1.1 mrg # Commands to make compiler produce verbose output that lists
7194 1.1 mrg # what "hidden" libraries, object files and flags are used when
7195 1.1 mrg # linking a shared library.
7196 1.1 mrg #
7197 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
7198 1.1 mrg # explicitly linking system object files so we need to strip them
7199 1.1 mrg # from the output so that they don't get included in the library
7200 1.1 mrg # dependencies.
7201 1.1 mrg 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'
7202 1.1 mrg ;;
7203 1.1 mrg xl* | mpixl* | bgxl*)
7204 1.1 mrg # IBM XL 8.0 on PPC, with GNU ld
7205 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7206 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7207 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7208 1.1 mrg if test yes = "$supports_anon_versioning"; then
7209 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7210 1.1 mrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7211 1.1 mrg echo "local: *; };" >> $output_objdir/$libname.ver~
7212 1.1 mrg $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
7213 1.1 mrg fi
7214 1.1 mrg ;;
7215 1.1 mrg *)
7216 1.1 mrg case `$CC -V 2>&1 | $SED 5q` in
7217 1.1 mrg *Sun\ C*)
7218 1.1 mrg # Sun C++ 5.9
7219 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7220 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7221 1.1 mrg _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'
7222 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7223 1.1 mrg _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'
7224 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=yes
7225 1.1 mrg
7226 1.1 mrg # Not sure whether something based on
7227 1.1 mrg # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
7228 1.1 mrg # would be better.
7229 1.1 mrg output_verbose_link_cmd='func_echo_all'
7230 1.1 mrg
7231 1.1 mrg # Archives containing C++ object files must be created using
7232 1.1 mrg # "CC -xar", where "CC" is the Sun C++ compiler. This is
7233 1.1 mrg # necessary to make sure instantiated templates are included
7234 1.1 mrg # in the archive.
7235 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7236 1.1 mrg ;;
7237 1.1 mrg esac
7238 1.1 mrg ;;
7239 1.1 mrg esac
7240 1.1 mrg ;;
7241 1.1 mrg
7242 1.1 mrg lynxos*)
7243 1.1 mrg # FIXME: insert proper C++ library support
7244 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7245 1.1 mrg ;;
7246 1.1 mrg
7247 1.1 mrg m88k*)
7248 1.1 mrg # FIXME: insert proper C++ library support
7249 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7250 1.1 mrg ;;
7251 1.1 mrg
7252 1.1 mrg mvs*)
7253 1.1 mrg case $cc_basename in
7254 1.1 mrg cxx*)
7255 1.1 mrg # FIXME: insert proper C++ library support
7256 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7257 1.1 mrg ;;
7258 1.1 mrg *)
7259 1.1 mrg # FIXME: insert proper C++ library support
7260 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7261 1.1 mrg ;;
7262 1.1 mrg esac
7263 1.1 mrg ;;
7264 1.1 mrg
7265 1.1 mrg *-mlibc)
7266 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
7267 1.1 mrg ;;
7268 1.1 mrg
7269 1.1 mrg netbsd*)
7270 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7271 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
7272 1.1 mrg wlarc=
7273 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7274 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
7275 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7276 1.1 mrg fi
7277 1.1 mrg # Workaround some broken pre-1.5 toolchains
7278 1.1 mrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
7279 1.1 mrg ;;
7280 1.1 mrg
7281 1.1 mrg *nto* | *qnx*)
7282 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
7283 1.1 mrg ;;
7284 1.1 mrg
7285 1.1 mrg openbsd*)
7286 1.1 mrg if test -f /usr/libexec/ld.so; then
7287 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
7288 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7289 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7290 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7291 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7292 1.1 mrg if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7293 1.1 mrg _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'
7294 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7295 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
7296 1.1 mrg fi
7297 1.1 mrg output_verbose_link_cmd=func_echo_all
7298 1.1 mrg else
7299 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7300 1.1 mrg fi
7301 1.1 mrg ;;
7302 1.1 mrg
7303 1.1 mrg osf3* | osf4* | osf5*)
7304 1.1 mrg case $cc_basename in
7305 1.1 mrg KCC*)
7306 1.1 mrg # Kuck and Associates, Inc. (KAI) C++ Compiler
7307 1.1 mrg
7308 1.1 mrg # KCC will only create a shared library if the output file
7309 1.1 mrg # ends with ".so" (or ".sl" for HP-UX), so rename the library
7310 1.1 mrg # to its proper name (with version) after linking.
7311 1.1 mrg _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'
7312 1.1 mrg
7313 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7314 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7315 1.1 mrg
7316 1.1 mrg # Archives containing C++ object files must be created using
7317 1.1 mrg # the KAI C++ compiler.
7318 1.1 mrg case $host in
7319 1.1 mrg osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
7320 1.1 mrg *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
7321 1.1 mrg esac
7322 1.1 mrg ;;
7323 1.1 mrg RCC*)
7324 1.1 mrg # Rational C++ 2.4.1
7325 1.1 mrg # FIXME: insert proper C++ library support
7326 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7327 1.1 mrg ;;
7328 1.1 mrg cxx*)
7329 1.1 mrg case $host in
7330 1.1 mrg osf3*)
7331 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7332 1.1 mrg _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'
7333 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7334 1.1 mrg ;;
7335 1.1 mrg *)
7336 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7337 1.1 mrg _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'
7338 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
7339 1.1 mrg echo "-hidden">> $lib.exp~
7340 1.1 mrg $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~
7341 1.1 mrg $RM $lib.exp'
7342 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7343 1.1 mrg ;;
7344 1.1 mrg esac
7345 1.1 mrg
7346 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7347 1.1 mrg
7348 1.1 mrg # Commands to make compiler produce verbose output that lists
7349 1.1 mrg # what "hidden" libraries, object files and flags are used when
7350 1.1 mrg # linking a shared library.
7351 1.1 mrg #
7352 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
7353 1.1 mrg # explicitly linking system object files so we need to strip them
7354 1.1 mrg # from the output so that they don't get included in the library
7355 1.1 mrg # dependencies.
7356 1.1 mrg 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"'
7357 1.1 mrg ;;
7358 1.1 mrg *)
7359 1.1 mrg if test yes,no = "$GXX,$with_gnu_ld"; then
7360 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7361 1.1 mrg case $host in
7362 1.1 mrg osf3*)
7363 1.1 mrg _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'
7364 1.1 mrg ;;
7365 1.1 mrg *)
7366 1.1 mrg _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'
7367 1.1 mrg ;;
7368 1.1 mrg esac
7369 1.1 mrg
7370 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7371 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7372 1.1 mrg
7373 1.1 mrg # Commands to make compiler produce verbose output that lists
7374 1.1 mrg # what "hidden" libraries, object files and flags are used when
7375 1.1 mrg # linking a shared library.
7376 1.1 mrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
7377 1.1 mrg
7378 1.1 mrg else
7379 1.1 mrg # FIXME: insert proper C++ library support
7380 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7381 1.1 mrg fi
7382 1.1 mrg ;;
7383 1.1 mrg esac
7384 1.1 mrg ;;
7385 1.1 mrg
7386 1.1 mrg psos*)
7387 1.1 mrg # FIXME: insert proper C++ library support
7388 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7389 1.1 mrg ;;
7390 1.1 mrg
7391 1.1 mrg serenity*)
7392 1.1 mrg ;;
7393 1.1 mrg
7394 1.1 mrg sunos4*)
7395 1.1 mrg case $cc_basename in
7396 1.1 mrg CC*)
7397 1.1 mrg # Sun C++ 4.x
7398 1.1 mrg # FIXME: insert proper C++ library support
7399 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7400 1.1 mrg ;;
7401 1.1 mrg lcc*)
7402 1.1 mrg # Lucid
7403 1.1 mrg # FIXME: insert proper C++ library support
7404 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7405 1.1 mrg ;;
7406 1.1 mrg *)
7407 1.1 mrg # FIXME: insert proper C++ library support
7408 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7409 1.1 mrg ;;
7410 1.1 mrg esac
7411 1.1 mrg ;;
7412 1.1 mrg
7413 1.1 mrg solaris*)
7414 1.1 mrg case $cc_basename in
7415 1.1 mrg CC* | sunCC*)
7416 1.1 mrg # Sun C++ 4.2, 5.x and Centerline C++
7417 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7418 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7419 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7420 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7421 1.1 mrg $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'
7422 1.1 mrg
7423 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7424 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7425 1.1 mrg case $host_os in
7426 1.1 mrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7427 1.1 mrg *)
7428 1.1 mrg # The compiler driver will combine and reorder linker options,
7429 1.1 mrg # but understands '-z linker_flag'.
7430 1.1 mrg # Supported since Solaris 2.6 (maybe 2.5.1?)
7431 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7432 1.1 mrg ;;
7433 1.1 mrg esac
7434 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
7435 1.1 mrg
7436 1.1 mrg output_verbose_link_cmd='func_echo_all'
7437 1.1 mrg
7438 1.1 mrg # Archives containing C++ object files must be created using
7439 1.1 mrg # "CC -xar", where "CC" is the Sun C++ compiler. This is
7440 1.1 mrg # necessary to make sure instantiated templates are included
7441 1.1 mrg # in the archive.
7442 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7443 1.1 mrg ;;
7444 1.1 mrg gcx*)
7445 1.1 mrg # Green Hills C++ Compiler
7446 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7447 1.1 mrg
7448 1.1 mrg # The C++ compiler must be used to create the archive.
7449 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7450 1.1 mrg ;;
7451 1.1 mrg *)
7452 1.1 mrg # GNU C++ compiler with Solaris linker
7453 1.1 mrg if test yes,no = "$GXX,$with_gnu_ld"; then
7454 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
7455 1.1 mrg if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7456 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7457 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7458 1.1 mrg $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7459 1.1 mrg
7460 1.1 mrg # Commands to make compiler produce verbose output that lists
7461 1.1 mrg # what "hidden" libraries, object files and flags are used when
7462 1.1 mrg # linking a shared library.
7463 1.1 mrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
7464 1.1 mrg else
7465 1.1 mrg # g++ 2.7 appears to require '-G' NOT '-shared' on this
7466 1.1 mrg # platform.
7467 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7468 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7469 1.1 mrg $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7470 1.1 mrg
7471 1.1 mrg # Commands to make compiler produce verbose output that lists
7472 1.1 mrg # what "hidden" libraries, object files and flags are used when
7473 1.1 mrg # linking a shared library.
7474 1.1 mrg output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
7475 1.1 mrg fi
7476 1.1 mrg
7477 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
7478 1.1 mrg case $host_os in
7479 1.1 mrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7480 1.1 mrg *)
7481 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
7482 1.1 mrg ;;
7483 1.1 mrg esac
7484 1.1 mrg fi
7485 1.1 mrg ;;
7486 1.1 mrg esac
7487 1.1 mrg ;;
7488 1.1 mrg
7489 1.1 mrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7490 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7491 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7492 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7493 1.1 mrg runpath_var='LD_RUN_PATH'
7494 1.1 mrg
7495 1.1 mrg case $cc_basename in
7496 1.1 mrg CC*)
7497 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7498 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7499 1.1 mrg ;;
7500 1.1 mrg *)
7501 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7502 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7503 1.1 mrg ;;
7504 1.1 mrg esac
7505 1.1 mrg ;;
7506 1.1 mrg
7507 1.1 mrg sysv5* | sco3.2v5* | sco5v6*)
7508 1.1 mrg # Note: We CANNOT use -z defs as we might desire, because we do not
7509 1.1 mrg # link with -lc, and that would cause any symbols used from libc to
7510 1.1 mrg # always be unresolved, which means just about no library would
7511 1.1 mrg # ever link correctly. If we're not using GNU ld we use -z text
7512 1.1 mrg # though, which does catch some bad symbols but isn't as heavy-handed
7513 1.1 mrg # as -z defs.
7514 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7515 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
7516 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7517 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7518 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
7519 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7520 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
7521 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
7522 1.1 mrg runpath_var='LD_RUN_PATH'
7523 1.1 mrg
7524 1.1 mrg case $cc_basename in
7525 1.1 mrg CC*)
7526 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7527 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7528 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
7529 1.1 mrg '"$_LT_TAGVAR(old_archive_cmds, $1)"
7530 1.1 mrg _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
7531 1.1 mrg '"$_LT_TAGVAR(reload_cmds, $1)"
7532 1.1 mrg ;;
7533 1.1 mrg *)
7534 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7535 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7536 1.1 mrg ;;
7537 1.1 mrg esac
7538 1.1 mrg ;;
7539 1.1 mrg
7540 1.1 mrg tandem*)
7541 1.1 mrg case $cc_basename in
7542 1.1 mrg NCC*)
7543 1.1 mrg # NonStop-UX NCC 3.20
7544 1.1 mrg # FIXME: insert proper C++ library support
7545 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7546 1.1 mrg ;;
7547 1.1 mrg *)
7548 1.1 mrg # FIXME: insert proper C++ library support
7549 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7550 1.1 mrg ;;
7551 1.1 mrg esac
7552 1.1 mrg ;;
7553 1.1 mrg
7554 1.1 mrg vxworks*)
7555 1.1 mrg # FIXME: insert proper C++ library support
7556 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7557 1.1 mrg ;;
7558 1.1 mrg
7559 1.1 mrg *)
7560 1.1 mrg # FIXME: insert proper C++ library support
7561 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7562 1.1 mrg ;;
7563 1.1 mrg esac
7564 1.1 mrg
7565 1.1 mrg AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7566 1.1 mrg test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
7567 1.1 mrg
7568 1.1 mrg _LT_TAGVAR(GCC, $1)=$GXX
7569 1.1 mrg _LT_TAGVAR(LD, $1)=$LD
7570 1.1 mrg
7571 1.1 mrg ## CAVEAT EMPTOR:
7572 1.1 mrg ## There is no encapsulation within the following macros, do not change
7573 1.1 mrg ## the running order or otherwise move them around unless you know exactly
7574 1.1 mrg ## what you are doing...
7575 1.1 mrg _LT_SYS_HIDDEN_LIBDEPS($1)
7576 1.1 mrg _LT_COMPILER_PIC($1)
7577 1.1 mrg _LT_COMPILER_C_O($1)
7578 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
7579 1.1 mrg _LT_LINKER_SHLIBS($1)
7580 1.1 mrg _LT_SYS_DYNAMIC_LINKER($1)
7581 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
7582 1.1 mrg
7583 1.1 mrg _LT_CONFIG($1)
7584 1.1 mrg fi # test -n "$compiler"
7585 1.1 mrg
7586 1.1 mrg CC=$lt_save_CC
7587 1.1 mrg CFLAGS=$lt_save_CFLAGS
7588 1.1 mrg LDCXX=$LD
7589 1.1 mrg LD=$lt_save_LD
7590 1.1 mrg GCC=$lt_save_GCC
7591 1.1 mrg with_gnu_ld=$lt_save_with_gnu_ld
7592 1.1 mrg lt_cv_path_LDCXX=$lt_cv_path_LD
7593 1.1 mrg lt_cv_path_LD=$lt_save_path_LD
7594 1.1 mrg lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7595 1.1 mrg lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7596 1.1 mrg fi # test yes != "$_lt_caught_CXX_error"
7597 1.1 mrg
7598 1.1 mrg AC_LANG_POP
7599 1.1 mrg ])# _LT_LANG_CXX_CONFIG
7600 1.1 mrg
7601 1.1 mrg
7602 1.1 mrg # _LT_FUNC_STRIPNAME_CNF
7603 1.1 mrg # ----------------------
7604 1.1 mrg # func_stripname_cnf prefix suffix name
7605 1.1 mrg # strip PREFIX and SUFFIX off of NAME.
7606 1.1 mrg # PREFIX and SUFFIX must not contain globbing or regex special
7607 1.1 mrg # characters, hashes, percent signs, but SUFFIX may contain a leading
7608 1.1 mrg # dot (in which case that matches only a dot).
7609 1.1 mrg #
7610 1.1 mrg # This function is identical to the (non-XSI) version of func_stripname,
7611 1.1 mrg # except this one can be used by m4 code that may be executed by configure,
7612 1.1 mrg # rather than the libtool script.
7613 1.1 mrg m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
7614 1.1 mrg AC_REQUIRE([_LT_DECL_SED])
7615 1.1 mrg AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
7616 1.1 mrg func_stripname_cnf ()
7617 1.1 mrg {
7618 1.1 mrg case @S|@2 in
7619 1.1 mrg .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7620 1.1 mrg *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
7621 1.1 mrg esac
7622 1.1 mrg } # func_stripname_cnf
7623 1.1 mrg ])# _LT_FUNC_STRIPNAME_CNF
7624 1.1 mrg
7625 1.1 mrg
7626 1.1 mrg # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
7627 1.1 mrg # ---------------------------------
7628 1.1 mrg # Figure out "hidden" library dependencies from verbose
7629 1.1 mrg # compiler output when linking a shared library.
7630 1.1 mrg # Parse the compiler output and extract the necessary
7631 1.1 mrg # objects, libraries and library flags.
7632 1.1 mrg m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7633 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7634 1.1 mrg AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
7635 1.1 mrg # Dependencies to place before and after the object being linked:
7636 1.1 mrg _LT_TAGVAR(predep_objects, $1)=
7637 1.1 mrg _LT_TAGVAR(postdep_objects, $1)=
7638 1.1 mrg _LT_TAGVAR(predeps, $1)=
7639 1.1 mrg _LT_TAGVAR(postdeps, $1)=
7640 1.1 mrg _LT_TAGVAR(compiler_lib_search_path, $1)=
7641 1.1 mrg
7642 1.1 mrg dnl we can't use the lt_simple_compile_test_code here,
7643 1.1 mrg dnl because it contains code intended for an executable,
7644 1.1 mrg dnl not a library. It's possible we should let each
7645 1.1 mrg dnl tag define a new lt_????_link_test_code variable,
7646 1.1 mrg dnl but it's only used here...
7647 1.1 mrg m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7648 1.1 mrg int a;
7649 1.1 mrg void foo (void) { a = 0; }
7650 1.1 mrg _LT_EOF
7651 1.1 mrg ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7652 1.1 mrg class Foo
7653 1.1 mrg {
7654 1.1 mrg public:
7655 1.1 mrg Foo (void) { a = 0; }
7656 1.1 mrg private:
7657 1.1 mrg int a;
7658 1.1 mrg };
7659 1.1 mrg _LT_EOF
7660 1.1 mrg ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7661 1.1 mrg subroutine foo
7662 1.1 mrg implicit none
7663 1.1 mrg integer*4 a
7664 1.1 mrg a=0
7665 1.1 mrg return
7666 1.1 mrg end
7667 1.1 mrg _LT_EOF
7668 1.1 mrg ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7669 1.1 mrg subroutine foo
7670 1.1 mrg implicit none
7671 1.1 mrg integer a
7672 1.1 mrg a=0
7673 1.1 mrg return
7674 1.1 mrg end
7675 1.1 mrg _LT_EOF
7676 1.1 mrg ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7677 1.1 mrg public class foo {
7678 1.1 mrg private int a;
7679 1.1 mrg public void bar (void) {
7680 1.1 mrg a = 0;
7681 1.1 mrg }
7682 1.1 mrg };
7683 1.1 mrg _LT_EOF
7684 1.1 mrg ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
7685 1.1 mrg package foo
7686 1.1 mrg func foo() {
7687 1.1 mrg }
7688 1.1 mrg _LT_EOF
7689 1.1 mrg ])
7690 1.1 mrg
7691 1.1 mrg _lt_libdeps_save_CFLAGS=$CFLAGS
7692 1.1 mrg case "$CC $CFLAGS " in #(
7693 1.1 mrg *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7694 1.1 mrg *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
7695 1.1 mrg *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7696 1.1 mrg esac
7697 1.1 mrg
7698 1.1 mrg dnl Parse the compiler output and extract the necessary
7699 1.1 mrg dnl objects, libraries and library flags.
7700 1.1 mrg if AC_TRY_EVAL(ac_compile); then
7701 1.1 mrg # Parse the compiler output and extract the necessary
7702 1.1 mrg # objects, libraries and library flags.
7703 1.1 mrg
7704 1.1 mrg # Sentinel used to keep track of whether or not we are before
7705 1.1 mrg # the conftest object file.
7706 1.1 mrg pre_test_object_deps_done=no
7707 1.1 mrg
7708 1.1 mrg for p in `eval "$output_verbose_link_cmd"`; do
7709 1.1 mrg case $prev$p in
7710 1.1 mrg
7711 1.1 mrg -L* | -R* | -l*)
7712 1.1 mrg # Some compilers place space between "-{L,R,l}" and the path.
7713 1.1 mrg # Remove the space.
7714 1.1 mrg if test x-L = x"$p" ||
7715 1.1 mrg test x-R = x"$p" ||
7716 1.1 mrg test x-l = x"$p"; then
7717 1.1 mrg prev=$p
7718 1.1 mrg continue
7719 1.1 mrg fi
7720 1.1 mrg
7721 1.1 mrg # Expand the sysroot to ease extracting the directories later.
7722 1.1 mrg if test -z "$prev"; then
7723 1.1 mrg case $p in
7724 1.1 mrg -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7725 1.1 mrg -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7726 1.1 mrg -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7727 1.1 mrg esac
7728 1.1 mrg fi
7729 1.1 mrg case $p in
7730 1.1 mrg =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7731 1.1 mrg esac
7732 1.1 mrg if test no = "$pre_test_object_deps_done"; then
7733 1.1 mrg case $prev in
7734 1.1 mrg -L | -R)
7735 1.1 mrg # Internal compiler library paths should come after those
7736 1.1 mrg # provided the user. The postdeps already come after the
7737 1.1 mrg # user supplied libs so there is no need to process them.
7738 1.1 mrg if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7739 1.1 mrg _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
7740 1.1 mrg else
7741 1.1 mrg _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
7742 1.1 mrg fi
7743 1.1 mrg ;;
7744 1.1 mrg # The "-l" case would never come before the object being
7745 1.1 mrg # linked, so don't bother handling this case.
7746 1.1 mrg esac
7747 1.1 mrg else
7748 1.1 mrg if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7749 1.1 mrg _LT_TAGVAR(postdeps, $1)=$prev$p
7750 1.1 mrg else
7751 1.1 mrg _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
7752 1.1 mrg fi
7753 1.1 mrg fi
7754 1.1 mrg prev=
7755 1.1 mrg ;;
7756 1.1 mrg
7757 1.1 mrg *.lto.$objext) ;; # Ignore GCC LTO objects
7758 1.1 mrg *.$objext)
7759 1.1 mrg # This assumes that the test object file only shows up
7760 1.1 mrg # once in the compiler output.
7761 1.1 mrg if test "$p" = "conftest.$objext"; then
7762 1.1 mrg pre_test_object_deps_done=yes
7763 1.1 mrg continue
7764 1.1 mrg fi
7765 1.1 mrg
7766 1.1 mrg if test no = "$pre_test_object_deps_done"; then
7767 1.1 mrg if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7768 1.1 mrg _LT_TAGVAR(predep_objects, $1)=$p
7769 1.1 mrg else
7770 1.1 mrg _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7771 1.1 mrg fi
7772 1.1 mrg else
7773 1.1 mrg if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7774 1.1 mrg _LT_TAGVAR(postdep_objects, $1)=$p
7775 1.1 mrg else
7776 1.1 mrg _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7777 1.1 mrg fi
7778 1.1 mrg fi
7779 1.1 mrg ;;
7780 1.1 mrg
7781 1.1 mrg *) ;; # Ignore the rest.
7782 1.1 mrg
7783 1.1 mrg esac
7784 1.1 mrg done
7785 1.1 mrg
7786 1.1 mrg # Clean up.
7787 1.1 mrg rm -f a.out a.exe
7788 1.1 mrg else
7789 1.1 mrg echo "libtool.m4: error: problem compiling $1 test program"
7790 1.1 mrg fi
7791 1.1 mrg
7792 1.1 mrg $RM -f confest.$objext
7793 1.1 mrg CFLAGS=$_lt_libdeps_save_CFLAGS
7794 1.1 mrg
7795 1.1 mrg # PORTME: override above test on systems where it is broken
7796 1.1 mrg m4_if([$1], [CXX],
7797 1.1 mrg [case $host_os in
7798 1.1 mrg interix[[3-9]]*)
7799 1.1 mrg # Interix 3.5 installs completely hosed .la files for C++, so rather than
7800 1.1 mrg # hack all around it, let's just trust "g++" to DTRT.
7801 1.1 mrg _LT_TAGVAR(predep_objects,$1)=
7802 1.1 mrg _LT_TAGVAR(postdep_objects,$1)=
7803 1.1 mrg _LT_TAGVAR(postdeps,$1)=
7804 1.1 mrg ;;
7805 1.1 mrg esac
7806 1.1 mrg ])
7807 1.1 mrg
7808 1.1 mrg case " $_LT_TAGVAR(postdeps, $1) " in
7809 1.1 mrg *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7810 1.1 mrg esac
7811 1.1 mrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7812 1.1 mrg if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7813 1.1 mrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
7814 1.1 mrg fi
7815 1.1 mrg _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7816 1.1 mrg [The directories searched by this compiler when creating a shared library])
7817 1.1 mrg _LT_TAGDECL([], [predep_objects], [1],
7818 1.1 mrg [Dependencies to place before and after the objects being linked to
7819 1.1 mrg create a shared library])
7820 1.1 mrg _LT_TAGDECL([], [postdep_objects], [1])
7821 1.1 mrg _LT_TAGDECL([], [predeps], [1])
7822 1.1 mrg _LT_TAGDECL([], [postdeps], [1])
7823 1.1 mrg _LT_TAGDECL([], [compiler_lib_search_path], [1],
7824 1.1 mrg [The library search path used internally by the compiler when linking
7825 1.1 mrg a shared library])
7826 1.1 mrg ])# _LT_SYS_HIDDEN_LIBDEPS
7827 1.1 mrg
7828 1.1 mrg
7829 1.1 mrg # _LT_LANG_F77_CONFIG([TAG])
7830 1.1 mrg # --------------------------
7831 1.1 mrg # Ensure that the configuration variables for a Fortran 77 compiler are
7832 1.1 mrg # suitably defined. These variables are subsequently used by _LT_CONFIG
7833 1.1 mrg # to write the compiler configuration to 'libtool'.
7834 1.1 mrg m4_defun([_LT_LANG_F77_CONFIG],
7835 1.1 mrg [AC_LANG_PUSH(Fortran 77)
7836 1.1 mrg if test -z "$F77" || test no = "$F77"; then
7837 1.1 mrg _lt_disable_F77=yes
7838 1.1 mrg fi
7839 1.1 mrg
7840 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7841 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
7842 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
7843 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=
7844 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7845 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
7846 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7847 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7848 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
7849 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=no
7850 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=no
7851 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=no
7852 1.1 mrg _LT_TAGVAR(module_cmds, $1)=
7853 1.1 mrg _LT_TAGVAR(module_expsym_cmds, $1)=
7854 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=unknown
7855 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7856 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
7857 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7858 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=
7859 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
7860 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7861 1.1 mrg
7862 1.1 mrg # Source file extension for f77 test sources.
7863 1.1 mrg ac_ext=f
7864 1.1 mrg
7865 1.1 mrg # Object file extension for compiled f77 test sources.
7866 1.1 mrg objext=o
7867 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
7868 1.1 mrg
7869 1.1 mrg # No sense in running all these tests if we already determined that
7870 1.1 mrg # the F77 compiler isn't working. Some variables (like enable_shared)
7871 1.1 mrg # are currently assumed to apply to all compilers on this platform,
7872 1.1 mrg # and will be corrupted by setting them based on a non-working compiler.
7873 1.1 mrg if test yes != "$_lt_disable_F77"; then
7874 1.1 mrg # Code to be used in simple compile tests
7875 1.1 mrg lt_simple_compile_test_code="\
7876 1.1 mrg subroutine t
7877 1.1 mrg return
7878 1.1 mrg end
7879 1.1 mrg "
7880 1.1 mrg
7881 1.1 mrg # Code to be used in simple link tests
7882 1.1 mrg lt_simple_link_test_code="\
7883 1.1 mrg program t
7884 1.1 mrg end
7885 1.1 mrg "
7886 1.1 mrg
7887 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7888 1.1 mrg _LT_TAG_COMPILER
7889 1.1 mrg
7890 1.1 mrg # save warnings/boilerplate of simple test code
7891 1.1 mrg _LT_COMPILER_BOILERPLATE
7892 1.1 mrg _LT_LINKER_BOILERPLATE
7893 1.1 mrg
7894 1.1 mrg # Allow CC to be a program name with arguments.
7895 1.1 mrg lt_save_CC=$CC
7896 1.1 mrg lt_save_GCC=$GCC
7897 1.1 mrg lt_save_CFLAGS=$CFLAGS
7898 1.1 mrg CC=${F77-"f77"}
7899 1.1 mrg CFLAGS=$FFLAGS
7900 1.1 mrg compiler=$CC
7901 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
7902 1.1 mrg _LT_CC_BASENAME([$compiler])
7903 1.1 mrg GCC=$G77
7904 1.1 mrg if test -n "$compiler"; then
7905 1.1 mrg AC_MSG_CHECKING([if libtool supports shared libraries])
7906 1.1 mrg AC_MSG_RESULT([$can_build_shared])
7907 1.1 mrg
7908 1.1 mrg AC_MSG_CHECKING([whether to build shared libraries])
7909 1.1 mrg test no = "$can_build_shared" && enable_shared=no
7910 1.1 mrg
7911 1.1 mrg # On AIX, shared libraries and static libraries use the same namespace, and
7912 1.1 mrg # are all built from PIC.
7913 1.1 mrg case $host_os in
7914 1.1 mrg aix3*)
7915 1.1 mrg test yes = "$enable_shared" && enable_static=no
7916 1.1 mrg if test -n "$RANLIB"; then
7917 1.1 mrg archive_cmds="$archive_cmds~\$RANLIB \$lib"
7918 1.1 mrg postinstall_cmds='$RANLIB $lib'
7919 1.1 mrg fi
7920 1.1 mrg ;;
7921 1.1 mrg aix[[4-9]]*)
7922 1.1 mrg if test ia64 != "$host_cpu"; then
7923 1.1 mrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7924 1.1 mrg yes,aix,yes) ;; # shared object as lib.so file only
7925 1.1 mrg yes,svr4,*) ;; # shared object as lib.so archive member only
7926 1.1 mrg yes,*) enable_static=no ;; # shared object in lib.a archive as well
7927 1.1 mrg esac
7928 1.1 mrg fi
7929 1.1 mrg ;;
7930 1.1 mrg esac
7931 1.1 mrg AC_MSG_RESULT([$enable_shared])
7932 1.1 mrg
7933 1.1 mrg AC_MSG_CHECKING([whether to build static libraries])
7934 1.1 mrg # Make sure either enable_shared or enable_static is yes.
7935 1.1 mrg test yes = "$enable_shared" || enable_static=yes
7936 1.1 mrg AC_MSG_RESULT([$enable_static])
7937 1.1 mrg
7938 1.1 mrg _LT_TAGVAR(GCC, $1)=$G77
7939 1.1 mrg _LT_TAGVAR(LD, $1)=$LD
7940 1.1 mrg
7941 1.1 mrg ## CAVEAT EMPTOR:
7942 1.1 mrg ## There is no encapsulation within the following macros, do not change
7943 1.1 mrg ## the running order or otherwise move them around unless you know exactly
7944 1.1 mrg ## what you are doing...
7945 1.1 mrg _LT_COMPILER_PIC($1)
7946 1.1 mrg _LT_COMPILER_C_O($1)
7947 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
7948 1.1 mrg _LT_LINKER_SHLIBS($1)
7949 1.1 mrg _LT_SYS_DYNAMIC_LINKER($1)
7950 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
7951 1.1 mrg
7952 1.1 mrg _LT_CONFIG($1)
7953 1.1 mrg fi # test -n "$compiler"
7954 1.1 mrg
7955 1.1 mrg GCC=$lt_save_GCC
7956 1.1 mrg CC=$lt_save_CC
7957 1.1 mrg CFLAGS=$lt_save_CFLAGS
7958 1.1 mrg fi # test yes != "$_lt_disable_F77"
7959 1.1 mrg
7960 1.1 mrg AC_LANG_POP
7961 1.1 mrg ])# _LT_LANG_F77_CONFIG
7962 1.1 mrg
7963 1.1 mrg
7964 1.1 mrg # _LT_LANG_FC_CONFIG([TAG])
7965 1.1 mrg # -------------------------
7966 1.1 mrg # Ensure that the configuration variables for a Fortran compiler are
7967 1.1 mrg # suitably defined. These variables are subsequently used by _LT_CONFIG
7968 1.1 mrg # to write the compiler configuration to 'libtool'.
7969 1.1 mrg m4_defun([_LT_LANG_FC_CONFIG],
7970 1.1 mrg [AC_LANG_PUSH(Fortran)
7971 1.1 mrg
7972 1.1 mrg if test -z "$FC" || test no = "$FC"; then
7973 1.1 mrg _lt_disable_FC=yes
7974 1.1 mrg fi
7975 1.1 mrg
7976 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7977 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
7978 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
7979 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=
7980 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7981 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
7982 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7983 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7984 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
7985 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=no
7986 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=no
7987 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=no
7988 1.1 mrg _LT_TAGVAR(module_cmds, $1)=
7989 1.1 mrg _LT_TAGVAR(module_expsym_cmds, $1)=
7990 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=unknown
7991 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7992 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
7993 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7994 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=
7995 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
7996 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7997 1.1 mrg
7998 1.1 mrg # Source file extension for fc test sources.
7999 1.1 mrg ac_ext=${ac_fc_srcext-f}
8000 1.1 mrg
8001 1.1 mrg # Object file extension for compiled fc test sources.
8002 1.1 mrg objext=o
8003 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
8004 1.1 mrg
8005 1.1 mrg # No sense in running all these tests if we already determined that
8006 1.1 mrg # the FC compiler isn't working. Some variables (like enable_shared)
8007 1.1 mrg # are currently assumed to apply to all compilers on this platform,
8008 1.1 mrg # and will be corrupted by setting them based on a non-working compiler.
8009 1.1 mrg if test yes != "$_lt_disable_FC"; then
8010 1.1 mrg # Code to be used in simple compile tests
8011 1.1 mrg lt_simple_compile_test_code="\
8012 1.1 mrg subroutine t
8013 1.1 mrg return
8014 1.1 mrg end
8015 1.1 mrg "
8016 1.1 mrg
8017 1.1 mrg # Code to be used in simple link tests
8018 1.1 mrg lt_simple_link_test_code="\
8019 1.1 mrg program t
8020 1.1 mrg end
8021 1.1 mrg "
8022 1.1 mrg
8023 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8024 1.1 mrg _LT_TAG_COMPILER
8025 1.1 mrg
8026 1.1 mrg # save warnings/boilerplate of simple test code
8027 1.1 mrg _LT_COMPILER_BOILERPLATE
8028 1.1 mrg _LT_LINKER_BOILERPLATE
8029 1.1 mrg
8030 1.1 mrg # Allow CC to be a program name with arguments.
8031 1.1 mrg lt_save_CC=$CC
8032 1.1 mrg lt_save_GCC=$GCC
8033 1.1 mrg lt_save_CFLAGS=$CFLAGS
8034 1.1 mrg CC=${FC-"f95"}
8035 1.1 mrg CFLAGS=$FCFLAGS
8036 1.1 mrg compiler=$CC
8037 1.1 mrg GCC=$ac_cv_fc_compiler_gnu
8038 1.1 mrg
8039 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
8040 1.1 mrg _LT_CC_BASENAME([$compiler])
8041 1.1 mrg
8042 1.1 mrg if test -n "$compiler"; then
8043 1.1 mrg AC_MSG_CHECKING([if libtool supports shared libraries])
8044 1.1 mrg AC_MSG_RESULT([$can_build_shared])
8045 1.1 mrg
8046 1.1 mrg AC_MSG_CHECKING([whether to build shared libraries])
8047 1.1 mrg test no = "$can_build_shared" && enable_shared=no
8048 1.1 mrg
8049 1.1 mrg # On AIX, shared libraries and static libraries use the same namespace, and
8050 1.1 mrg # are all built from PIC.
8051 1.1 mrg case $host_os in
8052 1.1 mrg aix3*)
8053 1.1 mrg test yes = "$enable_shared" && enable_static=no
8054 1.1 mrg if test -n "$RANLIB"; then
8055 1.1 mrg archive_cmds="$archive_cmds~\$RANLIB \$lib"
8056 1.1 mrg postinstall_cmds='$RANLIB $lib'
8057 1.1 mrg fi
8058 1.1 mrg ;;
8059 1.1 mrg aix[[4-9]]*)
8060 1.1 mrg if test ia64 != "$host_cpu"; then
8061 1.1 mrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
8062 1.1 mrg yes,aix,yes) ;; # shared object as lib.so file only
8063 1.1 mrg yes,svr4,*) ;; # shared object as lib.so archive member only
8064 1.1 mrg yes,*) enable_static=no ;; # shared object in lib.a archive as well
8065 1.1 mrg esac
8066 1.1 mrg fi
8067 1.1 mrg ;;
8068 1.1 mrg esac
8069 1.1 mrg AC_MSG_RESULT([$enable_shared])
8070 1.1 mrg
8071 1.1 mrg AC_MSG_CHECKING([whether to build static libraries])
8072 1.1 mrg # Make sure either enable_shared or enable_static is yes.
8073 1.1 mrg test yes = "$enable_shared" || enable_static=yes
8074 1.1 mrg AC_MSG_RESULT([$enable_static])
8075 1.1 mrg
8076 1.1 mrg _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
8077 1.1 mrg _LT_TAGVAR(LD, $1)=$LD
8078 1.1 mrg
8079 1.1 mrg ## CAVEAT EMPTOR:
8080 1.1 mrg ## There is no encapsulation within the following macros, do not change
8081 1.1 mrg ## the running order or otherwise move them around unless you know exactly
8082 1.1 mrg ## what you are doing...
8083 1.1 mrg _LT_SYS_HIDDEN_LIBDEPS($1)
8084 1.1 mrg _LT_COMPILER_PIC($1)
8085 1.1 mrg _LT_COMPILER_C_O($1)
8086 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
8087 1.1 mrg _LT_LINKER_SHLIBS($1)
8088 1.1 mrg _LT_SYS_DYNAMIC_LINKER($1)
8089 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
8090 1.1 mrg
8091 1.1 mrg _LT_CONFIG($1)
8092 1.1 mrg fi # test -n "$compiler"
8093 1.1 mrg
8094 1.1 mrg GCC=$lt_save_GCC
8095 1.1 mrg CC=$lt_save_CC
8096 1.1 mrg CFLAGS=$lt_save_CFLAGS
8097 1.1 mrg fi # test yes != "$_lt_disable_FC"
8098 1.1 mrg
8099 1.1 mrg AC_LANG_POP
8100 1.1 mrg ])# _LT_LANG_FC_CONFIG
8101 1.1 mrg
8102 1.1 mrg
8103 1.1 mrg # _LT_LANG_GCJ_CONFIG([TAG])
8104 1.1 mrg # --------------------------
8105 1.1 mrg # Ensure that the configuration variables for the GNU Java Compiler compiler
8106 1.1 mrg # are suitably defined. These variables are subsequently used by _LT_CONFIG
8107 1.1 mrg # to write the compiler configuration to 'libtool'.
8108 1.1 mrg m4_defun([_LT_LANG_GCJ_CONFIG],
8109 1.1 mrg [AC_REQUIRE([LT_PROG_GCJ])dnl
8110 1.1 mrg AC_LANG_SAVE
8111 1.1 mrg
8112 1.1 mrg # Source file extension for Java test sources.
8113 1.1 mrg ac_ext=java
8114 1.1 mrg
8115 1.1 mrg # Object file extension for compiled Java test sources.
8116 1.1 mrg objext=o
8117 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
8118 1.1 mrg
8119 1.1 mrg # Code to be used in simple compile tests
8120 1.1 mrg lt_simple_compile_test_code="class foo {}"
8121 1.1 mrg
8122 1.1 mrg # Code to be used in simple link tests
8123 1.1 mrg lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
8124 1.1 mrg
8125 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8126 1.1 mrg _LT_TAG_COMPILER
8127 1.1 mrg
8128 1.1 mrg # save warnings/boilerplate of simple test code
8129 1.1 mrg _LT_COMPILER_BOILERPLATE
8130 1.1 mrg _LT_LINKER_BOILERPLATE
8131 1.1 mrg
8132 1.1 mrg # Allow CC to be a program name with arguments.
8133 1.1 mrg lt_save_CC=$CC
8134 1.1 mrg lt_save_CFLAGS=$CFLAGS
8135 1.1 mrg lt_save_GCC=$GCC
8136 1.1 mrg GCC=yes
8137 1.1 mrg CC=${GCJ-"gcj"}
8138 1.1 mrg CFLAGS=$GCJFLAGS
8139 1.1 mrg compiler=$CC
8140 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
8141 1.1 mrg _LT_TAGVAR(LD, $1)=$LD
8142 1.1 mrg _LT_CC_BASENAME([$compiler])
8143 1.1 mrg
8144 1.1 mrg # GCJ did not exist at the time GCC didn't implicitly link libc in.
8145 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8146 1.1 mrg
8147 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8148 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
8149 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8150 1.1 mrg
8151 1.1 mrg ## CAVEAT EMPTOR:
8152 1.1 mrg ## There is no encapsulation within the following macros, do not change
8153 1.1 mrg ## the running order or otherwise move them around unless you know exactly
8154 1.1 mrg ## what you are doing...
8155 1.1 mrg if test -n "$compiler"; then
8156 1.1 mrg _LT_COMPILER_NO_RTTI($1)
8157 1.1 mrg _LT_COMPILER_PIC($1)
8158 1.1 mrg _LT_COMPILER_C_O($1)
8159 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
8160 1.1 mrg _LT_LINKER_SHLIBS($1)
8161 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
8162 1.1 mrg
8163 1.1 mrg _LT_CONFIG($1)
8164 1.1 mrg fi
8165 1.1 mrg
8166 1.1 mrg AC_LANG_RESTORE
8167 1.1 mrg
8168 1.1 mrg GCC=$lt_save_GCC
8169 1.1 mrg CC=$lt_save_CC
8170 1.1 mrg CFLAGS=$lt_save_CFLAGS
8171 1.1 mrg ])# _LT_LANG_GCJ_CONFIG
8172 1.1 mrg
8173 1.1 mrg
8174 1.1 mrg # _LT_LANG_GO_CONFIG([TAG])
8175 1.1 mrg # --------------------------
8176 1.1 mrg # Ensure that the configuration variables for the GNU Go compiler
8177 1.1 mrg # are suitably defined. These variables are subsequently used by _LT_CONFIG
8178 1.1 mrg # to write the compiler configuration to 'libtool'.
8179 1.1 mrg m4_defun([_LT_LANG_GO_CONFIG],
8180 1.1 mrg [AC_REQUIRE([LT_PROG_GO])dnl
8181 1.1 mrg AC_LANG_SAVE
8182 1.1 mrg
8183 1.1 mrg # Source file extension for Go test sources.
8184 1.1 mrg ac_ext=go
8185 1.1 mrg
8186 1.1 mrg # Object file extension for compiled Go test sources.
8187 1.1 mrg objext=o
8188 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
8189 1.1 mrg
8190 1.1 mrg # Code to be used in simple compile tests
8191 1.1 mrg lt_simple_compile_test_code="package main; func main() { }"
8192 1.1 mrg
8193 1.1 mrg # Code to be used in simple link tests
8194 1.1 mrg lt_simple_link_test_code='package main; func main() { }'
8195 1.1 mrg
8196 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8197 1.1 mrg _LT_TAG_COMPILER
8198 1.1 mrg
8199 1.1 mrg # save warnings/boilerplate of simple test code
8200 1.1 mrg _LT_COMPILER_BOILERPLATE
8201 1.1 mrg _LT_LINKER_BOILERPLATE
8202 1.1 mrg
8203 1.1 mrg # Allow CC to be a program name with arguments.
8204 1.1 mrg lt_save_CC=$CC
8205 1.1 mrg lt_save_CFLAGS=$CFLAGS
8206 1.1 mrg lt_save_GCC=$GCC
8207 1.1 mrg GCC=yes
8208 1.1 mrg CC=${GOC-"gccgo"}
8209 1.1 mrg CFLAGS=$GOFLAGS
8210 1.1 mrg compiler=$CC
8211 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
8212 1.1 mrg _LT_TAGVAR(LD, $1)=$LD
8213 1.1 mrg _LT_CC_BASENAME([$compiler])
8214 1.1 mrg
8215 1.1 mrg # Go did not exist at the time GCC didn't implicitly link libc in.
8216 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8217 1.1 mrg
8218 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8219 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
8220 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8221 1.1 mrg
8222 1.1 mrg ## CAVEAT EMPTOR:
8223 1.1 mrg ## There is no encapsulation within the following macros, do not change
8224 1.1 mrg ## the running order or otherwise move them around unless you know exactly
8225 1.1 mrg ## what you are doing...
8226 1.1 mrg if test -n "$compiler"; then
8227 1.1 mrg _LT_COMPILER_NO_RTTI($1)
8228 1.1 mrg _LT_COMPILER_PIC($1)
8229 1.1 mrg _LT_COMPILER_C_O($1)
8230 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
8231 1.1 mrg _LT_LINKER_SHLIBS($1)
8232 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
8233 1.1 mrg
8234 1.1 mrg _LT_CONFIG($1)
8235 1.1 mrg fi
8236 1.1 mrg
8237 1.1 mrg AC_LANG_RESTORE
8238 1.1 mrg
8239 1.1 mrg GCC=$lt_save_GCC
8240 1.1 mrg CC=$lt_save_CC
8241 1.1 mrg CFLAGS=$lt_save_CFLAGS
8242 1.1 mrg ])# _LT_LANG_GO_CONFIG
8243 1.1 mrg
8244 1.1 mrg
8245 1.1 mrg # _LT_LANG_RC_CONFIG([TAG])
8246 1.1 mrg # -------------------------
8247 1.1 mrg # Ensure that the configuration variables for the Windows resource compiler
8248 1.1 mrg # are suitably defined. These variables are subsequently used by _LT_CONFIG
8249 1.1 mrg # to write the compiler configuration to 'libtool'.
8250 1.1 mrg m4_defun([_LT_LANG_RC_CONFIG],
8251 1.1 mrg [AC_REQUIRE([LT_PROG_RC])dnl
8252 1.1 mrg AC_LANG_SAVE
8253 1.1 mrg
8254 1.1 mrg # Source file extension for RC test sources.
8255 1.1 mrg ac_ext=rc
8256 1.1 mrg
8257 1.1 mrg # Object file extension for compiled RC test sources.
8258 1.1 mrg objext=o
8259 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
8260 1.1 mrg
8261 1.1 mrg # Code to be used in simple compile tests
8262 1.1 mrg lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
8263 1.1 mrg
8264 1.1 mrg # Code to be used in simple link tests
8265 1.1 mrg lt_simple_link_test_code=$lt_simple_compile_test_code
8266 1.1 mrg
8267 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8268 1.1 mrg _LT_TAG_COMPILER
8269 1.1 mrg
8270 1.1 mrg # save warnings/boilerplate of simple test code
8271 1.1 mrg _LT_COMPILER_BOILERPLATE
8272 1.1 mrg _LT_LINKER_BOILERPLATE
8273 1.1 mrg
8274 1.1 mrg # Allow CC to be a program name with arguments.
8275 1.1 mrg lt_save_CC=$CC
8276 1.1 mrg lt_save_CFLAGS=$CFLAGS
8277 1.1 mrg lt_save_GCC=$GCC
8278 1.1 mrg GCC=
8279 1.1 mrg CC=${RC-"windres"}
8280 1.1 mrg CFLAGS=
8281 1.1 mrg compiler=$CC
8282 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
8283 1.1 mrg _LT_CC_BASENAME([$compiler])
8284 1.1 mrg _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
8285 1.1 mrg
8286 1.1 mrg if test -n "$compiler"; then
8287 1.1 mrg :
8288 1.1 mrg _LT_CONFIG($1)
8289 1.1 mrg fi
8290 1.1 mrg
8291 1.1 mrg GCC=$lt_save_GCC
8292 1.1 mrg AC_LANG_RESTORE
8293 1.1 mrg CC=$lt_save_CC
8294 1.1 mrg CFLAGS=$lt_save_CFLAGS
8295 1.1 mrg ])# _LT_LANG_RC_CONFIG
8296 1.1 mrg
8297 1.1 mrg
8298 1.1 mrg # LT_PROG_GCJ
8299 1.1 mrg # -----------
8300 1.1 mrg AC_DEFUN([LT_PROG_GCJ],
8301 1.1 mrg [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
8302 1.1 mrg [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
8303 1.1 mrg [AC_CHECK_TOOL(GCJ, gcj,)
8304 1.1 mrg test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
8305 1.1 mrg AC_SUBST(GCJFLAGS)])])[]dnl
8306 1.1 mrg ])
8307 1.1 mrg
8308 1.1 mrg # Old name:
8309 1.1 mrg AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
8310 1.1 mrg dnl aclocal-1.4 backwards compatibility:
8311 1.1 mrg dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
8312 1.1 mrg
8313 1.1 mrg
8314 1.1 mrg # LT_PROG_GO
8315 1.1 mrg # ----------
8316 1.1 mrg AC_DEFUN([LT_PROG_GO],
8317 1.1 mrg [AC_CHECK_TOOL(GOC, gccgo,)
8318 1.1 mrg ])
8319 1.1 mrg
8320 1.1 mrg
8321 1.1 mrg # LT_PROG_RC
8322 1.1 mrg # ----------
8323 1.1 mrg AC_DEFUN([LT_PROG_RC],
8324 1.1 mrg [AC_CHECK_TOOL(RC, windres,)
8325 1.1 mrg ])
8326 1.1 mrg
8327 1.1 mrg # Old name:
8328 1.1 mrg AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
8329 1.1 mrg dnl aclocal-1.4 backwards compatibility:
8330 1.1 mrg dnl AC_DEFUN([LT_AC_PROG_RC], [])
8331 1.1 mrg
8332 1.1 mrg
8333 1.1 mrg # _LT_DECL_EGREP
8334 1.1 mrg # --------------
8335 1.1 mrg # If we don't have a new enough Autoconf to choose the best grep
8336 1.1 mrg # available, choose the one first in the user's PATH.
8337 1.1 mrg m4_defun([_LT_DECL_EGREP],
8338 1.1 mrg [AC_REQUIRE([AC_PROG_EGREP])dnl
8339 1.1 mrg AC_REQUIRE([AC_PROG_FGREP])dnl
8340 1.1 mrg test -z "$GREP" && GREP=grep
8341 1.1 mrg _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
8342 1.1 mrg _LT_DECL([], [EGREP], [1], [An ERE matcher])
8343 1.1 mrg _LT_DECL([], [FGREP], [1], [A literal string matcher])
8344 1.1 mrg dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
8345 1.1 mrg AC_SUBST([GREP])
8346 1.1 mrg ])
8347 1.1 mrg
8348 1.1 mrg
8349 1.1 mrg # _LT_DECL_OBJDUMP
8350 1.1 mrg # --------------
8351 1.1 mrg # If we don't have a new enough Autoconf to choose the best objdump
8352 1.1 mrg # available, choose the one first in the user's PATH.
8353 1.1 mrg m4_defun([_LT_DECL_OBJDUMP],
8354 1.1 mrg [AC_CHECK_TOOL(OBJDUMP, objdump, false)
8355 1.1 mrg test -z "$OBJDUMP" && OBJDUMP=objdump
8356 1.1 mrg _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
8357 1.1 mrg AC_SUBST([OBJDUMP])
8358 1.1 mrg ])
8359 1.1 mrg
8360 1.1 mrg # _LT_DECL_DLLTOOL
8361 1.1 mrg # ----------------
8362 1.1 mrg # Ensure DLLTOOL variable is set.
8363 1.1 mrg m4_defun([_LT_DECL_DLLTOOL],
8364 1.1 mrg [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8365 1.1 mrg test -z "$DLLTOOL" && DLLTOOL=dlltool
8366 1.1 mrg _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
8367 1.1 mrg AC_SUBST([DLLTOOL])
8368 1.1 mrg ])
8369 1.1 mrg
8370 1.1 mrg # _LT_DECL_FILECMD
8371 1.1 mrg # ----------------
8372 1.1 mrg # Check for a file(cmd) program that can be used to detect file type and magic
8373 1.1 mrg m4_defun([_LT_DECL_FILECMD],
8374 1.1 mrg [AC_CHECK_PROG([FILECMD], [file], [file], [:])
8375 1.1 mrg _LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
8376 1.1 mrg ])# _LD_DECL_FILECMD
8377 1.1 mrg
8378 1.1 mrg # _LT_DECL_SED
8379 1.1 mrg # ------------
8380 1.1 mrg # Check for a fully-functional sed program, that truncates
8381 1.1 mrg # as few characters as possible. Prefer GNU sed if found.
8382 1.1 mrg m4_defun([_LT_DECL_SED],
8383 1.1 mrg [AC_PROG_SED
8384 1.1 mrg test -z "$SED" && SED=sed
8385 1.1 mrg Xsed="$SED -e 1s/^X//"
8386 1.1 mrg _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
8387 1.1 mrg _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
8388 1.1 mrg [Sed that helps us avoid accidentally triggering echo(1) options like -n])
8389 1.1 mrg ])# _LT_DECL_SED
8390 1.1 mrg dnl aclocal-1.4 backwards compatibility:
8391 1.1 mrg dnl AC_DEFUN([LT_AC_PROG_SED], [])
8392 1.1 mrg
8393 1.1 mrg
8394 1.1 mrg # _LT_CHECK_SHELL_FEATURES
8395 1.1 mrg # ------------------------
8396 1.1 mrg # Find out whether the shell is Bourne or XSI compatible,
8397 1.1 mrg # or has some other useful features.
8398 1.1 mrg m4_defun([_LT_CHECK_SHELL_FEATURES],
8399 1.1 mrg [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8400 1.1 mrg lt_unset=unset
8401 1.1 mrg else
8402 1.1 mrg lt_unset=false
8403 1.1 mrg fi
8404 1.1 mrg _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
8405 1.1 mrg
8406 1.1 mrg # test EBCDIC or ASCII
8407 1.1 mrg case `echo X|tr X '\101'` in
8408 1.1 mrg A) # ASCII based system
8409 1.1 mrg # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8410 1.1 mrg lt_SP2NL='tr \040 \012'
8411 1.1 mrg lt_NL2SP='tr \015\012 \040\040'
8412 1.1 mrg ;;
8413 1.1 mrg *) # EBCDIC based system
8414 1.1 mrg lt_SP2NL='tr \100 \n'
8415 1.1 mrg lt_NL2SP='tr \r\n \100\100'
8416 1.1 mrg ;;
8417 1.1 mrg esac
8418 1.1 mrg _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8419 1.1 mrg _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8420 1.1 mrg ])# _LT_CHECK_SHELL_FEATURES
8421 1.1 mrg
8422 1.1 mrg
8423 1.1 mrg # _LT_PATH_CONVERSION_FUNCTIONS
8424 1.1 mrg # -----------------------------
8425 1.1 mrg # Determine what file name conversion functions should be used by
8426 1.1 mrg # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
8427 1.1 mrg # for certain cross-compile configurations and native mingw.
8428 1.1 mrg m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
8429 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
8430 1.1 mrg AC_REQUIRE([AC_CANONICAL_BUILD])dnl
8431 1.1 mrg AC_MSG_CHECKING([how to convert $build file names to $host format])
8432 1.1 mrg AC_CACHE_VAL(lt_cv_to_host_file_cmd,
8433 1.1 mrg [case $host in
8434 1.1 mrg *-*-mingw* )
8435 1.1 mrg case $build in
8436 1.1 mrg *-*-mingw* | *-*-windows* ) # actually msys
8437 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8438 1.1 mrg ;;
8439 1.1 mrg *-*-cygwin* )
8440 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8441 1.1 mrg ;;
8442 1.1 mrg * ) # otherwise, assume *nix
8443 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8444 1.1 mrg ;;
8445 1.1 mrg esac
8446 1.1 mrg ;;
8447 1.1 mrg *-*-cygwin* )
8448 1.1 mrg case $build in
8449 1.1 mrg *-*-mingw* | *-*-windows* ) # actually msys
8450 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8451 1.1 mrg ;;
8452 1.1 mrg *-*-cygwin* )
8453 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_noop
8454 1.1 mrg ;;
8455 1.1 mrg * ) # otherwise, assume *nix
8456 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8457 1.1 mrg ;;
8458 1.1 mrg esac
8459 1.1 mrg ;;
8460 1.1 mrg * ) # unhandled hosts (and "normal" native builds)
8461 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_noop
8462 1.1 mrg ;;
8463 1.1 mrg esac
8464 1.1 mrg ])
8465 1.1 mrg to_host_file_cmd=$lt_cv_to_host_file_cmd
8466 1.1 mrg AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8467 1.1 mrg _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8468 1.1 mrg [0], [convert $build file names to $host format])dnl
8469 1.1 mrg
8470 1.1 mrg AC_MSG_CHECKING([how to convert $build file names to toolchain format])
8471 1.1 mrg AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8472 1.1 mrg [#assume ordinary cross tools, or native build.
8473 1.1 mrg lt_cv_to_tool_file_cmd=func_convert_file_noop
8474 1.1 mrg case $host in
8475 1.1 mrg *-*-mingw* | *-*-windows* )
8476 1.1 mrg case $build in
8477 1.1 mrg *-*-mingw* | *-*-windows* ) # actually msys
8478 1.1 mrg lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8479 1.1 mrg ;;
8480 1.1 mrg esac
8481 1.1 mrg ;;
8482 1.1 mrg esac
8483 1.1 mrg ])
8484 1.1 mrg to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8485 1.1 mrg AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8486 1.1 mrg _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8487 1.1 mrg [0], [convert $build files to toolchain format])dnl
8488 1.1 mrg ])# _LT_PATH_CONVERSION_FUNCTIONS
8489