libtool.m4 revision 1.1.1.4 1 1.1 spz # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2 1.1 spz #
3 1.1.1.3 spz # Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
4 1.1 spz # Written by Gordon Matzigkeit, 1996
5 1.1 spz #
6 1.1 spz # This file is free software; the Free Software Foundation gives
7 1.1 spz # unlimited permission to copy and/or distribute it, with or without
8 1.1 spz # modifications, as long as this notice is preserved.
9 1.1 spz
10 1.1 spz m4_define([_LT_COPYING], [dnl
11 1.1.1.3 spz # Copyright (C) 2014 Free Software Foundation, Inc.
12 1.1.1.3 spz # This is free software; see the source for copying conditions. There is NO
13 1.1.1.3 spz # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 1.1.1.3 spz
15 1.1.1.3 spz # GNU Libtool is free software; you can redistribute it and/or modify
16 1.1.1.3 spz # it under the terms of the GNU General Public License as published by
17 1.1.1.3 spz # the Free Software Foundation; either version 2 of of the License, or
18 1.1.1.3 spz # (at your option) any later version.
19 1.1 spz #
20 1.1.1.3 spz # As a special exception to the GNU General Public License, if you
21 1.1.1.3 spz # distribute this file as part of a program or library that is built
22 1.1.1.3 spz # using GNU Libtool, you may include this file under the same
23 1.1.1.3 spz # distribution terms that you use for the rest of that program.
24 1.1 spz #
25 1.1.1.3 spz # GNU Libtool is distributed in the hope that it will be useful, but
26 1.1.1.3 spz # WITHOUT ANY WARRANTY; without even the implied warranty of
27 1.1 spz # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 1.1 spz # GNU General Public License for more details.
29 1.1 spz #
30 1.1 spz # You should have received a copy of the GNU General Public License
31 1.1.1.3 spz # along with this program. If not, see <http://www.gnu.org/licenses/>.
32 1.1 spz ])
33 1.1 spz
34 1.1.1.3 spz # serial 58 LT_INIT
35 1.1 spz
36 1.1 spz
37 1.1 spz # LT_PREREQ(VERSION)
38 1.1 spz # ------------------
39 1.1 spz # Complain and exit if this libtool version is less that VERSION.
40 1.1 spz m4_defun([LT_PREREQ],
41 1.1 spz [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
42 1.1 spz [m4_default([$3],
43 1.1 spz [m4_fatal([Libtool version $1 or higher is required],
44 1.1 spz 63)])],
45 1.1 spz [$2])])
46 1.1 spz
47 1.1 spz
48 1.1 spz # _LT_CHECK_BUILDDIR
49 1.1 spz # ------------------
50 1.1 spz # Complain if the absolute build directory name contains unusual characters
51 1.1 spz m4_defun([_LT_CHECK_BUILDDIR],
52 1.1 spz [case `pwd` in
53 1.1 spz *\ * | *\ *)
54 1.1 spz AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
55 1.1 spz esac
56 1.1 spz ])
57 1.1 spz
58 1.1 spz
59 1.1 spz # LT_INIT([OPTIONS])
60 1.1 spz # ------------------
61 1.1 spz AC_DEFUN([LT_INIT],
62 1.1.1.3 spz [AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
63 1.1 spz AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
64 1.1 spz AC_BEFORE([$0], [LT_LANG])dnl
65 1.1 spz AC_BEFORE([$0], [LT_OUTPUT])dnl
66 1.1 spz AC_BEFORE([$0], [LTDL_INIT])dnl
67 1.1 spz m4_require([_LT_CHECK_BUILDDIR])dnl
68 1.1 spz
69 1.1 spz dnl Autoconf doesn't catch unexpanded LT_ macros by default:
70 1.1 spz m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
71 1.1 spz m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
72 1.1 spz dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
73 1.1 spz dnl unless we require an AC_DEFUNed macro:
74 1.1 spz AC_REQUIRE([LTOPTIONS_VERSION])dnl
75 1.1 spz AC_REQUIRE([LTSUGAR_VERSION])dnl
76 1.1 spz AC_REQUIRE([LTVERSION_VERSION])dnl
77 1.1 spz AC_REQUIRE([LTOBSOLETE_VERSION])dnl
78 1.1 spz m4_require([_LT_PROG_LTMAIN])dnl
79 1.1 spz
80 1.1 spz _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
81 1.1 spz
82 1.1 spz dnl Parse OPTIONS
83 1.1 spz _LT_SET_OPTIONS([$0], [$1])
84 1.1 spz
85 1.1 spz # This can be used to rebuild libtool when needed
86 1.1.1.3 spz LIBTOOL_DEPS=$ltmain
87 1.1 spz
88 1.1 spz # Always use our own libtool.
89 1.1 spz LIBTOOL='$(SHELL) $(top_builddir)/libtool'
90 1.1 spz AC_SUBST(LIBTOOL)dnl
91 1.1 spz
92 1.1 spz _LT_SETUP
93 1.1 spz
94 1.1 spz # Only expand once:
95 1.1 spz m4_define([LT_INIT])
96 1.1 spz ])# LT_INIT
97 1.1 spz
98 1.1 spz # Old names:
99 1.1 spz AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
100 1.1 spz AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
101 1.1 spz dnl aclocal-1.4 backwards compatibility:
102 1.1 spz dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
103 1.1 spz dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
104 1.1 spz
105 1.1 spz
106 1.1.1.3 spz # _LT_PREPARE_CC_BASENAME
107 1.1.1.3 spz # -----------------------
108 1.1.1.3 spz m4_defun([_LT_PREPARE_CC_BASENAME], [
109 1.1.1.3 spz # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
110 1.1.1.3 spz func_cc_basename ()
111 1.1.1.3 spz {
112 1.1.1.3 spz for cc_temp in @S|@*""; do
113 1.1.1.3 spz case $cc_temp in
114 1.1.1.3 spz compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
115 1.1.1.3 spz distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
116 1.1.1.3 spz \-*) ;;
117 1.1.1.3 spz *) break;;
118 1.1.1.3 spz esac
119 1.1.1.3 spz done
120 1.1.1.3 spz func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
121 1.1.1.3 spz }
122 1.1.1.3 spz ])# _LT_PREPARE_CC_BASENAME
123 1.1.1.3 spz
124 1.1.1.3 spz
125 1.1 spz # _LT_CC_BASENAME(CC)
126 1.1 spz # -------------------
127 1.1.1.3 spz # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
128 1.1.1.3 spz # but that macro is also expanded into generated libtool script, which
129 1.1.1.3 spz # arranges for $SED and $ECHO to be set by different means.
130 1.1 spz m4_defun([_LT_CC_BASENAME],
131 1.1.1.3 spz [m4_require([_LT_PREPARE_CC_BASENAME])dnl
132 1.1.1.3 spz AC_REQUIRE([_LT_DECL_SED])dnl
133 1.1.1.3 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
134 1.1.1.3 spz func_cc_basename $1
135 1.1.1.3 spz cc_basename=$func_cc_basename_result
136 1.1 spz ])
137 1.1 spz
138 1.1 spz
139 1.1 spz # _LT_FILEUTILS_DEFAULTS
140 1.1 spz # ----------------------
141 1.1 spz # It is okay to use these file commands and assume they have been set
142 1.1.1.3 spz # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
143 1.1 spz m4_defun([_LT_FILEUTILS_DEFAULTS],
144 1.1 spz [: ${CP="cp -f"}
145 1.1 spz : ${MV="mv -f"}
146 1.1 spz : ${RM="rm -f"}
147 1.1 spz ])# _LT_FILEUTILS_DEFAULTS
148 1.1 spz
149 1.1 spz
150 1.1 spz # _LT_SETUP
151 1.1 spz # ---------
152 1.1 spz m4_defun([_LT_SETUP],
153 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
154 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
155 1.1 spz AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
156 1.1 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
157 1.1 spz
158 1.1.1.2 spz _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
159 1.1.1.2 spz dnl
160 1.1 spz _LT_DECL([], [host_alias], [0], [The host system])dnl
161 1.1 spz _LT_DECL([], [host], [0])dnl
162 1.1 spz _LT_DECL([], [host_os], [0])dnl
163 1.1 spz dnl
164 1.1 spz _LT_DECL([], [build_alias], [0], [The build system])dnl
165 1.1 spz _LT_DECL([], [build], [0])dnl
166 1.1 spz _LT_DECL([], [build_os], [0])dnl
167 1.1 spz dnl
168 1.1 spz AC_REQUIRE([AC_PROG_CC])dnl
169 1.1 spz AC_REQUIRE([LT_PATH_LD])dnl
170 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
171 1.1 spz dnl
172 1.1 spz AC_REQUIRE([AC_PROG_LN_S])dnl
173 1.1 spz test -z "$LN_S" && LN_S="ln -s"
174 1.1 spz _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
175 1.1 spz dnl
176 1.1 spz AC_REQUIRE([LT_CMD_MAX_LEN])dnl
177 1.1 spz _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
178 1.1 spz _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
179 1.1 spz dnl
180 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
181 1.1 spz m4_require([_LT_CHECK_SHELL_FEATURES])dnl
182 1.1 spz m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
183 1.1 spz m4_require([_LT_CMD_RELOAD])dnl
184 1.1 spz m4_require([_LT_CHECK_MAGIC_METHOD])dnl
185 1.1 spz m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
186 1.1 spz m4_require([_LT_CMD_OLD_ARCHIVE])dnl
187 1.1 spz m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
188 1.1 spz m4_require([_LT_WITH_SYSROOT])dnl
189 1.1.1.3 spz m4_require([_LT_CMD_TRUNCATE])dnl
190 1.1 spz
191 1.1 spz _LT_CONFIG_LIBTOOL_INIT([
192 1.1.1.3 spz # See if we are running on zsh, and set the options that allow our
193 1.1 spz # commands through without removal of \ escapes INIT.
194 1.1.1.3 spz if test -n "\${ZSH_VERSION+set}"; then
195 1.1 spz setopt NO_GLOB_SUBST
196 1.1 spz fi
197 1.1 spz ])
198 1.1.1.3 spz if test -n "${ZSH_VERSION+set}"; then
199 1.1 spz setopt NO_GLOB_SUBST
200 1.1 spz fi
201 1.1 spz
202 1.1 spz _LT_CHECK_OBJDIR
203 1.1 spz
204 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
205 1.1 spz
206 1.1 spz case $host_os in
207 1.1 spz aix3*)
208 1.1 spz # AIX sometimes has problems with the GCC collect2 program. For some
209 1.1 spz # reason, if we set the COLLECT_NAMES environment variable, the problems
210 1.1 spz # vanish in a puff of smoke.
211 1.1.1.3 spz if test set != "${COLLECT_NAMES+set}"; then
212 1.1 spz COLLECT_NAMES=
213 1.1 spz export COLLECT_NAMES
214 1.1 spz fi
215 1.1 spz ;;
216 1.1 spz esac
217 1.1 spz
218 1.1 spz # Global variables:
219 1.1 spz ofile=libtool
220 1.1 spz can_build_shared=yes
221 1.1 spz
222 1.1.1.3 spz # All known linkers require a '.a' archive for static linking (except MSVC,
223 1.1 spz # which needs '.lib').
224 1.1 spz libext=a
225 1.1 spz
226 1.1.1.3 spz with_gnu_ld=$lt_cv_prog_gnu_ld
227 1.1 spz
228 1.1.1.3 spz old_CC=$CC
229 1.1.1.3 spz old_CFLAGS=$CFLAGS
230 1.1 spz
231 1.1 spz # Set sane defaults for various variables
232 1.1 spz test -z "$CC" && CC=cc
233 1.1 spz test -z "$LTCC" && LTCC=$CC
234 1.1 spz test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
235 1.1 spz test -z "$LD" && LD=ld
236 1.1 spz test -z "$ac_objext" && ac_objext=o
237 1.1 spz
238 1.1 spz _LT_CC_BASENAME([$compiler])
239 1.1 spz
240 1.1 spz # Only perform the check for file, if the check method requires it
241 1.1 spz test -z "$MAGIC_CMD" && MAGIC_CMD=file
242 1.1 spz case $deplibs_check_method in
243 1.1 spz file_magic*)
244 1.1 spz if test "$file_magic_cmd" = '$MAGIC_CMD'; then
245 1.1 spz _LT_PATH_MAGIC
246 1.1 spz fi
247 1.1 spz ;;
248 1.1 spz esac
249 1.1 spz
250 1.1 spz # Use C for the default configuration in the libtool script
251 1.1 spz LT_SUPPORTED_TAG([CC])
252 1.1 spz _LT_LANG_C_CONFIG
253 1.1 spz _LT_LANG_DEFAULT_CONFIG
254 1.1 spz _LT_CONFIG_COMMANDS
255 1.1 spz ])# _LT_SETUP
256 1.1 spz
257 1.1 spz
258 1.1 spz # _LT_PREPARE_SED_QUOTE_VARS
259 1.1 spz # --------------------------
260 1.1 spz # Define a few sed substitution that help us do robust quoting.
261 1.1 spz m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
262 1.1 spz [# Backslashify metacharacters that are still active within
263 1.1 spz # double-quoted strings.
264 1.1 spz sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
265 1.1 spz
266 1.1 spz # Same as above, but do not quote variable references.
267 1.1 spz double_quote_subst='s/\([["`\\]]\)/\\\1/g'
268 1.1 spz
269 1.1 spz # Sed substitution to delay expansion of an escaped shell variable in a
270 1.1 spz # double_quote_subst'ed string.
271 1.1 spz delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
272 1.1 spz
273 1.1 spz # Sed substitution to delay expansion of an escaped single quote.
274 1.1 spz delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
275 1.1 spz
276 1.1 spz # Sed substitution to avoid accidental globbing in evaled expressions
277 1.1 spz no_glob_subst='s/\*/\\\*/g'
278 1.1 spz ])
279 1.1 spz
280 1.1 spz # _LT_PROG_LTMAIN
281 1.1 spz # ---------------
282 1.1.1.3 spz # Note that this code is called both from 'configure', and 'config.status'
283 1.1 spz # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
284 1.1.1.3 spz # 'config.status' has no value for ac_aux_dir unless we are using Automake,
285 1.1 spz # so we pass a copy along to make sure it has a sensible value anyway.
286 1.1 spz m4_defun([_LT_PROG_LTMAIN],
287 1.1 spz [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
288 1.1 spz _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
289 1.1.1.3 spz ltmain=$ac_aux_dir/ltmain.sh
290 1.1 spz ])# _LT_PROG_LTMAIN
291 1.1 spz
292 1.1 spz
293 1.1 spz ## ------------------------------------- ##
294 1.1 spz ## Accumulate code for creating libtool. ##
295 1.1 spz ## ------------------------------------- ##
296 1.1 spz
297 1.1 spz # So that we can recreate a full libtool script including additional
298 1.1 spz # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
299 1.1.1.3 spz # in macros and then make a single call at the end using the 'libtool'
300 1.1 spz # label.
301 1.1 spz
302 1.1 spz
303 1.1 spz # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
304 1.1 spz # ----------------------------------------
305 1.1 spz # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
306 1.1 spz m4_define([_LT_CONFIG_LIBTOOL_INIT],
307 1.1 spz [m4_ifval([$1],
308 1.1 spz [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
309 1.1 spz [$1
310 1.1 spz ])])])
311 1.1 spz
312 1.1 spz # Initialize.
313 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_INIT])
314 1.1 spz
315 1.1 spz
316 1.1 spz # _LT_CONFIG_LIBTOOL([COMMANDS])
317 1.1 spz # ------------------------------
318 1.1 spz # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
319 1.1 spz m4_define([_LT_CONFIG_LIBTOOL],
320 1.1 spz [m4_ifval([$1],
321 1.1 spz [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
322 1.1 spz [$1
323 1.1 spz ])])])
324 1.1 spz
325 1.1 spz # Initialize.
326 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
327 1.1 spz
328 1.1 spz
329 1.1 spz # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
330 1.1 spz # -----------------------------------------------------
331 1.1 spz m4_defun([_LT_CONFIG_SAVE_COMMANDS],
332 1.1 spz [_LT_CONFIG_LIBTOOL([$1])
333 1.1 spz _LT_CONFIG_LIBTOOL_INIT([$2])
334 1.1 spz ])
335 1.1 spz
336 1.1 spz
337 1.1 spz # _LT_FORMAT_COMMENT([COMMENT])
338 1.1 spz # -----------------------------
339 1.1 spz # Add leading comment marks to the start of each line, and a trailing
340 1.1 spz # full-stop to the whole comment if one is not present already.
341 1.1 spz m4_define([_LT_FORMAT_COMMENT],
342 1.1 spz [m4_ifval([$1], [
343 1.1 spz m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
344 1.1 spz [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
345 1.1 spz )])
346 1.1 spz
347 1.1 spz
348 1.1 spz
349 1.1 spz ## ------------------------ ##
350 1.1 spz ## FIXME: Eliminate VARNAME ##
351 1.1 spz ## ------------------------ ##
352 1.1 spz
353 1.1 spz
354 1.1 spz # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
355 1.1 spz # -------------------------------------------------------------------
356 1.1 spz # CONFIGNAME is the name given to the value in the libtool script.
357 1.1 spz # VARNAME is the (base) name used in the configure script.
358 1.1 spz # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
359 1.1 spz # VARNAME. Any other value will be used directly.
360 1.1 spz m4_define([_LT_DECL],
361 1.1 spz [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
362 1.1 spz [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
363 1.1 spz [m4_ifval([$1], [$1], [$2])])
364 1.1 spz lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
365 1.1 spz m4_ifval([$4],
366 1.1 spz [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
367 1.1 spz lt_dict_add_subkey([lt_decl_dict], [$2],
368 1.1 spz [tagged?], [m4_ifval([$5], [yes], [no])])])
369 1.1 spz ])
370 1.1 spz
371 1.1 spz
372 1.1 spz # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
373 1.1 spz # --------------------------------------------------------
374 1.1 spz m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
375 1.1 spz
376 1.1 spz
377 1.1 spz # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
378 1.1 spz # ------------------------------------------------
379 1.1 spz m4_define([lt_decl_tag_varnames],
380 1.1 spz [_lt_decl_filter([tagged?], [yes], $@)])
381 1.1 spz
382 1.1 spz
383 1.1 spz # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
384 1.1 spz # ---------------------------------------------------------
385 1.1 spz m4_define([_lt_decl_filter],
386 1.1 spz [m4_case([$#],
387 1.1 spz [0], [m4_fatal([$0: too few arguments: $#])],
388 1.1 spz [1], [m4_fatal([$0: too few arguments: $#: $1])],
389 1.1 spz [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
390 1.1 spz [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
391 1.1 spz [lt_dict_filter([lt_decl_dict], $@)])[]dnl
392 1.1 spz ])
393 1.1 spz
394 1.1 spz
395 1.1 spz # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
396 1.1 spz # --------------------------------------------------
397 1.1 spz m4_define([lt_decl_quote_varnames],
398 1.1 spz [_lt_decl_filter([value], [1], $@)])
399 1.1 spz
400 1.1 spz
401 1.1 spz # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
402 1.1 spz # ---------------------------------------------------
403 1.1 spz m4_define([lt_decl_dquote_varnames],
404 1.1 spz [_lt_decl_filter([value], [2], $@)])
405 1.1 spz
406 1.1 spz
407 1.1 spz # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
408 1.1 spz # ---------------------------------------------------
409 1.1 spz m4_define([lt_decl_varnames_tagged],
410 1.1 spz [m4_assert([$# <= 2])dnl
411 1.1 spz _$0(m4_quote(m4_default([$1], [[, ]])),
412 1.1 spz m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
413 1.1 spz m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
414 1.1 spz m4_define([_lt_decl_varnames_tagged],
415 1.1 spz [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
416 1.1 spz
417 1.1 spz
418 1.1 spz # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
419 1.1 spz # ------------------------------------------------
420 1.1 spz m4_define([lt_decl_all_varnames],
421 1.1 spz [_$0(m4_quote(m4_default([$1], [[, ]])),
422 1.1 spz m4_if([$2], [],
423 1.1 spz m4_quote(lt_decl_varnames),
424 1.1 spz m4_quote(m4_shift($@))))[]dnl
425 1.1 spz ])
426 1.1 spz m4_define([_lt_decl_all_varnames],
427 1.1 spz [lt_join($@, lt_decl_varnames_tagged([$1],
428 1.1 spz lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
429 1.1 spz ])
430 1.1 spz
431 1.1 spz
432 1.1 spz # _LT_CONFIG_STATUS_DECLARE([VARNAME])
433 1.1 spz # ------------------------------------
434 1.1.1.3 spz # Quote a variable value, and forward it to 'config.status' so that its
435 1.1.1.3 spz # declaration there will have the same value as in 'configure'. VARNAME
436 1.1 spz # must have a single quote delimited value for this to work.
437 1.1 spz m4_define([_LT_CONFIG_STATUS_DECLARE],
438 1.1 spz [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
439 1.1 spz
440 1.1 spz
441 1.1 spz # _LT_CONFIG_STATUS_DECLARATIONS
442 1.1 spz # ------------------------------
443 1.1 spz # We delimit libtool config variables with single quotes, so when
444 1.1 spz # we write them to config.status, we have to be sure to quote all
445 1.1 spz # embedded single quotes properly. In configure, this macro expands
446 1.1 spz # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
447 1.1 spz #
448 1.1 spz # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
449 1.1 spz m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
450 1.1 spz [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
451 1.1 spz [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
452 1.1 spz
453 1.1 spz
454 1.1 spz # _LT_LIBTOOL_TAGS
455 1.1 spz # ----------------
456 1.1 spz # Output comment and list of tags supported by the script
457 1.1 spz m4_defun([_LT_LIBTOOL_TAGS],
458 1.1 spz [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
459 1.1.1.3 spz available_tags='_LT_TAGS'dnl
460 1.1 spz ])
461 1.1 spz
462 1.1 spz
463 1.1 spz # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
464 1.1 spz # -----------------------------------
465 1.1 spz # Extract the dictionary values for VARNAME (optionally with TAG) and
466 1.1 spz # expand to a commented shell variable setting:
467 1.1 spz #
468 1.1 spz # # Some comment about what VAR is for.
469 1.1 spz # visible_name=$lt_internal_name
470 1.1 spz m4_define([_LT_LIBTOOL_DECLARE],
471 1.1 spz [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
472 1.1 spz [description])))[]dnl
473 1.1 spz m4_pushdef([_libtool_name],
474 1.1 spz m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
475 1.1 spz m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
476 1.1 spz [0], [_libtool_name=[$]$1],
477 1.1 spz [1], [_libtool_name=$lt_[]$1],
478 1.1 spz [2], [_libtool_name=$lt_[]$1],
479 1.1 spz [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
480 1.1 spz m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
481 1.1 spz ])
482 1.1 spz
483 1.1 spz
484 1.1 spz # _LT_LIBTOOL_CONFIG_VARS
485 1.1 spz # -----------------------
486 1.1 spz # Produce commented declarations of non-tagged libtool config variables
487 1.1.1.3 spz # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
488 1.1 spz # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
489 1.1 spz # section) are produced by _LT_LIBTOOL_TAG_VARS.
490 1.1 spz m4_defun([_LT_LIBTOOL_CONFIG_VARS],
491 1.1 spz [m4_foreach([_lt_var],
492 1.1 spz m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
493 1.1 spz [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
494 1.1 spz
495 1.1 spz
496 1.1 spz # _LT_LIBTOOL_TAG_VARS(TAG)
497 1.1 spz # -------------------------
498 1.1 spz m4_define([_LT_LIBTOOL_TAG_VARS],
499 1.1 spz [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
500 1.1 spz [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
501 1.1 spz
502 1.1 spz
503 1.1 spz # _LT_TAGVAR(VARNAME, [TAGNAME])
504 1.1 spz # ------------------------------
505 1.1 spz m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
506 1.1 spz
507 1.1 spz
508 1.1 spz # _LT_CONFIG_COMMANDS
509 1.1 spz # -------------------
510 1.1 spz # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
511 1.1 spz # variables for single and double quote escaping we saved from calls
512 1.1 spz # to _LT_DECL, we can put quote escaped variables declarations
513 1.1.1.3 spz # into 'config.status', and then the shell code to quote escape them in
514 1.1.1.3 spz # for loops in 'config.status'. Finally, any additional code accumulated
515 1.1 spz # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
516 1.1 spz m4_defun([_LT_CONFIG_COMMANDS],
517 1.1 spz [AC_PROVIDE_IFELSE([LT_OUTPUT],
518 1.1 spz dnl If the libtool generation code has been placed in $CONFIG_LT,
519 1.1 spz dnl instead of duplicating it all over again into config.status,
520 1.1 spz dnl then we will have config.status run $CONFIG_LT later, so it
521 1.1 spz dnl needs to know what name is stored there:
522 1.1 spz [AC_CONFIG_COMMANDS([libtool],
523 1.1 spz [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
524 1.1 spz dnl If the libtool generation code is destined for config.status,
525 1.1 spz dnl expand the accumulated commands and init code now:
526 1.1 spz [AC_CONFIG_COMMANDS([libtool],
527 1.1 spz [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
528 1.1 spz ])#_LT_CONFIG_COMMANDS
529 1.1 spz
530 1.1 spz
531 1.1 spz # Initialize.
532 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
533 1.1 spz [
534 1.1 spz
535 1.1 spz # The HP-UX ksh and POSIX shell print the target directory to stdout
536 1.1 spz # if CDPATH is set.
537 1.1 spz (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
538 1.1 spz
539 1.1 spz sed_quote_subst='$sed_quote_subst'
540 1.1 spz double_quote_subst='$double_quote_subst'
541 1.1 spz delay_variable_subst='$delay_variable_subst'
542 1.1 spz _LT_CONFIG_STATUS_DECLARATIONS
543 1.1 spz LTCC='$LTCC'
544 1.1 spz LTCFLAGS='$LTCFLAGS'
545 1.1 spz compiler='$compiler_DEFAULT'
546 1.1 spz
547 1.1 spz # A function that is used when there is no print builtin or printf.
548 1.1 spz func_fallback_echo ()
549 1.1 spz {
550 1.1 spz eval 'cat <<_LTECHO_EOF
551 1.1 spz \$[]1
552 1.1 spz _LTECHO_EOF'
553 1.1 spz }
554 1.1 spz
555 1.1 spz # Quote evaled strings.
556 1.1 spz for var in lt_decl_all_varnames([[ \
557 1.1 spz ]], lt_decl_quote_varnames); do
558 1.1 spz case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
559 1.1 spz *[[\\\\\\\`\\"\\\$]]*)
560 1.1.1.3 spz eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
561 1.1 spz ;;
562 1.1 spz *)
563 1.1 spz eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
564 1.1 spz ;;
565 1.1 spz esac
566 1.1 spz done
567 1.1 spz
568 1.1 spz # Double-quote double-evaled strings.
569 1.1 spz for var in lt_decl_all_varnames([[ \
570 1.1 spz ]], lt_decl_dquote_varnames); do
571 1.1 spz case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
572 1.1 spz *[[\\\\\\\`\\"\\\$]]*)
573 1.1.1.3 spz eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
574 1.1 spz ;;
575 1.1 spz *)
576 1.1 spz eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
577 1.1 spz ;;
578 1.1 spz esac
579 1.1 spz done
580 1.1 spz
581 1.1 spz _LT_OUTPUT_LIBTOOL_INIT
582 1.1 spz ])
583 1.1 spz
584 1.1 spz # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
585 1.1 spz # ------------------------------------
586 1.1 spz # Generate a child script FILE with all initialization necessary to
587 1.1 spz # reuse the environment learned by the parent script, and make the
588 1.1 spz # file executable. If COMMENT is supplied, it is inserted after the
589 1.1.1.3 spz # '#!' sequence but before initialization text begins. After this
590 1.1 spz # macro, additional text can be appended to FILE to form the body of
591 1.1 spz # the child script. The macro ends with non-zero status if the
592 1.1 spz # file could not be fully written (such as if the disk is full).
593 1.1 spz m4_ifdef([AS_INIT_GENERATED],
594 1.1 spz [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
595 1.1 spz [m4_defun([_LT_GENERATED_FILE_INIT],
596 1.1 spz [m4_require([AS_PREPARE])]dnl
597 1.1 spz [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
598 1.1 spz [lt_write_fail=0
599 1.1 spz cat >$1 <<_ASEOF || lt_write_fail=1
600 1.1 spz #! $SHELL
601 1.1 spz # Generated by $as_me.
602 1.1 spz $2
603 1.1 spz SHELL=\${CONFIG_SHELL-$SHELL}
604 1.1 spz export SHELL
605 1.1 spz _ASEOF
606 1.1 spz cat >>$1 <<\_ASEOF || lt_write_fail=1
607 1.1 spz AS_SHELL_SANITIZE
608 1.1 spz _AS_PREPARE
609 1.1 spz exec AS_MESSAGE_FD>&1
610 1.1 spz _ASEOF
611 1.1.1.3 spz test 0 = "$lt_write_fail" && chmod +x $1[]dnl
612 1.1 spz m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
613 1.1 spz
614 1.1 spz # LT_OUTPUT
615 1.1 spz # ---------
616 1.1 spz # This macro allows early generation of the libtool script (before
617 1.1 spz # AC_OUTPUT is called), incase it is used in configure for compilation
618 1.1 spz # tests.
619 1.1 spz AC_DEFUN([LT_OUTPUT],
620 1.1 spz [: ${CONFIG_LT=./config.lt}
621 1.1 spz AC_MSG_NOTICE([creating $CONFIG_LT])
622 1.1 spz _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
623 1.1 spz [# Run this file to recreate a libtool stub with the current configuration.])
624 1.1 spz
625 1.1 spz cat >>"$CONFIG_LT" <<\_LTEOF
626 1.1 spz lt_cl_silent=false
627 1.1 spz exec AS_MESSAGE_LOG_FD>>config.log
628 1.1 spz {
629 1.1 spz echo
630 1.1 spz AS_BOX([Running $as_me.])
631 1.1 spz } >&AS_MESSAGE_LOG_FD
632 1.1 spz
633 1.1 spz lt_cl_help="\
634 1.1.1.3 spz '$as_me' creates a local libtool stub from the current configuration,
635 1.1 spz for use in further configure time tests before the real libtool is
636 1.1 spz generated.
637 1.1 spz
638 1.1 spz Usage: $[0] [[OPTIONS]]
639 1.1 spz
640 1.1 spz -h, --help print this help, then exit
641 1.1 spz -V, --version print version number, then exit
642 1.1 spz -q, --quiet do not print progress messages
643 1.1 spz -d, --debug don't remove temporary files
644 1.1 spz
645 1.1 spz Report bugs to <bug-libtool (a] gnu.org>."
646 1.1 spz
647 1.1 spz lt_cl_version="\
648 1.1 spz m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
649 1.1 spz m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
650 1.1 spz configured by $[0], generated by m4_PACKAGE_STRING.
651 1.1 spz
652 1.1.1.2 spz Copyright (C) 2011 Free Software Foundation, Inc.
653 1.1 spz This config.lt script is free software; the Free Software Foundation
654 1.1 spz gives unlimited permision to copy, distribute and modify it."
655 1.1 spz
656 1.1.1.3 spz while test 0 != $[#]
657 1.1 spz do
658 1.1 spz case $[1] in
659 1.1 spz --version | --v* | -V )
660 1.1 spz echo "$lt_cl_version"; exit 0 ;;
661 1.1 spz --help | --h* | -h )
662 1.1 spz echo "$lt_cl_help"; exit 0 ;;
663 1.1 spz --debug | --d* | -d )
664 1.1 spz debug=: ;;
665 1.1 spz --quiet | --q* | --silent | --s* | -q )
666 1.1 spz lt_cl_silent=: ;;
667 1.1 spz
668 1.1 spz -*) AC_MSG_ERROR([unrecognized option: $[1]
669 1.1.1.3 spz Try '$[0] --help' for more information.]) ;;
670 1.1 spz
671 1.1 spz *) AC_MSG_ERROR([unrecognized argument: $[1]
672 1.1.1.3 spz Try '$[0] --help' for more information.]) ;;
673 1.1 spz esac
674 1.1 spz shift
675 1.1 spz done
676 1.1 spz
677 1.1 spz if $lt_cl_silent; then
678 1.1 spz exec AS_MESSAGE_FD>/dev/null
679 1.1 spz fi
680 1.1 spz _LTEOF
681 1.1 spz
682 1.1 spz cat >>"$CONFIG_LT" <<_LTEOF
683 1.1 spz _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
684 1.1 spz _LTEOF
685 1.1 spz
686 1.1 spz cat >>"$CONFIG_LT" <<\_LTEOF
687 1.1 spz AC_MSG_NOTICE([creating $ofile])
688 1.1 spz _LT_OUTPUT_LIBTOOL_COMMANDS
689 1.1 spz AS_EXIT(0)
690 1.1 spz _LTEOF
691 1.1 spz chmod +x "$CONFIG_LT"
692 1.1 spz
693 1.1 spz # configure is writing to config.log, but config.lt does its own redirection,
694 1.1 spz # appending to config.log, which fails on DOS, as config.log is still kept
695 1.1 spz # open by configure. Here we exec the FD to /dev/null, effectively closing
696 1.1 spz # config.log, so it can be properly (re)opened and appended to by config.lt.
697 1.1 spz lt_cl_success=:
698 1.1.1.3 spz test yes = "$silent" &&
699 1.1 spz lt_config_lt_args="$lt_config_lt_args --quiet"
700 1.1 spz exec AS_MESSAGE_LOG_FD>/dev/null
701 1.1 spz $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
702 1.1 spz exec AS_MESSAGE_LOG_FD>>config.log
703 1.1 spz $lt_cl_success || AS_EXIT(1)
704 1.1 spz ])# LT_OUTPUT
705 1.1 spz
706 1.1 spz
707 1.1 spz # _LT_CONFIG(TAG)
708 1.1 spz # ---------------
709 1.1 spz # If TAG is the built-in tag, create an initial libtool script with a
710 1.1 spz # default configuration from the untagged config vars. Otherwise add code
711 1.1 spz # to config.status for appending the configuration named by TAG from the
712 1.1 spz # matching tagged config vars.
713 1.1 spz m4_defun([_LT_CONFIG],
714 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
715 1.1 spz _LT_CONFIG_SAVE_COMMANDS([
716 1.1 spz m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
717 1.1 spz m4_if(_LT_TAG, [C], [
718 1.1.1.3 spz # See if we are running on zsh, and set the options that allow our
719 1.1 spz # commands through without removal of \ escapes.
720 1.1.1.3 spz if test -n "${ZSH_VERSION+set}"; then
721 1.1 spz setopt NO_GLOB_SUBST
722 1.1 spz fi
723 1.1 spz
724 1.1.1.3 spz cfgfile=${ofile}T
725 1.1 spz trap "$RM \"$cfgfile\"; exit 1" 1 2 15
726 1.1 spz $RM "$cfgfile"
727 1.1 spz
728 1.1 spz cat <<_LT_EOF >> "$cfgfile"
729 1.1 spz #! $SHELL
730 1.1.1.3 spz # Generated automatically by $as_me ($PACKAGE) $VERSION
731 1.1 spz # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
732 1.1 spz # NOTE: Changes made to this file will be lost: look at ltmain.sh.
733 1.1.1.3 spz
734 1.1.1.3 spz # Provide generalized library-building support services.
735 1.1.1.3 spz # Written by Gordon Matzigkeit, 1996
736 1.1.1.3 spz
737 1.1 spz _LT_COPYING
738 1.1 spz _LT_LIBTOOL_TAGS
739 1.1 spz
740 1.1.1.3 spz # Configured defaults for sys_lib_dlsearch_path munging.
741 1.1.1.3 spz : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
742 1.1.1.3 spz
743 1.1 spz # ### BEGIN LIBTOOL CONFIG
744 1.1 spz _LT_LIBTOOL_CONFIG_VARS
745 1.1 spz _LT_LIBTOOL_TAG_VARS
746 1.1 spz # ### END LIBTOOL CONFIG
747 1.1 spz
748 1.1 spz _LT_EOF
749 1.1 spz
750 1.1.1.3 spz cat <<'_LT_EOF' >> "$cfgfile"
751 1.1.1.3 spz
752 1.1.1.3 spz # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
753 1.1.1.3 spz
754 1.1.1.3 spz _LT_PREPARE_MUNGE_PATH_LIST
755 1.1.1.3 spz _LT_PREPARE_CC_BASENAME
756 1.1.1.3 spz
757 1.1.1.3 spz # ### END FUNCTIONS SHARED WITH CONFIGURE
758 1.1.1.3 spz
759 1.1.1.3 spz _LT_EOF
760 1.1.1.3 spz
761 1.1 spz case $host_os in
762 1.1 spz aix3*)
763 1.1 spz cat <<\_LT_EOF >> "$cfgfile"
764 1.1 spz # AIX sometimes has problems with the GCC collect2 program. For some
765 1.1 spz # reason, if we set the COLLECT_NAMES environment variable, the problems
766 1.1 spz # vanish in a puff of smoke.
767 1.1.1.3 spz if test set != "${COLLECT_NAMES+set}"; then
768 1.1 spz COLLECT_NAMES=
769 1.1 spz export COLLECT_NAMES
770 1.1 spz fi
771 1.1 spz _LT_EOF
772 1.1 spz ;;
773 1.1 spz esac
774 1.1 spz
775 1.1 spz _LT_PROG_LTMAIN
776 1.1 spz
777 1.1 spz # We use sed instead of cat because bash on DJGPP gets confused if
778 1.1 spz # if finds mixed CR/LF and LF-only lines. Since sed operates in
779 1.1 spz # text mode, it properly converts lines to CR/LF. This bash problem
780 1.1 spz # is reportedly fixed, but why not run on old versions too?
781 1.1 spz sed '$q' "$ltmain" >> "$cfgfile" \
782 1.1 spz || (rm -f "$cfgfile"; exit 1)
783 1.1 spz
784 1.1 spz mv -f "$cfgfile" "$ofile" ||
785 1.1 spz (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
786 1.1 spz chmod +x "$ofile"
787 1.1 spz ],
788 1.1 spz [cat <<_LT_EOF >> "$ofile"
789 1.1 spz
790 1.1 spz dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
791 1.1 spz dnl in a comment (ie after a #).
792 1.1 spz # ### BEGIN LIBTOOL TAG CONFIG: $1
793 1.1 spz _LT_LIBTOOL_TAG_VARS(_LT_TAG)
794 1.1 spz # ### END LIBTOOL TAG CONFIG: $1
795 1.1 spz _LT_EOF
796 1.1 spz ])dnl /m4_if
797 1.1 spz ],
798 1.1 spz [m4_if([$1], [], [
799 1.1 spz PACKAGE='$PACKAGE'
800 1.1 spz VERSION='$VERSION'
801 1.1 spz RM='$RM'
802 1.1 spz ofile='$ofile'], [])
803 1.1 spz ])dnl /_LT_CONFIG_SAVE_COMMANDS
804 1.1 spz ])# _LT_CONFIG
805 1.1 spz
806 1.1 spz
807 1.1 spz # LT_SUPPORTED_TAG(TAG)
808 1.1 spz # ---------------------
809 1.1 spz # Trace this macro to discover what tags are supported by the libtool
810 1.1 spz # --tag option, using:
811 1.1 spz # autoconf --trace 'LT_SUPPORTED_TAG:$1'
812 1.1 spz AC_DEFUN([LT_SUPPORTED_TAG], [])
813 1.1 spz
814 1.1 spz
815 1.1 spz # C support is built-in for now
816 1.1 spz m4_define([_LT_LANG_C_enabled], [])
817 1.1 spz m4_define([_LT_TAGS], [])
818 1.1 spz
819 1.1 spz
820 1.1 spz # LT_LANG(LANG)
821 1.1 spz # -------------
822 1.1 spz # Enable libtool support for the given language if not already enabled.
823 1.1 spz AC_DEFUN([LT_LANG],
824 1.1 spz [AC_BEFORE([$0], [LT_OUTPUT])dnl
825 1.1 spz m4_case([$1],
826 1.1 spz [C], [_LT_LANG(C)],
827 1.1 spz [C++], [_LT_LANG(CXX)],
828 1.1.1.2 spz [Go], [_LT_LANG(GO)],
829 1.1 spz [Java], [_LT_LANG(GCJ)],
830 1.1 spz [Fortran 77], [_LT_LANG(F77)],
831 1.1 spz [Fortran], [_LT_LANG(FC)],
832 1.1 spz [Windows Resource], [_LT_LANG(RC)],
833 1.1 spz [m4_ifdef([_LT_LANG_]$1[_CONFIG],
834 1.1 spz [_LT_LANG($1)],
835 1.1 spz [m4_fatal([$0: unsupported language: "$1"])])])dnl
836 1.1 spz ])# LT_LANG
837 1.1 spz
838 1.1 spz
839 1.1 spz # _LT_LANG(LANGNAME)
840 1.1 spz # ------------------
841 1.1 spz m4_defun([_LT_LANG],
842 1.1 spz [m4_ifdef([_LT_LANG_]$1[_enabled], [],
843 1.1 spz [LT_SUPPORTED_TAG([$1])dnl
844 1.1 spz m4_append([_LT_TAGS], [$1 ])dnl
845 1.1 spz m4_define([_LT_LANG_]$1[_enabled], [])dnl
846 1.1 spz _LT_LANG_$1_CONFIG($1)])dnl
847 1.1 spz ])# _LT_LANG
848 1.1 spz
849 1.1 spz
850 1.1.1.2 spz m4_ifndef([AC_PROG_GO], [
851 1.1.1.2 spz ############################################################
852 1.1.1.2 spz # NOTE: This macro has been submitted for inclusion into #
853 1.1.1.2 spz # GNU Autoconf as AC_PROG_GO. When it is available in #
854 1.1.1.2 spz # a released version of Autoconf we should remove this #
855 1.1.1.2 spz # macro and use it instead. #
856 1.1.1.2 spz ############################################################
857 1.1.1.2 spz m4_defun([AC_PROG_GO],
858 1.1.1.2 spz [AC_LANG_PUSH(Go)dnl
859 1.1.1.2 spz AC_ARG_VAR([GOC], [Go compiler command])dnl
860 1.1.1.2 spz AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
861 1.1.1.2 spz _AC_ARG_VAR_LDFLAGS()dnl
862 1.1.1.2 spz AC_CHECK_TOOL(GOC, gccgo)
863 1.1.1.2 spz if test -z "$GOC"; then
864 1.1.1.2 spz if test -n "$ac_tool_prefix"; then
865 1.1.1.2 spz AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
866 1.1.1.2 spz fi
867 1.1.1.2 spz fi
868 1.1.1.2 spz if test -z "$GOC"; then
869 1.1.1.2 spz AC_CHECK_PROG(GOC, gccgo, gccgo, false)
870 1.1.1.2 spz fi
871 1.1.1.2 spz ])#m4_defun
872 1.1.1.2 spz ])#m4_ifndef
873 1.1.1.2 spz
874 1.1.1.2 spz
875 1.1 spz # _LT_LANG_DEFAULT_CONFIG
876 1.1 spz # -----------------------
877 1.1 spz m4_defun([_LT_LANG_DEFAULT_CONFIG],
878 1.1 spz [AC_PROVIDE_IFELSE([AC_PROG_CXX],
879 1.1 spz [LT_LANG(CXX)],
880 1.1 spz [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
881 1.1 spz
882 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_F77],
883 1.1 spz [LT_LANG(F77)],
884 1.1 spz [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
885 1.1 spz
886 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_FC],
887 1.1 spz [LT_LANG(FC)],
888 1.1 spz [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
889 1.1 spz
890 1.1 spz dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
891 1.1 spz dnl pulling things in needlessly.
892 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_GCJ],
893 1.1 spz [LT_LANG(GCJ)],
894 1.1 spz [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
895 1.1 spz [LT_LANG(GCJ)],
896 1.1 spz [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
897 1.1 spz [LT_LANG(GCJ)],
898 1.1 spz [m4_ifdef([AC_PROG_GCJ],
899 1.1 spz [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
900 1.1 spz m4_ifdef([A][M_PROG_GCJ],
901 1.1 spz [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
902 1.1 spz m4_ifdef([LT_PROG_GCJ],
903 1.1 spz [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
904 1.1 spz
905 1.1.1.2 spz AC_PROVIDE_IFELSE([AC_PROG_GO],
906 1.1.1.2 spz [LT_LANG(GO)],
907 1.1.1.2 spz [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
908 1.1.1.2 spz
909 1.1 spz AC_PROVIDE_IFELSE([LT_PROG_RC],
910 1.1 spz [LT_LANG(RC)],
911 1.1 spz [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
912 1.1 spz ])# _LT_LANG_DEFAULT_CONFIG
913 1.1 spz
914 1.1 spz # Obsolete macros:
915 1.1 spz AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
916 1.1 spz AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
917 1.1 spz AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
918 1.1 spz AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
919 1.1 spz AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
920 1.1 spz dnl aclocal-1.4 backwards compatibility:
921 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
922 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_F77], [])
923 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_FC], [])
924 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
925 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_RC], [])
926 1.1 spz
927 1.1 spz
928 1.1 spz # _LT_TAG_COMPILER
929 1.1 spz # ----------------
930 1.1 spz m4_defun([_LT_TAG_COMPILER],
931 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
932 1.1 spz
933 1.1 spz _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
934 1.1 spz _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
935 1.1 spz _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
936 1.1 spz _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
937 1.1 spz
938 1.1 spz # If no C compiler was specified, use CC.
939 1.1 spz LTCC=${LTCC-"$CC"}
940 1.1 spz
941 1.1 spz # If no C compiler flags were specified, use CFLAGS.
942 1.1 spz LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
943 1.1 spz
944 1.1 spz # Allow CC to be a program name with arguments.
945 1.1 spz compiler=$CC
946 1.1 spz ])# _LT_TAG_COMPILER
947 1.1 spz
948 1.1 spz
949 1.1 spz # _LT_COMPILER_BOILERPLATE
950 1.1 spz # ------------------------
951 1.1 spz # Check for compiler boilerplate output or warnings with
952 1.1 spz # the simple compiler test code.
953 1.1 spz m4_defun([_LT_COMPILER_BOILERPLATE],
954 1.1 spz [m4_require([_LT_DECL_SED])dnl
955 1.1 spz ac_outfile=conftest.$ac_objext
956 1.1 spz echo "$lt_simple_compile_test_code" >conftest.$ac_ext
957 1.1 spz eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
958 1.1 spz _lt_compiler_boilerplate=`cat conftest.err`
959 1.1 spz $RM conftest*
960 1.1 spz ])# _LT_COMPILER_BOILERPLATE
961 1.1 spz
962 1.1 spz
963 1.1 spz # _LT_LINKER_BOILERPLATE
964 1.1 spz # ----------------------
965 1.1 spz # Check for linker boilerplate output or warnings with
966 1.1 spz # the simple link test code.
967 1.1 spz m4_defun([_LT_LINKER_BOILERPLATE],
968 1.1 spz [m4_require([_LT_DECL_SED])dnl
969 1.1 spz ac_outfile=conftest.$ac_objext
970 1.1 spz echo "$lt_simple_link_test_code" >conftest.$ac_ext
971 1.1 spz eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
972 1.1 spz _lt_linker_boilerplate=`cat conftest.err`
973 1.1 spz $RM -r conftest*
974 1.1 spz ])# _LT_LINKER_BOILERPLATE
975 1.1 spz
976 1.1 spz # _LT_REQUIRED_DARWIN_CHECKS
977 1.1 spz # -------------------------
978 1.1 spz m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
979 1.1 spz case $host_os in
980 1.1 spz rhapsody* | darwin*)
981 1.1 spz AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
982 1.1 spz AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
983 1.1 spz AC_CHECK_TOOL([LIPO], [lipo], [:])
984 1.1 spz AC_CHECK_TOOL([OTOOL], [otool], [:])
985 1.1 spz AC_CHECK_TOOL([OTOOL64], [otool64], [:])
986 1.1 spz _LT_DECL([], [DSYMUTIL], [1],
987 1.1 spz [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
988 1.1 spz _LT_DECL([], [NMEDIT], [1],
989 1.1 spz [Tool to change global to local symbols on Mac OS X])
990 1.1 spz _LT_DECL([], [LIPO], [1],
991 1.1 spz [Tool to manipulate fat objects and archives on Mac OS X])
992 1.1 spz _LT_DECL([], [OTOOL], [1],
993 1.1 spz [ldd/readelf like tool for Mach-O binaries on Mac OS X])
994 1.1 spz _LT_DECL([], [OTOOL64], [1],
995 1.1 spz [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
996 1.1 spz
997 1.1 spz AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
998 1.1 spz [lt_cv_apple_cc_single_mod=no
999 1.1.1.3 spz if test -z "$LT_MULTI_MODULE"; then
1000 1.1 spz # By default we will add the -single_module flag. You can override
1001 1.1 spz # by either setting the environment variable LT_MULTI_MODULE
1002 1.1 spz # non-empty at configure time, or by adding -multi_module to the
1003 1.1 spz # link flags.
1004 1.1 spz rm -rf libconftest.dylib*
1005 1.1 spz echo "int foo(void){return 1;}" > conftest.c
1006 1.1 spz echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1007 1.1 spz -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
1008 1.1 spz $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
1009 1.1 spz -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
1010 1.1 spz _lt_result=$?
1011 1.1.1.2 spz # If there is a non-empty error log, and "single_module"
1012 1.1.1.2 spz # appears in it, assume the flag caused a linker warning
1013 1.1.1.2 spz if test -s conftest.err && $GREP single_module conftest.err; then
1014 1.1.1.2 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1015 1.1.1.2 spz # Otherwise, if the output was created with a 0 exit code from
1016 1.1.1.2 spz # the compiler, it worked.
1017 1.1.1.3 spz elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
1018 1.1 spz lt_cv_apple_cc_single_mod=yes
1019 1.1 spz else
1020 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1021 1.1 spz fi
1022 1.1 spz rm -rf libconftest.dylib*
1023 1.1 spz rm -f conftest.*
1024 1.1 spz fi])
1025 1.1.1.2 spz
1026 1.1 spz AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1027 1.1 spz [lt_cv_ld_exported_symbols_list],
1028 1.1 spz [lt_cv_ld_exported_symbols_list=no
1029 1.1 spz save_LDFLAGS=$LDFLAGS
1030 1.1 spz echo "_main" > conftest.sym
1031 1.1 spz LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1032 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1033 1.1 spz [lt_cv_ld_exported_symbols_list=yes],
1034 1.1 spz [lt_cv_ld_exported_symbols_list=no])
1035 1.1.1.3 spz LDFLAGS=$save_LDFLAGS
1036 1.1 spz ])
1037 1.1.1.2 spz
1038 1.1 spz AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1039 1.1 spz [lt_cv_ld_force_load=no
1040 1.1 spz cat > conftest.c << _LT_EOF
1041 1.1 spz int forced_loaded() { return 2;}
1042 1.1 spz _LT_EOF
1043 1.1 spz echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1044 1.1 spz $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1045 1.1 spz echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1046 1.1 spz $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1047 1.1 spz echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1048 1.1 spz $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1049 1.1 spz cat > conftest.c << _LT_EOF
1050 1.1 spz int main() { return 0;}
1051 1.1 spz _LT_EOF
1052 1.1 spz echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1053 1.1 spz $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1054 1.1 spz _lt_result=$?
1055 1.1.1.2 spz if test -s conftest.err && $GREP force_load conftest.err; then
1056 1.1.1.2 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1057 1.1.1.3 spz elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
1058 1.1 spz lt_cv_ld_force_load=yes
1059 1.1 spz else
1060 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1061 1.1 spz fi
1062 1.1 spz rm -f conftest.err libconftest.a conftest conftest.c
1063 1.1 spz rm -rf conftest.dSYM
1064 1.1 spz ])
1065 1.1 spz case $host_os in
1066 1.1 spz rhapsody* | darwin1.[[012]])
1067 1.1.1.3 spz _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
1068 1.1 spz darwin1.*)
1069 1.1.1.3 spz _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1070 1.1 spz darwin*) # darwin 5.x on
1071 1.1 spz # if running on 10.5 or later, the deployment target defaults
1072 1.1 spz # to the OS version, if on x86, and 10.4, the deployment
1073 1.1 spz # target defaults to 10.4. Don't you love it?
1074 1.1 spz case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1075 1.1 spz 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1076 1.1.1.3 spz _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1077 1.1.1.3 spz 10.[[012]][[,.]]*)
1078 1.1.1.3 spz _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
1079 1.1 spz 10.*)
1080 1.1.1.3 spz _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
1081 1.1 spz esac
1082 1.1 spz ;;
1083 1.1 spz esac
1084 1.1.1.3 spz if test yes = "$lt_cv_apple_cc_single_mod"; then
1085 1.1 spz _lt_dar_single_mod='$single_module'
1086 1.1 spz fi
1087 1.1.1.3 spz if test yes = "$lt_cv_ld_exported_symbols_list"; then
1088 1.1.1.3 spz _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
1089 1.1 spz else
1090 1.1.1.3 spz _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
1091 1.1 spz fi
1092 1.1.1.3 spz if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
1093 1.1 spz _lt_dsymutil='~$DSYMUTIL $lib || :'
1094 1.1 spz else
1095 1.1 spz _lt_dsymutil=
1096 1.1 spz fi
1097 1.1 spz ;;
1098 1.1 spz esac
1099 1.1 spz ])
1100 1.1 spz
1101 1.1 spz
1102 1.1.1.2 spz # _LT_DARWIN_LINKER_FEATURES([TAG])
1103 1.1.1.2 spz # ---------------------------------
1104 1.1 spz # Checks for linker and compiler features on darwin
1105 1.1 spz m4_defun([_LT_DARWIN_LINKER_FEATURES],
1106 1.1 spz [
1107 1.1 spz m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1108 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1109 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
1110 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=yes
1111 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1112 1.1.1.3 spz if test yes = "$lt_cv_ld_force_load"; then
1113 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1114 1.1.1.2 spz m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1115 1.1.1.2 spz [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1116 1.1 spz else
1117 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1118 1.1 spz fi
1119 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
1120 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
1121 1.1 spz case $cc_basename in
1122 1.1.1.3 spz ifort*|nagfor*) _lt_dar_can_shared=yes ;;
1123 1.1 spz *) _lt_dar_can_shared=$GCC ;;
1124 1.1 spz esac
1125 1.1.1.3 spz if test yes = "$_lt_dar_can_shared"; then
1126 1.1 spz output_verbose_link_cmd=func_echo_all
1127 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
1128 1.1.1.3 spz _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
1129 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
1130 1.1.1.3 spz _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
1131 1.1 spz m4_if([$1], [CXX],
1132 1.1.1.3 spz [ if test yes != "$lt_cv_apple_cc_single_mod"; then
1133 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
1134 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
1135 1.1 spz fi
1136 1.1 spz ],[])
1137 1.1 spz else
1138 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
1139 1.1 spz fi
1140 1.1 spz ])
1141 1.1 spz
1142 1.1 spz # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1143 1.1 spz # ----------------------------------
1144 1.1 spz # Links a minimal program and checks the executable
1145 1.1 spz # for the system default hardcoded library path. In most cases,
1146 1.1 spz # this is /usr/lib:/lib, but when the MPI compilers are used
1147 1.1 spz # the location of the communication and MPI libs are included too.
1148 1.1 spz # If we don't find anything, use the default library path according
1149 1.1 spz # to the aix ld manual.
1150 1.1 spz # Store the results from the different compilers for each TAGNAME.
1151 1.1 spz # Allow to override them for all tags through lt_cv_aix_libpath.
1152 1.1 spz m4_defun([_LT_SYS_MODULE_PATH_AIX],
1153 1.1 spz [m4_require([_LT_DECL_SED])dnl
1154 1.1.1.3 spz if test set = "${lt_cv_aix_libpath+set}"; then
1155 1.1 spz aix_libpath=$lt_cv_aix_libpath
1156 1.1 spz else
1157 1.1 spz AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1158 1.1 spz [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1159 1.1 spz lt_aix_libpath_sed='[
1160 1.1 spz /Import File Strings/,/^$/ {
1161 1.1 spz /^0/ {
1162 1.1 spz s/^0 *\([^ ]*\) *$/\1/
1163 1.1 spz p
1164 1.1 spz }
1165 1.1 spz }]'
1166 1.1 spz _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1167 1.1 spz # Check for a 64-bit object if we didn't find anything.
1168 1.1 spz if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1169 1.1 spz _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1170 1.1 spz fi],[])
1171 1.1 spz if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1172 1.1.1.3 spz _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
1173 1.1 spz fi
1174 1.1 spz ])
1175 1.1 spz aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1176 1.1 spz fi
1177 1.1 spz ])# _LT_SYS_MODULE_PATH_AIX
1178 1.1 spz
1179 1.1 spz
1180 1.1 spz # _LT_SHELL_INIT(ARG)
1181 1.1 spz # -------------------
1182 1.1 spz m4_define([_LT_SHELL_INIT],
1183 1.1 spz [m4_divert_text([M4SH-INIT], [$1
1184 1.1 spz ])])# _LT_SHELL_INIT
1185 1.1 spz
1186 1.1 spz
1187 1.1 spz
1188 1.1 spz # _LT_PROG_ECHO_BACKSLASH
1189 1.1 spz # -----------------------
1190 1.1 spz # Find how we can fake an echo command that does not interpret backslash.
1191 1.1 spz # In particular, with Autoconf 2.60 or later we add some code to the start
1192 1.1.1.3 spz # of the generated configure script that will find a shell with a builtin
1193 1.1.1.3 spz # printf (that we can use as an echo command).
1194 1.1 spz m4_defun([_LT_PROG_ECHO_BACKSLASH],
1195 1.1 spz [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1196 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1197 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1198 1.1 spz
1199 1.1 spz AC_MSG_CHECKING([how to print strings])
1200 1.1 spz # Test print first, because it will be a builtin if present.
1201 1.1 spz if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1202 1.1 spz test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1203 1.1 spz ECHO='print -r --'
1204 1.1 spz elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1205 1.1 spz ECHO='printf %s\n'
1206 1.1 spz else
1207 1.1 spz # Use this function as a fallback that always works.
1208 1.1 spz func_fallback_echo ()
1209 1.1 spz {
1210 1.1 spz eval 'cat <<_LTECHO_EOF
1211 1.1 spz $[]1
1212 1.1 spz _LTECHO_EOF'
1213 1.1 spz }
1214 1.1 spz ECHO='func_fallback_echo'
1215 1.1 spz fi
1216 1.1 spz
1217 1.1 spz # func_echo_all arg...
1218 1.1 spz # Invoke $ECHO with all args, space-separated.
1219 1.1 spz func_echo_all ()
1220 1.1 spz {
1221 1.1.1.3 spz $ECHO "$*"
1222 1.1 spz }
1223 1.1 spz
1224 1.1.1.3 spz case $ECHO in
1225 1.1 spz printf*) AC_MSG_RESULT([printf]) ;;
1226 1.1 spz print*) AC_MSG_RESULT([print -r]) ;;
1227 1.1 spz *) AC_MSG_RESULT([cat]) ;;
1228 1.1 spz esac
1229 1.1 spz
1230 1.1 spz m4_ifdef([_AS_DETECT_SUGGESTED],
1231 1.1 spz [_AS_DETECT_SUGGESTED([
1232 1.1 spz test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1233 1.1 spz ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1234 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1235 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1236 1.1 spz PATH=/empty FPATH=/empty; export PATH FPATH
1237 1.1 spz test "X`printf %s $ECHO`" = "X$ECHO" \
1238 1.1 spz || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1239 1.1 spz
1240 1.1 spz _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1241 1.1 spz _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1242 1.1 spz ])# _LT_PROG_ECHO_BACKSLASH
1243 1.1 spz
1244 1.1 spz
1245 1.1 spz # _LT_WITH_SYSROOT
1246 1.1 spz # ----------------
1247 1.1 spz AC_DEFUN([_LT_WITH_SYSROOT],
1248 1.1 spz [AC_MSG_CHECKING([for sysroot])
1249 1.1 spz AC_ARG_WITH([sysroot],
1250 1.1.1.3 spz [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
1251 1.1.1.3 spz [Search for dependent libraries within DIR (or the compiler's sysroot
1252 1.1.1.3 spz if not specified).])],
1253 1.1 spz [], [with_sysroot=no])
1254 1.1 spz
1255 1.1 spz dnl lt_sysroot will always be passed unquoted. We quote it here
1256 1.1 spz dnl in case the user passed a directory name.
1257 1.1 spz lt_sysroot=
1258 1.1.1.3 spz case $with_sysroot in #(
1259 1.1 spz yes)
1260 1.1.1.3 spz if test yes = "$GCC"; then
1261 1.1 spz lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1262 1.1 spz fi
1263 1.1 spz ;; #(
1264 1.1 spz /*)
1265 1.1 spz lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1266 1.1 spz ;; #(
1267 1.1 spz no|'')
1268 1.1 spz ;; #(
1269 1.1 spz *)
1270 1.1.1.3 spz AC_MSG_RESULT([$with_sysroot])
1271 1.1 spz AC_MSG_ERROR([The sysroot must be an absolute path.])
1272 1.1 spz ;;
1273 1.1 spz esac
1274 1.1 spz
1275 1.1 spz AC_MSG_RESULT([${lt_sysroot:-no}])
1276 1.1 spz _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1277 1.1.1.3 spz [dependent libraries, and where our libraries should be installed.])])
1278 1.1 spz
1279 1.1 spz # _LT_ENABLE_LOCK
1280 1.1 spz # ---------------
1281 1.1 spz m4_defun([_LT_ENABLE_LOCK],
1282 1.1 spz [AC_ARG_ENABLE([libtool-lock],
1283 1.1 spz [AS_HELP_STRING([--disable-libtool-lock],
1284 1.1 spz [avoid locking (might break parallel builds)])])
1285 1.1.1.3 spz test no = "$enable_libtool_lock" || enable_libtool_lock=yes
1286 1.1 spz
1287 1.1 spz # Some flags need to be propagated to the compiler or linker for good
1288 1.1 spz # libtool support.
1289 1.1 spz case $host in
1290 1.1 spz ia64-*-hpux*)
1291 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set mode
1292 1.1.1.3 spz # options accordingly.
1293 1.1 spz echo 'int i;' > conftest.$ac_ext
1294 1.1 spz if AC_TRY_EVAL(ac_compile); then
1295 1.1 spz case `/usr/bin/file conftest.$ac_objext` in
1296 1.1 spz *ELF-32*)
1297 1.1.1.3 spz HPUX_IA64_MODE=32
1298 1.1 spz ;;
1299 1.1 spz *ELF-64*)
1300 1.1.1.3 spz HPUX_IA64_MODE=64
1301 1.1 spz ;;
1302 1.1 spz esac
1303 1.1 spz fi
1304 1.1 spz rm -rf conftest*
1305 1.1 spz ;;
1306 1.1 spz *-*-irix6*)
1307 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set linker
1308 1.1.1.3 spz # options accordingly.
1309 1.1 spz echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1310 1.1 spz if AC_TRY_EVAL(ac_compile); then
1311 1.1.1.3 spz if test yes = "$lt_cv_prog_gnu_ld"; then
1312 1.1 spz case `/usr/bin/file conftest.$ac_objext` in
1313 1.1 spz *32-bit*)
1314 1.1 spz LD="${LD-ld} -melf32bsmip"
1315 1.1 spz ;;
1316 1.1 spz *N32*)
1317 1.1 spz LD="${LD-ld} -melf32bmipn32"
1318 1.1 spz ;;
1319 1.1 spz *64-bit*)
1320 1.1 spz LD="${LD-ld} -melf64bmip"
1321 1.1 spz ;;
1322 1.1 spz esac
1323 1.1 spz else
1324 1.1 spz case `/usr/bin/file conftest.$ac_objext` in
1325 1.1 spz *32-bit*)
1326 1.1 spz LD="${LD-ld} -32"
1327 1.1 spz ;;
1328 1.1 spz *N32*)
1329 1.1 spz LD="${LD-ld} -n32"
1330 1.1 spz ;;
1331 1.1 spz *64-bit*)
1332 1.1 spz LD="${LD-ld} -64"
1333 1.1 spz ;;
1334 1.1 spz esac
1335 1.1 spz fi
1336 1.1 spz fi
1337 1.1 spz rm -rf conftest*
1338 1.1 spz ;;
1339 1.1 spz
1340 1.1.1.3 spz mips64*-*linux*)
1341 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set linker
1342 1.1.1.3 spz # options accordingly.
1343 1.1.1.3 spz echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1344 1.1.1.3 spz if AC_TRY_EVAL(ac_compile); then
1345 1.1.1.3 spz emul=elf
1346 1.1.1.3 spz case `/usr/bin/file conftest.$ac_objext` in
1347 1.1.1.3 spz *32-bit*)
1348 1.1.1.3 spz emul="${emul}32"
1349 1.1.1.3 spz ;;
1350 1.1.1.3 spz *64-bit*)
1351 1.1.1.3 spz emul="${emul}64"
1352 1.1.1.3 spz ;;
1353 1.1.1.3 spz esac
1354 1.1.1.3 spz case `/usr/bin/file conftest.$ac_objext` in
1355 1.1.1.3 spz *MSB*)
1356 1.1.1.3 spz emul="${emul}btsmip"
1357 1.1.1.3 spz ;;
1358 1.1.1.3 spz *LSB*)
1359 1.1.1.3 spz emul="${emul}ltsmip"
1360 1.1.1.3 spz ;;
1361 1.1.1.3 spz esac
1362 1.1.1.3 spz case `/usr/bin/file conftest.$ac_objext` in
1363 1.1.1.3 spz *N32*)
1364 1.1.1.3 spz emul="${emul}n32"
1365 1.1.1.3 spz ;;
1366 1.1.1.3 spz esac
1367 1.1.1.3 spz LD="${LD-ld} -m $emul"
1368 1.1.1.3 spz fi
1369 1.1.1.3 spz rm -rf conftest*
1370 1.1.1.3 spz ;;
1371 1.1.1.3 spz
1372 1.1.1.2 spz x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
1373 1.1 spz s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1374 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set linker
1375 1.1.1.3 spz # options accordingly. Note that the listed cases only cover the
1376 1.1.1.3 spz # situations where additional linker options are needed (such as when
1377 1.1.1.3 spz # doing 32-bit compilation for a host where ld defaults to 64-bit, or
1378 1.1.1.3 spz # vice versa); the common cases where no linker options are needed do
1379 1.1.1.3 spz # not appear in the list.
1380 1.1 spz echo 'int i;' > conftest.$ac_ext
1381 1.1 spz if AC_TRY_EVAL(ac_compile); then
1382 1.1 spz case `/usr/bin/file conftest.o` in
1383 1.1 spz *32-bit*)
1384 1.1 spz case $host in
1385 1.1 spz x86_64-*kfreebsd*-gnu)
1386 1.1 spz LD="${LD-ld} -m elf_i386_fbsd"
1387 1.1 spz ;;
1388 1.1 spz x86_64-*linux*)
1389 1.1.1.2 spz case `/usr/bin/file conftest.o` in
1390 1.1.1.2 spz *x86-64*)
1391 1.1.1.2 spz LD="${LD-ld} -m elf32_x86_64"
1392 1.1.1.2 spz ;;
1393 1.1.1.2 spz *)
1394 1.1.1.2 spz LD="${LD-ld} -m elf_i386"
1395 1.1.1.2 spz ;;
1396 1.1.1.2 spz esac
1397 1.1.1.2 spz ;;
1398 1.1.1.3 spz powerpc64le-*linux*)
1399 1.1.1.2 spz LD="${LD-ld} -m elf32lppclinux"
1400 1.1 spz ;;
1401 1.1.1.3 spz powerpc64-*linux*)
1402 1.1 spz LD="${LD-ld} -m elf32ppclinux"
1403 1.1 spz ;;
1404 1.1 spz s390x-*linux*)
1405 1.1 spz LD="${LD-ld} -m elf_s390"
1406 1.1 spz ;;
1407 1.1 spz sparc64-*linux*)
1408 1.1 spz LD="${LD-ld} -m elf32_sparc"
1409 1.1 spz ;;
1410 1.1 spz esac
1411 1.1 spz ;;
1412 1.1 spz *64-bit*)
1413 1.1 spz case $host in
1414 1.1 spz x86_64-*kfreebsd*-gnu)
1415 1.1 spz LD="${LD-ld} -m elf_x86_64_fbsd"
1416 1.1 spz ;;
1417 1.1 spz x86_64-*linux*)
1418 1.1 spz LD="${LD-ld} -m elf_x86_64"
1419 1.1 spz ;;
1420 1.1.1.4 christos powerpcle-*linux*|powerpc64le-*linux*)
1421 1.1.1.2 spz LD="${LD-ld} -m elf64lppc"
1422 1.1.1.2 spz ;;
1423 1.1.1.4 christos powerpc-*linux*|powerpc64-*linux*)
1424 1.1 spz LD="${LD-ld} -m elf64ppc"
1425 1.1 spz ;;
1426 1.1 spz s390*-*linux*|s390*-*tpf*)
1427 1.1 spz LD="${LD-ld} -m elf64_s390"
1428 1.1 spz ;;
1429 1.1 spz sparc*-*linux*)
1430 1.1 spz LD="${LD-ld} -m elf64_sparc"
1431 1.1 spz ;;
1432 1.1 spz esac
1433 1.1 spz ;;
1434 1.1 spz esac
1435 1.1 spz fi
1436 1.1 spz rm -rf conftest*
1437 1.1 spz ;;
1438 1.1 spz
1439 1.1 spz *-*-sco3.2v5*)
1440 1.1 spz # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1441 1.1.1.3 spz SAVE_CFLAGS=$CFLAGS
1442 1.1 spz CFLAGS="$CFLAGS -belf"
1443 1.1 spz AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1444 1.1 spz [AC_LANG_PUSH(C)
1445 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1446 1.1 spz AC_LANG_POP])
1447 1.1.1.3 spz if test yes != "$lt_cv_cc_needs_belf"; then
1448 1.1 spz # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1449 1.1.1.3 spz CFLAGS=$SAVE_CFLAGS
1450 1.1 spz fi
1451 1.1 spz ;;
1452 1.1.1.2 spz *-*solaris*)
1453 1.1.1.3 spz # Find out what ABI is being produced by ac_compile, and set linker
1454 1.1.1.3 spz # options accordingly.
1455 1.1 spz echo 'int i;' > conftest.$ac_ext
1456 1.1 spz if AC_TRY_EVAL(ac_compile); then
1457 1.1 spz case `/usr/bin/file conftest.o` in
1458 1.1 spz *64-bit*)
1459 1.1 spz case $lt_cv_prog_gnu_ld in
1460 1.1.1.2 spz yes*)
1461 1.1.1.2 spz case $host in
1462 1.1.1.3 spz i?86-*-solaris*|x86_64-*-solaris*)
1463 1.1.1.2 spz LD="${LD-ld} -m elf_x86_64"
1464 1.1.1.2 spz ;;
1465 1.1.1.2 spz sparc*-*-solaris*)
1466 1.1.1.2 spz LD="${LD-ld} -m elf64_sparc"
1467 1.1.1.2 spz ;;
1468 1.1.1.2 spz esac
1469 1.1.1.2 spz # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1470 1.1.1.2 spz if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1471 1.1.1.3 spz LD=${LD-ld}_sol2
1472 1.1.1.2 spz fi
1473 1.1.1.2 spz ;;
1474 1.1 spz *)
1475 1.1 spz if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1476 1.1 spz LD="${LD-ld} -64"
1477 1.1 spz fi
1478 1.1 spz ;;
1479 1.1 spz esac
1480 1.1 spz ;;
1481 1.1 spz esac
1482 1.1 spz fi
1483 1.1 spz rm -rf conftest*
1484 1.1 spz ;;
1485 1.1 spz esac
1486 1.1 spz
1487 1.1.1.3 spz need_locks=$enable_libtool_lock
1488 1.1 spz ])# _LT_ENABLE_LOCK
1489 1.1 spz
1490 1.1 spz
1491 1.1 spz # _LT_PROG_AR
1492 1.1 spz # -----------
1493 1.1 spz m4_defun([_LT_PROG_AR],
1494 1.1 spz [AC_CHECK_TOOLS(AR, [ar], false)
1495 1.1 spz : ${AR=ar}
1496 1.1 spz : ${AR_FLAGS=cru}
1497 1.1 spz _LT_DECL([], [AR], [1], [The archiver])
1498 1.1 spz _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1499 1.1 spz
1500 1.1 spz AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1501 1.1 spz [lt_cv_ar_at_file=no
1502 1.1 spz AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1503 1.1 spz [echo conftest.$ac_objext > conftest.lst
1504 1.1 spz lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1505 1.1 spz AC_TRY_EVAL([lt_ar_try])
1506 1.1.1.3 spz if test 0 -eq "$ac_status"; then
1507 1.1 spz # Ensure the archiver fails upon bogus file names.
1508 1.1 spz rm -f conftest.$ac_objext libconftest.a
1509 1.1 spz AC_TRY_EVAL([lt_ar_try])
1510 1.1.1.3 spz if test 0 -ne "$ac_status"; then
1511 1.1 spz lt_cv_ar_at_file=@
1512 1.1 spz fi
1513 1.1 spz fi
1514 1.1 spz rm -f conftest.* libconftest.a
1515 1.1 spz ])
1516 1.1 spz ])
1517 1.1 spz
1518 1.1.1.3 spz if test no = "$lt_cv_ar_at_file"; then
1519 1.1 spz archiver_list_spec=
1520 1.1 spz else
1521 1.1 spz archiver_list_spec=$lt_cv_ar_at_file
1522 1.1 spz fi
1523 1.1 spz _LT_DECL([], [archiver_list_spec], [1],
1524 1.1 spz [How to feed a file listing to the archiver])
1525 1.1 spz ])# _LT_PROG_AR
1526 1.1 spz
1527 1.1 spz
1528 1.1 spz # _LT_CMD_OLD_ARCHIVE
1529 1.1 spz # -------------------
1530 1.1 spz m4_defun([_LT_CMD_OLD_ARCHIVE],
1531 1.1 spz [_LT_PROG_AR
1532 1.1 spz
1533 1.1 spz AC_CHECK_TOOL(STRIP, strip, :)
1534 1.1 spz test -z "$STRIP" && STRIP=:
1535 1.1 spz _LT_DECL([], [STRIP], [1], [A symbol stripping program])
1536 1.1 spz
1537 1.1 spz AC_CHECK_TOOL(RANLIB, ranlib, :)
1538 1.1 spz test -z "$RANLIB" && RANLIB=:
1539 1.1 spz _LT_DECL([], [RANLIB], [1],
1540 1.1 spz [Commands used to install an old-style archive])
1541 1.1 spz
1542 1.1 spz # Determine commands to create old-style static archives.
1543 1.1 spz old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1544 1.1 spz old_postinstall_cmds='chmod 644 $oldlib'
1545 1.1 spz old_postuninstall_cmds=
1546 1.1 spz
1547 1.1 spz if test -n "$RANLIB"; then
1548 1.1 spz case $host_os in
1549 1.1.1.3 spz bitrig* | openbsd*)
1550 1.1.1.2 spz old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1551 1.1 spz ;;
1552 1.1 spz *)
1553 1.1.1.2 spz old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1554 1.1 spz ;;
1555 1.1 spz esac
1556 1.1.1.2 spz old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1557 1.1 spz fi
1558 1.1 spz
1559 1.1 spz case $host_os in
1560 1.1 spz darwin*)
1561 1.1 spz lock_old_archive_extraction=yes ;;
1562 1.1 spz *)
1563 1.1 spz lock_old_archive_extraction=no ;;
1564 1.1 spz esac
1565 1.1 spz _LT_DECL([], [old_postinstall_cmds], [2])
1566 1.1 spz _LT_DECL([], [old_postuninstall_cmds], [2])
1567 1.1 spz _LT_TAGDECL([], [old_archive_cmds], [2],
1568 1.1 spz [Commands used to build an old-style archive])
1569 1.1 spz _LT_DECL([], [lock_old_archive_extraction], [0],
1570 1.1 spz [Whether to use a lock for old archive extraction])
1571 1.1 spz ])# _LT_CMD_OLD_ARCHIVE
1572 1.1 spz
1573 1.1 spz
1574 1.1 spz # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1575 1.1 spz # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1576 1.1 spz # ----------------------------------------------------------------
1577 1.1 spz # Check whether the given compiler option works
1578 1.1 spz AC_DEFUN([_LT_COMPILER_OPTION],
1579 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1580 1.1 spz m4_require([_LT_DECL_SED])dnl
1581 1.1 spz AC_CACHE_CHECK([$1], [$2],
1582 1.1 spz [$2=no
1583 1.1 spz m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1584 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1585 1.1.1.3 spz lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
1586 1.1 spz # Insert the option either (1) after the last *FLAGS variable, or
1587 1.1 spz # (2) before a word containing "conftest.", or (3) at the end.
1588 1.1 spz # Note that $ac_compile itself does not contain backslashes and begins
1589 1.1 spz # with a dollar sign (not a hyphen), so the echo should work correctly.
1590 1.1 spz # The option is referenced via a variable to avoid confusing sed.
1591 1.1 spz lt_compile=`echo "$ac_compile" | $SED \
1592 1.1 spz -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1593 1.1 spz -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1594 1.1 spz -e 's:$: $lt_compiler_flag:'`
1595 1.1 spz (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1596 1.1 spz (eval "$lt_compile" 2>conftest.err)
1597 1.1 spz ac_status=$?
1598 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1599 1.1 spz echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1600 1.1 spz if (exit $ac_status) && test -s "$ac_outfile"; then
1601 1.1 spz # The compiler can only warn and ignore the option if not recognized
1602 1.1 spz # So say no if there are warnings other than the usual output.
1603 1.1 spz $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1604 1.1 spz $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1605 1.1 spz if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1606 1.1 spz $2=yes
1607 1.1 spz fi
1608 1.1 spz fi
1609 1.1 spz $RM conftest*
1610 1.1 spz ])
1611 1.1 spz
1612 1.1.1.3 spz if test yes = "[$]$2"; then
1613 1.1 spz m4_if([$5], , :, [$5])
1614 1.1 spz else
1615 1.1 spz m4_if([$6], , :, [$6])
1616 1.1 spz fi
1617 1.1 spz ])# _LT_COMPILER_OPTION
1618 1.1 spz
1619 1.1 spz # Old name:
1620 1.1 spz AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1621 1.1 spz dnl aclocal-1.4 backwards compatibility:
1622 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1623 1.1 spz
1624 1.1 spz
1625 1.1 spz # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1626 1.1 spz # [ACTION-SUCCESS], [ACTION-FAILURE])
1627 1.1 spz # ----------------------------------------------------
1628 1.1 spz # Check whether the given linker option works
1629 1.1 spz AC_DEFUN([_LT_LINKER_OPTION],
1630 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1631 1.1 spz m4_require([_LT_DECL_SED])dnl
1632 1.1 spz AC_CACHE_CHECK([$1], [$2],
1633 1.1 spz [$2=no
1634 1.1.1.3 spz save_LDFLAGS=$LDFLAGS
1635 1.1 spz LDFLAGS="$LDFLAGS $3"
1636 1.1 spz echo "$lt_simple_link_test_code" > conftest.$ac_ext
1637 1.1 spz if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1638 1.1 spz # The linker can only warn and ignore the option if not recognized
1639 1.1 spz # So say no if there are warnings
1640 1.1 spz if test -s conftest.err; then
1641 1.1 spz # Append any errors to the config.log.
1642 1.1 spz cat conftest.err 1>&AS_MESSAGE_LOG_FD
1643 1.1 spz $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1644 1.1 spz $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1645 1.1 spz if diff conftest.exp conftest.er2 >/dev/null; then
1646 1.1 spz $2=yes
1647 1.1 spz fi
1648 1.1 spz else
1649 1.1 spz $2=yes
1650 1.1 spz fi
1651 1.1 spz fi
1652 1.1 spz $RM -r conftest*
1653 1.1.1.3 spz LDFLAGS=$save_LDFLAGS
1654 1.1 spz ])
1655 1.1 spz
1656 1.1.1.3 spz if test yes = "[$]$2"; then
1657 1.1 spz m4_if([$4], , :, [$4])
1658 1.1 spz else
1659 1.1 spz m4_if([$5], , :, [$5])
1660 1.1 spz fi
1661 1.1 spz ])# _LT_LINKER_OPTION
1662 1.1 spz
1663 1.1 spz # Old name:
1664 1.1 spz AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1665 1.1 spz dnl aclocal-1.4 backwards compatibility:
1666 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1667 1.1 spz
1668 1.1 spz
1669 1.1 spz # LT_CMD_MAX_LEN
1670 1.1 spz #---------------
1671 1.1 spz AC_DEFUN([LT_CMD_MAX_LEN],
1672 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1673 1.1 spz # find the maximum length of command line arguments
1674 1.1 spz AC_MSG_CHECKING([the maximum length of command line arguments])
1675 1.1 spz AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1676 1.1 spz i=0
1677 1.1.1.3 spz teststring=ABCD
1678 1.1 spz
1679 1.1 spz case $build_os in
1680 1.1 spz msdosdjgpp*)
1681 1.1 spz # On DJGPP, this test can blow up pretty badly due to problems in libc
1682 1.1 spz # (any single argument exceeding 2000 bytes causes a buffer overrun
1683 1.1 spz # during glob expansion). Even if it were fixed, the result of this
1684 1.1 spz # check would be larger than it should be.
1685 1.1 spz lt_cv_sys_max_cmd_len=12288; # 12K is about right
1686 1.1 spz ;;
1687 1.1 spz
1688 1.1 spz gnu*)
1689 1.1 spz # Under GNU Hurd, this test is not required because there is
1690 1.1 spz # no limit to the length of command line arguments.
1691 1.1 spz # Libtool will interpret -1 as no limit whatsoever
1692 1.1 spz lt_cv_sys_max_cmd_len=-1;
1693 1.1 spz ;;
1694 1.1 spz
1695 1.1 spz cygwin* | mingw* | cegcc*)
1696 1.1 spz # On Win9x/ME, this test blows up -- it succeeds, but takes
1697 1.1 spz # about 5 minutes as the teststring grows exponentially.
1698 1.1 spz # Worse, since 9x/ME are not pre-emptively multitasking,
1699 1.1 spz # you end up with a "frozen" computer, even though with patience
1700 1.1 spz # the test eventually succeeds (with a max line length of 256k).
1701 1.1 spz # Instead, let's just punt: use the minimum linelength reported by
1702 1.1 spz # all of the supported platforms: 8192 (on NT/2K/XP).
1703 1.1 spz lt_cv_sys_max_cmd_len=8192;
1704 1.1 spz ;;
1705 1.1 spz
1706 1.1 spz mint*)
1707 1.1 spz # On MiNT this can take a long time and run out of memory.
1708 1.1 spz lt_cv_sys_max_cmd_len=8192;
1709 1.1 spz ;;
1710 1.1 spz
1711 1.1.1.4 christos mint*)
1712 1.1.1.4 christos # On MiNT this can take a long time and run out of memory.
1713 1.1.1.4 christos lt_cv_sys_max_cmd_len=8192;
1714 1.1.1.4 christos ;;
1715 1.1.1.4 christos
1716 1.1 spz amigaos*)
1717 1.1 spz # On AmigaOS with pdksh, this test takes hours, literally.
1718 1.1 spz # So we just punt and use a minimum line length of 8192.
1719 1.1 spz lt_cv_sys_max_cmd_len=8192;
1720 1.1 spz ;;
1721 1.1 spz
1722 1.1.1.3 spz bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
1723 1.1 spz # This has been around since 386BSD, at least. Likely further.
1724 1.1 spz if test -x /sbin/sysctl; then
1725 1.1 spz lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1726 1.1 spz elif test -x /usr/sbin/sysctl; then
1727 1.1 spz lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1728 1.1 spz else
1729 1.1 spz lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1730 1.1 spz fi
1731 1.1 spz # And add a safety zone
1732 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1733 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1734 1.1 spz ;;
1735 1.1 spz
1736 1.1 spz interix*)
1737 1.1 spz # We know the value 262144 and hardcode it with a safety zone (like BSD)
1738 1.1 spz lt_cv_sys_max_cmd_len=196608
1739 1.1 spz ;;
1740 1.1 spz
1741 1.1.1.2 spz os2*)
1742 1.1.1.2 spz # The test takes a long time on OS/2.
1743 1.1.1.2 spz lt_cv_sys_max_cmd_len=8192
1744 1.1.1.2 spz ;;
1745 1.1.1.2 spz
1746 1.1 spz osf*)
1747 1.1 spz # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1748 1.1 spz # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1749 1.1 spz # nice to cause kernel panics so lets avoid the loop below.
1750 1.1 spz # First set a reasonable default.
1751 1.1 spz lt_cv_sys_max_cmd_len=16384
1752 1.1 spz #
1753 1.1 spz if test -x /sbin/sysconfig; then
1754 1.1 spz case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1755 1.1 spz *1*) lt_cv_sys_max_cmd_len=-1 ;;
1756 1.1 spz esac
1757 1.1 spz fi
1758 1.1 spz ;;
1759 1.1 spz sco3.2v5*)
1760 1.1 spz lt_cv_sys_max_cmd_len=102400
1761 1.1 spz ;;
1762 1.1 spz sysv5* | sco5v6* | sysv4.2uw2*)
1763 1.1 spz kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1764 1.1 spz if test -n "$kargmax"; then
1765 1.1 spz lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1766 1.1 spz else
1767 1.1 spz lt_cv_sys_max_cmd_len=32768
1768 1.1 spz fi
1769 1.1 spz ;;
1770 1.1 spz *)
1771 1.1 spz lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1772 1.1.1.2 spz if test -n "$lt_cv_sys_max_cmd_len" && \
1773 1.1.1.3 spz test undefined != "$lt_cv_sys_max_cmd_len"; then
1774 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1775 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1776 1.1 spz else
1777 1.1 spz # Make teststring a little bigger before we do anything with it.
1778 1.1 spz # a 1K string should be a reasonable start.
1779 1.1.1.3 spz for i in 1 2 3 4 5 6 7 8; do
1780 1.1 spz teststring=$teststring$teststring
1781 1.1 spz done
1782 1.1 spz SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1783 1.1 spz # If test is not a shell built-in, we'll probably end up computing a
1784 1.1 spz # maximum length that is only half of the actual maximum length, but
1785 1.1 spz # we can't tell.
1786 1.1.1.3 spz while { test X`env echo "$teststring$teststring" 2>/dev/null` \
1787 1.1 spz = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1788 1.1.1.3 spz test 17 != "$i" # 1/2 MB should be enough
1789 1.1 spz do
1790 1.1 spz i=`expr $i + 1`
1791 1.1 spz teststring=$teststring$teststring
1792 1.1 spz done
1793 1.1 spz # Only check the string length outside the loop.
1794 1.1 spz lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1795 1.1 spz teststring=
1796 1.1 spz # Add a significant safety factor because C++ compilers can tack on
1797 1.1 spz # massive amounts of additional arguments before passing them to the
1798 1.1 spz # linker. It appears as though 1/2 is a usable value.
1799 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1800 1.1 spz fi
1801 1.1 spz ;;
1802 1.1 spz esac
1803 1.1 spz ])
1804 1.1.1.3 spz if test -n "$lt_cv_sys_max_cmd_len"; then
1805 1.1 spz AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1806 1.1 spz else
1807 1.1 spz AC_MSG_RESULT(none)
1808 1.1 spz fi
1809 1.1 spz max_cmd_len=$lt_cv_sys_max_cmd_len
1810 1.1 spz _LT_DECL([], [max_cmd_len], [0],
1811 1.1 spz [What is the maximum length of a command?])
1812 1.1 spz ])# LT_CMD_MAX_LEN
1813 1.1 spz
1814 1.1 spz # Old name:
1815 1.1 spz AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1816 1.1 spz dnl aclocal-1.4 backwards compatibility:
1817 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1818 1.1 spz
1819 1.1 spz
1820 1.1 spz # _LT_HEADER_DLFCN
1821 1.1 spz # ----------------
1822 1.1 spz m4_defun([_LT_HEADER_DLFCN],
1823 1.1 spz [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1824 1.1 spz ])# _LT_HEADER_DLFCN
1825 1.1 spz
1826 1.1 spz
1827 1.1 spz # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1828 1.1 spz # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1829 1.1 spz # ----------------------------------------------------------------
1830 1.1 spz m4_defun([_LT_TRY_DLOPEN_SELF],
1831 1.1 spz [m4_require([_LT_HEADER_DLFCN])dnl
1832 1.1.1.3 spz if test yes = "$cross_compiling"; then :
1833 1.1 spz [$4]
1834 1.1 spz else
1835 1.1 spz lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1836 1.1 spz lt_status=$lt_dlunknown
1837 1.1 spz cat > conftest.$ac_ext <<_LT_EOF
1838 1.1 spz [#line $LINENO "configure"
1839 1.1 spz #include "confdefs.h"
1840 1.1 spz
1841 1.1 spz #if HAVE_DLFCN_H
1842 1.1 spz #include <dlfcn.h>
1843 1.1 spz #endif
1844 1.1 spz
1845 1.1 spz #include <stdio.h>
1846 1.1 spz
1847 1.1 spz #ifdef RTLD_GLOBAL
1848 1.1 spz # define LT_DLGLOBAL RTLD_GLOBAL
1849 1.1 spz #else
1850 1.1 spz # ifdef DL_GLOBAL
1851 1.1 spz # define LT_DLGLOBAL DL_GLOBAL
1852 1.1 spz # else
1853 1.1 spz # define LT_DLGLOBAL 0
1854 1.1 spz # endif
1855 1.1 spz #endif
1856 1.1 spz
1857 1.1 spz /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1858 1.1 spz find out it does not work in some platform. */
1859 1.1 spz #ifndef LT_DLLAZY_OR_NOW
1860 1.1 spz # ifdef RTLD_LAZY
1861 1.1 spz # define LT_DLLAZY_OR_NOW RTLD_LAZY
1862 1.1 spz # else
1863 1.1 spz # ifdef DL_LAZY
1864 1.1 spz # define LT_DLLAZY_OR_NOW DL_LAZY
1865 1.1 spz # else
1866 1.1 spz # ifdef RTLD_NOW
1867 1.1 spz # define LT_DLLAZY_OR_NOW RTLD_NOW
1868 1.1 spz # else
1869 1.1 spz # ifdef DL_NOW
1870 1.1 spz # define LT_DLLAZY_OR_NOW DL_NOW
1871 1.1 spz # else
1872 1.1 spz # define LT_DLLAZY_OR_NOW 0
1873 1.1 spz # endif
1874 1.1 spz # endif
1875 1.1 spz # endif
1876 1.1 spz # endif
1877 1.1 spz #endif
1878 1.1 spz
1879 1.1.1.3 spz /* When -fvisibility=hidden is used, assume the code has been annotated
1880 1.1 spz correspondingly for the symbols needed. */
1881 1.1.1.3 spz #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1882 1.1 spz int fnord () __attribute__((visibility("default")));
1883 1.1 spz #endif
1884 1.1 spz
1885 1.1 spz int fnord () { return 42; }
1886 1.1 spz int main ()
1887 1.1 spz {
1888 1.1 spz void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1889 1.1 spz int status = $lt_dlunknown;
1890 1.1 spz
1891 1.1 spz if (self)
1892 1.1 spz {
1893 1.1 spz if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1894 1.1 spz else
1895 1.1 spz {
1896 1.1 spz if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1897 1.1 spz else puts (dlerror ());
1898 1.1 spz }
1899 1.1 spz /* dlclose (self); */
1900 1.1 spz }
1901 1.1 spz else
1902 1.1 spz puts (dlerror ());
1903 1.1 spz
1904 1.1 spz return status;
1905 1.1 spz }]
1906 1.1 spz _LT_EOF
1907 1.1.1.3 spz if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
1908 1.1 spz (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1909 1.1 spz lt_status=$?
1910 1.1 spz case x$lt_status in
1911 1.1 spz x$lt_dlno_uscore) $1 ;;
1912 1.1 spz x$lt_dlneed_uscore) $2 ;;
1913 1.1 spz x$lt_dlunknown|x*) $3 ;;
1914 1.1 spz esac
1915 1.1 spz else :
1916 1.1 spz # compilation failed
1917 1.1 spz $3
1918 1.1 spz fi
1919 1.1 spz fi
1920 1.1 spz rm -fr conftest*
1921 1.1 spz ])# _LT_TRY_DLOPEN_SELF
1922 1.1 spz
1923 1.1 spz
1924 1.1 spz # LT_SYS_DLOPEN_SELF
1925 1.1 spz # ------------------
1926 1.1 spz AC_DEFUN([LT_SYS_DLOPEN_SELF],
1927 1.1 spz [m4_require([_LT_HEADER_DLFCN])dnl
1928 1.1.1.3 spz if test yes != "$enable_dlopen"; then
1929 1.1 spz enable_dlopen=unknown
1930 1.1 spz enable_dlopen_self=unknown
1931 1.1 spz enable_dlopen_self_static=unknown
1932 1.1 spz else
1933 1.1 spz lt_cv_dlopen=no
1934 1.1 spz lt_cv_dlopen_libs=
1935 1.1 spz
1936 1.1 spz case $host_os in
1937 1.1 spz beos*)
1938 1.1.1.3 spz lt_cv_dlopen=load_add_on
1939 1.1 spz lt_cv_dlopen_libs=
1940 1.1 spz lt_cv_dlopen_self=yes
1941 1.1 spz ;;
1942 1.1 spz
1943 1.1 spz mingw* | pw32* | cegcc*)
1944 1.1.1.3 spz lt_cv_dlopen=LoadLibrary
1945 1.1 spz lt_cv_dlopen_libs=
1946 1.1 spz ;;
1947 1.1 spz
1948 1.1 spz cygwin*)
1949 1.1.1.3 spz lt_cv_dlopen=dlopen
1950 1.1 spz lt_cv_dlopen_libs=
1951 1.1 spz ;;
1952 1.1 spz
1953 1.1 spz darwin*)
1954 1.1.1.3 spz # if libdl is installed we need to link against it
1955 1.1 spz AC_CHECK_LIB([dl], [dlopen],
1956 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1957 1.1.1.3 spz lt_cv_dlopen=dyld
1958 1.1 spz lt_cv_dlopen_libs=
1959 1.1 spz lt_cv_dlopen_self=yes
1960 1.1 spz ])
1961 1.1 spz ;;
1962 1.1 spz
1963 1.1.1.3 spz tpf*)
1964 1.1.1.3 spz # Don't try to run any link tests for TPF. We know it's impossible
1965 1.1.1.3 spz # because TPF is a cross-compiler, and we know how we open DSOs.
1966 1.1.1.3 spz lt_cv_dlopen=dlopen
1967 1.1.1.3 spz lt_cv_dlopen_libs=
1968 1.1.1.3 spz lt_cv_dlopen_self=no
1969 1.1.1.3 spz ;;
1970 1.1.1.3 spz
1971 1.1 spz *)
1972 1.1 spz AC_CHECK_FUNC([shl_load],
1973 1.1.1.3 spz [lt_cv_dlopen=shl_load],
1974 1.1 spz [AC_CHECK_LIB([dld], [shl_load],
1975 1.1.1.3 spz [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
1976 1.1 spz [AC_CHECK_FUNC([dlopen],
1977 1.1.1.3 spz [lt_cv_dlopen=dlopen],
1978 1.1 spz [AC_CHECK_LIB([dl], [dlopen],
1979 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
1980 1.1 spz [AC_CHECK_LIB([svld], [dlopen],
1981 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
1982 1.1 spz [AC_CHECK_LIB([dld], [dld_link],
1983 1.1.1.3 spz [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
1984 1.1 spz ])
1985 1.1 spz ])
1986 1.1 spz ])
1987 1.1 spz ])
1988 1.1 spz ])
1989 1.1 spz ;;
1990 1.1 spz esac
1991 1.1 spz
1992 1.1.1.3 spz if test no = "$lt_cv_dlopen"; then
1993 1.1 spz enable_dlopen=no
1994 1.1.1.3 spz else
1995 1.1.1.3 spz enable_dlopen=yes
1996 1.1 spz fi
1997 1.1 spz
1998 1.1 spz case $lt_cv_dlopen in
1999 1.1 spz dlopen)
2000 1.1.1.3 spz save_CPPFLAGS=$CPPFLAGS
2001 1.1.1.3 spz test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
2002 1.1 spz
2003 1.1.1.3 spz save_LDFLAGS=$LDFLAGS
2004 1.1 spz wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2005 1.1 spz
2006 1.1.1.3 spz save_LIBS=$LIBS
2007 1.1 spz LIBS="$lt_cv_dlopen_libs $LIBS"
2008 1.1 spz
2009 1.1 spz AC_CACHE_CHECK([whether a program can dlopen itself],
2010 1.1 spz lt_cv_dlopen_self, [dnl
2011 1.1 spz _LT_TRY_DLOPEN_SELF(
2012 1.1 spz lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2013 1.1 spz lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2014 1.1 spz ])
2015 1.1 spz
2016 1.1.1.3 spz if test yes = "$lt_cv_dlopen_self"; then
2017 1.1 spz wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2018 1.1 spz AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2019 1.1 spz lt_cv_dlopen_self_static, [dnl
2020 1.1 spz _LT_TRY_DLOPEN_SELF(
2021 1.1 spz lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2022 1.1 spz lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2023 1.1 spz ])
2024 1.1 spz fi
2025 1.1 spz
2026 1.1.1.3 spz CPPFLAGS=$save_CPPFLAGS
2027 1.1.1.3 spz LDFLAGS=$save_LDFLAGS
2028 1.1.1.3 spz LIBS=$save_LIBS
2029 1.1 spz ;;
2030 1.1 spz esac
2031 1.1 spz
2032 1.1 spz case $lt_cv_dlopen_self in
2033 1.1 spz yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2034 1.1 spz *) enable_dlopen_self=unknown ;;
2035 1.1 spz esac
2036 1.1 spz
2037 1.1 spz case $lt_cv_dlopen_self_static in
2038 1.1 spz yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2039 1.1 spz *) enable_dlopen_self_static=unknown ;;
2040 1.1 spz esac
2041 1.1 spz fi
2042 1.1 spz _LT_DECL([dlopen_support], [enable_dlopen], [0],
2043 1.1 spz [Whether dlopen is supported])
2044 1.1 spz _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2045 1.1 spz [Whether dlopen of programs is supported])
2046 1.1 spz _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2047 1.1 spz [Whether dlopen of statically linked programs is supported])
2048 1.1 spz ])# LT_SYS_DLOPEN_SELF
2049 1.1 spz
2050 1.1 spz # Old name:
2051 1.1 spz AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2052 1.1 spz dnl aclocal-1.4 backwards compatibility:
2053 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2054 1.1 spz
2055 1.1 spz
2056 1.1 spz # _LT_COMPILER_C_O([TAGNAME])
2057 1.1 spz # ---------------------------
2058 1.1 spz # Check to see if options -c and -o are simultaneously supported by compiler.
2059 1.1 spz # This macro does not hard code the compiler like AC_PROG_CC_C_O.
2060 1.1 spz m4_defun([_LT_COMPILER_C_O],
2061 1.1 spz [m4_require([_LT_DECL_SED])dnl
2062 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2063 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
2064 1.1 spz AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2065 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2066 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2067 1.1 spz $RM -r conftest 2>/dev/null
2068 1.1 spz mkdir conftest
2069 1.1 spz cd conftest
2070 1.1 spz mkdir out
2071 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2072 1.1 spz
2073 1.1 spz lt_compiler_flag="-o out/conftest2.$ac_objext"
2074 1.1 spz # Insert the option either (1) after the last *FLAGS variable, or
2075 1.1 spz # (2) before a word containing "conftest.", or (3) at the end.
2076 1.1 spz # Note that $ac_compile itself does not contain backslashes and begins
2077 1.1 spz # with a dollar sign (not a hyphen), so the echo should work correctly.
2078 1.1 spz lt_compile=`echo "$ac_compile" | $SED \
2079 1.1 spz -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2080 1.1 spz -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2081 1.1 spz -e 's:$: $lt_compiler_flag:'`
2082 1.1 spz (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2083 1.1 spz (eval "$lt_compile" 2>out/conftest.err)
2084 1.1 spz ac_status=$?
2085 1.1 spz cat out/conftest.err >&AS_MESSAGE_LOG_FD
2086 1.1 spz echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2087 1.1 spz if (exit $ac_status) && test -s out/conftest2.$ac_objext
2088 1.1 spz then
2089 1.1 spz # The compiler can only warn and ignore the option if not recognized
2090 1.1 spz # So say no if there are warnings
2091 1.1 spz $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2092 1.1 spz $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2093 1.1 spz if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2094 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2095 1.1 spz fi
2096 1.1 spz fi
2097 1.1 spz chmod u+w . 2>&AS_MESSAGE_LOG_FD
2098 1.1 spz $RM conftest*
2099 1.1 spz # SGI C++ compiler will create directory out/ii_files/ for
2100 1.1 spz # template instantiation
2101 1.1 spz test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2102 1.1 spz $RM out/* && rmdir out
2103 1.1 spz cd ..
2104 1.1 spz $RM -r conftest
2105 1.1 spz $RM conftest*
2106 1.1 spz ])
2107 1.1 spz _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2108 1.1 spz [Does compiler simultaneously support -c and -o options?])
2109 1.1 spz ])# _LT_COMPILER_C_O
2110 1.1 spz
2111 1.1 spz
2112 1.1 spz # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2113 1.1 spz # ----------------------------------
2114 1.1 spz # Check to see if we can do hard links to lock some files if needed
2115 1.1 spz m4_defun([_LT_COMPILER_FILE_LOCKS],
2116 1.1 spz [m4_require([_LT_ENABLE_LOCK])dnl
2117 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2118 1.1 spz _LT_COMPILER_C_O([$1])
2119 1.1 spz
2120 1.1.1.3 spz hard_links=nottested
2121 1.1.1.3 spz if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
2122 1.1 spz # do not overwrite the value of need_locks provided by the user
2123 1.1 spz AC_MSG_CHECKING([if we can lock with hard links])
2124 1.1 spz hard_links=yes
2125 1.1 spz $RM conftest*
2126 1.1 spz ln conftest.a conftest.b 2>/dev/null && hard_links=no
2127 1.1 spz touch conftest.a
2128 1.1 spz ln conftest.a conftest.b 2>&5 || hard_links=no
2129 1.1 spz ln conftest.a conftest.b 2>/dev/null && hard_links=no
2130 1.1 spz AC_MSG_RESULT([$hard_links])
2131 1.1.1.3 spz if test no = "$hard_links"; then
2132 1.1.1.3 spz AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
2133 1.1 spz need_locks=warn
2134 1.1 spz fi
2135 1.1 spz else
2136 1.1 spz need_locks=no
2137 1.1 spz fi
2138 1.1 spz _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2139 1.1 spz ])# _LT_COMPILER_FILE_LOCKS
2140 1.1 spz
2141 1.1 spz
2142 1.1 spz # _LT_CHECK_OBJDIR
2143 1.1 spz # ----------------
2144 1.1 spz m4_defun([_LT_CHECK_OBJDIR],
2145 1.1 spz [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2146 1.1 spz [rm -f .libs 2>/dev/null
2147 1.1 spz mkdir .libs 2>/dev/null
2148 1.1 spz if test -d .libs; then
2149 1.1 spz lt_cv_objdir=.libs
2150 1.1 spz else
2151 1.1 spz # MS-DOS does not allow filenames that begin with a dot.
2152 1.1 spz lt_cv_objdir=_libs
2153 1.1 spz fi
2154 1.1 spz rmdir .libs 2>/dev/null])
2155 1.1 spz objdir=$lt_cv_objdir
2156 1.1 spz _LT_DECL([], [objdir], [0],
2157 1.1 spz [The name of the directory that contains temporary libtool files])dnl
2158 1.1 spz m4_pattern_allow([LT_OBJDIR])dnl
2159 1.1.1.3 spz AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2160 1.1.1.3 spz [Define to the sub-directory where libtool stores uninstalled libraries.])
2161 1.1 spz ])# _LT_CHECK_OBJDIR
2162 1.1 spz
2163 1.1 spz
2164 1.1 spz # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2165 1.1 spz # --------------------------------------
2166 1.1 spz # Check hardcoding attributes.
2167 1.1 spz m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2168 1.1 spz [AC_MSG_CHECKING([how to hardcode library paths into programs])
2169 1.1 spz _LT_TAGVAR(hardcode_action, $1)=
2170 1.1 spz if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2171 1.1 spz test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2172 1.1.1.3 spz test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
2173 1.1 spz
2174 1.1 spz # We can hardcode non-existent directories.
2175 1.1.1.3 spz if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
2176 1.1 spz # If the only mechanism to avoid hardcoding is shlibpath_var, we
2177 1.1 spz # have to relink, otherwise we might link with an installed library
2178 1.1 spz # when we should be linking with a yet-to-be-installed one
2179 1.1.1.3 spz ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2180 1.1.1.3 spz test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
2181 1.1 spz # Linking always hardcodes the temporary library directory.
2182 1.1 spz _LT_TAGVAR(hardcode_action, $1)=relink
2183 1.1 spz else
2184 1.1 spz # We can link without hardcoding, and we can hardcode nonexisting dirs.
2185 1.1 spz _LT_TAGVAR(hardcode_action, $1)=immediate
2186 1.1 spz fi
2187 1.1 spz else
2188 1.1 spz # We cannot hardcode anything, or else we can only hardcode existing
2189 1.1 spz # directories.
2190 1.1 spz _LT_TAGVAR(hardcode_action, $1)=unsupported
2191 1.1 spz fi
2192 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2193 1.1 spz
2194 1.1.1.3 spz if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2195 1.1.1.3 spz test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
2196 1.1 spz # Fast installation is not supported
2197 1.1 spz enable_fast_install=no
2198 1.1.1.3 spz elif test yes = "$shlibpath_overrides_runpath" ||
2199 1.1.1.3 spz test no = "$enable_shared"; then
2200 1.1 spz # Fast installation is not necessary
2201 1.1 spz enable_fast_install=needless
2202 1.1 spz fi
2203 1.1 spz _LT_TAGDECL([], [hardcode_action], [0],
2204 1.1 spz [How to hardcode a shared library path into an executable])
2205 1.1 spz ])# _LT_LINKER_HARDCODE_LIBPATH
2206 1.1 spz
2207 1.1 spz
2208 1.1 spz # _LT_CMD_STRIPLIB
2209 1.1 spz # ----------------
2210 1.1 spz m4_defun([_LT_CMD_STRIPLIB],
2211 1.1 spz [m4_require([_LT_DECL_EGREP])
2212 1.1 spz striplib=
2213 1.1 spz old_striplib=
2214 1.1 spz AC_MSG_CHECKING([whether stripping libraries is possible])
2215 1.1 spz if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2216 1.1 spz test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2217 1.1 spz test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2218 1.1 spz AC_MSG_RESULT([yes])
2219 1.1 spz else
2220 1.1 spz # FIXME - insert some real tests, host_os isn't really good enough
2221 1.1 spz case $host_os in
2222 1.1 spz darwin*)
2223 1.1.1.3 spz if test -n "$STRIP"; then
2224 1.1 spz striplib="$STRIP -x"
2225 1.1 spz old_striplib="$STRIP -S"
2226 1.1 spz AC_MSG_RESULT([yes])
2227 1.1 spz else
2228 1.1 spz AC_MSG_RESULT([no])
2229 1.1 spz fi
2230 1.1 spz ;;
2231 1.1 spz *)
2232 1.1 spz AC_MSG_RESULT([no])
2233 1.1 spz ;;
2234 1.1 spz esac
2235 1.1 spz fi
2236 1.1 spz _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2237 1.1 spz _LT_DECL([], [striplib], [1])
2238 1.1 spz ])# _LT_CMD_STRIPLIB
2239 1.1 spz
2240 1.1 spz
2241 1.1.1.3 spz # _LT_PREPARE_MUNGE_PATH_LIST
2242 1.1.1.3 spz # ---------------------------
2243 1.1.1.3 spz # Make sure func_munge_path_list() is defined correctly.
2244 1.1.1.3 spz m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2245 1.1.1.3 spz [[# func_munge_path_list VARIABLE PATH
2246 1.1.1.3 spz # -----------------------------------
2247 1.1.1.3 spz # VARIABLE is name of variable containing _space_ separated list of
2248 1.1.1.3 spz # directories to be munged by the contents of PATH, which is string
2249 1.1.1.3 spz # having a format:
2250 1.1.1.3 spz # "DIR[:DIR]:"
2251 1.1.1.3 spz # string "DIR[ DIR]" will be prepended to VARIABLE
2252 1.1.1.3 spz # ":DIR[:DIR]"
2253 1.1.1.3 spz # string "DIR[ DIR]" will be appended to VARIABLE
2254 1.1.1.3 spz # "DIRP[:DIRP]::[DIRA:]DIRA"
2255 1.1.1.3 spz # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2256 1.1.1.3 spz # "DIRA[ DIRA]" will be appended to VARIABLE
2257 1.1.1.3 spz # "DIR[:DIR]"
2258 1.1.1.3 spz # VARIABLE will be replaced by "DIR[ DIR]"
2259 1.1.1.3 spz func_munge_path_list ()
2260 1.1.1.3 spz {
2261 1.1.1.3 spz case x@S|@2 in
2262 1.1.1.3 spz x)
2263 1.1.1.3 spz ;;
2264 1.1.1.3 spz *:)
2265 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2266 1.1.1.3 spz ;;
2267 1.1.1.3 spz x:*)
2268 1.1.1.3 spz eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2269 1.1.1.3 spz ;;
2270 1.1.1.3 spz *::*)
2271 1.1.1.3 spz eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2272 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2273 1.1.1.3 spz ;;
2274 1.1.1.3 spz *)
2275 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2276 1.1.1.3 spz ;;
2277 1.1.1.3 spz esac
2278 1.1.1.3 spz }
2279 1.1.1.3 spz ]])# _LT_PREPARE_PATH_LIST
2280 1.1.1.3 spz
2281 1.1.1.3 spz
2282 1.1 spz # _LT_SYS_DYNAMIC_LINKER([TAG])
2283 1.1 spz # -----------------------------
2284 1.1 spz # PORTME Fill in your ld.so characteristics
2285 1.1 spz m4_defun([_LT_SYS_DYNAMIC_LINKER],
2286 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2287 1.1 spz m4_require([_LT_DECL_EGREP])dnl
2288 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2289 1.1 spz m4_require([_LT_DECL_OBJDUMP])dnl
2290 1.1 spz m4_require([_LT_DECL_SED])dnl
2291 1.1 spz m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2292 1.1.1.3 spz m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
2293 1.1 spz AC_MSG_CHECKING([dynamic linker characteristics])
2294 1.1 spz m4_if([$1],
2295 1.1 spz [], [
2296 1.1.1.3 spz if test yes = "$GCC"; then
2297 1.1 spz case $host_os in
2298 1.1.1.3 spz darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2299 1.1.1.3 spz *) lt_awk_arg='/^libraries:/' ;;
2300 1.1 spz esac
2301 1.1 spz case $host_os in
2302 1.1.1.3 spz mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2303 1.1.1.3 spz *) lt_sed_strip_eq='s|=/|/|g' ;;
2304 1.1 spz esac
2305 1.1 spz lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2306 1.1 spz case $lt_search_path_spec in
2307 1.1 spz *\;*)
2308 1.1 spz # if the path contains ";" then we assume it to be the separator
2309 1.1 spz # otherwise default to the standard path separator (i.e. ":") - it is
2310 1.1 spz # assumed that no part of a normal pathname contains ";" but that should
2311 1.1 spz # okay in the real world where ";" in dirpaths is itself problematic.
2312 1.1 spz lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2313 1.1 spz ;;
2314 1.1 spz *)
2315 1.1 spz lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2316 1.1 spz ;;
2317 1.1 spz esac
2318 1.1 spz # Ok, now we have the path, separated by spaces, we can step through it
2319 1.1.1.3 spz # and add multilib dir if necessary...
2320 1.1 spz lt_tmp_lt_search_path_spec=
2321 1.1.1.3 spz lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2322 1.1.1.3 spz # ...but if some path component already ends with the multilib dir we assume
2323 1.1.1.3 spz # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2324 1.1.1.3 spz case "$lt_multi_os_dir; $lt_search_path_spec " in
2325 1.1.1.3 spz "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2326 1.1.1.3 spz lt_multi_os_dir=
2327 1.1.1.3 spz ;;
2328 1.1.1.3 spz esac
2329 1.1 spz for lt_sys_path in $lt_search_path_spec; do
2330 1.1.1.3 spz if test -d "$lt_sys_path$lt_multi_os_dir"; then
2331 1.1.1.3 spz lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2332 1.1.1.3 spz elif test -n "$lt_multi_os_dir"; then
2333 1.1 spz test -d "$lt_sys_path" && \
2334 1.1 spz lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2335 1.1 spz fi
2336 1.1 spz done
2337 1.1 spz lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2338 1.1.1.3 spz BEGIN {RS = " "; FS = "/|\n";} {
2339 1.1.1.3 spz lt_foo = "";
2340 1.1.1.3 spz lt_count = 0;
2341 1.1 spz for (lt_i = NF; lt_i > 0; lt_i--) {
2342 1.1 spz if ($lt_i != "" && $lt_i != ".") {
2343 1.1 spz if ($lt_i == "..") {
2344 1.1 spz lt_count++;
2345 1.1 spz } else {
2346 1.1 spz if (lt_count == 0) {
2347 1.1.1.3 spz lt_foo = "/" $lt_i lt_foo;
2348 1.1 spz } else {
2349 1.1 spz lt_count--;
2350 1.1 spz }
2351 1.1 spz }
2352 1.1 spz }
2353 1.1 spz }
2354 1.1 spz if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2355 1.1 spz if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2356 1.1 spz }'`
2357 1.1 spz # AWK program above erroneously prepends '/' to C:/dos/paths
2358 1.1 spz # for these hosts.
2359 1.1 spz case $host_os in
2360 1.1 spz mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2361 1.1.1.3 spz $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
2362 1.1 spz esac
2363 1.1 spz sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2364 1.1 spz else
2365 1.1 spz sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2366 1.1 spz fi])
2367 1.1 spz library_names_spec=
2368 1.1 spz libname_spec='lib$name'
2369 1.1 spz soname_spec=
2370 1.1.1.3 spz shrext_cmds=.so
2371 1.1 spz postinstall_cmds=
2372 1.1 spz postuninstall_cmds=
2373 1.1 spz finish_cmds=
2374 1.1 spz finish_eval=
2375 1.1 spz shlibpath_var=
2376 1.1 spz shlibpath_overrides_runpath=unknown
2377 1.1 spz version_type=none
2378 1.1 spz dynamic_linker="$host_os ld.so"
2379 1.1 spz sys_lib_dlsearch_path_spec="/lib /usr/lib"
2380 1.1 spz need_lib_prefix=unknown
2381 1.1 spz hardcode_into_libs=no
2382 1.1 spz
2383 1.1 spz # when you set need_version to no, make sure it does not cause -set_version
2384 1.1 spz # flags to be left without arguments
2385 1.1 spz need_version=unknown
2386 1.1 spz
2387 1.1.1.3 spz AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2388 1.1.1.3 spz [User-defined run-time library search path.])
2389 1.1.1.3 spz
2390 1.1 spz case $host_os in
2391 1.1 spz aix3*)
2392 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2393 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
2394 1.1 spz shlibpath_var=LIBPATH
2395 1.1 spz
2396 1.1 spz # AIX 3 has no versioning support, so we append a major version to the name.
2397 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2398 1.1 spz ;;
2399 1.1 spz
2400 1.1 spz aix[[4-9]]*)
2401 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2402 1.1 spz need_lib_prefix=no
2403 1.1 spz need_version=no
2404 1.1 spz hardcode_into_libs=yes
2405 1.1.1.3 spz if test ia64 = "$host_cpu"; then
2406 1.1 spz # AIX 5 supports IA64
2407 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
2408 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2409 1.1 spz else
2410 1.1 spz # With GCC up to 2.95.x, collect2 would create an import file
2411 1.1 spz # for dependence libraries. The import file would start with
2412 1.1.1.3 spz # the line '#! .'. This would cause the generated library to
2413 1.1.1.3 spz # depend on '.', always an invalid library. This was fixed in
2414 1.1 spz # development snapshots of GCC prior to 3.0.
2415 1.1 spz case $host_os in
2416 1.1 spz aix4 | aix4.[[01]] | aix4.[[01]].*)
2417 1.1 spz if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2418 1.1 spz echo ' yes '
2419 1.1.1.3 spz echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
2420 1.1 spz :
2421 1.1 spz else
2422 1.1 spz can_build_shared=no
2423 1.1 spz fi
2424 1.1 spz ;;
2425 1.1 spz esac
2426 1.1.1.3 spz # Using Import Files as archive members, it is possible to support
2427 1.1.1.3 spz # filename-based versioning of shared library archives on AIX. While
2428 1.1.1.3 spz # this would work for both with and without runtime linking, it will
2429 1.1.1.3 spz # prevent static linking of such archives. So we do filename-based
2430 1.1.1.3 spz # shared library versioning with .so extension only, which is used
2431 1.1.1.3 spz # when both runtime linking and shared linking is enabled.
2432 1.1.1.3 spz # Unfortunately, runtime linking may impact performance, so we do
2433 1.1.1.3 spz # not want this to be the default eventually. Also, we use the
2434 1.1.1.3 spz # versioned .so libs for executables only if there is the -brtl
2435 1.1.1.3 spz # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
2436 1.1.1.3 spz # To allow for filename-based versioning support, we need to create
2437 1.1.1.3 spz # libNAME.so.V as an archive file, containing:
2438 1.1.1.3 spz # *) an Import File, referring to the versioned filename of the
2439 1.1.1.3 spz # archive as well as the shared archive member, telling the
2440 1.1.1.3 spz # bitwidth (32 or 64) of that shared object, and providing the
2441 1.1.1.3 spz # list of exported symbols of that shared object, eventually
2442 1.1.1.3 spz # decorated with the 'weak' keyword
2443 1.1.1.3 spz # *) the shared object with the F_LOADONLY flag set, to really avoid
2444 1.1.1.3 spz # it being seen by the linker.
2445 1.1.1.3 spz # At run time we better use the real file rather than another symlink,
2446 1.1.1.3 spz # but for link time we create the symlink libNAME.so -> libNAME.so.V
2447 1.1.1.3 spz
2448 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
2449 1.1.1.3 spz # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
2450 1.1 spz # soname into executable. Probably we can add versioning support to
2451 1.1 spz # collect2, so additional links can be useful in future.
2452 1.1.1.3 spz aix,yes) # traditional libtool
2453 1.1.1.3 spz dynamic_linker='AIX unversionable lib.so'
2454 1.1 spz # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2455 1.1 spz # instead of lib<name>.a to let people know that these are not
2456 1.1 spz # typical AIX shared libraries.
2457 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2458 1.1.1.3 spz ;;
2459 1.1.1.3 spz aix,no) # traditional AIX only
2460 1.1.1.3 spz dynamic_linker='AIX lib.a[(]lib.so.V[)]'
2461 1.1 spz # We preserve .a as extension for shared libraries through AIX4.2
2462 1.1 spz # and later when we are not doing run time linking.
2463 1.1.1.3 spz library_names_spec='$libname$release.a $libname.a'
2464 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2465 1.1.1.3 spz ;;
2466 1.1.1.3 spz svr4,*) # full svr4 only
2467 1.1.1.3 spz dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2468 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2469 1.1.1.3 spz # We do not specify a path in Import Files, so LIBPATH fires.
2470 1.1.1.3 spz shlibpath_overrides_runpath=yes
2471 1.1.1.3 spz ;;
2472 1.1.1.3 spz *,yes) # both, prefer svr4
2473 1.1.1.3 spz dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2474 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2475 1.1.1.3 spz # unpreferred sharedlib libNAME.a needs extra handling
2476 1.1.1.3 spz postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
2477 1.1.1.3 spz postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
2478 1.1.1.3 spz # We do not specify a path in Import Files, so LIBPATH fires.
2479 1.1.1.3 spz shlibpath_overrides_runpath=yes
2480 1.1.1.3 spz ;;
2481 1.1.1.3 spz *,no) # both, prefer aix
2482 1.1.1.3 spz dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2483 1.1.1.3 spz library_names_spec='$libname$release.a $libname.a'
2484 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2485 1.1.1.3 spz # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2486 1.1.1.3 spz postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
2487 1.1.1.3 spz postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
2488 1.1.1.3 spz ;;
2489 1.1.1.3 spz esac
2490 1.1 spz shlibpath_var=LIBPATH
2491 1.1 spz fi
2492 1.1 spz ;;
2493 1.1 spz
2494 1.1 spz amigaos*)
2495 1.1 spz case $host_cpu in
2496 1.1 spz powerpc)
2497 1.1 spz # Since July 2007 AmigaOS4 officially supports .so libraries.
2498 1.1 spz # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2499 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2500 1.1 spz ;;
2501 1.1 spz m68k)
2502 1.1 spz library_names_spec='$libname.ixlibrary $libname.a'
2503 1.1 spz # Create ${libname}_ixlibrary.a entries in /sys/libs.
2504 1.1.1.3 spz finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2505 1.1 spz ;;
2506 1.1 spz esac
2507 1.1 spz ;;
2508 1.1 spz
2509 1.1 spz beos*)
2510 1.1.1.3 spz library_names_spec='$libname$shared_ext'
2511 1.1 spz dynamic_linker="$host_os ld.so"
2512 1.1 spz shlibpath_var=LIBRARY_PATH
2513 1.1 spz ;;
2514 1.1 spz
2515 1.1 spz bsdi[[45]]*)
2516 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2517 1.1 spz need_version=no
2518 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2519 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2520 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2521 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2522 1.1 spz sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2523 1.1 spz sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2524 1.1 spz # the default ld.so.conf also contains /usr/contrib/lib and
2525 1.1 spz # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2526 1.1 spz # libtool to hard-code these into programs
2527 1.1 spz ;;
2528 1.1 spz
2529 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
2530 1.1 spz version_type=windows
2531 1.1.1.3 spz shrext_cmds=.dll
2532 1.1 spz need_version=no
2533 1.1 spz need_lib_prefix=no
2534 1.1 spz
2535 1.1 spz case $GCC,$cc_basename in
2536 1.1 spz yes,*)
2537 1.1 spz # gcc
2538 1.1 spz library_names_spec='$libname.dll.a'
2539 1.1 spz # DLL is installed to $(libdir)/../bin by postinstall_cmds
2540 1.1.1.3 spz postinstall_cmds='base_file=`basename \$file`~
2541 1.1.1.3 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2542 1.1 spz dldir=$destdir/`dirname \$dlpath`~
2543 1.1 spz test -d \$dldir || mkdir -p \$dldir~
2544 1.1 spz $install_prog $dir/$dlname \$dldir/$dlname~
2545 1.1 spz chmod a+x \$dldir/$dlname~
2546 1.1 spz if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2547 1.1 spz eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2548 1.1 spz fi'
2549 1.1 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2550 1.1 spz dlpath=$dir/\$dldll~
2551 1.1 spz $RM \$dlpath'
2552 1.1 spz shlibpath_overrides_runpath=yes
2553 1.1 spz
2554 1.1 spz case $host_os in
2555 1.1 spz cygwin*)
2556 1.1 spz # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2557 1.1.1.3 spz soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2558 1.1 spz m4_if([$1], [],[
2559 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2560 1.1 spz ;;
2561 1.1 spz mingw* | cegcc*)
2562 1.1 spz # MinGW DLLs use traditional 'lib' prefix
2563 1.1.1.3 spz soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2564 1.1 spz ;;
2565 1.1 spz pw32*)
2566 1.1 spz # pw32 DLLs use 'pw' prefix rather than 'lib'
2567 1.1.1.3 spz library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2568 1.1 spz ;;
2569 1.1 spz esac
2570 1.1 spz dynamic_linker='Win32 ld.exe'
2571 1.1 spz ;;
2572 1.1 spz
2573 1.1 spz *,cl*)
2574 1.1 spz # Native MSVC
2575 1.1 spz libname_spec='$name'
2576 1.1.1.3 spz soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2577 1.1.1.3 spz library_names_spec='$libname.dll.lib'
2578 1.1 spz
2579 1.1 spz case $build_os in
2580 1.1 spz mingw*)
2581 1.1 spz sys_lib_search_path_spec=
2582 1.1 spz lt_save_ifs=$IFS
2583 1.1 spz IFS=';'
2584 1.1 spz for lt_path in $LIB
2585 1.1 spz do
2586 1.1 spz IFS=$lt_save_ifs
2587 1.1 spz # Let DOS variable expansion print the short 8.3 style file name.
2588 1.1 spz lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2589 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2590 1.1 spz done
2591 1.1 spz IFS=$lt_save_ifs
2592 1.1 spz # Convert to MSYS style.
2593 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2594 1.1 spz ;;
2595 1.1 spz cygwin*)
2596 1.1 spz # Convert to unix form, then to dos form, then back to unix form
2597 1.1 spz # but this time dos style (no spaces!) so that the unix form looks
2598 1.1 spz # like /cygdrive/c/PROGRA~1:/cygdr...
2599 1.1 spz sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2600 1.1 spz sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2601 1.1 spz sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2602 1.1 spz ;;
2603 1.1 spz *)
2604 1.1.1.3 spz sys_lib_search_path_spec=$LIB
2605 1.1 spz if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2606 1.1 spz # It is most probably a Windows format PATH.
2607 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2608 1.1 spz else
2609 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2610 1.1 spz fi
2611 1.1 spz # FIXME: find the short name or the path components, as spaces are
2612 1.1 spz # common. (e.g. "Program Files" -> "PROGRA~1")
2613 1.1 spz ;;
2614 1.1 spz esac
2615 1.1 spz
2616 1.1 spz # DLL is installed to $(libdir)/../bin by postinstall_cmds
2617 1.1.1.3 spz postinstall_cmds='base_file=`basename \$file`~
2618 1.1.1.3 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2619 1.1 spz dldir=$destdir/`dirname \$dlpath`~
2620 1.1 spz test -d \$dldir || mkdir -p \$dldir~
2621 1.1 spz $install_prog $dir/$dlname \$dldir/$dlname'
2622 1.1 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2623 1.1 spz dlpath=$dir/\$dldll~
2624 1.1 spz $RM \$dlpath'
2625 1.1 spz shlibpath_overrides_runpath=yes
2626 1.1 spz dynamic_linker='Win32 link.exe'
2627 1.1 spz ;;
2628 1.1 spz
2629 1.1 spz *)
2630 1.1 spz # Assume MSVC wrapper
2631 1.1.1.3 spz library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
2632 1.1 spz dynamic_linker='Win32 ld.exe'
2633 1.1 spz ;;
2634 1.1 spz esac
2635 1.1 spz # FIXME: first we should search . and the directory the executable is in
2636 1.1 spz shlibpath_var=PATH
2637 1.1 spz ;;
2638 1.1 spz
2639 1.1 spz darwin* | rhapsody*)
2640 1.1 spz dynamic_linker="$host_os dyld"
2641 1.1 spz version_type=darwin
2642 1.1 spz need_lib_prefix=no
2643 1.1 spz need_version=no
2644 1.1.1.4 christos library_names_spec='$libname$release$versuffix$shared_ext $libname$release$major$shared_ext $libname$shared_ext'
2645 1.1.1.3 spz soname_spec='$libname$release$major$shared_ext'
2646 1.1 spz shlibpath_overrides_runpath=yes
2647 1.1 spz shlibpath_var=DYLD_LIBRARY_PATH
2648 1.1.1.4 christos shrext_cmds='`test .$module = .yes && echo .bundle || echo .dylib`'
2649 1.1 spz m4_if([$1], [],[
2650 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2651 1.1 spz sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2652 1.1 spz ;;
2653 1.1 spz
2654 1.1 spz dgux*)
2655 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2656 1.1 spz need_lib_prefix=no
2657 1.1 spz need_version=no
2658 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2659 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2660 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2661 1.1 spz ;;
2662 1.1 spz
2663 1.1 spz freebsd* | dragonfly*)
2664 1.1 spz # DragonFly does not have aout. When/if they implement a new
2665 1.1 spz # versioning mechanism, adjust this.
2666 1.1 spz if test -x /usr/bin/objformat; then
2667 1.1 spz objformat=`/usr/bin/objformat`
2668 1.1 spz else
2669 1.1 spz case $host_os in
2670 1.1.1.2 spz freebsd[[23]].*) objformat=aout ;;
2671 1.1 spz *) objformat=elf ;;
2672 1.1 spz esac
2673 1.1 spz fi
2674 1.1.1.3 spz # Handle Gentoo/FreeBSD as it was Linux
2675 1.1.1.3 spz case $host_vendor in
2676 1.1.1.3 spz gentoo)
2677 1.1.1.3 spz version_type=linux ;;
2678 1.1.1.3 spz *)
2679 1.1.1.3 spz version_type=freebsd-$objformat ;;
2680 1.1.1.3 spz esac
2681 1.1.1.3 spz
2682 1.1 spz case $version_type in
2683 1.1 spz freebsd-elf*)
2684 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2685 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2686 1.1 spz need_version=no
2687 1.1 spz need_lib_prefix=no
2688 1.1 spz ;;
2689 1.1 spz freebsd-*)
2690 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2691 1.1 spz need_version=yes
2692 1.1 spz ;;
2693 1.1.1.3 spz linux)
2694 1.1.1.3 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2695 1.1.1.3 spz soname_spec='${libname}${release}${shared_ext}$major'
2696 1.1.1.3 spz need_lib_prefix=no
2697 1.1.1.3 spz need_version=no
2698 1.1.1.3 spz ;;
2699 1.1 spz esac
2700 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2701 1.1 spz case $host_os in
2702 1.1.1.2 spz freebsd2.*)
2703 1.1 spz shlibpath_overrides_runpath=yes
2704 1.1 spz ;;
2705 1.1 spz freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2706 1.1 spz shlibpath_overrides_runpath=yes
2707 1.1 spz hardcode_into_libs=yes
2708 1.1 spz ;;
2709 1.1 spz freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2710 1.1 spz freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2711 1.1 spz shlibpath_overrides_runpath=no
2712 1.1 spz hardcode_into_libs=yes
2713 1.1 spz ;;
2714 1.1 spz *) # from 4.6 on, and DragonFly
2715 1.1 spz shlibpath_overrides_runpath=yes
2716 1.1 spz hardcode_into_libs=yes
2717 1.1 spz ;;
2718 1.1 spz esac
2719 1.1 spz ;;
2720 1.1 spz
2721 1.1 spz haiku*)
2722 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2723 1.1 spz need_lib_prefix=no
2724 1.1 spz need_version=no
2725 1.1 spz dynamic_linker="$host_os runtime_loader"
2726 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2727 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2728 1.1 spz shlibpath_var=LIBRARY_PATH
2729 1.1.1.3 spz shlibpath_overrides_runpath=no
2730 1.1 spz sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2731 1.1 spz hardcode_into_libs=yes
2732 1.1 spz ;;
2733 1.1 spz
2734 1.1 spz hpux9* | hpux10* | hpux11*)
2735 1.1 spz # Give a soname corresponding to the major version so that dld.sl refuses to
2736 1.1 spz # link against other versions.
2737 1.1 spz version_type=sunos
2738 1.1 spz need_lib_prefix=no
2739 1.1 spz need_version=no
2740 1.1 spz case $host_cpu in
2741 1.1 spz ia64*)
2742 1.1 spz shrext_cmds='.so'
2743 1.1 spz hardcode_into_libs=yes
2744 1.1 spz dynamic_linker="$host_os dld.so"
2745 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2746 1.1 spz shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2747 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2748 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2749 1.1.1.3 spz if test 32 = "$HPUX_IA64_MODE"; then
2750 1.1 spz sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2751 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib/hpux32
2752 1.1 spz else
2753 1.1 spz sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2754 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib/hpux64
2755 1.1 spz fi
2756 1.1 spz ;;
2757 1.1 spz hppa*64*)
2758 1.1 spz shrext_cmds='.sl'
2759 1.1 spz hardcode_into_libs=yes
2760 1.1 spz dynamic_linker="$host_os dld.sl"
2761 1.1 spz shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2762 1.1 spz shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2763 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2764 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2765 1.1 spz sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2766 1.1 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2767 1.1 spz ;;
2768 1.1 spz *)
2769 1.1 spz shrext_cmds='.sl'
2770 1.1 spz dynamic_linker="$host_os dld.sl"
2771 1.1 spz shlibpath_var=SHLIB_PATH
2772 1.1 spz shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2773 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2774 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2775 1.1 spz ;;
2776 1.1 spz esac
2777 1.1 spz # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2778 1.1 spz postinstall_cmds='chmod 555 $lib'
2779 1.1 spz # or fails outright, so override atomically:
2780 1.1 spz install_override_mode=555
2781 1.1 spz ;;
2782 1.1 spz
2783 1.1 spz interix[[3-9]]*)
2784 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2785 1.1 spz need_lib_prefix=no
2786 1.1 spz need_version=no
2787 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2788 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2789 1.1 spz dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2790 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2791 1.1 spz shlibpath_overrides_runpath=no
2792 1.1 spz hardcode_into_libs=yes
2793 1.1 spz ;;
2794 1.1 spz
2795 1.1 spz irix5* | irix6* | nonstopux*)
2796 1.1 spz case $host_os in
2797 1.1 spz nonstopux*) version_type=nonstopux ;;
2798 1.1 spz *)
2799 1.1.1.3 spz if test yes = "$lt_cv_prog_gnu_ld"; then
2800 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2801 1.1 spz else
2802 1.1 spz version_type=irix
2803 1.1 spz fi ;;
2804 1.1 spz esac
2805 1.1 spz need_lib_prefix=no
2806 1.1 spz need_version=no
2807 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2808 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
2809 1.1 spz case $host_os in
2810 1.1 spz irix5* | nonstopux*)
2811 1.1 spz libsuff= shlibsuff=
2812 1.1 spz ;;
2813 1.1 spz *)
2814 1.1 spz case $LD in # libtool.m4 will add one of these switches to LD
2815 1.1 spz *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2816 1.1 spz libsuff= shlibsuff= libmagic=32-bit;;
2817 1.1 spz *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2818 1.1 spz libsuff=32 shlibsuff=N32 libmagic=N32;;
2819 1.1 spz *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2820 1.1 spz libsuff=64 shlibsuff=64 libmagic=64-bit;;
2821 1.1 spz *) libsuff= shlibsuff= libmagic=never-match;;
2822 1.1 spz esac
2823 1.1 spz ;;
2824 1.1 spz esac
2825 1.1 spz shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2826 1.1 spz shlibpath_overrides_runpath=no
2827 1.1.1.3 spz sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2828 1.1.1.3 spz sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
2829 1.1 spz hardcode_into_libs=yes
2830 1.1 spz ;;
2831 1.1 spz
2832 1.1 spz # No shared lib support for Linux oldld, aout, or coff.
2833 1.1 spz linux*oldld* | linux*aout* | linux*coff*)
2834 1.1 spz dynamic_linker=no
2835 1.1 spz ;;
2836 1.1 spz
2837 1.1.1.3 spz linux*android*)
2838 1.1.1.3 spz version_type=none # Android doesn't support versioned libraries.
2839 1.1.1.3 spz need_lib_prefix=no
2840 1.1.1.3 spz need_version=no
2841 1.1.1.3 spz library_names_spec='$libname$release$shared_ext'
2842 1.1.1.3 spz soname_spec='$libname$release$shared_ext'
2843 1.1.1.3 spz finish_cmds=
2844 1.1.1.3 spz shlibpath_var=LD_LIBRARY_PATH
2845 1.1.1.3 spz shlibpath_overrides_runpath=yes
2846 1.1.1.3 spz
2847 1.1.1.3 spz # This implies no fast_install, which is unacceptable.
2848 1.1.1.3 spz # Some rework will be needed to allow for fast_install
2849 1.1.1.3 spz # before this can be enabled.
2850 1.1.1.3 spz hardcode_into_libs=yes
2851 1.1.1.3 spz
2852 1.1.1.3 spz dynamic_linker='Android linker'
2853 1.1.1.3 spz # Don't embed -rpath directories since the linker doesn't support them.
2854 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2855 1.1.1.3 spz ;;
2856 1.1.1.3 spz
2857 1.1.1.2 spz # This must be glibc/ELF.
2858 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
2859 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2860 1.1 spz need_lib_prefix=no
2861 1.1 spz need_version=no
2862 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2863 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2864 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2865 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2866 1.1 spz shlibpath_overrides_runpath=no
2867 1.1 spz
2868 1.1 spz # Some binutils ld are patched to set DT_RUNPATH
2869 1.1 spz AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2870 1.1 spz [lt_cv_shlibpath_overrides_runpath=no
2871 1.1 spz save_LDFLAGS=$LDFLAGS
2872 1.1 spz save_libdir=$libdir
2873 1.1 spz eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2874 1.1 spz LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2875 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2876 1.1 spz [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2877 1.1 spz [lt_cv_shlibpath_overrides_runpath=yes])])
2878 1.1 spz LDFLAGS=$save_LDFLAGS
2879 1.1 spz libdir=$save_libdir
2880 1.1 spz ])
2881 1.1 spz shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2882 1.1 spz
2883 1.1 spz # This implies no fast_install, which is unacceptable.
2884 1.1 spz # Some rework will be needed to allow for fast_install
2885 1.1 spz # before this can be enabled.
2886 1.1 spz hardcode_into_libs=yes
2887 1.1 spz
2888 1.1.1.3 spz # Ideally, we could use ldconfig to report *all* directores which are
2889 1.1.1.3 spz # searched for libraries, however this is still not possible. Aside from not
2890 1.1.1.3 spz # being certain /sbin/ldconfig is available, command
2891 1.1.1.3 spz # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2892 1.1.1.3 spz # even though it is searched at run-time. Try to do the best guess by
2893 1.1.1.3 spz # appending ld.so.conf contents (and includes) to the search path.
2894 1.1 spz if test -f /etc/ld.so.conf; then
2895 1.1 spz lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
2896 1.1 spz sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2897 1.1 spz fi
2898 1.1 spz
2899 1.1 spz # We used to test for /lib/ld.so.1 and disable shared libraries on
2900 1.1 spz # powerpc, because MkLinux only supported shared libraries with the
2901 1.1 spz # GNU dynamic linker. Since this was broken with cross compilers,
2902 1.1 spz # most powerpc-linux boxes support dynamic linking these days and
2903 1.1 spz # people can always --disable-shared, the test was removed, and we
2904 1.1 spz # assume the GNU/Linux dynamic linker is in use.
2905 1.1 spz dynamic_linker='GNU/Linux ld.so'
2906 1.1 spz ;;
2907 1.1 spz
2908 1.1 spz netbsd*)
2909 1.1 spz version_type=sunos
2910 1.1 spz need_lib_prefix=no
2911 1.1 spz need_version=no
2912 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2913 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2914 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2915 1.1 spz dynamic_linker='NetBSD (a.out) ld.so'
2916 1.1 spz else
2917 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2918 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2919 1.1 spz dynamic_linker='NetBSD ld.elf_so'
2920 1.1 spz fi
2921 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2922 1.1 spz shlibpath_overrides_runpath=yes
2923 1.1 spz hardcode_into_libs=yes
2924 1.1 spz ;;
2925 1.1 spz
2926 1.1 spz newsos6)
2927 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2928 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2929 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2930 1.1 spz shlibpath_overrides_runpath=yes
2931 1.1 spz ;;
2932 1.1 spz
2933 1.1 spz *nto* | *qnx*)
2934 1.1 spz version_type=qnx
2935 1.1 spz need_lib_prefix=no
2936 1.1 spz need_version=no
2937 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2938 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2939 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2940 1.1 spz shlibpath_overrides_runpath=no
2941 1.1 spz hardcode_into_libs=yes
2942 1.1 spz dynamic_linker='ldqnx.so'
2943 1.1 spz ;;
2944 1.1 spz
2945 1.1.1.3 spz openbsd* | bitrig*)
2946 1.1 spz version_type=sunos
2947 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib
2948 1.1 spz need_lib_prefix=no
2949 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
2950 1.1.1.3 spz need_version=no
2951 1.1 spz else
2952 1.1.1.3 spz need_version=yes
2953 1.1 spz fi
2954 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2955 1.1.1.3 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2956 1.1.1.3 spz shlibpath_var=LD_LIBRARY_PATH
2957 1.1.1.3 spz shlibpath_overrides_runpath=yes
2958 1.1 spz ;;
2959 1.1 spz
2960 1.1 spz os2*)
2961 1.1 spz libname_spec='$name'
2962 1.1.1.3 spz version_type=windows
2963 1.1.1.3 spz shrext_cmds=.dll
2964 1.1.1.3 spz need_version=no
2965 1.1 spz need_lib_prefix=no
2966 1.1.1.3 spz # OS/2 can only load a DLL with a base name of 8 characters or less.
2967 1.1.1.3 spz soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
2968 1.1.1.3 spz v=$($ECHO $release$versuffix | tr -d .-);
2969 1.1.1.3 spz n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
2970 1.1.1.3 spz $ECHO $n$v`$shared_ext'
2971 1.1.1.3 spz library_names_spec='${libname}_dll.$libext'
2972 1.1 spz dynamic_linker='OS/2 ld.exe'
2973 1.1.1.3 spz shlibpath_var=BEGINLIBPATH
2974 1.1.1.3 spz sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2975 1.1.1.3 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2976 1.1.1.3 spz postinstall_cmds='base_file=`basename \$file`~
2977 1.1.1.3 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
2978 1.1.1.3 spz dldir=$destdir/`dirname \$dlpath`~
2979 1.1.1.3 spz test -d \$dldir || mkdir -p \$dldir~
2980 1.1.1.3 spz $install_prog $dir/$dlname \$dldir/$dlname~
2981 1.1.1.3 spz chmod a+x \$dldir/$dlname~
2982 1.1.1.3 spz if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2983 1.1.1.3 spz eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2984 1.1.1.3 spz fi'
2985 1.1.1.3 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
2986 1.1.1.3 spz dlpath=$dir/\$dldll~
2987 1.1.1.3 spz $RM \$dlpath'
2988 1.1 spz ;;
2989 1.1 spz
2990 1.1 spz osf3* | osf4* | osf5*)
2991 1.1 spz version_type=osf
2992 1.1 spz need_lib_prefix=no
2993 1.1 spz need_version=no
2994 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2995 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2996 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2997 1.1 spz sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2998 1.1.1.3 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2999 1.1 spz ;;
3000 1.1 spz
3001 1.1 spz rdos*)
3002 1.1 spz dynamic_linker=no
3003 1.1 spz ;;
3004 1.1 spz
3005 1.1 spz solaris*)
3006 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3007 1.1 spz need_lib_prefix=no
3008 1.1 spz need_version=no
3009 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3010 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3011 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3012 1.1 spz shlibpath_overrides_runpath=yes
3013 1.1 spz hardcode_into_libs=yes
3014 1.1 spz # ldd complains unless libraries are executable
3015 1.1 spz postinstall_cmds='chmod +x $lib'
3016 1.1 spz ;;
3017 1.1 spz
3018 1.1 spz sunos4*)
3019 1.1 spz version_type=sunos
3020 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3021 1.1 spz finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3022 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3023 1.1 spz shlibpath_overrides_runpath=yes
3024 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
3025 1.1 spz need_lib_prefix=no
3026 1.1 spz fi
3027 1.1 spz need_version=yes
3028 1.1 spz ;;
3029 1.1 spz
3030 1.1 spz sysv4 | sysv4.3*)
3031 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3032 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3033 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3034 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3035 1.1 spz case $host_vendor in
3036 1.1 spz sni)
3037 1.1 spz shlibpath_overrides_runpath=no
3038 1.1 spz need_lib_prefix=no
3039 1.1 spz runpath_var=LD_RUN_PATH
3040 1.1 spz ;;
3041 1.1 spz siemens)
3042 1.1 spz need_lib_prefix=no
3043 1.1 spz ;;
3044 1.1 spz motorola)
3045 1.1 spz need_lib_prefix=no
3046 1.1 spz need_version=no
3047 1.1 spz shlibpath_overrides_runpath=no
3048 1.1 spz sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3049 1.1 spz ;;
3050 1.1 spz esac
3051 1.1 spz ;;
3052 1.1 spz
3053 1.1 spz sysv4*MP*)
3054 1.1.1.3 spz if test -d /usr/nec; then
3055 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3056 1.1.1.3 spz library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3057 1.1.1.3 spz soname_spec='$libname$shared_ext.$major'
3058 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3059 1.1 spz fi
3060 1.1 spz ;;
3061 1.1 spz
3062 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3063 1.1.1.3 spz version_type=sco
3064 1.1 spz need_lib_prefix=no
3065 1.1 spz need_version=no
3066 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3067 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3068 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3069 1.1 spz shlibpath_overrides_runpath=yes
3070 1.1 spz hardcode_into_libs=yes
3071 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
3072 1.1 spz sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3073 1.1 spz else
3074 1.1 spz sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3075 1.1 spz case $host_os in
3076 1.1 spz sco3.2v5*)
3077 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3078 1.1 spz ;;
3079 1.1 spz esac
3080 1.1 spz fi
3081 1.1 spz sys_lib_dlsearch_path_spec='/usr/lib'
3082 1.1 spz ;;
3083 1.1 spz
3084 1.1 spz tpf*)
3085 1.1 spz # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3086 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3087 1.1 spz need_lib_prefix=no
3088 1.1 spz need_version=no
3089 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3090 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3091 1.1 spz shlibpath_overrides_runpath=no
3092 1.1 spz hardcode_into_libs=yes
3093 1.1 spz ;;
3094 1.1 spz
3095 1.1 spz uts4*)
3096 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3097 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3098 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3099 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3100 1.1 spz ;;
3101 1.1 spz
3102 1.1 spz *)
3103 1.1 spz dynamic_linker=no
3104 1.1 spz ;;
3105 1.1 spz esac
3106 1.1 spz AC_MSG_RESULT([$dynamic_linker])
3107 1.1.1.3 spz test no = "$dynamic_linker" && can_build_shared=no
3108 1.1 spz
3109 1.1 spz variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3110 1.1.1.3 spz if test yes = "$GCC"; then
3111 1.1 spz variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3112 1.1 spz fi
3113 1.1 spz
3114 1.1.1.3 spz if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3115 1.1.1.3 spz sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
3116 1.1 spz fi
3117 1.1.1.3 spz
3118 1.1.1.3 spz if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3119 1.1.1.3 spz sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
3120 1.1 spz fi
3121 1.1 spz
3122 1.1.1.3 spz # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3123 1.1.1.3 spz configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3124 1.1.1.3 spz
3125 1.1.1.3 spz # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3126 1.1.1.3 spz func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3127 1.1.1.3 spz
3128 1.1.1.3 spz # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3129 1.1.1.3 spz configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3130 1.1.1.3 spz
3131 1.1 spz _LT_DECL([], [variables_saved_for_relink], [1],
3132 1.1 spz [Variables whose values should be saved in libtool wrapper scripts and
3133 1.1 spz restored at link time])
3134 1.1 spz _LT_DECL([], [need_lib_prefix], [0],
3135 1.1 spz [Do we need the "lib" prefix for modules?])
3136 1.1 spz _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3137 1.1 spz _LT_DECL([], [version_type], [0], [Library versioning type])
3138 1.1 spz _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3139 1.1 spz _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3140 1.1 spz _LT_DECL([], [shlibpath_overrides_runpath], [0],
3141 1.1 spz [Is shlibpath searched before the hard-coded library search path?])
3142 1.1 spz _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3143 1.1 spz _LT_DECL([], [library_names_spec], [1],
3144 1.1 spz [[List of archive names. First name is the real one, the rest are links.
3145 1.1 spz The last name is the one that the linker finds with -lNAME]])
3146 1.1 spz _LT_DECL([], [soname_spec], [1],
3147 1.1 spz [[The coded name of the library, if different from the real name]])
3148 1.1 spz _LT_DECL([], [install_override_mode], [1],
3149 1.1 spz [Permission mode override for installation of shared libraries])
3150 1.1 spz _LT_DECL([], [postinstall_cmds], [2],
3151 1.1 spz [Command to use after installation of a shared archive])
3152 1.1 spz _LT_DECL([], [postuninstall_cmds], [2],
3153 1.1 spz [Command to use after uninstallation of a shared archive])
3154 1.1 spz _LT_DECL([], [finish_cmds], [2],
3155 1.1 spz [Commands used to finish a libtool library installation in a directory])
3156 1.1 spz _LT_DECL([], [finish_eval], [1],
3157 1.1 spz [[As "finish_cmds", except a single script fragment to be evaled but
3158 1.1 spz not shown]])
3159 1.1 spz _LT_DECL([], [hardcode_into_libs], [0],
3160 1.1 spz [Whether we should hardcode library paths into libraries])
3161 1.1 spz _LT_DECL([], [sys_lib_search_path_spec], [2],
3162 1.1 spz [Compile-time system search path for libraries])
3163 1.1.1.3 spz _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3164 1.1.1.3 spz [Detected run-time system search path for libraries])
3165 1.1.1.3 spz _LT_DECL([], [configure_time_lt_sys_library_path], [2],
3166 1.1.1.3 spz [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
3167 1.1 spz ])# _LT_SYS_DYNAMIC_LINKER
3168 1.1 spz
3169 1.1 spz
3170 1.1 spz # _LT_PATH_TOOL_PREFIX(TOOL)
3171 1.1 spz # --------------------------
3172 1.1.1.3 spz # find a file program that can recognize shared library
3173 1.1 spz AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3174 1.1 spz [m4_require([_LT_DECL_EGREP])dnl
3175 1.1 spz AC_MSG_CHECKING([for $1])
3176 1.1 spz AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3177 1.1 spz [case $MAGIC_CMD in
3178 1.1 spz [[\\/*] | ?:[\\/]*])
3179 1.1.1.3 spz lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
3180 1.1 spz ;;
3181 1.1 spz *)
3182 1.1.1.3 spz lt_save_MAGIC_CMD=$MAGIC_CMD
3183 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3184 1.1 spz dnl $ac_dummy forces splitting on constant user-supplied paths.
3185 1.1 spz dnl POSIX.2 word splitting is done only on the output of word expansions,
3186 1.1 spz dnl not every word. This closes a longstanding sh security hole.
3187 1.1 spz ac_dummy="m4_if([$2], , $PATH, [$2])"
3188 1.1 spz for ac_dir in $ac_dummy; do
3189 1.1.1.3 spz IFS=$lt_save_ifs
3190 1.1 spz test -z "$ac_dir" && ac_dir=.
3191 1.1.1.3 spz if test -f "$ac_dir/$1"; then
3192 1.1.1.3 spz lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
3193 1.1 spz if test -n "$file_magic_test_file"; then
3194 1.1 spz case $deplibs_check_method in
3195 1.1 spz "file_magic "*)
3196 1.1 spz file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3197 1.1.1.3 spz MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3198 1.1 spz if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3199 1.1 spz $EGREP "$file_magic_regex" > /dev/null; then
3200 1.1 spz :
3201 1.1 spz else
3202 1.1 spz cat <<_LT_EOF 1>&2
3203 1.1 spz
3204 1.1 spz *** Warning: the command libtool uses to detect shared libraries,
3205 1.1 spz *** $file_magic_cmd, produces output that libtool cannot recognize.
3206 1.1 spz *** The result is that libtool may fail to recognize shared libraries
3207 1.1 spz *** as such. This will affect the creation of libtool libraries that
3208 1.1 spz *** depend on shared libraries, but programs linked with such libtool
3209 1.1 spz *** libraries will work regardless of this problem. Nevertheless, you
3210 1.1 spz *** may want to report the problem to your system manager and/or to
3211 1.1 spz *** bug-libtool (a] gnu.org
3212 1.1 spz
3213 1.1 spz _LT_EOF
3214 1.1 spz fi ;;
3215 1.1 spz esac
3216 1.1 spz fi
3217 1.1 spz break
3218 1.1 spz fi
3219 1.1 spz done
3220 1.1.1.3 spz IFS=$lt_save_ifs
3221 1.1.1.3 spz MAGIC_CMD=$lt_save_MAGIC_CMD
3222 1.1 spz ;;
3223 1.1 spz esac])
3224 1.1.1.3 spz MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3225 1.1 spz if test -n "$MAGIC_CMD"; then
3226 1.1 spz AC_MSG_RESULT($MAGIC_CMD)
3227 1.1 spz else
3228 1.1 spz AC_MSG_RESULT(no)
3229 1.1 spz fi
3230 1.1 spz _LT_DECL([], [MAGIC_CMD], [0],
3231 1.1 spz [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3232 1.1 spz ])# _LT_PATH_TOOL_PREFIX
3233 1.1 spz
3234 1.1 spz # Old name:
3235 1.1 spz AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3236 1.1 spz dnl aclocal-1.4 backwards compatibility:
3237 1.1 spz dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3238 1.1 spz
3239 1.1 spz
3240 1.1 spz # _LT_PATH_MAGIC
3241 1.1 spz # --------------
3242 1.1.1.3 spz # find a file program that can recognize a shared library
3243 1.1 spz m4_defun([_LT_PATH_MAGIC],
3244 1.1 spz [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3245 1.1 spz if test -z "$lt_cv_path_MAGIC_CMD"; then
3246 1.1 spz if test -n "$ac_tool_prefix"; then
3247 1.1 spz _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3248 1.1 spz else
3249 1.1 spz MAGIC_CMD=:
3250 1.1 spz fi
3251 1.1 spz fi
3252 1.1 spz ])# _LT_PATH_MAGIC
3253 1.1 spz
3254 1.1 spz
3255 1.1 spz # LT_PATH_LD
3256 1.1 spz # ----------
3257 1.1 spz # find the pathname to the GNU or non-GNU linker
3258 1.1 spz AC_DEFUN([LT_PATH_LD],
3259 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
3260 1.1 spz AC_REQUIRE([AC_CANONICAL_HOST])dnl
3261 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3262 1.1 spz m4_require([_LT_DECL_SED])dnl
3263 1.1 spz m4_require([_LT_DECL_EGREP])dnl
3264 1.1 spz m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3265 1.1 spz
3266 1.1 spz AC_ARG_WITH([gnu-ld],
3267 1.1 spz [AS_HELP_STRING([--with-gnu-ld],
3268 1.1 spz [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3269 1.1.1.3 spz [test no = "$withval" || with_gnu_ld=yes],
3270 1.1 spz [with_gnu_ld=no])dnl
3271 1.1 spz
3272 1.1 spz ac_prog=ld
3273 1.1.1.3 spz if test yes = "$GCC"; then
3274 1.1 spz # Check if gcc -print-prog-name=ld gives a path.
3275 1.1 spz AC_MSG_CHECKING([for ld used by $CC])
3276 1.1 spz case $host in
3277 1.1 spz *-*-mingw*)
3278 1.1.1.3 spz # gcc leaves a trailing carriage return, which upsets mingw
3279 1.1 spz ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3280 1.1 spz *)
3281 1.1 spz ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3282 1.1 spz esac
3283 1.1 spz case $ac_prog in
3284 1.1 spz # Accept absolute paths.
3285 1.1 spz [[\\/]]* | ?:[[\\/]]*)
3286 1.1 spz re_direlt='/[[^/]][[^/]]*/\.\./'
3287 1.1 spz # Canonicalize the pathname of ld
3288 1.1 spz ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3289 1.1 spz while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3290 1.1 spz ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3291 1.1 spz done
3292 1.1.1.3 spz test -z "$LD" && LD=$ac_prog
3293 1.1 spz ;;
3294 1.1 spz "")
3295 1.1 spz # If it fails, then pretend we aren't using GCC.
3296 1.1 spz ac_prog=ld
3297 1.1 spz ;;
3298 1.1 spz *)
3299 1.1 spz # If it is relative, then search for the first ld in PATH.
3300 1.1 spz with_gnu_ld=unknown
3301 1.1 spz ;;
3302 1.1 spz esac
3303 1.1.1.3 spz elif test yes = "$with_gnu_ld"; then
3304 1.1 spz AC_MSG_CHECKING([for GNU ld])
3305 1.1 spz else
3306 1.1 spz AC_MSG_CHECKING([for non-GNU ld])
3307 1.1 spz fi
3308 1.1 spz AC_CACHE_VAL(lt_cv_path_LD,
3309 1.1 spz [if test -z "$LD"; then
3310 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3311 1.1 spz for ac_dir in $PATH; do
3312 1.1.1.3 spz IFS=$lt_save_ifs
3313 1.1 spz test -z "$ac_dir" && ac_dir=.
3314 1.1 spz if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3315 1.1.1.3 spz lt_cv_path_LD=$ac_dir/$ac_prog
3316 1.1 spz # Check to see if the program is GNU ld. I'd rather use --version,
3317 1.1 spz # but apparently some variants of GNU ld only accept -v.
3318 1.1 spz # Break only if it was the GNU/non-GNU ld that we prefer.
3319 1.1 spz case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3320 1.1 spz *GNU* | *'with BFD'*)
3321 1.1.1.3 spz test no != "$with_gnu_ld" && break
3322 1.1 spz ;;
3323 1.1 spz *)
3324 1.1.1.3 spz test yes != "$with_gnu_ld" && break
3325 1.1 spz ;;
3326 1.1 spz esac
3327 1.1 spz fi
3328 1.1 spz done
3329 1.1.1.3 spz IFS=$lt_save_ifs
3330 1.1 spz else
3331 1.1.1.3 spz lt_cv_path_LD=$LD # Let the user override the test with a path.
3332 1.1 spz fi])
3333 1.1.1.3 spz LD=$lt_cv_path_LD
3334 1.1 spz if test -n "$LD"; then
3335 1.1 spz AC_MSG_RESULT($LD)
3336 1.1 spz else
3337 1.1 spz AC_MSG_RESULT(no)
3338 1.1 spz fi
3339 1.1 spz test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3340 1.1 spz _LT_PATH_LD_GNU
3341 1.1 spz AC_SUBST([LD])
3342 1.1 spz
3343 1.1 spz _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3344 1.1 spz ])# LT_PATH_LD
3345 1.1 spz
3346 1.1 spz # Old names:
3347 1.1 spz AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3348 1.1 spz AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3349 1.1 spz dnl aclocal-1.4 backwards compatibility:
3350 1.1 spz dnl AC_DEFUN([AM_PROG_LD], [])
3351 1.1 spz dnl AC_DEFUN([AC_PROG_LD], [])
3352 1.1 spz
3353 1.1 spz
3354 1.1 spz # _LT_PATH_LD_GNU
3355 1.1 spz #- --------------
3356 1.1 spz m4_defun([_LT_PATH_LD_GNU],
3357 1.1 spz [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3358 1.1 spz [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3359 1.1 spz case `$LD -v 2>&1 </dev/null` in
3360 1.1 spz *GNU* | *'with BFD'*)
3361 1.1 spz lt_cv_prog_gnu_ld=yes
3362 1.1 spz ;;
3363 1.1 spz *)
3364 1.1 spz lt_cv_prog_gnu_ld=no
3365 1.1 spz ;;
3366 1.1 spz esac])
3367 1.1 spz with_gnu_ld=$lt_cv_prog_gnu_ld
3368 1.1 spz ])# _LT_PATH_LD_GNU
3369 1.1 spz
3370 1.1 spz
3371 1.1 spz # _LT_CMD_RELOAD
3372 1.1 spz # --------------
3373 1.1 spz # find reload flag for linker
3374 1.1 spz # -- PORTME Some linkers may need a different reload flag.
3375 1.1 spz m4_defun([_LT_CMD_RELOAD],
3376 1.1 spz [AC_CACHE_CHECK([for $LD option to reload object files],
3377 1.1 spz lt_cv_ld_reload_flag,
3378 1.1 spz [lt_cv_ld_reload_flag='-r'])
3379 1.1 spz reload_flag=$lt_cv_ld_reload_flag
3380 1.1 spz case $reload_flag in
3381 1.1 spz "" | " "*) ;;
3382 1.1 spz *) reload_flag=" $reload_flag" ;;
3383 1.1 spz esac
3384 1.1 spz reload_cmds='$LD$reload_flag -o $output$reload_objs'
3385 1.1 spz case $host_os in
3386 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3387 1.1.1.3 spz if test yes != "$GCC"; then
3388 1.1 spz reload_cmds=false
3389 1.1 spz fi
3390 1.1 spz ;;
3391 1.1 spz darwin*)
3392 1.1.1.3 spz if test yes = "$GCC"; then
3393 1.1.1.3 spz reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
3394 1.1 spz else
3395 1.1 spz reload_cmds='$LD$reload_flag -o $output$reload_objs'
3396 1.1 spz fi
3397 1.1 spz ;;
3398 1.1 spz esac
3399 1.1 spz _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3400 1.1 spz _LT_TAGDECL([], [reload_cmds], [2])dnl
3401 1.1 spz ])# _LT_CMD_RELOAD
3402 1.1 spz
3403 1.1 spz
3404 1.1.1.3 spz # _LT_PATH_DD
3405 1.1.1.3 spz # -----------
3406 1.1.1.3 spz # find a working dd
3407 1.1.1.3 spz m4_defun([_LT_PATH_DD],
3408 1.1.1.3 spz [AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3409 1.1.1.3 spz [printf 0123456789abcdef0123456789abcdef >conftest.i
3410 1.1.1.3 spz cat conftest.i conftest.i >conftest2.i
3411 1.1.1.3 spz : ${lt_DD:=$DD}
3412 1.1.1.3 spz AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3413 1.1.1.3 spz [if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3414 1.1.1.3 spz cmp -s conftest.i conftest.out \
3415 1.1.1.3 spz && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3416 1.1.1.3 spz fi])
3417 1.1.1.3 spz rm -f conftest.i conftest2.i conftest.out])
3418 1.1.1.3 spz ])# _LT_PATH_DD
3419 1.1.1.3 spz
3420 1.1.1.3 spz
3421 1.1.1.3 spz # _LT_CMD_TRUNCATE
3422 1.1.1.3 spz # ----------------
3423 1.1.1.3 spz # find command to truncate a binary pipe
3424 1.1.1.3 spz m4_defun([_LT_CMD_TRUNCATE],
3425 1.1.1.3 spz [m4_require([_LT_PATH_DD])
3426 1.1.1.3 spz AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3427 1.1.1.3 spz [printf 0123456789abcdef0123456789abcdef >conftest.i
3428 1.1.1.3 spz cat conftest.i conftest.i >conftest2.i
3429 1.1.1.3 spz lt_cv_truncate_bin=
3430 1.1.1.3 spz if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3431 1.1.1.3 spz cmp -s conftest.i conftest.out \
3432 1.1.1.3 spz && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3433 1.1.1.3 spz fi
3434 1.1.1.3 spz rm -f conftest.i conftest2.i conftest.out
3435 1.1.1.3 spz test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3436 1.1.1.3 spz _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3437 1.1.1.3 spz [Command to truncate a binary pipe])
3438 1.1.1.3 spz ])# _LT_CMD_TRUNCATE
3439 1.1.1.3 spz
3440 1.1.1.3 spz
3441 1.1 spz # _LT_CHECK_MAGIC_METHOD
3442 1.1 spz # ----------------------
3443 1.1 spz # how to check for library dependencies
3444 1.1 spz # -- PORTME fill in with the dynamic library characteristics
3445 1.1 spz m4_defun([_LT_CHECK_MAGIC_METHOD],
3446 1.1 spz [m4_require([_LT_DECL_EGREP])
3447 1.1 spz m4_require([_LT_DECL_OBJDUMP])
3448 1.1 spz AC_CACHE_CHECK([how to recognize dependent libraries],
3449 1.1 spz lt_cv_deplibs_check_method,
3450 1.1 spz [lt_cv_file_magic_cmd='$MAGIC_CMD'
3451 1.1 spz lt_cv_file_magic_test_file=
3452 1.1 spz lt_cv_deplibs_check_method='unknown'
3453 1.1 spz # Need to set the preceding variable on all platforms that support
3454 1.1 spz # interlibrary dependencies.
3455 1.1 spz # 'none' -- dependencies not supported.
3456 1.1.1.3 spz # 'unknown' -- same as none, but documents that we really don't know.
3457 1.1 spz # 'pass_all' -- all dependencies passed with no checks.
3458 1.1 spz # 'test_compile' -- check by making test program.
3459 1.1 spz # 'file_magic [[regex]]' -- check by looking for files in library path
3460 1.1.1.3 spz # that responds to the $file_magic_cmd with a given extended regex.
3461 1.1.1.3 spz # If you have 'file' or equivalent on your system and you're not sure
3462 1.1.1.3 spz # whether 'pass_all' will *always* work, you probably want this one.
3463 1.1 spz
3464 1.1 spz case $host_os in
3465 1.1 spz aix[[4-9]]*)
3466 1.1 spz lt_cv_deplibs_check_method=pass_all
3467 1.1 spz ;;
3468 1.1 spz
3469 1.1 spz beos*)
3470 1.1 spz lt_cv_deplibs_check_method=pass_all
3471 1.1 spz ;;
3472 1.1 spz
3473 1.1 spz bsdi[[45]]*)
3474 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3475 1.1 spz lt_cv_file_magic_cmd='/usr/bin/file -L'
3476 1.1 spz lt_cv_file_magic_test_file=/shlib/libc.so
3477 1.1 spz ;;
3478 1.1 spz
3479 1.1 spz cygwin*)
3480 1.1 spz # func_win32_libid is a shell function defined in ltmain.sh
3481 1.1 spz lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3482 1.1 spz lt_cv_file_magic_cmd='func_win32_libid'
3483 1.1 spz ;;
3484 1.1 spz
3485 1.1 spz mingw* | pw32*)
3486 1.1 spz # Base MSYS/MinGW do not provide the 'file' command needed by
3487 1.1 spz # func_win32_libid shell function, so use a weaker test based on 'objdump',
3488 1.1 spz # unless we find 'file', for example because we are cross-compiling.
3489 1.1.1.3 spz if ( file / ) >/dev/null 2>&1; then
3490 1.1 spz lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3491 1.1 spz lt_cv_file_magic_cmd='func_win32_libid'
3492 1.1 spz else
3493 1.1 spz # Keep this pattern in sync with the one in func_win32_libid.
3494 1.1 spz lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3495 1.1 spz lt_cv_file_magic_cmd='$OBJDUMP -f'
3496 1.1 spz fi
3497 1.1 spz ;;
3498 1.1 spz
3499 1.1 spz cegcc*)
3500 1.1 spz # use the weaker test based on 'objdump'. See mingw*.
3501 1.1 spz lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3502 1.1 spz lt_cv_file_magic_cmd='$OBJDUMP -f'
3503 1.1 spz ;;
3504 1.1 spz
3505 1.1 spz darwin* | rhapsody*)
3506 1.1 spz lt_cv_deplibs_check_method=pass_all
3507 1.1 spz ;;
3508 1.1 spz
3509 1.1 spz freebsd* | dragonfly*)
3510 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3511 1.1 spz case $host_cpu in
3512 1.1 spz i*86 )
3513 1.1 spz # Not sure whether the presence of OpenBSD here was a mistake.
3514 1.1 spz # Let's accept both of them until this is cleared up.
3515 1.1 spz lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3516 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3517 1.1 spz lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3518 1.1 spz ;;
3519 1.1 spz esac
3520 1.1 spz else
3521 1.1 spz lt_cv_deplibs_check_method=pass_all
3522 1.1 spz fi
3523 1.1 spz ;;
3524 1.1 spz
3525 1.1 spz haiku*)
3526 1.1 spz lt_cv_deplibs_check_method=pass_all
3527 1.1 spz ;;
3528 1.1 spz
3529 1.1 spz hpux10.20* | hpux11*)
3530 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3531 1.1 spz case $host_cpu in
3532 1.1 spz ia64*)
3533 1.1 spz lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3534 1.1 spz lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3535 1.1 spz ;;
3536 1.1 spz hppa*64*)
3537 1.1 spz [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
3538 1.1 spz lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3539 1.1 spz ;;
3540 1.1 spz *)
3541 1.1 spz lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3542 1.1 spz lt_cv_file_magic_test_file=/usr/lib/libc.sl
3543 1.1 spz ;;
3544 1.1 spz esac
3545 1.1 spz ;;
3546 1.1 spz
3547 1.1 spz interix[[3-9]]*)
3548 1.1 spz # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3549 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3550 1.1 spz ;;
3551 1.1 spz
3552 1.1 spz irix5* | irix6* | nonstopux*)
3553 1.1 spz case $LD in
3554 1.1 spz *-32|*"-32 ") libmagic=32-bit;;
3555 1.1 spz *-n32|*"-n32 ") libmagic=N32;;
3556 1.1 spz *-64|*"-64 ") libmagic=64-bit;;
3557 1.1 spz *) libmagic=never-match;;
3558 1.1 spz esac
3559 1.1 spz lt_cv_deplibs_check_method=pass_all
3560 1.1 spz ;;
3561 1.1 spz
3562 1.1.1.2 spz # This must be glibc/ELF.
3563 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3564 1.1 spz lt_cv_deplibs_check_method=pass_all
3565 1.1 spz ;;
3566 1.1 spz
3567 1.1.1.3 spz netbsd*)
3568 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3569 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3570 1.1 spz else
3571 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3572 1.1 spz fi
3573 1.1 spz ;;
3574 1.1 spz
3575 1.1 spz newos6*)
3576 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3577 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3578 1.1 spz lt_cv_file_magic_test_file=/usr/lib/libnls.so
3579 1.1 spz ;;
3580 1.1 spz
3581 1.1 spz *nto* | *qnx*)
3582 1.1 spz lt_cv_deplibs_check_method=pass_all
3583 1.1 spz ;;
3584 1.1 spz
3585 1.1.1.3 spz openbsd* | bitrig*)
3586 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3587 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3588 1.1 spz else
3589 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3590 1.1 spz fi
3591 1.1 spz ;;
3592 1.1 spz
3593 1.1 spz osf3* | osf4* | osf5*)
3594 1.1 spz lt_cv_deplibs_check_method=pass_all
3595 1.1 spz ;;
3596 1.1 spz
3597 1.1 spz rdos*)
3598 1.1 spz lt_cv_deplibs_check_method=pass_all
3599 1.1 spz ;;
3600 1.1 spz
3601 1.1 spz solaris*)
3602 1.1 spz lt_cv_deplibs_check_method=pass_all
3603 1.1 spz ;;
3604 1.1 spz
3605 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3606 1.1 spz lt_cv_deplibs_check_method=pass_all
3607 1.1 spz ;;
3608 1.1 spz
3609 1.1 spz sysv4 | sysv4.3*)
3610 1.1 spz case $host_vendor in
3611 1.1 spz motorola)
3612 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3613 1.1 spz lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3614 1.1 spz ;;
3615 1.1 spz ncr)
3616 1.1 spz lt_cv_deplibs_check_method=pass_all
3617 1.1 spz ;;
3618 1.1 spz sequent)
3619 1.1 spz lt_cv_file_magic_cmd='/bin/file'
3620 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3621 1.1 spz ;;
3622 1.1 spz sni)
3623 1.1 spz lt_cv_file_magic_cmd='/bin/file'
3624 1.1 spz lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3625 1.1 spz lt_cv_file_magic_test_file=/lib/libc.so
3626 1.1 spz ;;
3627 1.1 spz siemens)
3628 1.1 spz lt_cv_deplibs_check_method=pass_all
3629 1.1 spz ;;
3630 1.1 spz pc)
3631 1.1 spz lt_cv_deplibs_check_method=pass_all
3632 1.1 spz ;;
3633 1.1 spz esac
3634 1.1 spz ;;
3635 1.1 spz
3636 1.1 spz tpf*)
3637 1.1 spz lt_cv_deplibs_check_method=pass_all
3638 1.1 spz ;;
3639 1.1.1.3 spz os2*)
3640 1.1.1.3 spz lt_cv_deplibs_check_method=pass_all
3641 1.1.1.3 spz ;;
3642 1.1 spz esac
3643 1.1 spz ])
3644 1.1 spz
3645 1.1 spz file_magic_glob=
3646 1.1 spz want_nocaseglob=no
3647 1.1 spz if test "$build" = "$host"; then
3648 1.1 spz case $host_os in
3649 1.1 spz mingw* | pw32*)
3650 1.1 spz if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3651 1.1 spz want_nocaseglob=yes
3652 1.1 spz else
3653 1.1 spz file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3654 1.1 spz fi
3655 1.1 spz ;;
3656 1.1 spz esac
3657 1.1 spz fi
3658 1.1 spz
3659 1.1 spz file_magic_cmd=$lt_cv_file_magic_cmd
3660 1.1 spz deplibs_check_method=$lt_cv_deplibs_check_method
3661 1.1 spz test -z "$deplibs_check_method" && deplibs_check_method=unknown
3662 1.1 spz
3663 1.1 spz _LT_DECL([], [deplibs_check_method], [1],
3664 1.1 spz [Method to check whether dependent libraries are shared objects])
3665 1.1 spz _LT_DECL([], [file_magic_cmd], [1],
3666 1.1 spz [Command to use when deplibs_check_method = "file_magic"])
3667 1.1 spz _LT_DECL([], [file_magic_glob], [1],
3668 1.1 spz [How to find potential files when deplibs_check_method = "file_magic"])
3669 1.1 spz _LT_DECL([], [want_nocaseglob], [1],
3670 1.1 spz [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3671 1.1 spz ])# _LT_CHECK_MAGIC_METHOD
3672 1.1 spz
3673 1.1 spz
3674 1.1 spz # LT_PATH_NM
3675 1.1 spz # ----------
3676 1.1 spz # find the pathname to a BSD- or MS-compatible name lister
3677 1.1 spz AC_DEFUN([LT_PATH_NM],
3678 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
3679 1.1 spz AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3680 1.1 spz [if test -n "$NM"; then
3681 1.1 spz # Let the user override the test.
3682 1.1.1.3 spz lt_cv_path_NM=$NM
3683 1.1 spz else
3684 1.1.1.3 spz lt_nm_to_check=${ac_tool_prefix}nm
3685 1.1 spz if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3686 1.1 spz lt_nm_to_check="$lt_nm_to_check nm"
3687 1.1 spz fi
3688 1.1 spz for lt_tmp_nm in $lt_nm_to_check; do
3689 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3690 1.1 spz for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3691 1.1.1.3 spz IFS=$lt_save_ifs
3692 1.1 spz test -z "$ac_dir" && ac_dir=.
3693 1.1.1.3 spz tmp_nm=$ac_dir/$lt_tmp_nm
3694 1.1.1.3 spz if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
3695 1.1 spz # Check to see if the nm accepts a BSD-compat flag.
3696 1.1.1.3 spz # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
3697 1.1 spz # nm: unknown option "B" ignored
3698 1.1 spz # Tru64's nm complains that /dev/null is an invalid object file
3699 1.1.1.3 spz # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3700 1.1.1.3 spz case $build_os in
3701 1.1.1.3 spz mingw*) lt_bad_file=conftest.nm/nofile ;;
3702 1.1.1.3 spz *) lt_bad_file=/dev/null ;;
3703 1.1.1.3 spz esac
3704 1.1.1.3 spz case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
3705 1.1.1.3 spz *$lt_bad_file* | *'Invalid file or object type'*)
3706 1.1 spz lt_cv_path_NM="$tmp_nm -B"
3707 1.1.1.3 spz break 2
3708 1.1 spz ;;
3709 1.1 spz *)
3710 1.1 spz case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3711 1.1 spz */dev/null*)
3712 1.1 spz lt_cv_path_NM="$tmp_nm -p"
3713 1.1.1.3 spz break 2
3714 1.1 spz ;;
3715 1.1 spz *)
3716 1.1 spz lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3717 1.1 spz continue # so that we can try to find one that supports BSD flags
3718 1.1 spz ;;
3719 1.1 spz esac
3720 1.1 spz ;;
3721 1.1 spz esac
3722 1.1 spz fi
3723 1.1 spz done
3724 1.1.1.3 spz IFS=$lt_save_ifs
3725 1.1 spz done
3726 1.1 spz : ${lt_cv_path_NM=no}
3727 1.1 spz fi])
3728 1.1.1.3 spz if test no != "$lt_cv_path_NM"; then
3729 1.1.1.3 spz NM=$lt_cv_path_NM
3730 1.1 spz else
3731 1.1 spz # Didn't find any BSD compatible name lister, look for dumpbin.
3732 1.1 spz if test -n "$DUMPBIN"; then :
3733 1.1 spz # Let the user override the test.
3734 1.1 spz else
3735 1.1 spz AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3736 1.1.1.3 spz case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
3737 1.1 spz *COFF*)
3738 1.1.1.3 spz DUMPBIN="$DUMPBIN -symbols -headers"
3739 1.1 spz ;;
3740 1.1 spz *)
3741 1.1 spz DUMPBIN=:
3742 1.1 spz ;;
3743 1.1 spz esac
3744 1.1 spz fi
3745 1.1 spz AC_SUBST([DUMPBIN])
3746 1.1.1.3 spz if test : != "$DUMPBIN"; then
3747 1.1.1.3 spz NM=$DUMPBIN
3748 1.1 spz fi
3749 1.1 spz fi
3750 1.1 spz test -z "$NM" && NM=nm
3751 1.1 spz AC_SUBST([NM])
3752 1.1 spz _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3753 1.1 spz
3754 1.1 spz AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3755 1.1 spz [lt_cv_nm_interface="BSD nm"
3756 1.1 spz echo "int some_variable = 0;" > conftest.$ac_ext
3757 1.1 spz (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3758 1.1 spz (eval "$ac_compile" 2>conftest.err)
3759 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3760 1.1 spz (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3761 1.1 spz (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3762 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3763 1.1 spz (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3764 1.1 spz cat conftest.out >&AS_MESSAGE_LOG_FD
3765 1.1 spz if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3766 1.1 spz lt_cv_nm_interface="MS dumpbin"
3767 1.1 spz fi
3768 1.1 spz rm -f conftest*])
3769 1.1 spz ])# LT_PATH_NM
3770 1.1 spz
3771 1.1 spz # Old names:
3772 1.1 spz AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3773 1.1 spz AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3774 1.1 spz dnl aclocal-1.4 backwards compatibility:
3775 1.1 spz dnl AC_DEFUN([AM_PROG_NM], [])
3776 1.1 spz dnl AC_DEFUN([AC_PROG_NM], [])
3777 1.1 spz
3778 1.1 spz # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3779 1.1 spz # --------------------------------
3780 1.1 spz # how to determine the name of the shared library
3781 1.1 spz # associated with a specific link library.
3782 1.1 spz # -- PORTME fill in with the dynamic library characteristics
3783 1.1 spz m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3784 1.1 spz [m4_require([_LT_DECL_EGREP])
3785 1.1 spz m4_require([_LT_DECL_OBJDUMP])
3786 1.1 spz m4_require([_LT_DECL_DLLTOOL])
3787 1.1 spz AC_CACHE_CHECK([how to associate runtime and link libraries],
3788 1.1 spz lt_cv_sharedlib_from_linklib_cmd,
3789 1.1 spz [lt_cv_sharedlib_from_linklib_cmd='unknown'
3790 1.1 spz
3791 1.1 spz case $host_os in
3792 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3793 1.1.1.3 spz # two different shell functions defined in ltmain.sh;
3794 1.1.1.3 spz # decide which one to use based on capabilities of $DLLTOOL
3795 1.1 spz case `$DLLTOOL --help 2>&1` in
3796 1.1 spz *--identify-strict*)
3797 1.1 spz lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3798 1.1 spz ;;
3799 1.1 spz *)
3800 1.1 spz lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3801 1.1 spz ;;
3802 1.1 spz esac
3803 1.1 spz ;;
3804 1.1 spz *)
3805 1.1 spz # fallback: assume linklib IS sharedlib
3806 1.1.1.3 spz lt_cv_sharedlib_from_linklib_cmd=$ECHO
3807 1.1 spz ;;
3808 1.1 spz esac
3809 1.1 spz ])
3810 1.1 spz sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3811 1.1 spz test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3812 1.1 spz
3813 1.1 spz _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3814 1.1 spz [Command to associate shared and link libraries])
3815 1.1 spz ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3816 1.1 spz
3817 1.1 spz
3818 1.1 spz # _LT_PATH_MANIFEST_TOOL
3819 1.1 spz # ----------------------
3820 1.1 spz # locate the manifest tool
3821 1.1 spz m4_defun([_LT_PATH_MANIFEST_TOOL],
3822 1.1 spz [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3823 1.1 spz test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3824 1.1 spz AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3825 1.1 spz [lt_cv_path_mainfest_tool=no
3826 1.1 spz echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3827 1.1 spz $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3828 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3829 1.1 spz if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3830 1.1 spz lt_cv_path_mainfest_tool=yes
3831 1.1 spz fi
3832 1.1 spz rm -f conftest*])
3833 1.1.1.3 spz if test yes != "$lt_cv_path_mainfest_tool"; then
3834 1.1 spz MANIFEST_TOOL=:
3835 1.1 spz fi
3836 1.1 spz _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3837 1.1 spz ])# _LT_PATH_MANIFEST_TOOL
3838 1.1 spz
3839 1.1 spz
3840 1.1.1.3 spz # _LT_DLL_DEF_P([FILE])
3841 1.1.1.3 spz # ---------------------
3842 1.1.1.3 spz # True iff FILE is a Windows DLL '.def' file.
3843 1.1.1.3 spz # Keep in sync with func_dll_def_p in the libtool script
3844 1.1.1.3 spz AC_DEFUN([_LT_DLL_DEF_P],
3845 1.1.1.3 spz [dnl
3846 1.1.1.3 spz test DEF = "`$SED -n dnl
3847 1.1.1.3 spz -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
3848 1.1.1.3 spz -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
3849 1.1.1.3 spz -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
3850 1.1.1.3 spz -e q dnl Only consider the first "real" line
3851 1.1.1.3 spz $1`" dnl
3852 1.1.1.3 spz ])# _LT_DLL_DEF_P
3853 1.1.1.3 spz
3854 1.1.1.3 spz
3855 1.1 spz # LT_LIB_M
3856 1.1 spz # --------
3857 1.1 spz # check for math library
3858 1.1 spz AC_DEFUN([LT_LIB_M],
3859 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3860 1.1 spz LIBM=
3861 1.1 spz case $host in
3862 1.1 spz *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3863 1.1 spz # These system don't have libm, or don't need it
3864 1.1 spz ;;
3865 1.1 spz *-ncr-sysv4.3*)
3866 1.1.1.3 spz AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
3867 1.1 spz AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3868 1.1 spz ;;
3869 1.1 spz *)
3870 1.1.1.3 spz AC_CHECK_LIB(m, cos, LIBM=-lm)
3871 1.1 spz ;;
3872 1.1 spz esac
3873 1.1 spz AC_SUBST([LIBM])
3874 1.1 spz ])# LT_LIB_M
3875 1.1 spz
3876 1.1 spz # Old name:
3877 1.1 spz AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3878 1.1 spz dnl aclocal-1.4 backwards compatibility:
3879 1.1 spz dnl AC_DEFUN([AC_CHECK_LIBM], [])
3880 1.1 spz
3881 1.1 spz
3882 1.1 spz # _LT_COMPILER_NO_RTTI([TAGNAME])
3883 1.1 spz # -------------------------------
3884 1.1 spz m4_defun([_LT_COMPILER_NO_RTTI],
3885 1.1 spz [m4_require([_LT_TAG_COMPILER])dnl
3886 1.1 spz
3887 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3888 1.1 spz
3889 1.1.1.3 spz if test yes = "$GCC"; then
3890 1.1 spz case $cc_basename in
3891 1.1 spz nvcc*)
3892 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3893 1.1 spz *)
3894 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3895 1.1 spz esac
3896 1.1 spz
3897 1.1 spz _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3898 1.1 spz lt_cv_prog_compiler_rtti_exceptions,
3899 1.1 spz [-fno-rtti -fno-exceptions], [],
3900 1.1 spz [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3901 1.1 spz fi
3902 1.1 spz _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3903 1.1 spz [Compiler flag to turn off builtin functions])
3904 1.1 spz ])# _LT_COMPILER_NO_RTTI
3905 1.1 spz
3906 1.1 spz
3907 1.1 spz # _LT_CMD_GLOBAL_SYMBOLS
3908 1.1 spz # ----------------------
3909 1.1 spz m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3910 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3911 1.1 spz AC_REQUIRE([AC_PROG_CC])dnl
3912 1.1 spz AC_REQUIRE([AC_PROG_AWK])dnl
3913 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
3914 1.1 spz AC_REQUIRE([LT_PATH_LD])dnl
3915 1.1 spz m4_require([_LT_DECL_SED])dnl
3916 1.1 spz m4_require([_LT_DECL_EGREP])dnl
3917 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
3918 1.1 spz
3919 1.1 spz # Check for command to grab the raw symbol name followed by C symbol from nm.
3920 1.1 spz AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3921 1.1 spz AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3922 1.1 spz [
3923 1.1 spz # These are sane defaults that work on at least a few old systems.
3924 1.1 spz # [They come from Ultrix. What could be older than Ultrix?!! ;)]
3925 1.1 spz
3926 1.1 spz # Character class describing NM global symbol codes.
3927 1.1 spz symcode='[[BCDEGRST]]'
3928 1.1 spz
3929 1.1 spz # Regexp to match symbols that can be accessed directly from C.
3930 1.1 spz sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3931 1.1 spz
3932 1.1 spz # Define system-specific variables.
3933 1.1 spz case $host_os in
3934 1.1 spz aix*)
3935 1.1 spz symcode='[[BCDT]]'
3936 1.1 spz ;;
3937 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3938 1.1 spz symcode='[[ABCDGISTW]]'
3939 1.1 spz ;;
3940 1.1 spz hpux*)
3941 1.1.1.3 spz if test ia64 = "$host_cpu"; then
3942 1.1 spz symcode='[[ABCDEGRST]]'
3943 1.1 spz fi
3944 1.1 spz ;;
3945 1.1 spz irix* | nonstopux*)
3946 1.1 spz symcode='[[BCDEGRST]]'
3947 1.1 spz ;;
3948 1.1 spz osf*)
3949 1.1 spz symcode='[[BCDEGQRST]]'
3950 1.1 spz ;;
3951 1.1 spz solaris*)
3952 1.1 spz symcode='[[BDRT]]'
3953 1.1 spz ;;
3954 1.1 spz sco3.2v5*)
3955 1.1 spz symcode='[[DT]]'
3956 1.1 spz ;;
3957 1.1 spz sysv4.2uw2*)
3958 1.1 spz symcode='[[DT]]'
3959 1.1 spz ;;
3960 1.1 spz sysv5* | sco5v6* | unixware* | OpenUNIX*)
3961 1.1 spz symcode='[[ABDT]]'
3962 1.1 spz ;;
3963 1.1 spz sysv4)
3964 1.1 spz symcode='[[DFNSTU]]'
3965 1.1 spz ;;
3966 1.1 spz esac
3967 1.1 spz
3968 1.1 spz # If we're using GNU nm, then use its standard symbol codes.
3969 1.1 spz case `$NM -V 2>&1` in
3970 1.1 spz *GNU* | *'with BFD'*)
3971 1.1 spz symcode='[[ABCDGIRSTW]]' ;;
3972 1.1 spz esac
3973 1.1 spz
3974 1.1.1.3 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3975 1.1.1.3 spz # Gets list of data symbols to import.
3976 1.1.1.3 spz lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
3977 1.1.1.3 spz # Adjust the below global symbol transforms to fixup imported variables.
3978 1.1.1.3 spz lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
3979 1.1.1.3 spz lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
3980 1.1.1.3 spz lt_c_name_lib_hook="\
3981 1.1.1.3 spz -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
3982 1.1.1.3 spz -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
3983 1.1.1.3 spz else
3984 1.1.1.3 spz # Disable hooks by default.
3985 1.1.1.3 spz lt_cv_sys_global_symbol_to_import=
3986 1.1.1.3 spz lt_cdecl_hook=
3987 1.1.1.3 spz lt_c_name_hook=
3988 1.1.1.3 spz lt_c_name_lib_hook=
3989 1.1.1.3 spz fi
3990 1.1.1.3 spz
3991 1.1 spz # Transform an extracted symbol line into a proper C declaration.
3992 1.1 spz # Some systems (esp. on ia64) link data and code symbols differently,
3993 1.1 spz # so use this general approach.
3994 1.1.1.3 spz lt_cv_sys_global_symbol_to_cdecl="sed -n"\
3995 1.1.1.3 spz $lt_cdecl_hook\
3996 1.1.1.3 spz " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
3997 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
3998 1.1 spz
3999 1.1 spz # Transform an extracted symbol line into symbol name and symbol address
4000 1.1.1.3 spz lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
4001 1.1.1.3 spz $lt_c_name_hook\
4002 1.1.1.3 spz " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4003 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
4004 1.1.1.3 spz
4005 1.1.1.3 spz # Transform an extracted symbol line into symbol name with lib prefix and
4006 1.1.1.3 spz # symbol address.
4007 1.1.1.3 spz lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
4008 1.1.1.3 spz $lt_c_name_lib_hook\
4009 1.1.1.3 spz " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4010 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
4011 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
4012 1.1 spz
4013 1.1 spz # Handle CRLF in mingw tool chain
4014 1.1 spz opt_cr=
4015 1.1 spz case $build_os in
4016 1.1 spz mingw*)
4017 1.1 spz opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4018 1.1 spz ;;
4019 1.1 spz esac
4020 1.1 spz
4021 1.1 spz # Try without a prefix underscore, then with it.
4022 1.1 spz for ac_symprfx in "" "_"; do
4023 1.1 spz
4024 1.1 spz # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4025 1.1 spz symxfrm="\\1 $ac_symprfx\\2 \\2"
4026 1.1 spz
4027 1.1 spz # Write the raw and C identifiers.
4028 1.1 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4029 1.1.1.3 spz # Fake it for dumpbin and say T for any non-static function,
4030 1.1.1.3 spz # D for any global variable and I for any imported variable.
4031 1.1 spz # Also find C++ and __fastcall symbols from MSVC++,
4032 1.1 spz # which start with @ or ?.
4033 1.1 spz lt_cv_sys_global_symbol_pipe="$AWK ['"\
4034 1.1 spz " {last_section=section; section=\$ 3};"\
4035 1.1.1.2 spz " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
4036 1.1 spz " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4037 1.1.1.3 spz " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4038 1.1.1.3 spz " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4039 1.1.1.3 spz " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
4040 1.1 spz " \$ 0!~/External *\|/{next};"\
4041 1.1 spz " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4042 1.1 spz " {if(hide[section]) next};"\
4043 1.1.1.3 spz " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
4044 1.1.1.3 spz " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4045 1.1.1.3 spz " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4046 1.1.1.3 spz " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
4047 1.1 spz " ' prfx=^$ac_symprfx]"
4048 1.1 spz else
4049 1.1 spz lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4050 1.1 spz fi
4051 1.1 spz lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
4052 1.1 spz
4053 1.1 spz # Check to see that the pipe works correctly.
4054 1.1 spz pipe_works=no
4055 1.1 spz
4056 1.1 spz rm -f conftest*
4057 1.1 spz cat > conftest.$ac_ext <<_LT_EOF
4058 1.1 spz #ifdef __cplusplus
4059 1.1 spz extern "C" {
4060 1.1 spz #endif
4061 1.1 spz char nm_test_var;
4062 1.1 spz void nm_test_func(void);
4063 1.1 spz void nm_test_func(void){}
4064 1.1 spz #ifdef __cplusplus
4065 1.1 spz }
4066 1.1 spz #endif
4067 1.1 spz int main(){nm_test_var='a';nm_test_func();return(0);}
4068 1.1 spz _LT_EOF
4069 1.1 spz
4070 1.1 spz if AC_TRY_EVAL(ac_compile); then
4071 1.1 spz # Now try to grab the symbols.
4072 1.1 spz nlist=conftest.nm
4073 1.1 spz if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
4074 1.1 spz # Try sorting and uniquifying the output.
4075 1.1 spz if sort "$nlist" | uniq > "$nlist"T; then
4076 1.1 spz mv -f "$nlist"T "$nlist"
4077 1.1 spz else
4078 1.1 spz rm -f "$nlist"T
4079 1.1 spz fi
4080 1.1 spz
4081 1.1 spz # Make sure that we snagged all the symbols we need.
4082 1.1 spz if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4083 1.1 spz if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4084 1.1 spz cat <<_LT_EOF > conftest.$ac_ext
4085 1.1 spz /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
4086 1.1.1.3 spz #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4087 1.1.1.3 spz /* DATA imports from DLLs on WIN32 can't be const, because runtime
4088 1.1 spz relocations are performed -- see ld's documentation on pseudo-relocs. */
4089 1.1 spz # define LT@&t@_DLSYM_CONST
4090 1.1.1.3 spz #elif defined __osf__
4091 1.1 spz /* This system does not cope well with relocations in const data. */
4092 1.1 spz # define LT@&t@_DLSYM_CONST
4093 1.1 spz #else
4094 1.1 spz # define LT@&t@_DLSYM_CONST const
4095 1.1 spz #endif
4096 1.1 spz
4097 1.1 spz #ifdef __cplusplus
4098 1.1 spz extern "C" {
4099 1.1 spz #endif
4100 1.1 spz
4101 1.1 spz _LT_EOF
4102 1.1 spz # Now generate the symbol file.
4103 1.1 spz eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4104 1.1 spz
4105 1.1 spz cat <<_LT_EOF >> conftest.$ac_ext
4106 1.1 spz
4107 1.1 spz /* The mapping between symbol names and symbols. */
4108 1.1 spz LT@&t@_DLSYM_CONST struct {
4109 1.1 spz const char *name;
4110 1.1 spz void *address;
4111 1.1 spz }
4112 1.1 spz lt__PROGRAM__LTX_preloaded_symbols[[]] =
4113 1.1 spz {
4114 1.1 spz { "@PROGRAM@", (void *) 0 },
4115 1.1 spz _LT_EOF
4116 1.1.1.3 spz $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4117 1.1 spz cat <<\_LT_EOF >> conftest.$ac_ext
4118 1.1 spz {0, (void *) 0}
4119 1.1 spz };
4120 1.1 spz
4121 1.1 spz /* This works around a problem in FreeBSD linker */
4122 1.1 spz #ifdef FREEBSD_WORKAROUND
4123 1.1 spz static const void *lt_preloaded_setup() {
4124 1.1 spz return lt__PROGRAM__LTX_preloaded_symbols;
4125 1.1 spz }
4126 1.1 spz #endif
4127 1.1 spz
4128 1.1 spz #ifdef __cplusplus
4129 1.1 spz }
4130 1.1 spz #endif
4131 1.1 spz _LT_EOF
4132 1.1 spz # Now try linking the two files.
4133 1.1 spz mv conftest.$ac_objext conftstm.$ac_objext
4134 1.1 spz lt_globsym_save_LIBS=$LIBS
4135 1.1 spz lt_globsym_save_CFLAGS=$CFLAGS
4136 1.1.1.3 spz LIBS=conftstm.$ac_objext
4137 1.1 spz CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4138 1.1.1.3 spz if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
4139 1.1 spz pipe_works=yes
4140 1.1 spz fi
4141 1.1 spz LIBS=$lt_globsym_save_LIBS
4142 1.1 spz CFLAGS=$lt_globsym_save_CFLAGS
4143 1.1 spz else
4144 1.1 spz echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4145 1.1 spz fi
4146 1.1 spz else
4147 1.1 spz echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4148 1.1 spz fi
4149 1.1 spz else
4150 1.1 spz echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4151 1.1 spz fi
4152 1.1 spz else
4153 1.1 spz echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4154 1.1 spz cat conftest.$ac_ext >&5
4155 1.1 spz fi
4156 1.1 spz rm -rf conftest* conftst*
4157 1.1 spz
4158 1.1 spz # Do not use the global_symbol_pipe unless it works.
4159 1.1.1.3 spz if test yes = "$pipe_works"; then
4160 1.1 spz break
4161 1.1 spz else
4162 1.1 spz lt_cv_sys_global_symbol_pipe=
4163 1.1 spz fi
4164 1.1 spz done
4165 1.1 spz ])
4166 1.1 spz if test -z "$lt_cv_sys_global_symbol_pipe"; then
4167 1.1 spz lt_cv_sys_global_symbol_to_cdecl=
4168 1.1 spz fi
4169 1.1 spz if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4170 1.1 spz AC_MSG_RESULT(failed)
4171 1.1 spz else
4172 1.1 spz AC_MSG_RESULT(ok)
4173 1.1 spz fi
4174 1.1 spz
4175 1.1 spz # Response file support.
4176 1.1 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4177 1.1 spz nm_file_list_spec='@'
4178 1.1 spz elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
4179 1.1 spz nm_file_list_spec='@'
4180 1.1 spz fi
4181 1.1 spz
4182 1.1 spz _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4183 1.1 spz [Take the output of nm and produce a listing of raw symbols and C names])
4184 1.1 spz _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4185 1.1 spz [Transform the output of nm in a proper C declaration])
4186 1.1.1.3 spz _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4187 1.1.1.3 spz [Transform the output of nm into a list of symbols to manually relocate])
4188 1.1 spz _LT_DECL([global_symbol_to_c_name_address],
4189 1.1 spz [lt_cv_sys_global_symbol_to_c_name_address], [1],
4190 1.1 spz [Transform the output of nm in a C name address pair])
4191 1.1 spz _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4192 1.1 spz [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4193 1.1 spz [Transform the output of nm in a C name address pair when lib prefix is needed])
4194 1.1.1.3 spz _LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4195 1.1.1.3 spz [The name lister interface])
4196 1.1 spz _LT_DECL([], [nm_file_list_spec], [1],
4197 1.1 spz [Specify filename containing input files for $NM])
4198 1.1 spz ]) # _LT_CMD_GLOBAL_SYMBOLS
4199 1.1 spz
4200 1.1 spz
4201 1.1 spz # _LT_COMPILER_PIC([TAGNAME])
4202 1.1 spz # ---------------------------
4203 1.1 spz m4_defun([_LT_COMPILER_PIC],
4204 1.1 spz [m4_require([_LT_TAG_COMPILER])dnl
4205 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)=
4206 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4207 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4208 1.1 spz
4209 1.1 spz m4_if([$1], [CXX], [
4210 1.1 spz # C++ specific cases for pic, static, wl, etc.
4211 1.1.1.3 spz if test yes = "$GXX"; then
4212 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4213 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4214 1.1 spz
4215 1.1 spz case $host_os in
4216 1.1 spz aix*)
4217 1.1 spz # All AIX code is PIC.
4218 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4219 1.1 spz # AIX 5 now supports IA64 processor
4220 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4221 1.1 spz fi
4222 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4223 1.1 spz ;;
4224 1.1 spz
4225 1.1 spz amigaos*)
4226 1.1 spz case $host_cpu in
4227 1.1 spz powerpc)
4228 1.1 spz # see comment about AmigaOS4 .so support
4229 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4230 1.1 spz ;;
4231 1.1 spz m68k)
4232 1.1 spz # FIXME: we need at least 68020 code to build shared libraries, but
4233 1.1.1.3 spz # adding the '-m68020' flag to GCC prevents building anything better,
4234 1.1.1.3 spz # like '-m68040'.
4235 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4236 1.1 spz ;;
4237 1.1 spz esac
4238 1.1 spz ;;
4239 1.1 spz
4240 1.1 spz beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4241 1.1 spz # PIC is the default for these OSes.
4242 1.1 spz ;;
4243 1.1 spz mingw* | cygwin* | os2* | pw32* | cegcc*)
4244 1.1 spz # This hack is so that the source file can tell whether it is being
4245 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4246 1.1 spz # Although the cygwin gcc ignores -fPIC, still need this for old-style
4247 1.1 spz # (--disable-auto-import) libraries
4248 1.1 spz m4_if([$1], [GCJ], [],
4249 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4250 1.1.1.3 spz case $host_os in
4251 1.1.1.3 spz os2*)
4252 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4253 1.1.1.3 spz ;;
4254 1.1.1.3 spz esac
4255 1.1 spz ;;
4256 1.1 spz darwin* | rhapsody*)
4257 1.1 spz # PIC is the default on this platform
4258 1.1 spz # Common symbols not allowed in MH_DYLIB files
4259 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4260 1.1 spz ;;
4261 1.1 spz *djgpp*)
4262 1.1 spz # DJGPP does not support shared libraries at all
4263 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4264 1.1 spz ;;
4265 1.1 spz haiku*)
4266 1.1 spz # PIC is the default for Haiku.
4267 1.1 spz # The "-static" flag exists, but is broken.
4268 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4269 1.1 spz ;;
4270 1.1 spz interix[[3-9]]*)
4271 1.1 spz # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4272 1.1 spz # Instead, we relocate shared libraries at runtime.
4273 1.1 spz ;;
4274 1.1 spz sysv4*MP*)
4275 1.1 spz if test -d /usr/nec; then
4276 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4277 1.1 spz fi
4278 1.1 spz ;;
4279 1.1 spz hpux*)
4280 1.1 spz # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4281 1.1 spz # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4282 1.1 spz # sets the default TLS model and affects inlining.
4283 1.1 spz case $host_cpu in
4284 1.1 spz hppa*64*)
4285 1.1 spz ;;
4286 1.1 spz *)
4287 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4288 1.1 spz ;;
4289 1.1 spz esac
4290 1.1 spz ;;
4291 1.1 spz *qnx* | *nto*)
4292 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4293 1.1 spz # it will coredump.
4294 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4295 1.1 spz ;;
4296 1.1 spz *)
4297 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4298 1.1 spz ;;
4299 1.1 spz esac
4300 1.1 spz else
4301 1.1 spz case $host_os in
4302 1.1 spz aix[[4-9]]*)
4303 1.1 spz # All AIX code is PIC.
4304 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4305 1.1 spz # AIX 5 now supports IA64 processor
4306 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4307 1.1 spz else
4308 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4309 1.1 spz fi
4310 1.1 spz ;;
4311 1.1 spz chorus*)
4312 1.1 spz case $cc_basename in
4313 1.1 spz cxch68*)
4314 1.1 spz # Green Hills C++ Compiler
4315 1.1 spz # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4316 1.1 spz ;;
4317 1.1 spz esac
4318 1.1 spz ;;
4319 1.1 spz mingw* | cygwin* | os2* | pw32* | cegcc*)
4320 1.1 spz # This hack is so that the source file can tell whether it is being
4321 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4322 1.1 spz m4_if([$1], [GCJ], [],
4323 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4324 1.1 spz ;;
4325 1.1 spz dgux*)
4326 1.1 spz case $cc_basename in
4327 1.1 spz ec++*)
4328 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4329 1.1 spz ;;
4330 1.1 spz ghcx*)
4331 1.1 spz # Green Hills C++ Compiler
4332 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4333 1.1 spz ;;
4334 1.1 spz *)
4335 1.1 spz ;;
4336 1.1 spz esac
4337 1.1 spz ;;
4338 1.1 spz freebsd* | dragonfly*)
4339 1.1 spz # FreeBSD uses GNU C++
4340 1.1 spz ;;
4341 1.1 spz hpux9* | hpux10* | hpux11*)
4342 1.1 spz case $cc_basename in
4343 1.1 spz CC*)
4344 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4345 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4346 1.1.1.3 spz if test ia64 != "$host_cpu"; then
4347 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4348 1.1 spz fi
4349 1.1 spz ;;
4350 1.1 spz aCC*)
4351 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4352 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4353 1.1 spz case $host_cpu in
4354 1.1 spz hppa*64*|ia64*)
4355 1.1 spz # +Z the default
4356 1.1 spz ;;
4357 1.1 spz *)
4358 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4359 1.1 spz ;;
4360 1.1 spz esac
4361 1.1 spz ;;
4362 1.1 spz *)
4363 1.1 spz ;;
4364 1.1 spz esac
4365 1.1 spz ;;
4366 1.1 spz interix*)
4367 1.1 spz # This is c89, which is MS Visual C++ (no shared libs)
4368 1.1 spz # Anyone wants to do a port?
4369 1.1 spz ;;
4370 1.1 spz irix5* | irix6* | nonstopux*)
4371 1.1 spz case $cc_basename in
4372 1.1 spz CC*)
4373 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4374 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4375 1.1 spz # CC pic flag -KPIC is the default.
4376 1.1 spz ;;
4377 1.1 spz *)
4378 1.1 spz ;;
4379 1.1 spz esac
4380 1.1 spz ;;
4381 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4382 1.1 spz case $cc_basename in
4383 1.1 spz KCC*)
4384 1.1 spz # KAI C++ Compiler
4385 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4386 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4387 1.1 spz ;;
4388 1.1 spz ecpc* )
4389 1.1.1.3 spz # old Intel C++ for x86_64, which still supported -KPIC.
4390 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4391 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4392 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4393 1.1 spz ;;
4394 1.1 spz icpc* )
4395 1.1 spz # Intel C++, used to be incompatible with GCC.
4396 1.1 spz # ICC 10 doesn't accept -KPIC any more.
4397 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4398 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4399 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4400 1.1 spz ;;
4401 1.1 spz pgCC* | pgcpp*)
4402 1.1 spz # Portland Group C++ compiler
4403 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4404 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4405 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4406 1.1 spz ;;
4407 1.1 spz cxx*)
4408 1.1 spz # Compaq C++
4409 1.1 spz # Make sure the PIC flag is empty. It appears that all Alpha
4410 1.1 spz # Linux and Compaq Tru64 Unix objects are PIC.
4411 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4412 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4413 1.1 spz ;;
4414 1.1 spz xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4415 1.1 spz # IBM XL 8.0, 9.0 on PPC and BlueGene
4416 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4417 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4418 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4419 1.1 spz ;;
4420 1.1 spz *)
4421 1.1 spz case `$CC -V 2>&1 | sed 5q` in
4422 1.1 spz *Sun\ C*)
4423 1.1 spz # Sun C++ 5.9
4424 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4425 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4426 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4427 1.1 spz ;;
4428 1.1 spz esac
4429 1.1 spz ;;
4430 1.1 spz esac
4431 1.1 spz ;;
4432 1.1 spz lynxos*)
4433 1.1 spz ;;
4434 1.1 spz m88k*)
4435 1.1 spz ;;
4436 1.1 spz mvs*)
4437 1.1 spz case $cc_basename in
4438 1.1 spz cxx*)
4439 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4440 1.1 spz ;;
4441 1.1 spz *)
4442 1.1 spz ;;
4443 1.1 spz esac
4444 1.1 spz ;;
4445 1.1.1.3 spz netbsd*)
4446 1.1 spz ;;
4447 1.1 spz *qnx* | *nto*)
4448 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4449 1.1 spz # it will coredump.
4450 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4451 1.1 spz ;;
4452 1.1 spz osf3* | osf4* | osf5*)
4453 1.1 spz case $cc_basename in
4454 1.1 spz KCC*)
4455 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4456 1.1 spz ;;
4457 1.1 spz RCC*)
4458 1.1 spz # Rational C++ 2.4.1
4459 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4460 1.1 spz ;;
4461 1.1 spz cxx*)
4462 1.1 spz # Digital/Compaq C++
4463 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4464 1.1 spz # Make sure the PIC flag is empty. It appears that all Alpha
4465 1.1 spz # Linux and Compaq Tru64 Unix objects are PIC.
4466 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4467 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4468 1.1 spz ;;
4469 1.1 spz *)
4470 1.1 spz ;;
4471 1.1 spz esac
4472 1.1 spz ;;
4473 1.1 spz psos*)
4474 1.1 spz ;;
4475 1.1 spz solaris*)
4476 1.1 spz case $cc_basename in
4477 1.1 spz CC* | sunCC*)
4478 1.1 spz # Sun C++ 4.2, 5.x and Centerline C++
4479 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4480 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4481 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4482 1.1 spz ;;
4483 1.1 spz gcx*)
4484 1.1 spz # Green Hills C++ Compiler
4485 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4486 1.1 spz ;;
4487 1.1 spz *)
4488 1.1 spz ;;
4489 1.1 spz esac
4490 1.1 spz ;;
4491 1.1 spz sunos4*)
4492 1.1 spz case $cc_basename in
4493 1.1 spz CC*)
4494 1.1 spz # Sun C++ 4.x
4495 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4496 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4497 1.1 spz ;;
4498 1.1 spz lcc*)
4499 1.1 spz # Lucid
4500 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4501 1.1 spz ;;
4502 1.1 spz *)
4503 1.1 spz ;;
4504 1.1 spz esac
4505 1.1 spz ;;
4506 1.1 spz sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4507 1.1 spz case $cc_basename in
4508 1.1 spz CC*)
4509 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4510 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4511 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4512 1.1 spz ;;
4513 1.1 spz esac
4514 1.1 spz ;;
4515 1.1 spz tandem*)
4516 1.1 spz case $cc_basename in
4517 1.1 spz NCC*)
4518 1.1 spz # NonStop-UX NCC 3.20
4519 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4520 1.1 spz ;;
4521 1.1 spz *)
4522 1.1 spz ;;
4523 1.1 spz esac
4524 1.1 spz ;;
4525 1.1 spz vxworks*)
4526 1.1 spz ;;
4527 1.1 spz *)
4528 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4529 1.1 spz ;;
4530 1.1 spz esac
4531 1.1 spz fi
4532 1.1 spz ],
4533 1.1 spz [
4534 1.1.1.3 spz if test yes = "$GCC"; then
4535 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4536 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4537 1.1 spz
4538 1.1 spz case $host_os in
4539 1.1 spz aix*)
4540 1.1 spz # All AIX code is PIC.
4541 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4542 1.1 spz # AIX 5 now supports IA64 processor
4543 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4544 1.1 spz fi
4545 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4546 1.1 spz ;;
4547 1.1 spz
4548 1.1 spz amigaos*)
4549 1.1 spz case $host_cpu in
4550 1.1 spz powerpc)
4551 1.1 spz # see comment about AmigaOS4 .so support
4552 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4553 1.1 spz ;;
4554 1.1 spz m68k)
4555 1.1 spz # FIXME: we need at least 68020 code to build shared libraries, but
4556 1.1.1.3 spz # adding the '-m68020' flag to GCC prevents building anything better,
4557 1.1.1.3 spz # like '-m68040'.
4558 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4559 1.1 spz ;;
4560 1.1 spz esac
4561 1.1 spz ;;
4562 1.1 spz
4563 1.1 spz beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4564 1.1 spz # PIC is the default for these OSes.
4565 1.1 spz ;;
4566 1.1 spz
4567 1.1 spz mingw* | cygwin* | pw32* | os2* | cegcc*)
4568 1.1 spz # This hack is so that the source file can tell whether it is being
4569 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4570 1.1 spz # Although the cygwin gcc ignores -fPIC, still need this for old-style
4571 1.1 spz # (--disable-auto-import) libraries
4572 1.1 spz m4_if([$1], [GCJ], [],
4573 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4574 1.1.1.3 spz case $host_os in
4575 1.1.1.3 spz os2*)
4576 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4577 1.1.1.3 spz ;;
4578 1.1.1.3 spz esac
4579 1.1 spz ;;
4580 1.1 spz
4581 1.1 spz darwin* | rhapsody*)
4582 1.1 spz # PIC is the default on this platform
4583 1.1 spz # Common symbols not allowed in MH_DYLIB files
4584 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4585 1.1 spz ;;
4586 1.1 spz
4587 1.1 spz haiku*)
4588 1.1 spz # PIC is the default for Haiku.
4589 1.1 spz # The "-static" flag exists, but is broken.
4590 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4591 1.1 spz ;;
4592 1.1 spz
4593 1.1 spz hpux*)
4594 1.1 spz # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4595 1.1 spz # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4596 1.1 spz # sets the default TLS model and affects inlining.
4597 1.1 spz case $host_cpu in
4598 1.1 spz hppa*64*)
4599 1.1 spz # +Z the default
4600 1.1 spz ;;
4601 1.1 spz *)
4602 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4603 1.1 spz ;;
4604 1.1 spz esac
4605 1.1 spz ;;
4606 1.1 spz
4607 1.1 spz interix[[3-9]]*)
4608 1.1 spz # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4609 1.1 spz # Instead, we relocate shared libraries at runtime.
4610 1.1 spz ;;
4611 1.1 spz
4612 1.1 spz msdosdjgpp*)
4613 1.1 spz # Just because we use GCC doesn't mean we suddenly get shared libraries
4614 1.1 spz # on systems that don't support them.
4615 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4616 1.1 spz enable_shared=no
4617 1.1 spz ;;
4618 1.1 spz
4619 1.1 spz *nto* | *qnx*)
4620 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4621 1.1 spz # it will coredump.
4622 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4623 1.1 spz ;;
4624 1.1 spz
4625 1.1 spz sysv4*MP*)
4626 1.1 spz if test -d /usr/nec; then
4627 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4628 1.1 spz fi
4629 1.1 spz ;;
4630 1.1 spz
4631 1.1 spz *)
4632 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4633 1.1 spz ;;
4634 1.1 spz esac
4635 1.1 spz
4636 1.1 spz case $cc_basename in
4637 1.1 spz nvcc*) # Cuda Compiler Driver 2.2
4638 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4639 1.1.1.2 spz if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4640 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4641 1.1.1.2 spz fi
4642 1.1 spz ;;
4643 1.1 spz esac
4644 1.1 spz else
4645 1.1 spz # PORTME Check for flag to pass linker flags through the system compiler.
4646 1.1 spz case $host_os in
4647 1.1 spz aix*)
4648 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4649 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4650 1.1 spz # AIX 5 now supports IA64 processor
4651 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4652 1.1 spz else
4653 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4654 1.1 spz fi
4655 1.1 spz ;;
4656 1.1 spz
4657 1.1.1.3 spz darwin* | rhapsody*)
4658 1.1.1.3 spz # PIC is the default on this platform
4659 1.1.1.3 spz # Common symbols not allowed in MH_DYLIB files
4660 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4661 1.1.1.3 spz case $cc_basename in
4662 1.1.1.3 spz nagfor*)
4663 1.1.1.3 spz # NAG Fortran compiler
4664 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4665 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4666 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4667 1.1.1.3 spz ;;
4668 1.1.1.3 spz esac
4669 1.1.1.3 spz ;;
4670 1.1.1.3 spz
4671 1.1 spz mingw* | cygwin* | pw32* | os2* | cegcc*)
4672 1.1 spz # This hack is so that the source file can tell whether it is being
4673 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4674 1.1 spz m4_if([$1], [GCJ], [],
4675 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4676 1.1.1.3 spz case $host_os in
4677 1.1.1.3 spz os2*)
4678 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4679 1.1.1.3 spz ;;
4680 1.1.1.3 spz esac
4681 1.1 spz ;;
4682 1.1 spz
4683 1.1 spz hpux9* | hpux10* | hpux11*)
4684 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4685 1.1 spz # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4686 1.1 spz # not for PA HP-UX.
4687 1.1 spz case $host_cpu in
4688 1.1 spz hppa*64*|ia64*)
4689 1.1 spz # +Z the default
4690 1.1 spz ;;
4691 1.1 spz *)
4692 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4693 1.1 spz ;;
4694 1.1 spz esac
4695 1.1 spz # Is there a better lt_prog_compiler_static that works with the bundled CC?
4696 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4697 1.1 spz ;;
4698 1.1 spz
4699 1.1 spz irix5* | irix6* | nonstopux*)
4700 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4701 1.1 spz # PIC (with -KPIC) is the default.
4702 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4703 1.1 spz ;;
4704 1.1 spz
4705 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4706 1.1 spz case $cc_basename in
4707 1.1.1.3 spz # old Intel for x86_64, which still supported -KPIC.
4708 1.1 spz ecc*)
4709 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4710 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4711 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4712 1.1 spz ;;
4713 1.1 spz # icc used to be incompatible with GCC.
4714 1.1 spz # ICC 10 doesn't accept -KPIC any more.
4715 1.1 spz icc* | ifort*)
4716 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4717 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4718 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4719 1.1 spz ;;
4720 1.1 spz # Lahey Fortran 8.1.
4721 1.1 spz lf95*)
4722 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4723 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4724 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4725 1.1 spz ;;
4726 1.1 spz nagfor*)
4727 1.1 spz # NAG Fortran compiler
4728 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4729 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4730 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4731 1.1 spz ;;
4732 1.1.1.3 spz tcc*)
4733 1.1.1.3 spz # Fabrice Bellard et al's Tiny C Compiler
4734 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4735 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4736 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4737 1.1.1.3 spz ;;
4738 1.1 spz pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4739 1.1 spz # Portland Group compilers (*not* the Pentium gcc compiler,
4740 1.1 spz # which looks to be a dead project)
4741 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4742 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4743 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4744 1.1 spz ;;
4745 1.1 spz ccc*)
4746 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4747 1.1 spz # All Alpha code is PIC.
4748 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4749 1.1 spz ;;
4750 1.1 spz xl* | bgxl* | bgf* | mpixl*)
4751 1.1 spz # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4752 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4753 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4754 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4755 1.1 spz ;;
4756 1.1 spz *)
4757 1.1 spz case `$CC -V 2>&1 | sed 5q` in
4758 1.1.1.2 spz *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4759 1.1 spz # Sun Fortran 8.3 passes all unrecognized flags to the linker
4760 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4761 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4762 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4763 1.1 spz ;;
4764 1.1.1.2 spz *Sun\ F* | *Sun*Fortran*)
4765 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4766 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4767 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4768 1.1.1.2 spz ;;
4769 1.1 spz *Sun\ C*)
4770 1.1 spz # Sun C 5.9
4771 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4772 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4773 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4774 1.1 spz ;;
4775 1.1.1.2 spz *Intel*\ [[CF]]*Compiler*)
4776 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4777 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4778 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4779 1.1.1.2 spz ;;
4780 1.1.1.2 spz *Portland\ Group*)
4781 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4782 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4783 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4784 1.1.1.2 spz ;;
4785 1.1 spz esac
4786 1.1 spz ;;
4787 1.1 spz esac
4788 1.1 spz ;;
4789 1.1 spz
4790 1.1 spz newsos6)
4791 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4792 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4793 1.1 spz ;;
4794 1.1 spz
4795 1.1 spz *nto* | *qnx*)
4796 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4797 1.1 spz # it will coredump.
4798 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4799 1.1 spz ;;
4800 1.1 spz
4801 1.1 spz osf3* | osf4* | osf5*)
4802 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4803 1.1 spz # All OSF/1 code is PIC.
4804 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4805 1.1 spz ;;
4806 1.1 spz
4807 1.1 spz rdos*)
4808 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4809 1.1 spz ;;
4810 1.1 spz
4811 1.1 spz solaris*)
4812 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4813 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4814 1.1 spz case $cc_basename in
4815 1.1 spz f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4816 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4817 1.1 spz *)
4818 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4819 1.1 spz esac
4820 1.1 spz ;;
4821 1.1 spz
4822 1.1 spz sunos4*)
4823 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4824 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4825 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4826 1.1 spz ;;
4827 1.1 spz
4828 1.1 spz sysv4 | sysv4.2uw2* | sysv4.3*)
4829 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4830 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4831 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4832 1.1 spz ;;
4833 1.1 spz
4834 1.1 spz sysv4*MP*)
4835 1.1.1.3 spz if test -d /usr/nec; then
4836 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4837 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4838 1.1 spz fi
4839 1.1 spz ;;
4840 1.1 spz
4841 1.1 spz sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4842 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4843 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4844 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4845 1.1 spz ;;
4846 1.1 spz
4847 1.1 spz unicos*)
4848 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4849 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4850 1.1 spz ;;
4851 1.1 spz
4852 1.1 spz uts4*)
4853 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4854 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4855 1.1 spz ;;
4856 1.1 spz
4857 1.1 spz *)
4858 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4859 1.1 spz ;;
4860 1.1 spz esac
4861 1.1 spz fi
4862 1.1 spz ])
4863 1.1 spz case $host_os in
4864 1.1.1.3 spz # For platforms that do not support PIC, -DPIC is meaningless:
4865 1.1 spz *djgpp*)
4866 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4867 1.1 spz ;;
4868 1.1 spz *)
4869 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4870 1.1 spz ;;
4871 1.1 spz esac
4872 1.1 spz
4873 1.1 spz AC_CACHE_CHECK([for $compiler option to produce PIC],
4874 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4875 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4876 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4877 1.1 spz
4878 1.1 spz #
4879 1.1 spz # Check to make sure the PIC flag actually works.
4880 1.1 spz #
4881 1.1 spz if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4882 1.1 spz _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4883 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4884 1.1 spz [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4885 1.1 spz [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4886 1.1 spz "" | " "*) ;;
4887 1.1 spz *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4888 1.1 spz esac],
4889 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4890 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4891 1.1 spz fi
4892 1.1 spz _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4893 1.1 spz [Additional compiler flags for building library objects])
4894 1.1 spz
4895 1.1 spz _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4896 1.1 spz [How to pass a linker flag through the compiler])
4897 1.1 spz #
4898 1.1 spz # Check to make sure the static flag actually works.
4899 1.1 spz #
4900 1.1 spz wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4901 1.1 spz _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4902 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4903 1.1 spz $lt_tmp_static_flag,
4904 1.1 spz [],
4905 1.1 spz [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4906 1.1 spz _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4907 1.1 spz [Compiler flag to prevent dynamic linking])
4908 1.1 spz ])# _LT_COMPILER_PIC
4909 1.1 spz
4910 1.1 spz
4911 1.1 spz # _LT_LINKER_SHLIBS([TAGNAME])
4912 1.1 spz # ----------------------------
4913 1.1 spz # See if the linker supports building shared libraries.
4914 1.1 spz m4_defun([_LT_LINKER_SHLIBS],
4915 1.1 spz [AC_REQUIRE([LT_PATH_LD])dnl
4916 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
4917 1.1 spz m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4918 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4919 1.1 spz m4_require([_LT_DECL_EGREP])dnl
4920 1.1 spz m4_require([_LT_DECL_SED])dnl
4921 1.1 spz m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4922 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
4923 1.1 spz AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4924 1.1 spz m4_if([$1], [CXX], [
4925 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4926 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4927 1.1 spz case $host_os in
4928 1.1 spz aix[[4-9]]*)
4929 1.1 spz # If we're using GNU nm, then we don't want the "-C" option.
4930 1.1.1.3 spz # -C means demangle to GNU nm, but means don't demangle to AIX nm.
4931 1.1.1.3 spz # Without the "-l" option, or with the "-B" option, AIX nm treats
4932 1.1.1.3 spz # weak defined symbols like other global defined symbols, whereas
4933 1.1.1.3 spz # GNU nm marks them as "W".
4934 1.1.1.3 spz # While the 'weak' keyword is ignored in the Export File, we need
4935 1.1.1.3 spz # it in the Import File for the 'aix-soname' feature, so we have
4936 1.1.1.3 spz # to replace the "-B" option with "-P" for AIX nm.
4937 1.1 spz if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4938 1.1.1.3 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
4939 1.1 spz else
4940 1.1.1.3 spz _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 == "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'
4941 1.1 spz fi
4942 1.1 spz ;;
4943 1.1 spz pw32*)
4944 1.1.1.3 spz _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
4945 1.1 spz ;;
4946 1.1 spz cygwin* | mingw* | cegcc*)
4947 1.1 spz case $cc_basename in
4948 1.1.1.2 spz cl*)
4949 1.1.1.2 spz _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4950 1.1.1.2 spz ;;
4951 1.1 spz *)
4952 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4953 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4954 1.1 spz ;;
4955 1.1 spz esac
4956 1.1 spz ;;
4957 1.1 spz *)
4958 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4959 1.1 spz ;;
4960 1.1 spz esac
4961 1.1 spz ], [
4962 1.1 spz runpath_var=
4963 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
4964 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
4965 1.1 spz _LT_TAGVAR(archive_cmds, $1)=
4966 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
4967 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=no
4968 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4969 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4970 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4971 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
4972 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
4973 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4974 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4975 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
4976 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
4977 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4978 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
4979 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
4980 1.1 spz _LT_TAGVAR(module_cmds, $1)=
4981 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
4982 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4983 1.1 spz _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4984 1.1 spz _LT_TAGVAR(thread_safe_flag_spec, $1)=
4985 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
4986 1.1 spz # include_expsyms should be a list of space-separated symbols to be *always*
4987 1.1 spz # included in the symbol list
4988 1.1 spz _LT_TAGVAR(include_expsyms, $1)=
4989 1.1 spz # exclude_expsyms can be an extended regexp of symbols to exclude
4990 1.1.1.3 spz # it will be wrapped by ' (' and ')$', so one must not match beginning or
4991 1.1.1.3 spz # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
4992 1.1.1.3 spz # as well as any symbol that contains 'd'.
4993 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4994 1.1 spz # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4995 1.1 spz # platforms (ab)use it in PIC code, but their linkers get confused if
4996 1.1 spz # the symbol is explicitly referenced. Since portable code cannot
4997 1.1 spz # rely on this symbol name, it's probably fine to never include it in
4998 1.1 spz # preloaded symbol tables.
4999 1.1 spz # Exclude shared library initialization/finalization symbols.
5000 1.1 spz dnl Note also adjust exclude_expsyms for C++ above.
5001 1.1 spz extract_expsyms_cmds=
5002 1.1 spz
5003 1.1 spz case $host_os in
5004 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
5005 1.1 spz # FIXME: the MSVC++ port hasn't been tested in a loooong time
5006 1.1 spz # When not using gcc, we currently assume that we are using
5007 1.1 spz # Microsoft Visual C++.
5008 1.1.1.3 spz if test yes != "$GCC"; then
5009 1.1 spz with_gnu_ld=no
5010 1.1 spz fi
5011 1.1 spz ;;
5012 1.1 spz interix*)
5013 1.1 spz # we just hope/assume this is gcc and not c89 (= MSVC++)
5014 1.1 spz with_gnu_ld=yes
5015 1.1 spz ;;
5016 1.1.1.3 spz openbsd* | bitrig*)
5017 1.1 spz with_gnu_ld=no
5018 1.1 spz ;;
5019 1.1 spz esac
5020 1.1 spz
5021 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
5022 1.1 spz
5023 1.1 spz # On some targets, GNU ld is compatible enough with the native linker
5024 1.1 spz # that we're better off using the native interface for both.
5025 1.1 spz lt_use_gnu_ld_interface=no
5026 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
5027 1.1 spz case $host_os in
5028 1.1 spz aix*)
5029 1.1 spz # The AIX port of GNU ld has always aspired to compatibility
5030 1.1 spz # with the native linker. However, as the warning in the GNU ld
5031 1.1 spz # block says, versions before 2.19.5* couldn't really create working
5032 1.1 spz # shared libraries, regardless of the interface used.
5033 1.1 spz case `$LD -v 2>&1` in
5034 1.1 spz *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
5035 1.1 spz *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
5036 1.1 spz *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
5037 1.1 spz *)
5038 1.1 spz lt_use_gnu_ld_interface=yes
5039 1.1 spz ;;
5040 1.1 spz esac
5041 1.1 spz ;;
5042 1.1 spz *)
5043 1.1 spz lt_use_gnu_ld_interface=yes
5044 1.1 spz ;;
5045 1.1 spz esac
5046 1.1 spz fi
5047 1.1 spz
5048 1.1.1.3 spz if test yes = "$lt_use_gnu_ld_interface"; then
5049 1.1 spz # If archive_cmds runs LD, not CC, wlarc should be empty
5050 1.1.1.3 spz wlarc='$wl'
5051 1.1 spz
5052 1.1 spz # Set some defaults for GNU ld with shared library support. These
5053 1.1 spz # are reset later if shared libraries are not supported. Putting them
5054 1.1 spz # here allows them to be overridden if necessary.
5055 1.1 spz runpath_var=LD_RUN_PATH
5056 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5057 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
5058 1.1 spz # ancient GNU ld didn't support --whole-archive et. al.
5059 1.1 spz if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5060 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
5061 1.1 spz else
5062 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5063 1.1 spz fi
5064 1.1 spz supports_anon_versioning=no
5065 1.1.1.3 spz case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
5066 1.1 spz *GNU\ gold*) supports_anon_versioning=yes ;;
5067 1.1 spz *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5068 1.1 spz *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5069 1.1 spz *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5070 1.1 spz *\ 2.11.*) ;; # other 2.11 versions
5071 1.1 spz *) supports_anon_versioning=yes ;;
5072 1.1 spz esac
5073 1.1 spz
5074 1.1 spz # See if GNU ld supports shared libraries.
5075 1.1 spz case $host_os in
5076 1.1 spz aix[[3-9]]*)
5077 1.1 spz # On AIX/PPC, the GNU linker is very broken
5078 1.1.1.3 spz if test ia64 != "$host_cpu"; then
5079 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5080 1.1 spz cat <<_LT_EOF 1>&2
5081 1.1 spz
5082 1.1 spz *** Warning: the GNU linker, at least up to release 2.19, is reported
5083 1.1 spz *** to be unable to reliably create shared libraries on AIX.
5084 1.1 spz *** Therefore, libtool is disabling shared libraries support. If you
5085 1.1 spz *** really care for shared libraries, you may want to install binutils
5086 1.1 spz *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
5087 1.1 spz *** You will then need to restart the configuration process.
5088 1.1 spz
5089 1.1 spz _LT_EOF
5090 1.1 spz fi
5091 1.1 spz ;;
5092 1.1 spz
5093 1.1 spz amigaos*)
5094 1.1 spz case $host_cpu in
5095 1.1 spz powerpc)
5096 1.1 spz # see comment about AmigaOS4 .so support
5097 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5098 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=''
5099 1.1 spz ;;
5100 1.1 spz m68k)
5101 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5102 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5103 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5104 1.1 spz ;;
5105 1.1 spz esac
5106 1.1 spz ;;
5107 1.1 spz
5108 1.1 spz beos*)
5109 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5110 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5111 1.1 spz # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
5112 1.1 spz # support --undefined. This deserves some investigation. FIXME
5113 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5114 1.1 spz else
5115 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5116 1.1 spz fi
5117 1.1 spz ;;
5118 1.1 spz
5119 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
5120 1.1 spz # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5121 1.1 spz # as there is no search path for DLLs.
5122 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5123 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
5124 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5125 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
5126 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5127 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
5128 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
5129 1.1 spz
5130 1.1 spz if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5131 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5132 1.1.1.3 spz # If the export-symbols file already is a .def file, use it as
5133 1.1.1.3 spz # is; otherwise, prepend EXPORTS...
5134 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5135 1.1.1.3 spz cp $export_symbols $output_objdir/$soname.def;
5136 1.1.1.3 spz else
5137 1.1.1.3 spz echo EXPORTS > $output_objdir/$soname.def;
5138 1.1.1.3 spz cat $export_symbols >> $output_objdir/$soname.def;
5139 1.1.1.3 spz fi~
5140 1.1.1.3 spz $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5141 1.1 spz else
5142 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5143 1.1 spz fi
5144 1.1 spz ;;
5145 1.1 spz
5146 1.1 spz haiku*)
5147 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5148 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5149 1.1 spz ;;
5150 1.1 spz
5151 1.1.1.3 spz os2*)
5152 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5153 1.1.1.3 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5154 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5155 1.1.1.3 spz shrext_cmds=.dll
5156 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5157 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5158 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5159 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5160 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5161 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5162 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5163 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5164 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5165 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5166 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5167 1.1.1.3 spz prefix_cmds="$SED"~
5168 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
5169 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
5170 1.1.1.3 spz fi~
5171 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5172 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5173 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5174 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5175 1.1.1.3 spz _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5176 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5177 1.1.1.3 spz ;;
5178 1.1.1.3 spz
5179 1.1 spz interix[[3-9]]*)
5180 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5181 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5182 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5183 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5184 1.1 spz # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5185 1.1 spz # Instead, shared libraries are loaded at an image base (0x10000000 by
5186 1.1 spz # default) and relocated if they conflict, which is a slow very memory
5187 1.1 spz # consuming and fragmenting process. To avoid this, we pick a random,
5188 1.1 spz # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5189 1.1 spz # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5190 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5191 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5192 1.1 spz ;;
5193 1.1 spz
5194 1.1 spz gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5195 1.1 spz tmp_diet=no
5196 1.1.1.3 spz if test linux-dietlibc = "$host_os"; then
5197 1.1 spz case $cc_basename in
5198 1.1 spz diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5199 1.1 spz esac
5200 1.1 spz fi
5201 1.1 spz if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5202 1.1.1.3 spz && test no = "$tmp_diet"
5203 1.1 spz then
5204 1.1 spz tmp_addflag=' $pic_flag'
5205 1.1 spz tmp_sharedflag='-shared'
5206 1.1 spz case $cc_basename,$host_cpu in
5207 1.1 spz pgcc*) # Portland Group C compiler
5208 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5209 1.1 spz tmp_addflag=' $pic_flag'
5210 1.1 spz ;;
5211 1.1 spz pgf77* | pgf90* | pgf95* | pgfortran*)
5212 1.1 spz # Portland Group f77 and f90 compilers
5213 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5214 1.1 spz tmp_addflag=' $pic_flag -Mnomain' ;;
5215 1.1 spz ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5216 1.1 spz tmp_addflag=' -i_dynamic' ;;
5217 1.1 spz efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5218 1.1 spz tmp_addflag=' -i_dynamic -nofor_main' ;;
5219 1.1 spz ifc* | ifort*) # Intel Fortran compiler
5220 1.1 spz tmp_addflag=' -nofor_main' ;;
5221 1.1 spz lf95*) # Lahey Fortran 8.1
5222 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5223 1.1 spz tmp_sharedflag='--shared' ;;
5224 1.1.1.3 spz nagfor*) # NAGFOR 5.3
5225 1.1.1.3 spz tmp_sharedflag='-Wl,-shared' ;;
5226 1.1 spz xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5227 1.1 spz tmp_sharedflag='-qmkshrobj'
5228 1.1 spz tmp_addflag= ;;
5229 1.1 spz nvcc*) # Cuda Compiler Driver 2.2
5230 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5231 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
5232 1.1 spz ;;
5233 1.1 spz esac
5234 1.1 spz case `$CC -V 2>&1 | sed 5q` in
5235 1.1 spz *Sun\ C*) # Sun C 5.9
5236 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
5237 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
5238 1.1 spz tmp_sharedflag='-G' ;;
5239 1.1 spz *Sun\ F*) # Sun Fortran 8.3
5240 1.1 spz tmp_sharedflag='-G' ;;
5241 1.1 spz esac
5242 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5243 1.1 spz
5244 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
5245 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5246 1.1.1.3 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5247 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
5248 1.1.1.3 spz $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
5249 1.1 spz fi
5250 1.1 spz
5251 1.1 spz case $cc_basename in
5252 1.1.1.3 spz tcc*)
5253 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5254 1.1.1.3 spz ;;
5255 1.1 spz xlf* | bgf* | bgxlf* | mpixlf*)
5256 1.1 spz # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5257 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5258 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5259 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5260 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
5261 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5262 1.1.1.3 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5263 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
5264 1.1.1.3 spz $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5265 1.1 spz fi
5266 1.1 spz ;;
5267 1.1 spz esac
5268 1.1 spz else
5269 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5270 1.1 spz fi
5271 1.1 spz ;;
5272 1.1 spz
5273 1.1.1.3 spz netbsd*)
5274 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5275 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5276 1.1 spz wlarc=
5277 1.1 spz else
5278 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5279 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5280 1.1 spz fi
5281 1.1 spz ;;
5282 1.1 spz
5283 1.1 spz solaris*)
5284 1.1 spz if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5285 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5286 1.1 spz cat <<_LT_EOF 1>&2
5287 1.1 spz
5288 1.1 spz *** Warning: The releases 2.8.* of the GNU linker cannot reliably
5289 1.1 spz *** create shared libraries on Solaris systems. Therefore, libtool
5290 1.1 spz *** is disabling shared libraries support. We urge you to upgrade GNU
5291 1.1 spz *** binutils to release 2.9.1 or newer. Another option is to modify
5292 1.1 spz *** your PATH or compiler configuration so that the native linker is
5293 1.1 spz *** used, and then restart.
5294 1.1 spz
5295 1.1 spz _LT_EOF
5296 1.1 spz elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5297 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5298 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5299 1.1 spz else
5300 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5301 1.1 spz fi
5302 1.1 spz ;;
5303 1.1 spz
5304 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5305 1.1 spz case `$LD -v 2>&1` in
5306 1.1 spz *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5307 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5308 1.1 spz cat <<_LT_EOF 1>&2
5309 1.1 spz
5310 1.1.1.3 spz *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
5311 1.1 spz *** reliably create shared libraries on SCO systems. Therefore, libtool
5312 1.1 spz *** is disabling shared libraries support. We urge you to upgrade GNU
5313 1.1 spz *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5314 1.1 spz *** your PATH or compiler configuration so that the native linker is
5315 1.1 spz *** used, and then restart.
5316 1.1 spz
5317 1.1 spz _LT_EOF
5318 1.1 spz ;;
5319 1.1 spz *)
5320 1.1 spz # For security reasons, it is highly recommended that you always
5321 1.1 spz # use absolute paths for naming shared libraries, and exclude the
5322 1.1 spz # DT_RUNPATH tag from executables and libraries. But doing so
5323 1.1 spz # requires that you compile everything twice, which is a pain.
5324 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5325 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5326 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5327 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5328 1.1 spz else
5329 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5330 1.1 spz fi
5331 1.1 spz ;;
5332 1.1 spz esac
5333 1.1 spz ;;
5334 1.1 spz
5335 1.1 spz sunos4*)
5336 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5337 1.1 spz wlarc=
5338 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5339 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5340 1.1 spz ;;
5341 1.1 spz
5342 1.1 spz *)
5343 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5344 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5345 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
5346 1.1 spz else
5347 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5348 1.1 spz fi
5349 1.1 spz ;;
5350 1.1 spz esac
5351 1.1 spz
5352 1.1.1.3 spz if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
5353 1.1 spz runpath_var=
5354 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5355 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5356 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5357 1.1 spz fi
5358 1.1 spz else
5359 1.1 spz # PORTME fill in a description of your system's linker (not GNU ld)
5360 1.1 spz case $host_os in
5361 1.1 spz aix3*)
5362 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5363 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5364 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
5365 1.1 spz # Note: this linker hardcodes the directories in LIBPATH if there
5366 1.1 spz # are no directories specified by -L.
5367 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5368 1.1.1.3 spz if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
5369 1.1 spz # Neither direct hardcoding nor static linking is supported with a
5370 1.1 spz # broken collect2.
5371 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
5372 1.1 spz fi
5373 1.1 spz ;;
5374 1.1 spz
5375 1.1 spz aix[[4-9]]*)
5376 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5377 1.1 spz # On IA64, the linker does run time linking by default, so we don't
5378 1.1 spz # have to do anything special.
5379 1.1 spz aix_use_runtimelinking=no
5380 1.1 spz exp_sym_flag='-Bexport'
5381 1.1.1.3 spz no_entry_flag=
5382 1.1 spz else
5383 1.1 spz # If we're using GNU nm, then we don't want the "-C" option.
5384 1.1.1.3 spz # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5385 1.1.1.3 spz # Without the "-l" option, or with the "-B" option, AIX nm treats
5386 1.1.1.3 spz # weak defined symbols like other global defined symbols, whereas
5387 1.1.1.3 spz # GNU nm marks them as "W".
5388 1.1.1.3 spz # While the 'weak' keyword is ignored in the Export File, we need
5389 1.1.1.3 spz # it in the Import File for the 'aix-soname' feature, so we have
5390 1.1.1.3 spz # to replace the "-B" option with "-P" for AIX nm.
5391 1.1 spz if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5392 1.1.1.3 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
5393 1.1 spz else
5394 1.1.1.3 spz _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 == "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'
5395 1.1 spz fi
5396 1.1 spz aix_use_runtimelinking=no
5397 1.1 spz
5398 1.1 spz # Test if we are trying to use run time linking or normal
5399 1.1 spz # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5400 1.1.1.3 spz # have runtime linking enabled, and use it for executables.
5401 1.1.1.3 spz # For shared libraries, we enable/disable runtime linking
5402 1.1.1.3 spz # depending on the kind of the shared library created -
5403 1.1.1.3 spz # when "with_aix_soname,aix_use_runtimelinking" is:
5404 1.1.1.3 spz # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
5405 1.1.1.3 spz # "aix,yes" lib.so shared, rtl:yes, for executables
5406 1.1.1.3 spz # lib.a static archive
5407 1.1.1.3 spz # "both,no" lib.so.V(shr.o) shared, rtl:yes
5408 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no, for executables
5409 1.1.1.3 spz # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5410 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no
5411 1.1.1.3 spz # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
5412 1.1.1.3 spz # lib.a static archive
5413 1.1 spz case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5414 1.1 spz for ld_flag in $LDFLAGS; do
5415 1.1.1.3 spz if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
5416 1.1 spz aix_use_runtimelinking=yes
5417 1.1 spz break
5418 1.1 spz fi
5419 1.1 spz done
5420 1.1.1.3 spz if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5421 1.1.1.3 spz # With aix-soname=svr4, we create the lib.so.V shared archives only,
5422 1.1.1.3 spz # so we don't have lib.a shared libs to link our executables.
5423 1.1.1.3 spz # We have to force runtime linking in this case.
5424 1.1.1.3 spz aix_use_runtimelinking=yes
5425 1.1.1.3 spz LDFLAGS="$LDFLAGS -Wl,-brtl"
5426 1.1.1.3 spz fi
5427 1.1 spz ;;
5428 1.1 spz esac
5429 1.1 spz
5430 1.1 spz exp_sym_flag='-bexport'
5431 1.1 spz no_entry_flag='-bnoentry'
5432 1.1 spz fi
5433 1.1 spz
5434 1.1 spz # When large executables or shared objects are built, AIX ld can
5435 1.1 spz # have problems creating the table of contents. If linking a library
5436 1.1 spz # or program results in "error TOC overflow" add -mminimal-toc to
5437 1.1 spz # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5438 1.1 spz # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5439 1.1 spz
5440 1.1 spz _LT_TAGVAR(archive_cmds, $1)=''
5441 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5442 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5443 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5444 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5445 1.1.1.3 spz _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5446 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
5447 1.1.1.3 spz aix,*) ;; # traditional, no import file
5448 1.1.1.3 spz svr4,* | *,yes) # use import file
5449 1.1.1.3 spz # The Import File defines what to hardcode.
5450 1.1.1.3 spz _LT_TAGVAR(hardcode_direct, $1)=no
5451 1.1.1.3 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5452 1.1.1.3 spz ;;
5453 1.1.1.3 spz esac
5454 1.1 spz
5455 1.1.1.3 spz if test yes = "$GCC"; then
5456 1.1 spz case $host_os in aix4.[[012]]|aix4.[[012]].*)
5457 1.1 spz # We only want to do this on AIX 4.2 and lower, the check
5458 1.1 spz # below for broken collect2 doesn't work under 4.3+
5459 1.1.1.3 spz collect2name=`$CC -print-prog-name=collect2`
5460 1.1 spz if test -f "$collect2name" &&
5461 1.1 spz strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5462 1.1 spz then
5463 1.1 spz # We have reworked collect2
5464 1.1 spz :
5465 1.1 spz else
5466 1.1 spz # We have old collect2
5467 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
5468 1.1 spz # It fails to find uninstalled libraries when the uninstalled
5469 1.1 spz # path is not listed in the libpath. Setting hardcode_minus_L
5470 1.1 spz # to unsupported forces relinking
5471 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5472 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5473 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
5474 1.1 spz fi
5475 1.1 spz ;;
5476 1.1 spz esac
5477 1.1 spz shared_flag='-shared'
5478 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
5479 1.1.1.3 spz shared_flag="$shared_flag "'$wl-G'
5480 1.1 spz fi
5481 1.1.1.3 spz # Need to ensure runtime linking is disabled for the traditional
5482 1.1.1.3 spz # shared library, or the linker may eventually find shared libraries
5483 1.1.1.3 spz # /with/ Import File - we do not want to mix them.
5484 1.1.1.3 spz shared_flag_aix='-shared'
5485 1.1.1.3 spz shared_flag_svr4='-shared $wl-G'
5486 1.1 spz else
5487 1.1 spz # not using gcc
5488 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5489 1.1 spz # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5490 1.1 spz # chokes on -Wl,-G. The following line is correct:
5491 1.1 spz shared_flag='-G'
5492 1.1 spz else
5493 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
5494 1.1.1.3 spz shared_flag='$wl-G'
5495 1.1 spz else
5496 1.1.1.3 spz shared_flag='$wl-bM:SRE'
5497 1.1 spz fi
5498 1.1.1.3 spz shared_flag_aix='$wl-bM:SRE'
5499 1.1.1.3 spz shared_flag_svr4='$wl-G'
5500 1.1 spz fi
5501 1.1 spz fi
5502 1.1 spz
5503 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
5504 1.1 spz # It seems that -bexpall does not export symbols beginning with
5505 1.1 spz # underscore (_), so it is better to generate a list of symbols to export.
5506 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5507 1.1.1.3 spz if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
5508 1.1 spz # Warning - without using the other runtime loading flags (-brtl),
5509 1.1 spz # -berok will link without error, but may produce a broken library.
5510 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5511 1.1 spz # Determine the default libpath from the value encoded in an
5512 1.1 spz # empty executable.
5513 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
5514 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5515 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
5516 1.1 spz else
5517 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5518 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
5519 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5520 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
5521 1.1 spz else
5522 1.1 spz # Determine the default libpath from the value encoded in an
5523 1.1 spz # empty executable.
5524 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
5525 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5526 1.1 spz # Warning - without using the other run time loading flags,
5527 1.1 spz # -berok will link without error, but may produce a broken library.
5528 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5529 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5530 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
5531 1.1 spz # We only use this code for GNU lds that support --whole-archive.
5532 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
5533 1.1 spz else
5534 1.1 spz # Exported symbols can be pulled into shared objects from archives
5535 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5536 1.1 spz fi
5537 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5538 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5539 1.1.1.3 spz # -brtl affects multiple linker settings, -berok does not and is overridden later
5540 1.1.1.3 spz compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5541 1.1.1.3 spz if test svr4 != "$with_aix_soname"; then
5542 1.1.1.3 spz # This is similar to how AIX traditionally builds its shared libraries.
5543 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
5544 1.1.1.3 spz fi
5545 1.1.1.3 spz if test aix != "$with_aix_soname"; then
5546 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
5547 1.1.1.3 spz else
5548 1.1.1.3 spz # used by -dlpreopen to get the symbols
5549 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
5550 1.1.1.3 spz fi
5551 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
5552 1.1 spz fi
5553 1.1 spz fi
5554 1.1 spz ;;
5555 1.1 spz
5556 1.1 spz amigaos*)
5557 1.1 spz case $host_cpu in
5558 1.1 spz powerpc)
5559 1.1 spz # see comment about AmigaOS4 .so support
5560 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5561 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=''
5562 1.1 spz ;;
5563 1.1 spz m68k)
5564 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5565 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5566 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5567 1.1 spz ;;
5568 1.1 spz esac
5569 1.1 spz ;;
5570 1.1 spz
5571 1.1 spz bsdi[[45]]*)
5572 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5573 1.1 spz ;;
5574 1.1 spz
5575 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
5576 1.1 spz # When not using gcc, we currently assume that we are using
5577 1.1 spz # Microsoft Visual C++.
5578 1.1 spz # hardcode_libdir_flag_spec is actually meaningless, as there is
5579 1.1 spz # no search path for DLLs.
5580 1.1 spz case $cc_basename in
5581 1.1 spz cl*)
5582 1.1 spz # Native MSVC
5583 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5584 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5585 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5586 1.1 spz _LT_TAGVAR(file_list_spec, $1)='@'
5587 1.1 spz # Tell ltmain to make .lib files, not .a files.
5588 1.1 spz libext=lib
5589 1.1 spz # Tell ltmain to make .dll files, not .so files.
5590 1.1.1.3 spz shrext_cmds=.dll
5591 1.1 spz # FIXME: Setting linknames here is a bad hack.
5592 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
5593 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5594 1.1.1.3 spz cp "$export_symbols" "$output_objdir/$soname.def";
5595 1.1.1.3 spz echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
5596 1.1.1.3 spz else
5597 1.1.1.3 spz $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
5598 1.1.1.3 spz fi~
5599 1.1.1.3 spz $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5600 1.1.1.3 spz linknames='
5601 1.1 spz # The linker will not automatically build a static lib if we build a DLL.
5602 1.1 spz # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5603 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5604 1.1.1.2 spz _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5605 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5606 1.1 spz # Don't use ranlib
5607 1.1 spz _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5608 1.1 spz _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5609 1.1.1.3 spz lt_tool_outputfile="@TOOL_OUTPUT@"~
5610 1.1.1.3 spz case $lt_outputfile in
5611 1.1.1.3 spz *.exe|*.EXE) ;;
5612 1.1.1.3 spz *)
5613 1.1.1.3 spz lt_outputfile=$lt_outputfile.exe
5614 1.1.1.3 spz lt_tool_outputfile=$lt_tool_outputfile.exe
5615 1.1.1.3 spz ;;
5616 1.1.1.3 spz esac~
5617 1.1.1.3 spz if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
5618 1.1.1.3 spz $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5619 1.1.1.3 spz $RM "$lt_outputfile.manifest";
5620 1.1.1.3 spz fi'
5621 1.1 spz ;;
5622 1.1 spz *)
5623 1.1 spz # Assume MSVC wrapper
5624 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5625 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5626 1.1 spz # Tell ltmain to make .lib files, not .a files.
5627 1.1 spz libext=lib
5628 1.1 spz # Tell ltmain to make .dll files, not .so files.
5629 1.1.1.3 spz shrext_cmds=.dll
5630 1.1 spz # FIXME: Setting linknames here is a bad hack.
5631 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5632 1.1 spz # The linker will automatically build a .lib file if we build a DLL.
5633 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5634 1.1 spz # FIXME: Should let the user specify the lib program.
5635 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5636 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5637 1.1 spz ;;
5638 1.1 spz esac
5639 1.1 spz ;;
5640 1.1 spz
5641 1.1 spz darwin* | rhapsody*)
5642 1.1 spz _LT_DARWIN_LINKER_FEATURES($1)
5643 1.1 spz ;;
5644 1.1 spz
5645 1.1 spz dgux*)
5646 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5647 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5648 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5649 1.1 spz ;;
5650 1.1 spz
5651 1.1 spz # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5652 1.1 spz # support. Future versions do this automatically, but an explicit c++rt0.o
5653 1.1 spz # does not break anything, and helps significantly (at the cost of a little
5654 1.1 spz # extra space).
5655 1.1 spz freebsd2.2*)
5656 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5657 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5658 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5659 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5660 1.1 spz ;;
5661 1.1 spz
5662 1.1 spz # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5663 1.1.1.2 spz freebsd2.*)
5664 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5665 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5666 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5667 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5668 1.1 spz ;;
5669 1.1 spz
5670 1.1 spz # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5671 1.1 spz freebsd* | dragonfly*)
5672 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5673 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5674 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5675 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5676 1.1 spz ;;
5677 1.1 spz
5678 1.1 spz hpux9*)
5679 1.1.1.3 spz if test yes = "$GCC"; then
5680 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5681 1.1 spz else
5682 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
5683 1.1 spz fi
5684 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5685 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5686 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5687 1.1 spz
5688 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5689 1.1 spz # but as the default location of the library.
5690 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5691 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5692 1.1 spz ;;
5693 1.1 spz
5694 1.1 spz hpux10*)
5695 1.1.1.3 spz if test yes,no = "$GCC,$with_gnu_ld"; then
5696 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5697 1.1 spz else
5698 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5699 1.1 spz fi
5700 1.1.1.3 spz if test no = "$with_gnu_ld"; then
5701 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5702 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5703 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5704 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5705 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5706 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5707 1.1 spz # but as the default location of the library.
5708 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5709 1.1 spz fi
5710 1.1 spz ;;
5711 1.1 spz
5712 1.1 spz hpux11*)
5713 1.1.1.3 spz if test yes,no = "$GCC,$with_gnu_ld"; then
5714 1.1 spz case $host_cpu in
5715 1.1 spz hppa*64*)
5716 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5717 1.1 spz ;;
5718 1.1 spz ia64*)
5719 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5720 1.1 spz ;;
5721 1.1 spz *)
5722 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5723 1.1 spz ;;
5724 1.1 spz esac
5725 1.1 spz else
5726 1.1 spz case $host_cpu in
5727 1.1 spz hppa*64*)
5728 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5729 1.1 spz ;;
5730 1.1 spz ia64*)
5731 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5732 1.1 spz ;;
5733 1.1 spz *)
5734 1.1 spz m4_if($1, [], [
5735 1.1 spz # Older versions of the 11.00 compiler do not understand -b yet
5736 1.1 spz # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5737 1.1 spz _LT_LINKER_OPTION([if $CC understands -b],
5738 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5739 1.1.1.3 spz [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5740 1.1 spz [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5741 1.1.1.3 spz [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5742 1.1 spz ;;
5743 1.1 spz esac
5744 1.1 spz fi
5745 1.1.1.3 spz if test no = "$with_gnu_ld"; then
5746 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5747 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5748 1.1 spz
5749 1.1 spz case $host_cpu in
5750 1.1 spz hppa*64*|ia64*)
5751 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5752 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5753 1.1 spz ;;
5754 1.1 spz *)
5755 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5756 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5757 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5758 1.1 spz
5759 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5760 1.1 spz # but as the default location of the library.
5761 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5762 1.1 spz ;;
5763 1.1 spz esac
5764 1.1 spz fi
5765 1.1 spz ;;
5766 1.1 spz
5767 1.1 spz irix5* | irix6* | nonstopux*)
5768 1.1.1.3 spz if test yes = "$GCC"; then
5769 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5770 1.1 spz # Try to use the -exported_symbol ld option, if it does not
5771 1.1 spz # work, assume that -exports_file does not work either and
5772 1.1 spz # implicitly export all symbols.
5773 1.1 spz # This should be the same for all languages, so no per-tag cache variable.
5774 1.1 spz AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5775 1.1 spz [lt_cv_irix_exported_symbol],
5776 1.1.1.3 spz [save_LDFLAGS=$LDFLAGS
5777 1.1.1.3 spz LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
5778 1.1 spz AC_LINK_IFELSE(
5779 1.1 spz [AC_LANG_SOURCE(
5780 1.1 spz [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5781 1.1 spz [C++], [[int foo (void) { return 0; }]],
5782 1.1 spz [Fortran 77], [[
5783 1.1 spz subroutine foo
5784 1.1 spz end]],
5785 1.1 spz [Fortran], [[
5786 1.1 spz subroutine foo
5787 1.1 spz end]])])],
5788 1.1 spz [lt_cv_irix_exported_symbol=yes],
5789 1.1 spz [lt_cv_irix_exported_symbol=no])
5790 1.1.1.3 spz LDFLAGS=$save_LDFLAGS])
5791 1.1.1.3 spz if test yes = "$lt_cv_irix_exported_symbol"; then
5792 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
5793 1.1 spz fi
5794 1.1 spz else
5795 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5796 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
5797 1.1 spz fi
5798 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5799 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5800 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5801 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=yes
5802 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5803 1.1 spz ;;
5804 1.1 spz
5805 1.1.1.3 spz linux*)
5806 1.1.1.3 spz case $cc_basename in
5807 1.1.1.3 spz tcc*)
5808 1.1.1.3 spz # Fabrice Bellard et al's Tiny C Compiler
5809 1.1.1.3 spz _LT_TAGVAR(ld_shlibs, $1)=yes
5810 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5811 1.1.1.3 spz ;;
5812 1.1.1.3 spz esac
5813 1.1.1.3 spz ;;
5814 1.1.1.3 spz
5815 1.1.1.3 spz netbsd*)
5816 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5817 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5818 1.1 spz else
5819 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5820 1.1 spz fi
5821 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5822 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5823 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5824 1.1 spz ;;
5825 1.1 spz
5826 1.1 spz newsos6)
5827 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5828 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5829 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5830 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5831 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5832 1.1 spz ;;
5833 1.1 spz
5834 1.1 spz *nto* | *qnx*)
5835 1.1 spz ;;
5836 1.1 spz
5837 1.1.1.3 spz openbsd* | bitrig*)
5838 1.1 spz if test -f /usr/libexec/ld.so; then
5839 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5840 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5841 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5842 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
5843 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5844 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
5845 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5846 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5847 1.1 spz else
5848 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5849 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5850 1.1 spz fi
5851 1.1 spz else
5852 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5853 1.1 spz fi
5854 1.1 spz ;;
5855 1.1 spz
5856 1.1 spz os2*)
5857 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5858 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5859 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5860 1.1.1.3 spz shrext_cmds=.dll
5861 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5862 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5863 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5864 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5865 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5866 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5867 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5868 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5869 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5870 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5871 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5872 1.1.1.3 spz prefix_cmds="$SED"~
5873 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
5874 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
5875 1.1.1.3 spz fi~
5876 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5877 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5878 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5879 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5880 1.1.1.3 spz _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5881 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5882 1.1 spz ;;
5883 1.1 spz
5884 1.1 spz osf3*)
5885 1.1.1.3 spz if test yes = "$GCC"; then
5886 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5887 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5888 1.1 spz else
5889 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5890 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5891 1.1 spz fi
5892 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5893 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5894 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5895 1.1 spz ;;
5896 1.1 spz
5897 1.1 spz osf4* | osf5*) # as osf3* with the addition of -msym flag
5898 1.1.1.3 spz if test yes = "$GCC"; then
5899 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5900 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
5901 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5902 1.1 spz else
5903 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5904 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
5905 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
5906 1.1.1.3 spz $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
5907 1.1 spz
5908 1.1 spz # Both c and cxx compiler support -rpath directly
5909 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5910 1.1 spz fi
5911 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5912 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5913 1.1 spz ;;
5914 1.1 spz
5915 1.1 spz solaris*)
5916 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5917 1.1.1.3 spz if test yes = "$GCC"; then
5918 1.1.1.3 spz wlarc='$wl'
5919 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5920 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5921 1.1.1.3 spz $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5922 1.1 spz else
5923 1.1 spz case `$CC -V 2>&1` in
5924 1.1 spz *"Compilers 5.0"*)
5925 1.1 spz wlarc=''
5926 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
5927 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5928 1.1.1.3 spz $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5929 1.1 spz ;;
5930 1.1 spz *)
5931 1.1.1.3 spz wlarc='$wl'
5932 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5933 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5934 1.1.1.3 spz $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5935 1.1 spz ;;
5936 1.1 spz esac
5937 1.1 spz fi
5938 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5939 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5940 1.1 spz case $host_os in
5941 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5942 1.1 spz *)
5943 1.1 spz # The compiler driver will combine and reorder linker options,
5944 1.1.1.3 spz # but understands '-z linker_flag'. GCC discards it without '$wl',
5945 1.1 spz # but is careful enough not to reorder.
5946 1.1 spz # Supported since Solaris 2.6 (maybe 2.5.1?)
5947 1.1.1.3 spz if test yes = "$GCC"; then
5948 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
5949 1.1 spz else
5950 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5951 1.1 spz fi
5952 1.1 spz ;;
5953 1.1 spz esac
5954 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5955 1.1 spz ;;
5956 1.1 spz
5957 1.1 spz sunos4*)
5958 1.1.1.3 spz if test sequent = "$host_vendor"; then
5959 1.1 spz # Use $CC to link under sequent, because it throws in some extra .o
5960 1.1 spz # files that make .init and .fini sections work.
5961 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5962 1.1 spz else
5963 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5964 1.1 spz fi
5965 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5966 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5967 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5968 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5969 1.1 spz ;;
5970 1.1 spz
5971 1.1 spz sysv4)
5972 1.1 spz case $host_vendor in
5973 1.1 spz sni)
5974 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5975 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5976 1.1 spz ;;
5977 1.1 spz siemens)
5978 1.1 spz ## LD is ld it makes a PLAMLIB
5979 1.1 spz ## CC just makes a GrossModule.
5980 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5981 1.1 spz _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5982 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5983 1.1 spz ;;
5984 1.1 spz motorola)
5985 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5986 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5987 1.1 spz ;;
5988 1.1 spz esac
5989 1.1 spz runpath_var='LD_RUN_PATH'
5990 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5991 1.1 spz ;;
5992 1.1 spz
5993 1.1 spz sysv4.3*)
5994 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5995 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5996 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5997 1.1 spz ;;
5998 1.1 spz
5999 1.1 spz sysv4*MP*)
6000 1.1 spz if test -d /usr/nec; then
6001 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6002 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6003 1.1 spz runpath_var=LD_RUN_PATH
6004 1.1 spz hardcode_runpath_var=yes
6005 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6006 1.1 spz fi
6007 1.1 spz ;;
6008 1.1 spz
6009 1.1 spz sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6010 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6011 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6012 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6013 1.1 spz runpath_var='LD_RUN_PATH'
6014 1.1 spz
6015 1.1.1.3 spz if test yes = "$GCC"; then
6016 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6017 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6018 1.1 spz else
6019 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6020 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6021 1.1 spz fi
6022 1.1 spz ;;
6023 1.1 spz
6024 1.1 spz sysv5* | sco3.2v5* | sco5v6*)
6025 1.1.1.3 spz # Note: We CANNOT use -z defs as we might desire, because we do not
6026 1.1 spz # link with -lc, and that would cause any symbols used from libc to
6027 1.1 spz # always be unresolved, which means just about no library would
6028 1.1 spz # ever link correctly. If we're not using GNU ld we use -z text
6029 1.1 spz # though, which does catch some bad symbols but isn't as heavy-handed
6030 1.1 spz # as -z defs.
6031 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6032 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
6033 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6034 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6035 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
6036 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6037 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6038 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
6039 1.1 spz runpath_var='LD_RUN_PATH'
6040 1.1 spz
6041 1.1.1.3 spz if test yes = "$GCC"; then
6042 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6043 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6044 1.1 spz else
6045 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6046 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6047 1.1 spz fi
6048 1.1 spz ;;
6049 1.1 spz
6050 1.1 spz uts4*)
6051 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6052 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6053 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6054 1.1 spz ;;
6055 1.1 spz
6056 1.1 spz *)
6057 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6058 1.1 spz ;;
6059 1.1 spz esac
6060 1.1 spz
6061 1.1.1.3 spz if test sni = "$host_vendor"; then
6062 1.1 spz case $host in
6063 1.1 spz sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6064 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
6065 1.1 spz ;;
6066 1.1 spz esac
6067 1.1 spz fi
6068 1.1 spz fi
6069 1.1 spz ])
6070 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6071 1.1.1.3 spz test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
6072 1.1 spz
6073 1.1 spz _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
6074 1.1 spz
6075 1.1 spz _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
6076 1.1 spz _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
6077 1.1 spz _LT_DECL([], [extract_expsyms_cmds], [2],
6078 1.1 spz [The commands to extract the exported symbol list from a shared archive])
6079 1.1 spz
6080 1.1 spz #
6081 1.1 spz # Do we need to explicitly link libc?
6082 1.1 spz #
6083 1.1 spz case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
6084 1.1 spz x|xyes)
6085 1.1 spz # Assume -lc should be added
6086 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6087 1.1 spz
6088 1.1.1.3 spz if test yes,yes = "$GCC,$enable_shared"; then
6089 1.1 spz case $_LT_TAGVAR(archive_cmds, $1) in
6090 1.1 spz *'~'*)
6091 1.1 spz # FIXME: we may have to deal with multi-command sequences.
6092 1.1 spz ;;
6093 1.1 spz '$CC '*)
6094 1.1 spz # Test whether the compiler implicitly links with -lc since on some
6095 1.1 spz # systems, -lgcc has to come before -lc. If gcc already passes -lc
6096 1.1 spz # to ld, don't add -lc before -lgcc.
6097 1.1 spz AC_CACHE_CHECK([whether -lc should be explicitly linked in],
6098 1.1 spz [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
6099 1.1 spz [$RM conftest*
6100 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6101 1.1 spz
6102 1.1 spz if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6103 1.1 spz soname=conftest
6104 1.1 spz lib=conftest
6105 1.1 spz libobjs=conftest.$ac_objext
6106 1.1 spz deplibs=
6107 1.1 spz wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
6108 1.1 spz pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
6109 1.1 spz compiler_flags=-v
6110 1.1 spz linker_flags=-v
6111 1.1 spz verstring=
6112 1.1 spz output_objdir=.
6113 1.1 spz libname=conftest
6114 1.1 spz lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6115 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
6116 1.1 spz if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
6117 1.1 spz then
6118 1.1 spz lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6119 1.1 spz else
6120 1.1 spz lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6121 1.1 spz fi
6122 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6123 1.1 spz else
6124 1.1 spz cat conftest.err 1>&5
6125 1.1 spz fi
6126 1.1 spz $RM conftest*
6127 1.1 spz ])
6128 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
6129 1.1 spz ;;
6130 1.1 spz esac
6131 1.1 spz fi
6132 1.1 spz ;;
6133 1.1 spz esac
6134 1.1 spz
6135 1.1 spz _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6136 1.1 spz [Whether or not to add -lc for building shared libraries])
6137 1.1 spz _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6138 1.1 spz [enable_shared_with_static_runtimes], [0],
6139 1.1 spz [Whether or not to disallow shared libs when runtime libs are static])
6140 1.1 spz _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6141 1.1 spz [Compiler flag to allow reflexive dlopens])
6142 1.1 spz _LT_TAGDECL([], [whole_archive_flag_spec], [1],
6143 1.1 spz [Compiler flag to generate shared objects directly from archives])
6144 1.1 spz _LT_TAGDECL([], [compiler_needs_object], [1],
6145 1.1 spz [Whether the compiler copes with passing no objects directly])
6146 1.1 spz _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6147 1.1 spz [Create an old-style archive from a shared archive])
6148 1.1 spz _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6149 1.1 spz [Create a temporary old-style archive to link instead of a shared archive])
6150 1.1 spz _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6151 1.1 spz _LT_TAGDECL([], [archive_expsym_cmds], [2])
6152 1.1 spz _LT_TAGDECL([], [module_cmds], [2],
6153 1.1 spz [Commands used to build a loadable module if different from building
6154 1.1 spz a shared archive.])
6155 1.1 spz _LT_TAGDECL([], [module_expsym_cmds], [2])
6156 1.1 spz _LT_TAGDECL([], [with_gnu_ld], [1],
6157 1.1 spz [Whether we are building with GNU ld or not])
6158 1.1 spz _LT_TAGDECL([], [allow_undefined_flag], [1],
6159 1.1 spz [Flag that allows shared libraries with undefined symbols to be built])
6160 1.1 spz _LT_TAGDECL([], [no_undefined_flag], [1],
6161 1.1 spz [Flag that enforces no undefined symbols])
6162 1.1 spz _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6163 1.1 spz [Flag to hardcode $libdir into a binary during linking.
6164 1.1 spz This must work even if $libdir does not exist])
6165 1.1 spz _LT_TAGDECL([], [hardcode_libdir_separator], [1],
6166 1.1 spz [Whether we need a single "-rpath" flag with a separated argument])
6167 1.1 spz _LT_TAGDECL([], [hardcode_direct], [0],
6168 1.1.1.3 spz [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6169 1.1 spz DIR into the resulting binary])
6170 1.1 spz _LT_TAGDECL([], [hardcode_direct_absolute], [0],
6171 1.1.1.3 spz [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6172 1.1 spz DIR into the resulting binary and the resulting library dependency is
6173 1.1.1.3 spz "absolute", i.e impossible to change by setting $shlibpath_var if the
6174 1.1 spz library is relocated])
6175 1.1 spz _LT_TAGDECL([], [hardcode_minus_L], [0],
6176 1.1 spz [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6177 1.1 spz into the resulting binary])
6178 1.1 spz _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6179 1.1 spz [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6180 1.1 spz into the resulting binary])
6181 1.1 spz _LT_TAGDECL([], [hardcode_automatic], [0],
6182 1.1 spz [Set to "yes" if building a shared library automatically hardcodes DIR
6183 1.1 spz into the library and all subsequent libraries and executables linked
6184 1.1 spz against it])
6185 1.1 spz _LT_TAGDECL([], [inherit_rpath], [0],
6186 1.1 spz [Set to yes if linker adds runtime paths of dependent libraries
6187 1.1 spz to runtime path list])
6188 1.1 spz _LT_TAGDECL([], [link_all_deplibs], [0],
6189 1.1 spz [Whether libtool must link a program against all its dependency libraries])
6190 1.1 spz _LT_TAGDECL([], [always_export_symbols], [0],
6191 1.1 spz [Set to "yes" if exported symbols are required])
6192 1.1 spz _LT_TAGDECL([], [export_symbols_cmds], [2],
6193 1.1 spz [The commands to list exported symbols])
6194 1.1 spz _LT_TAGDECL([], [exclude_expsyms], [1],
6195 1.1 spz [Symbols that should not be listed in the preloaded symbols])
6196 1.1 spz _LT_TAGDECL([], [include_expsyms], [1],
6197 1.1 spz [Symbols that must always be exported])
6198 1.1 spz _LT_TAGDECL([], [prelink_cmds], [2],
6199 1.1 spz [Commands necessary for linking programs (against libraries) with templates])
6200 1.1 spz _LT_TAGDECL([], [postlink_cmds], [2],
6201 1.1 spz [Commands necessary for finishing linking programs])
6202 1.1 spz _LT_TAGDECL([], [file_list_spec], [1],
6203 1.1 spz [Specify filename containing input files])
6204 1.1 spz dnl FIXME: Not yet implemented
6205 1.1 spz dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6206 1.1 spz dnl [Compiler flag to generate thread safe objects])
6207 1.1 spz ])# _LT_LINKER_SHLIBS
6208 1.1 spz
6209 1.1 spz
6210 1.1 spz # _LT_LANG_C_CONFIG([TAG])
6211 1.1 spz # ------------------------
6212 1.1 spz # Ensure that the configuration variables for a C compiler are suitably
6213 1.1 spz # defined. These variables are subsequently used by _LT_CONFIG to write
6214 1.1.1.3 spz # the compiler configuration to 'libtool'.
6215 1.1 spz m4_defun([_LT_LANG_C_CONFIG],
6216 1.1 spz [m4_require([_LT_DECL_EGREP])dnl
6217 1.1.1.3 spz lt_save_CC=$CC
6218 1.1 spz AC_LANG_PUSH(C)
6219 1.1 spz
6220 1.1 spz # Source file extension for C test sources.
6221 1.1 spz ac_ext=c
6222 1.1 spz
6223 1.1 spz # Object file extension for compiled C test sources.
6224 1.1 spz objext=o
6225 1.1 spz _LT_TAGVAR(objext, $1)=$objext
6226 1.1 spz
6227 1.1 spz # Code to be used in simple compile tests
6228 1.1 spz lt_simple_compile_test_code="int some_variable = 0;"
6229 1.1 spz
6230 1.1 spz # Code to be used in simple link tests
6231 1.1 spz lt_simple_link_test_code='int main(){return(0);}'
6232 1.1 spz
6233 1.1 spz _LT_TAG_COMPILER
6234 1.1 spz # Save the default compiler, since it gets overwritten when the other
6235 1.1 spz # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6236 1.1 spz compiler_DEFAULT=$CC
6237 1.1 spz
6238 1.1 spz # save warnings/boilerplate of simple test code
6239 1.1 spz _LT_COMPILER_BOILERPLATE
6240 1.1 spz _LT_LINKER_BOILERPLATE
6241 1.1 spz
6242 1.1 spz ## CAVEAT EMPTOR:
6243 1.1 spz ## There is no encapsulation within the following macros, do not change
6244 1.1 spz ## the running order or otherwise move them around unless you know exactly
6245 1.1 spz ## what you are doing...
6246 1.1 spz if test -n "$compiler"; then
6247 1.1 spz _LT_COMPILER_NO_RTTI($1)
6248 1.1 spz _LT_COMPILER_PIC($1)
6249 1.1 spz _LT_COMPILER_C_O($1)
6250 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
6251 1.1 spz _LT_LINKER_SHLIBS($1)
6252 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
6253 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
6254 1.1 spz LT_SYS_DLOPEN_SELF
6255 1.1 spz _LT_CMD_STRIPLIB
6256 1.1 spz
6257 1.1.1.3 spz # Report what library types will actually be built
6258 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
6259 1.1 spz AC_MSG_RESULT([$can_build_shared])
6260 1.1 spz
6261 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
6262 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
6263 1.1 spz
6264 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
6265 1.1 spz # are all built from PIC.
6266 1.1 spz case $host_os in
6267 1.1 spz aix3*)
6268 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
6269 1.1 spz if test -n "$RANLIB"; then
6270 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
6271 1.1 spz postinstall_cmds='$RANLIB $lib'
6272 1.1 spz fi
6273 1.1 spz ;;
6274 1.1 spz
6275 1.1 spz aix[[4-9]]*)
6276 1.1.1.3 spz if test ia64 != "$host_cpu"; then
6277 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6278 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
6279 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
6280 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
6281 1.1.1.3 spz esac
6282 1.1 spz fi
6283 1.1 spz ;;
6284 1.1 spz esac
6285 1.1 spz AC_MSG_RESULT([$enable_shared])
6286 1.1 spz
6287 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
6288 1.1 spz # Make sure either enable_shared or enable_static is yes.
6289 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
6290 1.1 spz AC_MSG_RESULT([$enable_static])
6291 1.1 spz
6292 1.1 spz _LT_CONFIG($1)
6293 1.1 spz fi
6294 1.1 spz AC_LANG_POP
6295 1.1.1.3 spz CC=$lt_save_CC
6296 1.1 spz ])# _LT_LANG_C_CONFIG
6297 1.1 spz
6298 1.1 spz
6299 1.1 spz # _LT_LANG_CXX_CONFIG([TAG])
6300 1.1 spz # --------------------------
6301 1.1 spz # Ensure that the configuration variables for a C++ compiler are suitably
6302 1.1 spz # defined. These variables are subsequently used by _LT_CONFIG to write
6303 1.1.1.3 spz # the compiler configuration to 'libtool'.
6304 1.1 spz m4_defun([_LT_LANG_CXX_CONFIG],
6305 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6306 1.1 spz m4_require([_LT_DECL_EGREP])dnl
6307 1.1 spz m4_require([_LT_PATH_MANIFEST_TOOL])dnl
6308 1.1.1.3 spz if test -n "$CXX" && ( test no != "$CXX" &&
6309 1.1.1.3 spz ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6310 1.1.1.3 spz (test g++ != "$CXX"))); then
6311 1.1 spz AC_PROG_CXXCPP
6312 1.1 spz else
6313 1.1 spz _lt_caught_CXX_error=yes
6314 1.1 spz fi
6315 1.1 spz
6316 1.1 spz AC_LANG_PUSH(C++)
6317 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6318 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
6319 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
6320 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
6321 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=no
6322 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6323 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6324 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6325 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6326 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
6327 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
6328 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6329 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
6330 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
6331 1.1 spz _LT_TAGVAR(module_cmds, $1)=
6332 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
6333 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
6334 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6335 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
6336 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6337 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
6338 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
6339 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6340 1.1 spz
6341 1.1 spz # Source file extension for C++ test sources.
6342 1.1 spz ac_ext=cpp
6343 1.1 spz
6344 1.1 spz # Object file extension for compiled C++ test sources.
6345 1.1 spz objext=o
6346 1.1 spz _LT_TAGVAR(objext, $1)=$objext
6347 1.1 spz
6348 1.1 spz # No sense in running all these tests if we already determined that
6349 1.1 spz # the CXX compiler isn't working. Some variables (like enable_shared)
6350 1.1 spz # are currently assumed to apply to all compilers on this platform,
6351 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
6352 1.1.1.3 spz if test yes != "$_lt_caught_CXX_error"; then
6353 1.1 spz # Code to be used in simple compile tests
6354 1.1 spz lt_simple_compile_test_code="int some_variable = 0;"
6355 1.1 spz
6356 1.1 spz # Code to be used in simple link tests
6357 1.1 spz lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6358 1.1 spz
6359 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6360 1.1 spz _LT_TAG_COMPILER
6361 1.1 spz
6362 1.1 spz # save warnings/boilerplate of simple test code
6363 1.1 spz _LT_COMPILER_BOILERPLATE
6364 1.1 spz _LT_LINKER_BOILERPLATE
6365 1.1 spz
6366 1.1 spz # Allow CC to be a program name with arguments.
6367 1.1 spz lt_save_CC=$CC
6368 1.1 spz lt_save_CFLAGS=$CFLAGS
6369 1.1 spz lt_save_LD=$LD
6370 1.1 spz lt_save_GCC=$GCC
6371 1.1 spz GCC=$GXX
6372 1.1 spz lt_save_with_gnu_ld=$with_gnu_ld
6373 1.1 spz lt_save_path_LD=$lt_cv_path_LD
6374 1.1 spz if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6375 1.1 spz lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6376 1.1 spz else
6377 1.1 spz $as_unset lt_cv_prog_gnu_ld
6378 1.1 spz fi
6379 1.1 spz if test -n "${lt_cv_path_LDCXX+set}"; then
6380 1.1 spz lt_cv_path_LD=$lt_cv_path_LDCXX
6381 1.1 spz else
6382 1.1 spz $as_unset lt_cv_path_LD
6383 1.1 spz fi
6384 1.1 spz test -z "${LDCXX+set}" || LD=$LDCXX
6385 1.1 spz CC=${CXX-"c++"}
6386 1.1 spz CFLAGS=$CXXFLAGS
6387 1.1 spz compiler=$CC
6388 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
6389 1.1 spz _LT_CC_BASENAME([$compiler])
6390 1.1 spz
6391 1.1 spz if test -n "$compiler"; then
6392 1.1 spz # We don't want -fno-exception when compiling C++ code, so set the
6393 1.1 spz # no_builtin_flag separately
6394 1.1.1.3 spz if test yes = "$GXX"; then
6395 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6396 1.1 spz else
6397 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6398 1.1 spz fi
6399 1.1 spz
6400 1.1.1.3 spz if test yes = "$GXX"; then
6401 1.1 spz # Set up default GNU C++ configuration
6402 1.1 spz
6403 1.1 spz LT_PATH_LD
6404 1.1 spz
6405 1.1 spz # Check if GNU C++ uses GNU ld as the underlying linker, since the
6406 1.1 spz # archiving commands below assume that GNU ld is being used.
6407 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
6408 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6409 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6410 1.1 spz
6411 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6412 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6413 1.1 spz
6414 1.1 spz # If archive_cmds runs LD, not CC, wlarc should be empty
6415 1.1 spz # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6416 1.1 spz # investigate it a little bit more. (MM)
6417 1.1.1.3 spz wlarc='$wl'
6418 1.1 spz
6419 1.1 spz # ancient GNU ld didn't support --whole-archive et. al.
6420 1.1 spz if eval "`$CC -print-prog-name=ld` --help 2>&1" |
6421 1.1 spz $GREP 'no-whole-archive' > /dev/null; then
6422 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
6423 1.1 spz else
6424 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
6425 1.1 spz fi
6426 1.1 spz else
6427 1.1 spz with_gnu_ld=no
6428 1.1 spz wlarc=
6429 1.1 spz
6430 1.1 spz # A generic and very simple default shared library creation
6431 1.1 spz # command for GNU C++ for the case where it uses the native
6432 1.1 spz # linker, instead of GNU ld. If possible, this setting should
6433 1.1 spz # overridden to take advantage of the native linker features on
6434 1.1 spz # the platform it is being used on.
6435 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6436 1.1 spz fi
6437 1.1 spz
6438 1.1 spz # Commands to make compiler produce verbose output that lists
6439 1.1 spz # what "hidden" libraries, object files and flags are used when
6440 1.1 spz # linking a shared library.
6441 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6442 1.1 spz
6443 1.1 spz else
6444 1.1 spz GXX=no
6445 1.1 spz with_gnu_ld=no
6446 1.1 spz wlarc=
6447 1.1 spz fi
6448 1.1 spz
6449 1.1 spz # PORTME: fill in a description of your system's C++ link characteristics
6450 1.1 spz AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6451 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6452 1.1 spz case $host_os in
6453 1.1 spz aix3*)
6454 1.1 spz # FIXME: insert proper C++ library support
6455 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6456 1.1 spz ;;
6457 1.1 spz aix[[4-9]]*)
6458 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6459 1.1 spz # On IA64, the linker does run time linking by default, so we don't
6460 1.1 spz # have to do anything special.
6461 1.1 spz aix_use_runtimelinking=no
6462 1.1 spz exp_sym_flag='-Bexport'
6463 1.1.1.3 spz no_entry_flag=
6464 1.1 spz else
6465 1.1 spz aix_use_runtimelinking=no
6466 1.1 spz
6467 1.1 spz # Test if we are trying to use run time linking or normal
6468 1.1 spz # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6469 1.1.1.3 spz # have runtime linking enabled, and use it for executables.
6470 1.1.1.3 spz # For shared libraries, we enable/disable runtime linking
6471 1.1.1.3 spz # depending on the kind of the shared library created -
6472 1.1.1.3 spz # when "with_aix_soname,aix_use_runtimelinking" is:
6473 1.1.1.3 spz # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
6474 1.1.1.3 spz # "aix,yes" lib.so shared, rtl:yes, for executables
6475 1.1.1.3 spz # lib.a static archive
6476 1.1.1.3 spz # "both,no" lib.so.V(shr.o) shared, rtl:yes
6477 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no, for executables
6478 1.1.1.3 spz # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6479 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no
6480 1.1.1.3 spz # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
6481 1.1.1.3 spz # lib.a static archive
6482 1.1 spz case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6483 1.1 spz for ld_flag in $LDFLAGS; do
6484 1.1 spz case $ld_flag in
6485 1.1 spz *-brtl*)
6486 1.1 spz aix_use_runtimelinking=yes
6487 1.1 spz break
6488 1.1 spz ;;
6489 1.1 spz esac
6490 1.1 spz done
6491 1.1.1.3 spz if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6492 1.1.1.3 spz # With aix-soname=svr4, we create the lib.so.V shared archives only,
6493 1.1.1.3 spz # so we don't have lib.a shared libs to link our executables.
6494 1.1.1.3 spz # We have to force runtime linking in this case.
6495 1.1.1.3 spz aix_use_runtimelinking=yes
6496 1.1.1.3 spz LDFLAGS="$LDFLAGS -Wl,-brtl"
6497 1.1.1.3 spz fi
6498 1.1 spz ;;
6499 1.1 spz esac
6500 1.1 spz
6501 1.1 spz exp_sym_flag='-bexport'
6502 1.1 spz no_entry_flag='-bnoentry'
6503 1.1 spz fi
6504 1.1 spz
6505 1.1 spz # When large executables or shared objects are built, AIX ld can
6506 1.1 spz # have problems creating the table of contents. If linking a library
6507 1.1 spz # or program results in "error TOC overflow" add -mminimal-toc to
6508 1.1 spz # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6509 1.1 spz # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6510 1.1 spz
6511 1.1 spz _LT_TAGVAR(archive_cmds, $1)=''
6512 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6513 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6514 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6515 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6516 1.1.1.3 spz _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6517 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
6518 1.1.1.3 spz aix,*) ;; # no import file
6519 1.1.1.3 spz svr4,* | *,yes) # use import file
6520 1.1.1.3 spz # The Import File defines what to hardcode.
6521 1.1.1.3 spz _LT_TAGVAR(hardcode_direct, $1)=no
6522 1.1.1.3 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6523 1.1.1.3 spz ;;
6524 1.1.1.3 spz esac
6525 1.1 spz
6526 1.1.1.3 spz if test yes = "$GXX"; then
6527 1.1 spz case $host_os in aix4.[[012]]|aix4.[[012]].*)
6528 1.1 spz # We only want to do this on AIX 4.2 and lower, the check
6529 1.1 spz # below for broken collect2 doesn't work under 4.3+
6530 1.1.1.3 spz collect2name=`$CC -print-prog-name=collect2`
6531 1.1 spz if test -f "$collect2name" &&
6532 1.1 spz strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6533 1.1 spz then
6534 1.1 spz # We have reworked collect2
6535 1.1 spz :
6536 1.1 spz else
6537 1.1 spz # We have old collect2
6538 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
6539 1.1 spz # It fails to find uninstalled libraries when the uninstalled
6540 1.1 spz # path is not listed in the libpath. Setting hardcode_minus_L
6541 1.1 spz # to unsupported forces relinking
6542 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6543 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6544 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
6545 1.1 spz fi
6546 1.1 spz esac
6547 1.1 spz shared_flag='-shared'
6548 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
6549 1.1.1.3 spz shared_flag=$shared_flag' $wl-G'
6550 1.1 spz fi
6551 1.1.1.3 spz # Need to ensure runtime linking is disabled for the traditional
6552 1.1.1.3 spz # shared library, or the linker may eventually find shared libraries
6553 1.1.1.3 spz # /with/ Import File - we do not want to mix them.
6554 1.1.1.3 spz shared_flag_aix='-shared'
6555 1.1.1.3 spz shared_flag_svr4='-shared $wl-G'
6556 1.1 spz else
6557 1.1 spz # not using gcc
6558 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6559 1.1 spz # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6560 1.1 spz # chokes on -Wl,-G. The following line is correct:
6561 1.1 spz shared_flag='-G'
6562 1.1 spz else
6563 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
6564 1.1.1.3 spz shared_flag='$wl-G'
6565 1.1 spz else
6566 1.1.1.3 spz shared_flag='$wl-bM:SRE'
6567 1.1 spz fi
6568 1.1.1.3 spz shared_flag_aix='$wl-bM:SRE'
6569 1.1.1.3 spz shared_flag_svr4='$wl-G'
6570 1.1 spz fi
6571 1.1 spz fi
6572 1.1 spz
6573 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
6574 1.1 spz # It seems that -bexpall does not export symbols beginning with
6575 1.1 spz # underscore (_), so it is better to generate a list of symbols to
6576 1.1 spz # export.
6577 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
6578 1.1.1.3 spz if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
6579 1.1 spz # Warning - without using the other runtime loading flags (-brtl),
6580 1.1 spz # -berok will link without error, but may produce a broken library.
6581 1.1.1.3 spz # The "-G" linker flag allows undefined symbols.
6582 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
6583 1.1 spz # Determine the default libpath from the value encoded in an empty
6584 1.1 spz # executable.
6585 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
6586 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6587 1.1 spz
6588 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
6589 1.1 spz else
6590 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6591 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
6592 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6593 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
6594 1.1 spz else
6595 1.1 spz # Determine the default libpath from the value encoded in an
6596 1.1 spz # empty executable.
6597 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
6598 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6599 1.1 spz # Warning - without using the other run time loading flags,
6600 1.1 spz # -berok will link without error, but may produce a broken library.
6601 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6602 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6603 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
6604 1.1 spz # We only use this code for GNU lds that support --whole-archive.
6605 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6606 1.1 spz else
6607 1.1 spz # Exported symbols can be pulled into shared objects from archives
6608 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6609 1.1 spz fi
6610 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6611 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6612 1.1.1.3 spz # -brtl affects multiple linker settings, -berok does not and is overridden later
6613 1.1.1.3 spz compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6614 1.1.1.3 spz if test svr4 != "$with_aix_soname"; then
6615 1.1.1.3 spz # This is similar to how AIX traditionally builds its shared
6616 1.1.1.3 spz # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6617 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
6618 1.1.1.3 spz fi
6619 1.1.1.3 spz if test aix != "$with_aix_soname"; then
6620 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
6621 1.1.1.3 spz else
6622 1.1.1.3 spz # used by -dlpreopen to get the symbols
6623 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
6624 1.1.1.3 spz fi
6625 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
6626 1.1 spz fi
6627 1.1 spz fi
6628 1.1 spz ;;
6629 1.1 spz
6630 1.1 spz beos*)
6631 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6632 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6633 1.1 spz # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
6634 1.1 spz # support --undefined. This deserves some investigation. FIXME
6635 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6636 1.1 spz else
6637 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6638 1.1 spz fi
6639 1.1 spz ;;
6640 1.1 spz
6641 1.1 spz chorus*)
6642 1.1 spz case $cc_basename in
6643 1.1 spz *)
6644 1.1 spz # FIXME: insert proper C++ library support
6645 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6646 1.1 spz ;;
6647 1.1 spz esac
6648 1.1 spz ;;
6649 1.1 spz
6650 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
6651 1.1 spz case $GXX,$cc_basename in
6652 1.1 spz ,cl* | no,cl*)
6653 1.1 spz # Native MSVC
6654 1.1 spz # hardcode_libdir_flag_spec is actually meaningless, as there is
6655 1.1 spz # no search path for DLLs.
6656 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6657 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6658 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
6659 1.1 spz _LT_TAGVAR(file_list_spec, $1)='@'
6660 1.1 spz # Tell ltmain to make .lib files, not .a files.
6661 1.1 spz libext=lib
6662 1.1 spz # Tell ltmain to make .dll files, not .so files.
6663 1.1.1.3 spz shrext_cmds=.dll
6664 1.1 spz # FIXME: Setting linknames here is a bad hack.
6665 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
6666 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6667 1.1.1.3 spz cp "$export_symbols" "$output_objdir/$soname.def";
6668 1.1.1.3 spz echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
6669 1.1.1.3 spz else
6670 1.1.1.3 spz $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
6671 1.1.1.3 spz fi~
6672 1.1.1.3 spz $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6673 1.1.1.3 spz linknames='
6674 1.1 spz # The linker will not automatically build a static lib if we build a DLL.
6675 1.1 spz # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6676 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6677 1.1 spz # Don't use ranlib
6678 1.1 spz _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6679 1.1 spz _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6680 1.1.1.3 spz lt_tool_outputfile="@TOOL_OUTPUT@"~
6681 1.1.1.3 spz case $lt_outputfile in
6682 1.1.1.3 spz *.exe|*.EXE) ;;
6683 1.1.1.3 spz *)
6684 1.1.1.3 spz lt_outputfile=$lt_outputfile.exe
6685 1.1.1.3 spz lt_tool_outputfile=$lt_tool_outputfile.exe
6686 1.1.1.3 spz ;;
6687 1.1.1.3 spz esac~
6688 1.1.1.3 spz func_to_tool_file "$lt_outputfile"~
6689 1.1.1.3 spz if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
6690 1.1.1.3 spz $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6691 1.1.1.3 spz $RM "$lt_outputfile.manifest";
6692 1.1.1.3 spz fi'
6693 1.1 spz ;;
6694 1.1 spz *)
6695 1.1 spz # g++
6696 1.1 spz # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6697 1.1 spz # as there is no search path for DLLs.
6698 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6699 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
6700 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6701 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
6702 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6703 1.1 spz
6704 1.1 spz if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6705 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6706 1.1.1.3 spz # If the export-symbols file already is a .def file, use it as
6707 1.1.1.3 spz # is; otherwise, prepend EXPORTS...
6708 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6709 1.1.1.3 spz cp $export_symbols $output_objdir/$soname.def;
6710 1.1.1.3 spz else
6711 1.1.1.3 spz echo EXPORTS > $output_objdir/$soname.def;
6712 1.1.1.3 spz cat $export_symbols >> $output_objdir/$soname.def;
6713 1.1.1.3 spz fi~
6714 1.1.1.3 spz $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6715 1.1 spz else
6716 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6717 1.1 spz fi
6718 1.1 spz ;;
6719 1.1 spz esac
6720 1.1 spz ;;
6721 1.1 spz darwin* | rhapsody*)
6722 1.1 spz _LT_DARWIN_LINKER_FEATURES($1)
6723 1.1 spz ;;
6724 1.1 spz
6725 1.1.1.3 spz os2*)
6726 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6727 1.1.1.3 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6728 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6729 1.1.1.3 spz shrext_cmds=.dll
6730 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6731 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6732 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6733 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
6734 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6735 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6736 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
6737 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6738 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6739 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6740 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
6741 1.1.1.3 spz prefix_cmds="$SED"~
6742 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
6743 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
6744 1.1.1.3 spz fi~
6745 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6746 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6747 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6748 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
6749 1.1.1.3 spz _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6750 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6751 1.1.1.3 spz ;;
6752 1.1.1.3 spz
6753 1.1 spz dgux*)
6754 1.1 spz case $cc_basename in
6755 1.1 spz ec++*)
6756 1.1 spz # FIXME: insert proper C++ library support
6757 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6758 1.1 spz ;;
6759 1.1 spz ghcx*)
6760 1.1 spz # Green Hills C++ Compiler
6761 1.1 spz # FIXME: insert proper C++ library support
6762 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6763 1.1 spz ;;
6764 1.1 spz *)
6765 1.1 spz # FIXME: insert proper C++ library support
6766 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6767 1.1 spz ;;
6768 1.1 spz esac
6769 1.1 spz ;;
6770 1.1 spz
6771 1.1.1.2 spz freebsd2.*)
6772 1.1 spz # C++ shared libraries reported to be fairly broken before
6773 1.1 spz # switch to ELF
6774 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6775 1.1 spz ;;
6776 1.1 spz
6777 1.1 spz freebsd-elf*)
6778 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6779 1.1 spz ;;
6780 1.1 spz
6781 1.1 spz freebsd* | dragonfly*)
6782 1.1 spz # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6783 1.1 spz # conventions
6784 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6785 1.1 spz ;;
6786 1.1 spz
6787 1.1 spz haiku*)
6788 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6789 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6790 1.1 spz ;;
6791 1.1 spz
6792 1.1 spz hpux9*)
6793 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6794 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6795 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6796 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6797 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6798 1.1 spz # but as the default
6799 1.1 spz # location of the library.
6800 1.1 spz
6801 1.1 spz case $cc_basename in
6802 1.1 spz CC*)
6803 1.1 spz # FIXME: insert proper C++ library support
6804 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6805 1.1 spz ;;
6806 1.1 spz aCC*)
6807 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6808 1.1 spz # Commands to make compiler produce verbose output that lists
6809 1.1 spz # what "hidden" libraries, object files and flags are used when
6810 1.1 spz # linking a shared library.
6811 1.1 spz #
6812 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6813 1.1 spz # explicitly linking system object files so we need to strip them
6814 1.1 spz # from the output so that they don't get included in the library
6815 1.1 spz # dependencies.
6816 1.1.1.3 spz output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6817 1.1 spz ;;
6818 1.1 spz *)
6819 1.1.1.3 spz if test yes = "$GXX"; then
6820 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
6821 1.1 spz else
6822 1.1 spz # FIXME: insert proper C++ library support
6823 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6824 1.1 spz fi
6825 1.1 spz ;;
6826 1.1 spz esac
6827 1.1 spz ;;
6828 1.1 spz
6829 1.1 spz hpux10*|hpux11*)
6830 1.1.1.3 spz if test no = "$with_gnu_ld"; then
6831 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6832 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6833 1.1 spz
6834 1.1 spz case $host_cpu in
6835 1.1 spz hppa*64*|ia64*)
6836 1.1 spz ;;
6837 1.1 spz *)
6838 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6839 1.1 spz ;;
6840 1.1 spz esac
6841 1.1 spz fi
6842 1.1 spz case $host_cpu in
6843 1.1 spz hppa*64*|ia64*)
6844 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6845 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6846 1.1 spz ;;
6847 1.1 spz *)
6848 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6849 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6850 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6851 1.1 spz # but as the default
6852 1.1 spz # location of the library.
6853 1.1 spz ;;
6854 1.1 spz esac
6855 1.1 spz
6856 1.1 spz case $cc_basename in
6857 1.1 spz CC*)
6858 1.1 spz # FIXME: insert proper C++ library support
6859 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6860 1.1 spz ;;
6861 1.1 spz aCC*)
6862 1.1 spz case $host_cpu in
6863 1.1 spz hppa*64*)
6864 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6865 1.1 spz ;;
6866 1.1 spz ia64*)
6867 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6868 1.1 spz ;;
6869 1.1 spz *)
6870 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6871 1.1 spz ;;
6872 1.1 spz esac
6873 1.1 spz # Commands to make compiler produce verbose output that lists
6874 1.1 spz # what "hidden" libraries, object files and flags are used when
6875 1.1 spz # linking a shared library.
6876 1.1 spz #
6877 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6878 1.1 spz # explicitly linking system object files so we need to strip them
6879 1.1 spz # from the output so that they don't get included in the library
6880 1.1 spz # dependencies.
6881 1.1.1.3 spz output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6882 1.1 spz ;;
6883 1.1 spz *)
6884 1.1.1.3 spz if test yes = "$GXX"; then
6885 1.1.1.3 spz if test no = "$with_gnu_ld"; then
6886 1.1 spz case $host_cpu in
6887 1.1 spz hppa*64*)
6888 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6889 1.1 spz ;;
6890 1.1 spz ia64*)
6891 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6892 1.1 spz ;;
6893 1.1 spz *)
6894 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6895 1.1 spz ;;
6896 1.1 spz esac
6897 1.1 spz fi
6898 1.1 spz else
6899 1.1 spz # FIXME: insert proper C++ library support
6900 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6901 1.1 spz fi
6902 1.1 spz ;;
6903 1.1 spz esac
6904 1.1 spz ;;
6905 1.1 spz
6906 1.1 spz interix[[3-9]]*)
6907 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6908 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6909 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6910 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6911 1.1 spz # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6912 1.1 spz # Instead, shared libraries are loaded at an image base (0x10000000 by
6913 1.1 spz # default) and relocated if they conflict, which is a slow very memory
6914 1.1 spz # consuming and fragmenting process. To avoid this, we pick a random,
6915 1.1 spz # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6916 1.1 spz # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6917 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6918 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6919 1.1 spz ;;
6920 1.1 spz irix5* | irix6*)
6921 1.1 spz case $cc_basename in
6922 1.1 spz CC*)
6923 1.1 spz # SGI C++
6924 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
6925 1.1 spz
6926 1.1 spz # Archives containing C++ object files must be created using
6927 1.1 spz # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6928 1.1 spz # necessary to make sure instantiated templates are included
6929 1.1 spz # in the archive.
6930 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6931 1.1 spz ;;
6932 1.1 spz *)
6933 1.1.1.3 spz if test yes = "$GXX"; then
6934 1.1.1.3 spz if test no = "$with_gnu_ld"; then
6935 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
6936 1.1 spz else
6937 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
6938 1.1 spz fi
6939 1.1 spz fi
6940 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6941 1.1 spz ;;
6942 1.1 spz esac
6943 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6944 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6945 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=yes
6946 1.1 spz ;;
6947 1.1 spz
6948 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6949 1.1 spz case $cc_basename in
6950 1.1 spz KCC*)
6951 1.1 spz # Kuck and Associates, Inc. (KAI) C++ Compiler
6952 1.1 spz
6953 1.1 spz # KCC will only create a shared library if the output file
6954 1.1 spz # ends with ".so" (or ".sl" for HP-UX), so rename the library
6955 1.1 spz # to its proper name (with version) after linking.
6956 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6957 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
6958 1.1 spz # Commands to make compiler produce verbose output that lists
6959 1.1 spz # what "hidden" libraries, object files and flags are used when
6960 1.1 spz # linking a shared library.
6961 1.1 spz #
6962 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6963 1.1 spz # explicitly linking system object files so we need to strip them
6964 1.1 spz # from the output so that they don't get included in the library
6965 1.1 spz # dependencies.
6966 1.1.1.3 spz output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6967 1.1 spz
6968 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6969 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6970 1.1 spz
6971 1.1 spz # Archives containing C++ object files must be created using
6972 1.1 spz # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6973 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6974 1.1 spz ;;
6975 1.1 spz icpc* | ecpc* )
6976 1.1 spz # Intel C++
6977 1.1 spz with_gnu_ld=yes
6978 1.1 spz # version 8.0 and above of icpc choke on multiply defined symbols
6979 1.1 spz # if we add $predep_objects and $postdep_objects, however 7.1 and
6980 1.1 spz # earlier do not add the objects themselves.
6981 1.1 spz case `$CC -V 2>&1` in
6982 1.1 spz *"Version 7."*)
6983 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
6984 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6985 1.1 spz ;;
6986 1.1 spz *) # Version 8.0 or newer
6987 1.1 spz tmp_idyn=
6988 1.1 spz case $host_cpu in
6989 1.1 spz ia64*) tmp_idyn=' -i_dynamic';;
6990 1.1 spz esac
6991 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6992 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
6993 1.1 spz ;;
6994 1.1 spz esac
6995 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6996 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6997 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6998 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6999 1.1 spz ;;
7000 1.1 spz pgCC* | pgcpp*)
7001 1.1 spz # Portland Group C++ compiler
7002 1.1 spz case `$CC -V` in
7003 1.1 spz *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
7004 1.1 spz _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
7005 1.1.1.3 spz rm -rf $tpldir~
7006 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
7007 1.1.1.3 spz compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
7008 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
7009 1.1.1.3 spz rm -rf $tpldir~
7010 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
7011 1.1.1.3 spz $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
7012 1.1.1.3 spz $RANLIB $oldlib'
7013 1.1 spz _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
7014 1.1.1.3 spz rm -rf $tpldir~
7015 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7016 1.1.1.3 spz $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7017 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
7018 1.1.1.3 spz rm -rf $tpldir~
7019 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7020 1.1.1.3 spz $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7021 1.1 spz ;;
7022 1.1 spz *) # Version 6 and above use weak symbols
7023 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7024 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
7025 1.1 spz ;;
7026 1.1 spz esac
7027 1.1 spz
7028 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7029 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7030 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7031 1.1 spz ;;
7032 1.1 spz cxx*)
7033 1.1 spz # Compaq C++
7034 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
7035 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
7036 1.1 spz
7037 1.1 spz runpath_var=LD_RUN_PATH
7038 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7039 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7040 1.1 spz
7041 1.1 spz # Commands to make compiler produce verbose output that lists
7042 1.1 spz # what "hidden" libraries, object files and flags are used when
7043 1.1 spz # linking a shared library.
7044 1.1 spz #
7045 1.1 spz # There doesn't appear to be a way to prevent this compiler from
7046 1.1 spz # explicitly linking system object files so we need to strip them
7047 1.1 spz # from the output so that they don't get included in the library
7048 1.1 spz # dependencies.
7049 1.1.1.3 spz output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
7050 1.1 spz ;;
7051 1.1 spz xl* | mpixl* | bgxl*)
7052 1.1 spz # IBM XL 8.0 on PPC, with GNU ld
7053 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7054 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7055 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7056 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
7057 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7058 1.1.1.3 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7059 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
7060 1.1.1.3 spz $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
7061 1.1 spz fi
7062 1.1 spz ;;
7063 1.1 spz *)
7064 1.1 spz case `$CC -V 2>&1 | sed 5q` in
7065 1.1 spz *Sun\ C*)
7066 1.1 spz # Sun C++ 5.9
7067 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7068 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7069 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
7070 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7071 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
7072 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
7073 1.1 spz
7074 1.1 spz # Not sure whether something based on
7075 1.1 spz # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
7076 1.1 spz # would be better.
7077 1.1 spz output_verbose_link_cmd='func_echo_all'
7078 1.1 spz
7079 1.1 spz # Archives containing C++ object files must be created using
7080 1.1 spz # "CC -xar", where "CC" is the Sun C++ compiler. This is
7081 1.1 spz # necessary to make sure instantiated templates are included
7082 1.1 spz # in the archive.
7083 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7084 1.1 spz ;;
7085 1.1 spz esac
7086 1.1 spz ;;
7087 1.1 spz esac
7088 1.1 spz ;;
7089 1.1 spz
7090 1.1 spz lynxos*)
7091 1.1 spz # FIXME: insert proper C++ library support
7092 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7093 1.1 spz ;;
7094 1.1 spz
7095 1.1 spz m88k*)
7096 1.1 spz # FIXME: insert proper C++ library support
7097 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7098 1.1 spz ;;
7099 1.1 spz
7100 1.1 spz mvs*)
7101 1.1 spz case $cc_basename in
7102 1.1 spz cxx*)
7103 1.1 spz # FIXME: insert proper C++ library support
7104 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7105 1.1 spz ;;
7106 1.1 spz *)
7107 1.1 spz # FIXME: insert proper C++ library support
7108 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7109 1.1 spz ;;
7110 1.1 spz esac
7111 1.1 spz ;;
7112 1.1 spz
7113 1.1 spz netbsd*)
7114 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7115 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
7116 1.1 spz wlarc=
7117 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7118 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
7119 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7120 1.1 spz fi
7121 1.1 spz # Workaround some broken pre-1.5 toolchains
7122 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
7123 1.1 spz ;;
7124 1.1 spz
7125 1.1 spz *nto* | *qnx*)
7126 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
7127 1.1 spz ;;
7128 1.1 spz
7129 1.1.1.3 spz openbsd* | bitrig*)
7130 1.1 spz if test -f /usr/libexec/ld.so; then
7131 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
7132 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7133 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7134 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7135 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7136 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7137 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
7138 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7139 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
7140 1.1 spz fi
7141 1.1 spz output_verbose_link_cmd=func_echo_all
7142 1.1 spz else
7143 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7144 1.1 spz fi
7145 1.1 spz ;;
7146 1.1 spz
7147 1.1 spz osf3* | osf4* | osf5*)
7148 1.1 spz case $cc_basename in
7149 1.1 spz KCC*)
7150 1.1 spz # Kuck and Associates, Inc. (KAI) C++ Compiler
7151 1.1 spz
7152 1.1 spz # KCC will only create a shared library if the output file
7153 1.1 spz # ends with ".so" (or ".sl" for HP-UX), so rename the library
7154 1.1 spz # to its proper name (with version) after linking.
7155 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
7156 1.1 spz
7157 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7158 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7159 1.1 spz
7160 1.1 spz # Archives containing C++ object files must be created using
7161 1.1 spz # the KAI C++ compiler.
7162 1.1 spz case $host in
7163 1.1 spz osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
7164 1.1 spz *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
7165 1.1 spz esac
7166 1.1 spz ;;
7167 1.1 spz RCC*)
7168 1.1 spz # Rational C++ 2.4.1
7169 1.1 spz # FIXME: insert proper C++ library support
7170 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7171 1.1 spz ;;
7172 1.1 spz cxx*)
7173 1.1 spz case $host in
7174 1.1 spz osf3*)
7175 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7176 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7177 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7178 1.1 spz ;;
7179 1.1 spz *)
7180 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7181 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
7182 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
7183 1.1.1.3 spz echo "-hidden">> $lib.exp~
7184 1.1.1.3 spz $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
7185 1.1.1.3 spz $RM $lib.exp'
7186 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7187 1.1 spz ;;
7188 1.1 spz esac
7189 1.1 spz
7190 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7191 1.1 spz
7192 1.1 spz # Commands to make compiler produce verbose output that lists
7193 1.1 spz # what "hidden" libraries, object files and flags are used when
7194 1.1 spz # linking a shared library.
7195 1.1 spz #
7196 1.1 spz # There doesn't appear to be a way to prevent this compiler from
7197 1.1 spz # explicitly linking system object files so we need to strip them
7198 1.1 spz # from the output so that they don't get included in the library
7199 1.1 spz # dependencies.
7200 1.1.1.3 spz output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
7201 1.1 spz ;;
7202 1.1 spz *)
7203 1.1.1.3 spz if test yes,no = "$GXX,$with_gnu_ld"; then
7204 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7205 1.1 spz case $host in
7206 1.1 spz osf3*)
7207 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7208 1.1 spz ;;
7209 1.1 spz *)
7210 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
7211 1.1 spz ;;
7212 1.1 spz esac
7213 1.1 spz
7214 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7215 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7216 1.1 spz
7217 1.1 spz # Commands to make compiler produce verbose output that lists
7218 1.1 spz # what "hidden" libraries, object files and flags are used when
7219 1.1 spz # linking a shared library.
7220 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7221 1.1 spz
7222 1.1 spz else
7223 1.1 spz # FIXME: insert proper C++ library support
7224 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7225 1.1 spz fi
7226 1.1 spz ;;
7227 1.1 spz esac
7228 1.1 spz ;;
7229 1.1 spz
7230 1.1 spz psos*)
7231 1.1 spz # FIXME: insert proper C++ library support
7232 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7233 1.1 spz ;;
7234 1.1 spz
7235 1.1 spz sunos4*)
7236 1.1 spz case $cc_basename in
7237 1.1 spz CC*)
7238 1.1 spz # Sun C++ 4.x
7239 1.1 spz # FIXME: insert proper C++ library support
7240 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7241 1.1 spz ;;
7242 1.1 spz lcc*)
7243 1.1 spz # Lucid
7244 1.1 spz # FIXME: insert proper C++ library support
7245 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7246 1.1 spz ;;
7247 1.1 spz *)
7248 1.1 spz # FIXME: insert proper C++ library support
7249 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7250 1.1 spz ;;
7251 1.1 spz esac
7252 1.1 spz ;;
7253 1.1 spz
7254 1.1 spz solaris*)
7255 1.1 spz case $cc_basename in
7256 1.1 spz CC* | sunCC*)
7257 1.1 spz # Sun C++ 4.2, 5.x and Centerline C++
7258 1.1 spz _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7259 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7260 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
7261 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7262 1.1.1.3 spz $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7263 1.1 spz
7264 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7265 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7266 1.1 spz case $host_os in
7267 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7268 1.1 spz *)
7269 1.1 spz # The compiler driver will combine and reorder linker options,
7270 1.1.1.3 spz # but understands '-z linker_flag'.
7271 1.1 spz # Supported since Solaris 2.6 (maybe 2.5.1?)
7272 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7273 1.1 spz ;;
7274 1.1 spz esac
7275 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
7276 1.1 spz
7277 1.1 spz output_verbose_link_cmd='func_echo_all'
7278 1.1 spz
7279 1.1 spz # Archives containing C++ object files must be created using
7280 1.1 spz # "CC -xar", where "CC" is the Sun C++ compiler. This is
7281 1.1 spz # necessary to make sure instantiated templates are included
7282 1.1 spz # in the archive.
7283 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7284 1.1 spz ;;
7285 1.1 spz gcx*)
7286 1.1 spz # Green Hills C++ Compiler
7287 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7288 1.1 spz
7289 1.1 spz # The C++ compiler must be used to create the archive.
7290 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7291 1.1 spz ;;
7292 1.1 spz *)
7293 1.1 spz # GNU C++ compiler with Solaris linker
7294 1.1.1.3 spz if test yes,no = "$GXX,$with_gnu_ld"; then
7295 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
7296 1.1 spz if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7297 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7298 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7299 1.1.1.3 spz $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7300 1.1 spz
7301 1.1 spz # Commands to make compiler produce verbose output that lists
7302 1.1 spz # what "hidden" libraries, object files and flags are used when
7303 1.1 spz # linking a shared library.
7304 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7305 1.1 spz else
7306 1.1.1.3 spz # g++ 2.7 appears to require '-G' NOT '-shared' on this
7307 1.1 spz # platform.
7308 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
7309 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7310 1.1.1.3 spz $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
7311 1.1 spz
7312 1.1 spz # Commands to make compiler produce verbose output that lists
7313 1.1 spz # what "hidden" libraries, object files and flags are used when
7314 1.1 spz # linking a shared library.
7315 1.1 spz output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7316 1.1 spz fi
7317 1.1 spz
7318 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
7319 1.1 spz case $host_os in
7320 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7321 1.1 spz *)
7322 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
7323 1.1 spz ;;
7324 1.1 spz esac
7325 1.1 spz fi
7326 1.1 spz ;;
7327 1.1 spz esac
7328 1.1 spz ;;
7329 1.1 spz
7330 1.1 spz sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7331 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7332 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7333 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7334 1.1 spz runpath_var='LD_RUN_PATH'
7335 1.1 spz
7336 1.1 spz case $cc_basename in
7337 1.1 spz CC*)
7338 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7339 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7340 1.1 spz ;;
7341 1.1 spz *)
7342 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7343 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7344 1.1 spz ;;
7345 1.1 spz esac
7346 1.1 spz ;;
7347 1.1 spz
7348 1.1 spz sysv5* | sco3.2v5* | sco5v6*)
7349 1.1.1.3 spz # Note: We CANNOT use -z defs as we might desire, because we do not
7350 1.1 spz # link with -lc, and that would cause any symbols used from libc to
7351 1.1 spz # always be unresolved, which means just about no library would
7352 1.1 spz # ever link correctly. If we're not using GNU ld we use -z text
7353 1.1 spz # though, which does catch some bad symbols but isn't as heavy-handed
7354 1.1 spz # as -z defs.
7355 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7356 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
7357 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7358 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7359 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
7360 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7361 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
7362 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
7363 1.1 spz runpath_var='LD_RUN_PATH'
7364 1.1 spz
7365 1.1 spz case $cc_basename in
7366 1.1 spz CC*)
7367 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7368 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7369 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
7370 1.1.1.3 spz '"$_LT_TAGVAR(old_archive_cmds, $1)"
7371 1.1 spz _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
7372 1.1.1.3 spz '"$_LT_TAGVAR(reload_cmds, $1)"
7373 1.1 spz ;;
7374 1.1 spz *)
7375 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7376 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7377 1.1 spz ;;
7378 1.1 spz esac
7379 1.1 spz ;;
7380 1.1 spz
7381 1.1 spz tandem*)
7382 1.1 spz case $cc_basename in
7383 1.1 spz NCC*)
7384 1.1 spz # NonStop-UX NCC 3.20
7385 1.1 spz # FIXME: insert proper C++ library support
7386 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7387 1.1 spz ;;
7388 1.1 spz *)
7389 1.1 spz # FIXME: insert proper C++ library support
7390 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7391 1.1 spz ;;
7392 1.1 spz esac
7393 1.1 spz ;;
7394 1.1 spz
7395 1.1 spz vxworks*)
7396 1.1 spz # FIXME: insert proper C++ library support
7397 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7398 1.1 spz ;;
7399 1.1 spz
7400 1.1 spz *)
7401 1.1 spz # FIXME: insert proper C++ library support
7402 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7403 1.1 spz ;;
7404 1.1 spz esac
7405 1.1 spz
7406 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7407 1.1.1.3 spz test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
7408 1.1 spz
7409 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$GXX
7410 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7411 1.1 spz
7412 1.1 spz ## CAVEAT EMPTOR:
7413 1.1 spz ## There is no encapsulation within the following macros, do not change
7414 1.1 spz ## the running order or otherwise move them around unless you know exactly
7415 1.1 spz ## what you are doing...
7416 1.1 spz _LT_SYS_HIDDEN_LIBDEPS($1)
7417 1.1 spz _LT_COMPILER_PIC($1)
7418 1.1 spz _LT_COMPILER_C_O($1)
7419 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7420 1.1 spz _LT_LINKER_SHLIBS($1)
7421 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7422 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7423 1.1 spz
7424 1.1 spz _LT_CONFIG($1)
7425 1.1 spz fi # test -n "$compiler"
7426 1.1 spz
7427 1.1 spz CC=$lt_save_CC
7428 1.1 spz CFLAGS=$lt_save_CFLAGS
7429 1.1 spz LDCXX=$LD
7430 1.1 spz LD=$lt_save_LD
7431 1.1 spz GCC=$lt_save_GCC
7432 1.1 spz with_gnu_ld=$lt_save_with_gnu_ld
7433 1.1 spz lt_cv_path_LDCXX=$lt_cv_path_LD
7434 1.1 spz lt_cv_path_LD=$lt_save_path_LD
7435 1.1 spz lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7436 1.1 spz lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7437 1.1.1.3 spz fi # test yes != "$_lt_caught_CXX_error"
7438 1.1 spz
7439 1.1 spz AC_LANG_POP
7440 1.1 spz ])# _LT_LANG_CXX_CONFIG
7441 1.1 spz
7442 1.1 spz
7443 1.1 spz # _LT_FUNC_STRIPNAME_CNF
7444 1.1 spz # ----------------------
7445 1.1 spz # func_stripname_cnf prefix suffix name
7446 1.1 spz # strip PREFIX and SUFFIX off of NAME.
7447 1.1 spz # PREFIX and SUFFIX must not contain globbing or regex special
7448 1.1 spz # characters, hashes, percent signs, but SUFFIX may contain a leading
7449 1.1 spz # dot (in which case that matches only a dot).
7450 1.1 spz #
7451 1.1 spz # This function is identical to the (non-XSI) version of func_stripname,
7452 1.1 spz # except this one can be used by m4 code that may be executed by configure,
7453 1.1 spz # rather than the libtool script.
7454 1.1 spz m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
7455 1.1 spz AC_REQUIRE([_LT_DECL_SED])
7456 1.1 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
7457 1.1 spz func_stripname_cnf ()
7458 1.1 spz {
7459 1.1.1.3 spz case @S|@2 in
7460 1.1.1.3 spz .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7461 1.1.1.3 spz *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
7462 1.1 spz esac
7463 1.1 spz } # func_stripname_cnf
7464 1.1 spz ])# _LT_FUNC_STRIPNAME_CNF
7465 1.1 spz
7466 1.1.1.3 spz
7467 1.1 spz # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
7468 1.1 spz # ---------------------------------
7469 1.1 spz # Figure out "hidden" library dependencies from verbose
7470 1.1 spz # compiler output when linking a shared library.
7471 1.1 spz # Parse the compiler output and extract the necessary
7472 1.1 spz # objects, libraries and library flags.
7473 1.1 spz m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7474 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7475 1.1 spz AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
7476 1.1 spz # Dependencies to place before and after the object being linked:
7477 1.1 spz _LT_TAGVAR(predep_objects, $1)=
7478 1.1 spz _LT_TAGVAR(postdep_objects, $1)=
7479 1.1 spz _LT_TAGVAR(predeps, $1)=
7480 1.1 spz _LT_TAGVAR(postdeps, $1)=
7481 1.1 spz _LT_TAGVAR(compiler_lib_search_path, $1)=
7482 1.1 spz
7483 1.1 spz dnl we can't use the lt_simple_compile_test_code here,
7484 1.1 spz dnl because it contains code intended for an executable,
7485 1.1 spz dnl not a library. It's possible we should let each
7486 1.1 spz dnl tag define a new lt_????_link_test_code variable,
7487 1.1 spz dnl but it's only used here...
7488 1.1 spz m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7489 1.1 spz int a;
7490 1.1 spz void foo (void) { a = 0; }
7491 1.1 spz _LT_EOF
7492 1.1 spz ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7493 1.1 spz class Foo
7494 1.1 spz {
7495 1.1 spz public:
7496 1.1 spz Foo (void) { a = 0; }
7497 1.1 spz private:
7498 1.1 spz int a;
7499 1.1 spz };
7500 1.1 spz _LT_EOF
7501 1.1 spz ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7502 1.1 spz subroutine foo
7503 1.1 spz implicit none
7504 1.1 spz integer*4 a
7505 1.1 spz a=0
7506 1.1 spz return
7507 1.1 spz end
7508 1.1 spz _LT_EOF
7509 1.1 spz ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7510 1.1 spz subroutine foo
7511 1.1 spz implicit none
7512 1.1 spz integer a
7513 1.1 spz a=0
7514 1.1 spz return
7515 1.1 spz end
7516 1.1 spz _LT_EOF
7517 1.1 spz ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7518 1.1 spz public class foo {
7519 1.1 spz private int a;
7520 1.1 spz public void bar (void) {
7521 1.1 spz a = 0;
7522 1.1 spz }
7523 1.1 spz };
7524 1.1 spz _LT_EOF
7525 1.1.1.2 spz ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
7526 1.1.1.2 spz package foo
7527 1.1.1.2 spz func foo() {
7528 1.1.1.2 spz }
7529 1.1.1.2 spz _LT_EOF
7530 1.1 spz ])
7531 1.1 spz
7532 1.1 spz _lt_libdeps_save_CFLAGS=$CFLAGS
7533 1.1 spz case "$CC $CFLAGS " in #(
7534 1.1 spz *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7535 1.1 spz *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
7536 1.1.1.2 spz *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7537 1.1 spz esac
7538 1.1 spz
7539 1.1 spz dnl Parse the compiler output and extract the necessary
7540 1.1 spz dnl objects, libraries and library flags.
7541 1.1 spz if AC_TRY_EVAL(ac_compile); then
7542 1.1 spz # Parse the compiler output and extract the necessary
7543 1.1 spz # objects, libraries and library flags.
7544 1.1 spz
7545 1.1 spz # Sentinel used to keep track of whether or not we are before
7546 1.1 spz # the conftest object file.
7547 1.1 spz pre_test_object_deps_done=no
7548 1.1 spz
7549 1.1 spz for p in `eval "$output_verbose_link_cmd"`; do
7550 1.1.1.3 spz case $prev$p in
7551 1.1 spz
7552 1.1 spz -L* | -R* | -l*)
7553 1.1 spz # Some compilers place space between "-{L,R}" and the path.
7554 1.1 spz # Remove the space.
7555 1.1.1.3 spz if test x-L = "$p" ||
7556 1.1.1.3 spz test x-R = "$p"; then
7557 1.1 spz prev=$p
7558 1.1 spz continue
7559 1.1 spz fi
7560 1.1 spz
7561 1.1 spz # Expand the sysroot to ease extracting the directories later.
7562 1.1 spz if test -z "$prev"; then
7563 1.1 spz case $p in
7564 1.1 spz -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7565 1.1 spz -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7566 1.1 spz -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7567 1.1 spz esac
7568 1.1 spz fi
7569 1.1 spz case $p in
7570 1.1 spz =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7571 1.1 spz esac
7572 1.1.1.3 spz if test no = "$pre_test_object_deps_done"; then
7573 1.1.1.3 spz case $prev in
7574 1.1 spz -L | -R)
7575 1.1 spz # Internal compiler library paths should come after those
7576 1.1 spz # provided the user. The postdeps already come after the
7577 1.1 spz # user supplied libs so there is no need to process them.
7578 1.1 spz if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7579 1.1.1.3 spz _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
7580 1.1 spz else
7581 1.1.1.3 spz _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
7582 1.1 spz fi
7583 1.1 spz ;;
7584 1.1 spz # The "-l" case would never come before the object being
7585 1.1 spz # linked, so don't bother handling this case.
7586 1.1 spz esac
7587 1.1 spz else
7588 1.1 spz if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7589 1.1.1.3 spz _LT_TAGVAR(postdeps, $1)=$prev$p
7590 1.1 spz else
7591 1.1.1.3 spz _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
7592 1.1 spz fi
7593 1.1 spz fi
7594 1.1 spz prev=
7595 1.1 spz ;;
7596 1.1 spz
7597 1.1 spz *.lto.$objext) ;; # Ignore GCC LTO objects
7598 1.1 spz *.$objext)
7599 1.1 spz # This assumes that the test object file only shows up
7600 1.1 spz # once in the compiler output.
7601 1.1 spz if test "$p" = "conftest.$objext"; then
7602 1.1 spz pre_test_object_deps_done=yes
7603 1.1 spz continue
7604 1.1 spz fi
7605 1.1 spz
7606 1.1.1.3 spz if test no = "$pre_test_object_deps_done"; then
7607 1.1 spz if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7608 1.1.1.3 spz _LT_TAGVAR(predep_objects, $1)=$p
7609 1.1 spz else
7610 1.1 spz _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7611 1.1 spz fi
7612 1.1 spz else
7613 1.1 spz if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7614 1.1.1.3 spz _LT_TAGVAR(postdep_objects, $1)=$p
7615 1.1 spz else
7616 1.1 spz _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7617 1.1 spz fi
7618 1.1 spz fi
7619 1.1 spz ;;
7620 1.1 spz
7621 1.1 spz *) ;; # Ignore the rest.
7622 1.1 spz
7623 1.1 spz esac
7624 1.1 spz done
7625 1.1 spz
7626 1.1 spz # Clean up.
7627 1.1 spz rm -f a.out a.exe
7628 1.1 spz else
7629 1.1 spz echo "libtool.m4: error: problem compiling $1 test program"
7630 1.1 spz fi
7631 1.1 spz
7632 1.1 spz $RM -f confest.$objext
7633 1.1 spz CFLAGS=$_lt_libdeps_save_CFLAGS
7634 1.1 spz
7635 1.1 spz # PORTME: override above test on systems where it is broken
7636 1.1 spz m4_if([$1], [CXX],
7637 1.1 spz [case $host_os in
7638 1.1 spz interix[[3-9]]*)
7639 1.1 spz # Interix 3.5 installs completely hosed .la files for C++, so rather than
7640 1.1 spz # hack all around it, let's just trust "g++" to DTRT.
7641 1.1 spz _LT_TAGVAR(predep_objects,$1)=
7642 1.1 spz _LT_TAGVAR(postdep_objects,$1)=
7643 1.1 spz _LT_TAGVAR(postdeps,$1)=
7644 1.1 spz ;;
7645 1.1 spz esac
7646 1.1 spz ])
7647 1.1 spz
7648 1.1 spz case " $_LT_TAGVAR(postdeps, $1) " in
7649 1.1 spz *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7650 1.1 spz esac
7651 1.1 spz _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7652 1.1 spz if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7653 1.1.1.3 spz _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
7654 1.1 spz fi
7655 1.1 spz _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7656 1.1 spz [The directories searched by this compiler when creating a shared library])
7657 1.1 spz _LT_TAGDECL([], [predep_objects], [1],
7658 1.1 spz [Dependencies to place before and after the objects being linked to
7659 1.1 spz create a shared library])
7660 1.1 spz _LT_TAGDECL([], [postdep_objects], [1])
7661 1.1 spz _LT_TAGDECL([], [predeps], [1])
7662 1.1 spz _LT_TAGDECL([], [postdeps], [1])
7663 1.1 spz _LT_TAGDECL([], [compiler_lib_search_path], [1],
7664 1.1 spz [The library search path used internally by the compiler when linking
7665 1.1 spz a shared library])
7666 1.1 spz ])# _LT_SYS_HIDDEN_LIBDEPS
7667 1.1 spz
7668 1.1 spz
7669 1.1 spz # _LT_LANG_F77_CONFIG([TAG])
7670 1.1 spz # --------------------------
7671 1.1 spz # Ensure that the configuration variables for a Fortran 77 compiler are
7672 1.1 spz # suitably defined. These variables are subsequently used by _LT_CONFIG
7673 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
7674 1.1 spz m4_defun([_LT_LANG_F77_CONFIG],
7675 1.1 spz [AC_LANG_PUSH(Fortran 77)
7676 1.1.1.3 spz if test -z "$F77" || test no = "$F77"; then
7677 1.1 spz _lt_disable_F77=yes
7678 1.1 spz fi
7679 1.1 spz
7680 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7681 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
7682 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
7683 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
7684 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7685 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7686 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7687 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7688 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
7689 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
7690 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
7691 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
7692 1.1 spz _LT_TAGVAR(module_cmds, $1)=
7693 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
7694 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
7695 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7696 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7697 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7698 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
7699 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
7700 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7701 1.1 spz
7702 1.1 spz # Source file extension for f77 test sources.
7703 1.1 spz ac_ext=f
7704 1.1 spz
7705 1.1 spz # Object file extension for compiled f77 test sources.
7706 1.1 spz objext=o
7707 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7708 1.1 spz
7709 1.1 spz # No sense in running all these tests if we already determined that
7710 1.1 spz # the F77 compiler isn't working. Some variables (like enable_shared)
7711 1.1 spz # are currently assumed to apply to all compilers on this platform,
7712 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
7713 1.1.1.3 spz if test yes != "$_lt_disable_F77"; then
7714 1.1 spz # Code to be used in simple compile tests
7715 1.1 spz lt_simple_compile_test_code="\
7716 1.1 spz subroutine t
7717 1.1 spz return
7718 1.1 spz end
7719 1.1 spz "
7720 1.1 spz
7721 1.1 spz # Code to be used in simple link tests
7722 1.1 spz lt_simple_link_test_code="\
7723 1.1 spz program t
7724 1.1 spz end
7725 1.1 spz "
7726 1.1 spz
7727 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7728 1.1 spz _LT_TAG_COMPILER
7729 1.1 spz
7730 1.1 spz # save warnings/boilerplate of simple test code
7731 1.1 spz _LT_COMPILER_BOILERPLATE
7732 1.1 spz _LT_LINKER_BOILERPLATE
7733 1.1 spz
7734 1.1 spz # Allow CC to be a program name with arguments.
7735 1.1.1.3 spz lt_save_CC=$CC
7736 1.1 spz lt_save_GCC=$GCC
7737 1.1 spz lt_save_CFLAGS=$CFLAGS
7738 1.1 spz CC=${F77-"f77"}
7739 1.1 spz CFLAGS=$FFLAGS
7740 1.1 spz compiler=$CC
7741 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7742 1.1 spz _LT_CC_BASENAME([$compiler])
7743 1.1 spz GCC=$G77
7744 1.1 spz if test -n "$compiler"; then
7745 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
7746 1.1 spz AC_MSG_RESULT([$can_build_shared])
7747 1.1 spz
7748 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
7749 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
7750 1.1 spz
7751 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
7752 1.1 spz # are all built from PIC.
7753 1.1 spz case $host_os in
7754 1.1 spz aix3*)
7755 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
7756 1.1 spz if test -n "$RANLIB"; then
7757 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
7758 1.1 spz postinstall_cmds='$RANLIB $lib'
7759 1.1 spz fi
7760 1.1 spz ;;
7761 1.1 spz aix[[4-9]]*)
7762 1.1.1.3 spz if test ia64 != "$host_cpu"; then
7763 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7764 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
7765 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
7766 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
7767 1.1.1.3 spz esac
7768 1.1 spz fi
7769 1.1 spz ;;
7770 1.1 spz esac
7771 1.1 spz AC_MSG_RESULT([$enable_shared])
7772 1.1 spz
7773 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
7774 1.1 spz # Make sure either enable_shared or enable_static is yes.
7775 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
7776 1.1 spz AC_MSG_RESULT([$enable_static])
7777 1.1 spz
7778 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$G77
7779 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7780 1.1 spz
7781 1.1 spz ## CAVEAT EMPTOR:
7782 1.1 spz ## There is no encapsulation within the following macros, do not change
7783 1.1 spz ## the running order or otherwise move them around unless you know exactly
7784 1.1 spz ## what you are doing...
7785 1.1 spz _LT_COMPILER_PIC($1)
7786 1.1 spz _LT_COMPILER_C_O($1)
7787 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7788 1.1 spz _LT_LINKER_SHLIBS($1)
7789 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7790 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7791 1.1 spz
7792 1.1 spz _LT_CONFIG($1)
7793 1.1 spz fi # test -n "$compiler"
7794 1.1 spz
7795 1.1 spz GCC=$lt_save_GCC
7796 1.1.1.3 spz CC=$lt_save_CC
7797 1.1.1.3 spz CFLAGS=$lt_save_CFLAGS
7798 1.1.1.3 spz fi # test yes != "$_lt_disable_F77"
7799 1.1 spz
7800 1.1 spz AC_LANG_POP
7801 1.1 spz ])# _LT_LANG_F77_CONFIG
7802 1.1 spz
7803 1.1 spz
7804 1.1 spz # _LT_LANG_FC_CONFIG([TAG])
7805 1.1 spz # -------------------------
7806 1.1 spz # Ensure that the configuration variables for a Fortran compiler are
7807 1.1 spz # suitably defined. These variables are subsequently used by _LT_CONFIG
7808 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
7809 1.1 spz m4_defun([_LT_LANG_FC_CONFIG],
7810 1.1 spz [AC_LANG_PUSH(Fortran)
7811 1.1 spz
7812 1.1.1.3 spz if test -z "$FC" || test no = "$FC"; then
7813 1.1 spz _lt_disable_FC=yes
7814 1.1 spz fi
7815 1.1 spz
7816 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7817 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
7818 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
7819 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
7820 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7821 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7822 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7823 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7824 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
7825 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
7826 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
7827 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
7828 1.1 spz _LT_TAGVAR(module_cmds, $1)=
7829 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
7830 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
7831 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7832 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7833 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7834 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
7835 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
7836 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7837 1.1 spz
7838 1.1 spz # Source file extension for fc test sources.
7839 1.1 spz ac_ext=${ac_fc_srcext-f}
7840 1.1 spz
7841 1.1 spz # Object file extension for compiled fc test sources.
7842 1.1 spz objext=o
7843 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7844 1.1 spz
7845 1.1 spz # No sense in running all these tests if we already determined that
7846 1.1 spz # the FC compiler isn't working. Some variables (like enable_shared)
7847 1.1 spz # are currently assumed to apply to all compilers on this platform,
7848 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
7849 1.1.1.3 spz if test yes != "$_lt_disable_FC"; then
7850 1.1 spz # Code to be used in simple compile tests
7851 1.1 spz lt_simple_compile_test_code="\
7852 1.1 spz subroutine t
7853 1.1 spz return
7854 1.1 spz end
7855 1.1 spz "
7856 1.1 spz
7857 1.1 spz # Code to be used in simple link tests
7858 1.1 spz lt_simple_link_test_code="\
7859 1.1 spz program t
7860 1.1 spz end
7861 1.1 spz "
7862 1.1 spz
7863 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7864 1.1 spz _LT_TAG_COMPILER
7865 1.1 spz
7866 1.1 spz # save warnings/boilerplate of simple test code
7867 1.1 spz _LT_COMPILER_BOILERPLATE
7868 1.1 spz _LT_LINKER_BOILERPLATE
7869 1.1 spz
7870 1.1 spz # Allow CC to be a program name with arguments.
7871 1.1.1.3 spz lt_save_CC=$CC
7872 1.1 spz lt_save_GCC=$GCC
7873 1.1 spz lt_save_CFLAGS=$CFLAGS
7874 1.1 spz CC=${FC-"f95"}
7875 1.1 spz CFLAGS=$FCFLAGS
7876 1.1 spz compiler=$CC
7877 1.1 spz GCC=$ac_cv_fc_compiler_gnu
7878 1.1 spz
7879 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7880 1.1 spz _LT_CC_BASENAME([$compiler])
7881 1.1 spz
7882 1.1 spz if test -n "$compiler"; then
7883 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
7884 1.1 spz AC_MSG_RESULT([$can_build_shared])
7885 1.1 spz
7886 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
7887 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
7888 1.1 spz
7889 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
7890 1.1 spz # are all built from PIC.
7891 1.1 spz case $host_os in
7892 1.1 spz aix3*)
7893 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
7894 1.1 spz if test -n "$RANLIB"; then
7895 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
7896 1.1 spz postinstall_cmds='$RANLIB $lib'
7897 1.1 spz fi
7898 1.1 spz ;;
7899 1.1 spz aix[[4-9]]*)
7900 1.1.1.3 spz if test ia64 != "$host_cpu"; then
7901 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7902 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
7903 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
7904 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
7905 1.1.1.3 spz esac
7906 1.1 spz fi
7907 1.1 spz ;;
7908 1.1 spz esac
7909 1.1 spz AC_MSG_RESULT([$enable_shared])
7910 1.1 spz
7911 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
7912 1.1 spz # Make sure either enable_shared or enable_static is yes.
7913 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
7914 1.1 spz AC_MSG_RESULT([$enable_static])
7915 1.1 spz
7916 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
7917 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7918 1.1 spz
7919 1.1 spz ## CAVEAT EMPTOR:
7920 1.1 spz ## There is no encapsulation within the following macros, do not change
7921 1.1 spz ## the running order or otherwise move them around unless you know exactly
7922 1.1 spz ## what you are doing...
7923 1.1 spz _LT_SYS_HIDDEN_LIBDEPS($1)
7924 1.1 spz _LT_COMPILER_PIC($1)
7925 1.1 spz _LT_COMPILER_C_O($1)
7926 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7927 1.1 spz _LT_LINKER_SHLIBS($1)
7928 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7929 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7930 1.1 spz
7931 1.1 spz _LT_CONFIG($1)
7932 1.1 spz fi # test -n "$compiler"
7933 1.1 spz
7934 1.1 spz GCC=$lt_save_GCC
7935 1.1 spz CC=$lt_save_CC
7936 1.1 spz CFLAGS=$lt_save_CFLAGS
7937 1.1.1.3 spz fi # test yes != "$_lt_disable_FC"
7938 1.1 spz
7939 1.1 spz AC_LANG_POP
7940 1.1 spz ])# _LT_LANG_FC_CONFIG
7941 1.1 spz
7942 1.1 spz
7943 1.1 spz # _LT_LANG_GCJ_CONFIG([TAG])
7944 1.1 spz # --------------------------
7945 1.1 spz # Ensure that the configuration variables for the GNU Java Compiler compiler
7946 1.1 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
7947 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
7948 1.1 spz m4_defun([_LT_LANG_GCJ_CONFIG],
7949 1.1 spz [AC_REQUIRE([LT_PROG_GCJ])dnl
7950 1.1 spz AC_LANG_SAVE
7951 1.1 spz
7952 1.1 spz # Source file extension for Java test sources.
7953 1.1 spz ac_ext=java
7954 1.1 spz
7955 1.1 spz # Object file extension for compiled Java test sources.
7956 1.1 spz objext=o
7957 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7958 1.1 spz
7959 1.1 spz # Code to be used in simple compile tests
7960 1.1 spz lt_simple_compile_test_code="class foo {}"
7961 1.1 spz
7962 1.1 spz # Code to be used in simple link tests
7963 1.1 spz lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7964 1.1 spz
7965 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7966 1.1 spz _LT_TAG_COMPILER
7967 1.1 spz
7968 1.1 spz # save warnings/boilerplate of simple test code
7969 1.1 spz _LT_COMPILER_BOILERPLATE
7970 1.1 spz _LT_LINKER_BOILERPLATE
7971 1.1 spz
7972 1.1 spz # Allow CC to be a program name with arguments.
7973 1.1 spz lt_save_CC=$CC
7974 1.1 spz lt_save_CFLAGS=$CFLAGS
7975 1.1 spz lt_save_GCC=$GCC
7976 1.1 spz GCC=yes
7977 1.1 spz CC=${GCJ-"gcj"}
7978 1.1 spz CFLAGS=$GCJFLAGS
7979 1.1 spz compiler=$CC
7980 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7981 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7982 1.1 spz _LT_CC_BASENAME([$compiler])
7983 1.1 spz
7984 1.1 spz # GCJ did not exist at the time GCC didn't implicitly link libc in.
7985 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7986 1.1 spz
7987 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7988 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7989 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7990 1.1 spz
7991 1.1 spz ## CAVEAT EMPTOR:
7992 1.1 spz ## There is no encapsulation within the following macros, do not change
7993 1.1 spz ## the running order or otherwise move them around unless you know exactly
7994 1.1 spz ## what you are doing...
7995 1.1 spz if test -n "$compiler"; then
7996 1.1 spz _LT_COMPILER_NO_RTTI($1)
7997 1.1 spz _LT_COMPILER_PIC($1)
7998 1.1 spz _LT_COMPILER_C_O($1)
7999 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
8000 1.1 spz _LT_LINKER_SHLIBS($1)
8001 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
8002 1.1 spz
8003 1.1 spz _LT_CONFIG($1)
8004 1.1 spz fi
8005 1.1 spz
8006 1.1 spz AC_LANG_RESTORE
8007 1.1 spz
8008 1.1 spz GCC=$lt_save_GCC
8009 1.1 spz CC=$lt_save_CC
8010 1.1 spz CFLAGS=$lt_save_CFLAGS
8011 1.1 spz ])# _LT_LANG_GCJ_CONFIG
8012 1.1 spz
8013 1.1 spz
8014 1.1.1.2 spz # _LT_LANG_GO_CONFIG([TAG])
8015 1.1.1.2 spz # --------------------------
8016 1.1.1.2 spz # Ensure that the configuration variables for the GNU Go compiler
8017 1.1.1.2 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
8018 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
8019 1.1.1.2 spz m4_defun([_LT_LANG_GO_CONFIG],
8020 1.1.1.2 spz [AC_REQUIRE([LT_PROG_GO])dnl
8021 1.1.1.2 spz AC_LANG_SAVE
8022 1.1.1.2 spz
8023 1.1.1.2 spz # Source file extension for Go test sources.
8024 1.1.1.2 spz ac_ext=go
8025 1.1.1.2 spz
8026 1.1.1.2 spz # Object file extension for compiled Go test sources.
8027 1.1.1.2 spz objext=o
8028 1.1.1.2 spz _LT_TAGVAR(objext, $1)=$objext
8029 1.1.1.2 spz
8030 1.1.1.2 spz # Code to be used in simple compile tests
8031 1.1.1.2 spz lt_simple_compile_test_code="package main; func main() { }"
8032 1.1.1.2 spz
8033 1.1.1.2 spz # Code to be used in simple link tests
8034 1.1.1.2 spz lt_simple_link_test_code='package main; func main() { }'
8035 1.1.1.2 spz
8036 1.1.1.2 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8037 1.1.1.2 spz _LT_TAG_COMPILER
8038 1.1.1.2 spz
8039 1.1.1.2 spz # save warnings/boilerplate of simple test code
8040 1.1.1.2 spz _LT_COMPILER_BOILERPLATE
8041 1.1.1.2 spz _LT_LINKER_BOILERPLATE
8042 1.1.1.2 spz
8043 1.1.1.2 spz # Allow CC to be a program name with arguments.
8044 1.1.1.2 spz lt_save_CC=$CC
8045 1.1.1.2 spz lt_save_CFLAGS=$CFLAGS
8046 1.1.1.2 spz lt_save_GCC=$GCC
8047 1.1.1.2 spz GCC=yes
8048 1.1.1.2 spz CC=${GOC-"gccgo"}
8049 1.1.1.2 spz CFLAGS=$GOFLAGS
8050 1.1.1.2 spz compiler=$CC
8051 1.1.1.2 spz _LT_TAGVAR(compiler, $1)=$CC
8052 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
8053 1.1.1.2 spz _LT_CC_BASENAME([$compiler])
8054 1.1.1.2 spz
8055 1.1.1.2 spz # Go did not exist at the time GCC didn't implicitly link libc in.
8056 1.1.1.2 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8057 1.1.1.2 spz
8058 1.1.1.2 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8059 1.1.1.2 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
8060 1.1.1.2 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8061 1.1.1.2 spz
8062 1.1.1.2 spz ## CAVEAT EMPTOR:
8063 1.1.1.2 spz ## There is no encapsulation within the following macros, do not change
8064 1.1.1.2 spz ## the running order or otherwise move them around unless you know exactly
8065 1.1.1.2 spz ## what you are doing...
8066 1.1.1.2 spz if test -n "$compiler"; then
8067 1.1.1.2 spz _LT_COMPILER_NO_RTTI($1)
8068 1.1.1.2 spz _LT_COMPILER_PIC($1)
8069 1.1.1.2 spz _LT_COMPILER_C_O($1)
8070 1.1.1.2 spz _LT_COMPILER_FILE_LOCKS($1)
8071 1.1.1.2 spz _LT_LINKER_SHLIBS($1)
8072 1.1.1.2 spz _LT_LINKER_HARDCODE_LIBPATH($1)
8073 1.1.1.2 spz
8074 1.1.1.2 spz _LT_CONFIG($1)
8075 1.1.1.2 spz fi
8076 1.1.1.2 spz
8077 1.1.1.2 spz AC_LANG_RESTORE
8078 1.1.1.2 spz
8079 1.1.1.2 spz GCC=$lt_save_GCC
8080 1.1.1.2 spz CC=$lt_save_CC
8081 1.1.1.2 spz CFLAGS=$lt_save_CFLAGS
8082 1.1.1.2 spz ])# _LT_LANG_GO_CONFIG
8083 1.1.1.2 spz
8084 1.1.1.2 spz
8085 1.1 spz # _LT_LANG_RC_CONFIG([TAG])
8086 1.1 spz # -------------------------
8087 1.1 spz # Ensure that the configuration variables for the Windows resource compiler
8088 1.1 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
8089 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
8090 1.1 spz m4_defun([_LT_LANG_RC_CONFIG],
8091 1.1 spz [AC_REQUIRE([LT_PROG_RC])dnl
8092 1.1 spz AC_LANG_SAVE
8093 1.1 spz
8094 1.1 spz # Source file extension for RC test sources.
8095 1.1 spz ac_ext=rc
8096 1.1 spz
8097 1.1 spz # Object file extension for compiled RC test sources.
8098 1.1 spz objext=o
8099 1.1 spz _LT_TAGVAR(objext, $1)=$objext
8100 1.1 spz
8101 1.1 spz # Code to be used in simple compile tests
8102 1.1 spz lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
8103 1.1 spz
8104 1.1 spz # Code to be used in simple link tests
8105 1.1.1.3 spz lt_simple_link_test_code=$lt_simple_compile_test_code
8106 1.1 spz
8107 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8108 1.1 spz _LT_TAG_COMPILER
8109 1.1 spz
8110 1.1 spz # save warnings/boilerplate of simple test code
8111 1.1 spz _LT_COMPILER_BOILERPLATE
8112 1.1 spz _LT_LINKER_BOILERPLATE
8113 1.1 spz
8114 1.1 spz # Allow CC to be a program name with arguments.
8115 1.1.1.3 spz lt_save_CC=$CC
8116 1.1 spz lt_save_CFLAGS=$CFLAGS
8117 1.1 spz lt_save_GCC=$GCC
8118 1.1 spz GCC=
8119 1.1 spz CC=${RC-"windres"}
8120 1.1 spz CFLAGS=
8121 1.1 spz compiler=$CC
8122 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
8123 1.1 spz _LT_CC_BASENAME([$compiler])
8124 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
8125 1.1 spz
8126 1.1 spz if test -n "$compiler"; then
8127 1.1 spz :
8128 1.1 spz _LT_CONFIG($1)
8129 1.1 spz fi
8130 1.1 spz
8131 1.1 spz GCC=$lt_save_GCC
8132 1.1 spz AC_LANG_RESTORE
8133 1.1 spz CC=$lt_save_CC
8134 1.1 spz CFLAGS=$lt_save_CFLAGS
8135 1.1 spz ])# _LT_LANG_RC_CONFIG
8136 1.1 spz
8137 1.1 spz
8138 1.1 spz # LT_PROG_GCJ
8139 1.1 spz # -----------
8140 1.1 spz AC_DEFUN([LT_PROG_GCJ],
8141 1.1 spz [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
8142 1.1 spz [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
8143 1.1 spz [AC_CHECK_TOOL(GCJ, gcj,)
8144 1.1.1.3 spz test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
8145 1.1 spz AC_SUBST(GCJFLAGS)])])[]dnl
8146 1.1 spz ])
8147 1.1 spz
8148 1.1 spz # Old name:
8149 1.1 spz AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
8150 1.1 spz dnl aclocal-1.4 backwards compatibility:
8151 1.1 spz dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
8152 1.1 spz
8153 1.1 spz
8154 1.1.1.2 spz # LT_PROG_GO
8155 1.1.1.2 spz # ----------
8156 1.1.1.2 spz AC_DEFUN([LT_PROG_GO],
8157 1.1.1.2 spz [AC_CHECK_TOOL(GOC, gccgo,)
8158 1.1.1.2 spz ])
8159 1.1.1.2 spz
8160 1.1.1.2 spz
8161 1.1 spz # LT_PROG_RC
8162 1.1 spz # ----------
8163 1.1 spz AC_DEFUN([LT_PROG_RC],
8164 1.1 spz [AC_CHECK_TOOL(RC, windres,)
8165 1.1 spz ])
8166 1.1 spz
8167 1.1 spz # Old name:
8168 1.1 spz AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
8169 1.1 spz dnl aclocal-1.4 backwards compatibility:
8170 1.1 spz dnl AC_DEFUN([LT_AC_PROG_RC], [])
8171 1.1 spz
8172 1.1 spz
8173 1.1 spz # _LT_DECL_EGREP
8174 1.1 spz # --------------
8175 1.1 spz # If we don't have a new enough Autoconf to choose the best grep
8176 1.1 spz # available, choose the one first in the user's PATH.
8177 1.1 spz m4_defun([_LT_DECL_EGREP],
8178 1.1 spz [AC_REQUIRE([AC_PROG_EGREP])dnl
8179 1.1 spz AC_REQUIRE([AC_PROG_FGREP])dnl
8180 1.1 spz test -z "$GREP" && GREP=grep
8181 1.1 spz _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
8182 1.1 spz _LT_DECL([], [EGREP], [1], [An ERE matcher])
8183 1.1 spz _LT_DECL([], [FGREP], [1], [A literal string matcher])
8184 1.1 spz dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
8185 1.1 spz AC_SUBST([GREP])
8186 1.1 spz ])
8187 1.1 spz
8188 1.1 spz
8189 1.1 spz # _LT_DECL_OBJDUMP
8190 1.1 spz # --------------
8191 1.1 spz # If we don't have a new enough Autoconf to choose the best objdump
8192 1.1 spz # available, choose the one first in the user's PATH.
8193 1.1 spz m4_defun([_LT_DECL_OBJDUMP],
8194 1.1 spz [AC_CHECK_TOOL(OBJDUMP, objdump, false)
8195 1.1 spz test -z "$OBJDUMP" && OBJDUMP=objdump
8196 1.1 spz _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
8197 1.1 spz AC_SUBST([OBJDUMP])
8198 1.1 spz ])
8199 1.1 spz
8200 1.1 spz # _LT_DECL_DLLTOOL
8201 1.1 spz # ----------------
8202 1.1 spz # Ensure DLLTOOL variable is set.
8203 1.1 spz m4_defun([_LT_DECL_DLLTOOL],
8204 1.1 spz [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8205 1.1 spz test -z "$DLLTOOL" && DLLTOOL=dlltool
8206 1.1 spz _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
8207 1.1 spz AC_SUBST([DLLTOOL])
8208 1.1 spz ])
8209 1.1 spz
8210 1.1 spz # _LT_DECL_SED
8211 1.1 spz # ------------
8212 1.1 spz # Check for a fully-functional sed program, that truncates
8213 1.1 spz # as few characters as possible. Prefer GNU sed if found.
8214 1.1 spz m4_defun([_LT_DECL_SED],
8215 1.1 spz [AC_PROG_SED
8216 1.1 spz test -z "$SED" && SED=sed
8217 1.1 spz Xsed="$SED -e 1s/^X//"
8218 1.1 spz _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
8219 1.1 spz _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
8220 1.1 spz [Sed that helps us avoid accidentally triggering echo(1) options like -n])
8221 1.1 spz ])# _LT_DECL_SED
8222 1.1 spz
8223 1.1 spz m4_ifndef([AC_PROG_SED], [
8224 1.1 spz ############################################################
8225 1.1 spz # NOTE: This macro has been submitted for inclusion into #
8226 1.1 spz # GNU Autoconf as AC_PROG_SED. When it is available in #
8227 1.1 spz # a released version of Autoconf we should remove this #
8228 1.1 spz # macro and use it instead. #
8229 1.1 spz ############################################################
8230 1.1 spz
8231 1.1 spz m4_defun([AC_PROG_SED],
8232 1.1 spz [AC_MSG_CHECKING([for a sed that does not truncate output])
8233 1.1 spz AC_CACHE_VAL(lt_cv_path_SED,
8234 1.1 spz [# Loop through the user's path and test for sed and gsed.
8235 1.1 spz # Then use that list of sed's as ones to test for truncation.
8236 1.1 spz as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8237 1.1 spz for as_dir in $PATH
8238 1.1 spz do
8239 1.1 spz IFS=$as_save_IFS
8240 1.1 spz test -z "$as_dir" && as_dir=.
8241 1.1 spz for lt_ac_prog in sed gsed; do
8242 1.1 spz for ac_exec_ext in '' $ac_executable_extensions; do
8243 1.1 spz if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
8244 1.1 spz lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
8245 1.1 spz fi
8246 1.1 spz done
8247 1.1 spz done
8248 1.1 spz done
8249 1.1 spz IFS=$as_save_IFS
8250 1.1 spz lt_ac_max=0
8251 1.1 spz lt_ac_count=0
8252 1.1 spz # Add /usr/xpg4/bin/sed as it is typically found on Solaris
8253 1.1 spz # along with /bin/sed that truncates output.
8254 1.1 spz for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
8255 1.1.1.3 spz test ! -f "$lt_ac_sed" && continue
8256 1.1 spz cat /dev/null > conftest.in
8257 1.1 spz lt_ac_count=0
8258 1.1 spz echo $ECHO_N "0123456789$ECHO_C" >conftest.in
8259 1.1 spz # Check for GNU sed and select it if it is found.
8260 1.1 spz if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
8261 1.1 spz lt_cv_path_SED=$lt_ac_sed
8262 1.1 spz break
8263 1.1 spz fi
8264 1.1 spz while true; do
8265 1.1 spz cat conftest.in conftest.in >conftest.tmp
8266 1.1 spz mv conftest.tmp conftest.in
8267 1.1 spz cp conftest.in conftest.nl
8268 1.1 spz echo >>conftest.nl
8269 1.1 spz $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
8270 1.1 spz cmp -s conftest.out conftest.nl || break
8271 1.1 spz # 10000 chars as input seems more than enough
8272 1.1.1.3 spz test 10 -lt "$lt_ac_count" && break
8273 1.1 spz lt_ac_count=`expr $lt_ac_count + 1`
8274 1.1.1.3 spz if test "$lt_ac_count" -gt "$lt_ac_max"; then
8275 1.1 spz lt_ac_max=$lt_ac_count
8276 1.1 spz lt_cv_path_SED=$lt_ac_sed
8277 1.1 spz fi
8278 1.1 spz done
8279 1.1 spz done
8280 1.1 spz ])
8281 1.1 spz SED=$lt_cv_path_SED
8282 1.1 spz AC_SUBST([SED])
8283 1.1 spz AC_MSG_RESULT([$SED])
8284 1.1 spz ])#AC_PROG_SED
8285 1.1 spz ])#m4_ifndef
8286 1.1 spz
8287 1.1 spz # Old name:
8288 1.1 spz AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
8289 1.1 spz dnl aclocal-1.4 backwards compatibility:
8290 1.1 spz dnl AC_DEFUN([LT_AC_PROG_SED], [])
8291 1.1 spz
8292 1.1 spz
8293 1.1 spz # _LT_CHECK_SHELL_FEATURES
8294 1.1 spz # ------------------------
8295 1.1 spz # Find out whether the shell is Bourne or XSI compatible,
8296 1.1 spz # or has some other useful features.
8297 1.1 spz m4_defun([_LT_CHECK_SHELL_FEATURES],
8298 1.1.1.3 spz [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8299 1.1 spz lt_unset=unset
8300 1.1 spz else
8301 1.1 spz lt_unset=false
8302 1.1 spz fi
8303 1.1 spz _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
8304 1.1 spz
8305 1.1 spz # test EBCDIC or ASCII
8306 1.1 spz case `echo X|tr X '\101'` in
8307 1.1 spz A) # ASCII based system
8308 1.1 spz # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8309 1.1 spz lt_SP2NL='tr \040 \012'
8310 1.1 spz lt_NL2SP='tr \015\012 \040\040'
8311 1.1 spz ;;
8312 1.1 spz *) # EBCDIC based system
8313 1.1 spz lt_SP2NL='tr \100 \n'
8314 1.1 spz lt_NL2SP='tr \r\n \100\100'
8315 1.1 spz ;;
8316 1.1 spz esac
8317 1.1 spz _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8318 1.1 spz _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8319 1.1 spz ])# _LT_CHECK_SHELL_FEATURES
8320 1.1 spz
8321 1.1 spz
8322 1.1 spz # _LT_PATH_CONVERSION_FUNCTIONS
8323 1.1 spz # -----------------------------
8324 1.1.1.3 spz # Determine what file name conversion functions should be used by
8325 1.1 spz # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
8326 1.1 spz # for certain cross-compile configurations and native mingw.
8327 1.1 spz m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
8328 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
8329 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
8330 1.1 spz AC_MSG_CHECKING([how to convert $build file names to $host format])
8331 1.1 spz AC_CACHE_VAL(lt_cv_to_host_file_cmd,
8332 1.1 spz [case $host in
8333 1.1 spz *-*-mingw* )
8334 1.1 spz case $build in
8335 1.1 spz *-*-mingw* ) # actually msys
8336 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8337 1.1 spz ;;
8338 1.1 spz *-*-cygwin* )
8339 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8340 1.1 spz ;;
8341 1.1 spz * ) # otherwise, assume *nix
8342 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8343 1.1 spz ;;
8344 1.1 spz esac
8345 1.1 spz ;;
8346 1.1 spz *-*-cygwin* )
8347 1.1 spz case $build in
8348 1.1 spz *-*-mingw* ) # actually msys
8349 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8350 1.1 spz ;;
8351 1.1 spz *-*-cygwin* )
8352 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_noop
8353 1.1 spz ;;
8354 1.1 spz * ) # otherwise, assume *nix
8355 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8356 1.1 spz ;;
8357 1.1 spz esac
8358 1.1 spz ;;
8359 1.1 spz * ) # unhandled hosts (and "normal" native builds)
8360 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_noop
8361 1.1 spz ;;
8362 1.1 spz esac
8363 1.1 spz ])
8364 1.1 spz to_host_file_cmd=$lt_cv_to_host_file_cmd
8365 1.1 spz AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8366 1.1 spz _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8367 1.1 spz [0], [convert $build file names to $host format])dnl
8368 1.1 spz
8369 1.1 spz AC_MSG_CHECKING([how to convert $build file names to toolchain format])
8370 1.1 spz AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8371 1.1 spz [#assume ordinary cross tools, or native build.
8372 1.1 spz lt_cv_to_tool_file_cmd=func_convert_file_noop
8373 1.1 spz case $host in
8374 1.1 spz *-*-mingw* )
8375 1.1 spz case $build in
8376 1.1 spz *-*-mingw* ) # actually msys
8377 1.1 spz lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8378 1.1 spz ;;
8379 1.1 spz esac
8380 1.1 spz ;;
8381 1.1 spz esac
8382 1.1 spz ])
8383 1.1 spz to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8384 1.1 spz AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8385 1.1 spz _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8386 1.1 spz [0], [convert $build files to toolchain format])dnl
8387 1.1 spz ])# _LT_PATH_CONVERSION_FUNCTIONS
8388