libtool.m4 revision 1.1.1.4 1 1.1 mrg # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2 1.1 mrg #
3 1.1.1.4 mrg # Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
4 1.1.1.4 mrg # Foundation, Inc.
5 1.1 mrg # Written by Gordon Matzigkeit, 1996
6 1.1 mrg #
7 1.1 mrg # This file is free software; the Free Software Foundation gives
8 1.1 mrg # unlimited permission to copy and/or distribute it, with or without
9 1.1 mrg # modifications, as long as this notice is preserved.
10 1.1 mrg
11 1.1 mrg m4_define([_LT_COPYING], [dnl
12 1.1.1.2 mrg # Copyright (C) 2014 Free Software Foundation, Inc.
13 1.1.1.2 mrg # This is free software; see the source for copying conditions. There is NO
14 1.1.1.2 mrg # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 1.1.1.2 mrg
16 1.1.1.2 mrg # GNU Libtool is free software; you can redistribute it and/or modify
17 1.1.1.2 mrg # it under the terms of the GNU General Public License as published by
18 1.1.1.2 mrg # the Free Software Foundation; either version 2 of of the License, or
19 1.1.1.2 mrg # (at your option) any later version.
20 1.1 mrg #
21 1.1.1.2 mrg # As a special exception to the GNU General Public License, if you
22 1.1.1.2 mrg # distribute this file as part of a program or library that is built
23 1.1.1.2 mrg # using GNU Libtool, you may include this file under the same
24 1.1.1.2 mrg # distribution terms that you use for the rest of that program.
25 1.1 mrg #
26 1.1.1.2 mrg # GNU Libtool is distributed in the hope that it will be useful, but
27 1.1.1.2 mrg # WITHOUT ANY WARRANTY; without even the implied warranty of
28 1.1 mrg # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 1.1 mrg # GNU General Public License for more details.
30 1.1 mrg #
31 1.1 mrg # You should have received a copy of the GNU General Public License
32 1.1.1.2 mrg # along with this program. If not, see <http://www.gnu.org/licenses/>.
33 1.1 mrg ])
34 1.1 mrg
35 1.1.1.4 mrg # serial 59 LT_INIT
36 1.1 mrg
37 1.1 mrg
38 1.1 mrg # LT_PREREQ(VERSION)
39 1.1 mrg # ------------------
40 1.1 mrg # Complain and exit if this libtool version is less that VERSION.
41 1.1 mrg m4_defun([LT_PREREQ],
42 1.1 mrg [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
43 1.1 mrg [m4_default([$3],
44 1.1 mrg [m4_fatal([Libtool version $1 or higher is required],
45 1.1 mrg 63)])],
46 1.1 mrg [$2])])
47 1.1 mrg
48 1.1 mrg
49 1.1 mrg # _LT_CHECK_BUILDDIR
50 1.1 mrg # ------------------
51 1.1 mrg # Complain if the absolute build directory name contains unusual characters
52 1.1 mrg m4_defun([_LT_CHECK_BUILDDIR],
53 1.1 mrg [case `pwd` in
54 1.1 mrg *\ * | *\ *)
55 1.1 mrg AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
56 1.1 mrg esac
57 1.1 mrg ])
58 1.1 mrg
59 1.1 mrg
60 1.1 mrg # LT_INIT([OPTIONS])
61 1.1 mrg # ------------------
62 1.1 mrg AC_DEFUN([LT_INIT],
63 1.1.1.2 mrg [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
64 1.1 mrg AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
65 1.1 mrg AC_BEFORE([$0], [LT_LANG])dnl
66 1.1 mrg AC_BEFORE([$0], [LT_OUTPUT])dnl
67 1.1 mrg AC_BEFORE([$0], [LTDL_INIT])dnl
68 1.1 mrg m4_require([_LT_CHECK_BUILDDIR])dnl
69 1.1 mrg
70 1.1 mrg dnl Autoconf doesn't catch unexpanded LT_ macros by default:
71 1.1 mrg m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
72 1.1 mrg m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
73 1.1 mrg dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
74 1.1 mrg dnl unless we require an AC_DEFUNed macro:
75 1.1 mrg AC_REQUIRE([LTOPTIONS_VERSION])dnl
76 1.1 mrg AC_REQUIRE([LTSUGAR_VERSION])dnl
77 1.1 mrg AC_REQUIRE([LTVERSION_VERSION])dnl
78 1.1 mrg AC_REQUIRE([LTOBSOLETE_VERSION])dnl
79 1.1 mrg m4_require([_LT_PROG_LTMAIN])dnl
80 1.1 mrg
81 1.1 mrg _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
82 1.1 mrg
83 1.1 mrg dnl Parse OPTIONS
84 1.1 mrg _LT_SET_OPTIONS([$0], [$1])
85 1.1 mrg
86 1.1 mrg # This can be used to rebuild libtool when needed
87 1.1.1.2 mrg LIBTOOL_DEPS=$ltmain
88 1.1 mrg
89 1.1 mrg # Always use our own libtool.
90 1.1 mrg LIBTOOL='$(SHELL) $(top_builddir)/libtool'
91 1.1 mrg AC_SUBST(LIBTOOL)dnl
92 1.1 mrg
93 1.1 mrg _LT_SETUP
94 1.1 mrg
95 1.1 mrg # Only expand once:
96 1.1 mrg m4_define([LT_INIT])
97 1.1 mrg ])# LT_INIT
98 1.1 mrg
99 1.1 mrg # Old names:
100 1.1 mrg AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
101 1.1 mrg AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
102 1.1 mrg dnl aclocal-1.4 backwards compatibility:
103 1.1 mrg dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
104 1.1 mrg dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
105 1.1 mrg
106 1.1 mrg
107 1.1.1.2 mrg # _LT_PREPARE_CC_BASENAME
108 1.1.1.2 mrg # -----------------------
109 1.1.1.2 mrg m4_defun([_LT_PREPARE_CC_BASENAME], [
110 1.1.1.2 mrg # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
111 1.1.1.2 mrg func_cc_basename ()
112 1.1.1.2 mrg {
113 1.1.1.2 mrg for cc_temp in @S|@*""; do
114 1.1.1.2 mrg case $cc_temp in
115 1.1.1.2 mrg compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
116 1.1.1.2 mrg distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
117 1.1.1.2 mrg \-*) ;;
118 1.1.1.2 mrg *) break;;
119 1.1.1.2 mrg esac
120 1.1.1.2 mrg done
121 1.1.1.2 mrg func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
122 1.1.1.2 mrg }
123 1.1.1.2 mrg ])# _LT_PREPARE_CC_BASENAME
124 1.1.1.2 mrg
125 1.1.1.2 mrg
126 1.1 mrg # _LT_CC_BASENAME(CC)
127 1.1 mrg # -------------------
128 1.1.1.2 mrg # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
129 1.1.1.2 mrg # but that macro is also expanded into generated libtool script, which
130 1.1.1.2 mrg # arranges for $SED and $ECHO to be set by different means.
131 1.1 mrg m4_defun([_LT_CC_BASENAME],
132 1.1.1.2 mrg [m4_require([_LT_PREPARE_CC_BASENAME])dnl
133 1.1.1.2 mrg AC_REQUIRE([_LT_DECL_SED])dnl
134 1.1.1.2 mrg AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
135 1.1.1.2 mrg func_cc_basename $1
136 1.1.1.2 mrg cc_basename=$func_cc_basename_result
137 1.1 mrg ])
138 1.1 mrg
139 1.1 mrg
140 1.1 mrg # _LT_FILEUTILS_DEFAULTS
141 1.1 mrg # ----------------------
142 1.1 mrg # It is okay to use these file commands and assume they have been set
143 1.1.1.2 mrg # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
144 1.1 mrg m4_defun([_LT_FILEUTILS_DEFAULTS],
145 1.1 mrg [: ${CP="cp -f"}
146 1.1 mrg : ${MV="mv -f"}
147 1.1 mrg : ${RM="rm -f"}
148 1.1 mrg ])# _LT_FILEUTILS_DEFAULTS
149 1.1 mrg
150 1.1 mrg
151 1.1 mrg # _LT_SETUP
152 1.1 mrg # ---------
153 1.1 mrg m4_defun([_LT_SETUP],
154 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
155 1.1 mrg AC_REQUIRE([AC_CANONICAL_BUILD])dnl
156 1.1 mrg AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
157 1.1 mrg AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
158 1.1 mrg
159 1.1.1.2 mrg _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
160 1.1.1.2 mrg dnl
161 1.1 mrg _LT_DECL([], [host_alias], [0], [The host system])dnl
162 1.1 mrg _LT_DECL([], [host], [0])dnl
163 1.1 mrg _LT_DECL([], [host_os], [0])dnl
164 1.1 mrg dnl
165 1.1 mrg _LT_DECL([], [build_alias], [0], [The build system])dnl
166 1.1 mrg _LT_DECL([], [build], [0])dnl
167 1.1 mrg _LT_DECL([], [build_os], [0])dnl
168 1.1 mrg dnl
169 1.1 mrg AC_REQUIRE([AC_PROG_CC])dnl
170 1.1 mrg AC_REQUIRE([LT_PATH_LD])dnl
171 1.1 mrg AC_REQUIRE([LT_PATH_NM])dnl
172 1.1 mrg dnl
173 1.1 mrg AC_REQUIRE([AC_PROG_LN_S])dnl
174 1.1 mrg test -z "$LN_S" && LN_S="ln -s"
175 1.1 mrg _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
176 1.1 mrg dnl
177 1.1 mrg AC_REQUIRE([LT_CMD_MAX_LEN])dnl
178 1.1 mrg _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
179 1.1 mrg _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
180 1.1 mrg dnl
181 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
182 1.1 mrg m4_require([_LT_CHECK_SHELL_FEATURES])dnl
183 1.1 mrg m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
184 1.1 mrg m4_require([_LT_CMD_RELOAD])dnl
185 1.1.1.4 mrg m4_require([_LT_DECL_FILECMD])dnl
186 1.1 mrg m4_require([_LT_CHECK_MAGIC_METHOD])dnl
187 1.1 mrg m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
188 1.1 mrg m4_require([_LT_CMD_OLD_ARCHIVE])dnl
189 1.1 mrg m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
190 1.1 mrg m4_require([_LT_WITH_SYSROOT])dnl
191 1.1.1.2 mrg m4_require([_LT_CMD_TRUNCATE])dnl
192 1.1 mrg
193 1.1 mrg _LT_CONFIG_LIBTOOL_INIT([
194 1.1.1.2 mrg # See if we are running on zsh, and set the options that allow our
195 1.1 mrg # commands through without removal of \ escapes INIT.
196 1.1.1.2 mrg if test -n "\${ZSH_VERSION+set}"; then
197 1.1 mrg setopt NO_GLOB_SUBST
198 1.1 mrg fi
199 1.1 mrg ])
200 1.1.1.2 mrg if test -n "${ZSH_VERSION+set}"; then
201 1.1 mrg setopt NO_GLOB_SUBST
202 1.1 mrg fi
203 1.1 mrg
204 1.1 mrg _LT_CHECK_OBJDIR
205 1.1 mrg
206 1.1 mrg m4_require([_LT_TAG_COMPILER])dnl
207 1.1 mrg
208 1.1 mrg case $host_os in
209 1.1 mrg aix3*)
210 1.1 mrg # AIX sometimes has problems with the GCC collect2 program. For some
211 1.1 mrg # reason, if we set the COLLECT_NAMES environment variable, the problems
212 1.1 mrg # vanish in a puff of smoke.
213 1.1.1.2 mrg if test set != "${COLLECT_NAMES+set}"; then
214 1.1 mrg COLLECT_NAMES=
215 1.1 mrg export COLLECT_NAMES
216 1.1 mrg fi
217 1.1 mrg ;;
218 1.1 mrg esac
219 1.1 mrg
220 1.1 mrg # Global variables:
221 1.1 mrg ofile=libtool
222 1.1 mrg can_build_shared=yes
223 1.1 mrg
224 1.1.1.4 mrg # All known linkers require a '.a' archive for static linking (except MSVC and
225 1.1.1.4 mrg # ICC, which need '.lib').
226 1.1 mrg libext=a
227 1.1 mrg
228 1.1.1.2 mrg with_gnu_ld=$lt_cv_prog_gnu_ld
229 1.1 mrg
230 1.1.1.2 mrg old_CC=$CC
231 1.1.1.2 mrg old_CFLAGS=$CFLAGS
232 1.1 mrg
233 1.1 mrg # Set sane defaults for various variables
234 1.1 mrg test -z "$CC" && CC=cc
235 1.1 mrg test -z "$LTCC" && LTCC=$CC
236 1.1 mrg test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
237 1.1 mrg test -z "$LD" && LD=ld
238 1.1 mrg test -z "$ac_objext" && ac_objext=o
239 1.1 mrg
240 1.1 mrg _LT_CC_BASENAME([$compiler])
241 1.1 mrg
242 1.1 mrg # Only perform the check for file, if the check method requires it
243 1.1 mrg test -z "$MAGIC_CMD" && MAGIC_CMD=file
244 1.1 mrg case $deplibs_check_method in
245 1.1 mrg file_magic*)
246 1.1 mrg if test "$file_magic_cmd" = '$MAGIC_CMD'; then
247 1.1 mrg _LT_PATH_MAGIC
248 1.1 mrg fi
249 1.1 mrg ;;
250 1.1 mrg esac
251 1.1 mrg
252 1.1 mrg # Use C for the default configuration in the libtool script
253 1.1 mrg LT_SUPPORTED_TAG([CC])
254 1.1 mrg _LT_LANG_C_CONFIG
255 1.1 mrg _LT_LANG_DEFAULT_CONFIG
256 1.1 mrg _LT_CONFIG_COMMANDS
257 1.1 mrg ])# _LT_SETUP
258 1.1 mrg
259 1.1 mrg
260 1.1 mrg # _LT_PREPARE_SED_QUOTE_VARS
261 1.1 mrg # --------------------------
262 1.1 mrg # Define a few sed substitution that help us do robust quoting.
263 1.1 mrg m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
264 1.1 mrg [# Backslashify metacharacters that are still active within
265 1.1 mrg # double-quoted strings.
266 1.1 mrg sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
267 1.1 mrg
268 1.1 mrg # Same as above, but do not quote variable references.
269 1.1 mrg double_quote_subst='s/\([["`\\]]\)/\\\1/g'
270 1.1 mrg
271 1.1 mrg # Sed substitution to delay expansion of an escaped shell variable in a
272 1.1 mrg # double_quote_subst'ed string.
273 1.1 mrg delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
274 1.1 mrg
275 1.1 mrg # Sed substitution to delay expansion of an escaped single quote.
276 1.1 mrg delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
277 1.1 mrg
278 1.1 mrg # Sed substitution to avoid accidental globbing in evaled expressions
279 1.1 mrg no_glob_subst='s/\*/\\\*/g'
280 1.1 mrg ])
281 1.1 mrg
282 1.1 mrg # _LT_PROG_LTMAIN
283 1.1 mrg # ---------------
284 1.1.1.2 mrg # Note that this code is called both from 'configure', and 'config.status'
285 1.1 mrg # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
286 1.1.1.2 mrg # 'config.status' has no value for ac_aux_dir unless we are using Automake,
287 1.1 mrg # so we pass a copy along to make sure it has a sensible value anyway.
288 1.1 mrg m4_defun([_LT_PROG_LTMAIN],
289 1.1 mrg [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
290 1.1 mrg _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
291 1.1.1.2 mrg ltmain=$ac_aux_dir/ltmain.sh
292 1.1 mrg ])# _LT_PROG_LTMAIN
293 1.1 mrg
294 1.1 mrg
295 1.1 mrg ## ------------------------------------- ##
296 1.1 mrg ## Accumulate code for creating libtool. ##
297 1.1 mrg ## ------------------------------------- ##
298 1.1 mrg
299 1.1 mrg # So that we can recreate a full libtool script including additional
300 1.1 mrg # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
301 1.1.1.2 mrg # in macros and then make a single call at the end using the 'libtool'
302 1.1 mrg # label.
303 1.1 mrg
304 1.1 mrg
305 1.1 mrg # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
306 1.1 mrg # ----------------------------------------
307 1.1 mrg # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
308 1.1 mrg m4_define([_LT_CONFIG_LIBTOOL_INIT],
309 1.1 mrg [m4_ifval([$1],
310 1.1 mrg [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
311 1.1 mrg [$1
312 1.1 mrg ])])])
313 1.1 mrg
314 1.1 mrg # Initialize.
315 1.1 mrg m4_define([_LT_OUTPUT_LIBTOOL_INIT])
316 1.1 mrg
317 1.1 mrg
318 1.1 mrg # _LT_CONFIG_LIBTOOL([COMMANDS])
319 1.1 mrg # ------------------------------
320 1.1 mrg # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
321 1.1 mrg m4_define([_LT_CONFIG_LIBTOOL],
322 1.1 mrg [m4_ifval([$1],
323 1.1 mrg [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
324 1.1 mrg [$1
325 1.1 mrg ])])])
326 1.1 mrg
327 1.1 mrg # Initialize.
328 1.1 mrg m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
329 1.1 mrg
330 1.1 mrg
331 1.1 mrg # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
332 1.1 mrg # -----------------------------------------------------
333 1.1 mrg m4_defun([_LT_CONFIG_SAVE_COMMANDS],
334 1.1 mrg [_LT_CONFIG_LIBTOOL([$1])
335 1.1 mrg _LT_CONFIG_LIBTOOL_INIT([$2])
336 1.1 mrg ])
337 1.1 mrg
338 1.1 mrg
339 1.1 mrg # _LT_FORMAT_COMMENT([COMMENT])
340 1.1 mrg # -----------------------------
341 1.1 mrg # Add leading comment marks to the start of each line, and a trailing
342 1.1 mrg # full-stop to the whole comment if one is not present already.
343 1.1 mrg m4_define([_LT_FORMAT_COMMENT],
344 1.1 mrg [m4_ifval([$1], [
345 1.1 mrg m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
346 1.1 mrg [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
347 1.1 mrg )])
348 1.1 mrg
349 1.1 mrg
350 1.1 mrg
351 1.1 mrg ## ------------------------ ##
352 1.1 mrg ## FIXME: Eliminate VARNAME ##
353 1.1 mrg ## ------------------------ ##
354 1.1 mrg
355 1.1 mrg
356 1.1 mrg # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
357 1.1 mrg # -------------------------------------------------------------------
358 1.1 mrg # CONFIGNAME is the name given to the value in the libtool script.
359 1.1 mrg # VARNAME is the (base) name used in the configure script.
360 1.1 mrg # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
361 1.1 mrg # VARNAME. Any other value will be used directly.
362 1.1 mrg m4_define([_LT_DECL],
363 1.1 mrg [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
364 1.1 mrg [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
365 1.1 mrg [m4_ifval([$1], [$1], [$2])])
366 1.1 mrg lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
367 1.1 mrg m4_ifval([$4],
368 1.1 mrg [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
369 1.1 mrg lt_dict_add_subkey([lt_decl_dict], [$2],
370 1.1 mrg [tagged?], [m4_ifval([$5], [yes], [no])])])
371 1.1 mrg ])
372 1.1 mrg
373 1.1 mrg
374 1.1 mrg # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
375 1.1 mrg # --------------------------------------------------------
376 1.1 mrg m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
377 1.1 mrg
378 1.1 mrg
379 1.1 mrg # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
380 1.1 mrg # ------------------------------------------------
381 1.1 mrg m4_define([lt_decl_tag_varnames],
382 1.1 mrg [_lt_decl_filter([tagged?], [yes], $@)])
383 1.1 mrg
384 1.1 mrg
385 1.1 mrg # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
386 1.1 mrg # ---------------------------------------------------------
387 1.1 mrg m4_define([_lt_decl_filter],
388 1.1 mrg [m4_case([$#],
389 1.1 mrg [0], [m4_fatal([$0: too few arguments: $#])],
390 1.1 mrg [1], [m4_fatal([$0: too few arguments: $#: $1])],
391 1.1 mrg [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
392 1.1 mrg [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
393 1.1 mrg [lt_dict_filter([lt_decl_dict], $@)])[]dnl
394 1.1 mrg ])
395 1.1 mrg
396 1.1 mrg
397 1.1 mrg # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
398 1.1 mrg # --------------------------------------------------
399 1.1 mrg m4_define([lt_decl_quote_varnames],
400 1.1 mrg [_lt_decl_filter([value], [1], $@)])
401 1.1 mrg
402 1.1 mrg
403 1.1 mrg # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
404 1.1 mrg # ---------------------------------------------------
405 1.1 mrg m4_define([lt_decl_dquote_varnames],
406 1.1 mrg [_lt_decl_filter([value], [2], $@)])
407 1.1 mrg
408 1.1 mrg
409 1.1 mrg # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
410 1.1 mrg # ---------------------------------------------------
411 1.1 mrg m4_define([lt_decl_varnames_tagged],
412 1.1 mrg [m4_assert([$# <= 2])dnl
413 1.1 mrg _$0(m4_quote(m4_default([$1], [[, ]])),
414 1.1 mrg m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
415 1.1 mrg m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
416 1.1 mrg m4_define([_lt_decl_varnames_tagged],
417 1.1 mrg [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
418 1.1 mrg
419 1.1 mrg
420 1.1 mrg # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
421 1.1 mrg # ------------------------------------------------
422 1.1 mrg m4_define([lt_decl_all_varnames],
423 1.1 mrg [_$0(m4_quote(m4_default([$1], [[, ]])),
424 1.1 mrg m4_if([$2], [],
425 1.1 mrg m4_quote(lt_decl_varnames),
426 1.1 mrg m4_quote(m4_shift($@))))[]dnl
427 1.1 mrg ])
428 1.1 mrg m4_define([_lt_decl_all_varnames],
429 1.1 mrg [lt_join($@, lt_decl_varnames_tagged([$1],
430 1.1 mrg lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
431 1.1 mrg ])
432 1.1 mrg
433 1.1 mrg
434 1.1 mrg # _LT_CONFIG_STATUS_DECLARE([VARNAME])
435 1.1 mrg # ------------------------------------
436 1.1.1.2 mrg # Quote a variable value, and forward it to 'config.status' so that its
437 1.1.1.2 mrg # declaration there will have the same value as in 'configure'. VARNAME
438 1.1 mrg # must have a single quote delimited value for this to work.
439 1.1 mrg m4_define([_LT_CONFIG_STATUS_DECLARE],
440 1.1 mrg [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
441 1.1 mrg
442 1.1 mrg
443 1.1 mrg # _LT_CONFIG_STATUS_DECLARATIONS
444 1.1 mrg # ------------------------------
445 1.1 mrg # We delimit libtool config variables with single quotes, so when
446 1.1 mrg # we write them to config.status, we have to be sure to quote all
447 1.1 mrg # embedded single quotes properly. In configure, this macro expands
448 1.1 mrg # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
449 1.1 mrg #
450 1.1 mrg # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
451 1.1 mrg m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
452 1.1 mrg [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
453 1.1 mrg [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
454 1.1 mrg
455 1.1 mrg
456 1.1 mrg # _LT_LIBTOOL_TAGS
457 1.1 mrg # ----------------
458 1.1 mrg # Output comment and list of tags supported by the script
459 1.1 mrg m4_defun([_LT_LIBTOOL_TAGS],
460 1.1 mrg [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
461 1.1.1.2 mrg available_tags='_LT_TAGS'dnl
462 1.1 mrg ])
463 1.1 mrg
464 1.1 mrg
465 1.1 mrg # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
466 1.1 mrg # -----------------------------------
467 1.1 mrg # Extract the dictionary values for VARNAME (optionally with TAG) and
468 1.1 mrg # expand to a commented shell variable setting:
469 1.1 mrg #
470 1.1 mrg # # Some comment about what VAR is for.
471 1.1 mrg # visible_name=$lt_internal_name
472 1.1 mrg m4_define([_LT_LIBTOOL_DECLARE],
473 1.1 mrg [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
474 1.1 mrg [description])))[]dnl
475 1.1 mrg m4_pushdef([_libtool_name],
476 1.1 mrg m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
477 1.1 mrg m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
478 1.1 mrg [0], [_libtool_name=[$]$1],
479 1.1 mrg [1], [_libtool_name=$lt_[]$1],
480 1.1 mrg [2], [_libtool_name=$lt_[]$1],
481 1.1 mrg [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
482 1.1 mrg m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
483 1.1 mrg ])
484 1.1 mrg
485 1.1 mrg
486 1.1 mrg # _LT_LIBTOOL_CONFIG_VARS
487 1.1 mrg # -----------------------
488 1.1 mrg # Produce commented declarations of non-tagged libtool config variables
489 1.1.1.2 mrg # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
490 1.1 mrg # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
491 1.1 mrg # section) are produced by _LT_LIBTOOL_TAG_VARS.
492 1.1 mrg m4_defun([_LT_LIBTOOL_CONFIG_VARS],
493 1.1 mrg [m4_foreach([_lt_var],
494 1.1 mrg m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
495 1.1 mrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
496 1.1 mrg
497 1.1 mrg
498 1.1 mrg # _LT_LIBTOOL_TAG_VARS(TAG)
499 1.1 mrg # -------------------------
500 1.1 mrg m4_define([_LT_LIBTOOL_TAG_VARS],
501 1.1 mrg [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
502 1.1 mrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
503 1.1 mrg
504 1.1 mrg
505 1.1 mrg # _LT_TAGVAR(VARNAME, [TAGNAME])
506 1.1 mrg # ------------------------------
507 1.1 mrg m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
508 1.1 mrg
509 1.1 mrg
510 1.1 mrg # _LT_CONFIG_COMMANDS
511 1.1 mrg # -------------------
512 1.1 mrg # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
513 1.1 mrg # variables for single and double quote escaping we saved from calls
514 1.1 mrg # to _LT_DECL, we can put quote escaped variables declarations
515 1.1.1.2 mrg # into 'config.status', and then the shell code to quote escape them in
516 1.1.1.2 mrg # for loops in 'config.status'. Finally, any additional code accumulated
517 1.1 mrg # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
518 1.1 mrg m4_defun([_LT_CONFIG_COMMANDS],
519 1.1 mrg [AC_PROVIDE_IFELSE([LT_OUTPUT],
520 1.1 mrg dnl If the libtool generation code has been placed in $CONFIG_LT,
521 1.1 mrg dnl instead of duplicating it all over again into config.status,
522 1.1 mrg dnl then we will have config.status run $CONFIG_LT later, so it
523 1.1 mrg dnl needs to know what name is stored there:
524 1.1 mrg [AC_CONFIG_COMMANDS([libtool],
525 1.1 mrg [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
526 1.1 mrg dnl If the libtool generation code is destined for config.status,
527 1.1 mrg dnl expand the accumulated commands and init code now:
528 1.1 mrg [AC_CONFIG_COMMANDS([libtool],
529 1.1 mrg [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
530 1.1 mrg ])#_LT_CONFIG_COMMANDS
531 1.1 mrg
532 1.1 mrg
533 1.1 mrg # Initialize.
534 1.1 mrg m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
535 1.1 mrg [
536 1.1 mrg
537 1.1 mrg # The HP-UX ksh and POSIX shell print the target directory to stdout
538 1.1 mrg # if CDPATH is set.
539 1.1 mrg (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
540 1.1 mrg
541 1.1 mrg sed_quote_subst='$sed_quote_subst'
542 1.1 mrg double_quote_subst='$double_quote_subst'
543 1.1 mrg delay_variable_subst='$delay_variable_subst'
544 1.1 mrg _LT_CONFIG_STATUS_DECLARATIONS
545 1.1 mrg LTCC='$LTCC'
546 1.1 mrg LTCFLAGS='$LTCFLAGS'
547 1.1 mrg compiler='$compiler_DEFAULT'
548 1.1 mrg
549 1.1 mrg # A function that is used when there is no print builtin or printf.
550 1.1 mrg func_fallback_echo ()
551 1.1 mrg {
552 1.1 mrg eval 'cat <<_LTECHO_EOF
553 1.1 mrg \$[]1
554 1.1 mrg _LTECHO_EOF'
555 1.1 mrg }
556 1.1 mrg
557 1.1 mrg # Quote evaled strings.
558 1.1 mrg for var in lt_decl_all_varnames([[ \
559 1.1 mrg ]], lt_decl_quote_varnames); do
560 1.1 mrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
561 1.1 mrg *[[\\\\\\\`\\"\\\$]]*)
562 1.1.1.2 mrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
563 1.1 mrg ;;
564 1.1 mrg *)
565 1.1 mrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
566 1.1 mrg ;;
567 1.1 mrg esac
568 1.1 mrg done
569 1.1 mrg
570 1.1 mrg # Double-quote double-evaled strings.
571 1.1 mrg for var in lt_decl_all_varnames([[ \
572 1.1 mrg ]], lt_decl_dquote_varnames); do
573 1.1 mrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
574 1.1 mrg *[[\\\\\\\`\\"\\\$]]*)
575 1.1.1.2 mrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
576 1.1 mrg ;;
577 1.1 mrg *)
578 1.1 mrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
579 1.1 mrg ;;
580 1.1 mrg esac
581 1.1 mrg done
582 1.1 mrg
583 1.1 mrg _LT_OUTPUT_LIBTOOL_INIT
584 1.1 mrg ])
585 1.1 mrg
586 1.1 mrg # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
587 1.1 mrg # ------------------------------------
588 1.1 mrg # Generate a child script FILE with all initialization necessary to
589 1.1 mrg # reuse the environment learned by the parent script, and make the
590 1.1 mrg # file executable. If COMMENT is supplied, it is inserted after the
591 1.1.1.2 mrg # '#!' sequence but before initialization text begins. After this
592 1.1 mrg # macro, additional text can be appended to FILE to form the body of
593 1.1 mrg # the child script. The macro ends with non-zero status if the
594 1.1 mrg # file could not be fully written (such as if the disk is full).
595 1.1 mrg m4_ifdef([AS_INIT_GENERATED],
596 1.1 mrg [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
597 1.1 mrg [m4_defun([_LT_GENERATED_FILE_INIT],
598 1.1 mrg [m4_require([AS_PREPARE])]dnl
599 1.1 mrg [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
600 1.1 mrg [lt_write_fail=0
601 1.1 mrg cat >$1 <<_ASEOF || lt_write_fail=1
602 1.1 mrg #! $SHELL
603 1.1 mrg # Generated by $as_me.
604 1.1 mrg $2
605 1.1 mrg SHELL=\${CONFIG_SHELL-$SHELL}
606 1.1 mrg export SHELL
607 1.1 mrg _ASEOF
608 1.1 mrg cat >>$1 <<\_ASEOF || lt_write_fail=1
609 1.1 mrg AS_SHELL_SANITIZE
610 1.1 mrg _AS_PREPARE
611 1.1 mrg exec AS_MESSAGE_FD>&1
612 1.1 mrg _ASEOF
613 1.1.1.2 mrg test 0 = "$lt_write_fail" && chmod +x $1[]dnl
614 1.1 mrg m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
615 1.1 mrg
616 1.1 mrg # LT_OUTPUT
617 1.1 mrg # ---------
618 1.1 mrg # This macro allows early generation of the libtool script (before
619 1.1 mrg # AC_OUTPUT is called), incase it is used in configure for compilation
620 1.1 mrg # tests.
621 1.1 mrg AC_DEFUN([LT_OUTPUT],
622 1.1 mrg [: ${CONFIG_LT=./config.lt}
623 1.1 mrg AC_MSG_NOTICE([creating $CONFIG_LT])
624 1.1 mrg _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
625 1.1 mrg [# Run this file to recreate a libtool stub with the current configuration.])
626 1.1 mrg
627 1.1 mrg cat >>"$CONFIG_LT" <<\_LTEOF
628 1.1 mrg lt_cl_silent=false
629 1.1 mrg exec AS_MESSAGE_LOG_FD>>config.log
630 1.1 mrg {
631 1.1 mrg echo
632 1.1 mrg AS_BOX([Running $as_me.])
633 1.1 mrg } >&AS_MESSAGE_LOG_FD
634 1.1 mrg
635 1.1 mrg lt_cl_help="\
636 1.1.1.2 mrg '$as_me' creates a local libtool stub from the current configuration,
637 1.1 mrg for use in further configure time tests before the real libtool is
638 1.1 mrg generated.
639 1.1 mrg
640 1.1 mrg Usage: $[0] [[OPTIONS]]
641 1.1 mrg
642 1.1 mrg -h, --help print this help, then exit
643 1.1 mrg -V, --version print version number, then exit
644 1.1 mrg -q, --quiet do not print progress messages
645 1.1 mrg -d, --debug don't remove temporary files
646 1.1 mrg
647 1.1 mrg Report bugs to <bug-libtool (a] gnu.org>."
648 1.1 mrg
649 1.1 mrg lt_cl_version="\
650 1.1 mrg m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
651 1.1 mrg m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
652 1.1 mrg configured by $[0], generated by m4_PACKAGE_STRING.
653 1.1 mrg
654 1.1.1.2 mrg Copyright (C) 2011 Free Software Foundation, Inc.
655 1.1 mrg This config.lt script is free software; the Free Software Foundation
656 1.1 mrg gives unlimited permision to copy, distribute and modify it."
657 1.1 mrg
658 1.1.1.2 mrg while test 0 != $[#]
659 1.1 mrg do
660 1.1 mrg case $[1] in
661 1.1 mrg --version | --v* | -V )
662 1.1 mrg echo "$lt_cl_version"; exit 0 ;;
663 1.1 mrg --help | --h* | -h )
664 1.1 mrg echo "$lt_cl_help"; exit 0 ;;
665 1.1 mrg --debug | --d* | -d )
666 1.1 mrg debug=: ;;
667 1.1 mrg --quiet | --q* | --silent | --s* | -q )
668 1.1 mrg lt_cl_silent=: ;;
669 1.1 mrg
670 1.1 mrg -*) AC_MSG_ERROR([unrecognized option: $[1]
671 1.1.1.2 mrg Try '$[0] --help' for more information.]) ;;
672 1.1 mrg
673 1.1 mrg *) AC_MSG_ERROR([unrecognized argument: $[1]
674 1.1.1.2 mrg Try '$[0] --help' for more information.]) ;;
675 1.1 mrg esac
676 1.1 mrg shift
677 1.1 mrg done
678 1.1 mrg
679 1.1 mrg if $lt_cl_silent; then
680 1.1 mrg exec AS_MESSAGE_FD>/dev/null
681 1.1 mrg fi
682 1.1 mrg _LTEOF
683 1.1 mrg
684 1.1 mrg cat >>"$CONFIG_LT" <<_LTEOF
685 1.1 mrg _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
686 1.1 mrg _LTEOF
687 1.1 mrg
688 1.1 mrg cat >>"$CONFIG_LT" <<\_LTEOF
689 1.1 mrg AC_MSG_NOTICE([creating $ofile])
690 1.1 mrg _LT_OUTPUT_LIBTOOL_COMMANDS
691 1.1 mrg AS_EXIT(0)
692 1.1 mrg _LTEOF
693 1.1 mrg chmod +x "$CONFIG_LT"
694 1.1 mrg
695 1.1 mrg # configure is writing to config.log, but config.lt does its own redirection,
696 1.1 mrg # appending to config.log, which fails on DOS, as config.log is still kept
697 1.1 mrg # open by configure. Here we exec the FD to /dev/null, effectively closing
698 1.1 mrg # config.log, so it can be properly (re)opened and appended to by config.lt.
699 1.1 mrg lt_cl_success=:
700 1.1.1.2 mrg test yes = "$silent" &&
701 1.1 mrg lt_config_lt_args="$lt_config_lt_args --quiet"
702 1.1 mrg exec AS_MESSAGE_LOG_FD>/dev/null
703 1.1 mrg $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
704 1.1 mrg exec AS_MESSAGE_LOG_FD>>config.log
705 1.1 mrg $lt_cl_success || AS_EXIT(1)
706 1.1 mrg ])# LT_OUTPUT
707 1.1 mrg
708 1.1 mrg
709 1.1 mrg # _LT_CONFIG(TAG)
710 1.1 mrg # ---------------
711 1.1 mrg # If TAG is the built-in tag, create an initial libtool script with a
712 1.1 mrg # default configuration from the untagged config vars. Otherwise add code
713 1.1 mrg # to config.status for appending the configuration named by TAG from the
714 1.1 mrg # matching tagged config vars.
715 1.1 mrg m4_defun([_LT_CONFIG],
716 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
717 1.1 mrg _LT_CONFIG_SAVE_COMMANDS([
718 1.1 mrg m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
719 1.1 mrg m4_if(_LT_TAG, [C], [
720 1.1.1.2 mrg # See if we are running on zsh, and set the options that allow our
721 1.1 mrg # commands through without removal of \ escapes.
722 1.1.1.2 mrg if test -n "${ZSH_VERSION+set}"; then
723 1.1 mrg setopt NO_GLOB_SUBST
724 1.1 mrg fi
725 1.1 mrg
726 1.1.1.2 mrg cfgfile=${ofile}T
727 1.1 mrg trap "$RM \"$cfgfile\"; exit 1" 1 2 15
728 1.1 mrg $RM "$cfgfile"
729 1.1 mrg
730 1.1 mrg cat <<_LT_EOF >> "$cfgfile"
731 1.1 mrg #! $SHELL
732 1.1.1.2 mrg # Generated automatically by $as_me ($PACKAGE) $VERSION
733 1.1 mrg # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
734 1.1 mrg # NOTE: Changes made to this file will be lost: look at ltmain.sh.
735 1.1.1.2 mrg
736 1.1.1.2 mrg # Provide generalized library-building support services.
737 1.1.1.2 mrg # Written by Gordon Matzigkeit, 1996
738 1.1.1.2 mrg
739 1.1 mrg _LT_COPYING
740 1.1 mrg _LT_LIBTOOL_TAGS
741 1.1 mrg
742 1.1.1.2 mrg # Configured defaults for sys_lib_dlsearch_path munging.
743 1.1.1.3 mrg : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
744 1.1.1.2 mrg
745 1.1 mrg # ### BEGIN LIBTOOL CONFIG
746 1.1 mrg _LT_LIBTOOL_CONFIG_VARS
747 1.1 mrg _LT_LIBTOOL_TAG_VARS
748 1.1 mrg # ### END LIBTOOL CONFIG
749 1.1 mrg
750 1.1 mrg _LT_EOF
751 1.1 mrg
752 1.1.1.2 mrg cat <<'_LT_EOF' >> "$cfgfile"
753 1.1.1.3 mrg
754 1.1.1.3 mrg # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
755 1.1.1.2 mrg
756 1.1.1.2 mrg _LT_PREPARE_MUNGE_PATH_LIST
757 1.1.1.2 mrg _LT_PREPARE_CC_BASENAME
758 1.1.1.2 mrg
759 1.1.1.3 mrg # ### END FUNCTIONS SHARED WITH CONFIGURE
760 1.1.1.3 mrg
761 1.1.1.2 mrg _LT_EOF
762 1.1.1.2 mrg
763 1.1 mrg case $host_os in
764 1.1 mrg aix3*)
765 1.1 mrg cat <<\_LT_EOF >> "$cfgfile"
766 1.1 mrg # AIX sometimes has problems with the GCC collect2 program. For some
767 1.1 mrg # reason, if we set the COLLECT_NAMES environment variable, the problems
768 1.1 mrg # vanish in a puff of smoke.
769 1.1.1.2 mrg if test set != "${COLLECT_NAMES+set}"; then
770 1.1 mrg COLLECT_NAMES=
771 1.1 mrg export COLLECT_NAMES
772 1.1 mrg fi
773 1.1 mrg _LT_EOF
774 1.1 mrg ;;
775 1.1 mrg esac
776 1.1 mrg
777 1.1 mrg _LT_PROG_LTMAIN
778 1.1 mrg
779 1.1 mrg # We use sed instead of cat because bash on DJGPP gets confused if
780 1.1 mrg # if finds mixed CR/LF and LF-only lines. Since sed operates in
781 1.1 mrg # text mode, it properly converts lines to CR/LF. This bash problem
782 1.1 mrg # is reportedly fixed, but why not run on old versions too?
783 1.1.1.4 mrg $SED '$q' "$ltmain" >> "$cfgfile" \
784 1.1 mrg || (rm -f "$cfgfile"; exit 1)
785 1.1 mrg
786 1.1 mrg mv -f "$cfgfile" "$ofile" ||
787 1.1 mrg (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
788 1.1 mrg chmod +x "$ofile"
789 1.1 mrg ],
790 1.1 mrg [cat <<_LT_EOF >> "$ofile"
791 1.1 mrg
792 1.1 mrg dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
793 1.1 mrg dnl in a comment (ie after a #).
794 1.1 mrg # ### BEGIN LIBTOOL TAG CONFIG: $1
795 1.1 mrg _LT_LIBTOOL_TAG_VARS(_LT_TAG)
796 1.1 mrg # ### END LIBTOOL TAG CONFIG: $1
797 1.1 mrg _LT_EOF
798 1.1 mrg ])dnl /m4_if
799 1.1 mrg ],
800 1.1 mrg [m4_if([$1], [], [
801 1.1 mrg PACKAGE='$PACKAGE'
802 1.1 mrg VERSION='$VERSION'
803 1.1 mrg RM='$RM'
804 1.1 mrg ofile='$ofile'], [])
805 1.1 mrg ])dnl /_LT_CONFIG_SAVE_COMMANDS
806 1.1 mrg ])# _LT_CONFIG
807 1.1 mrg
808 1.1 mrg
809 1.1 mrg # LT_SUPPORTED_TAG(TAG)
810 1.1 mrg # ---------------------
811 1.1 mrg # Trace this macro to discover what tags are supported by the libtool
812 1.1 mrg # --tag option, using:
813 1.1 mrg # autoconf --trace 'LT_SUPPORTED_TAG:$1'
814 1.1 mrg AC_DEFUN([LT_SUPPORTED_TAG], [])
815 1.1 mrg
816 1.1 mrg
817 1.1 mrg # C support is built-in for now
818 1.1 mrg m4_define([_LT_LANG_C_enabled], [])
819 1.1 mrg m4_define([_LT_TAGS], [])
820 1.1 mrg
821 1.1 mrg
822 1.1 mrg # LT_LANG(LANG)
823 1.1 mrg # -------------
824 1.1 mrg # Enable libtool support for the given language if not already enabled.
825 1.1 mrg AC_DEFUN([LT_LANG],
826 1.1 mrg [AC_BEFORE([$0], [LT_OUTPUT])dnl
827 1.1 mrg m4_case([$1],
828 1.1 mrg [C], [_LT_LANG(C)],
829 1.1 mrg [C++], [_LT_LANG(CXX)],
830 1.1.1.2 mrg [Go], [_LT_LANG(GO)],
831 1.1 mrg [Java], [_LT_LANG(GCJ)],
832 1.1 mrg [Fortran 77], [_LT_LANG(F77)],
833 1.1 mrg [Fortran], [_LT_LANG(FC)],
834 1.1 mrg [Windows Resource], [_LT_LANG(RC)],
835 1.1 mrg [m4_ifdef([_LT_LANG_]$1[_CONFIG],
836 1.1 mrg [_LT_LANG($1)],
837 1.1 mrg [m4_fatal([$0: unsupported language: "$1"])])])dnl
838 1.1 mrg ])# LT_LANG
839 1.1 mrg
840 1.1 mrg
841 1.1 mrg # _LT_LANG(LANGNAME)
842 1.1 mrg # ------------------
843 1.1 mrg m4_defun([_LT_LANG],
844 1.1 mrg [m4_ifdef([_LT_LANG_]$1[_enabled], [],
845 1.1 mrg [LT_SUPPORTED_TAG([$1])dnl
846 1.1 mrg m4_append([_LT_TAGS], [$1 ])dnl
847 1.1 mrg m4_define([_LT_LANG_]$1[_enabled], [])dnl
848 1.1 mrg _LT_LANG_$1_CONFIG($1)])dnl
849 1.1 mrg ])# _LT_LANG
850 1.1 mrg
851 1.1 mrg
852 1.1.1.2 mrg m4_ifndef([AC_PROG_GO], [
853 1.1.1.2 mrg ############################################################
854 1.1.1.2 mrg # NOTE: This macro has been submitted for inclusion into #
855 1.1.1.2 mrg # GNU Autoconf as AC_PROG_GO. When it is available in #
856 1.1.1.2 mrg # a released version of Autoconf we should remove this #
857 1.1.1.2 mrg # macro and use it instead. #
858 1.1.1.2 mrg ############################################################
859 1.1.1.2 mrg m4_defun([AC_PROG_GO],
860 1.1.1.2 mrg [AC_LANG_PUSH(Go)dnl
861 1.1.1.2 mrg AC_ARG_VAR([GOC], [Go compiler command])dnl
862 1.1.1.2 mrg AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
863 1.1.1.2 mrg _AC_ARG_VAR_LDFLAGS()dnl
864 1.1.1.2 mrg AC_CHECK_TOOL(GOC, gccgo)
865 1.1.1.2 mrg if test -z "$GOC"; then
866 1.1.1.2 mrg if test -n "$ac_tool_prefix"; then
867 1.1.1.2 mrg AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
868 1.1.1.2 mrg fi
869 1.1.1.2 mrg fi
870 1.1.1.2 mrg if test -z "$GOC"; then
871 1.1.1.2 mrg AC_CHECK_PROG(GOC, gccgo, gccgo, false)
872 1.1.1.2 mrg fi
873 1.1.1.2 mrg ])#m4_defun
874 1.1.1.2 mrg ])#m4_ifndef
875 1.1.1.2 mrg
876 1.1.1.2 mrg
877 1.1 mrg # _LT_LANG_DEFAULT_CONFIG
878 1.1 mrg # -----------------------
879 1.1 mrg m4_defun([_LT_LANG_DEFAULT_CONFIG],
880 1.1 mrg [AC_PROVIDE_IFELSE([AC_PROG_CXX],
881 1.1 mrg [LT_LANG(CXX)],
882 1.1 mrg [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
883 1.1 mrg
884 1.1 mrg AC_PROVIDE_IFELSE([AC_PROG_F77],
885 1.1 mrg [LT_LANG(F77)],
886 1.1 mrg [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
887 1.1 mrg
888 1.1 mrg AC_PROVIDE_IFELSE([AC_PROG_FC],
889 1.1 mrg [LT_LANG(FC)],
890 1.1 mrg [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
891 1.1 mrg
892 1.1 mrg dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
893 1.1 mrg dnl pulling things in needlessly.
894 1.1 mrg AC_PROVIDE_IFELSE([AC_PROG_GCJ],
895 1.1 mrg [LT_LANG(GCJ)],
896 1.1 mrg [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
897 1.1 mrg [LT_LANG(GCJ)],
898 1.1 mrg [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
899 1.1 mrg [LT_LANG(GCJ)],
900 1.1 mrg [m4_ifdef([AC_PROG_GCJ],
901 1.1 mrg [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
902 1.1 mrg m4_ifdef([A][M_PROG_GCJ],
903 1.1 mrg [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
904 1.1 mrg m4_ifdef([LT_PROG_GCJ],
905 1.1 mrg [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
906 1.1 mrg
907 1.1.1.2 mrg AC_PROVIDE_IFELSE([AC_PROG_GO],
908 1.1.1.2 mrg [LT_LANG(GO)],
909 1.1.1.2 mrg [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
910 1.1.1.2 mrg
911 1.1 mrg AC_PROVIDE_IFELSE([LT_PROG_RC],
912 1.1 mrg [LT_LANG(RC)],
913 1.1 mrg [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
914 1.1 mrg ])# _LT_LANG_DEFAULT_CONFIG
915 1.1 mrg
916 1.1 mrg # Obsolete macros:
917 1.1 mrg AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
918 1.1 mrg AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
919 1.1 mrg AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
920 1.1 mrg AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
921 1.1 mrg AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
922 1.1 mrg dnl aclocal-1.4 backwards compatibility:
923 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
924 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_F77], [])
925 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_FC], [])
926 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
927 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_RC], [])
928 1.1 mrg
929 1.1 mrg
930 1.1 mrg # _LT_TAG_COMPILER
931 1.1 mrg # ----------------
932 1.1 mrg m4_defun([_LT_TAG_COMPILER],
933 1.1 mrg [AC_REQUIRE([AC_PROG_CC])dnl
934 1.1 mrg
935 1.1 mrg _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
936 1.1 mrg _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
937 1.1 mrg _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
938 1.1 mrg _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
939 1.1 mrg
940 1.1 mrg # If no C compiler was specified, use CC.
941 1.1 mrg LTCC=${LTCC-"$CC"}
942 1.1 mrg
943 1.1 mrg # If no C compiler flags were specified, use CFLAGS.
944 1.1 mrg LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
945 1.1 mrg
946 1.1 mrg # Allow CC to be a program name with arguments.
947 1.1 mrg compiler=$CC
948 1.1 mrg ])# _LT_TAG_COMPILER
949 1.1 mrg
950 1.1 mrg
951 1.1 mrg # _LT_COMPILER_BOILERPLATE
952 1.1 mrg # ------------------------
953 1.1 mrg # Check for compiler boilerplate output or warnings with
954 1.1 mrg # the simple compiler test code.
955 1.1 mrg m4_defun([_LT_COMPILER_BOILERPLATE],
956 1.1 mrg [m4_require([_LT_DECL_SED])dnl
957 1.1 mrg ac_outfile=conftest.$ac_objext
958 1.1 mrg echo "$lt_simple_compile_test_code" >conftest.$ac_ext
959 1.1 mrg eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
960 1.1 mrg _lt_compiler_boilerplate=`cat conftest.err`
961 1.1 mrg $RM conftest*
962 1.1 mrg ])# _LT_COMPILER_BOILERPLATE
963 1.1 mrg
964 1.1 mrg
965 1.1 mrg # _LT_LINKER_BOILERPLATE
966 1.1 mrg # ----------------------
967 1.1 mrg # Check for linker boilerplate output or warnings with
968 1.1 mrg # the simple link test code.
969 1.1 mrg m4_defun([_LT_LINKER_BOILERPLATE],
970 1.1 mrg [m4_require([_LT_DECL_SED])dnl
971 1.1 mrg ac_outfile=conftest.$ac_objext
972 1.1 mrg echo "$lt_simple_link_test_code" >conftest.$ac_ext
973 1.1 mrg eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
974 1.1 mrg _lt_linker_boilerplate=`cat conftest.err`
975 1.1 mrg $RM -r conftest*
976 1.1 mrg ])# _LT_LINKER_BOILERPLATE
977 1.1 mrg
978 1.1 mrg # _LT_REQUIRED_DARWIN_CHECKS
979 1.1 mrg # -------------------------
980 1.1 mrg m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
981 1.1 mrg case $host_os in
982 1.1 mrg rhapsody* | darwin*)
983 1.1 mrg AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
984 1.1 mrg AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
985 1.1 mrg AC_CHECK_TOOL([LIPO], [lipo], [:])
986 1.1 mrg AC_CHECK_TOOL([OTOOL], [otool], [:])
987 1.1 mrg AC_CHECK_TOOL([OTOOL64], [otool64], [:])
988 1.1 mrg _LT_DECL([], [DSYMUTIL], [1],
989 1.1 mrg [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
990 1.1 mrg _LT_DECL([], [NMEDIT], [1],
991 1.1 mrg [Tool to change global to local symbols on Mac OS X])
992 1.1 mrg _LT_DECL([], [LIPO], [1],
993 1.1 mrg [Tool to manipulate fat objects and archives on Mac OS X])
994 1.1 mrg _LT_DECL([], [OTOOL], [1],
995 1.1 mrg [ldd/readelf like tool for Mach-O binaries on Mac OS X])
996 1.1 mrg _LT_DECL([], [OTOOL64], [1],
997 1.1 mrg [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
998 1.1 mrg
999 1.1 mrg AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
1000 1.1 mrg [lt_cv_apple_cc_single_mod=no
1001 1.1.1.2 mrg if test -z "$LT_MULTI_MODULE"; then
1002 1.1 mrg # By default we will add the -single_module flag. You can override
1003 1.1 mrg # by either setting the environment variable LT_MULTI_MODULE
1004 1.1 mrg # non-empty at configure time, or by adding -multi_module to the
1005 1.1 mrg # link flags.
1006 1.1 mrg rm -rf libconftest.dylib*
1007 1.1 mrg echo "int foo(void){return 1;}" > conftest.c
1008 1.1 mrg echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1009 1.1 mrg -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1010 1.1 mrg $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1011 1.1 mrg -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1012 1.1 mrg _lt_result=$?
1013 1.1.1.2 mrg # If there is a non-empty error log, and "single_module"
1014 1.1.1.2 mrg # appears in it, assume the flag caused a linker warning
1015 1.1.1.2 mrg if test -s conftest.err && $GREP single_module conftest.err; then
1016 1.1.1.2 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1017 1.1.1.2 mrg # Otherwise, if the output was created with a 0 exit code from
1018 1.1.1.2 mrg # the compiler, it worked.
1019 1.1.1.2 mrg elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
1020 1.1 mrg lt_cv_apple_cc_single_mod=yes
1021 1.1 mrg else
1022 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1023 1.1 mrg fi
1024 1.1 mrg rm -rf libconftest.dylib*
1025 1.1 mrg rm -f conftest.*
1026 1.1 mrg fi])
1027 1.1.1.2 mrg
1028 1.1 mrg AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1029 1.1 mrg [lt_cv_ld_exported_symbols_list],
1030 1.1 mrg [lt_cv_ld_exported_symbols_list=no
1031 1.1 mrg save_LDFLAGS=$LDFLAGS
1032 1.1 mrg echo "_main" > conftest.sym
1033 1.1 mrg LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1034 1.1 mrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1035 1.1 mrg [lt_cv_ld_exported_symbols_list=yes],
1036 1.1 mrg [lt_cv_ld_exported_symbols_list=no])
1037 1.1.1.2 mrg LDFLAGS=$save_LDFLAGS
1038 1.1 mrg ])
1039 1.1.1.2 mrg
1040 1.1 mrg AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1041 1.1 mrg [lt_cv_ld_force_load=no
1042 1.1 mrg cat > conftest.c << _LT_EOF
1043 1.1 mrg int forced_loaded() { return 2;}
1044 1.1 mrg _LT_EOF
1045 1.1 mrg echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1046 1.1 mrg $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1047 1.1.1.4 mrg echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1048 1.1.1.4 mrg $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1049 1.1 mrg echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1050 1.1 mrg $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1051 1.1 mrg cat > conftest.c << _LT_EOF
1052 1.1 mrg int main() { return 0;}
1053 1.1 mrg _LT_EOF
1054 1.1 mrg echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1055 1.1 mrg $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1056 1.1 mrg _lt_result=$?
1057 1.1.1.2 mrg if test -s conftest.err && $GREP force_load conftest.err; then
1058 1.1.1.2 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1059 1.1.1.2 mrg elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
1060 1.1 mrg lt_cv_ld_force_load=yes
1061 1.1 mrg else
1062 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1063 1.1 mrg fi
1064 1.1 mrg rm -f conftest.err libconftest.a conftest conftest.c
1065 1.1 mrg rm -rf conftest.dSYM
1066 1.1 mrg ])
1067 1.1 mrg case $host_os in
1068 1.1 mrg rhapsody* | darwin1.[[012]])
1069 1.1.1.2 mrg _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
1070 1.1 mrg darwin1.*)
1071 1.1.1.2 mrg _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1072 1.1.1.4 mrg darwin*)
1073 1.1.1.4 mrg case $MACOSX_DEPLOYMENT_TARGET,$host in
1074 1.1.1.4 mrg 10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
1075 1.1.1.4 mrg _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1076 1.1.1.4 mrg *)
1077 1.1.1.4 mrg _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1078 1.1 mrg esac
1079 1.1 mrg ;;
1080 1.1 mrg esac
1081 1.1.1.2 mrg if test yes = "$lt_cv_apple_cc_single_mod"; then
1082 1.1 mrg _lt_dar_single_mod='$single_module'
1083 1.1 mrg fi
1084 1.1.1.2 mrg if test yes = "$lt_cv_ld_exported_symbols_list"; then
1085 1.1.1.2 mrg _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
1086 1.1 mrg else
1087 1.1.1.2 mrg _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
1088 1.1 mrg fi
1089 1.1.1.2 mrg if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
1090 1.1 mrg _lt_dsymutil='~$DSYMUTIL $lib || :'
1091 1.1 mrg else
1092 1.1 mrg _lt_dsymutil=
1093 1.1 mrg fi
1094 1.1 mrg ;;
1095 1.1 mrg esac
1096 1.1 mrg ])
1097 1.1 mrg
1098 1.1 mrg
1099 1.1.1.2 mrg # _LT_DARWIN_LINKER_FEATURES([TAG])
1100 1.1.1.2 mrg # ---------------------------------
1101 1.1 mrg # Checks for linker and compiler features on darwin
1102 1.1 mrg m4_defun([_LT_DARWIN_LINKER_FEATURES],
1103 1.1 mrg [
1104 1.1 mrg m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1105 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1106 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
1107 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=yes
1108 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1109 1.1.1.2 mrg if test yes = "$lt_cv_ld_force_load"; then
1110 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1111 1.1.1.2 mrg m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1112 1.1.1.2 mrg [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1113 1.1 mrg else
1114 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1115 1.1 mrg fi
1116 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
1117 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
1118 1.1 mrg case $cc_basename in
1119 1.1.1.2 mrg ifort*|nagfor*) _lt_dar_can_shared=yes ;;
1120 1.1 mrg *) _lt_dar_can_shared=$GCC ;;
1121 1.1 mrg esac
1122 1.1.1.2 mrg if test yes = "$_lt_dar_can_shared"; then
1123 1.1 mrg output_verbose_link_cmd=func_echo_all
1124 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
1125 1.1.1.2 mrg _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
1126 1.1.1.4 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
1127 1.1.1.4 mrg _LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
1128 1.1 mrg m4_if([$1], [CXX],
1129 1.1.1.2 mrg [ if test yes != "$lt_cv_apple_cc_single_mod"; then
1130 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
1131 1.1.1.4 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
1132 1.1 mrg fi
1133 1.1 mrg ],[])
1134 1.1 mrg else
1135 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
1136 1.1 mrg fi
1137 1.1 mrg ])
1138 1.1 mrg
1139 1.1 mrg # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1140 1.1 mrg # ----------------------------------
1141 1.1 mrg # Links a minimal program and checks the executable
1142 1.1 mrg # for the system default hardcoded library path. In most cases,
1143 1.1 mrg # this is /usr/lib:/lib, but when the MPI compilers are used
1144 1.1 mrg # the location of the communication and MPI libs are included too.
1145 1.1 mrg # If we don't find anything, use the default library path according
1146 1.1 mrg # to the aix ld manual.
1147 1.1 mrg # Store the results from the different compilers for each TAGNAME.
1148 1.1 mrg # Allow to override them for all tags through lt_cv_aix_libpath.
1149 1.1 mrg m4_defun([_LT_SYS_MODULE_PATH_AIX],
1150 1.1 mrg [m4_require([_LT_DECL_SED])dnl
1151 1.1.1.2 mrg if test set = "${lt_cv_aix_libpath+set}"; then
1152 1.1 mrg aix_libpath=$lt_cv_aix_libpath
1153 1.1 mrg else
1154 1.1 mrg AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1155 1.1 mrg [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1156 1.1 mrg lt_aix_libpath_sed='[
1157 1.1 mrg /Import File Strings/,/^$/ {
1158 1.1 mrg /^0/ {
1159 1.1 mrg s/^0 *\([^ ]*\) *$/\1/
1160 1.1 mrg p
1161 1.1 mrg }
1162 1.1 mrg }]'
1163 1.1 mrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1164 1.1 mrg # Check for a 64-bit object if we didn't find anything.
1165 1.1 mrg if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1166 1.1 mrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1167 1.1 mrg fi],[])
1168 1.1 mrg if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1169 1.1.1.2 mrg _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
1170 1.1 mrg fi
1171 1.1 mrg ])
1172 1.1 mrg aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1173 1.1 mrg fi
1174 1.1 mrg ])# _LT_SYS_MODULE_PATH_AIX
1175 1.1 mrg
1176 1.1 mrg
1177 1.1 mrg # _LT_SHELL_INIT(ARG)
1178 1.1 mrg # -------------------
1179 1.1 mrg m4_define([_LT_SHELL_INIT],
1180 1.1 mrg [m4_divert_text([M4SH-INIT], [$1
1181 1.1 mrg ])])# _LT_SHELL_INIT
1182 1.1 mrg
1183 1.1 mrg
1184 1.1 mrg
1185 1.1 mrg # _LT_PROG_ECHO_BACKSLASH
1186 1.1 mrg # -----------------------
1187 1.1 mrg # Find how we can fake an echo command that does not interpret backslash.
1188 1.1 mrg # In particular, with Autoconf 2.60 or later we add some code to the start
1189 1.1.1.2 mrg # of the generated configure script that will find a shell with a builtin
1190 1.1.1.2 mrg # printf (that we can use as an echo command).
1191 1.1 mrg m4_defun([_LT_PROG_ECHO_BACKSLASH],
1192 1.1 mrg [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1193 1.1 mrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1194 1.1 mrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1195 1.1 mrg
1196 1.1 mrg AC_MSG_CHECKING([how to print strings])
1197 1.1 mrg # Test print first, because it will be a builtin if present.
1198 1.1 mrg if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1199 1.1 mrg test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1200 1.1 mrg ECHO='print -r --'
1201 1.1 mrg elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1202 1.1 mrg ECHO='printf %s\n'
1203 1.1 mrg else
1204 1.1 mrg # Use this function as a fallback that always works.
1205 1.1 mrg func_fallback_echo ()
1206 1.1 mrg {
1207 1.1 mrg eval 'cat <<_LTECHO_EOF
1208 1.1 mrg $[]1
1209 1.1 mrg _LTECHO_EOF'
1210 1.1 mrg }
1211 1.1 mrg ECHO='func_fallback_echo'
1212 1.1 mrg fi
1213 1.1 mrg
1214 1.1 mrg # func_echo_all arg...
1215 1.1 mrg # Invoke $ECHO with all args, space-separated.
1216 1.1 mrg func_echo_all ()
1217 1.1 mrg {
1218 1.1.1.2 mrg $ECHO "$*"
1219 1.1 mrg }
1220 1.1 mrg
1221 1.1.1.2 mrg case $ECHO in
1222 1.1 mrg printf*) AC_MSG_RESULT([printf]) ;;
1223 1.1 mrg print*) AC_MSG_RESULT([print -r]) ;;
1224 1.1 mrg *) AC_MSG_RESULT([cat]) ;;
1225 1.1 mrg esac
1226 1.1 mrg
1227 1.1 mrg m4_ifdef([_AS_DETECT_SUGGESTED],
1228 1.1 mrg [_AS_DETECT_SUGGESTED([
1229 1.1 mrg test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1230 1.1 mrg ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1231 1.1 mrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1232 1.1 mrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1233 1.1 mrg PATH=/empty FPATH=/empty; export PATH FPATH
1234 1.1 mrg test "X`printf %s $ECHO`" = "X$ECHO" \
1235 1.1 mrg || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1236 1.1 mrg
1237 1.1 mrg _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1238 1.1 mrg _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1239 1.1 mrg ])# _LT_PROG_ECHO_BACKSLASH
1240 1.1 mrg
1241 1.1 mrg
1242 1.1 mrg # _LT_WITH_SYSROOT
1243 1.1 mrg # ----------------
1244 1.1 mrg AC_DEFUN([_LT_WITH_SYSROOT],
1245 1.1.1.4 mrg [m4_require([_LT_DECL_SED])dnl
1246 1.1.1.4 mrg AC_MSG_CHECKING([for sysroot])
1247 1.1 mrg AC_ARG_WITH([sysroot],
1248 1.1.1.2 mrg [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1249 1.1.1.2 mrg [Search for dependent libraries within DIR (or the compiler's sysroot
1250 1.1.1.2 mrg if not specified).])],
1251 1.1 mrg [], [with_sysroot=no])
1252 1.1 mrg
1253 1.1 mrg dnl lt_sysroot will always be passed unquoted. We quote it here
1254 1.1 mrg dnl in case the user passed a directory name.
1255 1.1 mrg lt_sysroot=
1256 1.1.1.2 mrg case $with_sysroot in #(
1257 1.1 mrg yes)
1258 1.1.1.2 mrg if test yes = "$GCC"; then
1259 1.1 mrg lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1260 1.1 mrg fi
1261 1.1 mrg ;; #(
1262 1.1 mrg /*)
1263 1.1.1.4 mrg lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
1264 1.1 mrg ;; #(
1265 1.1 mrg no|'')
1266 1.1 mrg ;; #(
1267 1.1 mrg *)
1268 1.1.1.2 mrg AC_MSG_RESULT([$with_sysroot])
1269 1.1 mrg AC_MSG_ERROR([The sysroot must be an absolute path.])
1270 1.1 mrg ;;
1271 1.1 mrg esac
1272 1.1 mrg
1273 1.1 mrg AC_MSG_RESULT([${lt_sysroot:-no}])
1274 1.1 mrg _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1275 1.1.1.2 mrg [dependent libraries, and where our libraries should be installed.])])
1276 1.1 mrg
1277 1.1 mrg # _LT_ENABLE_LOCK
1278 1.1 mrg # ---------------
1279 1.1 mrg m4_defun([_LT_ENABLE_LOCK],
1280 1.1 mrg [AC_ARG_ENABLE([libtool-lock],
1281 1.1 mrg [AS_HELP_STRING([--disable-libtool-lock],
1282 1.1 mrg [avoid locking (might break parallel builds)])])
1283 1.1.1.2 mrg test no = "$enable_libtool_lock" || enable_libtool_lock=yes
1284 1.1 mrg
1285 1.1 mrg # Some flags need to be propagated to the compiler or linker for good
1286 1.1 mrg # libtool support.
1287 1.1 mrg case $host in
1288 1.1 mrg ia64-*-hpux*)
1289 1.1.1.2 mrg # Find out what ABI is being produced by ac_compile, and set mode
1290 1.1.1.2 mrg # options accordingly.
1291 1.1 mrg echo 'int i;' > conftest.$ac_ext
1292 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1293 1.1.1.4 mrg case `$FILECMD conftest.$ac_objext` in
1294 1.1 mrg *ELF-32*)
1295 1.1.1.2 mrg HPUX_IA64_MODE=32
1296 1.1 mrg ;;
1297 1.1 mrg *ELF-64*)
1298 1.1.1.2 mrg HPUX_IA64_MODE=64
1299 1.1 mrg ;;
1300 1.1 mrg esac
1301 1.1 mrg fi
1302 1.1 mrg rm -rf conftest*
1303 1.1 mrg ;;
1304 1.1 mrg *-*-irix6*)
1305 1.1.1.2 mrg # Find out what ABI is being produced by ac_compile, and set linker
1306 1.1.1.2 mrg # options accordingly.
1307 1.1 mrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1308 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1309 1.1.1.2 mrg if test yes = "$lt_cv_prog_gnu_ld"; then
1310 1.1.1.4 mrg case `$FILECMD conftest.$ac_objext` in
1311 1.1 mrg *32-bit*)
1312 1.1 mrg LD="${LD-ld} -melf32bsmip"
1313 1.1 mrg ;;
1314 1.1 mrg *N32*)
1315 1.1 mrg LD="${LD-ld} -melf32bmipn32"
1316 1.1 mrg ;;
1317 1.1 mrg *64-bit*)
1318 1.1 mrg LD="${LD-ld} -melf64bmip"
1319 1.1 mrg ;;
1320 1.1 mrg esac
1321 1.1 mrg else
1322 1.1.1.4 mrg case `$FILECMD conftest.$ac_objext` in
1323 1.1 mrg *32-bit*)
1324 1.1 mrg LD="${LD-ld} -32"
1325 1.1 mrg ;;
1326 1.1 mrg *N32*)
1327 1.1 mrg LD="${LD-ld} -n32"
1328 1.1 mrg ;;
1329 1.1 mrg *64-bit*)
1330 1.1 mrg LD="${LD-ld} -64"
1331 1.1 mrg ;;
1332 1.1 mrg esac
1333 1.1 mrg fi
1334 1.1 mrg fi
1335 1.1 mrg rm -rf conftest*
1336 1.1 mrg ;;
1337 1.1 mrg
1338 1.1.1.2 mrg mips64*-*linux*)
1339 1.1.1.2 mrg # Find out what ABI is being produced by ac_compile, and set linker
1340 1.1.1.2 mrg # options accordingly.
1341 1.1.1.2 mrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1342 1.1.1.2 mrg if AC_TRY_EVAL(ac_compile); then
1343 1.1.1.2 mrg emul=elf
1344 1.1.1.4 mrg case `$FILECMD conftest.$ac_objext` in
1345 1.1.1.2 mrg *32-bit*)
1346 1.1.1.2 mrg emul="${emul}32"
1347 1.1.1.2 mrg ;;
1348 1.1.1.2 mrg *64-bit*)
1349 1.1.1.2 mrg emul="${emul}64"
1350 1.1.1.2 mrg ;;
1351 1.1.1.2 mrg esac
1352 1.1.1.4 mrg case `$FILECMD conftest.$ac_objext` in
1353 1.1.1.2 mrg *MSB*)
1354 1.1.1.2 mrg emul="${emul}btsmip"
1355 1.1.1.2 mrg ;;
1356 1.1.1.2 mrg *LSB*)
1357 1.1.1.2 mrg emul="${emul}ltsmip"
1358 1.1.1.2 mrg ;;
1359 1.1.1.2 mrg esac
1360 1.1.1.4 mrg case `$FILECMD conftest.$ac_objext` in
1361 1.1.1.2 mrg *N32*)
1362 1.1.1.2 mrg emul="${emul}n32"
1363 1.1.1.2 mrg ;;
1364 1.1.1.2 mrg esac
1365 1.1.1.2 mrg LD="${LD-ld} -m $emul"
1366 1.1.1.2 mrg fi
1367 1.1.1.2 mrg rm -rf conftest*
1368 1.1.1.2 mrg ;;
1369 1.1.1.2 mrg
1370 1.1.1.2 mrg x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
1371 1.1 mrg s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1372 1.1.1.2 mrg # Find out what ABI is being produced by ac_compile, and set linker
1373 1.1.1.2 mrg # options accordingly. Note that the listed cases only cover the
1374 1.1.1.2 mrg # situations where additional linker options are needed (such as when
1375 1.1.1.2 mrg # doing 32-bit compilation for a host where ld defaults to 64-bit, or
1376 1.1.1.2 mrg # vice versa); the common cases where no linker options are needed do
1377 1.1.1.2 mrg # not appear in the list.
1378 1.1 mrg echo 'int i;' > conftest.$ac_ext
1379 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1380 1.1.1.4 mrg case `$FILECMD conftest.o` in
1381 1.1 mrg *32-bit*)
1382 1.1 mrg case $host in
1383 1.1 mrg x86_64-*kfreebsd*-gnu)
1384 1.1 mrg LD="${LD-ld} -m elf_i386_fbsd"
1385 1.1 mrg ;;
1386 1.1 mrg x86_64-*linux*)
1387 1.1.1.4 mrg case `$FILECMD conftest.o` in
1388 1.1.1.2 mrg *x86-64*)
1389 1.1.1.2 mrg LD="${LD-ld} -m elf32_x86_64"
1390 1.1.1.2 mrg ;;
1391 1.1.1.2 mrg *)
1392 1.1.1.2 mrg LD="${LD-ld} -m elf_i386"
1393 1.1.1.2 mrg ;;
1394 1.1.1.2 mrg esac
1395 1.1.1.2 mrg ;;
1396 1.1.1.2 mrg powerpc64le-*linux*)
1397 1.1.1.2 mrg LD="${LD-ld} -m elf32lppclinux"
1398 1.1 mrg ;;
1399 1.1.1.2 mrg powerpc64-*linux*)
1400 1.1 mrg LD="${LD-ld} -m elf32ppclinux"
1401 1.1 mrg ;;
1402 1.1 mrg s390x-*linux*)
1403 1.1 mrg LD="${LD-ld} -m elf_s390"
1404 1.1 mrg ;;
1405 1.1 mrg sparc64-*linux*)
1406 1.1 mrg LD="${LD-ld} -m elf32_sparc"
1407 1.1 mrg ;;
1408 1.1 mrg esac
1409 1.1 mrg ;;
1410 1.1 mrg *64-bit*)
1411 1.1 mrg case $host in
1412 1.1 mrg x86_64-*kfreebsd*-gnu)
1413 1.1 mrg LD="${LD-ld} -m elf_x86_64_fbsd"
1414 1.1 mrg ;;
1415 1.1 mrg x86_64-*linux*)
1416 1.1 mrg LD="${LD-ld} -m elf_x86_64"
1417 1.1 mrg ;;
1418 1.1.1.2 mrg powerpcle-*linux*)
1419 1.1.1.2 mrg LD="${LD-ld} -m elf64lppc"
1420 1.1.1.2 mrg ;;
1421 1.1.1.2 mrg powerpc-*linux*)
1422 1.1 mrg LD="${LD-ld} -m elf64ppc"
1423 1.1 mrg ;;
1424 1.1 mrg s390*-*linux*|s390*-*tpf*)
1425 1.1 mrg LD="${LD-ld} -m elf64_s390"
1426 1.1 mrg ;;
1427 1.1 mrg sparc*-*linux*)
1428 1.1 mrg LD="${LD-ld} -m elf64_sparc"
1429 1.1 mrg ;;
1430 1.1 mrg esac
1431 1.1 mrg ;;
1432 1.1 mrg esac
1433 1.1 mrg fi
1434 1.1 mrg rm -rf conftest*
1435 1.1 mrg ;;
1436 1.1 mrg
1437 1.1 mrg *-*-sco3.2v5*)
1438 1.1 mrg # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1439 1.1.1.2 mrg SAVE_CFLAGS=$CFLAGS
1440 1.1 mrg CFLAGS="$CFLAGS -belf"
1441 1.1 mrg AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1442 1.1 mrg [AC_LANG_PUSH(C)
1443 1.1 mrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1444 1.1 mrg AC_LANG_POP])
1445 1.1.1.2 mrg if test yes != "$lt_cv_cc_needs_belf"; then
1446 1.1 mrg # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1447 1.1.1.2 mrg CFLAGS=$SAVE_CFLAGS
1448 1.1 mrg fi
1449 1.1 mrg ;;
1450 1.1.1.2 mrg *-*solaris*)
1451 1.1.1.2 mrg # Find out what ABI is being produced by ac_compile, and set linker
1452 1.1.1.2 mrg # options accordingly.
1453 1.1 mrg echo 'int i;' > conftest.$ac_ext
1454 1.1 mrg if AC_TRY_EVAL(ac_compile); then
1455 1.1.1.4 mrg case `$FILECMD conftest.o` in
1456 1.1 mrg *64-bit*)
1457 1.1 mrg case $lt_cv_prog_gnu_ld in
1458 1.1.1.2 mrg yes*)
1459 1.1.1.2 mrg case $host in
1460 1.1.1.2 mrg i?86-*-solaris*|x86_64-*-solaris*)
1461 1.1.1.2 mrg LD="${LD-ld} -m elf_x86_64"
1462 1.1.1.2 mrg ;;
1463 1.1.1.2 mrg sparc*-*-solaris*)
1464 1.1.1.2 mrg LD="${LD-ld} -m elf64_sparc"
1465 1.1.1.2 mrg ;;
1466 1.1.1.2 mrg esac
1467 1.1.1.2 mrg # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1468 1.1.1.2 mrg if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1469 1.1.1.2 mrg LD=${LD-ld}_sol2
1470 1.1.1.2 mrg fi
1471 1.1.1.2 mrg ;;
1472 1.1 mrg *)
1473 1.1 mrg if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1474 1.1 mrg LD="${LD-ld} -64"
1475 1.1 mrg fi
1476 1.1 mrg ;;
1477 1.1 mrg esac
1478 1.1 mrg ;;
1479 1.1 mrg esac
1480 1.1 mrg fi
1481 1.1 mrg rm -rf conftest*
1482 1.1 mrg ;;
1483 1.1 mrg esac
1484 1.1 mrg
1485 1.1.1.2 mrg need_locks=$enable_libtool_lock
1486 1.1 mrg ])# _LT_ENABLE_LOCK
1487 1.1 mrg
1488 1.1 mrg
1489 1.1 mrg # _LT_PROG_AR
1490 1.1 mrg # -----------
1491 1.1 mrg m4_defun([_LT_PROG_AR],
1492 1.1 mrg [AC_CHECK_TOOLS(AR, [ar], false)
1493 1.1 mrg : ${AR=ar}
1494 1.1 mrg _LT_DECL([], [AR], [1], [The archiver])
1495 1.1.1.4 mrg
1496 1.1.1.4 mrg # Use ARFLAGS variable as AR's operation code to sync the variable naming with
1497 1.1.1.4 mrg # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
1498 1.1.1.4 mrg # higher priority because thats what people were doing historically (setting
1499 1.1.1.4 mrg # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
1500 1.1.1.4 mrg # variable obsoleted/removed.
1501 1.1.1.4 mrg
1502 1.1.1.4 mrg test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
1503 1.1.1.4 mrg lt_ar_flags=$AR_FLAGS
1504 1.1.1.4 mrg _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
1505 1.1.1.4 mrg
1506 1.1.1.4 mrg # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
1507 1.1.1.4 mrg # by AR_FLAGS because that was never working and AR_FLAGS is about to die.
1508 1.1.1.4 mrg _LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
1509 1.1.1.4 mrg [Flags to create an archive])
1510 1.1 mrg
1511 1.1 mrg AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1512 1.1 mrg [lt_cv_ar_at_file=no
1513 1.1 mrg AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1514 1.1 mrg [echo conftest.$ac_objext > conftest.lst
1515 1.1 mrg lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1516 1.1 mrg AC_TRY_EVAL([lt_ar_try])
1517 1.1.1.2 mrg if test 0 -eq "$ac_status"; then
1518 1.1 mrg # Ensure the archiver fails upon bogus file names.
1519 1.1 mrg rm -f conftest.$ac_objext libconftest.a
1520 1.1 mrg AC_TRY_EVAL([lt_ar_try])
1521 1.1.1.2 mrg if test 0 -ne "$ac_status"; then
1522 1.1 mrg lt_cv_ar_at_file=@
1523 1.1 mrg fi
1524 1.1 mrg fi
1525 1.1 mrg rm -f conftest.* libconftest.a
1526 1.1 mrg ])
1527 1.1 mrg ])
1528 1.1 mrg
1529 1.1.1.2 mrg if test no = "$lt_cv_ar_at_file"; then
1530 1.1 mrg archiver_list_spec=
1531 1.1 mrg else
1532 1.1 mrg archiver_list_spec=$lt_cv_ar_at_file
1533 1.1 mrg fi
1534 1.1 mrg _LT_DECL([], [archiver_list_spec], [1],
1535 1.1 mrg [How to feed a file listing to the archiver])
1536 1.1 mrg ])# _LT_PROG_AR
1537 1.1 mrg
1538 1.1 mrg
1539 1.1 mrg # _LT_CMD_OLD_ARCHIVE
1540 1.1 mrg # -------------------
1541 1.1 mrg m4_defun([_LT_CMD_OLD_ARCHIVE],
1542 1.1 mrg [_LT_PROG_AR
1543 1.1 mrg
1544 1.1 mrg AC_CHECK_TOOL(STRIP, strip, :)
1545 1.1 mrg test -z "$STRIP" && STRIP=:
1546 1.1 mrg _LT_DECL([], [STRIP], [1], [A symbol stripping program])
1547 1.1 mrg
1548 1.1 mrg AC_CHECK_TOOL(RANLIB, ranlib, :)
1549 1.1 mrg test -z "$RANLIB" && RANLIB=:
1550 1.1 mrg _LT_DECL([], [RANLIB], [1],
1551 1.1 mrg [Commands used to install an old-style archive])
1552 1.1 mrg
1553 1.1 mrg # Determine commands to create old-style static archives.
1554 1.1 mrg old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1555 1.1 mrg old_postinstall_cmds='chmod 644 $oldlib'
1556 1.1 mrg old_postuninstall_cmds=
1557 1.1 mrg
1558 1.1 mrg if test -n "$RANLIB"; then
1559 1.1 mrg case $host_os in
1560 1.1.1.2 mrg bitrig* | openbsd*)
1561 1.1.1.2 mrg old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1562 1.1 mrg ;;
1563 1.1 mrg *)
1564 1.1.1.2 mrg old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1565 1.1 mrg ;;
1566 1.1 mrg esac
1567 1.1.1.2 mrg old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1568 1.1 mrg fi
1569 1.1 mrg
1570 1.1 mrg case $host_os in
1571 1.1 mrg darwin*)
1572 1.1 mrg lock_old_archive_extraction=yes ;;
1573 1.1 mrg *)
1574 1.1 mrg lock_old_archive_extraction=no ;;
1575 1.1 mrg esac
1576 1.1 mrg _LT_DECL([], [old_postinstall_cmds], [2])
1577 1.1 mrg _LT_DECL([], [old_postuninstall_cmds], [2])
1578 1.1 mrg _LT_TAGDECL([], [old_archive_cmds], [2],
1579 1.1 mrg [Commands used to build an old-style archive])
1580 1.1 mrg _LT_DECL([], [lock_old_archive_extraction], [0],
1581 1.1 mrg [Whether to use a lock for old archive extraction])
1582 1.1 mrg ])# _LT_CMD_OLD_ARCHIVE
1583 1.1 mrg
1584 1.1 mrg
1585 1.1 mrg # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1586 1.1 mrg # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1587 1.1 mrg # ----------------------------------------------------------------
1588 1.1 mrg # Check whether the given compiler option works
1589 1.1 mrg AC_DEFUN([_LT_COMPILER_OPTION],
1590 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1591 1.1 mrg m4_require([_LT_DECL_SED])dnl
1592 1.1 mrg AC_CACHE_CHECK([$1], [$2],
1593 1.1 mrg [$2=no
1594 1.1 mrg m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1595 1.1 mrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1596 1.1.1.2 mrg lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
1597 1.1 mrg # Insert the option either (1) after the last *FLAGS variable, or
1598 1.1 mrg # (2) before a word containing "conftest.", or (3) at the end.
1599 1.1 mrg # Note that $ac_compile itself does not contain backslashes and begins
1600 1.1 mrg # with a dollar sign (not a hyphen), so the echo should work correctly.
1601 1.1 mrg # The option is referenced via a variable to avoid confusing sed.
1602 1.1 mrg lt_compile=`echo "$ac_compile" | $SED \
1603 1.1 mrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1604 1.1 mrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1605 1.1 mrg -e 's:$: $lt_compiler_flag:'`
1606 1.1 mrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1607 1.1 mrg (eval "$lt_compile" 2>conftest.err)
1608 1.1 mrg ac_status=$?
1609 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
1610 1.1 mrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1611 1.1 mrg if (exit $ac_status) && test -s "$ac_outfile"; then
1612 1.1 mrg # The compiler can only warn and ignore the option if not recognized
1613 1.1 mrg # So say no if there are warnings other than the usual output.
1614 1.1 mrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1615 1.1 mrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1616 1.1 mrg if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1617 1.1 mrg $2=yes
1618 1.1 mrg fi
1619 1.1 mrg fi
1620 1.1 mrg $RM conftest*
1621 1.1 mrg ])
1622 1.1 mrg
1623 1.1.1.2 mrg if test yes = "[$]$2"; then
1624 1.1 mrg m4_if([$5], , :, [$5])
1625 1.1 mrg else
1626 1.1 mrg m4_if([$6], , :, [$6])
1627 1.1 mrg fi
1628 1.1 mrg ])# _LT_COMPILER_OPTION
1629 1.1 mrg
1630 1.1 mrg # Old name:
1631 1.1 mrg AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1632 1.1 mrg dnl aclocal-1.4 backwards compatibility:
1633 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1634 1.1 mrg
1635 1.1 mrg
1636 1.1 mrg # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1637 1.1 mrg # [ACTION-SUCCESS], [ACTION-FAILURE])
1638 1.1 mrg # ----------------------------------------------------
1639 1.1 mrg # Check whether the given linker option works
1640 1.1 mrg AC_DEFUN([_LT_LINKER_OPTION],
1641 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1642 1.1 mrg m4_require([_LT_DECL_SED])dnl
1643 1.1 mrg AC_CACHE_CHECK([$1], [$2],
1644 1.1 mrg [$2=no
1645 1.1.1.2 mrg save_LDFLAGS=$LDFLAGS
1646 1.1 mrg LDFLAGS="$LDFLAGS $3"
1647 1.1 mrg echo "$lt_simple_link_test_code" > conftest.$ac_ext
1648 1.1 mrg if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1649 1.1 mrg # The linker can only warn and ignore the option if not recognized
1650 1.1 mrg # So say no if there are warnings
1651 1.1 mrg if test -s conftest.err; then
1652 1.1 mrg # Append any errors to the config.log.
1653 1.1 mrg cat conftest.err 1>&AS_MESSAGE_LOG_FD
1654 1.1 mrg $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1655 1.1 mrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1656 1.1 mrg if diff conftest.exp conftest.er2 >/dev/null; then
1657 1.1 mrg $2=yes
1658 1.1 mrg fi
1659 1.1 mrg else
1660 1.1 mrg $2=yes
1661 1.1 mrg fi
1662 1.1 mrg fi
1663 1.1 mrg $RM -r conftest*
1664 1.1.1.2 mrg LDFLAGS=$save_LDFLAGS
1665 1.1 mrg ])
1666 1.1 mrg
1667 1.1.1.2 mrg if test yes = "[$]$2"; then
1668 1.1 mrg m4_if([$4], , :, [$4])
1669 1.1 mrg else
1670 1.1 mrg m4_if([$5], , :, [$5])
1671 1.1 mrg fi
1672 1.1 mrg ])# _LT_LINKER_OPTION
1673 1.1 mrg
1674 1.1 mrg # Old name:
1675 1.1 mrg AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1676 1.1 mrg dnl aclocal-1.4 backwards compatibility:
1677 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1678 1.1 mrg
1679 1.1 mrg
1680 1.1 mrg # LT_CMD_MAX_LEN
1681 1.1 mrg #---------------
1682 1.1 mrg AC_DEFUN([LT_CMD_MAX_LEN],
1683 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1684 1.1 mrg # find the maximum length of command line arguments
1685 1.1 mrg AC_MSG_CHECKING([the maximum length of command line arguments])
1686 1.1 mrg AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1687 1.1 mrg i=0
1688 1.1.1.2 mrg teststring=ABCD
1689 1.1 mrg
1690 1.1 mrg case $build_os in
1691 1.1 mrg msdosdjgpp*)
1692 1.1 mrg # On DJGPP, this test can blow up pretty badly due to problems in libc
1693 1.1 mrg # (any single argument exceeding 2000 bytes causes a buffer overrun
1694 1.1 mrg # during glob expansion). Even if it were fixed, the result of this
1695 1.1 mrg # check would be larger than it should be.
1696 1.1 mrg lt_cv_sys_max_cmd_len=12288; # 12K is about right
1697 1.1 mrg ;;
1698 1.1 mrg
1699 1.1 mrg gnu*)
1700 1.1 mrg # Under GNU Hurd, this test is not required because there is
1701 1.1 mrg # no limit to the length of command line arguments.
1702 1.1 mrg # Libtool will interpret -1 as no limit whatsoever
1703 1.1 mrg lt_cv_sys_max_cmd_len=-1;
1704 1.1 mrg ;;
1705 1.1 mrg
1706 1.1 mrg cygwin* | mingw* | cegcc*)
1707 1.1 mrg # On Win9x/ME, this test blows up -- it succeeds, but takes
1708 1.1 mrg # about 5 minutes as the teststring grows exponentially.
1709 1.1 mrg # Worse, since 9x/ME are not pre-emptively multitasking,
1710 1.1 mrg # you end up with a "frozen" computer, even though with patience
1711 1.1 mrg # the test eventually succeeds (with a max line length of 256k).
1712 1.1 mrg # Instead, let's just punt: use the minimum linelength reported by
1713 1.1 mrg # all of the supported platforms: 8192 (on NT/2K/XP).
1714 1.1 mrg lt_cv_sys_max_cmd_len=8192;
1715 1.1 mrg ;;
1716 1.1 mrg
1717 1.1 mrg mint*)
1718 1.1 mrg # On MiNT this can take a long time and run out of memory.
1719 1.1 mrg lt_cv_sys_max_cmd_len=8192;
1720 1.1 mrg ;;
1721 1.1 mrg
1722 1.1 mrg amigaos*)
1723 1.1 mrg # On AmigaOS with pdksh, this test takes hours, literally.
1724 1.1 mrg # So we just punt and use a minimum line length of 8192.
1725 1.1 mrg lt_cv_sys_max_cmd_len=8192;
1726 1.1 mrg ;;
1727 1.1 mrg
1728 1.1.1.4 mrg bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
1729 1.1 mrg # This has been around since 386BSD, at least. Likely further.
1730 1.1 mrg if test -x /sbin/sysctl; then
1731 1.1 mrg lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1732 1.1 mrg elif test -x /usr/sbin/sysctl; then
1733 1.1 mrg lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1734 1.1 mrg else
1735 1.1 mrg lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1736 1.1 mrg fi
1737 1.1 mrg # And add a safety zone
1738 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1739 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1740 1.1 mrg ;;
1741 1.1 mrg
1742 1.1 mrg interix*)
1743 1.1 mrg # We know the value 262144 and hardcode it with a safety zone (like BSD)
1744 1.1 mrg lt_cv_sys_max_cmd_len=196608
1745 1.1 mrg ;;
1746 1.1 mrg
1747 1.1.1.2 mrg os2*)
1748 1.1.1.2 mrg # The test takes a long time on OS/2.
1749 1.1.1.2 mrg lt_cv_sys_max_cmd_len=8192
1750 1.1.1.2 mrg ;;
1751 1.1.1.2 mrg
1752 1.1 mrg osf*)
1753 1.1 mrg # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1754 1.1 mrg # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1755 1.1 mrg # nice to cause kernel panics so lets avoid the loop below.
1756 1.1 mrg # First set a reasonable default.
1757 1.1 mrg lt_cv_sys_max_cmd_len=16384
1758 1.1 mrg #
1759 1.1 mrg if test -x /sbin/sysconfig; then
1760 1.1 mrg case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1761 1.1 mrg *1*) lt_cv_sys_max_cmd_len=-1 ;;
1762 1.1 mrg esac
1763 1.1 mrg fi
1764 1.1 mrg ;;
1765 1.1 mrg sco3.2v5*)
1766 1.1 mrg lt_cv_sys_max_cmd_len=102400
1767 1.1 mrg ;;
1768 1.1 mrg sysv5* | sco5v6* | sysv4.2uw2*)
1769 1.1 mrg kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1770 1.1 mrg if test -n "$kargmax"; then
1771 1.1.1.4 mrg lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'`
1772 1.1 mrg else
1773 1.1 mrg lt_cv_sys_max_cmd_len=32768
1774 1.1 mrg fi
1775 1.1 mrg ;;
1776 1.1 mrg *)
1777 1.1 mrg lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1778 1.1.1.2 mrg if test -n "$lt_cv_sys_max_cmd_len" && \
1779 1.1.1.2 mrg test undefined != "$lt_cv_sys_max_cmd_len"; then
1780 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1781 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1782 1.1 mrg else
1783 1.1 mrg # Make teststring a little bigger before we do anything with it.
1784 1.1 mrg # a 1K string should be a reasonable start.
1785 1.1.1.2 mrg for i in 1 2 3 4 5 6 7 8; do
1786 1.1 mrg teststring=$teststring$teststring
1787 1.1 mrg done
1788 1.1 mrg SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1789 1.1 mrg # If test is not a shell built-in, we'll probably end up computing a
1790 1.1 mrg # maximum length that is only half of the actual maximum length, but
1791 1.1 mrg # we can't tell.
1792 1.1.1.2 mrg while { test X`env echo "$teststring$teststring" 2>/dev/null` \
1793 1.1 mrg = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1794 1.1.1.2 mrg test 17 != "$i" # 1/2 MB should be enough
1795 1.1 mrg do
1796 1.1 mrg i=`expr $i + 1`
1797 1.1 mrg teststring=$teststring$teststring
1798 1.1 mrg done
1799 1.1 mrg # Only check the string length outside the loop.
1800 1.1 mrg lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1801 1.1 mrg teststring=
1802 1.1 mrg # Add a significant safety factor because C++ compilers can tack on
1803 1.1 mrg # massive amounts of additional arguments before passing them to the
1804 1.1 mrg # linker. It appears as though 1/2 is a usable value.
1805 1.1 mrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1806 1.1 mrg fi
1807 1.1 mrg ;;
1808 1.1 mrg esac
1809 1.1 mrg ])
1810 1.1.1.2 mrg if test -n "$lt_cv_sys_max_cmd_len"; then
1811 1.1 mrg AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1812 1.1 mrg else
1813 1.1 mrg AC_MSG_RESULT(none)
1814 1.1 mrg fi
1815 1.1 mrg max_cmd_len=$lt_cv_sys_max_cmd_len
1816 1.1 mrg _LT_DECL([], [max_cmd_len], [0],
1817 1.1 mrg [What is the maximum length of a command?])
1818 1.1 mrg ])# LT_CMD_MAX_LEN
1819 1.1 mrg
1820 1.1 mrg # Old name:
1821 1.1 mrg AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1822 1.1 mrg dnl aclocal-1.4 backwards compatibility:
1823 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1824 1.1 mrg
1825 1.1 mrg
1826 1.1 mrg # _LT_HEADER_DLFCN
1827 1.1 mrg # ----------------
1828 1.1 mrg m4_defun([_LT_HEADER_DLFCN],
1829 1.1 mrg [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1830 1.1 mrg ])# _LT_HEADER_DLFCN
1831 1.1 mrg
1832 1.1 mrg
1833 1.1 mrg # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1834 1.1 mrg # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1835 1.1 mrg # ----------------------------------------------------------------
1836 1.1 mrg m4_defun([_LT_TRY_DLOPEN_SELF],
1837 1.1 mrg [m4_require([_LT_HEADER_DLFCN])dnl
1838 1.1.1.2 mrg if test yes = "$cross_compiling"; then :
1839 1.1 mrg [$4]
1840 1.1 mrg else
1841 1.1 mrg lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1842 1.1 mrg lt_status=$lt_dlunknown
1843 1.1 mrg cat > conftest.$ac_ext <<_LT_EOF
1844 1.1 mrg [#line $LINENO "configure"
1845 1.1 mrg #include "confdefs.h"
1846 1.1 mrg
1847 1.1 mrg #if HAVE_DLFCN_H
1848 1.1 mrg #include <dlfcn.h>
1849 1.1 mrg #endif
1850 1.1 mrg
1851 1.1 mrg #include <stdio.h>
1852 1.1 mrg
1853 1.1 mrg #ifdef RTLD_GLOBAL
1854 1.1 mrg # define LT_DLGLOBAL RTLD_GLOBAL
1855 1.1 mrg #else
1856 1.1 mrg # ifdef DL_GLOBAL
1857 1.1 mrg # define LT_DLGLOBAL DL_GLOBAL
1858 1.1 mrg # else
1859 1.1 mrg # define LT_DLGLOBAL 0
1860 1.1 mrg # endif
1861 1.1 mrg #endif
1862 1.1 mrg
1863 1.1 mrg /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1864 1.1 mrg find out it does not work in some platform. */
1865 1.1 mrg #ifndef LT_DLLAZY_OR_NOW
1866 1.1 mrg # ifdef RTLD_LAZY
1867 1.1 mrg # define LT_DLLAZY_OR_NOW RTLD_LAZY
1868 1.1 mrg # else
1869 1.1 mrg # ifdef DL_LAZY
1870 1.1 mrg # define LT_DLLAZY_OR_NOW DL_LAZY
1871 1.1 mrg # else
1872 1.1 mrg # ifdef RTLD_NOW
1873 1.1 mrg # define LT_DLLAZY_OR_NOW RTLD_NOW
1874 1.1 mrg # else
1875 1.1 mrg # ifdef DL_NOW
1876 1.1 mrg # define LT_DLLAZY_OR_NOW DL_NOW
1877 1.1 mrg # else
1878 1.1 mrg # define LT_DLLAZY_OR_NOW 0
1879 1.1 mrg # endif
1880 1.1 mrg # endif
1881 1.1 mrg # endif
1882 1.1 mrg # endif
1883 1.1 mrg #endif
1884 1.1 mrg
1885 1.1.1.2 mrg /* When -fvisibility=hidden is used, assume the code has been annotated
1886 1.1 mrg correspondingly for the symbols needed. */
1887 1.1.1.2 mrg #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1888 1.1 mrg int fnord () __attribute__((visibility("default")));
1889 1.1 mrg #endif
1890 1.1 mrg
1891 1.1 mrg int fnord () { return 42; }
1892 1.1 mrg int main ()
1893 1.1 mrg {
1894 1.1 mrg void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1895 1.1 mrg int status = $lt_dlunknown;
1896 1.1 mrg
1897 1.1 mrg if (self)
1898 1.1 mrg {
1899 1.1 mrg if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1900 1.1 mrg else
1901 1.1 mrg {
1902 1.1 mrg if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1903 1.1 mrg else puts (dlerror ());
1904 1.1 mrg }
1905 1.1 mrg /* dlclose (self); */
1906 1.1 mrg }
1907 1.1 mrg else
1908 1.1 mrg puts (dlerror ());
1909 1.1 mrg
1910 1.1 mrg return status;
1911 1.1 mrg }]
1912 1.1 mrg _LT_EOF
1913 1.1.1.2 mrg if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
1914 1.1 mrg (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1915 1.1 mrg lt_status=$?
1916 1.1 mrg case x$lt_status in
1917 1.1 mrg x$lt_dlno_uscore) $1 ;;
1918 1.1 mrg x$lt_dlneed_uscore) $2 ;;
1919 1.1 mrg x$lt_dlunknown|x*) $3 ;;
1920 1.1 mrg esac
1921 1.1 mrg else :
1922 1.1 mrg # compilation failed
1923 1.1 mrg $3
1924 1.1 mrg fi
1925 1.1 mrg fi
1926 1.1 mrg rm -fr conftest*
1927 1.1 mrg ])# _LT_TRY_DLOPEN_SELF
1928 1.1 mrg
1929 1.1 mrg
1930 1.1 mrg # LT_SYS_DLOPEN_SELF
1931 1.1 mrg # ------------------
1932 1.1 mrg AC_DEFUN([LT_SYS_DLOPEN_SELF],
1933 1.1 mrg [m4_require([_LT_HEADER_DLFCN])dnl
1934 1.1.1.2 mrg if test yes != "$enable_dlopen"; then
1935 1.1 mrg enable_dlopen=unknown
1936 1.1 mrg enable_dlopen_self=unknown
1937 1.1 mrg enable_dlopen_self_static=unknown
1938 1.1 mrg else
1939 1.1 mrg lt_cv_dlopen=no
1940 1.1 mrg lt_cv_dlopen_libs=
1941 1.1 mrg
1942 1.1 mrg case $host_os in
1943 1.1 mrg beos*)
1944 1.1.1.2 mrg lt_cv_dlopen=load_add_on
1945 1.1 mrg lt_cv_dlopen_libs=
1946 1.1 mrg lt_cv_dlopen_self=yes
1947 1.1 mrg ;;
1948 1.1 mrg
1949 1.1 mrg mingw* | pw32* | cegcc*)
1950 1.1.1.2 mrg lt_cv_dlopen=LoadLibrary
1951 1.1 mrg lt_cv_dlopen_libs=
1952 1.1 mrg ;;
1953 1.1 mrg
1954 1.1 mrg cygwin*)
1955 1.1.1.2 mrg lt_cv_dlopen=dlopen
1956 1.1 mrg lt_cv_dlopen_libs=
1957 1.1 mrg ;;
1958 1.1 mrg
1959 1.1 mrg darwin*)
1960 1.1.1.2 mrg # if libdl is installed we need to link against it
1961 1.1 mrg AC_CHECK_LIB([dl], [dlopen],
1962 1.1.1.2 mrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1963 1.1.1.2 mrg lt_cv_dlopen=dyld
1964 1.1 mrg lt_cv_dlopen_libs=
1965 1.1 mrg lt_cv_dlopen_self=yes
1966 1.1 mrg ])
1967 1.1 mrg ;;
1968 1.1 mrg
1969 1.1.1.2 mrg tpf*)
1970 1.1.1.2 mrg # Don't try to run any link tests for TPF. We know it's impossible
1971 1.1.1.2 mrg # because TPF is a cross-compiler, and we know how we open DSOs.
1972 1.1.1.2 mrg lt_cv_dlopen=dlopen
1973 1.1.1.2 mrg lt_cv_dlopen_libs=
1974 1.1.1.2 mrg lt_cv_dlopen_self=no
1975 1.1.1.2 mrg ;;
1976 1.1.1.2 mrg
1977 1.1 mrg *)
1978 1.1 mrg AC_CHECK_FUNC([shl_load],
1979 1.1.1.2 mrg [lt_cv_dlopen=shl_load],
1980 1.1 mrg [AC_CHECK_LIB([dld], [shl_load],
1981 1.1.1.2 mrg [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
1982 1.1 mrg [AC_CHECK_FUNC([dlopen],
1983 1.1.1.2 mrg [lt_cv_dlopen=dlopen],
1984 1.1 mrg [AC_CHECK_LIB([dl], [dlopen],
1985 1.1.1.2 mrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
1986 1.1 mrg [AC_CHECK_LIB([svld], [dlopen],
1987 1.1.1.2 mrg [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
1988 1.1 mrg [AC_CHECK_LIB([dld], [dld_link],
1989 1.1.1.2 mrg [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
1990 1.1 mrg ])
1991 1.1 mrg ])
1992 1.1 mrg ])
1993 1.1 mrg ])
1994 1.1 mrg ])
1995 1.1 mrg ;;
1996 1.1 mrg esac
1997 1.1 mrg
1998 1.1.1.2 mrg if test no = "$lt_cv_dlopen"; then
1999 1.1 mrg enable_dlopen=no
2000 1.1.1.2 mrg else
2001 1.1.1.2 mrg enable_dlopen=yes
2002 1.1 mrg fi
2003 1.1 mrg
2004 1.1 mrg case $lt_cv_dlopen in
2005 1.1 mrg dlopen)
2006 1.1.1.2 mrg save_CPPFLAGS=$CPPFLAGS
2007 1.1.1.2 mrg test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2008 1.1 mrg
2009 1.1.1.2 mrg save_LDFLAGS=$LDFLAGS
2010 1.1 mrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2011 1.1 mrg
2012 1.1.1.2 mrg save_LIBS=$LIBS
2013 1.1 mrg LIBS="$lt_cv_dlopen_libs $LIBS"
2014 1.1 mrg
2015 1.1 mrg AC_CACHE_CHECK([whether a program can dlopen itself],
2016 1.1 mrg lt_cv_dlopen_self, [dnl
2017 1.1 mrg _LT_TRY_DLOPEN_SELF(
2018 1.1 mrg lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2019 1.1 mrg lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2020 1.1 mrg ])
2021 1.1 mrg
2022 1.1.1.2 mrg if test yes = "$lt_cv_dlopen_self"; then
2023 1.1 mrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2024 1.1 mrg AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2025 1.1 mrg lt_cv_dlopen_self_static, [dnl
2026 1.1 mrg _LT_TRY_DLOPEN_SELF(
2027 1.1 mrg lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2028 1.1 mrg lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2029 1.1 mrg ])
2030 1.1 mrg fi
2031 1.1 mrg
2032 1.1.1.2 mrg CPPFLAGS=$save_CPPFLAGS
2033 1.1.1.2 mrg LDFLAGS=$save_LDFLAGS
2034 1.1.1.2 mrg LIBS=$save_LIBS
2035 1.1 mrg ;;
2036 1.1 mrg esac
2037 1.1 mrg
2038 1.1 mrg case $lt_cv_dlopen_self in
2039 1.1 mrg yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2040 1.1 mrg *) enable_dlopen_self=unknown ;;
2041 1.1 mrg esac
2042 1.1 mrg
2043 1.1 mrg case $lt_cv_dlopen_self_static in
2044 1.1 mrg yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2045 1.1 mrg *) enable_dlopen_self_static=unknown ;;
2046 1.1 mrg esac
2047 1.1 mrg fi
2048 1.1 mrg _LT_DECL([dlopen_support], [enable_dlopen], [0],
2049 1.1 mrg [Whether dlopen is supported])
2050 1.1 mrg _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2051 1.1 mrg [Whether dlopen of programs is supported])
2052 1.1 mrg _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2053 1.1 mrg [Whether dlopen of statically linked programs is supported])
2054 1.1 mrg ])# LT_SYS_DLOPEN_SELF
2055 1.1 mrg
2056 1.1 mrg # Old name:
2057 1.1 mrg AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2058 1.1 mrg dnl aclocal-1.4 backwards compatibility:
2059 1.1 mrg dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2060 1.1 mrg
2061 1.1 mrg
2062 1.1 mrg # _LT_COMPILER_C_O([TAGNAME])
2063 1.1 mrg # ---------------------------
2064 1.1 mrg # Check to see if options -c and -o are simultaneously supported by compiler.
2065 1.1 mrg # This macro does not hard code the compiler like AC_PROG_CC_C_O.
2066 1.1 mrg m4_defun([_LT_COMPILER_C_O],
2067 1.1 mrg [m4_require([_LT_DECL_SED])dnl
2068 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2069 1.1 mrg m4_require([_LT_TAG_COMPILER])dnl
2070 1.1 mrg AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2071 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2072 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2073 1.1 mrg $RM -r conftest 2>/dev/null
2074 1.1 mrg mkdir conftest
2075 1.1 mrg cd conftest
2076 1.1 mrg mkdir out
2077 1.1 mrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2078 1.1 mrg
2079 1.1 mrg lt_compiler_flag="-o out/conftest2.$ac_objext"
2080 1.1 mrg # Insert the option either (1) after the last *FLAGS variable, or
2081 1.1 mrg # (2) before a word containing "conftest.", or (3) at the end.
2082 1.1 mrg # Note that $ac_compile itself does not contain backslashes and begins
2083 1.1 mrg # with a dollar sign (not a hyphen), so the echo should work correctly.
2084 1.1 mrg lt_compile=`echo "$ac_compile" | $SED \
2085 1.1 mrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2086 1.1 mrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2087 1.1 mrg -e 's:$: $lt_compiler_flag:'`
2088 1.1 mrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2089 1.1 mrg (eval "$lt_compile" 2>out/conftest.err)
2090 1.1 mrg ac_status=$?
2091 1.1 mrg cat out/conftest.err >&AS_MESSAGE_LOG_FD
2092 1.1 mrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2093 1.1 mrg if (exit $ac_status) && test -s out/conftest2.$ac_objext
2094 1.1 mrg then
2095 1.1 mrg # The compiler can only warn and ignore the option if not recognized
2096 1.1 mrg # So say no if there are warnings
2097 1.1 mrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2098 1.1 mrg $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2099 1.1 mrg if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2100 1.1 mrg _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2101 1.1 mrg fi
2102 1.1 mrg fi
2103 1.1 mrg chmod u+w . 2>&AS_MESSAGE_LOG_FD
2104 1.1 mrg $RM conftest*
2105 1.1 mrg # SGI C++ compiler will create directory out/ii_files/ for
2106 1.1 mrg # template instantiation
2107 1.1 mrg test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2108 1.1 mrg $RM out/* && rmdir out
2109 1.1 mrg cd ..
2110 1.1 mrg $RM -r conftest
2111 1.1 mrg $RM conftest*
2112 1.1 mrg ])
2113 1.1 mrg _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2114 1.1 mrg [Does compiler simultaneously support -c and -o options?])
2115 1.1 mrg ])# _LT_COMPILER_C_O
2116 1.1 mrg
2117 1.1 mrg
2118 1.1 mrg # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2119 1.1 mrg # ----------------------------------
2120 1.1 mrg # Check to see if we can do hard links to lock some files if needed
2121 1.1 mrg m4_defun([_LT_COMPILER_FILE_LOCKS],
2122 1.1 mrg [m4_require([_LT_ENABLE_LOCK])dnl
2123 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2124 1.1 mrg _LT_COMPILER_C_O([$1])
2125 1.1 mrg
2126 1.1.1.2 mrg hard_links=nottested
2127 1.1.1.2 mrg if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
2128 1.1 mrg # do not overwrite the value of need_locks provided by the user
2129 1.1 mrg AC_MSG_CHECKING([if we can lock with hard links])
2130 1.1 mrg hard_links=yes
2131 1.1 mrg $RM conftest*
2132 1.1 mrg ln conftest.a conftest.b 2>/dev/null && hard_links=no
2133 1.1 mrg touch conftest.a
2134 1.1 mrg ln conftest.a conftest.b 2>&5 || hard_links=no
2135 1.1 mrg ln conftest.a conftest.b 2>/dev/null && hard_links=no
2136 1.1 mrg AC_MSG_RESULT([$hard_links])
2137 1.1.1.2 mrg if test no = "$hard_links"; then
2138 1.1.1.2 mrg AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
2139 1.1 mrg need_locks=warn
2140 1.1 mrg fi
2141 1.1 mrg else
2142 1.1 mrg need_locks=no
2143 1.1 mrg fi
2144 1.1 mrg _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2145 1.1 mrg ])# _LT_COMPILER_FILE_LOCKS
2146 1.1 mrg
2147 1.1 mrg
2148 1.1 mrg # _LT_CHECK_OBJDIR
2149 1.1 mrg # ----------------
2150 1.1 mrg m4_defun([_LT_CHECK_OBJDIR],
2151 1.1 mrg [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2152 1.1 mrg [rm -f .libs 2>/dev/null
2153 1.1 mrg mkdir .libs 2>/dev/null
2154 1.1 mrg if test -d .libs; then
2155 1.1 mrg lt_cv_objdir=.libs
2156 1.1 mrg else
2157 1.1 mrg # MS-DOS does not allow filenames that begin with a dot.
2158 1.1 mrg lt_cv_objdir=_libs
2159 1.1 mrg fi
2160 1.1 mrg rmdir .libs 2>/dev/null])
2161 1.1 mrg objdir=$lt_cv_objdir
2162 1.1 mrg _LT_DECL([], [objdir], [0],
2163 1.1 mrg [The name of the directory that contains temporary libtool files])dnl
2164 1.1 mrg m4_pattern_allow([LT_OBJDIR])dnl
2165 1.1.1.2 mrg AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2166 1.1.1.2 mrg [Define to the sub-directory where libtool stores uninstalled libraries.])
2167 1.1 mrg ])# _LT_CHECK_OBJDIR
2168 1.1 mrg
2169 1.1 mrg
2170 1.1 mrg # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2171 1.1 mrg # --------------------------------------
2172 1.1 mrg # Check hardcoding attributes.
2173 1.1 mrg m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2174 1.1 mrg [AC_MSG_CHECKING([how to hardcode library paths into programs])
2175 1.1 mrg _LT_TAGVAR(hardcode_action, $1)=
2176 1.1 mrg if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2177 1.1 mrg test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2178 1.1.1.2 mrg test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
2179 1.1 mrg
2180 1.1 mrg # We can hardcode non-existent directories.
2181 1.1.1.2 mrg if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
2182 1.1 mrg # If the only mechanism to avoid hardcoding is shlibpath_var, we
2183 1.1 mrg # have to relink, otherwise we might link with an installed library
2184 1.1 mrg # when we should be linking with a yet-to-be-installed one
2185 1.1.1.2 mrg ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2186 1.1.1.2 mrg test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
2187 1.1 mrg # Linking always hardcodes the temporary library directory.
2188 1.1 mrg _LT_TAGVAR(hardcode_action, $1)=relink
2189 1.1 mrg else
2190 1.1 mrg # We can link without hardcoding, and we can hardcode nonexisting dirs.
2191 1.1 mrg _LT_TAGVAR(hardcode_action, $1)=immediate
2192 1.1 mrg fi
2193 1.1 mrg else
2194 1.1 mrg # We cannot hardcode anything, or else we can only hardcode existing
2195 1.1 mrg # directories.
2196 1.1 mrg _LT_TAGVAR(hardcode_action, $1)=unsupported
2197 1.1 mrg fi
2198 1.1 mrg AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2199 1.1 mrg
2200 1.1.1.2 mrg if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2201 1.1.1.2 mrg test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
2202 1.1 mrg # Fast installation is not supported
2203 1.1 mrg enable_fast_install=no
2204 1.1.1.2 mrg elif test yes = "$shlibpath_overrides_runpath" ||
2205 1.1.1.2 mrg test no = "$enable_shared"; then
2206 1.1 mrg # Fast installation is not necessary
2207 1.1 mrg enable_fast_install=needless
2208 1.1 mrg fi
2209 1.1 mrg _LT_TAGDECL([], [hardcode_action], [0],
2210 1.1 mrg [How to hardcode a shared library path into an executable])
2211 1.1 mrg ])# _LT_LINKER_HARDCODE_LIBPATH
2212 1.1 mrg
2213 1.1 mrg
2214 1.1 mrg # _LT_CMD_STRIPLIB
2215 1.1 mrg # ----------------
2216 1.1 mrg m4_defun([_LT_CMD_STRIPLIB],
2217 1.1 mrg [m4_require([_LT_DECL_EGREP])
2218 1.1 mrg striplib=
2219 1.1 mrg old_striplib=
2220 1.1 mrg AC_MSG_CHECKING([whether stripping libraries is possible])
2221 1.1.1.4 mrg if test -z "$STRIP"; then
2222 1.1.1.4 mrg AC_MSG_RESULT([no])
2223 1.1 mrg else
2224 1.1.1.4 mrg if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2225 1.1.1.4 mrg old_striplib="$STRIP --strip-debug"
2226 1.1.1.4 mrg striplib="$STRIP --strip-unneeded"
2227 1.1.1.4 mrg AC_MSG_RESULT([yes])
2228 1.1.1.4 mrg else
2229 1.1.1.4 mrg case $host_os in
2230 1.1.1.4 mrg darwin*)
2231 1.1.1.4 mrg # FIXME - insert some real tests, host_os isn't really good enough
2232 1.1 mrg striplib="$STRIP -x"
2233 1.1 mrg old_striplib="$STRIP -S"
2234 1.1 mrg AC_MSG_RESULT([yes])
2235 1.1.1.4 mrg ;;
2236 1.1.1.4 mrg freebsd*)
2237 1.1.1.4 mrg if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
2238 1.1.1.4 mrg old_striplib="$STRIP --strip-debug"
2239 1.1.1.4 mrg striplib="$STRIP --strip-unneeded"
2240 1.1.1.4 mrg AC_MSG_RESULT([yes])
2241 1.1.1.4 mrg else
2242 1.1.1.4 mrg AC_MSG_RESULT([no])
2243 1.1.1.4 mrg fi
2244 1.1.1.4 mrg ;;
2245 1.1.1.4 mrg *)
2246 1.1 mrg AC_MSG_RESULT([no])
2247 1.1.1.4 mrg ;;
2248 1.1.1.4 mrg esac
2249 1.1.1.4 mrg fi
2250 1.1 mrg fi
2251 1.1 mrg _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2252 1.1 mrg _LT_DECL([], [striplib], [1])
2253 1.1 mrg ])# _LT_CMD_STRIPLIB
2254 1.1 mrg
2255 1.1 mrg
2256 1.1.1.2 mrg # _LT_PREPARE_MUNGE_PATH_LIST
2257 1.1.1.2 mrg # ---------------------------
2258 1.1.1.2 mrg # Make sure func_munge_path_list() is defined correctly.
2259 1.1.1.2 mrg m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2260 1.1.1.2 mrg [[# func_munge_path_list VARIABLE PATH
2261 1.1.1.2 mrg # -----------------------------------
2262 1.1.1.2 mrg # VARIABLE is name of variable containing _space_ separated list of
2263 1.1.1.2 mrg # directories to be munged by the contents of PATH, which is string
2264 1.1.1.2 mrg # having a format:
2265 1.1.1.2 mrg # "DIR[:DIR]:"
2266 1.1.1.2 mrg # string "DIR[ DIR]" will be prepended to VARIABLE
2267 1.1.1.2 mrg # ":DIR[:DIR]"
2268 1.1.1.2 mrg # string "DIR[ DIR]" will be appended to VARIABLE
2269 1.1.1.2 mrg # "DIRP[:DIRP]::[DIRA:]DIRA"
2270 1.1.1.2 mrg # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2271 1.1.1.2 mrg # "DIRA[ DIRA]" will be appended to VARIABLE
2272 1.1.1.2 mrg # "DIR[:DIR]"
2273 1.1.1.2 mrg # VARIABLE will be replaced by "DIR[ DIR]"
2274 1.1.1.2 mrg func_munge_path_list ()
2275 1.1.1.2 mrg {
2276 1.1.1.2 mrg case x@S|@2 in
2277 1.1.1.2 mrg x)
2278 1.1.1.2 mrg ;;
2279 1.1.1.2 mrg *:)
2280 1.1.1.3 mrg eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2281 1.1.1.2 mrg ;;
2282 1.1.1.2 mrg x:*)
2283 1.1.1.2 mrg eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2284 1.1.1.2 mrg ;;
2285 1.1.1.2 mrg *::*)
2286 1.1.1.2 mrg eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2287 1.1.1.2 mrg eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2288 1.1.1.2 mrg ;;
2289 1.1.1.2 mrg *)
2290 1.1.1.2 mrg eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2291 1.1.1.2 mrg ;;
2292 1.1.1.2 mrg esac
2293 1.1.1.2 mrg }
2294 1.1.1.2 mrg ]])# _LT_PREPARE_PATH_LIST
2295 1.1.1.2 mrg
2296 1.1.1.2 mrg
2297 1.1 mrg # _LT_SYS_DYNAMIC_LINKER([TAG])
2298 1.1 mrg # -----------------------------
2299 1.1 mrg # PORTME Fill in your ld.so characteristics
2300 1.1 mrg m4_defun([_LT_SYS_DYNAMIC_LINKER],
2301 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2302 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
2303 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2304 1.1 mrg m4_require([_LT_DECL_OBJDUMP])dnl
2305 1.1 mrg m4_require([_LT_DECL_SED])dnl
2306 1.1 mrg m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2307 1.1.1.2 mrg m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
2308 1.1 mrg AC_MSG_CHECKING([dynamic linker characteristics])
2309 1.1 mrg m4_if([$1],
2310 1.1 mrg [], [
2311 1.1.1.2 mrg if test yes = "$GCC"; then
2312 1.1 mrg case $host_os in
2313 1.1.1.2 mrg darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2314 1.1.1.2 mrg *) lt_awk_arg='/^libraries:/' ;;
2315 1.1 mrg esac
2316 1.1 mrg case $host_os in
2317 1.1.1.2 mrg mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2318 1.1.1.2 mrg *) lt_sed_strip_eq='s|=/|/|g' ;;
2319 1.1 mrg esac
2320 1.1 mrg lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2321 1.1 mrg case $lt_search_path_spec in
2322 1.1 mrg *\;*)
2323 1.1 mrg # if the path contains ";" then we assume it to be the separator
2324 1.1 mrg # otherwise default to the standard path separator (i.e. ":") - it is
2325 1.1 mrg # assumed that no part of a normal pathname contains ";" but that should
2326 1.1 mrg # okay in the real world where ";" in dirpaths is itself problematic.
2327 1.1 mrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2328 1.1 mrg ;;
2329 1.1 mrg *)
2330 1.1 mrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2331 1.1 mrg ;;
2332 1.1 mrg esac
2333 1.1 mrg # Ok, now we have the path, separated by spaces, we can step through it
2334 1.1.1.2 mrg # and add multilib dir if necessary...
2335 1.1 mrg lt_tmp_lt_search_path_spec=
2336 1.1.1.2 mrg lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2337 1.1.1.2 mrg # ...but if some path component already ends with the multilib dir we assume
2338 1.1.1.2 mrg # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2339 1.1.1.2 mrg case "$lt_multi_os_dir; $lt_search_path_spec " in
2340 1.1.1.2 mrg "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2341 1.1.1.2 mrg lt_multi_os_dir=
2342 1.1.1.2 mrg ;;
2343 1.1.1.2 mrg esac
2344 1.1 mrg for lt_sys_path in $lt_search_path_spec; do
2345 1.1.1.2 mrg if test -d "$lt_sys_path$lt_multi_os_dir"; then
2346 1.1.1.2 mrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2347 1.1.1.2 mrg elif test -n "$lt_multi_os_dir"; then
2348 1.1 mrg test -d "$lt_sys_path" && \
2349 1.1 mrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2350 1.1 mrg fi
2351 1.1 mrg done
2352 1.1 mrg lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2353 1.1.1.2 mrg BEGIN {RS = " "; FS = "/|\n";} {
2354 1.1.1.2 mrg lt_foo = "";
2355 1.1.1.2 mrg lt_count = 0;
2356 1.1 mrg for (lt_i = NF; lt_i > 0; lt_i--) {
2357 1.1 mrg if ($lt_i != "" && $lt_i != ".") {
2358 1.1 mrg if ($lt_i == "..") {
2359 1.1 mrg lt_count++;
2360 1.1 mrg } else {
2361 1.1 mrg if (lt_count == 0) {
2362 1.1.1.2 mrg lt_foo = "/" $lt_i lt_foo;
2363 1.1 mrg } else {
2364 1.1 mrg lt_count--;
2365 1.1 mrg }
2366 1.1 mrg }
2367 1.1 mrg }
2368 1.1 mrg }
2369 1.1 mrg if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2370 1.1 mrg if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2371 1.1 mrg }'`
2372 1.1 mrg # AWK program above erroneously prepends '/' to C:/dos/paths
2373 1.1 mrg # for these hosts.
2374 1.1 mrg case $host_os in
2375 1.1 mrg mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2376 1.1.1.2 mrg $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
2377 1.1 mrg esac
2378 1.1 mrg sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2379 1.1 mrg else
2380 1.1 mrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2381 1.1 mrg fi])
2382 1.1 mrg library_names_spec=
2383 1.1 mrg libname_spec='lib$name'
2384 1.1 mrg soname_spec=
2385 1.1.1.2 mrg shrext_cmds=.so
2386 1.1 mrg postinstall_cmds=
2387 1.1 mrg postuninstall_cmds=
2388 1.1 mrg finish_cmds=
2389 1.1 mrg finish_eval=
2390 1.1 mrg shlibpath_var=
2391 1.1 mrg shlibpath_overrides_runpath=unknown
2392 1.1 mrg version_type=none
2393 1.1 mrg dynamic_linker="$host_os ld.so"
2394 1.1 mrg sys_lib_dlsearch_path_spec="/lib /usr/lib"
2395 1.1 mrg need_lib_prefix=unknown
2396 1.1 mrg hardcode_into_libs=no
2397 1.1 mrg
2398 1.1 mrg # when you set need_version to no, make sure it does not cause -set_version
2399 1.1 mrg # flags to be left without arguments
2400 1.1 mrg need_version=unknown
2401 1.1 mrg
2402 1.1.1.2 mrg AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2403 1.1.1.2 mrg [User-defined run-time library search path.])
2404 1.1.1.2 mrg
2405 1.1 mrg case $host_os in
2406 1.1 mrg aix3*)
2407 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2408 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
2409 1.1 mrg shlibpath_var=LIBPATH
2410 1.1 mrg
2411 1.1 mrg # AIX 3 has no versioning support, so we append a major version to the name.
2412 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2413 1.1 mrg ;;
2414 1.1 mrg
2415 1.1 mrg aix[[4-9]]*)
2416 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2417 1.1 mrg need_lib_prefix=no
2418 1.1 mrg need_version=no
2419 1.1 mrg hardcode_into_libs=yes
2420 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
2421 1.1 mrg # AIX 5 supports IA64
2422 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
2423 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2424 1.1 mrg else
2425 1.1 mrg # With GCC up to 2.95.x, collect2 would create an import file
2426 1.1 mrg # for dependence libraries. The import file would start with
2427 1.1.1.2 mrg # the line '#! .'. This would cause the generated library to
2428 1.1.1.2 mrg # depend on '.', always an invalid library. This was fixed in
2429 1.1 mrg # development snapshots of GCC prior to 3.0.
2430 1.1 mrg case $host_os in
2431 1.1 mrg aix4 | aix4.[[01]] | aix4.[[01]].*)
2432 1.1 mrg if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2433 1.1 mrg echo ' yes '
2434 1.1.1.2 mrg echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
2435 1.1 mrg :
2436 1.1 mrg else
2437 1.1 mrg can_build_shared=no
2438 1.1 mrg fi
2439 1.1 mrg ;;
2440 1.1 mrg esac
2441 1.1.1.2 mrg # Using Import Files as archive members, it is possible to support
2442 1.1.1.2 mrg # filename-based versioning of shared library archives on AIX. While
2443 1.1.1.2 mrg # this would work for both with and without runtime linking, it will
2444 1.1.1.2 mrg # prevent static linking of such archives. So we do filename-based
2445 1.1.1.2 mrg # shared library versioning with .so extension only, which is used
2446 1.1.1.2 mrg # when both runtime linking and shared linking is enabled.
2447 1.1.1.2 mrg # Unfortunately, runtime linking may impact performance, so we do
2448 1.1.1.2 mrg # not want this to be the default eventually. Also, we use the
2449 1.1.1.2 mrg # versioned .so libs for executables only if there is the -brtl
2450 1.1.1.2 mrg # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
2451 1.1.1.2 mrg # To allow for filename-based versioning support, we need to create
2452 1.1.1.2 mrg # libNAME.so.V as an archive file, containing:
2453 1.1.1.2 mrg # *) an Import File, referring to the versioned filename of the
2454 1.1.1.2 mrg # archive as well as the shared archive member, telling the
2455 1.1.1.2 mrg # bitwidth (32 or 64) of that shared object, and providing the
2456 1.1.1.2 mrg # list of exported symbols of that shared object, eventually
2457 1.1.1.2 mrg # decorated with the 'weak' keyword
2458 1.1.1.2 mrg # *) the shared object with the F_LOADONLY flag set, to really avoid
2459 1.1.1.2 mrg # it being seen by the linker.
2460 1.1.1.2 mrg # At run time we better use the real file rather than another symlink,
2461 1.1.1.2 mrg # but for link time we create the symlink libNAME.so -> libNAME.so.V
2462 1.1.1.2 mrg
2463 1.1.1.2 mrg case $with_aix_soname,$aix_use_runtimelinking in
2464 1.1.1.2 mrg # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
2465 1.1 mrg # soname into executable. Probably we can add versioning support to
2466 1.1 mrg # collect2, so additional links can be useful in future.
2467 1.1.1.2 mrg aix,yes) # traditional libtool
2468 1.1.1.2 mrg dynamic_linker='AIX unversionable lib.so'
2469 1.1 mrg # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2470 1.1 mrg # instead of lib<name>.a to let people know that these are not
2471 1.1 mrg # typical AIX shared libraries.
2472 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2473 1.1.1.2 mrg ;;
2474 1.1.1.2 mrg aix,no) # traditional AIX only
2475 1.1.1.2 mrg dynamic_linker='AIX lib.a[(]lib.so.V[)]'
2476 1.1 mrg # We preserve .a as extension for shared libraries through AIX4.2
2477 1.1 mrg # and later when we are not doing run time linking.
2478 1.1.1.2 mrg library_names_spec='$libname$release.a $libname.a'
2479 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2480 1.1.1.2 mrg ;;
2481 1.1.1.2 mrg svr4,*) # full svr4 only
2482 1.1.1.2 mrg dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2483 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2484 1.1.1.2 mrg # We do not specify a path in Import Files, so LIBPATH fires.
2485 1.1.1.2 mrg shlibpath_overrides_runpath=yes
2486 1.1.1.2 mrg ;;
2487 1.1.1.2 mrg *,yes) # both, prefer svr4
2488 1.1.1.2 mrg dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2489 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2490 1.1.1.2 mrg # unpreferred sharedlib libNAME.a needs extra handling
2491 1.1.1.2 mrg postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
2492 1.1.1.2 mrg postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
2493 1.1.1.2 mrg # We do not specify a path in Import Files, so LIBPATH fires.
2494 1.1.1.2 mrg shlibpath_overrides_runpath=yes
2495 1.1.1.2 mrg ;;
2496 1.1.1.2 mrg *,no) # both, prefer aix
2497 1.1.1.2 mrg dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2498 1.1.1.2 mrg library_names_spec='$libname$release.a $libname.a'
2499 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2500 1.1.1.2 mrg # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2501 1.1.1.2 mrg postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
2502 1.1.1.2 mrg postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
2503 1.1.1.2 mrg ;;
2504 1.1.1.2 mrg esac
2505 1.1 mrg shlibpath_var=LIBPATH
2506 1.1 mrg fi
2507 1.1 mrg ;;
2508 1.1 mrg
2509 1.1 mrg amigaos*)
2510 1.1 mrg case $host_cpu in
2511 1.1 mrg powerpc)
2512 1.1 mrg # Since July 2007 AmigaOS4 officially supports .so libraries.
2513 1.1 mrg # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2514 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2515 1.1 mrg ;;
2516 1.1 mrg m68k)
2517 1.1 mrg library_names_spec='$libname.ixlibrary $libname.a'
2518 1.1 mrg # Create ${libname}_ixlibrary.a entries in /sys/libs.
2519 1.1.1.2 mrg finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2520 1.1 mrg ;;
2521 1.1 mrg esac
2522 1.1 mrg ;;
2523 1.1 mrg
2524 1.1 mrg beos*)
2525 1.1.1.2 mrg library_names_spec='$libname$shared_ext'
2526 1.1 mrg dynamic_linker="$host_os ld.so"
2527 1.1 mrg shlibpath_var=LIBRARY_PATH
2528 1.1 mrg ;;
2529 1.1 mrg
2530 1.1 mrg bsdi[[45]]*)
2531 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2532 1.1 mrg need_version=no
2533 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2534 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2535 1.1 mrg finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2536 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2537 1.1 mrg sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2538 1.1 mrg sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2539 1.1 mrg # the default ld.so.conf also contains /usr/contrib/lib and
2540 1.1 mrg # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2541 1.1 mrg # libtool to hard-code these into programs
2542 1.1 mrg ;;
2543 1.1 mrg
2544 1.1 mrg cygwin* | mingw* | pw32* | cegcc*)
2545 1.1 mrg version_type=windows
2546 1.1.1.2 mrg shrext_cmds=.dll
2547 1.1 mrg need_version=no
2548 1.1 mrg need_lib_prefix=no
2549 1.1 mrg
2550 1.1 mrg case $GCC,$cc_basename in
2551 1.1 mrg yes,*)
2552 1.1 mrg # gcc
2553 1.1 mrg library_names_spec='$libname.dll.a'
2554 1.1 mrg # DLL is installed to $(libdir)/../bin by postinstall_cmds
2555 1.1.1.2 mrg postinstall_cmds='base_file=`basename \$file`~
2556 1.1.1.2 mrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2557 1.1 mrg dldir=$destdir/`dirname \$dlpath`~
2558 1.1 mrg test -d \$dldir || mkdir -p \$dldir~
2559 1.1 mrg $install_prog $dir/$dlname \$dldir/$dlname~
2560 1.1 mrg chmod a+x \$dldir/$dlname~
2561 1.1 mrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2562 1.1 mrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2563 1.1 mrg fi'
2564 1.1 mrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2565 1.1 mrg dlpath=$dir/\$dldll~
2566 1.1 mrg $RM \$dlpath'
2567 1.1 mrg shlibpath_overrides_runpath=yes
2568 1.1 mrg
2569 1.1 mrg case $host_os in
2570 1.1 mrg cygwin*)
2571 1.1 mrg # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2572 1.1.1.4 mrg soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2573 1.1 mrg m4_if([$1], [],[
2574 1.1 mrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2575 1.1 mrg ;;
2576 1.1 mrg mingw* | cegcc*)
2577 1.1 mrg # MinGW DLLs use traditional 'lib' prefix
2578 1.1.1.2 mrg soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2579 1.1 mrg ;;
2580 1.1 mrg pw32*)
2581 1.1 mrg # pw32 DLLs use 'pw' prefix rather than 'lib'
2582 1.1.1.4 mrg library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2583 1.1 mrg ;;
2584 1.1 mrg esac
2585 1.1 mrg dynamic_linker='Win32 ld.exe'
2586 1.1 mrg ;;
2587 1.1 mrg
2588 1.1.1.4 mrg *,cl* | *,icl*)
2589 1.1.1.4 mrg # Native MSVC or ICC
2590 1.1 mrg libname_spec='$name'
2591 1.1.1.2 mrg soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2592 1.1.1.2 mrg library_names_spec='$libname.dll.lib'
2593 1.1 mrg
2594 1.1 mrg case $build_os in
2595 1.1 mrg mingw*)
2596 1.1 mrg sys_lib_search_path_spec=
2597 1.1 mrg lt_save_ifs=$IFS
2598 1.1 mrg IFS=';'
2599 1.1 mrg for lt_path in $LIB
2600 1.1 mrg do
2601 1.1 mrg IFS=$lt_save_ifs
2602 1.1 mrg # Let DOS variable expansion print the short 8.3 style file name.
2603 1.1 mrg lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2604 1.1 mrg sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2605 1.1 mrg done
2606 1.1 mrg IFS=$lt_save_ifs
2607 1.1 mrg # Convert to MSYS style.
2608 1.1.1.4 mrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2609 1.1 mrg ;;
2610 1.1 mrg cygwin*)
2611 1.1 mrg # Convert to unix form, then to dos form, then back to unix form
2612 1.1 mrg # but this time dos style (no spaces!) so that the unix form looks
2613 1.1 mrg # like /cygdrive/c/PROGRA~1:/cygdr...
2614 1.1 mrg sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2615 1.1 mrg sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2616 1.1 mrg sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2617 1.1 mrg ;;
2618 1.1 mrg *)
2619 1.1.1.2 mrg sys_lib_search_path_spec=$LIB
2620 1.1 mrg if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2621 1.1 mrg # It is most probably a Windows format PATH.
2622 1.1 mrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2623 1.1 mrg else
2624 1.1 mrg sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2625 1.1 mrg fi
2626 1.1 mrg # FIXME: find the short name or the path components, as spaces are
2627 1.1 mrg # common. (e.g. "Program Files" -> "PROGRA~1")
2628 1.1 mrg ;;
2629 1.1 mrg esac
2630 1.1 mrg
2631 1.1 mrg # DLL is installed to $(libdir)/../bin by postinstall_cmds
2632 1.1.1.2 mrg postinstall_cmds='base_file=`basename \$file`~
2633 1.1.1.2 mrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2634 1.1 mrg dldir=$destdir/`dirname \$dlpath`~
2635 1.1 mrg test -d \$dldir || mkdir -p \$dldir~
2636 1.1 mrg $install_prog $dir/$dlname \$dldir/$dlname'
2637 1.1 mrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2638 1.1 mrg dlpath=$dir/\$dldll~
2639 1.1 mrg $RM \$dlpath'
2640 1.1 mrg shlibpath_overrides_runpath=yes
2641 1.1 mrg dynamic_linker='Win32 link.exe'
2642 1.1 mrg ;;
2643 1.1 mrg
2644 1.1 mrg *)
2645 1.1.1.4 mrg # Assume MSVC and ICC wrapper
2646 1.1.1.2 mrg library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
2647 1.1 mrg dynamic_linker='Win32 ld.exe'
2648 1.1 mrg ;;
2649 1.1 mrg esac
2650 1.1 mrg # FIXME: first we should search . and the directory the executable is in
2651 1.1 mrg shlibpath_var=PATH
2652 1.1 mrg ;;
2653 1.1 mrg
2654 1.1 mrg darwin* | rhapsody*)
2655 1.1 mrg dynamic_linker="$host_os dyld"
2656 1.1 mrg version_type=darwin
2657 1.1 mrg need_lib_prefix=no
2658 1.1 mrg need_version=no
2659 1.1.1.2 mrg library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
2660 1.1.1.2 mrg soname_spec='$libname$release$major$shared_ext'
2661 1.1 mrg shlibpath_overrides_runpath=yes
2662 1.1 mrg shlibpath_var=DYLD_LIBRARY_PATH
2663 1.1 mrg shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2664 1.1 mrg m4_if([$1], [],[
2665 1.1 mrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2666 1.1 mrg sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2667 1.1 mrg ;;
2668 1.1 mrg
2669 1.1 mrg dgux*)
2670 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2671 1.1 mrg need_lib_prefix=no
2672 1.1 mrg need_version=no
2673 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2674 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2675 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2676 1.1 mrg ;;
2677 1.1 mrg
2678 1.1.1.4 mrg freebsd* | dragonfly* | midnightbsd*)
2679 1.1 mrg # DragonFly does not have aout. When/if they implement a new
2680 1.1 mrg # versioning mechanism, adjust this.
2681 1.1 mrg if test -x /usr/bin/objformat; then
2682 1.1 mrg objformat=`/usr/bin/objformat`
2683 1.1 mrg else
2684 1.1 mrg case $host_os in
2685 1.1.1.2 mrg freebsd[[23]].*) objformat=aout ;;
2686 1.1 mrg *) objformat=elf ;;
2687 1.1 mrg esac
2688 1.1 mrg fi
2689 1.1 mrg version_type=freebsd-$objformat
2690 1.1 mrg case $version_type in
2691 1.1 mrg freebsd-elf*)
2692 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2693 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2694 1.1 mrg need_version=no
2695 1.1 mrg need_lib_prefix=no
2696 1.1 mrg ;;
2697 1.1 mrg freebsd-*)
2698 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2699 1.1 mrg need_version=yes
2700 1.1 mrg ;;
2701 1.1 mrg esac
2702 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2703 1.1 mrg case $host_os in
2704 1.1.1.2 mrg freebsd2.*)
2705 1.1 mrg shlibpath_overrides_runpath=yes
2706 1.1 mrg ;;
2707 1.1 mrg freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2708 1.1 mrg shlibpath_overrides_runpath=yes
2709 1.1 mrg hardcode_into_libs=yes
2710 1.1 mrg ;;
2711 1.1 mrg freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2712 1.1 mrg freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2713 1.1 mrg shlibpath_overrides_runpath=no
2714 1.1 mrg hardcode_into_libs=yes
2715 1.1 mrg ;;
2716 1.1 mrg *) # from 4.6 on, and DragonFly
2717 1.1 mrg shlibpath_overrides_runpath=yes
2718 1.1 mrg hardcode_into_libs=yes
2719 1.1 mrg ;;
2720 1.1 mrg esac
2721 1.1 mrg ;;
2722 1.1 mrg
2723 1.1 mrg haiku*)
2724 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2725 1.1 mrg need_lib_prefix=no
2726 1.1 mrg need_version=no
2727 1.1 mrg dynamic_linker="$host_os runtime_loader"
2728 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2729 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2730 1.1 mrg shlibpath_var=LIBRARY_PATH
2731 1.1.1.2 mrg shlibpath_overrides_runpath=no
2732 1.1 mrg sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2733 1.1 mrg hardcode_into_libs=yes
2734 1.1 mrg ;;
2735 1.1 mrg
2736 1.1 mrg hpux9* | hpux10* | hpux11*)
2737 1.1 mrg # Give a soname corresponding to the major version so that dld.sl refuses to
2738 1.1 mrg # link against other versions.
2739 1.1 mrg version_type=sunos
2740 1.1 mrg need_lib_prefix=no
2741 1.1 mrg need_version=no
2742 1.1 mrg case $host_cpu in
2743 1.1 mrg ia64*)
2744 1.1 mrg shrext_cmds='.so'
2745 1.1 mrg hardcode_into_libs=yes
2746 1.1 mrg dynamic_linker="$host_os dld.so"
2747 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2748 1.1 mrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2749 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2750 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2751 1.1.1.2 mrg if test 32 = "$HPUX_IA64_MODE"; then
2752 1.1 mrg sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2753 1.1.1.2 mrg sys_lib_dlsearch_path_spec=/usr/lib/hpux32
2754 1.1 mrg else
2755 1.1 mrg sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2756 1.1.1.2 mrg sys_lib_dlsearch_path_spec=/usr/lib/hpux64
2757 1.1 mrg fi
2758 1.1 mrg ;;
2759 1.1 mrg hppa*64*)
2760 1.1 mrg shrext_cmds='.sl'
2761 1.1 mrg hardcode_into_libs=yes
2762 1.1 mrg dynamic_linker="$host_os dld.sl"
2763 1.1 mrg shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2764 1.1 mrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2765 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2766 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2767 1.1 mrg sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2768 1.1 mrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2769 1.1 mrg ;;
2770 1.1 mrg *)
2771 1.1 mrg shrext_cmds='.sl'
2772 1.1 mrg dynamic_linker="$host_os dld.sl"
2773 1.1 mrg shlibpath_var=SHLIB_PATH
2774 1.1 mrg shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2775 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2776 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2777 1.1 mrg ;;
2778 1.1 mrg esac
2779 1.1 mrg # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2780 1.1 mrg postinstall_cmds='chmod 555 $lib'
2781 1.1 mrg # or fails outright, so override atomically:
2782 1.1 mrg install_override_mode=555
2783 1.1 mrg ;;
2784 1.1 mrg
2785 1.1 mrg interix[[3-9]]*)
2786 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2787 1.1 mrg need_lib_prefix=no
2788 1.1 mrg need_version=no
2789 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2790 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2791 1.1 mrg dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2792 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2793 1.1 mrg shlibpath_overrides_runpath=no
2794 1.1 mrg hardcode_into_libs=yes
2795 1.1 mrg ;;
2796 1.1 mrg
2797 1.1 mrg irix5* | irix6* | nonstopux*)
2798 1.1 mrg case $host_os in
2799 1.1 mrg nonstopux*) version_type=nonstopux ;;
2800 1.1 mrg *)
2801 1.1.1.2 mrg if test yes = "$lt_cv_prog_gnu_ld"; then
2802 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2803 1.1 mrg else
2804 1.1 mrg version_type=irix
2805 1.1 mrg fi ;;
2806 1.1 mrg esac
2807 1.1 mrg need_lib_prefix=no
2808 1.1 mrg need_version=no
2809 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2810 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
2811 1.1 mrg case $host_os in
2812 1.1 mrg irix5* | nonstopux*)
2813 1.1 mrg libsuff= shlibsuff=
2814 1.1 mrg ;;
2815 1.1 mrg *)
2816 1.1 mrg case $LD in # libtool.m4 will add one of these switches to LD
2817 1.1 mrg *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2818 1.1 mrg libsuff= shlibsuff= libmagic=32-bit;;
2819 1.1 mrg *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2820 1.1 mrg libsuff=32 shlibsuff=N32 libmagic=N32;;
2821 1.1 mrg *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2822 1.1 mrg libsuff=64 shlibsuff=64 libmagic=64-bit;;
2823 1.1 mrg *) libsuff= shlibsuff= libmagic=never-match;;
2824 1.1 mrg esac
2825 1.1 mrg ;;
2826 1.1 mrg esac
2827 1.1 mrg shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2828 1.1 mrg shlibpath_overrides_runpath=no
2829 1.1.1.2 mrg sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2830 1.1.1.2 mrg sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
2831 1.1 mrg hardcode_into_libs=yes
2832 1.1 mrg ;;
2833 1.1 mrg
2834 1.1 mrg # No shared lib support for Linux oldld, aout, or coff.
2835 1.1 mrg linux*oldld* | linux*aout* | linux*coff*)
2836 1.1 mrg dynamic_linker=no
2837 1.1 mrg ;;
2838 1.1 mrg
2839 1.1.1.2 mrg linux*android*)
2840 1.1.1.2 mrg version_type=none # Android doesn't support versioned libraries.
2841 1.1.1.2 mrg need_lib_prefix=no
2842 1.1.1.2 mrg need_version=no
2843 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext'
2844 1.1.1.2 mrg soname_spec='$libname$release$shared_ext'
2845 1.1.1.2 mrg finish_cmds=
2846 1.1.1.2 mrg shlibpath_var=LD_LIBRARY_PATH
2847 1.1.1.2 mrg shlibpath_overrides_runpath=yes
2848 1.1.1.2 mrg
2849 1.1.1.2 mrg # This implies no fast_install, which is unacceptable.
2850 1.1.1.2 mrg # Some rework will be needed to allow for fast_install
2851 1.1.1.2 mrg # before this can be enabled.
2852 1.1.1.2 mrg hardcode_into_libs=yes
2853 1.1.1.2 mrg
2854 1.1.1.2 mrg dynamic_linker='Android linker'
2855 1.1.1.2 mrg # Don't embed -rpath directories since the linker doesn't support them.
2856 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2857 1.1.1.2 mrg ;;
2858 1.1.1.2 mrg
2859 1.1.1.2 mrg # This must be glibc/ELF.
2860 1.1.1.2 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
2861 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2862 1.1 mrg need_lib_prefix=no
2863 1.1 mrg need_version=no
2864 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2865 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2866 1.1 mrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2867 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2868 1.1 mrg shlibpath_overrides_runpath=no
2869 1.1 mrg
2870 1.1 mrg # Some binutils ld are patched to set DT_RUNPATH
2871 1.1 mrg AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2872 1.1 mrg [lt_cv_shlibpath_overrides_runpath=no
2873 1.1 mrg save_LDFLAGS=$LDFLAGS
2874 1.1 mrg save_libdir=$libdir
2875 1.1 mrg eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2876 1.1 mrg LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2877 1.1 mrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2878 1.1 mrg [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2879 1.1 mrg [lt_cv_shlibpath_overrides_runpath=yes])])
2880 1.1 mrg LDFLAGS=$save_LDFLAGS
2881 1.1 mrg libdir=$save_libdir
2882 1.1 mrg ])
2883 1.1 mrg shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2884 1.1 mrg
2885 1.1 mrg # This implies no fast_install, which is unacceptable.
2886 1.1 mrg # Some rework will be needed to allow for fast_install
2887 1.1 mrg # before this can be enabled.
2888 1.1 mrg hardcode_into_libs=yes
2889 1.1 mrg
2890 1.1.1.2 mrg # Ideally, we could use ldconfig to report *all* directores which are
2891 1.1.1.2 mrg # searched for libraries, however this is still not possible. Aside from not
2892 1.1.1.2 mrg # being certain /sbin/ldconfig is available, command
2893 1.1.1.2 mrg # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2894 1.1.1.2 mrg # even though it is searched at run-time. Try to do the best guess by
2895 1.1.1.2 mrg # appending ld.so.conf contents (and includes) to the search path.
2896 1.1 mrg if test -f /etc/ld.so.conf; then
2897 1.1 mrg lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
2898 1.1 mrg sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2899 1.1 mrg fi
2900 1.1 mrg
2901 1.1 mrg # We used to test for /lib/ld.so.1 and disable shared libraries on
2902 1.1 mrg # powerpc, because MkLinux only supported shared libraries with the
2903 1.1 mrg # GNU dynamic linker. Since this was broken with cross compilers,
2904 1.1 mrg # most powerpc-linux boxes support dynamic linking these days and
2905 1.1 mrg # people can always --disable-shared, the test was removed, and we
2906 1.1 mrg # assume the GNU/Linux dynamic linker is in use.
2907 1.1 mrg dynamic_linker='GNU/Linux ld.so'
2908 1.1 mrg ;;
2909 1.1 mrg
2910 1.1 mrg netbsd*)
2911 1.1 mrg version_type=sunos
2912 1.1 mrg need_lib_prefix=no
2913 1.1 mrg need_version=no
2914 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2915 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2916 1.1 mrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2917 1.1 mrg dynamic_linker='NetBSD (a.out) ld.so'
2918 1.1 mrg else
2919 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2920 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2921 1.1 mrg dynamic_linker='NetBSD ld.elf_so'
2922 1.1 mrg fi
2923 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2924 1.1 mrg shlibpath_overrides_runpath=yes
2925 1.1 mrg hardcode_into_libs=yes
2926 1.1 mrg ;;
2927 1.1 mrg
2928 1.1 mrg newsos6)
2929 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
2930 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2931 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2932 1.1 mrg shlibpath_overrides_runpath=yes
2933 1.1 mrg ;;
2934 1.1 mrg
2935 1.1 mrg *nto* | *qnx*)
2936 1.1 mrg version_type=qnx
2937 1.1 mrg need_lib_prefix=no
2938 1.1 mrg need_version=no
2939 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2940 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2941 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2942 1.1 mrg shlibpath_overrides_runpath=no
2943 1.1 mrg hardcode_into_libs=yes
2944 1.1 mrg dynamic_linker='ldqnx.so'
2945 1.1 mrg ;;
2946 1.1 mrg
2947 1.1.1.2 mrg openbsd* | bitrig*)
2948 1.1 mrg version_type=sunos
2949 1.1.1.2 mrg sys_lib_dlsearch_path_spec=/usr/lib
2950 1.1 mrg need_lib_prefix=no
2951 1.1.1.2 mrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
2952 1.1.1.2 mrg need_version=no
2953 1.1 mrg else
2954 1.1.1.2 mrg need_version=yes
2955 1.1 mrg fi
2956 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2957 1.1.1.2 mrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2958 1.1.1.2 mrg shlibpath_var=LD_LIBRARY_PATH
2959 1.1.1.2 mrg shlibpath_overrides_runpath=yes
2960 1.1 mrg ;;
2961 1.1 mrg
2962 1.1 mrg os2*)
2963 1.1 mrg libname_spec='$name'
2964 1.1.1.2 mrg version_type=windows
2965 1.1.1.2 mrg shrext_cmds=.dll
2966 1.1.1.2 mrg need_version=no
2967 1.1 mrg need_lib_prefix=no
2968 1.1.1.2 mrg # OS/2 can only load a DLL with a base name of 8 characters or less.
2969 1.1.1.2 mrg soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
2970 1.1.1.2 mrg v=$($ECHO $release$versuffix | tr -d .-);
2971 1.1.1.2 mrg n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
2972 1.1.1.2 mrg $ECHO $n$v`$shared_ext'
2973 1.1.1.2 mrg library_names_spec='${libname}_dll.$libext'
2974 1.1 mrg dynamic_linker='OS/2 ld.exe'
2975 1.1.1.2 mrg shlibpath_var=BEGINLIBPATH
2976 1.1.1.2 mrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2977 1.1.1.2 mrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2978 1.1.1.2 mrg postinstall_cmds='base_file=`basename \$file`~
2979 1.1.1.2 mrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
2980 1.1.1.2 mrg dldir=$destdir/`dirname \$dlpath`~
2981 1.1.1.2 mrg test -d \$dldir || mkdir -p \$dldir~
2982 1.1.1.2 mrg $install_prog $dir/$dlname \$dldir/$dlname~
2983 1.1.1.2 mrg chmod a+x \$dldir/$dlname~
2984 1.1.1.2 mrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2985 1.1.1.2 mrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2986 1.1.1.2 mrg fi'
2987 1.1.1.2 mrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
2988 1.1.1.2 mrg dlpath=$dir/\$dldll~
2989 1.1.1.2 mrg $RM \$dlpath'
2990 1.1 mrg ;;
2991 1.1 mrg
2992 1.1 mrg osf3* | osf4* | osf5*)
2993 1.1 mrg version_type=osf
2994 1.1 mrg need_lib_prefix=no
2995 1.1 mrg need_version=no
2996 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
2997 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2998 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
2999 1.1 mrg sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
3000 1.1.1.2 mrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
3001 1.1 mrg ;;
3002 1.1 mrg
3003 1.1 mrg rdos*)
3004 1.1 mrg dynamic_linker=no
3005 1.1 mrg ;;
3006 1.1 mrg
3007 1.1 mrg solaris*)
3008 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
3009 1.1 mrg need_lib_prefix=no
3010 1.1 mrg need_version=no
3011 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3012 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
3013 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3014 1.1 mrg shlibpath_overrides_runpath=yes
3015 1.1 mrg hardcode_into_libs=yes
3016 1.1 mrg # ldd complains unless libraries are executable
3017 1.1 mrg postinstall_cmds='chmod +x $lib'
3018 1.1 mrg ;;
3019 1.1 mrg
3020 1.1 mrg sunos4*)
3021 1.1 mrg version_type=sunos
3022 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3023 1.1 mrg finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3024 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3025 1.1 mrg shlibpath_overrides_runpath=yes
3026 1.1.1.2 mrg if test yes = "$with_gnu_ld"; then
3027 1.1 mrg need_lib_prefix=no
3028 1.1 mrg fi
3029 1.1 mrg need_version=yes
3030 1.1 mrg ;;
3031 1.1 mrg
3032 1.1 mrg sysv4 | sysv4.3*)
3033 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
3034 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3035 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
3036 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3037 1.1 mrg case $host_vendor in
3038 1.1 mrg sni)
3039 1.1 mrg shlibpath_overrides_runpath=no
3040 1.1 mrg need_lib_prefix=no
3041 1.1 mrg runpath_var=LD_RUN_PATH
3042 1.1 mrg ;;
3043 1.1 mrg siemens)
3044 1.1 mrg need_lib_prefix=no
3045 1.1 mrg ;;
3046 1.1 mrg motorola)
3047 1.1 mrg need_lib_prefix=no
3048 1.1 mrg need_version=no
3049 1.1 mrg shlibpath_overrides_runpath=no
3050 1.1 mrg sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3051 1.1 mrg ;;
3052 1.1 mrg esac
3053 1.1 mrg ;;
3054 1.1 mrg
3055 1.1 mrg sysv4*MP*)
3056 1.1.1.2 mrg if test -d /usr/nec; then
3057 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
3058 1.1.1.2 mrg library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3059 1.1.1.2 mrg soname_spec='$libname$shared_ext.$major'
3060 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3061 1.1 mrg fi
3062 1.1 mrg ;;
3063 1.1 mrg
3064 1.1 mrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3065 1.1.1.2 mrg version_type=sco
3066 1.1 mrg need_lib_prefix=no
3067 1.1 mrg need_version=no
3068 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3069 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
3070 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3071 1.1 mrg shlibpath_overrides_runpath=yes
3072 1.1 mrg hardcode_into_libs=yes
3073 1.1.1.2 mrg if test yes = "$with_gnu_ld"; then
3074 1.1 mrg sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3075 1.1 mrg else
3076 1.1 mrg sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3077 1.1 mrg case $host_os in
3078 1.1 mrg sco3.2v5*)
3079 1.1 mrg sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3080 1.1 mrg ;;
3081 1.1 mrg esac
3082 1.1 mrg fi
3083 1.1 mrg sys_lib_dlsearch_path_spec='/usr/lib'
3084 1.1 mrg ;;
3085 1.1 mrg
3086 1.1 mrg tpf*)
3087 1.1 mrg # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3088 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
3089 1.1 mrg need_lib_prefix=no
3090 1.1 mrg need_version=no
3091 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3092 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3093 1.1 mrg shlibpath_overrides_runpath=no
3094 1.1 mrg hardcode_into_libs=yes
3095 1.1 mrg ;;
3096 1.1 mrg
3097 1.1 mrg uts4*)
3098 1.1.1.2 mrg version_type=linux # correct to gnu/linux during the next big refactor
3099 1.1.1.2 mrg library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3100 1.1.1.2 mrg soname_spec='$libname$release$shared_ext$major'
3101 1.1 mrg shlibpath_var=LD_LIBRARY_PATH
3102 1.1 mrg ;;
3103 1.1 mrg
3104 1.1 mrg *)
3105 1.1 mrg dynamic_linker=no
3106 1.1 mrg ;;
3107 1.1 mrg esac
3108 1.1 mrg AC_MSG_RESULT([$dynamic_linker])
3109 1.1.1.2 mrg test no = "$dynamic_linker" && can_build_shared=no
3110 1.1 mrg
3111 1.1 mrg variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3112 1.1.1.2 mrg if test yes = "$GCC"; then
3113 1.1 mrg variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3114 1.1 mrg fi
3115 1.1 mrg
3116 1.1.1.2 mrg if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3117 1.1.1.2 mrg sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
3118 1.1 mrg fi
3119 1.1.1.2 mrg
3120 1.1.1.2 mrg if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3121 1.1.1.2 mrg sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
3122 1.1 mrg fi
3123 1.1 mrg
3124 1.1.1.3 mrg # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3125 1.1.1.3 mrg configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3126 1.1.1.2 mrg
3127 1.1.1.3 mrg # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3128 1.1.1.2 mrg func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3129 1.1.1.2 mrg
3130 1.1.1.3 mrg # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3131 1.1.1.3 mrg configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3132 1.1.1.3 mrg
3133 1.1 mrg _LT_DECL([], [variables_saved_for_relink], [1],
3134 1.1 mrg [Variables whose values should be saved in libtool wrapper scripts and
3135 1.1 mrg restored at link time])
3136 1.1 mrg _LT_DECL([], [need_lib_prefix], [0],
3137 1.1 mrg [Do we need the "lib" prefix for modules?])
3138 1.1 mrg _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3139 1.1 mrg _LT_DECL([], [version_type], [0], [Library versioning type])
3140 1.1 mrg _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3141 1.1 mrg _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3142 1.1 mrg _LT_DECL([], [shlibpath_overrides_runpath], [0],
3143 1.1 mrg [Is shlibpath searched before the hard-coded library search path?])
3144 1.1 mrg _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3145 1.1 mrg _LT_DECL([], [library_names_spec], [1],
3146 1.1 mrg [[List of archive names. First name is the real one, the rest are links.
3147 1.1 mrg The last name is the one that the linker finds with -lNAME]])
3148 1.1 mrg _LT_DECL([], [soname_spec], [1],
3149 1.1 mrg [[The coded name of the library, if different from the real name]])
3150 1.1 mrg _LT_DECL([], [install_override_mode], [1],
3151 1.1 mrg [Permission mode override for installation of shared libraries])
3152 1.1 mrg _LT_DECL([], [postinstall_cmds], [2],
3153 1.1 mrg [Command to use after installation of a shared archive])
3154 1.1 mrg _LT_DECL([], [postuninstall_cmds], [2],
3155 1.1 mrg [Command to use after uninstallation of a shared archive])
3156 1.1 mrg _LT_DECL([], [finish_cmds], [2],
3157 1.1 mrg [Commands used to finish a libtool library installation in a directory])
3158 1.1 mrg _LT_DECL([], [finish_eval], [1],
3159 1.1 mrg [[As "finish_cmds", except a single script fragment to be evaled but
3160 1.1 mrg not shown]])
3161 1.1 mrg _LT_DECL([], [hardcode_into_libs], [0],
3162 1.1 mrg [Whether we should hardcode library paths into libraries])
3163 1.1 mrg _LT_DECL([], [sys_lib_search_path_spec], [2],
3164 1.1 mrg [Compile-time system search path for libraries])
3165 1.1.1.3 mrg _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3166 1.1.1.3 mrg [Detected run-time system search path for libraries])
3167 1.1.1.3 mrg _LT_DECL([], [configure_time_lt_sys_library_path], [2],
3168 1.1.1.3 mrg [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
3169 1.1 mrg ])# _LT_SYS_DYNAMIC_LINKER
3170 1.1 mrg
3171 1.1 mrg
3172 1.1 mrg # _LT_PATH_TOOL_PREFIX(TOOL)
3173 1.1 mrg # --------------------------
3174 1.1.1.2 mrg # find a file program that can recognize shared library
3175 1.1 mrg AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3176 1.1 mrg [m4_require([_LT_DECL_EGREP])dnl
3177 1.1 mrg AC_MSG_CHECKING([for $1])
3178 1.1 mrg AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3179 1.1 mrg [case $MAGIC_CMD in
3180 1.1 mrg [[\\/*] | ?:[\\/]*])
3181 1.1.1.2 mrg lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
3182 1.1 mrg ;;
3183 1.1 mrg *)
3184 1.1.1.2 mrg lt_save_MAGIC_CMD=$MAGIC_CMD
3185 1.1.1.2 mrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3186 1.1 mrg dnl $ac_dummy forces splitting on constant user-supplied paths.
3187 1.1 mrg dnl POSIX.2 word splitting is done only on the output of word expansions,
3188 1.1 mrg dnl not every word. This closes a longstanding sh security hole.
3189 1.1 mrg ac_dummy="m4_if([$2], , $PATH, [$2])"
3190 1.1 mrg for ac_dir in $ac_dummy; do
3191 1.1.1.2 mrg IFS=$lt_save_ifs
3192 1.1 mrg test -z "$ac_dir" && ac_dir=.
3193 1.1.1.2 mrg if test -f "$ac_dir/$1"; then
3194 1.1.1.2 mrg lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
3195 1.1 mrg if test -n "$file_magic_test_file"; then
3196 1.1 mrg case $deplibs_check_method in
3197 1.1 mrg "file_magic "*)
3198 1.1 mrg file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3199 1.1.1.2 mrg MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3200 1.1 mrg if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3201 1.1 mrg $EGREP "$file_magic_regex" > /dev/null; then
3202 1.1 mrg :
3203 1.1 mrg else
3204 1.1 mrg cat <<_LT_EOF 1>&2
3205 1.1 mrg
3206 1.1 mrg *** Warning: the command libtool uses to detect shared libraries,
3207 1.1 mrg *** $file_magic_cmd, produces output that libtool cannot recognize.
3208 1.1 mrg *** The result is that libtool may fail to recognize shared libraries
3209 1.1 mrg *** as such. This will affect the creation of libtool libraries that
3210 1.1 mrg *** depend on shared libraries, but programs linked with such libtool
3211 1.1 mrg *** libraries will work regardless of this problem. Nevertheless, you
3212 1.1 mrg *** may want to report the problem to your system manager and/or to
3213 1.1 mrg *** bug-libtool (a] gnu.org
3214 1.1 mrg
3215 1.1 mrg _LT_EOF
3216 1.1 mrg fi ;;
3217 1.1 mrg esac
3218 1.1 mrg fi
3219 1.1 mrg break
3220 1.1 mrg fi
3221 1.1 mrg done
3222 1.1.1.2 mrg IFS=$lt_save_ifs
3223 1.1.1.2 mrg MAGIC_CMD=$lt_save_MAGIC_CMD
3224 1.1 mrg ;;
3225 1.1 mrg esac])
3226 1.1.1.2 mrg MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3227 1.1 mrg if test -n "$MAGIC_CMD"; then
3228 1.1 mrg AC_MSG_RESULT($MAGIC_CMD)
3229 1.1 mrg else
3230 1.1 mrg AC_MSG_RESULT(no)
3231 1.1 mrg fi
3232 1.1 mrg _LT_DECL([], [MAGIC_CMD], [0],
3233 1.1 mrg [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3234 1.1 mrg ])# _LT_PATH_TOOL_PREFIX
3235 1.1 mrg
3236 1.1 mrg # Old name:
3237 1.1 mrg AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3238 1.1 mrg dnl aclocal-1.4 backwards compatibility:
3239 1.1 mrg dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3240 1.1 mrg
3241 1.1 mrg
3242 1.1 mrg # _LT_PATH_MAGIC
3243 1.1 mrg # --------------
3244 1.1.1.2 mrg # find a file program that can recognize a shared library
3245 1.1 mrg m4_defun([_LT_PATH_MAGIC],
3246 1.1 mrg [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3247 1.1 mrg if test -z "$lt_cv_path_MAGIC_CMD"; then
3248 1.1 mrg if test -n "$ac_tool_prefix"; then
3249 1.1 mrg _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3250 1.1 mrg else
3251 1.1 mrg MAGIC_CMD=:
3252 1.1 mrg fi
3253 1.1 mrg fi
3254 1.1 mrg ])# _LT_PATH_MAGIC
3255 1.1 mrg
3256 1.1 mrg
3257 1.1 mrg # LT_PATH_LD
3258 1.1 mrg # ----------
3259 1.1 mrg # find the pathname to the GNU or non-GNU linker
3260 1.1 mrg AC_DEFUN([LT_PATH_LD],
3261 1.1 mrg [AC_REQUIRE([AC_PROG_CC])dnl
3262 1.1 mrg AC_REQUIRE([AC_CANONICAL_HOST])dnl
3263 1.1 mrg AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3264 1.1 mrg m4_require([_LT_DECL_SED])dnl
3265 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
3266 1.1 mrg m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3267 1.1 mrg
3268 1.1 mrg AC_ARG_WITH([gnu-ld],
3269 1.1 mrg [AS_HELP_STRING([--with-gnu-ld],
3270 1.1 mrg [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3271 1.1.1.2 mrg [test no = "$withval" || with_gnu_ld=yes],
3272 1.1 mrg [with_gnu_ld=no])dnl
3273 1.1 mrg
3274 1.1 mrg ac_prog=ld
3275 1.1.1.2 mrg if test yes = "$GCC"; then
3276 1.1 mrg # Check if gcc -print-prog-name=ld gives a path.
3277 1.1 mrg AC_MSG_CHECKING([for ld used by $CC])
3278 1.1 mrg case $host in
3279 1.1 mrg *-*-mingw*)
3280 1.1.1.2 mrg # gcc leaves a trailing carriage return, which upsets mingw
3281 1.1 mrg ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3282 1.1 mrg *)
3283 1.1 mrg ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3284 1.1 mrg esac
3285 1.1 mrg case $ac_prog in
3286 1.1 mrg # Accept absolute paths.
3287 1.1 mrg [[\\/]]* | ?:[[\\/]]*)
3288 1.1 mrg re_direlt='/[[^/]][[^/]]*/\.\./'
3289 1.1 mrg # Canonicalize the pathname of ld
3290 1.1 mrg ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3291 1.1 mrg while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3292 1.1 mrg ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3293 1.1 mrg done
3294 1.1.1.2 mrg test -z "$LD" && LD=$ac_prog
3295 1.1 mrg ;;
3296 1.1 mrg "")
3297 1.1 mrg # If it fails, then pretend we aren't using GCC.
3298 1.1 mrg ac_prog=ld
3299 1.1 mrg ;;
3300 1.1 mrg *)
3301 1.1 mrg # If it is relative, then search for the first ld in PATH.
3302 1.1 mrg with_gnu_ld=unknown
3303 1.1 mrg ;;
3304 1.1 mrg esac
3305 1.1.1.2 mrg elif test yes = "$with_gnu_ld"; then
3306 1.1 mrg AC_MSG_CHECKING([for GNU ld])
3307 1.1 mrg else
3308 1.1 mrg AC_MSG_CHECKING([for non-GNU ld])
3309 1.1 mrg fi
3310 1.1 mrg AC_CACHE_VAL(lt_cv_path_LD,
3311 1.1 mrg [if test -z "$LD"; then
3312 1.1.1.2 mrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3313 1.1 mrg for ac_dir in $PATH; do
3314 1.1.1.2 mrg IFS=$lt_save_ifs
3315 1.1 mrg test -z "$ac_dir" && ac_dir=.
3316 1.1 mrg if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3317 1.1.1.2 mrg lt_cv_path_LD=$ac_dir/$ac_prog
3318 1.1 mrg # Check to see if the program is GNU ld. I'd rather use --version,
3319 1.1 mrg # but apparently some variants of GNU ld only accept -v.
3320 1.1 mrg # Break only if it was the GNU/non-GNU ld that we prefer.
3321 1.1 mrg case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3322 1.1 mrg *GNU* | *'with BFD'*)
3323 1.1.1.2 mrg test no != "$with_gnu_ld" && break
3324 1.1 mrg ;;
3325 1.1 mrg *)
3326 1.1.1.2 mrg test yes != "$with_gnu_ld" && break
3327 1.1 mrg ;;
3328 1.1 mrg esac
3329 1.1 mrg fi
3330 1.1 mrg done
3331 1.1.1.2 mrg IFS=$lt_save_ifs
3332 1.1 mrg else
3333 1.1.1.2 mrg lt_cv_path_LD=$LD # Let the user override the test with a path.
3334 1.1 mrg fi])
3335 1.1.1.2 mrg LD=$lt_cv_path_LD
3336 1.1 mrg if test -n "$LD"; then
3337 1.1 mrg AC_MSG_RESULT($LD)
3338 1.1 mrg else
3339 1.1 mrg AC_MSG_RESULT(no)
3340 1.1 mrg fi
3341 1.1 mrg test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3342 1.1 mrg _LT_PATH_LD_GNU
3343 1.1 mrg AC_SUBST([LD])
3344 1.1 mrg
3345 1.1 mrg _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3346 1.1 mrg ])# LT_PATH_LD
3347 1.1 mrg
3348 1.1 mrg # Old names:
3349 1.1 mrg AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3350 1.1 mrg AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3351 1.1 mrg dnl aclocal-1.4 backwards compatibility:
3352 1.1 mrg dnl AC_DEFUN([AM_PROG_LD], [])
3353 1.1 mrg dnl AC_DEFUN([AC_PROG_LD], [])
3354 1.1 mrg
3355 1.1 mrg
3356 1.1 mrg # _LT_PATH_LD_GNU
3357 1.1 mrg #- --------------
3358 1.1 mrg m4_defun([_LT_PATH_LD_GNU],
3359 1.1 mrg [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3360 1.1 mrg [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3361 1.1 mrg case `$LD -v 2>&1 </dev/null` in
3362 1.1 mrg *GNU* | *'with BFD'*)
3363 1.1 mrg lt_cv_prog_gnu_ld=yes
3364 1.1 mrg ;;
3365 1.1 mrg *)
3366 1.1 mrg lt_cv_prog_gnu_ld=no
3367 1.1 mrg ;;
3368 1.1 mrg esac])
3369 1.1 mrg with_gnu_ld=$lt_cv_prog_gnu_ld
3370 1.1 mrg ])# _LT_PATH_LD_GNU
3371 1.1 mrg
3372 1.1 mrg
3373 1.1 mrg # _LT_CMD_RELOAD
3374 1.1 mrg # --------------
3375 1.1 mrg # find reload flag for linker
3376 1.1 mrg # -- PORTME Some linkers may need a different reload flag.
3377 1.1 mrg m4_defun([_LT_CMD_RELOAD],
3378 1.1 mrg [AC_CACHE_CHECK([for $LD option to reload object files],
3379 1.1 mrg lt_cv_ld_reload_flag,
3380 1.1 mrg [lt_cv_ld_reload_flag='-r'])
3381 1.1 mrg reload_flag=$lt_cv_ld_reload_flag
3382 1.1 mrg case $reload_flag in
3383 1.1 mrg "" | " "*) ;;
3384 1.1 mrg *) reload_flag=" $reload_flag" ;;
3385 1.1 mrg esac
3386 1.1 mrg reload_cmds='$LD$reload_flag -o $output$reload_objs'
3387 1.1 mrg case $host_os in
3388 1.1 mrg cygwin* | mingw* | pw32* | cegcc*)
3389 1.1.1.2 mrg if test yes != "$GCC"; then
3390 1.1 mrg reload_cmds=false
3391 1.1 mrg fi
3392 1.1 mrg ;;
3393 1.1 mrg darwin*)
3394 1.1.1.2 mrg if test yes = "$GCC"; then
3395 1.1.1.2 mrg reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
3396 1.1 mrg else
3397 1.1 mrg reload_cmds='$LD$reload_flag -o $output$reload_objs'
3398 1.1 mrg fi
3399 1.1 mrg ;;
3400 1.1 mrg esac
3401 1.1 mrg _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3402 1.1 mrg _LT_TAGDECL([], [reload_cmds], [2])dnl
3403 1.1 mrg ])# _LT_CMD_RELOAD
3404 1.1 mrg
3405 1.1 mrg
3406 1.1.1.2 mrg # _LT_PATH_DD
3407 1.1.1.2 mrg # -----------
3408 1.1.1.2 mrg # find a working dd
3409 1.1.1.2 mrg m4_defun([_LT_PATH_DD],
3410 1.1.1.2 mrg [AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3411 1.1.1.2 mrg [printf 0123456789abcdef0123456789abcdef >conftest.i
3412 1.1.1.2 mrg cat conftest.i conftest.i >conftest2.i
3413 1.1.1.2 mrg : ${lt_DD:=$DD}
3414 1.1.1.2 mrg AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3415 1.1.1.2 mrg [if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3416 1.1.1.2 mrg cmp -s conftest.i conftest.out \
3417 1.1.1.2 mrg && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3418 1.1.1.2 mrg fi])
3419 1.1.1.2 mrg rm -f conftest.i conftest2.i conftest.out])
3420 1.1.1.2 mrg ])# _LT_PATH_DD
3421 1.1.1.2 mrg
3422 1.1.1.2 mrg
3423 1.1.1.2 mrg # _LT_CMD_TRUNCATE
3424 1.1.1.2 mrg # ----------------
3425 1.1.1.2 mrg # find command to truncate a binary pipe
3426 1.1.1.2 mrg m4_defun([_LT_CMD_TRUNCATE],
3427 1.1.1.2 mrg [m4_require([_LT_PATH_DD])
3428 1.1.1.2 mrg AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3429 1.1.1.2 mrg [printf 0123456789abcdef0123456789abcdef >conftest.i
3430 1.1.1.2 mrg cat conftest.i conftest.i >conftest2.i
3431 1.1.1.2 mrg lt_cv_truncate_bin=
3432 1.1.1.2 mrg if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3433 1.1.1.2 mrg cmp -s conftest.i conftest.out \
3434 1.1.1.2 mrg && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3435 1.1.1.2 mrg fi
3436 1.1.1.2 mrg rm -f conftest.i conftest2.i conftest.out
3437 1.1.1.2 mrg test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3438 1.1.1.2 mrg _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3439 1.1.1.2 mrg [Command to truncate a binary pipe])
3440 1.1.1.2 mrg ])# _LT_CMD_TRUNCATE
3441 1.1.1.2 mrg
3442 1.1.1.2 mrg
3443 1.1 mrg # _LT_CHECK_MAGIC_METHOD
3444 1.1 mrg # ----------------------
3445 1.1 mrg # how to check for library dependencies
3446 1.1 mrg # -- PORTME fill in with the dynamic library characteristics
3447 1.1 mrg m4_defun([_LT_CHECK_MAGIC_METHOD],
3448 1.1 mrg [m4_require([_LT_DECL_EGREP])
3449 1.1 mrg m4_require([_LT_DECL_OBJDUMP])
3450 1.1 mrg AC_CACHE_CHECK([how to recognize dependent libraries],
3451 1.1 mrg lt_cv_deplibs_check_method,
3452 1.1 mrg [lt_cv_file_magic_cmd='$MAGIC_CMD'
3453 1.1 mrg lt_cv_file_magic_test_file=
3454 1.1 mrg lt_cv_deplibs_check_method='unknown'
3455 1.1 mrg # Need to set the preceding variable on all platforms that support
3456 1.1 mrg # interlibrary dependencies.
3457 1.1 mrg # 'none' -- dependencies not supported.
3458 1.1.1.2 mrg # 'unknown' -- same as none, but documents that we really don't know.
3459 1.1 mrg # 'pass_all' -- all dependencies passed with no checks.
3460 1.1 mrg # 'test_compile' -- check by making test program.
3461 1.1 mrg # 'file_magic [[regex]]' -- check by looking for files in library path
3462 1.1.1.2 mrg # that responds to the $file_magic_cmd with a given extended regex.
3463 1.1.1.2 mrg # If you have 'file' or equivalent on your system and you're not sure
3464 1.1.1.2 mrg # whether 'pass_all' will *always* work, you probably want this one.
3465 1.1 mrg
3466 1.1 mrg case $host_os in
3467 1.1 mrg aix[[4-9]]*)
3468 1.1 mrg lt_cv_deplibs_check_method=pass_all
3469 1.1 mrg ;;
3470 1.1 mrg
3471 1.1 mrg beos*)
3472 1.1 mrg lt_cv_deplibs_check_method=pass_all
3473 1.1 mrg ;;
3474 1.1 mrg
3475 1.1 mrg bsdi[[45]]*)
3476 1.1 mrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3477 1.1.1.4 mrg lt_cv_file_magic_cmd='$FILECMD -L'
3478 1.1 mrg lt_cv_file_magic_test_file=/shlib/libc.so
3479 1.1 mrg ;;
3480 1.1 mrg
3481 1.1 mrg cygwin*)
3482 1.1 mrg # func_win32_libid is a shell function defined in ltmain.sh
3483 1.1 mrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3484 1.1 mrg lt_cv_file_magic_cmd='func_win32_libid'
3485 1.1 mrg ;;
3486 1.1 mrg
3487 1.1 mrg mingw* | pw32*)
3488 1.1 mrg # Base MSYS/MinGW do not provide the 'file' command needed by
3489 1.1 mrg # func_win32_libid shell function, so use a weaker test based on 'objdump',
3490 1.1 mrg # unless we find 'file', for example because we are cross-compiling.
3491 1.1.1.2 mrg if ( file / ) >/dev/null 2>&1; then
3492 1.1 mrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3493 1.1 mrg lt_cv_file_magic_cmd='func_win32_libid'
3494 1.1 mrg else
3495 1.1 mrg # Keep this pattern in sync with the one in func_win32_libid.
3496 1.1 mrg lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3497 1.1 mrg lt_cv_file_magic_cmd='$OBJDUMP -f'
3498 1.1 mrg fi
3499 1.1 mrg ;;
3500 1.1 mrg
3501 1.1 mrg cegcc*)
3502 1.1 mrg # use the weaker test based on 'objdump'. See mingw*.
3503 1.1 mrg lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3504 1.1 mrg lt_cv_file_magic_cmd='$OBJDUMP -f'
3505 1.1 mrg ;;
3506 1.1 mrg
3507 1.1 mrg darwin* | rhapsody*)
3508 1.1 mrg lt_cv_deplibs_check_method=pass_all
3509 1.1 mrg ;;
3510 1.1 mrg
3511 1.1.1.4 mrg freebsd* | dragonfly* | midnightbsd*)
3512 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3513 1.1 mrg case $host_cpu in
3514 1.1 mrg i*86 )
3515 1.1 mrg # Not sure whether the presence of OpenBSD here was a mistake.
3516 1.1 mrg # Let's accept both of them until this is cleared up.
3517 1.1 mrg lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3518 1.1.1.4 mrg lt_cv_file_magic_cmd=$FILECMD
3519 1.1 mrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3520 1.1 mrg ;;
3521 1.1 mrg esac
3522 1.1 mrg else
3523 1.1 mrg lt_cv_deplibs_check_method=pass_all
3524 1.1 mrg fi
3525 1.1 mrg ;;
3526 1.1 mrg
3527 1.1 mrg haiku*)
3528 1.1 mrg lt_cv_deplibs_check_method=pass_all
3529 1.1 mrg ;;
3530 1.1 mrg
3531 1.1 mrg hpux10.20* | hpux11*)
3532 1.1.1.4 mrg lt_cv_file_magic_cmd=$FILECMD
3533 1.1 mrg case $host_cpu in
3534 1.1 mrg ia64*)
3535 1.1 mrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3536 1.1 mrg lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3537 1.1 mrg ;;
3538 1.1 mrg hppa*64*)
3539 1.1 mrg [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
3540 1.1 mrg lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3541 1.1 mrg ;;
3542 1.1 mrg *)
3543 1.1 mrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3544 1.1 mrg lt_cv_file_magic_test_file=/usr/lib/libc.sl
3545 1.1 mrg ;;
3546 1.1 mrg esac
3547 1.1 mrg ;;
3548 1.1 mrg
3549 1.1 mrg interix[[3-9]]*)
3550 1.1 mrg # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3551 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3552 1.1 mrg ;;
3553 1.1 mrg
3554 1.1 mrg irix5* | irix6* | nonstopux*)
3555 1.1 mrg case $LD in
3556 1.1 mrg *-32|*"-32 ") libmagic=32-bit;;
3557 1.1 mrg *-n32|*"-n32 ") libmagic=N32;;
3558 1.1 mrg *-64|*"-64 ") libmagic=64-bit;;
3559 1.1 mrg *) libmagic=never-match;;
3560 1.1 mrg esac
3561 1.1 mrg lt_cv_deplibs_check_method=pass_all
3562 1.1 mrg ;;
3563 1.1 mrg
3564 1.1.1.2 mrg # This must be glibc/ELF.
3565 1.1.1.2 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3566 1.1 mrg lt_cv_deplibs_check_method=pass_all
3567 1.1 mrg ;;
3568 1.1 mrg
3569 1.1.1.2 mrg netbsd*)
3570 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3571 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3572 1.1 mrg else
3573 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3574 1.1 mrg fi
3575 1.1 mrg ;;
3576 1.1 mrg
3577 1.1 mrg newos6*)
3578 1.1 mrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3579 1.1.1.4 mrg lt_cv_file_magic_cmd=$FILECMD
3580 1.1 mrg lt_cv_file_magic_test_file=/usr/lib/libnls.so
3581 1.1 mrg ;;
3582 1.1 mrg
3583 1.1 mrg *nto* | *qnx*)
3584 1.1 mrg lt_cv_deplibs_check_method=pass_all
3585 1.1 mrg ;;
3586 1.1 mrg
3587 1.1.1.2 mrg openbsd* | bitrig*)
3588 1.1.1.2 mrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3589 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3590 1.1 mrg else
3591 1.1 mrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3592 1.1 mrg fi
3593 1.1 mrg ;;
3594 1.1 mrg
3595 1.1 mrg osf3* | osf4* | osf5*)
3596 1.1 mrg lt_cv_deplibs_check_method=pass_all
3597 1.1 mrg ;;
3598 1.1 mrg
3599 1.1 mrg rdos*)
3600 1.1 mrg lt_cv_deplibs_check_method=pass_all
3601 1.1 mrg ;;
3602 1.1 mrg
3603 1.1 mrg solaris*)
3604 1.1 mrg lt_cv_deplibs_check_method=pass_all
3605 1.1 mrg ;;
3606 1.1 mrg
3607 1.1 mrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3608 1.1 mrg lt_cv_deplibs_check_method=pass_all
3609 1.1 mrg ;;
3610 1.1 mrg
3611 1.1 mrg sysv4 | sysv4.3*)
3612 1.1 mrg case $host_vendor in
3613 1.1 mrg motorola)
3614 1.1 mrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3615 1.1 mrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3616 1.1 mrg ;;
3617 1.1 mrg ncr)
3618 1.1 mrg lt_cv_deplibs_check_method=pass_all
3619 1.1 mrg ;;
3620 1.1 mrg sequent)
3621 1.1 mrg lt_cv_file_magic_cmd='/bin/file'
3622 1.1 mrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3623 1.1 mrg ;;
3624 1.1 mrg sni)
3625 1.1 mrg lt_cv_file_magic_cmd='/bin/file'
3626 1.1 mrg lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3627 1.1 mrg lt_cv_file_magic_test_file=/lib/libc.so
3628 1.1 mrg ;;
3629 1.1 mrg siemens)
3630 1.1 mrg lt_cv_deplibs_check_method=pass_all
3631 1.1 mrg ;;
3632 1.1 mrg pc)
3633 1.1 mrg lt_cv_deplibs_check_method=pass_all
3634 1.1 mrg ;;
3635 1.1 mrg esac
3636 1.1 mrg ;;
3637 1.1 mrg
3638 1.1 mrg tpf*)
3639 1.1 mrg lt_cv_deplibs_check_method=pass_all
3640 1.1 mrg ;;
3641 1.1.1.2 mrg os2*)
3642 1.1.1.2 mrg lt_cv_deplibs_check_method=pass_all
3643 1.1.1.2 mrg ;;
3644 1.1 mrg esac
3645 1.1 mrg ])
3646 1.1 mrg
3647 1.1 mrg file_magic_glob=
3648 1.1 mrg want_nocaseglob=no
3649 1.1 mrg if test "$build" = "$host"; then
3650 1.1 mrg case $host_os in
3651 1.1 mrg mingw* | pw32*)
3652 1.1 mrg if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3653 1.1 mrg want_nocaseglob=yes
3654 1.1 mrg else
3655 1.1 mrg file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3656 1.1 mrg fi
3657 1.1 mrg ;;
3658 1.1 mrg esac
3659 1.1 mrg fi
3660 1.1 mrg
3661 1.1 mrg file_magic_cmd=$lt_cv_file_magic_cmd
3662 1.1 mrg deplibs_check_method=$lt_cv_deplibs_check_method
3663 1.1 mrg test -z "$deplibs_check_method" && deplibs_check_method=unknown
3664 1.1 mrg
3665 1.1 mrg _LT_DECL([], [deplibs_check_method], [1],
3666 1.1 mrg [Method to check whether dependent libraries are shared objects])
3667 1.1 mrg _LT_DECL([], [file_magic_cmd], [1],
3668 1.1 mrg [Command to use when deplibs_check_method = "file_magic"])
3669 1.1 mrg _LT_DECL([], [file_magic_glob], [1],
3670 1.1 mrg [How to find potential files when deplibs_check_method = "file_magic"])
3671 1.1 mrg _LT_DECL([], [want_nocaseglob], [1],
3672 1.1 mrg [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3673 1.1 mrg ])# _LT_CHECK_MAGIC_METHOD
3674 1.1 mrg
3675 1.1 mrg
3676 1.1 mrg # LT_PATH_NM
3677 1.1 mrg # ----------
3678 1.1 mrg # find the pathname to a BSD- or MS-compatible name lister
3679 1.1 mrg AC_DEFUN([LT_PATH_NM],
3680 1.1 mrg [AC_REQUIRE([AC_PROG_CC])dnl
3681 1.1 mrg AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3682 1.1 mrg [if test -n "$NM"; then
3683 1.1 mrg # Let the user override the test.
3684 1.1.1.2 mrg lt_cv_path_NM=$NM
3685 1.1 mrg else
3686 1.1.1.2 mrg lt_nm_to_check=${ac_tool_prefix}nm
3687 1.1 mrg if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3688 1.1 mrg lt_nm_to_check="$lt_nm_to_check nm"
3689 1.1 mrg fi
3690 1.1 mrg for lt_tmp_nm in $lt_nm_to_check; do
3691 1.1.1.2 mrg lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3692 1.1 mrg for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3693 1.1.1.2 mrg IFS=$lt_save_ifs
3694 1.1 mrg test -z "$ac_dir" && ac_dir=.
3695 1.1.1.2 mrg tmp_nm=$ac_dir/$lt_tmp_nm
3696 1.1.1.2 mrg if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
3697 1.1 mrg # Check to see if the nm accepts a BSD-compat flag.
3698 1.1.1.2 mrg # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
3699 1.1 mrg # nm: unknown option "B" ignored
3700 1.1 mrg # Tru64's nm complains that /dev/null is an invalid object file
3701 1.1.1.2 mrg # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3702 1.1.1.2 mrg case $build_os in
3703 1.1.1.2 mrg mingw*) lt_bad_file=conftest.nm/nofile ;;
3704 1.1.1.2 mrg *) lt_bad_file=/dev/null ;;
3705 1.1.1.2 mrg esac
3706 1.1.1.4 mrg case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
3707 1.1.1.2 mrg *$lt_bad_file* | *'Invalid file or object type'*)
3708 1.1 mrg lt_cv_path_NM="$tmp_nm -B"
3709 1.1.1.2 mrg break 2
3710 1.1 mrg ;;
3711 1.1 mrg *)
3712 1.1.1.4 mrg case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
3713 1.1 mrg */dev/null*)
3714 1.1 mrg lt_cv_path_NM="$tmp_nm -p"
3715 1.1.1.2 mrg break 2
3716 1.1 mrg ;;
3717 1.1 mrg *)
3718 1.1 mrg lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3719 1.1 mrg continue # so that we can try to find one that supports BSD flags
3720 1.1 mrg ;;
3721 1.1 mrg esac
3722 1.1 mrg ;;
3723 1.1 mrg esac
3724 1.1 mrg fi
3725 1.1 mrg done
3726 1.1.1.2 mrg IFS=$lt_save_ifs
3727 1.1 mrg done
3728 1.1 mrg : ${lt_cv_path_NM=no}
3729 1.1 mrg fi])
3730 1.1.1.2 mrg if test no != "$lt_cv_path_NM"; then
3731 1.1.1.2 mrg NM=$lt_cv_path_NM
3732 1.1 mrg else
3733 1.1 mrg # Didn't find any BSD compatible name lister, look for dumpbin.
3734 1.1 mrg if test -n "$DUMPBIN"; then :
3735 1.1 mrg # Let the user override the test.
3736 1.1 mrg else
3737 1.1 mrg AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3738 1.1.1.4 mrg case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
3739 1.1 mrg *COFF*)
3740 1.1.1.2 mrg DUMPBIN="$DUMPBIN -symbols -headers"
3741 1.1 mrg ;;
3742 1.1 mrg *)
3743 1.1 mrg DUMPBIN=:
3744 1.1 mrg ;;
3745 1.1 mrg esac
3746 1.1 mrg fi
3747 1.1 mrg AC_SUBST([DUMPBIN])
3748 1.1.1.2 mrg if test : != "$DUMPBIN"; then
3749 1.1.1.2 mrg NM=$DUMPBIN
3750 1.1 mrg fi
3751 1.1 mrg fi
3752 1.1 mrg test -z "$NM" && NM=nm
3753 1.1 mrg AC_SUBST([NM])
3754 1.1 mrg _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3755 1.1 mrg
3756 1.1 mrg AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3757 1.1 mrg [lt_cv_nm_interface="BSD nm"
3758 1.1 mrg echo "int some_variable = 0;" > conftest.$ac_ext
3759 1.1 mrg (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3760 1.1 mrg (eval "$ac_compile" 2>conftest.err)
3761 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
3762 1.1 mrg (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3763 1.1 mrg (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3764 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
3765 1.1 mrg (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3766 1.1 mrg cat conftest.out >&AS_MESSAGE_LOG_FD
3767 1.1 mrg if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3768 1.1 mrg lt_cv_nm_interface="MS dumpbin"
3769 1.1 mrg fi
3770 1.1 mrg rm -f conftest*])
3771 1.1 mrg ])# LT_PATH_NM
3772 1.1 mrg
3773 1.1 mrg # Old names:
3774 1.1 mrg AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3775 1.1 mrg AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3776 1.1 mrg dnl aclocal-1.4 backwards compatibility:
3777 1.1 mrg dnl AC_DEFUN([AM_PROG_NM], [])
3778 1.1 mrg dnl AC_DEFUN([AC_PROG_NM], [])
3779 1.1 mrg
3780 1.1 mrg # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3781 1.1 mrg # --------------------------------
3782 1.1 mrg # how to determine the name of the shared library
3783 1.1 mrg # associated with a specific link library.
3784 1.1 mrg # -- PORTME fill in with the dynamic library characteristics
3785 1.1 mrg m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3786 1.1 mrg [m4_require([_LT_DECL_EGREP])
3787 1.1 mrg m4_require([_LT_DECL_OBJDUMP])
3788 1.1 mrg m4_require([_LT_DECL_DLLTOOL])
3789 1.1 mrg AC_CACHE_CHECK([how to associate runtime and link libraries],
3790 1.1 mrg lt_cv_sharedlib_from_linklib_cmd,
3791 1.1 mrg [lt_cv_sharedlib_from_linklib_cmd='unknown'
3792 1.1 mrg
3793 1.1 mrg case $host_os in
3794 1.1 mrg cygwin* | mingw* | pw32* | cegcc*)
3795 1.1.1.2 mrg # two different shell functions defined in ltmain.sh;
3796 1.1.1.2 mrg # decide which one to use based on capabilities of $DLLTOOL
3797 1.1 mrg case `$DLLTOOL --help 2>&1` in
3798 1.1 mrg *--identify-strict*)
3799 1.1 mrg lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3800 1.1 mrg ;;
3801 1.1 mrg *)
3802 1.1 mrg lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3803 1.1 mrg ;;
3804 1.1 mrg esac
3805 1.1 mrg ;;
3806 1.1 mrg *)
3807 1.1 mrg # fallback: assume linklib IS sharedlib
3808 1.1.1.2 mrg lt_cv_sharedlib_from_linklib_cmd=$ECHO
3809 1.1 mrg ;;
3810 1.1 mrg esac
3811 1.1 mrg ])
3812 1.1 mrg sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3813 1.1 mrg test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3814 1.1 mrg
3815 1.1 mrg _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3816 1.1 mrg [Command to associate shared and link libraries])
3817 1.1 mrg ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3818 1.1 mrg
3819 1.1 mrg
3820 1.1 mrg # _LT_PATH_MANIFEST_TOOL
3821 1.1 mrg # ----------------------
3822 1.1 mrg # locate the manifest tool
3823 1.1 mrg m4_defun([_LT_PATH_MANIFEST_TOOL],
3824 1.1 mrg [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3825 1.1 mrg test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3826 1.1 mrg AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3827 1.1 mrg [lt_cv_path_mainfest_tool=no
3828 1.1 mrg echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3829 1.1 mrg $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3830 1.1 mrg cat conftest.err >&AS_MESSAGE_LOG_FD
3831 1.1 mrg if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3832 1.1 mrg lt_cv_path_mainfest_tool=yes
3833 1.1 mrg fi
3834 1.1 mrg rm -f conftest*])
3835 1.1.1.2 mrg if test yes != "$lt_cv_path_mainfest_tool"; then
3836 1.1 mrg MANIFEST_TOOL=:
3837 1.1 mrg fi
3838 1.1 mrg _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3839 1.1 mrg ])# _LT_PATH_MANIFEST_TOOL
3840 1.1 mrg
3841 1.1 mrg
3842 1.1.1.2 mrg # _LT_DLL_DEF_P([FILE])
3843 1.1.1.2 mrg # ---------------------
3844 1.1.1.2 mrg # True iff FILE is a Windows DLL '.def' file.
3845 1.1.1.2 mrg # Keep in sync with func_dll_def_p in the libtool script
3846 1.1.1.2 mrg AC_DEFUN([_LT_DLL_DEF_P],
3847 1.1.1.2 mrg [dnl
3848 1.1.1.2 mrg test DEF = "`$SED -n dnl
3849 1.1.1.2 mrg -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
3850 1.1.1.2 mrg -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
3851 1.1.1.2 mrg -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
3852 1.1.1.2 mrg -e q dnl Only consider the first "real" line
3853 1.1.1.2 mrg $1`" dnl
3854 1.1.1.2 mrg ])# _LT_DLL_DEF_P
3855 1.1.1.2 mrg
3856 1.1.1.2 mrg
3857 1.1 mrg # LT_LIB_M
3858 1.1 mrg # --------
3859 1.1 mrg # check for math library
3860 1.1 mrg AC_DEFUN([LT_LIB_M],
3861 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3862 1.1 mrg LIBM=
3863 1.1 mrg case $host in
3864 1.1 mrg *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3865 1.1 mrg # These system don't have libm, or don't need it
3866 1.1 mrg ;;
3867 1.1 mrg *-ncr-sysv4.3*)
3868 1.1.1.2 mrg AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
3869 1.1 mrg AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3870 1.1 mrg ;;
3871 1.1 mrg *)
3872 1.1.1.2 mrg AC_CHECK_LIB(m, cos, LIBM=-lm)
3873 1.1 mrg ;;
3874 1.1 mrg esac
3875 1.1 mrg AC_SUBST([LIBM])
3876 1.1 mrg ])# LT_LIB_M
3877 1.1 mrg
3878 1.1 mrg # Old name:
3879 1.1 mrg AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3880 1.1 mrg dnl aclocal-1.4 backwards compatibility:
3881 1.1 mrg dnl AC_DEFUN([AC_CHECK_LIBM], [])
3882 1.1 mrg
3883 1.1 mrg
3884 1.1 mrg # _LT_COMPILER_NO_RTTI([TAGNAME])
3885 1.1 mrg # -------------------------------
3886 1.1 mrg m4_defun([_LT_COMPILER_NO_RTTI],
3887 1.1 mrg [m4_require([_LT_TAG_COMPILER])dnl
3888 1.1 mrg
3889 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3890 1.1 mrg
3891 1.1.1.2 mrg if test yes = "$GCC"; then
3892 1.1 mrg case $cc_basename in
3893 1.1 mrg nvcc*)
3894 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3895 1.1 mrg *)
3896 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3897 1.1 mrg esac
3898 1.1 mrg
3899 1.1 mrg _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3900 1.1 mrg lt_cv_prog_compiler_rtti_exceptions,
3901 1.1 mrg [-fno-rtti -fno-exceptions], [],
3902 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3903 1.1 mrg fi
3904 1.1 mrg _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3905 1.1 mrg [Compiler flag to turn off builtin functions])
3906 1.1 mrg ])# _LT_COMPILER_NO_RTTI
3907 1.1 mrg
3908 1.1 mrg
3909 1.1 mrg # _LT_CMD_GLOBAL_SYMBOLS
3910 1.1 mrg # ----------------------
3911 1.1 mrg m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3912 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3913 1.1 mrg AC_REQUIRE([AC_PROG_CC])dnl
3914 1.1 mrg AC_REQUIRE([AC_PROG_AWK])dnl
3915 1.1 mrg AC_REQUIRE([LT_PATH_NM])dnl
3916 1.1 mrg AC_REQUIRE([LT_PATH_LD])dnl
3917 1.1 mrg m4_require([_LT_DECL_SED])dnl
3918 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
3919 1.1 mrg m4_require([_LT_TAG_COMPILER])dnl
3920 1.1 mrg
3921 1.1 mrg # Check for command to grab the raw symbol name followed by C symbol from nm.
3922 1.1 mrg AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3923 1.1 mrg AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3924 1.1 mrg [
3925 1.1 mrg # These are sane defaults that work on at least a few old systems.
3926 1.1 mrg # [They come from Ultrix. What could be older than Ultrix?!! ;)]
3927 1.1 mrg
3928 1.1 mrg # Character class describing NM global symbol codes.
3929 1.1 mrg symcode='[[BCDEGRST]]'
3930 1.1 mrg
3931 1.1 mrg # Regexp to match symbols that can be accessed directly from C.
3932 1.1 mrg sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3933 1.1 mrg
3934 1.1 mrg # Define system-specific variables.
3935 1.1 mrg case $host_os in
3936 1.1 mrg aix*)
3937 1.1 mrg symcode='[[BCDT]]'
3938 1.1 mrg ;;
3939 1.1 mrg cygwin* | mingw* | pw32* | cegcc*)
3940 1.1 mrg symcode='[[ABCDGISTW]]'
3941 1.1 mrg ;;
3942 1.1 mrg hpux*)
3943 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
3944 1.1 mrg symcode='[[ABCDEGRST]]'
3945 1.1 mrg fi
3946 1.1 mrg ;;
3947 1.1 mrg irix* | nonstopux*)
3948 1.1 mrg symcode='[[BCDEGRST]]'
3949 1.1 mrg ;;
3950 1.1 mrg osf*)
3951 1.1 mrg symcode='[[BCDEGQRST]]'
3952 1.1 mrg ;;
3953 1.1 mrg solaris*)
3954 1.1 mrg symcode='[[BDRT]]'
3955 1.1 mrg ;;
3956 1.1 mrg sco3.2v5*)
3957 1.1 mrg symcode='[[DT]]'
3958 1.1 mrg ;;
3959 1.1 mrg sysv4.2uw2*)
3960 1.1 mrg symcode='[[DT]]'
3961 1.1 mrg ;;
3962 1.1 mrg sysv5* | sco5v6* | unixware* | OpenUNIX*)
3963 1.1 mrg symcode='[[ABDT]]'
3964 1.1 mrg ;;
3965 1.1 mrg sysv4)
3966 1.1 mrg symcode='[[DFNSTU]]'
3967 1.1 mrg ;;
3968 1.1 mrg esac
3969 1.1 mrg
3970 1.1 mrg # If we're using GNU nm, then use its standard symbol codes.
3971 1.1 mrg case `$NM -V 2>&1` in
3972 1.1 mrg *GNU* | *'with BFD'*)
3973 1.1 mrg symcode='[[ABCDGIRSTW]]' ;;
3974 1.1 mrg esac
3975 1.1 mrg
3976 1.1.1.2 mrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3977 1.1.1.2 mrg # Gets list of data symbols to import.
3978 1.1.1.4 mrg lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
3979 1.1.1.2 mrg # Adjust the below global symbol transforms to fixup imported variables.
3980 1.1.1.2 mrg lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
3981 1.1.1.2 mrg lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
3982 1.1.1.2 mrg lt_c_name_lib_hook="\
3983 1.1.1.2 mrg -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
3984 1.1.1.2 mrg -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
3985 1.1.1.2 mrg else
3986 1.1.1.2 mrg # Disable hooks by default.
3987 1.1.1.2 mrg lt_cv_sys_global_symbol_to_import=
3988 1.1.1.2 mrg lt_cdecl_hook=
3989 1.1.1.2 mrg lt_c_name_hook=
3990 1.1.1.2 mrg lt_c_name_lib_hook=
3991 1.1.1.2 mrg fi
3992 1.1.1.2 mrg
3993 1.1 mrg # Transform an extracted symbol line into a proper C declaration.
3994 1.1 mrg # Some systems (esp. on ia64) link data and code symbols differently,
3995 1.1 mrg # so use this general approach.
3996 1.1.1.4 mrg lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
3997 1.1.1.2 mrg $lt_cdecl_hook\
3998 1.1.1.2 mrg " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
3999 1.1.1.2 mrg " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
4000 1.1 mrg
4001 1.1 mrg # Transform an extracted symbol line into symbol name and symbol address
4002 1.1.1.4 mrg lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
4003 1.1.1.2 mrg $lt_c_name_hook\
4004 1.1.1.2 mrg " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4005 1.1.1.2 mrg " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
4006 1.1.1.2 mrg
4007 1.1.1.2 mrg # Transform an extracted symbol line into symbol name with lib prefix and
4008 1.1.1.2 mrg # symbol address.
4009 1.1.1.4 mrg lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
4010 1.1.1.2 mrg $lt_c_name_lib_hook\
4011 1.1.1.2 mrg " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4012 1.1.1.2 mrg " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
4013 1.1.1.2 mrg " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
4014 1.1 mrg
4015 1.1 mrg # Handle CRLF in mingw tool chain
4016 1.1 mrg opt_cr=
4017 1.1 mrg case $build_os in
4018 1.1 mrg mingw*)
4019 1.1 mrg opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4020 1.1 mrg ;;
4021 1.1 mrg esac
4022 1.1 mrg
4023 1.1 mrg # Try without a prefix underscore, then with it.
4024 1.1 mrg for ac_symprfx in "" "_"; do
4025 1.1 mrg
4026 1.1 mrg # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4027 1.1 mrg symxfrm="\\1 $ac_symprfx\\2 \\2"
4028 1.1 mrg
4029 1.1 mrg # Write the raw and C identifiers.
4030 1.1 mrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4031 1.1.1.2 mrg # Fake it for dumpbin and say T for any non-static function,
4032 1.1.1.2 mrg # D for any global variable and I for any imported variable.
4033 1.1.1.4 mrg # Also find C++ and __fastcall symbols from MSVC++ or ICC,
4034 1.1 mrg # which start with @ or ?.
4035 1.1 mrg lt_cv_sys_global_symbol_pipe="$AWK ['"\
4036 1.1 mrg " {last_section=section; section=\$ 3};"\
4037 1.1.1.2 mrg " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
4038 1.1 mrg " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4039 1.1.1.2 mrg " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4040 1.1.1.2 mrg " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4041 1.1.1.2 mrg " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
4042 1.1 mrg " \$ 0!~/External *\|/{next};"\
4043 1.1 mrg " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4044 1.1 mrg " {if(hide[section]) next};"\
4045 1.1.1.2 mrg " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
4046 1.1.1.2 mrg " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4047 1.1.1.2 mrg " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4048 1.1.1.2 mrg " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
4049 1.1 mrg " ' prfx=^$ac_symprfx]"
4050 1.1 mrg else
4051 1.1.1.4 mrg lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4052 1.1 mrg fi
4053 1.1.1.4 mrg lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
4054 1.1 mrg
4055 1.1 mrg # Check to see that the pipe works correctly.
4056 1.1 mrg pipe_works=no
4057 1.1 mrg
4058 1.1 mrg rm -f conftest*
4059 1.1 mrg cat > conftest.$ac_ext <<_LT_EOF
4060 1.1 mrg #ifdef __cplusplus
4061 1.1 mrg extern "C" {
4062 1.1 mrg #endif
4063 1.1 mrg char nm_test_var;
4064 1.1 mrg void nm_test_func(void);
4065 1.1 mrg void nm_test_func(void){}
4066 1.1 mrg #ifdef __cplusplus
4067 1.1 mrg }
4068 1.1 mrg #endif
4069 1.1 mrg int main(){nm_test_var='a';nm_test_func();return(0);}
4070 1.1 mrg _LT_EOF
4071 1.1 mrg
4072 1.1 mrg if AC_TRY_EVAL(ac_compile); then
4073 1.1 mrg # Now try to grab the symbols.
4074 1.1 mrg nlist=conftest.nm
4075 1.1 mrg if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
4076 1.1 mrg # Try sorting and uniquifying the output.
4077 1.1 mrg if sort "$nlist" | uniq > "$nlist"T; then
4078 1.1 mrg mv -f "$nlist"T "$nlist"
4079 1.1 mrg else
4080 1.1 mrg rm -f "$nlist"T
4081 1.1 mrg fi
4082 1.1 mrg
4083 1.1 mrg # Make sure that we snagged all the symbols we need.
4084 1.1 mrg if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4085 1.1 mrg if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4086 1.1 mrg cat <<_LT_EOF > conftest.$ac_ext
4087 1.1 mrg /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
4088 1.1.1.2 mrg #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4089 1.1.1.2 mrg /* DATA imports from DLLs on WIN32 can't be const, because runtime
4090 1.1 mrg relocations are performed -- see ld's documentation on pseudo-relocs. */
4091 1.1 mrg # define LT@&t@_DLSYM_CONST
4092 1.1.1.2 mrg #elif defined __osf__
4093 1.1 mrg /* This system does not cope well with relocations in const data. */
4094 1.1 mrg # define LT@&t@_DLSYM_CONST
4095 1.1 mrg #else
4096 1.1 mrg # define LT@&t@_DLSYM_CONST const
4097 1.1 mrg #endif
4098 1.1 mrg
4099 1.1 mrg #ifdef __cplusplus
4100 1.1 mrg extern "C" {
4101 1.1 mrg #endif
4102 1.1 mrg
4103 1.1 mrg _LT_EOF
4104 1.1 mrg # Now generate the symbol file.
4105 1.1 mrg eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4106 1.1 mrg
4107 1.1 mrg cat <<_LT_EOF >> conftest.$ac_ext
4108 1.1 mrg
4109 1.1 mrg /* The mapping between symbol names and symbols. */
4110 1.1 mrg LT@&t@_DLSYM_CONST struct {
4111 1.1 mrg const char *name;
4112 1.1 mrg void *address;
4113 1.1 mrg }
4114 1.1 mrg lt__PROGRAM__LTX_preloaded_symbols[[]] =
4115 1.1 mrg {
4116 1.1 mrg { "@PROGRAM@", (void *) 0 },
4117 1.1 mrg _LT_EOF
4118 1.1.1.2 mrg $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4119 1.1 mrg cat <<\_LT_EOF >> conftest.$ac_ext
4120 1.1 mrg {0, (void *) 0}
4121 1.1 mrg };
4122 1.1 mrg
4123 1.1 mrg /* This works around a problem in FreeBSD linker */
4124 1.1 mrg #ifdef FREEBSD_WORKAROUND
4125 1.1 mrg static const void *lt_preloaded_setup() {
4126 1.1 mrg return lt__PROGRAM__LTX_preloaded_symbols;
4127 1.1 mrg }
4128 1.1 mrg #endif
4129 1.1 mrg
4130 1.1 mrg #ifdef __cplusplus
4131 1.1 mrg }
4132 1.1 mrg #endif
4133 1.1 mrg _LT_EOF
4134 1.1 mrg # Now try linking the two files.
4135 1.1 mrg mv conftest.$ac_objext conftstm.$ac_objext
4136 1.1 mrg lt_globsym_save_LIBS=$LIBS
4137 1.1 mrg lt_globsym_save_CFLAGS=$CFLAGS
4138 1.1.1.2 mrg LIBS=conftstm.$ac_objext
4139 1.1 mrg CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4140 1.1.1.2 mrg if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
4141 1.1 mrg pipe_works=yes
4142 1.1 mrg fi
4143 1.1 mrg LIBS=$lt_globsym_save_LIBS
4144 1.1 mrg CFLAGS=$lt_globsym_save_CFLAGS
4145 1.1 mrg else
4146 1.1 mrg echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4147 1.1 mrg fi
4148 1.1 mrg else
4149 1.1 mrg echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4150 1.1 mrg fi
4151 1.1 mrg else
4152 1.1 mrg echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4153 1.1 mrg fi
4154 1.1 mrg else
4155 1.1 mrg echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4156 1.1 mrg cat conftest.$ac_ext >&5
4157 1.1 mrg fi
4158 1.1 mrg rm -rf conftest* conftst*
4159 1.1 mrg
4160 1.1 mrg # Do not use the global_symbol_pipe unless it works.
4161 1.1.1.2 mrg if test yes = "$pipe_works"; then
4162 1.1 mrg break
4163 1.1 mrg else
4164 1.1 mrg lt_cv_sys_global_symbol_pipe=
4165 1.1 mrg fi
4166 1.1 mrg done
4167 1.1 mrg ])
4168 1.1 mrg if test -z "$lt_cv_sys_global_symbol_pipe"; then
4169 1.1 mrg lt_cv_sys_global_symbol_to_cdecl=
4170 1.1 mrg fi
4171 1.1 mrg if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4172 1.1 mrg AC_MSG_RESULT(failed)
4173 1.1 mrg else
4174 1.1 mrg AC_MSG_RESULT(ok)
4175 1.1 mrg fi
4176 1.1 mrg
4177 1.1 mrg # Response file support.
4178 1.1 mrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4179 1.1 mrg nm_file_list_spec='@'
4180 1.1 mrg elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
4181 1.1 mrg nm_file_list_spec='@'
4182 1.1 mrg fi
4183 1.1 mrg
4184 1.1 mrg _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4185 1.1 mrg [Take the output of nm and produce a listing of raw symbols and C names])
4186 1.1 mrg _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4187 1.1 mrg [Transform the output of nm in a proper C declaration])
4188 1.1.1.2 mrg _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4189 1.1.1.2 mrg [Transform the output of nm into a list of symbols to manually relocate])
4190 1.1 mrg _LT_DECL([global_symbol_to_c_name_address],
4191 1.1 mrg [lt_cv_sys_global_symbol_to_c_name_address], [1],
4192 1.1 mrg [Transform the output of nm in a C name address pair])
4193 1.1 mrg _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4194 1.1 mrg [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4195 1.1 mrg [Transform the output of nm in a C name address pair when lib prefix is needed])
4196 1.1.1.2 mrg _LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4197 1.1.1.2 mrg [The name lister interface])
4198 1.1 mrg _LT_DECL([], [nm_file_list_spec], [1],
4199 1.1 mrg [Specify filename containing input files for $NM])
4200 1.1 mrg ]) # _LT_CMD_GLOBAL_SYMBOLS
4201 1.1 mrg
4202 1.1 mrg
4203 1.1 mrg # _LT_COMPILER_PIC([TAGNAME])
4204 1.1 mrg # ---------------------------
4205 1.1 mrg m4_defun([_LT_COMPILER_PIC],
4206 1.1 mrg [m4_require([_LT_TAG_COMPILER])dnl
4207 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)=
4208 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4209 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)=
4210 1.1 mrg
4211 1.1 mrg m4_if([$1], [CXX], [
4212 1.1 mrg # C++ specific cases for pic, static, wl, etc.
4213 1.1.1.2 mrg if test yes = "$GXX"; then
4214 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4215 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4216 1.1 mrg
4217 1.1 mrg case $host_os in
4218 1.1 mrg aix*)
4219 1.1 mrg # All AIX code is PIC.
4220 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
4221 1.1 mrg # AIX 5 now supports IA64 processor
4222 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4223 1.1 mrg fi
4224 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4225 1.1 mrg ;;
4226 1.1 mrg
4227 1.1 mrg amigaos*)
4228 1.1 mrg case $host_cpu in
4229 1.1 mrg powerpc)
4230 1.1 mrg # see comment about AmigaOS4 .so support
4231 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4232 1.1 mrg ;;
4233 1.1 mrg m68k)
4234 1.1 mrg # FIXME: we need at least 68020 code to build shared libraries, but
4235 1.1.1.2 mrg # adding the '-m68020' flag to GCC prevents building anything better,
4236 1.1.1.2 mrg # like '-m68040'.
4237 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4238 1.1 mrg ;;
4239 1.1 mrg esac
4240 1.1 mrg ;;
4241 1.1 mrg
4242 1.1 mrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4243 1.1 mrg # PIC is the default for these OSes.
4244 1.1 mrg ;;
4245 1.1 mrg mingw* | cygwin* | os2* | pw32* | cegcc*)
4246 1.1 mrg # This hack is so that the source file can tell whether it is being
4247 1.1 mrg # built for inclusion in a dll (and should export symbols for example).
4248 1.1 mrg # Although the cygwin gcc ignores -fPIC, still need this for old-style
4249 1.1 mrg # (--disable-auto-import) libraries
4250 1.1 mrg m4_if([$1], [GCJ], [],
4251 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4252 1.1.1.2 mrg case $host_os in
4253 1.1.1.2 mrg os2*)
4254 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4255 1.1.1.2 mrg ;;
4256 1.1.1.2 mrg esac
4257 1.1 mrg ;;
4258 1.1 mrg darwin* | rhapsody*)
4259 1.1 mrg # PIC is the default on this platform
4260 1.1 mrg # Common symbols not allowed in MH_DYLIB files
4261 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4262 1.1 mrg ;;
4263 1.1 mrg *djgpp*)
4264 1.1 mrg # DJGPP does not support shared libraries at all
4265 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4266 1.1 mrg ;;
4267 1.1 mrg haiku*)
4268 1.1 mrg # PIC is the default for Haiku.
4269 1.1 mrg # The "-static" flag exists, but is broken.
4270 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)=
4271 1.1 mrg ;;
4272 1.1 mrg interix[[3-9]]*)
4273 1.1 mrg # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4274 1.1 mrg # Instead, we relocate shared libraries at runtime.
4275 1.1 mrg ;;
4276 1.1 mrg sysv4*MP*)
4277 1.1 mrg if test -d /usr/nec; then
4278 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4279 1.1 mrg fi
4280 1.1 mrg ;;
4281 1.1 mrg hpux*)
4282 1.1 mrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4283 1.1 mrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4284 1.1 mrg # sets the default TLS model and affects inlining.
4285 1.1 mrg case $host_cpu in
4286 1.1 mrg hppa*64*)
4287 1.1 mrg ;;
4288 1.1 mrg *)
4289 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4290 1.1 mrg ;;
4291 1.1 mrg esac
4292 1.1 mrg ;;
4293 1.1 mrg *qnx* | *nto*)
4294 1.1 mrg # QNX uses GNU C++, but need to define -shared option too, otherwise
4295 1.1 mrg # it will coredump.
4296 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4297 1.1 mrg ;;
4298 1.1 mrg *)
4299 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4300 1.1 mrg ;;
4301 1.1 mrg esac
4302 1.1 mrg else
4303 1.1 mrg case $host_os in
4304 1.1 mrg aix[[4-9]]*)
4305 1.1 mrg # All AIX code is PIC.
4306 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
4307 1.1 mrg # AIX 5 now supports IA64 processor
4308 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4309 1.1 mrg else
4310 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4311 1.1 mrg fi
4312 1.1 mrg ;;
4313 1.1 mrg chorus*)
4314 1.1 mrg case $cc_basename in
4315 1.1 mrg cxch68*)
4316 1.1 mrg # Green Hills C++ Compiler
4317 1.1 mrg # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4318 1.1 mrg ;;
4319 1.1 mrg esac
4320 1.1 mrg ;;
4321 1.1 mrg mingw* | cygwin* | os2* | pw32* | cegcc*)
4322 1.1 mrg # This hack is so that the source file can tell whether it is being
4323 1.1 mrg # built for inclusion in a dll (and should export symbols for example).
4324 1.1 mrg m4_if([$1], [GCJ], [],
4325 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4326 1.1 mrg ;;
4327 1.1 mrg dgux*)
4328 1.1 mrg case $cc_basename in
4329 1.1 mrg ec++*)
4330 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4331 1.1 mrg ;;
4332 1.1 mrg ghcx*)
4333 1.1 mrg # Green Hills C++ Compiler
4334 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4335 1.1 mrg ;;
4336 1.1 mrg *)
4337 1.1 mrg ;;
4338 1.1 mrg esac
4339 1.1 mrg ;;
4340 1.1.1.4 mrg freebsd* | dragonfly* | midnightbsd*)
4341 1.1 mrg # FreeBSD uses GNU C++
4342 1.1 mrg ;;
4343 1.1 mrg hpux9* | hpux10* | hpux11*)
4344 1.1 mrg case $cc_basename in
4345 1.1 mrg CC*)
4346 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4347 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4348 1.1.1.2 mrg if test ia64 != "$host_cpu"; then
4349 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4350 1.1 mrg fi
4351 1.1 mrg ;;
4352 1.1 mrg aCC*)
4353 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4354 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4355 1.1 mrg case $host_cpu in
4356 1.1 mrg hppa*64*|ia64*)
4357 1.1 mrg # +Z the default
4358 1.1 mrg ;;
4359 1.1 mrg *)
4360 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4361 1.1 mrg ;;
4362 1.1 mrg esac
4363 1.1 mrg ;;
4364 1.1 mrg *)
4365 1.1 mrg ;;
4366 1.1 mrg esac
4367 1.1 mrg ;;
4368 1.1 mrg interix*)
4369 1.1 mrg # This is c89, which is MS Visual C++ (no shared libs)
4370 1.1 mrg # Anyone wants to do a port?
4371 1.1 mrg ;;
4372 1.1 mrg irix5* | irix6* | nonstopux*)
4373 1.1 mrg case $cc_basename in
4374 1.1 mrg CC*)
4375 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4376 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4377 1.1 mrg # CC pic flag -KPIC is the default.
4378 1.1 mrg ;;
4379 1.1 mrg *)
4380 1.1 mrg ;;
4381 1.1 mrg esac
4382 1.1 mrg ;;
4383 1.1.1.2 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4384 1.1 mrg case $cc_basename in
4385 1.1 mrg KCC*)
4386 1.1 mrg # KAI C++ Compiler
4387 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4388 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4389 1.1 mrg ;;
4390 1.1 mrg ecpc* )
4391 1.1.1.2 mrg # old Intel C++ for x86_64, which still supported -KPIC.
4392 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4393 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4394 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4395 1.1 mrg ;;
4396 1.1 mrg icpc* )
4397 1.1 mrg # Intel C++, used to be incompatible with GCC.
4398 1.1 mrg # ICC 10 doesn't accept -KPIC any more.
4399 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4400 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4401 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4402 1.1 mrg ;;
4403 1.1 mrg pgCC* | pgcpp*)
4404 1.1 mrg # Portland Group C++ compiler
4405 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4406 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4407 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4408 1.1 mrg ;;
4409 1.1 mrg cxx*)
4410 1.1 mrg # Compaq C++
4411 1.1 mrg # Make sure the PIC flag is empty. It appears that all Alpha
4412 1.1 mrg # Linux and Compaq Tru64 Unix objects are PIC.
4413 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4414 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4415 1.1 mrg ;;
4416 1.1 mrg xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4417 1.1 mrg # IBM XL 8.0, 9.0 on PPC and BlueGene
4418 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4419 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4420 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4421 1.1 mrg ;;
4422 1.1 mrg *)
4423 1.1.1.4 mrg case `$CC -V 2>&1 | $SED 5q` in
4424 1.1 mrg *Sun\ C*)
4425 1.1 mrg # Sun C++ 5.9
4426 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4427 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4428 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4429 1.1 mrg ;;
4430 1.1 mrg esac
4431 1.1 mrg ;;
4432 1.1 mrg esac
4433 1.1 mrg ;;
4434 1.1 mrg lynxos*)
4435 1.1 mrg ;;
4436 1.1 mrg m88k*)
4437 1.1 mrg ;;
4438 1.1 mrg mvs*)
4439 1.1 mrg case $cc_basename in
4440 1.1 mrg cxx*)
4441 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4442 1.1 mrg ;;
4443 1.1 mrg *)
4444 1.1 mrg ;;
4445 1.1 mrg esac
4446 1.1 mrg ;;
4447 1.1.1.2 mrg netbsd*)
4448 1.1 mrg ;;
4449 1.1 mrg *qnx* | *nto*)
4450 1.1 mrg # QNX uses GNU C++, but need to define -shared option too, otherwise
4451 1.1 mrg # it will coredump.
4452 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4453 1.1 mrg ;;
4454 1.1 mrg osf3* | osf4* | osf5*)
4455 1.1 mrg case $cc_basename in
4456 1.1 mrg KCC*)
4457 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4458 1.1 mrg ;;
4459 1.1 mrg RCC*)
4460 1.1 mrg # Rational C++ 2.4.1
4461 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4462 1.1 mrg ;;
4463 1.1 mrg cxx*)
4464 1.1 mrg # Digital/Compaq C++
4465 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4466 1.1 mrg # Make sure the PIC flag is empty. It appears that all Alpha
4467 1.1 mrg # Linux and Compaq Tru64 Unix objects are PIC.
4468 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4469 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4470 1.1 mrg ;;
4471 1.1 mrg *)
4472 1.1 mrg ;;
4473 1.1 mrg esac
4474 1.1 mrg ;;
4475 1.1 mrg psos*)
4476 1.1 mrg ;;
4477 1.1 mrg solaris*)
4478 1.1 mrg case $cc_basename in
4479 1.1 mrg CC* | sunCC*)
4480 1.1 mrg # Sun C++ 4.2, 5.x and Centerline C++
4481 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4482 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4483 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4484 1.1 mrg ;;
4485 1.1 mrg gcx*)
4486 1.1 mrg # Green Hills C++ Compiler
4487 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4488 1.1 mrg ;;
4489 1.1 mrg *)
4490 1.1 mrg ;;
4491 1.1 mrg esac
4492 1.1 mrg ;;
4493 1.1 mrg sunos4*)
4494 1.1 mrg case $cc_basename in
4495 1.1 mrg CC*)
4496 1.1 mrg # Sun C++ 4.x
4497 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4498 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4499 1.1 mrg ;;
4500 1.1 mrg lcc*)
4501 1.1 mrg # Lucid
4502 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4503 1.1 mrg ;;
4504 1.1 mrg *)
4505 1.1 mrg ;;
4506 1.1 mrg esac
4507 1.1 mrg ;;
4508 1.1 mrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4509 1.1 mrg case $cc_basename in
4510 1.1 mrg CC*)
4511 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4512 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4513 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4514 1.1 mrg ;;
4515 1.1 mrg esac
4516 1.1 mrg ;;
4517 1.1 mrg tandem*)
4518 1.1 mrg case $cc_basename in
4519 1.1 mrg NCC*)
4520 1.1 mrg # NonStop-UX NCC 3.20
4521 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4522 1.1 mrg ;;
4523 1.1 mrg *)
4524 1.1 mrg ;;
4525 1.1 mrg esac
4526 1.1 mrg ;;
4527 1.1 mrg vxworks*)
4528 1.1 mrg ;;
4529 1.1 mrg *)
4530 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4531 1.1 mrg ;;
4532 1.1 mrg esac
4533 1.1 mrg fi
4534 1.1 mrg ],
4535 1.1 mrg [
4536 1.1.1.2 mrg if test yes = "$GCC"; then
4537 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4538 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4539 1.1 mrg
4540 1.1 mrg case $host_os in
4541 1.1 mrg aix*)
4542 1.1 mrg # All AIX code is PIC.
4543 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
4544 1.1 mrg # AIX 5 now supports IA64 processor
4545 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4546 1.1 mrg fi
4547 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4548 1.1 mrg ;;
4549 1.1 mrg
4550 1.1 mrg amigaos*)
4551 1.1 mrg case $host_cpu in
4552 1.1 mrg powerpc)
4553 1.1 mrg # see comment about AmigaOS4 .so support
4554 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4555 1.1 mrg ;;
4556 1.1 mrg m68k)
4557 1.1 mrg # FIXME: we need at least 68020 code to build shared libraries, but
4558 1.1.1.2 mrg # adding the '-m68020' flag to GCC prevents building anything better,
4559 1.1.1.2 mrg # like '-m68040'.
4560 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4561 1.1 mrg ;;
4562 1.1 mrg esac
4563 1.1 mrg ;;
4564 1.1 mrg
4565 1.1 mrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4566 1.1 mrg # PIC is the default for these OSes.
4567 1.1 mrg ;;
4568 1.1 mrg
4569 1.1 mrg mingw* | cygwin* | pw32* | os2* | cegcc*)
4570 1.1 mrg # This hack is so that the source file can tell whether it is being
4571 1.1 mrg # built for inclusion in a dll (and should export symbols for example).
4572 1.1 mrg # Although the cygwin gcc ignores -fPIC, still need this for old-style
4573 1.1 mrg # (--disable-auto-import) libraries
4574 1.1 mrg m4_if([$1], [GCJ], [],
4575 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4576 1.1.1.2 mrg case $host_os in
4577 1.1.1.2 mrg os2*)
4578 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4579 1.1.1.2 mrg ;;
4580 1.1.1.2 mrg esac
4581 1.1 mrg ;;
4582 1.1 mrg
4583 1.1 mrg darwin* | rhapsody*)
4584 1.1 mrg # PIC is the default on this platform
4585 1.1 mrg # Common symbols not allowed in MH_DYLIB files
4586 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4587 1.1 mrg ;;
4588 1.1 mrg
4589 1.1 mrg haiku*)
4590 1.1 mrg # PIC is the default for Haiku.
4591 1.1 mrg # The "-static" flag exists, but is broken.
4592 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)=
4593 1.1 mrg ;;
4594 1.1 mrg
4595 1.1 mrg hpux*)
4596 1.1 mrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4597 1.1 mrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4598 1.1 mrg # sets the default TLS model and affects inlining.
4599 1.1 mrg case $host_cpu in
4600 1.1 mrg hppa*64*)
4601 1.1 mrg # +Z the default
4602 1.1 mrg ;;
4603 1.1 mrg *)
4604 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4605 1.1 mrg ;;
4606 1.1 mrg esac
4607 1.1 mrg ;;
4608 1.1 mrg
4609 1.1 mrg interix[[3-9]]*)
4610 1.1 mrg # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4611 1.1 mrg # Instead, we relocate shared libraries at runtime.
4612 1.1 mrg ;;
4613 1.1 mrg
4614 1.1 mrg msdosdjgpp*)
4615 1.1 mrg # Just because we use GCC doesn't mean we suddenly get shared libraries
4616 1.1 mrg # on systems that don't support them.
4617 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4618 1.1 mrg enable_shared=no
4619 1.1 mrg ;;
4620 1.1 mrg
4621 1.1 mrg *nto* | *qnx*)
4622 1.1 mrg # QNX uses GNU C++, but need to define -shared option too, otherwise
4623 1.1 mrg # it will coredump.
4624 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4625 1.1 mrg ;;
4626 1.1 mrg
4627 1.1 mrg sysv4*MP*)
4628 1.1 mrg if test -d /usr/nec; then
4629 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4630 1.1 mrg fi
4631 1.1 mrg ;;
4632 1.1 mrg
4633 1.1 mrg *)
4634 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4635 1.1 mrg ;;
4636 1.1 mrg esac
4637 1.1 mrg
4638 1.1 mrg case $cc_basename in
4639 1.1 mrg nvcc*) # Cuda Compiler Driver 2.2
4640 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4641 1.1.1.2 mrg if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4642 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4643 1.1.1.2 mrg fi
4644 1.1 mrg ;;
4645 1.1 mrg esac
4646 1.1 mrg else
4647 1.1 mrg # PORTME Check for flag to pass linker flags through the system compiler.
4648 1.1 mrg case $host_os in
4649 1.1 mrg aix*)
4650 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4651 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
4652 1.1 mrg # AIX 5 now supports IA64 processor
4653 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4654 1.1 mrg else
4655 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4656 1.1 mrg fi
4657 1.1 mrg ;;
4658 1.1 mrg
4659 1.1.1.2 mrg darwin* | rhapsody*)
4660 1.1.1.2 mrg # PIC is the default on this platform
4661 1.1.1.2 mrg # Common symbols not allowed in MH_DYLIB files
4662 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4663 1.1.1.2 mrg case $cc_basename in
4664 1.1.1.2 mrg nagfor*)
4665 1.1.1.2 mrg # NAG Fortran compiler
4666 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4667 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4668 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4669 1.1.1.2 mrg ;;
4670 1.1.1.2 mrg esac
4671 1.1.1.2 mrg ;;
4672 1.1.1.2 mrg
4673 1.1 mrg mingw* | cygwin* | pw32* | os2* | cegcc*)
4674 1.1 mrg # This hack is so that the source file can tell whether it is being
4675 1.1 mrg # built for inclusion in a dll (and should export symbols for example).
4676 1.1 mrg m4_if([$1], [GCJ], [],
4677 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4678 1.1.1.2 mrg case $host_os in
4679 1.1.1.2 mrg os2*)
4680 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4681 1.1.1.2 mrg ;;
4682 1.1.1.2 mrg esac
4683 1.1 mrg ;;
4684 1.1 mrg
4685 1.1 mrg hpux9* | hpux10* | hpux11*)
4686 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4687 1.1 mrg # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4688 1.1 mrg # not for PA HP-UX.
4689 1.1 mrg case $host_cpu in
4690 1.1 mrg hppa*64*|ia64*)
4691 1.1 mrg # +Z the default
4692 1.1 mrg ;;
4693 1.1 mrg *)
4694 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4695 1.1 mrg ;;
4696 1.1 mrg esac
4697 1.1 mrg # Is there a better lt_prog_compiler_static that works with the bundled CC?
4698 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4699 1.1 mrg ;;
4700 1.1 mrg
4701 1.1 mrg irix5* | irix6* | nonstopux*)
4702 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4703 1.1 mrg # PIC (with -KPIC) is the default.
4704 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4705 1.1 mrg ;;
4706 1.1 mrg
4707 1.1.1.2 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4708 1.1 mrg case $cc_basename in
4709 1.1.1.2 mrg # old Intel for x86_64, which still supported -KPIC.
4710 1.1 mrg ecc*)
4711 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4712 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4713 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4714 1.1 mrg ;;
4715 1.1 mrg # icc used to be incompatible with GCC.
4716 1.1 mrg # ICC 10 doesn't accept -KPIC any more.
4717 1.1 mrg icc* | ifort*)
4718 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4719 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4720 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4721 1.1 mrg ;;
4722 1.1 mrg # Lahey Fortran 8.1.
4723 1.1 mrg lf95*)
4724 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4725 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4726 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4727 1.1 mrg ;;
4728 1.1 mrg nagfor*)
4729 1.1 mrg # NAG Fortran compiler
4730 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4731 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4732 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4733 1.1 mrg ;;
4734 1.1.1.2 mrg tcc*)
4735 1.1.1.2 mrg # Fabrice Bellard et al's Tiny C Compiler
4736 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4737 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4738 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4739 1.1.1.2 mrg ;;
4740 1.1 mrg pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4741 1.1 mrg # Portland Group compilers (*not* the Pentium gcc compiler,
4742 1.1 mrg # which looks to be a dead project)
4743 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4744 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4745 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4746 1.1 mrg ;;
4747 1.1 mrg ccc*)
4748 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4749 1.1 mrg # All Alpha code is PIC.
4750 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4751 1.1 mrg ;;
4752 1.1 mrg xl* | bgxl* | bgf* | mpixl*)
4753 1.1 mrg # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4754 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4755 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4756 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4757 1.1 mrg ;;
4758 1.1 mrg *)
4759 1.1.1.4 mrg case `$CC -V 2>&1 | $SED 5q` in
4760 1.1.1.2 mrg *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4761 1.1 mrg # Sun Fortran 8.3 passes all unrecognized flags to the linker
4762 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4763 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4764 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4765 1.1 mrg ;;
4766 1.1.1.2 mrg *Sun\ F* | *Sun*Fortran*)
4767 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4768 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4769 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4770 1.1.1.2 mrg ;;
4771 1.1 mrg *Sun\ C*)
4772 1.1 mrg # Sun C 5.9
4773 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4774 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4775 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4776 1.1 mrg ;;
4777 1.1.1.2 mrg *Intel*\ [[CF]]*Compiler*)
4778 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4779 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4780 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4781 1.1.1.2 mrg ;;
4782 1.1.1.2 mrg *Portland\ Group*)
4783 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4784 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4785 1.1.1.2 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4786 1.1.1.2 mrg ;;
4787 1.1 mrg esac
4788 1.1 mrg ;;
4789 1.1 mrg esac
4790 1.1 mrg ;;
4791 1.1 mrg
4792 1.1 mrg newsos6)
4793 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4794 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4795 1.1 mrg ;;
4796 1.1 mrg
4797 1.1 mrg *nto* | *qnx*)
4798 1.1 mrg # QNX uses GNU C++, but need to define -shared option too, otherwise
4799 1.1 mrg # it will coredump.
4800 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4801 1.1 mrg ;;
4802 1.1 mrg
4803 1.1 mrg osf3* | osf4* | osf5*)
4804 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4805 1.1 mrg # All OSF/1 code is PIC.
4806 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4807 1.1 mrg ;;
4808 1.1 mrg
4809 1.1 mrg rdos*)
4810 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4811 1.1 mrg ;;
4812 1.1 mrg
4813 1.1 mrg solaris*)
4814 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4815 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4816 1.1 mrg case $cc_basename in
4817 1.1 mrg f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4818 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4819 1.1 mrg *)
4820 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4821 1.1 mrg esac
4822 1.1 mrg ;;
4823 1.1 mrg
4824 1.1 mrg sunos4*)
4825 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4826 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4827 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4828 1.1 mrg ;;
4829 1.1 mrg
4830 1.1 mrg sysv4 | sysv4.2uw2* | sysv4.3*)
4831 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4832 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4833 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4834 1.1 mrg ;;
4835 1.1 mrg
4836 1.1 mrg sysv4*MP*)
4837 1.1.1.2 mrg if test -d /usr/nec; then
4838 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4839 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4840 1.1 mrg fi
4841 1.1 mrg ;;
4842 1.1 mrg
4843 1.1 mrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4844 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4845 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4846 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4847 1.1 mrg ;;
4848 1.1 mrg
4849 1.1 mrg unicos*)
4850 1.1 mrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4851 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4852 1.1 mrg ;;
4853 1.1 mrg
4854 1.1 mrg uts4*)
4855 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4856 1.1 mrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4857 1.1 mrg ;;
4858 1.1 mrg
4859 1.1 mrg *)
4860 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4861 1.1 mrg ;;
4862 1.1 mrg esac
4863 1.1 mrg fi
4864 1.1 mrg ])
4865 1.1 mrg case $host_os in
4866 1.1.1.2 mrg # For platforms that do not support PIC, -DPIC is meaningless:
4867 1.1 mrg *djgpp*)
4868 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4869 1.1 mrg ;;
4870 1.1 mrg *)
4871 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4872 1.1 mrg ;;
4873 1.1 mrg esac
4874 1.1 mrg
4875 1.1 mrg AC_CACHE_CHECK([for $compiler option to produce PIC],
4876 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4877 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4878 1.1 mrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4879 1.1 mrg
4880 1.1 mrg #
4881 1.1 mrg # Check to make sure the PIC flag actually works.
4882 1.1 mrg #
4883 1.1 mrg if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4884 1.1 mrg _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4885 1.1 mrg [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4886 1.1 mrg [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4887 1.1 mrg [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4888 1.1 mrg "" | " "*) ;;
4889 1.1 mrg *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4890 1.1 mrg esac],
4891 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4892 1.1 mrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4893 1.1 mrg fi
4894 1.1 mrg _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4895 1.1 mrg [Additional compiler flags for building library objects])
4896 1.1 mrg
4897 1.1 mrg _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4898 1.1 mrg [How to pass a linker flag through the compiler])
4899 1.1 mrg #
4900 1.1 mrg # Check to make sure the static flag actually works.
4901 1.1 mrg #
4902 1.1 mrg wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4903 1.1 mrg _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4904 1.1 mrg _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4905 1.1 mrg $lt_tmp_static_flag,
4906 1.1 mrg [],
4907 1.1 mrg [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4908 1.1 mrg _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4909 1.1 mrg [Compiler flag to prevent dynamic linking])
4910 1.1 mrg ])# _LT_COMPILER_PIC
4911 1.1 mrg
4912 1.1 mrg
4913 1.1 mrg # _LT_LINKER_SHLIBS([TAGNAME])
4914 1.1 mrg # ----------------------------
4915 1.1 mrg # See if the linker supports building shared libraries.
4916 1.1 mrg m4_defun([_LT_LINKER_SHLIBS],
4917 1.1 mrg [AC_REQUIRE([LT_PATH_LD])dnl
4918 1.1 mrg AC_REQUIRE([LT_PATH_NM])dnl
4919 1.1 mrg m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4920 1.1 mrg m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4921 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
4922 1.1 mrg m4_require([_LT_DECL_SED])dnl
4923 1.1 mrg m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4924 1.1 mrg m4_require([_LT_TAG_COMPILER])dnl
4925 1.1 mrg AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4926 1.1 mrg m4_if([$1], [CXX], [
4927 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4928 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4929 1.1 mrg case $host_os in
4930 1.1 mrg aix[[4-9]]*)
4931 1.1 mrg # If we're using GNU nm, then we don't want the "-C" option.
4932 1.1.1.2 mrg # -C means demangle to GNU nm, but means don't demangle to AIX nm.
4933 1.1.1.2 mrg # Without the "-l" option, or with the "-B" option, AIX nm treats
4934 1.1.1.2 mrg # weak defined symbols like other global defined symbols, whereas
4935 1.1.1.2 mrg # GNU nm marks them as "W".
4936 1.1.1.2 mrg # While the 'weak' keyword is ignored in the Export File, we need
4937 1.1.1.2 mrg # it in the Import File for the 'aix-soname' feature, so we have
4938 1.1.1.2 mrg # to replace the "-B" option with "-P" for AIX nm.
4939 1.1 mrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4940 1.1.1.2 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
4941 1.1 mrg else
4942 1.1.1.4 mrg _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
4943 1.1 mrg fi
4944 1.1 mrg ;;
4945 1.1 mrg pw32*)
4946 1.1.1.2 mrg _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
4947 1.1 mrg ;;
4948 1.1 mrg cygwin* | mingw* | cegcc*)
4949 1.1 mrg case $cc_basename in
4950 1.1.1.4 mrg cl* | icl*)
4951 1.1.1.2 mrg _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4952 1.1.1.2 mrg ;;
4953 1.1 mrg *)
4954 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4955 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4956 1.1 mrg ;;
4957 1.1 mrg esac
4958 1.1 mrg ;;
4959 1.1 mrg *)
4960 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4961 1.1 mrg ;;
4962 1.1 mrg esac
4963 1.1 mrg ], [
4964 1.1 mrg runpath_var=
4965 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
4966 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
4967 1.1 mrg _LT_TAGVAR(archive_cmds, $1)=
4968 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=
4969 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=no
4970 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4971 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4972 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4973 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=no
4974 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
4975 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4976 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4977 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
4978 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=no
4979 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4980 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=no
4981 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=unknown
4982 1.1 mrg _LT_TAGVAR(module_cmds, $1)=
4983 1.1 mrg _LT_TAGVAR(module_expsym_cmds, $1)=
4984 1.1 mrg _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4985 1.1 mrg _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4986 1.1 mrg _LT_TAGVAR(thread_safe_flag_spec, $1)=
4987 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
4988 1.1 mrg # include_expsyms should be a list of space-separated symbols to be *always*
4989 1.1 mrg # included in the symbol list
4990 1.1 mrg _LT_TAGVAR(include_expsyms, $1)=
4991 1.1 mrg # exclude_expsyms can be an extended regexp of symbols to exclude
4992 1.1.1.2 mrg # it will be wrapped by ' (' and ')$', so one must not match beginning or
4993 1.1.1.2 mrg # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
4994 1.1.1.2 mrg # as well as any symbol that contains 'd'.
4995 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4996 1.1 mrg # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4997 1.1 mrg # platforms (ab)use it in PIC code, but their linkers get confused if
4998 1.1 mrg # the symbol is explicitly referenced. Since portable code cannot
4999 1.1 mrg # rely on this symbol name, it's probably fine to never include it in
5000 1.1 mrg # preloaded symbol tables.
5001 1.1 mrg # Exclude shared library initialization/finalization symbols.
5002 1.1 mrg dnl Note also adjust exclude_expsyms for C++ above.
5003 1.1 mrg extract_expsyms_cmds=
5004 1.1 mrg
5005 1.1 mrg case $host_os in
5006 1.1 mrg cygwin* | mingw* | pw32* | cegcc*)
5007 1.1.1.4 mrg # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
5008 1.1 mrg # When not using gcc, we currently assume that we are using
5009 1.1.1.4 mrg # Microsoft Visual C++ or Intel C++ Compiler.
5010 1.1.1.2 mrg if test yes != "$GCC"; then
5011 1.1 mrg with_gnu_ld=no
5012 1.1 mrg fi
5013 1.1 mrg ;;
5014 1.1 mrg interix*)
5015 1.1.1.4 mrg # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
5016 1.1 mrg with_gnu_ld=yes
5017 1.1 mrg ;;
5018 1.1.1.2 mrg openbsd* | bitrig*)
5019 1.1 mrg with_gnu_ld=no
5020 1.1 mrg ;;
5021 1.1 mrg esac
5022 1.1 mrg
5023 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
5024 1.1 mrg
5025 1.1 mrg # On some targets, GNU ld is compatible enough with the native linker
5026 1.1 mrg # that we're better off using the native interface for both.
5027 1.1 mrg lt_use_gnu_ld_interface=no
5028 1.1.1.2 mrg if test yes = "$with_gnu_ld"; then
5029 1.1 mrg case $host_os in
5030 1.1 mrg aix*)
5031 1.1 mrg # The AIX port of GNU ld has always aspired to compatibility
5032 1.1 mrg # with the native linker. However, as the warning in the GNU ld
5033 1.1 mrg # block says, versions before 2.19.5* couldn't really create working
5034 1.1 mrg # shared libraries, regardless of the interface used.
5035 1.1 mrg case `$LD -v 2>&1` in
5036 1.1 mrg *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
5037 1.1 mrg *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
5038 1.1 mrg *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
5039 1.1 mrg *)
5040 1.1 mrg lt_use_gnu_ld_interface=yes
5041 1.1 mrg ;;
5042 1.1 mrg esac
5043 1.1 mrg ;;
5044 1.1 mrg *)
5045 1.1 mrg lt_use_gnu_ld_interface=yes
5046 1.1 mrg ;;
5047 1.1 mrg esac
5048 1.1 mrg fi
5049 1.1 mrg
5050 1.1.1.2 mrg if test yes = "$lt_use_gnu_ld_interface"; then
5051 1.1 mrg # If archive_cmds runs LD, not CC, wlarc should be empty
5052 1.1.1.2 mrg wlarc='$wl'
5053 1.1 mrg
5054 1.1 mrg # Set some defaults for GNU ld with shared library support. These
5055 1.1 mrg # are reset later if shared libraries are not supported. Putting them
5056 1.1 mrg # here allows them to be overridden if necessary.
5057 1.1 mrg runpath_var=LD_RUN_PATH
5058 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5059 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
5060 1.1 mrg # ancient GNU ld didn't support --whole-archive et. al.
5061 1.1 mrg if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5062 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
5063 1.1 mrg else
5064 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
5065 1.1 mrg fi
5066 1.1 mrg supports_anon_versioning=no
5067 1.1.1.4 mrg case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
5068 1.1 mrg *GNU\ gold*) supports_anon_versioning=yes ;;
5069 1.1 mrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5070 1.1 mrg *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5071 1.1 mrg *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5072 1.1 mrg *\ 2.11.*) ;; # other 2.11 versions
5073 1.1 mrg *) supports_anon_versioning=yes ;;
5074 1.1 mrg esac
5075 1.1 mrg
5076 1.1 mrg # See if GNU ld supports shared libraries.
5077 1.1 mrg case $host_os in
5078 1.1 mrg aix[[3-9]]*)
5079 1.1 mrg # On AIX/PPC, the GNU linker is very broken
5080 1.1.1.2 mrg if test ia64 != "$host_cpu"; then
5081 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5082 1.1 mrg cat <<_LT_EOF 1>&2
5083 1.1 mrg
5084 1.1 mrg *** Warning: the GNU linker, at least up to release 2.19, is reported
5085 1.1 mrg *** to be unable to reliably create shared libraries on AIX.
5086 1.1 mrg *** Therefore, libtool is disabling shared libraries support. If you
5087 1.1 mrg *** really care for shared libraries, you may want to install binutils
5088 1.1 mrg *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
5089 1.1 mrg *** You will then need to restart the configuration process.
5090 1.1 mrg
5091 1.1 mrg _LT_EOF
5092 1.1 mrg fi
5093 1.1 mrg ;;
5094 1.1 mrg
5095 1.1 mrg amigaos*)
5096 1.1 mrg case $host_cpu in
5097 1.1 mrg powerpc)
5098 1.1 mrg # see comment about AmigaOS4 .so support
5099 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5100 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=''
5101 1.1 mrg ;;
5102 1.1 mrg m68k)
5103 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5104 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5105 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5106 1.1 mrg ;;
5107 1.1 mrg esac
5108 1.1 mrg ;;
5109 1.1 mrg
5110 1.1 mrg beos*)
5111 1.1 mrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5112 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5113 1.1 mrg # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
5114 1.1 mrg # support --undefined. This deserves some investigation. FIXME
5115 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5116 1.1 mrg else
5117 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5118 1.1 mrg fi
5119 1.1 mrg ;;
5120 1.1 mrg
5121 1.1 mrg cygwin* | mingw* | pw32* | cegcc*)
5122 1.1 mrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5123 1.1 mrg # as there is no search path for DLLs.
5124 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5125 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
5126 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5127 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
5128 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5129 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
5130 1.1 mrg _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
5131 1.1 mrg
5132 1.1 mrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5133 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5134 1.1.1.2 mrg # If the export-symbols file already is a .def file, use it as
5135 1.1.1.2 mrg # is; otherwise, prepend EXPORTS...
5136 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5137 1.1.1.2 mrg cp $export_symbols $output_objdir/$soname.def;
5138 1.1.1.2 mrg else
5139 1.1.1.2 mrg echo EXPORTS > $output_objdir/$soname.def;
5140 1.1.1.2 mrg cat $export_symbols >> $output_objdir/$soname.def;
5141 1.1.1.2 mrg fi~
5142 1.1.1.2 mrg $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5143 1.1 mrg else
5144 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5145 1.1 mrg fi
5146 1.1 mrg ;;
5147 1.1 mrg
5148 1.1 mrg haiku*)
5149 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5150 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
5151 1.1 mrg ;;
5152 1.1 mrg
5153 1.1.1.2 mrg os2*)
5154 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5155 1.1.1.2 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5156 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5157 1.1.1.2 mrg shrext_cmds=.dll
5158 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5159 1.1.1.2 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5160 1.1.1.2 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5161 1.1.1.2 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
5162 1.1.1.2 mrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5163 1.1.1.2 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5164 1.1.1.2 mrg emximp -o $lib $output_objdir/$libname.def'
5165 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5166 1.1.1.2 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5167 1.1.1.2 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5168 1.1.1.2 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
5169 1.1.1.2 mrg prefix_cmds="$SED"~
5170 1.1.1.2 mrg if test EXPORTS = "`$SED 1q $export_symbols`"; then
5171 1.1.1.2 mrg prefix_cmds="$prefix_cmds -e 1d";
5172 1.1.1.2 mrg fi~
5173 1.1.1.2 mrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5174 1.1.1.2 mrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5175 1.1.1.2 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5176 1.1.1.2 mrg emximp -o $lib $output_objdir/$libname.def'
5177 1.1.1.2 mrg _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5178 1.1.1.2 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5179 1.1.1.4 mrg _LT_TAGVAR(file_list_spec, $1)='@'
5180 1.1.1.2 mrg ;;
5181 1.1.1.2 mrg
5182 1.1 mrg interix[[3-9]]*)
5183 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
5184 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5185 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5186 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5187 1.1 mrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5188 1.1 mrg # Instead, shared libraries are loaded at an image base (0x10000000 by
5189 1.1 mrg # default) and relocated if they conflict, which is a slow very memory
5190 1.1 mrg # consuming and fragmenting process. To avoid this, we pick a random,
5191 1.1 mrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5192 1.1 mrg # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5193 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5194 1.1.1.4 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5195 1.1 mrg ;;
5196 1.1 mrg
5197 1.1 mrg gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5198 1.1 mrg tmp_diet=no
5199 1.1.1.2 mrg if test linux-dietlibc = "$host_os"; then
5200 1.1 mrg case $cc_basename in
5201 1.1 mrg diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5202 1.1 mrg esac
5203 1.1 mrg fi
5204 1.1 mrg if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5205 1.1.1.2 mrg && test no = "$tmp_diet"
5206 1.1 mrg then
5207 1.1 mrg tmp_addflag=' $pic_flag'
5208 1.1 mrg tmp_sharedflag='-shared'
5209 1.1 mrg case $cc_basename,$host_cpu in
5210 1.1 mrg pgcc*) # Portland Group C compiler
5211 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5212 1.1 mrg tmp_addflag=' $pic_flag'
5213 1.1 mrg ;;
5214 1.1 mrg pgf77* | pgf90* | pgf95* | pgfortran*)
5215 1.1 mrg # Portland Group f77 and f90 compilers
5216 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5217 1.1 mrg tmp_addflag=' $pic_flag -Mnomain' ;;
5218 1.1 mrg ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5219 1.1 mrg tmp_addflag=' -i_dynamic' ;;
5220 1.1 mrg efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5221 1.1 mrg tmp_addflag=' -i_dynamic -nofor_main' ;;
5222 1.1 mrg ifc* | ifort*) # Intel Fortran compiler
5223 1.1 mrg tmp_addflag=' -nofor_main' ;;
5224 1.1 mrg lf95*) # Lahey Fortran 8.1
5225 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
5226 1.1 mrg tmp_sharedflag='--shared' ;;
5227 1.1.1.2 mrg nagfor*) # NAGFOR 5.3
5228 1.1.1.2 mrg tmp_sharedflag='-Wl,-shared' ;;
5229 1.1 mrg xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5230 1.1 mrg tmp_sharedflag='-qmkshrobj'
5231 1.1 mrg tmp_addflag= ;;
5232 1.1 mrg nvcc*) # Cuda Compiler Driver 2.2
5233 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5234 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=yes
5235 1.1 mrg ;;
5236 1.1 mrg esac
5237 1.1.1.4 mrg case `$CC -V 2>&1 | $SED 5q` in
5238 1.1 mrg *Sun\ C*) # Sun C 5.9
5239 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5240 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=yes
5241 1.1 mrg tmp_sharedflag='-G' ;;
5242 1.1 mrg *Sun\ F*) # Sun Fortran 8.3
5243 1.1 mrg tmp_sharedflag='-G' ;;
5244 1.1 mrg esac
5245 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5246 1.1 mrg
5247 1.1.1.2 mrg if test yes = "$supports_anon_versioning"; then
5248 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5249 1.1.1.4 mrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5250 1.1.1.2 mrg echo "local: *; };" >> $output_objdir/$libname.ver~
5251 1.1.1.2 mrg $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
5252 1.1 mrg fi
5253 1.1 mrg
5254 1.1 mrg case $cc_basename in
5255 1.1.1.2 mrg tcc*)
5256 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5257 1.1.1.2 mrg ;;
5258 1.1 mrg xlf* | bgf* | bgxlf* | mpixlf*)
5259 1.1 mrg # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5260 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5261 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5262 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5263 1.1.1.2 mrg if test yes = "$supports_anon_versioning"; then
5264 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5265 1.1.1.4 mrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5266 1.1.1.2 mrg echo "local: *; };" >> $output_objdir/$libname.ver~
5267 1.1.1.2 mrg $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5268 1.1 mrg fi
5269 1.1 mrg ;;
5270 1.1 mrg esac
5271 1.1 mrg else
5272 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5273 1.1 mrg fi
5274 1.1 mrg ;;
5275 1.1 mrg
5276 1.1.1.2 mrg netbsd*)
5277 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5278 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5279 1.1 mrg wlarc=
5280 1.1 mrg else
5281 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5282 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5283 1.1 mrg fi
5284 1.1 mrg ;;
5285 1.1 mrg
5286 1.1 mrg solaris*)
5287 1.1 mrg if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5288 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5289 1.1 mrg cat <<_LT_EOF 1>&2
5290 1.1 mrg
5291 1.1 mrg *** Warning: The releases 2.8.* of the GNU linker cannot reliably
5292 1.1 mrg *** create shared libraries on Solaris systems. Therefore, libtool
5293 1.1 mrg *** is disabling shared libraries support. We urge you to upgrade GNU
5294 1.1 mrg *** binutils to release 2.9.1 or newer. Another option is to modify
5295 1.1 mrg *** your PATH or compiler configuration so that the native linker is
5296 1.1 mrg *** used, and then restart.
5297 1.1 mrg
5298 1.1 mrg _LT_EOF
5299 1.1 mrg elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5300 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5301 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5302 1.1 mrg else
5303 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5304 1.1 mrg fi
5305 1.1 mrg ;;
5306 1.1 mrg
5307 1.1 mrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5308 1.1 mrg case `$LD -v 2>&1` in
5309 1.1 mrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5310 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5311 1.1 mrg cat <<_LT_EOF 1>&2
5312 1.1 mrg
5313 1.1.1.2 mrg *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
5314 1.1 mrg *** reliably create shared libraries on SCO systems. Therefore, libtool
5315 1.1 mrg *** is disabling shared libraries support. We urge you to upgrade GNU
5316 1.1 mrg *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5317 1.1 mrg *** your PATH or compiler configuration so that the native linker is
5318 1.1 mrg *** used, and then restart.
5319 1.1 mrg
5320 1.1 mrg _LT_EOF
5321 1.1 mrg ;;
5322 1.1 mrg *)
5323 1.1 mrg # For security reasons, it is highly recommended that you always
5324 1.1 mrg # use absolute paths for naming shared libraries, and exclude the
5325 1.1 mrg # DT_RUNPATH tag from executables and libraries. But doing so
5326 1.1 mrg # requires that you compile everything twice, which is a pain.
5327 1.1 mrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5328 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5329 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5330 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5331 1.1 mrg else
5332 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5333 1.1 mrg fi
5334 1.1 mrg ;;
5335 1.1 mrg esac
5336 1.1 mrg ;;
5337 1.1 mrg
5338 1.1 mrg sunos4*)
5339 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5340 1.1 mrg wlarc=
5341 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5342 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5343 1.1 mrg ;;
5344 1.1 mrg
5345 1.1 mrg *)
5346 1.1 mrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5347 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5348 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5349 1.1 mrg else
5350 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5351 1.1 mrg fi
5352 1.1 mrg ;;
5353 1.1 mrg esac
5354 1.1 mrg
5355 1.1.1.2 mrg if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
5356 1.1 mrg runpath_var=
5357 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5358 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5359 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
5360 1.1 mrg fi
5361 1.1 mrg else
5362 1.1 mrg # PORTME fill in a description of your system's linker (not GNU ld)
5363 1.1 mrg case $host_os in
5364 1.1 mrg aix3*)
5365 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5366 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
5367 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
5368 1.1 mrg # Note: this linker hardcodes the directories in LIBPATH if there
5369 1.1 mrg # are no directories specified by -L.
5370 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5371 1.1.1.2 mrg if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
5372 1.1 mrg # Neither direct hardcoding nor static linking is supported with a
5373 1.1 mrg # broken collect2.
5374 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=unsupported
5375 1.1 mrg fi
5376 1.1 mrg ;;
5377 1.1 mrg
5378 1.1 mrg aix[[4-9]]*)
5379 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
5380 1.1 mrg # On IA64, the linker does run time linking by default, so we don't
5381 1.1 mrg # have to do anything special.
5382 1.1 mrg aix_use_runtimelinking=no
5383 1.1 mrg exp_sym_flag='-Bexport'
5384 1.1.1.2 mrg no_entry_flag=
5385 1.1 mrg else
5386 1.1 mrg # If we're using GNU nm, then we don't want the "-C" option.
5387 1.1.1.2 mrg # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5388 1.1.1.2 mrg # Without the "-l" option, or with the "-B" option, AIX nm treats
5389 1.1.1.2 mrg # weak defined symbols like other global defined symbols, whereas
5390 1.1.1.2 mrg # GNU nm marks them as "W".
5391 1.1.1.2 mrg # While the 'weak' keyword is ignored in the Export File, we need
5392 1.1.1.2 mrg # it in the Import File for the 'aix-soname' feature, so we have
5393 1.1.1.2 mrg # to replace the "-B" option with "-P" for AIX nm.
5394 1.1 mrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5395 1.1.1.2 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
5396 1.1 mrg else
5397 1.1.1.4 mrg _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
5398 1.1 mrg fi
5399 1.1 mrg aix_use_runtimelinking=no
5400 1.1 mrg
5401 1.1 mrg # Test if we are trying to use run time linking or normal
5402 1.1 mrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5403 1.1.1.2 mrg # have runtime linking enabled, and use it for executables.
5404 1.1.1.2 mrg # For shared libraries, we enable/disable runtime linking
5405 1.1.1.2 mrg # depending on the kind of the shared library created -
5406 1.1.1.2 mrg # when "with_aix_soname,aix_use_runtimelinking" is:
5407 1.1.1.2 mrg # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
5408 1.1.1.2 mrg # "aix,yes" lib.so shared, rtl:yes, for executables
5409 1.1.1.2 mrg # lib.a static archive
5410 1.1.1.2 mrg # "both,no" lib.so.V(shr.o) shared, rtl:yes
5411 1.1.1.2 mrg # lib.a(lib.so.V) shared, rtl:no, for executables
5412 1.1.1.2 mrg # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5413 1.1.1.2 mrg # lib.a(lib.so.V) shared, rtl:no
5414 1.1.1.2 mrg # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
5415 1.1.1.2 mrg # lib.a static archive
5416 1.1 mrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5417 1.1 mrg for ld_flag in $LDFLAGS; do
5418 1.1.1.2 mrg if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
5419 1.1 mrg aix_use_runtimelinking=yes
5420 1.1 mrg break
5421 1.1 mrg fi
5422 1.1 mrg done
5423 1.1.1.2 mrg if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5424 1.1.1.2 mrg # With aix-soname=svr4, we create the lib.so.V shared archives only,
5425 1.1.1.2 mrg # so we don't have lib.a shared libs to link our executables.
5426 1.1.1.2 mrg # We have to force runtime linking in this case.
5427 1.1.1.2 mrg aix_use_runtimelinking=yes
5428 1.1.1.2 mrg LDFLAGS="$LDFLAGS -Wl,-brtl"
5429 1.1.1.2 mrg fi
5430 1.1 mrg ;;
5431 1.1 mrg esac
5432 1.1 mrg
5433 1.1 mrg exp_sym_flag='-bexport'
5434 1.1 mrg no_entry_flag='-bnoentry'
5435 1.1 mrg fi
5436 1.1 mrg
5437 1.1 mrg # When large executables or shared objects are built, AIX ld can
5438 1.1 mrg # have problems creating the table of contents. If linking a library
5439 1.1 mrg # or program results in "error TOC overflow" add -mminimal-toc to
5440 1.1 mrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5441 1.1 mrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5442 1.1 mrg
5443 1.1 mrg _LT_TAGVAR(archive_cmds, $1)=''
5444 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5445 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5446 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5447 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
5448 1.1.1.2 mrg _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5449 1.1.1.2 mrg case $with_aix_soname,$aix_use_runtimelinking in
5450 1.1.1.2 mrg aix,*) ;; # traditional, no import file
5451 1.1.1.2 mrg svr4,* | *,yes) # use import file
5452 1.1.1.2 mrg # The Import File defines what to hardcode.
5453 1.1.1.2 mrg _LT_TAGVAR(hardcode_direct, $1)=no
5454 1.1.1.2 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5455 1.1.1.2 mrg ;;
5456 1.1.1.2 mrg esac
5457 1.1 mrg
5458 1.1.1.2 mrg if test yes = "$GCC"; then
5459 1.1 mrg case $host_os in aix4.[[012]]|aix4.[[012]].*)
5460 1.1 mrg # We only want to do this on AIX 4.2 and lower, the check
5461 1.1 mrg # below for broken collect2 doesn't work under 4.3+
5462 1.1.1.2 mrg collect2name=`$CC -print-prog-name=collect2`
5463 1.1 mrg if test -f "$collect2name" &&
5464 1.1 mrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5465 1.1 mrg then
5466 1.1 mrg # We have reworked collect2
5467 1.1 mrg :
5468 1.1 mrg else
5469 1.1 mrg # We have old collect2
5470 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=unsupported
5471 1.1 mrg # It fails to find uninstalled libraries when the uninstalled
5472 1.1 mrg # path is not listed in the libpath. Setting hardcode_minus_L
5473 1.1 mrg # to unsupported forces relinking
5474 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5475 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5476 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
5477 1.1 mrg fi
5478 1.1 mrg ;;
5479 1.1 mrg esac
5480 1.1 mrg shared_flag='-shared'
5481 1.1.1.2 mrg if test yes = "$aix_use_runtimelinking"; then
5482 1.1.1.2 mrg shared_flag="$shared_flag "'$wl-G'
5483 1.1 mrg fi
5484 1.1.1.2 mrg # Need to ensure runtime linking is disabled for the traditional
5485 1.1.1.2 mrg # shared library, or the linker may eventually find shared libraries
5486 1.1.1.2 mrg # /with/ Import File - we do not want to mix them.
5487 1.1.1.2 mrg shared_flag_aix='-shared'
5488 1.1.1.2 mrg shared_flag_svr4='-shared $wl-G'
5489 1.1 mrg else
5490 1.1 mrg # not using gcc
5491 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
5492 1.1 mrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5493 1.1 mrg # chokes on -Wl,-G. The following line is correct:
5494 1.1 mrg shared_flag='-G'
5495 1.1 mrg else
5496 1.1.1.2 mrg if test yes = "$aix_use_runtimelinking"; then
5497 1.1.1.2 mrg shared_flag='$wl-G'
5498 1.1 mrg else
5499 1.1.1.2 mrg shared_flag='$wl-bM:SRE'
5500 1.1 mrg fi
5501 1.1.1.2 mrg shared_flag_aix='$wl-bM:SRE'
5502 1.1.1.2 mrg shared_flag_svr4='$wl-G'
5503 1.1 mrg fi
5504 1.1 mrg fi
5505 1.1 mrg
5506 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
5507 1.1 mrg # It seems that -bexpall does not export symbols beginning with
5508 1.1 mrg # underscore (_), so it is better to generate a list of symbols to export.
5509 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
5510 1.1.1.2 mrg if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
5511 1.1 mrg # Warning - without using the other runtime loading flags (-brtl),
5512 1.1 mrg # -berok will link without error, but may produce a broken library.
5513 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5514 1.1 mrg # Determine the default libpath from the value encoded in an
5515 1.1 mrg # empty executable.
5516 1.1 mrg _LT_SYS_MODULE_PATH_AIX([$1])
5517 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5518 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
5519 1.1 mrg else
5520 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
5521 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
5522 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5523 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
5524 1.1 mrg else
5525 1.1 mrg # Determine the default libpath from the value encoded in an
5526 1.1 mrg # empty executable.
5527 1.1 mrg _LT_SYS_MODULE_PATH_AIX([$1])
5528 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5529 1.1 mrg # Warning - without using the other run time loading flags,
5530 1.1 mrg # -berok will link without error, but may produce a broken library.
5531 1.1.1.2 mrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5532 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5533 1.1.1.2 mrg if test yes = "$with_gnu_ld"; then
5534 1.1 mrg # We only use this code for GNU lds that support --whole-archive.
5535 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
5536 1.1 mrg else
5537 1.1 mrg # Exported symbols can be pulled into shared objects from archives
5538 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5539 1.1 mrg fi
5540 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5541 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5542 1.1.1.2 mrg # -brtl affects multiple linker settings, -berok does not and is overridden later
5543 1.1.1.2 mrg compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5544 1.1.1.2 mrg if test svr4 != "$with_aix_soname"; then
5545 1.1.1.2 mrg # This is similar to how AIX traditionally builds its shared libraries.
5546 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
5547 1.1.1.2 mrg fi
5548 1.1.1.2 mrg if test aix != "$with_aix_soname"; then
5549 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
5550 1.1.1.2 mrg else
5551 1.1.1.2 mrg # used by -dlpreopen to get the symbols
5552 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
5553 1.1.1.2 mrg fi
5554 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
5555 1.1 mrg fi
5556 1.1 mrg fi
5557 1.1 mrg ;;
5558 1.1 mrg
5559 1.1 mrg amigaos*)
5560 1.1 mrg case $host_cpu in
5561 1.1 mrg powerpc)
5562 1.1 mrg # see comment about AmigaOS4 .so support
5563 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5564 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=''
5565 1.1 mrg ;;
5566 1.1 mrg m68k)
5567 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5568 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5569 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5570 1.1 mrg ;;
5571 1.1 mrg esac
5572 1.1 mrg ;;
5573 1.1 mrg
5574 1.1 mrg bsdi[[45]]*)
5575 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5576 1.1 mrg ;;
5577 1.1 mrg
5578 1.1 mrg cygwin* | mingw* | pw32* | cegcc*)
5579 1.1 mrg # When not using gcc, we currently assume that we are using
5580 1.1.1.4 mrg # Microsoft Visual C++ or Intel C++ Compiler.
5581 1.1 mrg # hardcode_libdir_flag_spec is actually meaningless, as there is
5582 1.1 mrg # no search path for DLLs.
5583 1.1 mrg case $cc_basename in
5584 1.1.1.4 mrg cl* | icl*)
5585 1.1.1.4 mrg # Native MSVC or ICC
5586 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5587 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5588 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
5589 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
5590 1.1 mrg # Tell ltmain to make .lib files, not .a files.
5591 1.1 mrg libext=lib
5592 1.1 mrg # Tell ltmain to make .dll files, not .so files.
5593 1.1.1.2 mrg shrext_cmds=.dll
5594 1.1 mrg # FIXME: Setting linknames here is a bad hack.
5595 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
5596 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5597 1.1.1.2 mrg cp "$export_symbols" "$output_objdir/$soname.def";
5598 1.1.1.2 mrg echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
5599 1.1.1.2 mrg else
5600 1.1.1.2 mrg $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
5601 1.1.1.2 mrg fi~
5602 1.1.1.2 mrg $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5603 1.1.1.2 mrg linknames='
5604 1.1 mrg # The linker will not automatically build a static lib if we build a DLL.
5605 1.1 mrg # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5606 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5607 1.1.1.2 mrg _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5608 1.1 mrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5609 1.1 mrg # Don't use ranlib
5610 1.1 mrg _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5611 1.1 mrg _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5612 1.1.1.2 mrg lt_tool_outputfile="@TOOL_OUTPUT@"~
5613 1.1.1.2 mrg case $lt_outputfile in
5614 1.1.1.2 mrg *.exe|*.EXE) ;;
5615 1.1.1.2 mrg *)
5616 1.1.1.2 mrg lt_outputfile=$lt_outputfile.exe
5617 1.1.1.2 mrg lt_tool_outputfile=$lt_tool_outputfile.exe
5618 1.1.1.2 mrg ;;
5619 1.1.1.2 mrg esac~
5620 1.1.1.2 mrg if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
5621 1.1.1.2 mrg $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5622 1.1.1.2 mrg $RM "$lt_outputfile.manifest";
5623 1.1.1.2 mrg fi'
5624 1.1 mrg ;;
5625 1.1 mrg *)
5626 1.1.1.4 mrg # Assume MSVC and ICC wrapper
5627 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5628 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5629 1.1 mrg # Tell ltmain to make .lib files, not .a files.
5630 1.1 mrg libext=lib
5631 1.1 mrg # Tell ltmain to make .dll files, not .so files.
5632 1.1.1.2 mrg shrext_cmds=.dll
5633 1.1 mrg # FIXME: Setting linknames here is a bad hack.
5634 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5635 1.1 mrg # The linker will automatically build a .lib file if we build a DLL.
5636 1.1 mrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5637 1.1 mrg # FIXME: Should let the user specify the lib program.
5638 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5639 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5640 1.1 mrg ;;
5641 1.1 mrg esac
5642 1.1 mrg ;;
5643 1.1 mrg
5644 1.1 mrg darwin* | rhapsody*)
5645 1.1 mrg _LT_DARWIN_LINKER_FEATURES($1)
5646 1.1 mrg ;;
5647 1.1 mrg
5648 1.1 mrg dgux*)
5649 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5650 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5651 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5652 1.1 mrg ;;
5653 1.1 mrg
5654 1.1 mrg # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5655 1.1 mrg # support. Future versions do this automatically, but an explicit c++rt0.o
5656 1.1 mrg # does not break anything, and helps significantly (at the cost of a little
5657 1.1 mrg # extra space).
5658 1.1 mrg freebsd2.2*)
5659 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5660 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5661 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5662 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5663 1.1 mrg ;;
5664 1.1 mrg
5665 1.1 mrg # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5666 1.1.1.2 mrg freebsd2.*)
5667 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5668 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5669 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5670 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5671 1.1 mrg ;;
5672 1.1 mrg
5673 1.1 mrg # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5674 1.1.1.4 mrg freebsd* | dragonfly* | midnightbsd*)
5675 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5676 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5677 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5678 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5679 1.1 mrg ;;
5680 1.1 mrg
5681 1.1 mrg hpux9*)
5682 1.1.1.2 mrg if test yes = "$GCC"; then
5683 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5684 1.1 mrg else
5685 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5686 1.1 mrg fi
5687 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5688 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5689 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5690 1.1 mrg
5691 1.1 mrg # hardcode_minus_L: Not really in the search PATH,
5692 1.1 mrg # but as the default location of the library.
5693 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5694 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5695 1.1 mrg ;;
5696 1.1 mrg
5697 1.1 mrg hpux10*)
5698 1.1.1.2 mrg if test yes,no = "$GCC,$with_gnu_ld"; then
5699 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5700 1.1 mrg else
5701 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5702 1.1 mrg fi
5703 1.1.1.2 mrg if test no = "$with_gnu_ld"; then
5704 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5705 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5706 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5707 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5708 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5709 1.1 mrg # hardcode_minus_L: Not really in the search PATH,
5710 1.1 mrg # but as the default location of the library.
5711 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5712 1.1 mrg fi
5713 1.1 mrg ;;
5714 1.1 mrg
5715 1.1 mrg hpux11*)
5716 1.1.1.2 mrg if test yes,no = "$GCC,$with_gnu_ld"; then
5717 1.1 mrg case $host_cpu in
5718 1.1 mrg hppa*64*)
5719 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5720 1.1 mrg ;;
5721 1.1 mrg ia64*)
5722 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5723 1.1 mrg ;;
5724 1.1 mrg *)
5725 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5726 1.1 mrg ;;
5727 1.1 mrg esac
5728 1.1 mrg else
5729 1.1 mrg case $host_cpu in
5730 1.1 mrg hppa*64*)
5731 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5732 1.1 mrg ;;
5733 1.1 mrg ia64*)
5734 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5735 1.1 mrg ;;
5736 1.1 mrg *)
5737 1.1 mrg m4_if($1, [], [
5738 1.1 mrg # Older versions of the 11.00 compiler do not understand -b yet
5739 1.1 mrg # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5740 1.1 mrg _LT_LINKER_OPTION([if $CC understands -b],
5741 1.1 mrg _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5742 1.1.1.2 mrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5743 1.1 mrg [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5744 1.1.1.2 mrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5745 1.1 mrg ;;
5746 1.1 mrg esac
5747 1.1 mrg fi
5748 1.1.1.2 mrg if test no = "$with_gnu_ld"; then
5749 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5750 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5751 1.1 mrg
5752 1.1 mrg case $host_cpu in
5753 1.1 mrg hppa*64*|ia64*)
5754 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
5755 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5756 1.1 mrg ;;
5757 1.1 mrg *)
5758 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5759 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5760 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5761 1.1 mrg
5762 1.1 mrg # hardcode_minus_L: Not really in the search PATH,
5763 1.1 mrg # but as the default location of the library.
5764 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5765 1.1 mrg ;;
5766 1.1 mrg esac
5767 1.1 mrg fi
5768 1.1 mrg ;;
5769 1.1 mrg
5770 1.1 mrg irix5* | irix6* | nonstopux*)
5771 1.1.1.2 mrg if test yes = "$GCC"; then
5772 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5773 1.1 mrg # Try to use the -exported_symbol ld option, if it does not
5774 1.1 mrg # work, assume that -exports_file does not work either and
5775 1.1 mrg # implicitly export all symbols.
5776 1.1 mrg # This should be the same for all languages, so no per-tag cache variable.
5777 1.1 mrg AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5778 1.1 mrg [lt_cv_irix_exported_symbol],
5779 1.1.1.2 mrg [save_LDFLAGS=$LDFLAGS
5780 1.1.1.2 mrg LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
5781 1.1 mrg AC_LINK_IFELSE(
5782 1.1 mrg [AC_LANG_SOURCE(
5783 1.1 mrg [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5784 1.1 mrg [C++], [[int foo (void) { return 0; }]],
5785 1.1 mrg [Fortran 77], [[
5786 1.1 mrg subroutine foo
5787 1.1 mrg end]],
5788 1.1 mrg [Fortran], [[
5789 1.1 mrg subroutine foo
5790 1.1 mrg end]])])],
5791 1.1 mrg [lt_cv_irix_exported_symbol=yes],
5792 1.1 mrg [lt_cv_irix_exported_symbol=no])
5793 1.1.1.2 mrg LDFLAGS=$save_LDFLAGS])
5794 1.1.1.2 mrg if test yes = "$lt_cv_irix_exported_symbol"; then
5795 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
5796 1.1 mrg fi
5797 1.1 mrg else
5798 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5799 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
5800 1.1 mrg fi
5801 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5802 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5803 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5804 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=yes
5805 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
5806 1.1 mrg ;;
5807 1.1 mrg
5808 1.1.1.2 mrg linux*)
5809 1.1.1.2 mrg case $cc_basename in
5810 1.1.1.2 mrg tcc*)
5811 1.1.1.2 mrg # Fabrice Bellard et al's Tiny C Compiler
5812 1.1.1.2 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
5813 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5814 1.1.1.2 mrg ;;
5815 1.1.1.2 mrg esac
5816 1.1.1.2 mrg ;;
5817 1.1.1.2 mrg
5818 1.1.1.2 mrg netbsd*)
5819 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5820 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5821 1.1 mrg else
5822 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5823 1.1 mrg fi
5824 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5825 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5826 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5827 1.1 mrg ;;
5828 1.1 mrg
5829 1.1 mrg newsos6)
5830 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5831 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5832 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5833 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5834 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5835 1.1 mrg ;;
5836 1.1 mrg
5837 1.1 mrg *nto* | *qnx*)
5838 1.1 mrg ;;
5839 1.1 mrg
5840 1.1.1.2 mrg openbsd* | bitrig*)
5841 1.1 mrg if test -f /usr/libexec/ld.so; then
5842 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5843 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5844 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5845 1.1.1.2 mrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
5846 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5847 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
5848 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5849 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5850 1.1 mrg else
5851 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5852 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5853 1.1 mrg fi
5854 1.1 mrg else
5855 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
5856 1.1 mrg fi
5857 1.1 mrg ;;
5858 1.1 mrg
5859 1.1 mrg os2*)
5860 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5861 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5862 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5863 1.1.1.2 mrg shrext_cmds=.dll
5864 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5865 1.1.1.2 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5866 1.1.1.2 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5867 1.1.1.2 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
5868 1.1.1.2 mrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5869 1.1.1.2 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5870 1.1.1.2 mrg emximp -o $lib $output_objdir/$libname.def'
5871 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5872 1.1.1.2 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5873 1.1.1.2 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5874 1.1.1.2 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
5875 1.1.1.2 mrg prefix_cmds="$SED"~
5876 1.1.1.2 mrg if test EXPORTS = "`$SED 1q $export_symbols`"; then
5877 1.1.1.2 mrg prefix_cmds="$prefix_cmds -e 1d";
5878 1.1.1.2 mrg fi~
5879 1.1.1.2 mrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5880 1.1.1.2 mrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5881 1.1.1.2 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5882 1.1.1.2 mrg emximp -o $lib $output_objdir/$libname.def'
5883 1.1.1.2 mrg _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5884 1.1.1.2 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5885 1.1.1.4 mrg _LT_TAGVAR(file_list_spec, $1)='@'
5886 1.1 mrg ;;
5887 1.1 mrg
5888 1.1 mrg osf3*)
5889 1.1.1.2 mrg if test yes = "$GCC"; then
5890 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5891 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5892 1.1 mrg else
5893 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5894 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5895 1.1 mrg fi
5896 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5897 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5898 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5899 1.1 mrg ;;
5900 1.1 mrg
5901 1.1 mrg osf4* | osf5*) # as osf3* with the addition of -msym flag
5902 1.1.1.2 mrg if test yes = "$GCC"; then
5903 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5904 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5905 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5906 1.1 mrg else
5907 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5908 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5909 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
5910 1.1.1.2 mrg $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
5911 1.1 mrg
5912 1.1 mrg # Both c and cxx compiler support -rpath directly
5913 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5914 1.1 mrg fi
5915 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5916 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5917 1.1 mrg ;;
5918 1.1 mrg
5919 1.1 mrg solaris*)
5920 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5921 1.1.1.2 mrg if test yes = "$GCC"; then
5922 1.1.1.2 mrg wlarc='$wl'
5923 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5924 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5925 1.1.1.2 mrg $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5926 1.1 mrg else
5927 1.1 mrg case `$CC -V 2>&1` in
5928 1.1 mrg *"Compilers 5.0"*)
5929 1.1 mrg wlarc=''
5930 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
5931 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5932 1.1.1.2 mrg $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5933 1.1 mrg ;;
5934 1.1 mrg *)
5935 1.1.1.2 mrg wlarc='$wl'
5936 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5937 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5938 1.1.1.2 mrg $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5939 1.1 mrg ;;
5940 1.1 mrg esac
5941 1.1 mrg fi
5942 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5943 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5944 1.1 mrg case $host_os in
5945 1.1 mrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5946 1.1 mrg *)
5947 1.1 mrg # The compiler driver will combine and reorder linker options,
5948 1.1.1.2 mrg # but understands '-z linker_flag'. GCC discards it without '$wl',
5949 1.1 mrg # but is careful enough not to reorder.
5950 1.1 mrg # Supported since Solaris 2.6 (maybe 2.5.1?)
5951 1.1.1.2 mrg if test yes = "$GCC"; then
5952 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
5953 1.1 mrg else
5954 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5955 1.1 mrg fi
5956 1.1 mrg ;;
5957 1.1 mrg esac
5958 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
5959 1.1 mrg ;;
5960 1.1 mrg
5961 1.1 mrg sunos4*)
5962 1.1.1.2 mrg if test sequent = "$host_vendor"; then
5963 1.1 mrg # Use $CC to link under sequent, because it throws in some extra .o
5964 1.1 mrg # files that make .init and .fini sections work.
5965 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5966 1.1 mrg else
5967 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5968 1.1 mrg fi
5969 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5970 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
5971 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
5972 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5973 1.1 mrg ;;
5974 1.1 mrg
5975 1.1 mrg sysv4)
5976 1.1 mrg case $host_vendor in
5977 1.1 mrg sni)
5978 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5979 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5980 1.1 mrg ;;
5981 1.1 mrg siemens)
5982 1.1 mrg ## LD is ld it makes a PLAMLIB
5983 1.1 mrg ## CC just makes a GrossModule.
5984 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5985 1.1 mrg _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5986 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
5987 1.1 mrg ;;
5988 1.1 mrg motorola)
5989 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5990 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5991 1.1 mrg ;;
5992 1.1 mrg esac
5993 1.1 mrg runpath_var='LD_RUN_PATH'
5994 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5995 1.1 mrg ;;
5996 1.1 mrg
5997 1.1 mrg sysv4.3*)
5998 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5999 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6000 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
6001 1.1 mrg ;;
6002 1.1 mrg
6003 1.1 mrg sysv4*MP*)
6004 1.1 mrg if test -d /usr/nec; then
6005 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6006 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6007 1.1 mrg runpath_var=LD_RUN_PATH
6008 1.1 mrg hardcode_runpath_var=yes
6009 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
6010 1.1 mrg fi
6011 1.1 mrg ;;
6012 1.1 mrg
6013 1.1 mrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6014 1.1.1.2 mrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6015 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6016 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6017 1.1 mrg runpath_var='LD_RUN_PATH'
6018 1.1 mrg
6019 1.1.1.2 mrg if test yes = "$GCC"; then
6020 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6021 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6022 1.1 mrg else
6023 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6024 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6025 1.1 mrg fi
6026 1.1 mrg ;;
6027 1.1 mrg
6028 1.1 mrg sysv5* | sco3.2v5* | sco5v6*)
6029 1.1.1.2 mrg # Note: We CANNOT use -z defs as we might desire, because we do not
6030 1.1 mrg # link with -lc, and that would cause any symbols used from libc to
6031 1.1 mrg # always be unresolved, which means just about no library would
6032 1.1 mrg # ever link correctly. If we're not using GNU ld we use -z text
6033 1.1 mrg # though, which does catch some bad symbols but isn't as heavy-handed
6034 1.1 mrg # as -z defs.
6035 1.1.1.2 mrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6036 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
6037 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6038 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6039 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
6040 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6041 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
6042 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
6043 1.1 mrg runpath_var='LD_RUN_PATH'
6044 1.1 mrg
6045 1.1.1.2 mrg if test yes = "$GCC"; then
6046 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6047 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6048 1.1 mrg else
6049 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6050 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6051 1.1 mrg fi
6052 1.1 mrg ;;
6053 1.1 mrg
6054 1.1 mrg uts4*)
6055 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6056 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6057 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6058 1.1 mrg ;;
6059 1.1 mrg
6060 1.1 mrg *)
6061 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6062 1.1 mrg ;;
6063 1.1 mrg esac
6064 1.1 mrg
6065 1.1.1.2 mrg if test sni = "$host_vendor"; then
6066 1.1 mrg case $host in
6067 1.1 mrg sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6068 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
6069 1.1 mrg ;;
6070 1.1 mrg esac
6071 1.1 mrg fi
6072 1.1 mrg fi
6073 1.1 mrg ])
6074 1.1 mrg AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6075 1.1.1.2 mrg test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
6076 1.1 mrg
6077 1.1 mrg _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
6078 1.1 mrg
6079 1.1 mrg _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
6080 1.1 mrg _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
6081 1.1 mrg _LT_DECL([], [extract_expsyms_cmds], [2],
6082 1.1 mrg [The commands to extract the exported symbol list from a shared archive])
6083 1.1 mrg
6084 1.1 mrg #
6085 1.1 mrg # Do we need to explicitly link libc?
6086 1.1 mrg #
6087 1.1 mrg case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
6088 1.1 mrg x|xyes)
6089 1.1 mrg # Assume -lc should be added
6090 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6091 1.1 mrg
6092 1.1.1.2 mrg if test yes,yes = "$GCC,$enable_shared"; then
6093 1.1 mrg case $_LT_TAGVAR(archive_cmds, $1) in
6094 1.1 mrg *'~'*)
6095 1.1 mrg # FIXME: we may have to deal with multi-command sequences.
6096 1.1 mrg ;;
6097 1.1 mrg '$CC '*)
6098 1.1 mrg # Test whether the compiler implicitly links with -lc since on some
6099 1.1 mrg # systems, -lgcc has to come before -lc. If gcc already passes -lc
6100 1.1 mrg # to ld, don't add -lc before -lgcc.
6101 1.1 mrg AC_CACHE_CHECK([whether -lc should be explicitly linked in],
6102 1.1 mrg [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
6103 1.1 mrg [$RM conftest*
6104 1.1 mrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6105 1.1 mrg
6106 1.1 mrg if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6107 1.1 mrg soname=conftest
6108 1.1 mrg lib=conftest
6109 1.1 mrg libobjs=conftest.$ac_objext
6110 1.1 mrg deplibs=
6111 1.1 mrg wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
6112 1.1 mrg pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
6113 1.1 mrg compiler_flags=-v
6114 1.1 mrg linker_flags=-v
6115 1.1 mrg verstring=
6116 1.1 mrg output_objdir=.
6117 1.1 mrg libname=conftest
6118 1.1 mrg lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6119 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
6120 1.1 mrg if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
6121 1.1 mrg then
6122 1.1 mrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6123 1.1 mrg else
6124 1.1 mrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6125 1.1 mrg fi
6126 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6127 1.1 mrg else
6128 1.1 mrg cat conftest.err 1>&5
6129 1.1 mrg fi
6130 1.1 mrg $RM conftest*
6131 1.1 mrg ])
6132 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
6133 1.1 mrg ;;
6134 1.1 mrg esac
6135 1.1 mrg fi
6136 1.1 mrg ;;
6137 1.1 mrg esac
6138 1.1 mrg
6139 1.1 mrg _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6140 1.1 mrg [Whether or not to add -lc for building shared libraries])
6141 1.1 mrg _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6142 1.1 mrg [enable_shared_with_static_runtimes], [0],
6143 1.1 mrg [Whether or not to disallow shared libs when runtime libs are static])
6144 1.1 mrg _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6145 1.1 mrg [Compiler flag to allow reflexive dlopens])
6146 1.1 mrg _LT_TAGDECL([], [whole_archive_flag_spec], [1],
6147 1.1 mrg [Compiler flag to generate shared objects directly from archives])
6148 1.1 mrg _LT_TAGDECL([], [compiler_needs_object], [1],
6149 1.1 mrg [Whether the compiler copes with passing no objects directly])
6150 1.1 mrg _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6151 1.1 mrg [Create an old-style archive from a shared archive])
6152 1.1 mrg _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6153 1.1 mrg [Create a temporary old-style archive to link instead of a shared archive])
6154 1.1 mrg _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6155 1.1 mrg _LT_TAGDECL([], [archive_expsym_cmds], [2])
6156 1.1 mrg _LT_TAGDECL([], [module_cmds], [2],
6157 1.1 mrg [Commands used to build a loadable module if different from building
6158 1.1 mrg a shared archive.])
6159 1.1 mrg _LT_TAGDECL([], [module_expsym_cmds], [2])
6160 1.1 mrg _LT_TAGDECL([], [with_gnu_ld], [1],
6161 1.1 mrg [Whether we are building with GNU ld or not])
6162 1.1 mrg _LT_TAGDECL([], [allow_undefined_flag], [1],
6163 1.1 mrg [Flag that allows shared libraries with undefined symbols to be built])
6164 1.1 mrg _LT_TAGDECL([], [no_undefined_flag], [1],
6165 1.1 mrg [Flag that enforces no undefined symbols])
6166 1.1 mrg _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6167 1.1 mrg [Flag to hardcode $libdir into a binary during linking.
6168 1.1 mrg This must work even if $libdir does not exist])
6169 1.1 mrg _LT_TAGDECL([], [hardcode_libdir_separator], [1],
6170 1.1 mrg [Whether we need a single "-rpath" flag with a separated argument])
6171 1.1 mrg _LT_TAGDECL([], [hardcode_direct], [0],
6172 1.1.1.2 mrg [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6173 1.1 mrg DIR into the resulting binary])
6174 1.1 mrg _LT_TAGDECL([], [hardcode_direct_absolute], [0],
6175 1.1.1.2 mrg [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6176 1.1 mrg DIR into the resulting binary and the resulting library dependency is
6177 1.1.1.2 mrg "absolute", i.e impossible to change by setting $shlibpath_var if the
6178 1.1 mrg library is relocated])
6179 1.1 mrg _LT_TAGDECL([], [hardcode_minus_L], [0],
6180 1.1 mrg [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6181 1.1 mrg into the resulting binary])
6182 1.1 mrg _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6183 1.1 mrg [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6184 1.1 mrg into the resulting binary])
6185 1.1 mrg _LT_TAGDECL([], [hardcode_automatic], [0],
6186 1.1 mrg [Set to "yes" if building a shared library automatically hardcodes DIR
6187 1.1 mrg into the library and all subsequent libraries and executables linked
6188 1.1 mrg against it])
6189 1.1 mrg _LT_TAGDECL([], [inherit_rpath], [0],
6190 1.1 mrg [Set to yes if linker adds runtime paths of dependent libraries
6191 1.1 mrg to runtime path list])
6192 1.1 mrg _LT_TAGDECL([], [link_all_deplibs], [0],
6193 1.1 mrg [Whether libtool must link a program against all its dependency libraries])
6194 1.1 mrg _LT_TAGDECL([], [always_export_symbols], [0],
6195 1.1 mrg [Set to "yes" if exported symbols are required])
6196 1.1 mrg _LT_TAGDECL([], [export_symbols_cmds], [2],
6197 1.1 mrg [The commands to list exported symbols])
6198 1.1 mrg _LT_TAGDECL([], [exclude_expsyms], [1],
6199 1.1 mrg [Symbols that should not be listed in the preloaded symbols])
6200 1.1 mrg _LT_TAGDECL([], [include_expsyms], [1],
6201 1.1 mrg [Symbols that must always be exported])
6202 1.1 mrg _LT_TAGDECL([], [prelink_cmds], [2],
6203 1.1 mrg [Commands necessary for linking programs (against libraries) with templates])
6204 1.1 mrg _LT_TAGDECL([], [postlink_cmds], [2],
6205 1.1 mrg [Commands necessary for finishing linking programs])
6206 1.1 mrg _LT_TAGDECL([], [file_list_spec], [1],
6207 1.1 mrg [Specify filename containing input files])
6208 1.1 mrg dnl FIXME: Not yet implemented
6209 1.1 mrg dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6210 1.1 mrg dnl [Compiler flag to generate thread safe objects])
6211 1.1 mrg ])# _LT_LINKER_SHLIBS
6212 1.1 mrg
6213 1.1 mrg
6214 1.1 mrg # _LT_LANG_C_CONFIG([TAG])
6215 1.1 mrg # ------------------------
6216 1.1 mrg # Ensure that the configuration variables for a C compiler are suitably
6217 1.1 mrg # defined. These variables are subsequently used by _LT_CONFIG to write
6218 1.1.1.2 mrg # the compiler configuration to 'libtool'.
6219 1.1 mrg m4_defun([_LT_LANG_C_CONFIG],
6220 1.1 mrg [m4_require([_LT_DECL_EGREP])dnl
6221 1.1.1.2 mrg lt_save_CC=$CC
6222 1.1 mrg AC_LANG_PUSH(C)
6223 1.1 mrg
6224 1.1 mrg # Source file extension for C test sources.
6225 1.1 mrg ac_ext=c
6226 1.1 mrg
6227 1.1 mrg # Object file extension for compiled C test sources.
6228 1.1 mrg objext=o
6229 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
6230 1.1 mrg
6231 1.1 mrg # Code to be used in simple compile tests
6232 1.1 mrg lt_simple_compile_test_code="int some_variable = 0;"
6233 1.1 mrg
6234 1.1 mrg # Code to be used in simple link tests
6235 1.1 mrg lt_simple_link_test_code='int main(){return(0);}'
6236 1.1 mrg
6237 1.1 mrg _LT_TAG_COMPILER
6238 1.1 mrg # Save the default compiler, since it gets overwritten when the other
6239 1.1 mrg # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6240 1.1 mrg compiler_DEFAULT=$CC
6241 1.1 mrg
6242 1.1 mrg # save warnings/boilerplate of simple test code
6243 1.1 mrg _LT_COMPILER_BOILERPLATE
6244 1.1 mrg _LT_LINKER_BOILERPLATE
6245 1.1 mrg
6246 1.1 mrg ## CAVEAT EMPTOR:
6247 1.1 mrg ## There is no encapsulation within the following macros, do not change
6248 1.1 mrg ## the running order or otherwise move them around unless you know exactly
6249 1.1 mrg ## what you are doing...
6250 1.1 mrg if test -n "$compiler"; then
6251 1.1 mrg _LT_COMPILER_NO_RTTI($1)
6252 1.1 mrg _LT_COMPILER_PIC($1)
6253 1.1 mrg _LT_COMPILER_C_O($1)
6254 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
6255 1.1 mrg _LT_LINKER_SHLIBS($1)
6256 1.1 mrg _LT_SYS_DYNAMIC_LINKER($1)
6257 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
6258 1.1 mrg LT_SYS_DLOPEN_SELF
6259 1.1 mrg _LT_CMD_STRIPLIB
6260 1.1 mrg
6261 1.1.1.2 mrg # Report what library types will actually be built
6262 1.1 mrg AC_MSG_CHECKING([if libtool supports shared libraries])
6263 1.1 mrg AC_MSG_RESULT([$can_build_shared])
6264 1.1 mrg
6265 1.1 mrg AC_MSG_CHECKING([whether to build shared libraries])
6266 1.1.1.2 mrg test no = "$can_build_shared" && enable_shared=no
6267 1.1 mrg
6268 1.1 mrg # On AIX, shared libraries and static libraries use the same namespace, and
6269 1.1 mrg # are all built from PIC.
6270 1.1 mrg case $host_os in
6271 1.1 mrg aix3*)
6272 1.1.1.2 mrg test yes = "$enable_shared" && enable_static=no
6273 1.1 mrg if test -n "$RANLIB"; then
6274 1.1 mrg archive_cmds="$archive_cmds~\$RANLIB \$lib"
6275 1.1 mrg postinstall_cmds='$RANLIB $lib'
6276 1.1 mrg fi
6277 1.1 mrg ;;
6278 1.1 mrg
6279 1.1 mrg aix[[4-9]]*)
6280 1.1.1.2 mrg if test ia64 != "$host_cpu"; then
6281 1.1.1.2 mrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6282 1.1.1.2 mrg yes,aix,yes) ;; # shared object as lib.so file only
6283 1.1.1.2 mrg yes,svr4,*) ;; # shared object as lib.so archive member only
6284 1.1.1.2 mrg yes,*) enable_static=no ;; # shared object in lib.a archive as well
6285 1.1.1.2 mrg esac
6286 1.1 mrg fi
6287 1.1 mrg ;;
6288 1.1 mrg esac
6289 1.1 mrg AC_MSG_RESULT([$enable_shared])
6290 1.1 mrg
6291 1.1 mrg AC_MSG_CHECKING([whether to build static libraries])
6292 1.1 mrg # Make sure either enable_shared or enable_static is yes.
6293 1.1.1.2 mrg test yes = "$enable_shared" || enable_static=yes
6294 1.1 mrg AC_MSG_RESULT([$enable_static])
6295 1.1 mrg
6296 1.1 mrg _LT_CONFIG($1)
6297 1.1 mrg fi
6298 1.1 mrg AC_LANG_POP
6299 1.1.1.2 mrg CC=$lt_save_CC
6300 1.1 mrg ])# _LT_LANG_C_CONFIG
6301 1.1 mrg
6302 1.1 mrg
6303 1.1 mrg # _LT_LANG_CXX_CONFIG([TAG])
6304 1.1 mrg # --------------------------
6305 1.1 mrg # Ensure that the configuration variables for a C++ compiler are suitably
6306 1.1 mrg # defined. These variables are subsequently used by _LT_CONFIG to write
6307 1.1.1.2 mrg # the compiler configuration to 'libtool'.
6308 1.1 mrg m4_defun([_LT_LANG_CXX_CONFIG],
6309 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6310 1.1 mrg m4_require([_LT_DECL_EGREP])dnl
6311 1.1 mrg m4_require([_LT_PATH_MANIFEST_TOOL])dnl
6312 1.1.1.2 mrg if test -n "$CXX" && ( test no != "$CXX" &&
6313 1.1.1.2 mrg ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6314 1.1.1.2 mrg (test g++ != "$CXX"))); then
6315 1.1 mrg AC_PROG_CXXCPP
6316 1.1 mrg else
6317 1.1 mrg _lt_caught_CXX_error=yes
6318 1.1 mrg fi
6319 1.1 mrg
6320 1.1 mrg AC_LANG_PUSH(C++)
6321 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6322 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
6323 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
6324 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=
6325 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=no
6326 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6327 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
6328 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6329 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6330 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
6331 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=no
6332 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6333 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=no
6334 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=no
6335 1.1 mrg _LT_TAGVAR(module_cmds, $1)=
6336 1.1 mrg _LT_TAGVAR(module_expsym_cmds, $1)=
6337 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=unknown
6338 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6339 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
6340 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6341 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=
6342 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
6343 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6344 1.1 mrg
6345 1.1 mrg # Source file extension for C++ test sources.
6346 1.1 mrg ac_ext=cpp
6347 1.1 mrg
6348 1.1 mrg # Object file extension for compiled C++ test sources.
6349 1.1 mrg objext=o
6350 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
6351 1.1 mrg
6352 1.1 mrg # No sense in running all these tests if we already determined that
6353 1.1 mrg # the CXX compiler isn't working. Some variables (like enable_shared)
6354 1.1 mrg # are currently assumed to apply to all compilers on this platform,
6355 1.1 mrg # and will be corrupted by setting them based on a non-working compiler.
6356 1.1.1.2 mrg if test yes != "$_lt_caught_CXX_error"; then
6357 1.1 mrg # Code to be used in simple compile tests
6358 1.1 mrg lt_simple_compile_test_code="int some_variable = 0;"
6359 1.1 mrg
6360 1.1 mrg # Code to be used in simple link tests
6361 1.1 mrg lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6362 1.1 mrg
6363 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6364 1.1 mrg _LT_TAG_COMPILER
6365 1.1 mrg
6366 1.1 mrg # save warnings/boilerplate of simple test code
6367 1.1 mrg _LT_COMPILER_BOILERPLATE
6368 1.1 mrg _LT_LINKER_BOILERPLATE
6369 1.1 mrg
6370 1.1 mrg # Allow CC to be a program name with arguments.
6371 1.1 mrg lt_save_CC=$CC
6372 1.1 mrg lt_save_CFLAGS=$CFLAGS
6373 1.1 mrg lt_save_LD=$LD
6374 1.1 mrg lt_save_GCC=$GCC
6375 1.1 mrg GCC=$GXX
6376 1.1 mrg lt_save_with_gnu_ld=$with_gnu_ld
6377 1.1 mrg lt_save_path_LD=$lt_cv_path_LD
6378 1.1 mrg if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6379 1.1 mrg lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6380 1.1 mrg else
6381 1.1 mrg $as_unset lt_cv_prog_gnu_ld
6382 1.1 mrg fi
6383 1.1 mrg if test -n "${lt_cv_path_LDCXX+set}"; then
6384 1.1 mrg lt_cv_path_LD=$lt_cv_path_LDCXX
6385 1.1 mrg else
6386 1.1 mrg $as_unset lt_cv_path_LD
6387 1.1 mrg fi
6388 1.1 mrg test -z "${LDCXX+set}" || LD=$LDCXX
6389 1.1 mrg CC=${CXX-"c++"}
6390 1.1 mrg CFLAGS=$CXXFLAGS
6391 1.1 mrg compiler=$CC
6392 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
6393 1.1 mrg _LT_CC_BASENAME([$compiler])
6394 1.1 mrg
6395 1.1 mrg if test -n "$compiler"; then
6396 1.1 mrg # We don't want -fno-exception when compiling C++ code, so set the
6397 1.1 mrg # no_builtin_flag separately
6398 1.1.1.2 mrg if test yes = "$GXX"; then
6399 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6400 1.1 mrg else
6401 1.1 mrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6402 1.1 mrg fi
6403 1.1 mrg
6404 1.1.1.2 mrg if test yes = "$GXX"; then
6405 1.1 mrg # Set up default GNU C++ configuration
6406 1.1 mrg
6407 1.1 mrg LT_PATH_LD
6408 1.1 mrg
6409 1.1 mrg # Check if GNU C++ uses GNU ld as the underlying linker, since the
6410 1.1 mrg # archiving commands below assume that GNU ld is being used.
6411 1.1.1.2 mrg if test yes = "$with_gnu_ld"; then
6412 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6413 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6414 1.1 mrg
6415 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6416 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6417 1.1 mrg
6418 1.1 mrg # If archive_cmds runs LD, not CC, wlarc should be empty
6419 1.1 mrg # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6420 1.1 mrg # investigate it a little bit more. (MM)
6421 1.1.1.2 mrg wlarc='$wl'
6422 1.1 mrg
6423 1.1 mrg # ancient GNU ld didn't support --whole-archive et. al.
6424 1.1 mrg if eval "`$CC -print-prog-name=ld` --help 2>&1" |
6425 1.1 mrg $GREP 'no-whole-archive' > /dev/null; then
6426 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
6427 1.1 mrg else
6428 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
6429 1.1 mrg fi
6430 1.1 mrg else
6431 1.1 mrg with_gnu_ld=no
6432 1.1 mrg wlarc=
6433 1.1 mrg
6434 1.1 mrg # A generic and very simple default shared library creation
6435 1.1 mrg # command for GNU C++ for the case where it uses the native
6436 1.1 mrg # linker, instead of GNU ld. If possible, this setting should
6437 1.1 mrg # overridden to take advantage of the native linker features on
6438 1.1 mrg # the platform it is being used on.
6439 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6440 1.1 mrg fi
6441 1.1 mrg
6442 1.1 mrg # Commands to make compiler produce verbose output that lists
6443 1.1 mrg # what "hidden" libraries, object files and flags are used when
6444 1.1 mrg # linking a shared library.
6445 1.1 mrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6446 1.1 mrg
6447 1.1 mrg else
6448 1.1 mrg GXX=no
6449 1.1 mrg with_gnu_ld=no
6450 1.1 mrg wlarc=
6451 1.1 mrg fi
6452 1.1 mrg
6453 1.1 mrg # PORTME: fill in a description of your system's C++ link characteristics
6454 1.1 mrg AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6455 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
6456 1.1 mrg case $host_os in
6457 1.1 mrg aix3*)
6458 1.1 mrg # FIXME: insert proper C++ library support
6459 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6460 1.1 mrg ;;
6461 1.1 mrg aix[[4-9]]*)
6462 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
6463 1.1 mrg # On IA64, the linker does run time linking by default, so we don't
6464 1.1 mrg # have to do anything special.
6465 1.1 mrg aix_use_runtimelinking=no
6466 1.1 mrg exp_sym_flag='-Bexport'
6467 1.1.1.2 mrg no_entry_flag=
6468 1.1 mrg else
6469 1.1 mrg aix_use_runtimelinking=no
6470 1.1 mrg
6471 1.1 mrg # Test if we are trying to use run time linking or normal
6472 1.1 mrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6473 1.1.1.2 mrg # have runtime linking enabled, and use it for executables.
6474 1.1.1.2 mrg # For shared libraries, we enable/disable runtime linking
6475 1.1.1.2 mrg # depending on the kind of the shared library created -
6476 1.1.1.2 mrg # when "with_aix_soname,aix_use_runtimelinking" is:
6477 1.1.1.2 mrg # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
6478 1.1.1.2 mrg # "aix,yes" lib.so shared, rtl:yes, for executables
6479 1.1.1.2 mrg # lib.a static archive
6480 1.1.1.2 mrg # "both,no" lib.so.V(shr.o) shared, rtl:yes
6481 1.1.1.2 mrg # lib.a(lib.so.V) shared, rtl:no, for executables
6482 1.1.1.2 mrg # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6483 1.1.1.2 mrg # lib.a(lib.so.V) shared, rtl:no
6484 1.1.1.2 mrg # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
6485 1.1.1.2 mrg # lib.a static archive
6486 1.1 mrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6487 1.1 mrg for ld_flag in $LDFLAGS; do
6488 1.1 mrg case $ld_flag in
6489 1.1 mrg *-brtl*)
6490 1.1 mrg aix_use_runtimelinking=yes
6491 1.1 mrg break
6492 1.1 mrg ;;
6493 1.1 mrg esac
6494 1.1 mrg done
6495 1.1.1.2 mrg if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6496 1.1.1.2 mrg # With aix-soname=svr4, we create the lib.so.V shared archives only,
6497 1.1.1.2 mrg # so we don't have lib.a shared libs to link our executables.
6498 1.1.1.2 mrg # We have to force runtime linking in this case.
6499 1.1.1.2 mrg aix_use_runtimelinking=yes
6500 1.1.1.2 mrg LDFLAGS="$LDFLAGS -Wl,-brtl"
6501 1.1.1.2 mrg fi
6502 1.1 mrg ;;
6503 1.1 mrg esac
6504 1.1 mrg
6505 1.1 mrg exp_sym_flag='-bexport'
6506 1.1 mrg no_entry_flag='-bnoentry'
6507 1.1 mrg fi
6508 1.1 mrg
6509 1.1 mrg # When large executables or shared objects are built, AIX ld can
6510 1.1 mrg # have problems creating the table of contents. If linking a library
6511 1.1 mrg # or program results in "error TOC overflow" add -mminimal-toc to
6512 1.1 mrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6513 1.1 mrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6514 1.1 mrg
6515 1.1 mrg _LT_TAGVAR(archive_cmds, $1)=''
6516 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
6517 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6518 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6519 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
6520 1.1.1.2 mrg _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6521 1.1.1.2 mrg case $with_aix_soname,$aix_use_runtimelinking in
6522 1.1.1.2 mrg aix,*) ;; # no import file
6523 1.1.1.2 mrg svr4,* | *,yes) # use import file
6524 1.1.1.2 mrg # The Import File defines what to hardcode.
6525 1.1.1.2 mrg _LT_TAGVAR(hardcode_direct, $1)=no
6526 1.1.1.2 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6527 1.1.1.2 mrg ;;
6528 1.1.1.2 mrg esac
6529 1.1 mrg
6530 1.1.1.2 mrg if test yes = "$GXX"; then
6531 1.1 mrg case $host_os in aix4.[[012]]|aix4.[[012]].*)
6532 1.1 mrg # We only want to do this on AIX 4.2 and lower, the check
6533 1.1 mrg # below for broken collect2 doesn't work under 4.3+
6534 1.1.1.2 mrg collect2name=`$CC -print-prog-name=collect2`
6535 1.1 mrg if test -f "$collect2name" &&
6536 1.1 mrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6537 1.1 mrg then
6538 1.1 mrg # We have reworked collect2
6539 1.1 mrg :
6540 1.1 mrg else
6541 1.1 mrg # We have old collect2
6542 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=unsupported
6543 1.1 mrg # It fails to find uninstalled libraries when the uninstalled
6544 1.1 mrg # path is not listed in the libpath. Setting hardcode_minus_L
6545 1.1 mrg # to unsupported forces relinking
6546 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
6547 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6548 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
6549 1.1 mrg fi
6550 1.1 mrg esac
6551 1.1 mrg shared_flag='-shared'
6552 1.1.1.2 mrg if test yes = "$aix_use_runtimelinking"; then
6553 1.1.1.2 mrg shared_flag=$shared_flag' $wl-G'
6554 1.1 mrg fi
6555 1.1.1.2 mrg # Need to ensure runtime linking is disabled for the traditional
6556 1.1.1.2 mrg # shared library, or the linker may eventually find shared libraries
6557 1.1.1.2 mrg # /with/ Import File - we do not want to mix them.
6558 1.1.1.2 mrg shared_flag_aix='-shared'
6559 1.1.1.2 mrg shared_flag_svr4='-shared $wl-G'
6560 1.1 mrg else
6561 1.1 mrg # not using gcc
6562 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
6563 1.1 mrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6564 1.1 mrg # chokes on -Wl,-G. The following line is correct:
6565 1.1 mrg shared_flag='-G'
6566 1.1 mrg else
6567 1.1.1.2 mrg if test yes = "$aix_use_runtimelinking"; then
6568 1.1.1.2 mrg shared_flag='$wl-G'
6569 1.1 mrg else
6570 1.1.1.2 mrg shared_flag='$wl-bM:SRE'
6571 1.1 mrg fi
6572 1.1.1.2 mrg shared_flag_aix='$wl-bM:SRE'
6573 1.1.1.2 mrg shared_flag_svr4='$wl-G'
6574 1.1 mrg fi
6575 1.1 mrg fi
6576 1.1 mrg
6577 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
6578 1.1 mrg # It seems that -bexpall does not export symbols beginning with
6579 1.1 mrg # underscore (_), so it is better to generate a list of symbols to
6580 1.1 mrg # export.
6581 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
6582 1.1.1.2 mrg if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
6583 1.1 mrg # Warning - without using the other runtime loading flags (-brtl),
6584 1.1 mrg # -berok will link without error, but may produce a broken library.
6585 1.1.1.2 mrg # The "-G" linker flag allows undefined symbols.
6586 1.1.1.2 mrg _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
6587 1.1 mrg # Determine the default libpath from the value encoded in an empty
6588 1.1 mrg # executable.
6589 1.1 mrg _LT_SYS_MODULE_PATH_AIX([$1])
6590 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6591 1.1 mrg
6592 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
6593 1.1 mrg else
6594 1.1.1.2 mrg if test ia64 = "$host_cpu"; then
6595 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
6596 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6597 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
6598 1.1 mrg else
6599 1.1 mrg # Determine the default libpath from the value encoded in an
6600 1.1 mrg # empty executable.
6601 1.1 mrg _LT_SYS_MODULE_PATH_AIX([$1])
6602 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6603 1.1 mrg # Warning - without using the other run time loading flags,
6604 1.1 mrg # -berok will link without error, but may produce a broken library.
6605 1.1.1.2 mrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6606 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6607 1.1.1.2 mrg if test yes = "$with_gnu_ld"; then
6608 1.1 mrg # We only use this code for GNU lds that support --whole-archive.
6609 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6610 1.1 mrg else
6611 1.1 mrg # Exported symbols can be pulled into shared objects from archives
6612 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6613 1.1 mrg fi
6614 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6615 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6616 1.1.1.2 mrg # -brtl affects multiple linker settings, -berok does not and is overridden later
6617 1.1.1.2 mrg compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6618 1.1.1.2 mrg if test svr4 != "$with_aix_soname"; then
6619 1.1.1.2 mrg # This is similar to how AIX traditionally builds its shared
6620 1.1.1.2 mrg # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6621 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
6622 1.1.1.2 mrg fi
6623 1.1.1.2 mrg if test aix != "$with_aix_soname"; then
6624 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
6625 1.1.1.2 mrg else
6626 1.1.1.2 mrg # used by -dlpreopen to get the symbols
6627 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
6628 1.1.1.2 mrg fi
6629 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
6630 1.1 mrg fi
6631 1.1 mrg fi
6632 1.1 mrg ;;
6633 1.1 mrg
6634 1.1 mrg beos*)
6635 1.1 mrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6636 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6637 1.1 mrg # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
6638 1.1 mrg # support --undefined. This deserves some investigation. FIXME
6639 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6640 1.1 mrg else
6641 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6642 1.1 mrg fi
6643 1.1 mrg ;;
6644 1.1 mrg
6645 1.1 mrg chorus*)
6646 1.1 mrg case $cc_basename in
6647 1.1 mrg *)
6648 1.1 mrg # FIXME: insert proper C++ library support
6649 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6650 1.1 mrg ;;
6651 1.1 mrg esac
6652 1.1 mrg ;;
6653 1.1 mrg
6654 1.1 mrg cygwin* | mingw* | pw32* | cegcc*)
6655 1.1 mrg case $GXX,$cc_basename in
6656 1.1.1.4 mrg ,cl* | no,cl* | ,icl* | no,icl*)
6657 1.1.1.4 mrg # Native MSVC or ICC
6658 1.1 mrg # hardcode_libdir_flag_spec is actually meaningless, as there is
6659 1.1 mrg # no search path for DLLs.
6660 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6661 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6662 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=yes
6663 1.1 mrg _LT_TAGVAR(file_list_spec, $1)='@'
6664 1.1 mrg # Tell ltmain to make .lib files, not .a files.
6665 1.1 mrg libext=lib
6666 1.1 mrg # Tell ltmain to make .dll files, not .so files.
6667 1.1.1.2 mrg shrext_cmds=.dll
6668 1.1 mrg # FIXME: Setting linknames here is a bad hack.
6669 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
6670 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6671 1.1.1.2 mrg cp "$export_symbols" "$output_objdir/$soname.def";
6672 1.1.1.2 mrg echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
6673 1.1.1.2 mrg else
6674 1.1.1.2 mrg $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
6675 1.1.1.2 mrg fi~
6676 1.1.1.2 mrg $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6677 1.1.1.2 mrg linknames='
6678 1.1 mrg # The linker will not automatically build a static lib if we build a DLL.
6679 1.1 mrg # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6680 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6681 1.1 mrg # Don't use ranlib
6682 1.1 mrg _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6683 1.1 mrg _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6684 1.1.1.2 mrg lt_tool_outputfile="@TOOL_OUTPUT@"~
6685 1.1.1.2 mrg case $lt_outputfile in
6686 1.1.1.2 mrg *.exe|*.EXE) ;;
6687 1.1.1.2 mrg *)
6688 1.1.1.2 mrg lt_outputfile=$lt_outputfile.exe
6689 1.1.1.2 mrg lt_tool_outputfile=$lt_tool_outputfile.exe
6690 1.1.1.2 mrg ;;
6691 1.1.1.2 mrg esac~
6692 1.1.1.2 mrg func_to_tool_file "$lt_outputfile"~
6693 1.1.1.2 mrg if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
6694 1.1.1.2 mrg $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6695 1.1.1.2 mrg $RM "$lt_outputfile.manifest";
6696 1.1.1.2 mrg fi'
6697 1.1 mrg ;;
6698 1.1 mrg *)
6699 1.1 mrg # g++
6700 1.1 mrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6701 1.1 mrg # as there is no search path for DLLs.
6702 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6703 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
6704 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6705 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
6706 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6707 1.1 mrg
6708 1.1 mrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6709 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6710 1.1.1.2 mrg # If the export-symbols file already is a .def file, use it as
6711 1.1.1.2 mrg # is; otherwise, prepend EXPORTS...
6712 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6713 1.1.1.2 mrg cp $export_symbols $output_objdir/$soname.def;
6714 1.1.1.2 mrg else
6715 1.1.1.2 mrg echo EXPORTS > $output_objdir/$soname.def;
6716 1.1.1.2 mrg cat $export_symbols >> $output_objdir/$soname.def;
6717 1.1.1.2 mrg fi~
6718 1.1.1.2 mrg $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6719 1.1 mrg else
6720 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6721 1.1 mrg fi
6722 1.1 mrg ;;
6723 1.1 mrg esac
6724 1.1 mrg ;;
6725 1.1 mrg darwin* | rhapsody*)
6726 1.1 mrg _LT_DARWIN_LINKER_FEATURES($1)
6727 1.1 mrg ;;
6728 1.1 mrg
6729 1.1.1.2 mrg os2*)
6730 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6731 1.1.1.2 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes
6732 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6733 1.1.1.2 mrg shrext_cmds=.dll
6734 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6735 1.1.1.2 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6736 1.1.1.2 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6737 1.1.1.2 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
6738 1.1.1.2 mrg emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6739 1.1.1.2 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6740 1.1.1.2 mrg emximp -o $lib $output_objdir/$libname.def'
6741 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6742 1.1.1.2 mrg $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6743 1.1.1.2 mrg $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6744 1.1.1.2 mrg $ECHO EXPORTS >> $output_objdir/$libname.def~
6745 1.1.1.2 mrg prefix_cmds="$SED"~
6746 1.1.1.2 mrg if test EXPORTS = "`$SED 1q $export_symbols`"; then
6747 1.1.1.2 mrg prefix_cmds="$prefix_cmds -e 1d";
6748 1.1.1.2 mrg fi~
6749 1.1.1.2 mrg prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6750 1.1.1.2 mrg cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6751 1.1.1.2 mrg $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6752 1.1.1.2 mrg emximp -o $lib $output_objdir/$libname.def'
6753 1.1.1.2 mrg _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6754 1.1.1.2 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6755 1.1.1.4 mrg _LT_TAGVAR(file_list_spec, $1)='@'
6756 1.1.1.2 mrg ;;
6757 1.1.1.2 mrg
6758 1.1 mrg dgux*)
6759 1.1 mrg case $cc_basename in
6760 1.1 mrg ec++*)
6761 1.1 mrg # FIXME: insert proper C++ library support
6762 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6763 1.1 mrg ;;
6764 1.1 mrg ghcx*)
6765 1.1 mrg # Green Hills C++ Compiler
6766 1.1 mrg # FIXME: insert proper C++ library support
6767 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6768 1.1 mrg ;;
6769 1.1 mrg *)
6770 1.1 mrg # FIXME: insert proper C++ library support
6771 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6772 1.1 mrg ;;
6773 1.1 mrg esac
6774 1.1 mrg ;;
6775 1.1 mrg
6776 1.1.1.2 mrg freebsd2.*)
6777 1.1 mrg # C++ shared libraries reported to be fairly broken before
6778 1.1 mrg # switch to ELF
6779 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6780 1.1 mrg ;;
6781 1.1 mrg
6782 1.1 mrg freebsd-elf*)
6783 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6784 1.1 mrg ;;
6785 1.1 mrg
6786 1.1.1.4 mrg freebsd* | dragonfly* | midnightbsd*)
6787 1.1 mrg # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6788 1.1 mrg # conventions
6789 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
6790 1.1 mrg ;;
6791 1.1 mrg
6792 1.1 mrg haiku*)
6793 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6794 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
6795 1.1 mrg ;;
6796 1.1 mrg
6797 1.1 mrg hpux9*)
6798 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6799 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6800 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6801 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
6802 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6803 1.1 mrg # but as the default
6804 1.1 mrg # location of the library.
6805 1.1 mrg
6806 1.1 mrg case $cc_basename in
6807 1.1 mrg CC*)
6808 1.1 mrg # FIXME: insert proper C++ library support
6809 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6810 1.1 mrg ;;
6811 1.1 mrg aCC*)
6812 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6813 1.1 mrg # Commands to make compiler produce verbose output that lists
6814 1.1 mrg # what "hidden" libraries, object files and flags are used when
6815 1.1 mrg # linking a shared library.
6816 1.1 mrg #
6817 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
6818 1.1 mrg # explicitly linking system object files so we need to strip them
6819 1.1 mrg # from the output so that they don't get included in the library
6820 1.1 mrg # dependencies.
6821 1.1.1.2 mrg output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6822 1.1 mrg ;;
6823 1.1 mrg *)
6824 1.1.1.2 mrg if test yes = "$GXX"; then
6825 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6826 1.1 mrg else
6827 1.1 mrg # FIXME: insert proper C++ library support
6828 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6829 1.1 mrg fi
6830 1.1 mrg ;;
6831 1.1 mrg esac
6832 1.1 mrg ;;
6833 1.1 mrg
6834 1.1 mrg hpux10*|hpux11*)
6835 1.1.1.2 mrg if test no = "$with_gnu_ld"; then
6836 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6837 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6838 1.1 mrg
6839 1.1 mrg case $host_cpu in
6840 1.1 mrg hppa*64*|ia64*)
6841 1.1 mrg ;;
6842 1.1 mrg *)
6843 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6844 1.1 mrg ;;
6845 1.1 mrg esac
6846 1.1 mrg fi
6847 1.1 mrg case $host_cpu in
6848 1.1 mrg hppa*64*|ia64*)
6849 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
6850 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6851 1.1 mrg ;;
6852 1.1 mrg *)
6853 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
6854 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6855 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6856 1.1 mrg # but as the default
6857 1.1 mrg # location of the library.
6858 1.1 mrg ;;
6859 1.1 mrg esac
6860 1.1 mrg
6861 1.1 mrg case $cc_basename in
6862 1.1 mrg CC*)
6863 1.1 mrg # FIXME: insert proper C++ library support
6864 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6865 1.1 mrg ;;
6866 1.1 mrg aCC*)
6867 1.1 mrg case $host_cpu in
6868 1.1 mrg hppa*64*)
6869 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6870 1.1 mrg ;;
6871 1.1 mrg ia64*)
6872 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6873 1.1 mrg ;;
6874 1.1 mrg *)
6875 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6876 1.1 mrg ;;
6877 1.1 mrg esac
6878 1.1 mrg # Commands to make compiler produce verbose output that lists
6879 1.1 mrg # what "hidden" libraries, object files and flags are used when
6880 1.1 mrg # linking a shared library.
6881 1.1 mrg #
6882 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
6883 1.1 mrg # explicitly linking system object files so we need to strip them
6884 1.1 mrg # from the output so that they don't get included in the library
6885 1.1 mrg # dependencies.
6886 1.1.1.2 mrg output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6887 1.1 mrg ;;
6888 1.1 mrg *)
6889 1.1.1.2 mrg if test yes = "$GXX"; then
6890 1.1.1.2 mrg if test no = "$with_gnu_ld"; then
6891 1.1 mrg case $host_cpu in
6892 1.1 mrg hppa*64*)
6893 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6894 1.1 mrg ;;
6895 1.1 mrg ia64*)
6896 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6897 1.1 mrg ;;
6898 1.1 mrg *)
6899 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6900 1.1 mrg ;;
6901 1.1 mrg esac
6902 1.1 mrg fi
6903 1.1 mrg else
6904 1.1 mrg # FIXME: insert proper C++ library support
6905 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
6906 1.1 mrg fi
6907 1.1 mrg ;;
6908 1.1 mrg esac
6909 1.1 mrg ;;
6910 1.1 mrg
6911 1.1 mrg interix[[3-9]]*)
6912 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
6913 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6914 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6915 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6916 1.1 mrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6917 1.1 mrg # Instead, shared libraries are loaded at an image base (0x10000000 by
6918 1.1 mrg # default) and relocated if they conflict, which is a slow very memory
6919 1.1 mrg # consuming and fragmenting process. To avoid this, we pick a random,
6920 1.1 mrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6921 1.1 mrg # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6922 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6923 1.1.1.4 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6924 1.1 mrg ;;
6925 1.1 mrg irix5* | irix6*)
6926 1.1 mrg case $cc_basename in
6927 1.1 mrg CC*)
6928 1.1 mrg # SGI C++
6929 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
6930 1.1 mrg
6931 1.1 mrg # Archives containing C++ object files must be created using
6932 1.1 mrg # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6933 1.1 mrg # necessary to make sure instantiated templates are included
6934 1.1 mrg # in the archive.
6935 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6936 1.1 mrg ;;
6937 1.1 mrg *)
6938 1.1.1.2 mrg if test yes = "$GXX"; then
6939 1.1.1.2 mrg if test no = "$with_gnu_ld"; then
6940 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
6941 1.1 mrg else
6942 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
6943 1.1 mrg fi
6944 1.1 mrg fi
6945 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
6946 1.1 mrg ;;
6947 1.1 mrg esac
6948 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6949 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6950 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=yes
6951 1.1 mrg ;;
6952 1.1 mrg
6953 1.1.1.2 mrg linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6954 1.1 mrg case $cc_basename in
6955 1.1 mrg KCC*)
6956 1.1 mrg # Kuck and Associates, Inc. (KAI) C++ Compiler
6957 1.1 mrg
6958 1.1 mrg # KCC will only create a shared library if the output file
6959 1.1 mrg # ends with ".so" (or ".sl" for HP-UX), so rename the library
6960 1.1 mrg # to its proper name (with version) after linking.
6961 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6962 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
6963 1.1 mrg # Commands to make compiler produce verbose output that lists
6964 1.1 mrg # what "hidden" libraries, object files and flags are used when
6965 1.1 mrg # linking a shared library.
6966 1.1 mrg #
6967 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
6968 1.1 mrg # explicitly linking system object files so we need to strip them
6969 1.1 mrg # from the output so that they don't get included in the library
6970 1.1 mrg # dependencies.
6971 1.1.1.2 mrg output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6972 1.1 mrg
6973 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6974 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6975 1.1 mrg
6976 1.1 mrg # Archives containing C++ object files must be created using
6977 1.1 mrg # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6978 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6979 1.1 mrg ;;
6980 1.1 mrg icpc* | ecpc* )
6981 1.1 mrg # Intel C++
6982 1.1 mrg with_gnu_ld=yes
6983 1.1 mrg # version 8.0 and above of icpc choke on multiply defined symbols
6984 1.1 mrg # if we add $predep_objects and $postdep_objects, however 7.1 and
6985 1.1 mrg # earlier do not add the objects themselves.
6986 1.1 mrg case `$CC -V 2>&1` in
6987 1.1 mrg *"Version 7."*)
6988 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6989 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6990 1.1 mrg ;;
6991 1.1 mrg *) # Version 8.0 or newer
6992 1.1 mrg tmp_idyn=
6993 1.1 mrg case $host_cpu in
6994 1.1 mrg ia64*) tmp_idyn=' -i_dynamic';;
6995 1.1 mrg esac
6996 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6997 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6998 1.1 mrg ;;
6999 1.1 mrg esac
7000 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7001 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7002 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7003 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
7004 1.1 mrg ;;
7005 1.1 mrg pgCC* | pgcpp*)
7006 1.1 mrg # Portland Group C++ compiler
7007 1.1 mrg case `$CC -V` in
7008 1.1 mrg *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
7009 1.1 mrg _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
7010 1.1.1.2 mrg rm -rf $tpldir~
7011 1.1.1.2 mrg $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
7012 1.1.1.2 mrg compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
7013 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
7014 1.1.1.2 mrg rm -rf $tpldir~
7015 1.1.1.2 mrg $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
7016 1.1.1.2 mrg $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
7017 1.1.1.2 mrg $RANLIB $oldlib'
7018 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
7019 1.1.1.2 mrg rm -rf $tpldir~
7020 1.1.1.2 mrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7021 1.1.1.2 mrg $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7022 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
7023 1.1.1.2 mrg rm -rf $tpldir~
7024 1.1.1.2 mrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7025 1.1.1.2 mrg $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7026 1.1 mrg ;;
7027 1.1 mrg *) # Version 6 and above use weak symbols
7028 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7029 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7030 1.1 mrg ;;
7031 1.1 mrg esac
7032 1.1 mrg
7033 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7034 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7035 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7036 1.1 mrg ;;
7037 1.1 mrg cxx*)
7038 1.1 mrg # Compaq C++
7039 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7040 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
7041 1.1 mrg
7042 1.1 mrg runpath_var=LD_RUN_PATH
7043 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7044 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7045 1.1 mrg
7046 1.1 mrg # Commands to make compiler produce verbose output that lists
7047 1.1 mrg # what "hidden" libraries, object files and flags are used when
7048 1.1 mrg # linking a shared library.
7049 1.1 mrg #
7050 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
7051 1.1 mrg # explicitly linking system object files so we need to strip them
7052 1.1 mrg # from the output so that they don't get included in the library
7053 1.1 mrg # dependencies.
7054 1.1.1.2 mrg output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
7055 1.1 mrg ;;
7056 1.1 mrg xl* | mpixl* | bgxl*)
7057 1.1 mrg # IBM XL 8.0 on PPC, with GNU ld
7058 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7059 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7060 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7061 1.1.1.2 mrg if test yes = "$supports_anon_versioning"; then
7062 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7063 1.1.1.4 mrg cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7064 1.1.1.2 mrg echo "local: *; };" >> $output_objdir/$libname.ver~
7065 1.1.1.2 mrg $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
7066 1.1 mrg fi
7067 1.1 mrg ;;
7068 1.1 mrg *)
7069 1.1.1.4 mrg case `$CC -V 2>&1 | $SED 5q` in
7070 1.1 mrg *Sun\ C*)
7071 1.1 mrg # Sun C++ 5.9
7072 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7073 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7074 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
7075 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7076 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7077 1.1 mrg _LT_TAGVAR(compiler_needs_object, $1)=yes
7078 1.1 mrg
7079 1.1 mrg # Not sure whether something based on
7080 1.1 mrg # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
7081 1.1 mrg # would be better.
7082 1.1 mrg output_verbose_link_cmd='func_echo_all'
7083 1.1 mrg
7084 1.1 mrg # Archives containing C++ object files must be created using
7085 1.1 mrg # "CC -xar", where "CC" is the Sun C++ compiler. This is
7086 1.1 mrg # necessary to make sure instantiated templates are included
7087 1.1 mrg # in the archive.
7088 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7089 1.1 mrg ;;
7090 1.1 mrg esac
7091 1.1 mrg ;;
7092 1.1 mrg esac
7093 1.1 mrg ;;
7094 1.1 mrg
7095 1.1 mrg lynxos*)
7096 1.1 mrg # FIXME: insert proper C++ library support
7097 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7098 1.1 mrg ;;
7099 1.1 mrg
7100 1.1 mrg m88k*)
7101 1.1 mrg # FIXME: insert proper C++ library support
7102 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7103 1.1 mrg ;;
7104 1.1 mrg
7105 1.1 mrg mvs*)
7106 1.1 mrg case $cc_basename in
7107 1.1 mrg cxx*)
7108 1.1 mrg # FIXME: insert proper C++ library support
7109 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7110 1.1 mrg ;;
7111 1.1 mrg *)
7112 1.1 mrg # FIXME: insert proper C++ library support
7113 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7114 1.1 mrg ;;
7115 1.1 mrg esac
7116 1.1 mrg ;;
7117 1.1 mrg
7118 1.1 mrg netbsd*)
7119 1.1 mrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7120 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
7121 1.1 mrg wlarc=
7122 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7123 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
7124 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7125 1.1 mrg fi
7126 1.1 mrg # Workaround some broken pre-1.5 toolchains
7127 1.1 mrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
7128 1.1 mrg ;;
7129 1.1 mrg
7130 1.1 mrg *nto* | *qnx*)
7131 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=yes
7132 1.1 mrg ;;
7133 1.1 mrg
7134 1.1.1.2 mrg openbsd* | bitrig*)
7135 1.1 mrg if test -f /usr/libexec/ld.so; then
7136 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=yes
7137 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7138 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7139 1.1 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7140 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7141 1.1.1.2 mrg if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7142 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
7143 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7144 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
7145 1.1 mrg fi
7146 1.1 mrg output_verbose_link_cmd=func_echo_all
7147 1.1 mrg else
7148 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7149 1.1 mrg fi
7150 1.1 mrg ;;
7151 1.1 mrg
7152 1.1 mrg osf3* | osf4* | osf5*)
7153 1.1 mrg case $cc_basename in
7154 1.1 mrg KCC*)
7155 1.1 mrg # Kuck and Associates, Inc. (KAI) C++ Compiler
7156 1.1 mrg
7157 1.1 mrg # KCC will only create a shared library if the output file
7158 1.1 mrg # ends with ".so" (or ".sl" for HP-UX), so rename the library
7159 1.1 mrg # to its proper name (with version) after linking.
7160 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
7161 1.1 mrg
7162 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7163 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7164 1.1 mrg
7165 1.1 mrg # Archives containing C++ object files must be created using
7166 1.1 mrg # the KAI C++ compiler.
7167 1.1 mrg case $host in
7168 1.1 mrg osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
7169 1.1 mrg *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
7170 1.1 mrg esac
7171 1.1 mrg ;;
7172 1.1 mrg RCC*)
7173 1.1 mrg # Rational C++ 2.4.1
7174 1.1 mrg # FIXME: insert proper C++ library support
7175 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7176 1.1 mrg ;;
7177 1.1 mrg cxx*)
7178 1.1 mrg case $host in
7179 1.1 mrg osf3*)
7180 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7181 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7182 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7183 1.1 mrg ;;
7184 1.1 mrg *)
7185 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7186 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7187 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
7188 1.1.1.2 mrg echo "-hidden">> $lib.exp~
7189 1.1.1.2 mrg $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
7190 1.1.1.2 mrg $RM $lib.exp'
7191 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7192 1.1 mrg ;;
7193 1.1 mrg esac
7194 1.1 mrg
7195 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7196 1.1 mrg
7197 1.1 mrg # Commands to make compiler produce verbose output that lists
7198 1.1 mrg # what "hidden" libraries, object files and flags are used when
7199 1.1 mrg # linking a shared library.
7200 1.1 mrg #
7201 1.1 mrg # There doesn't appear to be a way to prevent this compiler from
7202 1.1 mrg # explicitly linking system object files so we need to strip them
7203 1.1 mrg # from the output so that they don't get included in the library
7204 1.1 mrg # dependencies.
7205 1.1.1.2 mrg output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
7206 1.1 mrg ;;
7207 1.1 mrg *)
7208 1.1.1.2 mrg if test yes,no = "$GXX,$with_gnu_ld"; then
7209 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7210 1.1 mrg case $host in
7211 1.1 mrg osf3*)
7212 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7213 1.1 mrg ;;
7214 1.1 mrg *)
7215 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7216 1.1 mrg ;;
7217 1.1 mrg esac
7218 1.1 mrg
7219 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7220 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7221 1.1 mrg
7222 1.1 mrg # Commands to make compiler produce verbose output that lists
7223 1.1 mrg # what "hidden" libraries, object files and flags are used when
7224 1.1 mrg # linking a shared library.
7225 1.1 mrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7226 1.1 mrg
7227 1.1 mrg else
7228 1.1 mrg # FIXME: insert proper C++ library support
7229 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7230 1.1 mrg fi
7231 1.1 mrg ;;
7232 1.1 mrg esac
7233 1.1 mrg ;;
7234 1.1 mrg
7235 1.1 mrg psos*)
7236 1.1 mrg # FIXME: insert proper C++ library support
7237 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7238 1.1 mrg ;;
7239 1.1 mrg
7240 1.1 mrg sunos4*)
7241 1.1 mrg case $cc_basename in
7242 1.1 mrg CC*)
7243 1.1 mrg # Sun C++ 4.x
7244 1.1 mrg # FIXME: insert proper C++ library support
7245 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7246 1.1 mrg ;;
7247 1.1 mrg lcc*)
7248 1.1 mrg # Lucid
7249 1.1 mrg # FIXME: insert proper C++ library support
7250 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7251 1.1 mrg ;;
7252 1.1 mrg *)
7253 1.1 mrg # FIXME: insert proper C++ library support
7254 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7255 1.1 mrg ;;
7256 1.1 mrg esac
7257 1.1 mrg ;;
7258 1.1 mrg
7259 1.1 mrg solaris*)
7260 1.1 mrg case $cc_basename in
7261 1.1 mrg CC* | sunCC*)
7262 1.1 mrg # Sun C++ 4.2, 5.x and Centerline C++
7263 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7264 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7265 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7266 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7267 1.1.1.2 mrg $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7268 1.1 mrg
7269 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7270 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7271 1.1 mrg case $host_os in
7272 1.1 mrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7273 1.1 mrg *)
7274 1.1 mrg # The compiler driver will combine and reorder linker options,
7275 1.1.1.2 mrg # but understands '-z linker_flag'.
7276 1.1 mrg # Supported since Solaris 2.6 (maybe 2.5.1?)
7277 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7278 1.1 mrg ;;
7279 1.1 mrg esac
7280 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
7281 1.1 mrg
7282 1.1 mrg output_verbose_link_cmd='func_echo_all'
7283 1.1 mrg
7284 1.1 mrg # Archives containing C++ object files must be created using
7285 1.1 mrg # "CC -xar", where "CC" is the Sun C++ compiler. This is
7286 1.1 mrg # necessary to make sure instantiated templates are included
7287 1.1 mrg # in the archive.
7288 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7289 1.1 mrg ;;
7290 1.1 mrg gcx*)
7291 1.1 mrg # Green Hills C++ Compiler
7292 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7293 1.1 mrg
7294 1.1 mrg # The C++ compiler must be used to create the archive.
7295 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7296 1.1 mrg ;;
7297 1.1 mrg *)
7298 1.1 mrg # GNU C++ compiler with Solaris linker
7299 1.1.1.2 mrg if test yes,no = "$GXX,$with_gnu_ld"; then
7300 1.1.1.2 mrg _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
7301 1.1 mrg if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7302 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7303 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7304 1.1.1.2 mrg $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7305 1.1 mrg
7306 1.1 mrg # Commands to make compiler produce verbose output that lists
7307 1.1 mrg # what "hidden" libraries, object files and flags are used when
7308 1.1 mrg # linking a shared library.
7309 1.1 mrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7310 1.1 mrg else
7311 1.1.1.2 mrg # g++ 2.7 appears to require '-G' NOT '-shared' on this
7312 1.1 mrg # platform.
7313 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7314 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7315 1.1.1.2 mrg $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7316 1.1 mrg
7317 1.1 mrg # Commands to make compiler produce verbose output that lists
7318 1.1 mrg # what "hidden" libraries, object files and flags are used when
7319 1.1 mrg # linking a shared library.
7320 1.1 mrg output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7321 1.1 mrg fi
7322 1.1 mrg
7323 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
7324 1.1 mrg case $host_os in
7325 1.1 mrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7326 1.1 mrg *)
7327 1.1.1.2 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
7328 1.1 mrg ;;
7329 1.1 mrg esac
7330 1.1 mrg fi
7331 1.1 mrg ;;
7332 1.1 mrg esac
7333 1.1 mrg ;;
7334 1.1 mrg
7335 1.1 mrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7336 1.1.1.2 mrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7337 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7338 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7339 1.1 mrg runpath_var='LD_RUN_PATH'
7340 1.1 mrg
7341 1.1 mrg case $cc_basename in
7342 1.1 mrg CC*)
7343 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7344 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7345 1.1 mrg ;;
7346 1.1 mrg *)
7347 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7348 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7349 1.1 mrg ;;
7350 1.1 mrg esac
7351 1.1 mrg ;;
7352 1.1 mrg
7353 1.1 mrg sysv5* | sco3.2v5* | sco5v6*)
7354 1.1.1.2 mrg # Note: We CANNOT use -z defs as we might desire, because we do not
7355 1.1 mrg # link with -lc, and that would cause any symbols used from libc to
7356 1.1 mrg # always be unresolved, which means just about no library would
7357 1.1 mrg # ever link correctly. If we're not using GNU ld we use -z text
7358 1.1 mrg # though, which does catch some bad symbols but isn't as heavy-handed
7359 1.1 mrg # as -z defs.
7360 1.1.1.2 mrg _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7361 1.1.1.2 mrg _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
7362 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7363 1.1 mrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7364 1.1.1.2 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
7365 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7366 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=yes
7367 1.1.1.2 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
7368 1.1 mrg runpath_var='LD_RUN_PATH'
7369 1.1 mrg
7370 1.1 mrg case $cc_basename in
7371 1.1 mrg CC*)
7372 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7373 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7374 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
7375 1.1.1.2 mrg '"$_LT_TAGVAR(old_archive_cmds, $1)"
7376 1.1 mrg _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
7377 1.1.1.2 mrg '"$_LT_TAGVAR(reload_cmds, $1)"
7378 1.1 mrg ;;
7379 1.1 mrg *)
7380 1.1.1.2 mrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7381 1.1.1.2 mrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7382 1.1 mrg ;;
7383 1.1 mrg esac
7384 1.1 mrg ;;
7385 1.1 mrg
7386 1.1 mrg tandem*)
7387 1.1 mrg case $cc_basename in
7388 1.1 mrg NCC*)
7389 1.1 mrg # NonStop-UX NCC 3.20
7390 1.1 mrg # FIXME: insert proper C++ library support
7391 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7392 1.1 mrg ;;
7393 1.1 mrg *)
7394 1.1 mrg # FIXME: insert proper C++ library support
7395 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7396 1.1 mrg ;;
7397 1.1 mrg esac
7398 1.1 mrg ;;
7399 1.1 mrg
7400 1.1 mrg vxworks*)
7401 1.1 mrg # FIXME: insert proper C++ library support
7402 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7403 1.1 mrg ;;
7404 1.1 mrg
7405 1.1 mrg *)
7406 1.1 mrg # FIXME: insert proper C++ library support
7407 1.1 mrg _LT_TAGVAR(ld_shlibs, $1)=no
7408 1.1 mrg ;;
7409 1.1 mrg esac
7410 1.1 mrg
7411 1.1 mrg AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7412 1.1.1.2 mrg test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
7413 1.1 mrg
7414 1.1.1.2 mrg _LT_TAGVAR(GCC, $1)=$GXX
7415 1.1.1.2 mrg _LT_TAGVAR(LD, $1)=$LD
7416 1.1 mrg
7417 1.1 mrg ## CAVEAT EMPTOR:
7418 1.1 mrg ## There is no encapsulation within the following macros, do not change
7419 1.1 mrg ## the running order or otherwise move them around unless you know exactly
7420 1.1 mrg ## what you are doing...
7421 1.1 mrg _LT_SYS_HIDDEN_LIBDEPS($1)
7422 1.1 mrg _LT_COMPILER_PIC($1)
7423 1.1 mrg _LT_COMPILER_C_O($1)
7424 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
7425 1.1 mrg _LT_LINKER_SHLIBS($1)
7426 1.1 mrg _LT_SYS_DYNAMIC_LINKER($1)
7427 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
7428 1.1 mrg
7429 1.1 mrg _LT_CONFIG($1)
7430 1.1 mrg fi # test -n "$compiler"
7431 1.1 mrg
7432 1.1 mrg CC=$lt_save_CC
7433 1.1 mrg CFLAGS=$lt_save_CFLAGS
7434 1.1 mrg LDCXX=$LD
7435 1.1 mrg LD=$lt_save_LD
7436 1.1 mrg GCC=$lt_save_GCC
7437 1.1 mrg with_gnu_ld=$lt_save_with_gnu_ld
7438 1.1 mrg lt_cv_path_LDCXX=$lt_cv_path_LD
7439 1.1 mrg lt_cv_path_LD=$lt_save_path_LD
7440 1.1 mrg lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7441 1.1 mrg lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7442 1.1.1.2 mrg fi # test yes != "$_lt_caught_CXX_error"
7443 1.1 mrg
7444 1.1 mrg AC_LANG_POP
7445 1.1 mrg ])# _LT_LANG_CXX_CONFIG
7446 1.1 mrg
7447 1.1 mrg
7448 1.1 mrg # _LT_FUNC_STRIPNAME_CNF
7449 1.1 mrg # ----------------------
7450 1.1 mrg # func_stripname_cnf prefix suffix name
7451 1.1 mrg # strip PREFIX and SUFFIX off of NAME.
7452 1.1 mrg # PREFIX and SUFFIX must not contain globbing or regex special
7453 1.1 mrg # characters, hashes, percent signs, but SUFFIX may contain a leading
7454 1.1 mrg # dot (in which case that matches only a dot).
7455 1.1 mrg #
7456 1.1 mrg # This function is identical to the (non-XSI) version of func_stripname,
7457 1.1 mrg # except this one can be used by m4 code that may be executed by configure,
7458 1.1 mrg # rather than the libtool script.
7459 1.1 mrg m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
7460 1.1 mrg AC_REQUIRE([_LT_DECL_SED])
7461 1.1 mrg AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
7462 1.1 mrg func_stripname_cnf ()
7463 1.1 mrg {
7464 1.1.1.2 mrg case @S|@2 in
7465 1.1.1.2 mrg .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7466 1.1.1.2 mrg *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
7467 1.1 mrg esac
7468 1.1 mrg } # func_stripname_cnf
7469 1.1 mrg ])# _LT_FUNC_STRIPNAME_CNF
7470 1.1 mrg
7471 1.1.1.2 mrg
7472 1.1 mrg # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
7473 1.1 mrg # ---------------------------------
7474 1.1 mrg # Figure out "hidden" library dependencies from verbose
7475 1.1 mrg # compiler output when linking a shared library.
7476 1.1 mrg # Parse the compiler output and extract the necessary
7477 1.1 mrg # objects, libraries and library flags.
7478 1.1 mrg m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7479 1.1 mrg [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7480 1.1 mrg AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
7481 1.1 mrg # Dependencies to place before and after the object being linked:
7482 1.1 mrg _LT_TAGVAR(predep_objects, $1)=
7483 1.1 mrg _LT_TAGVAR(postdep_objects, $1)=
7484 1.1 mrg _LT_TAGVAR(predeps, $1)=
7485 1.1 mrg _LT_TAGVAR(postdeps, $1)=
7486 1.1 mrg _LT_TAGVAR(compiler_lib_search_path, $1)=
7487 1.1 mrg
7488 1.1 mrg dnl we can't use the lt_simple_compile_test_code here,
7489 1.1 mrg dnl because it contains code intended for an executable,
7490 1.1 mrg dnl not a library. It's possible we should let each
7491 1.1 mrg dnl tag define a new lt_????_link_test_code variable,
7492 1.1 mrg dnl but it's only used here...
7493 1.1 mrg m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7494 1.1 mrg int a;
7495 1.1 mrg void foo (void) { a = 0; }
7496 1.1 mrg _LT_EOF
7497 1.1 mrg ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7498 1.1 mrg class Foo
7499 1.1 mrg {
7500 1.1 mrg public:
7501 1.1 mrg Foo (void) { a = 0; }
7502 1.1 mrg private:
7503 1.1 mrg int a;
7504 1.1 mrg };
7505 1.1 mrg _LT_EOF
7506 1.1 mrg ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7507 1.1 mrg subroutine foo
7508 1.1 mrg implicit none
7509 1.1 mrg integer*4 a
7510 1.1 mrg a=0
7511 1.1 mrg return
7512 1.1 mrg end
7513 1.1 mrg _LT_EOF
7514 1.1 mrg ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7515 1.1 mrg subroutine foo
7516 1.1 mrg implicit none
7517 1.1 mrg integer a
7518 1.1 mrg a=0
7519 1.1 mrg return
7520 1.1 mrg end
7521 1.1 mrg _LT_EOF
7522 1.1 mrg ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7523 1.1 mrg public class foo {
7524 1.1 mrg private int a;
7525 1.1 mrg public void bar (void) {
7526 1.1 mrg a = 0;
7527 1.1 mrg }
7528 1.1 mrg };
7529 1.1 mrg _LT_EOF
7530 1.1.1.2 mrg ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
7531 1.1.1.2 mrg package foo
7532 1.1.1.2 mrg func foo() {
7533 1.1.1.2 mrg }
7534 1.1.1.2 mrg _LT_EOF
7535 1.1 mrg ])
7536 1.1 mrg
7537 1.1 mrg _lt_libdeps_save_CFLAGS=$CFLAGS
7538 1.1 mrg case "$CC $CFLAGS " in #(
7539 1.1 mrg *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7540 1.1 mrg *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
7541 1.1.1.2 mrg *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7542 1.1 mrg esac
7543 1.1 mrg
7544 1.1 mrg dnl Parse the compiler output and extract the necessary
7545 1.1 mrg dnl objects, libraries and library flags.
7546 1.1 mrg if AC_TRY_EVAL(ac_compile); then
7547 1.1 mrg # Parse the compiler output and extract the necessary
7548 1.1 mrg # objects, libraries and library flags.
7549 1.1 mrg
7550 1.1 mrg # Sentinel used to keep track of whether or not we are before
7551 1.1 mrg # the conftest object file.
7552 1.1 mrg pre_test_object_deps_done=no
7553 1.1 mrg
7554 1.1 mrg for p in `eval "$output_verbose_link_cmd"`; do
7555 1.1.1.2 mrg case $prev$p in
7556 1.1 mrg
7557 1.1 mrg -L* | -R* | -l*)
7558 1.1 mrg # Some compilers place space between "-{L,R}" and the path.
7559 1.1 mrg # Remove the space.
7560 1.1.1.2 mrg if test x-L = "$p" ||
7561 1.1.1.2 mrg test x-R = "$p"; then
7562 1.1 mrg prev=$p
7563 1.1 mrg continue
7564 1.1 mrg fi
7565 1.1 mrg
7566 1.1 mrg # Expand the sysroot to ease extracting the directories later.
7567 1.1 mrg if test -z "$prev"; then
7568 1.1 mrg case $p in
7569 1.1 mrg -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7570 1.1 mrg -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7571 1.1 mrg -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7572 1.1 mrg esac
7573 1.1 mrg fi
7574 1.1 mrg case $p in
7575 1.1 mrg =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7576 1.1 mrg esac
7577 1.1.1.2 mrg if test no = "$pre_test_object_deps_done"; then
7578 1.1.1.2 mrg case $prev in
7579 1.1 mrg -L | -R)
7580 1.1 mrg # Internal compiler library paths should come after those
7581 1.1 mrg # provided the user. The postdeps already come after the
7582 1.1 mrg # user supplied libs so there is no need to process them.
7583 1.1 mrg if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7584 1.1.1.2 mrg _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
7585 1.1 mrg else
7586 1.1.1.2 mrg _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
7587 1.1 mrg fi
7588 1.1 mrg ;;
7589 1.1 mrg # The "-l" case would never come before the object being
7590 1.1 mrg # linked, so don't bother handling this case.
7591 1.1 mrg esac
7592 1.1 mrg else
7593 1.1 mrg if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7594 1.1.1.2 mrg _LT_TAGVAR(postdeps, $1)=$prev$p
7595 1.1 mrg else
7596 1.1.1.2 mrg _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
7597 1.1 mrg fi
7598 1.1 mrg fi
7599 1.1 mrg prev=
7600 1.1 mrg ;;
7601 1.1 mrg
7602 1.1 mrg *.lto.$objext) ;; # Ignore GCC LTO objects
7603 1.1 mrg *.$objext)
7604 1.1 mrg # This assumes that the test object file only shows up
7605 1.1 mrg # once in the compiler output.
7606 1.1 mrg if test "$p" = "conftest.$objext"; then
7607 1.1 mrg pre_test_object_deps_done=yes
7608 1.1 mrg continue
7609 1.1 mrg fi
7610 1.1 mrg
7611 1.1.1.2 mrg if test no = "$pre_test_object_deps_done"; then
7612 1.1 mrg if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7613 1.1.1.2 mrg _LT_TAGVAR(predep_objects, $1)=$p
7614 1.1 mrg else
7615 1.1 mrg _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7616 1.1 mrg fi
7617 1.1 mrg else
7618 1.1 mrg if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7619 1.1.1.2 mrg _LT_TAGVAR(postdep_objects, $1)=$p
7620 1.1 mrg else
7621 1.1 mrg _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7622 1.1 mrg fi
7623 1.1 mrg fi
7624 1.1 mrg ;;
7625 1.1 mrg
7626 1.1 mrg *) ;; # Ignore the rest.
7627 1.1 mrg
7628 1.1 mrg esac
7629 1.1 mrg done
7630 1.1 mrg
7631 1.1 mrg # Clean up.
7632 1.1 mrg rm -f a.out a.exe
7633 1.1 mrg else
7634 1.1 mrg echo "libtool.m4: error: problem compiling $1 test program"
7635 1.1 mrg fi
7636 1.1 mrg
7637 1.1 mrg $RM -f confest.$objext
7638 1.1 mrg CFLAGS=$_lt_libdeps_save_CFLAGS
7639 1.1 mrg
7640 1.1 mrg # PORTME: override above test on systems where it is broken
7641 1.1 mrg m4_if([$1], [CXX],
7642 1.1 mrg [case $host_os in
7643 1.1 mrg interix[[3-9]]*)
7644 1.1 mrg # Interix 3.5 installs completely hosed .la files for C++, so rather than
7645 1.1 mrg # hack all around it, let's just trust "g++" to DTRT.
7646 1.1 mrg _LT_TAGVAR(predep_objects,$1)=
7647 1.1 mrg _LT_TAGVAR(postdep_objects,$1)=
7648 1.1 mrg _LT_TAGVAR(postdeps,$1)=
7649 1.1 mrg ;;
7650 1.1 mrg esac
7651 1.1 mrg ])
7652 1.1 mrg
7653 1.1 mrg case " $_LT_TAGVAR(postdeps, $1) " in
7654 1.1 mrg *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7655 1.1 mrg esac
7656 1.1 mrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7657 1.1 mrg if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7658 1.1.1.2 mrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
7659 1.1 mrg fi
7660 1.1 mrg _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7661 1.1 mrg [The directories searched by this compiler when creating a shared library])
7662 1.1 mrg _LT_TAGDECL([], [predep_objects], [1],
7663 1.1 mrg [Dependencies to place before and after the objects being linked to
7664 1.1 mrg create a shared library])
7665 1.1 mrg _LT_TAGDECL([], [postdep_objects], [1])
7666 1.1 mrg _LT_TAGDECL([], [predeps], [1])
7667 1.1 mrg _LT_TAGDECL([], [postdeps], [1])
7668 1.1 mrg _LT_TAGDECL([], [compiler_lib_search_path], [1],
7669 1.1 mrg [The library search path used internally by the compiler when linking
7670 1.1 mrg a shared library])
7671 1.1 mrg ])# _LT_SYS_HIDDEN_LIBDEPS
7672 1.1 mrg
7673 1.1 mrg
7674 1.1 mrg # _LT_LANG_F77_CONFIG([TAG])
7675 1.1 mrg # --------------------------
7676 1.1 mrg # Ensure that the configuration variables for a Fortran 77 compiler are
7677 1.1 mrg # suitably defined. These variables are subsequently used by _LT_CONFIG
7678 1.1.1.2 mrg # to write the compiler configuration to 'libtool'.
7679 1.1 mrg m4_defun([_LT_LANG_F77_CONFIG],
7680 1.1 mrg [AC_LANG_PUSH(Fortran 77)
7681 1.1.1.2 mrg if test -z "$F77" || test no = "$F77"; then
7682 1.1 mrg _lt_disable_F77=yes
7683 1.1 mrg fi
7684 1.1 mrg
7685 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7686 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
7687 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
7688 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=
7689 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7690 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
7691 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7692 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7693 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
7694 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=no
7695 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=no
7696 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=no
7697 1.1 mrg _LT_TAGVAR(module_cmds, $1)=
7698 1.1 mrg _LT_TAGVAR(module_expsym_cmds, $1)=
7699 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=unknown
7700 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7701 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
7702 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7703 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=
7704 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
7705 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7706 1.1 mrg
7707 1.1 mrg # Source file extension for f77 test sources.
7708 1.1 mrg ac_ext=f
7709 1.1 mrg
7710 1.1 mrg # Object file extension for compiled f77 test sources.
7711 1.1 mrg objext=o
7712 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
7713 1.1 mrg
7714 1.1 mrg # No sense in running all these tests if we already determined that
7715 1.1 mrg # the F77 compiler isn't working. Some variables (like enable_shared)
7716 1.1 mrg # are currently assumed to apply to all compilers on this platform,
7717 1.1 mrg # and will be corrupted by setting them based on a non-working compiler.
7718 1.1.1.2 mrg if test yes != "$_lt_disable_F77"; then
7719 1.1 mrg # Code to be used in simple compile tests
7720 1.1 mrg lt_simple_compile_test_code="\
7721 1.1 mrg subroutine t
7722 1.1 mrg return
7723 1.1 mrg end
7724 1.1 mrg "
7725 1.1 mrg
7726 1.1 mrg # Code to be used in simple link tests
7727 1.1 mrg lt_simple_link_test_code="\
7728 1.1 mrg program t
7729 1.1 mrg end
7730 1.1 mrg "
7731 1.1 mrg
7732 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7733 1.1 mrg _LT_TAG_COMPILER
7734 1.1 mrg
7735 1.1 mrg # save warnings/boilerplate of simple test code
7736 1.1 mrg _LT_COMPILER_BOILERPLATE
7737 1.1 mrg _LT_LINKER_BOILERPLATE
7738 1.1 mrg
7739 1.1 mrg # Allow CC to be a program name with arguments.
7740 1.1.1.2 mrg lt_save_CC=$CC
7741 1.1 mrg lt_save_GCC=$GCC
7742 1.1 mrg lt_save_CFLAGS=$CFLAGS
7743 1.1 mrg CC=${F77-"f77"}
7744 1.1 mrg CFLAGS=$FFLAGS
7745 1.1 mrg compiler=$CC
7746 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
7747 1.1 mrg _LT_CC_BASENAME([$compiler])
7748 1.1 mrg GCC=$G77
7749 1.1 mrg if test -n "$compiler"; then
7750 1.1 mrg AC_MSG_CHECKING([if libtool supports shared libraries])
7751 1.1 mrg AC_MSG_RESULT([$can_build_shared])
7752 1.1 mrg
7753 1.1 mrg AC_MSG_CHECKING([whether to build shared libraries])
7754 1.1.1.2 mrg test no = "$can_build_shared" && enable_shared=no
7755 1.1 mrg
7756 1.1 mrg # On AIX, shared libraries and static libraries use the same namespace, and
7757 1.1 mrg # are all built from PIC.
7758 1.1 mrg case $host_os in
7759 1.1 mrg aix3*)
7760 1.1.1.2 mrg test yes = "$enable_shared" && enable_static=no
7761 1.1 mrg if test -n "$RANLIB"; then
7762 1.1 mrg archive_cmds="$archive_cmds~\$RANLIB \$lib"
7763 1.1 mrg postinstall_cmds='$RANLIB $lib'
7764 1.1 mrg fi
7765 1.1 mrg ;;
7766 1.1 mrg aix[[4-9]]*)
7767 1.1.1.2 mrg if test ia64 != "$host_cpu"; then
7768 1.1.1.2 mrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7769 1.1.1.2 mrg yes,aix,yes) ;; # shared object as lib.so file only
7770 1.1.1.2 mrg yes,svr4,*) ;; # shared object as lib.so archive member only
7771 1.1.1.2 mrg yes,*) enable_static=no ;; # shared object in lib.a archive as well
7772 1.1.1.2 mrg esac
7773 1.1 mrg fi
7774 1.1 mrg ;;
7775 1.1 mrg esac
7776 1.1 mrg AC_MSG_RESULT([$enable_shared])
7777 1.1 mrg
7778 1.1 mrg AC_MSG_CHECKING([whether to build static libraries])
7779 1.1 mrg # Make sure either enable_shared or enable_static is yes.
7780 1.1.1.2 mrg test yes = "$enable_shared" || enable_static=yes
7781 1.1 mrg AC_MSG_RESULT([$enable_static])
7782 1.1 mrg
7783 1.1.1.2 mrg _LT_TAGVAR(GCC, $1)=$G77
7784 1.1.1.2 mrg _LT_TAGVAR(LD, $1)=$LD
7785 1.1 mrg
7786 1.1 mrg ## CAVEAT EMPTOR:
7787 1.1 mrg ## There is no encapsulation within the following macros, do not change
7788 1.1 mrg ## the running order or otherwise move them around unless you know exactly
7789 1.1 mrg ## what you are doing...
7790 1.1 mrg _LT_COMPILER_PIC($1)
7791 1.1 mrg _LT_COMPILER_C_O($1)
7792 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
7793 1.1 mrg _LT_LINKER_SHLIBS($1)
7794 1.1 mrg _LT_SYS_DYNAMIC_LINKER($1)
7795 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
7796 1.1 mrg
7797 1.1 mrg _LT_CONFIG($1)
7798 1.1 mrg fi # test -n "$compiler"
7799 1.1 mrg
7800 1.1 mrg GCC=$lt_save_GCC
7801 1.1.1.2 mrg CC=$lt_save_CC
7802 1.1.1.2 mrg CFLAGS=$lt_save_CFLAGS
7803 1.1.1.2 mrg fi # test yes != "$_lt_disable_F77"
7804 1.1 mrg
7805 1.1 mrg AC_LANG_POP
7806 1.1 mrg ])# _LT_LANG_F77_CONFIG
7807 1.1 mrg
7808 1.1 mrg
7809 1.1 mrg # _LT_LANG_FC_CONFIG([TAG])
7810 1.1 mrg # -------------------------
7811 1.1 mrg # Ensure that the configuration variables for a Fortran compiler are
7812 1.1 mrg # suitably defined. These variables are subsequently used by _LT_CONFIG
7813 1.1.1.2 mrg # to write the compiler configuration to 'libtool'.
7814 1.1 mrg m4_defun([_LT_LANG_FC_CONFIG],
7815 1.1 mrg [AC_LANG_PUSH(Fortran)
7816 1.1 mrg
7817 1.1.1.2 mrg if test -z "$FC" || test no = "$FC"; then
7818 1.1 mrg _lt_disable_FC=yes
7819 1.1 mrg fi
7820 1.1 mrg
7821 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7822 1.1 mrg _LT_TAGVAR(allow_undefined_flag, $1)=
7823 1.1 mrg _LT_TAGVAR(always_export_symbols, $1)=no
7824 1.1 mrg _LT_TAGVAR(archive_expsym_cmds, $1)=
7825 1.1 mrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7826 1.1 mrg _LT_TAGVAR(hardcode_direct, $1)=no
7827 1.1 mrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7828 1.1 mrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7829 1.1 mrg _LT_TAGVAR(hardcode_libdir_separator, $1)=
7830 1.1 mrg _LT_TAGVAR(hardcode_minus_L, $1)=no
7831 1.1 mrg _LT_TAGVAR(hardcode_automatic, $1)=no
7832 1.1 mrg _LT_TAGVAR(inherit_rpath, $1)=no
7833 1.1 mrg _LT_TAGVAR(module_cmds, $1)=
7834 1.1 mrg _LT_TAGVAR(module_expsym_cmds, $1)=
7835 1.1 mrg _LT_TAGVAR(link_all_deplibs, $1)=unknown
7836 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7837 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
7838 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7839 1.1 mrg _LT_TAGVAR(no_undefined_flag, $1)=
7840 1.1 mrg _LT_TAGVAR(whole_archive_flag_spec, $1)=
7841 1.1 mrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7842 1.1 mrg
7843 1.1 mrg # Source file extension for fc test sources.
7844 1.1 mrg ac_ext=${ac_fc_srcext-f}
7845 1.1 mrg
7846 1.1 mrg # Object file extension for compiled fc test sources.
7847 1.1 mrg objext=o
7848 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
7849 1.1 mrg
7850 1.1 mrg # No sense in running all these tests if we already determined that
7851 1.1 mrg # the FC compiler isn't working. Some variables (like enable_shared)
7852 1.1 mrg # are currently assumed to apply to all compilers on this platform,
7853 1.1 mrg # and will be corrupted by setting them based on a non-working compiler.
7854 1.1.1.2 mrg if test yes != "$_lt_disable_FC"; then
7855 1.1 mrg # Code to be used in simple compile tests
7856 1.1 mrg lt_simple_compile_test_code="\
7857 1.1 mrg subroutine t
7858 1.1 mrg return
7859 1.1 mrg end
7860 1.1 mrg "
7861 1.1 mrg
7862 1.1 mrg # Code to be used in simple link tests
7863 1.1 mrg lt_simple_link_test_code="\
7864 1.1 mrg program t
7865 1.1 mrg end
7866 1.1 mrg "
7867 1.1 mrg
7868 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7869 1.1 mrg _LT_TAG_COMPILER
7870 1.1 mrg
7871 1.1 mrg # save warnings/boilerplate of simple test code
7872 1.1 mrg _LT_COMPILER_BOILERPLATE
7873 1.1 mrg _LT_LINKER_BOILERPLATE
7874 1.1 mrg
7875 1.1 mrg # Allow CC to be a program name with arguments.
7876 1.1.1.2 mrg lt_save_CC=$CC
7877 1.1 mrg lt_save_GCC=$GCC
7878 1.1 mrg lt_save_CFLAGS=$CFLAGS
7879 1.1 mrg CC=${FC-"f95"}
7880 1.1 mrg CFLAGS=$FCFLAGS
7881 1.1 mrg compiler=$CC
7882 1.1 mrg GCC=$ac_cv_fc_compiler_gnu
7883 1.1 mrg
7884 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
7885 1.1 mrg _LT_CC_BASENAME([$compiler])
7886 1.1 mrg
7887 1.1 mrg if test -n "$compiler"; then
7888 1.1 mrg AC_MSG_CHECKING([if libtool supports shared libraries])
7889 1.1 mrg AC_MSG_RESULT([$can_build_shared])
7890 1.1 mrg
7891 1.1 mrg AC_MSG_CHECKING([whether to build shared libraries])
7892 1.1.1.2 mrg test no = "$can_build_shared" && enable_shared=no
7893 1.1 mrg
7894 1.1 mrg # On AIX, shared libraries and static libraries use the same namespace, and
7895 1.1 mrg # are all built from PIC.
7896 1.1 mrg case $host_os in
7897 1.1 mrg aix3*)
7898 1.1.1.2 mrg test yes = "$enable_shared" && enable_static=no
7899 1.1 mrg if test -n "$RANLIB"; then
7900 1.1 mrg archive_cmds="$archive_cmds~\$RANLIB \$lib"
7901 1.1 mrg postinstall_cmds='$RANLIB $lib'
7902 1.1 mrg fi
7903 1.1 mrg ;;
7904 1.1 mrg aix[[4-9]]*)
7905 1.1.1.2 mrg if test ia64 != "$host_cpu"; then
7906 1.1.1.2 mrg case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7907 1.1.1.2 mrg yes,aix,yes) ;; # shared object as lib.so file only
7908 1.1.1.2 mrg yes,svr4,*) ;; # shared object as lib.so archive member only
7909 1.1.1.2 mrg yes,*) enable_static=no ;; # shared object in lib.a archive as well
7910 1.1.1.2 mrg esac
7911 1.1 mrg fi
7912 1.1 mrg ;;
7913 1.1 mrg esac
7914 1.1 mrg AC_MSG_RESULT([$enable_shared])
7915 1.1 mrg
7916 1.1 mrg AC_MSG_CHECKING([whether to build static libraries])
7917 1.1 mrg # Make sure either enable_shared or enable_static is yes.
7918 1.1.1.2 mrg test yes = "$enable_shared" || enable_static=yes
7919 1.1 mrg AC_MSG_RESULT([$enable_static])
7920 1.1 mrg
7921 1.1.1.2 mrg _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
7922 1.1.1.2 mrg _LT_TAGVAR(LD, $1)=$LD
7923 1.1 mrg
7924 1.1 mrg ## CAVEAT EMPTOR:
7925 1.1 mrg ## There is no encapsulation within the following macros, do not change
7926 1.1 mrg ## the running order or otherwise move them around unless you know exactly
7927 1.1 mrg ## what you are doing...
7928 1.1 mrg _LT_SYS_HIDDEN_LIBDEPS($1)
7929 1.1 mrg _LT_COMPILER_PIC($1)
7930 1.1 mrg _LT_COMPILER_C_O($1)
7931 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
7932 1.1 mrg _LT_LINKER_SHLIBS($1)
7933 1.1 mrg _LT_SYS_DYNAMIC_LINKER($1)
7934 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
7935 1.1 mrg
7936 1.1 mrg _LT_CONFIG($1)
7937 1.1 mrg fi # test -n "$compiler"
7938 1.1 mrg
7939 1.1 mrg GCC=$lt_save_GCC
7940 1.1 mrg CC=$lt_save_CC
7941 1.1 mrg CFLAGS=$lt_save_CFLAGS
7942 1.1.1.2 mrg fi # test yes != "$_lt_disable_FC"
7943 1.1 mrg
7944 1.1 mrg AC_LANG_POP
7945 1.1 mrg ])# _LT_LANG_FC_CONFIG
7946 1.1 mrg
7947 1.1 mrg
7948 1.1 mrg # _LT_LANG_GCJ_CONFIG([TAG])
7949 1.1 mrg # --------------------------
7950 1.1 mrg # Ensure that the configuration variables for the GNU Java Compiler compiler
7951 1.1 mrg # are suitably defined. These variables are subsequently used by _LT_CONFIG
7952 1.1.1.2 mrg # to write the compiler configuration to 'libtool'.
7953 1.1 mrg m4_defun([_LT_LANG_GCJ_CONFIG],
7954 1.1 mrg [AC_REQUIRE([LT_PROG_GCJ])dnl
7955 1.1 mrg AC_LANG_SAVE
7956 1.1 mrg
7957 1.1 mrg # Source file extension for Java test sources.
7958 1.1 mrg ac_ext=java
7959 1.1 mrg
7960 1.1 mrg # Object file extension for compiled Java test sources.
7961 1.1 mrg objext=o
7962 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
7963 1.1 mrg
7964 1.1 mrg # Code to be used in simple compile tests
7965 1.1 mrg lt_simple_compile_test_code="class foo {}"
7966 1.1 mrg
7967 1.1 mrg # Code to be used in simple link tests
7968 1.1 mrg lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7969 1.1 mrg
7970 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7971 1.1 mrg _LT_TAG_COMPILER
7972 1.1 mrg
7973 1.1 mrg # save warnings/boilerplate of simple test code
7974 1.1 mrg _LT_COMPILER_BOILERPLATE
7975 1.1 mrg _LT_LINKER_BOILERPLATE
7976 1.1 mrg
7977 1.1 mrg # Allow CC to be a program name with arguments.
7978 1.1 mrg lt_save_CC=$CC
7979 1.1 mrg lt_save_CFLAGS=$CFLAGS
7980 1.1 mrg lt_save_GCC=$GCC
7981 1.1 mrg GCC=yes
7982 1.1 mrg CC=${GCJ-"gcj"}
7983 1.1 mrg CFLAGS=$GCJFLAGS
7984 1.1 mrg compiler=$CC
7985 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
7986 1.1.1.2 mrg _LT_TAGVAR(LD, $1)=$LD
7987 1.1 mrg _LT_CC_BASENAME([$compiler])
7988 1.1 mrg
7989 1.1 mrg # GCJ did not exist at the time GCC didn't implicitly link libc in.
7990 1.1 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7991 1.1 mrg
7992 1.1 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7993 1.1 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
7994 1.1 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7995 1.1 mrg
7996 1.1 mrg ## CAVEAT EMPTOR:
7997 1.1 mrg ## There is no encapsulation within the following macros, do not change
7998 1.1 mrg ## the running order or otherwise move them around unless you know exactly
7999 1.1 mrg ## what you are doing...
8000 1.1 mrg if test -n "$compiler"; then
8001 1.1 mrg _LT_COMPILER_NO_RTTI($1)
8002 1.1 mrg _LT_COMPILER_PIC($1)
8003 1.1 mrg _LT_COMPILER_C_O($1)
8004 1.1 mrg _LT_COMPILER_FILE_LOCKS($1)
8005 1.1 mrg _LT_LINKER_SHLIBS($1)
8006 1.1 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
8007 1.1 mrg
8008 1.1 mrg _LT_CONFIG($1)
8009 1.1 mrg fi
8010 1.1 mrg
8011 1.1 mrg AC_LANG_RESTORE
8012 1.1 mrg
8013 1.1 mrg GCC=$lt_save_GCC
8014 1.1 mrg CC=$lt_save_CC
8015 1.1 mrg CFLAGS=$lt_save_CFLAGS
8016 1.1 mrg ])# _LT_LANG_GCJ_CONFIG
8017 1.1 mrg
8018 1.1 mrg
8019 1.1.1.2 mrg # _LT_LANG_GO_CONFIG([TAG])
8020 1.1.1.2 mrg # --------------------------
8021 1.1.1.2 mrg # Ensure that the configuration variables for the GNU Go compiler
8022 1.1.1.2 mrg # are suitably defined. These variables are subsequently used by _LT_CONFIG
8023 1.1.1.2 mrg # to write the compiler configuration to 'libtool'.
8024 1.1.1.2 mrg m4_defun([_LT_LANG_GO_CONFIG],
8025 1.1.1.2 mrg [AC_REQUIRE([LT_PROG_GO])dnl
8026 1.1.1.2 mrg AC_LANG_SAVE
8027 1.1.1.2 mrg
8028 1.1.1.2 mrg # Source file extension for Go test sources.
8029 1.1.1.2 mrg ac_ext=go
8030 1.1.1.2 mrg
8031 1.1.1.2 mrg # Object file extension for compiled Go test sources.
8032 1.1.1.2 mrg objext=o
8033 1.1.1.2 mrg _LT_TAGVAR(objext, $1)=$objext
8034 1.1.1.2 mrg
8035 1.1.1.2 mrg # Code to be used in simple compile tests
8036 1.1.1.2 mrg lt_simple_compile_test_code="package main; func main() { }"
8037 1.1.1.2 mrg
8038 1.1.1.2 mrg # Code to be used in simple link tests
8039 1.1.1.2 mrg lt_simple_link_test_code='package main; func main() { }'
8040 1.1.1.2 mrg
8041 1.1.1.2 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8042 1.1.1.2 mrg _LT_TAG_COMPILER
8043 1.1.1.2 mrg
8044 1.1.1.2 mrg # save warnings/boilerplate of simple test code
8045 1.1.1.2 mrg _LT_COMPILER_BOILERPLATE
8046 1.1.1.2 mrg _LT_LINKER_BOILERPLATE
8047 1.1.1.2 mrg
8048 1.1.1.2 mrg # Allow CC to be a program name with arguments.
8049 1.1.1.2 mrg lt_save_CC=$CC
8050 1.1.1.2 mrg lt_save_CFLAGS=$CFLAGS
8051 1.1.1.2 mrg lt_save_GCC=$GCC
8052 1.1.1.2 mrg GCC=yes
8053 1.1.1.2 mrg CC=${GOC-"gccgo"}
8054 1.1.1.2 mrg CFLAGS=$GOFLAGS
8055 1.1.1.2 mrg compiler=$CC
8056 1.1.1.2 mrg _LT_TAGVAR(compiler, $1)=$CC
8057 1.1.1.2 mrg _LT_TAGVAR(LD, $1)=$LD
8058 1.1.1.2 mrg _LT_CC_BASENAME([$compiler])
8059 1.1.1.2 mrg
8060 1.1.1.2 mrg # Go did not exist at the time GCC didn't implicitly link libc in.
8061 1.1.1.2 mrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8062 1.1.1.2 mrg
8063 1.1.1.2 mrg _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8064 1.1.1.2 mrg _LT_TAGVAR(reload_flag, $1)=$reload_flag
8065 1.1.1.2 mrg _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8066 1.1.1.2 mrg
8067 1.1.1.2 mrg ## CAVEAT EMPTOR:
8068 1.1.1.2 mrg ## There is no encapsulation within the following macros, do not change
8069 1.1.1.2 mrg ## the running order or otherwise move them around unless you know exactly
8070 1.1.1.2 mrg ## what you are doing...
8071 1.1.1.2 mrg if test -n "$compiler"; then
8072 1.1.1.2 mrg _LT_COMPILER_NO_RTTI($1)
8073 1.1.1.2 mrg _LT_COMPILER_PIC($1)
8074 1.1.1.2 mrg _LT_COMPILER_C_O($1)
8075 1.1.1.2 mrg _LT_COMPILER_FILE_LOCKS($1)
8076 1.1.1.2 mrg _LT_LINKER_SHLIBS($1)
8077 1.1.1.2 mrg _LT_LINKER_HARDCODE_LIBPATH($1)
8078 1.1.1.2 mrg
8079 1.1.1.2 mrg _LT_CONFIG($1)
8080 1.1.1.2 mrg fi
8081 1.1.1.2 mrg
8082 1.1.1.2 mrg AC_LANG_RESTORE
8083 1.1.1.2 mrg
8084 1.1.1.2 mrg GCC=$lt_save_GCC
8085 1.1.1.2 mrg CC=$lt_save_CC
8086 1.1.1.2 mrg CFLAGS=$lt_save_CFLAGS
8087 1.1.1.2 mrg ])# _LT_LANG_GO_CONFIG
8088 1.1.1.2 mrg
8089 1.1.1.2 mrg
8090 1.1 mrg # _LT_LANG_RC_CONFIG([TAG])
8091 1.1 mrg # -------------------------
8092 1.1 mrg # Ensure that the configuration variables for the Windows resource compiler
8093 1.1 mrg # are suitably defined. These variables are subsequently used by _LT_CONFIG
8094 1.1.1.2 mrg # to write the compiler configuration to 'libtool'.
8095 1.1 mrg m4_defun([_LT_LANG_RC_CONFIG],
8096 1.1 mrg [AC_REQUIRE([LT_PROG_RC])dnl
8097 1.1 mrg AC_LANG_SAVE
8098 1.1 mrg
8099 1.1 mrg # Source file extension for RC test sources.
8100 1.1 mrg ac_ext=rc
8101 1.1 mrg
8102 1.1 mrg # Object file extension for compiled RC test sources.
8103 1.1 mrg objext=o
8104 1.1 mrg _LT_TAGVAR(objext, $1)=$objext
8105 1.1 mrg
8106 1.1 mrg # Code to be used in simple compile tests
8107 1.1 mrg lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
8108 1.1 mrg
8109 1.1 mrg # Code to be used in simple link tests
8110 1.1.1.2 mrg lt_simple_link_test_code=$lt_simple_compile_test_code
8111 1.1 mrg
8112 1.1 mrg # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8113 1.1 mrg _LT_TAG_COMPILER
8114 1.1 mrg
8115 1.1 mrg # save warnings/boilerplate of simple test code
8116 1.1 mrg _LT_COMPILER_BOILERPLATE
8117 1.1 mrg _LT_LINKER_BOILERPLATE
8118 1.1 mrg
8119 1.1 mrg # Allow CC to be a program name with arguments.
8120 1.1.1.2 mrg lt_save_CC=$CC
8121 1.1 mrg lt_save_CFLAGS=$CFLAGS
8122 1.1 mrg lt_save_GCC=$GCC
8123 1.1 mrg GCC=
8124 1.1 mrg CC=${RC-"windres"}
8125 1.1 mrg CFLAGS=
8126 1.1 mrg compiler=$CC
8127 1.1 mrg _LT_TAGVAR(compiler, $1)=$CC
8128 1.1 mrg _LT_CC_BASENAME([$compiler])
8129 1.1 mrg _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
8130 1.1 mrg
8131 1.1 mrg if test -n "$compiler"; then
8132 1.1 mrg :
8133 1.1 mrg _LT_CONFIG($1)
8134 1.1 mrg fi
8135 1.1 mrg
8136 1.1 mrg GCC=$lt_save_GCC
8137 1.1 mrg AC_LANG_RESTORE
8138 1.1 mrg CC=$lt_save_CC
8139 1.1 mrg CFLAGS=$lt_save_CFLAGS
8140 1.1 mrg ])# _LT_LANG_RC_CONFIG
8141 1.1 mrg
8142 1.1 mrg
8143 1.1 mrg # LT_PROG_GCJ
8144 1.1 mrg # -----------
8145 1.1 mrg AC_DEFUN([LT_PROG_GCJ],
8146 1.1 mrg [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
8147 1.1 mrg [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
8148 1.1 mrg [AC_CHECK_TOOL(GCJ, gcj,)
8149 1.1.1.2 mrg test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
8150 1.1 mrg AC_SUBST(GCJFLAGS)])])[]dnl
8151 1.1 mrg ])
8152 1.1 mrg
8153 1.1 mrg # Old name:
8154 1.1 mrg AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
8155 1.1 mrg dnl aclocal-1.4 backwards compatibility:
8156 1.1 mrg dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
8157 1.1 mrg
8158 1.1 mrg
8159 1.1.1.2 mrg # LT_PROG_GO
8160 1.1.1.2 mrg # ----------
8161 1.1.1.2 mrg AC_DEFUN([LT_PROG_GO],
8162 1.1.1.2 mrg [AC_CHECK_TOOL(GOC, gccgo,)
8163 1.1.1.2 mrg ])
8164 1.1.1.2 mrg
8165 1.1.1.2 mrg
8166 1.1 mrg # LT_PROG_RC
8167 1.1 mrg # ----------
8168 1.1 mrg AC_DEFUN([LT_PROG_RC],
8169 1.1 mrg [AC_CHECK_TOOL(RC, windres,)
8170 1.1 mrg ])
8171 1.1 mrg
8172 1.1 mrg # Old name:
8173 1.1 mrg AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
8174 1.1 mrg dnl aclocal-1.4 backwards compatibility:
8175 1.1 mrg dnl AC_DEFUN([LT_AC_PROG_RC], [])
8176 1.1 mrg
8177 1.1 mrg
8178 1.1 mrg # _LT_DECL_EGREP
8179 1.1 mrg # --------------
8180 1.1 mrg # If we don't have a new enough Autoconf to choose the best grep
8181 1.1 mrg # available, choose the one first in the user's PATH.
8182 1.1 mrg m4_defun([_LT_DECL_EGREP],
8183 1.1 mrg [AC_REQUIRE([AC_PROG_EGREP])dnl
8184 1.1 mrg AC_REQUIRE([AC_PROG_FGREP])dnl
8185 1.1 mrg test -z "$GREP" && GREP=grep
8186 1.1 mrg _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
8187 1.1 mrg _LT_DECL([], [EGREP], [1], [An ERE matcher])
8188 1.1 mrg _LT_DECL([], [FGREP], [1], [A literal string matcher])
8189 1.1 mrg dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
8190 1.1 mrg AC_SUBST([GREP])
8191 1.1 mrg ])
8192 1.1 mrg
8193 1.1 mrg
8194 1.1 mrg # _LT_DECL_OBJDUMP
8195 1.1 mrg # --------------
8196 1.1 mrg # If we don't have a new enough Autoconf to choose the best objdump
8197 1.1 mrg # available, choose the one first in the user's PATH.
8198 1.1 mrg m4_defun([_LT_DECL_OBJDUMP],
8199 1.1 mrg [AC_CHECK_TOOL(OBJDUMP, objdump, false)
8200 1.1 mrg test -z "$OBJDUMP" && OBJDUMP=objdump
8201 1.1 mrg _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
8202 1.1 mrg AC_SUBST([OBJDUMP])
8203 1.1 mrg ])
8204 1.1 mrg
8205 1.1 mrg # _LT_DECL_DLLTOOL
8206 1.1 mrg # ----------------
8207 1.1 mrg # Ensure DLLTOOL variable is set.
8208 1.1 mrg m4_defun([_LT_DECL_DLLTOOL],
8209 1.1 mrg [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8210 1.1 mrg test -z "$DLLTOOL" && DLLTOOL=dlltool
8211 1.1 mrg _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
8212 1.1 mrg AC_SUBST([DLLTOOL])
8213 1.1 mrg ])
8214 1.1 mrg
8215 1.1.1.4 mrg # _LT_DECL_FILECMD
8216 1.1.1.4 mrg # ----------------
8217 1.1.1.4 mrg # Check for a file(cmd) program that can be used to detect file type and magic
8218 1.1.1.4 mrg m4_defun([_LT_DECL_FILECMD],
8219 1.1.1.4 mrg [AC_CHECK_TOOL([FILECMD], [file], [:])
8220 1.1.1.4 mrg _LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
8221 1.1.1.4 mrg ])# _LD_DECL_FILECMD
8222 1.1.1.4 mrg
8223 1.1 mrg # _LT_DECL_SED
8224 1.1 mrg # ------------
8225 1.1 mrg # Check for a fully-functional sed program, that truncates
8226 1.1 mrg # as few characters as possible. Prefer GNU sed if found.
8227 1.1 mrg m4_defun([_LT_DECL_SED],
8228 1.1 mrg [AC_PROG_SED
8229 1.1 mrg test -z "$SED" && SED=sed
8230 1.1 mrg Xsed="$SED -e 1s/^X//"
8231 1.1 mrg _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
8232 1.1 mrg _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
8233 1.1 mrg [Sed that helps us avoid accidentally triggering echo(1) options like -n])
8234 1.1 mrg ])# _LT_DECL_SED
8235 1.1 mrg
8236 1.1 mrg m4_ifndef([AC_PROG_SED], [
8237 1.1 mrg ############################################################
8238 1.1 mrg # NOTE: This macro has been submitted for inclusion into #
8239 1.1 mrg # GNU Autoconf as AC_PROG_SED. When it is available in #
8240 1.1 mrg # a released version of Autoconf we should remove this #
8241 1.1 mrg # macro and use it instead. #
8242 1.1 mrg ############################################################
8243 1.1 mrg
8244 1.1 mrg m4_defun([AC_PROG_SED],
8245 1.1 mrg [AC_MSG_CHECKING([for a sed that does not truncate output])
8246 1.1 mrg AC_CACHE_VAL(lt_cv_path_SED,
8247 1.1 mrg [# Loop through the user's path and test for sed and gsed.
8248 1.1 mrg # Then use that list of sed's as ones to test for truncation.
8249 1.1 mrg as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8250 1.1 mrg for as_dir in $PATH
8251 1.1 mrg do
8252 1.1 mrg IFS=$as_save_IFS
8253 1.1 mrg test -z "$as_dir" && as_dir=.
8254 1.1 mrg for lt_ac_prog in sed gsed; do
8255 1.1 mrg for ac_exec_ext in '' $ac_executable_extensions; do
8256 1.1 mrg if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
8257 1.1 mrg lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
8258 1.1 mrg fi
8259 1.1 mrg done
8260 1.1 mrg done
8261 1.1 mrg done
8262 1.1 mrg IFS=$as_save_IFS
8263 1.1 mrg lt_ac_max=0
8264 1.1 mrg lt_ac_count=0
8265 1.1 mrg # Add /usr/xpg4/bin/sed as it is typically found on Solaris
8266 1.1 mrg # along with /bin/sed that truncates output.
8267 1.1 mrg for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
8268 1.1.1.2 mrg test ! -f "$lt_ac_sed" && continue
8269 1.1 mrg cat /dev/null > conftest.in
8270 1.1 mrg lt_ac_count=0
8271 1.1 mrg echo $ECHO_N "0123456789$ECHO_C" >conftest.in
8272 1.1 mrg # Check for GNU sed and select it if it is found.
8273 1.1 mrg if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
8274 1.1 mrg lt_cv_path_SED=$lt_ac_sed
8275 1.1 mrg break
8276 1.1 mrg fi
8277 1.1 mrg while true; do
8278 1.1 mrg cat conftest.in conftest.in >conftest.tmp
8279 1.1 mrg mv conftest.tmp conftest.in
8280 1.1 mrg cp conftest.in conftest.nl
8281 1.1 mrg echo >>conftest.nl
8282 1.1 mrg $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
8283 1.1 mrg cmp -s conftest.out conftest.nl || break
8284 1.1 mrg # 10000 chars as input seems more than enough
8285 1.1.1.2 mrg test 10 -lt "$lt_ac_count" && break
8286 1.1 mrg lt_ac_count=`expr $lt_ac_count + 1`
8287 1.1.1.2 mrg if test "$lt_ac_count" -gt "$lt_ac_max"; then
8288 1.1 mrg lt_ac_max=$lt_ac_count
8289 1.1 mrg lt_cv_path_SED=$lt_ac_sed
8290 1.1 mrg fi
8291 1.1 mrg done
8292 1.1 mrg done
8293 1.1 mrg ])
8294 1.1 mrg SED=$lt_cv_path_SED
8295 1.1 mrg AC_SUBST([SED])
8296 1.1 mrg AC_MSG_RESULT([$SED])
8297 1.1 mrg ])#AC_PROG_SED
8298 1.1 mrg ])#m4_ifndef
8299 1.1 mrg
8300 1.1 mrg # Old name:
8301 1.1 mrg AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
8302 1.1 mrg dnl aclocal-1.4 backwards compatibility:
8303 1.1 mrg dnl AC_DEFUN([LT_AC_PROG_SED], [])
8304 1.1 mrg
8305 1.1 mrg
8306 1.1 mrg # _LT_CHECK_SHELL_FEATURES
8307 1.1 mrg # ------------------------
8308 1.1 mrg # Find out whether the shell is Bourne or XSI compatible,
8309 1.1 mrg # or has some other useful features.
8310 1.1 mrg m4_defun([_LT_CHECK_SHELL_FEATURES],
8311 1.1.1.2 mrg [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8312 1.1 mrg lt_unset=unset
8313 1.1 mrg else
8314 1.1 mrg lt_unset=false
8315 1.1 mrg fi
8316 1.1 mrg _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
8317 1.1 mrg
8318 1.1 mrg # test EBCDIC or ASCII
8319 1.1 mrg case `echo X|tr X '\101'` in
8320 1.1 mrg A) # ASCII based system
8321 1.1 mrg # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8322 1.1 mrg lt_SP2NL='tr \040 \012'
8323 1.1 mrg lt_NL2SP='tr \015\012 \040\040'
8324 1.1 mrg ;;
8325 1.1 mrg *) # EBCDIC based system
8326 1.1 mrg lt_SP2NL='tr \100 \n'
8327 1.1 mrg lt_NL2SP='tr \r\n \100\100'
8328 1.1 mrg ;;
8329 1.1 mrg esac
8330 1.1 mrg _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8331 1.1 mrg _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8332 1.1 mrg ])# _LT_CHECK_SHELL_FEATURES
8333 1.1 mrg
8334 1.1 mrg
8335 1.1 mrg # _LT_PATH_CONVERSION_FUNCTIONS
8336 1.1 mrg # -----------------------------
8337 1.1.1.2 mrg # Determine what file name conversion functions should be used by
8338 1.1 mrg # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
8339 1.1 mrg # for certain cross-compile configurations and native mingw.
8340 1.1 mrg m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
8341 1.1 mrg [AC_REQUIRE([AC_CANONICAL_HOST])dnl
8342 1.1 mrg AC_REQUIRE([AC_CANONICAL_BUILD])dnl
8343 1.1 mrg AC_MSG_CHECKING([how to convert $build file names to $host format])
8344 1.1 mrg AC_CACHE_VAL(lt_cv_to_host_file_cmd,
8345 1.1 mrg [case $host in
8346 1.1 mrg *-*-mingw* )
8347 1.1 mrg case $build in
8348 1.1 mrg *-*-mingw* ) # actually msys
8349 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8350 1.1 mrg ;;
8351 1.1 mrg *-*-cygwin* )
8352 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8353 1.1 mrg ;;
8354 1.1 mrg * ) # otherwise, assume *nix
8355 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8356 1.1 mrg ;;
8357 1.1 mrg esac
8358 1.1 mrg ;;
8359 1.1 mrg *-*-cygwin* )
8360 1.1 mrg case $build in
8361 1.1 mrg *-*-mingw* ) # actually msys
8362 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8363 1.1 mrg ;;
8364 1.1 mrg *-*-cygwin* )
8365 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_noop
8366 1.1 mrg ;;
8367 1.1 mrg * ) # otherwise, assume *nix
8368 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8369 1.1 mrg ;;
8370 1.1 mrg esac
8371 1.1 mrg ;;
8372 1.1 mrg * ) # unhandled hosts (and "normal" native builds)
8373 1.1 mrg lt_cv_to_host_file_cmd=func_convert_file_noop
8374 1.1 mrg ;;
8375 1.1 mrg esac
8376 1.1 mrg ])
8377 1.1 mrg to_host_file_cmd=$lt_cv_to_host_file_cmd
8378 1.1 mrg AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8379 1.1 mrg _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8380 1.1 mrg [0], [convert $build file names to $host format])dnl
8381 1.1 mrg
8382 1.1 mrg AC_MSG_CHECKING([how to convert $build file names to toolchain format])
8383 1.1 mrg AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8384 1.1 mrg [#assume ordinary cross tools, or native build.
8385 1.1 mrg lt_cv_to_tool_file_cmd=func_convert_file_noop
8386 1.1 mrg case $host in
8387 1.1 mrg *-*-mingw* )
8388 1.1 mrg case $build in
8389 1.1 mrg *-*-mingw* ) # actually msys
8390 1.1 mrg lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8391 1.1 mrg ;;
8392 1.1 mrg esac
8393 1.1 mrg ;;
8394 1.1 mrg esac
8395 1.1 mrg ])
8396 1.1 mrg to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8397 1.1 mrg AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8398 1.1 mrg _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8399 1.1 mrg [0], [convert $build files to toolchain format])dnl
8400 1.1 mrg ])# _LT_PATH_CONVERSION_FUNCTIONS
8401