libtool.m4 revision 1.1.1.3 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.3 spz powerpcle-*linux*)
1421 1.1.1.2 spz LD="${LD-ld} -m elf64lppc"
1422 1.1.1.2 spz ;;
1423 1.1.1.3 spz powerpc-*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 spz amigaos*)
1712 1.1 spz # On AmigaOS with pdksh, this test takes hours, literally.
1713 1.1 spz # So we just punt and use a minimum line length of 8192.
1714 1.1 spz lt_cv_sys_max_cmd_len=8192;
1715 1.1 spz ;;
1716 1.1 spz
1717 1.1.1.3 spz bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
1718 1.1 spz # This has been around since 386BSD, at least. Likely further.
1719 1.1 spz if test -x /sbin/sysctl; then
1720 1.1 spz lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1721 1.1 spz elif test -x /usr/sbin/sysctl; then
1722 1.1 spz lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1723 1.1 spz else
1724 1.1 spz lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1725 1.1 spz fi
1726 1.1 spz # And add a safety zone
1727 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1728 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1729 1.1 spz ;;
1730 1.1 spz
1731 1.1 spz interix*)
1732 1.1 spz # We know the value 262144 and hardcode it with a safety zone (like BSD)
1733 1.1 spz lt_cv_sys_max_cmd_len=196608
1734 1.1 spz ;;
1735 1.1 spz
1736 1.1.1.2 spz os2*)
1737 1.1.1.2 spz # The test takes a long time on OS/2.
1738 1.1.1.2 spz lt_cv_sys_max_cmd_len=8192
1739 1.1.1.2 spz ;;
1740 1.1.1.2 spz
1741 1.1 spz osf*)
1742 1.1 spz # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1743 1.1 spz # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1744 1.1 spz # nice to cause kernel panics so lets avoid the loop below.
1745 1.1 spz # First set a reasonable default.
1746 1.1 spz lt_cv_sys_max_cmd_len=16384
1747 1.1 spz #
1748 1.1 spz if test -x /sbin/sysconfig; then
1749 1.1 spz case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1750 1.1 spz *1*) lt_cv_sys_max_cmd_len=-1 ;;
1751 1.1 spz esac
1752 1.1 spz fi
1753 1.1 spz ;;
1754 1.1 spz sco3.2v5*)
1755 1.1 spz lt_cv_sys_max_cmd_len=102400
1756 1.1 spz ;;
1757 1.1 spz sysv5* | sco5v6* | sysv4.2uw2*)
1758 1.1 spz kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1759 1.1 spz if test -n "$kargmax"; then
1760 1.1 spz lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1761 1.1 spz else
1762 1.1 spz lt_cv_sys_max_cmd_len=32768
1763 1.1 spz fi
1764 1.1 spz ;;
1765 1.1 spz *)
1766 1.1 spz lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1767 1.1.1.2 spz if test -n "$lt_cv_sys_max_cmd_len" && \
1768 1.1.1.3 spz test undefined != "$lt_cv_sys_max_cmd_len"; then
1769 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1770 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1771 1.1 spz else
1772 1.1 spz # Make teststring a little bigger before we do anything with it.
1773 1.1 spz # a 1K string should be a reasonable start.
1774 1.1.1.3 spz for i in 1 2 3 4 5 6 7 8; do
1775 1.1 spz teststring=$teststring$teststring
1776 1.1 spz done
1777 1.1 spz SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1778 1.1 spz # If test is not a shell built-in, we'll probably end up computing a
1779 1.1 spz # maximum length that is only half of the actual maximum length, but
1780 1.1 spz # we can't tell.
1781 1.1.1.3 spz while { test X`env echo "$teststring$teststring" 2>/dev/null` \
1782 1.1 spz = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1783 1.1.1.3 spz test 17 != "$i" # 1/2 MB should be enough
1784 1.1 spz do
1785 1.1 spz i=`expr $i + 1`
1786 1.1 spz teststring=$teststring$teststring
1787 1.1 spz done
1788 1.1 spz # Only check the string length outside the loop.
1789 1.1 spz lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1790 1.1 spz teststring=
1791 1.1 spz # Add a significant safety factor because C++ compilers can tack on
1792 1.1 spz # massive amounts of additional arguments before passing them to the
1793 1.1 spz # linker. It appears as though 1/2 is a usable value.
1794 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1795 1.1 spz fi
1796 1.1 spz ;;
1797 1.1 spz esac
1798 1.1 spz ])
1799 1.1.1.3 spz if test -n "$lt_cv_sys_max_cmd_len"; then
1800 1.1 spz AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1801 1.1 spz else
1802 1.1 spz AC_MSG_RESULT(none)
1803 1.1 spz fi
1804 1.1 spz max_cmd_len=$lt_cv_sys_max_cmd_len
1805 1.1 spz _LT_DECL([], [max_cmd_len], [0],
1806 1.1 spz [What is the maximum length of a command?])
1807 1.1 spz ])# LT_CMD_MAX_LEN
1808 1.1 spz
1809 1.1 spz # Old name:
1810 1.1 spz AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1811 1.1 spz dnl aclocal-1.4 backwards compatibility:
1812 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1813 1.1 spz
1814 1.1 spz
1815 1.1 spz # _LT_HEADER_DLFCN
1816 1.1 spz # ----------------
1817 1.1 spz m4_defun([_LT_HEADER_DLFCN],
1818 1.1 spz [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1819 1.1 spz ])# _LT_HEADER_DLFCN
1820 1.1 spz
1821 1.1 spz
1822 1.1 spz # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1823 1.1 spz # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1824 1.1 spz # ----------------------------------------------------------------
1825 1.1 spz m4_defun([_LT_TRY_DLOPEN_SELF],
1826 1.1 spz [m4_require([_LT_HEADER_DLFCN])dnl
1827 1.1.1.3 spz if test yes = "$cross_compiling"; then :
1828 1.1 spz [$4]
1829 1.1 spz else
1830 1.1 spz lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1831 1.1 spz lt_status=$lt_dlunknown
1832 1.1 spz cat > conftest.$ac_ext <<_LT_EOF
1833 1.1 spz [#line $LINENO "configure"
1834 1.1 spz #include "confdefs.h"
1835 1.1 spz
1836 1.1 spz #if HAVE_DLFCN_H
1837 1.1 spz #include <dlfcn.h>
1838 1.1 spz #endif
1839 1.1 spz
1840 1.1 spz #include <stdio.h>
1841 1.1 spz
1842 1.1 spz #ifdef RTLD_GLOBAL
1843 1.1 spz # define LT_DLGLOBAL RTLD_GLOBAL
1844 1.1 spz #else
1845 1.1 spz # ifdef DL_GLOBAL
1846 1.1 spz # define LT_DLGLOBAL DL_GLOBAL
1847 1.1 spz # else
1848 1.1 spz # define LT_DLGLOBAL 0
1849 1.1 spz # endif
1850 1.1 spz #endif
1851 1.1 spz
1852 1.1 spz /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1853 1.1 spz find out it does not work in some platform. */
1854 1.1 spz #ifndef LT_DLLAZY_OR_NOW
1855 1.1 spz # ifdef RTLD_LAZY
1856 1.1 spz # define LT_DLLAZY_OR_NOW RTLD_LAZY
1857 1.1 spz # else
1858 1.1 spz # ifdef DL_LAZY
1859 1.1 spz # define LT_DLLAZY_OR_NOW DL_LAZY
1860 1.1 spz # else
1861 1.1 spz # ifdef RTLD_NOW
1862 1.1 spz # define LT_DLLAZY_OR_NOW RTLD_NOW
1863 1.1 spz # else
1864 1.1 spz # ifdef DL_NOW
1865 1.1 spz # define LT_DLLAZY_OR_NOW DL_NOW
1866 1.1 spz # else
1867 1.1 spz # define LT_DLLAZY_OR_NOW 0
1868 1.1 spz # endif
1869 1.1 spz # endif
1870 1.1 spz # endif
1871 1.1 spz # endif
1872 1.1 spz #endif
1873 1.1 spz
1874 1.1.1.3 spz /* When -fvisibility=hidden is used, assume the code has been annotated
1875 1.1 spz correspondingly for the symbols needed. */
1876 1.1.1.3 spz #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1877 1.1 spz int fnord () __attribute__((visibility("default")));
1878 1.1 spz #endif
1879 1.1 spz
1880 1.1 spz int fnord () { return 42; }
1881 1.1 spz int main ()
1882 1.1 spz {
1883 1.1 spz void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1884 1.1 spz int status = $lt_dlunknown;
1885 1.1 spz
1886 1.1 spz if (self)
1887 1.1 spz {
1888 1.1 spz if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1889 1.1 spz else
1890 1.1 spz {
1891 1.1 spz if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1892 1.1 spz else puts (dlerror ());
1893 1.1 spz }
1894 1.1 spz /* dlclose (self); */
1895 1.1 spz }
1896 1.1 spz else
1897 1.1 spz puts (dlerror ());
1898 1.1 spz
1899 1.1 spz return status;
1900 1.1 spz }]
1901 1.1 spz _LT_EOF
1902 1.1.1.3 spz if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
1903 1.1 spz (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1904 1.1 spz lt_status=$?
1905 1.1 spz case x$lt_status in
1906 1.1 spz x$lt_dlno_uscore) $1 ;;
1907 1.1 spz x$lt_dlneed_uscore) $2 ;;
1908 1.1 spz x$lt_dlunknown|x*) $3 ;;
1909 1.1 spz esac
1910 1.1 spz else :
1911 1.1 spz # compilation failed
1912 1.1 spz $3
1913 1.1 spz fi
1914 1.1 spz fi
1915 1.1 spz rm -fr conftest*
1916 1.1 spz ])# _LT_TRY_DLOPEN_SELF
1917 1.1 spz
1918 1.1 spz
1919 1.1 spz # LT_SYS_DLOPEN_SELF
1920 1.1 spz # ------------------
1921 1.1 spz AC_DEFUN([LT_SYS_DLOPEN_SELF],
1922 1.1 spz [m4_require([_LT_HEADER_DLFCN])dnl
1923 1.1.1.3 spz if test yes != "$enable_dlopen"; then
1924 1.1 spz enable_dlopen=unknown
1925 1.1 spz enable_dlopen_self=unknown
1926 1.1 spz enable_dlopen_self_static=unknown
1927 1.1 spz else
1928 1.1 spz lt_cv_dlopen=no
1929 1.1 spz lt_cv_dlopen_libs=
1930 1.1 spz
1931 1.1 spz case $host_os in
1932 1.1 spz beos*)
1933 1.1.1.3 spz lt_cv_dlopen=load_add_on
1934 1.1 spz lt_cv_dlopen_libs=
1935 1.1 spz lt_cv_dlopen_self=yes
1936 1.1 spz ;;
1937 1.1 spz
1938 1.1 spz mingw* | pw32* | cegcc*)
1939 1.1.1.3 spz lt_cv_dlopen=LoadLibrary
1940 1.1 spz lt_cv_dlopen_libs=
1941 1.1 spz ;;
1942 1.1 spz
1943 1.1 spz cygwin*)
1944 1.1.1.3 spz lt_cv_dlopen=dlopen
1945 1.1 spz lt_cv_dlopen_libs=
1946 1.1 spz ;;
1947 1.1 spz
1948 1.1 spz darwin*)
1949 1.1.1.3 spz # if libdl is installed we need to link against it
1950 1.1 spz AC_CHECK_LIB([dl], [dlopen],
1951 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
1952 1.1.1.3 spz lt_cv_dlopen=dyld
1953 1.1 spz lt_cv_dlopen_libs=
1954 1.1 spz lt_cv_dlopen_self=yes
1955 1.1 spz ])
1956 1.1 spz ;;
1957 1.1 spz
1958 1.1.1.3 spz tpf*)
1959 1.1.1.3 spz # Don't try to run any link tests for TPF. We know it's impossible
1960 1.1.1.3 spz # because TPF is a cross-compiler, and we know how we open DSOs.
1961 1.1.1.3 spz lt_cv_dlopen=dlopen
1962 1.1.1.3 spz lt_cv_dlopen_libs=
1963 1.1.1.3 spz lt_cv_dlopen_self=no
1964 1.1.1.3 spz ;;
1965 1.1.1.3 spz
1966 1.1 spz *)
1967 1.1 spz AC_CHECK_FUNC([shl_load],
1968 1.1.1.3 spz [lt_cv_dlopen=shl_load],
1969 1.1 spz [AC_CHECK_LIB([dld], [shl_load],
1970 1.1.1.3 spz [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
1971 1.1 spz [AC_CHECK_FUNC([dlopen],
1972 1.1.1.3 spz [lt_cv_dlopen=dlopen],
1973 1.1 spz [AC_CHECK_LIB([dl], [dlopen],
1974 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
1975 1.1 spz [AC_CHECK_LIB([svld], [dlopen],
1976 1.1.1.3 spz [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
1977 1.1 spz [AC_CHECK_LIB([dld], [dld_link],
1978 1.1.1.3 spz [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
1979 1.1 spz ])
1980 1.1 spz ])
1981 1.1 spz ])
1982 1.1 spz ])
1983 1.1 spz ])
1984 1.1 spz ;;
1985 1.1 spz esac
1986 1.1 spz
1987 1.1.1.3 spz if test no = "$lt_cv_dlopen"; then
1988 1.1 spz enable_dlopen=no
1989 1.1.1.3 spz else
1990 1.1.1.3 spz enable_dlopen=yes
1991 1.1 spz fi
1992 1.1 spz
1993 1.1 spz case $lt_cv_dlopen in
1994 1.1 spz dlopen)
1995 1.1.1.3 spz save_CPPFLAGS=$CPPFLAGS
1996 1.1.1.3 spz test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1997 1.1 spz
1998 1.1.1.3 spz save_LDFLAGS=$LDFLAGS
1999 1.1 spz wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
2000 1.1 spz
2001 1.1.1.3 spz save_LIBS=$LIBS
2002 1.1 spz LIBS="$lt_cv_dlopen_libs $LIBS"
2003 1.1 spz
2004 1.1 spz AC_CACHE_CHECK([whether a program can dlopen itself],
2005 1.1 spz lt_cv_dlopen_self, [dnl
2006 1.1 spz _LT_TRY_DLOPEN_SELF(
2007 1.1 spz lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
2008 1.1 spz lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
2009 1.1 spz ])
2010 1.1 spz
2011 1.1.1.3 spz if test yes = "$lt_cv_dlopen_self"; then
2012 1.1 spz wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
2013 1.1 spz AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
2014 1.1 spz lt_cv_dlopen_self_static, [dnl
2015 1.1 spz _LT_TRY_DLOPEN_SELF(
2016 1.1 spz lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
2017 1.1 spz lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
2018 1.1 spz ])
2019 1.1 spz fi
2020 1.1 spz
2021 1.1.1.3 spz CPPFLAGS=$save_CPPFLAGS
2022 1.1.1.3 spz LDFLAGS=$save_LDFLAGS
2023 1.1.1.3 spz LIBS=$save_LIBS
2024 1.1 spz ;;
2025 1.1 spz esac
2026 1.1 spz
2027 1.1 spz case $lt_cv_dlopen_self in
2028 1.1 spz yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
2029 1.1 spz *) enable_dlopen_self=unknown ;;
2030 1.1 spz esac
2031 1.1 spz
2032 1.1 spz case $lt_cv_dlopen_self_static in
2033 1.1 spz yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
2034 1.1 spz *) enable_dlopen_self_static=unknown ;;
2035 1.1 spz esac
2036 1.1 spz fi
2037 1.1 spz _LT_DECL([dlopen_support], [enable_dlopen], [0],
2038 1.1 spz [Whether dlopen is supported])
2039 1.1 spz _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
2040 1.1 spz [Whether dlopen of programs is supported])
2041 1.1 spz _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
2042 1.1 spz [Whether dlopen of statically linked programs is supported])
2043 1.1 spz ])# LT_SYS_DLOPEN_SELF
2044 1.1 spz
2045 1.1 spz # Old name:
2046 1.1 spz AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
2047 1.1 spz dnl aclocal-1.4 backwards compatibility:
2048 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
2049 1.1 spz
2050 1.1 spz
2051 1.1 spz # _LT_COMPILER_C_O([TAGNAME])
2052 1.1 spz # ---------------------------
2053 1.1 spz # Check to see if options -c and -o are simultaneously supported by compiler.
2054 1.1 spz # This macro does not hard code the compiler like AC_PROG_CC_C_O.
2055 1.1 spz m4_defun([_LT_COMPILER_C_O],
2056 1.1 spz [m4_require([_LT_DECL_SED])dnl
2057 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2058 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
2059 1.1 spz AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
2060 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
2061 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
2062 1.1 spz $RM -r conftest 2>/dev/null
2063 1.1 spz mkdir conftest
2064 1.1 spz cd conftest
2065 1.1 spz mkdir out
2066 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
2067 1.1 spz
2068 1.1 spz lt_compiler_flag="-o out/conftest2.$ac_objext"
2069 1.1 spz # Insert the option either (1) after the last *FLAGS variable, or
2070 1.1 spz # (2) before a word containing "conftest.", or (3) at the end.
2071 1.1 spz # Note that $ac_compile itself does not contain backslashes and begins
2072 1.1 spz # with a dollar sign (not a hyphen), so the echo should work correctly.
2073 1.1 spz lt_compile=`echo "$ac_compile" | $SED \
2074 1.1 spz -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2075 1.1 spz -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2076 1.1 spz -e 's:$: $lt_compiler_flag:'`
2077 1.1 spz (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2078 1.1 spz (eval "$lt_compile" 2>out/conftest.err)
2079 1.1 spz ac_status=$?
2080 1.1 spz cat out/conftest.err >&AS_MESSAGE_LOG_FD
2081 1.1 spz echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2082 1.1 spz if (exit $ac_status) && test -s out/conftest2.$ac_objext
2083 1.1 spz then
2084 1.1 spz # The compiler can only warn and ignore the option if not recognized
2085 1.1 spz # So say no if there are warnings
2086 1.1 spz $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2087 1.1 spz $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2088 1.1 spz if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2089 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2090 1.1 spz fi
2091 1.1 spz fi
2092 1.1 spz chmod u+w . 2>&AS_MESSAGE_LOG_FD
2093 1.1 spz $RM conftest*
2094 1.1 spz # SGI C++ compiler will create directory out/ii_files/ for
2095 1.1 spz # template instantiation
2096 1.1 spz test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2097 1.1 spz $RM out/* && rmdir out
2098 1.1 spz cd ..
2099 1.1 spz $RM -r conftest
2100 1.1 spz $RM conftest*
2101 1.1 spz ])
2102 1.1 spz _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2103 1.1 spz [Does compiler simultaneously support -c and -o options?])
2104 1.1 spz ])# _LT_COMPILER_C_O
2105 1.1 spz
2106 1.1 spz
2107 1.1 spz # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2108 1.1 spz # ----------------------------------
2109 1.1 spz # Check to see if we can do hard links to lock some files if needed
2110 1.1 spz m4_defun([_LT_COMPILER_FILE_LOCKS],
2111 1.1 spz [m4_require([_LT_ENABLE_LOCK])dnl
2112 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2113 1.1 spz _LT_COMPILER_C_O([$1])
2114 1.1 spz
2115 1.1.1.3 spz hard_links=nottested
2116 1.1.1.3 spz if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
2117 1.1 spz # do not overwrite the value of need_locks provided by the user
2118 1.1 spz AC_MSG_CHECKING([if we can lock with hard links])
2119 1.1 spz hard_links=yes
2120 1.1 spz $RM conftest*
2121 1.1 spz ln conftest.a conftest.b 2>/dev/null && hard_links=no
2122 1.1 spz touch conftest.a
2123 1.1 spz ln conftest.a conftest.b 2>&5 || hard_links=no
2124 1.1 spz ln conftest.a conftest.b 2>/dev/null && hard_links=no
2125 1.1 spz AC_MSG_RESULT([$hard_links])
2126 1.1.1.3 spz if test no = "$hard_links"; then
2127 1.1.1.3 spz AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
2128 1.1 spz need_locks=warn
2129 1.1 spz fi
2130 1.1 spz else
2131 1.1 spz need_locks=no
2132 1.1 spz fi
2133 1.1 spz _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2134 1.1 spz ])# _LT_COMPILER_FILE_LOCKS
2135 1.1 spz
2136 1.1 spz
2137 1.1 spz # _LT_CHECK_OBJDIR
2138 1.1 spz # ----------------
2139 1.1 spz m4_defun([_LT_CHECK_OBJDIR],
2140 1.1 spz [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2141 1.1 spz [rm -f .libs 2>/dev/null
2142 1.1 spz mkdir .libs 2>/dev/null
2143 1.1 spz if test -d .libs; then
2144 1.1 spz lt_cv_objdir=.libs
2145 1.1 spz else
2146 1.1 spz # MS-DOS does not allow filenames that begin with a dot.
2147 1.1 spz lt_cv_objdir=_libs
2148 1.1 spz fi
2149 1.1 spz rmdir .libs 2>/dev/null])
2150 1.1 spz objdir=$lt_cv_objdir
2151 1.1 spz _LT_DECL([], [objdir], [0],
2152 1.1 spz [The name of the directory that contains temporary libtool files])dnl
2153 1.1 spz m4_pattern_allow([LT_OBJDIR])dnl
2154 1.1.1.3 spz AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
2155 1.1.1.3 spz [Define to the sub-directory where libtool stores uninstalled libraries.])
2156 1.1 spz ])# _LT_CHECK_OBJDIR
2157 1.1 spz
2158 1.1 spz
2159 1.1 spz # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2160 1.1 spz # --------------------------------------
2161 1.1 spz # Check hardcoding attributes.
2162 1.1 spz m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2163 1.1 spz [AC_MSG_CHECKING([how to hardcode library paths into programs])
2164 1.1 spz _LT_TAGVAR(hardcode_action, $1)=
2165 1.1 spz if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2166 1.1 spz test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2167 1.1.1.3 spz test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
2168 1.1 spz
2169 1.1 spz # We can hardcode non-existent directories.
2170 1.1.1.3 spz if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
2171 1.1 spz # If the only mechanism to avoid hardcoding is shlibpath_var, we
2172 1.1 spz # have to relink, otherwise we might link with an installed library
2173 1.1 spz # when we should be linking with a yet-to-be-installed one
2174 1.1.1.3 spz ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
2175 1.1.1.3 spz test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
2176 1.1 spz # Linking always hardcodes the temporary library directory.
2177 1.1 spz _LT_TAGVAR(hardcode_action, $1)=relink
2178 1.1 spz else
2179 1.1 spz # We can link without hardcoding, and we can hardcode nonexisting dirs.
2180 1.1 spz _LT_TAGVAR(hardcode_action, $1)=immediate
2181 1.1 spz fi
2182 1.1 spz else
2183 1.1 spz # We cannot hardcode anything, or else we can only hardcode existing
2184 1.1 spz # directories.
2185 1.1 spz _LT_TAGVAR(hardcode_action, $1)=unsupported
2186 1.1 spz fi
2187 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2188 1.1 spz
2189 1.1.1.3 spz if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
2190 1.1.1.3 spz test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
2191 1.1 spz # Fast installation is not supported
2192 1.1 spz enable_fast_install=no
2193 1.1.1.3 spz elif test yes = "$shlibpath_overrides_runpath" ||
2194 1.1.1.3 spz test no = "$enable_shared"; then
2195 1.1 spz # Fast installation is not necessary
2196 1.1 spz enable_fast_install=needless
2197 1.1 spz fi
2198 1.1 spz _LT_TAGDECL([], [hardcode_action], [0],
2199 1.1 spz [How to hardcode a shared library path into an executable])
2200 1.1 spz ])# _LT_LINKER_HARDCODE_LIBPATH
2201 1.1 spz
2202 1.1 spz
2203 1.1 spz # _LT_CMD_STRIPLIB
2204 1.1 spz # ----------------
2205 1.1 spz m4_defun([_LT_CMD_STRIPLIB],
2206 1.1 spz [m4_require([_LT_DECL_EGREP])
2207 1.1 spz striplib=
2208 1.1 spz old_striplib=
2209 1.1 spz AC_MSG_CHECKING([whether stripping libraries is possible])
2210 1.1 spz if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2211 1.1 spz test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2212 1.1 spz test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2213 1.1 spz AC_MSG_RESULT([yes])
2214 1.1 spz else
2215 1.1 spz # FIXME - insert some real tests, host_os isn't really good enough
2216 1.1 spz case $host_os in
2217 1.1 spz darwin*)
2218 1.1.1.3 spz if test -n "$STRIP"; then
2219 1.1 spz striplib="$STRIP -x"
2220 1.1 spz old_striplib="$STRIP -S"
2221 1.1 spz AC_MSG_RESULT([yes])
2222 1.1 spz else
2223 1.1 spz AC_MSG_RESULT([no])
2224 1.1 spz fi
2225 1.1 spz ;;
2226 1.1 spz *)
2227 1.1 spz AC_MSG_RESULT([no])
2228 1.1 spz ;;
2229 1.1 spz esac
2230 1.1 spz fi
2231 1.1 spz _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2232 1.1 spz _LT_DECL([], [striplib], [1])
2233 1.1 spz ])# _LT_CMD_STRIPLIB
2234 1.1 spz
2235 1.1 spz
2236 1.1.1.3 spz # _LT_PREPARE_MUNGE_PATH_LIST
2237 1.1.1.3 spz # ---------------------------
2238 1.1.1.3 spz # Make sure func_munge_path_list() is defined correctly.
2239 1.1.1.3 spz m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
2240 1.1.1.3 spz [[# func_munge_path_list VARIABLE PATH
2241 1.1.1.3 spz # -----------------------------------
2242 1.1.1.3 spz # VARIABLE is name of variable containing _space_ separated list of
2243 1.1.1.3 spz # directories to be munged by the contents of PATH, which is string
2244 1.1.1.3 spz # having a format:
2245 1.1.1.3 spz # "DIR[:DIR]:"
2246 1.1.1.3 spz # string "DIR[ DIR]" will be prepended to VARIABLE
2247 1.1.1.3 spz # ":DIR[:DIR]"
2248 1.1.1.3 spz # string "DIR[ DIR]" will be appended to VARIABLE
2249 1.1.1.3 spz # "DIRP[:DIRP]::[DIRA:]DIRA"
2250 1.1.1.3 spz # string "DIRP[ DIRP]" will be prepended to VARIABLE and string
2251 1.1.1.3 spz # "DIRA[ DIRA]" will be appended to VARIABLE
2252 1.1.1.3 spz # "DIR[:DIR]"
2253 1.1.1.3 spz # VARIABLE will be replaced by "DIR[ DIR]"
2254 1.1.1.3 spz func_munge_path_list ()
2255 1.1.1.3 spz {
2256 1.1.1.3 spz case x@S|@2 in
2257 1.1.1.3 spz x)
2258 1.1.1.3 spz ;;
2259 1.1.1.3 spz *:)
2260 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
2261 1.1.1.3 spz ;;
2262 1.1.1.3 spz x:*)
2263 1.1.1.3 spz eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
2264 1.1.1.3 spz ;;
2265 1.1.1.3 spz *::*)
2266 1.1.1.3 spz eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
2267 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
2268 1.1.1.3 spz ;;
2269 1.1.1.3 spz *)
2270 1.1.1.3 spz eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
2271 1.1.1.3 spz ;;
2272 1.1.1.3 spz esac
2273 1.1.1.3 spz }
2274 1.1.1.3 spz ]])# _LT_PREPARE_PATH_LIST
2275 1.1.1.3 spz
2276 1.1.1.3 spz
2277 1.1 spz # _LT_SYS_DYNAMIC_LINKER([TAG])
2278 1.1 spz # -----------------------------
2279 1.1 spz # PORTME Fill in your ld.so characteristics
2280 1.1 spz m4_defun([_LT_SYS_DYNAMIC_LINKER],
2281 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2282 1.1 spz m4_require([_LT_DECL_EGREP])dnl
2283 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2284 1.1 spz m4_require([_LT_DECL_OBJDUMP])dnl
2285 1.1 spz m4_require([_LT_DECL_SED])dnl
2286 1.1 spz m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2287 1.1.1.3 spz m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
2288 1.1 spz AC_MSG_CHECKING([dynamic linker characteristics])
2289 1.1 spz m4_if([$1],
2290 1.1 spz [], [
2291 1.1.1.3 spz if test yes = "$GCC"; then
2292 1.1 spz case $host_os in
2293 1.1.1.3 spz darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
2294 1.1.1.3 spz *) lt_awk_arg='/^libraries:/' ;;
2295 1.1 spz esac
2296 1.1 spz case $host_os in
2297 1.1.1.3 spz mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
2298 1.1.1.3 spz *) lt_sed_strip_eq='s|=/|/|g' ;;
2299 1.1 spz esac
2300 1.1 spz lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2301 1.1 spz case $lt_search_path_spec in
2302 1.1 spz *\;*)
2303 1.1 spz # if the path contains ";" then we assume it to be the separator
2304 1.1 spz # otherwise default to the standard path separator (i.e. ":") - it is
2305 1.1 spz # assumed that no part of a normal pathname contains ";" but that should
2306 1.1 spz # okay in the real world where ";" in dirpaths is itself problematic.
2307 1.1 spz lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2308 1.1 spz ;;
2309 1.1 spz *)
2310 1.1 spz lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2311 1.1 spz ;;
2312 1.1 spz esac
2313 1.1 spz # Ok, now we have the path, separated by spaces, we can step through it
2314 1.1.1.3 spz # and add multilib dir if necessary...
2315 1.1 spz lt_tmp_lt_search_path_spec=
2316 1.1.1.3 spz lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2317 1.1.1.3 spz # ...but if some path component already ends with the multilib dir we assume
2318 1.1.1.3 spz # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
2319 1.1.1.3 spz case "$lt_multi_os_dir; $lt_search_path_spec " in
2320 1.1.1.3 spz "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
2321 1.1.1.3 spz lt_multi_os_dir=
2322 1.1.1.3 spz ;;
2323 1.1.1.3 spz esac
2324 1.1 spz for lt_sys_path in $lt_search_path_spec; do
2325 1.1.1.3 spz if test -d "$lt_sys_path$lt_multi_os_dir"; then
2326 1.1.1.3 spz lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
2327 1.1.1.3 spz elif test -n "$lt_multi_os_dir"; then
2328 1.1 spz test -d "$lt_sys_path" && \
2329 1.1 spz lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2330 1.1 spz fi
2331 1.1 spz done
2332 1.1 spz lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2333 1.1.1.3 spz BEGIN {RS = " "; FS = "/|\n";} {
2334 1.1.1.3 spz lt_foo = "";
2335 1.1.1.3 spz lt_count = 0;
2336 1.1 spz for (lt_i = NF; lt_i > 0; lt_i--) {
2337 1.1 spz if ($lt_i != "" && $lt_i != ".") {
2338 1.1 spz if ($lt_i == "..") {
2339 1.1 spz lt_count++;
2340 1.1 spz } else {
2341 1.1 spz if (lt_count == 0) {
2342 1.1.1.3 spz lt_foo = "/" $lt_i lt_foo;
2343 1.1 spz } else {
2344 1.1 spz lt_count--;
2345 1.1 spz }
2346 1.1 spz }
2347 1.1 spz }
2348 1.1 spz }
2349 1.1 spz if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2350 1.1 spz if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2351 1.1 spz }'`
2352 1.1 spz # AWK program above erroneously prepends '/' to C:/dos/paths
2353 1.1 spz # for these hosts.
2354 1.1 spz case $host_os in
2355 1.1 spz mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2356 1.1.1.3 spz $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
2357 1.1 spz esac
2358 1.1 spz sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2359 1.1 spz else
2360 1.1 spz sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2361 1.1 spz fi])
2362 1.1 spz library_names_spec=
2363 1.1 spz libname_spec='lib$name'
2364 1.1 spz soname_spec=
2365 1.1.1.3 spz shrext_cmds=.so
2366 1.1 spz postinstall_cmds=
2367 1.1 spz postuninstall_cmds=
2368 1.1 spz finish_cmds=
2369 1.1 spz finish_eval=
2370 1.1 spz shlibpath_var=
2371 1.1 spz shlibpath_overrides_runpath=unknown
2372 1.1 spz version_type=none
2373 1.1 spz dynamic_linker="$host_os ld.so"
2374 1.1 spz sys_lib_dlsearch_path_spec="/lib /usr/lib"
2375 1.1 spz need_lib_prefix=unknown
2376 1.1 spz hardcode_into_libs=no
2377 1.1 spz
2378 1.1 spz # when you set need_version to no, make sure it does not cause -set_version
2379 1.1 spz # flags to be left without arguments
2380 1.1 spz need_version=unknown
2381 1.1 spz
2382 1.1.1.3 spz AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
2383 1.1.1.3 spz [User-defined run-time library search path.])
2384 1.1.1.3 spz
2385 1.1 spz case $host_os in
2386 1.1 spz aix3*)
2387 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2388 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
2389 1.1 spz shlibpath_var=LIBPATH
2390 1.1 spz
2391 1.1 spz # AIX 3 has no versioning support, so we append a major version to the name.
2392 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2393 1.1 spz ;;
2394 1.1 spz
2395 1.1 spz aix[[4-9]]*)
2396 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2397 1.1 spz need_lib_prefix=no
2398 1.1 spz need_version=no
2399 1.1 spz hardcode_into_libs=yes
2400 1.1.1.3 spz if test ia64 = "$host_cpu"; then
2401 1.1 spz # AIX 5 supports IA64
2402 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
2403 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2404 1.1 spz else
2405 1.1 spz # With GCC up to 2.95.x, collect2 would create an import file
2406 1.1 spz # for dependence libraries. The import file would start with
2407 1.1.1.3 spz # the line '#! .'. This would cause the generated library to
2408 1.1.1.3 spz # depend on '.', always an invalid library. This was fixed in
2409 1.1 spz # development snapshots of GCC prior to 3.0.
2410 1.1 spz case $host_os in
2411 1.1 spz aix4 | aix4.[[01]] | aix4.[[01]].*)
2412 1.1 spz if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2413 1.1 spz echo ' yes '
2414 1.1.1.3 spz echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
2415 1.1 spz :
2416 1.1 spz else
2417 1.1 spz can_build_shared=no
2418 1.1 spz fi
2419 1.1 spz ;;
2420 1.1 spz esac
2421 1.1.1.3 spz # Using Import Files as archive members, it is possible to support
2422 1.1.1.3 spz # filename-based versioning of shared library archives on AIX. While
2423 1.1.1.3 spz # this would work for both with and without runtime linking, it will
2424 1.1.1.3 spz # prevent static linking of such archives. So we do filename-based
2425 1.1.1.3 spz # shared library versioning with .so extension only, which is used
2426 1.1.1.3 spz # when both runtime linking and shared linking is enabled.
2427 1.1.1.3 spz # Unfortunately, runtime linking may impact performance, so we do
2428 1.1.1.3 spz # not want this to be the default eventually. Also, we use the
2429 1.1.1.3 spz # versioned .so libs for executables only if there is the -brtl
2430 1.1.1.3 spz # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
2431 1.1.1.3 spz # To allow for filename-based versioning support, we need to create
2432 1.1.1.3 spz # libNAME.so.V as an archive file, containing:
2433 1.1.1.3 spz # *) an Import File, referring to the versioned filename of the
2434 1.1.1.3 spz # archive as well as the shared archive member, telling the
2435 1.1.1.3 spz # bitwidth (32 or 64) of that shared object, and providing the
2436 1.1.1.3 spz # list of exported symbols of that shared object, eventually
2437 1.1.1.3 spz # decorated with the 'weak' keyword
2438 1.1.1.3 spz # *) the shared object with the F_LOADONLY flag set, to really avoid
2439 1.1.1.3 spz # it being seen by the linker.
2440 1.1.1.3 spz # At run time we better use the real file rather than another symlink,
2441 1.1.1.3 spz # but for link time we create the symlink libNAME.so -> libNAME.so.V
2442 1.1.1.3 spz
2443 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
2444 1.1.1.3 spz # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
2445 1.1 spz # soname into executable. Probably we can add versioning support to
2446 1.1 spz # collect2, so additional links can be useful in future.
2447 1.1.1.3 spz aix,yes) # traditional libtool
2448 1.1.1.3 spz dynamic_linker='AIX unversionable lib.so'
2449 1.1 spz # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2450 1.1 spz # instead of lib<name>.a to let people know that these are not
2451 1.1 spz # typical AIX shared libraries.
2452 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2453 1.1.1.3 spz ;;
2454 1.1.1.3 spz aix,no) # traditional AIX only
2455 1.1.1.3 spz dynamic_linker='AIX lib.a[(]lib.so.V[)]'
2456 1.1 spz # We preserve .a as extension for shared libraries through AIX4.2
2457 1.1 spz # and later when we are not doing run time linking.
2458 1.1.1.3 spz library_names_spec='$libname$release.a $libname.a'
2459 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2460 1.1.1.3 spz ;;
2461 1.1.1.3 spz svr4,*) # full svr4 only
2462 1.1.1.3 spz dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
2463 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2464 1.1.1.3 spz # We do not specify a path in Import Files, so LIBPATH fires.
2465 1.1.1.3 spz shlibpath_overrides_runpath=yes
2466 1.1.1.3 spz ;;
2467 1.1.1.3 spz *,yes) # both, prefer svr4
2468 1.1.1.3 spz dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
2469 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
2470 1.1.1.3 spz # unpreferred sharedlib libNAME.a needs extra handling
2471 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"'
2472 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"'
2473 1.1.1.3 spz # We do not specify a path in Import Files, so LIBPATH fires.
2474 1.1.1.3 spz shlibpath_overrides_runpath=yes
2475 1.1.1.3 spz ;;
2476 1.1.1.3 spz *,no) # both, prefer aix
2477 1.1.1.3 spz dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
2478 1.1.1.3 spz library_names_spec='$libname$release.a $libname.a'
2479 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2480 1.1.1.3 spz # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
2481 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)'
2482 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"'
2483 1.1.1.3 spz ;;
2484 1.1.1.3 spz esac
2485 1.1 spz shlibpath_var=LIBPATH
2486 1.1 spz fi
2487 1.1 spz ;;
2488 1.1 spz
2489 1.1 spz amigaos*)
2490 1.1 spz case $host_cpu in
2491 1.1 spz powerpc)
2492 1.1 spz # Since July 2007 AmigaOS4 officially supports .so libraries.
2493 1.1 spz # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2494 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2495 1.1 spz ;;
2496 1.1 spz m68k)
2497 1.1 spz library_names_spec='$libname.ixlibrary $libname.a'
2498 1.1 spz # Create ${libname}_ixlibrary.a entries in /sys/libs.
2499 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'
2500 1.1 spz ;;
2501 1.1 spz esac
2502 1.1 spz ;;
2503 1.1 spz
2504 1.1 spz beos*)
2505 1.1.1.3 spz library_names_spec='$libname$shared_ext'
2506 1.1 spz dynamic_linker="$host_os ld.so"
2507 1.1 spz shlibpath_var=LIBRARY_PATH
2508 1.1 spz ;;
2509 1.1 spz
2510 1.1 spz bsdi[[45]]*)
2511 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2512 1.1 spz need_version=no
2513 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2514 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2515 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2516 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2517 1.1 spz sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2518 1.1 spz sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2519 1.1 spz # the default ld.so.conf also contains /usr/contrib/lib and
2520 1.1 spz # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2521 1.1 spz # libtool to hard-code these into programs
2522 1.1 spz ;;
2523 1.1 spz
2524 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
2525 1.1 spz version_type=windows
2526 1.1.1.3 spz shrext_cmds=.dll
2527 1.1 spz need_version=no
2528 1.1 spz need_lib_prefix=no
2529 1.1 spz
2530 1.1 spz case $GCC,$cc_basename in
2531 1.1 spz yes,*)
2532 1.1 spz # gcc
2533 1.1 spz library_names_spec='$libname.dll.a'
2534 1.1 spz # DLL is installed to $(libdir)/../bin by postinstall_cmds
2535 1.1.1.3 spz postinstall_cmds='base_file=`basename \$file`~
2536 1.1.1.3 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2537 1.1 spz dldir=$destdir/`dirname \$dlpath`~
2538 1.1 spz test -d \$dldir || mkdir -p \$dldir~
2539 1.1 spz $install_prog $dir/$dlname \$dldir/$dlname~
2540 1.1 spz chmod a+x \$dldir/$dlname~
2541 1.1 spz if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2542 1.1 spz eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2543 1.1 spz fi'
2544 1.1 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2545 1.1 spz dlpath=$dir/\$dldll~
2546 1.1 spz $RM \$dlpath'
2547 1.1 spz shlibpath_overrides_runpath=yes
2548 1.1 spz
2549 1.1 spz case $host_os in
2550 1.1 spz cygwin*)
2551 1.1 spz # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2552 1.1.1.3 spz soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2553 1.1 spz m4_if([$1], [],[
2554 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2555 1.1 spz ;;
2556 1.1 spz mingw* | cegcc*)
2557 1.1 spz # MinGW DLLs use traditional 'lib' prefix
2558 1.1.1.3 spz soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2559 1.1 spz ;;
2560 1.1 spz pw32*)
2561 1.1 spz # pw32 DLLs use 'pw' prefix rather than 'lib'
2562 1.1.1.3 spz library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2563 1.1 spz ;;
2564 1.1 spz esac
2565 1.1 spz dynamic_linker='Win32 ld.exe'
2566 1.1 spz ;;
2567 1.1 spz
2568 1.1 spz *,cl*)
2569 1.1 spz # Native MSVC
2570 1.1 spz libname_spec='$name'
2571 1.1.1.3 spz soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
2572 1.1.1.3 spz library_names_spec='$libname.dll.lib'
2573 1.1 spz
2574 1.1 spz case $build_os in
2575 1.1 spz mingw*)
2576 1.1 spz sys_lib_search_path_spec=
2577 1.1 spz lt_save_ifs=$IFS
2578 1.1 spz IFS=';'
2579 1.1 spz for lt_path in $LIB
2580 1.1 spz do
2581 1.1 spz IFS=$lt_save_ifs
2582 1.1 spz # Let DOS variable expansion print the short 8.3 style file name.
2583 1.1 spz lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2584 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2585 1.1 spz done
2586 1.1 spz IFS=$lt_save_ifs
2587 1.1 spz # Convert to MSYS style.
2588 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|^ ||'`
2589 1.1 spz ;;
2590 1.1 spz cygwin*)
2591 1.1 spz # Convert to unix form, then to dos form, then back to unix form
2592 1.1 spz # but this time dos style (no spaces!) so that the unix form looks
2593 1.1 spz # like /cygdrive/c/PROGRA~1:/cygdr...
2594 1.1 spz sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2595 1.1 spz sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2596 1.1 spz sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2597 1.1 spz ;;
2598 1.1 spz *)
2599 1.1.1.3 spz sys_lib_search_path_spec=$LIB
2600 1.1 spz if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2601 1.1 spz # It is most probably a Windows format PATH.
2602 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2603 1.1 spz else
2604 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2605 1.1 spz fi
2606 1.1 spz # FIXME: find the short name or the path components, as spaces are
2607 1.1 spz # common. (e.g. "Program Files" -> "PROGRA~1")
2608 1.1 spz ;;
2609 1.1 spz esac
2610 1.1 spz
2611 1.1 spz # DLL is installed to $(libdir)/../bin by postinstall_cmds
2612 1.1.1.3 spz postinstall_cmds='base_file=`basename \$file`~
2613 1.1.1.3 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
2614 1.1 spz dldir=$destdir/`dirname \$dlpath`~
2615 1.1 spz test -d \$dldir || mkdir -p \$dldir~
2616 1.1 spz $install_prog $dir/$dlname \$dldir/$dlname'
2617 1.1 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2618 1.1 spz dlpath=$dir/\$dldll~
2619 1.1 spz $RM \$dlpath'
2620 1.1 spz shlibpath_overrides_runpath=yes
2621 1.1 spz dynamic_linker='Win32 link.exe'
2622 1.1 spz ;;
2623 1.1 spz
2624 1.1 spz *)
2625 1.1 spz # Assume MSVC wrapper
2626 1.1.1.3 spz library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
2627 1.1 spz dynamic_linker='Win32 ld.exe'
2628 1.1 spz ;;
2629 1.1 spz esac
2630 1.1 spz # FIXME: first we should search . and the directory the executable is in
2631 1.1 spz shlibpath_var=PATH
2632 1.1 spz ;;
2633 1.1 spz
2634 1.1 spz darwin* | rhapsody*)
2635 1.1 spz dynamic_linker="$host_os dyld"
2636 1.1 spz version_type=darwin
2637 1.1 spz need_lib_prefix=no
2638 1.1 spz need_version=no
2639 1.1.1.3 spz library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
2640 1.1.1.3 spz soname_spec='$libname$release$major$shared_ext'
2641 1.1 spz shlibpath_overrides_runpath=yes
2642 1.1 spz shlibpath_var=DYLD_LIBRARY_PATH
2643 1.1 spz shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2644 1.1 spz m4_if([$1], [],[
2645 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2646 1.1 spz sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2647 1.1 spz ;;
2648 1.1 spz
2649 1.1 spz dgux*)
2650 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2651 1.1 spz need_lib_prefix=no
2652 1.1 spz need_version=no
2653 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2654 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2655 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2656 1.1 spz ;;
2657 1.1 spz
2658 1.1 spz freebsd* | dragonfly*)
2659 1.1 spz # DragonFly does not have aout. When/if they implement a new
2660 1.1 spz # versioning mechanism, adjust this.
2661 1.1 spz if test -x /usr/bin/objformat; then
2662 1.1 spz objformat=`/usr/bin/objformat`
2663 1.1 spz else
2664 1.1 spz case $host_os in
2665 1.1.1.2 spz freebsd[[23]].*) objformat=aout ;;
2666 1.1 spz *) objformat=elf ;;
2667 1.1 spz esac
2668 1.1 spz fi
2669 1.1.1.3 spz # Handle Gentoo/FreeBSD as it was Linux
2670 1.1.1.3 spz case $host_vendor in
2671 1.1.1.3 spz gentoo)
2672 1.1.1.3 spz version_type=linux ;;
2673 1.1.1.3 spz *)
2674 1.1.1.3 spz version_type=freebsd-$objformat ;;
2675 1.1.1.3 spz esac
2676 1.1.1.3 spz
2677 1.1 spz case $version_type in
2678 1.1 spz freebsd-elf*)
2679 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2680 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2681 1.1 spz need_version=no
2682 1.1 spz need_lib_prefix=no
2683 1.1 spz ;;
2684 1.1 spz freebsd-*)
2685 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2686 1.1 spz need_version=yes
2687 1.1 spz ;;
2688 1.1.1.3 spz linux)
2689 1.1.1.3 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2690 1.1.1.3 spz soname_spec='${libname}${release}${shared_ext}$major'
2691 1.1.1.3 spz need_lib_prefix=no
2692 1.1.1.3 spz need_version=no
2693 1.1.1.3 spz ;;
2694 1.1 spz esac
2695 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2696 1.1 spz case $host_os in
2697 1.1.1.2 spz freebsd2.*)
2698 1.1 spz shlibpath_overrides_runpath=yes
2699 1.1 spz ;;
2700 1.1 spz freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2701 1.1 spz shlibpath_overrides_runpath=yes
2702 1.1 spz hardcode_into_libs=yes
2703 1.1 spz ;;
2704 1.1 spz freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2705 1.1 spz freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2706 1.1 spz shlibpath_overrides_runpath=no
2707 1.1 spz hardcode_into_libs=yes
2708 1.1 spz ;;
2709 1.1 spz *) # from 4.6 on, and DragonFly
2710 1.1 spz shlibpath_overrides_runpath=yes
2711 1.1 spz hardcode_into_libs=yes
2712 1.1 spz ;;
2713 1.1 spz esac
2714 1.1 spz ;;
2715 1.1 spz
2716 1.1 spz haiku*)
2717 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2718 1.1 spz need_lib_prefix=no
2719 1.1 spz need_version=no
2720 1.1 spz dynamic_linker="$host_os runtime_loader"
2721 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2722 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2723 1.1 spz shlibpath_var=LIBRARY_PATH
2724 1.1.1.3 spz shlibpath_overrides_runpath=no
2725 1.1 spz sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2726 1.1 spz hardcode_into_libs=yes
2727 1.1 spz ;;
2728 1.1 spz
2729 1.1 spz hpux9* | hpux10* | hpux11*)
2730 1.1 spz # Give a soname corresponding to the major version so that dld.sl refuses to
2731 1.1 spz # link against other versions.
2732 1.1 spz version_type=sunos
2733 1.1 spz need_lib_prefix=no
2734 1.1 spz need_version=no
2735 1.1 spz case $host_cpu in
2736 1.1 spz ia64*)
2737 1.1 spz shrext_cmds='.so'
2738 1.1 spz hardcode_into_libs=yes
2739 1.1 spz dynamic_linker="$host_os dld.so"
2740 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2741 1.1 spz shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2742 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2743 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2744 1.1.1.3 spz if test 32 = "$HPUX_IA64_MODE"; then
2745 1.1 spz sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2746 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib/hpux32
2747 1.1 spz else
2748 1.1 spz sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2749 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib/hpux64
2750 1.1 spz fi
2751 1.1 spz ;;
2752 1.1 spz hppa*64*)
2753 1.1 spz shrext_cmds='.sl'
2754 1.1 spz hardcode_into_libs=yes
2755 1.1 spz dynamic_linker="$host_os dld.sl"
2756 1.1 spz shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2757 1.1 spz shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2758 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2759 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2760 1.1 spz sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2761 1.1 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2762 1.1 spz ;;
2763 1.1 spz *)
2764 1.1 spz shrext_cmds='.sl'
2765 1.1 spz dynamic_linker="$host_os dld.sl"
2766 1.1 spz shlibpath_var=SHLIB_PATH
2767 1.1 spz shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2768 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2769 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2770 1.1 spz ;;
2771 1.1 spz esac
2772 1.1 spz # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2773 1.1 spz postinstall_cmds='chmod 555 $lib'
2774 1.1 spz # or fails outright, so override atomically:
2775 1.1 spz install_override_mode=555
2776 1.1 spz ;;
2777 1.1 spz
2778 1.1 spz interix[[3-9]]*)
2779 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2780 1.1 spz need_lib_prefix=no
2781 1.1 spz need_version=no
2782 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2783 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2784 1.1 spz dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2785 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2786 1.1 spz shlibpath_overrides_runpath=no
2787 1.1 spz hardcode_into_libs=yes
2788 1.1 spz ;;
2789 1.1 spz
2790 1.1 spz irix5* | irix6* | nonstopux*)
2791 1.1 spz case $host_os in
2792 1.1 spz nonstopux*) version_type=nonstopux ;;
2793 1.1 spz *)
2794 1.1.1.3 spz if test yes = "$lt_cv_prog_gnu_ld"; then
2795 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2796 1.1 spz else
2797 1.1 spz version_type=irix
2798 1.1 spz fi ;;
2799 1.1 spz esac
2800 1.1 spz need_lib_prefix=no
2801 1.1 spz need_version=no
2802 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2803 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'
2804 1.1 spz case $host_os in
2805 1.1 spz irix5* | nonstopux*)
2806 1.1 spz libsuff= shlibsuff=
2807 1.1 spz ;;
2808 1.1 spz *)
2809 1.1 spz case $LD in # libtool.m4 will add one of these switches to LD
2810 1.1 spz *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2811 1.1 spz libsuff= shlibsuff= libmagic=32-bit;;
2812 1.1 spz *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2813 1.1 spz libsuff=32 shlibsuff=N32 libmagic=N32;;
2814 1.1 spz *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2815 1.1 spz libsuff=64 shlibsuff=64 libmagic=64-bit;;
2816 1.1 spz *) libsuff= shlibsuff= libmagic=never-match;;
2817 1.1 spz esac
2818 1.1 spz ;;
2819 1.1 spz esac
2820 1.1 spz shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2821 1.1 spz shlibpath_overrides_runpath=no
2822 1.1.1.3 spz sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
2823 1.1.1.3 spz sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
2824 1.1 spz hardcode_into_libs=yes
2825 1.1 spz ;;
2826 1.1 spz
2827 1.1 spz # No shared lib support for Linux oldld, aout, or coff.
2828 1.1 spz linux*oldld* | linux*aout* | linux*coff*)
2829 1.1 spz dynamic_linker=no
2830 1.1 spz ;;
2831 1.1 spz
2832 1.1.1.3 spz linux*android*)
2833 1.1.1.3 spz version_type=none # Android doesn't support versioned libraries.
2834 1.1.1.3 spz need_lib_prefix=no
2835 1.1.1.3 spz need_version=no
2836 1.1.1.3 spz library_names_spec='$libname$release$shared_ext'
2837 1.1.1.3 spz soname_spec='$libname$release$shared_ext'
2838 1.1.1.3 spz finish_cmds=
2839 1.1.1.3 spz shlibpath_var=LD_LIBRARY_PATH
2840 1.1.1.3 spz shlibpath_overrides_runpath=yes
2841 1.1.1.3 spz
2842 1.1.1.3 spz # This implies no fast_install, which is unacceptable.
2843 1.1.1.3 spz # Some rework will be needed to allow for fast_install
2844 1.1.1.3 spz # before this can be enabled.
2845 1.1.1.3 spz hardcode_into_libs=yes
2846 1.1.1.3 spz
2847 1.1.1.3 spz dynamic_linker='Android linker'
2848 1.1.1.3 spz # Don't embed -rpath directories since the linker doesn't support them.
2849 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2850 1.1.1.3 spz ;;
2851 1.1.1.3 spz
2852 1.1.1.2 spz # This must be glibc/ELF.
2853 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
2854 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2855 1.1 spz need_lib_prefix=no
2856 1.1 spz need_version=no
2857 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2858 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2859 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2860 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2861 1.1 spz shlibpath_overrides_runpath=no
2862 1.1 spz
2863 1.1 spz # Some binutils ld are patched to set DT_RUNPATH
2864 1.1 spz AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2865 1.1 spz [lt_cv_shlibpath_overrides_runpath=no
2866 1.1 spz save_LDFLAGS=$LDFLAGS
2867 1.1 spz save_libdir=$libdir
2868 1.1 spz eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2869 1.1 spz LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2870 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2871 1.1 spz [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2872 1.1 spz [lt_cv_shlibpath_overrides_runpath=yes])])
2873 1.1 spz LDFLAGS=$save_LDFLAGS
2874 1.1 spz libdir=$save_libdir
2875 1.1 spz ])
2876 1.1 spz shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2877 1.1 spz
2878 1.1 spz # This implies no fast_install, which is unacceptable.
2879 1.1 spz # Some rework will be needed to allow for fast_install
2880 1.1 spz # before this can be enabled.
2881 1.1 spz hardcode_into_libs=yes
2882 1.1 spz
2883 1.1.1.3 spz # Ideally, we could use ldconfig to report *all* directores which are
2884 1.1.1.3 spz # searched for libraries, however this is still not possible. Aside from not
2885 1.1.1.3 spz # being certain /sbin/ldconfig is available, command
2886 1.1.1.3 spz # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
2887 1.1.1.3 spz # even though it is searched at run-time. Try to do the best guess by
2888 1.1.1.3 spz # appending ld.so.conf contents (and includes) to the search path.
2889 1.1 spz if test -f /etc/ld.so.conf; then
2890 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' ' '`
2891 1.1 spz sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2892 1.1 spz fi
2893 1.1 spz
2894 1.1 spz # We used to test for /lib/ld.so.1 and disable shared libraries on
2895 1.1 spz # powerpc, because MkLinux only supported shared libraries with the
2896 1.1 spz # GNU dynamic linker. Since this was broken with cross compilers,
2897 1.1 spz # most powerpc-linux boxes support dynamic linking these days and
2898 1.1 spz # people can always --disable-shared, the test was removed, and we
2899 1.1 spz # assume the GNU/Linux dynamic linker is in use.
2900 1.1 spz dynamic_linker='GNU/Linux ld.so'
2901 1.1 spz ;;
2902 1.1 spz
2903 1.1 spz netbsd*)
2904 1.1 spz version_type=sunos
2905 1.1 spz need_lib_prefix=no
2906 1.1 spz need_version=no
2907 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2908 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2909 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2910 1.1 spz dynamic_linker='NetBSD (a.out) ld.so'
2911 1.1 spz else
2912 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2913 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2914 1.1 spz dynamic_linker='NetBSD ld.elf_so'
2915 1.1 spz fi
2916 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2917 1.1 spz shlibpath_overrides_runpath=yes
2918 1.1 spz hardcode_into_libs=yes
2919 1.1 spz ;;
2920 1.1 spz
2921 1.1 spz newsos6)
2922 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2923 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2924 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2925 1.1 spz shlibpath_overrides_runpath=yes
2926 1.1 spz ;;
2927 1.1 spz
2928 1.1 spz *nto* | *qnx*)
2929 1.1 spz version_type=qnx
2930 1.1 spz need_lib_prefix=no
2931 1.1 spz need_version=no
2932 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2933 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2934 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2935 1.1 spz shlibpath_overrides_runpath=no
2936 1.1 spz hardcode_into_libs=yes
2937 1.1 spz dynamic_linker='ldqnx.so'
2938 1.1 spz ;;
2939 1.1 spz
2940 1.1.1.3 spz openbsd* | bitrig*)
2941 1.1 spz version_type=sunos
2942 1.1.1.3 spz sys_lib_dlsearch_path_spec=/usr/lib
2943 1.1 spz need_lib_prefix=no
2944 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
2945 1.1.1.3 spz need_version=no
2946 1.1 spz else
2947 1.1.1.3 spz need_version=yes
2948 1.1 spz fi
2949 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
2950 1.1.1.3 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2951 1.1.1.3 spz shlibpath_var=LD_LIBRARY_PATH
2952 1.1.1.3 spz shlibpath_overrides_runpath=yes
2953 1.1 spz ;;
2954 1.1 spz
2955 1.1 spz os2*)
2956 1.1 spz libname_spec='$name'
2957 1.1.1.3 spz version_type=windows
2958 1.1.1.3 spz shrext_cmds=.dll
2959 1.1.1.3 spz need_version=no
2960 1.1 spz need_lib_prefix=no
2961 1.1.1.3 spz # OS/2 can only load a DLL with a base name of 8 characters or less.
2962 1.1.1.3 spz soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
2963 1.1.1.3 spz v=$($ECHO $release$versuffix | tr -d .-);
2964 1.1.1.3 spz n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
2965 1.1.1.3 spz $ECHO $n$v`$shared_ext'
2966 1.1.1.3 spz library_names_spec='${libname}_dll.$libext'
2967 1.1 spz dynamic_linker='OS/2 ld.exe'
2968 1.1.1.3 spz shlibpath_var=BEGINLIBPATH
2969 1.1.1.3 spz sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2970 1.1.1.3 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2971 1.1.1.3 spz postinstall_cmds='base_file=`basename \$file`~
2972 1.1.1.3 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
2973 1.1.1.3 spz dldir=$destdir/`dirname \$dlpath`~
2974 1.1.1.3 spz test -d \$dldir || mkdir -p \$dldir~
2975 1.1.1.3 spz $install_prog $dir/$dlname \$dldir/$dlname~
2976 1.1.1.3 spz chmod a+x \$dldir/$dlname~
2977 1.1.1.3 spz if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2978 1.1.1.3 spz eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2979 1.1.1.3 spz fi'
2980 1.1.1.3 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
2981 1.1.1.3 spz dlpath=$dir/\$dldll~
2982 1.1.1.3 spz $RM \$dlpath'
2983 1.1 spz ;;
2984 1.1 spz
2985 1.1 spz osf3* | osf4* | osf5*)
2986 1.1 spz version_type=osf
2987 1.1 spz need_lib_prefix=no
2988 1.1 spz need_version=no
2989 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
2990 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
2991 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2992 1.1 spz sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2993 1.1.1.3 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2994 1.1 spz ;;
2995 1.1 spz
2996 1.1 spz rdos*)
2997 1.1 spz dynamic_linker=no
2998 1.1 spz ;;
2999 1.1 spz
3000 1.1 spz solaris*)
3001 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3002 1.1 spz need_lib_prefix=no
3003 1.1 spz need_version=no
3004 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3005 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3006 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3007 1.1 spz shlibpath_overrides_runpath=yes
3008 1.1 spz hardcode_into_libs=yes
3009 1.1 spz # ldd complains unless libraries are executable
3010 1.1 spz postinstall_cmds='chmod +x $lib'
3011 1.1 spz ;;
3012 1.1 spz
3013 1.1 spz sunos4*)
3014 1.1 spz version_type=sunos
3015 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
3016 1.1 spz finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
3017 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3018 1.1 spz shlibpath_overrides_runpath=yes
3019 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
3020 1.1 spz need_lib_prefix=no
3021 1.1 spz fi
3022 1.1 spz need_version=yes
3023 1.1 spz ;;
3024 1.1 spz
3025 1.1 spz sysv4 | sysv4.3*)
3026 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3027 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3028 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3029 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3030 1.1 spz case $host_vendor in
3031 1.1 spz sni)
3032 1.1 spz shlibpath_overrides_runpath=no
3033 1.1 spz need_lib_prefix=no
3034 1.1 spz runpath_var=LD_RUN_PATH
3035 1.1 spz ;;
3036 1.1 spz siemens)
3037 1.1 spz need_lib_prefix=no
3038 1.1 spz ;;
3039 1.1 spz motorola)
3040 1.1 spz need_lib_prefix=no
3041 1.1 spz need_version=no
3042 1.1 spz shlibpath_overrides_runpath=no
3043 1.1 spz sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
3044 1.1 spz ;;
3045 1.1 spz esac
3046 1.1 spz ;;
3047 1.1 spz
3048 1.1 spz sysv4*MP*)
3049 1.1.1.3 spz if test -d /usr/nec; then
3050 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3051 1.1.1.3 spz library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
3052 1.1.1.3 spz soname_spec='$libname$shared_ext.$major'
3053 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3054 1.1 spz fi
3055 1.1 spz ;;
3056 1.1 spz
3057 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3058 1.1.1.3 spz version_type=sco
3059 1.1 spz need_lib_prefix=no
3060 1.1 spz need_version=no
3061 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
3062 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3063 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3064 1.1 spz shlibpath_overrides_runpath=yes
3065 1.1 spz hardcode_into_libs=yes
3066 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
3067 1.1 spz sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
3068 1.1 spz else
3069 1.1 spz sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
3070 1.1 spz case $host_os in
3071 1.1 spz sco3.2v5*)
3072 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
3073 1.1 spz ;;
3074 1.1 spz esac
3075 1.1 spz fi
3076 1.1 spz sys_lib_dlsearch_path_spec='/usr/lib'
3077 1.1 spz ;;
3078 1.1 spz
3079 1.1 spz tpf*)
3080 1.1 spz # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
3081 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3082 1.1 spz need_lib_prefix=no
3083 1.1 spz need_version=no
3084 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3085 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3086 1.1 spz shlibpath_overrides_runpath=no
3087 1.1 spz hardcode_into_libs=yes
3088 1.1 spz ;;
3089 1.1 spz
3090 1.1 spz uts4*)
3091 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
3092 1.1.1.3 spz library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
3093 1.1.1.3 spz soname_spec='$libname$release$shared_ext$major'
3094 1.1 spz shlibpath_var=LD_LIBRARY_PATH
3095 1.1 spz ;;
3096 1.1 spz
3097 1.1 spz *)
3098 1.1 spz dynamic_linker=no
3099 1.1 spz ;;
3100 1.1 spz esac
3101 1.1 spz AC_MSG_RESULT([$dynamic_linker])
3102 1.1.1.3 spz test no = "$dynamic_linker" && can_build_shared=no
3103 1.1 spz
3104 1.1 spz variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
3105 1.1.1.3 spz if test yes = "$GCC"; then
3106 1.1 spz variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
3107 1.1 spz fi
3108 1.1 spz
3109 1.1.1.3 spz if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
3110 1.1.1.3 spz sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
3111 1.1 spz fi
3112 1.1.1.3 spz
3113 1.1.1.3 spz if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
3114 1.1.1.3 spz sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
3115 1.1 spz fi
3116 1.1 spz
3117 1.1.1.3 spz # remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
3118 1.1.1.3 spz configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
3119 1.1.1.3 spz
3120 1.1.1.3 spz # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
3121 1.1.1.3 spz func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
3122 1.1.1.3 spz
3123 1.1.1.3 spz # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
3124 1.1.1.3 spz configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
3125 1.1.1.3 spz
3126 1.1 spz _LT_DECL([], [variables_saved_for_relink], [1],
3127 1.1 spz [Variables whose values should be saved in libtool wrapper scripts and
3128 1.1 spz restored at link time])
3129 1.1 spz _LT_DECL([], [need_lib_prefix], [0],
3130 1.1 spz [Do we need the "lib" prefix for modules?])
3131 1.1 spz _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
3132 1.1 spz _LT_DECL([], [version_type], [0], [Library versioning type])
3133 1.1 spz _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
3134 1.1 spz _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
3135 1.1 spz _LT_DECL([], [shlibpath_overrides_runpath], [0],
3136 1.1 spz [Is shlibpath searched before the hard-coded library search path?])
3137 1.1 spz _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
3138 1.1 spz _LT_DECL([], [library_names_spec], [1],
3139 1.1 spz [[List of archive names. First name is the real one, the rest are links.
3140 1.1 spz The last name is the one that the linker finds with -lNAME]])
3141 1.1 spz _LT_DECL([], [soname_spec], [1],
3142 1.1 spz [[The coded name of the library, if different from the real name]])
3143 1.1 spz _LT_DECL([], [install_override_mode], [1],
3144 1.1 spz [Permission mode override for installation of shared libraries])
3145 1.1 spz _LT_DECL([], [postinstall_cmds], [2],
3146 1.1 spz [Command to use after installation of a shared archive])
3147 1.1 spz _LT_DECL([], [postuninstall_cmds], [2],
3148 1.1 spz [Command to use after uninstallation of a shared archive])
3149 1.1 spz _LT_DECL([], [finish_cmds], [2],
3150 1.1 spz [Commands used to finish a libtool library installation in a directory])
3151 1.1 spz _LT_DECL([], [finish_eval], [1],
3152 1.1 spz [[As "finish_cmds", except a single script fragment to be evaled but
3153 1.1 spz not shown]])
3154 1.1 spz _LT_DECL([], [hardcode_into_libs], [0],
3155 1.1 spz [Whether we should hardcode library paths into libraries])
3156 1.1 spz _LT_DECL([], [sys_lib_search_path_spec], [2],
3157 1.1 spz [Compile-time system search path for libraries])
3158 1.1.1.3 spz _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
3159 1.1.1.3 spz [Detected run-time system search path for libraries])
3160 1.1.1.3 spz _LT_DECL([], [configure_time_lt_sys_library_path], [2],
3161 1.1.1.3 spz [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
3162 1.1 spz ])# _LT_SYS_DYNAMIC_LINKER
3163 1.1 spz
3164 1.1 spz
3165 1.1 spz # _LT_PATH_TOOL_PREFIX(TOOL)
3166 1.1 spz # --------------------------
3167 1.1.1.3 spz # find a file program that can recognize shared library
3168 1.1 spz AC_DEFUN([_LT_PATH_TOOL_PREFIX],
3169 1.1 spz [m4_require([_LT_DECL_EGREP])dnl
3170 1.1 spz AC_MSG_CHECKING([for $1])
3171 1.1 spz AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
3172 1.1 spz [case $MAGIC_CMD in
3173 1.1 spz [[\\/*] | ?:[\\/]*])
3174 1.1.1.3 spz lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
3175 1.1 spz ;;
3176 1.1 spz *)
3177 1.1.1.3 spz lt_save_MAGIC_CMD=$MAGIC_CMD
3178 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3179 1.1 spz dnl $ac_dummy forces splitting on constant user-supplied paths.
3180 1.1 spz dnl POSIX.2 word splitting is done only on the output of word expansions,
3181 1.1 spz dnl not every word. This closes a longstanding sh security hole.
3182 1.1 spz ac_dummy="m4_if([$2], , $PATH, [$2])"
3183 1.1 spz for ac_dir in $ac_dummy; do
3184 1.1.1.3 spz IFS=$lt_save_ifs
3185 1.1 spz test -z "$ac_dir" && ac_dir=.
3186 1.1.1.3 spz if test -f "$ac_dir/$1"; then
3187 1.1.1.3 spz lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
3188 1.1 spz if test -n "$file_magic_test_file"; then
3189 1.1 spz case $deplibs_check_method in
3190 1.1 spz "file_magic "*)
3191 1.1 spz file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
3192 1.1.1.3 spz MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3193 1.1 spz if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
3194 1.1 spz $EGREP "$file_magic_regex" > /dev/null; then
3195 1.1 spz :
3196 1.1 spz else
3197 1.1 spz cat <<_LT_EOF 1>&2
3198 1.1 spz
3199 1.1 spz *** Warning: the command libtool uses to detect shared libraries,
3200 1.1 spz *** $file_magic_cmd, produces output that libtool cannot recognize.
3201 1.1 spz *** The result is that libtool may fail to recognize shared libraries
3202 1.1 spz *** as such. This will affect the creation of libtool libraries that
3203 1.1 spz *** depend on shared libraries, but programs linked with such libtool
3204 1.1 spz *** libraries will work regardless of this problem. Nevertheless, you
3205 1.1 spz *** may want to report the problem to your system manager and/or to
3206 1.1 spz *** bug-libtool (a] gnu.org
3207 1.1 spz
3208 1.1 spz _LT_EOF
3209 1.1 spz fi ;;
3210 1.1 spz esac
3211 1.1 spz fi
3212 1.1 spz break
3213 1.1 spz fi
3214 1.1 spz done
3215 1.1.1.3 spz IFS=$lt_save_ifs
3216 1.1.1.3 spz MAGIC_CMD=$lt_save_MAGIC_CMD
3217 1.1 spz ;;
3218 1.1 spz esac])
3219 1.1.1.3 spz MAGIC_CMD=$lt_cv_path_MAGIC_CMD
3220 1.1 spz if test -n "$MAGIC_CMD"; then
3221 1.1 spz AC_MSG_RESULT($MAGIC_CMD)
3222 1.1 spz else
3223 1.1 spz AC_MSG_RESULT(no)
3224 1.1 spz fi
3225 1.1 spz _LT_DECL([], [MAGIC_CMD], [0],
3226 1.1 spz [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3227 1.1 spz ])# _LT_PATH_TOOL_PREFIX
3228 1.1 spz
3229 1.1 spz # Old name:
3230 1.1 spz AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3231 1.1 spz dnl aclocal-1.4 backwards compatibility:
3232 1.1 spz dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3233 1.1 spz
3234 1.1 spz
3235 1.1 spz # _LT_PATH_MAGIC
3236 1.1 spz # --------------
3237 1.1.1.3 spz # find a file program that can recognize a shared library
3238 1.1 spz m4_defun([_LT_PATH_MAGIC],
3239 1.1 spz [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3240 1.1 spz if test -z "$lt_cv_path_MAGIC_CMD"; then
3241 1.1 spz if test -n "$ac_tool_prefix"; then
3242 1.1 spz _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3243 1.1 spz else
3244 1.1 spz MAGIC_CMD=:
3245 1.1 spz fi
3246 1.1 spz fi
3247 1.1 spz ])# _LT_PATH_MAGIC
3248 1.1 spz
3249 1.1 spz
3250 1.1 spz # LT_PATH_LD
3251 1.1 spz # ----------
3252 1.1 spz # find the pathname to the GNU or non-GNU linker
3253 1.1 spz AC_DEFUN([LT_PATH_LD],
3254 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
3255 1.1 spz AC_REQUIRE([AC_CANONICAL_HOST])dnl
3256 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3257 1.1 spz m4_require([_LT_DECL_SED])dnl
3258 1.1 spz m4_require([_LT_DECL_EGREP])dnl
3259 1.1 spz m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3260 1.1 spz
3261 1.1 spz AC_ARG_WITH([gnu-ld],
3262 1.1 spz [AS_HELP_STRING([--with-gnu-ld],
3263 1.1 spz [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3264 1.1.1.3 spz [test no = "$withval" || with_gnu_ld=yes],
3265 1.1 spz [with_gnu_ld=no])dnl
3266 1.1 spz
3267 1.1 spz ac_prog=ld
3268 1.1.1.3 spz if test yes = "$GCC"; then
3269 1.1 spz # Check if gcc -print-prog-name=ld gives a path.
3270 1.1 spz AC_MSG_CHECKING([for ld used by $CC])
3271 1.1 spz case $host in
3272 1.1 spz *-*-mingw*)
3273 1.1.1.3 spz # gcc leaves a trailing carriage return, which upsets mingw
3274 1.1 spz ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3275 1.1 spz *)
3276 1.1 spz ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3277 1.1 spz esac
3278 1.1 spz case $ac_prog in
3279 1.1 spz # Accept absolute paths.
3280 1.1 spz [[\\/]]* | ?:[[\\/]]*)
3281 1.1 spz re_direlt='/[[^/]][[^/]]*/\.\./'
3282 1.1 spz # Canonicalize the pathname of ld
3283 1.1 spz ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3284 1.1 spz while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3285 1.1 spz ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3286 1.1 spz done
3287 1.1.1.3 spz test -z "$LD" && LD=$ac_prog
3288 1.1 spz ;;
3289 1.1 spz "")
3290 1.1 spz # If it fails, then pretend we aren't using GCC.
3291 1.1 spz ac_prog=ld
3292 1.1 spz ;;
3293 1.1 spz *)
3294 1.1 spz # If it is relative, then search for the first ld in PATH.
3295 1.1 spz with_gnu_ld=unknown
3296 1.1 spz ;;
3297 1.1 spz esac
3298 1.1.1.3 spz elif test yes = "$with_gnu_ld"; then
3299 1.1 spz AC_MSG_CHECKING([for GNU ld])
3300 1.1 spz else
3301 1.1 spz AC_MSG_CHECKING([for non-GNU ld])
3302 1.1 spz fi
3303 1.1 spz AC_CACHE_VAL(lt_cv_path_LD,
3304 1.1 spz [if test -z "$LD"; then
3305 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3306 1.1 spz for ac_dir in $PATH; do
3307 1.1.1.3 spz IFS=$lt_save_ifs
3308 1.1 spz test -z "$ac_dir" && ac_dir=.
3309 1.1 spz if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3310 1.1.1.3 spz lt_cv_path_LD=$ac_dir/$ac_prog
3311 1.1 spz # Check to see if the program is GNU ld. I'd rather use --version,
3312 1.1 spz # but apparently some variants of GNU ld only accept -v.
3313 1.1 spz # Break only if it was the GNU/non-GNU ld that we prefer.
3314 1.1 spz case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3315 1.1 spz *GNU* | *'with BFD'*)
3316 1.1.1.3 spz test no != "$with_gnu_ld" && break
3317 1.1 spz ;;
3318 1.1 spz *)
3319 1.1.1.3 spz test yes != "$with_gnu_ld" && break
3320 1.1 spz ;;
3321 1.1 spz esac
3322 1.1 spz fi
3323 1.1 spz done
3324 1.1.1.3 spz IFS=$lt_save_ifs
3325 1.1 spz else
3326 1.1.1.3 spz lt_cv_path_LD=$LD # Let the user override the test with a path.
3327 1.1 spz fi])
3328 1.1.1.3 spz LD=$lt_cv_path_LD
3329 1.1 spz if test -n "$LD"; then
3330 1.1 spz AC_MSG_RESULT($LD)
3331 1.1 spz else
3332 1.1 spz AC_MSG_RESULT(no)
3333 1.1 spz fi
3334 1.1 spz test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3335 1.1 spz _LT_PATH_LD_GNU
3336 1.1 spz AC_SUBST([LD])
3337 1.1 spz
3338 1.1 spz _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3339 1.1 spz ])# LT_PATH_LD
3340 1.1 spz
3341 1.1 spz # Old names:
3342 1.1 spz AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3343 1.1 spz AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3344 1.1 spz dnl aclocal-1.4 backwards compatibility:
3345 1.1 spz dnl AC_DEFUN([AM_PROG_LD], [])
3346 1.1 spz dnl AC_DEFUN([AC_PROG_LD], [])
3347 1.1 spz
3348 1.1 spz
3349 1.1 spz # _LT_PATH_LD_GNU
3350 1.1 spz #- --------------
3351 1.1 spz m4_defun([_LT_PATH_LD_GNU],
3352 1.1 spz [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3353 1.1 spz [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3354 1.1 spz case `$LD -v 2>&1 </dev/null` in
3355 1.1 spz *GNU* | *'with BFD'*)
3356 1.1 spz lt_cv_prog_gnu_ld=yes
3357 1.1 spz ;;
3358 1.1 spz *)
3359 1.1 spz lt_cv_prog_gnu_ld=no
3360 1.1 spz ;;
3361 1.1 spz esac])
3362 1.1 spz with_gnu_ld=$lt_cv_prog_gnu_ld
3363 1.1 spz ])# _LT_PATH_LD_GNU
3364 1.1 spz
3365 1.1 spz
3366 1.1 spz # _LT_CMD_RELOAD
3367 1.1 spz # --------------
3368 1.1 spz # find reload flag for linker
3369 1.1 spz # -- PORTME Some linkers may need a different reload flag.
3370 1.1 spz m4_defun([_LT_CMD_RELOAD],
3371 1.1 spz [AC_CACHE_CHECK([for $LD option to reload object files],
3372 1.1 spz lt_cv_ld_reload_flag,
3373 1.1 spz [lt_cv_ld_reload_flag='-r'])
3374 1.1 spz reload_flag=$lt_cv_ld_reload_flag
3375 1.1 spz case $reload_flag in
3376 1.1 spz "" | " "*) ;;
3377 1.1 spz *) reload_flag=" $reload_flag" ;;
3378 1.1 spz esac
3379 1.1 spz reload_cmds='$LD$reload_flag -o $output$reload_objs'
3380 1.1 spz case $host_os in
3381 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3382 1.1.1.3 spz if test yes != "$GCC"; then
3383 1.1 spz reload_cmds=false
3384 1.1 spz fi
3385 1.1 spz ;;
3386 1.1 spz darwin*)
3387 1.1.1.3 spz if test yes = "$GCC"; then
3388 1.1.1.3 spz reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
3389 1.1 spz else
3390 1.1 spz reload_cmds='$LD$reload_flag -o $output$reload_objs'
3391 1.1 spz fi
3392 1.1 spz ;;
3393 1.1 spz esac
3394 1.1 spz _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3395 1.1 spz _LT_TAGDECL([], [reload_cmds], [2])dnl
3396 1.1 spz ])# _LT_CMD_RELOAD
3397 1.1 spz
3398 1.1 spz
3399 1.1.1.3 spz # _LT_PATH_DD
3400 1.1.1.3 spz # -----------
3401 1.1.1.3 spz # find a working dd
3402 1.1.1.3 spz m4_defun([_LT_PATH_DD],
3403 1.1.1.3 spz [AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
3404 1.1.1.3 spz [printf 0123456789abcdef0123456789abcdef >conftest.i
3405 1.1.1.3 spz cat conftest.i conftest.i >conftest2.i
3406 1.1.1.3 spz : ${lt_DD:=$DD}
3407 1.1.1.3 spz AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
3408 1.1.1.3 spz [if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3409 1.1.1.3 spz cmp -s conftest.i conftest.out \
3410 1.1.1.3 spz && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
3411 1.1.1.3 spz fi])
3412 1.1.1.3 spz rm -f conftest.i conftest2.i conftest.out])
3413 1.1.1.3 spz ])# _LT_PATH_DD
3414 1.1.1.3 spz
3415 1.1.1.3 spz
3416 1.1.1.3 spz # _LT_CMD_TRUNCATE
3417 1.1.1.3 spz # ----------------
3418 1.1.1.3 spz # find command to truncate a binary pipe
3419 1.1.1.3 spz m4_defun([_LT_CMD_TRUNCATE],
3420 1.1.1.3 spz [m4_require([_LT_PATH_DD])
3421 1.1.1.3 spz AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
3422 1.1.1.3 spz [printf 0123456789abcdef0123456789abcdef >conftest.i
3423 1.1.1.3 spz cat conftest.i conftest.i >conftest2.i
3424 1.1.1.3 spz lt_cv_truncate_bin=
3425 1.1.1.3 spz if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
3426 1.1.1.3 spz cmp -s conftest.i conftest.out \
3427 1.1.1.3 spz && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
3428 1.1.1.3 spz fi
3429 1.1.1.3 spz rm -f conftest.i conftest2.i conftest.out
3430 1.1.1.3 spz test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
3431 1.1.1.3 spz _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
3432 1.1.1.3 spz [Command to truncate a binary pipe])
3433 1.1.1.3 spz ])# _LT_CMD_TRUNCATE
3434 1.1.1.3 spz
3435 1.1.1.3 spz
3436 1.1 spz # _LT_CHECK_MAGIC_METHOD
3437 1.1 spz # ----------------------
3438 1.1 spz # how to check for library dependencies
3439 1.1 spz # -- PORTME fill in with the dynamic library characteristics
3440 1.1 spz m4_defun([_LT_CHECK_MAGIC_METHOD],
3441 1.1 spz [m4_require([_LT_DECL_EGREP])
3442 1.1 spz m4_require([_LT_DECL_OBJDUMP])
3443 1.1 spz AC_CACHE_CHECK([how to recognize dependent libraries],
3444 1.1 spz lt_cv_deplibs_check_method,
3445 1.1 spz [lt_cv_file_magic_cmd='$MAGIC_CMD'
3446 1.1 spz lt_cv_file_magic_test_file=
3447 1.1 spz lt_cv_deplibs_check_method='unknown'
3448 1.1 spz # Need to set the preceding variable on all platforms that support
3449 1.1 spz # interlibrary dependencies.
3450 1.1 spz # 'none' -- dependencies not supported.
3451 1.1.1.3 spz # 'unknown' -- same as none, but documents that we really don't know.
3452 1.1 spz # 'pass_all' -- all dependencies passed with no checks.
3453 1.1 spz # 'test_compile' -- check by making test program.
3454 1.1 spz # 'file_magic [[regex]]' -- check by looking for files in library path
3455 1.1.1.3 spz # that responds to the $file_magic_cmd with a given extended regex.
3456 1.1.1.3 spz # If you have 'file' or equivalent on your system and you're not sure
3457 1.1.1.3 spz # whether 'pass_all' will *always* work, you probably want this one.
3458 1.1 spz
3459 1.1 spz case $host_os in
3460 1.1 spz aix[[4-9]]*)
3461 1.1 spz lt_cv_deplibs_check_method=pass_all
3462 1.1 spz ;;
3463 1.1 spz
3464 1.1 spz beos*)
3465 1.1 spz lt_cv_deplibs_check_method=pass_all
3466 1.1 spz ;;
3467 1.1 spz
3468 1.1 spz bsdi[[45]]*)
3469 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3470 1.1 spz lt_cv_file_magic_cmd='/usr/bin/file -L'
3471 1.1 spz lt_cv_file_magic_test_file=/shlib/libc.so
3472 1.1 spz ;;
3473 1.1 spz
3474 1.1 spz cygwin*)
3475 1.1 spz # func_win32_libid is a shell function defined in ltmain.sh
3476 1.1 spz lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3477 1.1 spz lt_cv_file_magic_cmd='func_win32_libid'
3478 1.1 spz ;;
3479 1.1 spz
3480 1.1 spz mingw* | pw32*)
3481 1.1 spz # Base MSYS/MinGW do not provide the 'file' command needed by
3482 1.1 spz # func_win32_libid shell function, so use a weaker test based on 'objdump',
3483 1.1 spz # unless we find 'file', for example because we are cross-compiling.
3484 1.1.1.3 spz if ( file / ) >/dev/null 2>&1; then
3485 1.1 spz lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3486 1.1 spz lt_cv_file_magic_cmd='func_win32_libid'
3487 1.1 spz else
3488 1.1 spz # Keep this pattern in sync with the one in func_win32_libid.
3489 1.1 spz lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3490 1.1 spz lt_cv_file_magic_cmd='$OBJDUMP -f'
3491 1.1 spz fi
3492 1.1 spz ;;
3493 1.1 spz
3494 1.1 spz cegcc*)
3495 1.1 spz # use the weaker test based on 'objdump'. See mingw*.
3496 1.1 spz lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3497 1.1 spz lt_cv_file_magic_cmd='$OBJDUMP -f'
3498 1.1 spz ;;
3499 1.1 spz
3500 1.1 spz darwin* | rhapsody*)
3501 1.1 spz lt_cv_deplibs_check_method=pass_all
3502 1.1 spz ;;
3503 1.1 spz
3504 1.1 spz freebsd* | dragonfly*)
3505 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3506 1.1 spz case $host_cpu in
3507 1.1 spz i*86 )
3508 1.1 spz # Not sure whether the presence of OpenBSD here was a mistake.
3509 1.1 spz # Let's accept both of them until this is cleared up.
3510 1.1 spz lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3511 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3512 1.1 spz lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3513 1.1 spz ;;
3514 1.1 spz esac
3515 1.1 spz else
3516 1.1 spz lt_cv_deplibs_check_method=pass_all
3517 1.1 spz fi
3518 1.1 spz ;;
3519 1.1 spz
3520 1.1 spz haiku*)
3521 1.1 spz lt_cv_deplibs_check_method=pass_all
3522 1.1 spz ;;
3523 1.1 spz
3524 1.1 spz hpux10.20* | hpux11*)
3525 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3526 1.1 spz case $host_cpu in
3527 1.1 spz ia64*)
3528 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'
3529 1.1 spz lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3530 1.1 spz ;;
3531 1.1 spz hppa*64*)
3532 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]']
3533 1.1 spz lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3534 1.1 spz ;;
3535 1.1 spz *)
3536 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'
3537 1.1 spz lt_cv_file_magic_test_file=/usr/lib/libc.sl
3538 1.1 spz ;;
3539 1.1 spz esac
3540 1.1 spz ;;
3541 1.1 spz
3542 1.1 spz interix[[3-9]]*)
3543 1.1 spz # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3544 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3545 1.1 spz ;;
3546 1.1 spz
3547 1.1 spz irix5* | irix6* | nonstopux*)
3548 1.1 spz case $LD in
3549 1.1 spz *-32|*"-32 ") libmagic=32-bit;;
3550 1.1 spz *-n32|*"-n32 ") libmagic=N32;;
3551 1.1 spz *-64|*"-64 ") libmagic=64-bit;;
3552 1.1 spz *) libmagic=never-match;;
3553 1.1 spz esac
3554 1.1 spz lt_cv_deplibs_check_method=pass_all
3555 1.1 spz ;;
3556 1.1 spz
3557 1.1.1.2 spz # This must be glibc/ELF.
3558 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3559 1.1 spz lt_cv_deplibs_check_method=pass_all
3560 1.1 spz ;;
3561 1.1 spz
3562 1.1.1.3 spz netbsd*)
3563 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3564 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3565 1.1 spz else
3566 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3567 1.1 spz fi
3568 1.1 spz ;;
3569 1.1 spz
3570 1.1 spz newos6*)
3571 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3572 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3573 1.1 spz lt_cv_file_magic_test_file=/usr/lib/libnls.so
3574 1.1 spz ;;
3575 1.1 spz
3576 1.1 spz *nto* | *qnx*)
3577 1.1 spz lt_cv_deplibs_check_method=pass_all
3578 1.1 spz ;;
3579 1.1 spz
3580 1.1.1.3 spz openbsd* | bitrig*)
3581 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
3582 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3583 1.1 spz else
3584 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3585 1.1 spz fi
3586 1.1 spz ;;
3587 1.1 spz
3588 1.1 spz osf3* | osf4* | osf5*)
3589 1.1 spz lt_cv_deplibs_check_method=pass_all
3590 1.1 spz ;;
3591 1.1 spz
3592 1.1 spz rdos*)
3593 1.1 spz lt_cv_deplibs_check_method=pass_all
3594 1.1 spz ;;
3595 1.1 spz
3596 1.1 spz solaris*)
3597 1.1 spz lt_cv_deplibs_check_method=pass_all
3598 1.1 spz ;;
3599 1.1 spz
3600 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3601 1.1 spz lt_cv_deplibs_check_method=pass_all
3602 1.1 spz ;;
3603 1.1 spz
3604 1.1 spz sysv4 | sysv4.3*)
3605 1.1 spz case $host_vendor in
3606 1.1 spz motorola)
3607 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]]'
3608 1.1 spz lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3609 1.1 spz ;;
3610 1.1 spz ncr)
3611 1.1 spz lt_cv_deplibs_check_method=pass_all
3612 1.1 spz ;;
3613 1.1 spz sequent)
3614 1.1 spz lt_cv_file_magic_cmd='/bin/file'
3615 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3616 1.1 spz ;;
3617 1.1 spz sni)
3618 1.1 spz lt_cv_file_magic_cmd='/bin/file'
3619 1.1 spz lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3620 1.1 spz lt_cv_file_magic_test_file=/lib/libc.so
3621 1.1 spz ;;
3622 1.1 spz siemens)
3623 1.1 spz lt_cv_deplibs_check_method=pass_all
3624 1.1 spz ;;
3625 1.1 spz pc)
3626 1.1 spz lt_cv_deplibs_check_method=pass_all
3627 1.1 spz ;;
3628 1.1 spz esac
3629 1.1 spz ;;
3630 1.1 spz
3631 1.1 spz tpf*)
3632 1.1 spz lt_cv_deplibs_check_method=pass_all
3633 1.1 spz ;;
3634 1.1.1.3 spz os2*)
3635 1.1.1.3 spz lt_cv_deplibs_check_method=pass_all
3636 1.1.1.3 spz ;;
3637 1.1 spz esac
3638 1.1 spz ])
3639 1.1 spz
3640 1.1 spz file_magic_glob=
3641 1.1 spz want_nocaseglob=no
3642 1.1 spz if test "$build" = "$host"; then
3643 1.1 spz case $host_os in
3644 1.1 spz mingw* | pw32*)
3645 1.1 spz if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3646 1.1 spz want_nocaseglob=yes
3647 1.1 spz else
3648 1.1 spz file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3649 1.1 spz fi
3650 1.1 spz ;;
3651 1.1 spz esac
3652 1.1 spz fi
3653 1.1 spz
3654 1.1 spz file_magic_cmd=$lt_cv_file_magic_cmd
3655 1.1 spz deplibs_check_method=$lt_cv_deplibs_check_method
3656 1.1 spz test -z "$deplibs_check_method" && deplibs_check_method=unknown
3657 1.1 spz
3658 1.1 spz _LT_DECL([], [deplibs_check_method], [1],
3659 1.1 spz [Method to check whether dependent libraries are shared objects])
3660 1.1 spz _LT_DECL([], [file_magic_cmd], [1],
3661 1.1 spz [Command to use when deplibs_check_method = "file_magic"])
3662 1.1 spz _LT_DECL([], [file_magic_glob], [1],
3663 1.1 spz [How to find potential files when deplibs_check_method = "file_magic"])
3664 1.1 spz _LT_DECL([], [want_nocaseglob], [1],
3665 1.1 spz [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3666 1.1 spz ])# _LT_CHECK_MAGIC_METHOD
3667 1.1 spz
3668 1.1 spz
3669 1.1 spz # LT_PATH_NM
3670 1.1 spz # ----------
3671 1.1 spz # find the pathname to a BSD- or MS-compatible name lister
3672 1.1 spz AC_DEFUN([LT_PATH_NM],
3673 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
3674 1.1 spz AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3675 1.1 spz [if test -n "$NM"; then
3676 1.1 spz # Let the user override the test.
3677 1.1.1.3 spz lt_cv_path_NM=$NM
3678 1.1 spz else
3679 1.1.1.3 spz lt_nm_to_check=${ac_tool_prefix}nm
3680 1.1 spz if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3681 1.1 spz lt_nm_to_check="$lt_nm_to_check nm"
3682 1.1 spz fi
3683 1.1 spz for lt_tmp_nm in $lt_nm_to_check; do
3684 1.1.1.3 spz lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
3685 1.1 spz for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3686 1.1.1.3 spz IFS=$lt_save_ifs
3687 1.1 spz test -z "$ac_dir" && ac_dir=.
3688 1.1.1.3 spz tmp_nm=$ac_dir/$lt_tmp_nm
3689 1.1.1.3 spz if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
3690 1.1 spz # Check to see if the nm accepts a BSD-compat flag.
3691 1.1.1.3 spz # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
3692 1.1 spz # nm: unknown option "B" ignored
3693 1.1 spz # Tru64's nm complains that /dev/null is an invalid object file
3694 1.1.1.3 spz # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
3695 1.1.1.3 spz case $build_os in
3696 1.1.1.3 spz mingw*) lt_bad_file=conftest.nm/nofile ;;
3697 1.1.1.3 spz *) lt_bad_file=/dev/null ;;
3698 1.1.1.3 spz esac
3699 1.1.1.3 spz case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
3700 1.1.1.3 spz *$lt_bad_file* | *'Invalid file or object type'*)
3701 1.1 spz lt_cv_path_NM="$tmp_nm -B"
3702 1.1.1.3 spz break 2
3703 1.1 spz ;;
3704 1.1 spz *)
3705 1.1 spz case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3706 1.1 spz */dev/null*)
3707 1.1 spz lt_cv_path_NM="$tmp_nm -p"
3708 1.1.1.3 spz break 2
3709 1.1 spz ;;
3710 1.1 spz *)
3711 1.1 spz lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3712 1.1 spz continue # so that we can try to find one that supports BSD flags
3713 1.1 spz ;;
3714 1.1 spz esac
3715 1.1 spz ;;
3716 1.1 spz esac
3717 1.1 spz fi
3718 1.1 spz done
3719 1.1.1.3 spz IFS=$lt_save_ifs
3720 1.1 spz done
3721 1.1 spz : ${lt_cv_path_NM=no}
3722 1.1 spz fi])
3723 1.1.1.3 spz if test no != "$lt_cv_path_NM"; then
3724 1.1.1.3 spz NM=$lt_cv_path_NM
3725 1.1 spz else
3726 1.1 spz # Didn't find any BSD compatible name lister, look for dumpbin.
3727 1.1 spz if test -n "$DUMPBIN"; then :
3728 1.1 spz # Let the user override the test.
3729 1.1 spz else
3730 1.1 spz AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3731 1.1.1.3 spz case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
3732 1.1 spz *COFF*)
3733 1.1.1.3 spz DUMPBIN="$DUMPBIN -symbols -headers"
3734 1.1 spz ;;
3735 1.1 spz *)
3736 1.1 spz DUMPBIN=:
3737 1.1 spz ;;
3738 1.1 spz esac
3739 1.1 spz fi
3740 1.1 spz AC_SUBST([DUMPBIN])
3741 1.1.1.3 spz if test : != "$DUMPBIN"; then
3742 1.1.1.3 spz NM=$DUMPBIN
3743 1.1 spz fi
3744 1.1 spz fi
3745 1.1 spz test -z "$NM" && NM=nm
3746 1.1 spz AC_SUBST([NM])
3747 1.1 spz _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3748 1.1 spz
3749 1.1 spz AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3750 1.1 spz [lt_cv_nm_interface="BSD nm"
3751 1.1 spz echo "int some_variable = 0;" > conftest.$ac_ext
3752 1.1 spz (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3753 1.1 spz (eval "$ac_compile" 2>conftest.err)
3754 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3755 1.1 spz (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3756 1.1 spz (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3757 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3758 1.1 spz (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3759 1.1 spz cat conftest.out >&AS_MESSAGE_LOG_FD
3760 1.1 spz if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3761 1.1 spz lt_cv_nm_interface="MS dumpbin"
3762 1.1 spz fi
3763 1.1 spz rm -f conftest*])
3764 1.1 spz ])# LT_PATH_NM
3765 1.1 spz
3766 1.1 spz # Old names:
3767 1.1 spz AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3768 1.1 spz AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3769 1.1 spz dnl aclocal-1.4 backwards compatibility:
3770 1.1 spz dnl AC_DEFUN([AM_PROG_NM], [])
3771 1.1 spz dnl AC_DEFUN([AC_PROG_NM], [])
3772 1.1 spz
3773 1.1 spz # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3774 1.1 spz # --------------------------------
3775 1.1 spz # how to determine the name of the shared library
3776 1.1 spz # associated with a specific link library.
3777 1.1 spz # -- PORTME fill in with the dynamic library characteristics
3778 1.1 spz m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3779 1.1 spz [m4_require([_LT_DECL_EGREP])
3780 1.1 spz m4_require([_LT_DECL_OBJDUMP])
3781 1.1 spz m4_require([_LT_DECL_DLLTOOL])
3782 1.1 spz AC_CACHE_CHECK([how to associate runtime and link libraries],
3783 1.1 spz lt_cv_sharedlib_from_linklib_cmd,
3784 1.1 spz [lt_cv_sharedlib_from_linklib_cmd='unknown'
3785 1.1 spz
3786 1.1 spz case $host_os in
3787 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3788 1.1.1.3 spz # two different shell functions defined in ltmain.sh;
3789 1.1.1.3 spz # decide which one to use based on capabilities of $DLLTOOL
3790 1.1 spz case `$DLLTOOL --help 2>&1` in
3791 1.1 spz *--identify-strict*)
3792 1.1 spz lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3793 1.1 spz ;;
3794 1.1 spz *)
3795 1.1 spz lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3796 1.1 spz ;;
3797 1.1 spz esac
3798 1.1 spz ;;
3799 1.1 spz *)
3800 1.1 spz # fallback: assume linklib IS sharedlib
3801 1.1.1.3 spz lt_cv_sharedlib_from_linklib_cmd=$ECHO
3802 1.1 spz ;;
3803 1.1 spz esac
3804 1.1 spz ])
3805 1.1 spz sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3806 1.1 spz test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3807 1.1 spz
3808 1.1 spz _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3809 1.1 spz [Command to associate shared and link libraries])
3810 1.1 spz ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3811 1.1 spz
3812 1.1 spz
3813 1.1 spz # _LT_PATH_MANIFEST_TOOL
3814 1.1 spz # ----------------------
3815 1.1 spz # locate the manifest tool
3816 1.1 spz m4_defun([_LT_PATH_MANIFEST_TOOL],
3817 1.1 spz [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3818 1.1 spz test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3819 1.1 spz AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3820 1.1 spz [lt_cv_path_mainfest_tool=no
3821 1.1 spz echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3822 1.1 spz $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3823 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3824 1.1 spz if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3825 1.1 spz lt_cv_path_mainfest_tool=yes
3826 1.1 spz fi
3827 1.1 spz rm -f conftest*])
3828 1.1.1.3 spz if test yes != "$lt_cv_path_mainfest_tool"; then
3829 1.1 spz MANIFEST_TOOL=:
3830 1.1 spz fi
3831 1.1 spz _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3832 1.1 spz ])# _LT_PATH_MANIFEST_TOOL
3833 1.1 spz
3834 1.1 spz
3835 1.1.1.3 spz # _LT_DLL_DEF_P([FILE])
3836 1.1.1.3 spz # ---------------------
3837 1.1.1.3 spz # True iff FILE is a Windows DLL '.def' file.
3838 1.1.1.3 spz # Keep in sync with func_dll_def_p in the libtool script
3839 1.1.1.3 spz AC_DEFUN([_LT_DLL_DEF_P],
3840 1.1.1.3 spz [dnl
3841 1.1.1.3 spz test DEF = "`$SED -n dnl
3842 1.1.1.3 spz -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
3843 1.1.1.3 spz -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
3844 1.1.1.3 spz -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
3845 1.1.1.3 spz -e q dnl Only consider the first "real" line
3846 1.1.1.3 spz $1`" dnl
3847 1.1.1.3 spz ])# _LT_DLL_DEF_P
3848 1.1.1.3 spz
3849 1.1.1.3 spz
3850 1.1 spz # LT_LIB_M
3851 1.1 spz # --------
3852 1.1 spz # check for math library
3853 1.1 spz AC_DEFUN([LT_LIB_M],
3854 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3855 1.1 spz LIBM=
3856 1.1 spz case $host in
3857 1.1 spz *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3858 1.1 spz # These system don't have libm, or don't need it
3859 1.1 spz ;;
3860 1.1 spz *-ncr-sysv4.3*)
3861 1.1.1.3 spz AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
3862 1.1 spz AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3863 1.1 spz ;;
3864 1.1 spz *)
3865 1.1.1.3 spz AC_CHECK_LIB(m, cos, LIBM=-lm)
3866 1.1 spz ;;
3867 1.1 spz esac
3868 1.1 spz AC_SUBST([LIBM])
3869 1.1 spz ])# LT_LIB_M
3870 1.1 spz
3871 1.1 spz # Old name:
3872 1.1 spz AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3873 1.1 spz dnl aclocal-1.4 backwards compatibility:
3874 1.1 spz dnl AC_DEFUN([AC_CHECK_LIBM], [])
3875 1.1 spz
3876 1.1 spz
3877 1.1 spz # _LT_COMPILER_NO_RTTI([TAGNAME])
3878 1.1 spz # -------------------------------
3879 1.1 spz m4_defun([_LT_COMPILER_NO_RTTI],
3880 1.1 spz [m4_require([_LT_TAG_COMPILER])dnl
3881 1.1 spz
3882 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3883 1.1 spz
3884 1.1.1.3 spz if test yes = "$GCC"; then
3885 1.1 spz case $cc_basename in
3886 1.1 spz nvcc*)
3887 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3888 1.1 spz *)
3889 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3890 1.1 spz esac
3891 1.1 spz
3892 1.1 spz _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3893 1.1 spz lt_cv_prog_compiler_rtti_exceptions,
3894 1.1 spz [-fno-rtti -fno-exceptions], [],
3895 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"])
3896 1.1 spz fi
3897 1.1 spz _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3898 1.1 spz [Compiler flag to turn off builtin functions])
3899 1.1 spz ])# _LT_COMPILER_NO_RTTI
3900 1.1 spz
3901 1.1 spz
3902 1.1 spz # _LT_CMD_GLOBAL_SYMBOLS
3903 1.1 spz # ----------------------
3904 1.1 spz m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3905 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3906 1.1 spz AC_REQUIRE([AC_PROG_CC])dnl
3907 1.1 spz AC_REQUIRE([AC_PROG_AWK])dnl
3908 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
3909 1.1 spz AC_REQUIRE([LT_PATH_LD])dnl
3910 1.1 spz m4_require([_LT_DECL_SED])dnl
3911 1.1 spz m4_require([_LT_DECL_EGREP])dnl
3912 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
3913 1.1 spz
3914 1.1 spz # Check for command to grab the raw symbol name followed by C symbol from nm.
3915 1.1 spz AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3916 1.1 spz AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3917 1.1 spz [
3918 1.1 spz # These are sane defaults that work on at least a few old systems.
3919 1.1 spz # [They come from Ultrix. What could be older than Ultrix?!! ;)]
3920 1.1 spz
3921 1.1 spz # Character class describing NM global symbol codes.
3922 1.1 spz symcode='[[BCDEGRST]]'
3923 1.1 spz
3924 1.1 spz # Regexp to match symbols that can be accessed directly from C.
3925 1.1 spz sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3926 1.1 spz
3927 1.1 spz # Define system-specific variables.
3928 1.1 spz case $host_os in
3929 1.1 spz aix*)
3930 1.1 spz symcode='[[BCDT]]'
3931 1.1 spz ;;
3932 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3933 1.1 spz symcode='[[ABCDGISTW]]'
3934 1.1 spz ;;
3935 1.1 spz hpux*)
3936 1.1.1.3 spz if test ia64 = "$host_cpu"; then
3937 1.1 spz symcode='[[ABCDEGRST]]'
3938 1.1 spz fi
3939 1.1 spz ;;
3940 1.1 spz irix* | nonstopux*)
3941 1.1 spz symcode='[[BCDEGRST]]'
3942 1.1 spz ;;
3943 1.1 spz osf*)
3944 1.1 spz symcode='[[BCDEGQRST]]'
3945 1.1 spz ;;
3946 1.1 spz solaris*)
3947 1.1 spz symcode='[[BDRT]]'
3948 1.1 spz ;;
3949 1.1 spz sco3.2v5*)
3950 1.1 spz symcode='[[DT]]'
3951 1.1 spz ;;
3952 1.1 spz sysv4.2uw2*)
3953 1.1 spz symcode='[[DT]]'
3954 1.1 spz ;;
3955 1.1 spz sysv5* | sco5v6* | unixware* | OpenUNIX*)
3956 1.1 spz symcode='[[ABDT]]'
3957 1.1 spz ;;
3958 1.1 spz sysv4)
3959 1.1 spz symcode='[[DFNSTU]]'
3960 1.1 spz ;;
3961 1.1 spz esac
3962 1.1 spz
3963 1.1 spz # If we're using GNU nm, then use its standard symbol codes.
3964 1.1 spz case `$NM -V 2>&1` in
3965 1.1 spz *GNU* | *'with BFD'*)
3966 1.1 spz symcode='[[ABCDGIRSTW]]' ;;
3967 1.1 spz esac
3968 1.1 spz
3969 1.1.1.3 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3970 1.1.1.3 spz # Gets list of data symbols to import.
3971 1.1.1.3 spz lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
3972 1.1.1.3 spz # Adjust the below global symbol transforms to fixup imported variables.
3973 1.1.1.3 spz lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
3974 1.1.1.3 spz lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
3975 1.1.1.3 spz lt_c_name_lib_hook="\
3976 1.1.1.3 spz -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
3977 1.1.1.3 spz -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
3978 1.1.1.3 spz else
3979 1.1.1.3 spz # Disable hooks by default.
3980 1.1.1.3 spz lt_cv_sys_global_symbol_to_import=
3981 1.1.1.3 spz lt_cdecl_hook=
3982 1.1.1.3 spz lt_c_name_hook=
3983 1.1.1.3 spz lt_c_name_lib_hook=
3984 1.1.1.3 spz fi
3985 1.1.1.3 spz
3986 1.1 spz # Transform an extracted symbol line into a proper C declaration.
3987 1.1 spz # Some systems (esp. on ia64) link data and code symbols differently,
3988 1.1 spz # so use this general approach.
3989 1.1.1.3 spz lt_cv_sys_global_symbol_to_cdecl="sed -n"\
3990 1.1.1.3 spz $lt_cdecl_hook\
3991 1.1.1.3 spz " -e 's/^T .* \(.*\)$/extern int \1();/p'"\
3992 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
3993 1.1 spz
3994 1.1 spz # Transform an extracted symbol line into symbol name and symbol address
3995 1.1.1.3 spz lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
3996 1.1.1.3 spz $lt_c_name_hook\
3997 1.1.1.3 spz " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
3998 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
3999 1.1.1.3 spz
4000 1.1.1.3 spz # Transform an extracted symbol line into symbol name with lib prefix and
4001 1.1.1.3 spz # symbol address.
4002 1.1.1.3 spz lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
4003 1.1.1.3 spz $lt_c_name_lib_hook\
4004 1.1.1.3 spz " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
4005 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
4006 1.1.1.3 spz " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
4007 1.1 spz
4008 1.1 spz # Handle CRLF in mingw tool chain
4009 1.1 spz opt_cr=
4010 1.1 spz case $build_os in
4011 1.1 spz mingw*)
4012 1.1 spz opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
4013 1.1 spz ;;
4014 1.1 spz esac
4015 1.1 spz
4016 1.1 spz # Try without a prefix underscore, then with it.
4017 1.1 spz for ac_symprfx in "" "_"; do
4018 1.1 spz
4019 1.1 spz # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
4020 1.1 spz symxfrm="\\1 $ac_symprfx\\2 \\2"
4021 1.1 spz
4022 1.1 spz # Write the raw and C identifiers.
4023 1.1 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4024 1.1.1.3 spz # Fake it for dumpbin and say T for any non-static function,
4025 1.1.1.3 spz # D for any global variable and I for any imported variable.
4026 1.1 spz # Also find C++ and __fastcall symbols from MSVC++,
4027 1.1 spz # which start with @ or ?.
4028 1.1 spz lt_cv_sys_global_symbol_pipe="$AWK ['"\
4029 1.1 spz " {last_section=section; section=\$ 3};"\
4030 1.1.1.2 spz " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
4031 1.1 spz " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
4032 1.1.1.3 spz " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
4033 1.1.1.3 spz " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
4034 1.1.1.3 spz " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
4035 1.1 spz " \$ 0!~/External *\|/{next};"\
4036 1.1 spz " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
4037 1.1 spz " {if(hide[section]) next};"\
4038 1.1.1.3 spz " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
4039 1.1.1.3 spz " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
4040 1.1.1.3 spz " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
4041 1.1.1.3 spz " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
4042 1.1 spz " ' prfx=^$ac_symprfx]"
4043 1.1 spz else
4044 1.1 spz lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
4045 1.1 spz fi
4046 1.1 spz lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
4047 1.1 spz
4048 1.1 spz # Check to see that the pipe works correctly.
4049 1.1 spz pipe_works=no
4050 1.1 spz
4051 1.1 spz rm -f conftest*
4052 1.1 spz cat > conftest.$ac_ext <<_LT_EOF
4053 1.1 spz #ifdef __cplusplus
4054 1.1 spz extern "C" {
4055 1.1 spz #endif
4056 1.1 spz char nm_test_var;
4057 1.1 spz void nm_test_func(void);
4058 1.1 spz void nm_test_func(void){}
4059 1.1 spz #ifdef __cplusplus
4060 1.1 spz }
4061 1.1 spz #endif
4062 1.1 spz int main(){nm_test_var='a';nm_test_func();return(0);}
4063 1.1 spz _LT_EOF
4064 1.1 spz
4065 1.1 spz if AC_TRY_EVAL(ac_compile); then
4066 1.1 spz # Now try to grab the symbols.
4067 1.1 spz nlist=conftest.nm
4068 1.1 spz if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
4069 1.1 spz # Try sorting and uniquifying the output.
4070 1.1 spz if sort "$nlist" | uniq > "$nlist"T; then
4071 1.1 spz mv -f "$nlist"T "$nlist"
4072 1.1 spz else
4073 1.1 spz rm -f "$nlist"T
4074 1.1 spz fi
4075 1.1 spz
4076 1.1 spz # Make sure that we snagged all the symbols we need.
4077 1.1 spz if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
4078 1.1 spz if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
4079 1.1 spz cat <<_LT_EOF > conftest.$ac_ext
4080 1.1 spz /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
4081 1.1.1.3 spz #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
4082 1.1.1.3 spz /* DATA imports from DLLs on WIN32 can't be const, because runtime
4083 1.1 spz relocations are performed -- see ld's documentation on pseudo-relocs. */
4084 1.1 spz # define LT@&t@_DLSYM_CONST
4085 1.1.1.3 spz #elif defined __osf__
4086 1.1 spz /* This system does not cope well with relocations in const data. */
4087 1.1 spz # define LT@&t@_DLSYM_CONST
4088 1.1 spz #else
4089 1.1 spz # define LT@&t@_DLSYM_CONST const
4090 1.1 spz #endif
4091 1.1 spz
4092 1.1 spz #ifdef __cplusplus
4093 1.1 spz extern "C" {
4094 1.1 spz #endif
4095 1.1 spz
4096 1.1 spz _LT_EOF
4097 1.1 spz # Now generate the symbol file.
4098 1.1 spz eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
4099 1.1 spz
4100 1.1 spz cat <<_LT_EOF >> conftest.$ac_ext
4101 1.1 spz
4102 1.1 spz /* The mapping between symbol names and symbols. */
4103 1.1 spz LT@&t@_DLSYM_CONST struct {
4104 1.1 spz const char *name;
4105 1.1 spz void *address;
4106 1.1 spz }
4107 1.1 spz lt__PROGRAM__LTX_preloaded_symbols[[]] =
4108 1.1 spz {
4109 1.1 spz { "@PROGRAM@", (void *) 0 },
4110 1.1 spz _LT_EOF
4111 1.1.1.3 spz $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
4112 1.1 spz cat <<\_LT_EOF >> conftest.$ac_ext
4113 1.1 spz {0, (void *) 0}
4114 1.1 spz };
4115 1.1 spz
4116 1.1 spz /* This works around a problem in FreeBSD linker */
4117 1.1 spz #ifdef FREEBSD_WORKAROUND
4118 1.1 spz static const void *lt_preloaded_setup() {
4119 1.1 spz return lt__PROGRAM__LTX_preloaded_symbols;
4120 1.1 spz }
4121 1.1 spz #endif
4122 1.1 spz
4123 1.1 spz #ifdef __cplusplus
4124 1.1 spz }
4125 1.1 spz #endif
4126 1.1 spz _LT_EOF
4127 1.1 spz # Now try linking the two files.
4128 1.1 spz mv conftest.$ac_objext conftstm.$ac_objext
4129 1.1 spz lt_globsym_save_LIBS=$LIBS
4130 1.1 spz lt_globsym_save_CFLAGS=$CFLAGS
4131 1.1.1.3 spz LIBS=conftstm.$ac_objext
4132 1.1 spz CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
4133 1.1.1.3 spz if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
4134 1.1 spz pipe_works=yes
4135 1.1 spz fi
4136 1.1 spz LIBS=$lt_globsym_save_LIBS
4137 1.1 spz CFLAGS=$lt_globsym_save_CFLAGS
4138 1.1 spz else
4139 1.1 spz echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
4140 1.1 spz fi
4141 1.1 spz else
4142 1.1 spz echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
4143 1.1 spz fi
4144 1.1 spz else
4145 1.1 spz echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
4146 1.1 spz fi
4147 1.1 spz else
4148 1.1 spz echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
4149 1.1 spz cat conftest.$ac_ext >&5
4150 1.1 spz fi
4151 1.1 spz rm -rf conftest* conftst*
4152 1.1 spz
4153 1.1 spz # Do not use the global_symbol_pipe unless it works.
4154 1.1.1.3 spz if test yes = "$pipe_works"; then
4155 1.1 spz break
4156 1.1 spz else
4157 1.1 spz lt_cv_sys_global_symbol_pipe=
4158 1.1 spz fi
4159 1.1 spz done
4160 1.1 spz ])
4161 1.1 spz if test -z "$lt_cv_sys_global_symbol_pipe"; then
4162 1.1 spz lt_cv_sys_global_symbol_to_cdecl=
4163 1.1 spz fi
4164 1.1 spz if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
4165 1.1 spz AC_MSG_RESULT(failed)
4166 1.1 spz else
4167 1.1 spz AC_MSG_RESULT(ok)
4168 1.1 spz fi
4169 1.1 spz
4170 1.1 spz # Response file support.
4171 1.1 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
4172 1.1 spz nm_file_list_spec='@'
4173 1.1 spz elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
4174 1.1 spz nm_file_list_spec='@'
4175 1.1 spz fi
4176 1.1 spz
4177 1.1 spz _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
4178 1.1 spz [Take the output of nm and produce a listing of raw symbols and C names])
4179 1.1 spz _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
4180 1.1 spz [Transform the output of nm in a proper C declaration])
4181 1.1.1.3 spz _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
4182 1.1.1.3 spz [Transform the output of nm into a list of symbols to manually relocate])
4183 1.1 spz _LT_DECL([global_symbol_to_c_name_address],
4184 1.1 spz [lt_cv_sys_global_symbol_to_c_name_address], [1],
4185 1.1 spz [Transform the output of nm in a C name address pair])
4186 1.1 spz _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
4187 1.1 spz [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
4188 1.1 spz [Transform the output of nm in a C name address pair when lib prefix is needed])
4189 1.1.1.3 spz _LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
4190 1.1.1.3 spz [The name lister interface])
4191 1.1 spz _LT_DECL([], [nm_file_list_spec], [1],
4192 1.1 spz [Specify filename containing input files for $NM])
4193 1.1 spz ]) # _LT_CMD_GLOBAL_SYMBOLS
4194 1.1 spz
4195 1.1 spz
4196 1.1 spz # _LT_COMPILER_PIC([TAGNAME])
4197 1.1 spz # ---------------------------
4198 1.1 spz m4_defun([_LT_COMPILER_PIC],
4199 1.1 spz [m4_require([_LT_TAG_COMPILER])dnl
4200 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)=
4201 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4202 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4203 1.1 spz
4204 1.1 spz m4_if([$1], [CXX], [
4205 1.1 spz # C++ specific cases for pic, static, wl, etc.
4206 1.1.1.3 spz if test yes = "$GXX"; then
4207 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4208 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4209 1.1 spz
4210 1.1 spz case $host_os in
4211 1.1 spz aix*)
4212 1.1 spz # All AIX code is PIC.
4213 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4214 1.1 spz # AIX 5 now supports IA64 processor
4215 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4216 1.1 spz fi
4217 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4218 1.1 spz ;;
4219 1.1 spz
4220 1.1 spz amigaos*)
4221 1.1 spz case $host_cpu in
4222 1.1 spz powerpc)
4223 1.1 spz # see comment about AmigaOS4 .so support
4224 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4225 1.1 spz ;;
4226 1.1 spz m68k)
4227 1.1 spz # FIXME: we need at least 68020 code to build shared libraries, but
4228 1.1.1.3 spz # adding the '-m68020' flag to GCC prevents building anything better,
4229 1.1.1.3 spz # like '-m68040'.
4230 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4231 1.1 spz ;;
4232 1.1 spz esac
4233 1.1 spz ;;
4234 1.1 spz
4235 1.1 spz beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4236 1.1 spz # PIC is the default for these OSes.
4237 1.1 spz ;;
4238 1.1 spz mingw* | cygwin* | os2* | pw32* | cegcc*)
4239 1.1 spz # This hack is so that the source file can tell whether it is being
4240 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4241 1.1 spz # Although the cygwin gcc ignores -fPIC, still need this for old-style
4242 1.1 spz # (--disable-auto-import) libraries
4243 1.1 spz m4_if([$1], [GCJ], [],
4244 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4245 1.1.1.3 spz case $host_os in
4246 1.1.1.3 spz os2*)
4247 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4248 1.1.1.3 spz ;;
4249 1.1.1.3 spz esac
4250 1.1 spz ;;
4251 1.1 spz darwin* | rhapsody*)
4252 1.1 spz # PIC is the default on this platform
4253 1.1 spz # Common symbols not allowed in MH_DYLIB files
4254 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4255 1.1 spz ;;
4256 1.1 spz *djgpp*)
4257 1.1 spz # DJGPP does not support shared libraries at all
4258 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4259 1.1 spz ;;
4260 1.1 spz haiku*)
4261 1.1 spz # PIC is the default for Haiku.
4262 1.1 spz # The "-static" flag exists, but is broken.
4263 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4264 1.1 spz ;;
4265 1.1 spz interix[[3-9]]*)
4266 1.1 spz # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4267 1.1 spz # Instead, we relocate shared libraries at runtime.
4268 1.1 spz ;;
4269 1.1 spz sysv4*MP*)
4270 1.1 spz if test -d /usr/nec; then
4271 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4272 1.1 spz fi
4273 1.1 spz ;;
4274 1.1 spz hpux*)
4275 1.1 spz # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4276 1.1 spz # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4277 1.1 spz # sets the default TLS model and affects inlining.
4278 1.1 spz case $host_cpu in
4279 1.1 spz hppa*64*)
4280 1.1 spz ;;
4281 1.1 spz *)
4282 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4283 1.1 spz ;;
4284 1.1 spz esac
4285 1.1 spz ;;
4286 1.1 spz *qnx* | *nto*)
4287 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4288 1.1 spz # it will coredump.
4289 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4290 1.1 spz ;;
4291 1.1 spz *)
4292 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4293 1.1 spz ;;
4294 1.1 spz esac
4295 1.1 spz else
4296 1.1 spz case $host_os in
4297 1.1 spz aix[[4-9]]*)
4298 1.1 spz # All AIX code is PIC.
4299 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4300 1.1 spz # AIX 5 now supports IA64 processor
4301 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4302 1.1 spz else
4303 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4304 1.1 spz fi
4305 1.1 spz ;;
4306 1.1 spz chorus*)
4307 1.1 spz case $cc_basename in
4308 1.1 spz cxch68*)
4309 1.1 spz # Green Hills C++ Compiler
4310 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"
4311 1.1 spz ;;
4312 1.1 spz esac
4313 1.1 spz ;;
4314 1.1 spz mingw* | cygwin* | os2* | pw32* | cegcc*)
4315 1.1 spz # This hack is so that the source file can tell whether it is being
4316 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4317 1.1 spz m4_if([$1], [GCJ], [],
4318 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4319 1.1 spz ;;
4320 1.1 spz dgux*)
4321 1.1 spz case $cc_basename in
4322 1.1 spz ec++*)
4323 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4324 1.1 spz ;;
4325 1.1 spz ghcx*)
4326 1.1 spz # Green Hills C++ Compiler
4327 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4328 1.1 spz ;;
4329 1.1 spz *)
4330 1.1 spz ;;
4331 1.1 spz esac
4332 1.1 spz ;;
4333 1.1 spz freebsd* | dragonfly*)
4334 1.1 spz # FreeBSD uses GNU C++
4335 1.1 spz ;;
4336 1.1 spz hpux9* | hpux10* | hpux11*)
4337 1.1 spz case $cc_basename in
4338 1.1 spz CC*)
4339 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4340 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4341 1.1.1.3 spz if test ia64 != "$host_cpu"; then
4342 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4343 1.1 spz fi
4344 1.1 spz ;;
4345 1.1 spz aCC*)
4346 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4347 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4348 1.1 spz case $host_cpu in
4349 1.1 spz hppa*64*|ia64*)
4350 1.1 spz # +Z the default
4351 1.1 spz ;;
4352 1.1 spz *)
4353 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4354 1.1 spz ;;
4355 1.1 spz esac
4356 1.1 spz ;;
4357 1.1 spz *)
4358 1.1 spz ;;
4359 1.1 spz esac
4360 1.1 spz ;;
4361 1.1 spz interix*)
4362 1.1 spz # This is c89, which is MS Visual C++ (no shared libs)
4363 1.1 spz # Anyone wants to do a port?
4364 1.1 spz ;;
4365 1.1 spz irix5* | irix6* | nonstopux*)
4366 1.1 spz case $cc_basename in
4367 1.1 spz CC*)
4368 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4369 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4370 1.1 spz # CC pic flag -KPIC is the default.
4371 1.1 spz ;;
4372 1.1 spz *)
4373 1.1 spz ;;
4374 1.1 spz esac
4375 1.1 spz ;;
4376 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4377 1.1 spz case $cc_basename in
4378 1.1 spz KCC*)
4379 1.1 spz # KAI C++ Compiler
4380 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4381 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4382 1.1 spz ;;
4383 1.1 spz ecpc* )
4384 1.1.1.3 spz # old Intel C++ for x86_64, which still supported -KPIC.
4385 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4386 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4387 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4388 1.1 spz ;;
4389 1.1 spz icpc* )
4390 1.1 spz # Intel C++, used to be incompatible with GCC.
4391 1.1 spz # ICC 10 doesn't accept -KPIC any more.
4392 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4393 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4394 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4395 1.1 spz ;;
4396 1.1 spz pgCC* | pgcpp*)
4397 1.1 spz # Portland Group C++ compiler
4398 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4399 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4400 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4401 1.1 spz ;;
4402 1.1 spz cxx*)
4403 1.1 spz # Compaq C++
4404 1.1 spz # Make sure the PIC flag is empty. It appears that all Alpha
4405 1.1 spz # Linux and Compaq Tru64 Unix objects are PIC.
4406 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4407 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4408 1.1 spz ;;
4409 1.1 spz xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4410 1.1 spz # IBM XL 8.0, 9.0 on PPC and BlueGene
4411 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4412 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4413 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4414 1.1 spz ;;
4415 1.1 spz *)
4416 1.1 spz case `$CC -V 2>&1 | sed 5q` in
4417 1.1 spz *Sun\ C*)
4418 1.1 spz # Sun C++ 5.9
4419 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4420 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4421 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4422 1.1 spz ;;
4423 1.1 spz esac
4424 1.1 spz ;;
4425 1.1 spz esac
4426 1.1 spz ;;
4427 1.1 spz lynxos*)
4428 1.1 spz ;;
4429 1.1 spz m88k*)
4430 1.1 spz ;;
4431 1.1 spz mvs*)
4432 1.1 spz case $cc_basename in
4433 1.1 spz cxx*)
4434 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4435 1.1 spz ;;
4436 1.1 spz *)
4437 1.1 spz ;;
4438 1.1 spz esac
4439 1.1 spz ;;
4440 1.1.1.3 spz netbsd*)
4441 1.1 spz ;;
4442 1.1 spz *qnx* | *nto*)
4443 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4444 1.1 spz # it will coredump.
4445 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4446 1.1 spz ;;
4447 1.1 spz osf3* | osf4* | osf5*)
4448 1.1 spz case $cc_basename in
4449 1.1 spz KCC*)
4450 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4451 1.1 spz ;;
4452 1.1 spz RCC*)
4453 1.1 spz # Rational C++ 2.4.1
4454 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4455 1.1 spz ;;
4456 1.1 spz cxx*)
4457 1.1 spz # Digital/Compaq C++
4458 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4459 1.1 spz # Make sure the PIC flag is empty. It appears that all Alpha
4460 1.1 spz # Linux and Compaq Tru64 Unix objects are PIC.
4461 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4462 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4463 1.1 spz ;;
4464 1.1 spz *)
4465 1.1 spz ;;
4466 1.1 spz esac
4467 1.1 spz ;;
4468 1.1 spz psos*)
4469 1.1 spz ;;
4470 1.1 spz solaris*)
4471 1.1 spz case $cc_basename in
4472 1.1 spz CC* | sunCC*)
4473 1.1 spz # Sun C++ 4.2, 5.x and Centerline C++
4474 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4475 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4476 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4477 1.1 spz ;;
4478 1.1 spz gcx*)
4479 1.1 spz # Green Hills C++ Compiler
4480 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4481 1.1 spz ;;
4482 1.1 spz *)
4483 1.1 spz ;;
4484 1.1 spz esac
4485 1.1 spz ;;
4486 1.1 spz sunos4*)
4487 1.1 spz case $cc_basename in
4488 1.1 spz CC*)
4489 1.1 spz # Sun C++ 4.x
4490 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4491 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4492 1.1 spz ;;
4493 1.1 spz lcc*)
4494 1.1 spz # Lucid
4495 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4496 1.1 spz ;;
4497 1.1 spz *)
4498 1.1 spz ;;
4499 1.1 spz esac
4500 1.1 spz ;;
4501 1.1 spz sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4502 1.1 spz case $cc_basename in
4503 1.1 spz CC*)
4504 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4505 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4506 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4507 1.1 spz ;;
4508 1.1 spz esac
4509 1.1 spz ;;
4510 1.1 spz tandem*)
4511 1.1 spz case $cc_basename in
4512 1.1 spz NCC*)
4513 1.1 spz # NonStop-UX NCC 3.20
4514 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4515 1.1 spz ;;
4516 1.1 spz *)
4517 1.1 spz ;;
4518 1.1 spz esac
4519 1.1 spz ;;
4520 1.1 spz vxworks*)
4521 1.1 spz ;;
4522 1.1 spz *)
4523 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4524 1.1 spz ;;
4525 1.1 spz esac
4526 1.1 spz fi
4527 1.1 spz ],
4528 1.1 spz [
4529 1.1.1.3 spz if test yes = "$GCC"; then
4530 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4531 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4532 1.1 spz
4533 1.1 spz case $host_os in
4534 1.1 spz aix*)
4535 1.1 spz # All AIX code is PIC.
4536 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4537 1.1 spz # AIX 5 now supports IA64 processor
4538 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4539 1.1 spz fi
4540 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4541 1.1 spz ;;
4542 1.1 spz
4543 1.1 spz amigaos*)
4544 1.1 spz case $host_cpu in
4545 1.1 spz powerpc)
4546 1.1 spz # see comment about AmigaOS4 .so support
4547 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4548 1.1 spz ;;
4549 1.1 spz m68k)
4550 1.1 spz # FIXME: we need at least 68020 code to build shared libraries, but
4551 1.1.1.3 spz # adding the '-m68020' flag to GCC prevents building anything better,
4552 1.1.1.3 spz # like '-m68040'.
4553 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4554 1.1 spz ;;
4555 1.1 spz esac
4556 1.1 spz ;;
4557 1.1 spz
4558 1.1 spz beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4559 1.1 spz # PIC is the default for these OSes.
4560 1.1 spz ;;
4561 1.1 spz
4562 1.1 spz mingw* | cygwin* | pw32* | os2* | cegcc*)
4563 1.1 spz # This hack is so that the source file can tell whether it is being
4564 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4565 1.1 spz # Although the cygwin gcc ignores -fPIC, still need this for old-style
4566 1.1 spz # (--disable-auto-import) libraries
4567 1.1 spz m4_if([$1], [GCJ], [],
4568 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4569 1.1.1.3 spz case $host_os in
4570 1.1.1.3 spz os2*)
4571 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4572 1.1.1.3 spz ;;
4573 1.1.1.3 spz esac
4574 1.1 spz ;;
4575 1.1 spz
4576 1.1 spz darwin* | rhapsody*)
4577 1.1 spz # PIC is the default on this platform
4578 1.1 spz # Common symbols not allowed in MH_DYLIB files
4579 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4580 1.1 spz ;;
4581 1.1 spz
4582 1.1 spz haiku*)
4583 1.1 spz # PIC is the default for Haiku.
4584 1.1 spz # The "-static" flag exists, but is broken.
4585 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4586 1.1 spz ;;
4587 1.1 spz
4588 1.1 spz hpux*)
4589 1.1 spz # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4590 1.1 spz # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4591 1.1 spz # sets the default TLS model and affects inlining.
4592 1.1 spz case $host_cpu in
4593 1.1 spz hppa*64*)
4594 1.1 spz # +Z the default
4595 1.1 spz ;;
4596 1.1 spz *)
4597 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4598 1.1 spz ;;
4599 1.1 spz esac
4600 1.1 spz ;;
4601 1.1 spz
4602 1.1 spz interix[[3-9]]*)
4603 1.1 spz # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4604 1.1 spz # Instead, we relocate shared libraries at runtime.
4605 1.1 spz ;;
4606 1.1 spz
4607 1.1 spz msdosdjgpp*)
4608 1.1 spz # Just because we use GCC doesn't mean we suddenly get shared libraries
4609 1.1 spz # on systems that don't support them.
4610 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4611 1.1 spz enable_shared=no
4612 1.1 spz ;;
4613 1.1 spz
4614 1.1 spz *nto* | *qnx*)
4615 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4616 1.1 spz # it will coredump.
4617 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4618 1.1 spz ;;
4619 1.1 spz
4620 1.1 spz sysv4*MP*)
4621 1.1 spz if test -d /usr/nec; then
4622 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4623 1.1 spz fi
4624 1.1 spz ;;
4625 1.1 spz
4626 1.1 spz *)
4627 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4628 1.1 spz ;;
4629 1.1 spz esac
4630 1.1 spz
4631 1.1 spz case $cc_basename in
4632 1.1 spz nvcc*) # Cuda Compiler Driver 2.2
4633 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4634 1.1.1.2 spz if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4635 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4636 1.1.1.2 spz fi
4637 1.1 spz ;;
4638 1.1 spz esac
4639 1.1 spz else
4640 1.1 spz # PORTME Check for flag to pass linker flags through the system compiler.
4641 1.1 spz case $host_os in
4642 1.1 spz aix*)
4643 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4644 1.1.1.3 spz if test ia64 = "$host_cpu"; then
4645 1.1 spz # AIX 5 now supports IA64 processor
4646 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4647 1.1 spz else
4648 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4649 1.1 spz fi
4650 1.1 spz ;;
4651 1.1 spz
4652 1.1.1.3 spz darwin* | rhapsody*)
4653 1.1.1.3 spz # PIC is the default on this platform
4654 1.1.1.3 spz # Common symbols not allowed in MH_DYLIB files
4655 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4656 1.1.1.3 spz case $cc_basename in
4657 1.1.1.3 spz nagfor*)
4658 1.1.1.3 spz # NAG Fortran compiler
4659 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4660 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4661 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4662 1.1.1.3 spz ;;
4663 1.1.1.3 spz esac
4664 1.1.1.3 spz ;;
4665 1.1.1.3 spz
4666 1.1 spz mingw* | cygwin* | pw32* | os2* | cegcc*)
4667 1.1 spz # This hack is so that the source file can tell whether it is being
4668 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4669 1.1 spz m4_if([$1], [GCJ], [],
4670 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4671 1.1.1.3 spz case $host_os in
4672 1.1.1.3 spz os2*)
4673 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
4674 1.1.1.3 spz ;;
4675 1.1.1.3 spz esac
4676 1.1 spz ;;
4677 1.1 spz
4678 1.1 spz hpux9* | hpux10* | hpux11*)
4679 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4680 1.1 spz # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4681 1.1 spz # not for PA HP-UX.
4682 1.1 spz case $host_cpu in
4683 1.1 spz hppa*64*|ia64*)
4684 1.1 spz # +Z the default
4685 1.1 spz ;;
4686 1.1 spz *)
4687 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4688 1.1 spz ;;
4689 1.1 spz esac
4690 1.1 spz # Is there a better lt_prog_compiler_static that works with the bundled CC?
4691 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
4692 1.1 spz ;;
4693 1.1 spz
4694 1.1 spz irix5* | irix6* | nonstopux*)
4695 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4696 1.1 spz # PIC (with -KPIC) is the default.
4697 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4698 1.1 spz ;;
4699 1.1 spz
4700 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4701 1.1 spz case $cc_basename in
4702 1.1.1.3 spz # old Intel for x86_64, which still supported -KPIC.
4703 1.1 spz ecc*)
4704 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4705 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4706 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4707 1.1 spz ;;
4708 1.1 spz # icc used to be incompatible with GCC.
4709 1.1 spz # ICC 10 doesn't accept -KPIC any more.
4710 1.1 spz icc* | ifort*)
4711 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4712 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4713 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4714 1.1 spz ;;
4715 1.1 spz # Lahey Fortran 8.1.
4716 1.1 spz lf95*)
4717 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4718 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4719 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4720 1.1 spz ;;
4721 1.1 spz nagfor*)
4722 1.1 spz # NAG Fortran compiler
4723 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4724 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4725 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4726 1.1 spz ;;
4727 1.1.1.3 spz tcc*)
4728 1.1.1.3 spz # Fabrice Bellard et al's Tiny C Compiler
4729 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4730 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4731 1.1.1.3 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4732 1.1.1.3 spz ;;
4733 1.1 spz pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4734 1.1 spz # Portland Group compilers (*not* the Pentium gcc compiler,
4735 1.1 spz # which looks to be a dead project)
4736 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4737 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4738 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4739 1.1 spz ;;
4740 1.1 spz ccc*)
4741 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4742 1.1 spz # All Alpha code is PIC.
4743 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4744 1.1 spz ;;
4745 1.1 spz xl* | bgxl* | bgf* | mpixl*)
4746 1.1 spz # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4747 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4748 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4749 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4750 1.1 spz ;;
4751 1.1 spz *)
4752 1.1 spz case `$CC -V 2>&1 | sed 5q` in
4753 1.1.1.2 spz *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4754 1.1 spz # Sun Fortran 8.3 passes all unrecognized flags to the linker
4755 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4756 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4757 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4758 1.1 spz ;;
4759 1.1.1.2 spz *Sun\ F* | *Sun*Fortran*)
4760 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4761 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4762 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4763 1.1.1.2 spz ;;
4764 1.1 spz *Sun\ C*)
4765 1.1 spz # Sun C 5.9
4766 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4767 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4768 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4769 1.1 spz ;;
4770 1.1.1.2 spz *Intel*\ [[CF]]*Compiler*)
4771 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4772 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4773 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4774 1.1.1.2 spz ;;
4775 1.1.1.2 spz *Portland\ Group*)
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)='-Bstatic'
4779 1.1.1.2 spz ;;
4780 1.1 spz esac
4781 1.1 spz ;;
4782 1.1 spz esac
4783 1.1 spz ;;
4784 1.1 spz
4785 1.1 spz newsos6)
4786 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4787 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4788 1.1 spz ;;
4789 1.1 spz
4790 1.1 spz *nto* | *qnx*)
4791 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4792 1.1 spz # it will coredump.
4793 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4794 1.1 spz ;;
4795 1.1 spz
4796 1.1 spz osf3* | osf4* | osf5*)
4797 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4798 1.1 spz # All OSF/1 code is PIC.
4799 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4800 1.1 spz ;;
4801 1.1 spz
4802 1.1 spz rdos*)
4803 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4804 1.1 spz ;;
4805 1.1 spz
4806 1.1 spz solaris*)
4807 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4808 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4809 1.1 spz case $cc_basename in
4810 1.1 spz f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4811 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4812 1.1 spz *)
4813 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4814 1.1 spz esac
4815 1.1 spz ;;
4816 1.1 spz
4817 1.1 spz sunos4*)
4818 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4819 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4820 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4821 1.1 spz ;;
4822 1.1 spz
4823 1.1 spz sysv4 | sysv4.2uw2* | sysv4.3*)
4824 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4825 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4826 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4827 1.1 spz ;;
4828 1.1 spz
4829 1.1 spz sysv4*MP*)
4830 1.1.1.3 spz if test -d /usr/nec; then
4831 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4832 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4833 1.1 spz fi
4834 1.1 spz ;;
4835 1.1 spz
4836 1.1 spz sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4837 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4838 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4839 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4840 1.1 spz ;;
4841 1.1 spz
4842 1.1 spz unicos*)
4843 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4844 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4845 1.1 spz ;;
4846 1.1 spz
4847 1.1 spz uts4*)
4848 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4849 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4850 1.1 spz ;;
4851 1.1 spz
4852 1.1 spz *)
4853 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4854 1.1 spz ;;
4855 1.1 spz esac
4856 1.1 spz fi
4857 1.1 spz ])
4858 1.1 spz case $host_os in
4859 1.1.1.3 spz # For platforms that do not support PIC, -DPIC is meaningless:
4860 1.1 spz *djgpp*)
4861 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4862 1.1 spz ;;
4863 1.1 spz *)
4864 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],[])])"
4865 1.1 spz ;;
4866 1.1 spz esac
4867 1.1 spz
4868 1.1 spz AC_CACHE_CHECK([for $compiler option to produce PIC],
4869 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4870 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4871 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4872 1.1 spz
4873 1.1 spz #
4874 1.1 spz # Check to make sure the PIC flag actually works.
4875 1.1 spz #
4876 1.1 spz if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4877 1.1 spz _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4878 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4879 1.1 spz [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4880 1.1 spz [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4881 1.1 spz "" | " "*) ;;
4882 1.1 spz *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4883 1.1 spz esac],
4884 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4885 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4886 1.1 spz fi
4887 1.1 spz _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4888 1.1 spz [Additional compiler flags for building library objects])
4889 1.1 spz
4890 1.1 spz _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4891 1.1 spz [How to pass a linker flag through the compiler])
4892 1.1 spz #
4893 1.1 spz # Check to make sure the static flag actually works.
4894 1.1 spz #
4895 1.1 spz wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4896 1.1 spz _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4897 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4898 1.1 spz $lt_tmp_static_flag,
4899 1.1 spz [],
4900 1.1 spz [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4901 1.1 spz _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4902 1.1 spz [Compiler flag to prevent dynamic linking])
4903 1.1 spz ])# _LT_COMPILER_PIC
4904 1.1 spz
4905 1.1 spz
4906 1.1 spz # _LT_LINKER_SHLIBS([TAGNAME])
4907 1.1 spz # ----------------------------
4908 1.1 spz # See if the linker supports building shared libraries.
4909 1.1 spz m4_defun([_LT_LINKER_SHLIBS],
4910 1.1 spz [AC_REQUIRE([LT_PATH_LD])dnl
4911 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
4912 1.1 spz m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4913 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4914 1.1 spz m4_require([_LT_DECL_EGREP])dnl
4915 1.1 spz m4_require([_LT_DECL_SED])dnl
4916 1.1 spz m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4917 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
4918 1.1 spz AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4919 1.1 spz m4_if([$1], [CXX], [
4920 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4921 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4922 1.1 spz case $host_os in
4923 1.1 spz aix[[4-9]]*)
4924 1.1 spz # If we're using GNU nm, then we don't want the "-C" option.
4925 1.1.1.3 spz # -C means demangle to GNU nm, but means don't demangle to AIX nm.
4926 1.1.1.3 spz # Without the "-l" option, or with the "-B" option, AIX nm treats
4927 1.1.1.3 spz # weak defined symbols like other global defined symbols, whereas
4928 1.1.1.3 spz # GNU nm marks them as "W".
4929 1.1.1.3 spz # While the 'weak' keyword is ignored in the Export File, we need
4930 1.1.1.3 spz # it in the Import File for the 'aix-soname' feature, so we have
4931 1.1.1.3 spz # to replace the "-B" option with "-P" for AIX nm.
4932 1.1 spz if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4933 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'
4934 1.1 spz else
4935 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'
4936 1.1 spz fi
4937 1.1 spz ;;
4938 1.1 spz pw32*)
4939 1.1.1.3 spz _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
4940 1.1 spz ;;
4941 1.1 spz cygwin* | mingw* | cegcc*)
4942 1.1 spz case $cc_basename in
4943 1.1.1.2 spz cl*)
4944 1.1.1.2 spz _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4945 1.1.1.2 spz ;;
4946 1.1 spz *)
4947 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'
4948 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']
4949 1.1 spz ;;
4950 1.1 spz esac
4951 1.1 spz ;;
4952 1.1 spz *)
4953 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4954 1.1 spz ;;
4955 1.1 spz esac
4956 1.1 spz ], [
4957 1.1 spz runpath_var=
4958 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
4959 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
4960 1.1 spz _LT_TAGVAR(archive_cmds, $1)=
4961 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
4962 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=no
4963 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4964 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4965 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4966 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
4967 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
4968 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4969 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4970 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
4971 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
4972 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4973 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
4974 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
4975 1.1 spz _LT_TAGVAR(module_cmds, $1)=
4976 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
4977 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4978 1.1 spz _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4979 1.1 spz _LT_TAGVAR(thread_safe_flag_spec, $1)=
4980 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
4981 1.1 spz # include_expsyms should be a list of space-separated symbols to be *always*
4982 1.1 spz # included in the symbol list
4983 1.1 spz _LT_TAGVAR(include_expsyms, $1)=
4984 1.1 spz # exclude_expsyms can be an extended regexp of symbols to exclude
4985 1.1.1.3 spz # it will be wrapped by ' (' and ')$', so one must not match beginning or
4986 1.1.1.3 spz # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
4987 1.1.1.3 spz # as well as any symbol that contains 'd'.
4988 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4989 1.1 spz # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4990 1.1 spz # platforms (ab)use it in PIC code, but their linkers get confused if
4991 1.1 spz # the symbol is explicitly referenced. Since portable code cannot
4992 1.1 spz # rely on this symbol name, it's probably fine to never include it in
4993 1.1 spz # preloaded symbol tables.
4994 1.1 spz # Exclude shared library initialization/finalization symbols.
4995 1.1 spz dnl Note also adjust exclude_expsyms for C++ above.
4996 1.1 spz extract_expsyms_cmds=
4997 1.1 spz
4998 1.1 spz case $host_os in
4999 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
5000 1.1 spz # FIXME: the MSVC++ port hasn't been tested in a loooong time
5001 1.1 spz # When not using gcc, we currently assume that we are using
5002 1.1 spz # Microsoft Visual C++.
5003 1.1.1.3 spz if test yes != "$GCC"; then
5004 1.1 spz with_gnu_ld=no
5005 1.1 spz fi
5006 1.1 spz ;;
5007 1.1 spz interix*)
5008 1.1 spz # we just hope/assume this is gcc and not c89 (= MSVC++)
5009 1.1 spz with_gnu_ld=yes
5010 1.1 spz ;;
5011 1.1.1.3 spz openbsd* | bitrig*)
5012 1.1 spz with_gnu_ld=no
5013 1.1 spz ;;
5014 1.1 spz esac
5015 1.1 spz
5016 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
5017 1.1 spz
5018 1.1 spz # On some targets, GNU ld is compatible enough with the native linker
5019 1.1 spz # that we're better off using the native interface for both.
5020 1.1 spz lt_use_gnu_ld_interface=no
5021 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
5022 1.1 spz case $host_os in
5023 1.1 spz aix*)
5024 1.1 spz # The AIX port of GNU ld has always aspired to compatibility
5025 1.1 spz # with the native linker. However, as the warning in the GNU ld
5026 1.1 spz # block says, versions before 2.19.5* couldn't really create working
5027 1.1 spz # shared libraries, regardless of the interface used.
5028 1.1 spz case `$LD -v 2>&1` in
5029 1.1 spz *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
5030 1.1 spz *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
5031 1.1 spz *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
5032 1.1 spz *)
5033 1.1 spz lt_use_gnu_ld_interface=yes
5034 1.1 spz ;;
5035 1.1 spz esac
5036 1.1 spz ;;
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 fi
5042 1.1 spz
5043 1.1.1.3 spz if test yes = "$lt_use_gnu_ld_interface"; then
5044 1.1 spz # If archive_cmds runs LD, not CC, wlarc should be empty
5045 1.1.1.3 spz wlarc='$wl'
5046 1.1 spz
5047 1.1 spz # Set some defaults for GNU ld with shared library support. These
5048 1.1 spz # are reset later if shared libraries are not supported. Putting them
5049 1.1 spz # here allows them to be overridden if necessary.
5050 1.1 spz runpath_var=LD_RUN_PATH
5051 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5052 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
5053 1.1 spz # ancient GNU ld didn't support --whole-archive et. al.
5054 1.1 spz if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
5055 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
5056 1.1 spz else
5057 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5058 1.1 spz fi
5059 1.1 spz supports_anon_versioning=no
5060 1.1.1.3 spz case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
5061 1.1 spz *GNU\ gold*) supports_anon_versioning=yes ;;
5062 1.1 spz *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
5063 1.1 spz *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
5064 1.1 spz *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
5065 1.1 spz *\ 2.11.*) ;; # other 2.11 versions
5066 1.1 spz *) supports_anon_versioning=yes ;;
5067 1.1 spz esac
5068 1.1 spz
5069 1.1 spz # See if GNU ld supports shared libraries.
5070 1.1 spz case $host_os in
5071 1.1 spz aix[[3-9]]*)
5072 1.1 spz # On AIX/PPC, the GNU linker is very broken
5073 1.1.1.3 spz if test ia64 != "$host_cpu"; then
5074 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5075 1.1 spz cat <<_LT_EOF 1>&2
5076 1.1 spz
5077 1.1 spz *** Warning: the GNU linker, at least up to release 2.19, is reported
5078 1.1 spz *** to be unable to reliably create shared libraries on AIX.
5079 1.1 spz *** Therefore, libtool is disabling shared libraries support. If you
5080 1.1 spz *** really care for shared libraries, you may want to install binutils
5081 1.1 spz *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
5082 1.1 spz *** You will then need to restart the configuration process.
5083 1.1 spz
5084 1.1 spz _LT_EOF
5085 1.1 spz fi
5086 1.1 spz ;;
5087 1.1 spz
5088 1.1 spz amigaos*)
5089 1.1 spz case $host_cpu in
5090 1.1 spz powerpc)
5091 1.1 spz # see comment about AmigaOS4 .so support
5092 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5093 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=''
5094 1.1 spz ;;
5095 1.1 spz m68k)
5096 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)'
5097 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5098 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5099 1.1 spz ;;
5100 1.1 spz esac
5101 1.1 spz ;;
5102 1.1 spz
5103 1.1 spz beos*)
5104 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5105 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5106 1.1 spz # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
5107 1.1 spz # support --undefined. This deserves some investigation. FIXME
5108 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5109 1.1 spz else
5110 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5111 1.1 spz fi
5112 1.1 spz ;;
5113 1.1 spz
5114 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
5115 1.1 spz # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5116 1.1 spz # as there is no search path for DLLs.
5117 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5118 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
5119 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5120 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
5121 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5122 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'
5123 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']
5124 1.1 spz
5125 1.1 spz if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5126 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'
5127 1.1.1.3 spz # If the export-symbols file already is a .def file, use it as
5128 1.1.1.3 spz # is; otherwise, prepend EXPORTS...
5129 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5130 1.1.1.3 spz cp $export_symbols $output_objdir/$soname.def;
5131 1.1.1.3 spz else
5132 1.1.1.3 spz echo EXPORTS > $output_objdir/$soname.def;
5133 1.1.1.3 spz cat $export_symbols >> $output_objdir/$soname.def;
5134 1.1.1.3 spz fi~
5135 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'
5136 1.1 spz else
5137 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5138 1.1 spz fi
5139 1.1 spz ;;
5140 1.1 spz
5141 1.1 spz haiku*)
5142 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5143 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5144 1.1 spz ;;
5145 1.1 spz
5146 1.1.1.3 spz os2*)
5147 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5148 1.1.1.3 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5149 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5150 1.1.1.3 spz shrext_cmds=.dll
5151 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5152 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5153 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5154 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5155 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5156 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5157 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5158 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5159 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5160 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5161 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5162 1.1.1.3 spz prefix_cmds="$SED"~
5163 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
5164 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
5165 1.1.1.3 spz fi~
5166 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5167 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5168 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5169 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5170 1.1.1.3 spz _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5171 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5172 1.1.1.3 spz ;;
5173 1.1.1.3 spz
5174 1.1 spz interix[[3-9]]*)
5175 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5176 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5177 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5178 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5179 1.1 spz # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5180 1.1 spz # Instead, shared libraries are loaded at an image base (0x10000000 by
5181 1.1 spz # default) and relocated if they conflict, which is a slow very memory
5182 1.1 spz # consuming and fragmenting process. To avoid this, we pick a random,
5183 1.1 spz # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5184 1.1 spz # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5185 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'
5186 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'
5187 1.1 spz ;;
5188 1.1 spz
5189 1.1 spz gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
5190 1.1 spz tmp_diet=no
5191 1.1.1.3 spz if test linux-dietlibc = "$host_os"; then
5192 1.1 spz case $cc_basename in
5193 1.1 spz diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
5194 1.1 spz esac
5195 1.1 spz fi
5196 1.1 spz if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
5197 1.1.1.3 spz && test no = "$tmp_diet"
5198 1.1 spz then
5199 1.1 spz tmp_addflag=' $pic_flag'
5200 1.1 spz tmp_sharedflag='-shared'
5201 1.1 spz case $cc_basename,$host_cpu in
5202 1.1 spz pgcc*) # Portland Group C compiler
5203 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'
5204 1.1 spz tmp_addflag=' $pic_flag'
5205 1.1 spz ;;
5206 1.1 spz pgf77* | pgf90* | pgf95* | pgfortran*)
5207 1.1 spz # Portland Group f77 and f90 compilers
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 -Mnomain' ;;
5210 1.1 spz ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
5211 1.1 spz tmp_addflag=' -i_dynamic' ;;
5212 1.1 spz efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
5213 1.1 spz tmp_addflag=' -i_dynamic -nofor_main' ;;
5214 1.1 spz ifc* | ifort*) # Intel Fortran compiler
5215 1.1 spz tmp_addflag=' -nofor_main' ;;
5216 1.1 spz lf95*) # Lahey Fortran 8.1
5217 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5218 1.1 spz tmp_sharedflag='--shared' ;;
5219 1.1.1.3 spz nagfor*) # NAGFOR 5.3
5220 1.1.1.3 spz tmp_sharedflag='-Wl,-shared' ;;
5221 1.1 spz xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
5222 1.1 spz tmp_sharedflag='-qmkshrobj'
5223 1.1 spz tmp_addflag= ;;
5224 1.1 spz nvcc*) # Cuda Compiler Driver 2.2
5225 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'
5226 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
5227 1.1 spz ;;
5228 1.1 spz esac
5229 1.1 spz case `$CC -V 2>&1 | sed 5q` in
5230 1.1 spz *Sun\ C*) # Sun C 5.9
5231 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'
5232 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
5233 1.1 spz tmp_sharedflag='-G' ;;
5234 1.1 spz *Sun\ F*) # Sun Fortran 8.3
5235 1.1 spz tmp_sharedflag='-G' ;;
5236 1.1 spz esac
5237 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'
5238 1.1 spz
5239 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
5240 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5241 1.1.1.3 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5242 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
5243 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'
5244 1.1 spz fi
5245 1.1 spz
5246 1.1 spz case $cc_basename in
5247 1.1.1.3 spz tcc*)
5248 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
5249 1.1.1.3 spz ;;
5250 1.1 spz xlf* | bgf* | bgxlf* | mpixlf*)
5251 1.1 spz # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
5252 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
5253 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5254 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
5255 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
5256 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5257 1.1.1.3 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5258 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
5259 1.1.1.3 spz $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
5260 1.1 spz fi
5261 1.1 spz ;;
5262 1.1 spz esac
5263 1.1 spz else
5264 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5265 1.1 spz fi
5266 1.1 spz ;;
5267 1.1 spz
5268 1.1.1.3 spz netbsd*)
5269 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5270 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
5271 1.1 spz wlarc=
5272 1.1 spz else
5273 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5274 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'
5275 1.1 spz fi
5276 1.1 spz ;;
5277 1.1 spz
5278 1.1 spz solaris*)
5279 1.1 spz if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
5280 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5281 1.1 spz cat <<_LT_EOF 1>&2
5282 1.1 spz
5283 1.1 spz *** Warning: The releases 2.8.* of the GNU linker cannot reliably
5284 1.1 spz *** create shared libraries on Solaris systems. Therefore, libtool
5285 1.1 spz *** is disabling shared libraries support. We urge you to upgrade GNU
5286 1.1 spz *** binutils to release 2.9.1 or newer. Another option is to modify
5287 1.1 spz *** your PATH or compiler configuration so that the native linker is
5288 1.1 spz *** used, and then restart.
5289 1.1 spz
5290 1.1 spz _LT_EOF
5291 1.1 spz elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5292 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5293 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'
5294 1.1 spz else
5295 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5296 1.1 spz fi
5297 1.1 spz ;;
5298 1.1 spz
5299 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
5300 1.1 spz case `$LD -v 2>&1` in
5301 1.1 spz *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
5302 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5303 1.1 spz cat <<_LT_EOF 1>&2
5304 1.1 spz
5305 1.1.1.3 spz *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
5306 1.1 spz *** reliably create shared libraries on SCO systems. Therefore, libtool
5307 1.1 spz *** is disabling shared libraries support. We urge you to upgrade GNU
5308 1.1 spz *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
5309 1.1 spz *** your PATH or compiler configuration so that the native linker is
5310 1.1 spz *** used, and then restart.
5311 1.1 spz
5312 1.1 spz _LT_EOF
5313 1.1 spz ;;
5314 1.1 spz *)
5315 1.1 spz # For security reasons, it is highly recommended that you always
5316 1.1 spz # use absolute paths for naming shared libraries, and exclude the
5317 1.1 spz # DT_RUNPATH tag from executables and libraries. But doing so
5318 1.1 spz # requires that you compile everything twice, which is a pain.
5319 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5320 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5321 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5322 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'
5323 1.1 spz else
5324 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5325 1.1 spz fi
5326 1.1 spz ;;
5327 1.1 spz esac
5328 1.1 spz ;;
5329 1.1 spz
5330 1.1 spz sunos4*)
5331 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5332 1.1 spz wlarc=
5333 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5334 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5335 1.1 spz ;;
5336 1.1 spz
5337 1.1 spz *)
5338 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5339 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5340 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'
5341 1.1 spz else
5342 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5343 1.1 spz fi
5344 1.1 spz ;;
5345 1.1 spz esac
5346 1.1 spz
5347 1.1.1.3 spz if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
5348 1.1 spz runpath_var=
5349 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5350 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5351 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5352 1.1 spz fi
5353 1.1 spz else
5354 1.1 spz # PORTME fill in a description of your system's linker (not GNU ld)
5355 1.1 spz case $host_os in
5356 1.1 spz aix3*)
5357 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5358 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5359 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'
5360 1.1 spz # Note: this linker hardcodes the directories in LIBPATH if there
5361 1.1 spz # are no directories specified by -L.
5362 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5363 1.1.1.3 spz if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
5364 1.1 spz # Neither direct hardcoding nor static linking is supported with a
5365 1.1 spz # broken collect2.
5366 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
5367 1.1 spz fi
5368 1.1 spz ;;
5369 1.1 spz
5370 1.1 spz aix[[4-9]]*)
5371 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5372 1.1 spz # On IA64, the linker does run time linking by default, so we don't
5373 1.1 spz # have to do anything special.
5374 1.1 spz aix_use_runtimelinking=no
5375 1.1 spz exp_sym_flag='-Bexport'
5376 1.1.1.3 spz no_entry_flag=
5377 1.1 spz else
5378 1.1 spz # If we're using GNU nm, then we don't want the "-C" option.
5379 1.1.1.3 spz # -C means demangle to GNU nm, but means don't demangle to AIX nm.
5380 1.1.1.3 spz # Without the "-l" option, or with the "-B" option, AIX nm treats
5381 1.1.1.3 spz # weak defined symbols like other global defined symbols, whereas
5382 1.1.1.3 spz # GNU nm marks them as "W".
5383 1.1.1.3 spz # While the 'weak' keyword is ignored in the Export File, we need
5384 1.1.1.3 spz # it in the Import File for the 'aix-soname' feature, so we have
5385 1.1.1.3 spz # to replace the "-B" option with "-P" for AIX nm.
5386 1.1 spz if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5387 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'
5388 1.1 spz else
5389 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'
5390 1.1 spz fi
5391 1.1 spz aix_use_runtimelinking=no
5392 1.1 spz
5393 1.1 spz # Test if we are trying to use run time linking or normal
5394 1.1 spz # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5395 1.1.1.3 spz # have runtime linking enabled, and use it for executables.
5396 1.1.1.3 spz # For shared libraries, we enable/disable runtime linking
5397 1.1.1.3 spz # depending on the kind of the shared library created -
5398 1.1.1.3 spz # when "with_aix_soname,aix_use_runtimelinking" is:
5399 1.1.1.3 spz # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
5400 1.1.1.3 spz # "aix,yes" lib.so shared, rtl:yes, for executables
5401 1.1.1.3 spz # lib.a static archive
5402 1.1.1.3 spz # "both,no" lib.so.V(shr.o) shared, rtl:yes
5403 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no, for executables
5404 1.1.1.3 spz # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
5405 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no
5406 1.1.1.3 spz # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
5407 1.1.1.3 spz # lib.a static archive
5408 1.1 spz case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5409 1.1 spz for ld_flag in $LDFLAGS; do
5410 1.1.1.3 spz if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
5411 1.1 spz aix_use_runtimelinking=yes
5412 1.1 spz break
5413 1.1 spz fi
5414 1.1 spz done
5415 1.1.1.3 spz if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
5416 1.1.1.3 spz # With aix-soname=svr4, we create the lib.so.V shared archives only,
5417 1.1.1.3 spz # so we don't have lib.a shared libs to link our executables.
5418 1.1.1.3 spz # We have to force runtime linking in this case.
5419 1.1.1.3 spz aix_use_runtimelinking=yes
5420 1.1.1.3 spz LDFLAGS="$LDFLAGS -Wl,-brtl"
5421 1.1.1.3 spz fi
5422 1.1 spz ;;
5423 1.1 spz esac
5424 1.1 spz
5425 1.1 spz exp_sym_flag='-bexport'
5426 1.1 spz no_entry_flag='-bnoentry'
5427 1.1 spz fi
5428 1.1 spz
5429 1.1 spz # When large executables or shared objects are built, AIX ld can
5430 1.1 spz # have problems creating the table of contents. If linking a library
5431 1.1 spz # or program results in "error TOC overflow" add -mminimal-toc to
5432 1.1 spz # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5433 1.1 spz # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5434 1.1 spz
5435 1.1 spz _LT_TAGVAR(archive_cmds, $1)=''
5436 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5437 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5438 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5439 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5440 1.1.1.3 spz _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
5441 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
5442 1.1.1.3 spz aix,*) ;; # traditional, no import file
5443 1.1.1.3 spz svr4,* | *,yes) # use import file
5444 1.1.1.3 spz # The Import File defines what to hardcode.
5445 1.1.1.3 spz _LT_TAGVAR(hardcode_direct, $1)=no
5446 1.1.1.3 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5447 1.1.1.3 spz ;;
5448 1.1.1.3 spz esac
5449 1.1 spz
5450 1.1.1.3 spz if test yes = "$GCC"; then
5451 1.1 spz case $host_os in aix4.[[012]]|aix4.[[012]].*)
5452 1.1 spz # We only want to do this on AIX 4.2 and lower, the check
5453 1.1 spz # below for broken collect2 doesn't work under 4.3+
5454 1.1.1.3 spz collect2name=`$CC -print-prog-name=collect2`
5455 1.1 spz if test -f "$collect2name" &&
5456 1.1 spz strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5457 1.1 spz then
5458 1.1 spz # We have reworked collect2
5459 1.1 spz :
5460 1.1 spz else
5461 1.1 spz # We have old collect2
5462 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
5463 1.1 spz # It fails to find uninstalled libraries when the uninstalled
5464 1.1 spz # path is not listed in the libpath. Setting hardcode_minus_L
5465 1.1 spz # to unsupported forces relinking
5466 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5467 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5468 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
5469 1.1 spz fi
5470 1.1 spz ;;
5471 1.1 spz esac
5472 1.1 spz shared_flag='-shared'
5473 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
5474 1.1.1.3 spz shared_flag="$shared_flag "'$wl-G'
5475 1.1 spz fi
5476 1.1.1.3 spz # Need to ensure runtime linking is disabled for the traditional
5477 1.1.1.3 spz # shared library, or the linker may eventually find shared libraries
5478 1.1.1.3 spz # /with/ Import File - we do not want to mix them.
5479 1.1.1.3 spz shared_flag_aix='-shared'
5480 1.1.1.3 spz shared_flag_svr4='-shared $wl-G'
5481 1.1 spz else
5482 1.1 spz # not using gcc
5483 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5484 1.1 spz # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5485 1.1 spz # chokes on -Wl,-G. The following line is correct:
5486 1.1 spz shared_flag='-G'
5487 1.1 spz else
5488 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
5489 1.1.1.3 spz shared_flag='$wl-G'
5490 1.1 spz else
5491 1.1.1.3 spz shared_flag='$wl-bM:SRE'
5492 1.1 spz fi
5493 1.1.1.3 spz shared_flag_aix='$wl-bM:SRE'
5494 1.1.1.3 spz shared_flag_svr4='$wl-G'
5495 1.1 spz fi
5496 1.1 spz fi
5497 1.1 spz
5498 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
5499 1.1 spz # It seems that -bexpall does not export symbols beginning with
5500 1.1 spz # underscore (_), so it is better to generate a list of symbols to export.
5501 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5502 1.1.1.3 spz if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
5503 1.1 spz # Warning - without using the other runtime loading flags (-brtl),
5504 1.1 spz # -berok will link without error, but may produce a broken library.
5505 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5506 1.1 spz # Determine the default libpath from the value encoded in an
5507 1.1 spz # empty executable.
5508 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
5509 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5510 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
5511 1.1 spz else
5512 1.1.1.3 spz if test ia64 = "$host_cpu"; then
5513 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
5514 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5515 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"
5516 1.1 spz else
5517 1.1 spz # Determine the default libpath from the value encoded in an
5518 1.1 spz # empty executable.
5519 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
5520 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
5521 1.1 spz # Warning - without using the other run time loading flags,
5522 1.1 spz # -berok will link without error, but may produce a broken library.
5523 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
5524 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
5525 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
5526 1.1 spz # We only use this code for GNU lds that support --whole-archive.
5527 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
5528 1.1 spz else
5529 1.1 spz # Exported symbols can be pulled into shared objects from archives
5530 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5531 1.1 spz fi
5532 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5533 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
5534 1.1.1.3 spz # -brtl affects multiple linker settings, -berok does not and is overridden later
5535 1.1.1.3 spz compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
5536 1.1.1.3 spz if test svr4 != "$with_aix_soname"; then
5537 1.1.1.3 spz # This is similar to how AIX traditionally builds its shared libraries.
5538 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'
5539 1.1.1.3 spz fi
5540 1.1.1.3 spz if test aix != "$with_aix_soname"; then
5541 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'
5542 1.1.1.3 spz else
5543 1.1.1.3 spz # used by -dlpreopen to get the symbols
5544 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'
5545 1.1.1.3 spz fi
5546 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
5547 1.1 spz fi
5548 1.1 spz fi
5549 1.1 spz ;;
5550 1.1 spz
5551 1.1 spz amigaos*)
5552 1.1 spz case $host_cpu in
5553 1.1 spz powerpc)
5554 1.1 spz # see comment about AmigaOS4 .so support
5555 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
5556 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=''
5557 1.1 spz ;;
5558 1.1 spz m68k)
5559 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)'
5560 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5561 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5562 1.1 spz ;;
5563 1.1 spz esac
5564 1.1 spz ;;
5565 1.1 spz
5566 1.1 spz bsdi[[45]]*)
5567 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5568 1.1 spz ;;
5569 1.1 spz
5570 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
5571 1.1 spz # When not using gcc, we currently assume that we are using
5572 1.1 spz # Microsoft Visual C++.
5573 1.1 spz # hardcode_libdir_flag_spec is actually meaningless, as there is
5574 1.1 spz # no search path for DLLs.
5575 1.1 spz case $cc_basename in
5576 1.1 spz cl*)
5577 1.1 spz # Native MSVC
5578 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5579 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5580 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5581 1.1 spz _LT_TAGVAR(file_list_spec, $1)='@'
5582 1.1 spz # Tell ltmain to make .lib files, not .a files.
5583 1.1 spz libext=lib
5584 1.1 spz # Tell ltmain to make .dll files, not .so files.
5585 1.1.1.3 spz shrext_cmds=.dll
5586 1.1 spz # FIXME: Setting linknames here is a bad hack.
5587 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='
5588 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
5589 1.1.1.3 spz cp "$export_symbols" "$output_objdir/$soname.def";
5590 1.1.1.3 spz echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
5591 1.1.1.3 spz else
5592 1.1.1.3 spz $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
5593 1.1.1.3 spz fi~
5594 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"~
5595 1.1.1.3 spz linknames='
5596 1.1 spz # The linker will not automatically build a static lib if we build a DLL.
5597 1.1 spz # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5598 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5599 1.1.1.2 spz _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5600 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'
5601 1.1 spz # Don't use ranlib
5602 1.1 spz _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5603 1.1 spz _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5604 1.1.1.3 spz lt_tool_outputfile="@TOOL_OUTPUT@"~
5605 1.1.1.3 spz case $lt_outputfile in
5606 1.1.1.3 spz *.exe|*.EXE) ;;
5607 1.1.1.3 spz *)
5608 1.1.1.3 spz lt_outputfile=$lt_outputfile.exe
5609 1.1.1.3 spz lt_tool_outputfile=$lt_tool_outputfile.exe
5610 1.1.1.3 spz ;;
5611 1.1.1.3 spz esac~
5612 1.1.1.3 spz if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
5613 1.1.1.3 spz $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5614 1.1.1.3 spz $RM "$lt_outputfile.manifest";
5615 1.1.1.3 spz fi'
5616 1.1 spz ;;
5617 1.1 spz *)
5618 1.1 spz # Assume MSVC wrapper
5619 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5620 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5621 1.1 spz # Tell ltmain to make .lib files, not .a files.
5622 1.1 spz libext=lib
5623 1.1 spz # Tell ltmain to make .dll files, not .so files.
5624 1.1.1.3 spz shrext_cmds=.dll
5625 1.1 spz # FIXME: Setting linknames here is a bad hack.
5626 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5627 1.1 spz # The linker will automatically build a .lib file if we build a DLL.
5628 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5629 1.1 spz # FIXME: Should let the user specify the lib program.
5630 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5631 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5632 1.1 spz ;;
5633 1.1 spz esac
5634 1.1 spz ;;
5635 1.1 spz
5636 1.1 spz darwin* | rhapsody*)
5637 1.1 spz _LT_DARWIN_LINKER_FEATURES($1)
5638 1.1 spz ;;
5639 1.1 spz
5640 1.1 spz dgux*)
5641 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5642 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5643 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5644 1.1 spz ;;
5645 1.1 spz
5646 1.1 spz # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5647 1.1 spz # support. Future versions do this automatically, but an explicit c++rt0.o
5648 1.1 spz # does not break anything, and helps significantly (at the cost of a little
5649 1.1 spz # extra space).
5650 1.1 spz freebsd2.2*)
5651 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5652 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5653 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5654 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5655 1.1 spz ;;
5656 1.1 spz
5657 1.1 spz # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5658 1.1.1.2 spz freebsd2.*)
5659 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5660 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5661 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5662 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5663 1.1 spz ;;
5664 1.1 spz
5665 1.1 spz # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5666 1.1 spz freebsd* | dragonfly*)
5667 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5668 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5669 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5670 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5671 1.1 spz ;;
5672 1.1 spz
5673 1.1 spz hpux9*)
5674 1.1.1.3 spz if test yes = "$GCC"; then
5675 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'
5676 1.1 spz else
5677 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'
5678 1.1 spz fi
5679 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5680 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5681 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5682 1.1 spz
5683 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5684 1.1 spz # but as the default location of the library.
5685 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5686 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5687 1.1 spz ;;
5688 1.1 spz
5689 1.1 spz hpux10*)
5690 1.1.1.3 spz if test yes,no = "$GCC,$with_gnu_ld"; then
5691 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'
5692 1.1 spz else
5693 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5694 1.1 spz fi
5695 1.1.1.3 spz if test no = "$with_gnu_ld"; then
5696 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5697 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5698 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5699 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5700 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5701 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5702 1.1 spz # but as the default location of the library.
5703 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5704 1.1 spz fi
5705 1.1 spz ;;
5706 1.1 spz
5707 1.1 spz hpux11*)
5708 1.1.1.3 spz if test yes,no = "$GCC,$with_gnu_ld"; then
5709 1.1 spz case $host_cpu in
5710 1.1 spz hppa*64*)
5711 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5712 1.1 spz ;;
5713 1.1 spz ia64*)
5714 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'
5715 1.1 spz ;;
5716 1.1 spz *)
5717 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'
5718 1.1 spz ;;
5719 1.1 spz esac
5720 1.1 spz else
5721 1.1 spz case $host_cpu in
5722 1.1 spz hppa*64*)
5723 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
5724 1.1 spz ;;
5725 1.1 spz ia64*)
5726 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5727 1.1 spz ;;
5728 1.1 spz *)
5729 1.1 spz m4_if($1, [], [
5730 1.1 spz # Older versions of the 11.00 compiler do not understand -b yet
5731 1.1 spz # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5732 1.1 spz _LT_LINKER_OPTION([if $CC understands -b],
5733 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5734 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'],
5735 1.1 spz [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5736 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'])
5737 1.1 spz ;;
5738 1.1 spz esac
5739 1.1 spz fi
5740 1.1.1.3 spz if test no = "$with_gnu_ld"; then
5741 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
5742 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5743 1.1 spz
5744 1.1 spz case $host_cpu in
5745 1.1 spz hppa*64*|ia64*)
5746 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5747 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5748 1.1 spz ;;
5749 1.1 spz *)
5750 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5751 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5752 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5753 1.1 spz
5754 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5755 1.1 spz # but as the default location of the library.
5756 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5757 1.1 spz ;;
5758 1.1 spz esac
5759 1.1 spz fi
5760 1.1 spz ;;
5761 1.1 spz
5762 1.1 spz irix5* | irix6* | nonstopux*)
5763 1.1.1.3 spz if test yes = "$GCC"; then
5764 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'
5765 1.1 spz # Try to use the -exported_symbol ld option, if it does not
5766 1.1 spz # work, assume that -exports_file does not work either and
5767 1.1 spz # implicitly export all symbols.
5768 1.1 spz # This should be the same for all languages, so no per-tag cache variable.
5769 1.1 spz AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5770 1.1 spz [lt_cv_irix_exported_symbol],
5771 1.1.1.3 spz [save_LDFLAGS=$LDFLAGS
5772 1.1.1.3 spz LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
5773 1.1 spz AC_LINK_IFELSE(
5774 1.1 spz [AC_LANG_SOURCE(
5775 1.1 spz [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5776 1.1 spz [C++], [[int foo (void) { return 0; }]],
5777 1.1 spz [Fortran 77], [[
5778 1.1 spz subroutine foo
5779 1.1 spz end]],
5780 1.1 spz [Fortran], [[
5781 1.1 spz subroutine foo
5782 1.1 spz end]])])],
5783 1.1 spz [lt_cv_irix_exported_symbol=yes],
5784 1.1 spz [lt_cv_irix_exported_symbol=no])
5785 1.1.1.3 spz LDFLAGS=$save_LDFLAGS])
5786 1.1.1.3 spz if test yes = "$lt_cv_irix_exported_symbol"; then
5787 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'
5788 1.1 spz fi
5789 1.1 spz else
5790 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'
5791 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'
5792 1.1 spz fi
5793 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5794 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5795 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5796 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=yes
5797 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5798 1.1 spz ;;
5799 1.1 spz
5800 1.1.1.3 spz linux*)
5801 1.1.1.3 spz case $cc_basename in
5802 1.1.1.3 spz tcc*)
5803 1.1.1.3 spz # Fabrice Bellard et al's Tiny C Compiler
5804 1.1.1.3 spz _LT_TAGVAR(ld_shlibs, $1)=yes
5805 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5806 1.1.1.3 spz ;;
5807 1.1.1.3 spz esac
5808 1.1.1.3 spz ;;
5809 1.1.1.3 spz
5810 1.1.1.3 spz netbsd*)
5811 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5812 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5813 1.1 spz else
5814 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5815 1.1 spz fi
5816 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5817 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5818 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5819 1.1 spz ;;
5820 1.1 spz
5821 1.1 spz newsos6)
5822 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5823 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5824 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5825 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5826 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5827 1.1 spz ;;
5828 1.1 spz
5829 1.1 spz *nto* | *qnx*)
5830 1.1 spz ;;
5831 1.1 spz
5832 1.1.1.3 spz openbsd* | bitrig*)
5833 1.1 spz if test -f /usr/libexec/ld.so; then
5834 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5835 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5836 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5837 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
5838 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5839 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'
5840 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5841 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
5842 1.1 spz else
5843 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5844 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
5845 1.1 spz fi
5846 1.1 spz else
5847 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5848 1.1 spz fi
5849 1.1 spz ;;
5850 1.1 spz
5851 1.1 spz os2*)
5852 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5853 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5854 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5855 1.1.1.3 spz shrext_cmds=.dll
5856 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5857 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5858 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5859 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5860 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
5861 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5862 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5863 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
5864 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
5865 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
5866 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
5867 1.1.1.3 spz prefix_cmds="$SED"~
5868 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
5869 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
5870 1.1.1.3 spz fi~
5871 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
5872 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5873 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5874 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
5875 1.1.1.3 spz _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5876 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5877 1.1 spz ;;
5878 1.1 spz
5879 1.1 spz osf3*)
5880 1.1.1.3 spz if test yes = "$GCC"; then
5881 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5882 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'
5883 1.1 spz else
5884 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5885 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'
5886 1.1 spz fi
5887 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5888 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5889 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5890 1.1 spz ;;
5891 1.1 spz
5892 1.1 spz osf4* | osf5*) # as osf3* with the addition of -msym flag
5893 1.1.1.3 spz if test yes = "$GCC"; then
5894 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
5895 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'
5896 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
5897 1.1 spz else
5898 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5899 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'
5900 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~
5901 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'
5902 1.1 spz
5903 1.1 spz # Both c and cxx compiler support -rpath directly
5904 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5905 1.1 spz fi
5906 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5907 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5908 1.1 spz ;;
5909 1.1 spz
5910 1.1 spz solaris*)
5911 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5912 1.1.1.3 spz if test yes = "$GCC"; then
5913 1.1.1.3 spz wlarc='$wl'
5914 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'
5915 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~
5916 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'
5917 1.1 spz else
5918 1.1 spz case `$CC -V 2>&1` in
5919 1.1 spz *"Compilers 5.0"*)
5920 1.1 spz wlarc=''
5921 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
5922 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~
5923 1.1.1.3 spz $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5924 1.1 spz ;;
5925 1.1 spz *)
5926 1.1.1.3 spz wlarc='$wl'
5927 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5928 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~
5929 1.1.1.3 spz $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5930 1.1 spz ;;
5931 1.1 spz esac
5932 1.1 spz fi
5933 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5934 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5935 1.1 spz case $host_os in
5936 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5937 1.1 spz *)
5938 1.1 spz # The compiler driver will combine and reorder linker options,
5939 1.1.1.3 spz # but understands '-z linker_flag'. GCC discards it without '$wl',
5940 1.1 spz # but is careful enough not to reorder.
5941 1.1 spz # Supported since Solaris 2.6 (maybe 2.5.1?)
5942 1.1.1.3 spz if test yes = "$GCC"; then
5943 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
5944 1.1 spz else
5945 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5946 1.1 spz fi
5947 1.1 spz ;;
5948 1.1 spz esac
5949 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5950 1.1 spz ;;
5951 1.1 spz
5952 1.1 spz sunos4*)
5953 1.1.1.3 spz if test sequent = "$host_vendor"; then
5954 1.1 spz # Use $CC to link under sequent, because it throws in some extra .o
5955 1.1 spz # files that make .init and .fini sections work.
5956 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5957 1.1 spz else
5958 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5959 1.1 spz fi
5960 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5961 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5962 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5963 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5964 1.1 spz ;;
5965 1.1 spz
5966 1.1 spz sysv4)
5967 1.1 spz case $host_vendor in
5968 1.1 spz sni)
5969 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5970 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5971 1.1 spz ;;
5972 1.1 spz siemens)
5973 1.1 spz ## LD is ld it makes a PLAMLIB
5974 1.1 spz ## CC just makes a GrossModule.
5975 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5976 1.1 spz _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5977 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5978 1.1 spz ;;
5979 1.1 spz motorola)
5980 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5981 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5982 1.1 spz ;;
5983 1.1 spz esac
5984 1.1 spz runpath_var='LD_RUN_PATH'
5985 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5986 1.1 spz ;;
5987 1.1 spz
5988 1.1 spz sysv4.3*)
5989 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5990 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5991 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5992 1.1 spz ;;
5993 1.1 spz
5994 1.1 spz sysv4*MP*)
5995 1.1 spz if test -d /usr/nec; then
5996 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5997 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5998 1.1 spz runpath_var=LD_RUN_PATH
5999 1.1 spz hardcode_runpath_var=yes
6000 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6001 1.1 spz fi
6002 1.1 spz ;;
6003 1.1 spz
6004 1.1 spz sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6005 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6006 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6007 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6008 1.1 spz runpath_var='LD_RUN_PATH'
6009 1.1 spz
6010 1.1.1.3 spz if test yes = "$GCC"; then
6011 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6012 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'
6013 1.1 spz else
6014 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6015 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'
6016 1.1 spz fi
6017 1.1 spz ;;
6018 1.1 spz
6019 1.1 spz sysv5* | sco3.2v5* | sco5v6*)
6020 1.1.1.3 spz # Note: We CANNOT use -z defs as we might desire, because we do not
6021 1.1 spz # link with -lc, and that would cause any symbols used from libc to
6022 1.1 spz # always be unresolved, which means just about no library would
6023 1.1 spz # ever link correctly. If we're not using GNU ld we use -z text
6024 1.1 spz # though, which does catch some bad symbols but isn't as heavy-handed
6025 1.1 spz # as -z defs.
6026 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
6027 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
6028 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6029 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6030 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
6031 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6032 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6033 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
6034 1.1 spz runpath_var='LD_RUN_PATH'
6035 1.1 spz
6036 1.1.1.3 spz if test yes = "$GCC"; then
6037 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6038 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'
6039 1.1 spz else
6040 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6041 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'
6042 1.1 spz fi
6043 1.1 spz ;;
6044 1.1 spz
6045 1.1 spz uts4*)
6046 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
6047 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6048 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6049 1.1 spz ;;
6050 1.1 spz
6051 1.1 spz *)
6052 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6053 1.1 spz ;;
6054 1.1 spz esac
6055 1.1 spz
6056 1.1.1.3 spz if test sni = "$host_vendor"; then
6057 1.1 spz case $host in
6058 1.1 spz sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
6059 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
6060 1.1 spz ;;
6061 1.1 spz esac
6062 1.1 spz fi
6063 1.1 spz fi
6064 1.1 spz ])
6065 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6066 1.1.1.3 spz test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
6067 1.1 spz
6068 1.1 spz _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
6069 1.1 spz
6070 1.1 spz _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
6071 1.1 spz _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
6072 1.1 spz _LT_DECL([], [extract_expsyms_cmds], [2],
6073 1.1 spz [The commands to extract the exported symbol list from a shared archive])
6074 1.1 spz
6075 1.1 spz #
6076 1.1 spz # Do we need to explicitly link libc?
6077 1.1 spz #
6078 1.1 spz case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
6079 1.1 spz x|xyes)
6080 1.1 spz # Assume -lc should be added
6081 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6082 1.1 spz
6083 1.1.1.3 spz if test yes,yes = "$GCC,$enable_shared"; then
6084 1.1 spz case $_LT_TAGVAR(archive_cmds, $1) in
6085 1.1 spz *'~'*)
6086 1.1 spz # FIXME: we may have to deal with multi-command sequences.
6087 1.1 spz ;;
6088 1.1 spz '$CC '*)
6089 1.1 spz # Test whether the compiler implicitly links with -lc since on some
6090 1.1 spz # systems, -lgcc has to come before -lc. If gcc already passes -lc
6091 1.1 spz # to ld, don't add -lc before -lgcc.
6092 1.1 spz AC_CACHE_CHECK([whether -lc should be explicitly linked in],
6093 1.1 spz [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
6094 1.1 spz [$RM conftest*
6095 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
6096 1.1 spz
6097 1.1 spz if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
6098 1.1 spz soname=conftest
6099 1.1 spz lib=conftest
6100 1.1 spz libobjs=conftest.$ac_objext
6101 1.1 spz deplibs=
6102 1.1 spz wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
6103 1.1 spz pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
6104 1.1 spz compiler_flags=-v
6105 1.1 spz linker_flags=-v
6106 1.1 spz verstring=
6107 1.1 spz output_objdir=.
6108 1.1 spz libname=conftest
6109 1.1 spz lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
6110 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
6111 1.1 spz if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
6112 1.1 spz then
6113 1.1 spz lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6114 1.1 spz else
6115 1.1 spz lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6116 1.1 spz fi
6117 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
6118 1.1 spz else
6119 1.1 spz cat conftest.err 1>&5
6120 1.1 spz fi
6121 1.1 spz $RM conftest*
6122 1.1 spz ])
6123 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
6124 1.1 spz ;;
6125 1.1 spz esac
6126 1.1 spz fi
6127 1.1 spz ;;
6128 1.1 spz esac
6129 1.1 spz
6130 1.1 spz _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
6131 1.1 spz [Whether or not to add -lc for building shared libraries])
6132 1.1 spz _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
6133 1.1 spz [enable_shared_with_static_runtimes], [0],
6134 1.1 spz [Whether or not to disallow shared libs when runtime libs are static])
6135 1.1 spz _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
6136 1.1 spz [Compiler flag to allow reflexive dlopens])
6137 1.1 spz _LT_TAGDECL([], [whole_archive_flag_spec], [1],
6138 1.1 spz [Compiler flag to generate shared objects directly from archives])
6139 1.1 spz _LT_TAGDECL([], [compiler_needs_object], [1],
6140 1.1 spz [Whether the compiler copes with passing no objects directly])
6141 1.1 spz _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
6142 1.1 spz [Create an old-style archive from a shared archive])
6143 1.1 spz _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
6144 1.1 spz [Create a temporary old-style archive to link instead of a shared archive])
6145 1.1 spz _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
6146 1.1 spz _LT_TAGDECL([], [archive_expsym_cmds], [2])
6147 1.1 spz _LT_TAGDECL([], [module_cmds], [2],
6148 1.1 spz [Commands used to build a loadable module if different from building
6149 1.1 spz a shared archive.])
6150 1.1 spz _LT_TAGDECL([], [module_expsym_cmds], [2])
6151 1.1 spz _LT_TAGDECL([], [with_gnu_ld], [1],
6152 1.1 spz [Whether we are building with GNU ld or not])
6153 1.1 spz _LT_TAGDECL([], [allow_undefined_flag], [1],
6154 1.1 spz [Flag that allows shared libraries with undefined symbols to be built])
6155 1.1 spz _LT_TAGDECL([], [no_undefined_flag], [1],
6156 1.1 spz [Flag that enforces no undefined symbols])
6157 1.1 spz _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
6158 1.1 spz [Flag to hardcode $libdir into a binary during linking.
6159 1.1 spz This must work even if $libdir does not exist])
6160 1.1 spz _LT_TAGDECL([], [hardcode_libdir_separator], [1],
6161 1.1 spz [Whether we need a single "-rpath" flag with a separated argument])
6162 1.1 spz _LT_TAGDECL([], [hardcode_direct], [0],
6163 1.1.1.3 spz [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6164 1.1 spz DIR into the resulting binary])
6165 1.1 spz _LT_TAGDECL([], [hardcode_direct_absolute], [0],
6166 1.1.1.3 spz [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
6167 1.1 spz DIR into the resulting binary and the resulting library dependency is
6168 1.1.1.3 spz "absolute", i.e impossible to change by setting $shlibpath_var if the
6169 1.1 spz library is relocated])
6170 1.1 spz _LT_TAGDECL([], [hardcode_minus_L], [0],
6171 1.1 spz [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
6172 1.1 spz into the resulting binary])
6173 1.1 spz _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
6174 1.1 spz [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
6175 1.1 spz into the resulting binary])
6176 1.1 spz _LT_TAGDECL([], [hardcode_automatic], [0],
6177 1.1 spz [Set to "yes" if building a shared library automatically hardcodes DIR
6178 1.1 spz into the library and all subsequent libraries and executables linked
6179 1.1 spz against it])
6180 1.1 spz _LT_TAGDECL([], [inherit_rpath], [0],
6181 1.1 spz [Set to yes if linker adds runtime paths of dependent libraries
6182 1.1 spz to runtime path list])
6183 1.1 spz _LT_TAGDECL([], [link_all_deplibs], [0],
6184 1.1 spz [Whether libtool must link a program against all its dependency libraries])
6185 1.1 spz _LT_TAGDECL([], [always_export_symbols], [0],
6186 1.1 spz [Set to "yes" if exported symbols are required])
6187 1.1 spz _LT_TAGDECL([], [export_symbols_cmds], [2],
6188 1.1 spz [The commands to list exported symbols])
6189 1.1 spz _LT_TAGDECL([], [exclude_expsyms], [1],
6190 1.1 spz [Symbols that should not be listed in the preloaded symbols])
6191 1.1 spz _LT_TAGDECL([], [include_expsyms], [1],
6192 1.1 spz [Symbols that must always be exported])
6193 1.1 spz _LT_TAGDECL([], [prelink_cmds], [2],
6194 1.1 spz [Commands necessary for linking programs (against libraries) with templates])
6195 1.1 spz _LT_TAGDECL([], [postlink_cmds], [2],
6196 1.1 spz [Commands necessary for finishing linking programs])
6197 1.1 spz _LT_TAGDECL([], [file_list_spec], [1],
6198 1.1 spz [Specify filename containing input files])
6199 1.1 spz dnl FIXME: Not yet implemented
6200 1.1 spz dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
6201 1.1 spz dnl [Compiler flag to generate thread safe objects])
6202 1.1 spz ])# _LT_LINKER_SHLIBS
6203 1.1 spz
6204 1.1 spz
6205 1.1 spz # _LT_LANG_C_CONFIG([TAG])
6206 1.1 spz # ------------------------
6207 1.1 spz # Ensure that the configuration variables for a C compiler are suitably
6208 1.1 spz # defined. These variables are subsequently used by _LT_CONFIG to write
6209 1.1.1.3 spz # the compiler configuration to 'libtool'.
6210 1.1 spz m4_defun([_LT_LANG_C_CONFIG],
6211 1.1 spz [m4_require([_LT_DECL_EGREP])dnl
6212 1.1.1.3 spz lt_save_CC=$CC
6213 1.1 spz AC_LANG_PUSH(C)
6214 1.1 spz
6215 1.1 spz # Source file extension for C test sources.
6216 1.1 spz ac_ext=c
6217 1.1 spz
6218 1.1 spz # Object file extension for compiled C test sources.
6219 1.1 spz objext=o
6220 1.1 spz _LT_TAGVAR(objext, $1)=$objext
6221 1.1 spz
6222 1.1 spz # Code to be used in simple compile tests
6223 1.1 spz lt_simple_compile_test_code="int some_variable = 0;"
6224 1.1 spz
6225 1.1 spz # Code to be used in simple link tests
6226 1.1 spz lt_simple_link_test_code='int main(){return(0);}'
6227 1.1 spz
6228 1.1 spz _LT_TAG_COMPILER
6229 1.1 spz # Save the default compiler, since it gets overwritten when the other
6230 1.1 spz # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
6231 1.1 spz compiler_DEFAULT=$CC
6232 1.1 spz
6233 1.1 spz # save warnings/boilerplate of simple test code
6234 1.1 spz _LT_COMPILER_BOILERPLATE
6235 1.1 spz _LT_LINKER_BOILERPLATE
6236 1.1 spz
6237 1.1 spz ## CAVEAT EMPTOR:
6238 1.1 spz ## There is no encapsulation within the following macros, do not change
6239 1.1 spz ## the running order or otherwise move them around unless you know exactly
6240 1.1 spz ## what you are doing...
6241 1.1 spz if test -n "$compiler"; then
6242 1.1 spz _LT_COMPILER_NO_RTTI($1)
6243 1.1 spz _LT_COMPILER_PIC($1)
6244 1.1 spz _LT_COMPILER_C_O($1)
6245 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
6246 1.1 spz _LT_LINKER_SHLIBS($1)
6247 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
6248 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
6249 1.1 spz LT_SYS_DLOPEN_SELF
6250 1.1 spz _LT_CMD_STRIPLIB
6251 1.1 spz
6252 1.1.1.3 spz # Report what library types will actually be built
6253 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
6254 1.1 spz AC_MSG_RESULT([$can_build_shared])
6255 1.1 spz
6256 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
6257 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
6258 1.1 spz
6259 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
6260 1.1 spz # are all built from PIC.
6261 1.1 spz case $host_os in
6262 1.1 spz aix3*)
6263 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
6264 1.1 spz if test -n "$RANLIB"; then
6265 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
6266 1.1 spz postinstall_cmds='$RANLIB $lib'
6267 1.1 spz fi
6268 1.1 spz ;;
6269 1.1 spz
6270 1.1 spz aix[[4-9]]*)
6271 1.1.1.3 spz if test ia64 != "$host_cpu"; then
6272 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
6273 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
6274 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
6275 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
6276 1.1.1.3 spz esac
6277 1.1 spz fi
6278 1.1 spz ;;
6279 1.1 spz esac
6280 1.1 spz AC_MSG_RESULT([$enable_shared])
6281 1.1 spz
6282 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
6283 1.1 spz # Make sure either enable_shared or enable_static is yes.
6284 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
6285 1.1 spz AC_MSG_RESULT([$enable_static])
6286 1.1 spz
6287 1.1 spz _LT_CONFIG($1)
6288 1.1 spz fi
6289 1.1 spz AC_LANG_POP
6290 1.1.1.3 spz CC=$lt_save_CC
6291 1.1 spz ])# _LT_LANG_C_CONFIG
6292 1.1 spz
6293 1.1 spz
6294 1.1 spz # _LT_LANG_CXX_CONFIG([TAG])
6295 1.1 spz # --------------------------
6296 1.1 spz # Ensure that the configuration variables for a C++ compiler are suitably
6297 1.1 spz # defined. These variables are subsequently used by _LT_CONFIG to write
6298 1.1.1.3 spz # the compiler configuration to 'libtool'.
6299 1.1 spz m4_defun([_LT_LANG_CXX_CONFIG],
6300 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6301 1.1 spz m4_require([_LT_DECL_EGREP])dnl
6302 1.1 spz m4_require([_LT_PATH_MANIFEST_TOOL])dnl
6303 1.1.1.3 spz if test -n "$CXX" && ( test no != "$CXX" &&
6304 1.1.1.3 spz ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
6305 1.1.1.3 spz (test g++ != "$CXX"))); then
6306 1.1 spz AC_PROG_CXXCPP
6307 1.1 spz else
6308 1.1 spz _lt_caught_CXX_error=yes
6309 1.1 spz fi
6310 1.1 spz
6311 1.1 spz AC_LANG_PUSH(C++)
6312 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6313 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
6314 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
6315 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
6316 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=no
6317 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6318 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6319 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6320 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6321 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
6322 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
6323 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6324 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
6325 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
6326 1.1 spz _LT_TAGVAR(module_cmds, $1)=
6327 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
6328 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
6329 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6330 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
6331 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
6332 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
6333 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
6334 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6335 1.1 spz
6336 1.1 spz # Source file extension for C++ test sources.
6337 1.1 spz ac_ext=cpp
6338 1.1 spz
6339 1.1 spz # Object file extension for compiled C++ test sources.
6340 1.1 spz objext=o
6341 1.1 spz _LT_TAGVAR(objext, $1)=$objext
6342 1.1 spz
6343 1.1 spz # No sense in running all these tests if we already determined that
6344 1.1 spz # the CXX compiler isn't working. Some variables (like enable_shared)
6345 1.1 spz # are currently assumed to apply to all compilers on this platform,
6346 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
6347 1.1.1.3 spz if test yes != "$_lt_caught_CXX_error"; then
6348 1.1 spz # Code to be used in simple compile tests
6349 1.1 spz lt_simple_compile_test_code="int some_variable = 0;"
6350 1.1 spz
6351 1.1 spz # Code to be used in simple link tests
6352 1.1 spz lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
6353 1.1 spz
6354 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6355 1.1 spz _LT_TAG_COMPILER
6356 1.1 spz
6357 1.1 spz # save warnings/boilerplate of simple test code
6358 1.1 spz _LT_COMPILER_BOILERPLATE
6359 1.1 spz _LT_LINKER_BOILERPLATE
6360 1.1 spz
6361 1.1 spz # Allow CC to be a program name with arguments.
6362 1.1 spz lt_save_CC=$CC
6363 1.1 spz lt_save_CFLAGS=$CFLAGS
6364 1.1 spz lt_save_LD=$LD
6365 1.1 spz lt_save_GCC=$GCC
6366 1.1 spz GCC=$GXX
6367 1.1 spz lt_save_with_gnu_ld=$with_gnu_ld
6368 1.1 spz lt_save_path_LD=$lt_cv_path_LD
6369 1.1 spz if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
6370 1.1 spz lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
6371 1.1 spz else
6372 1.1 spz $as_unset lt_cv_prog_gnu_ld
6373 1.1 spz fi
6374 1.1 spz if test -n "${lt_cv_path_LDCXX+set}"; then
6375 1.1 spz lt_cv_path_LD=$lt_cv_path_LDCXX
6376 1.1 spz else
6377 1.1 spz $as_unset lt_cv_path_LD
6378 1.1 spz fi
6379 1.1 spz test -z "${LDCXX+set}" || LD=$LDCXX
6380 1.1 spz CC=${CXX-"c++"}
6381 1.1 spz CFLAGS=$CXXFLAGS
6382 1.1 spz compiler=$CC
6383 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
6384 1.1 spz _LT_CC_BASENAME([$compiler])
6385 1.1 spz
6386 1.1 spz if test -n "$compiler"; then
6387 1.1 spz # We don't want -fno-exception when compiling C++ code, so set the
6388 1.1 spz # no_builtin_flag separately
6389 1.1.1.3 spz if test yes = "$GXX"; then
6390 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
6391 1.1 spz else
6392 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
6393 1.1 spz fi
6394 1.1 spz
6395 1.1.1.3 spz if test yes = "$GXX"; then
6396 1.1 spz # Set up default GNU C++ configuration
6397 1.1 spz
6398 1.1 spz LT_PATH_LD
6399 1.1 spz
6400 1.1 spz # Check if GNU C++ uses GNU ld as the underlying linker, since the
6401 1.1 spz # archiving commands below assume that GNU ld is being used.
6402 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
6403 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'
6404 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'
6405 1.1 spz
6406 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6407 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6408 1.1 spz
6409 1.1 spz # If archive_cmds runs LD, not CC, wlarc should be empty
6410 1.1 spz # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
6411 1.1 spz # investigate it a little bit more. (MM)
6412 1.1.1.3 spz wlarc='$wl'
6413 1.1 spz
6414 1.1 spz # ancient GNU ld didn't support --whole-archive et. al.
6415 1.1 spz if eval "`$CC -print-prog-name=ld` --help 2>&1" |
6416 1.1 spz $GREP 'no-whole-archive' > /dev/null; then
6417 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
6418 1.1 spz else
6419 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
6420 1.1 spz fi
6421 1.1 spz else
6422 1.1 spz with_gnu_ld=no
6423 1.1 spz wlarc=
6424 1.1 spz
6425 1.1 spz # A generic and very simple default shared library creation
6426 1.1 spz # command for GNU C++ for the case where it uses the native
6427 1.1 spz # linker, instead of GNU ld. If possible, this setting should
6428 1.1 spz # overridden to take advantage of the native linker features on
6429 1.1 spz # the platform it is being used on.
6430 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6431 1.1 spz fi
6432 1.1 spz
6433 1.1 spz # Commands to make compiler produce verbose output that lists
6434 1.1 spz # what "hidden" libraries, object files and flags are used when
6435 1.1 spz # linking a shared library.
6436 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6437 1.1 spz
6438 1.1 spz else
6439 1.1 spz GXX=no
6440 1.1 spz with_gnu_ld=no
6441 1.1 spz wlarc=
6442 1.1 spz fi
6443 1.1 spz
6444 1.1 spz # PORTME: fill in a description of your system's C++ link characteristics
6445 1.1 spz AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6446 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6447 1.1 spz case $host_os in
6448 1.1 spz aix3*)
6449 1.1 spz # FIXME: insert proper C++ library support
6450 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6451 1.1 spz ;;
6452 1.1 spz aix[[4-9]]*)
6453 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6454 1.1 spz # On IA64, the linker does run time linking by default, so we don't
6455 1.1 spz # have to do anything special.
6456 1.1 spz aix_use_runtimelinking=no
6457 1.1 spz exp_sym_flag='-Bexport'
6458 1.1.1.3 spz no_entry_flag=
6459 1.1 spz else
6460 1.1 spz aix_use_runtimelinking=no
6461 1.1 spz
6462 1.1 spz # Test if we are trying to use run time linking or normal
6463 1.1 spz # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6464 1.1.1.3 spz # have runtime linking enabled, and use it for executables.
6465 1.1.1.3 spz # For shared libraries, we enable/disable runtime linking
6466 1.1.1.3 spz # depending on the kind of the shared library created -
6467 1.1.1.3 spz # when "with_aix_soname,aix_use_runtimelinking" is:
6468 1.1.1.3 spz # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
6469 1.1.1.3 spz # "aix,yes" lib.so shared, rtl:yes, for executables
6470 1.1.1.3 spz # lib.a static archive
6471 1.1.1.3 spz # "both,no" lib.so.V(shr.o) shared, rtl:yes
6472 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no, for executables
6473 1.1.1.3 spz # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
6474 1.1.1.3 spz # lib.a(lib.so.V) shared, rtl:no
6475 1.1.1.3 spz # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
6476 1.1.1.3 spz # lib.a static archive
6477 1.1 spz case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6478 1.1 spz for ld_flag in $LDFLAGS; do
6479 1.1 spz case $ld_flag in
6480 1.1 spz *-brtl*)
6481 1.1 spz aix_use_runtimelinking=yes
6482 1.1 spz break
6483 1.1 spz ;;
6484 1.1 spz esac
6485 1.1 spz done
6486 1.1.1.3 spz if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
6487 1.1.1.3 spz # With aix-soname=svr4, we create the lib.so.V shared archives only,
6488 1.1.1.3 spz # so we don't have lib.a shared libs to link our executables.
6489 1.1.1.3 spz # We have to force runtime linking in this case.
6490 1.1.1.3 spz aix_use_runtimelinking=yes
6491 1.1.1.3 spz LDFLAGS="$LDFLAGS -Wl,-brtl"
6492 1.1.1.3 spz fi
6493 1.1 spz ;;
6494 1.1 spz esac
6495 1.1 spz
6496 1.1 spz exp_sym_flag='-bexport'
6497 1.1 spz no_entry_flag='-bnoentry'
6498 1.1 spz fi
6499 1.1 spz
6500 1.1 spz # When large executables or shared objects are built, AIX ld can
6501 1.1 spz # have problems creating the table of contents. If linking a library
6502 1.1 spz # or program results in "error TOC overflow" add -mminimal-toc to
6503 1.1 spz # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6504 1.1 spz # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6505 1.1 spz
6506 1.1 spz _LT_TAGVAR(archive_cmds, $1)=''
6507 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6508 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6509 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6510 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6511 1.1.1.3 spz _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
6512 1.1.1.3 spz case $with_aix_soname,$aix_use_runtimelinking in
6513 1.1.1.3 spz aix,*) ;; # no import file
6514 1.1.1.3 spz svr4,* | *,yes) # use import file
6515 1.1.1.3 spz # The Import File defines what to hardcode.
6516 1.1.1.3 spz _LT_TAGVAR(hardcode_direct, $1)=no
6517 1.1.1.3 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6518 1.1.1.3 spz ;;
6519 1.1.1.3 spz esac
6520 1.1 spz
6521 1.1.1.3 spz if test yes = "$GXX"; then
6522 1.1 spz case $host_os in aix4.[[012]]|aix4.[[012]].*)
6523 1.1 spz # We only want to do this on AIX 4.2 and lower, the check
6524 1.1 spz # below for broken collect2 doesn't work under 4.3+
6525 1.1.1.3 spz collect2name=`$CC -print-prog-name=collect2`
6526 1.1 spz if test -f "$collect2name" &&
6527 1.1 spz strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6528 1.1 spz then
6529 1.1 spz # We have reworked collect2
6530 1.1 spz :
6531 1.1 spz else
6532 1.1 spz # We have old collect2
6533 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
6534 1.1 spz # It fails to find uninstalled libraries when the uninstalled
6535 1.1 spz # path is not listed in the libpath. Setting hardcode_minus_L
6536 1.1 spz # to unsupported forces relinking
6537 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6538 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6539 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
6540 1.1 spz fi
6541 1.1 spz esac
6542 1.1 spz shared_flag='-shared'
6543 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
6544 1.1.1.3 spz shared_flag=$shared_flag' $wl-G'
6545 1.1 spz fi
6546 1.1.1.3 spz # Need to ensure runtime linking is disabled for the traditional
6547 1.1.1.3 spz # shared library, or the linker may eventually find shared libraries
6548 1.1.1.3 spz # /with/ Import File - we do not want to mix them.
6549 1.1.1.3 spz shared_flag_aix='-shared'
6550 1.1.1.3 spz shared_flag_svr4='-shared $wl-G'
6551 1.1 spz else
6552 1.1 spz # not using gcc
6553 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6554 1.1 spz # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6555 1.1 spz # chokes on -Wl,-G. The following line is correct:
6556 1.1 spz shared_flag='-G'
6557 1.1 spz else
6558 1.1.1.3 spz if test yes = "$aix_use_runtimelinking"; then
6559 1.1.1.3 spz shared_flag='$wl-G'
6560 1.1 spz else
6561 1.1.1.3 spz shared_flag='$wl-bM:SRE'
6562 1.1 spz fi
6563 1.1.1.3 spz shared_flag_aix='$wl-bM:SRE'
6564 1.1.1.3 spz shared_flag_svr4='$wl-G'
6565 1.1 spz fi
6566 1.1 spz fi
6567 1.1 spz
6568 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
6569 1.1 spz # It seems that -bexpall does not export symbols beginning with
6570 1.1 spz # underscore (_), so it is better to generate a list of symbols to
6571 1.1 spz # export.
6572 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
6573 1.1.1.3 spz if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
6574 1.1 spz # Warning - without using the other runtime loading flags (-brtl),
6575 1.1 spz # -berok will link without error, but may produce a broken library.
6576 1.1.1.3 spz # The "-G" linker flag allows undefined symbols.
6577 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
6578 1.1 spz # Determine the default libpath from the value encoded in an empty
6579 1.1 spz # executable.
6580 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
6581 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6582 1.1 spz
6583 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
6584 1.1 spz else
6585 1.1.1.3 spz if test ia64 = "$host_cpu"; then
6586 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
6587 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6588 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"
6589 1.1 spz else
6590 1.1 spz # Determine the default libpath from the value encoded in an
6591 1.1 spz # empty executable.
6592 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
6593 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
6594 1.1 spz # Warning - without using the other run time loading flags,
6595 1.1 spz # -berok will link without error, but may produce a broken library.
6596 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
6597 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
6598 1.1.1.3 spz if test yes = "$with_gnu_ld"; then
6599 1.1 spz # We only use this code for GNU lds that support --whole-archive.
6600 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6601 1.1 spz else
6602 1.1 spz # Exported symbols can be pulled into shared objects from archives
6603 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6604 1.1 spz fi
6605 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6606 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
6607 1.1.1.3 spz # -brtl affects multiple linker settings, -berok does not and is overridden later
6608 1.1.1.3 spz compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
6609 1.1.1.3 spz if test svr4 != "$with_aix_soname"; then
6610 1.1.1.3 spz # This is similar to how AIX traditionally builds its shared
6611 1.1.1.3 spz # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
6612 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'
6613 1.1.1.3 spz fi
6614 1.1.1.3 spz if test aix != "$with_aix_soname"; then
6615 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'
6616 1.1.1.3 spz else
6617 1.1.1.3 spz # used by -dlpreopen to get the symbols
6618 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'
6619 1.1.1.3 spz fi
6620 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
6621 1.1 spz fi
6622 1.1 spz fi
6623 1.1 spz ;;
6624 1.1 spz
6625 1.1 spz beos*)
6626 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6627 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6628 1.1 spz # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
6629 1.1 spz # support --undefined. This deserves some investigation. FIXME
6630 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6631 1.1 spz else
6632 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6633 1.1 spz fi
6634 1.1 spz ;;
6635 1.1 spz
6636 1.1 spz chorus*)
6637 1.1 spz case $cc_basename in
6638 1.1 spz *)
6639 1.1 spz # FIXME: insert proper C++ library support
6640 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6641 1.1 spz ;;
6642 1.1 spz esac
6643 1.1 spz ;;
6644 1.1 spz
6645 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
6646 1.1 spz case $GXX,$cc_basename in
6647 1.1 spz ,cl* | no,cl*)
6648 1.1 spz # Native MSVC
6649 1.1 spz # hardcode_libdir_flag_spec is actually meaningless, as there is
6650 1.1 spz # no search path for DLLs.
6651 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6652 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6653 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
6654 1.1 spz _LT_TAGVAR(file_list_spec, $1)='@'
6655 1.1 spz # Tell ltmain to make .lib files, not .a files.
6656 1.1 spz libext=lib
6657 1.1 spz # Tell ltmain to make .dll files, not .so files.
6658 1.1.1.3 spz shrext_cmds=.dll
6659 1.1 spz # FIXME: Setting linknames here is a bad hack.
6660 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='
6661 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6662 1.1.1.3 spz cp "$export_symbols" "$output_objdir/$soname.def";
6663 1.1.1.3 spz echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
6664 1.1.1.3 spz else
6665 1.1.1.3 spz $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
6666 1.1.1.3 spz fi~
6667 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"~
6668 1.1.1.3 spz linknames='
6669 1.1 spz # The linker will not automatically build a static lib if we build a DLL.
6670 1.1 spz # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6671 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6672 1.1 spz # Don't use ranlib
6673 1.1 spz _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6674 1.1 spz _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6675 1.1.1.3 spz lt_tool_outputfile="@TOOL_OUTPUT@"~
6676 1.1.1.3 spz case $lt_outputfile in
6677 1.1.1.3 spz *.exe|*.EXE) ;;
6678 1.1.1.3 spz *)
6679 1.1.1.3 spz lt_outputfile=$lt_outputfile.exe
6680 1.1.1.3 spz lt_tool_outputfile=$lt_tool_outputfile.exe
6681 1.1.1.3 spz ;;
6682 1.1.1.3 spz esac~
6683 1.1.1.3 spz func_to_tool_file "$lt_outputfile"~
6684 1.1.1.3 spz if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
6685 1.1.1.3 spz $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6686 1.1.1.3 spz $RM "$lt_outputfile.manifest";
6687 1.1.1.3 spz fi'
6688 1.1 spz ;;
6689 1.1 spz *)
6690 1.1 spz # g++
6691 1.1 spz # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6692 1.1 spz # as there is no search path for DLLs.
6693 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6694 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
6695 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6696 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
6697 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6698 1.1 spz
6699 1.1 spz if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6700 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'
6701 1.1.1.3 spz # If the export-symbols file already is a .def file, use it as
6702 1.1.1.3 spz # is; otherwise, prepend EXPORTS...
6703 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
6704 1.1.1.3 spz cp $export_symbols $output_objdir/$soname.def;
6705 1.1.1.3 spz else
6706 1.1.1.3 spz echo EXPORTS > $output_objdir/$soname.def;
6707 1.1.1.3 spz cat $export_symbols >> $output_objdir/$soname.def;
6708 1.1.1.3 spz fi~
6709 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'
6710 1.1 spz else
6711 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6712 1.1 spz fi
6713 1.1 spz ;;
6714 1.1 spz esac
6715 1.1 spz ;;
6716 1.1 spz darwin* | rhapsody*)
6717 1.1 spz _LT_DARWIN_LINKER_FEATURES($1)
6718 1.1 spz ;;
6719 1.1 spz
6720 1.1.1.3 spz os2*)
6721 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6722 1.1.1.3 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6723 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6724 1.1.1.3 spz shrext_cmds=.dll
6725 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6726 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6727 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6728 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
6729 1.1.1.3 spz emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
6730 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6731 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
6732 1.1.1.3 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
6733 1.1.1.3 spz $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
6734 1.1.1.3 spz $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
6735 1.1.1.3 spz $ECHO EXPORTS >> $output_objdir/$libname.def~
6736 1.1.1.3 spz prefix_cmds="$SED"~
6737 1.1.1.3 spz if test EXPORTS = "`$SED 1q $export_symbols`"; then
6738 1.1.1.3 spz prefix_cmds="$prefix_cmds -e 1d";
6739 1.1.1.3 spz fi~
6740 1.1.1.3 spz prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
6741 1.1.1.3 spz cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
6742 1.1.1.3 spz $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
6743 1.1.1.3 spz emximp -o $lib $output_objdir/$libname.def'
6744 1.1.1.3 spz _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
6745 1.1.1.3 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6746 1.1.1.3 spz ;;
6747 1.1.1.3 spz
6748 1.1 spz dgux*)
6749 1.1 spz case $cc_basename in
6750 1.1 spz ec++*)
6751 1.1 spz # FIXME: insert proper C++ library support
6752 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6753 1.1 spz ;;
6754 1.1 spz ghcx*)
6755 1.1 spz # Green Hills C++ Compiler
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 *)
6760 1.1 spz # FIXME: insert proper C++ library support
6761 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6762 1.1 spz ;;
6763 1.1 spz esac
6764 1.1 spz ;;
6765 1.1 spz
6766 1.1.1.2 spz freebsd2.*)
6767 1.1 spz # C++ shared libraries reported to be fairly broken before
6768 1.1 spz # switch to ELF
6769 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6770 1.1 spz ;;
6771 1.1 spz
6772 1.1 spz freebsd-elf*)
6773 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6774 1.1 spz ;;
6775 1.1 spz
6776 1.1 spz freebsd* | dragonfly*)
6777 1.1 spz # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6778 1.1 spz # conventions
6779 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6780 1.1 spz ;;
6781 1.1 spz
6782 1.1 spz haiku*)
6783 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6784 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6785 1.1 spz ;;
6786 1.1 spz
6787 1.1 spz hpux9*)
6788 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6789 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6790 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6791 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6792 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6793 1.1 spz # but as the default
6794 1.1 spz # location of the library.
6795 1.1 spz
6796 1.1 spz case $cc_basename in
6797 1.1 spz CC*)
6798 1.1 spz # FIXME: insert proper C++ library support
6799 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6800 1.1 spz ;;
6801 1.1 spz aCC*)
6802 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'
6803 1.1 spz # Commands to make compiler produce verbose output that lists
6804 1.1 spz # what "hidden" libraries, object files and flags are used when
6805 1.1 spz # linking a shared library.
6806 1.1 spz #
6807 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6808 1.1 spz # explicitly linking system object files so we need to strip them
6809 1.1 spz # from the output so that they don't get included in the library
6810 1.1 spz # dependencies.
6811 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"'
6812 1.1 spz ;;
6813 1.1 spz *)
6814 1.1.1.3 spz if test yes = "$GXX"; then
6815 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'
6816 1.1 spz else
6817 1.1 spz # FIXME: insert proper C++ library support
6818 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6819 1.1 spz fi
6820 1.1 spz ;;
6821 1.1 spz esac
6822 1.1 spz ;;
6823 1.1 spz
6824 1.1 spz hpux10*|hpux11*)
6825 1.1.1.3 spz if test no = "$with_gnu_ld"; then
6826 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
6827 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6828 1.1 spz
6829 1.1 spz case $host_cpu in
6830 1.1 spz hppa*64*|ia64*)
6831 1.1 spz ;;
6832 1.1 spz *)
6833 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6834 1.1 spz ;;
6835 1.1 spz esac
6836 1.1 spz fi
6837 1.1 spz case $host_cpu in
6838 1.1 spz hppa*64*|ia64*)
6839 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6840 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6841 1.1 spz ;;
6842 1.1 spz *)
6843 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6844 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6845 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6846 1.1 spz # but as the default
6847 1.1 spz # location of the library.
6848 1.1 spz ;;
6849 1.1 spz esac
6850 1.1 spz
6851 1.1 spz case $cc_basename in
6852 1.1 spz CC*)
6853 1.1 spz # FIXME: insert proper C++ library support
6854 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6855 1.1 spz ;;
6856 1.1 spz aCC*)
6857 1.1 spz case $host_cpu in
6858 1.1 spz hppa*64*)
6859 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'
6860 1.1 spz ;;
6861 1.1 spz ia64*)
6862 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'
6863 1.1 spz ;;
6864 1.1 spz *)
6865 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'
6866 1.1 spz ;;
6867 1.1 spz esac
6868 1.1 spz # Commands to make compiler produce verbose output that lists
6869 1.1 spz # what "hidden" libraries, object files and flags are used when
6870 1.1 spz # linking a shared library.
6871 1.1 spz #
6872 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6873 1.1 spz # explicitly linking system object files so we need to strip them
6874 1.1 spz # from the output so that they don't get included in the library
6875 1.1 spz # dependencies.
6876 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"'
6877 1.1 spz ;;
6878 1.1 spz *)
6879 1.1.1.3 spz if test yes = "$GXX"; then
6880 1.1.1.3 spz if test no = "$with_gnu_ld"; then
6881 1.1 spz case $host_cpu in
6882 1.1 spz hppa*64*)
6883 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'
6884 1.1 spz ;;
6885 1.1 spz ia64*)
6886 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'
6887 1.1 spz ;;
6888 1.1 spz *)
6889 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'
6890 1.1 spz ;;
6891 1.1 spz esac
6892 1.1 spz fi
6893 1.1 spz else
6894 1.1 spz # FIXME: insert proper C++ library support
6895 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6896 1.1 spz fi
6897 1.1 spz ;;
6898 1.1 spz esac
6899 1.1 spz ;;
6900 1.1 spz
6901 1.1 spz interix[[3-9]]*)
6902 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6903 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6904 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6905 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
6906 1.1 spz # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6907 1.1 spz # Instead, shared libraries are loaded at an image base (0x10000000 by
6908 1.1 spz # default) and relocated if they conflict, which is a slow very memory
6909 1.1 spz # consuming and fragmenting process. To avoid this, we pick a random,
6910 1.1 spz # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6911 1.1 spz # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6912 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'
6913 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'
6914 1.1 spz ;;
6915 1.1 spz irix5* | irix6*)
6916 1.1 spz case $cc_basename in
6917 1.1 spz CC*)
6918 1.1 spz # SGI C++
6919 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'
6920 1.1 spz
6921 1.1 spz # Archives containing C++ object files must be created using
6922 1.1 spz # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6923 1.1 spz # necessary to make sure instantiated templates are included
6924 1.1 spz # in the archive.
6925 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6926 1.1 spz ;;
6927 1.1 spz *)
6928 1.1.1.3 spz if test yes = "$GXX"; then
6929 1.1.1.3 spz if test no = "$with_gnu_ld"; then
6930 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'
6931 1.1 spz else
6932 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'
6933 1.1 spz fi
6934 1.1 spz fi
6935 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6936 1.1 spz ;;
6937 1.1 spz esac
6938 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
6939 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6940 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=yes
6941 1.1 spz ;;
6942 1.1 spz
6943 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6944 1.1 spz case $cc_basename in
6945 1.1 spz KCC*)
6946 1.1 spz # Kuck and Associates, Inc. (KAI) C++ Compiler
6947 1.1 spz
6948 1.1 spz # KCC will only create a shared library if the output file
6949 1.1 spz # ends with ".so" (or ".sl" for HP-UX), so rename the library
6950 1.1 spz # to its proper name (with version) after linking.
6951 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'
6952 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'
6953 1.1 spz # Commands to make compiler produce verbose output that lists
6954 1.1 spz # what "hidden" libraries, object files and flags are used when
6955 1.1 spz # linking a shared library.
6956 1.1 spz #
6957 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6958 1.1 spz # explicitly linking system object files so we need to strip them
6959 1.1 spz # from the output so that they don't get included in the library
6960 1.1 spz # dependencies.
6961 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"'
6962 1.1 spz
6963 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6964 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6965 1.1 spz
6966 1.1 spz # Archives containing C++ object files must be created using
6967 1.1 spz # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6968 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6969 1.1 spz ;;
6970 1.1 spz icpc* | ecpc* )
6971 1.1 spz # Intel C++
6972 1.1 spz with_gnu_ld=yes
6973 1.1 spz # version 8.0 and above of icpc choke on multiply defined symbols
6974 1.1 spz # if we add $predep_objects and $postdep_objects, however 7.1 and
6975 1.1 spz # earlier do not add the objects themselves.
6976 1.1 spz case `$CC -V 2>&1` in
6977 1.1 spz *"Version 7."*)
6978 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'
6979 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'
6980 1.1 spz ;;
6981 1.1 spz *) # Version 8.0 or newer
6982 1.1 spz tmp_idyn=
6983 1.1 spz case $host_cpu in
6984 1.1 spz ia64*) tmp_idyn=' -i_dynamic';;
6985 1.1 spz esac
6986 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
6987 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'
6988 1.1 spz ;;
6989 1.1 spz esac
6990 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6991 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
6992 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
6993 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
6994 1.1 spz ;;
6995 1.1 spz pgCC* | pgcpp*)
6996 1.1 spz # Portland Group C++ compiler
6997 1.1 spz case `$CC -V` in
6998 1.1 spz *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
6999 1.1 spz _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
7000 1.1.1.3 spz rm -rf $tpldir~
7001 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
7002 1.1.1.3 spz compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
7003 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
7004 1.1.1.3 spz rm -rf $tpldir~
7005 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
7006 1.1.1.3 spz $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
7007 1.1.1.3 spz $RANLIB $oldlib'
7008 1.1 spz _LT_TAGVAR(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 $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7011 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'
7012 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
7013 1.1.1.3 spz rm -rf $tpldir~
7014 1.1.1.3 spz $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
7015 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'
7016 1.1 spz ;;
7017 1.1 spz *) # Version 6 and above use weak symbols
7018 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'
7019 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'
7020 1.1 spz ;;
7021 1.1 spz esac
7022 1.1 spz
7023 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
7024 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7025 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'
7026 1.1 spz ;;
7027 1.1 spz cxx*)
7028 1.1 spz # Compaq C++
7029 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'
7030 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'
7031 1.1 spz
7032 1.1 spz runpath_var=LD_RUN_PATH
7033 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7034 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7035 1.1 spz
7036 1.1 spz # Commands to make compiler produce verbose output that lists
7037 1.1 spz # what "hidden" libraries, object files and flags are used when
7038 1.1 spz # linking a shared library.
7039 1.1 spz #
7040 1.1 spz # There doesn't appear to be a way to prevent this compiler from
7041 1.1 spz # explicitly linking system object files so we need to strip them
7042 1.1 spz # from the output so that they don't get included in the library
7043 1.1 spz # dependencies.
7044 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'
7045 1.1 spz ;;
7046 1.1 spz xl* | mpixl* | bgxl*)
7047 1.1 spz # IBM XL 8.0 on PPC, with GNU ld
7048 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7049 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
7050 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
7051 1.1.1.3 spz if test yes = "$supports_anon_versioning"; then
7052 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7053 1.1.1.3 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7054 1.1.1.3 spz echo "local: *; };" >> $output_objdir/$libname.ver~
7055 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'
7056 1.1 spz fi
7057 1.1 spz ;;
7058 1.1 spz *)
7059 1.1 spz case `$CC -V 2>&1 | sed 5q` in
7060 1.1 spz *Sun\ C*)
7061 1.1 spz # Sun C++ 5.9
7062 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7063 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'
7064 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'
7065 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7066 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'
7067 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
7068 1.1 spz
7069 1.1 spz # Not sure whether something based on
7070 1.1 spz # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
7071 1.1 spz # would be better.
7072 1.1 spz output_verbose_link_cmd='func_echo_all'
7073 1.1 spz
7074 1.1 spz # Archives containing C++ object files must be created using
7075 1.1 spz # "CC -xar", where "CC" is the Sun C++ compiler. This is
7076 1.1 spz # necessary to make sure instantiated templates are included
7077 1.1 spz # in the archive.
7078 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7079 1.1 spz ;;
7080 1.1 spz esac
7081 1.1 spz ;;
7082 1.1 spz esac
7083 1.1 spz ;;
7084 1.1 spz
7085 1.1 spz lynxos*)
7086 1.1 spz # FIXME: insert proper C++ library support
7087 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7088 1.1 spz ;;
7089 1.1 spz
7090 1.1 spz m88k*)
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 mvs*)
7096 1.1 spz case $cc_basename in
7097 1.1 spz cxx*)
7098 1.1 spz # FIXME: insert proper C++ library support
7099 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7100 1.1 spz ;;
7101 1.1 spz *)
7102 1.1 spz # FIXME: insert proper C++ library support
7103 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7104 1.1 spz ;;
7105 1.1 spz esac
7106 1.1 spz ;;
7107 1.1 spz
7108 1.1 spz netbsd*)
7109 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7110 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
7111 1.1 spz wlarc=
7112 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7113 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
7114 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7115 1.1 spz fi
7116 1.1 spz # Workaround some broken pre-1.5 toolchains
7117 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
7118 1.1 spz ;;
7119 1.1 spz
7120 1.1 spz *nto* | *qnx*)
7121 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
7122 1.1 spz ;;
7123 1.1 spz
7124 1.1.1.3 spz openbsd* | bitrig*)
7125 1.1 spz if test -f /usr/libexec/ld.so; then
7126 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
7127 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7128 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7129 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
7130 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7131 1.1.1.3 spz if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
7132 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'
7133 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
7134 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
7135 1.1 spz fi
7136 1.1 spz output_verbose_link_cmd=func_echo_all
7137 1.1 spz else
7138 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7139 1.1 spz fi
7140 1.1 spz ;;
7141 1.1 spz
7142 1.1 spz osf3* | osf4* | osf5*)
7143 1.1 spz case $cc_basename in
7144 1.1 spz KCC*)
7145 1.1 spz # Kuck and Associates, Inc. (KAI) C++ Compiler
7146 1.1 spz
7147 1.1 spz # KCC will only create a shared library if the output file
7148 1.1 spz # ends with ".so" (or ".sl" for HP-UX), so rename the library
7149 1.1 spz # to its proper name (with version) after linking.
7150 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'
7151 1.1 spz
7152 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
7153 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7154 1.1 spz
7155 1.1 spz # Archives containing C++ object files must be created using
7156 1.1 spz # the KAI C++ compiler.
7157 1.1 spz case $host in
7158 1.1 spz osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
7159 1.1 spz *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
7160 1.1 spz esac
7161 1.1 spz ;;
7162 1.1 spz RCC*)
7163 1.1 spz # Rational C++ 2.4.1
7164 1.1 spz # FIXME: insert proper C++ library support
7165 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7166 1.1 spz ;;
7167 1.1 spz cxx*)
7168 1.1 spz case $host in
7169 1.1 spz osf3*)
7170 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7171 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'
7172 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7173 1.1 spz ;;
7174 1.1 spz *)
7175 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7176 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'
7177 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~
7178 1.1.1.3 spz echo "-hidden">> $lib.exp~
7179 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~
7180 1.1.1.3 spz $RM $lib.exp'
7181 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7182 1.1 spz ;;
7183 1.1 spz esac
7184 1.1 spz
7185 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7186 1.1 spz
7187 1.1 spz # Commands to make compiler produce verbose output that lists
7188 1.1 spz # what "hidden" libraries, object files and flags are used when
7189 1.1 spz # linking a shared library.
7190 1.1 spz #
7191 1.1 spz # There doesn't appear to be a way to prevent this compiler from
7192 1.1 spz # explicitly linking system object files so we need to strip them
7193 1.1 spz # from the output so that they don't get included in the library
7194 1.1 spz # dependencies.
7195 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"'
7196 1.1 spz ;;
7197 1.1 spz *)
7198 1.1.1.3 spz if test yes,no = "$GXX,$with_gnu_ld"; then
7199 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
7200 1.1 spz case $host in
7201 1.1 spz osf3*)
7202 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'
7203 1.1 spz ;;
7204 1.1 spz *)
7205 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'
7206 1.1 spz ;;
7207 1.1 spz esac
7208 1.1 spz
7209 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
7210 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7211 1.1 spz
7212 1.1 spz # Commands to make compiler produce verbose output that lists
7213 1.1 spz # what "hidden" libraries, object files and flags are used when
7214 1.1 spz # linking a shared library.
7215 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7216 1.1 spz
7217 1.1 spz else
7218 1.1 spz # FIXME: insert proper C++ library support
7219 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7220 1.1 spz fi
7221 1.1 spz ;;
7222 1.1 spz esac
7223 1.1 spz ;;
7224 1.1 spz
7225 1.1 spz psos*)
7226 1.1 spz # FIXME: insert proper C++ library support
7227 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7228 1.1 spz ;;
7229 1.1 spz
7230 1.1 spz sunos4*)
7231 1.1 spz case $cc_basename in
7232 1.1 spz CC*)
7233 1.1 spz # Sun C++ 4.x
7234 1.1 spz # FIXME: insert proper C++ library support
7235 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7236 1.1 spz ;;
7237 1.1 spz lcc*)
7238 1.1 spz # Lucid
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 *)
7243 1.1 spz # FIXME: insert proper C++ library support
7244 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7245 1.1 spz ;;
7246 1.1 spz esac
7247 1.1 spz ;;
7248 1.1 spz
7249 1.1 spz solaris*)
7250 1.1 spz case $cc_basename in
7251 1.1 spz CC* | sunCC*)
7252 1.1 spz # Sun C++ 4.2, 5.x and Centerline C++
7253 1.1 spz _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
7254 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
7255 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'
7256 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~
7257 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'
7258 1.1 spz
7259 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7260 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7261 1.1 spz case $host_os in
7262 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7263 1.1 spz *)
7264 1.1 spz # The compiler driver will combine and reorder linker options,
7265 1.1.1.3 spz # but understands '-z linker_flag'.
7266 1.1 spz # Supported since Solaris 2.6 (maybe 2.5.1?)
7267 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7268 1.1 spz ;;
7269 1.1 spz esac
7270 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
7271 1.1 spz
7272 1.1 spz output_verbose_link_cmd='func_echo_all'
7273 1.1 spz
7274 1.1 spz # Archives containing C++ object files must be created using
7275 1.1 spz # "CC -xar", where "CC" is the Sun C++ compiler. This is
7276 1.1 spz # necessary to make sure instantiated templates are included
7277 1.1 spz # in the archive.
7278 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
7279 1.1 spz ;;
7280 1.1 spz gcx*)
7281 1.1 spz # Green Hills C++ Compiler
7282 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'
7283 1.1 spz
7284 1.1 spz # The C++ compiler must be used to create the archive.
7285 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
7286 1.1 spz ;;
7287 1.1 spz *)
7288 1.1 spz # GNU C++ compiler with Solaris linker
7289 1.1.1.3 spz if test yes,no = "$GXX,$with_gnu_ld"; then
7290 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
7291 1.1 spz if $CC --version | $GREP -v '^2\.7' > /dev/null; then
7292 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'
7293 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~
7294 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'
7295 1.1 spz
7296 1.1 spz # Commands to make compiler produce verbose output that lists
7297 1.1 spz # what "hidden" libraries, object files and flags are used when
7298 1.1 spz # linking a shared library.
7299 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7300 1.1 spz else
7301 1.1.1.3 spz # g++ 2.7 appears to require '-G' NOT '-shared' on this
7302 1.1 spz # platform.
7303 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'
7304 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~
7305 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'
7306 1.1 spz
7307 1.1 spz # Commands to make compiler produce verbose output that lists
7308 1.1 spz # what "hidden" libraries, object files and flags are used when
7309 1.1 spz # linking a shared library.
7310 1.1 spz output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
7311 1.1 spz fi
7312 1.1 spz
7313 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
7314 1.1 spz case $host_os in
7315 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7316 1.1 spz *)
7317 1.1.1.3 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
7318 1.1 spz ;;
7319 1.1 spz esac
7320 1.1 spz fi
7321 1.1 spz ;;
7322 1.1 spz esac
7323 1.1 spz ;;
7324 1.1 spz
7325 1.1 spz sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7326 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7327 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7328 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7329 1.1 spz runpath_var='LD_RUN_PATH'
7330 1.1 spz
7331 1.1 spz case $cc_basename in
7332 1.1 spz CC*)
7333 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7334 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'
7335 1.1 spz ;;
7336 1.1 spz *)
7337 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7338 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'
7339 1.1 spz ;;
7340 1.1 spz esac
7341 1.1 spz ;;
7342 1.1 spz
7343 1.1 spz sysv5* | sco3.2v5* | sco5v6*)
7344 1.1.1.3 spz # Note: We CANNOT use -z defs as we might desire, because we do not
7345 1.1 spz # link with -lc, and that would cause any symbols used from libc to
7346 1.1 spz # always be unresolved, which means just about no library would
7347 1.1 spz # ever link correctly. If we're not using GNU ld we use -z text
7348 1.1 spz # though, which does catch some bad symbols but isn't as heavy-handed
7349 1.1 spz # as -z defs.
7350 1.1.1.3 spz _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
7351 1.1.1.3 spz _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
7352 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7353 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7354 1.1.1.3 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
7355 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7356 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
7357 1.1.1.3 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
7358 1.1 spz runpath_var='LD_RUN_PATH'
7359 1.1 spz
7360 1.1 spz case $cc_basename in
7361 1.1 spz CC*)
7362 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7363 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'
7364 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
7365 1.1.1.3 spz '"$_LT_TAGVAR(old_archive_cmds, $1)"
7366 1.1 spz _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
7367 1.1.1.3 spz '"$_LT_TAGVAR(reload_cmds, $1)"
7368 1.1 spz ;;
7369 1.1 spz *)
7370 1.1.1.3 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7371 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'
7372 1.1 spz ;;
7373 1.1 spz esac
7374 1.1 spz ;;
7375 1.1 spz
7376 1.1 spz tandem*)
7377 1.1 spz case $cc_basename in
7378 1.1 spz NCC*)
7379 1.1 spz # NonStop-UX NCC 3.20
7380 1.1 spz # FIXME: insert proper C++ library support
7381 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7382 1.1 spz ;;
7383 1.1 spz *)
7384 1.1 spz # FIXME: insert proper C++ library support
7385 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7386 1.1 spz ;;
7387 1.1 spz esac
7388 1.1 spz ;;
7389 1.1 spz
7390 1.1 spz vxworks*)
7391 1.1 spz # FIXME: insert proper C++ library support
7392 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
7393 1.1 spz ;;
7394 1.1 spz
7395 1.1 spz *)
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 esac
7400 1.1 spz
7401 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7402 1.1.1.3 spz test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
7403 1.1 spz
7404 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$GXX
7405 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7406 1.1 spz
7407 1.1 spz ## CAVEAT EMPTOR:
7408 1.1 spz ## There is no encapsulation within the following macros, do not change
7409 1.1 spz ## the running order or otherwise move them around unless you know exactly
7410 1.1 spz ## what you are doing...
7411 1.1 spz _LT_SYS_HIDDEN_LIBDEPS($1)
7412 1.1 spz _LT_COMPILER_PIC($1)
7413 1.1 spz _LT_COMPILER_C_O($1)
7414 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7415 1.1 spz _LT_LINKER_SHLIBS($1)
7416 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7417 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7418 1.1 spz
7419 1.1 spz _LT_CONFIG($1)
7420 1.1 spz fi # test -n "$compiler"
7421 1.1 spz
7422 1.1 spz CC=$lt_save_CC
7423 1.1 spz CFLAGS=$lt_save_CFLAGS
7424 1.1 spz LDCXX=$LD
7425 1.1 spz LD=$lt_save_LD
7426 1.1 spz GCC=$lt_save_GCC
7427 1.1 spz with_gnu_ld=$lt_save_with_gnu_ld
7428 1.1 spz lt_cv_path_LDCXX=$lt_cv_path_LD
7429 1.1 spz lt_cv_path_LD=$lt_save_path_LD
7430 1.1 spz lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
7431 1.1 spz lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
7432 1.1.1.3 spz fi # test yes != "$_lt_caught_CXX_error"
7433 1.1 spz
7434 1.1 spz AC_LANG_POP
7435 1.1 spz ])# _LT_LANG_CXX_CONFIG
7436 1.1 spz
7437 1.1 spz
7438 1.1 spz # _LT_FUNC_STRIPNAME_CNF
7439 1.1 spz # ----------------------
7440 1.1 spz # func_stripname_cnf prefix suffix name
7441 1.1 spz # strip PREFIX and SUFFIX off of NAME.
7442 1.1 spz # PREFIX and SUFFIX must not contain globbing or regex special
7443 1.1 spz # characters, hashes, percent signs, but SUFFIX may contain a leading
7444 1.1 spz # dot (in which case that matches only a dot).
7445 1.1 spz #
7446 1.1 spz # This function is identical to the (non-XSI) version of func_stripname,
7447 1.1 spz # except this one can be used by m4 code that may be executed by configure,
7448 1.1 spz # rather than the libtool script.
7449 1.1 spz m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
7450 1.1 spz AC_REQUIRE([_LT_DECL_SED])
7451 1.1 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
7452 1.1 spz func_stripname_cnf ()
7453 1.1 spz {
7454 1.1.1.3 spz case @S|@2 in
7455 1.1.1.3 spz .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
7456 1.1.1.3 spz *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
7457 1.1 spz esac
7458 1.1 spz } # func_stripname_cnf
7459 1.1 spz ])# _LT_FUNC_STRIPNAME_CNF
7460 1.1 spz
7461 1.1.1.3 spz
7462 1.1 spz # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
7463 1.1 spz # ---------------------------------
7464 1.1 spz # Figure out "hidden" library dependencies from verbose
7465 1.1 spz # compiler output when linking a shared library.
7466 1.1 spz # Parse the compiler output and extract the necessary
7467 1.1 spz # objects, libraries and library flags.
7468 1.1 spz m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
7469 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7470 1.1 spz AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
7471 1.1 spz # Dependencies to place before and after the object being linked:
7472 1.1 spz _LT_TAGVAR(predep_objects, $1)=
7473 1.1 spz _LT_TAGVAR(postdep_objects, $1)=
7474 1.1 spz _LT_TAGVAR(predeps, $1)=
7475 1.1 spz _LT_TAGVAR(postdeps, $1)=
7476 1.1 spz _LT_TAGVAR(compiler_lib_search_path, $1)=
7477 1.1 spz
7478 1.1 spz dnl we can't use the lt_simple_compile_test_code here,
7479 1.1 spz dnl because it contains code intended for an executable,
7480 1.1 spz dnl not a library. It's possible we should let each
7481 1.1 spz dnl tag define a new lt_????_link_test_code variable,
7482 1.1 spz dnl but it's only used here...
7483 1.1 spz m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
7484 1.1 spz int a;
7485 1.1 spz void foo (void) { a = 0; }
7486 1.1 spz _LT_EOF
7487 1.1 spz ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
7488 1.1 spz class Foo
7489 1.1 spz {
7490 1.1 spz public:
7491 1.1 spz Foo (void) { a = 0; }
7492 1.1 spz private:
7493 1.1 spz int a;
7494 1.1 spz };
7495 1.1 spz _LT_EOF
7496 1.1 spz ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
7497 1.1 spz subroutine foo
7498 1.1 spz implicit none
7499 1.1 spz integer*4 a
7500 1.1 spz a=0
7501 1.1 spz return
7502 1.1 spz end
7503 1.1 spz _LT_EOF
7504 1.1 spz ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
7505 1.1 spz subroutine foo
7506 1.1 spz implicit none
7507 1.1 spz integer a
7508 1.1 spz a=0
7509 1.1 spz return
7510 1.1 spz end
7511 1.1 spz _LT_EOF
7512 1.1 spz ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7513 1.1 spz public class foo {
7514 1.1 spz private int a;
7515 1.1 spz public void bar (void) {
7516 1.1 spz a = 0;
7517 1.1 spz }
7518 1.1 spz };
7519 1.1 spz _LT_EOF
7520 1.1.1.2 spz ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
7521 1.1.1.2 spz package foo
7522 1.1.1.2 spz func foo() {
7523 1.1.1.2 spz }
7524 1.1.1.2 spz _LT_EOF
7525 1.1 spz ])
7526 1.1 spz
7527 1.1 spz _lt_libdeps_save_CFLAGS=$CFLAGS
7528 1.1 spz case "$CC $CFLAGS " in #(
7529 1.1 spz *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7530 1.1 spz *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
7531 1.1.1.2 spz *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7532 1.1 spz esac
7533 1.1 spz
7534 1.1 spz dnl Parse the compiler output and extract the necessary
7535 1.1 spz dnl objects, libraries and library flags.
7536 1.1 spz if AC_TRY_EVAL(ac_compile); then
7537 1.1 spz # Parse the compiler output and extract the necessary
7538 1.1 spz # objects, libraries and library flags.
7539 1.1 spz
7540 1.1 spz # Sentinel used to keep track of whether or not we are before
7541 1.1 spz # the conftest object file.
7542 1.1 spz pre_test_object_deps_done=no
7543 1.1 spz
7544 1.1 spz for p in `eval "$output_verbose_link_cmd"`; do
7545 1.1.1.3 spz case $prev$p in
7546 1.1 spz
7547 1.1 spz -L* | -R* | -l*)
7548 1.1 spz # Some compilers place space between "-{L,R}" and the path.
7549 1.1 spz # Remove the space.
7550 1.1.1.3 spz if test x-L = "$p" ||
7551 1.1.1.3 spz test x-R = "$p"; then
7552 1.1 spz prev=$p
7553 1.1 spz continue
7554 1.1 spz fi
7555 1.1 spz
7556 1.1 spz # Expand the sysroot to ease extracting the directories later.
7557 1.1 spz if test -z "$prev"; then
7558 1.1 spz case $p in
7559 1.1 spz -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7560 1.1 spz -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7561 1.1 spz -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7562 1.1 spz esac
7563 1.1 spz fi
7564 1.1 spz case $p in
7565 1.1 spz =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7566 1.1 spz esac
7567 1.1.1.3 spz if test no = "$pre_test_object_deps_done"; then
7568 1.1.1.3 spz case $prev in
7569 1.1 spz -L | -R)
7570 1.1 spz # Internal compiler library paths should come after those
7571 1.1 spz # provided the user. The postdeps already come after the
7572 1.1 spz # user supplied libs so there is no need to process them.
7573 1.1 spz if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7574 1.1.1.3 spz _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
7575 1.1 spz else
7576 1.1.1.3 spz _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
7577 1.1 spz fi
7578 1.1 spz ;;
7579 1.1 spz # The "-l" case would never come before the object being
7580 1.1 spz # linked, so don't bother handling this case.
7581 1.1 spz esac
7582 1.1 spz else
7583 1.1 spz if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7584 1.1.1.3 spz _LT_TAGVAR(postdeps, $1)=$prev$p
7585 1.1 spz else
7586 1.1.1.3 spz _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
7587 1.1 spz fi
7588 1.1 spz fi
7589 1.1 spz prev=
7590 1.1 spz ;;
7591 1.1 spz
7592 1.1 spz *.lto.$objext) ;; # Ignore GCC LTO objects
7593 1.1 spz *.$objext)
7594 1.1 spz # This assumes that the test object file only shows up
7595 1.1 spz # once in the compiler output.
7596 1.1 spz if test "$p" = "conftest.$objext"; then
7597 1.1 spz pre_test_object_deps_done=yes
7598 1.1 spz continue
7599 1.1 spz fi
7600 1.1 spz
7601 1.1.1.3 spz if test no = "$pre_test_object_deps_done"; then
7602 1.1 spz if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7603 1.1.1.3 spz _LT_TAGVAR(predep_objects, $1)=$p
7604 1.1 spz else
7605 1.1 spz _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7606 1.1 spz fi
7607 1.1 spz else
7608 1.1 spz if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7609 1.1.1.3 spz _LT_TAGVAR(postdep_objects, $1)=$p
7610 1.1 spz else
7611 1.1 spz _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7612 1.1 spz fi
7613 1.1 spz fi
7614 1.1 spz ;;
7615 1.1 spz
7616 1.1 spz *) ;; # Ignore the rest.
7617 1.1 spz
7618 1.1 spz esac
7619 1.1 spz done
7620 1.1 spz
7621 1.1 spz # Clean up.
7622 1.1 spz rm -f a.out a.exe
7623 1.1 spz else
7624 1.1 spz echo "libtool.m4: error: problem compiling $1 test program"
7625 1.1 spz fi
7626 1.1 spz
7627 1.1 spz $RM -f confest.$objext
7628 1.1 spz CFLAGS=$_lt_libdeps_save_CFLAGS
7629 1.1 spz
7630 1.1 spz # PORTME: override above test on systems where it is broken
7631 1.1 spz m4_if([$1], [CXX],
7632 1.1 spz [case $host_os in
7633 1.1 spz interix[[3-9]]*)
7634 1.1 spz # Interix 3.5 installs completely hosed .la files for C++, so rather than
7635 1.1 spz # hack all around it, let's just trust "g++" to DTRT.
7636 1.1 spz _LT_TAGVAR(predep_objects,$1)=
7637 1.1 spz _LT_TAGVAR(postdep_objects,$1)=
7638 1.1 spz _LT_TAGVAR(postdeps,$1)=
7639 1.1 spz ;;
7640 1.1 spz esac
7641 1.1 spz ])
7642 1.1 spz
7643 1.1 spz case " $_LT_TAGVAR(postdeps, $1) " in
7644 1.1 spz *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7645 1.1 spz esac
7646 1.1 spz _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7647 1.1 spz if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7648 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!^ !!'`
7649 1.1 spz fi
7650 1.1 spz _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7651 1.1 spz [The directories searched by this compiler when creating a shared library])
7652 1.1 spz _LT_TAGDECL([], [predep_objects], [1],
7653 1.1 spz [Dependencies to place before and after the objects being linked to
7654 1.1 spz create a shared library])
7655 1.1 spz _LT_TAGDECL([], [postdep_objects], [1])
7656 1.1 spz _LT_TAGDECL([], [predeps], [1])
7657 1.1 spz _LT_TAGDECL([], [postdeps], [1])
7658 1.1 spz _LT_TAGDECL([], [compiler_lib_search_path], [1],
7659 1.1 spz [The library search path used internally by the compiler when linking
7660 1.1 spz a shared library])
7661 1.1 spz ])# _LT_SYS_HIDDEN_LIBDEPS
7662 1.1 spz
7663 1.1 spz
7664 1.1 spz # _LT_LANG_F77_CONFIG([TAG])
7665 1.1 spz # --------------------------
7666 1.1 spz # Ensure that the configuration variables for a Fortran 77 compiler are
7667 1.1 spz # suitably defined. These variables are subsequently used by _LT_CONFIG
7668 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
7669 1.1 spz m4_defun([_LT_LANG_F77_CONFIG],
7670 1.1 spz [AC_LANG_PUSH(Fortran 77)
7671 1.1.1.3 spz if test -z "$F77" || test no = "$F77"; then
7672 1.1 spz _lt_disable_F77=yes
7673 1.1 spz fi
7674 1.1 spz
7675 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7676 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
7677 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
7678 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
7679 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7680 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7681 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7682 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7683 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
7684 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
7685 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
7686 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
7687 1.1 spz _LT_TAGVAR(module_cmds, $1)=
7688 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
7689 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
7690 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7691 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7692 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7693 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
7694 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
7695 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7696 1.1 spz
7697 1.1 spz # Source file extension for f77 test sources.
7698 1.1 spz ac_ext=f
7699 1.1 spz
7700 1.1 spz # Object file extension for compiled f77 test sources.
7701 1.1 spz objext=o
7702 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7703 1.1 spz
7704 1.1 spz # No sense in running all these tests if we already determined that
7705 1.1 spz # the F77 compiler isn't working. Some variables (like enable_shared)
7706 1.1 spz # are currently assumed to apply to all compilers on this platform,
7707 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
7708 1.1.1.3 spz if test yes != "$_lt_disable_F77"; then
7709 1.1 spz # Code to be used in simple compile tests
7710 1.1 spz lt_simple_compile_test_code="\
7711 1.1 spz subroutine t
7712 1.1 spz return
7713 1.1 spz end
7714 1.1 spz "
7715 1.1 spz
7716 1.1 spz # Code to be used in simple link tests
7717 1.1 spz lt_simple_link_test_code="\
7718 1.1 spz program t
7719 1.1 spz end
7720 1.1 spz "
7721 1.1 spz
7722 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7723 1.1 spz _LT_TAG_COMPILER
7724 1.1 spz
7725 1.1 spz # save warnings/boilerplate of simple test code
7726 1.1 spz _LT_COMPILER_BOILERPLATE
7727 1.1 spz _LT_LINKER_BOILERPLATE
7728 1.1 spz
7729 1.1 spz # Allow CC to be a program name with arguments.
7730 1.1.1.3 spz lt_save_CC=$CC
7731 1.1 spz lt_save_GCC=$GCC
7732 1.1 spz lt_save_CFLAGS=$CFLAGS
7733 1.1 spz CC=${F77-"f77"}
7734 1.1 spz CFLAGS=$FFLAGS
7735 1.1 spz compiler=$CC
7736 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7737 1.1 spz _LT_CC_BASENAME([$compiler])
7738 1.1 spz GCC=$G77
7739 1.1 spz if test -n "$compiler"; then
7740 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
7741 1.1 spz AC_MSG_RESULT([$can_build_shared])
7742 1.1 spz
7743 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
7744 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
7745 1.1 spz
7746 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
7747 1.1 spz # are all built from PIC.
7748 1.1 spz case $host_os in
7749 1.1 spz aix3*)
7750 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
7751 1.1 spz if test -n "$RANLIB"; then
7752 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
7753 1.1 spz postinstall_cmds='$RANLIB $lib'
7754 1.1 spz fi
7755 1.1 spz ;;
7756 1.1 spz aix[[4-9]]*)
7757 1.1.1.3 spz if test ia64 != "$host_cpu"; then
7758 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7759 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
7760 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
7761 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
7762 1.1.1.3 spz esac
7763 1.1 spz fi
7764 1.1 spz ;;
7765 1.1 spz esac
7766 1.1 spz AC_MSG_RESULT([$enable_shared])
7767 1.1 spz
7768 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
7769 1.1 spz # Make sure either enable_shared or enable_static is yes.
7770 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
7771 1.1 spz AC_MSG_RESULT([$enable_static])
7772 1.1 spz
7773 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$G77
7774 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7775 1.1 spz
7776 1.1 spz ## CAVEAT EMPTOR:
7777 1.1 spz ## There is no encapsulation within the following macros, do not change
7778 1.1 spz ## the running order or otherwise move them around unless you know exactly
7779 1.1 spz ## what you are doing...
7780 1.1 spz _LT_COMPILER_PIC($1)
7781 1.1 spz _LT_COMPILER_C_O($1)
7782 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7783 1.1 spz _LT_LINKER_SHLIBS($1)
7784 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7785 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7786 1.1 spz
7787 1.1 spz _LT_CONFIG($1)
7788 1.1 spz fi # test -n "$compiler"
7789 1.1 spz
7790 1.1 spz GCC=$lt_save_GCC
7791 1.1.1.3 spz CC=$lt_save_CC
7792 1.1.1.3 spz CFLAGS=$lt_save_CFLAGS
7793 1.1.1.3 spz fi # test yes != "$_lt_disable_F77"
7794 1.1 spz
7795 1.1 spz AC_LANG_POP
7796 1.1 spz ])# _LT_LANG_F77_CONFIG
7797 1.1 spz
7798 1.1 spz
7799 1.1 spz # _LT_LANG_FC_CONFIG([TAG])
7800 1.1 spz # -------------------------
7801 1.1 spz # Ensure that the configuration variables for a Fortran compiler are
7802 1.1 spz # suitably defined. These variables are subsequently used by _LT_CONFIG
7803 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
7804 1.1 spz m4_defun([_LT_LANG_FC_CONFIG],
7805 1.1 spz [AC_LANG_PUSH(Fortran)
7806 1.1 spz
7807 1.1.1.3 spz if test -z "$FC" || test no = "$FC"; then
7808 1.1 spz _lt_disable_FC=yes
7809 1.1 spz fi
7810 1.1 spz
7811 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7812 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
7813 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
7814 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
7815 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7816 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7817 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7818 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7819 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
7820 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
7821 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
7822 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
7823 1.1 spz _LT_TAGVAR(module_cmds, $1)=
7824 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
7825 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
7826 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7827 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7828 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7829 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
7830 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
7831 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7832 1.1 spz
7833 1.1 spz # Source file extension for fc test sources.
7834 1.1 spz ac_ext=${ac_fc_srcext-f}
7835 1.1 spz
7836 1.1 spz # Object file extension for compiled fc test sources.
7837 1.1 spz objext=o
7838 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7839 1.1 spz
7840 1.1 spz # No sense in running all these tests if we already determined that
7841 1.1 spz # the FC compiler isn't working. Some variables (like enable_shared)
7842 1.1 spz # are currently assumed to apply to all compilers on this platform,
7843 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
7844 1.1.1.3 spz if test yes != "$_lt_disable_FC"; then
7845 1.1 spz # Code to be used in simple compile tests
7846 1.1 spz lt_simple_compile_test_code="\
7847 1.1 spz subroutine t
7848 1.1 spz return
7849 1.1 spz end
7850 1.1 spz "
7851 1.1 spz
7852 1.1 spz # Code to be used in simple link tests
7853 1.1 spz lt_simple_link_test_code="\
7854 1.1 spz program t
7855 1.1 spz end
7856 1.1 spz "
7857 1.1 spz
7858 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7859 1.1 spz _LT_TAG_COMPILER
7860 1.1 spz
7861 1.1 spz # save warnings/boilerplate of simple test code
7862 1.1 spz _LT_COMPILER_BOILERPLATE
7863 1.1 spz _LT_LINKER_BOILERPLATE
7864 1.1 spz
7865 1.1 spz # Allow CC to be a program name with arguments.
7866 1.1.1.3 spz lt_save_CC=$CC
7867 1.1 spz lt_save_GCC=$GCC
7868 1.1 spz lt_save_CFLAGS=$CFLAGS
7869 1.1 spz CC=${FC-"f95"}
7870 1.1 spz CFLAGS=$FCFLAGS
7871 1.1 spz compiler=$CC
7872 1.1 spz GCC=$ac_cv_fc_compiler_gnu
7873 1.1 spz
7874 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7875 1.1 spz _LT_CC_BASENAME([$compiler])
7876 1.1 spz
7877 1.1 spz if test -n "$compiler"; then
7878 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
7879 1.1 spz AC_MSG_RESULT([$can_build_shared])
7880 1.1 spz
7881 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
7882 1.1.1.3 spz test no = "$can_build_shared" && enable_shared=no
7883 1.1 spz
7884 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
7885 1.1 spz # are all built from PIC.
7886 1.1 spz case $host_os in
7887 1.1 spz aix3*)
7888 1.1.1.3 spz test yes = "$enable_shared" && enable_static=no
7889 1.1 spz if test -n "$RANLIB"; then
7890 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
7891 1.1 spz postinstall_cmds='$RANLIB $lib'
7892 1.1 spz fi
7893 1.1 spz ;;
7894 1.1 spz aix[[4-9]]*)
7895 1.1.1.3 spz if test ia64 != "$host_cpu"; then
7896 1.1.1.3 spz case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
7897 1.1.1.3 spz yes,aix,yes) ;; # shared object as lib.so file only
7898 1.1.1.3 spz yes,svr4,*) ;; # shared object as lib.so archive member only
7899 1.1.1.3 spz yes,*) enable_static=no ;; # shared object in lib.a archive as well
7900 1.1.1.3 spz esac
7901 1.1 spz fi
7902 1.1 spz ;;
7903 1.1 spz esac
7904 1.1 spz AC_MSG_RESULT([$enable_shared])
7905 1.1 spz
7906 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
7907 1.1 spz # Make sure either enable_shared or enable_static is yes.
7908 1.1.1.3 spz test yes = "$enable_shared" || enable_static=yes
7909 1.1 spz AC_MSG_RESULT([$enable_static])
7910 1.1 spz
7911 1.1.1.3 spz _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
7912 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7913 1.1 spz
7914 1.1 spz ## CAVEAT EMPTOR:
7915 1.1 spz ## There is no encapsulation within the following macros, do not change
7916 1.1 spz ## the running order or otherwise move them around unless you know exactly
7917 1.1 spz ## what you are doing...
7918 1.1 spz _LT_SYS_HIDDEN_LIBDEPS($1)
7919 1.1 spz _LT_COMPILER_PIC($1)
7920 1.1 spz _LT_COMPILER_C_O($1)
7921 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7922 1.1 spz _LT_LINKER_SHLIBS($1)
7923 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7924 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7925 1.1 spz
7926 1.1 spz _LT_CONFIG($1)
7927 1.1 spz fi # test -n "$compiler"
7928 1.1 spz
7929 1.1 spz GCC=$lt_save_GCC
7930 1.1 spz CC=$lt_save_CC
7931 1.1 spz CFLAGS=$lt_save_CFLAGS
7932 1.1.1.3 spz fi # test yes != "$_lt_disable_FC"
7933 1.1 spz
7934 1.1 spz AC_LANG_POP
7935 1.1 spz ])# _LT_LANG_FC_CONFIG
7936 1.1 spz
7937 1.1 spz
7938 1.1 spz # _LT_LANG_GCJ_CONFIG([TAG])
7939 1.1 spz # --------------------------
7940 1.1 spz # Ensure that the configuration variables for the GNU Java Compiler compiler
7941 1.1 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
7942 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
7943 1.1 spz m4_defun([_LT_LANG_GCJ_CONFIG],
7944 1.1 spz [AC_REQUIRE([LT_PROG_GCJ])dnl
7945 1.1 spz AC_LANG_SAVE
7946 1.1 spz
7947 1.1 spz # Source file extension for Java test sources.
7948 1.1 spz ac_ext=java
7949 1.1 spz
7950 1.1 spz # Object file extension for compiled Java test sources.
7951 1.1 spz objext=o
7952 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7953 1.1 spz
7954 1.1 spz # Code to be used in simple compile tests
7955 1.1 spz lt_simple_compile_test_code="class foo {}"
7956 1.1 spz
7957 1.1 spz # Code to be used in simple link tests
7958 1.1 spz lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7959 1.1 spz
7960 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7961 1.1 spz _LT_TAG_COMPILER
7962 1.1 spz
7963 1.1 spz # save warnings/boilerplate of simple test code
7964 1.1 spz _LT_COMPILER_BOILERPLATE
7965 1.1 spz _LT_LINKER_BOILERPLATE
7966 1.1 spz
7967 1.1 spz # Allow CC to be a program name with arguments.
7968 1.1 spz lt_save_CC=$CC
7969 1.1 spz lt_save_CFLAGS=$CFLAGS
7970 1.1 spz lt_save_GCC=$GCC
7971 1.1 spz GCC=yes
7972 1.1 spz CC=${GCJ-"gcj"}
7973 1.1 spz CFLAGS=$GCJFLAGS
7974 1.1 spz compiler=$CC
7975 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7976 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
7977 1.1 spz _LT_CC_BASENAME([$compiler])
7978 1.1 spz
7979 1.1 spz # GCJ did not exist at the time GCC didn't implicitly link libc in.
7980 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7981 1.1 spz
7982 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7983 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7984 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7985 1.1 spz
7986 1.1 spz ## CAVEAT EMPTOR:
7987 1.1 spz ## There is no encapsulation within the following macros, do not change
7988 1.1 spz ## the running order or otherwise move them around unless you know exactly
7989 1.1 spz ## what you are doing...
7990 1.1 spz if test -n "$compiler"; then
7991 1.1 spz _LT_COMPILER_NO_RTTI($1)
7992 1.1 spz _LT_COMPILER_PIC($1)
7993 1.1 spz _LT_COMPILER_C_O($1)
7994 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7995 1.1 spz _LT_LINKER_SHLIBS($1)
7996 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7997 1.1 spz
7998 1.1 spz _LT_CONFIG($1)
7999 1.1 spz fi
8000 1.1 spz
8001 1.1 spz AC_LANG_RESTORE
8002 1.1 spz
8003 1.1 spz GCC=$lt_save_GCC
8004 1.1 spz CC=$lt_save_CC
8005 1.1 spz CFLAGS=$lt_save_CFLAGS
8006 1.1 spz ])# _LT_LANG_GCJ_CONFIG
8007 1.1 spz
8008 1.1 spz
8009 1.1.1.2 spz # _LT_LANG_GO_CONFIG([TAG])
8010 1.1.1.2 spz # --------------------------
8011 1.1.1.2 spz # Ensure that the configuration variables for the GNU Go compiler
8012 1.1.1.2 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
8013 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
8014 1.1.1.2 spz m4_defun([_LT_LANG_GO_CONFIG],
8015 1.1.1.2 spz [AC_REQUIRE([LT_PROG_GO])dnl
8016 1.1.1.2 spz AC_LANG_SAVE
8017 1.1.1.2 spz
8018 1.1.1.2 spz # Source file extension for Go test sources.
8019 1.1.1.2 spz ac_ext=go
8020 1.1.1.2 spz
8021 1.1.1.2 spz # Object file extension for compiled Go test sources.
8022 1.1.1.2 spz objext=o
8023 1.1.1.2 spz _LT_TAGVAR(objext, $1)=$objext
8024 1.1.1.2 spz
8025 1.1.1.2 spz # Code to be used in simple compile tests
8026 1.1.1.2 spz lt_simple_compile_test_code="package main; func main() { }"
8027 1.1.1.2 spz
8028 1.1.1.2 spz # Code to be used in simple link tests
8029 1.1.1.2 spz lt_simple_link_test_code='package main; func main() { }'
8030 1.1.1.2 spz
8031 1.1.1.2 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8032 1.1.1.2 spz _LT_TAG_COMPILER
8033 1.1.1.2 spz
8034 1.1.1.2 spz # save warnings/boilerplate of simple test code
8035 1.1.1.2 spz _LT_COMPILER_BOILERPLATE
8036 1.1.1.2 spz _LT_LINKER_BOILERPLATE
8037 1.1.1.2 spz
8038 1.1.1.2 spz # Allow CC to be a program name with arguments.
8039 1.1.1.2 spz lt_save_CC=$CC
8040 1.1.1.2 spz lt_save_CFLAGS=$CFLAGS
8041 1.1.1.2 spz lt_save_GCC=$GCC
8042 1.1.1.2 spz GCC=yes
8043 1.1.1.2 spz CC=${GOC-"gccgo"}
8044 1.1.1.2 spz CFLAGS=$GOFLAGS
8045 1.1.1.2 spz compiler=$CC
8046 1.1.1.2 spz _LT_TAGVAR(compiler, $1)=$CC
8047 1.1.1.3 spz _LT_TAGVAR(LD, $1)=$LD
8048 1.1.1.2 spz _LT_CC_BASENAME([$compiler])
8049 1.1.1.2 spz
8050 1.1.1.2 spz # Go did not exist at the time GCC didn't implicitly link libc in.
8051 1.1.1.2 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8052 1.1.1.2 spz
8053 1.1.1.2 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
8054 1.1.1.2 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
8055 1.1.1.2 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
8056 1.1.1.2 spz
8057 1.1.1.2 spz ## CAVEAT EMPTOR:
8058 1.1.1.2 spz ## There is no encapsulation within the following macros, do not change
8059 1.1.1.2 spz ## the running order or otherwise move them around unless you know exactly
8060 1.1.1.2 spz ## what you are doing...
8061 1.1.1.2 spz if test -n "$compiler"; then
8062 1.1.1.2 spz _LT_COMPILER_NO_RTTI($1)
8063 1.1.1.2 spz _LT_COMPILER_PIC($1)
8064 1.1.1.2 spz _LT_COMPILER_C_O($1)
8065 1.1.1.2 spz _LT_COMPILER_FILE_LOCKS($1)
8066 1.1.1.2 spz _LT_LINKER_SHLIBS($1)
8067 1.1.1.2 spz _LT_LINKER_HARDCODE_LIBPATH($1)
8068 1.1.1.2 spz
8069 1.1.1.2 spz _LT_CONFIG($1)
8070 1.1.1.2 spz fi
8071 1.1.1.2 spz
8072 1.1.1.2 spz AC_LANG_RESTORE
8073 1.1.1.2 spz
8074 1.1.1.2 spz GCC=$lt_save_GCC
8075 1.1.1.2 spz CC=$lt_save_CC
8076 1.1.1.2 spz CFLAGS=$lt_save_CFLAGS
8077 1.1.1.2 spz ])# _LT_LANG_GO_CONFIG
8078 1.1.1.2 spz
8079 1.1.1.2 spz
8080 1.1 spz # _LT_LANG_RC_CONFIG([TAG])
8081 1.1 spz # -------------------------
8082 1.1 spz # Ensure that the configuration variables for the Windows resource compiler
8083 1.1 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
8084 1.1.1.3 spz # to write the compiler configuration to 'libtool'.
8085 1.1 spz m4_defun([_LT_LANG_RC_CONFIG],
8086 1.1 spz [AC_REQUIRE([LT_PROG_RC])dnl
8087 1.1 spz AC_LANG_SAVE
8088 1.1 spz
8089 1.1 spz # Source file extension for RC test sources.
8090 1.1 spz ac_ext=rc
8091 1.1 spz
8092 1.1 spz # Object file extension for compiled RC test sources.
8093 1.1 spz objext=o
8094 1.1 spz _LT_TAGVAR(objext, $1)=$objext
8095 1.1 spz
8096 1.1 spz # Code to be used in simple compile tests
8097 1.1 spz lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
8098 1.1 spz
8099 1.1 spz # Code to be used in simple link tests
8100 1.1.1.3 spz lt_simple_link_test_code=$lt_simple_compile_test_code
8101 1.1 spz
8102 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
8103 1.1 spz _LT_TAG_COMPILER
8104 1.1 spz
8105 1.1 spz # save warnings/boilerplate of simple test code
8106 1.1 spz _LT_COMPILER_BOILERPLATE
8107 1.1 spz _LT_LINKER_BOILERPLATE
8108 1.1 spz
8109 1.1 spz # Allow CC to be a program name with arguments.
8110 1.1.1.3 spz lt_save_CC=$CC
8111 1.1 spz lt_save_CFLAGS=$CFLAGS
8112 1.1 spz lt_save_GCC=$GCC
8113 1.1 spz GCC=
8114 1.1 spz CC=${RC-"windres"}
8115 1.1 spz CFLAGS=
8116 1.1 spz compiler=$CC
8117 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
8118 1.1 spz _LT_CC_BASENAME([$compiler])
8119 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
8120 1.1 spz
8121 1.1 spz if test -n "$compiler"; then
8122 1.1 spz :
8123 1.1 spz _LT_CONFIG($1)
8124 1.1 spz fi
8125 1.1 spz
8126 1.1 spz GCC=$lt_save_GCC
8127 1.1 spz AC_LANG_RESTORE
8128 1.1 spz CC=$lt_save_CC
8129 1.1 spz CFLAGS=$lt_save_CFLAGS
8130 1.1 spz ])# _LT_LANG_RC_CONFIG
8131 1.1 spz
8132 1.1 spz
8133 1.1 spz # LT_PROG_GCJ
8134 1.1 spz # -----------
8135 1.1 spz AC_DEFUN([LT_PROG_GCJ],
8136 1.1 spz [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
8137 1.1 spz [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
8138 1.1 spz [AC_CHECK_TOOL(GCJ, gcj,)
8139 1.1.1.3 spz test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
8140 1.1 spz AC_SUBST(GCJFLAGS)])])[]dnl
8141 1.1 spz ])
8142 1.1 spz
8143 1.1 spz # Old name:
8144 1.1 spz AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
8145 1.1 spz dnl aclocal-1.4 backwards compatibility:
8146 1.1 spz dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
8147 1.1 spz
8148 1.1 spz
8149 1.1.1.2 spz # LT_PROG_GO
8150 1.1.1.2 spz # ----------
8151 1.1.1.2 spz AC_DEFUN([LT_PROG_GO],
8152 1.1.1.2 spz [AC_CHECK_TOOL(GOC, gccgo,)
8153 1.1.1.2 spz ])
8154 1.1.1.2 spz
8155 1.1.1.2 spz
8156 1.1 spz # LT_PROG_RC
8157 1.1 spz # ----------
8158 1.1 spz AC_DEFUN([LT_PROG_RC],
8159 1.1 spz [AC_CHECK_TOOL(RC, windres,)
8160 1.1 spz ])
8161 1.1 spz
8162 1.1 spz # Old name:
8163 1.1 spz AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
8164 1.1 spz dnl aclocal-1.4 backwards compatibility:
8165 1.1 spz dnl AC_DEFUN([LT_AC_PROG_RC], [])
8166 1.1 spz
8167 1.1 spz
8168 1.1 spz # _LT_DECL_EGREP
8169 1.1 spz # --------------
8170 1.1 spz # If we don't have a new enough Autoconf to choose the best grep
8171 1.1 spz # available, choose the one first in the user's PATH.
8172 1.1 spz m4_defun([_LT_DECL_EGREP],
8173 1.1 spz [AC_REQUIRE([AC_PROG_EGREP])dnl
8174 1.1 spz AC_REQUIRE([AC_PROG_FGREP])dnl
8175 1.1 spz test -z "$GREP" && GREP=grep
8176 1.1 spz _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
8177 1.1 spz _LT_DECL([], [EGREP], [1], [An ERE matcher])
8178 1.1 spz _LT_DECL([], [FGREP], [1], [A literal string matcher])
8179 1.1 spz dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
8180 1.1 spz AC_SUBST([GREP])
8181 1.1 spz ])
8182 1.1 spz
8183 1.1 spz
8184 1.1 spz # _LT_DECL_OBJDUMP
8185 1.1 spz # --------------
8186 1.1 spz # If we don't have a new enough Autoconf to choose the best objdump
8187 1.1 spz # available, choose the one first in the user's PATH.
8188 1.1 spz m4_defun([_LT_DECL_OBJDUMP],
8189 1.1 spz [AC_CHECK_TOOL(OBJDUMP, objdump, false)
8190 1.1 spz test -z "$OBJDUMP" && OBJDUMP=objdump
8191 1.1 spz _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
8192 1.1 spz AC_SUBST([OBJDUMP])
8193 1.1 spz ])
8194 1.1 spz
8195 1.1 spz # _LT_DECL_DLLTOOL
8196 1.1 spz # ----------------
8197 1.1 spz # Ensure DLLTOOL variable is set.
8198 1.1 spz m4_defun([_LT_DECL_DLLTOOL],
8199 1.1 spz [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
8200 1.1 spz test -z "$DLLTOOL" && DLLTOOL=dlltool
8201 1.1 spz _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
8202 1.1 spz AC_SUBST([DLLTOOL])
8203 1.1 spz ])
8204 1.1 spz
8205 1.1 spz # _LT_DECL_SED
8206 1.1 spz # ------------
8207 1.1 spz # Check for a fully-functional sed program, that truncates
8208 1.1 spz # as few characters as possible. Prefer GNU sed if found.
8209 1.1 spz m4_defun([_LT_DECL_SED],
8210 1.1 spz [AC_PROG_SED
8211 1.1 spz test -z "$SED" && SED=sed
8212 1.1 spz Xsed="$SED -e 1s/^X//"
8213 1.1 spz _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
8214 1.1 spz _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
8215 1.1 spz [Sed that helps us avoid accidentally triggering echo(1) options like -n])
8216 1.1 spz ])# _LT_DECL_SED
8217 1.1 spz
8218 1.1 spz m4_ifndef([AC_PROG_SED], [
8219 1.1 spz ############################################################
8220 1.1 spz # NOTE: This macro has been submitted for inclusion into #
8221 1.1 spz # GNU Autoconf as AC_PROG_SED. When it is available in #
8222 1.1 spz # a released version of Autoconf we should remove this #
8223 1.1 spz # macro and use it instead. #
8224 1.1 spz ############################################################
8225 1.1 spz
8226 1.1 spz m4_defun([AC_PROG_SED],
8227 1.1 spz [AC_MSG_CHECKING([for a sed that does not truncate output])
8228 1.1 spz AC_CACHE_VAL(lt_cv_path_SED,
8229 1.1 spz [# Loop through the user's path and test for sed and gsed.
8230 1.1 spz # Then use that list of sed's as ones to test for truncation.
8231 1.1 spz as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8232 1.1 spz for as_dir in $PATH
8233 1.1 spz do
8234 1.1 spz IFS=$as_save_IFS
8235 1.1 spz test -z "$as_dir" && as_dir=.
8236 1.1 spz for lt_ac_prog in sed gsed; do
8237 1.1 spz for ac_exec_ext in '' $ac_executable_extensions; do
8238 1.1 spz if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
8239 1.1 spz lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
8240 1.1 spz fi
8241 1.1 spz done
8242 1.1 spz done
8243 1.1 spz done
8244 1.1 spz IFS=$as_save_IFS
8245 1.1 spz lt_ac_max=0
8246 1.1 spz lt_ac_count=0
8247 1.1 spz # Add /usr/xpg4/bin/sed as it is typically found on Solaris
8248 1.1 spz # along with /bin/sed that truncates output.
8249 1.1 spz for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
8250 1.1.1.3 spz test ! -f "$lt_ac_sed" && continue
8251 1.1 spz cat /dev/null > conftest.in
8252 1.1 spz lt_ac_count=0
8253 1.1 spz echo $ECHO_N "0123456789$ECHO_C" >conftest.in
8254 1.1 spz # Check for GNU sed and select it if it is found.
8255 1.1 spz if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
8256 1.1 spz lt_cv_path_SED=$lt_ac_sed
8257 1.1 spz break
8258 1.1 spz fi
8259 1.1 spz while true; do
8260 1.1 spz cat conftest.in conftest.in >conftest.tmp
8261 1.1 spz mv conftest.tmp conftest.in
8262 1.1 spz cp conftest.in conftest.nl
8263 1.1 spz echo >>conftest.nl
8264 1.1 spz $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
8265 1.1 spz cmp -s conftest.out conftest.nl || break
8266 1.1 spz # 10000 chars as input seems more than enough
8267 1.1.1.3 spz test 10 -lt "$lt_ac_count" && break
8268 1.1 spz lt_ac_count=`expr $lt_ac_count + 1`
8269 1.1.1.3 spz if test "$lt_ac_count" -gt "$lt_ac_max"; then
8270 1.1 spz lt_ac_max=$lt_ac_count
8271 1.1 spz lt_cv_path_SED=$lt_ac_sed
8272 1.1 spz fi
8273 1.1 spz done
8274 1.1 spz done
8275 1.1 spz ])
8276 1.1 spz SED=$lt_cv_path_SED
8277 1.1 spz AC_SUBST([SED])
8278 1.1 spz AC_MSG_RESULT([$SED])
8279 1.1 spz ])#AC_PROG_SED
8280 1.1 spz ])#m4_ifndef
8281 1.1 spz
8282 1.1 spz # Old name:
8283 1.1 spz AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
8284 1.1 spz dnl aclocal-1.4 backwards compatibility:
8285 1.1 spz dnl AC_DEFUN([LT_AC_PROG_SED], [])
8286 1.1 spz
8287 1.1 spz
8288 1.1 spz # _LT_CHECK_SHELL_FEATURES
8289 1.1 spz # ------------------------
8290 1.1 spz # Find out whether the shell is Bourne or XSI compatible,
8291 1.1 spz # or has some other useful features.
8292 1.1 spz m4_defun([_LT_CHECK_SHELL_FEATURES],
8293 1.1.1.3 spz [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8294 1.1 spz lt_unset=unset
8295 1.1 spz else
8296 1.1 spz lt_unset=false
8297 1.1 spz fi
8298 1.1 spz _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
8299 1.1 spz
8300 1.1 spz # test EBCDIC or ASCII
8301 1.1 spz case `echo X|tr X '\101'` in
8302 1.1 spz A) # ASCII based system
8303 1.1 spz # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8304 1.1 spz lt_SP2NL='tr \040 \012'
8305 1.1 spz lt_NL2SP='tr \015\012 \040\040'
8306 1.1 spz ;;
8307 1.1 spz *) # EBCDIC based system
8308 1.1 spz lt_SP2NL='tr \100 \n'
8309 1.1 spz lt_NL2SP='tr \r\n \100\100'
8310 1.1 spz ;;
8311 1.1 spz esac
8312 1.1 spz _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
8313 1.1 spz _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
8314 1.1 spz ])# _LT_CHECK_SHELL_FEATURES
8315 1.1 spz
8316 1.1 spz
8317 1.1 spz # _LT_PATH_CONVERSION_FUNCTIONS
8318 1.1 spz # -----------------------------
8319 1.1.1.3 spz # Determine what file name conversion functions should be used by
8320 1.1 spz # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
8321 1.1 spz # for certain cross-compile configurations and native mingw.
8322 1.1 spz m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
8323 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
8324 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
8325 1.1 spz AC_MSG_CHECKING([how to convert $build file names to $host format])
8326 1.1 spz AC_CACHE_VAL(lt_cv_to_host_file_cmd,
8327 1.1 spz [case $host in
8328 1.1 spz *-*-mingw* )
8329 1.1 spz case $build in
8330 1.1 spz *-*-mingw* ) # actually msys
8331 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8332 1.1 spz ;;
8333 1.1 spz *-*-cygwin* )
8334 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8335 1.1 spz ;;
8336 1.1 spz * ) # otherwise, assume *nix
8337 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8338 1.1 spz ;;
8339 1.1 spz esac
8340 1.1 spz ;;
8341 1.1 spz *-*-cygwin* )
8342 1.1 spz case $build in
8343 1.1 spz *-*-mingw* ) # actually msys
8344 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8345 1.1 spz ;;
8346 1.1 spz *-*-cygwin* )
8347 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_noop
8348 1.1 spz ;;
8349 1.1 spz * ) # otherwise, assume *nix
8350 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8351 1.1 spz ;;
8352 1.1 spz esac
8353 1.1 spz ;;
8354 1.1 spz * ) # unhandled hosts (and "normal" native builds)
8355 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_noop
8356 1.1 spz ;;
8357 1.1 spz esac
8358 1.1 spz ])
8359 1.1 spz to_host_file_cmd=$lt_cv_to_host_file_cmd
8360 1.1 spz AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8361 1.1 spz _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8362 1.1 spz [0], [convert $build file names to $host format])dnl
8363 1.1 spz
8364 1.1 spz AC_MSG_CHECKING([how to convert $build file names to toolchain format])
8365 1.1 spz AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8366 1.1 spz [#assume ordinary cross tools, or native build.
8367 1.1 spz lt_cv_to_tool_file_cmd=func_convert_file_noop
8368 1.1 spz case $host in
8369 1.1 spz *-*-mingw* )
8370 1.1 spz case $build in
8371 1.1 spz *-*-mingw* ) # actually msys
8372 1.1 spz lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8373 1.1 spz ;;
8374 1.1 spz esac
8375 1.1 spz ;;
8376 1.1 spz esac
8377 1.1 spz ])
8378 1.1 spz to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8379 1.1 spz AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8380 1.1 spz _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8381 1.1 spz [0], [convert $build files to toolchain format])dnl
8382 1.1 spz ])# _LT_PATH_CONVERSION_FUNCTIONS
8383