libtool.m4 revision 1.1.1.5 1 1.1 spz # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2 1.1 spz #
3 1.1.1.5 wiz # Copyright (C) 1996-2001, 2003-2019, 2021-2024 Free Software
4 1.1.1.5 wiz # Foundation, Inc.
5 1.1 spz # Written by Gordon Matzigkeit, 1996
6 1.1 spz #
7 1.1 spz # This file is free software; the Free Software Foundation gives
8 1.1 spz # unlimited permission to copy and/or distribute it, with or without
9 1.1 spz # modifications, as long as this notice is preserved.
10 1.1 spz
11 1.1 spz m4_define([_LT_COPYING], [dnl
12 1.1.1.5 wiz # Copyright (C) 2024 Free Software Foundation, Inc.
13 1.1.1.3 spz # This is free software; see the source for copying conditions. There is NO
14 1.1.1.3 spz # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 1.1.1.3 spz
16 1.1.1.3 spz # GNU Libtool is free software; you can redistribute it and/or modify
17 1.1.1.3 spz # it under the terms of the GNU General Public License as published by
18 1.1.1.5 wiz # the Free Software Foundation; either version 2 of the License, or
19 1.1.1.3 spz # (at your option) any later version.
20 1.1 spz #
21 1.1.1.3 spz # As a special exception to the GNU General Public License, if you
22 1.1.1.3 spz # distribute this file as part of a program or library that is built
23 1.1.1.3 spz # using GNU Libtool, you may include this file under the same
24 1.1.1.3 spz # distribution terms that you use for the rest of that program.
25 1.1 spz #
26 1.1.1.3 spz # GNU Libtool is distributed in the hope that it will be useful, but
27 1.1.1.3 spz # WITHOUT ANY WARRANTY; without even the implied warranty of
28 1.1 spz # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 1.1 spz # GNU General Public License for more details.
30 1.1 spz #
31 1.1 spz # You should have received a copy of the GNU General Public License
32 1.1.1.3 spz # along with this program. If not, see <http://www.gnu.org/licenses/>.
33 1.1 spz ])
34 1.1 spz
35 1.1.1.5 wiz # serial 63 LT_INIT
36 1.1 spz
37 1.1 spz
38 1.1 spz # LT_PREREQ(VERSION)
39 1.1 spz # ------------------
40 1.1 spz # Complain and exit if this libtool version is less that VERSION.
41 1.1 spz m4_defun([LT_PREREQ],
42 1.1 spz [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
43 1.1 spz [m4_default([$3],
44 1.1 spz [m4_fatal([Libtool version $1 or higher is required],
45 1.1 spz 63)])],
46 1.1 spz [$2])])
47 1.1 spz
48 1.1 spz
49 1.1 spz # _LT_CHECK_BUILDDIR
50 1.1 spz # ------------------
51 1.1 spz # Complain if the absolute build directory name contains unusual characters
52 1.1 spz m4_defun([_LT_CHECK_BUILDDIR],
53 1.1 spz [case `pwd` in
54 1.1 spz *\ * | *\ *)
55 1.1 spz AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
56 1.1 spz esac
57 1.1 spz ])
58 1.1 spz
59 1.1 spz
60 1.1 spz # LT_INIT([OPTIONS])
61 1.1 spz # ------------------
62 1.1 spz AC_DEFUN([LT_INIT],
63 1.1.1.5 wiz [AC_PREREQ([2.64])dnl We use AC_PATH_PROGS_FEATURE_CHECK
64 1.1 spz AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
65 1.1 spz AC_BEFORE([$0], [LT_LANG])dnl
66 1.1 spz AC_BEFORE([$0], [LT_OUTPUT])dnl
67 1.1 spz AC_BEFORE([$0], [LTDL_INIT])dnl
68 1.1 spz m4_require([_LT_CHECK_BUILDDIR])dnl
69 1.1 spz
70 1.1 spz dnl Autoconf doesn't catch unexpanded LT_ macros by default:
71 1.1 spz m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
72 1.1 spz m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
73 1.1 spz dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
74 1.1 spz dnl unless we require an AC_DEFUNed macro:
75 1.1 spz AC_REQUIRE([LTOPTIONS_VERSION])dnl
76 1.1 spz AC_REQUIRE([LTSUGAR_VERSION])dnl
77 1.1 spz AC_REQUIRE([LTVERSION_VERSION])dnl
78 1.1 spz AC_REQUIRE([LTOBSOLETE_VERSION])dnl
79 1.1 spz m4_require([_LT_PROG_LTMAIN])dnl
80 1.1 spz
81 1.1 spz _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
82 1.1 spz
83 1.1 spz dnl Parse OPTIONS
84 1.1 spz _LT_SET_OPTIONS([$0], [$1])
85 1.1 spz
86 1.1 spz # This can be used to rebuild libtool when needed
87 1.1.1.3 spz LIBTOOL_DEPS=$ltmain
88 1.1 spz
89 1.1 spz # Always use our own libtool.
90 1.1 spz LIBTOOL='$(SHELL) $(top_builddir)/libtool'
91 1.1 spz AC_SUBST(LIBTOOL)dnl
92 1.1 spz
93 1.1 spz _LT_SETUP
94 1.1 spz
95 1.1 spz # Only expand once:
96 1.1 spz m4_define([LT_INIT])
97 1.1 spz ])# LT_INIT
98 1.1 spz
99 1.1 spz # Old names:
100 1.1 spz AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
101 1.1 spz AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
102 1.1 spz dnl aclocal-1.4 backwards compatibility:
103 1.1 spz dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
104 1.1 spz dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
105 1.1 spz
106 1.1 spz
107 1.1.1.3 spz # _LT_PREPARE_CC_BASENAME
108 1.1.1.3 spz # -----------------------
109 1.1.1.3 spz m4_defun([_LT_PREPARE_CC_BASENAME], [
110 1.1.1.3 spz # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
111 1.1.1.3 spz func_cc_basename ()
112 1.1.1.3 spz {
113 1.1.1.3 spz for cc_temp in @S|@*""; do
114 1.1.1.3 spz case $cc_temp in
115 1.1.1.3 spz compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
116 1.1.1.3 spz distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
117 1.1.1.3 spz \-*) ;;
118 1.1.1.3 spz *) break;;
119 1.1.1.3 spz esac
120 1.1.1.3 spz done
121 1.1.1.3 spz func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
122 1.1.1.3 spz }
123 1.1.1.3 spz ])# _LT_PREPARE_CC_BASENAME
124 1.1.1.3 spz
125 1.1.1.3 spz
126 1.1 spz # _LT_CC_BASENAME(CC)
127 1.1 spz # -------------------
128 1.1.1.3 spz # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
129 1.1.1.3 spz # but that macro is also expanded into generated libtool script, which
130 1.1.1.3 spz # arranges for $SED and $ECHO to be set by different means.
131 1.1 spz m4_defun([_LT_CC_BASENAME],
132 1.1.1.3 spz [m4_require([_LT_PREPARE_CC_BASENAME])dnl
133 1.1.1.3 spz AC_REQUIRE([_LT_DECL_SED])dnl
134 1.1.1.3 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
135 1.1.1.3 spz func_cc_basename $1
136 1.1.1.3 spz cc_basename=$func_cc_basename_result
137 1.1 spz ])
138 1.1 spz
139 1.1 spz
140 1.1 spz # _LT_FILEUTILS_DEFAULTS
141 1.1 spz # ----------------------
142 1.1 spz # It is okay to use these file commands and assume they have been set
143 1.1.1.3 spz # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
144 1.1 spz m4_defun([_LT_FILEUTILS_DEFAULTS],
145 1.1 spz [: ${CP="cp -f"}
146 1.1 spz : ${MV="mv -f"}
147 1.1 spz : ${RM="rm -f"}
148 1.1 spz ])# _LT_FILEUTILS_DEFAULTS
149 1.1 spz
150 1.1 spz
151 1.1 spz # _LT_SETUP
152 1.1 spz # ---------
153 1.1 spz m4_defun([_LT_SETUP],
154 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
155 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
156 1.1 spz AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
157 1.1 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
158 1.1 spz
159 1.1.1.2 spz _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
160 1.1.1.2 spz dnl
161 1.1 spz _LT_DECL([], [host_alias], [0], [The host system])dnl
162 1.1 spz _LT_DECL([], [host], [0])dnl
163 1.1 spz _LT_DECL([], [host_os], [0])dnl
164 1.1 spz dnl
165 1.1 spz _LT_DECL([], [build_alias], [0], [The build system])dnl
166 1.1 spz _LT_DECL([], [build], [0])dnl
167 1.1 spz _LT_DECL([], [build_os], [0])dnl
168 1.1 spz dnl
169 1.1 spz AC_REQUIRE([AC_PROG_CC])dnl
170 1.1 spz AC_REQUIRE([LT_PATH_LD])dnl
171 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
172 1.1 spz dnl
173 1.1 spz AC_REQUIRE([AC_PROG_LN_S])dnl
174 1.1 spz test -z "$LN_S" && LN_S="ln -s"
175 1.1 spz _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
176 1.1 spz dnl
177 1.1 spz AC_REQUIRE([LT_CMD_MAX_LEN])dnl
178 1.1 spz _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
179 1.1 spz _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
180 1.1 spz dnl
181 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
182 1.1 spz m4_require([_LT_CHECK_SHELL_FEATURES])dnl
183 1.1 spz m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
184 1.1 spz m4_require([_LT_CMD_RELOAD])dnl
185 1.1.1.5 wiz m4_require([_LT_DECL_FILECMD])dnl
186 1.1 spz m4_require([_LT_CHECK_MAGIC_METHOD])dnl
187 1.1 spz m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
188 1.1 spz m4_require([_LT_CMD_OLD_ARCHIVE])dnl
189 1.1 spz m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
190 1.1 spz m4_require([_LT_WITH_SYSROOT])dnl
191 1.1.1.3 spz m4_require([_LT_CMD_TRUNCATE])dnl
192 1.1 spz
193 1.1 spz _LT_CONFIG_LIBTOOL_INIT([
194 1.1.1.3 spz # See if we are running on zsh, and set the options that allow our
195 1.1 spz # commands through without removal of \ escapes INIT.
196 1.1.1.3 spz if test -n "\${ZSH_VERSION+set}"; then
197 1.1 spz setopt NO_GLOB_SUBST
198 1.1 spz fi
199 1.1 spz ])
200 1.1.1.3 spz if test -n "${ZSH_VERSION+set}"; then
201 1.1 spz setopt NO_GLOB_SUBST
202 1.1 spz fi
203 1.1 spz
204 1.1 spz _LT_CHECK_OBJDIR
205 1.1 spz
206 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
207 1.1 spz
208 1.1 spz case $host_os in
209 1.1 spz aix3*)
210 1.1 spz # AIX sometimes has problems with the GCC collect2 program. For some
211 1.1 spz # reason, if we set the COLLECT_NAMES environment variable, the problems
212 1.1 spz # vanish in a puff of smoke.
213 1.1.1.3 spz if test set != "${COLLECT_NAMES+set}"; then
214 1.1 spz COLLECT_NAMES=
215 1.1 spz export COLLECT_NAMES
216 1.1 spz fi
217 1.1 spz ;;
218 1.1 spz esac
219 1.1 spz
220 1.1 spz # Global variables:
221 1.1 spz ofile=libtool
222 1.1 spz can_build_shared=yes
223 1.1 spz
224 1.1.1.5 wiz # All known linkers require a '.a' archive for static linking (except MSVC and
225 1.1.1.5 wiz # ICC, which need '.lib').
226 1.1 spz libext=a
227 1.1 spz
228 1.1.1.3 spz with_gnu_ld=$lt_cv_prog_gnu_ld
229 1.1 spz
230 1.1.1.3 spz old_CC=$CC
231 1.1.1.3 spz old_CFLAGS=$CFLAGS
232 1.1 spz
233 1.1 spz # Set sane defaults for various variables
234 1.1 spz test -z "$CC" && CC=cc
235 1.1 spz test -z "$LTCC" && LTCC=$CC
236 1.1 spz test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
237 1.1 spz test -z "$LD" && LD=ld
238 1.1 spz test -z "$ac_objext" && ac_objext=o
239 1.1 spz
240 1.1 spz _LT_CC_BASENAME([$compiler])
241 1.1 spz
242 1.1 spz # Only perform the check for file, if the check method requires it
243 1.1 spz test -z "$MAGIC_CMD" && MAGIC_CMD=file
244 1.1 spz case $deplibs_check_method in
245 1.1 spz file_magic*)
246 1.1 spz if test "$file_magic_cmd" = '$MAGIC_CMD'; then
247 1.1 spz _LT_PATH_MAGIC
248 1.1 spz fi
249 1.1 spz ;;
250 1.1 spz esac
251 1.1 spz
252 1.1 spz # Use C for the default configuration in the libtool script
253 1.1 spz LT_SUPPORTED_TAG([CC])
254 1.1 spz _LT_LANG_C_CONFIG
255 1.1 spz _LT_LANG_DEFAULT_CONFIG
256 1.1 spz _LT_CONFIG_COMMANDS
257 1.1 spz ])# _LT_SETUP
258 1.1 spz
259 1.1 spz
260 1.1 spz # _LT_PREPARE_SED_QUOTE_VARS
261 1.1 spz # --------------------------
262 1.1 spz # Define a few sed substitution that help us do robust quoting.
263 1.1 spz m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
264 1.1 spz [# Backslashify metacharacters that are still active within
265 1.1 spz # double-quoted strings.
266 1.1 spz sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
267 1.1 spz
268 1.1 spz # Same as above, but do not quote variable references.
269 1.1 spz double_quote_subst='s/\([["`\\]]\)/\\\1/g'
270 1.1 spz
271 1.1 spz # Sed substitution to delay expansion of an escaped shell variable in a
272 1.1 spz # double_quote_subst'ed string.
273 1.1 spz delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
274 1.1 spz
275 1.1 spz # Sed substitution to delay expansion of an escaped single quote.
276 1.1 spz delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
277 1.1 spz
278 1.1 spz # Sed substitution to avoid accidental globbing in evaled expressions
279 1.1 spz no_glob_subst='s/\*/\\\*/g'
280 1.1 spz ])
281 1.1 spz
282 1.1 spz # _LT_PROG_LTMAIN
283 1.1 spz # ---------------
284 1.1.1.3 spz # Note that this code is called both from 'configure', and 'config.status'
285 1.1 spz # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
286 1.1.1.3 spz # 'config.status' has no value for ac_aux_dir unless we are using Automake,
287 1.1 spz # so we pass a copy along to make sure it has a sensible value anyway.
288 1.1 spz m4_defun([_LT_PROG_LTMAIN],
289 1.1 spz [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
290 1.1 spz _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
291 1.1.1.3 spz ltmain=$ac_aux_dir/ltmain.sh
292 1.1 spz ])# _LT_PROG_LTMAIN
293 1.1 spz
294 1.1 spz
295 1.1 spz ## ------------------------------------- ##
296 1.1 spz ## Accumulate code for creating libtool. ##
297 1.1 spz ## ------------------------------------- ##
298 1.1 spz
299 1.1 spz # So that we can recreate a full libtool script including additional
300 1.1 spz # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
301 1.1.1.3 spz # in macros and then make a single call at the end using the 'libtool'
302 1.1 spz # label.
303 1.1 spz
304 1.1 spz
305 1.1 spz # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
306 1.1 spz # ----------------------------------------
307 1.1 spz # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
308 1.1 spz m4_define([_LT_CONFIG_LIBTOOL_INIT],
309 1.1 spz [m4_ifval([$1],
310 1.1 spz [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
311 1.1 spz [$1
312 1.1 spz ])])])
313 1.1 spz
314 1.1 spz # Initialize.
315 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_INIT])
316 1.1 spz
317 1.1 spz
318 1.1 spz # _LT_CONFIG_LIBTOOL([COMMANDS])
319 1.1 spz # ------------------------------
320 1.1 spz # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
321 1.1 spz m4_define([_LT_CONFIG_LIBTOOL],
322 1.1 spz [m4_ifval([$1],
323 1.1 spz [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
324 1.1 spz [$1
325 1.1 spz ])])])
326 1.1 spz
327 1.1 spz # Initialize.
328 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
329 1.1 spz
330 1.1 spz
331 1.1 spz # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
332 1.1 spz # -----------------------------------------------------
333 1.1 spz m4_defun([_LT_CONFIG_SAVE_COMMANDS],
334 1.1 spz [_LT_CONFIG_LIBTOOL([$1])
335 1.1 spz _LT_CONFIG_LIBTOOL_INIT([$2])
336 1.1 spz ])
337 1.1 spz
338 1.1 spz
339 1.1 spz # _LT_FORMAT_COMMENT([COMMENT])
340 1.1 spz # -----------------------------
341 1.1 spz # Add leading comment marks to the start of each line, and a trailing
342 1.1 spz # full-stop to the whole comment if one is not present already.
343 1.1 spz m4_define([_LT_FORMAT_COMMENT],
344 1.1 spz [m4_ifval([$1], [
345 1.1 spz m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
346 1.1 spz [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
347 1.1 spz )])
348 1.1 spz
349 1.1 spz
350 1.1 spz
351 1.1 spz ## ------------------------ ##
352 1.1 spz ## FIXME: Eliminate VARNAME ##
353 1.1 spz ## ------------------------ ##
354 1.1 spz
355 1.1 spz
356 1.1 spz # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
357 1.1 spz # -------------------------------------------------------------------
358 1.1 spz # CONFIGNAME is the name given to the value in the libtool script.
359 1.1 spz # VARNAME is the (base) name used in the configure script.
360 1.1 spz # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
361 1.1 spz # VARNAME. Any other value will be used directly.
362 1.1 spz m4_define([_LT_DECL],
363 1.1 spz [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
364 1.1 spz [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
365 1.1 spz [m4_ifval([$1], [$1], [$2])])
366 1.1 spz lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
367 1.1 spz m4_ifval([$4],
368 1.1 spz [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
369 1.1 spz lt_dict_add_subkey([lt_decl_dict], [$2],
370 1.1 spz [tagged?], [m4_ifval([$5], [yes], [no])])])
371 1.1 spz ])
372 1.1 spz
373 1.1 spz
374 1.1 spz # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
375 1.1 spz # --------------------------------------------------------
376 1.1 spz m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
377 1.1 spz
378 1.1 spz
379 1.1 spz # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
380 1.1 spz # ------------------------------------------------
381 1.1 spz m4_define([lt_decl_tag_varnames],
382 1.1 spz [_lt_decl_filter([tagged?], [yes], $@)])
383 1.1 spz
384 1.1 spz
385 1.1 spz # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
386 1.1 spz # ---------------------------------------------------------
387 1.1 spz m4_define([_lt_decl_filter],
388 1.1 spz [m4_case([$#],
389 1.1 spz [0], [m4_fatal([$0: too few arguments: $#])],
390 1.1 spz [1], [m4_fatal([$0: too few arguments: $#: $1])],
391 1.1 spz [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
392 1.1 spz [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
393 1.1 spz [lt_dict_filter([lt_decl_dict], $@)])[]dnl
394 1.1 spz ])
395 1.1 spz
396 1.1 spz
397 1.1 spz # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
398 1.1 spz # --------------------------------------------------
399 1.1 spz m4_define([lt_decl_quote_varnames],
400 1.1 spz [_lt_decl_filter([value], [1], $@)])
401 1.1 spz
402 1.1 spz
403 1.1 spz # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
404 1.1 spz # ---------------------------------------------------
405 1.1 spz m4_define([lt_decl_dquote_varnames],
406 1.1 spz [_lt_decl_filter([value], [2], $@)])
407 1.1 spz
408 1.1 spz
409 1.1 spz # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
410 1.1 spz # ---------------------------------------------------
411 1.1 spz m4_define([lt_decl_varnames_tagged],
412 1.1 spz [m4_assert([$# <= 2])dnl
413 1.1 spz _$0(m4_quote(m4_default([$1], [[, ]])),
414 1.1 spz m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
415 1.1 spz m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
416 1.1 spz m4_define([_lt_decl_varnames_tagged],
417 1.1 spz [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
418 1.1 spz
419 1.1 spz
420 1.1 spz # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
421 1.1 spz # ------------------------------------------------
422 1.1 spz m4_define([lt_decl_all_varnames],
423 1.1 spz [_$0(m4_quote(m4_default([$1], [[, ]])),
424 1.1 spz m4_if([$2], [],
425 1.1 spz m4_quote(lt_decl_varnames),
426 1.1 spz m4_quote(m4_shift($@))))[]dnl
427 1.1 spz ])
428 1.1 spz m4_define([_lt_decl_all_varnames],
429 1.1 spz [lt_join($@, lt_decl_varnames_tagged([$1],
430 1.1 spz lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
431 1.1 spz ])
432 1.1 spz
433 1.1 spz
434 1.1 spz # _LT_CONFIG_STATUS_DECLARE([VARNAME])
435 1.1 spz # ------------------------------------
436 1.1.1.3 spz # Quote a variable value, and forward it to 'config.status' so that its
437 1.1.1.3 spz # declaration there will have the same value as in 'configure'. VARNAME
438 1.1 spz # must have a single quote delimited value for this to work.
439 1.1 spz m4_define([_LT_CONFIG_STATUS_DECLARE],
440 1.1 spz [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
441 1.1 spz
442 1.1 spz
443 1.1 spz # _LT_CONFIG_STATUS_DECLARATIONS
444 1.1 spz # ------------------------------
445 1.1 spz # We delimit libtool config variables with single quotes, so when
446 1.1 spz # we write them to config.status, we have to be sure to quote all
447 1.1 spz # embedded single quotes properly. In configure, this macro expands
448 1.1 spz # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
449 1.1 spz #
450 1.1 spz # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
451 1.1 spz m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
452 1.1 spz [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
453 1.1 spz [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
454 1.1 spz
455 1.1 spz
456 1.1 spz # _LT_LIBTOOL_TAGS
457 1.1 spz # ----------------
458 1.1 spz # Output comment and list of tags supported by the script
459 1.1 spz m4_defun([_LT_LIBTOOL_TAGS],
460 1.1 spz [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
461 1.1.1.3 spz available_tags='_LT_TAGS'dnl
462 1.1 spz ])
463 1.1 spz
464 1.1 spz
465 1.1 spz # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
466 1.1 spz # -----------------------------------
467 1.1 spz # Extract the dictionary values for VARNAME (optionally with TAG) and
468 1.1 spz # expand to a commented shell variable setting:
469 1.1 spz #
470 1.1 spz # # Some comment about what VAR is for.
471 1.1 spz # visible_name=$lt_internal_name
472 1.1 spz m4_define([_LT_LIBTOOL_DECLARE],
473 1.1 spz [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
474 1.1 spz [description])))[]dnl
475 1.1 spz m4_pushdef([_libtool_name],
476 1.1 spz m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
477 1.1 spz m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
478 1.1 spz [0], [_libtool_name=[$]$1],
479 1.1 spz [1], [_libtool_name=$lt_[]$1],
480 1.1 spz [2], [_libtool_name=$lt_[]$1],
481 1.1 spz [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
482 1.1 spz m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
483 1.1 spz ])
484 1.1 spz
485 1.1 spz
486 1.1 spz # _LT_LIBTOOL_CONFIG_VARS
487 1.1 spz # -----------------------
488 1.1 spz # Produce commented declarations of non-tagged libtool config variables
489 1.1.1.3 spz # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
490 1.1 spz # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
491 1.1 spz # section) are produced by _LT_LIBTOOL_TAG_VARS.
492 1.1 spz m4_defun([_LT_LIBTOOL_CONFIG_VARS],
493 1.1 spz [m4_foreach([_lt_var],
494 1.1 spz m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
495 1.1 spz [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
496 1.1 spz
497 1.1 spz
498 1.1 spz # _LT_LIBTOOL_TAG_VARS(TAG)
499 1.1 spz # -------------------------
500 1.1 spz m4_define([_LT_LIBTOOL_TAG_VARS],
501 1.1 spz [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
502 1.1 spz [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
503 1.1 spz
504 1.1 spz
505 1.1 spz # _LT_TAGVAR(VARNAME, [TAGNAME])
506 1.1 spz # ------------------------------
507 1.1 spz m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
508 1.1 spz
509 1.1 spz
510 1.1 spz # _LT_CONFIG_COMMANDS
511 1.1 spz # -------------------
512 1.1 spz # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
513 1.1 spz # variables for single and double quote escaping we saved from calls
514 1.1 spz # to _LT_DECL, we can put quote escaped variables declarations
515 1.1.1.3 spz # into 'config.status', and then the shell code to quote escape them in
516 1.1.1.3 spz # for loops in 'config.status'. Finally, any additional code accumulated
517 1.1 spz # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
518 1.1 spz m4_defun([_LT_CONFIG_COMMANDS],
519 1.1 spz [AC_PROVIDE_IFELSE([LT_OUTPUT],
520 1.1 spz dnl If the libtool generation code has been placed in $CONFIG_LT,
521 1.1 spz dnl instead of duplicating it all over again into config.status,
522 1.1 spz dnl then we will have config.status run $CONFIG_LT later, so it
523 1.1 spz dnl needs to know what name is stored there:
524 1.1 spz [AC_CONFIG_COMMANDS([libtool],
525 1.1 spz [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
526 1.1 spz dnl If the libtool generation code is destined for config.status,
527 1.1 spz dnl expand the accumulated commands and init code now:
528 1.1 spz [AC_CONFIG_COMMANDS([libtool],
529 1.1 spz [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
530 1.1 spz ])#_LT_CONFIG_COMMANDS
531 1.1 spz
532 1.1 spz
533 1.1 spz # Initialize.
534 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
535 1.1 spz [
536 1.1 spz
537 1.1 spz # The HP-UX ksh and POSIX shell print the target directory to stdout
538 1.1 spz # if CDPATH is set.
539 1.1 spz (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
540 1.1 spz
541 1.1 spz sed_quote_subst='$sed_quote_subst'
542 1.1 spz double_quote_subst='$double_quote_subst'
543 1.1 spz delay_variable_subst='$delay_variable_subst'
544 1.1 spz _LT_CONFIG_STATUS_DECLARATIONS
545 1.1 spz LTCC='$LTCC'
546 1.1 spz LTCFLAGS='$LTCFLAGS'
547 1.1 spz compiler='$compiler_DEFAULT'
548 1.1 spz
549 1.1 spz # A function that is used when there is no print builtin or printf.
550 1.1 spz func_fallback_echo ()
551 1.1 spz {
552 1.1 spz eval 'cat <<_LTECHO_EOF
553 1.1 spz \$[]1
554 1.1 spz _LTECHO_EOF'
555 1.1 spz }
556 1.1 spz
557 1.1 spz # Quote evaled strings.
558 1.1 spz for var in lt_decl_all_varnames([[ \
559 1.1 spz ]], lt_decl_quote_varnames); do
560 1.1 spz case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
561 1.1 spz *[[\\\\\\\`\\"\\\$]]*)
562 1.1.1.3 spz eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
563 1.1 spz ;;
564 1.1 spz *)
565 1.1 spz eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
566 1.1 spz ;;
567 1.1 spz esac
568 1.1 spz done
569 1.1 spz
570 1.1 spz # Double-quote double-evaled strings.
571 1.1 spz for var in lt_decl_all_varnames([[ \
572 1.1 spz ]], lt_decl_dquote_varnames); do
573 1.1 spz case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
574 1.1 spz *[[\\\\\\\`\\"\\\$]]*)
575 1.1.1.3 spz 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 spz ;;
577 1.1 spz *)
578 1.1 spz eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
579 1.1 spz ;;
580 1.1 spz esac
581 1.1 spz done
582 1.1 spz
583 1.1 spz _LT_OUTPUT_LIBTOOL_INIT
584 1.1 spz ])
585 1.1 spz
586 1.1 spz # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
587 1.1 spz # ------------------------------------
588 1.1 spz # Generate a child script FILE with all initialization necessary to
589 1.1 spz # reuse the environment learned by the parent script, and make the
590 1.1 spz # file executable. If COMMENT is supplied, it is inserted after the
591 1.1.1.3 spz # '#!' sequence but before initialization text begins. After this
592 1.1 spz # macro, additional text can be appended to FILE to form the body of
593 1.1 spz # the child script. The macro ends with non-zero status if the
594 1.1 spz # file could not be fully written (such as if the disk is full).
595 1.1 spz m4_ifdef([AS_INIT_GENERATED],
596 1.1 spz [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
597 1.1 spz [m4_defun([_LT_GENERATED_FILE_INIT],
598 1.1 spz [m4_require([AS_PREPARE])]dnl
599 1.1 spz [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
600 1.1 spz [lt_write_fail=0
601 1.1 spz cat >$1 <<_ASEOF || lt_write_fail=1
602 1.1 spz #! $SHELL
603 1.1 spz # Generated by $as_me.
604 1.1 spz $2
605 1.1 spz SHELL=\${CONFIG_SHELL-$SHELL}
606 1.1 spz export SHELL
607 1.1 spz _ASEOF
608 1.1 spz cat >>$1 <<\_ASEOF || lt_write_fail=1
609 1.1 spz AS_SHELL_SANITIZE
610 1.1 spz _AS_PREPARE
611 1.1 spz exec AS_MESSAGE_FD>&1
612 1.1 spz _ASEOF
613 1.1.1.3 spz test 0 = "$lt_write_fail" && chmod +x $1[]dnl
614 1.1 spz m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
615 1.1 spz
616 1.1 spz # LT_OUTPUT
617 1.1 spz # ---------
618 1.1 spz # This macro allows early generation of the libtool script (before
619 1.1.1.5 wiz # AC_OUTPUT is called), in case it is used in configure for compilation
620 1.1 spz # tests.
621 1.1 spz AC_DEFUN([LT_OUTPUT],
622 1.1 spz [: ${CONFIG_LT=./config.lt}
623 1.1 spz AC_MSG_NOTICE([creating $CONFIG_LT])
624 1.1 spz _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
625 1.1 spz [# Run this file to recreate a libtool stub with the current configuration.])
626 1.1 spz
627 1.1 spz cat >>"$CONFIG_LT" <<\_LTEOF
628 1.1 spz lt_cl_silent=false
629 1.1 spz exec AS_MESSAGE_LOG_FD>>config.log
630 1.1 spz {
631 1.1 spz echo
632 1.1 spz AS_BOX([Running $as_me.])
633 1.1 spz } >&AS_MESSAGE_LOG_FD
634 1.1 spz
635 1.1 spz lt_cl_help="\
636 1.1.1.3 spz '$as_me' creates a local libtool stub from the current configuration,
637 1.1 spz for use in further configure time tests before the real libtool is
638 1.1 spz generated.
639 1.1 spz
640 1.1 spz Usage: $[0] [[OPTIONS]]
641 1.1 spz
642 1.1 spz -h, --help print this help, then exit
643 1.1 spz -V, --version print version number, then exit
644 1.1 spz -q, --quiet do not print progress messages
645 1.1 spz -d, --debug don't remove temporary files
646 1.1 spz
647 1.1 spz Report bugs to <bug-libtool (a] gnu.org>."
648 1.1 spz
649 1.1 spz lt_cl_version="\
650 1.1 spz m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
651 1.1 spz m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
652 1.1 spz configured by $[0], generated by m4_PACKAGE_STRING.
653 1.1 spz
654 1.1.1.5 wiz Copyright (C) 2024 Free Software Foundation, Inc.
655 1.1 spz This config.lt script is free software; the Free Software Foundation
656 1.1.1.5 wiz gives unlimited permission to copy, distribute and modify it."
657 1.1 spz
658 1.1.1.3 spz while test 0 != $[#]
659 1.1 spz do
660 1.1 spz case $[1] in
661 1.1 spz --version | --v* | -V )
662 1.1 spz echo "$lt_cl_version"; exit 0 ;;
663 1.1 spz --help | --h* | -h )
664 1.1 spz echo "$lt_cl_help"; exit 0 ;;
665 1.1 spz --debug | --d* | -d )
666 1.1 spz debug=: ;;
667 1.1 spz --quiet | --q* | --silent | --s* | -q )
668 1.1 spz lt_cl_silent=: ;;
669 1.1 spz
670 1.1 spz -*) AC_MSG_ERROR([unrecognized option: $[1]
671 1.1.1.3 spz Try '$[0] --help' for more information.]) ;;
672 1.1 spz
673 1.1 spz *) AC_MSG_ERROR([unrecognized argument: $[1]
674 1.1.1.3 spz Try '$[0] --help' for more information.]) ;;
675 1.1 spz esac
676 1.1 spz shift
677 1.1 spz done
678 1.1 spz
679 1.1 spz if $lt_cl_silent; then
680 1.1 spz exec AS_MESSAGE_FD>/dev/null
681 1.1 spz fi
682 1.1 spz _LTEOF
683 1.1 spz
684 1.1 spz cat >>"$CONFIG_LT" <<_LTEOF
685 1.1 spz _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
686 1.1 spz _LTEOF
687 1.1 spz
688 1.1 spz cat >>"$CONFIG_LT" <<\_LTEOF
689 1.1 spz AC_MSG_NOTICE([creating $ofile])
690 1.1 spz _LT_OUTPUT_LIBTOOL_COMMANDS
691 1.1 spz AS_EXIT(0)
692 1.1 spz _LTEOF
693 1.1 spz chmod +x "$CONFIG_LT"
694 1.1 spz
695 1.1 spz # configure is writing to config.log, but config.lt does its own redirection,
696 1.1 spz # appending to config.log, which fails on DOS, as config.log is still kept
697 1.1 spz # open by configure. Here we exec the FD to /dev/null, effectively closing
698 1.1 spz # config.log, so it can be properly (re)opened and appended to by config.lt.
699 1.1 spz lt_cl_success=:
700 1.1.1.3 spz test yes = "$silent" &&
701 1.1 spz lt_config_lt_args="$lt_config_lt_args --quiet"
702 1.1 spz exec AS_MESSAGE_LOG_FD>/dev/null
703 1.1 spz $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
704 1.1 spz exec AS_MESSAGE_LOG_FD>>config.log
705 1.1 spz $lt_cl_success || AS_EXIT(1)
706 1.1 spz ])# LT_OUTPUT
707 1.1 spz
708 1.1 spz
709 1.1 spz # _LT_CONFIG(TAG)
710 1.1 spz # ---------------
711 1.1 spz # If TAG is the built-in tag, create an initial libtool script with a
712 1.1 spz # default configuration from the untagged config vars. Otherwise add code
713 1.1 spz # to config.status for appending the configuration named by TAG from the
714 1.1 spz # matching tagged config vars.
715 1.1 spz m4_defun([_LT_CONFIG],
716 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
717 1.1 spz _LT_CONFIG_SAVE_COMMANDS([
718 1.1 spz m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
719 1.1 spz m4_if(_LT_TAG, [C], [
720 1.1.1.3 spz # See if we are running on zsh, and set the options that allow our
721 1.1 spz # commands through without removal of \ escapes.
722 1.1.1.3 spz if test -n "${ZSH_VERSION+set}"; then
723 1.1 spz setopt NO_GLOB_SUBST
724 1.1 spz fi
725 1.1 spz
726 1.1.1.3 spz cfgfile=${ofile}T
727 1.1 spz trap "$RM \"$cfgfile\"; exit 1" 1 2 15
728 1.1 spz $RM "$cfgfile"
729 1.1 spz
730 1.1 spz cat <<_LT_EOF >> "$cfgfile"
731 1.1 spz #! $SHELL
732 1.1.1.3 spz # Generated automatically by $as_me ($PACKAGE) $VERSION
733 1.1 spz # NOTE: Changes made to this file will be lost: look at ltmain.sh.
734 1.1.1.3 spz
735 1.1.1.3 spz # Provide generalized library-building support services.
736 1.1.1.3 spz # Written by Gordon Matzigkeit, 1996
737 1.1.1.3 spz
738 1.1 spz _LT_COPYING
739 1.1 spz _LT_LIBTOOL_TAGS
740 1.1 spz
741 1.1.1.3 spz # Configured defaults for sys_lib_dlsearch_path munging.
742 1.1.1.3 spz : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
743 1.1.1.3 spz
744 1.1 spz # ### BEGIN LIBTOOL CONFIG
745 1.1 spz _LT_LIBTOOL_CONFIG_VARS
746 1.1 spz _LT_LIBTOOL_TAG_VARS
747 1.1 spz # ### END LIBTOOL CONFIG
748 1.1 spz
749 1.1 spz _LT_EOF
750 1.1 spz
751 1.1.1.3 spz cat <<'_LT_EOF' >> "$cfgfile"
752 1.1.1.3 spz
753 1.1.1.3 spz # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
754 1.1.1.3 spz
755 1.1.1.3 spz _LT_PREPARE_MUNGE_PATH_LIST
756 1.1.1.3 spz _LT_PREPARE_CC_BASENAME
757 1.1.1.3 spz
758 1.1.1.3 spz # ### END FUNCTIONS SHARED WITH CONFIGURE
759 1.1.1.3 spz
760 1.1.1.3 spz _LT_EOF
761 1.1.1.3 spz
762 1.1 spz case $host_os in
763 1.1 spz aix3*)
764 1.1 spz cat <<\_LT_EOF >> "$cfgfile"
765 1.1 spz # AIX sometimes has problems with the GCC collect2 program. For some
766 1.1 spz # reason, if we set the COLLECT_NAMES environment variable, the problems
767 1.1 spz # vanish in a puff of smoke.
768 1.1.1.3 spz if test set != "${COLLECT_NAMES+set}"; then
769 1.1 spz COLLECT_NAMES=
770 1.1 spz export COLLECT_NAMES
771 1.1 spz fi
772 1.1 spz _LT_EOF
773 1.1 spz ;;
774 1.1 spz esac
775 1.1 spz
776 1.1 spz _LT_PROG_LTMAIN
777 1.1 spz
778 1.1 spz # We use sed instead of cat because bash on DJGPP gets confused if
779 1.1 spz # if finds mixed CR/LF and LF-only lines. Since sed operates in
780 1.1 spz # text mode, it properly converts lines to CR/LF. This bash problem
781 1.1 spz # is reportedly fixed, but why not run on old versions too?
782 1.1.1.5 wiz $SED '$q' "$ltmain" >> "$cfgfile" \
783 1.1 spz || (rm -f "$cfgfile"; exit 1)
784 1.1 spz
785 1.1 spz mv -f "$cfgfile" "$ofile" ||
786 1.1 spz (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
787 1.1 spz chmod +x "$ofile"
788 1.1 spz ],
789 1.1 spz [cat <<_LT_EOF >> "$ofile"
790 1.1 spz
791 1.1 spz dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
792 1.1 spz dnl in a comment (ie after a #).
793 1.1 spz # ### BEGIN LIBTOOL TAG CONFIG: $1
794 1.1 spz _LT_LIBTOOL_TAG_VARS(_LT_TAG)
795 1.1 spz # ### END LIBTOOL TAG CONFIG: $1
796 1.1 spz _LT_EOF
797 1.1 spz ])dnl /m4_if
798 1.1 spz ],
799 1.1 spz [m4_if([$1], [], [
800 1.1 spz PACKAGE='$PACKAGE'
801 1.1 spz VERSION='$VERSION'
802 1.1 spz RM='$RM'
803 1.1 spz ofile='$ofile'], [])
804 1.1 spz ])dnl /_LT_CONFIG_SAVE_COMMANDS
805 1.1 spz ])# _LT_CONFIG
806 1.1 spz
807 1.1 spz
808 1.1 spz # LT_SUPPORTED_TAG(TAG)
809 1.1 spz # ---------------------
810 1.1 spz # Trace this macro to discover what tags are supported by the libtool
811 1.1 spz # --tag option, using:
812 1.1 spz # autoconf --trace 'LT_SUPPORTED_TAG:$1'
813 1.1 spz AC_DEFUN([LT_SUPPORTED_TAG], [])
814 1.1 spz
815 1.1 spz
816 1.1 spz # C support is built-in for now
817 1.1 spz m4_define([_LT_LANG_C_enabled], [])
818 1.1 spz m4_define([_LT_TAGS], [])
819 1.1 spz
820 1.1 spz
821 1.1 spz # LT_LANG(LANG)
822 1.1 spz # -------------
823 1.1 spz # Enable libtool support for the given language if not already enabled.
824 1.1 spz AC_DEFUN([LT_LANG],
825 1.1 spz [AC_BEFORE([$0], [LT_OUTPUT])dnl
826 1.1 spz m4_case([$1],
827 1.1 spz [C], [_LT_LANG(C)],
828 1.1 spz [C++], [_LT_LANG(CXX)],
829 1.1.1.2 spz [Go], [_LT_LANG(GO)],
830 1.1 spz [Java], [_LT_LANG(GCJ)],
831 1.1 spz [Fortran 77], [_LT_LANG(F77)],
832 1.1 spz [Fortran], [_LT_LANG(FC)],
833 1.1 spz [Windows Resource], [_LT_LANG(RC)],
834 1.1 spz [m4_ifdef([_LT_LANG_]$1[_CONFIG],
835 1.1 spz [_LT_LANG($1)],
836 1.1 spz [m4_fatal([$0: unsupported language: "$1"])])])dnl
837 1.1 spz ])# LT_LANG
838 1.1 spz
839 1.1 spz
840 1.1 spz # _LT_LANG(LANGNAME)
841 1.1 spz # ------------------
842 1.1 spz m4_defun([_LT_LANG],
843 1.1 spz [m4_ifdef([_LT_LANG_]$1[_enabled], [],
844 1.1 spz [LT_SUPPORTED_TAG([$1])dnl
845 1.1 spz m4_append([_LT_TAGS], [$1 ])dnl
846 1.1 spz m4_define([_LT_LANG_]$1[_enabled], [])dnl
847 1.1 spz _LT_LANG_$1_CONFIG($1)])dnl
848 1.1 spz ])# _LT_LANG
849 1.1 spz
850 1.1 spz
851 1.1.1.2 spz m4_ifndef([AC_PROG_GO], [
852 1.1.1.2 spz ############################################################
853 1.1.1.2 spz # NOTE: This macro has been submitted for inclusion into #
854 1.1.1.2 spz # GNU Autoconf as AC_PROG_GO. When it is available in #
855 1.1.1.2 spz # a released version of Autoconf we should remove this #
856 1.1.1.2 spz # macro and use it instead. #
857 1.1.1.2 spz ############################################################
858 1.1.1.2 spz m4_defun([AC_PROG_GO],
859 1.1.1.2 spz [AC_LANG_PUSH(Go)dnl
860 1.1.1.2 spz AC_ARG_VAR([GOC], [Go compiler command])dnl
861 1.1.1.2 spz AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
862 1.1.1.2 spz _AC_ARG_VAR_LDFLAGS()dnl
863 1.1.1.2 spz AC_CHECK_TOOL(GOC, gccgo)
864 1.1.1.2 spz if test -z "$GOC"; then
865 1.1.1.2 spz if test -n "$ac_tool_prefix"; then
866 1.1.1.2 spz AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
867 1.1.1.2 spz fi
868 1.1.1.2 spz fi
869 1.1.1.2 spz if test -z "$GOC"; then
870 1.1.1.2 spz AC_CHECK_PROG(GOC, gccgo, gccgo, false)
871 1.1.1.2 spz fi
872 1.1.1.2 spz ])#m4_defun
873 1.1.1.2 spz ])#m4_ifndef
874 1.1.1.2 spz
875 1.1.1.2 spz
876 1.1 spz # _LT_LANG_DEFAULT_CONFIG
877 1.1 spz # -----------------------
878 1.1 spz m4_defun([_LT_LANG_DEFAULT_CONFIG],
879 1.1 spz [AC_PROVIDE_IFELSE([AC_PROG_CXX],
880 1.1 spz [LT_LANG(CXX)],
881 1.1 spz [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
882 1.1 spz
883 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_F77],
884 1.1 spz [LT_LANG(F77)],
885 1.1 spz [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
886 1.1 spz
887 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_FC],
888 1.1 spz [LT_LANG(FC)],
889 1.1 spz [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
890 1.1 spz
891 1.1 spz dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
892 1.1 spz dnl pulling things in needlessly.
893 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_GCJ],
894 1.1 spz [LT_LANG(GCJ)],
895 1.1 spz [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
896 1.1 spz [LT_LANG(GCJ)],
897 1.1 spz [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
898 1.1 spz [LT_LANG(GCJ)],
899 1.1 spz [m4_ifdef([AC_PROG_GCJ],
900 1.1 spz [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
901 1.1 spz m4_ifdef([A][M_PROG_GCJ],
902 1.1 spz [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
903 1.1 spz m4_ifdef([LT_PROG_GCJ],
904 1.1 spz [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
905 1.1 spz
906 1.1.1.2 spz AC_PROVIDE_IFELSE([AC_PROG_GO],
907 1.1.1.2 spz [LT_LANG(GO)],
908 1.1.1.2 spz [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
909 1.1.1.2 spz
910 1.1 spz AC_PROVIDE_IFELSE([LT_PROG_RC],
911 1.1 spz [LT_LANG(RC)],
912 1.1 spz [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
913 1.1 spz ])# _LT_LANG_DEFAULT_CONFIG
914 1.1 spz
915 1.1 spz # Obsolete macros:
916 1.1 spz AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
917 1.1 spz AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
918 1.1 spz AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
919 1.1 spz AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
920 1.1 spz AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
921 1.1 spz dnl aclocal-1.4 backwards compatibility:
922 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
923 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_F77], [])
924 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_FC], [])
925 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
926 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_RC], [])
927 1.1 spz
928 1.1 spz
929 1.1 spz # _LT_TAG_COMPILER
930 1.1 spz # ----------------
931 1.1 spz m4_defun([_LT_TAG_COMPILER],
932 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
933 1.1 spz
934 1.1 spz _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
935 1.1 spz _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
936 1.1 spz _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
937 1.1 spz _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
938 1.1 spz
939 1.1 spz # If no C compiler was specified, use CC.
940 1.1 spz LTCC=${LTCC-"$CC"}
941 1.1 spz
942 1.1 spz # If no C compiler flags were specified, use CFLAGS.
943 1.1 spz LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
944 1.1 spz
945 1.1 spz # Allow CC to be a program name with arguments.
946 1.1 spz compiler=$CC
947 1.1 spz ])# _LT_TAG_COMPILER
948 1.1 spz
949 1.1 spz
950 1.1 spz # _LT_COMPILER_BOILERPLATE
951 1.1 spz # ------------------------
952 1.1 spz # Check for compiler boilerplate output or warnings with
953 1.1 spz # the simple compiler test code.
954 1.1 spz m4_defun([_LT_COMPILER_BOILERPLATE],
955 1.1 spz [m4_require([_LT_DECL_SED])dnl
956 1.1 spz ac_outfile=conftest.$ac_objext
957 1.1 spz echo "$lt_simple_compile_test_code" >conftest.$ac_ext
958 1.1 spz eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
959 1.1 spz _lt_compiler_boilerplate=`cat conftest.err`
960 1.1 spz $RM conftest*
961 1.1 spz ])# _LT_COMPILER_BOILERPLATE
962 1.1 spz
963 1.1 spz
964 1.1 spz # _LT_LINKER_BOILERPLATE
965 1.1 spz # ----------------------
966 1.1 spz # Check for linker boilerplate output or warnings with
967 1.1 spz # the simple link test code.
968 1.1 spz m4_defun([_LT_LINKER_BOILERPLATE],
969 1.1 spz [m4_require([_LT_DECL_SED])dnl
970 1.1 spz ac_outfile=conftest.$ac_objext
971 1.1 spz echo "$lt_simple_link_test_code" >conftest.$ac_ext
972 1.1 spz eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
973 1.1 spz _lt_linker_boilerplate=`cat conftest.err`
974 1.1 spz $RM -r conftest*
975 1.1 spz ])# _LT_LINKER_BOILERPLATE
976 1.1 spz
977 1.1.1.5 wiz
978 1.1 spz # _LT_REQUIRED_DARWIN_CHECKS
979 1.1 spz # -------------------------
980 1.1 spz m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
981 1.1 spz case $host_os in
982 1.1 spz rhapsody* | darwin*)
983 1.1 spz AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
984 1.1 spz AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
985 1.1 spz AC_CHECK_TOOL([LIPO], [lipo], [:])
986 1.1 spz AC_CHECK_TOOL([OTOOL], [otool], [:])
987 1.1 spz AC_CHECK_TOOL([OTOOL64], [otool64], [:])
988 1.1 spz _LT_DECL([], [DSYMUTIL], [1],
989 1.1 spz [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
990 1.1 spz _LT_DECL([], [NMEDIT], [1],
991 1.1 spz [Tool to change global to local symbols on Mac OS X])
992 1.1 spz _LT_DECL([], [LIPO], [1],
993 1.1 spz [Tool to manipulate fat objects and archives on Mac OS X])
994 1.1 spz _LT_DECL([], [OTOOL], [1],
995 1.1 spz [ldd/readelf like tool for Mach-O binaries on Mac OS X])
996 1.1 spz _LT_DECL([], [OTOOL64], [1],
997 1.1 spz [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
998 1.1 spz
999 1.1 spz AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
1000 1.1 spz [lt_cv_apple_cc_single_mod=no
1001 1.1.1.3 spz if test -z "$LT_MULTI_MODULE"; then
1002 1.1 spz # By default we will add the -single_module flag. You can override
1003 1.1 spz # by either setting the environment variable LT_MULTI_MODULE
1004 1.1 spz # non-empty at configure time, or by adding -multi_module to the
1005 1.1 spz # link flags.
1006 1.1 spz rm -rf libconftest.dylib*
1007 1.1 spz echo "int foo(void){return 1;}" > conftest.c
1008 1.1 spz echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1009 1.1 spz -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1010 1.1 spz $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1011 1.1 spz -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1012 1.1 spz _lt_result=$?
1013 1.1.1.2 spz # If there is a non-empty error log, and "single_module"
1014 1.1.1.2 spz # appears in it, assume the flag caused a linker warning
1015 1.1.1.2 spz if test -s conftest.err && $GREP single_module conftest.err; then
1016 1.1.1.2 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1017 1.1.1.2 spz # Otherwise, if the output was created with a 0 exit code from
1018 1.1.1.2 spz # the compiler, it worked.
1019 1.1.1.3 spz elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
1020 1.1 spz lt_cv_apple_cc_single_mod=yes
1021 1.1 spz else
1022 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1023 1.1 spz fi
1024 1.1 spz rm -rf libconftest.dylib*
1025 1.1 spz rm -f conftest.*
1026 1.1 spz fi])
1027 1.1.1.2 spz
1028 1.1.1.5 wiz # Feature test to disable chained fixups since it is not
1029 1.1.1.5 wiz # compatible with '-undefined dynamic_lookup'
1030 1.1.1.5 wiz AC_CACHE_CHECK([for -no_fixup_chains linker flag],
1031 1.1.1.5 wiz [lt_cv_support_no_fixup_chains],
1032 1.1.1.5 wiz [ save_LDFLAGS=$LDFLAGS
1033 1.1.1.5 wiz LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains"
1034 1.1.1.5 wiz AC_LINK_IFELSE(
1035 1.1.1.5 wiz [AC_LANG_PROGRAM([],[])],
1036 1.1.1.5 wiz lt_cv_support_no_fixup_chains=yes,
1037 1.1.1.5 wiz lt_cv_support_no_fixup_chains=no
1038 1.1.1.5 wiz )
1039 1.1.1.5 wiz LDFLAGS=$save_LDFLAGS
1040 1.1.1.5 wiz ]
1041 1.1.1.5 wiz )
1042 1.1.1.5 wiz
1043 1.1 spz AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1044 1.1 spz [lt_cv_ld_exported_symbols_list],
1045 1.1 spz [lt_cv_ld_exported_symbols_list=no
1046 1.1 spz save_LDFLAGS=$LDFLAGS
1047 1.1 spz echo "_main" > conftest.sym
1048 1.1 spz LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1049 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1050 1.1 spz [lt_cv_ld_exported_symbols_list=yes],
1051 1.1 spz [lt_cv_ld_exported_symbols_list=no])
1052 1.1.1.3 spz LDFLAGS=$save_LDFLAGS
1053 1.1 spz ])
1054 1.1.1.2 spz
1055 1.1 spz AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1056 1.1 spz [lt_cv_ld_force_load=no
1057 1.1 spz cat > conftest.c << _LT_EOF
1058 1.1 spz int forced_loaded() { return 2;}
1059 1.1 spz _LT_EOF
1060 1.1 spz echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1061 1.1 spz $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1062 1.1.1.5 wiz echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1063 1.1.1.5 wiz $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1064 1.1 spz echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1065 1.1 spz $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1066 1.1 spz cat > conftest.c << _LT_EOF
1067 1.1.1.5 wiz int main(void) { return 0;}
1068 1.1 spz _LT_EOF
1069 1.1 spz echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1070 1.1 spz $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1071 1.1 spz _lt_result=$?
1072 1.1.1.2 spz if test -s conftest.err && $GREP force_load conftest.err; then
1073 1.1.1.2 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1074 1.1.1.3 spz elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
1075 1.1 spz lt_cv_ld_force_load=yes
1076 1.1 spz else
1077 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1078 1.1 spz fi
1079 1.1 spz rm -f conftest.err libconftest.a conftest conftest.c
1080 1.1 spz rm -rf conftest.dSYM
1081 1.1 spz ])
1082 1.1 spz case $host_os in
1083 1.1 spz rhapsody* | darwin1.[[012]])
1084 1.1.1.3 spz _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
1085 1.1 spz darwin1.*)
1086 1.1.1.3 spz _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1087 1.1.1.5 wiz darwin*)
1088 1.1.1.5 wiz case $MACOSX_DEPLOYMENT_TARGET,$host in
1089 1.1.1.5 wiz 10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
1090 1.1.1.5 wiz _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1091 1.1.1.5 wiz *)
1092 1.1.1.5 wiz _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup'
1093 1.1.1.5 wiz if test yes = "$lt_cv_support_no_fixup_chains"; then
1094 1.1.1.5 wiz AS_VAR_APPEND([_lt_dar_allow_undefined], [' $wl-no_fixup_chains'])
1095 1.1.1.5 wiz fi
1096 1.1.1.5 wiz ;;
1097 1.1 spz esac
1098 1.1 spz ;;
1099 1.1 spz esac
1100 1.1.1.3 spz if test yes = "$lt_cv_apple_cc_single_mod"; then
1101 1.1 spz _lt_dar_single_mod='$single_module'
1102 1.1 spz fi
1103 1.1.1.5 wiz _lt_dar_needs_single_mod=no
1104 1.1.1.5 wiz case $host_os in
1105 1.1.1.5 wiz rhapsody* | darwin1.*)
1106 1.1.1.5 wiz _lt_dar_needs_single_mod=yes ;;
1107 1.1.1.5 wiz darwin*)
1108 1.1.1.5 wiz # When targeting Mac OS X 10.4 (darwin 8) or later,
1109 1.1.1.5 wiz # -single_module is the default and -multi_module is unsupported.
1110 1.1.1.5 wiz # The toolchain on macOS 10.14 (darwin 18) and later cannot
1111 1.1.1.5 wiz # target any OS version that needs -single_module.
1112 1.1.1.5 wiz case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1113 1.1.1.5 wiz 10.0,*-darwin[[567]].*|10.[[0-3]],*-darwin[[5-9]].*|10.[[0-3]],*-darwin1[[0-7]].*)
1114 1.1.1.5 wiz _lt_dar_needs_single_mod=yes ;;
1115 1.1.1.5 wiz esac
1116 1.1.1.5 wiz ;;
1117 1.1.1.5 wiz esac
1118 1.1.1.3 spz if test yes = "$lt_cv_ld_exported_symbols_list"; then
1119 1.1.1.3 spz _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
1120 1.1 spz else
1121 1.1.1.3 spz _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
1122 1.1 spz fi
1123 1.1.1.3 spz if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
1124 1.1 spz _lt_dsymutil='~$DSYMUTIL $lib || :'
1125 1.1 spz else
1126 1.1 spz _lt_dsymutil=
1127 1.1 spz fi
1128 1.1 spz ;;
1129 1.1 spz esac
1130 1.1 spz ])
1131 1.1 spz
1132 1.1 spz
1133 1.1.1.2 spz # _LT_DARWIN_LINKER_FEATURES([TAG])
1134 1.1.1.2 spz # ---------------------------------
1135 1.1 spz # Checks for linker and compiler features on darwin
1136 1.1 spz m4_defun([_LT_DARWIN_LINKER_FEATURES],
1137 1.1 spz [
1138 1.1 spz m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1139 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1140 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
1141 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=yes
1142 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1143 1.1.1.3 spz if test yes = "$lt_cv_ld_force_load"; then
1144 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1145 1.1.1.2 spz m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1146 1.1.1.2 spz [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1147 1.1 spz else
1148 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1149 1.1 spz fi
1150 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
1151 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
1152 1.1 spz case $cc_basename in
1153 1.1.1.3 spz ifort*|nagfor*) _lt_dar_can_shared=yes ;;
1154 1.1 spz *) _lt_dar_can_shared=$GCC ;;
1155 1.1 spz esac
1156 1.1.1.3 spz if test yes = "$_lt_dar_can_shared"; then
1157 1.1 spz output_verbose_link_cmd=func_echo_all
1158 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
1159 1.1.1.3 spz _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
1160 1.1.1.5 wiz _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.1.5 wiz _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 spz m4_if([$1], [CXX],
1163 1.1.1.5 wiz [ if test yes = "$_lt_dar_needs_single_mod" -a yes != "$lt_cv_apple_cc_single_mod"; then
1164 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
1165 1.1.1.5 wiz _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 spz fi
1167 1.1 spz ],[])
1168 1.1 spz else
1169 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
1170 1.1 spz fi
1171 1.1 spz ])
1172 1.1 spz
1173 1.1 spz # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1174 1.1 spz # ----------------------------------
1175 1.1 spz # Links a minimal program and checks the executable
1176 1.1 spz # for the system default hardcoded library path. In most cases,
1177 1.1 spz # this is /usr/lib:/lib, but when the MPI compilers are used
1178 1.1 spz # the location of the communication and MPI libs are included too.
1179 1.1 spz # If we don't find anything, use the default library path according
1180 1.1 spz # to the aix ld manual.
1181 1.1 spz # Store the results from the different compilers for each TAGNAME.
1182 1.1 spz # Allow to override them for all tags through lt_cv_aix_libpath.
1183 1.1 spz m4_defun([_LT_SYS_MODULE_PATH_AIX],
1184 1.1 spz [m4_require([_LT_DECL_SED])dnl
1185 1.1.1.3 spz if test set = "${lt_cv_aix_libpath+set}"; then
1186 1.1 spz aix_libpath=$lt_cv_aix_libpath
1187 1.1 spz else
1188 1.1 spz AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1189 1.1 spz [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1190 1.1 spz lt_aix_libpath_sed='[
1191 1.1 spz /Import File Strings/,/^$/ {
1192 1.1 spz /^0/ {
1193 1.1 spz s/^0 *\([^ ]*\) *$/\1/
1194 1.1 spz p
1195 1.1 spz }
1196 1.1 spz }]'
1197 1.1 spz _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1198 1.1 spz # Check for a 64-bit object if we didn't find anything.
1199 1.1 spz if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1200 1.1 spz _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1201 1.1 spz fi],[])
1202 1.1 spz if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1203 1.1.1.3 spz _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
1204 1.1 spz fi
1205 1.1 spz ])
1206 1.1 spz aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1207 1.1 spz fi
1208 1.1 spz ])# _LT_SYS_MODULE_PATH_AIX
1209 1.1 spz
1210 1.1 spz
1211 1.1 spz # _LT_SHELL_INIT(ARG)
1212 1.1 spz # -------------------
1213 1.1 spz m4_define([_LT_SHELL_INIT],
1214 1.1 spz [m4_divert_text([M4SH-INIT], [$1
1215 1.1 spz ])])# _LT_SHELL_INIT
1216 1.1 spz
1217 1.1 spz
1218 1.1 spz
1219 1.1 spz # _LT_PROG_ECHO_BACKSLASH
1220 1.1 spz # -----------------------
1221 1.1 spz # Find how we can fake an echo command that does not interpret backslash.
1222 1.1 spz # In particular, with Autoconf 2.60 or later we add some code to the start
1223 1.1.1.3 spz # of the generated configure script that will find a shell with a builtin
1224 1.1.1.3 spz # printf (that we can use as an echo command).
1225 1.1 spz m4_defun([_LT_PROG_ECHO_BACKSLASH],
1226 1.1 spz [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1227 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1228 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1229 1.1 spz
1230 1.1 spz AC_MSG_CHECKING([how to print strings])
1231 1.1 spz # Test print first, because it will be a builtin if present.
1232 1.1 spz if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1233 1.1 spz test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1234 1.1 spz ECHO='print -r --'
1235 1.1 spz elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1236 1.1 spz ECHO='printf %s\n'
1237 1.1 spz else
1238 1.1 spz # Use this function as a fallback that always works.
1239 1.1 spz func_fallback_echo ()
1240 1.1 spz {
1241 1.1 spz eval 'cat <<_LTECHO_EOF
1242 1.1 spz $[]1
1243 1.1 spz _LTECHO_EOF'
1244 1.1 spz }
1245 1.1 spz ECHO='func_fallback_echo'
1246 1.1 spz fi
1247 1.1 spz
1248 1.1 spz # func_echo_all arg...
1249 1.1 spz # Invoke $ECHO with all args, space-separated.
1250 1.1 spz func_echo_all ()
1251 1.1 spz {
1252 1.1.1.3 spz $ECHO "$*"
1253 1.1 spz }
1254 1.1 spz
1255 1.1.1.3 spz case $ECHO in
1256 1.1 spz printf*) AC_MSG_RESULT([printf]) ;;
1257 1.1 spz print*) AC_MSG_RESULT([print -r]) ;;
1258 1.1 spz *) AC_MSG_RESULT([cat]) ;;
1259 1.1 spz esac
1260 1.1 spz
1261 1.1 spz m4_ifdef([_AS_DETECT_SUGGESTED],
1262 1.1 spz [_AS_DETECT_SUGGESTED([
1263 1.1 spz test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1264 1.1 spz ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1265 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1266 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1267 1.1 spz PATH=/empty FPATH=/empty; export PATH FPATH
1268 1.1 spz test "X`printf %s $ECHO`" = "X$ECHO" \
1269 1.1 spz || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1270 1.1 spz
1271 1.1 spz _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1272 1.1 spz _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1273 1.1 spz ])# _LT_PROG_ECHO_BACKSLASH
1274 1.1 spz
1275 1.1 spz
1276 1.1 spz # _LT_WITH_SYSROOT
1277 1.1 spz # ----------------
1278 1.1 spz AC_DEFUN([_LT_WITH_SYSROOT],
1279 1.1.1.5 wiz [m4_require([_LT_DECL_SED])dnl
1280 1.1.1.5 wiz AC_MSG_CHECKING([for sysroot])
1281 1.1 spz AC_ARG_WITH([sysroot],
1282 1.1.1.3 spz [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1283 1.1.1.3 spz [Search for dependent libraries within DIR (or the compiler's sysroot
1284 1.1.1.3 spz if not specified).])],
1285 1.1 spz [], [with_sysroot=no])
1286 1.1 spz
1287 1.1 spz dnl lt_sysroot will always be passed unquoted. We quote it here
1288 1.1 spz dnl in case the user passed a directory name.
1289 1.1 spz lt_sysroot=
1290 1.1.1.3 spz case $with_sysroot in #(
1291 1.1 spz yes)
1292 1.1.1.3 spz if test yes = "$GCC"; then
1293 1.1.1.5 wiz # Trim trailing / since we'll always append absolute paths and we want
1294 1.1.1.5 wiz # to avoid //, if only for less confusing output for the user.
1295 1.1.1.5 wiz lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
1296 1.1 spz fi
1297 1.1 spz ;; #(
1298 1.1 spz /*)
1299 1.1.1.5 wiz lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
1300 1.1 spz ;; #(
1301 1.1 spz no|'')
1302 1.1 spz ;; #(
1303 1.1 spz *)
1304 1.1.1.3 spz AC_MSG_RESULT([$with_sysroot])
1305 1.1 spz AC_MSG_ERROR([The sysroot must be an absolute path.])
1306 1.1 spz ;;
1307 1.1 spz esac
1308 1.1 spz
1309 1.1 spz AC_MSG_RESULT([${lt_sysroot:-no}])
1310 1.1 spz _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1311 1.1.1.3 spz [dependent libraries, and where our libraries should be installed.])])
1312 1.1 spz
1313 1.1 spz # _LT_ENABLE_LOCK
1314 1.1 spz # ---------------
1315 1.1 spz m4_defun([_LT_ENABLE_LOCK],
1316 1.1 spz [AC_ARG_ENABLE([libtool-lock],
1317 1.1 spz [AS_HELP_STRING([--disable-libtool-lock],
1318 1.1 spz [avoid locking (might break parallel builds)])])
1319 1.1.1.3 spz test no = "$enable_libtool_lock" || enable_libtool_lock=yes
1320 1.1 spz
1321 1.1 spz # Some flags need to be propagated to the compiler or linker for good
1322 1.1 spz # libtool support.
1323 1.1 spz case $host in
1324 1.1 spz ia64-*-hpux*)
1325 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set mode
1326 1.1.1.3 spz # options accordingly.
1327 1.1 spz echo 'int i;' > conftest.$ac_ext
1328 1.1 spz if AC_TRY_EVAL(ac_compile); then
1329 1.1.1.5 wiz case `$FILECMD conftest.$ac_objext` in
1330 1.1 spz *ELF-32*)
1331 1.1.1.3 spz HPUX_IA64_MODE=32
1332 1.1 spz ;;
1333 1.1 spz *ELF-64*)
1334 1.1.1.3 spz HPUX_IA64_MODE=64
1335 1.1 spz ;;
1336 1.1 spz esac
1337 1.1 spz fi
1338 1.1 spz rm -rf conftest*
1339 1.1 spz ;;
1340 1.1 spz *-*-irix6*)
1341 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set linker
1342 1.1.1.3 spz # options accordingly.
1343 1.1 spz echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1344 1.1 spz if AC_TRY_EVAL(ac_compile); then
1345 1.1.1.3 spz if test yes = "$lt_cv_prog_gnu_ld"; then
1346 1.1.1.5 wiz case `$FILECMD conftest.$ac_objext` in
1347 1.1 spz *32-bit*)
1348 1.1 spz LD="${LD-ld} -melf32bsmip"
1349 1.1 spz ;;
1350 1.1 spz *N32*)
1351 1.1 spz LD="${LD-ld} -melf32bmipn32"
1352 1.1 spz ;;
1353 1.1 spz *64-bit*)
1354 1.1 spz LD="${LD-ld} -melf64bmip"
1355 1.1 spz ;;
1356 1.1 spz esac
1357 1.1 spz else
1358 1.1.1.5 wiz case `$FILECMD conftest.$ac_objext` in
1359 1.1 spz *32-bit*)
1360 1.1 spz LD="${LD-ld} -32"
1361 1.1 spz ;;
1362 1.1 spz *N32*)
1363 1.1 spz LD="${LD-ld} -n32"
1364 1.1 spz ;;
1365 1.1 spz *64-bit*)
1366 1.1 spz LD="${LD-ld} -64"
1367 1.1 spz ;;
1368 1.1 spz esac
1369 1.1 spz fi
1370 1.1 spz fi
1371 1.1 spz rm -rf conftest*
1372 1.1 spz ;;
1373 1.1 spz
1374 1.1.1.3 spz mips64*-*linux*)
1375 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set linker
1376 1.1.1.3 spz # options accordingly.
1377 1.1.1.3 spz echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1378 1.1.1.3 spz if AC_TRY_EVAL(ac_compile); then
1379 1.1.1.3 spz emul=elf
1380 1.1.1.5 wiz case `$FILECMD conftest.$ac_objext` in
1381 1.1.1.3 spz *32-bit*)
1382 1.1.1.3 spz emul="${emul}32"
1383 1.1.1.3 spz ;;
1384 1.1.1.3 spz *64-bit*)
1385 1.1.1.3 spz emul="${emul}64"
1386 1.1.1.3 spz ;;
1387 1.1.1.3 spz esac
1388 1.1.1.5 wiz case `$FILECMD conftest.$ac_objext` in
1389 1.1.1.3 spz *MSB*)
1390 1.1.1.3 spz emul="${emul}btsmip"
1391 1.1.1.3 spz ;;
1392 1.1.1.3 spz *LSB*)
1393 1.1.1.3 spz emul="${emul}ltsmip"
1394 1.1.1.3 spz ;;
1395 1.1.1.3 spz esac
1396 1.1.1.5 wiz case `$FILECMD conftest.$ac_objext` in
1397 1.1.1.3 spz *N32*)
1398 1.1.1.3 spz emul="${emul}n32"
1399 1.1.1.3 spz ;;
1400 1.1.1.3 spz esac
1401 1.1.1.3 spz LD="${LD-ld} -m $emul"
1402 1.1.1.3 spz fi
1403 1.1.1.3 spz rm -rf conftest*
1404 1.1.1.3 spz ;;
1405 1.1.1.3 spz
1406 1.1.1.2 spz x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
1407 1.1.1.5 wiz s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
1408 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set linker
1409 1.1.1.3 spz # options accordingly. Note that the listed cases only cover the
1410 1.1.1.3 spz # situations where additional linker options are needed (such as when
1411 1.1.1.3 spz # doing 32-bit compilation for a host where ld defaults to 64-bit, or
1412 1.1.1.3 spz # vice versa); the common cases where no linker options are needed do
1413 1.1.1.3 spz # not appear in the list.
1414 1.1 spz echo 'int i;' > conftest.$ac_ext
1415 1.1 spz if AC_TRY_EVAL(ac_compile); then
1416 1.1.1.5 wiz case `$FILECMD conftest.o` in
1417 1.1 spz *32-bit*)
1418 1.1 spz case $host in
1419 1.1 spz x86_64-*kfreebsd*-gnu)
1420 1.1 spz LD="${LD-ld} -m elf_i386_fbsd"
1421 1.1 spz ;;
1422 1.1.1.5 wiz x86_64-*linux*|x86_64-gnu*)
1423 1.1.1.5 wiz case `$FILECMD conftest.o` in
1424 1.1.1.2 spz *x86-64*)
1425 1.1.1.2 spz LD="${LD-ld} -m elf32_x86_64"
1426 1.1.1.2 spz ;;
1427 1.1.1.2 spz *)
1428 1.1.1.2 spz LD="${LD-ld} -m elf_i386"
1429 1.1.1.2 spz ;;
1430 1.1.1.2 spz esac
1431 1.1.1.2 spz ;;
1432 1.1.1.3 spz powerpc64le-*linux*)
1433 1.1.1.2 spz LD="${LD-ld} -m elf32lppclinux"
1434 1.1 spz ;;
1435 1.1.1.3 spz powerpc64-*linux*)
1436 1.1 spz LD="${LD-ld} -m elf32ppclinux"
1437 1.1 spz ;;
1438 1.1 spz s390x-*linux*)
1439 1.1 spz LD="${LD-ld} -m elf_s390"
1440 1.1 spz ;;
1441 1.1 spz sparc64-*linux*)
1442 1.1 spz LD="${LD-ld} -m elf32_sparc"
1443 1.1 spz ;;
1444 1.1 spz esac
1445 1.1 spz ;;
1446 1.1 spz *64-bit*)
1447 1.1 spz case $host in
1448 1.1 spz x86_64-*kfreebsd*-gnu)
1449 1.1 spz LD="${LD-ld} -m elf_x86_64_fbsd"
1450 1.1 spz ;;
1451 1.1.1.5 wiz x86_64-*linux*|x86_64-gnu*)
1452 1.1 spz LD="${LD-ld} -m elf_x86_64"
1453 1.1 spz ;;
1454 1.1.1.4 christos powerpcle-*linux*|powerpc64le-*linux*)
1455 1.1.1.2 spz LD="${LD-ld} -m elf64lppc"
1456 1.1.1.2 spz ;;
1457 1.1.1.4 christos powerpc-*linux*|powerpc64-*linux*)
1458 1.1 spz LD="${LD-ld} -m elf64ppc"
1459 1.1 spz ;;
1460 1.1 spz s390*-*linux*|s390*-*tpf*)
1461 1.1 spz LD="${LD-ld} -m elf64_s390"
1462 1.1 spz ;;
1463 1.1 spz sparc*-*linux*)
1464 1.1 spz LD="${LD-ld} -m elf64_sparc"
1465 1.1 spz ;;
1466 1.1 spz esac
1467 1.1 spz ;;
1468 1.1 spz esac
1469 1.1 spz fi
1470 1.1 spz rm -rf conftest*
1471 1.1 spz ;;
1472 1.1 spz
1473 1.1 spz *-*-sco3.2v5*)
1474 1.1 spz # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1475 1.1.1.3 spz SAVE_CFLAGS=$CFLAGS
1476 1.1 spz CFLAGS="$CFLAGS -belf"
1477 1.1 spz AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1478 1.1 spz [AC_LANG_PUSH(C)
1479 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1480 1.1 spz AC_LANG_POP])
1481 1.1.1.3 spz if test yes != "$lt_cv_cc_needs_belf"; then
1482 1.1 spz # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1483 1.1.1.3 spz CFLAGS=$SAVE_CFLAGS
1484 1.1 spz fi
1485 1.1 spz ;;
1486 1.1.1.2 spz *-*solaris*)
1487 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set linker
1488 1.1.1.3 spz # options accordingly.
1489 1.1 spz echo 'int i;' > conftest.$ac_ext
1490 1.1 spz if AC_TRY_EVAL(ac_compile); then
1491 1.1.1.5 wiz case `$FILECMD conftest.o` in
1492 1.1 spz *64-bit*)
1493 1.1 spz case $lt_cv_prog_gnu_ld in
1494 1.1.1.2 spz yes*)
1495 1.1.1.2 spz case $host in
1496 1.1.1.3 spz i?86-*-solaris*|x86_64-*-solaris*)
1497 1.1.1.2 spz LD="${LD-ld} -m elf_x86_64"
1498 1.1.1.2 spz ;;
1499 1.1.1.2 spz sparc*-*-solaris*)
1500 1.1.1.2 spz LD="${LD-ld} -m elf64_sparc"
1501 1.1.1.2 spz ;;
1502 1.1.1.2 spz esac
1503 1.1.1.2 spz # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1504 1.1.1.2 spz if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1505 1.1.1.3 spz LD=${LD-ld}_sol2
1506 1.1.1.2 spz fi
1507 1.1.1.2 spz ;;
1508 1.1 spz *)
1509 1.1 spz if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1510 1.1 spz LD="${LD-ld} -64"
1511 1.1 spz fi
1512 1.1 spz ;;
1513 1.1 spz esac
1514 1.1 spz ;;
1515 1.1 spz esac
1516 1.1 spz fi
1517 1.1 spz rm -rf conftest*
1518 1.1 spz ;;
1519 1.1 spz esac
1520 1.1 spz
1521 1.1.1.3 spz need_locks=$enable_libtool_lock
1522 1.1 spz ])# _LT_ENABLE_LOCK
1523 1.1 spz
1524 1.1 spz
1525 1.1 spz # _LT_PROG_AR
1526 1.1 spz # -----------
1527 1.1 spz m4_defun([_LT_PROG_AR],
1528 1.1 spz [AC_CHECK_TOOLS(AR, [ar], false)
1529 1.1 spz : ${AR=ar}
1530 1.1 spz _LT_DECL([], [AR], [1], [The archiver])
1531 1.1.1.5 wiz
1532 1.1.1.5 wiz # Use ARFLAGS variable as AR's operation code to sync the variable naming with
1533 1.1.1.5 wiz # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
1534 1.1.1.5 wiz # higher priority because that's what people were doing historically (setting
1535 1.1.1.5 wiz # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
1536 1.1.1.5 wiz # variable obsoleted/removed.
1537 1.1.1.5 wiz
1538 1.1.1.5 wiz test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
1539 1.1.1.5 wiz lt_ar_flags=$AR_FLAGS
1540 1.1.1.5 wiz _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
1541 1.1.1.5 wiz
1542 1.1.1.5 wiz # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
1543 1.1.1.5 wiz # by AR_FLAGS because that was never working and AR_FLAGS is about to die.
1544 1.1.1.5 wiz _LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
1545 1.1.1.5 wiz [Flags to create an archive])
1546 1.1 spz
1547 1.1 spz AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1548 1.1 spz [lt_cv_ar_at_file=no
1549 1.1 spz AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1550 1.1 spz [echo conftest.$ac_objext > conftest.lst
1551 1.1 spz lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1552 1.1 spz AC_TRY_EVAL([lt_ar_try])
1553 1.1.1.3 spz if test 0 -eq "$ac_status"; then
1554 1.1 spz # Ensure the archiver fails upon bogus file names.
1555 1.1 spz rm -f conftest.$ac_objext libconftest.a
1556 1.1 spz AC_TRY_EVAL([lt_ar_try])
1557 1.1.1.3 spz if test 0 -ne "$ac_status"; then
1558 1.1 spz lt_cv_ar_at_file=@
1559 1.1 spz fi
1560 1.1 spz fi
1561 1.1 spz rm -f conftest.* libconftest.a
1562 1.1 spz ])
1563 1.1 spz ])
1564 1.1 spz
1565 1.1.1.3 spz if test no = "$lt_cv_ar_at_file"; then
1566 1.1 spz archiver_list_spec=
1567 1.1 spz else
1568 1.1 spz archiver_list_spec=$lt_cv_ar_at_file
1569 1.1 spz fi
1570 1.1 spz _LT_DECL([], [archiver_list_spec], [1],
1571 1.1 spz [How to feed a file listing to the archiver])
1572 1.1 spz ])# _LT_PROG_AR
1573 1.1 spz
1574 1.1 spz
1575 1.1 spz # _LT_CMD_OLD_ARCHIVE
1576 1.1 spz # -------------------
1577 1.1 spz m4_defun([_LT_CMD_OLD_ARCHIVE],
1578 1.1 spz [_LT_PROG_AR
1579 1.1 spz
1580 1.1 spz AC_CHECK_TOOL(STRIP, strip, :)
1581 1.1 spz test -z "$STRIP" && STRIP=:
1582 1.1 spz _LT_DECL([], [STRIP], [1], [A symbol stripping program])
1583 1.1 spz
1584 1.1.1.5 wiz AC_REQUIRE([AC_PROG_RANLIB])
1585 1.1 spz test -z "$RANLIB" && RANLIB=:
1586 1.1 spz _LT_DECL([], [RANLIB], [1],
1587 1.1 spz [Commands used to install an old-style archive])
1588 1.1 spz
1589 1.1 spz # Determine commands to create old-style static archives.
1590 1.1 spz old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1591 1.1 spz old_postinstall_cmds='chmod 644 $oldlib'
1592 1.1 spz old_postuninstall_cmds=
1593 1.1 spz
1594 1.1 spz if test -n "$RANLIB"; then
1595 1.1.1.2 spz old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1596 1.1.1.5 wiz old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1597 1.1 spz fi
1598 1.1 spz
1599 1.1 spz case $host_os in
1600 1.1 spz darwin*)
1601 1.1 spz lock_old_archive_extraction=yes ;;
1602 1.1 spz *)
1603 1.1 spz lock_old_archive_extraction=no ;;
1604 1.1 spz esac
1605 1.1 spz _LT_DECL([], [old_postinstall_cmds], [2])
1606 1.1 spz _LT_DECL([], [old_postuninstall_cmds], [2])
1607 1.1 spz _LT_TAGDECL([], [old_archive_cmds], [2],
1608 1.1 spz [Commands used to build an old-style archive])
1609 1.1 spz _LT_DECL([], [lock_old_archive_extraction], [0],
1610 1.1 spz [Whether to use a lock for old archive extraction])
1611 1.1 spz ])# _LT_CMD_OLD_ARCHIVE
1612 1.1 spz
1613 1.1 spz
1614 1.1 spz # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1615 1.1 spz # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1616 1.1 spz # ----------------------------------------------------------------
1617 1.1 spz # Check whether the given compiler option works
1618 1.1 spz AC_DEFUN([_LT_COMPILER_OPTION],
1619 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1620 1.1 spz m4_require([_LT_DECL_SED])dnl
1621 1.1 spz AC_CACHE_CHECK([$1], [$2],
1622 1.1 spz [$2=no
1623 1.1 spz m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1624 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1625 1.1.1.3 spz lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
1626 1.1 spz # Insert the option either (1) after the last *FLAGS variable, or
1627 1.1 spz # (2) before a word containing "conftest.", or (3) at the end.
1628 1.1 spz # Note that $ac_compile itself does not contain backslashes and begins
1629 1.1 spz # with a dollar sign (not a hyphen), so the echo should work correctly.
1630 1.1 spz # The option is referenced via a variable to avoid confusing sed.
1631 1.1 spz lt_compile=`echo "$ac_compile" | $SED \
1632 1.1 spz -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1633 1.1 spz -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1634 1.1 spz -e 's:$: $lt_compiler_flag:'`
1635 1.1 spz (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1636 1.1 spz (eval "$lt_compile" 2>conftest.err)
1637 1.1 spz ac_status=$?
1638 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1639 1.1 spz echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1640 1.1 spz if (exit $ac_status) && test -s "$ac_outfile"; then
1641 1.1 spz # The compiler can only warn and ignore the option if not recognized
1642 1.1 spz # So say no if there are warnings other than the usual output.
1643 1.1 spz $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1644 1.1 spz $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1645 1.1 spz if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1646 1.1 spz $2=yes
1647 1.1 spz fi
1648 1.1 spz fi
1649 1.1 spz $RM conftest*
1650 1.1 spz ])
1651 1.1 spz
1652 1.1.1.3 spz if test yes = "[$]$2"; then
1653 1.1 spz m4_if([$5], , :, [$5])
1654 1.1 spz else
1655 1.1 spz m4_if([$6], , :, [$6])
1656 1.1 spz fi
1657 1.1 spz ])# _LT_COMPILER_OPTION
1658 1.1 spz
1659 1.1 spz # Old name:
1660 1.1 spz AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1661 1.1 spz dnl aclocal-1.4 backwards compatibility:
1662 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1663 1.1 spz
1664 1.1 spz
1665 1.1 spz # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1666 1.1 spz # [ACTION-SUCCESS], [ACTION-FAILURE])
1667 1.1 spz # ----------------------------------------------------
1668 1.1 spz # Check whether the given linker option works
1669 1.1 spz AC_DEFUN([_LT_LINKER_OPTION],
1670 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1671 1.1 spz m4_require([_LT_DECL_SED])dnl
1672 1.1 spz AC_CACHE_CHECK([$1], [$2],
1673 1.1 spz [$2=no
1674 1.1.1.3 spz save_LDFLAGS=$LDFLAGS
1675 1.1 spz LDFLAGS="$LDFLAGS $3"
1676 1.1 spz echo "$lt_simple_link_test_code" > conftest.$ac_ext
1677 1.1 spz if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1678 1.1 spz # The linker can only warn and ignore the option if not recognized
1679 1.1 spz # So say no if there are warnings
1680 1.1 spz if test -s conftest.err; then
1681 1.1 spz # Append any errors to the config.log.
1682 1.1 spz cat conftest.err 1>&AS_MESSAGE_LOG_FD
1683 1.1 spz $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1684 1.1 spz $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1685 1.1 spz if diff conftest.exp conftest.er2 >/dev/null; then
1686 1.1 spz $2=yes
1687 1.1 spz fi
1688 1.1 spz else
1689 1.1 spz $2=yes
1690 1.1 spz fi
1691 1.1 spz fi
1692 1.1 spz $RM -r conftest*
1693 1.1.1.3 spz LDFLAGS=$save_LDFLAGS
1694 1.1 spz ])
1695 1.1 spz
1696 1.1.1.3 spz if test yes = "[$]$2"; then
1697 1.1 spz m4_if([$4], , :, [$4])
1698 1.1 spz else
1699 1.1 spz m4_if([$5], , :, [$5])
1700 1.1 spz fi
1701 1.1 spz ])# _LT_LINKER_OPTION
1702 1.1 spz
1703 1.1 spz # Old name:
1704 1.1 spz AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1705 1.1 spz dnl aclocal-1.4 backwards compatibility:
1706 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1707 1.1 spz
1708 1.1 spz
1709 1.1 spz # LT_CMD_MAX_LEN
1710 1.1 spz #---------------
1711 1.1 spz AC_DEFUN([LT_CMD_MAX_LEN],
1712 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1713 1.1 spz # find the maximum length of command line arguments
1714 1.1 spz AC_MSG_CHECKING([the maximum length of command line arguments])
1715 1.1 spz AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1716 1.1 spz i=0
1717 1.1.1.3 spz teststring=ABCD
1718 1.1 spz
1719 1.1 spz case $build_os in
1720 1.1 spz msdosdjgpp*)
1721 1.1 spz # On DJGPP, this test can blow up pretty badly due to problems in libc
1722 1.1 spz # (any single argument exceeding 2000 bytes causes a buffer overrun
1723 1.1 spz # during glob expansion). Even if it were fixed, the result of this
1724 1.1 spz # check would be larger than it should be.
1725 1.1 spz lt_cv_sys_max_cmd_len=12288; # 12K is about right
1726 1.1 spz ;;
1727 1.1 spz
1728 1.1.1.5 wiz gnu* | ironclad*)
1729 1.1.1.5 wiz # Under GNU Hurd and Ironclad, this test is not required because there
1730 1.1.1.5 wiz # is no limit to the length of command line arguments.
1731 1.1 spz # Libtool will interpret -1 as no limit whatsoever
1732 1.1 spz lt_cv_sys_max_cmd_len=-1;
1733 1.1 spz ;;
1734 1.1 spz
1735 1.1.1.5 wiz cygwin* | mingw* | windows* | cegcc*)
1736 1.1 spz # On Win9x/ME, this test blows up -- it succeeds, but takes
1737 1.1 spz # about 5 minutes as the teststring grows exponentially.
1738 1.1 spz # Worse, since 9x/ME are not pre-emptively multitasking,
1739 1.1 spz # you end up with a "frozen" computer, even though with patience
1740 1.1 spz # the test eventually succeeds (with a max line length of 256k).
1741 1.1 spz # Instead, let's just punt: use the minimum linelength reported by
1742 1.1 spz # all of the supported platforms: 8192 (on NT/2K/XP).
1743 1.1 spz lt_cv_sys_max_cmd_len=8192;
1744 1.1 spz ;;
1745 1.1 spz
1746 1.1 spz mint*)
1747 1.1 spz # On MiNT this can take a long time and run out of memory.
1748 1.1 spz lt_cv_sys_max_cmd_len=8192;
1749 1.1 spz ;;
1750 1.1 spz
1751 1.1 spz amigaos*)
1752 1.1 spz # On AmigaOS with pdksh, this test takes hours, literally.
1753 1.1 spz # So we just punt and use a minimum line length of 8192.
1754 1.1 spz lt_cv_sys_max_cmd_len=8192;
1755 1.1 spz ;;
1756 1.1 spz
1757 1.1.1.5 wiz darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
1758 1.1 spz # This has been around since 386BSD, at least. Likely further.
1759 1.1 spz if test -x /sbin/sysctl; then
1760 1.1 spz lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1761 1.1 spz elif test -x /usr/sbin/sysctl; then
1762 1.1 spz lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1763 1.1 spz else
1764 1.1 spz lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1765 1.1 spz fi
1766 1.1 spz # And add a safety zone
1767 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1768 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1769 1.1 spz ;;
1770 1.1 spz
1771 1.1 spz interix*)
1772 1.1 spz # We know the value 262144 and hardcode it with a safety zone (like BSD)
1773 1.1 spz lt_cv_sys_max_cmd_len=196608
1774 1.1 spz ;;
1775 1.1 spz
1776 1.1.1.2 spz os2*)
1777 1.1.1.2 spz # The test takes a long time on OS/2.
1778 1.1.1.2 spz lt_cv_sys_max_cmd_len=8192
1779 1.1.1.2 spz ;;
1780 1.1.1.2 spz
1781 1.1 spz osf*)
1782 1.1 spz # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1783 1.1 spz # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1784 1.1 spz # nice to cause kernel panics so lets avoid the loop below.
1785 1.1 spz # First set a reasonable default.
1786 1.1 spz lt_cv_sys_max_cmd_len=16384
1787 1.1 spz #
1788 1.1 spz if test -x /sbin/sysconfig; then
1789 1.1 spz case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1790 1.1 spz *1*) lt_cv_sys_max_cmd_len=-1 ;;
1791 1.1 spz esac
1792 1.1 spz fi
1793 1.1 spz ;;
1794 1.1 spz sco3.2v5*)
1795 1.1 spz lt_cv_sys_max_cmd_len=102400
1796 1.1 spz ;;
1797 1.1 spz sysv5* | sco5v6* | sysv4.2uw2*)
1798 1.1 spz kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1799 1.1 spz if test -n "$kargmax"; then
1800 1.1.1.5 wiz lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'`
1801 1.1 spz else
1802 1.1 spz lt_cv_sys_max_cmd_len=32768
1803 1.1 spz fi
1804 1.1 spz ;;
1805 1.1 spz *)
1806 1.1 spz lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1807 1.1.1.2 spz if test -n "$lt_cv_sys_max_cmd_len" && \
1808 1.1.1.3 spz test undefined != "$lt_cv_sys_max_cmd_len"; then
1809 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1810 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1811 1.1 spz else
1812 1.1 spz # Make teststring a little bigger before we do anything with it.
1813 1.1 spz # a 1K string should be a reasonable start.
1814 1.1.1.3 spz for i in 1 2 3 4 5 6 7 8; do
1815 1.1 spz teststring=$teststring$teststring
1816 1.1 spz done
1817 1.1 spz SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1818 1.1 spz # If test is not a shell built-in, we'll probably end up computing a
1819 1.1 spz # maximum length that is only half of the actual maximum length, but
1820 1.1 spz # we can't tell.
1821 1.1.1.3 spz while { test X`env echo "$teststring$teststring" 2>/dev/null` \
1822 1.1 spz = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1823 1.1.1.3 spz test 17 != "$i" # 1/2 MB should be enough
1824 1.1 spz do
1825 1.1 spz i=`expr $i + 1`
1826 1.1 spz teststring=$teststring$teststring
1827 1.1 spz done
1828 1.1 spz # Only check the string length outside the loop.
1829 1.1 spz lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1830 1.1 spz teststring=
1831 1.1 spz # Add a significant safety factor because C++ compilers can tack on
1832 1.1 spz # massive amounts of additional arguments before passing them to the
1833 1.1 spz # linker. It appears as though 1/2 is a usable value.
1834 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1835 1.1 spz fi
1836 1.1 spz ;;
1837 1.1 spz esac
1838 1.1 spz ])
1839 1.1.1.3 spz if test -n "$lt_cv_sys_max_cmd_len"; then
1840 1.1 spz AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1841 1.1 spz else
1842 1.1 spz AC_MSG_RESULT(none)
1843 1.1 spz fi
1844 1.1 spz max_cmd_len=$lt_cv_sys_max_cmd_len
1845 1.1 spz _LT_DECL([], [max_cmd_len], [0],
1846 1.1 spz [What is the maximum length of a command?])
1847 1.1 spz ])# LT_CMD_MAX_LEN
1848 1.1 spz
1849 1.1 spz # Old name:
1850 1.1 spz AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1851 1.1 spz dnl aclocal-1.4 backwards compatibility:
1852 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1853 1.1 spz
1854 1.1 spz
1855 1.1 spz # _LT_HEADER_DLFCN
1856 1.1 spz # ----------------
1857 1.1 spz m4_defun([_LT_HEADER_DLFCN],
1858 1.1 spz [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1859 1.1 spz ])# _LT_HEADER_DLFCN
1860 1.1 spz
1861 1.1 spz
1862 1.1 spz # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1863 1.1 spz # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1864 1.1 spz # ----------------------------------------------------------------
1865 1.1 spz m4_defun([_LT_TRY_DLOPEN_SELF],
1866 1.1 spz [m4_require([_LT_HEADER_DLFCN])dnl
1867 1.1.1.3 spz if test yes = "$cross_compiling"; then :
1868 1.1 spz [$4]
1869 1.1 spz else
1870 1.1 spz lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1871 1.1 spz lt_status=$lt_dlunknown
1872 1.1 spz cat > conftest.$ac_ext <<_LT_EOF
1873 1.1 spz [#line $LINENO "configure"
1874 1.1 spz #include "confdefs.h"
1875 1.1 spz
1876 1.1 spz #if HAVE_DLFCN_H
1877 1.1 spz #include <dlfcn.h>
1878 1.1 spz #endif
1879 1.1 spz
1880 1.1 spz #include <stdio.h>
1881 1.1 spz
1882 1.1 spz #ifdef RTLD_GLOBAL
1883 1.1 spz # define LT_DLGLOBAL RTLD_GLOBAL
1884 1.1 spz #else
1885 1.1 spz # ifdef DL_GLOBAL
1886 1.1 spz # define LT_DLGLOBAL DL_GLOBAL
1887 1.1 spz # else
1888 1.1 spz # define LT_DLGLOBAL 0
1889 1.1 spz # endif
1890 1.1 spz #endif
1891 1.1 spz
1892 1.1 spz /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1893 1.1 spz find out it does not work in some platform. */
1894 1.1 spz #ifndef LT_DLLAZY_OR_NOW
1895 1.1 spz # ifdef RTLD_LAZY
1896 1.1 spz # define LT_DLLAZY_OR_NOW RTLD_LAZY
1897 1.1 spz # else
1898 1.1 spz # ifdef DL_LAZY
1899 1.1 spz # define LT_DLLAZY_OR_NOW DL_LAZY
1900 1.1 spz # else
1901 1.1 spz # ifdef RTLD_NOW
1902 1.1 spz # define LT_DLLAZY_OR_NOW RTLD_NOW
1903 1.1 spz # else
1904 1.1 spz # ifdef DL_NOW
1905 1.1 spz # define LT_DLLAZY_OR_NOW DL_NOW
1906 1.1 spz # else
1907 1.1 spz # define LT_DLLAZY_OR_NOW 0
1908 1.1 spz # endif
1909 1.1 spz # endif
1910 1.1 spz # endif
1911 1.1 spz # endif
1912 1.1 spz #endif
1913 1.1 spz
1914 1.1.1.3 spz /* When -fvisibility=hidden is used, assume the code has been annotated
1915 1.1 spz correspondingly for the symbols needed. */
1916 1.1.1.3 spz #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1917 1.1.1.5 wiz int fnord (void) __attribute__((visibility("default")));
1918 1.1 spz #endif
1919 1.1 spz
1920 1.1.1.5 wiz int fnord (void) { return 42; }
1921 1.1.1.5 wiz int main (void)
1922 1.1 spz {
1923 1.1 spz void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1924 1.1 spz int status = $lt_dlunknown;
1925 1.1 spz
1926 1.1 spz if (self)
1927 1.1 spz {
1928 1.1 spz if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1929 1.1 spz else
1930 1.1 spz {
1931 1.1 spz if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1932 1.1 spz else puts (dlerror ());
1933 1.1 spz }
1934 1.1 spz /* dlclose (self); */
1935 1.1 spz }
1936 1.1 spz else
1937 1.1 spz puts (dlerror ());
1938 1.1 spz
1939 1.1 spz return status;
1940 1.1 spz }]
1941 1.1 spz _LT_EOF
1942 1.1.1.3 spz if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
1943 1.1 spz (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1944 1.1 spz lt_status=$?
1945 1.1 spz case x$lt_status in
1946 1.1 spz x$lt_dlno_uscore) $1 ;;
1947 1.1 spz x$lt_dlneed_uscore) $2 ;;
1948 1.1 spz x$lt_dlunknown|x*) $3 ;;
1949 1.1 spz esac
1950 1.1 spz else :
1951 1.1 spz # compilation failed
1952 1.1 spz $3
1953 1.1 spz fi
1954 1.1 spz fi
1955 1.1 spz rm -fr conftest*
1956 1.1 spz ])# _LT_TRY_DLOPEN_SELF
1957 1.1 spz
1958 1.1 spz
1959 1.1 spz # LT_SYS_DLOPEN_SELF
1960 1.1 spz # ------------------
1961 1.1 spz AC_DEFUN([LT_SYS_DLOPEN_SELF],
1962 1.1 spz [m4_require([_LT_HEADER_DLFCN])dnl
1963 1.1.1.3 spz if test yes != "$enable_dlopen"; then
1964 1.1 spz enable_dlopen=unknown
1965 1.1 spz enable_dlopen_self=unknown
1966 1.1 spz enable_dlopen_self_static=unknown
1967 1.1 spz else
1968 1.1 spz lt_cv_dlopen=no
1969 1.1 spz lt_cv_dlopen_libs=
1970 1.1 spz
1971 1.1 spz case $host_os in
1972 1.1 spz beos*)
1973 1.1.1.3 spz lt_cv_dlopen=load_add_on
1974 1.1 spz lt_cv_dlopen_libs=
1975 1.1 spz lt_cv_dlopen_self=yes
1976 1.1 spz ;;
1977 1.1 spz
1978 1.1.1.5 wiz mingw* | windows* | pw32* | cegcc*)
1979 1.1.1.3 spz lt_cv_dlopen=LoadLibrary
1980 1.1 spz lt_cv_dlopen_libs=
1981 1.1 spz ;;
1982 1.1 spz
1983 1.1 spz cygwin*)
1984 1.1.1.3 spz lt_cv_dlopen=dlopen
1985 1.1 spz lt_cv_dlopen_libs=
1986 1.1 spz ;;
1987 1.1 spz
1988 1.1 spz darwin*)
1989 1.1.1.3 spz # if libdl is installed we need to link against it
1990 1.1 spz AC_CHECK_LIB([dl], [dlopen],
1991 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1992 1.1.1.3 spz lt_cv_dlopen=dyld
1993 1.1 spz lt_cv_dlopen_libs=
1994 1.1 spz lt_cv_dlopen_self=yes
1995 1.1 spz ])
1996 1.1 spz ;;
1997 1.1 spz
1998 1.1.1.3 spz tpf*)
1999 1.1.1.3 spz # Don't try to run any link tests for TPF. We know it's impossible
2000 1.1.1.3 spz # because TPF is a cross-compiler, and we know how we open DSOs.
2001 1.1.1.3 spz lt_cv_dlopen=dlopen
2002 1.1.1.3 spz lt_cv_dlopen_libs=
2003 1.1.1.3 spz lt_cv_dlopen_self=no
2004 1.1.1.3 spz ;;
2005 1.1.1.3 spz
2006 1.1 spz *)
2007 1.1 spz AC_CHECK_FUNC([shl_load],
2008 1.1.1.3 spz [lt_cv_dlopen=shl_load],
2009 1.1 spz [AC_CHECK_LIB([dld], [shl_load],
2010 1.1.1.3 spz [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
2011 1.1 spz [AC_CHECK_FUNC([dlopen],
2012 1.1.1.3 spz [lt_cv_dlopen=dlopen],
2013 1.1 spz [AC_CHECK_LIB([dl], [dlopen],
2014 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
2015 1.1 spz [AC_CHECK_LIB([svld], [dlopen],
2016 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
2017 1.1 spz [AC_CHECK_LIB([dld], [dld_link],
2018 1.1.1.3 spz [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
2019 1.1 spz ])
2020 1.1 spz ])
2021 1.1 spz ])
2022 1.1 spz ])
2023 1.1 spz ])
2024 1.1 spz ;;
2025 1.1 spz esac
2026 1.1 spz
2027 1.1.1.3 spz if test no = "$lt_cv_dlopen"; then
2028 1.1 spz enable_dlopen=no
2029 1.1.1.3 spz else
2030 1.1.1.3 spz enable_dlopen=yes
2031 1.1 spz fi
2032 1.1 spz
2033 1.1 spz case $lt_cv_dlopen in
2034 1.1 spz dlopen)
2035 1.1.1.3 spz save_CPPFLAGS=$CPPFLAGS
2036 1.1.1.3 spz test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2037 1.1 spz
2038 1.1.1.3 spz save_LDFLAGS=$LDFLAGS
2039 1.1 spz wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2040 1.1 spz
2041 1.1.1.3 spz save_LIBS=$LIBS
2042 1.1 spz LIBS="$lt_cv_dlopen_libs $LIBS"
2043 1.1 spz
2044 1.1 spz AC_CACHE_CHECK([whether a program can dlopen itself],
2045 1.1 spz lt_cv_dlopen_self, [dnl
2046 1.1 spz _LT_TRY_DLOPEN_SELF(
2047 1.1 spz lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2048 1.1 spz lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2049 1.1 spz ])
2050 1.1 spz
2051 1.1.1.3 spz if test yes = "$lt_cv_dlopen_self"; then
2052 1.1 spz wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2053 1.1 spz AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2054 1.1 spz lt_cv_dlopen_self_static, [dnl
2055 1.1 spz _LT_TRY_DLOPEN_SELF(
2056 1.1 spz lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2057 1.1 spz lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2058 1.1 spz ])
2059 1.1 spz fi
2060 1.1 spz
2061 1.1.1.3 spz CPPFLAGS=$save_CPPFLAGS
2062 1.1.1.3 spz LDFLAGS=$save_LDFLAGS
2063 1.1.1.3 spz LIBS=$save_LIBS
2064 1.1 spz ;;
2065 1.1 spz esac
2066 1.1 spz
2067 1.1 spz case $lt_cv_dlopen_self in
2068 1.1 spz yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2069 1.1 spz *) enable_dlopen_self=unknown ;;
2070 1.1 spz esac
2071 1.1 spz
2072 1.1 spz case $lt_cv_dlopen_self_static in
2073 1.1 spz yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2074 1.1 spz *) enable_dlopen_self_static=unknown ;;
2075 1.1 spz esac
2076 1.1 spz fi
2077 1.1 spz _LT_DECL([dlopen_support], [enable_dlopen], [0],
2078 1.1 spz [Whether dlopen is supported])
2079 1.1 spz _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2080 1.1 spz [Whether dlopen of programs is supported])
2081 1.1 spz _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2082 1.1 spz [Whether dlopen of statically linked programs is supported])
2083 1.1 spz ])# LT_SYS_DLOPEN_SELF
2084 1.1 spz
2085 1.1 spz # Old name:
2086 1.1 spz AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2087 1.1 spz dnl aclocal-1.4 backwards compatibility:
2088 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2089 1.1 spz
2090 1.1 spz
2091 1.1 spz # _LT_COMPILER_C_O([TAGNAME])
2092 1.1 spz # ---------------------------
2093 1.1 spz # Check to see if options -c and -o are simultaneously supported by compiler.
2094 1.1 spz # This macro does not hard code the compiler like AC_PROG_CC_C_O.
2095 1.1 spz m4_defun([_LT_COMPILER_C_O],
2096 1.1 spz [m4_require([_LT_DECL_SED])dnl
2097 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2098 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
2099 1.1 spz AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2100 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2101 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2102 1.1 spz $RM -r conftest 2>/dev/null
2103 1.1 spz mkdir conftest
2104 1.1 spz cd conftest
2105 1.1 spz mkdir out
2106 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2107 1.1 spz
2108 1.1 spz lt_compiler_flag="-o out/conftest2.$ac_objext"
2109 1.1 spz # Insert the option either (1) after the last *FLAGS variable, or
2110 1.1 spz # (2) before a word containing "conftest.", or (3) at the end.
2111 1.1 spz # Note that $ac_compile itself does not contain backslashes and begins
2112 1.1 spz # with a dollar sign (not a hyphen), so the echo should work correctly.
2113 1.1 spz lt_compile=`echo "$ac_compile" | $SED \
2114 1.1 spz -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2115 1.1 spz -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2116 1.1 spz -e 's:$: $lt_compiler_flag:'`
2117 1.1 spz (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2118 1.1 spz (eval "$lt_compile" 2>out/conftest.err)
2119 1.1 spz ac_status=$?
2120 1.1 spz cat out/conftest.err >&AS_MESSAGE_LOG_FD
2121 1.1 spz echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2122 1.1 spz if (exit $ac_status) && test -s out/conftest2.$ac_objext
2123 1.1 spz then
2124 1.1 spz # The compiler can only warn and ignore the option if not recognized
2125 1.1 spz # So say no if there are warnings
2126 1.1 spz $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2127 1.1 spz $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2128 1.1 spz if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2129 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2130 1.1 spz fi
2131 1.1 spz fi
2132 1.1 spz chmod u+w . 2>&AS_MESSAGE_LOG_FD
2133 1.1 spz $RM conftest*
2134 1.1 spz # SGI C++ compiler will create directory out/ii_files/ for
2135 1.1 spz # template instantiation
2136 1.1 spz test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2137 1.1 spz $RM out/* && rmdir out
2138 1.1 spz cd ..
2139 1.1 spz $RM -r conftest
2140 1.1 spz $RM conftest*
2141 1.1 spz ])
2142 1.1 spz _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2143 1.1 spz [Does compiler simultaneously support -c and -o options?])
2144 1.1 spz ])# _LT_COMPILER_C_O
2145 1.1 spz
2146 1.1 spz
2147 1.1 spz # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2148 1.1 spz # ----------------------------------
2149 1.1 spz # Check to see if we can do hard links to lock some files if needed
2150 1.1 spz m4_defun([_LT_COMPILER_FILE_LOCKS],
2151 1.1 spz [m4_require([_LT_ENABLE_LOCK])dnl
2152 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2153 1.1 spz _LT_COMPILER_C_O([$1])
2154 1.1 spz
2155 1.1.1.3 spz hard_links=nottested
2156 1.1.1.3 spz if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
2157 1.1 spz # do not overwrite the value of need_locks provided by the user
2158 1.1 spz AC_MSG_CHECKING([if we can lock with hard links])
2159 1.1 spz hard_links=yes
2160 1.1 spz $RM conftest*
2161 1.1 spz ln conftest.a conftest.b 2>/dev/null && hard_links=no
2162 1.1 spz touch conftest.a
2163 1.1 spz ln conftest.a conftest.b 2>&5 || hard_links=no
2164 1.1 spz ln conftest.a conftest.b 2>/dev/null && hard_links=no
2165 1.1 spz AC_MSG_RESULT([$hard_links])
2166 1.1.1.3 spz if test no = "$hard_links"; then
2167 1.1.1.3 spz AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
2168 1.1 spz need_locks=warn
2169 1.1 spz fi
2170 1.1 spz else
2171 1.1 spz need_locks=no
2172 1.1 spz fi
2173 1.1 spz _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2174 1.1 spz ])# _LT_COMPILER_FILE_LOCKS
2175 1.1 spz
2176 1.1 spz
2177 1.1 spz # _LT_CHECK_OBJDIR
2178 1.1 spz # ----------------
2179 1.1 spz m4_defun([_LT_CHECK_OBJDIR],
2180 1.1 spz [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2181 1.1 spz [rm -f .libs 2>/dev/null
2182 1.1 spz mkdir .libs 2>/dev/null
2183 1.1 spz if test -d .libs; then
2184 1.1 spz lt_cv_objdir=.libs
2185 1.1 spz else
2186 1.1 spz # MS-DOS does not allow filenames that begin with a dot.
2187 1.1 spz lt_cv_objdir=_libs
2188 1.1 spz fi
2189 1.1 spz rmdir .libs 2>/dev/null])
2190 1.1 spz objdir=$lt_cv_objdir
2191 1.1 spz _LT_DECL([], [objdir], [0],
2192 1.1 spz [The name of the directory that contains temporary libtool files])dnl
2193 1.1 spz m4_pattern_allow([LT_OBJDIR])dnl
2194 1.1.1.3 spz AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2195 1.1.1.3 spz [Define to the sub-directory where libtool stores uninstalled libraries.])
2196 1.1 spz ])# _LT_CHECK_OBJDIR
2197 1.1 spz
2198 1.1 spz
2199 1.1 spz # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2200 1.1 spz # --------------------------------------
2201 1.1 spz # Check hardcoding attributes.
2202 1.1 spz m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2203 1.1 spz [AC_MSG_CHECKING([how to hardcode library paths into programs])
2204 1.1 spz _LT_TAGVAR(hardcode_action, $1)=
2205 1.1 spz if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2206 1.1 spz test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2207 1.1.1.3 spz test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
2208 1.1 spz
2209 1.1 spz # We can hardcode non-existent directories.
2210 1.1.1.3 spz if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
2211 1.1 spz # If the only mechanism to avoid hardcoding is shlibpath_var, we
2212 1.1 spz # have to relink, otherwise we might link with an installed library
2213 1.1 spz # when we should be linking with a yet-to-be-installed one
2214 1.1.1.3 spz ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2215 1.1.1.3 spz test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
2216 1.1 spz # Linking always hardcodes the temporary library directory.
2217 1.1 spz _LT_TAGVAR(hardcode_action, $1)=relink
2218 1.1 spz else
2219 1.1 spz # We can link without hardcoding, and we can hardcode nonexisting dirs.
2220 1.1 spz _LT_TAGVAR(hardcode_action, $1)=immediate
2221 1.1 spz fi
2222 1.1 spz else
2223 1.1 spz # We cannot hardcode anything, or else we can only hardcode existing
2224 1.1 spz # directories.
2225 1.1 spz _LT_TAGVAR(hardcode_action, $1)=unsupported
2226 1.1 spz fi
2227 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2228 1.1 spz
2229 1.1.1.3 spz if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2230 1.1.1.3 spz test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
2231 1.1 spz # Fast installation is not supported
2232 1.1 spz enable_fast_install=no
2233 1.1.1.3 spz elif test yes = "$shlibpath_overrides_runpath" ||
2234 1.1.1.3 spz test no = "$enable_shared"; then
2235 1.1 spz # Fast installation is not necessary
2236 1.1 spz enable_fast_install=needless
2237 1.1 spz fi
2238 1.1 spz _LT_TAGDECL([], [hardcode_action], [0],
2239 1.1 spz [How to hardcode a shared library path into an executable])
2240 1.1 spz ])# _LT_LINKER_HARDCODE_LIBPATH
2241 1.1 spz
2242 1.1 spz
2243 1.1 spz # _LT_CMD_STRIPLIB
2244 1.1 spz # ----------------
2245 1.1 spz m4_defun([_LT_CMD_STRIPLIB],
2246 1.1 spz [m4_require([_LT_DECL_EGREP])
2247 1.1 spz striplib=
2248 1.1 spz old_striplib=
2249 1.1 spz AC_MSG_CHECKING([whether stripping libraries is possible])
2250 1.1.1.5 wiz if test -z "$STRIP"; then
2251 1.1.1.5 wiz AC_MSG_RESULT([no])
2252 1.1 spz else
2253 1.1.1.5 wiz if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2254 1.1.1.5 wiz old_striplib="$STRIP --strip-debug"
2255 1.1.1.5 wiz striplib="$STRIP --strip-unneeded"
2256 1.1.1.5 wiz AC_MSG_RESULT([yes])
2257 1.1.1.5 wiz else
2258 1.1.1.5 wiz case $host_os in
2259 1.1.1.5 wiz darwin*)
2260 1.1.1.5 wiz # FIXME - insert some real tests, host_os isn't really good enough
2261 1.1 spz striplib="$STRIP -x"
2262 1.1 spz old_striplib="$STRIP -S"
2263 1.1 spz AC_MSG_RESULT([yes])
2264 1.1.1.5 wiz ;;
2265 1.1.1.5 wiz freebsd*)
2266 1.1.1.5 wiz if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
2267 1.1.1.5 wiz old_striplib="$STRIP --strip-debug"
2268 1.1.1.5 wiz striplib="$STRIP --strip-unneeded"
2269 1.1.1.5 wiz AC_MSG_RESULT([yes])
2270 1.1.1.5 wiz else
2271 1.1.1.5 wiz AC_MSG_RESULT([no])
2272 1.1.1.5 wiz fi
2273 1.1.1.5 wiz ;;
2274 1.1.1.5 wiz *)
2275 1.1 spz AC_MSG_RESULT([no])
2276 1.1.1.5 wiz ;;
2277 1.1.1.5 wiz esac
2278 1.1.1.5 wiz fi
2279 1.1 spz fi
2280 1.1 spz _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2281 1.1 spz _LT_DECL([], [striplib], [1])
2282 1.1 spz ])# _LT_CMD_STRIPLIB
2283 1.1 spz
2284 1.1 spz
2285 1.1.1.3 spz # _LT_PREPARE_MUNGE_PATH_LIST
2286 1.1.1.3 spz # ---------------------------
2287 1.1.1.3 spz # Make sure func_munge_path_list() is defined correctly.
2288 1.1.1.3 spz m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2289 1.1.1.3 spz [[# func_munge_path_list VARIABLE PATH
2290 1.1.1.3 spz # -----------------------------------
2291 1.1.1.3 spz # VARIABLE is name of variable containing _space_ separated list of
2292 1.1.1.3 spz # directories to be munged by the contents of PATH, which is string
2293 1.1.1.3 spz # having a format:
2294 1.1.1.3 spz # "DIR[:DIR]:"
2295 1.1.1.3 spz # string "DIR[ DIR]" will be prepended to VARIABLE
2296 1.1.1.3 spz # ":DIR[:DIR]"
2297 1.1.1.3 spz # string "DIR[ DIR]" will be appended to VARIABLE
2298 1.1.1.3 spz # "DIRP[:DIRP]::[DIRA:]DIRA"
2299 1.1.1.3 spz # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2300 1.1.1.3 spz # "DIRA[ DIRA]" will be appended to VARIABLE
2301 1.1.1.3 spz # "DIR[:DIR]"
2302 1.1.1.3 spz # VARIABLE will be replaced by "DIR[ DIR]"
2303 1.1.1.3 spz func_munge_path_list ()
2304 1.1.1.3 spz {
2305 1.1.1.3 spz case x@S|@2 in
2306 1.1.1.3 spz x)
2307 1.1.1.3 spz ;;
2308 1.1.1.3 spz *:)
2309 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2310 1.1.1.3 spz ;;
2311 1.1.1.3 spz x:*)
2312 1.1.1.3 spz eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2313 1.1.1.3 spz ;;
2314 1.1.1.3 spz *::*)
2315 1.1.1.3 spz eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2316 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2317 1.1.1.3 spz ;;
2318 1.1.1.3 spz *)
2319 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2320 1.1.1.3 spz ;;
2321 1.1.1.3 spz esac
2322 1.1.1.3 spz }
2323 1.1.1.3 spz ]])# _LT_PREPARE_PATH_LIST
2324 1.1.1.3 spz
2325 1.1.1.3 spz
2326 1.1 spz # _LT_SYS_DYNAMIC_LINKER([TAG])
2327 1.1 spz # -----------------------------
2328 1.1 spz # PORTME Fill in your ld.so characteristics
2329 1.1 spz m4_defun([_LT_SYS_DYNAMIC_LINKER],
2330 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2331 1.1 spz m4_require([_LT_DECL_EGREP])dnl
2332 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2333 1.1 spz m4_require([_LT_DECL_OBJDUMP])dnl
2334 1.1 spz m4_require([_LT_DECL_SED])dnl
2335 1.1 spz m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2336 1.1.1.3 spz m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
2337 1.1 spz AC_MSG_CHECKING([dynamic linker characteristics])
2338 1.1 spz m4_if([$1],
2339 1.1 spz [], [
2340 1.1.1.3 spz if test yes = "$GCC"; then
2341 1.1 spz case $host_os in
2342 1.1.1.3 spz darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2343 1.1.1.3 spz *) lt_awk_arg='/^libraries:/' ;;
2344 1.1 spz esac
2345 1.1 spz case $host_os in
2346 1.1.1.5 wiz mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2347 1.1.1.3 spz *) lt_sed_strip_eq='s|=/|/|g' ;;
2348 1.1 spz esac
2349 1.1 spz lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2350 1.1 spz case $lt_search_path_spec in
2351 1.1 spz *\;*)
2352 1.1 spz # if the path contains ";" then we assume it to be the separator
2353 1.1 spz # otherwise default to the standard path separator (i.e. ":") - it is
2354 1.1 spz # assumed that no part of a normal pathname contains ";" but that should
2355 1.1 spz # okay in the real world where ";" in dirpaths is itself problematic.
2356 1.1 spz lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2357 1.1 spz ;;
2358 1.1 spz *)
2359 1.1 spz lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2360 1.1 spz ;;
2361 1.1 spz esac
2362 1.1 spz # Ok, now we have the path, separated by spaces, we can step through it
2363 1.1.1.3 spz # and add multilib dir if necessary...
2364 1.1 spz lt_tmp_lt_search_path_spec=
2365 1.1.1.3 spz lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2366 1.1.1.3 spz # ...but if some path component already ends with the multilib dir we assume
2367 1.1.1.3 spz # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2368 1.1.1.3 spz case "$lt_multi_os_dir; $lt_search_path_spec " in
2369 1.1.1.3 spz "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2370 1.1.1.3 spz lt_multi_os_dir=
2371 1.1.1.3 spz ;;
2372 1.1.1.3 spz esac
2373 1.1 spz for lt_sys_path in $lt_search_path_spec; do
2374 1.1.1.3 spz if test -d "$lt_sys_path$lt_multi_os_dir"; then
2375 1.1.1.3 spz lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2376 1.1.1.3 spz elif test -n "$lt_multi_os_dir"; then
2377 1.1 spz test -d "$lt_sys_path" && \
2378 1.1 spz lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2379 1.1 spz fi
2380 1.1 spz done
2381 1.1 spz lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2382 1.1.1.3 spz BEGIN {RS = " "; FS = "/|\n";} {
2383 1.1.1.3 spz lt_foo = "";
2384 1.1.1.3 spz lt_count = 0;
2385 1.1 spz for (lt_i = NF; lt_i > 0; lt_i--) {
2386 1.1 spz if ($lt_i != "" && $lt_i != ".") {
2387 1.1 spz if ($lt_i == "..") {
2388 1.1 spz lt_count++;
2389 1.1 spz } else {
2390 1.1 spz if (lt_count == 0) {
2391 1.1.1.3 spz lt_foo = "/" $lt_i lt_foo;
2392 1.1 spz } else {
2393 1.1 spz lt_count--;
2394 1.1 spz }
2395 1.1 spz }
2396 1.1 spz }
2397 1.1 spz }
2398 1.1 spz if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2399 1.1 spz if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2400 1.1 spz }'`
2401 1.1 spz # AWK program above erroneously prepends '/' to C:/dos/paths
2402 1.1 spz # for these hosts.
2403 1.1 spz case $host_os in
2404 1.1.1.5 wiz mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2405 1.1.1.3 spz $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
2406 1.1 spz esac
2407 1.1 spz sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2408 1.1 spz else
2409 1.1 spz sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2410 1.1 spz fi])
2411 1.1 spz library_names_spec=
2412 1.1 spz libname_spec='lib$name'
2413 1.1 spz soname_spec=
2414 1.1.1.3 spz shrext_cmds=.so
2415 1.1 spz postinstall_cmds=
2416 1.1 spz postuninstall_cmds=
2417 1.1 spz finish_cmds=
2418 1.1 spz finish_eval=
2419 1.1 spz shlibpath_var=
2420 1.1 spz shlibpath_overrides_runpath=unknown
2421 1.1 spz version_type=none
2422 1.1 spz dynamic_linker="$host_os ld.so"
2423 1.1 spz sys_lib_dlsearch_path_spec="/lib /usr/lib"
2424 1.1 spz need_lib_prefix=unknown
2425 1.1 spz hardcode_into_libs=no
2426 1.1 spz
2427 1.1 spz # when you set need_version to no, make sure it does not cause -set_version
2428 1.1 spz # flags to be left without arguments
2429 1.1 spz need_version=unknown
2430 1.1 spz
2431 1.1.1.3 spz AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2432 1.1.1.3 spz [User-defined run-time library search path.])
2433 1.1.1.3 spz
2434 1.1 spz case $host_os in
2435 1.1 spz aix3*)
2436 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2437 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
2438 1.1 spz shlibpath_var=LIBPATH
2439 1.1 spz
2440 1.1 spz # AIX 3 has no versioning support, so we append a major version to the name.
2441 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2442 1.1 spz ;;
2443 1.1 spz
2444 1.1 spz aix[[4-9]]*)
2445 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2446 1.1 spz need_lib_prefix=no
2447 1.1 spz need_version=no
2448 1.1 spz hardcode_into_libs=yes
2449 1.1.1.3 spz if test ia64 = "$host_cpu"; then
2450 1.1 spz # AIX 5 supports IA64
2451 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
2452 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2453 1.1 spz else
2454 1.1 spz # With GCC up to 2.95.x, collect2 would create an import file
2455 1.1 spz # for dependence libraries. The import file would start with
2456 1.1.1.3 spz # the line '#! .'. This would cause the generated library to
2457 1.1.1.3 spz # depend on '.', always an invalid library. This was fixed in
2458 1.1 spz # development snapshots of GCC prior to 3.0.
2459 1.1 spz case $host_os in
2460 1.1 spz aix4 | aix4.[[01]] | aix4.[[01]].*)
2461 1.1 spz if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2462 1.1 spz echo ' yes '
2463 1.1.1.3 spz echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
2464 1.1 spz :
2465 1.1 spz else
2466 1.1 spz can_build_shared=no
2467 1.1 spz fi
2468 1.1 spz ;;
2469 1.1 spz esac
2470 1.1.1.3 spz # Using Import Files as archive members, it is possible to support
2471 1.1.1.3 spz # filename-based versioning of shared library archives on AIX. While
2472 1.1.1.3 spz # this would work for both with and without runtime linking, it will
2473 1.1.1.3 spz # prevent static linking of such archives. So we do filename-based
2474 1.1.1.3 spz # shared library versioning with .so extension only, which is used
2475 1.1.1.3 spz # when both runtime linking and shared linking is enabled.
2476 1.1.1.3 spz # Unfortunately, runtime linking may impact performance, so we do
2477 1.1.1.3 spz # not want this to be the default eventually. Also, we use the
2478 1.1.1.3 spz # versioned .so libs for executables only if there is the -brtl
2479 1.1.1.5 wiz # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only.
2480 1.1.1.3 spz # To allow for filename-based versioning support, we need to create
2481 1.1.1.3 spz # libNAME.so.V as an archive file, containing:
2482 1.1.1.3 spz # *) an Import File, referring to the versioned filename of the
2483 1.1.1.3 spz # archive as well as the shared archive member, telling the
2484 1.1.1.3 spz # bitwidth (32 or 64) of that shared object, and providing the
2485 1.1.1.3 spz # list of exported symbols of that shared object, eventually
2486 1.1.1.3 spz # decorated with the 'weak' keyword
2487 1.1.1.3 spz # *) the shared object with the F_LOADONLY flag set, to really avoid
2488 1.1.1.3 spz # it being seen by the linker.
2489 1.1.1.3 spz # At run time we better use the real file rather than another symlink,
2490 1.1.1.3 spz # but for link time we create the symlink libNAME.so -> libNAME.so.V
2491 1.1.1.3 spz
2492 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
2493 1.1.1.3 spz # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
2494 1.1 spz # soname into executable. Probably we can add versioning support to
2495 1.1 spz # collect2, so additional links can be useful in future.
2496 1.1.1.3 spz aix,yes) # traditional libtool
2497 1.1.1.3 spz dynamic_linker='AIX unversionable lib.so'
2498 1.1 spz # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2499 1.1 spz # instead of lib<name>.a to let people know that these are not
2500 1.1 spz # typical AIX shared libraries.
2501 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2502 1.1.1.3 spz ;;
2503 1.1.1.3 spz aix,no) # traditional AIX only
2504 1.1.1.3 spz dynamic_linker='AIX lib.a[(]lib.so.V[)]'
2505 1.1 spz # We preserve .a as extension for shared libraries through AIX4.2
2506 1.1 spz # and later when we are not doing run time linking.
2507 1.1.1.3 spz library_names_spec='$libname$release.a $libname.a'
2508 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2509 1.1.1.3 spz ;;
2510 1.1.1.3 spz svr4,*) # full svr4 only
2511 1.1.1.3 spz dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2512 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2513 1.1.1.3 spz # We do not specify a path in Import Files, so LIBPATH fires.
2514 1.1.1.3 spz shlibpath_overrides_runpath=yes
2515 1.1.1.3 spz ;;
2516 1.1.1.3 spz *,yes) # both, prefer svr4
2517 1.1.1.3 spz dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2518 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2519 1.1.1.3 spz # unpreferred sharedlib libNAME.a needs extra handling
2520 1.1.1.3 spz 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.1.3 spz 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.1.3 spz # We do not specify a path in Import Files, so LIBPATH fires.
2523 1.1.1.3 spz shlibpath_overrides_runpath=yes
2524 1.1.1.3 spz ;;
2525 1.1.1.3 spz *,no) # both, prefer aix
2526 1.1.1.3 spz dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2527 1.1.1.3 spz library_names_spec='$libname$release.a $libname.a'
2528 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2529 1.1.1.3 spz # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2530 1.1.1.3 spz 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.1.3 spz 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.1.3 spz ;;
2533 1.1.1.3 spz esac
2534 1.1 spz shlibpath_var=LIBPATH
2535 1.1 spz fi
2536 1.1 spz ;;
2537 1.1 spz
2538 1.1 spz amigaos*)
2539 1.1 spz case $host_cpu in
2540 1.1 spz powerpc)
2541 1.1 spz # Since July 2007 AmigaOS4 officially supports .so libraries.
2542 1.1 spz # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2543 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2544 1.1 spz ;;
2545 1.1 spz m68k)
2546 1.1 spz library_names_spec='$libname.ixlibrary $libname.a'
2547 1.1 spz # Create ${libname}_ixlibrary.a entries in /sys/libs.
2548 1.1.1.3 spz 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 spz ;;
2550 1.1 spz esac
2551 1.1 spz ;;
2552 1.1 spz
2553 1.1 spz beos*)
2554 1.1.1.3 spz library_names_spec='$libname$shared_ext'
2555 1.1 spz dynamic_linker="$host_os ld.so"
2556 1.1 spz shlibpath_var=LIBRARY_PATH
2557 1.1 spz ;;
2558 1.1 spz
2559 1.1 spz bsdi[[45]]*)
2560 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2561 1.1 spz need_version=no
2562 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2563 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2564 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2565 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2566 1.1 spz sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2567 1.1 spz sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2568 1.1 spz # the default ld.so.conf also contains /usr/contrib/lib and
2569 1.1 spz # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2570 1.1 spz # libtool to hard-code these into programs
2571 1.1 spz ;;
2572 1.1 spz
2573 1.1.1.5 wiz cygwin* | mingw* | windows* | pw32* | cegcc*)
2574 1.1 spz version_type=windows
2575 1.1.1.3 spz shrext_cmds=.dll
2576 1.1 spz need_version=no
2577 1.1 spz need_lib_prefix=no
2578 1.1 spz
2579 1.1 spz case $GCC,$cc_basename in
2580 1.1 spz yes,*)
2581 1.1 spz # gcc
2582 1.1 spz library_names_spec='$libname.dll.a'
2583 1.1 spz # DLL is installed to $(libdir)/../bin by postinstall_cmds
2584 1.1.1.5 wiz # If user builds GCC with multilib enabled,
2585 1.1.1.5 wiz # it should just install on $(libdir)
2586 1.1.1.5 wiz # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
2587 1.1.1.5 wiz if test xyes = x"$multilib"; then
2588 1.1.1.5 wiz postinstall_cmds='base_file=`basename \$file`~
2589 1.1.1.5 wiz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2590 1.1.1.5 wiz dldir=$destdir/`dirname \$dlpath`~
2591 1.1.1.5 wiz $install_prog $dir/$dlname $destdir/$dlname~
2592 1.1.1.5 wiz chmod a+x $destdir/$dlname~
2593 1.1.1.5 wiz if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2594 1.1.1.5 wiz eval '\''$striplib $destdir/$dlname'\'' || exit \$?;
2595 1.1.1.5 wiz fi'
2596 1.1.1.5 wiz else
2597 1.1.1.5 wiz postinstall_cmds='base_file=`basename \$file`~
2598 1.1.1.5 wiz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2599 1.1.1.5 wiz dldir=$destdir/`dirname \$dlpath`~
2600 1.1.1.5 wiz test -d \$dldir || mkdir -p \$dldir~
2601 1.1.1.5 wiz $install_prog $dir/$dlname \$dldir/$dlname~
2602 1.1.1.5 wiz chmod a+x \$dldir/$dlname~
2603 1.1.1.5 wiz if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2604 1.1.1.5 wiz eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2605 1.1.1.5 wiz fi'
2606 1.1.1.5 wiz fi
2607 1.1 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2608 1.1 spz dlpath=$dir/\$dldll~
2609 1.1 spz $RM \$dlpath'
2610 1.1 spz shlibpath_overrides_runpath=yes
2611 1.1 spz
2612 1.1 spz case $host_os in
2613 1.1 spz cygwin*)
2614 1.1 spz # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2615 1.1.1.5 wiz soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2616 1.1 spz m4_if([$1], [],[
2617 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2618 1.1 spz ;;
2619 1.1.1.5 wiz mingw* | windows* | cegcc*)
2620 1.1 spz # MinGW DLLs use traditional 'lib' prefix
2621 1.1.1.3 spz soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2622 1.1 spz ;;
2623 1.1 spz pw32*)
2624 1.1 spz # pw32 DLLs use 'pw' prefix rather than 'lib'
2625 1.1.1.5 wiz library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2626 1.1 spz ;;
2627 1.1 spz esac
2628 1.1 spz dynamic_linker='Win32 ld.exe'
2629 1.1 spz ;;
2630 1.1 spz
2631 1.1.1.5 wiz *,cl* | *,icl*)
2632 1.1.1.5 wiz # Native MSVC or ICC
2633 1.1 spz libname_spec='$name'
2634 1.1.1.3 spz soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2635 1.1.1.3 spz library_names_spec='$libname.dll.lib'
2636 1.1 spz
2637 1.1 spz case $build_os in
2638 1.1.1.5 wiz mingw* | windows*)
2639 1.1 spz sys_lib_search_path_spec=
2640 1.1 spz lt_save_ifs=$IFS
2641 1.1 spz IFS=';'
2642 1.1 spz for lt_path in $LIB
2643 1.1 spz do
2644 1.1 spz IFS=$lt_save_ifs
2645 1.1 spz # Let DOS variable expansion print the short 8.3 style file name.
2646 1.1 spz lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2647 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2648 1.1 spz done
2649 1.1 spz IFS=$lt_save_ifs
2650 1.1 spz # Convert to MSYS style.
2651 1.1.1.5 wiz 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 spz ;;
2653 1.1 spz cygwin*)
2654 1.1 spz # Convert to unix form, then to dos form, then back to unix form
2655 1.1 spz # but this time dos style (no spaces!) so that the unix form looks
2656 1.1 spz # like /cygdrive/c/PROGRA~1:/cygdr...
2657 1.1 spz sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2658 1.1 spz sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2659 1.1 spz sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2660 1.1 spz ;;
2661 1.1 spz *)
2662 1.1.1.3 spz sys_lib_search_path_spec=$LIB
2663 1.1 spz if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2664 1.1 spz # It is most probably a Windows format PATH.
2665 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2666 1.1 spz else
2667 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2668 1.1 spz fi
2669 1.1 spz # FIXME: find the short name or the path components, as spaces are
2670 1.1 spz # common. (e.g. "Program Files" -> "PROGRA~1")
2671 1.1 spz ;;
2672 1.1 spz esac
2673 1.1 spz
2674 1.1 spz # DLL is installed to $(libdir)/../bin by postinstall_cmds
2675 1.1.1.3 spz postinstall_cmds='base_file=`basename \$file`~
2676 1.1.1.3 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2677 1.1 spz dldir=$destdir/`dirname \$dlpath`~
2678 1.1 spz test -d \$dldir || mkdir -p \$dldir~
2679 1.1 spz $install_prog $dir/$dlname \$dldir/$dlname'
2680 1.1 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2681 1.1 spz dlpath=$dir/\$dldll~
2682 1.1 spz $RM \$dlpath'
2683 1.1 spz shlibpath_overrides_runpath=yes
2684 1.1 spz dynamic_linker='Win32 link.exe'
2685 1.1 spz ;;
2686 1.1 spz
2687 1.1 spz *)
2688 1.1.1.5 wiz # Assume MSVC and ICC wrapper
2689 1.1.1.3 spz library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
2690 1.1 spz dynamic_linker='Win32 ld.exe'
2691 1.1 spz ;;
2692 1.1 spz esac
2693 1.1 spz # FIXME: first we should search . and the directory the executable is in
2694 1.1 spz shlibpath_var=PATH
2695 1.1 spz ;;
2696 1.1 spz
2697 1.1 spz darwin* | rhapsody*)
2698 1.1 spz dynamic_linker="$host_os dyld"
2699 1.1 spz version_type=darwin
2700 1.1 spz need_lib_prefix=no
2701 1.1 spz need_version=no
2702 1.1.1.4 christos library_names_spec='$libname$release$versuffix$shared_ext $libname$release$major$shared_ext $libname$shared_ext'
2703 1.1.1.3 spz soname_spec='$libname$release$major$shared_ext'
2704 1.1 spz shlibpath_overrides_runpath=yes
2705 1.1 spz shlibpath_var=DYLD_LIBRARY_PATH
2706 1.1.1.4 christos shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`'
2707 1.1 spz m4_if([$1], [],[
2708 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2709 1.1 spz sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2710 1.1 spz ;;
2711 1.1 spz
2712 1.1 spz dgux*)
2713 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2714 1.1 spz need_lib_prefix=no
2715 1.1 spz need_version=no
2716 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2717 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2718 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2719 1.1 spz ;;
2720 1.1 spz
2721 1.1.1.5 wiz freebsd* | dragonfly* | midnightbsd*)
2722 1.1 spz # DragonFly does not have aout. When/if they implement a new
2723 1.1 spz # versioning mechanism, adjust this.
2724 1.1 spz if test -x /usr/bin/objformat; then
2725 1.1 spz objformat=`/usr/bin/objformat`
2726 1.1 spz else
2727 1.1 spz case $host_os in
2728 1.1.1.2 spz freebsd[[23]].*) objformat=aout ;;
2729 1.1 spz *) objformat=elf ;;
2730 1.1 spz esac
2731 1.1 spz fi
2732 1.1.1.3 spz # Handle Gentoo/FreeBSD as it was Linux
2733 1.1.1.3 spz case $host_vendor in
2734 1.1.1.3 spz gentoo)
2735 1.1.1.3 spz version_type=linux ;;
2736 1.1.1.3 spz *)
2737 1.1.1.3 spz version_type=freebsd-$objformat ;;
2738 1.1.1.3 spz esac
2739 1.1.1.3 spz
2740 1.1 spz case $version_type in
2741 1.1 spz freebsd-elf*)
2742 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2743 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2744 1.1 spz need_version=no
2745 1.1 spz need_lib_prefix=no
2746 1.1 spz ;;
2747 1.1 spz freebsd-*)
2748 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2749 1.1 spz need_version=yes
2750 1.1 spz ;;
2751 1.1.1.3 spz linux)
2752 1.1.1.3 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2753 1.1.1.3 spz soname_spec='${libname}${release}${shared_ext}$major'
2754 1.1.1.3 spz need_lib_prefix=no
2755 1.1.1.3 spz need_version=no
2756 1.1.1.3 spz ;;
2757 1.1 spz esac
2758 1.1.1.5 wiz case $host_cpu in
2759 1.1.1.5 wiz powerpc64)
2760 1.1.1.5 wiz # On FreeBSD bi-arch platforms, a different variable is used for 32-bit
2761 1.1.1.5 wiz # binaries. See <https://man.freebsd.org/cgi/man.cgi?query=ld.so>.
2762 1.1.1.5 wiz AC_COMPILE_IFELSE(
2763 1.1.1.5 wiz [AC_LANG_SOURCE(
2764 1.1.1.5 wiz [[int test_pointer_size[sizeof (void *) - 5];
2765 1.1.1.5 wiz ]])],
2766 1.1.1.5 wiz [shlibpath_var=LD_LIBRARY_PATH],
2767 1.1.1.5 wiz [shlibpath_var=LD_32_LIBRARY_PATH])
2768 1.1.1.5 wiz ;;
2769 1.1.1.5 wiz *)
2770 1.1.1.5 wiz shlibpath_var=LD_LIBRARY_PATH
2771 1.1.1.5 wiz ;;
2772 1.1.1.5 wiz esac
2773 1.1 spz case $host_os in
2774 1.1.1.2 spz freebsd2.*)
2775 1.1 spz shlibpath_overrides_runpath=yes
2776 1.1 spz ;;
2777 1.1 spz freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2778 1.1 spz shlibpath_overrides_runpath=yes
2779 1.1 spz hardcode_into_libs=yes
2780 1.1 spz ;;
2781 1.1 spz freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2782 1.1 spz freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2783 1.1 spz shlibpath_overrides_runpath=no
2784 1.1 spz hardcode_into_libs=yes
2785 1.1 spz ;;
2786 1.1 spz *) # from 4.6 on, and DragonFly
2787 1.1 spz shlibpath_overrides_runpath=yes
2788 1.1 spz hardcode_into_libs=yes
2789 1.1 spz ;;
2790 1.1 spz esac
2791 1.1 spz ;;
2792 1.1 spz
2793 1.1 spz haiku*)
2794 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2795 1.1 spz need_lib_prefix=no
2796 1.1 spz need_version=no
2797 1.1 spz dynamic_linker="$host_os runtime_loader"
2798 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2799 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2800 1.1 spz shlibpath_var=LIBRARY_PATH
2801 1.1.1.3 spz shlibpath_overrides_runpath=no
2802 1.1.1.5 wiz sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib'
2803 1.1.1.5 wiz sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib'
2804 1.1.1.5 wiz hardcode_into_libs=no
2805 1.1 spz ;;
2806 1.1 spz
2807 1.1 spz hpux9* | hpux10* | hpux11*)
2808 1.1 spz # Give a soname corresponding to the major version so that dld.sl refuses to
2809 1.1 spz # link against other versions.
2810 1.1 spz version_type=sunos
2811 1.1 spz need_lib_prefix=no
2812 1.1 spz need_version=no
2813 1.1 spz case $host_cpu in
2814 1.1 spz ia64*)
2815 1.1 spz shrext_cmds='.so'
2816 1.1 spz hardcode_into_libs=yes
2817 1.1 spz dynamic_linker="$host_os dld.so"
2818 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2819 1.1 spz shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2820 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2821 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2822 1.1.1.3 spz if test 32 = "$HPUX_IA64_MODE"; then
2823 1.1 spz sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2824 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib/hpux32
2825 1.1 spz else
2826 1.1 spz sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2827 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib/hpux64
2828 1.1 spz fi
2829 1.1 spz ;;
2830 1.1 spz hppa*64*)
2831 1.1 spz shrext_cmds='.sl'
2832 1.1 spz hardcode_into_libs=yes
2833 1.1 spz dynamic_linker="$host_os dld.sl"
2834 1.1 spz shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2835 1.1 spz shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2836 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2837 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2838 1.1 spz sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2839 1.1 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2840 1.1 spz ;;
2841 1.1 spz *)
2842 1.1 spz shrext_cmds='.sl'
2843 1.1 spz dynamic_linker="$host_os dld.sl"
2844 1.1 spz shlibpath_var=SHLIB_PATH
2845 1.1 spz shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2846 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2847 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2848 1.1 spz ;;
2849 1.1 spz esac
2850 1.1 spz # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2851 1.1 spz postinstall_cmds='chmod 555 $lib'
2852 1.1 spz # or fails outright, so override atomically:
2853 1.1 spz install_override_mode=555
2854 1.1 spz ;;
2855 1.1 spz
2856 1.1 spz interix[[3-9]]*)
2857 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2858 1.1 spz need_lib_prefix=no
2859 1.1 spz need_version=no
2860 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2861 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2862 1.1 spz dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2863 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2864 1.1 spz shlibpath_overrides_runpath=no
2865 1.1 spz hardcode_into_libs=yes
2866 1.1 spz ;;
2867 1.1 spz
2868 1.1 spz irix5* | irix6* | nonstopux*)
2869 1.1 spz case $host_os in
2870 1.1 spz nonstopux*) version_type=nonstopux ;;
2871 1.1 spz *)
2872 1.1.1.3 spz if test yes = "$lt_cv_prog_gnu_ld"; then
2873 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2874 1.1 spz else
2875 1.1 spz version_type=irix
2876 1.1 spz fi ;;
2877 1.1 spz esac
2878 1.1 spz need_lib_prefix=no
2879 1.1 spz need_version=no
2880 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2881 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
2882 1.1 spz case $host_os in
2883 1.1 spz irix5* | nonstopux*)
2884 1.1 spz libsuff= shlibsuff=
2885 1.1 spz ;;
2886 1.1 spz *)
2887 1.1 spz case $LD in # libtool.m4 will add one of these switches to LD
2888 1.1 spz *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2889 1.1 spz libsuff= shlibsuff= libmagic=32-bit;;
2890 1.1 spz *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2891 1.1 spz libsuff=32 shlibsuff=N32 libmagic=N32;;
2892 1.1 spz *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2893 1.1 spz libsuff=64 shlibsuff=64 libmagic=64-bit;;
2894 1.1 spz *) libsuff= shlibsuff= libmagic=never-match;;
2895 1.1 spz esac
2896 1.1 spz ;;
2897 1.1 spz esac
2898 1.1 spz shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2899 1.1 spz shlibpath_overrides_runpath=no
2900 1.1.1.3 spz sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2901 1.1.1.3 spz sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
2902 1.1 spz hardcode_into_libs=yes
2903 1.1 spz ;;
2904 1.1 spz
2905 1.1 spz # No shared lib support for Linux oldld, aout, or coff.
2906 1.1 spz linux*oldld* | linux*aout* | linux*coff*)
2907 1.1 spz dynamic_linker=no
2908 1.1 spz ;;
2909 1.1 spz
2910 1.1.1.3 spz linux*android*)
2911 1.1.1.3 spz version_type=none # Android doesn't support versioned libraries.
2912 1.1.1.3 spz need_lib_prefix=no
2913 1.1.1.3 spz need_version=no
2914 1.1.1.5 wiz library_names_spec='$libname$release$shared_ext $libname$shared_ext'
2915 1.1.1.3 spz soname_spec='$libname$release$shared_ext'
2916 1.1.1.3 spz finish_cmds=
2917 1.1.1.3 spz shlibpath_var=LD_LIBRARY_PATH
2918 1.1.1.3 spz shlibpath_overrides_runpath=yes
2919 1.1.1.3 spz
2920 1.1.1.3 spz # This implies no fast_install, which is unacceptable.
2921 1.1.1.3 spz # Some rework will be needed to allow for fast_install
2922 1.1.1.3 spz # before this can be enabled.
2923 1.1.1.3 spz hardcode_into_libs=yes
2924 1.1.1.3 spz
2925 1.1.1.3 spz dynamic_linker='Android linker'
2926 1.1.1.5 wiz # -rpath works at least for libraries that are not overridden by
2927 1.1.1.5 wiz # libraries installed in system locations.
2928 1.1.1.5 wiz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
2929 1.1.1.3 spz ;;
2930 1.1.1.3 spz
2931 1.1.1.2 spz # This must be glibc/ELF.
2932 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
2933 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2934 1.1 spz need_lib_prefix=no
2935 1.1 spz need_version=no
2936 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2937 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2938 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2939 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2940 1.1 spz shlibpath_overrides_runpath=no
2941 1.1 spz
2942 1.1 spz # Some binutils ld are patched to set DT_RUNPATH
2943 1.1 spz AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2944 1.1 spz [lt_cv_shlibpath_overrides_runpath=no
2945 1.1 spz save_LDFLAGS=$LDFLAGS
2946 1.1 spz save_libdir=$libdir
2947 1.1 spz eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2948 1.1 spz LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2949 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2950 1.1 spz [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2951 1.1 spz [lt_cv_shlibpath_overrides_runpath=yes])])
2952 1.1 spz LDFLAGS=$save_LDFLAGS
2953 1.1 spz libdir=$save_libdir
2954 1.1 spz ])
2955 1.1 spz shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2956 1.1 spz
2957 1.1 spz # This implies no fast_install, which is unacceptable.
2958 1.1 spz # Some rework will be needed to allow for fast_install
2959 1.1 spz # before this can be enabled.
2960 1.1 spz hardcode_into_libs=yes
2961 1.1 spz
2962 1.1.1.5 wiz # Ideally, we could use ldconfig to report *all* directories which are
2963 1.1.1.3 spz # searched for libraries, however this is still not possible. Aside from not
2964 1.1.1.3 spz # being certain /sbin/ldconfig is available, command
2965 1.1.1.3 spz # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2966 1.1.1.3 spz # even though it is searched at run-time. Try to do the best guess by
2967 1.1.1.3 spz # appending ld.so.conf contents (and includes) to the search path.
2968 1.1 spz if test -f /etc/ld.so.conf; then
2969 1.1 spz lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
2970 1.1 spz sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2971 1.1 spz fi
2972 1.1 spz
2973 1.1 spz # We used to test for /lib/ld.so.1 and disable shared libraries on
2974 1.1 spz # powerpc, because MkLinux only supported shared libraries with the
2975 1.1 spz # GNU dynamic linker. Since this was broken with cross compilers,
2976 1.1 spz # most powerpc-linux boxes support dynamic linking these days and
2977 1.1 spz # people can always --disable-shared, the test was removed, and we
2978 1.1 spz # assume the GNU/Linux dynamic linker is in use.
2979 1.1 spz dynamic_linker='GNU/Linux ld.so'
2980 1.1 spz ;;
2981 1.1 spz
2982 1.1.1.5 wiz netbsdelf*-gnu)
2983 1.1.1.5 wiz version_type=linux
2984 1.1.1.5 wiz need_lib_prefix=no
2985 1.1.1.5 wiz need_version=no
2986 1.1.1.5 wiz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2987 1.1.1.5 wiz soname_spec='$libname$release$shared_ext$major'
2988 1.1.1.5 wiz shlibpath_var=LD_LIBRARY_PATH
2989 1.1.1.5 wiz shlibpath_overrides_runpath=no
2990 1.1.1.5 wiz hardcode_into_libs=yes
2991 1.1.1.5 wiz dynamic_linker='NetBSD ld.elf_so'
2992 1.1.1.5 wiz ;;
2993 1.1.1.5 wiz
2994 1.1 spz netbsd*)
2995 1.1 spz version_type=sunos
2996 1.1 spz need_lib_prefix=no
2997 1.1 spz need_version=no
2998 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2999 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3000 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
3001 1.1 spz dynamic_linker='NetBSD (a.out) ld.so'
3002 1.1 spz else
3003 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3004 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3005 1.1 spz dynamic_linker='NetBSD ld.elf_so'
3006 1.1 spz fi
3007 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3008 1.1 spz shlibpath_overrides_runpath=yes
3009 1.1 spz hardcode_into_libs=yes
3010 1.1 spz ;;
3011 1.1 spz
3012 1.1.1.5 wiz *-mlibc)
3013 1.1.1.5 wiz version_type=linux # correct to gnu/linux during the next big refactor
3014 1.1.1.5 wiz need_lib_prefix=no
3015 1.1.1.5 wiz need_version=no
3016 1.1.1.5 wiz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3017 1.1.1.5 wiz soname_spec='$libname$release$shared_ext$major'
3018 1.1.1.5 wiz dynamic_linker='mlibc ld.so'
3019 1.1.1.5 wiz shlibpath_var=LD_LIBRARY_PATH
3020 1.1.1.5 wiz shlibpath_overrides_runpath=no
3021 1.1.1.5 wiz hardcode_into_libs=yes
3022 1.1.1.5 wiz ;;
3023 1.1.1.5 wiz
3024 1.1 spz newsos6)
3025 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3026 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3027 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3028 1.1 spz shlibpath_overrides_runpath=yes
3029 1.1 spz ;;
3030 1.1 spz
3031 1.1 spz *nto* | *qnx*)
3032 1.1 spz version_type=qnx
3033 1.1 spz need_lib_prefix=no
3034 1.1 spz need_version=no
3035 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3036 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3037 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3038 1.1 spz shlibpath_overrides_runpath=no
3039 1.1 spz hardcode_into_libs=yes
3040 1.1 spz dynamic_linker='ldqnx.so'
3041 1.1 spz ;;
3042 1.1 spz
3043 1.1.1.5 wiz openbsd*)
3044 1.1 spz version_type=sunos
3045 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib
3046 1.1 spz need_lib_prefix=no
3047 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3048 1.1.1.3 spz need_version=no
3049 1.1 spz else
3050 1.1.1.3 spz need_version=yes
3051 1.1 spz fi
3052 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3053 1.1.1.3 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
3054 1.1.1.3 spz shlibpath_var=LD_LIBRARY_PATH
3055 1.1.1.3 spz shlibpath_overrides_runpath=yes
3056 1.1 spz ;;
3057 1.1 spz
3058 1.1 spz os2*)
3059 1.1 spz libname_spec='$name'
3060 1.1.1.3 spz version_type=windows
3061 1.1.1.3 spz shrext_cmds=.dll
3062 1.1.1.3 spz need_version=no
3063 1.1 spz need_lib_prefix=no
3064 1.1.1.3 spz # OS/2 can only load a DLL with a base name of 8 characters or less.
3065 1.1.1.3 spz soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
3066 1.1.1.3 spz v=$($ECHO $release$versuffix | tr -d .-);
3067 1.1.1.3 spz n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
3068 1.1.1.3 spz $ECHO $n$v`$shared_ext'
3069 1.1.1.3 spz library_names_spec='${libname}_dll.$libext'
3070 1.1 spz dynamic_linker='OS/2 ld.exe'
3071 1.1.1.3 spz shlibpath_var=BEGINLIBPATH
3072 1.1.1.3 spz sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
3073 1.1.1.3 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
3074 1.1.1.3 spz postinstall_cmds='base_file=`basename \$file`~
3075 1.1.1.3 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
3076 1.1.1.3 spz dldir=$destdir/`dirname \$dlpath`~
3077 1.1.1.3 spz test -d \$dldir || mkdir -p \$dldir~
3078 1.1.1.3 spz $install_prog $dir/$dlname \$dldir/$dlname~
3079 1.1.1.3 spz chmod a+x \$dldir/$dlname~
3080 1.1.1.3 spz if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
3081 1.1.1.3 spz eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
3082 1.1.1.3 spz fi'
3083 1.1.1.3 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
3084 1.1.1.3 spz dlpath=$dir/\$dldll~
3085 1.1.1.3 spz $RM \$dlpath'
3086 1.1 spz ;;
3087 1.1 spz
3088 1.1 spz osf3* | osf4* | osf5*)
3089 1.1 spz version_type=osf
3090 1.1 spz need_lib_prefix=no
3091 1.1 spz need_version=no
3092 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3093 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3094 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3095 1.1 spz sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
3096 1.1.1.3 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
3097 1.1 spz ;;
3098 1.1 spz
3099 1.1 spz rdos*)
3100 1.1 spz dynamic_linker=no
3101 1.1 spz ;;
3102 1.1 spz
3103 1.1.1.5 wiz serenity*)
3104 1.1.1.5 wiz version_type=linux # correct to gnu/linux during the next big refactor
3105 1.1.1.5 wiz need_lib_prefix=no
3106 1.1.1.5 wiz need_version=no
3107 1.1.1.5 wiz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3108 1.1.1.5 wiz soname_spec='$libname$release$shared_ext$major'
3109 1.1.1.5 wiz shlibpath_var=LD_LIBRARY_PATH
3110 1.1.1.5 wiz shlibpath_overrides_runpath=no
3111 1.1.1.5 wiz dynamic_linker='SerenityOS LibELF'
3112 1.1.1.5 wiz ;;
3113 1.1.1.5 wiz
3114 1.1 spz solaris*)
3115 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3116 1.1 spz need_lib_prefix=no
3117 1.1 spz need_version=no
3118 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3119 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3120 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3121 1.1 spz shlibpath_overrides_runpath=yes
3122 1.1 spz hardcode_into_libs=yes
3123 1.1 spz # ldd complains unless libraries are executable
3124 1.1 spz postinstall_cmds='chmod +x $lib'
3125 1.1 spz ;;
3126 1.1 spz
3127 1.1 spz sunos4*)
3128 1.1 spz version_type=sunos
3129 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3130 1.1 spz finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3131 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3132 1.1 spz shlibpath_overrides_runpath=yes
3133 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
3134 1.1 spz need_lib_prefix=no
3135 1.1 spz fi
3136 1.1 spz need_version=yes
3137 1.1 spz ;;
3138 1.1 spz
3139 1.1 spz sysv4 | sysv4.3*)
3140 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3141 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3142 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3143 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3144 1.1 spz case $host_vendor in
3145 1.1 spz sni)
3146 1.1 spz shlibpath_overrides_runpath=no
3147 1.1 spz need_lib_prefix=no
3148 1.1 spz runpath_var=LD_RUN_PATH
3149 1.1 spz ;;
3150 1.1 spz siemens)
3151 1.1 spz need_lib_prefix=no
3152 1.1 spz ;;
3153 1.1 spz motorola)
3154 1.1 spz need_lib_prefix=no
3155 1.1 spz need_version=no
3156 1.1 spz shlibpath_overrides_runpath=no
3157 1.1 spz sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3158 1.1 spz ;;
3159 1.1 spz esac
3160 1.1 spz ;;
3161 1.1 spz
3162 1.1 spz sysv4*MP*)
3163 1.1.1.3 spz if test -d /usr/nec; then
3164 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3165 1.1.1.3 spz library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3166 1.1.1.3 spz soname_spec='$libname$shared_ext.$major'
3167 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3168 1.1 spz fi
3169 1.1 spz ;;
3170 1.1 spz
3171 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3172 1.1.1.3 spz version_type=sco
3173 1.1 spz need_lib_prefix=no
3174 1.1 spz need_version=no
3175 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3176 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3177 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3178 1.1 spz shlibpath_overrides_runpath=yes
3179 1.1 spz hardcode_into_libs=yes
3180 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
3181 1.1 spz sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3182 1.1 spz else
3183 1.1 spz sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3184 1.1 spz case $host_os in
3185 1.1 spz sco3.2v5*)
3186 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3187 1.1 spz ;;
3188 1.1 spz esac
3189 1.1 spz fi
3190 1.1 spz sys_lib_dlsearch_path_spec='/usr/lib'
3191 1.1 spz ;;
3192 1.1 spz
3193 1.1 spz tpf*)
3194 1.1 spz # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3195 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3196 1.1 spz need_lib_prefix=no
3197 1.1 spz need_version=no
3198 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3199 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3200 1.1 spz shlibpath_overrides_runpath=no
3201 1.1 spz hardcode_into_libs=yes
3202 1.1 spz ;;
3203 1.1 spz
3204 1.1 spz uts4*)
3205 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3206 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3207 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3208 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3209 1.1 spz ;;
3210 1.1 spz
3211 1.1.1.5 wiz emscripten*)
3212 1.1.1.5 wiz version_type=none
3213 1.1.1.5 wiz need_lib_prefix=no
3214 1.1.1.5 wiz need_version=no
3215 1.1.1.5 wiz library_names_spec='$libname$release$shared_ext'
3216 1.1.1.5 wiz soname_spec='$libname$release$shared_ext'
3217 1.1.1.5 wiz finish_cmds=
3218 1.1.1.5 wiz dynamic_linker="Emscripten linker"
3219 1.1.1.5 wiz _LT_COMPILER_PIC($1)='-fPIC'
3220 1.1.1.5 wiz _LT_TAGVAR(archive_cmds, $1)='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib'
3221 1.1.1.5 wiz _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'
3222 1.1.1.5 wiz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
3223 1.1.1.5 wiz _LT_TAGVAR(no_undefined_flag, $1)=
3224 1.1.1.5 wiz ;;
3225 1.1.1.5 wiz
3226 1.1 spz *)
3227 1.1 spz dynamic_linker=no
3228 1.1 spz ;;
3229 1.1 spz esac
3230 1.1 spz AC_MSG_RESULT([$dynamic_linker])
3231 1.1.1.3 spz test no = "$dynamic_linker" && can_build_shared=no
3232 1.1 spz
3233 1.1 spz variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3234 1.1.1.3 spz if test yes = "$GCC"; then
3235 1.1 spz variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3236 1.1 spz fi
3237 1.1 spz
3238 1.1.1.3 spz if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3239 1.1.1.3 spz sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
3240 1.1 spz fi
3241 1.1.1.3 spz
3242 1.1.1.3 spz if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3243 1.1.1.3 spz sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
3244 1.1 spz fi
3245 1.1 spz
3246 1.1.1.3 spz # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3247 1.1.1.3 spz configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3248 1.1.1.3 spz
3249 1.1.1.3 spz # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3250 1.1.1.3 spz func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3251 1.1.1.3 spz
3252 1.1.1.3 spz # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3253 1.1.1.3 spz configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3254 1.1.1.3 spz
3255 1.1 spz _LT_DECL([], [variables_saved_for_relink], [1],
3256 1.1 spz [Variables whose values should be saved in libtool wrapper scripts and
3257 1.1 spz restored at link time])
3258 1.1 spz _LT_DECL([], [need_lib_prefix], [0],
3259 1.1 spz [Do we need the "lib" prefix for modules?])
3260 1.1 spz _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3261 1.1 spz _LT_DECL([], [version_type], [0], [Library versioning type])
3262 1.1 spz _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3263 1.1 spz _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3264 1.1 spz _LT_DECL([], [shlibpath_overrides_runpath], [0],
3265 1.1 spz [Is shlibpath searched before the hard-coded library search path?])
3266 1.1 spz _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3267 1.1 spz _LT_DECL([], [library_names_spec], [1],
3268 1.1 spz [[List of archive names. First name is the real one, the rest are links.
3269 1.1 spz The last name is the one that the linker finds with -lNAME]])
3270 1.1 spz _LT_DECL([], [soname_spec], [1],
3271 1.1 spz [[The coded name of the library, if different from the real name]])
3272 1.1 spz _LT_DECL([], [install_override_mode], [1],
3273 1.1 spz [Permission mode override for installation of shared libraries])
3274 1.1 spz _LT_DECL([], [postinstall_cmds], [2],
3275 1.1 spz [Command to use after installation of a shared archive])
3276 1.1 spz _LT_DECL([], [postuninstall_cmds], [2],
3277 1.1 spz [Command to use after uninstallation of a shared archive])
3278 1.1 spz _LT_DECL([], [finish_cmds], [2],
3279 1.1 spz [Commands used to finish a libtool library installation in a directory])
3280 1.1 spz _LT_DECL([], [finish_eval], [1],
3281 1.1 spz [[As "finish_cmds", except a single script fragment to be evaled but
3282 1.1 spz not shown]])
3283 1.1 spz _LT_DECL([], [hardcode_into_libs], [0],
3284 1.1 spz [Whether we should hardcode library paths into libraries])
3285 1.1 spz _LT_DECL([], [sys_lib_search_path_spec], [2],
3286 1.1 spz [Compile-time system search path for libraries])
3287 1.1.1.3 spz _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3288 1.1.1.3 spz [Detected run-time system search path for libraries])
3289 1.1.1.3 spz _LT_DECL([], [configure_time_lt_sys_library_path], [2],
3290 1.1.1.3 spz [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
3291 1.1 spz ])# _LT_SYS_DYNAMIC_LINKER
3292 1.1 spz
3293 1.1 spz
3294 1.1 spz # _LT_PATH_TOOL_PREFIX(TOOL)
3295 1.1 spz # --------------------------
3296 1.1.1.3 spz # find a file program that can recognize shared library
3297 1.1 spz AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3298 1.1 spz [m4_require([_LT_DECL_EGREP])dnl
3299 1.1 spz AC_MSG_CHECKING([for $1])
3300 1.1 spz AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3301 1.1 spz [case $MAGIC_CMD in
3302 1.1 spz [[\\/*] | ?:[\\/]*])
3303 1.1.1.3 spz lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
3304 1.1 spz ;;
3305 1.1 spz *)
3306 1.1.1.3 spz lt_save_MAGIC_CMD=$MAGIC_CMD
3307 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3308 1.1 spz dnl $ac_dummy forces splitting on constant user-supplied paths.
3309 1.1 spz dnl POSIX.2 word splitting is done only on the output of word expansions,
3310 1.1 spz dnl not every word. This closes a longstanding sh security hole.
3311 1.1 spz ac_dummy="m4_if([$2], , $PATH, [$2])"
3312 1.1 spz for ac_dir in $ac_dummy; do
3313 1.1.1.3 spz IFS=$lt_save_ifs
3314 1.1 spz test -z "$ac_dir" && ac_dir=.
3315 1.1.1.3 spz if test -f "$ac_dir/$1"; then
3316 1.1.1.3 spz lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
3317 1.1 spz if test -n "$file_magic_test_file"; then
3318 1.1 spz case $deplibs_check_method in
3319 1.1 spz "file_magic "*)
3320 1.1 spz file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3321 1.1.1.3 spz MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3322 1.1 spz if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3323 1.1 spz $EGREP "$file_magic_regex" > /dev/null; then
3324 1.1 spz :
3325 1.1 spz else
3326 1.1 spz cat <<_LT_EOF 1>&2
3327 1.1 spz
3328 1.1 spz *** Warning: the command libtool uses to detect shared libraries,
3329 1.1 spz *** $file_magic_cmd, produces output that libtool cannot recognize.
3330 1.1 spz *** The result is that libtool may fail to recognize shared libraries
3331 1.1 spz *** as such. This will affect the creation of libtool libraries that
3332 1.1 spz *** depend on shared libraries, but programs linked with such libtool
3333 1.1 spz *** libraries will work regardless of this problem. Nevertheless, you
3334 1.1 spz *** may want to report the problem to your system manager and/or to
3335 1.1 spz *** bug-libtool (a] gnu.org
3336 1.1 spz
3337 1.1 spz _LT_EOF
3338 1.1 spz fi ;;
3339 1.1 spz esac
3340 1.1 spz fi
3341 1.1 spz break
3342 1.1 spz fi
3343 1.1 spz done
3344 1.1.1.3 spz IFS=$lt_save_ifs
3345 1.1.1.3 spz MAGIC_CMD=$lt_save_MAGIC_CMD
3346 1.1 spz ;;
3347 1.1 spz esac])
3348 1.1.1.3 spz MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3349 1.1 spz if test -n "$MAGIC_CMD"; then
3350 1.1 spz AC_MSG_RESULT($MAGIC_CMD)
3351 1.1 spz else
3352 1.1 spz AC_MSG_RESULT(no)
3353 1.1 spz fi
3354 1.1 spz _LT_DECL([], [MAGIC_CMD], [0],
3355 1.1 spz [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3356 1.1 spz ])# _LT_PATH_TOOL_PREFIX
3357 1.1 spz
3358 1.1 spz # Old name:
3359 1.1 spz AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3360 1.1 spz dnl aclocal-1.4 backwards compatibility:
3361 1.1 spz dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3362 1.1 spz
3363 1.1 spz
3364 1.1 spz # _LT_PATH_MAGIC
3365 1.1 spz # --------------
3366 1.1.1.3 spz # find a file program that can recognize a shared library
3367 1.1 spz m4_defun([_LT_PATH_MAGIC],
3368 1.1 spz [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3369 1.1 spz if test -z "$lt_cv_path_MAGIC_CMD"; then
3370 1.1 spz if test -n "$ac_tool_prefix"; then
3371 1.1 spz _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3372 1.1 spz else
3373 1.1 spz MAGIC_CMD=:
3374 1.1 spz fi
3375 1.1 spz fi
3376 1.1 spz ])# _LT_PATH_MAGIC
3377 1.1 spz
3378 1.1 spz
3379 1.1 spz # LT_PATH_LD
3380 1.1 spz # ----------
3381 1.1 spz # find the pathname to the GNU or non-GNU linker
3382 1.1 spz AC_DEFUN([LT_PATH_LD],
3383 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
3384 1.1 spz AC_REQUIRE([AC_CANONICAL_HOST])dnl
3385 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3386 1.1 spz m4_require([_LT_DECL_SED])dnl
3387 1.1 spz m4_require([_LT_DECL_EGREP])dnl
3388 1.1 spz m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3389 1.1 spz
3390 1.1 spz AC_ARG_WITH([gnu-ld],
3391 1.1 spz [AS_HELP_STRING([--with-gnu-ld],
3392 1.1 spz [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3393 1.1.1.3 spz [test no = "$withval" || with_gnu_ld=yes],
3394 1.1 spz [with_gnu_ld=no])dnl
3395 1.1 spz
3396 1.1 spz ac_prog=ld
3397 1.1.1.3 spz if test yes = "$GCC"; then
3398 1.1 spz # Check if gcc -print-prog-name=ld gives a path.
3399 1.1 spz AC_MSG_CHECKING([for ld used by $CC])
3400 1.1 spz case $host in
3401 1.1.1.5 wiz *-*-mingw* | *-*-windows*)
3402 1.1.1.3 spz # gcc leaves a trailing carriage return, which upsets mingw
3403 1.1 spz ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3404 1.1 spz *)
3405 1.1 spz ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3406 1.1 spz esac
3407 1.1 spz case $ac_prog in
3408 1.1 spz # Accept absolute paths.
3409 1.1 spz [[\\/]]* | ?:[[\\/]]*)
3410 1.1 spz re_direlt='/[[^/]][[^/]]*/\.\./'
3411 1.1 spz # Canonicalize the pathname of ld
3412 1.1 spz ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3413 1.1 spz while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3414 1.1 spz ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3415 1.1 spz done
3416 1.1.1.3 spz test -z "$LD" && LD=$ac_prog
3417 1.1 spz ;;
3418 1.1 spz "")
3419 1.1 spz # If it fails, then pretend we aren't using GCC.
3420 1.1 spz ac_prog=ld
3421 1.1 spz ;;
3422 1.1 spz *)
3423 1.1 spz # If it is relative, then search for the first ld in PATH.
3424 1.1 spz with_gnu_ld=unknown
3425 1.1 spz ;;
3426 1.1 spz esac
3427 1.1.1.3 spz elif test yes = "$with_gnu_ld"; then
3428 1.1 spz AC_MSG_CHECKING([for GNU ld])
3429 1.1 spz else
3430 1.1 spz AC_MSG_CHECKING([for non-GNU ld])
3431 1.1 spz fi
3432 1.1 spz AC_CACHE_VAL(lt_cv_path_LD,
3433 1.1 spz [if test -z "$LD"; then
3434 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3435 1.1 spz for ac_dir in $PATH; do
3436 1.1.1.3 spz IFS=$lt_save_ifs
3437 1.1 spz test -z "$ac_dir" && ac_dir=.
3438 1.1 spz if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3439 1.1.1.3 spz lt_cv_path_LD=$ac_dir/$ac_prog
3440 1.1 spz # Check to see if the program is GNU ld. I'd rather use --version,
3441 1.1 spz # but apparently some variants of GNU ld only accept -v.
3442 1.1 spz # Break only if it was the GNU/non-GNU ld that we prefer.
3443 1.1 spz case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3444 1.1 spz *GNU* | *'with BFD'*)
3445 1.1.1.3 spz test no != "$with_gnu_ld" && break
3446 1.1 spz ;;
3447 1.1 spz *)
3448 1.1.1.3 spz test yes != "$with_gnu_ld" && break
3449 1.1 spz ;;
3450 1.1 spz esac
3451 1.1 spz fi
3452 1.1 spz done
3453 1.1.1.3 spz IFS=$lt_save_ifs
3454 1.1 spz else
3455 1.1.1.3 spz lt_cv_path_LD=$LD # Let the user override the test with a path.
3456 1.1 spz fi])
3457 1.1.1.3 spz LD=$lt_cv_path_LD
3458 1.1 spz if test -n "$LD"; then
3459 1.1 spz AC_MSG_RESULT($LD)
3460 1.1 spz else
3461 1.1 spz AC_MSG_RESULT(no)
3462 1.1 spz fi
3463 1.1 spz test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3464 1.1 spz _LT_PATH_LD_GNU
3465 1.1 spz AC_SUBST([LD])
3466 1.1 spz
3467 1.1 spz _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3468 1.1 spz ])# LT_PATH_LD
3469 1.1 spz
3470 1.1 spz # Old names:
3471 1.1 spz AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3472 1.1 spz AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3473 1.1 spz dnl aclocal-1.4 backwards compatibility:
3474 1.1 spz dnl AC_DEFUN([AM_PROG_LD], [])
3475 1.1 spz dnl AC_DEFUN([AC_PROG_LD], [])
3476 1.1 spz
3477 1.1 spz
3478 1.1 spz # _LT_PATH_LD_GNU
3479 1.1 spz #- --------------
3480 1.1 spz m4_defun([_LT_PATH_LD_GNU],
3481 1.1 spz [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3482 1.1 spz [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3483 1.1 spz case `$LD -v 2>&1 </dev/null` in
3484 1.1 spz *GNU* | *'with BFD'*)
3485 1.1 spz lt_cv_prog_gnu_ld=yes
3486 1.1 spz ;;
3487 1.1 spz *)
3488 1.1 spz lt_cv_prog_gnu_ld=no
3489 1.1 spz ;;
3490 1.1 spz esac])
3491 1.1 spz with_gnu_ld=$lt_cv_prog_gnu_ld
3492 1.1 spz ])# _LT_PATH_LD_GNU
3493 1.1 spz
3494 1.1 spz
3495 1.1 spz # _LT_CMD_RELOAD
3496 1.1 spz # --------------
3497 1.1 spz # find reload flag for linker
3498 1.1 spz # -- PORTME Some linkers may need a different reload flag.
3499 1.1 spz m4_defun([_LT_CMD_RELOAD],
3500 1.1 spz [AC_CACHE_CHECK([for $LD option to reload object files],
3501 1.1 spz lt_cv_ld_reload_flag,
3502 1.1 spz [lt_cv_ld_reload_flag='-r'])
3503 1.1 spz reload_flag=$lt_cv_ld_reload_flag
3504 1.1 spz case $reload_flag in
3505 1.1 spz "" | " "*) ;;
3506 1.1 spz *) reload_flag=" $reload_flag" ;;
3507 1.1 spz esac
3508 1.1 spz reload_cmds='$LD$reload_flag -o $output$reload_objs'
3509 1.1 spz case $host_os in
3510 1.1.1.5 wiz cygwin* | mingw* | windows* | pw32* | cegcc*)
3511 1.1.1.3 spz if test yes != "$GCC"; then
3512 1.1 spz reload_cmds=false
3513 1.1 spz fi
3514 1.1 spz ;;
3515 1.1 spz darwin*)
3516 1.1.1.3 spz if test yes = "$GCC"; then
3517 1.1.1.3 spz reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
3518 1.1 spz else
3519 1.1 spz reload_cmds='$LD$reload_flag -o $output$reload_objs'
3520 1.1 spz fi
3521 1.1 spz ;;
3522 1.1 spz esac
3523 1.1 spz _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3524 1.1 spz _LT_TAGDECL([], [reload_cmds], [2])dnl
3525 1.1 spz ])# _LT_CMD_RELOAD
3526 1.1 spz
3527 1.1 spz
3528 1.1.1.3 spz # _LT_PATH_DD
3529 1.1.1.3 spz # -----------
3530 1.1.1.3 spz # find a working dd
3531 1.1.1.3 spz m4_defun([_LT_PATH_DD],
3532 1.1.1.3 spz [AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3533 1.1.1.3 spz [printf 0123456789abcdef0123456789abcdef >conftest.i
3534 1.1.1.3 spz cat conftest.i conftest.i >conftest2.i
3535 1.1.1.3 spz : ${lt_DD:=$DD}
3536 1.1.1.3 spz AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3537 1.1.1.3 spz [if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3538 1.1.1.3 spz cmp -s conftest.i conftest.out \
3539 1.1.1.3 spz && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3540 1.1.1.3 spz fi])
3541 1.1.1.3 spz rm -f conftest.i conftest2.i conftest.out])
3542 1.1.1.3 spz ])# _LT_PATH_DD
3543 1.1.1.3 spz
3544 1.1.1.3 spz
3545 1.1.1.3 spz # _LT_CMD_TRUNCATE
3546 1.1.1.3 spz # ----------------
3547 1.1.1.3 spz # find command to truncate a binary pipe
3548 1.1.1.3 spz m4_defun([_LT_CMD_TRUNCATE],
3549 1.1.1.3 spz [m4_require([_LT_PATH_DD])
3550 1.1.1.3 spz AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3551 1.1.1.3 spz [printf 0123456789abcdef0123456789abcdef >conftest.i
3552 1.1.1.3 spz cat conftest.i conftest.i >conftest2.i
3553 1.1.1.3 spz lt_cv_truncate_bin=
3554 1.1.1.3 spz if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3555 1.1.1.3 spz cmp -s conftest.i conftest.out \
3556 1.1.1.3 spz && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3557 1.1.1.3 spz fi
3558 1.1.1.3 spz rm -f conftest.i conftest2.i conftest.out
3559 1.1.1.3 spz test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3560 1.1.1.3 spz _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3561 1.1.1.3 spz [Command to truncate a binary pipe])
3562 1.1.1.3 spz ])# _LT_CMD_TRUNCATE
3563 1.1.1.3 spz
3564 1.1.1.3 spz
3565 1.1 spz # _LT_CHECK_MAGIC_METHOD
3566 1.1 spz # ----------------------
3567 1.1 spz # how to check for library dependencies
3568 1.1 spz # -- PORTME fill in with the dynamic library characteristics
3569 1.1 spz m4_defun([_LT_CHECK_MAGIC_METHOD],
3570 1.1 spz [m4_require([_LT_DECL_EGREP])
3571 1.1 spz m4_require([_LT_DECL_OBJDUMP])
3572 1.1 spz AC_CACHE_CHECK([how to recognize dependent libraries],
3573 1.1 spz lt_cv_deplibs_check_method,
3574 1.1 spz [lt_cv_file_magic_cmd='$MAGIC_CMD'
3575 1.1 spz lt_cv_file_magic_test_file=
3576 1.1 spz lt_cv_deplibs_check_method='unknown'
3577 1.1 spz # Need to set the preceding variable on all platforms that support
3578 1.1 spz # interlibrary dependencies.
3579 1.1 spz # 'none' -- dependencies not supported.
3580 1.1.1.3 spz # 'unknown' -- same as none, but documents that we really don't know.
3581 1.1 spz # 'pass_all' -- all dependencies passed with no checks.
3582 1.1 spz # 'file_magic [[regex]]' -- check by looking for files in library path
3583 1.1.1.3 spz # that responds to the $file_magic_cmd with a given extended regex.
3584 1.1.1.3 spz # If you have 'file' or equivalent on your system and you're not sure
3585 1.1.1.3 spz # whether 'pass_all' will *always* work, you probably want this one.
3586 1.1 spz
3587 1.1 spz case $host_os in
3588 1.1 spz aix[[4-9]]*)
3589 1.1 spz lt_cv_deplibs_check_method=pass_all
3590 1.1 spz ;;
3591 1.1 spz
3592 1.1 spz beos*)
3593 1.1 spz lt_cv_deplibs_check_method=pass_all
3594 1.1 spz ;;
3595 1.1 spz
3596 1.1 spz bsdi[[45]]*)
3597 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3598 1.1.1.5 wiz lt_cv_file_magic_cmd='$FILECMD -L'
3599 1.1 spz lt_cv_file_magic_test_file=/shlib/libc.so
3600 1.1 spz ;;
3601 1.1 spz
3602 1.1 spz cygwin*)
3603 1.1 spz # func_win32_libid is a shell function defined in ltmain.sh
3604 1.1 spz lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3605 1.1 spz lt_cv_file_magic_cmd='func_win32_libid'
3606 1.1 spz ;;
3607 1.1 spz
3608 1.1.1.5 wiz mingw* | windows* | pw32*)
3609 1.1 spz # Base MSYS/MinGW do not provide the 'file' command needed by
3610 1.1 spz # func_win32_libid shell function, so use a weaker test based on 'objdump',
3611 1.1 spz # unless we find 'file', for example because we are cross-compiling.
3612 1.1.1.3 spz if ( file / ) >/dev/null 2>&1; then
3613 1.1 spz lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3614 1.1 spz lt_cv_file_magic_cmd='func_win32_libid'
3615 1.1 spz else
3616 1.1 spz # Keep this pattern in sync with the one in func_win32_libid.
3617 1.1.1.5 wiz lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)'
3618 1.1 spz lt_cv_file_magic_cmd='$OBJDUMP -f'
3619 1.1 spz fi
3620 1.1 spz ;;
3621 1.1 spz
3622 1.1 spz cegcc*)
3623 1.1 spz # use the weaker test based on 'objdump'. See mingw*.
3624 1.1 spz lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3625 1.1 spz lt_cv_file_magic_cmd='$OBJDUMP -f'
3626 1.1 spz ;;
3627 1.1 spz
3628 1.1 spz darwin* | rhapsody*)
3629 1.1 spz lt_cv_deplibs_check_method=pass_all
3630 1.1 spz ;;
3631 1.1 spz
3632 1.1.1.5 wiz freebsd* | dragonfly* | midnightbsd*)
3633 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3634 1.1 spz case $host_cpu in
3635 1.1 spz i*86 )
3636 1.1 spz # Not sure whether the presence of OpenBSD here was a mistake.
3637 1.1 spz # Let's accept both of them until this is cleared up.
3638 1.1 spz lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3639 1.1.1.5 wiz lt_cv_file_magic_cmd=$FILECMD
3640 1.1 spz lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3641 1.1 spz ;;
3642 1.1 spz esac
3643 1.1 spz else
3644 1.1 spz lt_cv_deplibs_check_method=pass_all
3645 1.1 spz fi
3646 1.1 spz ;;
3647 1.1 spz
3648 1.1 spz haiku*)
3649 1.1 spz lt_cv_deplibs_check_method=pass_all
3650 1.1 spz ;;
3651 1.1 spz
3652 1.1 spz hpux10.20* | hpux11*)
3653 1.1.1.5 wiz lt_cv_file_magic_cmd=$FILECMD
3654 1.1 spz case $host_cpu in
3655 1.1 spz ia64*)
3656 1.1 spz lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3657 1.1 spz lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3658 1.1 spz ;;
3659 1.1 spz hppa*64*)
3660 1.1 spz [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
3661 1.1 spz lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3662 1.1 spz ;;
3663 1.1 spz *)
3664 1.1 spz lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3665 1.1 spz lt_cv_file_magic_test_file=/usr/lib/libc.sl
3666 1.1 spz ;;
3667 1.1 spz esac
3668 1.1 spz ;;
3669 1.1 spz
3670 1.1 spz interix[[3-9]]*)
3671 1.1 spz # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3672 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3673 1.1 spz ;;
3674 1.1 spz
3675 1.1 spz irix5* | irix6* | nonstopux*)
3676 1.1 spz case $LD in
3677 1.1 spz *-32|*"-32 ") libmagic=32-bit;;
3678 1.1 spz *-n32|*"-n32 ") libmagic=N32;;
3679 1.1 spz *-64|*"-64 ") libmagic=64-bit;;
3680 1.1 spz *) libmagic=never-match;;
3681 1.1 spz esac
3682 1.1 spz lt_cv_deplibs_check_method=pass_all
3683 1.1 spz ;;
3684 1.1 spz
3685 1.1.1.2 spz # This must be glibc/ELF.
3686 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3687 1.1 spz lt_cv_deplibs_check_method=pass_all
3688 1.1 spz ;;
3689 1.1 spz
3690 1.1.1.5 wiz *-mlibc)
3691 1.1.1.5 wiz lt_cv_deplibs_check_method=pass_all
3692 1.1.1.5 wiz ;;
3693 1.1.1.5 wiz
3694 1.1.1.5 wiz netbsd* | netbsdelf*-gnu)
3695 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3696 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3697 1.1 spz else
3698 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3699 1.1 spz fi
3700 1.1 spz ;;
3701 1.1 spz
3702 1.1 spz newos6*)
3703 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3704 1.1.1.5 wiz lt_cv_file_magic_cmd=$FILECMD
3705 1.1 spz lt_cv_file_magic_test_file=/usr/lib/libnls.so
3706 1.1 spz ;;
3707 1.1 spz
3708 1.1 spz *nto* | *qnx*)
3709 1.1 spz lt_cv_deplibs_check_method=pass_all
3710 1.1 spz ;;
3711 1.1 spz
3712 1.1.1.5 wiz openbsd*)
3713 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3714 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3715 1.1 spz else
3716 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3717 1.1 spz fi
3718 1.1 spz ;;
3719 1.1 spz
3720 1.1 spz osf3* | osf4* | osf5*)
3721 1.1 spz lt_cv_deplibs_check_method=pass_all
3722 1.1 spz ;;
3723 1.1 spz
3724 1.1 spz rdos*)
3725 1.1 spz lt_cv_deplibs_check_method=pass_all
3726 1.1 spz ;;
3727 1.1 spz
3728 1.1.1.5 wiz serenity*)
3729 1.1.1.5 wiz lt_cv_deplibs_check_method=pass_all
3730 1.1.1.5 wiz ;;
3731 1.1.1.5 wiz
3732 1.1 spz solaris*)
3733 1.1 spz lt_cv_deplibs_check_method=pass_all
3734 1.1 spz ;;
3735 1.1 spz
3736 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3737 1.1 spz lt_cv_deplibs_check_method=pass_all
3738 1.1 spz ;;
3739 1.1 spz
3740 1.1 spz sysv4 | sysv4.3*)
3741 1.1 spz case $host_vendor in
3742 1.1 spz motorola)
3743 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3744 1.1 spz lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3745 1.1 spz ;;
3746 1.1 spz ncr)
3747 1.1 spz lt_cv_deplibs_check_method=pass_all
3748 1.1 spz ;;
3749 1.1 spz sequent)
3750 1.1 spz lt_cv_file_magic_cmd='/bin/file'
3751 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3752 1.1 spz ;;
3753 1.1 spz sni)
3754 1.1 spz lt_cv_file_magic_cmd='/bin/file'
3755 1.1 spz lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3756 1.1 spz lt_cv_file_magic_test_file=/lib/libc.so
3757 1.1 spz ;;
3758 1.1 spz siemens)
3759 1.1 spz lt_cv_deplibs_check_method=pass_all
3760 1.1 spz ;;
3761 1.1 spz pc)
3762 1.1 spz lt_cv_deplibs_check_method=pass_all
3763 1.1 spz ;;
3764 1.1 spz esac
3765 1.1 spz ;;
3766 1.1 spz
3767 1.1 spz tpf*)
3768 1.1 spz lt_cv_deplibs_check_method=pass_all
3769 1.1 spz ;;
3770 1.1.1.3 spz os2*)
3771 1.1.1.3 spz lt_cv_deplibs_check_method=pass_all
3772 1.1.1.3 spz ;;
3773 1.1 spz esac
3774 1.1 spz ])
3775 1.1 spz
3776 1.1 spz file_magic_glob=
3777 1.1 spz want_nocaseglob=no
3778 1.1 spz if test "$build" = "$host"; then
3779 1.1 spz case $host_os in
3780 1.1.1.5 wiz mingw* | windows* | pw32*)
3781 1.1 spz if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3782 1.1 spz want_nocaseglob=yes
3783 1.1 spz else
3784 1.1 spz file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3785 1.1 spz fi
3786 1.1 spz ;;
3787 1.1 spz esac
3788 1.1 spz fi
3789 1.1 spz
3790 1.1 spz file_magic_cmd=$lt_cv_file_magic_cmd
3791 1.1 spz deplibs_check_method=$lt_cv_deplibs_check_method
3792 1.1 spz test -z "$deplibs_check_method" && deplibs_check_method=unknown
3793 1.1 spz
3794 1.1 spz _LT_DECL([], [deplibs_check_method], [1],
3795 1.1 spz [Method to check whether dependent libraries are shared objects])
3796 1.1 spz _LT_DECL([], [file_magic_cmd], [1],
3797 1.1 spz [Command to use when deplibs_check_method = "file_magic"])
3798 1.1 spz _LT_DECL([], [file_magic_glob], [1],
3799 1.1 spz [How to find potential files when deplibs_check_method = "file_magic"])
3800 1.1 spz _LT_DECL([], [want_nocaseglob], [1],
3801 1.1 spz [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3802 1.1 spz ])# _LT_CHECK_MAGIC_METHOD
3803 1.1 spz
3804 1.1 spz
3805 1.1 spz # LT_PATH_NM
3806 1.1 spz # ----------
3807 1.1 spz # find the pathname to a BSD- or MS-compatible name lister
3808 1.1 spz AC_DEFUN([LT_PATH_NM],
3809 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
3810 1.1 spz AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3811 1.1 spz [if test -n "$NM"; then
3812 1.1 spz # Let the user override the test.
3813 1.1.1.3 spz lt_cv_path_NM=$NM
3814 1.1 spz else
3815 1.1.1.3 spz lt_nm_to_check=${ac_tool_prefix}nm
3816 1.1 spz if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3817 1.1 spz lt_nm_to_check="$lt_nm_to_check nm"
3818 1.1 spz fi
3819 1.1 spz for lt_tmp_nm in $lt_nm_to_check; do
3820 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3821 1.1 spz for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3822 1.1.1.3 spz IFS=$lt_save_ifs
3823 1.1 spz test -z "$ac_dir" && ac_dir=.
3824 1.1.1.3 spz tmp_nm=$ac_dir/$lt_tmp_nm
3825 1.1.1.3 spz if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
3826 1.1 spz # Check to see if the nm accepts a BSD-compat flag.
3827 1.1.1.3 spz # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
3828 1.1 spz # nm: unknown option "B" ignored
3829 1.1 spz # Tru64's nm complains that /dev/null is an invalid object file
3830 1.1.1.3 spz # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3831 1.1.1.3 spz case $build_os in
3832 1.1.1.5 wiz mingw* | windows*) lt_bad_file=conftest.nm/nofile ;;
3833 1.1.1.3 spz *) lt_bad_file=/dev/null ;;
3834 1.1.1.3 spz esac
3835 1.1.1.5 wiz case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
3836 1.1.1.3 spz *$lt_bad_file* | *'Invalid file or object type'*)
3837 1.1 spz lt_cv_path_NM="$tmp_nm -B"
3838 1.1.1.3 spz break 2
3839 1.1 spz ;;
3840 1.1 spz *)
3841 1.1.1.5 wiz case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
3842 1.1 spz */dev/null*)
3843 1.1 spz lt_cv_path_NM="$tmp_nm -p"
3844 1.1.1.3 spz break 2
3845 1.1 spz ;;
3846 1.1 spz *)
3847 1.1 spz lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3848 1.1 spz continue # so that we can try to find one that supports BSD flags
3849 1.1 spz ;;
3850 1.1 spz esac
3851 1.1 spz ;;
3852 1.1 spz esac
3853 1.1 spz fi
3854 1.1 spz done
3855 1.1.1.3 spz IFS=$lt_save_ifs
3856 1.1 spz done
3857 1.1 spz : ${lt_cv_path_NM=no}
3858 1.1 spz fi])
3859 1.1.1.3 spz if test no != "$lt_cv_path_NM"; then
3860 1.1.1.3 spz NM=$lt_cv_path_NM
3861 1.1 spz else
3862 1.1 spz # Didn't find any BSD compatible name lister, look for dumpbin.
3863 1.1 spz if test -n "$DUMPBIN"; then :
3864 1.1 spz # Let the user override the test.
3865 1.1 spz else
3866 1.1 spz AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3867 1.1.1.5 wiz case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
3868 1.1 spz *COFF*)
3869 1.1.1.3 spz DUMPBIN="$DUMPBIN -symbols -headers"
3870 1.1 spz ;;
3871 1.1 spz *)
3872 1.1 spz DUMPBIN=:
3873 1.1 spz ;;
3874 1.1 spz esac
3875 1.1 spz fi
3876 1.1 spz AC_SUBST([DUMPBIN])
3877 1.1.1.3 spz if test : != "$DUMPBIN"; then
3878 1.1.1.3 spz NM=$DUMPBIN
3879 1.1 spz fi
3880 1.1 spz fi
3881 1.1 spz test -z "$NM" && NM=nm
3882 1.1 spz AC_SUBST([NM])
3883 1.1 spz _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3884 1.1 spz
3885 1.1 spz AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3886 1.1 spz [lt_cv_nm_interface="BSD nm"
3887 1.1 spz echo "int some_variable = 0;" > conftest.$ac_ext
3888 1.1 spz (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3889 1.1 spz (eval "$ac_compile" 2>conftest.err)
3890 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3891 1.1 spz (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3892 1.1 spz (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3893 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3894 1.1 spz (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3895 1.1 spz cat conftest.out >&AS_MESSAGE_LOG_FD
3896 1.1 spz if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3897 1.1 spz lt_cv_nm_interface="MS dumpbin"
3898 1.1 spz fi
3899 1.1 spz rm -f conftest*])
3900 1.1 spz ])# LT_PATH_NM
3901 1.1 spz
3902 1.1 spz # Old names:
3903 1.1 spz AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3904 1.1 spz AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3905 1.1 spz dnl aclocal-1.4 backwards compatibility:
3906 1.1 spz dnl AC_DEFUN([AM_PROG_NM], [])
3907 1.1 spz dnl AC_DEFUN([AC_PROG_NM], [])
3908 1.1 spz
3909 1.1 spz # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3910 1.1 spz # --------------------------------
3911 1.1 spz # how to determine the name of the shared library
3912 1.1 spz # associated with a specific link library.
3913 1.1 spz # -- PORTME fill in with the dynamic library characteristics
3914 1.1 spz m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3915 1.1 spz [m4_require([_LT_DECL_EGREP])
3916 1.1 spz m4_require([_LT_DECL_OBJDUMP])
3917 1.1 spz m4_require([_LT_DECL_DLLTOOL])
3918 1.1 spz AC_CACHE_CHECK([how to associate runtime and link libraries],
3919 1.1 spz lt_cv_sharedlib_from_linklib_cmd,
3920 1.1 spz [lt_cv_sharedlib_from_linklib_cmd='unknown'
3921 1.1 spz
3922 1.1 spz case $host_os in
3923 1.1.1.5 wiz cygwin* | mingw* | windows* | pw32* | cegcc*)
3924 1.1.1.3 spz # two different shell functions defined in ltmain.sh;
3925 1.1.1.3 spz # decide which one to use based on capabilities of $DLLTOOL
3926 1.1 spz case `$DLLTOOL --help 2>&1` in
3927 1.1 spz *--identify-strict*)
3928 1.1 spz lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3929 1.1 spz ;;
3930 1.1 spz *)
3931 1.1 spz lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3932 1.1 spz ;;
3933 1.1 spz esac
3934 1.1 spz ;;
3935 1.1 spz *)
3936 1.1 spz # fallback: assume linklib IS sharedlib
3937 1.1.1.3 spz lt_cv_sharedlib_from_linklib_cmd=$ECHO
3938 1.1 spz ;;
3939 1.1 spz esac
3940 1.1 spz ])
3941 1.1 spz sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3942 1.1 spz test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3943 1.1 spz
3944 1.1 spz _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3945 1.1 spz [Command to associate shared and link libraries])
3946 1.1 spz ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3947 1.1 spz
3948 1.1 spz
3949 1.1 spz # _LT_PATH_MANIFEST_TOOL
3950 1.1 spz # ----------------------
3951 1.1 spz # locate the manifest tool
3952 1.1 spz m4_defun([_LT_PATH_MANIFEST_TOOL],
3953 1.1 spz [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3954 1.1 spz test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3955 1.1.1.5 wiz AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_manifest_tool],
3956 1.1.1.5 wiz [lt_cv_path_manifest_tool=no
3957 1.1 spz echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3958 1.1 spz $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3959 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3960 1.1 spz if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3961 1.1.1.5 wiz lt_cv_path_manifest_tool=yes
3962 1.1 spz fi
3963 1.1 spz rm -f conftest*])
3964 1.1.1.5 wiz if test yes != "$lt_cv_path_manifest_tool"; then
3965 1.1 spz MANIFEST_TOOL=:
3966 1.1 spz fi
3967 1.1 spz _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3968 1.1 spz ])# _LT_PATH_MANIFEST_TOOL
3969 1.1 spz
3970 1.1 spz
3971 1.1.1.3 spz # _LT_DLL_DEF_P([FILE])
3972 1.1.1.3 spz # ---------------------
3973 1.1.1.3 spz # True iff FILE is a Windows DLL '.def' file.
3974 1.1.1.3 spz # Keep in sync with func_dll_def_p in the libtool script
3975 1.1.1.3 spz AC_DEFUN([_LT_DLL_DEF_P],
3976 1.1.1.3 spz [dnl
3977 1.1.1.3 spz test DEF = "`$SED -n dnl
3978 1.1.1.3 spz -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
3979 1.1.1.3 spz -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
3980 1.1.1.3 spz -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
3981 1.1.1.3 spz -e q dnl Only consider the first "real" line
3982 1.1.1.3 spz $1`" dnl
3983 1.1.1.3 spz ])# _LT_DLL_DEF_P
3984 1.1.1.3 spz
3985 1.1.1.3 spz
3986 1.1 spz # LT_LIB_M
3987 1.1 spz # --------
3988 1.1 spz # check for math library
3989 1.1 spz AC_DEFUN([LT_LIB_M],
3990 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3991 1.1 spz LIBM=
3992 1.1 spz case $host in
3993 1.1.1.5 wiz *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-mingw* | *-*-pw32* | *-*-darwin*)
3994 1.1 spz # These system don't have libm, or don't need it
3995 1.1 spz ;;
3996 1.1 spz *-ncr-sysv4.3*)
3997 1.1.1.3 spz AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
3998 1.1 spz AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3999 1.1 spz ;;
4000 1.1 spz *)
4001 1.1.1.3 spz AC_CHECK_LIB(m, cos, LIBM=-lm)
4002 1.1 spz ;;
4003 1.1 spz esac
4004 1.1 spz AC_SUBST([LIBM])
4005 1.1 spz ])# LT_LIB_M
4006 1.1 spz
4007 1.1 spz # Old name:
4008 1.1 spz AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
4009 1.1 spz dnl aclocal-1.4 backwards compatibility:
4010 1.1 spz dnl AC_DEFUN([AC_CHECK_LIBM], [])
4011 1.1 spz
4012 1.1 spz
4013 1.1 spz # _LT_COMPILER_NO_RTTI([TAGNAME])
4014 1.1 spz # -------------------------------
4015 1.1 spz m4_defun([_LT_COMPILER_NO_RTTI],
4016 1.1 spz [m4_require([_LT_TAG_COMPILER])dnl
4017 1.1 spz
4018 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
4019 1.1 spz
4020 1.1.1.3 spz if test yes = "$GCC"; then
4021 1.1 spz case $cc_basename in
4022 1.1 spz nvcc*)
4023 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
4024 1.1 spz *)
4025 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
4026 1.1 spz esac
4027 1.1 spz
4028 1.1 spz _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
4029 1.1 spz lt_cv_prog_compiler_rtti_exceptions,
4030 1.1 spz [-fno-rtti -fno-exceptions], [],
4031 1.1 spz [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
4032 1.1 spz fi
4033 1.1 spz _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
4034 1.1 spz [Compiler flag to turn off builtin functions])
4035 1.1 spz ])# _LT_COMPILER_NO_RTTI
4036 1.1 spz
4037 1.1 spz
4038 1.1 spz # _LT_CMD_GLOBAL_SYMBOLS
4039 1.1 spz # ----------------------
4040 1.1 spz m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
4041 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
4042 1.1 spz AC_REQUIRE([AC_PROG_CC])dnl
4043 1.1 spz AC_REQUIRE([AC_PROG_AWK])dnl
4044 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
4045 1.1 spz AC_REQUIRE([LT_PATH_LD])dnl
4046 1.1 spz m4_require([_LT_DECL_SED])dnl
4047 1.1 spz m4_require([_LT_DECL_EGREP])dnl
4048 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
4049 1.1 spz
4050 1.1 spz # Check for command to grab the raw symbol name followed by C symbol from nm.
4051 1.1 spz AC_MSG_CHECKING([command to parse $NM output from $compiler object])
4052 1.1 spz AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
4053 1.1 spz [
4054 1.1 spz # These are sane defaults that work on at least a few old systems.
4055 1.1 spz # [They come from Ultrix. What could be older than Ultrix?!! ;)]
4056 1.1 spz
4057 1.1 spz # Character class describing NM global symbol codes.
4058 1.1 spz symcode='[[BCDEGRST]]'
4059 1.1 spz
4060 1.1 spz # Regexp to match symbols that can be accessed directly from C.
4061 1.1 spz sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
4062 1.1 spz
4063 1.1 spz # Define system-specific variables.
4064 1.1 spz case $host_os in
4065 1.1 spz aix*)
4066 1.1 spz symcode='[[BCDT]]'
4067 1.1 spz ;;
4068 1.1.1.5 wiz cygwin* | mingw* | windows* | pw32* | cegcc*)
4069 1.1 spz symcode='[[ABCDGISTW]]'
4070 1.1 spz ;;
4071 1.1 spz hpux*)
4072 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4073 1.1 spz symcode='[[ABCDEGRST]]'
4074 1.1 spz fi
4075 1.1 spz ;;
4076 1.1 spz irix* | nonstopux*)
4077 1.1 spz symcode='[[BCDEGRST]]'
4078 1.1 spz ;;
4079 1.1 spz osf*)
4080 1.1 spz symcode='[[BCDEGQRST]]'
4081 1.1 spz ;;
4082 1.1 spz solaris*)
4083 1.1.1.5 wiz symcode='[[BCDRT]]'
4084 1.1 spz ;;
4085 1.1 spz sco3.2v5*)
4086 1.1 spz symcode='[[DT]]'
4087 1.1 spz ;;
4088 1.1 spz sysv4.2uw2*)
4089 1.1 spz symcode='[[DT]]'
4090 1.1 spz ;;
4091 1.1 spz sysv5* | sco5v6* | unixware* | OpenUNIX*)
4092 1.1 spz symcode='[[ABDT]]'
4093 1.1 spz ;;
4094 1.1 spz sysv4)
4095 1.1 spz symcode='[[DFNSTU]]'
4096 1.1 spz ;;
4097 1.1 spz esac
4098 1.1 spz
4099 1.1 spz # If we're using GNU nm, then use its standard symbol codes.
4100 1.1 spz case `$NM -V 2>&1` in
4101 1.1 spz *GNU* | *'with BFD'*)
4102 1.1 spz symcode='[[ABCDGIRSTW]]' ;;
4103 1.1 spz esac
4104 1.1 spz
4105 1.1.1.3 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4106 1.1.1.3 spz # Gets list of data symbols to import.
4107 1.1.1.5 wiz lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
4108 1.1.1.3 spz # Adjust the below global symbol transforms to fixup imported variables.
4109 1.1.1.3 spz lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
4110 1.1.1.3 spz lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
4111 1.1.1.3 spz lt_c_name_lib_hook="\
4112 1.1.1.3 spz -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
4113 1.1.1.3 spz -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
4114 1.1.1.3 spz else
4115 1.1.1.3 spz # Disable hooks by default.
4116 1.1.1.3 spz lt_cv_sys_global_symbol_to_import=
4117 1.1.1.3 spz lt_cdecl_hook=
4118 1.1.1.3 spz lt_c_name_hook=
4119 1.1.1.3 spz lt_c_name_lib_hook=
4120 1.1.1.3 spz fi
4121 1.1.1.3 spz
4122 1.1 spz # Transform an extracted symbol line into a proper C declaration.
4123 1.1 spz # Some systems (esp. on ia64) link data and code symbols differently,
4124 1.1 spz # so use this general approach.
4125 1.1.1.5 wiz lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
4126 1.1.1.3 spz $lt_cdecl_hook\
4127 1.1.1.3 spz " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
4128 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
4129 1.1 spz
4130 1.1 spz # Transform an extracted symbol line into symbol name and symbol address
4131 1.1.1.5 wiz lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
4132 1.1.1.3 spz $lt_c_name_hook\
4133 1.1.1.3 spz " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4134 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
4135 1.1.1.3 spz
4136 1.1.1.3 spz # Transform an extracted symbol line into symbol name with lib prefix and
4137 1.1.1.3 spz # symbol address.
4138 1.1.1.5 wiz lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
4139 1.1.1.3 spz $lt_c_name_lib_hook\
4140 1.1.1.3 spz " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4141 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
4142 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
4143 1.1 spz
4144 1.1 spz # Handle CRLF in mingw tool chain
4145 1.1 spz opt_cr=
4146 1.1 spz case $build_os in
4147 1.1.1.5 wiz mingw* | windows*)
4148 1.1 spz opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4149 1.1 spz ;;
4150 1.1 spz esac
4151 1.1 spz
4152 1.1 spz # Try without a prefix underscore, then with it.
4153 1.1 spz for ac_symprfx in "" "_"; do
4154 1.1 spz
4155 1.1 spz # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4156 1.1 spz symxfrm="\\1 $ac_symprfx\\2 \\2"
4157 1.1 spz
4158 1.1 spz # Write the raw and C identifiers.
4159 1.1 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4160 1.1.1.3 spz # Fake it for dumpbin and say T for any non-static function,
4161 1.1.1.3 spz # D for any global variable and I for any imported variable.
4162 1.1.1.5 wiz # Also find C++ and __fastcall symbols from MSVC++ or ICC,
4163 1.1 spz # which start with @ or ?.
4164 1.1 spz lt_cv_sys_global_symbol_pipe="$AWK ['"\
4165 1.1 spz " {last_section=section; section=\$ 3};"\
4166 1.1.1.2 spz " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
4167 1.1 spz " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4168 1.1.1.3 spz " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4169 1.1.1.3 spz " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4170 1.1.1.3 spz " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
4171 1.1 spz " \$ 0!~/External *\|/{next};"\
4172 1.1 spz " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4173 1.1 spz " {if(hide[section]) next};"\
4174 1.1.1.3 spz " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
4175 1.1.1.3 spz " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4176 1.1.1.3 spz " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4177 1.1.1.3 spz " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
4178 1.1 spz " ' prfx=^$ac_symprfx]"
4179 1.1 spz else
4180 1.1.1.5 wiz lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4181 1.1 spz fi
4182 1.1.1.5 wiz lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
4183 1.1 spz
4184 1.1 spz # Check to see that the pipe works correctly.
4185 1.1 spz pipe_works=no
4186 1.1 spz
4187 1.1 spz rm -f conftest*
4188 1.1 spz cat > conftest.$ac_ext <<_LT_EOF
4189 1.1 spz #ifdef __cplusplus
4190 1.1 spz extern "C" {
4191 1.1 spz #endif
4192 1.1 spz char nm_test_var;
4193 1.1 spz void nm_test_func(void);
4194 1.1 spz void nm_test_func(void){}
4195 1.1 spz #ifdef __cplusplus
4196 1.1 spz }
4197 1.1 spz #endif
4198 1.1.1.5 wiz int main(void){nm_test_var='a';nm_test_func();return(0);}
4199 1.1 spz _LT_EOF
4200 1.1 spz
4201 1.1 spz if AC_TRY_EVAL(ac_compile); then
4202 1.1 spz # Now try to grab the symbols.
4203 1.1 spz nlist=conftest.nm
4204 1.1.1.5 wiz $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
4205 1.1.1.5 wiz if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
4206 1.1 spz # Try sorting and uniquifying the output.
4207 1.1 spz if sort "$nlist" | uniq > "$nlist"T; then
4208 1.1 spz mv -f "$nlist"T "$nlist"
4209 1.1 spz else
4210 1.1 spz rm -f "$nlist"T
4211 1.1 spz fi
4212 1.1 spz
4213 1.1 spz # Make sure that we snagged all the symbols we need.
4214 1.1 spz if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4215 1.1 spz if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4216 1.1 spz cat <<_LT_EOF > conftest.$ac_ext
4217 1.1 spz /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
4218 1.1.1.3 spz #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4219 1.1.1.3 spz /* DATA imports from DLLs on WIN32 can't be const, because runtime
4220 1.1 spz relocations are performed -- see ld's documentation on pseudo-relocs. */
4221 1.1 spz # define LT@&t@_DLSYM_CONST
4222 1.1.1.3 spz #elif defined __osf__
4223 1.1 spz /* This system does not cope well with relocations in const data. */
4224 1.1 spz # define LT@&t@_DLSYM_CONST
4225 1.1 spz #else
4226 1.1 spz # define LT@&t@_DLSYM_CONST const
4227 1.1 spz #endif
4228 1.1 spz
4229 1.1 spz #ifdef __cplusplus
4230 1.1 spz extern "C" {
4231 1.1 spz #endif
4232 1.1 spz
4233 1.1 spz _LT_EOF
4234 1.1 spz # Now generate the symbol file.
4235 1.1 spz eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4236 1.1 spz
4237 1.1 spz cat <<_LT_EOF >> conftest.$ac_ext
4238 1.1 spz
4239 1.1 spz /* The mapping between symbol names and symbols. */
4240 1.1 spz LT@&t@_DLSYM_CONST struct {
4241 1.1 spz const char *name;
4242 1.1 spz void *address;
4243 1.1 spz }
4244 1.1 spz lt__PROGRAM__LTX_preloaded_symbols[[]] =
4245 1.1 spz {
4246 1.1 spz { "@PROGRAM@", (void *) 0 },
4247 1.1 spz _LT_EOF
4248 1.1.1.3 spz $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4249 1.1 spz cat <<\_LT_EOF >> conftest.$ac_ext
4250 1.1 spz {0, (void *) 0}
4251 1.1 spz };
4252 1.1 spz
4253 1.1 spz /* This works around a problem in FreeBSD linker */
4254 1.1 spz #ifdef FREEBSD_WORKAROUND
4255 1.1 spz static const void *lt_preloaded_setup() {
4256 1.1 spz return lt__PROGRAM__LTX_preloaded_symbols;
4257 1.1 spz }
4258 1.1 spz #endif
4259 1.1 spz
4260 1.1 spz #ifdef __cplusplus
4261 1.1 spz }
4262 1.1 spz #endif
4263 1.1 spz _LT_EOF
4264 1.1 spz # Now try linking the two files.
4265 1.1 spz mv conftest.$ac_objext conftstm.$ac_objext
4266 1.1 spz lt_globsym_save_LIBS=$LIBS
4267 1.1 spz lt_globsym_save_CFLAGS=$CFLAGS
4268 1.1.1.3 spz LIBS=conftstm.$ac_objext
4269 1.1 spz CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4270 1.1.1.3 spz if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
4271 1.1 spz pipe_works=yes
4272 1.1 spz fi
4273 1.1 spz LIBS=$lt_globsym_save_LIBS
4274 1.1 spz CFLAGS=$lt_globsym_save_CFLAGS
4275 1.1 spz else
4276 1.1 spz echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4277 1.1 spz fi
4278 1.1 spz else
4279 1.1 spz echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4280 1.1 spz fi
4281 1.1 spz else
4282 1.1 spz echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4283 1.1 spz fi
4284 1.1 spz else
4285 1.1 spz echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4286 1.1 spz cat conftest.$ac_ext >&5
4287 1.1 spz fi
4288 1.1 spz rm -rf conftest* conftst*
4289 1.1 spz
4290 1.1 spz # Do not use the global_symbol_pipe unless it works.
4291 1.1.1.3 spz if test yes = "$pipe_works"; then
4292 1.1 spz break
4293 1.1 spz else
4294 1.1 spz lt_cv_sys_global_symbol_pipe=
4295 1.1 spz fi
4296 1.1 spz done
4297 1.1 spz ])
4298 1.1 spz if test -z "$lt_cv_sys_global_symbol_pipe"; then
4299 1.1 spz lt_cv_sys_global_symbol_to_cdecl=
4300 1.1 spz fi
4301 1.1 spz if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4302 1.1 spz AC_MSG_RESULT(failed)
4303 1.1 spz else
4304 1.1 spz AC_MSG_RESULT(ok)
4305 1.1 spz fi
4306 1.1 spz
4307 1.1 spz # Response file support.
4308 1.1 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4309 1.1 spz nm_file_list_spec='@'
4310 1.1 spz elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
4311 1.1 spz nm_file_list_spec='@'
4312 1.1 spz fi
4313 1.1 spz
4314 1.1 spz _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4315 1.1 spz [Take the output of nm and produce a listing of raw symbols and C names])
4316 1.1 spz _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4317 1.1 spz [Transform the output of nm in a proper C declaration])
4318 1.1.1.3 spz _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4319 1.1.1.3 spz [Transform the output of nm into a list of symbols to manually relocate])
4320 1.1 spz _LT_DECL([global_symbol_to_c_name_address],
4321 1.1 spz [lt_cv_sys_global_symbol_to_c_name_address], [1],
4322 1.1 spz [Transform the output of nm in a C name address pair])
4323 1.1 spz _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4324 1.1 spz [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4325 1.1 spz [Transform the output of nm in a C name address pair when lib prefix is needed])
4326 1.1.1.3 spz _LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4327 1.1.1.3 spz [The name lister interface])
4328 1.1 spz _LT_DECL([], [nm_file_list_spec], [1],
4329 1.1 spz [Specify filename containing input files for $NM])
4330 1.1 spz ]) # _LT_CMD_GLOBAL_SYMBOLS
4331 1.1 spz
4332 1.1 spz
4333 1.1 spz # _LT_COMPILER_PIC([TAGNAME])
4334 1.1 spz # ---------------------------
4335 1.1 spz m4_defun([_LT_COMPILER_PIC],
4336 1.1 spz [m4_require([_LT_TAG_COMPILER])dnl
4337 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)=
4338 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4339 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4340 1.1 spz
4341 1.1 spz m4_if([$1], [CXX], [
4342 1.1 spz # C++ specific cases for pic, static, wl, etc.
4343 1.1.1.3 spz if test yes = "$GXX"; then
4344 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4345 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4346 1.1 spz
4347 1.1 spz case $host_os in
4348 1.1 spz aix*)
4349 1.1 spz # All AIX code is PIC.
4350 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4351 1.1 spz # AIX 5 now supports IA64 processor
4352 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4353 1.1 spz fi
4354 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4355 1.1 spz ;;
4356 1.1 spz
4357 1.1 spz amigaos*)
4358 1.1 spz case $host_cpu in
4359 1.1 spz powerpc)
4360 1.1 spz # see comment about AmigaOS4 .so support
4361 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4362 1.1 spz ;;
4363 1.1 spz m68k)
4364 1.1 spz # FIXME: we need at least 68020 code to build shared libraries, but
4365 1.1.1.3 spz # adding the '-m68020' flag to GCC prevents building anything better,
4366 1.1.1.3 spz # like '-m68040'.
4367 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4368 1.1 spz ;;
4369 1.1 spz esac
4370 1.1 spz ;;
4371 1.1 spz
4372 1.1 spz beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4373 1.1 spz # PIC is the default for these OSes.
4374 1.1 spz ;;
4375 1.1.1.5 wiz mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
4376 1.1 spz # This hack is so that the source file can tell whether it is being
4377 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4378 1.1 spz # Although the cygwin gcc ignores -fPIC, still need this for old-style
4379 1.1 spz # (--disable-auto-import) libraries
4380 1.1 spz m4_if([$1], [GCJ], [],
4381 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4382 1.1.1.3 spz case $host_os in
4383 1.1.1.3 spz os2*)
4384 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4385 1.1.1.3 spz ;;
4386 1.1.1.3 spz esac
4387 1.1 spz ;;
4388 1.1 spz darwin* | rhapsody*)
4389 1.1 spz # PIC is the default on this platform
4390 1.1 spz # Common symbols not allowed in MH_DYLIB files
4391 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4392 1.1 spz ;;
4393 1.1 spz *djgpp*)
4394 1.1 spz # DJGPP does not support shared libraries at all
4395 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4396 1.1 spz ;;
4397 1.1 spz haiku*)
4398 1.1 spz # PIC is the default for Haiku.
4399 1.1 spz # The "-static" flag exists, but is broken.
4400 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4401 1.1 spz ;;
4402 1.1 spz interix[[3-9]]*)
4403 1.1 spz # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4404 1.1 spz # Instead, we relocate shared libraries at runtime.
4405 1.1 spz ;;
4406 1.1 spz sysv4*MP*)
4407 1.1 spz if test -d /usr/nec; then
4408 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4409 1.1 spz fi
4410 1.1 spz ;;
4411 1.1 spz hpux*)
4412 1.1 spz # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4413 1.1 spz # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4414 1.1 spz # sets the default TLS model and affects inlining.
4415 1.1 spz case $host_cpu in
4416 1.1 spz hppa*64*)
4417 1.1 spz ;;
4418 1.1 spz *)
4419 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4420 1.1 spz ;;
4421 1.1 spz esac
4422 1.1 spz ;;
4423 1.1 spz *qnx* | *nto*)
4424 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4425 1.1 spz # it will coredump.
4426 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4427 1.1 spz ;;
4428 1.1 spz *)
4429 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4430 1.1 spz ;;
4431 1.1 spz esac
4432 1.1 spz else
4433 1.1 spz case $host_os in
4434 1.1 spz aix[[4-9]]*)
4435 1.1 spz # All AIX code is PIC.
4436 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4437 1.1 spz # AIX 5 now supports IA64 processor
4438 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4439 1.1 spz else
4440 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4441 1.1 spz fi
4442 1.1 spz ;;
4443 1.1 spz chorus*)
4444 1.1 spz case $cc_basename in
4445 1.1 spz cxch68*)
4446 1.1 spz # Green Hills C++ Compiler
4447 1.1 spz # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4448 1.1 spz ;;
4449 1.1 spz esac
4450 1.1 spz ;;
4451 1.1.1.5 wiz mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
4452 1.1 spz # This hack is so that the source file can tell whether it is being
4453 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4454 1.1 spz m4_if([$1], [GCJ], [],
4455 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4456 1.1 spz ;;
4457 1.1 spz dgux*)
4458 1.1 spz case $cc_basename in
4459 1.1 spz ec++*)
4460 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4461 1.1 spz ;;
4462 1.1 spz ghcx*)
4463 1.1 spz # Green Hills C++ Compiler
4464 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4465 1.1 spz ;;
4466 1.1 spz *)
4467 1.1 spz ;;
4468 1.1 spz esac
4469 1.1 spz ;;
4470 1.1.1.5 wiz freebsd* | dragonfly* | midnightbsd*)
4471 1.1 spz # FreeBSD uses GNU C++
4472 1.1 spz ;;
4473 1.1 spz hpux9* | hpux10* | hpux11*)
4474 1.1 spz case $cc_basename in
4475 1.1 spz CC*)
4476 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4477 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4478 1.1.1.3 spz if test ia64 != "$host_cpu"; then
4479 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4480 1.1 spz fi
4481 1.1 spz ;;
4482 1.1 spz aCC*)
4483 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4484 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4485 1.1 spz case $host_cpu in
4486 1.1 spz hppa*64*|ia64*)
4487 1.1 spz # +Z the default
4488 1.1 spz ;;
4489 1.1 spz *)
4490 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4491 1.1 spz ;;
4492 1.1 spz esac
4493 1.1 spz ;;
4494 1.1 spz *)
4495 1.1 spz ;;
4496 1.1 spz esac
4497 1.1 spz ;;
4498 1.1 spz interix*)
4499 1.1 spz # This is c89, which is MS Visual C++ (no shared libs)
4500 1.1 spz # Anyone wants to do a port?
4501 1.1 spz ;;
4502 1.1 spz irix5* | irix6* | nonstopux*)
4503 1.1 spz case $cc_basename in
4504 1.1 spz CC*)
4505 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4506 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4507 1.1 spz # CC pic flag -KPIC is the default.
4508 1.1 spz ;;
4509 1.1 spz *)
4510 1.1 spz ;;
4511 1.1 spz esac
4512 1.1 spz ;;
4513 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4514 1.1 spz case $cc_basename in
4515 1.1 spz KCC*)
4516 1.1 spz # KAI C++ Compiler
4517 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4518 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4519 1.1 spz ;;
4520 1.1 spz ecpc* )
4521 1.1.1.3 spz # old Intel C++ for x86_64, which still supported -KPIC.
4522 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4523 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4524 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4525 1.1 spz ;;
4526 1.1 spz icpc* )
4527 1.1 spz # Intel C++, used to be incompatible with GCC.
4528 1.1 spz # ICC 10 doesn't accept -KPIC any more.
4529 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4530 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4531 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4532 1.1 spz ;;
4533 1.1 spz pgCC* | pgcpp*)
4534 1.1 spz # Portland Group C++ compiler
4535 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4536 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4537 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4538 1.1 spz ;;
4539 1.1 spz cxx*)
4540 1.1 spz # Compaq C++
4541 1.1 spz # Make sure the PIC flag is empty. It appears that all Alpha
4542 1.1 spz # Linux and Compaq Tru64 Unix objects are PIC.
4543 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4544 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4545 1.1 spz ;;
4546 1.1 spz xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4547 1.1 spz # IBM XL 8.0, 9.0 on PPC and BlueGene
4548 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4549 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4550 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4551 1.1 spz ;;
4552 1.1 spz *)
4553 1.1.1.5 wiz case `$CC -V 2>&1 | $SED 5q` in
4554 1.1 spz *Sun\ C*)
4555 1.1 spz # Sun C++ 5.9
4556 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4557 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4558 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4559 1.1 spz ;;
4560 1.1 spz esac
4561 1.1 spz ;;
4562 1.1 spz esac
4563 1.1 spz ;;
4564 1.1 spz lynxos*)
4565 1.1 spz ;;
4566 1.1 spz m88k*)
4567 1.1 spz ;;
4568 1.1 spz mvs*)
4569 1.1 spz case $cc_basename in
4570 1.1 spz cxx*)
4571 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4572 1.1 spz ;;
4573 1.1 spz *)
4574 1.1 spz ;;
4575 1.1 spz esac
4576 1.1 spz ;;
4577 1.1.1.5 wiz netbsd* | netbsdelf*-gnu)
4578 1.1.1.5 wiz ;;
4579 1.1.1.5 wiz *-mlibc)
4580 1.1 spz ;;
4581 1.1 spz *qnx* | *nto*)
4582 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4583 1.1 spz # it will coredump.
4584 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4585 1.1 spz ;;
4586 1.1 spz osf3* | osf4* | osf5*)
4587 1.1 spz case $cc_basename in
4588 1.1 spz KCC*)
4589 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4590 1.1 spz ;;
4591 1.1 spz RCC*)
4592 1.1 spz # Rational C++ 2.4.1
4593 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4594 1.1 spz ;;
4595 1.1 spz cxx*)
4596 1.1 spz # Digital/Compaq C++
4597 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4598 1.1 spz # Make sure the PIC flag is empty. It appears that all Alpha
4599 1.1 spz # Linux and Compaq Tru64 Unix objects are PIC.
4600 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4601 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4602 1.1 spz ;;
4603 1.1 spz *)
4604 1.1 spz ;;
4605 1.1 spz esac
4606 1.1 spz ;;
4607 1.1 spz psos*)
4608 1.1 spz ;;
4609 1.1.1.5 wiz serenity*)
4610 1.1.1.5 wiz ;;
4611 1.1 spz solaris*)
4612 1.1 spz case $cc_basename in
4613 1.1 spz CC* | sunCC*)
4614 1.1 spz # Sun C++ 4.2, 5.x and Centerline C++
4615 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4616 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4617 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4618 1.1 spz ;;
4619 1.1 spz gcx*)
4620 1.1 spz # Green Hills C++ Compiler
4621 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4622 1.1 spz ;;
4623 1.1 spz *)
4624 1.1 spz ;;
4625 1.1 spz esac
4626 1.1 spz ;;
4627 1.1 spz sunos4*)
4628 1.1 spz case $cc_basename in
4629 1.1 spz CC*)
4630 1.1 spz # Sun C++ 4.x
4631 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4632 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4633 1.1 spz ;;
4634 1.1 spz lcc*)
4635 1.1 spz # Lucid
4636 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4637 1.1 spz ;;
4638 1.1 spz *)
4639 1.1 spz ;;
4640 1.1 spz esac
4641 1.1 spz ;;
4642 1.1 spz sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4643 1.1 spz case $cc_basename in
4644 1.1 spz CC*)
4645 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4646 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4647 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4648 1.1 spz ;;
4649 1.1 spz esac
4650 1.1 spz ;;
4651 1.1 spz tandem*)
4652 1.1 spz case $cc_basename in
4653 1.1 spz NCC*)
4654 1.1 spz # NonStop-UX NCC 3.20
4655 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4656 1.1 spz ;;
4657 1.1 spz *)
4658 1.1 spz ;;
4659 1.1 spz esac
4660 1.1 spz ;;
4661 1.1 spz vxworks*)
4662 1.1 spz ;;
4663 1.1 spz *)
4664 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4665 1.1 spz ;;
4666 1.1 spz esac
4667 1.1 spz fi
4668 1.1 spz ],
4669 1.1 spz [
4670 1.1.1.3 spz if test yes = "$GCC"; then
4671 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4672 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4673 1.1 spz
4674 1.1 spz case $host_os in
4675 1.1 spz aix*)
4676 1.1 spz # All AIX code is PIC.
4677 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4678 1.1 spz # AIX 5 now supports IA64 processor
4679 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4680 1.1 spz fi
4681 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4682 1.1 spz ;;
4683 1.1 spz
4684 1.1 spz amigaos*)
4685 1.1 spz case $host_cpu in
4686 1.1 spz powerpc)
4687 1.1 spz # see comment about AmigaOS4 .so support
4688 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4689 1.1 spz ;;
4690 1.1 spz m68k)
4691 1.1 spz # FIXME: we need at least 68020 code to build shared libraries, but
4692 1.1.1.3 spz # adding the '-m68020' flag to GCC prevents building anything better,
4693 1.1.1.3 spz # like '-m68040'.
4694 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4695 1.1 spz ;;
4696 1.1 spz esac
4697 1.1 spz ;;
4698 1.1 spz
4699 1.1 spz beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4700 1.1 spz # PIC is the default for these OSes.
4701 1.1 spz ;;
4702 1.1 spz
4703 1.1.1.5 wiz mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
4704 1.1 spz # This hack is so that the source file can tell whether it is being
4705 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4706 1.1 spz # Although the cygwin gcc ignores -fPIC, still need this for old-style
4707 1.1 spz # (--disable-auto-import) libraries
4708 1.1 spz m4_if([$1], [GCJ], [],
4709 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4710 1.1.1.3 spz case $host_os in
4711 1.1.1.3 spz os2*)
4712 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4713 1.1.1.3 spz ;;
4714 1.1.1.3 spz esac
4715 1.1 spz ;;
4716 1.1 spz
4717 1.1 spz darwin* | rhapsody*)
4718 1.1 spz # PIC is the default on this platform
4719 1.1 spz # Common symbols not allowed in MH_DYLIB files
4720 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4721 1.1 spz ;;
4722 1.1 spz
4723 1.1 spz haiku*)
4724 1.1 spz # PIC is the default for Haiku.
4725 1.1 spz # The "-static" flag exists, but is broken.
4726 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4727 1.1 spz ;;
4728 1.1 spz
4729 1.1 spz hpux*)
4730 1.1 spz # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4731 1.1 spz # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4732 1.1 spz # sets the default TLS model and affects inlining.
4733 1.1 spz case $host_cpu in
4734 1.1 spz hppa*64*)
4735 1.1 spz # +Z the default
4736 1.1 spz ;;
4737 1.1 spz *)
4738 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4739 1.1 spz ;;
4740 1.1 spz esac
4741 1.1 spz ;;
4742 1.1 spz
4743 1.1 spz interix[[3-9]]*)
4744 1.1 spz # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4745 1.1 spz # Instead, we relocate shared libraries at runtime.
4746 1.1 spz ;;
4747 1.1 spz
4748 1.1 spz msdosdjgpp*)
4749 1.1 spz # Just because we use GCC doesn't mean we suddenly get shared libraries
4750 1.1 spz # on systems that don't support them.
4751 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4752 1.1 spz enable_shared=no
4753 1.1 spz ;;
4754 1.1 spz
4755 1.1 spz *nto* | *qnx*)
4756 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4757 1.1 spz # it will coredump.
4758 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4759 1.1 spz ;;
4760 1.1 spz
4761 1.1 spz sysv4*MP*)
4762 1.1 spz if test -d /usr/nec; then
4763 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4764 1.1 spz fi
4765 1.1 spz ;;
4766 1.1 spz
4767 1.1 spz *)
4768 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4769 1.1 spz ;;
4770 1.1 spz esac
4771 1.1 spz
4772 1.1 spz case $cc_basename in
4773 1.1 spz nvcc*) # Cuda Compiler Driver 2.2
4774 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4775 1.1.1.2 spz if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4776 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4777 1.1.1.2 spz fi
4778 1.1 spz ;;
4779 1.1 spz esac
4780 1.1 spz else
4781 1.1 spz # PORTME Check for flag to pass linker flags through the system compiler.
4782 1.1 spz case $host_os in
4783 1.1 spz aix*)
4784 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4785 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4786 1.1 spz # AIX 5 now supports IA64 processor
4787 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4788 1.1 spz else
4789 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4790 1.1 spz fi
4791 1.1 spz ;;
4792 1.1 spz
4793 1.1.1.3 spz darwin* | rhapsody*)
4794 1.1.1.3 spz # PIC is the default on this platform
4795 1.1.1.3 spz # Common symbols not allowed in MH_DYLIB files
4796 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4797 1.1.1.3 spz case $cc_basename in
4798 1.1.1.3 spz nagfor*)
4799 1.1.1.3 spz # NAG Fortran compiler
4800 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4801 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4802 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4803 1.1.1.3 spz ;;
4804 1.1.1.3 spz esac
4805 1.1.1.3 spz ;;
4806 1.1.1.3 spz
4807 1.1.1.5 wiz mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
4808 1.1 spz # This hack is so that the source file can tell whether it is being
4809 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4810 1.1 spz m4_if([$1], [GCJ], [],
4811 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4812 1.1.1.3 spz case $host_os in
4813 1.1.1.3 spz os2*)
4814 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4815 1.1.1.3 spz ;;
4816 1.1.1.3 spz esac
4817 1.1 spz ;;
4818 1.1 spz
4819 1.1 spz hpux9* | hpux10* | hpux11*)
4820 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4821 1.1 spz # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4822 1.1 spz # not for PA HP-UX.
4823 1.1 spz case $host_cpu in
4824 1.1 spz hppa*64*|ia64*)
4825 1.1 spz # +Z the default
4826 1.1 spz ;;
4827 1.1 spz *)
4828 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4829 1.1 spz ;;
4830 1.1 spz esac
4831 1.1 spz # Is there a better lt_prog_compiler_static that works with the bundled CC?
4832 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4833 1.1 spz ;;
4834 1.1 spz
4835 1.1 spz irix5* | irix6* | nonstopux*)
4836 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4837 1.1 spz # PIC (with -KPIC) is the default.
4838 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4839 1.1 spz ;;
4840 1.1 spz
4841 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4842 1.1 spz case $cc_basename in
4843 1.1.1.3 spz # old Intel for x86_64, which still supported -KPIC.
4844 1.1 spz ecc*)
4845 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4846 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4847 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4848 1.1 spz ;;
4849 1.1.1.5 wiz *flang* | ftn | f18* | f95*)
4850 1.1.1.5 wiz # Flang compiler.
4851 1.1.1.5 wiz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4852 1.1.1.5 wiz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4853 1.1.1.5 wiz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4854 1.1.1.5 wiz ;;
4855 1.1 spz # icc used to be incompatible with GCC.
4856 1.1 spz # ICC 10 doesn't accept -KPIC any more.
4857 1.1 spz icc* | ifort*)
4858 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4859 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4860 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4861 1.1 spz ;;
4862 1.1 spz # Lahey Fortran 8.1.
4863 1.1 spz lf95*)
4864 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4865 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4866 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4867 1.1 spz ;;
4868 1.1 spz nagfor*)
4869 1.1 spz # NAG Fortran compiler
4870 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4871 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4872 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4873 1.1 spz ;;
4874 1.1.1.3 spz tcc*)
4875 1.1.1.3 spz # Fabrice Bellard et al's Tiny C Compiler
4876 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4877 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4878 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4879 1.1.1.3 spz ;;
4880 1.1 spz pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4881 1.1 spz # Portland Group compilers (*not* the Pentium gcc compiler,
4882 1.1 spz # which looks to be a dead project)
4883 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4884 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4885 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4886 1.1 spz ;;
4887 1.1 spz ccc*)
4888 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4889 1.1 spz # All Alpha code is PIC.
4890 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4891 1.1 spz ;;
4892 1.1 spz xl* | bgxl* | bgf* | mpixl*)
4893 1.1 spz # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4894 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4895 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4896 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4897 1.1 spz ;;
4898 1.1 spz *)
4899 1.1.1.5 wiz case `$CC -V 2>&1 | $SED 5q` in
4900 1.1.1.2 spz *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4901 1.1 spz # Sun Fortran 8.3 passes all unrecognized flags to the linker
4902 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4903 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4904 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4905 1.1 spz ;;
4906 1.1.1.2 spz *Sun\ F* | *Sun*Fortran*)
4907 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4908 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4909 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4910 1.1.1.2 spz ;;
4911 1.1 spz *Sun\ C*)
4912 1.1 spz # Sun C 5.9
4913 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4914 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4915 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4916 1.1 spz ;;
4917 1.1.1.2 spz *Intel*\ [[CF]]*Compiler*)
4918 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4919 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4920 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4921 1.1.1.2 spz ;;
4922 1.1.1.2 spz *Portland\ Group*)
4923 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4924 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4925 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4926 1.1.1.2 spz ;;
4927 1.1 spz esac
4928 1.1 spz ;;
4929 1.1 spz esac
4930 1.1 spz ;;
4931 1.1 spz
4932 1.1 spz newsos6)
4933 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4934 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4935 1.1 spz ;;
4936 1.1 spz
4937 1.1.1.5 wiz *-mlibc)
4938 1.1.1.5 wiz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4939 1.1.1.5 wiz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4940 1.1.1.5 wiz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4941 1.1.1.5 wiz ;;
4942 1.1.1.5 wiz
4943 1.1 spz *nto* | *qnx*)
4944 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4945 1.1 spz # it will coredump.
4946 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4947 1.1 spz ;;
4948 1.1 spz
4949 1.1 spz osf3* | osf4* | osf5*)
4950 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4951 1.1 spz # All OSF/1 code is PIC.
4952 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4953 1.1 spz ;;
4954 1.1 spz
4955 1.1 spz rdos*)
4956 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4957 1.1 spz ;;
4958 1.1 spz
4959 1.1.1.5 wiz serenity*)
4960 1.1.1.5 wiz ;;
4961 1.1.1.5 wiz
4962 1.1 spz solaris*)
4963 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4964 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4965 1.1 spz case $cc_basename in
4966 1.1 spz f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4967 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4968 1.1 spz *)
4969 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4970 1.1 spz esac
4971 1.1 spz ;;
4972 1.1 spz
4973 1.1 spz sunos4*)
4974 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4975 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4976 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4977 1.1 spz ;;
4978 1.1 spz
4979 1.1 spz sysv4 | sysv4.2uw2* | sysv4.3*)
4980 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4981 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4982 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4983 1.1 spz ;;
4984 1.1 spz
4985 1.1 spz sysv4*MP*)
4986 1.1.1.3 spz if test -d /usr/nec; then
4987 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4988 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4989 1.1 spz fi
4990 1.1 spz ;;
4991 1.1 spz
4992 1.1 spz sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4993 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4994 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4995 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4996 1.1 spz ;;
4997 1.1 spz
4998 1.1 spz unicos*)
4999 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
5000 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5001 1.1 spz ;;
5002 1.1 spz
5003 1.1 spz uts4*)
5004 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
5005 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
5006 1.1 spz ;;
5007 1.1 spz
5008 1.1 spz *)
5009 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
5010 1.1 spz ;;
5011 1.1 spz esac
5012 1.1 spz fi
5013 1.1 spz ])
5014 1.1 spz case $host_os in
5015 1.1.1.3 spz # For platforms that do not support PIC, -DPIC is meaningless:
5016 1.1 spz *djgpp*)
5017 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
5018 1.1 spz ;;
5019 1.1 spz *)
5020 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
5021 1.1 spz ;;
5022 1.1 spz esac
5023 1.1 spz
5024 1.1 spz AC_CACHE_CHECK([for $compiler option to produce PIC],
5025 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
5026 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
5027 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
5028 1.1 spz
5029 1.1 spz #
5030 1.1 spz # Check to make sure the PIC flag actually works.
5031 1.1 spz #
5032 1.1 spz if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
5033 1.1 spz _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
5034 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
5035 1.1 spz [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
5036 1.1 spz [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
5037 1.1 spz "" | " "*) ;;
5038 1.1 spz *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
5039 1.1 spz esac],
5040 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
5041 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
5042 1.1 spz fi
5043 1.1 spz _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
5044 1.1 spz [Additional compiler flags for building library objects])
5045 1.1 spz
5046 1.1 spz _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
5047 1.1 spz [How to pass a linker flag through the compiler])
5048 1.1 spz #
5049 1.1 spz # Check to make sure the static flag actually works.
5050 1.1 spz #
5051 1.1 spz wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
5052 1.1 spz _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
5053 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
5054 1.1 spz $lt_tmp_static_flag,
5055 1.1 spz [],
5056 1.1 spz [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
5057 1.1 spz _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
5058 1.1 spz [Compiler flag to prevent dynamic linking])
5059 1.1 spz ])# _LT_COMPILER_PIC
5060 1.1 spz
5061 1.1 spz
5062 1.1 spz # _LT_LINKER_SHLIBS([TAGNAME])
5063 1.1 spz # ----------------------------
5064 1.1 spz # See if the linker supports building shared libraries.
5065 1.1 spz m4_defun([_LT_LINKER_SHLIBS],
5066 1.1 spz [AC_REQUIRE([LT_PATH_LD])dnl
5067 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
5068 1.1 spz m4_require([_LT_PATH_MANIFEST_TOOL])dnl
5069 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5070 1.1 spz m4_require([_LT_DECL_EGREP])dnl
5071 1.1 spz m4_require([_LT_DECL_SED])dnl
5072 1.1 spz m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
5073 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
5074 1.1 spz AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5075 1.1 spz m4_if([$1], [CXX], [
5076 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5077 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5078 1.1 spz case $host_os in
5079 1.1 spz aix[[4-9]]*)
5080 1.1 spz # If we're using GNU nm, then we don't want the "-C" option.
5081 1.1.1.3 spz # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5082 1.1.1.3 spz # Without the "-l" option, or with the "-B" option, AIX nm treats
5083 1.1.1.3 spz # weak defined symbols like other global defined symbols, whereas
5084 1.1.1.3 spz # GNU nm marks them as "W".
5085 1.1.1.3 spz # While the 'weak' keyword is ignored in the Export File, we need
5086 1.1.1.3 spz # it in the Import File for the 'aix-soname' feature, so we have
5087 1.1.1.3 spz # to replace the "-B" option with "-P" for AIX nm.
5088 1.1 spz if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5089 1.1.1.3 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
5090 1.1 spz else
5091 1.1.1.5 wiz _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'
5092 1.1 spz fi
5093 1.1 spz ;;
5094 1.1 spz pw32*)
5095 1.1.1.3 spz _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
5096 1.1 spz ;;
5097 1.1.1.5 wiz cygwin* | mingw* | windows* | cegcc*)
5098 1.1 spz case $cc_basename in
5099 1.1.1.5 wiz cl* | icl*)
5100 1.1.1.2 spz _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5101 1.1.1.2 spz ;;
5102 1.1 spz *)
5103 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
5104 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
5105 1.1 spz ;;
5106 1.1 spz esac
5107 1.1 spz ;;
5108 1.1 spz *)
5109 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5110 1.1 spz ;;
5111 1.1 spz esac
5112 1.1 spz ], [
5113 1.1 spz runpath_var=
5114 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
5115 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
5116 1.1 spz _LT_TAGVAR(archive_cmds, $1)=
5117 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
5118 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=no
5119 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5120 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5121 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
5122 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
5123 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5124 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5125 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5126 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
5127 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
5128 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5129 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
5130 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
5131 1.1 spz _LT_TAGVAR(module_cmds, $1)=
5132 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
5133 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)=
5134 1.1 spz _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
5135 1.1 spz _LT_TAGVAR(thread_safe_flag_spec, $1)=
5136 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5137 1.1 spz # include_expsyms should be a list of space-separated symbols to be *always*
5138 1.1 spz # included in the symbol list
5139 1.1 spz _LT_TAGVAR(include_expsyms, $1)=
5140 1.1 spz # exclude_expsyms can be an extended regexp of symbols to exclude
5141 1.1.1.3 spz # it will be wrapped by ' (' and ')$', so one must not match beginning or
5142 1.1.1.3 spz # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
5143 1.1.1.3 spz # as well as any symbol that contains 'd'.
5144 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
5145 1.1 spz # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
5146 1.1 spz # platforms (ab)use it in PIC code, but their linkers get confused if
5147 1.1 spz # the symbol is explicitly referenced. Since portable code cannot
5148 1.1 spz # rely on this symbol name, it's probably fine to never include it in
5149 1.1 spz # preloaded symbol tables.
5150 1.1 spz # Exclude shared library initialization/finalization symbols.
5151 1.1 spz dnl Note also adjust exclude_expsyms for C++ above.
5152 1.1 spz extract_expsyms_cmds=
5153 1.1 spz
5154 1.1 spz case $host_os in
5155 1.1.1.5 wiz cygwin* | mingw* | windows* | pw32* | cegcc*)
5156 1.1.1.5 wiz # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
5157 1.1 spz # When not using gcc, we currently assume that we are using
5158 1.1.1.5 wiz # Microsoft Visual C++ or Intel C++ Compiler.
5159 1.1.1.3 spz if test yes != "$GCC"; then
5160 1.1 spz with_gnu_ld=no
5161 1.1 spz fi
5162 1.1 spz ;;
5163 1.1 spz interix*)
5164 1.1.1.5 wiz # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
5165 1.1 spz with_gnu_ld=yes
5166 1.1 spz ;;
5167 1.1 spz esac
5168 1.1 spz
5169 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
5170 1.1 spz
5171 1.1 spz # On some targets, GNU ld is compatible enough with the native linker
5172 1.1 spz # that we're better off using the native interface for both.
5173 1.1 spz lt_use_gnu_ld_interface=no
5174 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
5175 1.1 spz case $host_os in
5176 1.1 spz aix*)
5177 1.1 spz # The AIX port of GNU ld has always aspired to compatibility
5178 1.1 spz # with the native linker. However, as the warning in the GNU ld
5179 1.1 spz # block says, versions before 2.19.5* couldn't really create working
5180 1.1 spz # shared libraries, regardless of the interface used.
5181 1.1 spz case `$LD -v 2>&1` in
5182 1.1 spz *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
5183 1.1 spz *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
5184 1.1 spz *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
5185 1.1 spz *)
5186 1.1 spz lt_use_gnu_ld_interface=yes
5187 1.1 spz ;;
5188 1.1 spz esac
5189 1.1 spz ;;
5190 1.1 spz *)
5191 1.1 spz lt_use_gnu_ld_interface=yes
5192 1.1 spz ;;
5193 1.1 spz esac
5194 1.1 spz fi
5195 1.1 spz
5196 1.1.1.3 spz if test yes = "$lt_use_gnu_ld_interface"; then
5197 1.1 spz # If archive_cmds runs LD, not CC, wlarc should be empty
5198 1.1.1.3 spz wlarc='$wl'
5199 1.1 spz
5200 1.1 spz # Set some defaults for GNU ld with shared library support. These
5201 1.1 spz # are reset later if shared libraries are not supported. Putting them
5202 1.1 spz # here allows them to be overridden if necessary.
5203 1.1 spz runpath_var=LD_RUN_PATH
5204 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5205 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
5206 1.1 spz # ancient GNU ld didn't support --whole-archive et. al.
5207 1.1 spz if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5208 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
5209 1.1 spz else
5210 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5211 1.1 spz fi
5212 1.1 spz supports_anon_versioning=no
5213 1.1.1.5 wiz case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
5214 1.1 spz *GNU\ gold*) supports_anon_versioning=yes ;;
5215 1.1 spz *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5216 1.1 spz *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5217 1.1 spz *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5218 1.1 spz *\ 2.11.*) ;; # other 2.11 versions
5219 1.1 spz *) supports_anon_versioning=yes ;;
5220 1.1 spz esac
5221 1.1 spz
5222 1.1 spz # See if GNU ld supports shared libraries.
5223 1.1 spz case $host_os in
5224 1.1 spz aix[[3-9]]*)
5225 1.1 spz # On AIX/PPC, the GNU linker is very broken
5226 1.1.1.3 spz if test ia64 != "$host_cpu"; then
5227 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5228 1.1 spz cat <<_LT_EOF 1>&2
5229 1.1 spz
5230 1.1 spz *** Warning: the GNU linker, at least up to release 2.19, is reported
5231 1.1 spz *** to be unable to reliably create shared libraries on AIX.
5232 1.1 spz *** Therefore, libtool is disabling shared libraries support. If you
5233 1.1 spz *** really care for shared libraries, you may want to install binutils
5234 1.1 spz *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
5235 1.1 spz *** You will then need to restart the configuration process.
5236 1.1 spz
5237 1.1 spz _LT_EOF
5238 1.1 spz fi
5239 1.1 spz ;;
5240 1.1 spz
5241 1.1 spz amigaos*)
5242 1.1 spz case $host_cpu in
5243 1.1 spz powerpc)
5244 1.1 spz # see comment about AmigaOS4 .so support
5245 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5246 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=''
5247 1.1 spz ;;
5248 1.1 spz m68k)
5249 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5250 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5251 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5252 1.1 spz ;;
5253 1.1 spz esac
5254 1.1 spz ;;
5255 1.1 spz
5256 1.1 spz beos*)
5257 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5258 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5259 1.1 spz # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
5260 1.1 spz # support --undefined. This deserves some investigation. FIXME
5261 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5262 1.1 spz else
5263 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5264 1.1 spz fi
5265 1.1 spz ;;
5266 1.1 spz
5267 1.1.1.5 wiz cygwin* | mingw* | windows* | pw32* | cegcc*)
5268 1.1 spz # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5269 1.1 spz # as there is no search path for DLLs.
5270 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5271 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
5272 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5273 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
5274 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5275 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
5276 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
5277 1.1.1.5 wiz _LT_TAGVAR(file_list_spec, $1)='@'
5278 1.1 spz
5279 1.1 spz if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5280 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5281 1.1.1.3 spz # If the export-symbols file already is a .def file, use it as
5282 1.1.1.3 spz # is; otherwise, prepend EXPORTS...
5283 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5284 1.1.1.3 spz cp $export_symbols $output_objdir/$soname.def;
5285 1.1.1.3 spz else
5286 1.1.1.3 spz echo EXPORTS > $output_objdir/$soname.def;
5287 1.1.1.3 spz cat $export_symbols >> $output_objdir/$soname.def;
5288 1.1.1.3 spz fi~
5289 1.1.1.3 spz $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5290 1.1 spz else
5291 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5292 1.1 spz fi
5293 1.1 spz ;;
5294 1.1 spz
5295 1.1 spz haiku*)
5296 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5297 1.1.1.5 wiz _LT_TAGVAR(link_all_deplibs, $1)=no
5298 1.1 spz ;;
5299 1.1 spz
5300 1.1.1.3 spz os2*)
5301 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5302 1.1.1.3 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5303 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5304 1.1.1.3 spz shrext_cmds=.dll
5305 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5306 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5307 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5308 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5309 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5310 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5311 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5312 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5313 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5314 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5315 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5316 1.1.1.3 spz prefix_cmds="$SED"~
5317 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
5318 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
5319 1.1.1.3 spz fi~
5320 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5321 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5322 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5323 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5324 1.1.1.5 wiz _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5325 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5326 1.1.1.5 wiz _LT_TAGVAR(file_list_spec, $1)='@'
5327 1.1.1.3 spz ;;
5328 1.1.1.3 spz
5329 1.1 spz interix[[3-9]]*)
5330 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5331 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5332 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5333 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5334 1.1 spz # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5335 1.1 spz # Instead, shared libraries are loaded at an image base (0x10000000 by
5336 1.1 spz # default) and relocated if they conflict, which is a slow very memory
5337 1.1 spz # consuming and fragmenting process. To avoid this, we pick a random,
5338 1.1 spz # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5339 1.1 spz # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5340 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5341 1.1.1.5 wiz _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'
5342 1.1 spz ;;
5343 1.1 spz
5344 1.1 spz gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5345 1.1 spz tmp_diet=no
5346 1.1.1.3 spz if test linux-dietlibc = "$host_os"; then
5347 1.1 spz case $cc_basename in
5348 1.1 spz diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5349 1.1 spz esac
5350 1.1 spz fi
5351 1.1 spz if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5352 1.1.1.3 spz && test no = "$tmp_diet"
5353 1.1 spz then
5354 1.1 spz tmp_addflag=' $pic_flag'
5355 1.1 spz tmp_sharedflag='-shared'
5356 1.1 spz case $cc_basename,$host_cpu in
5357 1.1 spz pgcc*) # Portland Group C compiler
5358 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5359 1.1 spz tmp_addflag=' $pic_flag'
5360 1.1 spz ;;
5361 1.1 spz pgf77* | pgf90* | pgf95* | pgfortran*)
5362 1.1 spz # Portland Group f77 and f90 compilers
5363 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5364 1.1 spz tmp_addflag=' $pic_flag -Mnomain' ;;
5365 1.1 spz ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5366 1.1 spz tmp_addflag=' -i_dynamic' ;;
5367 1.1 spz efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5368 1.1 spz tmp_addflag=' -i_dynamic -nofor_main' ;;
5369 1.1 spz ifc* | ifort*) # Intel Fortran compiler
5370 1.1 spz tmp_addflag=' -nofor_main' ;;
5371 1.1 spz lf95*) # Lahey Fortran 8.1
5372 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5373 1.1 spz tmp_sharedflag='--shared' ;;
5374 1.1.1.3 spz nagfor*) # NAGFOR 5.3
5375 1.1.1.3 spz tmp_sharedflag='-Wl,-shared' ;;
5376 1.1 spz xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5377 1.1 spz tmp_sharedflag='-qmkshrobj'
5378 1.1 spz tmp_addflag= ;;
5379 1.1 spz nvcc*) # Cuda Compiler Driver 2.2
5380 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5381 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
5382 1.1 spz ;;
5383 1.1 spz esac
5384 1.1.1.5 wiz case `$CC -V 2>&1 | $SED 5q` in
5385 1.1 spz *Sun\ C*) # Sun C 5.9
5386 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5387 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
5388 1.1 spz tmp_sharedflag='-G' ;;
5389 1.1 spz *Sun\ F*) # Sun Fortran 8.3
5390 1.1 spz tmp_sharedflag='-G' ;;
5391 1.1 spz esac
5392 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5393 1.1 spz
5394 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
5395 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5396 1.1.1.5 wiz cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5397 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
5398 1.1.1.3 spz $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
5399 1.1 spz fi
5400 1.1 spz
5401 1.1 spz case $cc_basename in
5402 1.1.1.3 spz tcc*)
5403 1.1.1.5 wiz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5404 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5405 1.1.1.3 spz ;;
5406 1.1 spz xlf* | bgf* | bgxlf* | mpixlf*)
5407 1.1 spz # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5408 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5409 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5410 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5411 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
5412 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5413 1.1.1.5 wiz cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5414 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
5415 1.1.1.3 spz $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5416 1.1 spz fi
5417 1.1 spz ;;
5418 1.1 spz esac
5419 1.1 spz else
5420 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5421 1.1 spz fi
5422 1.1 spz ;;
5423 1.1 spz
5424 1.1.1.5 wiz *-mlibc)
5425 1.1.1.5 wiz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5426 1.1.1.5 wiz _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'
5427 1.1.1.5 wiz ;;
5428 1.1.1.5 wiz
5429 1.1.1.5 wiz netbsd* | netbsdelf*-gnu)
5430 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5431 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5432 1.1 spz wlarc=
5433 1.1 spz else
5434 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5435 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5436 1.1 spz fi
5437 1.1 spz ;;
5438 1.1 spz
5439 1.1 spz solaris*)
5440 1.1 spz if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5441 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5442 1.1 spz cat <<_LT_EOF 1>&2
5443 1.1 spz
5444 1.1 spz *** Warning: The releases 2.8.* of the GNU linker cannot reliably
5445 1.1 spz *** create shared libraries on Solaris systems. Therefore, libtool
5446 1.1 spz *** is disabling shared libraries support. We urge you to upgrade GNU
5447 1.1 spz *** binutils to release 2.9.1 or newer. Another option is to modify
5448 1.1 spz *** your PATH or compiler configuration so that the native linker is
5449 1.1 spz *** used, and then restart.
5450 1.1 spz
5451 1.1 spz _LT_EOF
5452 1.1 spz elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5453 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5454 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5455 1.1 spz else
5456 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5457 1.1 spz fi
5458 1.1 spz ;;
5459 1.1 spz
5460 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5461 1.1 spz case `$LD -v 2>&1` in
5462 1.1 spz *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5463 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5464 1.1 spz cat <<_LT_EOF 1>&2
5465 1.1 spz
5466 1.1.1.3 spz *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
5467 1.1 spz *** reliably create shared libraries on SCO systems. Therefore, libtool
5468 1.1 spz *** is disabling shared libraries support. We urge you to upgrade GNU
5469 1.1 spz *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5470 1.1 spz *** your PATH or compiler configuration so that the native linker is
5471 1.1 spz *** used, and then restart.
5472 1.1 spz
5473 1.1 spz _LT_EOF
5474 1.1 spz ;;
5475 1.1 spz *)
5476 1.1 spz # For security reasons, it is highly recommended that you always
5477 1.1 spz # use absolute paths for naming shared libraries, and exclude the
5478 1.1 spz # DT_RUNPATH tag from executables and libraries. But doing so
5479 1.1 spz # requires that you compile everything twice, which is a pain.
5480 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5481 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5482 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5483 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5484 1.1 spz else
5485 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5486 1.1 spz fi
5487 1.1 spz ;;
5488 1.1 spz esac
5489 1.1 spz ;;
5490 1.1 spz
5491 1.1 spz sunos4*)
5492 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5493 1.1 spz wlarc=
5494 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5495 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5496 1.1 spz ;;
5497 1.1 spz
5498 1.1 spz *)
5499 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5500 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5501 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5502 1.1 spz else
5503 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5504 1.1 spz fi
5505 1.1 spz ;;
5506 1.1 spz esac
5507 1.1 spz
5508 1.1.1.3 spz if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
5509 1.1 spz runpath_var=
5510 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5511 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5512 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5513 1.1 spz fi
5514 1.1 spz else
5515 1.1 spz # PORTME fill in a description of your system's linker (not GNU ld)
5516 1.1 spz case $host_os in
5517 1.1 spz aix3*)
5518 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5519 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5520 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
5521 1.1 spz # Note: this linker hardcodes the directories in LIBPATH if there
5522 1.1 spz # are no directories specified by -L.
5523 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5524 1.1.1.3 spz if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
5525 1.1 spz # Neither direct hardcoding nor static linking is supported with a
5526 1.1 spz # broken collect2.
5527 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
5528 1.1 spz fi
5529 1.1 spz ;;
5530 1.1 spz
5531 1.1 spz aix[[4-9]]*)
5532 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5533 1.1 spz # On IA64, the linker does run time linking by default, so we don't
5534 1.1 spz # have to do anything special.
5535 1.1 spz aix_use_runtimelinking=no
5536 1.1 spz exp_sym_flag='-Bexport'
5537 1.1.1.3 spz no_entry_flag=
5538 1.1 spz else
5539 1.1 spz # If we're using GNU nm, then we don't want the "-C" option.
5540 1.1.1.3 spz # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5541 1.1.1.3 spz # Without the "-l" option, or with the "-B" option, AIX nm treats
5542 1.1.1.3 spz # weak defined symbols like other global defined symbols, whereas
5543 1.1.1.3 spz # GNU nm marks them as "W".
5544 1.1.1.3 spz # While the 'weak' keyword is ignored in the Export File, we need
5545 1.1.1.3 spz # it in the Import File for the 'aix-soname' feature, so we have
5546 1.1.1.3 spz # to replace the "-B" option with "-P" for AIX nm.
5547 1.1 spz if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5548 1.1.1.3 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
5549 1.1 spz else
5550 1.1.1.5 wiz _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'
5551 1.1 spz fi
5552 1.1 spz aix_use_runtimelinking=no
5553 1.1 spz
5554 1.1 spz # Test if we are trying to use run time linking or normal
5555 1.1 spz # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5556 1.1.1.3 spz # have runtime linking enabled, and use it for executables.
5557 1.1.1.3 spz # For shared libraries, we enable/disable runtime linking
5558 1.1.1.3 spz # depending on the kind of the shared library created -
5559 1.1.1.3 spz # when "with_aix_soname,aix_use_runtimelinking" is:
5560 1.1.1.3 spz # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
5561 1.1.1.3 spz # "aix,yes" lib.so shared, rtl:yes, for executables
5562 1.1.1.3 spz # lib.a static archive
5563 1.1.1.3 spz # "both,no" lib.so.V(shr.o) shared, rtl:yes
5564 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no, for executables
5565 1.1.1.3 spz # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5566 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no
5567 1.1.1.3 spz # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
5568 1.1.1.3 spz # lib.a static archive
5569 1.1 spz case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5570 1.1 spz for ld_flag in $LDFLAGS; do
5571 1.1.1.3 spz if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
5572 1.1 spz aix_use_runtimelinking=yes
5573 1.1 spz break
5574 1.1 spz fi
5575 1.1 spz done
5576 1.1.1.3 spz if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5577 1.1.1.3 spz # With aix-soname=svr4, we create the lib.so.V shared archives only,
5578 1.1.1.3 spz # so we don't have lib.a shared libs to link our executables.
5579 1.1.1.3 spz # We have to force runtime linking in this case.
5580 1.1.1.3 spz aix_use_runtimelinking=yes
5581 1.1.1.3 spz LDFLAGS="$LDFLAGS -Wl,-brtl"
5582 1.1.1.3 spz fi
5583 1.1 spz ;;
5584 1.1 spz esac
5585 1.1 spz
5586 1.1 spz exp_sym_flag='-bexport'
5587 1.1 spz no_entry_flag='-bnoentry'
5588 1.1 spz fi
5589 1.1 spz
5590 1.1 spz # When large executables or shared objects are built, AIX ld can
5591 1.1 spz # have problems creating the table of contents. If linking a library
5592 1.1 spz # or program results in "error TOC overflow" add -mminimal-toc to
5593 1.1 spz # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5594 1.1 spz # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5595 1.1 spz
5596 1.1 spz _LT_TAGVAR(archive_cmds, $1)=''
5597 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5598 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5599 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5600 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5601 1.1.1.3 spz _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5602 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
5603 1.1.1.3 spz aix,*) ;; # traditional, no import file
5604 1.1.1.3 spz svr4,* | *,yes) # use import file
5605 1.1.1.3 spz # The Import File defines what to hardcode.
5606 1.1.1.3 spz _LT_TAGVAR(hardcode_direct, $1)=no
5607 1.1.1.3 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5608 1.1.1.3 spz ;;
5609 1.1.1.3 spz esac
5610 1.1 spz
5611 1.1.1.3 spz if test yes = "$GCC"; then
5612 1.1 spz case $host_os in aix4.[[012]]|aix4.[[012]].*)
5613 1.1 spz # We only want to do this on AIX 4.2 and lower, the check
5614 1.1 spz # below for broken collect2 doesn't work under 4.3+
5615 1.1.1.3 spz collect2name=`$CC -print-prog-name=collect2`
5616 1.1 spz if test -f "$collect2name" &&
5617 1.1 spz strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5618 1.1 spz then
5619 1.1 spz # We have reworked collect2
5620 1.1 spz :
5621 1.1 spz else
5622 1.1 spz # We have old collect2
5623 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
5624 1.1 spz # It fails to find uninstalled libraries when the uninstalled
5625 1.1 spz # path is not listed in the libpath. Setting hardcode_minus_L
5626 1.1 spz # to unsupported forces relinking
5627 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5628 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5629 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
5630 1.1 spz fi
5631 1.1 spz ;;
5632 1.1 spz esac
5633 1.1 spz shared_flag='-shared'
5634 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
5635 1.1.1.3 spz shared_flag="$shared_flag "'$wl-G'
5636 1.1 spz fi
5637 1.1.1.3 spz # Need to ensure runtime linking is disabled for the traditional
5638 1.1.1.3 spz # shared library, or the linker may eventually find shared libraries
5639 1.1.1.3 spz # /with/ Import File - we do not want to mix them.
5640 1.1.1.3 spz shared_flag_aix='-shared'
5641 1.1.1.3 spz shared_flag_svr4='-shared $wl-G'
5642 1.1 spz else
5643 1.1 spz # not using gcc
5644 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5645 1.1 spz # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5646 1.1 spz # chokes on -Wl,-G. The following line is correct:
5647 1.1 spz shared_flag='-G'
5648 1.1 spz else
5649 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
5650 1.1.1.3 spz shared_flag='$wl-G'
5651 1.1 spz else
5652 1.1.1.3 spz shared_flag='$wl-bM:SRE'
5653 1.1 spz fi
5654 1.1.1.3 spz shared_flag_aix='$wl-bM:SRE'
5655 1.1.1.3 spz shared_flag_svr4='$wl-G'
5656 1.1 spz fi
5657 1.1 spz fi
5658 1.1 spz
5659 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
5660 1.1 spz # It seems that -bexpall does not export symbols beginning with
5661 1.1 spz # underscore (_), so it is better to generate a list of symbols to export.
5662 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5663 1.1.1.3 spz if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
5664 1.1 spz # Warning - without using the other runtime loading flags (-brtl),
5665 1.1 spz # -berok will link without error, but may produce a broken library.
5666 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5667 1.1 spz # Determine the default libpath from the value encoded in an
5668 1.1 spz # empty executable.
5669 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
5670 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5671 1.1.1.3 spz _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
5672 1.1 spz else
5673 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5674 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
5675 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5676 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
5677 1.1 spz else
5678 1.1 spz # Determine the default libpath from the value encoded in an
5679 1.1 spz # empty executable.
5680 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
5681 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5682 1.1 spz # Warning - without using the other run time loading flags,
5683 1.1 spz # -berok will link without error, but may produce a broken library.
5684 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5685 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5686 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
5687 1.1 spz # We only use this code for GNU lds that support --whole-archive.
5688 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
5689 1.1 spz else
5690 1.1 spz # Exported symbols can be pulled into shared objects from archives
5691 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5692 1.1 spz fi
5693 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5694 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5695 1.1.1.3 spz # -brtl affects multiple linker settings, -berok does not and is overridden later
5696 1.1.1.3 spz compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5697 1.1.1.3 spz if test svr4 != "$with_aix_soname"; then
5698 1.1.1.3 spz # This is similar to how AIX traditionally builds its shared libraries.
5699 1.1.1.3 spz _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'
5700 1.1.1.3 spz fi
5701 1.1.1.3 spz if test aix != "$with_aix_soname"; then
5702 1.1.1.3 spz _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'
5703 1.1.1.3 spz else
5704 1.1.1.3 spz # used by -dlpreopen to get the symbols
5705 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
5706 1.1.1.3 spz fi
5707 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
5708 1.1 spz fi
5709 1.1 spz fi
5710 1.1 spz ;;
5711 1.1 spz
5712 1.1 spz amigaos*)
5713 1.1 spz case $host_cpu in
5714 1.1 spz powerpc)
5715 1.1 spz # see comment about AmigaOS4 .so support
5716 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5717 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=''
5718 1.1 spz ;;
5719 1.1 spz m68k)
5720 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5721 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5722 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5723 1.1 spz ;;
5724 1.1 spz esac
5725 1.1 spz ;;
5726 1.1 spz
5727 1.1 spz bsdi[[45]]*)
5728 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5729 1.1 spz ;;
5730 1.1 spz
5731 1.1.1.5 wiz cygwin* | mingw* | windows* | pw32* | cegcc*)
5732 1.1 spz # When not using gcc, we currently assume that we are using
5733 1.1.1.5 wiz # Microsoft Visual C++ or Intel C++ Compiler.
5734 1.1 spz # hardcode_libdir_flag_spec is actually meaningless, as there is
5735 1.1 spz # no search path for DLLs.
5736 1.1 spz case $cc_basename in
5737 1.1.1.5 wiz cl* | icl*)
5738 1.1.1.5 wiz # Native MSVC or ICC
5739 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5740 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5741 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5742 1.1 spz _LT_TAGVAR(file_list_spec, $1)='@'
5743 1.1 spz # Tell ltmain to make .lib files, not .a files.
5744 1.1 spz libext=lib
5745 1.1 spz # Tell ltmain to make .dll files, not .so files.
5746 1.1.1.3 spz shrext_cmds=.dll
5747 1.1 spz # FIXME: Setting linknames here is a bad hack.
5748 1.1.1.5 wiz _LT_TAGVAR(archive_cmds, $1)='$CC -Fe$output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
5749 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5750 1.1.1.3 spz cp "$export_symbols" "$output_objdir/$soname.def";
5751 1.1.1.3 spz echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
5752 1.1.1.3 spz else
5753 1.1.1.3 spz $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
5754 1.1.1.3 spz fi~
5755 1.1.1.5 wiz $CC -Fe$tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5756 1.1.1.3 spz linknames='
5757 1.1 spz # The linker will not automatically build a static lib if we build a DLL.
5758 1.1 spz # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5759 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5760 1.1.1.2 spz _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5761 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5762 1.1 spz # Don't use ranlib
5763 1.1 spz _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5764 1.1 spz _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5765 1.1.1.3 spz lt_tool_outputfile="@TOOL_OUTPUT@"~
5766 1.1.1.3 spz case $lt_outputfile in
5767 1.1.1.3 spz *.exe|*.EXE) ;;
5768 1.1.1.3 spz *)
5769 1.1.1.3 spz lt_outputfile=$lt_outputfile.exe
5770 1.1.1.3 spz lt_tool_outputfile=$lt_tool_outputfile.exe
5771 1.1.1.3 spz ;;
5772 1.1.1.3 spz esac~
5773 1.1.1.3 spz if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
5774 1.1.1.3 spz $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5775 1.1.1.3 spz $RM "$lt_outputfile.manifest";
5776 1.1.1.3 spz fi'
5777 1.1 spz ;;
5778 1.1 spz *)
5779 1.1.1.5 wiz # Assume MSVC and ICC wrapper
5780 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5781 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5782 1.1 spz # Tell ltmain to make .lib files, not .a files.
5783 1.1 spz libext=lib
5784 1.1 spz # Tell ltmain to make .dll files, not .so files.
5785 1.1.1.3 spz shrext_cmds=.dll
5786 1.1 spz # FIXME: Setting linknames here is a bad hack.
5787 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5788 1.1 spz # The linker will automatically build a .lib file if we build a DLL.
5789 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5790 1.1 spz # FIXME: Should let the user specify the lib program.
5791 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5792 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5793 1.1 spz ;;
5794 1.1 spz esac
5795 1.1 spz ;;
5796 1.1 spz
5797 1.1 spz darwin* | rhapsody*)
5798 1.1 spz _LT_DARWIN_LINKER_FEATURES($1)
5799 1.1 spz ;;
5800 1.1 spz
5801 1.1 spz dgux*)
5802 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5803 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5804 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5805 1.1 spz ;;
5806 1.1 spz
5807 1.1 spz # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5808 1.1 spz # support. Future versions do this automatically, but an explicit c++rt0.o
5809 1.1 spz # does not break anything, and helps significantly (at the cost of a little
5810 1.1 spz # extra space).
5811 1.1 spz freebsd2.2*)
5812 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5813 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5814 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5815 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5816 1.1 spz ;;
5817 1.1 spz
5818 1.1 spz # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5819 1.1.1.2 spz freebsd2.*)
5820 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5821 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5822 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5823 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5824 1.1 spz ;;
5825 1.1 spz
5826 1.1 spz # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5827 1.1.1.5 wiz freebsd* | dragonfly* | midnightbsd*)
5828 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5829 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5830 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5831 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5832 1.1 spz ;;
5833 1.1 spz
5834 1.1 spz hpux9*)
5835 1.1.1.3 spz if test yes = "$GCC"; then
5836 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5837 1.1 spz else
5838 1.1.1.3 spz _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'
5839 1.1 spz fi
5840 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5841 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5842 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5843 1.1 spz
5844 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5845 1.1 spz # but as the default location of the library.
5846 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5847 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5848 1.1 spz ;;
5849 1.1 spz
5850 1.1 spz hpux10*)
5851 1.1.1.3 spz if test yes,no = "$GCC,$with_gnu_ld"; then
5852 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5853 1.1 spz else
5854 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5855 1.1 spz fi
5856 1.1.1.3 spz if test no = "$with_gnu_ld"; then
5857 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5858 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5859 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5860 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5861 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5862 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5863 1.1 spz # but as the default location of the library.
5864 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5865 1.1 spz fi
5866 1.1 spz ;;
5867 1.1 spz
5868 1.1 spz hpux11*)
5869 1.1.1.3 spz if test yes,no = "$GCC,$with_gnu_ld"; then
5870 1.1 spz case $host_cpu in
5871 1.1 spz hppa*64*)
5872 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5873 1.1 spz ;;
5874 1.1 spz ia64*)
5875 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5876 1.1 spz ;;
5877 1.1 spz *)
5878 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5879 1.1 spz ;;
5880 1.1 spz esac
5881 1.1 spz else
5882 1.1 spz case $host_cpu in
5883 1.1 spz hppa*64*)
5884 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5885 1.1 spz ;;
5886 1.1 spz ia64*)
5887 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5888 1.1 spz ;;
5889 1.1 spz *)
5890 1.1 spz m4_if($1, [], [
5891 1.1 spz # Older versions of the 11.00 compiler do not understand -b yet
5892 1.1 spz # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5893 1.1 spz _LT_LINKER_OPTION([if $CC understands -b],
5894 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5895 1.1.1.3 spz [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5896 1.1 spz [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5897 1.1.1.3 spz [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5898 1.1 spz ;;
5899 1.1 spz esac
5900 1.1 spz fi
5901 1.1.1.3 spz if test no = "$with_gnu_ld"; then
5902 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5903 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5904 1.1 spz
5905 1.1 spz case $host_cpu in
5906 1.1 spz hppa*64*|ia64*)
5907 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5908 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5909 1.1 spz ;;
5910 1.1 spz *)
5911 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5912 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5913 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5914 1.1 spz
5915 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5916 1.1 spz # but as the default location of the library.
5917 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5918 1.1 spz ;;
5919 1.1 spz esac
5920 1.1 spz fi
5921 1.1 spz ;;
5922 1.1 spz
5923 1.1 spz irix5* | irix6* | nonstopux*)
5924 1.1.1.3 spz if test yes = "$GCC"; then
5925 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5926 1.1 spz # Try to use the -exported_symbol ld option, if it does not
5927 1.1 spz # work, assume that -exports_file does not work either and
5928 1.1 spz # implicitly export all symbols.
5929 1.1 spz # This should be the same for all languages, so no per-tag cache variable.
5930 1.1 spz AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5931 1.1 spz [lt_cv_irix_exported_symbol],
5932 1.1.1.3 spz [save_LDFLAGS=$LDFLAGS
5933 1.1.1.3 spz LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
5934 1.1 spz AC_LINK_IFELSE(
5935 1.1 spz [AC_LANG_SOURCE(
5936 1.1 spz [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5937 1.1 spz [C++], [[int foo (void) { return 0; }]],
5938 1.1 spz [Fortran 77], [[
5939 1.1 spz subroutine foo
5940 1.1 spz end]],
5941 1.1 spz [Fortran], [[
5942 1.1 spz subroutine foo
5943 1.1 spz end]])])],
5944 1.1 spz [lt_cv_irix_exported_symbol=yes],
5945 1.1 spz [lt_cv_irix_exported_symbol=no])
5946 1.1.1.3 spz LDFLAGS=$save_LDFLAGS])
5947 1.1.1.3 spz if test yes = "$lt_cv_irix_exported_symbol"; then
5948 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
5949 1.1 spz fi
5950 1.1 spz else
5951 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5952 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
5953 1.1 spz fi
5954 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5955 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5956 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5957 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=yes
5958 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5959 1.1 spz ;;
5960 1.1 spz
5961 1.1.1.3 spz linux*)
5962 1.1.1.3 spz case $cc_basename in
5963 1.1.1.3 spz tcc*)
5964 1.1.1.3 spz # Fabrice Bellard et al's Tiny C Compiler
5965 1.1.1.3 spz _LT_TAGVAR(ld_shlibs, $1)=yes
5966 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5967 1.1.1.5 wiz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5968 1.1.1.3 spz ;;
5969 1.1.1.3 spz esac
5970 1.1.1.3 spz ;;
5971 1.1.1.3 spz
5972 1.1.1.5 wiz *-mlibc)
5973 1.1.1.5 wiz ;;
5974 1.1.1.5 wiz
5975 1.1.1.5 wiz netbsd* | netbsdelf*-gnu)
5976 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5977 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5978 1.1 spz else
5979 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5980 1.1 spz fi
5981 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5982 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5983 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5984 1.1 spz ;;
5985 1.1 spz
5986 1.1 spz newsos6)
5987 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5988 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5989 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5990 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5991 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5992 1.1 spz ;;
5993 1.1 spz
5994 1.1 spz *nto* | *qnx*)
5995 1.1 spz ;;
5996 1.1 spz
5997 1.1.1.5 wiz openbsd*)
5998 1.1 spz if test -f /usr/libexec/ld.so; then
5999 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6000 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6001 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6002 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
6003 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
6004 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
6005 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6006 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6007 1.1 spz else
6008 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
6009 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6010 1.1 spz fi
6011 1.1 spz else
6012 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6013 1.1 spz fi
6014 1.1 spz ;;
6015 1.1 spz
6016 1.1 spz os2*)
6017 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6018 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6019 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6020 1.1.1.3 spz shrext_cmds=.dll
6021 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6022 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6023 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6024 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
6025 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6026 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6027 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
6028 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6029 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6030 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6031 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
6032 1.1.1.3 spz prefix_cmds="$SED"~
6033 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
6034 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
6035 1.1.1.3 spz fi~
6036 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6037 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6038 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6039 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
6040 1.1.1.5 wiz _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6041 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6042 1.1.1.5 wiz _LT_TAGVAR(file_list_spec, $1)='@'
6043 1.1 spz ;;
6044 1.1 spz
6045 1.1 spz osf3*)
6046 1.1.1.3 spz if test yes = "$GCC"; then
6047 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
6048 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
6049 1.1 spz else
6050 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6051 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
6052 1.1 spz fi
6053 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
6054 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6055 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6056 1.1 spz ;;
6057 1.1 spz
6058 1.1 spz osf4* | osf5*) # as osf3* with the addition of -msym flag
6059 1.1.1.3 spz if test yes = "$GCC"; then
6060 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
6061 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
6062 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6063 1.1 spz else
6064 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6065 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
6066 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
6067 1.1.1.3 spz $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
6068 1.1 spz
6069 1.1 spz # Both c and cxx compiler support -rpath directly
6070 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6071 1.1 spz fi
6072 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
6073 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6074 1.1 spz ;;
6075 1.1 spz
6076 1.1.1.5 wiz serenity*)
6077 1.1.1.5 wiz ;;
6078 1.1.1.5 wiz
6079 1.1 spz solaris*)
6080 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
6081 1.1.1.3 spz if test yes = "$GCC"; then
6082 1.1.1.3 spz wlarc='$wl'
6083 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
6084 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6085 1.1.1.3 spz $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
6086 1.1 spz else
6087 1.1 spz case `$CC -V 2>&1` in
6088 1.1 spz *"Compilers 5.0"*)
6089 1.1 spz wlarc=''
6090 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
6091 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6092 1.1.1.3 spz $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
6093 1.1 spz ;;
6094 1.1 spz *)
6095 1.1.1.3 spz wlarc='$wl'
6096 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
6097 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6098 1.1.1.3 spz $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
6099 1.1 spz ;;
6100 1.1 spz esac
6101 1.1 spz fi
6102 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6103 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6104 1.1 spz case $host_os in
6105 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6106 1.1 spz *)
6107 1.1 spz # The compiler driver will combine and reorder linker options,
6108 1.1.1.3 spz # but understands '-z linker_flag'. GCC discards it without '$wl',
6109 1.1 spz # but is careful enough not to reorder.
6110 1.1 spz # Supported since Solaris 2.6 (maybe 2.5.1?)
6111 1.1.1.3 spz if test yes = "$GCC"; then
6112 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
6113 1.1 spz else
6114 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6115 1.1 spz fi
6116 1.1 spz ;;
6117 1.1 spz esac
6118 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6119 1.1 spz ;;
6120 1.1 spz
6121 1.1 spz sunos4*)
6122 1.1.1.3 spz if test sequent = "$host_vendor"; then
6123 1.1 spz # Use $CC to link under sequent, because it throws in some extra .o
6124 1.1 spz # files that make .init and .fini sections work.
6125 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
6126 1.1 spz else
6127 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
6128 1.1 spz fi
6129 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6130 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6131 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6132 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6133 1.1 spz ;;
6134 1.1 spz
6135 1.1 spz sysv4)
6136 1.1 spz case $host_vendor in
6137 1.1 spz sni)
6138 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6139 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
6140 1.1 spz ;;
6141 1.1 spz siemens)
6142 1.1 spz ## LD is ld it makes a PLAMLIB
6143 1.1 spz ## CC just makes a GrossModule.
6144 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
6145 1.1 spz _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
6146 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6147 1.1 spz ;;
6148 1.1 spz motorola)
6149 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6150 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
6151 1.1 spz ;;
6152 1.1 spz esac
6153 1.1 spz runpath_var='LD_RUN_PATH'
6154 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6155 1.1 spz ;;
6156 1.1 spz
6157 1.1 spz sysv4.3*)
6158 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6159 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6160 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
6161 1.1 spz ;;
6162 1.1 spz
6163 1.1 spz sysv4*MP*)
6164 1.1 spz if test -d /usr/nec; then
6165 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6166 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6167 1.1 spz runpath_var=LD_RUN_PATH
6168 1.1 spz hardcode_runpath_var=yes
6169 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6170 1.1 spz fi
6171 1.1 spz ;;
6172 1.1 spz
6173 1.1 spz sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6174 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6175 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6176 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6177 1.1 spz runpath_var='LD_RUN_PATH'
6178 1.1 spz
6179 1.1.1.3 spz if test yes = "$GCC"; then
6180 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6181 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6182 1.1 spz else
6183 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6184 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6185 1.1 spz fi
6186 1.1 spz ;;
6187 1.1 spz
6188 1.1 spz sysv5* | sco3.2v5* | sco5v6*)
6189 1.1.1.3 spz # Note: We CANNOT use -z defs as we might desire, because we do not
6190 1.1 spz # link with -lc, and that would cause any symbols used from libc to
6191 1.1 spz # always be unresolved, which means just about no library would
6192 1.1 spz # ever link correctly. If we're not using GNU ld we use -z text
6193 1.1 spz # though, which does catch some bad symbols but isn't as heavy-handed
6194 1.1 spz # as -z defs.
6195 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6196 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
6197 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6198 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6199 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
6200 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6201 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6202 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
6203 1.1 spz runpath_var='LD_RUN_PATH'
6204 1.1 spz
6205 1.1.1.3 spz if test yes = "$GCC"; then
6206 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6207 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6208 1.1 spz else
6209 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6210 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6211 1.1 spz fi
6212 1.1 spz ;;
6213 1.1 spz
6214 1.1 spz uts4*)
6215 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6216 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6217 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6218 1.1 spz ;;
6219 1.1 spz
6220 1.1 spz *)
6221 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6222 1.1 spz ;;
6223 1.1 spz esac
6224 1.1 spz
6225 1.1.1.3 spz if test sni = "$host_vendor"; then
6226 1.1 spz case $host in
6227 1.1 spz sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6228 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
6229 1.1 spz ;;
6230 1.1 spz esac
6231 1.1 spz fi
6232 1.1 spz fi
6233 1.1 spz ])
6234 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6235 1.1.1.3 spz test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
6236 1.1 spz
6237 1.1 spz _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
6238 1.1 spz
6239 1.1 spz _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
6240 1.1 spz _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
6241 1.1 spz _LT_DECL([], [extract_expsyms_cmds], [2],
6242 1.1 spz [The commands to extract the exported symbol list from a shared archive])
6243 1.1 spz
6244 1.1 spz #
6245 1.1 spz # Do we need to explicitly link libc?
6246 1.1 spz #
6247 1.1 spz case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
6248 1.1 spz x|xyes)
6249 1.1 spz # Assume -lc should be added
6250 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6251 1.1 spz
6252 1.1.1.3 spz if test yes,yes = "$GCC,$enable_shared"; then
6253 1.1 spz case $_LT_TAGVAR(archive_cmds, $1) in
6254 1.1 spz *'~'*)
6255 1.1 spz # FIXME: we may have to deal with multi-command sequences.
6256 1.1 spz ;;
6257 1.1 spz '$CC '*)
6258 1.1 spz # Test whether the compiler implicitly links with -lc since on some
6259 1.1 spz # systems, -lgcc has to come before -lc. If gcc already passes -lc
6260 1.1 spz # to ld, don't add -lc before -lgcc.
6261 1.1 spz AC_CACHE_CHECK([whether -lc should be explicitly linked in],
6262 1.1 spz [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
6263 1.1 spz [$RM conftest*
6264 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6265 1.1 spz
6266 1.1 spz if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6267 1.1 spz soname=conftest
6268 1.1 spz lib=conftest
6269 1.1 spz libobjs=conftest.$ac_objext
6270 1.1 spz deplibs=
6271 1.1 spz wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
6272 1.1 spz pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
6273 1.1 spz compiler_flags=-v
6274 1.1 spz linker_flags=-v
6275 1.1 spz verstring=
6276 1.1 spz output_objdir=.
6277 1.1 spz libname=conftest
6278 1.1 spz lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6279 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
6280 1.1 spz if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
6281 1.1 spz then
6282 1.1 spz lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6283 1.1 spz else
6284 1.1 spz lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6285 1.1 spz fi
6286 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6287 1.1 spz else
6288 1.1 spz cat conftest.err 1>&5
6289 1.1 spz fi
6290 1.1 spz $RM conftest*
6291 1.1 spz ])
6292 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
6293 1.1 spz ;;
6294 1.1 spz esac
6295 1.1 spz fi
6296 1.1 spz ;;
6297 1.1 spz esac
6298 1.1 spz
6299 1.1 spz _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6300 1.1 spz [Whether or not to add -lc for building shared libraries])
6301 1.1 spz _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6302 1.1 spz [enable_shared_with_static_runtimes], [0],
6303 1.1 spz [Whether or not to disallow shared libs when runtime libs are static])
6304 1.1 spz _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6305 1.1 spz [Compiler flag to allow reflexive dlopens])
6306 1.1 spz _LT_TAGDECL([], [whole_archive_flag_spec], [1],
6307 1.1 spz [Compiler flag to generate shared objects directly from archives])
6308 1.1 spz _LT_TAGDECL([], [compiler_needs_object], [1],
6309 1.1 spz [Whether the compiler copes with passing no objects directly])
6310 1.1 spz _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6311 1.1 spz [Create an old-style archive from a shared archive])
6312 1.1 spz _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6313 1.1 spz [Create a temporary old-style archive to link instead of a shared archive])
6314 1.1 spz _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6315 1.1 spz _LT_TAGDECL([], [archive_expsym_cmds], [2])
6316 1.1 spz _LT_TAGDECL([], [module_cmds], [2],
6317 1.1 spz [Commands used to build a loadable module if different from building
6318 1.1 spz a shared archive.])
6319 1.1 spz _LT_TAGDECL([], [module_expsym_cmds], [2])
6320 1.1 spz _LT_TAGDECL([], [with_gnu_ld], [1],
6321 1.1 spz [Whether we are building with GNU ld or not])
6322 1.1 spz _LT_TAGDECL([], [allow_undefined_flag], [1],
6323 1.1 spz [Flag that allows shared libraries with undefined symbols to be built])
6324 1.1 spz _LT_TAGDECL([], [no_undefined_flag], [1],
6325 1.1 spz [Flag that enforces no undefined symbols])
6326 1.1 spz _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6327 1.1 spz [Flag to hardcode $libdir into a binary during linking.
6328 1.1 spz This must work even if $libdir does not exist])
6329 1.1 spz _LT_TAGDECL([], [hardcode_libdir_separator], [1],
6330 1.1 spz [Whether we need a single "-rpath" flag with a separated argument])
6331 1.1 spz _LT_TAGDECL([], [hardcode_direct], [0],
6332 1.1.1.3 spz [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6333 1.1 spz DIR into the resulting binary])
6334 1.1 spz _LT_TAGDECL([], [hardcode_direct_absolute], [0],
6335 1.1.1.3 spz [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6336 1.1 spz DIR into the resulting binary and the resulting library dependency is
6337 1.1.1.5 wiz "absolute", i.e. impossible to change by setting $shlibpath_var if the
6338 1.1 spz library is relocated])
6339 1.1 spz _LT_TAGDECL([], [hardcode_minus_L], [0],
6340 1.1 spz [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6341 1.1 spz into the resulting binary])
6342 1.1 spz _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6343 1.1 spz [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6344 1.1 spz into the resulting binary])
6345 1.1 spz _LT_TAGDECL([], [hardcode_automatic], [0],
6346 1.1 spz [Set to "yes" if building a shared library automatically hardcodes DIR
6347 1.1 spz into the library and all subsequent libraries and executables linked
6348 1.1 spz against it])
6349 1.1 spz _LT_TAGDECL([], [inherit_rpath], [0],
6350 1.1 spz [Set to yes if linker adds runtime paths of dependent libraries
6351 1.1 spz to runtime path list])
6352 1.1 spz _LT_TAGDECL([], [link_all_deplibs], [0],
6353 1.1 spz [Whether libtool must link a program against all its dependency libraries])
6354 1.1 spz _LT_TAGDECL([], [always_export_symbols], [0],
6355 1.1 spz [Set to "yes" if exported symbols are required])
6356 1.1 spz _LT_TAGDECL([], [export_symbols_cmds], [2],
6357 1.1 spz [The commands to list exported symbols])
6358 1.1 spz _LT_TAGDECL([], [exclude_expsyms], [1],
6359 1.1 spz [Symbols that should not be listed in the preloaded symbols])
6360 1.1 spz _LT_TAGDECL([], [include_expsyms], [1],
6361 1.1 spz [Symbols that must always be exported])
6362 1.1 spz _LT_TAGDECL([], [prelink_cmds], [2],
6363 1.1 spz [Commands necessary for linking programs (against libraries) with templates])
6364 1.1 spz _LT_TAGDECL([], [postlink_cmds], [2],
6365 1.1 spz [Commands necessary for finishing linking programs])
6366 1.1 spz _LT_TAGDECL([], [file_list_spec], [1],
6367 1.1 spz [Specify filename containing input files])
6368 1.1 spz dnl FIXME: Not yet implemented
6369 1.1 spz dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6370 1.1 spz dnl [Compiler flag to generate thread safe objects])
6371 1.1 spz ])# _LT_LINKER_SHLIBS
6372 1.1 spz
6373 1.1 spz
6374 1.1 spz # _LT_LANG_C_CONFIG([TAG])
6375 1.1 spz # ------------------------
6376 1.1 spz # Ensure that the configuration variables for a C compiler are suitably
6377 1.1 spz # defined. These variables are subsequently used by _LT_CONFIG to write
6378 1.1.1.3 spz # the compiler configuration to 'libtool'.
6379 1.1 spz m4_defun([_LT_LANG_C_CONFIG],
6380 1.1 spz [m4_require([_LT_DECL_EGREP])dnl
6381 1.1.1.3 spz lt_save_CC=$CC
6382 1.1 spz AC_LANG_PUSH(C)
6383 1.1 spz
6384 1.1 spz # Source file extension for C test sources.
6385 1.1 spz ac_ext=c
6386 1.1 spz
6387 1.1 spz # Object file extension for compiled C test sources.
6388 1.1 spz objext=o
6389 1.1 spz _LT_TAGVAR(objext, $1)=$objext
6390 1.1 spz
6391 1.1 spz # Code to be used in simple compile tests
6392 1.1 spz lt_simple_compile_test_code="int some_variable = 0;"
6393 1.1 spz
6394 1.1 spz # Code to be used in simple link tests
6395 1.1.1.5 wiz lt_simple_link_test_code='int main(void){return(0);}'
6396 1.1 spz
6397 1.1 spz _LT_TAG_COMPILER
6398 1.1 spz # Save the default compiler, since it gets overwritten when the other
6399 1.1 spz # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6400 1.1 spz compiler_DEFAULT=$CC
6401 1.1 spz
6402 1.1 spz # save warnings/boilerplate of simple test code
6403 1.1 spz _LT_COMPILER_BOILERPLATE
6404 1.1 spz _LT_LINKER_BOILERPLATE
6405 1.1 spz
6406 1.1 spz ## CAVEAT EMPTOR:
6407 1.1 spz ## There is no encapsulation within the following macros, do not change
6408 1.1 spz ## the running order or otherwise move them around unless you know exactly
6409 1.1 spz ## what you are doing...
6410 1.1 spz if test -n "$compiler"; then
6411 1.1 spz _LT_COMPILER_NO_RTTI($1)
6412 1.1 spz _LT_COMPILER_PIC($1)
6413 1.1 spz _LT_COMPILER_C_O($1)
6414 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
6415 1.1 spz _LT_LINKER_SHLIBS($1)
6416 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
6417 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
6418 1.1 spz LT_SYS_DLOPEN_SELF
6419 1.1 spz _LT_CMD_STRIPLIB
6420 1.1 spz
6421 1.1.1.3 spz # Report what library types will actually be built
6422 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
6423 1.1 spz AC_MSG_RESULT([$can_build_shared])
6424 1.1 spz
6425 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
6426 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
6427 1.1 spz
6428 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
6429 1.1 spz # are all built from PIC.
6430 1.1 spz case $host_os in
6431 1.1 spz aix3*)
6432 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
6433 1.1 spz if test -n "$RANLIB"; then
6434 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
6435 1.1 spz postinstall_cmds='$RANLIB $lib'
6436 1.1 spz fi
6437 1.1 spz ;;
6438 1.1 spz
6439 1.1 spz aix[[4-9]]*)
6440 1.1.1.3 spz if test ia64 != "$host_cpu"; then
6441 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6442 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
6443 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
6444 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
6445 1.1.1.3 spz esac
6446 1.1 spz fi
6447 1.1 spz ;;
6448 1.1 spz esac
6449 1.1 spz AC_MSG_RESULT([$enable_shared])
6450 1.1 spz
6451 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
6452 1.1 spz # Make sure either enable_shared or enable_static is yes.
6453 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
6454 1.1 spz AC_MSG_RESULT([$enable_static])
6455 1.1 spz
6456 1.1 spz _LT_CONFIG($1)
6457 1.1 spz fi
6458 1.1 spz AC_LANG_POP
6459 1.1.1.3 spz CC=$lt_save_CC
6460 1.1 spz ])# _LT_LANG_C_CONFIG
6461 1.1 spz
6462 1.1 spz
6463 1.1 spz # _LT_LANG_CXX_CONFIG([TAG])
6464 1.1 spz # --------------------------
6465 1.1 spz # Ensure that the configuration variables for a C++ compiler are suitably
6466 1.1 spz # defined. These variables are subsequently used by _LT_CONFIG to write
6467 1.1.1.3 spz # the compiler configuration to 'libtool'.
6468 1.1 spz m4_defun([_LT_LANG_CXX_CONFIG],
6469 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6470 1.1 spz m4_require([_LT_DECL_EGREP])dnl
6471 1.1 spz m4_require([_LT_PATH_MANIFEST_TOOL])dnl
6472 1.1.1.3 spz if test -n "$CXX" && ( test no != "$CXX" &&
6473 1.1.1.3 spz ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6474 1.1.1.3 spz (test g++ != "$CXX"))); then
6475 1.1 spz AC_PROG_CXXCPP
6476 1.1 spz else
6477 1.1 spz _lt_caught_CXX_error=yes
6478 1.1 spz fi
6479 1.1 spz
6480 1.1 spz AC_LANG_PUSH(C++)
6481 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6482 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
6483 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
6484 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
6485 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=no
6486 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6487 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6488 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6489 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6490 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
6491 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
6492 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6493 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
6494 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
6495 1.1 spz _LT_TAGVAR(module_cmds, $1)=
6496 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
6497 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
6498 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6499 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
6500 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6501 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
6502 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
6503 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6504 1.1 spz
6505 1.1 spz # Source file extension for C++ test sources.
6506 1.1 spz ac_ext=cpp
6507 1.1 spz
6508 1.1 spz # Object file extension for compiled C++ test sources.
6509 1.1 spz objext=o
6510 1.1 spz _LT_TAGVAR(objext, $1)=$objext
6511 1.1 spz
6512 1.1 spz # No sense in running all these tests if we already determined that
6513 1.1 spz # the CXX compiler isn't working. Some variables (like enable_shared)
6514 1.1 spz # are currently assumed to apply to all compilers on this platform,
6515 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
6516 1.1.1.3 spz if test yes != "$_lt_caught_CXX_error"; then
6517 1.1 spz # Code to be used in simple compile tests
6518 1.1 spz lt_simple_compile_test_code="int some_variable = 0;"
6519 1.1 spz
6520 1.1 spz # Code to be used in simple link tests
6521 1.1 spz lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6522 1.1 spz
6523 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6524 1.1 spz _LT_TAG_COMPILER
6525 1.1 spz
6526 1.1 spz # save warnings/boilerplate of simple test code
6527 1.1 spz _LT_COMPILER_BOILERPLATE
6528 1.1 spz _LT_LINKER_BOILERPLATE
6529 1.1 spz
6530 1.1 spz # Allow CC to be a program name with arguments.
6531 1.1 spz lt_save_CC=$CC
6532 1.1 spz lt_save_CFLAGS=$CFLAGS
6533 1.1 spz lt_save_LD=$LD
6534 1.1 spz lt_save_GCC=$GCC
6535 1.1 spz GCC=$GXX
6536 1.1 spz lt_save_with_gnu_ld=$with_gnu_ld
6537 1.1 spz lt_save_path_LD=$lt_cv_path_LD
6538 1.1 spz if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6539 1.1 spz lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6540 1.1 spz else
6541 1.1 spz $as_unset lt_cv_prog_gnu_ld
6542 1.1 spz fi
6543 1.1 spz if test -n "${lt_cv_path_LDCXX+set}"; then
6544 1.1 spz lt_cv_path_LD=$lt_cv_path_LDCXX
6545 1.1 spz else
6546 1.1 spz $as_unset lt_cv_path_LD
6547 1.1 spz fi
6548 1.1 spz test -z "${LDCXX+set}" || LD=$LDCXX
6549 1.1 spz CC=${CXX-"c++"}
6550 1.1 spz CFLAGS=$CXXFLAGS
6551 1.1 spz compiler=$CC
6552 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
6553 1.1 spz _LT_CC_BASENAME([$compiler])
6554 1.1 spz
6555 1.1 spz if test -n "$compiler"; then
6556 1.1 spz # We don't want -fno-exception when compiling C++ code, so set the
6557 1.1 spz # no_builtin_flag separately
6558 1.1.1.3 spz if test yes = "$GXX"; then
6559 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6560 1.1 spz else
6561 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6562 1.1 spz fi
6563 1.1 spz
6564 1.1.1.3 spz if test yes = "$GXX"; then
6565 1.1 spz # Set up default GNU C++ configuration
6566 1.1 spz
6567 1.1 spz LT_PATH_LD
6568 1.1 spz
6569 1.1 spz # Check if GNU C++ uses GNU ld as the underlying linker, since the
6570 1.1 spz # archiving commands below assume that GNU ld is being used.
6571 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
6572 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6573 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6574 1.1 spz
6575 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6576 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6577 1.1 spz
6578 1.1 spz # If archive_cmds runs LD, not CC, wlarc should be empty
6579 1.1 spz # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6580 1.1 spz # investigate it a little bit more. (MM)
6581 1.1.1.3 spz wlarc='$wl'
6582 1.1 spz
6583 1.1 spz # ancient GNU ld didn't support --whole-archive et. al.
6584 1.1.1.5 wiz if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
6585 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
6586 1.1 spz else
6587 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
6588 1.1 spz fi
6589 1.1 spz else
6590 1.1 spz with_gnu_ld=no
6591 1.1 spz wlarc=
6592 1.1 spz
6593 1.1 spz # A generic and very simple default shared library creation
6594 1.1 spz # command for GNU C++ for the case where it uses the native
6595 1.1 spz # linker, instead of GNU ld. If possible, this setting should
6596 1.1 spz # overridden to take advantage of the native linker features on
6597 1.1 spz # the platform it is being used on.
6598 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6599 1.1 spz fi
6600 1.1 spz
6601 1.1 spz # Commands to make compiler produce verbose output that lists
6602 1.1 spz # what "hidden" libraries, object files and flags are used when
6603 1.1 spz # linking a shared library.
6604 1.1.1.5 wiz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
6605 1.1 spz
6606 1.1 spz else
6607 1.1 spz GXX=no
6608 1.1 spz with_gnu_ld=no
6609 1.1 spz wlarc=
6610 1.1 spz fi
6611 1.1 spz
6612 1.1 spz # PORTME: fill in a description of your system's C++ link characteristics
6613 1.1 spz AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6614 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6615 1.1 spz case $host_os in
6616 1.1 spz aix3*)
6617 1.1 spz # FIXME: insert proper C++ library support
6618 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6619 1.1 spz ;;
6620 1.1 spz aix[[4-9]]*)
6621 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6622 1.1 spz # On IA64, the linker does run time linking by default, so we don't
6623 1.1 spz # have to do anything special.
6624 1.1 spz aix_use_runtimelinking=no
6625 1.1 spz exp_sym_flag='-Bexport'
6626 1.1.1.3 spz no_entry_flag=
6627 1.1 spz else
6628 1.1 spz aix_use_runtimelinking=no
6629 1.1 spz
6630 1.1 spz # Test if we are trying to use run time linking or normal
6631 1.1 spz # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6632 1.1.1.3 spz # have runtime linking enabled, and use it for executables.
6633 1.1.1.3 spz # For shared libraries, we enable/disable runtime linking
6634 1.1.1.3 spz # depending on the kind of the shared library created -
6635 1.1.1.3 spz # when "with_aix_soname,aix_use_runtimelinking" is:
6636 1.1.1.3 spz # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
6637 1.1.1.3 spz # "aix,yes" lib.so shared, rtl:yes, for executables
6638 1.1.1.3 spz # lib.a static archive
6639 1.1.1.3 spz # "both,no" lib.so.V(shr.o) shared, rtl:yes
6640 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no, for executables
6641 1.1.1.3 spz # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6642 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no
6643 1.1.1.3 spz # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
6644 1.1.1.3 spz # lib.a static archive
6645 1.1 spz case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6646 1.1 spz for ld_flag in $LDFLAGS; do
6647 1.1 spz case $ld_flag in
6648 1.1 spz *-brtl*)
6649 1.1 spz aix_use_runtimelinking=yes
6650 1.1 spz break
6651 1.1 spz ;;
6652 1.1 spz esac
6653 1.1 spz done
6654 1.1.1.3 spz if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6655 1.1.1.3 spz # With aix-soname=svr4, we create the lib.so.V shared archives only,
6656 1.1.1.3 spz # so we don't have lib.a shared libs to link our executables.
6657 1.1.1.3 spz # We have to force runtime linking in this case.
6658 1.1.1.3 spz aix_use_runtimelinking=yes
6659 1.1.1.3 spz LDFLAGS="$LDFLAGS -Wl,-brtl"
6660 1.1.1.3 spz fi
6661 1.1 spz ;;
6662 1.1 spz esac
6663 1.1 spz
6664 1.1 spz exp_sym_flag='-bexport'
6665 1.1 spz no_entry_flag='-bnoentry'
6666 1.1 spz fi
6667 1.1 spz
6668 1.1 spz # When large executables or shared objects are built, AIX ld can
6669 1.1 spz # have problems creating the table of contents. If linking a library
6670 1.1 spz # or program results in "error TOC overflow" add -mminimal-toc to
6671 1.1 spz # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6672 1.1 spz # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6673 1.1 spz
6674 1.1 spz _LT_TAGVAR(archive_cmds, $1)=''
6675 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6676 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6677 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6678 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6679 1.1.1.3 spz _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6680 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
6681 1.1.1.3 spz aix,*) ;; # no import file
6682 1.1.1.3 spz svr4,* | *,yes) # use import file
6683 1.1.1.3 spz # The Import File defines what to hardcode.
6684 1.1.1.3 spz _LT_TAGVAR(hardcode_direct, $1)=no
6685 1.1.1.3 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6686 1.1.1.3 spz ;;
6687 1.1.1.3 spz esac
6688 1.1 spz
6689 1.1.1.3 spz if test yes = "$GXX"; then
6690 1.1 spz case $host_os in aix4.[[012]]|aix4.[[012]].*)
6691 1.1 spz # We only want to do this on AIX 4.2 and lower, the check
6692 1.1 spz # below for broken collect2 doesn't work under 4.3+
6693 1.1.1.3 spz collect2name=`$CC -print-prog-name=collect2`
6694 1.1 spz if test -f "$collect2name" &&
6695 1.1 spz strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6696 1.1 spz then
6697 1.1 spz # We have reworked collect2
6698 1.1 spz :
6699 1.1 spz else
6700 1.1 spz # We have old collect2
6701 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
6702 1.1 spz # It fails to find uninstalled libraries when the uninstalled
6703 1.1 spz # path is not listed in the libpath. Setting hardcode_minus_L
6704 1.1 spz # to unsupported forces relinking
6705 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6706 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6707 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
6708 1.1 spz fi
6709 1.1 spz esac
6710 1.1 spz shared_flag='-shared'
6711 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
6712 1.1.1.3 spz shared_flag=$shared_flag' $wl-G'
6713 1.1 spz fi
6714 1.1.1.3 spz # Need to ensure runtime linking is disabled for the traditional
6715 1.1.1.3 spz # shared library, or the linker may eventually find shared libraries
6716 1.1.1.3 spz # /with/ Import File - we do not want to mix them.
6717 1.1.1.3 spz shared_flag_aix='-shared'
6718 1.1.1.3 spz shared_flag_svr4='-shared $wl-G'
6719 1.1 spz else
6720 1.1 spz # not using gcc
6721 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6722 1.1 spz # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6723 1.1 spz # chokes on -Wl,-G. The following line is correct:
6724 1.1 spz shared_flag='-G'
6725 1.1 spz else
6726 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
6727 1.1.1.3 spz shared_flag='$wl-G'
6728 1.1 spz else
6729 1.1.1.3 spz shared_flag='$wl-bM:SRE'
6730 1.1 spz fi
6731 1.1.1.3 spz shared_flag_aix='$wl-bM:SRE'
6732 1.1.1.3 spz shared_flag_svr4='$wl-G'
6733 1.1 spz fi
6734 1.1 spz fi
6735 1.1 spz
6736 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
6737 1.1 spz # It seems that -bexpall does not export symbols beginning with
6738 1.1 spz # underscore (_), so it is better to generate a list of symbols to
6739 1.1 spz # export.
6740 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
6741 1.1.1.3 spz if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
6742 1.1 spz # Warning - without using the other runtime loading flags (-brtl),
6743 1.1 spz # -berok will link without error, but may produce a broken library.
6744 1.1.1.3 spz # The "-G" linker flag allows undefined symbols.
6745 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
6746 1.1 spz # Determine the default libpath from the value encoded in an empty
6747 1.1 spz # executable.
6748 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
6749 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6750 1.1 spz
6751 1.1.1.3 spz _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
6752 1.1 spz else
6753 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6754 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
6755 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6756 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
6757 1.1 spz else
6758 1.1 spz # Determine the default libpath from the value encoded in an
6759 1.1 spz # empty executable.
6760 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
6761 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6762 1.1 spz # Warning - without using the other run time loading flags,
6763 1.1 spz # -berok will link without error, but may produce a broken library.
6764 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6765 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6766 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
6767 1.1 spz # We only use this code for GNU lds that support --whole-archive.
6768 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6769 1.1 spz else
6770 1.1 spz # Exported symbols can be pulled into shared objects from archives
6771 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6772 1.1 spz fi
6773 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6774 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6775 1.1.1.3 spz # -brtl affects multiple linker settings, -berok does not and is overridden later
6776 1.1.1.3 spz compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6777 1.1.1.3 spz if test svr4 != "$with_aix_soname"; then
6778 1.1.1.3 spz # This is similar to how AIX traditionally builds its shared
6779 1.1.1.3 spz # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6780 1.1.1.3 spz _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'
6781 1.1.1.3 spz fi
6782 1.1.1.3 spz if test aix != "$with_aix_soname"; then
6783 1.1.1.3 spz _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'
6784 1.1.1.3 spz else
6785 1.1.1.3 spz # used by -dlpreopen to get the symbols
6786 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
6787 1.1.1.3 spz fi
6788 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
6789 1.1 spz fi
6790 1.1 spz fi
6791 1.1 spz ;;
6792 1.1 spz
6793 1.1 spz beos*)
6794 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6795 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6796 1.1 spz # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
6797 1.1 spz # support --undefined. This deserves some investigation. FIXME
6798 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6799 1.1 spz else
6800 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6801 1.1 spz fi
6802 1.1 spz ;;
6803 1.1 spz
6804 1.1 spz chorus*)
6805 1.1 spz case $cc_basename in
6806 1.1 spz *)
6807 1.1 spz # FIXME: insert proper C++ library support
6808 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6809 1.1 spz ;;
6810 1.1 spz esac
6811 1.1 spz ;;
6812 1.1 spz
6813 1.1.1.5 wiz cygwin* | mingw* | windows* | pw32* | cegcc*)
6814 1.1 spz case $GXX,$cc_basename in
6815 1.1.1.5 wiz ,cl* | no,cl* | ,icl* | no,icl*)
6816 1.1.1.5 wiz # Native MSVC or ICC
6817 1.1 spz # hardcode_libdir_flag_spec is actually meaningless, as there is
6818 1.1 spz # no search path for DLLs.
6819 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6820 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6821 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
6822 1.1 spz _LT_TAGVAR(file_list_spec, $1)='@'
6823 1.1 spz # Tell ltmain to make .lib files, not .a files.
6824 1.1 spz libext=lib
6825 1.1 spz # Tell ltmain to make .dll files, not .so files.
6826 1.1.1.3 spz shrext_cmds=.dll
6827 1.1 spz # FIXME: Setting linknames here is a bad hack.
6828 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
6829 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6830 1.1.1.3 spz cp "$export_symbols" "$output_objdir/$soname.def";
6831 1.1.1.3 spz echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
6832 1.1.1.3 spz else
6833 1.1.1.3 spz $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
6834 1.1.1.3 spz fi~
6835 1.1.1.3 spz $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6836 1.1.1.3 spz linknames='
6837 1.1 spz # The linker will not automatically build a static lib if we build a DLL.
6838 1.1 spz # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6839 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6840 1.1 spz # Don't use ranlib
6841 1.1 spz _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6842 1.1 spz _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6843 1.1.1.3 spz lt_tool_outputfile="@TOOL_OUTPUT@"~
6844 1.1.1.3 spz case $lt_outputfile in
6845 1.1.1.3 spz *.exe|*.EXE) ;;
6846 1.1.1.3 spz *)
6847 1.1.1.3 spz lt_outputfile=$lt_outputfile.exe
6848 1.1.1.3 spz lt_tool_outputfile=$lt_tool_outputfile.exe
6849 1.1.1.3 spz ;;
6850 1.1.1.3 spz esac~
6851 1.1.1.3 spz func_to_tool_file "$lt_outputfile"~
6852 1.1.1.3 spz if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
6853 1.1.1.3 spz $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6854 1.1.1.3 spz $RM "$lt_outputfile.manifest";
6855 1.1.1.3 spz fi'
6856 1.1 spz ;;
6857 1.1 spz *)
6858 1.1 spz # g++
6859 1.1 spz # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6860 1.1 spz # as there is no search path for DLLs.
6861 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6862 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
6863 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6864 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
6865 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6866 1.1.1.5 wiz _LT_TAGVAR(file_list_spec, $1)='@'
6867 1.1 spz
6868 1.1 spz if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6869 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6870 1.1.1.3 spz # If the export-symbols file already is a .def file, use it as
6871 1.1.1.3 spz # is; otherwise, prepend EXPORTS...
6872 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6873 1.1.1.3 spz cp $export_symbols $output_objdir/$soname.def;
6874 1.1.1.3 spz else
6875 1.1.1.3 spz echo EXPORTS > $output_objdir/$soname.def;
6876 1.1.1.3 spz cat $export_symbols >> $output_objdir/$soname.def;
6877 1.1.1.3 spz fi~
6878 1.1.1.3 spz $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6879 1.1 spz else
6880 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6881 1.1 spz fi
6882 1.1 spz ;;
6883 1.1 spz esac
6884 1.1 spz ;;
6885 1.1 spz darwin* | rhapsody*)
6886 1.1 spz _LT_DARWIN_LINKER_FEATURES($1)
6887 1.1 spz ;;
6888 1.1 spz
6889 1.1.1.3 spz os2*)
6890 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6891 1.1.1.3 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6892 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6893 1.1.1.3 spz shrext_cmds=.dll
6894 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6895 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6896 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6897 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
6898 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6899 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6900 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
6901 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6902 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6903 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6904 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
6905 1.1.1.3 spz prefix_cmds="$SED"~
6906 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
6907 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
6908 1.1.1.3 spz fi~
6909 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6910 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6911 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6912 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
6913 1.1.1.5 wiz _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6914 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6915 1.1.1.5 wiz _LT_TAGVAR(file_list_spec, $1)='@'
6916 1.1.1.3 spz ;;
6917 1.1.1.3 spz
6918 1.1 spz dgux*)
6919 1.1 spz case $cc_basename in
6920 1.1 spz ec++*)
6921 1.1 spz # FIXME: insert proper C++ library support
6922 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6923 1.1 spz ;;
6924 1.1 spz ghcx*)
6925 1.1 spz # Green Hills C++ Compiler
6926 1.1 spz # FIXME: insert proper C++ library support
6927 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6928 1.1 spz ;;
6929 1.1 spz *)
6930 1.1 spz # FIXME: insert proper C++ library support
6931 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6932 1.1 spz ;;
6933 1.1 spz esac
6934 1.1 spz ;;
6935 1.1 spz
6936 1.1.1.2 spz freebsd2.*)
6937 1.1 spz # C++ shared libraries reported to be fairly broken before
6938 1.1 spz # switch to ELF
6939 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6940 1.1 spz ;;
6941 1.1 spz
6942 1.1 spz freebsd-elf*)
6943 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6944 1.1 spz ;;
6945 1.1 spz
6946 1.1.1.5 wiz freebsd* | dragonfly* | midnightbsd*)
6947 1.1 spz # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6948 1.1 spz # conventions
6949 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6950 1.1 spz ;;
6951 1.1 spz
6952 1.1 spz haiku*)
6953 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6954 1.1.1.5 wiz _LT_TAGVAR(link_all_deplibs, $1)=no
6955 1.1 spz ;;
6956 1.1 spz
6957 1.1 spz hpux9*)
6958 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6959 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6960 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6961 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6962 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6963 1.1 spz # but as the default
6964 1.1 spz # location of the library.
6965 1.1 spz
6966 1.1 spz case $cc_basename in
6967 1.1 spz CC*)
6968 1.1 spz # FIXME: insert proper C++ library support
6969 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6970 1.1 spz ;;
6971 1.1 spz aCC*)
6972 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6973 1.1 spz # Commands to make compiler produce verbose output that lists
6974 1.1 spz # what "hidden" libraries, object files and flags are used when
6975 1.1 spz # linking a shared library.
6976 1.1 spz #
6977 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6978 1.1 spz # explicitly linking system object files so we need to strip them
6979 1.1 spz # from the output so that they don't get included in the library
6980 1.1 spz # dependencies.
6981 1.1.1.5 wiz 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"'
6982 1.1 spz ;;
6983 1.1 spz *)
6984 1.1.1.3 spz if test yes = "$GXX"; then
6985 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6986 1.1 spz else
6987 1.1 spz # FIXME: insert proper C++ library support
6988 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6989 1.1 spz fi
6990 1.1 spz ;;
6991 1.1 spz esac
6992 1.1 spz ;;
6993 1.1 spz
6994 1.1 spz hpux10*|hpux11*)
6995 1.1.1.3 spz if test no = "$with_gnu_ld"; then
6996 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6997 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6998 1.1 spz
6999 1.1 spz case $host_cpu in
7000 1.1 spz hppa*64*|ia64*)
7001 1.1 spz ;;
7002 1.1 spz *)
7003 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7004 1.1 spz ;;
7005 1.1 spz esac
7006 1.1 spz fi
7007 1.1 spz case $host_cpu in
7008 1.1 spz hppa*64*|ia64*)
7009 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7010 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7011 1.1 spz ;;
7012 1.1 spz *)
7013 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
7014 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7015 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
7016 1.1 spz # but as the default
7017 1.1 spz # location of the library.
7018 1.1 spz ;;
7019 1.1 spz esac
7020 1.1 spz
7021 1.1 spz case $cc_basename in
7022 1.1 spz CC*)
7023 1.1 spz # FIXME: insert proper C++ library support
7024 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7025 1.1 spz ;;
7026 1.1 spz aCC*)
7027 1.1 spz case $host_cpu in
7028 1.1 spz hppa*64*)
7029 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7030 1.1 spz ;;
7031 1.1 spz ia64*)
7032 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7033 1.1 spz ;;
7034 1.1 spz *)
7035 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7036 1.1 spz ;;
7037 1.1 spz esac
7038 1.1 spz # Commands to make compiler produce verbose output that lists
7039 1.1 spz # what "hidden" libraries, object files and flags are used when
7040 1.1 spz # linking a shared library.
7041 1.1 spz #
7042 1.1 spz # There doesn't appear to be a way to prevent this compiler from
7043 1.1 spz # explicitly linking system object files so we need to strip them
7044 1.1 spz # from the output so that they don't get included in the library
7045 1.1 spz # dependencies.
7046 1.1.1.5 wiz 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"'
7047 1.1 spz ;;
7048 1.1 spz *)
7049 1.1.1.3 spz if test yes = "$GXX"; then
7050 1.1.1.3 spz if test no = "$with_gnu_ld"; then
7051 1.1 spz case $host_cpu in
7052 1.1 spz hppa*64*)
7053 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7054 1.1 spz ;;
7055 1.1 spz ia64*)
7056 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7057 1.1 spz ;;
7058 1.1 spz *)
7059 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7060 1.1 spz ;;
7061 1.1 spz esac
7062 1.1 spz fi
7063 1.1 spz else
7064 1.1 spz # FIXME: insert proper C++ library support
7065 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7066 1.1 spz fi
7067 1.1 spz ;;
7068 1.1 spz esac
7069 1.1 spz ;;
7070 1.1 spz
7071 1.1 spz interix[[3-9]]*)
7072 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7073 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7074 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7075 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7076 1.1 spz # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
7077 1.1 spz # Instead, shared libraries are loaded at an image base (0x10000000 by
7078 1.1 spz # default) and relocated if they conflict, which is a slow very memory
7079 1.1 spz # consuming and fragmenting process. To avoid this, we pick a random,
7080 1.1 spz # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
7081 1.1 spz # time. Moving up from 0x10000000 also allows more sbrk(2) space.
7082 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
7083 1.1.1.5 wiz _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'
7084 1.1 spz ;;
7085 1.1 spz irix5* | irix6*)
7086 1.1 spz case $cc_basename in
7087 1.1 spz CC*)
7088 1.1 spz # SGI C++
7089 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7090 1.1 spz
7091 1.1 spz # Archives containing C++ object files must be created using
7092 1.1 spz # "CC -ar", where "CC" is the IRIX C++ compiler. This is
7093 1.1 spz # necessary to make sure instantiated templates are included
7094 1.1 spz # in the archive.
7095 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
7096 1.1 spz ;;
7097 1.1 spz *)
7098 1.1.1.3 spz if test yes = "$GXX"; then
7099 1.1.1.3 spz if test no = "$with_gnu_ld"; then
7100 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7101 1.1 spz else
7102 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
7103 1.1 spz fi
7104 1.1 spz fi
7105 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
7106 1.1 spz ;;
7107 1.1 spz esac
7108 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7109 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7110 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=yes
7111 1.1 spz ;;
7112 1.1 spz
7113 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
7114 1.1 spz case $cc_basename in
7115 1.1 spz KCC*)
7116 1.1 spz # Kuck and Associates, Inc. (KAI) C++ Compiler
7117 1.1 spz
7118 1.1 spz # KCC will only create a shared library if the output file
7119 1.1 spz # ends with ".so" (or ".sl" for HP-UX), so rename the library
7120 1.1 spz # to its proper name (with version) after linking.
7121 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
7122 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
7123 1.1 spz # Commands to make compiler produce verbose output that lists
7124 1.1 spz # what "hidden" libraries, object files and flags are used when
7125 1.1 spz # linking a shared library.
7126 1.1 spz #
7127 1.1 spz # There doesn't appear to be a way to prevent this compiler from
7128 1.1 spz # explicitly linking system object files so we need to strip them
7129 1.1 spz # from the output so that they don't get included in the library
7130 1.1 spz # dependencies.
7131 1.1.1.3 spz output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
7132 1.1 spz
7133 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7134 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7135 1.1 spz
7136 1.1 spz # Archives containing C++ object files must be created using
7137 1.1 spz # "CC -Bstatic", where "CC" is the KAI C++ compiler.
7138 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
7139 1.1 spz ;;
7140 1.1 spz icpc* | ecpc* )
7141 1.1 spz # Intel C++
7142 1.1 spz with_gnu_ld=yes
7143 1.1 spz # version 8.0 and above of icpc choke on multiply defined symbols
7144 1.1 spz # if we add $predep_objects and $postdep_objects, however 7.1 and
7145 1.1 spz # earlier do not add the objects themselves.
7146 1.1 spz case `$CC -V 2>&1` in
7147 1.1 spz *"Version 7."*)
7148 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7149 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7150 1.1 spz ;;
7151 1.1 spz *) # Version 8.0 or newer
7152 1.1 spz tmp_idyn=
7153 1.1 spz case $host_cpu in
7154 1.1 spz ia64*) tmp_idyn=' -i_dynamic';;
7155 1.1 spz esac
7156 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7157 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7158 1.1 spz ;;
7159 1.1 spz esac
7160 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7161 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7162 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7163 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
7164 1.1 spz ;;
7165 1.1 spz pgCC* | pgcpp*)
7166 1.1 spz # Portland Group C++ compiler
7167 1.1 spz case `$CC -V` in
7168 1.1 spz *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
7169 1.1 spz _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
7170 1.1.1.3 spz rm -rf $tpldir~
7171 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
7172 1.1.1.3 spz compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
7173 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
7174 1.1.1.3 spz rm -rf $tpldir~
7175 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
7176 1.1.1.3 spz $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
7177 1.1.1.3 spz $RANLIB $oldlib'
7178 1.1 spz _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
7179 1.1.1.3 spz rm -rf $tpldir~
7180 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7181 1.1.1.3 spz $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7182 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
7183 1.1.1.3 spz rm -rf $tpldir~
7184 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7185 1.1.1.3 spz $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7186 1.1 spz ;;
7187 1.1 spz *) # Version 6 and above use weak symbols
7188 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7189 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7190 1.1 spz ;;
7191 1.1 spz esac
7192 1.1 spz
7193 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7194 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7195 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7196 1.1 spz ;;
7197 1.1 spz cxx*)
7198 1.1 spz # Compaq C++
7199 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7200 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
7201 1.1 spz
7202 1.1 spz runpath_var=LD_RUN_PATH
7203 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7204 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7205 1.1 spz
7206 1.1 spz # Commands to make compiler produce verbose output that lists
7207 1.1 spz # what "hidden" libraries, object files and flags are used when
7208 1.1 spz # linking a shared library.
7209 1.1 spz #
7210 1.1 spz # There doesn't appear to be a way to prevent this compiler from
7211 1.1 spz # explicitly linking system object files so we need to strip them
7212 1.1 spz # from the output so that they don't get included in the library
7213 1.1 spz # dependencies.
7214 1.1.1.3 spz output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
7215 1.1 spz ;;
7216 1.1 spz xl* | mpixl* | bgxl*)
7217 1.1 spz # IBM XL 8.0 on PPC, with GNU ld
7218 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7219 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7220 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7221 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
7222 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7223 1.1.1.5 wiz cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7224 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
7225 1.1.1.3 spz $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
7226 1.1 spz fi
7227 1.1 spz ;;
7228 1.1 spz *)
7229 1.1.1.5 wiz case `$CC -V 2>&1 | $SED 5q` in
7230 1.1 spz *Sun\ C*)
7231 1.1 spz # Sun C++ 5.9
7232 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7233 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7234 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
7235 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7236 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7237 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
7238 1.1 spz
7239 1.1 spz # Not sure whether something based on
7240 1.1 spz # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
7241 1.1 spz # would be better.
7242 1.1 spz output_verbose_link_cmd='func_echo_all'
7243 1.1 spz
7244 1.1 spz # Archives containing C++ object files must be created using
7245 1.1 spz # "CC -xar", where "CC" is the Sun C++ compiler. This is
7246 1.1 spz # necessary to make sure instantiated templates are included
7247 1.1 spz # in the archive.
7248 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7249 1.1 spz ;;
7250 1.1 spz esac
7251 1.1 spz ;;
7252 1.1 spz esac
7253 1.1 spz ;;
7254 1.1 spz
7255 1.1 spz lynxos*)
7256 1.1 spz # FIXME: insert proper C++ library support
7257 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7258 1.1 spz ;;
7259 1.1 spz
7260 1.1 spz m88k*)
7261 1.1 spz # FIXME: insert proper C++ library support
7262 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7263 1.1 spz ;;
7264 1.1 spz
7265 1.1 spz mvs*)
7266 1.1 spz case $cc_basename in
7267 1.1 spz cxx*)
7268 1.1 spz # FIXME: insert proper C++ library support
7269 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7270 1.1 spz ;;
7271 1.1 spz *)
7272 1.1 spz # FIXME: insert proper C++ library support
7273 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7274 1.1 spz ;;
7275 1.1 spz esac
7276 1.1 spz ;;
7277 1.1 spz
7278 1.1.1.5 wiz *-mlibc)
7279 1.1.1.5 wiz _LT_TAGVAR(ld_shlibs, $1)=yes
7280 1.1.1.5 wiz ;;
7281 1.1.1.5 wiz
7282 1.1 spz netbsd*)
7283 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7284 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
7285 1.1 spz wlarc=
7286 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7287 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
7288 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7289 1.1 spz fi
7290 1.1 spz # Workaround some broken pre-1.5 toolchains
7291 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
7292 1.1 spz ;;
7293 1.1 spz
7294 1.1 spz *nto* | *qnx*)
7295 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
7296 1.1 spz ;;
7297 1.1 spz
7298 1.1.1.5 wiz openbsd*)
7299 1.1 spz if test -f /usr/libexec/ld.so; then
7300 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
7301 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7302 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7303 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7304 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7305 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7306 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
7307 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7308 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
7309 1.1 spz fi
7310 1.1 spz output_verbose_link_cmd=func_echo_all
7311 1.1 spz else
7312 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7313 1.1 spz fi
7314 1.1 spz ;;
7315 1.1 spz
7316 1.1 spz osf3* | osf4* | osf5*)
7317 1.1 spz case $cc_basename in
7318 1.1 spz KCC*)
7319 1.1 spz # Kuck and Associates, Inc. (KAI) C++ Compiler
7320 1.1 spz
7321 1.1 spz # KCC will only create a shared library if the output file
7322 1.1 spz # ends with ".so" (or ".sl" for HP-UX), so rename the library
7323 1.1 spz # to its proper name (with version) after linking.
7324 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
7325 1.1 spz
7326 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7327 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7328 1.1 spz
7329 1.1 spz # Archives containing C++ object files must be created using
7330 1.1 spz # the KAI C++ compiler.
7331 1.1 spz case $host in
7332 1.1 spz osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
7333 1.1 spz *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
7334 1.1 spz esac
7335 1.1 spz ;;
7336 1.1 spz RCC*)
7337 1.1 spz # Rational C++ 2.4.1
7338 1.1 spz # FIXME: insert proper C++ library support
7339 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7340 1.1 spz ;;
7341 1.1 spz cxx*)
7342 1.1 spz case $host in
7343 1.1 spz osf3*)
7344 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7345 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7346 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7347 1.1 spz ;;
7348 1.1 spz *)
7349 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7350 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7351 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
7352 1.1.1.3 spz echo "-hidden">> $lib.exp~
7353 1.1.1.3 spz $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
7354 1.1.1.3 spz $RM $lib.exp'
7355 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7356 1.1 spz ;;
7357 1.1 spz esac
7358 1.1 spz
7359 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7360 1.1 spz
7361 1.1 spz # Commands to make compiler produce verbose output that lists
7362 1.1 spz # what "hidden" libraries, object files and flags are used when
7363 1.1 spz # linking a shared library.
7364 1.1 spz #
7365 1.1 spz # There doesn't appear to be a way to prevent this compiler from
7366 1.1 spz # explicitly linking system object files so we need to strip them
7367 1.1 spz # from the output so that they don't get included in the library
7368 1.1 spz # dependencies.
7369 1.1.1.3 spz output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
7370 1.1 spz ;;
7371 1.1 spz *)
7372 1.1.1.3 spz if test yes,no = "$GXX,$with_gnu_ld"; then
7373 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7374 1.1 spz case $host in
7375 1.1 spz osf3*)
7376 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7377 1.1 spz ;;
7378 1.1 spz *)
7379 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7380 1.1 spz ;;
7381 1.1 spz esac
7382 1.1 spz
7383 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7384 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7385 1.1 spz
7386 1.1 spz # Commands to make compiler produce verbose output that lists
7387 1.1 spz # what "hidden" libraries, object files and flags are used when
7388 1.1 spz # linking a shared library.
7389 1.1.1.5 wiz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
7390 1.1 spz
7391 1.1 spz else
7392 1.1 spz # FIXME: insert proper C++ library support
7393 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7394 1.1 spz fi
7395 1.1 spz ;;
7396 1.1 spz esac
7397 1.1 spz ;;
7398 1.1 spz
7399 1.1 spz psos*)
7400 1.1 spz # FIXME: insert proper C++ library support
7401 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7402 1.1 spz ;;
7403 1.1 spz
7404 1.1.1.5 wiz serenity*)
7405 1.1.1.5 wiz ;;
7406 1.1.1.5 wiz
7407 1.1 spz sunos4*)
7408 1.1 spz case $cc_basename in
7409 1.1 spz CC*)
7410 1.1 spz # Sun C++ 4.x
7411 1.1 spz # FIXME: insert proper C++ library support
7412 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7413 1.1 spz ;;
7414 1.1 spz lcc*)
7415 1.1 spz # Lucid
7416 1.1 spz # FIXME: insert proper C++ library support
7417 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7418 1.1 spz ;;
7419 1.1 spz *)
7420 1.1 spz # FIXME: insert proper C++ library support
7421 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7422 1.1 spz ;;
7423 1.1 spz esac
7424 1.1 spz ;;
7425 1.1 spz
7426 1.1 spz solaris*)
7427 1.1 spz case $cc_basename in
7428 1.1 spz CC* | sunCC*)
7429 1.1 spz # Sun C++ 4.2, 5.x and Centerline C++
7430 1.1 spz _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7431 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7432 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7433 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7434 1.1.1.3 spz $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7435 1.1 spz
7436 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7437 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7438 1.1 spz case $host_os in
7439 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7440 1.1 spz *)
7441 1.1 spz # The compiler driver will combine and reorder linker options,
7442 1.1.1.3 spz # but understands '-z linker_flag'.
7443 1.1 spz # Supported since Solaris 2.6 (maybe 2.5.1?)
7444 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7445 1.1 spz ;;
7446 1.1 spz esac
7447 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
7448 1.1 spz
7449 1.1 spz output_verbose_link_cmd='func_echo_all'
7450 1.1 spz
7451 1.1 spz # Archives containing C++ object files must be created using
7452 1.1 spz # "CC -xar", where "CC" is the Sun C++ compiler. This is
7453 1.1 spz # necessary to make sure instantiated templates are included
7454 1.1 spz # in the archive.
7455 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7456 1.1 spz ;;
7457 1.1 spz gcx*)
7458 1.1 spz # Green Hills C++ Compiler
7459 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7460 1.1 spz
7461 1.1 spz # The C++ compiler must be used to create the archive.
7462 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7463 1.1 spz ;;
7464 1.1 spz *)
7465 1.1 spz # GNU C++ compiler with Solaris linker
7466 1.1.1.3 spz if test yes,no = "$GXX,$with_gnu_ld"; then
7467 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
7468 1.1 spz if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7469 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7470 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7471 1.1.1.3 spz $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'
7472 1.1 spz
7473 1.1 spz # Commands to make compiler produce verbose output that lists
7474 1.1 spz # what "hidden" libraries, object files and flags are used when
7475 1.1 spz # linking a shared library.
7476 1.1.1.5 wiz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
7477 1.1 spz else
7478 1.1.1.3 spz # g++ 2.7 appears to require '-G' NOT '-shared' on this
7479 1.1 spz # platform.
7480 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7481 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7482 1.1.1.3 spz $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'
7483 1.1 spz
7484 1.1 spz # Commands to make compiler produce verbose output that lists
7485 1.1 spz # what "hidden" libraries, object files and flags are used when
7486 1.1 spz # linking a shared library.
7487 1.1.1.5 wiz output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
7488 1.1 spz fi
7489 1.1 spz
7490 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
7491 1.1 spz case $host_os in
7492 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7493 1.1 spz *)
7494 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
7495 1.1 spz ;;
7496 1.1 spz esac
7497 1.1 spz fi
7498 1.1 spz ;;
7499 1.1 spz esac
7500 1.1 spz ;;
7501 1.1 spz
7502 1.1 spz sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7503 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7504 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7505 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7506 1.1 spz runpath_var='LD_RUN_PATH'
7507 1.1 spz
7508 1.1 spz case $cc_basename in
7509 1.1 spz CC*)
7510 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7511 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7512 1.1 spz ;;
7513 1.1 spz *)
7514 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7515 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7516 1.1 spz ;;
7517 1.1 spz esac
7518 1.1 spz ;;
7519 1.1 spz
7520 1.1 spz sysv5* | sco3.2v5* | sco5v6*)
7521 1.1.1.3 spz # Note: We CANNOT use -z defs as we might desire, because we do not
7522 1.1 spz # link with -lc, and that would cause any symbols used from libc to
7523 1.1 spz # always be unresolved, which means just about no library would
7524 1.1 spz # ever link correctly. If we're not using GNU ld we use -z text
7525 1.1 spz # though, which does catch some bad symbols but isn't as heavy-handed
7526 1.1 spz # as -z defs.
7527 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7528 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
7529 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7530 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7531 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
7532 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7533 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
7534 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
7535 1.1 spz runpath_var='LD_RUN_PATH'
7536 1.1 spz
7537 1.1 spz case $cc_basename in
7538 1.1 spz CC*)
7539 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7540 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7541 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
7542 1.1.1.3 spz '"$_LT_TAGVAR(old_archive_cmds, $1)"
7543 1.1 spz _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
7544 1.1.1.3 spz '"$_LT_TAGVAR(reload_cmds, $1)"
7545 1.1 spz ;;
7546 1.1 spz *)
7547 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7548 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7549 1.1 spz ;;
7550 1.1 spz esac
7551 1.1 spz ;;
7552 1.1 spz
7553 1.1 spz tandem*)
7554 1.1 spz case $cc_basename in
7555 1.1 spz NCC*)
7556 1.1 spz # NonStop-UX NCC 3.20
7557 1.1 spz # FIXME: insert proper C++ library support
7558 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7559 1.1 spz ;;
7560 1.1 spz *)
7561 1.1 spz # FIXME: insert proper C++ library support
7562 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7563 1.1 spz ;;
7564 1.1 spz esac
7565 1.1 spz ;;
7566 1.1 spz
7567 1.1 spz vxworks*)
7568 1.1 spz # FIXME: insert proper C++ library support
7569 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7570 1.1 spz ;;
7571 1.1 spz
7572 1.1 spz *)
7573 1.1 spz # FIXME: insert proper C++ library support
7574 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7575 1.1 spz ;;
7576 1.1 spz esac
7577 1.1 spz
7578 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7579 1.1.1.3 spz test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
7580 1.1 spz
7581 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$GXX
7582 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7583 1.1 spz
7584 1.1 spz ## CAVEAT EMPTOR:
7585 1.1 spz ## There is no encapsulation within the following macros, do not change
7586 1.1 spz ## the running order or otherwise move them around unless you know exactly
7587 1.1 spz ## what you are doing...
7588 1.1 spz _LT_SYS_HIDDEN_LIBDEPS($1)
7589 1.1 spz _LT_COMPILER_PIC($1)
7590 1.1 spz _LT_COMPILER_C_O($1)
7591 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7592 1.1 spz _LT_LINKER_SHLIBS($1)
7593 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7594 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7595 1.1 spz
7596 1.1 spz _LT_CONFIG($1)
7597 1.1 spz fi # test -n "$compiler"
7598 1.1 spz
7599 1.1 spz CC=$lt_save_CC
7600 1.1 spz CFLAGS=$lt_save_CFLAGS
7601 1.1 spz LDCXX=$LD
7602 1.1 spz LD=$lt_save_LD
7603 1.1 spz GCC=$lt_save_GCC
7604 1.1 spz with_gnu_ld=$lt_save_with_gnu_ld
7605 1.1 spz lt_cv_path_LDCXX=$lt_cv_path_LD
7606 1.1 spz lt_cv_path_LD=$lt_save_path_LD
7607 1.1 spz lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7608 1.1 spz lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7609 1.1.1.3 spz fi # test yes != "$_lt_caught_CXX_error"
7610 1.1 spz
7611 1.1 spz AC_LANG_POP
7612 1.1 spz ])# _LT_LANG_CXX_CONFIG
7613 1.1 spz
7614 1.1 spz
7615 1.1 spz # _LT_FUNC_STRIPNAME_CNF
7616 1.1 spz # ----------------------
7617 1.1 spz # func_stripname_cnf prefix suffix name
7618 1.1 spz # strip PREFIX and SUFFIX off of NAME.
7619 1.1 spz # PREFIX and SUFFIX must not contain globbing or regex special
7620 1.1 spz # characters, hashes, percent signs, but SUFFIX may contain a leading
7621 1.1 spz # dot (in which case that matches only a dot).
7622 1.1 spz #
7623 1.1 spz # This function is identical to the (non-XSI) version of func_stripname,
7624 1.1 spz # except this one can be used by m4 code that may be executed by configure,
7625 1.1 spz # rather than the libtool script.
7626 1.1 spz m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
7627 1.1 spz AC_REQUIRE([_LT_DECL_SED])
7628 1.1 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
7629 1.1 spz func_stripname_cnf ()
7630 1.1 spz {
7631 1.1.1.3 spz case @S|@2 in
7632 1.1.1.3 spz .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7633 1.1.1.3 spz *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
7634 1.1 spz esac
7635 1.1 spz } # func_stripname_cnf
7636 1.1 spz ])# _LT_FUNC_STRIPNAME_CNF
7637 1.1 spz
7638 1.1.1.3 spz
7639 1.1 spz # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
7640 1.1 spz # ---------------------------------
7641 1.1 spz # Figure out "hidden" library dependencies from verbose
7642 1.1 spz # compiler output when linking a shared library.
7643 1.1 spz # Parse the compiler output and extract the necessary
7644 1.1 spz # objects, libraries and library flags.
7645 1.1 spz m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7646 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7647 1.1 spz AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
7648 1.1 spz # Dependencies to place before and after the object being linked:
7649 1.1 spz _LT_TAGVAR(predep_objects, $1)=
7650 1.1 spz _LT_TAGVAR(postdep_objects, $1)=
7651 1.1 spz _LT_TAGVAR(predeps, $1)=
7652 1.1 spz _LT_TAGVAR(postdeps, $1)=
7653 1.1 spz _LT_TAGVAR(compiler_lib_search_path, $1)=
7654 1.1 spz
7655 1.1 spz dnl we can't use the lt_simple_compile_test_code here,
7656 1.1 spz dnl because it contains code intended for an executable,
7657 1.1 spz dnl not a library. It's possible we should let each
7658 1.1 spz dnl tag define a new lt_????_link_test_code variable,
7659 1.1 spz dnl but it's only used here...
7660 1.1 spz m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7661 1.1 spz int a;
7662 1.1 spz void foo (void) { a = 0; }
7663 1.1 spz _LT_EOF
7664 1.1 spz ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7665 1.1 spz class Foo
7666 1.1 spz {
7667 1.1 spz public:
7668 1.1 spz Foo (void) { a = 0; }
7669 1.1 spz private:
7670 1.1 spz int a;
7671 1.1 spz };
7672 1.1 spz _LT_EOF
7673 1.1 spz ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7674 1.1 spz subroutine foo
7675 1.1 spz implicit none
7676 1.1 spz integer*4 a
7677 1.1 spz a=0
7678 1.1 spz return
7679 1.1 spz end
7680 1.1 spz _LT_EOF
7681 1.1 spz ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7682 1.1 spz subroutine foo
7683 1.1 spz implicit none
7684 1.1 spz integer a
7685 1.1 spz a=0
7686 1.1 spz return
7687 1.1 spz end
7688 1.1 spz _LT_EOF
7689 1.1 spz ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7690 1.1 spz public class foo {
7691 1.1 spz private int a;
7692 1.1 spz public void bar (void) {
7693 1.1 spz a = 0;
7694 1.1 spz }
7695 1.1 spz };
7696 1.1 spz _LT_EOF
7697 1.1.1.2 spz ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
7698 1.1.1.2 spz package foo
7699 1.1.1.2 spz func foo() {
7700 1.1.1.2 spz }
7701 1.1.1.2 spz _LT_EOF
7702 1.1 spz ])
7703 1.1 spz
7704 1.1 spz _lt_libdeps_save_CFLAGS=$CFLAGS
7705 1.1 spz case "$CC $CFLAGS " in #(
7706 1.1 spz *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7707 1.1 spz *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
7708 1.1.1.2 spz *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7709 1.1 spz esac
7710 1.1 spz
7711 1.1 spz dnl Parse the compiler output and extract the necessary
7712 1.1 spz dnl objects, libraries and library flags.
7713 1.1 spz if AC_TRY_EVAL(ac_compile); then
7714 1.1 spz # Parse the compiler output and extract the necessary
7715 1.1 spz # objects, libraries and library flags.
7716 1.1 spz
7717 1.1 spz # Sentinel used to keep track of whether or not we are before
7718 1.1 spz # the conftest object file.
7719 1.1 spz pre_test_object_deps_done=no
7720 1.1 spz
7721 1.1 spz for p in `eval "$output_verbose_link_cmd"`; do
7722 1.1.1.3 spz case $prev$p in
7723 1.1 spz
7724 1.1 spz -L* | -R* | -l*)
7725 1.1.1.5 wiz # Some compilers place space between "-{L,R,l}" and the path.
7726 1.1 spz # Remove the space.
7727 1.1.1.5 wiz if test x-L = x"$p" ||
7728 1.1.1.5 wiz test x-R = x"$p" ||
7729 1.1.1.5 wiz test x-l = x"$p"; then
7730 1.1 spz prev=$p
7731 1.1 spz continue
7732 1.1 spz fi
7733 1.1 spz
7734 1.1 spz # Expand the sysroot to ease extracting the directories later.
7735 1.1 spz if test -z "$prev"; then
7736 1.1 spz case $p in
7737 1.1 spz -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7738 1.1 spz -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7739 1.1 spz -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7740 1.1 spz esac
7741 1.1 spz fi
7742 1.1 spz case $p in
7743 1.1 spz =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7744 1.1 spz esac
7745 1.1.1.3 spz if test no = "$pre_test_object_deps_done"; then
7746 1.1.1.3 spz case $prev in
7747 1.1 spz -L | -R)
7748 1.1 spz # Internal compiler library paths should come after those
7749 1.1 spz # provided the user. The postdeps already come after the
7750 1.1 spz # user supplied libs so there is no need to process them.
7751 1.1 spz if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7752 1.1.1.3 spz _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
7753 1.1 spz else
7754 1.1.1.3 spz _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
7755 1.1 spz fi
7756 1.1 spz ;;
7757 1.1 spz # The "-l" case would never come before the object being
7758 1.1 spz # linked, so don't bother handling this case.
7759 1.1 spz esac
7760 1.1 spz else
7761 1.1 spz if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7762 1.1.1.3 spz _LT_TAGVAR(postdeps, $1)=$prev$p
7763 1.1 spz else
7764 1.1.1.3 spz _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
7765 1.1 spz fi
7766 1.1 spz fi
7767 1.1 spz prev=
7768 1.1 spz ;;
7769 1.1 spz
7770 1.1 spz *.lto.$objext) ;; # Ignore GCC LTO objects
7771 1.1 spz *.$objext)
7772 1.1 spz # This assumes that the test object file only shows up
7773 1.1 spz # once in the compiler output.
7774 1.1 spz if test "$p" = "conftest.$objext"; then
7775 1.1 spz pre_test_object_deps_done=yes
7776 1.1 spz continue
7777 1.1 spz fi
7778 1.1 spz
7779 1.1.1.3 spz if test no = "$pre_test_object_deps_done"; then
7780 1.1 spz if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7781 1.1.1.3 spz _LT_TAGVAR(predep_objects, $1)=$p
7782 1.1 spz else
7783 1.1 spz _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7784 1.1 spz fi
7785 1.1 spz else
7786 1.1 spz if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7787 1.1.1.3 spz _LT_TAGVAR(postdep_objects, $1)=$p
7788 1.1 spz else
7789 1.1 spz _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7790 1.1 spz fi
7791 1.1 spz fi
7792 1.1 spz ;;
7793 1.1 spz
7794 1.1 spz *) ;; # Ignore the rest.
7795 1.1 spz
7796 1.1 spz esac
7797 1.1 spz done
7798 1.1 spz
7799 1.1 spz # Clean up.
7800 1.1 spz rm -f a.out a.exe
7801 1.1 spz else
7802 1.1 spz echo "libtool.m4: error: problem compiling $1 test program"
7803 1.1 spz fi
7804 1.1 spz
7805 1.1 spz $RM -f confest.$objext
7806 1.1 spz CFLAGS=$_lt_libdeps_save_CFLAGS
7807 1.1 spz
7808 1.1 spz # PORTME: override above test on systems where it is broken
7809 1.1 spz m4_if([$1], [CXX],
7810 1.1 spz [case $host_os in
7811 1.1 spz interix[[3-9]]*)
7812 1.1 spz # Interix 3.5 installs completely hosed .la files for C++, so rather than
7813 1.1 spz # hack all around it, let's just trust "g++" to DTRT.
7814 1.1 spz _LT_TAGVAR(predep_objects,$1)=
7815 1.1 spz _LT_TAGVAR(postdep_objects,$1)=
7816 1.1 spz _LT_TAGVAR(postdeps,$1)=
7817 1.1 spz ;;
7818 1.1 spz esac
7819 1.1 spz ])
7820 1.1 spz
7821 1.1 spz case " $_LT_TAGVAR(postdeps, $1) " in
7822 1.1 spz *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7823 1.1 spz esac
7824 1.1 spz _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7825 1.1 spz if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7826 1.1.1.3 spz _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
7827 1.1 spz fi
7828 1.1 spz _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7829 1.1 spz [The directories searched by this compiler when creating a shared library])
7830 1.1 spz _LT_TAGDECL([], [predep_objects], [1],
7831 1.1 spz [Dependencies to place before and after the objects being linked to
7832 1.1 spz create a shared library])
7833 1.1 spz _LT_TAGDECL([], [postdep_objects], [1])
7834 1.1 spz _LT_TAGDECL([], [predeps], [1])
7835 1.1 spz _LT_TAGDECL([], [postdeps], [1])
7836 1.1 spz _LT_TAGDECL([], [compiler_lib_search_path], [1],
7837 1.1 spz [The library search path used internally by the compiler when linking
7838 1.1 spz a shared library])
7839 1.1 spz ])# _LT_SYS_HIDDEN_LIBDEPS
7840 1.1 spz
7841 1.1 spz
7842 1.1 spz # _LT_LANG_F77_CONFIG([TAG])
7843 1.1 spz # --------------------------
7844 1.1 spz # Ensure that the configuration variables for a Fortran 77 compiler are
7845 1.1 spz # suitably defined. These variables are subsequently used by _LT_CONFIG
7846 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
7847 1.1 spz m4_defun([_LT_LANG_F77_CONFIG],
7848 1.1 spz [AC_LANG_PUSH(Fortran 77)
7849 1.1.1.3 spz if test -z "$F77" || test no = "$F77"; then
7850 1.1 spz _lt_disable_F77=yes
7851 1.1 spz fi
7852 1.1 spz
7853 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7854 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
7855 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
7856 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
7857 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7858 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7859 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7860 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7861 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
7862 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
7863 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
7864 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
7865 1.1 spz _LT_TAGVAR(module_cmds, $1)=
7866 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
7867 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
7868 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7869 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7870 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7871 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
7872 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
7873 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7874 1.1 spz
7875 1.1 spz # Source file extension for f77 test sources.
7876 1.1 spz ac_ext=f
7877 1.1 spz
7878 1.1 spz # Object file extension for compiled f77 test sources.
7879 1.1 spz objext=o
7880 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7881 1.1 spz
7882 1.1 spz # No sense in running all these tests if we already determined that
7883 1.1 spz # the F77 compiler isn't working. Some variables (like enable_shared)
7884 1.1 spz # are currently assumed to apply to all compilers on this platform,
7885 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
7886 1.1.1.3 spz if test yes != "$_lt_disable_F77"; then
7887 1.1 spz # Code to be used in simple compile tests
7888 1.1 spz lt_simple_compile_test_code="\
7889 1.1 spz subroutine t
7890 1.1 spz return
7891 1.1 spz end
7892 1.1 spz "
7893 1.1 spz
7894 1.1 spz # Code to be used in simple link tests
7895 1.1 spz lt_simple_link_test_code="\
7896 1.1 spz program t
7897 1.1 spz end
7898 1.1 spz "
7899 1.1 spz
7900 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7901 1.1 spz _LT_TAG_COMPILER
7902 1.1 spz
7903 1.1 spz # save warnings/boilerplate of simple test code
7904 1.1 spz _LT_COMPILER_BOILERPLATE
7905 1.1 spz _LT_LINKER_BOILERPLATE
7906 1.1 spz
7907 1.1 spz # Allow CC to be a program name with arguments.
7908 1.1.1.3 spz lt_save_CC=$CC
7909 1.1 spz lt_save_GCC=$GCC
7910 1.1 spz lt_save_CFLAGS=$CFLAGS
7911 1.1 spz CC=${F77-"f77"}
7912 1.1 spz CFLAGS=$FFLAGS
7913 1.1 spz compiler=$CC
7914 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7915 1.1 spz _LT_CC_BASENAME([$compiler])
7916 1.1 spz GCC=$G77
7917 1.1 spz if test -n "$compiler"; then
7918 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
7919 1.1 spz AC_MSG_RESULT([$can_build_shared])
7920 1.1 spz
7921 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
7922 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
7923 1.1 spz
7924 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
7925 1.1 spz # are all built from PIC.
7926 1.1 spz case $host_os in
7927 1.1 spz aix3*)
7928 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
7929 1.1 spz if test -n "$RANLIB"; then
7930 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
7931 1.1 spz postinstall_cmds='$RANLIB $lib'
7932 1.1 spz fi
7933 1.1 spz ;;
7934 1.1 spz aix[[4-9]]*)
7935 1.1.1.3 spz if test ia64 != "$host_cpu"; then
7936 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7937 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
7938 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
7939 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
7940 1.1.1.3 spz esac
7941 1.1 spz fi
7942 1.1 spz ;;
7943 1.1 spz esac
7944 1.1 spz AC_MSG_RESULT([$enable_shared])
7945 1.1 spz
7946 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
7947 1.1 spz # Make sure either enable_shared or enable_static is yes.
7948 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
7949 1.1 spz AC_MSG_RESULT([$enable_static])
7950 1.1 spz
7951 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$G77
7952 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7953 1.1 spz
7954 1.1 spz ## CAVEAT EMPTOR:
7955 1.1 spz ## There is no encapsulation within the following macros, do not change
7956 1.1 spz ## the running order or otherwise move them around unless you know exactly
7957 1.1 spz ## what you are doing...
7958 1.1 spz _LT_COMPILER_PIC($1)
7959 1.1 spz _LT_COMPILER_C_O($1)
7960 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7961 1.1 spz _LT_LINKER_SHLIBS($1)
7962 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7963 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7964 1.1 spz
7965 1.1 spz _LT_CONFIG($1)
7966 1.1 spz fi # test -n "$compiler"
7967 1.1 spz
7968 1.1 spz GCC=$lt_save_GCC
7969 1.1.1.3 spz CC=$lt_save_CC
7970 1.1.1.3 spz CFLAGS=$lt_save_CFLAGS
7971 1.1.1.3 spz fi # test yes != "$_lt_disable_F77"
7972 1.1 spz
7973 1.1 spz AC_LANG_POP
7974 1.1 spz ])# _LT_LANG_F77_CONFIG
7975 1.1 spz
7976 1.1 spz
7977 1.1 spz # _LT_LANG_FC_CONFIG([TAG])
7978 1.1 spz # -------------------------
7979 1.1 spz # Ensure that the configuration variables for a Fortran compiler are
7980 1.1 spz # suitably defined. These variables are subsequently used by _LT_CONFIG
7981 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
7982 1.1 spz m4_defun([_LT_LANG_FC_CONFIG],
7983 1.1 spz [AC_LANG_PUSH(Fortran)
7984 1.1 spz
7985 1.1.1.3 spz if test -z "$FC" || test no = "$FC"; then
7986 1.1 spz _lt_disable_FC=yes
7987 1.1 spz fi
7988 1.1 spz
7989 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7990 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
7991 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
7992 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
7993 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7994 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7995 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7996 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7997 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
7998 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
7999 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
8000 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
8001 1.1 spz _LT_TAGVAR(module_cmds, $1)=
8002 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
8003 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
8004 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8005 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
8006 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8007 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
8008 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
8009 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
8010 1.1 spz
8011 1.1 spz # Source file extension for fc test sources.
8012 1.1 spz ac_ext=${ac_fc_srcext-f}
8013 1.1 spz
8014 1.1 spz # Object file extension for compiled fc test sources.
8015 1.1 spz objext=o
8016 1.1 spz _LT_TAGVAR(objext, $1)=$objext
8017 1.1 spz
8018 1.1 spz # No sense in running all these tests if we already determined that
8019 1.1 spz # the FC compiler isn't working. Some variables (like enable_shared)
8020 1.1 spz # are currently assumed to apply to all compilers on this platform,
8021 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
8022 1.1.1.3 spz if test yes != "$_lt_disable_FC"; then
8023 1.1 spz # Code to be used in simple compile tests
8024 1.1 spz lt_simple_compile_test_code="\
8025 1.1 spz subroutine t
8026 1.1 spz return
8027 1.1 spz end
8028 1.1 spz "
8029 1.1 spz
8030 1.1 spz # Code to be used in simple link tests
8031 1.1 spz lt_simple_link_test_code="\
8032 1.1 spz program t
8033 1.1 spz end
8034 1.1 spz "
8035 1.1 spz
8036 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8037 1.1 spz _LT_TAG_COMPILER
8038 1.1 spz
8039 1.1 spz # save warnings/boilerplate of simple test code
8040 1.1 spz _LT_COMPILER_BOILERPLATE
8041 1.1 spz _LT_LINKER_BOILERPLATE
8042 1.1 spz
8043 1.1 spz # Allow CC to be a program name with arguments.
8044 1.1.1.3 spz lt_save_CC=$CC
8045 1.1 spz lt_save_GCC=$GCC
8046 1.1 spz lt_save_CFLAGS=$CFLAGS
8047 1.1 spz CC=${FC-"f95"}
8048 1.1 spz CFLAGS=$FCFLAGS
8049 1.1 spz compiler=$CC
8050 1.1 spz GCC=$ac_cv_fc_compiler_gnu
8051 1.1 spz
8052 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
8053 1.1 spz _LT_CC_BASENAME([$compiler])
8054 1.1 spz
8055 1.1 spz if test -n "$compiler"; then
8056 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
8057 1.1 spz AC_MSG_RESULT([$can_build_shared])
8058 1.1 spz
8059 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
8060 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
8061 1.1 spz
8062 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
8063 1.1 spz # are all built from PIC.
8064 1.1 spz case $host_os in
8065 1.1 spz aix3*)
8066 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
8067 1.1 spz if test -n "$RANLIB"; then
8068 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
8069 1.1 spz postinstall_cmds='$RANLIB $lib'
8070 1.1 spz fi
8071 1.1 spz ;;
8072 1.1 spz aix[[4-9]]*)
8073 1.1.1.3 spz if test ia64 != "$host_cpu"; then
8074 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
8075 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
8076 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
8077 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
8078 1.1.1.3 spz esac
8079 1.1 spz fi
8080 1.1 spz ;;
8081 1.1 spz esac
8082 1.1 spz AC_MSG_RESULT([$enable_shared])
8083 1.1 spz
8084 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
8085 1.1 spz # Make sure either enable_shared or enable_static is yes.
8086 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
8087 1.1 spz AC_MSG_RESULT([$enable_static])
8088 1.1 spz
8089 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
8090 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
8091 1.1 spz
8092 1.1 spz ## CAVEAT EMPTOR:
8093 1.1 spz ## There is no encapsulation within the following macros, do not change
8094 1.1 spz ## the running order or otherwise move them around unless you know exactly
8095 1.1 spz ## what you are doing...
8096 1.1 spz _LT_SYS_HIDDEN_LIBDEPS($1)
8097 1.1 spz _LT_COMPILER_PIC($1)
8098 1.1 spz _LT_COMPILER_C_O($1)
8099 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
8100 1.1 spz _LT_LINKER_SHLIBS($1)
8101 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
8102 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
8103 1.1 spz
8104 1.1 spz _LT_CONFIG($1)
8105 1.1 spz fi # test -n "$compiler"
8106 1.1 spz
8107 1.1 spz GCC=$lt_save_GCC
8108 1.1 spz CC=$lt_save_CC
8109 1.1 spz CFLAGS=$lt_save_CFLAGS
8110 1.1.1.3 spz fi # test yes != "$_lt_disable_FC"
8111 1.1 spz
8112 1.1 spz AC_LANG_POP
8113 1.1 spz ])# _LT_LANG_FC_CONFIG
8114 1.1 spz
8115 1.1 spz
8116 1.1 spz # _LT_LANG_GCJ_CONFIG([TAG])
8117 1.1 spz # --------------------------
8118 1.1 spz # Ensure that the configuration variables for the GNU Java Compiler compiler
8119 1.1 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
8120 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
8121 1.1 spz m4_defun([_LT_LANG_GCJ_CONFIG],
8122 1.1 spz [AC_REQUIRE([LT_PROG_GCJ])dnl
8123 1.1 spz AC_LANG_SAVE
8124 1.1 spz
8125 1.1 spz # Source file extension for Java test sources.
8126 1.1 spz ac_ext=java
8127 1.1 spz
8128 1.1 spz # Object file extension for compiled Java test sources.
8129 1.1 spz objext=o
8130 1.1 spz _LT_TAGVAR(objext, $1)=$objext
8131 1.1 spz
8132 1.1 spz # Code to be used in simple compile tests
8133 1.1 spz lt_simple_compile_test_code="class foo {}"
8134 1.1 spz
8135 1.1 spz # Code to be used in simple link tests
8136 1.1 spz lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
8137 1.1 spz
8138 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8139 1.1 spz _LT_TAG_COMPILER
8140 1.1 spz
8141 1.1 spz # save warnings/boilerplate of simple test code
8142 1.1 spz _LT_COMPILER_BOILERPLATE
8143 1.1 spz _LT_LINKER_BOILERPLATE
8144 1.1 spz
8145 1.1 spz # Allow CC to be a program name with arguments.
8146 1.1 spz lt_save_CC=$CC
8147 1.1 spz lt_save_CFLAGS=$CFLAGS
8148 1.1 spz lt_save_GCC=$GCC
8149 1.1 spz GCC=yes
8150 1.1 spz CC=${GCJ-"gcj"}
8151 1.1 spz CFLAGS=$GCJFLAGS
8152 1.1 spz compiler=$CC
8153 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
8154 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
8155 1.1 spz _LT_CC_BASENAME([$compiler])
8156 1.1 spz
8157 1.1 spz # GCJ did not exist at the time GCC didn't implicitly link libc in.
8158 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8159 1.1 spz
8160 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8161 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
8162 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8163 1.1 spz
8164 1.1 spz ## CAVEAT EMPTOR:
8165 1.1 spz ## There is no encapsulation within the following macros, do not change
8166 1.1 spz ## the running order or otherwise move them around unless you know exactly
8167 1.1 spz ## what you are doing...
8168 1.1 spz if test -n "$compiler"; then
8169 1.1 spz _LT_COMPILER_NO_RTTI($1)
8170 1.1 spz _LT_COMPILER_PIC($1)
8171 1.1 spz _LT_COMPILER_C_O($1)
8172 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
8173 1.1 spz _LT_LINKER_SHLIBS($1)
8174 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
8175 1.1 spz
8176 1.1 spz _LT_CONFIG($1)
8177 1.1 spz fi
8178 1.1 spz
8179 1.1 spz AC_LANG_RESTORE
8180 1.1 spz
8181 1.1 spz GCC=$lt_save_GCC
8182 1.1 spz CC=$lt_save_CC
8183 1.1 spz CFLAGS=$lt_save_CFLAGS
8184 1.1 spz ])# _LT_LANG_GCJ_CONFIG
8185 1.1 spz
8186 1.1 spz
8187 1.1.1.2 spz # _LT_LANG_GO_CONFIG([TAG])
8188 1.1.1.2 spz # --------------------------
8189 1.1.1.2 spz # Ensure that the configuration variables for the GNU Go compiler
8190 1.1.1.2 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
8191 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
8192 1.1.1.2 spz m4_defun([_LT_LANG_GO_CONFIG],
8193 1.1.1.2 spz [AC_REQUIRE([LT_PROG_GO])dnl
8194 1.1.1.2 spz AC_LANG_SAVE
8195 1.1.1.2 spz
8196 1.1.1.2 spz # Source file extension for Go test sources.
8197 1.1.1.2 spz ac_ext=go
8198 1.1.1.2 spz
8199 1.1.1.2 spz # Object file extension for compiled Go test sources.
8200 1.1.1.2 spz objext=o
8201 1.1.1.2 spz _LT_TAGVAR(objext, $1)=$objext
8202 1.1.1.2 spz
8203 1.1.1.2 spz # Code to be used in simple compile tests
8204 1.1.1.2 spz lt_simple_compile_test_code="package main; func main() { }"
8205 1.1.1.2 spz
8206 1.1.1.2 spz # Code to be used in simple link tests
8207 1.1.1.2 spz lt_simple_link_test_code='package main; func main() { }'
8208 1.1.1.2 spz
8209 1.1.1.2 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8210 1.1.1.2 spz _LT_TAG_COMPILER
8211 1.1.1.2 spz
8212 1.1.1.2 spz # save warnings/boilerplate of simple test code
8213 1.1.1.2 spz _LT_COMPILER_BOILERPLATE
8214 1.1.1.2 spz _LT_LINKER_BOILERPLATE
8215 1.1.1.2 spz
8216 1.1.1.2 spz # Allow CC to be a program name with arguments.
8217 1.1.1.2 spz lt_save_CC=$CC
8218 1.1.1.2 spz lt_save_CFLAGS=$CFLAGS
8219 1.1.1.2 spz lt_save_GCC=$GCC
8220 1.1.1.2 spz GCC=yes
8221 1.1.1.2 spz CC=${GOC-"gccgo"}
8222 1.1.1.2 spz CFLAGS=$GOFLAGS
8223 1.1.1.2 spz compiler=$CC
8224 1.1.1.2 spz _LT_TAGVAR(compiler, $1)=$CC
8225 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
8226 1.1.1.2 spz _LT_CC_BASENAME([$compiler])
8227 1.1.1.2 spz
8228 1.1.1.2 spz # Go did not exist at the time GCC didn't implicitly link libc in.
8229 1.1.1.2 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8230 1.1.1.2 spz
8231 1.1.1.2 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8232 1.1.1.2 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
8233 1.1.1.2 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8234 1.1.1.2 spz
8235 1.1.1.2 spz ## CAVEAT EMPTOR:
8236 1.1.1.2 spz ## There is no encapsulation within the following macros, do not change
8237 1.1.1.2 spz ## the running order or otherwise move them around unless you know exactly
8238 1.1.1.2 spz ## what you are doing...
8239 1.1.1.2 spz if test -n "$compiler"; then
8240 1.1.1.2 spz _LT_COMPILER_NO_RTTI($1)
8241 1.1.1.2 spz _LT_COMPILER_PIC($1)
8242 1.1.1.2 spz _LT_COMPILER_C_O($1)
8243 1.1.1.2 spz _LT_COMPILER_FILE_LOCKS($1)
8244 1.1.1.2 spz _LT_LINKER_SHLIBS($1)
8245 1.1.1.2 spz _LT_LINKER_HARDCODE_LIBPATH($1)
8246 1.1.1.2 spz
8247 1.1.1.2 spz _LT_CONFIG($1)
8248 1.1.1.2 spz fi
8249 1.1.1.2 spz
8250 1.1.1.2 spz AC_LANG_RESTORE
8251 1.1.1.2 spz
8252 1.1.1.2 spz GCC=$lt_save_GCC
8253 1.1.1.2 spz CC=$lt_save_CC
8254 1.1.1.2 spz CFLAGS=$lt_save_CFLAGS
8255 1.1.1.2 spz ])# _LT_LANG_GO_CONFIG
8256 1.1.1.2 spz
8257 1.1.1.2 spz
8258 1.1 spz # _LT_LANG_RC_CONFIG([TAG])
8259 1.1 spz # -------------------------
8260 1.1 spz # Ensure that the configuration variables for the Windows resource compiler
8261 1.1 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
8262 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
8263 1.1 spz m4_defun([_LT_LANG_RC_CONFIG],
8264 1.1 spz [AC_REQUIRE([LT_PROG_RC])dnl
8265 1.1 spz AC_LANG_SAVE
8266 1.1 spz
8267 1.1 spz # Source file extension for RC test sources.
8268 1.1 spz ac_ext=rc
8269 1.1 spz
8270 1.1 spz # Object file extension for compiled RC test sources.
8271 1.1 spz objext=o
8272 1.1 spz _LT_TAGVAR(objext, $1)=$objext
8273 1.1 spz
8274 1.1 spz # Code to be used in simple compile tests
8275 1.1 spz lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
8276 1.1 spz
8277 1.1 spz # Code to be used in simple link tests
8278 1.1.1.3 spz lt_simple_link_test_code=$lt_simple_compile_test_code
8279 1.1 spz
8280 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8281 1.1 spz _LT_TAG_COMPILER
8282 1.1 spz
8283 1.1 spz # save warnings/boilerplate of simple test code
8284 1.1 spz _LT_COMPILER_BOILERPLATE
8285 1.1 spz _LT_LINKER_BOILERPLATE
8286 1.1 spz
8287 1.1 spz # Allow CC to be a program name with arguments.
8288 1.1.1.3 spz lt_save_CC=$CC
8289 1.1 spz lt_save_CFLAGS=$CFLAGS
8290 1.1 spz lt_save_GCC=$GCC
8291 1.1 spz GCC=
8292 1.1 spz CC=${RC-"windres"}
8293 1.1 spz CFLAGS=
8294 1.1 spz compiler=$CC
8295 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
8296 1.1 spz _LT_CC_BASENAME([$compiler])
8297 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
8298 1.1 spz
8299 1.1 spz if test -n "$compiler"; then
8300 1.1 spz :
8301 1.1 spz _LT_CONFIG($1)
8302 1.1 spz fi
8303 1.1 spz
8304 1.1 spz GCC=$lt_save_GCC
8305 1.1 spz AC_LANG_RESTORE
8306 1.1 spz CC=$lt_save_CC
8307 1.1 spz CFLAGS=$lt_save_CFLAGS
8308 1.1 spz ])# _LT_LANG_RC_CONFIG
8309 1.1 spz
8310 1.1 spz
8311 1.1 spz # LT_PROG_GCJ
8312 1.1 spz # -----------
8313 1.1 spz AC_DEFUN([LT_PROG_GCJ],
8314 1.1 spz [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
8315 1.1 spz [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
8316 1.1 spz [AC_CHECK_TOOL(GCJ, gcj,)
8317 1.1.1.3 spz test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
8318 1.1 spz AC_SUBST(GCJFLAGS)])])[]dnl
8319 1.1 spz ])
8320 1.1 spz
8321 1.1 spz # Old name:
8322 1.1 spz AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
8323 1.1 spz dnl aclocal-1.4 backwards compatibility:
8324 1.1 spz dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
8325 1.1 spz
8326 1.1 spz
8327 1.1.1.2 spz # LT_PROG_GO
8328 1.1.1.2 spz # ----------
8329 1.1.1.2 spz AC_DEFUN([LT_PROG_GO],
8330 1.1.1.2 spz [AC_CHECK_TOOL(GOC, gccgo,)
8331 1.1.1.2 spz ])
8332 1.1.1.2 spz
8333 1.1.1.2 spz
8334 1.1 spz # LT_PROG_RC
8335 1.1 spz # ----------
8336 1.1 spz AC_DEFUN([LT_PROG_RC],
8337 1.1 spz [AC_CHECK_TOOL(RC, windres,)
8338 1.1 spz ])
8339 1.1 spz
8340 1.1 spz # Old name:
8341 1.1 spz AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
8342 1.1 spz dnl aclocal-1.4 backwards compatibility:
8343 1.1 spz dnl AC_DEFUN([LT_AC_PROG_RC], [])
8344 1.1 spz
8345 1.1 spz
8346 1.1 spz # _LT_DECL_EGREP
8347 1.1 spz # --------------
8348 1.1 spz # If we don't have a new enough Autoconf to choose the best grep
8349 1.1 spz # available, choose the one first in the user's PATH.
8350 1.1 spz m4_defun([_LT_DECL_EGREP],
8351 1.1 spz [AC_REQUIRE([AC_PROG_EGREP])dnl
8352 1.1 spz AC_REQUIRE([AC_PROG_FGREP])dnl
8353 1.1 spz test -z "$GREP" && GREP=grep
8354 1.1 spz _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
8355 1.1 spz _LT_DECL([], [EGREP], [1], [An ERE matcher])
8356 1.1 spz _LT_DECL([], [FGREP], [1], [A literal string matcher])
8357 1.1 spz dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
8358 1.1 spz AC_SUBST([GREP])
8359 1.1 spz ])
8360 1.1 spz
8361 1.1 spz
8362 1.1 spz # _LT_DECL_OBJDUMP
8363 1.1 spz # --------------
8364 1.1 spz # If we don't have a new enough Autoconf to choose the best objdump
8365 1.1 spz # available, choose the one first in the user's PATH.
8366 1.1 spz m4_defun([_LT_DECL_OBJDUMP],
8367 1.1 spz [AC_CHECK_TOOL(OBJDUMP, objdump, false)
8368 1.1 spz test -z "$OBJDUMP" && OBJDUMP=objdump
8369 1.1 spz _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
8370 1.1 spz AC_SUBST([OBJDUMP])
8371 1.1 spz ])
8372 1.1 spz
8373 1.1 spz # _LT_DECL_DLLTOOL
8374 1.1 spz # ----------------
8375 1.1 spz # Ensure DLLTOOL variable is set.
8376 1.1 spz m4_defun([_LT_DECL_DLLTOOL],
8377 1.1 spz [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8378 1.1 spz test -z "$DLLTOOL" && DLLTOOL=dlltool
8379 1.1 spz _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
8380 1.1 spz AC_SUBST([DLLTOOL])
8381 1.1 spz ])
8382 1.1 spz
8383 1.1.1.5 wiz # _LT_DECL_FILECMD
8384 1.1.1.5 wiz # ----------------
8385 1.1.1.5 wiz # Check for a file(cmd) program that can be used to detect file type and magic
8386 1.1.1.5 wiz m4_defun([_LT_DECL_FILECMD],
8387 1.1.1.5 wiz [AC_CHECK_PROG([FILECMD], [file], [file], [:])
8388 1.1.1.5 wiz _LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
8389 1.1.1.5 wiz ])# _LD_DECL_FILECMD
8390 1.1.1.5 wiz
8391 1.1 spz # _LT_DECL_SED
8392 1.1 spz # ------------
8393 1.1 spz # Check for a fully-functional sed program, that truncates
8394 1.1 spz # as few characters as possible. Prefer GNU sed if found.
8395 1.1 spz m4_defun([_LT_DECL_SED],
8396 1.1 spz [AC_PROG_SED
8397 1.1 spz test -z "$SED" && SED=sed
8398 1.1 spz Xsed="$SED -e 1s/^X//"
8399 1.1 spz _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
8400 1.1 spz _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
8401 1.1 spz [Sed that helps us avoid accidentally triggering echo(1) options like -n])
8402 1.1 spz ])# _LT_DECL_SED
8403 1.1 spz dnl aclocal-1.4 backwards compatibility:
8404 1.1 spz dnl AC_DEFUN([LT_AC_PROG_SED], [])
8405 1.1 spz
8406 1.1 spz
8407 1.1 spz # _LT_CHECK_SHELL_FEATURES
8408 1.1 spz # ------------------------
8409 1.1 spz # Find out whether the shell is Bourne or XSI compatible,
8410 1.1 spz # or has some other useful features.
8411 1.1 spz m4_defun([_LT_CHECK_SHELL_FEATURES],
8412 1.1.1.3 spz [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8413 1.1 spz lt_unset=unset
8414 1.1 spz else
8415 1.1 spz lt_unset=false
8416 1.1 spz fi
8417 1.1 spz _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
8418 1.1 spz
8419 1.1 spz # test EBCDIC or ASCII
8420 1.1 spz case `echo X|tr X '\101'` in
8421 1.1 spz A) # ASCII based system
8422 1.1 spz # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8423 1.1 spz lt_SP2NL='tr \040 \012'
8424 1.1 spz lt_NL2SP='tr \015\012 \040\040'
8425 1.1 spz ;;
8426 1.1 spz *) # EBCDIC based system
8427 1.1 spz lt_SP2NL='tr \100 \n'
8428 1.1 spz lt_NL2SP='tr \r\n \100\100'
8429 1.1 spz ;;
8430 1.1 spz esac
8431 1.1 spz _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8432 1.1 spz _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8433 1.1 spz ])# _LT_CHECK_SHELL_FEATURES
8434 1.1 spz
8435 1.1 spz
8436 1.1 spz # _LT_PATH_CONVERSION_FUNCTIONS
8437 1.1 spz # -----------------------------
8438 1.1.1.3 spz # Determine what file name conversion functions should be used by
8439 1.1 spz # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
8440 1.1 spz # for certain cross-compile configurations and native mingw.
8441 1.1 spz m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
8442 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
8443 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
8444 1.1 spz AC_MSG_CHECKING([how to convert $build file names to $host format])
8445 1.1 spz AC_CACHE_VAL(lt_cv_to_host_file_cmd,
8446 1.1 spz [case $host in
8447 1.1 spz *-*-mingw* )
8448 1.1 spz case $build in
8449 1.1.1.5 wiz *-*-mingw* | *-*-windows* ) # actually msys
8450 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8451 1.1 spz ;;
8452 1.1 spz *-*-cygwin* )
8453 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8454 1.1 spz ;;
8455 1.1 spz * ) # otherwise, assume *nix
8456 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8457 1.1 spz ;;
8458 1.1 spz esac
8459 1.1 spz ;;
8460 1.1 spz *-*-cygwin* )
8461 1.1 spz case $build in
8462 1.1.1.5 wiz *-*-mingw* | *-*-windows* ) # actually msys
8463 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8464 1.1 spz ;;
8465 1.1 spz *-*-cygwin* )
8466 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_noop
8467 1.1 spz ;;
8468 1.1 spz * ) # otherwise, assume *nix
8469 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8470 1.1 spz ;;
8471 1.1 spz esac
8472 1.1 spz ;;
8473 1.1 spz * ) # unhandled hosts (and "normal" native builds)
8474 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_noop
8475 1.1 spz ;;
8476 1.1 spz esac
8477 1.1 spz ])
8478 1.1 spz to_host_file_cmd=$lt_cv_to_host_file_cmd
8479 1.1 spz AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8480 1.1 spz _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8481 1.1 spz [0], [convert $build file names to $host format])dnl
8482 1.1 spz
8483 1.1 spz AC_MSG_CHECKING([how to convert $build file names to toolchain format])
8484 1.1 spz AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8485 1.1 spz [#assume ordinary cross tools, or native build.
8486 1.1 spz lt_cv_to_tool_file_cmd=func_convert_file_noop
8487 1.1 spz case $host in
8488 1.1.1.5 wiz *-*-mingw* | *-*-windows* )
8489 1.1 spz case $build in
8490 1.1.1.5 wiz *-*-mingw* | *-*-windows* ) # actually msys
8491 1.1 spz lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8492 1.1 spz ;;
8493 1.1 spz esac
8494 1.1 spz ;;
8495 1.1 spz esac
8496 1.1 spz ])
8497 1.1 spz to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8498 1.1 spz AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8499 1.1 spz _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8500 1.1 spz [0], [convert $build files to toolchain format])dnl
8501 1.1 spz ])# _LT_PATH_CONVERSION_FUNCTIONS
8502