libtool.m4 revision 1.1.1.2 1 1.1 spz # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2 1.1 spz #
3 1.1 spz # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
4 1.1.1.2 spz # 2006, 2007, 2008, 2009, 2010, 2011 Free Software
5 1.1.1.2 spz # Foundation, Inc.
6 1.1 spz # Written by Gordon Matzigkeit, 1996
7 1.1 spz #
8 1.1 spz # This file is free software; the Free Software Foundation gives
9 1.1 spz # unlimited permission to copy and/or distribute it, with or without
10 1.1 spz # modifications, as long as this notice is preserved.
11 1.1 spz
12 1.1 spz m4_define([_LT_COPYING], [dnl
13 1.1 spz # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
14 1.1.1.2 spz # 2006, 2007, 2008, 2009, 2010, 2011 Free Software
15 1.1.1.2 spz # Foundation, Inc.
16 1.1 spz # Written by Gordon Matzigkeit, 1996
17 1.1 spz #
18 1.1 spz # This file is part of GNU Libtool.
19 1.1 spz #
20 1.1 spz # GNU Libtool is free software; you can redistribute it and/or
21 1.1 spz # modify it under the terms of the GNU General Public License as
22 1.1 spz # published by the Free Software Foundation; either version 2 of
23 1.1 spz # the License, or (at your option) any later version.
24 1.1 spz #
25 1.1 spz # As a special exception to the GNU General Public License,
26 1.1 spz # if you distribute this file as part of a program or library that
27 1.1 spz # is built using GNU Libtool, you may include this file under the
28 1.1 spz # same distribution terms that you use for the rest of that program.
29 1.1 spz #
30 1.1 spz # GNU Libtool is distributed in the hope that it will be useful,
31 1.1 spz # but WITHOUT ANY WARRANTY; without even the implied warranty of
32 1.1 spz # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33 1.1 spz # GNU General Public License for more details.
34 1.1 spz #
35 1.1 spz # You should have received a copy of the GNU General Public License
36 1.1 spz # along with GNU Libtool; see the file COPYING. If not, a copy
37 1.1 spz # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
38 1.1 spz # obtained by writing to the Free Software Foundation, Inc.,
39 1.1 spz # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
40 1.1 spz ])
41 1.1 spz
42 1.1 spz # serial 57 LT_INIT
43 1.1 spz
44 1.1 spz
45 1.1 spz # LT_PREREQ(VERSION)
46 1.1 spz # ------------------
47 1.1 spz # Complain and exit if this libtool version is less that VERSION.
48 1.1 spz m4_defun([LT_PREREQ],
49 1.1 spz [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
50 1.1 spz [m4_default([$3],
51 1.1 spz [m4_fatal([Libtool version $1 or higher is required],
52 1.1 spz 63)])],
53 1.1 spz [$2])])
54 1.1 spz
55 1.1 spz
56 1.1 spz # _LT_CHECK_BUILDDIR
57 1.1 spz # ------------------
58 1.1 spz # Complain if the absolute build directory name contains unusual characters
59 1.1 spz m4_defun([_LT_CHECK_BUILDDIR],
60 1.1 spz [case `pwd` in
61 1.1 spz *\ * | *\ *)
62 1.1 spz AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
63 1.1 spz esac
64 1.1 spz ])
65 1.1 spz
66 1.1 spz
67 1.1 spz # LT_INIT([OPTIONS])
68 1.1 spz # ------------------
69 1.1 spz AC_DEFUN([LT_INIT],
70 1.1 spz [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
71 1.1 spz AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
72 1.1 spz AC_BEFORE([$0], [LT_LANG])dnl
73 1.1 spz AC_BEFORE([$0], [LT_OUTPUT])dnl
74 1.1 spz AC_BEFORE([$0], [LTDL_INIT])dnl
75 1.1 spz m4_require([_LT_CHECK_BUILDDIR])dnl
76 1.1 spz
77 1.1 spz dnl Autoconf doesn't catch unexpanded LT_ macros by default:
78 1.1 spz m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
79 1.1 spz m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
80 1.1 spz dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
81 1.1 spz dnl unless we require an AC_DEFUNed macro:
82 1.1 spz AC_REQUIRE([LTOPTIONS_VERSION])dnl
83 1.1 spz AC_REQUIRE([LTSUGAR_VERSION])dnl
84 1.1 spz AC_REQUIRE([LTVERSION_VERSION])dnl
85 1.1 spz AC_REQUIRE([LTOBSOLETE_VERSION])dnl
86 1.1 spz m4_require([_LT_PROG_LTMAIN])dnl
87 1.1 spz
88 1.1 spz _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
89 1.1 spz
90 1.1 spz dnl Parse OPTIONS
91 1.1 spz _LT_SET_OPTIONS([$0], [$1])
92 1.1 spz
93 1.1 spz # This can be used to rebuild libtool when needed
94 1.1 spz LIBTOOL_DEPS="$ltmain"
95 1.1 spz
96 1.1 spz # Always use our own libtool.
97 1.1 spz LIBTOOL='$(SHELL) $(top_builddir)/libtool'
98 1.1 spz AC_SUBST(LIBTOOL)dnl
99 1.1 spz
100 1.1 spz _LT_SETUP
101 1.1 spz
102 1.1 spz # Only expand once:
103 1.1 spz m4_define([LT_INIT])
104 1.1 spz ])# LT_INIT
105 1.1 spz
106 1.1 spz # Old names:
107 1.1 spz AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
108 1.1 spz AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
109 1.1 spz dnl aclocal-1.4 backwards compatibility:
110 1.1 spz dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
111 1.1 spz dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
112 1.1 spz
113 1.1 spz
114 1.1 spz # _LT_CC_BASENAME(CC)
115 1.1 spz # -------------------
116 1.1 spz # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
117 1.1 spz m4_defun([_LT_CC_BASENAME],
118 1.1 spz [for cc_temp in $1""; do
119 1.1 spz case $cc_temp in
120 1.1 spz compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
121 1.1 spz distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
122 1.1 spz \-*) ;;
123 1.1 spz *) break;;
124 1.1 spz esac
125 1.1 spz done
126 1.1 spz cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
127 1.1 spz ])
128 1.1 spz
129 1.1 spz
130 1.1 spz # _LT_FILEUTILS_DEFAULTS
131 1.1 spz # ----------------------
132 1.1 spz # It is okay to use these file commands and assume they have been set
133 1.1 spz # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
134 1.1 spz m4_defun([_LT_FILEUTILS_DEFAULTS],
135 1.1 spz [: ${CP="cp -f"}
136 1.1 spz : ${MV="mv -f"}
137 1.1 spz : ${RM="rm -f"}
138 1.1 spz ])# _LT_FILEUTILS_DEFAULTS
139 1.1 spz
140 1.1 spz
141 1.1 spz # _LT_SETUP
142 1.1 spz # ---------
143 1.1 spz m4_defun([_LT_SETUP],
144 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
145 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
146 1.1 spz AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
147 1.1 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
148 1.1 spz
149 1.1.1.2 spz _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
150 1.1.1.2 spz dnl
151 1.1 spz _LT_DECL([], [host_alias], [0], [The host system])dnl
152 1.1 spz _LT_DECL([], [host], [0])dnl
153 1.1 spz _LT_DECL([], [host_os], [0])dnl
154 1.1 spz dnl
155 1.1 spz _LT_DECL([], [build_alias], [0], [The build system])dnl
156 1.1 spz _LT_DECL([], [build], [0])dnl
157 1.1 spz _LT_DECL([], [build_os], [0])dnl
158 1.1 spz dnl
159 1.1 spz AC_REQUIRE([AC_PROG_CC])dnl
160 1.1 spz AC_REQUIRE([LT_PATH_LD])dnl
161 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
162 1.1 spz dnl
163 1.1 spz AC_REQUIRE([AC_PROG_LN_S])dnl
164 1.1 spz test -z "$LN_S" && LN_S="ln -s"
165 1.1 spz _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
166 1.1 spz dnl
167 1.1 spz AC_REQUIRE([LT_CMD_MAX_LEN])dnl
168 1.1 spz _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
169 1.1 spz _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
170 1.1 spz dnl
171 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
172 1.1 spz m4_require([_LT_CHECK_SHELL_FEATURES])dnl
173 1.1 spz m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
174 1.1 spz m4_require([_LT_CMD_RELOAD])dnl
175 1.1 spz m4_require([_LT_CHECK_MAGIC_METHOD])dnl
176 1.1 spz m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
177 1.1 spz m4_require([_LT_CMD_OLD_ARCHIVE])dnl
178 1.1 spz m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
179 1.1 spz m4_require([_LT_WITH_SYSROOT])dnl
180 1.1 spz
181 1.1 spz _LT_CONFIG_LIBTOOL_INIT([
182 1.1 spz # See if we are running on zsh, and set the options which allow our
183 1.1 spz # commands through without removal of \ escapes INIT.
184 1.1 spz if test -n "\${ZSH_VERSION+set}" ; then
185 1.1 spz setopt NO_GLOB_SUBST
186 1.1 spz fi
187 1.1 spz ])
188 1.1 spz if test -n "${ZSH_VERSION+set}" ; then
189 1.1 spz setopt NO_GLOB_SUBST
190 1.1 spz fi
191 1.1 spz
192 1.1 spz _LT_CHECK_OBJDIR
193 1.1 spz
194 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
195 1.1 spz
196 1.1 spz case $host_os in
197 1.1 spz aix3*)
198 1.1 spz # AIX sometimes has problems with the GCC collect2 program. For some
199 1.1 spz # reason, if we set the COLLECT_NAMES environment variable, the problems
200 1.1 spz # vanish in a puff of smoke.
201 1.1 spz if test "X${COLLECT_NAMES+set}" != Xset; then
202 1.1 spz COLLECT_NAMES=
203 1.1 spz export COLLECT_NAMES
204 1.1 spz fi
205 1.1 spz ;;
206 1.1 spz esac
207 1.1 spz
208 1.1 spz # Global variables:
209 1.1 spz ofile=libtool
210 1.1 spz can_build_shared=yes
211 1.1 spz
212 1.1 spz # All known linkers require a `.a' archive for static linking (except MSVC,
213 1.1 spz # which needs '.lib').
214 1.1 spz libext=a
215 1.1 spz
216 1.1 spz with_gnu_ld="$lt_cv_prog_gnu_ld"
217 1.1 spz
218 1.1 spz old_CC="$CC"
219 1.1 spz old_CFLAGS="$CFLAGS"
220 1.1 spz
221 1.1 spz # Set sane defaults for various variables
222 1.1 spz test -z "$CC" && CC=cc
223 1.1 spz test -z "$LTCC" && LTCC=$CC
224 1.1 spz test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
225 1.1 spz test -z "$LD" && LD=ld
226 1.1 spz test -z "$ac_objext" && ac_objext=o
227 1.1 spz
228 1.1 spz _LT_CC_BASENAME([$compiler])
229 1.1 spz
230 1.1 spz # Only perform the check for file, if the check method requires it
231 1.1 spz test -z "$MAGIC_CMD" && MAGIC_CMD=file
232 1.1 spz case $deplibs_check_method in
233 1.1 spz file_magic*)
234 1.1 spz if test "$file_magic_cmd" = '$MAGIC_CMD'; then
235 1.1 spz _LT_PATH_MAGIC
236 1.1 spz fi
237 1.1 spz ;;
238 1.1 spz esac
239 1.1 spz
240 1.1 spz # Use C for the default configuration in the libtool script
241 1.1 spz LT_SUPPORTED_TAG([CC])
242 1.1 spz _LT_LANG_C_CONFIG
243 1.1 spz _LT_LANG_DEFAULT_CONFIG
244 1.1 spz _LT_CONFIG_COMMANDS
245 1.1 spz ])# _LT_SETUP
246 1.1 spz
247 1.1 spz
248 1.1 spz # _LT_PREPARE_SED_QUOTE_VARS
249 1.1 spz # --------------------------
250 1.1 spz # Define a few sed substitution that help us do robust quoting.
251 1.1 spz m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
252 1.1 spz [# Backslashify metacharacters that are still active within
253 1.1 spz # double-quoted strings.
254 1.1 spz sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
255 1.1 spz
256 1.1 spz # Same as above, but do not quote variable references.
257 1.1 spz double_quote_subst='s/\([["`\\]]\)/\\\1/g'
258 1.1 spz
259 1.1 spz # Sed substitution to delay expansion of an escaped shell variable in a
260 1.1 spz # double_quote_subst'ed string.
261 1.1 spz delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
262 1.1 spz
263 1.1 spz # Sed substitution to delay expansion of an escaped single quote.
264 1.1 spz delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
265 1.1 spz
266 1.1 spz # Sed substitution to avoid accidental globbing in evaled expressions
267 1.1 spz no_glob_subst='s/\*/\\\*/g'
268 1.1 spz ])
269 1.1 spz
270 1.1 spz # _LT_PROG_LTMAIN
271 1.1 spz # ---------------
272 1.1 spz # Note that this code is called both from `configure', and `config.status'
273 1.1 spz # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
274 1.1 spz # `config.status' has no value for ac_aux_dir unless we are using Automake,
275 1.1 spz # so we pass a copy along to make sure it has a sensible value anyway.
276 1.1 spz m4_defun([_LT_PROG_LTMAIN],
277 1.1 spz [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
278 1.1 spz _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
279 1.1 spz ltmain="$ac_aux_dir/ltmain.sh"
280 1.1 spz ])# _LT_PROG_LTMAIN
281 1.1 spz
282 1.1 spz
283 1.1 spz ## ------------------------------------- ##
284 1.1 spz ## Accumulate code for creating libtool. ##
285 1.1 spz ## ------------------------------------- ##
286 1.1 spz
287 1.1 spz # So that we can recreate a full libtool script including additional
288 1.1 spz # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
289 1.1 spz # in macros and then make a single call at the end using the `libtool'
290 1.1 spz # label.
291 1.1 spz
292 1.1 spz
293 1.1 spz # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
294 1.1 spz # ----------------------------------------
295 1.1 spz # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
296 1.1 spz m4_define([_LT_CONFIG_LIBTOOL_INIT],
297 1.1 spz [m4_ifval([$1],
298 1.1 spz [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
299 1.1 spz [$1
300 1.1 spz ])])])
301 1.1 spz
302 1.1 spz # Initialize.
303 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_INIT])
304 1.1 spz
305 1.1 spz
306 1.1 spz # _LT_CONFIG_LIBTOOL([COMMANDS])
307 1.1 spz # ------------------------------
308 1.1 spz # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
309 1.1 spz m4_define([_LT_CONFIG_LIBTOOL],
310 1.1 spz [m4_ifval([$1],
311 1.1 spz [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
312 1.1 spz [$1
313 1.1 spz ])])])
314 1.1 spz
315 1.1 spz # Initialize.
316 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
317 1.1 spz
318 1.1 spz
319 1.1 spz # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
320 1.1 spz # -----------------------------------------------------
321 1.1 spz m4_defun([_LT_CONFIG_SAVE_COMMANDS],
322 1.1 spz [_LT_CONFIG_LIBTOOL([$1])
323 1.1 spz _LT_CONFIG_LIBTOOL_INIT([$2])
324 1.1 spz ])
325 1.1 spz
326 1.1 spz
327 1.1 spz # _LT_FORMAT_COMMENT([COMMENT])
328 1.1 spz # -----------------------------
329 1.1 spz # Add leading comment marks to the start of each line, and a trailing
330 1.1 spz # full-stop to the whole comment if one is not present already.
331 1.1 spz m4_define([_LT_FORMAT_COMMENT],
332 1.1 spz [m4_ifval([$1], [
333 1.1 spz m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
334 1.1 spz [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
335 1.1 spz )])
336 1.1 spz
337 1.1 spz
338 1.1 spz
339 1.1 spz ## ------------------------ ##
340 1.1 spz ## FIXME: Eliminate VARNAME ##
341 1.1 spz ## ------------------------ ##
342 1.1 spz
343 1.1 spz
344 1.1 spz # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
345 1.1 spz # -------------------------------------------------------------------
346 1.1 spz # CONFIGNAME is the name given to the value in the libtool script.
347 1.1 spz # VARNAME is the (base) name used in the configure script.
348 1.1 spz # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
349 1.1 spz # VARNAME. Any other value will be used directly.
350 1.1 spz m4_define([_LT_DECL],
351 1.1 spz [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
352 1.1 spz [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
353 1.1 spz [m4_ifval([$1], [$1], [$2])])
354 1.1 spz lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
355 1.1 spz m4_ifval([$4],
356 1.1 spz [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
357 1.1 spz lt_dict_add_subkey([lt_decl_dict], [$2],
358 1.1 spz [tagged?], [m4_ifval([$5], [yes], [no])])])
359 1.1 spz ])
360 1.1 spz
361 1.1 spz
362 1.1 spz # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
363 1.1 spz # --------------------------------------------------------
364 1.1 spz m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
365 1.1 spz
366 1.1 spz
367 1.1 spz # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
368 1.1 spz # ------------------------------------------------
369 1.1 spz m4_define([lt_decl_tag_varnames],
370 1.1 spz [_lt_decl_filter([tagged?], [yes], $@)])
371 1.1 spz
372 1.1 spz
373 1.1 spz # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
374 1.1 spz # ---------------------------------------------------------
375 1.1 spz m4_define([_lt_decl_filter],
376 1.1 spz [m4_case([$#],
377 1.1 spz [0], [m4_fatal([$0: too few arguments: $#])],
378 1.1 spz [1], [m4_fatal([$0: too few arguments: $#: $1])],
379 1.1 spz [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
380 1.1 spz [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
381 1.1 spz [lt_dict_filter([lt_decl_dict], $@)])[]dnl
382 1.1 spz ])
383 1.1 spz
384 1.1 spz
385 1.1 spz # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
386 1.1 spz # --------------------------------------------------
387 1.1 spz m4_define([lt_decl_quote_varnames],
388 1.1 spz [_lt_decl_filter([value], [1], $@)])
389 1.1 spz
390 1.1 spz
391 1.1 spz # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
392 1.1 spz # ---------------------------------------------------
393 1.1 spz m4_define([lt_decl_dquote_varnames],
394 1.1 spz [_lt_decl_filter([value], [2], $@)])
395 1.1 spz
396 1.1 spz
397 1.1 spz # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
398 1.1 spz # ---------------------------------------------------
399 1.1 spz m4_define([lt_decl_varnames_tagged],
400 1.1 spz [m4_assert([$# <= 2])dnl
401 1.1 spz _$0(m4_quote(m4_default([$1], [[, ]])),
402 1.1 spz m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
403 1.1 spz m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
404 1.1 spz m4_define([_lt_decl_varnames_tagged],
405 1.1 spz [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
406 1.1 spz
407 1.1 spz
408 1.1 spz # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
409 1.1 spz # ------------------------------------------------
410 1.1 spz m4_define([lt_decl_all_varnames],
411 1.1 spz [_$0(m4_quote(m4_default([$1], [[, ]])),
412 1.1 spz m4_if([$2], [],
413 1.1 spz m4_quote(lt_decl_varnames),
414 1.1 spz m4_quote(m4_shift($@))))[]dnl
415 1.1 spz ])
416 1.1 spz m4_define([_lt_decl_all_varnames],
417 1.1 spz [lt_join($@, lt_decl_varnames_tagged([$1],
418 1.1 spz lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
419 1.1 spz ])
420 1.1 spz
421 1.1 spz
422 1.1 spz # _LT_CONFIG_STATUS_DECLARE([VARNAME])
423 1.1 spz # ------------------------------------
424 1.1 spz # Quote a variable value, and forward it to `config.status' so that its
425 1.1 spz # declaration there will have the same value as in `configure'. VARNAME
426 1.1 spz # must have a single quote delimited value for this to work.
427 1.1 spz m4_define([_LT_CONFIG_STATUS_DECLARE],
428 1.1 spz [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
429 1.1 spz
430 1.1 spz
431 1.1 spz # _LT_CONFIG_STATUS_DECLARATIONS
432 1.1 spz # ------------------------------
433 1.1 spz # We delimit libtool config variables with single quotes, so when
434 1.1 spz # we write them to config.status, we have to be sure to quote all
435 1.1 spz # embedded single quotes properly. In configure, this macro expands
436 1.1 spz # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
437 1.1 spz #
438 1.1 spz # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
439 1.1 spz m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
440 1.1 spz [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
441 1.1 spz [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
442 1.1 spz
443 1.1 spz
444 1.1 spz # _LT_LIBTOOL_TAGS
445 1.1 spz # ----------------
446 1.1 spz # Output comment and list of tags supported by the script
447 1.1 spz m4_defun([_LT_LIBTOOL_TAGS],
448 1.1 spz [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
449 1.1 spz available_tags="_LT_TAGS"dnl
450 1.1 spz ])
451 1.1 spz
452 1.1 spz
453 1.1 spz # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
454 1.1 spz # -----------------------------------
455 1.1 spz # Extract the dictionary values for VARNAME (optionally with TAG) and
456 1.1 spz # expand to a commented shell variable setting:
457 1.1 spz #
458 1.1 spz # # Some comment about what VAR is for.
459 1.1 spz # visible_name=$lt_internal_name
460 1.1 spz m4_define([_LT_LIBTOOL_DECLARE],
461 1.1 spz [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
462 1.1 spz [description])))[]dnl
463 1.1 spz m4_pushdef([_libtool_name],
464 1.1 spz m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
465 1.1 spz m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
466 1.1 spz [0], [_libtool_name=[$]$1],
467 1.1 spz [1], [_libtool_name=$lt_[]$1],
468 1.1 spz [2], [_libtool_name=$lt_[]$1],
469 1.1 spz [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
470 1.1 spz m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
471 1.1 spz ])
472 1.1 spz
473 1.1 spz
474 1.1 spz # _LT_LIBTOOL_CONFIG_VARS
475 1.1 spz # -----------------------
476 1.1 spz # Produce commented declarations of non-tagged libtool config variables
477 1.1 spz # suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
478 1.1 spz # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
479 1.1 spz # section) are produced by _LT_LIBTOOL_TAG_VARS.
480 1.1 spz m4_defun([_LT_LIBTOOL_CONFIG_VARS],
481 1.1 spz [m4_foreach([_lt_var],
482 1.1 spz m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
483 1.1 spz [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
484 1.1 spz
485 1.1 spz
486 1.1 spz # _LT_LIBTOOL_TAG_VARS(TAG)
487 1.1 spz # -------------------------
488 1.1 spz m4_define([_LT_LIBTOOL_TAG_VARS],
489 1.1 spz [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
490 1.1 spz [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
491 1.1 spz
492 1.1 spz
493 1.1 spz # _LT_TAGVAR(VARNAME, [TAGNAME])
494 1.1 spz # ------------------------------
495 1.1 spz m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
496 1.1 spz
497 1.1 spz
498 1.1 spz # _LT_CONFIG_COMMANDS
499 1.1 spz # -------------------
500 1.1 spz # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
501 1.1 spz # variables for single and double quote escaping we saved from calls
502 1.1 spz # to _LT_DECL, we can put quote escaped variables declarations
503 1.1 spz # into `config.status', and then the shell code to quote escape them in
504 1.1 spz # for loops in `config.status'. Finally, any additional code accumulated
505 1.1 spz # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
506 1.1 spz m4_defun([_LT_CONFIG_COMMANDS],
507 1.1 spz [AC_PROVIDE_IFELSE([LT_OUTPUT],
508 1.1 spz dnl If the libtool generation code has been placed in $CONFIG_LT,
509 1.1 spz dnl instead of duplicating it all over again into config.status,
510 1.1 spz dnl then we will have config.status run $CONFIG_LT later, so it
511 1.1 spz dnl needs to know what name is stored there:
512 1.1 spz [AC_CONFIG_COMMANDS([libtool],
513 1.1 spz [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
514 1.1 spz dnl If the libtool generation code is destined for config.status,
515 1.1 spz dnl expand the accumulated commands and init code now:
516 1.1 spz [AC_CONFIG_COMMANDS([libtool],
517 1.1 spz [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
518 1.1 spz ])#_LT_CONFIG_COMMANDS
519 1.1 spz
520 1.1 spz
521 1.1 spz # Initialize.
522 1.1 spz m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
523 1.1 spz [
524 1.1 spz
525 1.1 spz # The HP-UX ksh and POSIX shell print the target directory to stdout
526 1.1 spz # if CDPATH is set.
527 1.1 spz (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
528 1.1 spz
529 1.1 spz sed_quote_subst='$sed_quote_subst'
530 1.1 spz double_quote_subst='$double_quote_subst'
531 1.1 spz delay_variable_subst='$delay_variable_subst'
532 1.1 spz _LT_CONFIG_STATUS_DECLARATIONS
533 1.1 spz LTCC='$LTCC'
534 1.1 spz LTCFLAGS='$LTCFLAGS'
535 1.1 spz compiler='$compiler_DEFAULT'
536 1.1 spz
537 1.1 spz # A function that is used when there is no print builtin or printf.
538 1.1 spz func_fallback_echo ()
539 1.1 spz {
540 1.1 spz eval 'cat <<_LTECHO_EOF
541 1.1 spz \$[]1
542 1.1 spz _LTECHO_EOF'
543 1.1 spz }
544 1.1 spz
545 1.1 spz # Quote evaled strings.
546 1.1 spz for var in lt_decl_all_varnames([[ \
547 1.1 spz ]], lt_decl_quote_varnames); do
548 1.1 spz case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
549 1.1 spz *[[\\\\\\\`\\"\\\$]]*)
550 1.1 spz eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
551 1.1 spz ;;
552 1.1 spz *)
553 1.1 spz eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
554 1.1 spz ;;
555 1.1 spz esac
556 1.1 spz done
557 1.1 spz
558 1.1 spz # Double-quote double-evaled strings.
559 1.1 spz for var in lt_decl_all_varnames([[ \
560 1.1 spz ]], lt_decl_dquote_varnames); do
561 1.1 spz case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
562 1.1 spz *[[\\\\\\\`\\"\\\$]]*)
563 1.1 spz eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
564 1.1 spz ;;
565 1.1 spz *)
566 1.1 spz eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
567 1.1 spz ;;
568 1.1 spz esac
569 1.1 spz done
570 1.1 spz
571 1.1 spz _LT_OUTPUT_LIBTOOL_INIT
572 1.1 spz ])
573 1.1 spz
574 1.1 spz # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
575 1.1 spz # ------------------------------------
576 1.1 spz # Generate a child script FILE with all initialization necessary to
577 1.1 spz # reuse the environment learned by the parent script, and make the
578 1.1 spz # file executable. If COMMENT is supplied, it is inserted after the
579 1.1 spz # `#!' sequence but before initialization text begins. After this
580 1.1 spz # macro, additional text can be appended to FILE to form the body of
581 1.1 spz # the child script. The macro ends with non-zero status if the
582 1.1 spz # file could not be fully written (such as if the disk is full).
583 1.1 spz m4_ifdef([AS_INIT_GENERATED],
584 1.1 spz [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
585 1.1 spz [m4_defun([_LT_GENERATED_FILE_INIT],
586 1.1 spz [m4_require([AS_PREPARE])]dnl
587 1.1 spz [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
588 1.1 spz [lt_write_fail=0
589 1.1 spz cat >$1 <<_ASEOF || lt_write_fail=1
590 1.1 spz #! $SHELL
591 1.1 spz # Generated by $as_me.
592 1.1 spz $2
593 1.1 spz SHELL=\${CONFIG_SHELL-$SHELL}
594 1.1 spz export SHELL
595 1.1 spz _ASEOF
596 1.1 spz cat >>$1 <<\_ASEOF || lt_write_fail=1
597 1.1 spz AS_SHELL_SANITIZE
598 1.1 spz _AS_PREPARE
599 1.1 spz exec AS_MESSAGE_FD>&1
600 1.1 spz _ASEOF
601 1.1 spz test $lt_write_fail = 0 && chmod +x $1[]dnl
602 1.1 spz m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
603 1.1 spz
604 1.1 spz # LT_OUTPUT
605 1.1 spz # ---------
606 1.1 spz # This macro allows early generation of the libtool script (before
607 1.1 spz # AC_OUTPUT is called), incase it is used in configure for compilation
608 1.1 spz # tests.
609 1.1 spz AC_DEFUN([LT_OUTPUT],
610 1.1 spz [: ${CONFIG_LT=./config.lt}
611 1.1 spz AC_MSG_NOTICE([creating $CONFIG_LT])
612 1.1 spz _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
613 1.1 spz [# Run this file to recreate a libtool stub with the current configuration.])
614 1.1 spz
615 1.1 spz cat >>"$CONFIG_LT" <<\_LTEOF
616 1.1 spz lt_cl_silent=false
617 1.1 spz exec AS_MESSAGE_LOG_FD>>config.log
618 1.1 spz {
619 1.1 spz echo
620 1.1 spz AS_BOX([Running $as_me.])
621 1.1 spz } >&AS_MESSAGE_LOG_FD
622 1.1 spz
623 1.1 spz lt_cl_help="\
624 1.1 spz \`$as_me' creates a local libtool stub from the current configuration,
625 1.1 spz for use in further configure time tests before the real libtool is
626 1.1 spz generated.
627 1.1 spz
628 1.1 spz Usage: $[0] [[OPTIONS]]
629 1.1 spz
630 1.1 spz -h, --help print this help, then exit
631 1.1 spz -V, --version print version number, then exit
632 1.1 spz -q, --quiet do not print progress messages
633 1.1 spz -d, --debug don't remove temporary files
634 1.1 spz
635 1.1 spz Report bugs to <bug-libtool (a] gnu.org>."
636 1.1 spz
637 1.1 spz lt_cl_version="\
638 1.1 spz m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
639 1.1 spz m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
640 1.1 spz configured by $[0], generated by m4_PACKAGE_STRING.
641 1.1 spz
642 1.1.1.2 spz Copyright (C) 2011 Free Software Foundation, Inc.
643 1.1 spz This config.lt script is free software; the Free Software Foundation
644 1.1 spz gives unlimited permision to copy, distribute and modify it."
645 1.1 spz
646 1.1 spz while test $[#] != 0
647 1.1 spz do
648 1.1 spz case $[1] in
649 1.1 spz --version | --v* | -V )
650 1.1 spz echo "$lt_cl_version"; exit 0 ;;
651 1.1 spz --help | --h* | -h )
652 1.1 spz echo "$lt_cl_help"; exit 0 ;;
653 1.1 spz --debug | --d* | -d )
654 1.1 spz debug=: ;;
655 1.1 spz --quiet | --q* | --silent | --s* | -q )
656 1.1 spz lt_cl_silent=: ;;
657 1.1 spz
658 1.1 spz -*) AC_MSG_ERROR([unrecognized option: $[1]
659 1.1 spz Try \`$[0] --help' for more information.]) ;;
660 1.1 spz
661 1.1 spz *) AC_MSG_ERROR([unrecognized argument: $[1]
662 1.1 spz Try \`$[0] --help' for more information.]) ;;
663 1.1 spz esac
664 1.1 spz shift
665 1.1 spz done
666 1.1 spz
667 1.1 spz if $lt_cl_silent; then
668 1.1 spz exec AS_MESSAGE_FD>/dev/null
669 1.1 spz fi
670 1.1 spz _LTEOF
671 1.1 spz
672 1.1 spz cat >>"$CONFIG_LT" <<_LTEOF
673 1.1 spz _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
674 1.1 spz _LTEOF
675 1.1 spz
676 1.1 spz cat >>"$CONFIG_LT" <<\_LTEOF
677 1.1 spz AC_MSG_NOTICE([creating $ofile])
678 1.1 spz _LT_OUTPUT_LIBTOOL_COMMANDS
679 1.1 spz AS_EXIT(0)
680 1.1 spz _LTEOF
681 1.1 spz chmod +x "$CONFIG_LT"
682 1.1 spz
683 1.1 spz # configure is writing to config.log, but config.lt does its own redirection,
684 1.1 spz # appending to config.log, which fails on DOS, as config.log is still kept
685 1.1 spz # open by configure. Here we exec the FD to /dev/null, effectively closing
686 1.1 spz # config.log, so it can be properly (re)opened and appended to by config.lt.
687 1.1 spz lt_cl_success=:
688 1.1 spz test "$silent" = yes &&
689 1.1 spz lt_config_lt_args="$lt_config_lt_args --quiet"
690 1.1 spz exec AS_MESSAGE_LOG_FD>/dev/null
691 1.1 spz $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
692 1.1 spz exec AS_MESSAGE_LOG_FD>>config.log
693 1.1 spz $lt_cl_success || AS_EXIT(1)
694 1.1 spz ])# LT_OUTPUT
695 1.1 spz
696 1.1 spz
697 1.1 spz # _LT_CONFIG(TAG)
698 1.1 spz # ---------------
699 1.1 spz # If TAG is the built-in tag, create an initial libtool script with a
700 1.1 spz # default configuration from the untagged config vars. Otherwise add code
701 1.1 spz # to config.status for appending the configuration named by TAG from the
702 1.1 spz # matching tagged config vars.
703 1.1 spz m4_defun([_LT_CONFIG],
704 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
705 1.1 spz _LT_CONFIG_SAVE_COMMANDS([
706 1.1 spz m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
707 1.1 spz m4_if(_LT_TAG, [C], [
708 1.1 spz # See if we are running on zsh, and set the options which allow our
709 1.1 spz # commands through without removal of \ escapes.
710 1.1 spz if test -n "${ZSH_VERSION+set}" ; then
711 1.1 spz setopt NO_GLOB_SUBST
712 1.1 spz fi
713 1.1 spz
714 1.1 spz cfgfile="${ofile}T"
715 1.1 spz trap "$RM \"$cfgfile\"; exit 1" 1 2 15
716 1.1 spz $RM "$cfgfile"
717 1.1 spz
718 1.1 spz cat <<_LT_EOF >> "$cfgfile"
719 1.1 spz #! $SHELL
720 1.1 spz
721 1.1 spz # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
722 1.1 spz # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
723 1.1 spz # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
724 1.1 spz # NOTE: Changes made to this file will be lost: look at ltmain.sh.
725 1.1 spz #
726 1.1 spz _LT_COPYING
727 1.1 spz _LT_LIBTOOL_TAGS
728 1.1 spz
729 1.1 spz # ### BEGIN LIBTOOL CONFIG
730 1.1 spz _LT_LIBTOOL_CONFIG_VARS
731 1.1 spz _LT_LIBTOOL_TAG_VARS
732 1.1 spz # ### END LIBTOOL CONFIG
733 1.1 spz
734 1.1 spz _LT_EOF
735 1.1 spz
736 1.1 spz case $host_os in
737 1.1 spz aix3*)
738 1.1 spz cat <<\_LT_EOF >> "$cfgfile"
739 1.1 spz # AIX sometimes has problems with the GCC collect2 program. For some
740 1.1 spz # reason, if we set the COLLECT_NAMES environment variable, the problems
741 1.1 spz # vanish in a puff of smoke.
742 1.1 spz if test "X${COLLECT_NAMES+set}" != Xset; then
743 1.1 spz COLLECT_NAMES=
744 1.1 spz export COLLECT_NAMES
745 1.1 spz fi
746 1.1 spz _LT_EOF
747 1.1 spz ;;
748 1.1 spz esac
749 1.1 spz
750 1.1 spz _LT_PROG_LTMAIN
751 1.1 spz
752 1.1 spz # We use sed instead of cat because bash on DJGPP gets confused if
753 1.1 spz # if finds mixed CR/LF and LF-only lines. Since sed operates in
754 1.1 spz # text mode, it properly converts lines to CR/LF. This bash problem
755 1.1 spz # is reportedly fixed, but why not run on old versions too?
756 1.1 spz sed '$q' "$ltmain" >> "$cfgfile" \
757 1.1 spz || (rm -f "$cfgfile"; exit 1)
758 1.1 spz
759 1.1 spz _LT_PROG_REPLACE_SHELLFNS
760 1.1 spz
761 1.1 spz mv -f "$cfgfile" "$ofile" ||
762 1.1 spz (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
763 1.1 spz chmod +x "$ofile"
764 1.1 spz ],
765 1.1 spz [cat <<_LT_EOF >> "$ofile"
766 1.1 spz
767 1.1 spz dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
768 1.1 spz dnl in a comment (ie after a #).
769 1.1 spz # ### BEGIN LIBTOOL TAG CONFIG: $1
770 1.1 spz _LT_LIBTOOL_TAG_VARS(_LT_TAG)
771 1.1 spz # ### END LIBTOOL TAG CONFIG: $1
772 1.1 spz _LT_EOF
773 1.1 spz ])dnl /m4_if
774 1.1 spz ],
775 1.1 spz [m4_if([$1], [], [
776 1.1 spz PACKAGE='$PACKAGE'
777 1.1 spz VERSION='$VERSION'
778 1.1 spz TIMESTAMP='$TIMESTAMP'
779 1.1 spz RM='$RM'
780 1.1 spz ofile='$ofile'], [])
781 1.1 spz ])dnl /_LT_CONFIG_SAVE_COMMANDS
782 1.1 spz ])# _LT_CONFIG
783 1.1 spz
784 1.1 spz
785 1.1 spz # LT_SUPPORTED_TAG(TAG)
786 1.1 spz # ---------------------
787 1.1 spz # Trace this macro to discover what tags are supported by the libtool
788 1.1 spz # --tag option, using:
789 1.1 spz # autoconf --trace 'LT_SUPPORTED_TAG:$1'
790 1.1 spz AC_DEFUN([LT_SUPPORTED_TAG], [])
791 1.1 spz
792 1.1 spz
793 1.1 spz # C support is built-in for now
794 1.1 spz m4_define([_LT_LANG_C_enabled], [])
795 1.1 spz m4_define([_LT_TAGS], [])
796 1.1 spz
797 1.1 spz
798 1.1 spz # LT_LANG(LANG)
799 1.1 spz # -------------
800 1.1 spz # Enable libtool support for the given language if not already enabled.
801 1.1 spz AC_DEFUN([LT_LANG],
802 1.1 spz [AC_BEFORE([$0], [LT_OUTPUT])dnl
803 1.1 spz m4_case([$1],
804 1.1 spz [C], [_LT_LANG(C)],
805 1.1 spz [C++], [_LT_LANG(CXX)],
806 1.1.1.2 spz [Go], [_LT_LANG(GO)],
807 1.1 spz [Java], [_LT_LANG(GCJ)],
808 1.1 spz [Fortran 77], [_LT_LANG(F77)],
809 1.1 spz [Fortran], [_LT_LANG(FC)],
810 1.1 spz [Windows Resource], [_LT_LANG(RC)],
811 1.1 spz [m4_ifdef([_LT_LANG_]$1[_CONFIG],
812 1.1 spz [_LT_LANG($1)],
813 1.1 spz [m4_fatal([$0: unsupported language: "$1"])])])dnl
814 1.1 spz ])# LT_LANG
815 1.1 spz
816 1.1 spz
817 1.1 spz # _LT_LANG(LANGNAME)
818 1.1 spz # ------------------
819 1.1 spz m4_defun([_LT_LANG],
820 1.1 spz [m4_ifdef([_LT_LANG_]$1[_enabled], [],
821 1.1 spz [LT_SUPPORTED_TAG([$1])dnl
822 1.1 spz m4_append([_LT_TAGS], [$1 ])dnl
823 1.1 spz m4_define([_LT_LANG_]$1[_enabled], [])dnl
824 1.1 spz _LT_LANG_$1_CONFIG($1)])dnl
825 1.1 spz ])# _LT_LANG
826 1.1 spz
827 1.1 spz
828 1.1.1.2 spz m4_ifndef([AC_PROG_GO], [
829 1.1.1.2 spz ############################################################
830 1.1.1.2 spz # NOTE: This macro has been submitted for inclusion into #
831 1.1.1.2 spz # GNU Autoconf as AC_PROG_GO. When it is available in #
832 1.1.1.2 spz # a released version of Autoconf we should remove this #
833 1.1.1.2 spz # macro and use it instead. #
834 1.1.1.2 spz ############################################################
835 1.1.1.2 spz m4_defun([AC_PROG_GO],
836 1.1.1.2 spz [AC_LANG_PUSH(Go)dnl
837 1.1.1.2 spz AC_ARG_VAR([GOC], [Go compiler command])dnl
838 1.1.1.2 spz AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
839 1.1.1.2 spz _AC_ARG_VAR_LDFLAGS()dnl
840 1.1.1.2 spz AC_CHECK_TOOL(GOC, gccgo)
841 1.1.1.2 spz if test -z "$GOC"; then
842 1.1.1.2 spz if test -n "$ac_tool_prefix"; then
843 1.1.1.2 spz AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
844 1.1.1.2 spz fi
845 1.1.1.2 spz fi
846 1.1.1.2 spz if test -z "$GOC"; then
847 1.1.1.2 spz AC_CHECK_PROG(GOC, gccgo, gccgo, false)
848 1.1.1.2 spz fi
849 1.1.1.2 spz ])#m4_defun
850 1.1.1.2 spz ])#m4_ifndef
851 1.1.1.2 spz
852 1.1.1.2 spz
853 1.1 spz # _LT_LANG_DEFAULT_CONFIG
854 1.1 spz # -----------------------
855 1.1 spz m4_defun([_LT_LANG_DEFAULT_CONFIG],
856 1.1 spz [AC_PROVIDE_IFELSE([AC_PROG_CXX],
857 1.1 spz [LT_LANG(CXX)],
858 1.1 spz [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
859 1.1 spz
860 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_F77],
861 1.1 spz [LT_LANG(F77)],
862 1.1 spz [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
863 1.1 spz
864 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_FC],
865 1.1 spz [LT_LANG(FC)],
866 1.1 spz [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
867 1.1 spz
868 1.1 spz dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
869 1.1 spz dnl pulling things in needlessly.
870 1.1 spz AC_PROVIDE_IFELSE([AC_PROG_GCJ],
871 1.1 spz [LT_LANG(GCJ)],
872 1.1 spz [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
873 1.1 spz [LT_LANG(GCJ)],
874 1.1 spz [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
875 1.1 spz [LT_LANG(GCJ)],
876 1.1 spz [m4_ifdef([AC_PROG_GCJ],
877 1.1 spz [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
878 1.1 spz m4_ifdef([A][M_PROG_GCJ],
879 1.1 spz [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
880 1.1 spz m4_ifdef([LT_PROG_GCJ],
881 1.1 spz [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
882 1.1 spz
883 1.1.1.2 spz AC_PROVIDE_IFELSE([AC_PROG_GO],
884 1.1.1.2 spz [LT_LANG(GO)],
885 1.1.1.2 spz [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
886 1.1.1.2 spz
887 1.1 spz AC_PROVIDE_IFELSE([LT_PROG_RC],
888 1.1 spz [LT_LANG(RC)],
889 1.1 spz [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
890 1.1 spz ])# _LT_LANG_DEFAULT_CONFIG
891 1.1 spz
892 1.1 spz # Obsolete macros:
893 1.1 spz AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
894 1.1 spz AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
895 1.1 spz AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
896 1.1 spz AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
897 1.1 spz AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
898 1.1 spz dnl aclocal-1.4 backwards compatibility:
899 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
900 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_F77], [])
901 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_FC], [])
902 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
903 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_RC], [])
904 1.1 spz
905 1.1 spz
906 1.1 spz # _LT_TAG_COMPILER
907 1.1 spz # ----------------
908 1.1 spz m4_defun([_LT_TAG_COMPILER],
909 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
910 1.1 spz
911 1.1 spz _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
912 1.1 spz _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
913 1.1 spz _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
914 1.1 spz _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
915 1.1 spz
916 1.1 spz # If no C compiler was specified, use CC.
917 1.1 spz LTCC=${LTCC-"$CC"}
918 1.1 spz
919 1.1 spz # If no C compiler flags were specified, use CFLAGS.
920 1.1 spz LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
921 1.1 spz
922 1.1 spz # Allow CC to be a program name with arguments.
923 1.1 spz compiler=$CC
924 1.1 spz ])# _LT_TAG_COMPILER
925 1.1 spz
926 1.1 spz
927 1.1 spz # _LT_COMPILER_BOILERPLATE
928 1.1 spz # ------------------------
929 1.1 spz # Check for compiler boilerplate output or warnings with
930 1.1 spz # the simple compiler test code.
931 1.1 spz m4_defun([_LT_COMPILER_BOILERPLATE],
932 1.1 spz [m4_require([_LT_DECL_SED])dnl
933 1.1 spz ac_outfile=conftest.$ac_objext
934 1.1 spz echo "$lt_simple_compile_test_code" >conftest.$ac_ext
935 1.1 spz eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
936 1.1 spz _lt_compiler_boilerplate=`cat conftest.err`
937 1.1 spz $RM conftest*
938 1.1 spz ])# _LT_COMPILER_BOILERPLATE
939 1.1 spz
940 1.1 spz
941 1.1 spz # _LT_LINKER_BOILERPLATE
942 1.1 spz # ----------------------
943 1.1 spz # Check for linker boilerplate output or warnings with
944 1.1 spz # the simple link test code.
945 1.1 spz m4_defun([_LT_LINKER_BOILERPLATE],
946 1.1 spz [m4_require([_LT_DECL_SED])dnl
947 1.1 spz ac_outfile=conftest.$ac_objext
948 1.1 spz echo "$lt_simple_link_test_code" >conftest.$ac_ext
949 1.1 spz eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
950 1.1 spz _lt_linker_boilerplate=`cat conftest.err`
951 1.1 spz $RM -r conftest*
952 1.1 spz ])# _LT_LINKER_BOILERPLATE
953 1.1 spz
954 1.1 spz # _LT_REQUIRED_DARWIN_CHECKS
955 1.1 spz # -------------------------
956 1.1 spz m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
957 1.1 spz case $host_os in
958 1.1 spz rhapsody* | darwin*)
959 1.1 spz AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
960 1.1 spz AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
961 1.1 spz AC_CHECK_TOOL([LIPO], [lipo], [:])
962 1.1 spz AC_CHECK_TOOL([OTOOL], [otool], [:])
963 1.1 spz AC_CHECK_TOOL([OTOOL64], [otool64], [:])
964 1.1 spz _LT_DECL([], [DSYMUTIL], [1],
965 1.1 spz [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
966 1.1 spz _LT_DECL([], [NMEDIT], [1],
967 1.1 spz [Tool to change global to local symbols on Mac OS X])
968 1.1 spz _LT_DECL([], [LIPO], [1],
969 1.1 spz [Tool to manipulate fat objects and archives on Mac OS X])
970 1.1 spz _LT_DECL([], [OTOOL], [1],
971 1.1 spz [ldd/readelf like tool for Mach-O binaries on Mac OS X])
972 1.1 spz _LT_DECL([], [OTOOL64], [1],
973 1.1 spz [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
974 1.1 spz
975 1.1 spz AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
976 1.1 spz [lt_cv_apple_cc_single_mod=no
977 1.1 spz if test -z "${LT_MULTI_MODULE}"; then
978 1.1 spz # By default we will add the -single_module flag. You can override
979 1.1 spz # by either setting the environment variable LT_MULTI_MODULE
980 1.1 spz # non-empty at configure time, or by adding -multi_module to the
981 1.1 spz # link flags.
982 1.1 spz rm -rf libconftest.dylib*
983 1.1 spz echo "int foo(void){return 1;}" > conftest.c
984 1.1 spz echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
985 1.1 spz -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
986 1.1 spz $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
987 1.1 spz -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
988 1.1 spz _lt_result=$?
989 1.1.1.2 spz # If there is a non-empty error log, and "single_module"
990 1.1.1.2 spz # appears in it, assume the flag caused a linker warning
991 1.1.1.2 spz if test -s conftest.err && $GREP single_module conftest.err; then
992 1.1.1.2 spz cat conftest.err >&AS_MESSAGE_LOG_FD
993 1.1.1.2 spz # Otherwise, if the output was created with a 0 exit code from
994 1.1.1.2 spz # the compiler, it worked.
995 1.1.1.2 spz elif test -f libconftest.dylib && test $_lt_result -eq 0; then
996 1.1 spz lt_cv_apple_cc_single_mod=yes
997 1.1 spz else
998 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
999 1.1 spz fi
1000 1.1 spz rm -rf libconftest.dylib*
1001 1.1 spz rm -f conftest.*
1002 1.1 spz fi])
1003 1.1.1.2 spz
1004 1.1 spz AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1005 1.1 spz [lt_cv_ld_exported_symbols_list],
1006 1.1 spz [lt_cv_ld_exported_symbols_list=no
1007 1.1 spz save_LDFLAGS=$LDFLAGS
1008 1.1 spz echo "_main" > conftest.sym
1009 1.1 spz LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1010 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1011 1.1 spz [lt_cv_ld_exported_symbols_list=yes],
1012 1.1 spz [lt_cv_ld_exported_symbols_list=no])
1013 1.1 spz LDFLAGS="$save_LDFLAGS"
1014 1.1 spz ])
1015 1.1.1.2 spz
1016 1.1 spz AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1017 1.1 spz [lt_cv_ld_force_load=no
1018 1.1 spz cat > conftest.c << _LT_EOF
1019 1.1 spz int forced_loaded() { return 2;}
1020 1.1 spz _LT_EOF
1021 1.1 spz echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1022 1.1 spz $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1023 1.1 spz echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1024 1.1 spz $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1025 1.1 spz echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1026 1.1 spz $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1027 1.1 spz cat > conftest.c << _LT_EOF
1028 1.1 spz int main() { return 0;}
1029 1.1 spz _LT_EOF
1030 1.1 spz echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1031 1.1 spz $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1032 1.1 spz _lt_result=$?
1033 1.1.1.2 spz if test -s conftest.err && $GREP force_load conftest.err; then
1034 1.1.1.2 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1035 1.1.1.2 spz elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
1036 1.1 spz lt_cv_ld_force_load=yes
1037 1.1 spz else
1038 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1039 1.1 spz fi
1040 1.1 spz rm -f conftest.err libconftest.a conftest conftest.c
1041 1.1 spz rm -rf conftest.dSYM
1042 1.1 spz ])
1043 1.1 spz case $host_os in
1044 1.1 spz rhapsody* | darwin1.[[012]])
1045 1.1 spz _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
1046 1.1 spz darwin1.*)
1047 1.1 spz _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1048 1.1 spz darwin*) # darwin 5.x on
1049 1.1 spz # if running on 10.5 or later, the deployment target defaults
1050 1.1 spz # to the OS version, if on x86, and 10.4, the deployment
1051 1.1 spz # target defaults to 10.4. Don't you love it?
1052 1.1 spz case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1053 1.1 spz 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1054 1.1 spz _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1055 1.1 spz 10.[[012]]*)
1056 1.1 spz _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1057 1.1 spz 10.*)
1058 1.1 spz _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1059 1.1 spz esac
1060 1.1 spz ;;
1061 1.1 spz esac
1062 1.1 spz if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1063 1.1 spz _lt_dar_single_mod='$single_module'
1064 1.1 spz fi
1065 1.1 spz if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1066 1.1 spz _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1067 1.1 spz else
1068 1.1 spz _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1069 1.1 spz fi
1070 1.1 spz if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
1071 1.1 spz _lt_dsymutil='~$DSYMUTIL $lib || :'
1072 1.1 spz else
1073 1.1 spz _lt_dsymutil=
1074 1.1 spz fi
1075 1.1 spz ;;
1076 1.1 spz esac
1077 1.1 spz ])
1078 1.1 spz
1079 1.1 spz
1080 1.1.1.2 spz # _LT_DARWIN_LINKER_FEATURES([TAG])
1081 1.1.1.2 spz # ---------------------------------
1082 1.1 spz # Checks for linker and compiler features on darwin
1083 1.1 spz m4_defun([_LT_DARWIN_LINKER_FEATURES],
1084 1.1 spz [
1085 1.1 spz m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1086 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1087 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
1088 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=yes
1089 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1090 1.1 spz if test "$lt_cv_ld_force_load" = "yes"; then
1091 1.1 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\"`'
1092 1.1.1.2 spz m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1093 1.1.1.2 spz [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1094 1.1 spz else
1095 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1096 1.1 spz fi
1097 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
1098 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1099 1.1 spz case $cc_basename in
1100 1.1 spz ifort*) _lt_dar_can_shared=yes ;;
1101 1.1 spz *) _lt_dar_can_shared=$GCC ;;
1102 1.1 spz esac
1103 1.1 spz if test "$_lt_dar_can_shared" = "yes"; then
1104 1.1 spz output_verbose_link_cmd=func_echo_all
1105 1.1 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}"
1106 1.1 spz _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1107 1.1 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}"
1108 1.1 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}"
1109 1.1 spz m4_if([$1], [CXX],
1110 1.1 spz [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1111 1.1 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}"
1112 1.1 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}"
1113 1.1 spz fi
1114 1.1 spz ],[])
1115 1.1 spz else
1116 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
1117 1.1 spz fi
1118 1.1 spz ])
1119 1.1 spz
1120 1.1 spz # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1121 1.1 spz # ----------------------------------
1122 1.1 spz # Links a minimal program and checks the executable
1123 1.1 spz # for the system default hardcoded library path. In most cases,
1124 1.1 spz # this is /usr/lib:/lib, but when the MPI compilers are used
1125 1.1 spz # the location of the communication and MPI libs are included too.
1126 1.1 spz # If we don't find anything, use the default library path according
1127 1.1 spz # to the aix ld manual.
1128 1.1 spz # Store the results from the different compilers for each TAGNAME.
1129 1.1 spz # Allow to override them for all tags through lt_cv_aix_libpath.
1130 1.1 spz m4_defun([_LT_SYS_MODULE_PATH_AIX],
1131 1.1 spz [m4_require([_LT_DECL_SED])dnl
1132 1.1 spz if test "${lt_cv_aix_libpath+set}" = set; then
1133 1.1 spz aix_libpath=$lt_cv_aix_libpath
1134 1.1 spz else
1135 1.1 spz AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1136 1.1 spz [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1137 1.1 spz lt_aix_libpath_sed='[
1138 1.1 spz /Import File Strings/,/^$/ {
1139 1.1 spz /^0/ {
1140 1.1 spz s/^0 *\([^ ]*\) *$/\1/
1141 1.1 spz p
1142 1.1 spz }
1143 1.1 spz }]'
1144 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"`
1145 1.1 spz # Check for a 64-bit object if we didn't find anything.
1146 1.1 spz if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1147 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"`
1148 1.1 spz fi],[])
1149 1.1 spz if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1150 1.1 spz _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
1151 1.1 spz fi
1152 1.1 spz ])
1153 1.1 spz aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1154 1.1 spz fi
1155 1.1 spz ])# _LT_SYS_MODULE_PATH_AIX
1156 1.1 spz
1157 1.1 spz
1158 1.1 spz # _LT_SHELL_INIT(ARG)
1159 1.1 spz # -------------------
1160 1.1 spz m4_define([_LT_SHELL_INIT],
1161 1.1 spz [m4_divert_text([M4SH-INIT], [$1
1162 1.1 spz ])])# _LT_SHELL_INIT
1163 1.1 spz
1164 1.1 spz
1165 1.1 spz
1166 1.1 spz # _LT_PROG_ECHO_BACKSLASH
1167 1.1 spz # -----------------------
1168 1.1 spz # Find how we can fake an echo command that does not interpret backslash.
1169 1.1 spz # In particular, with Autoconf 2.60 or later we add some code to the start
1170 1.1 spz # of the generated configure script which will find a shell with a builtin
1171 1.1 spz # printf (which we can use as an echo command).
1172 1.1 spz m4_defun([_LT_PROG_ECHO_BACKSLASH],
1173 1.1 spz [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1174 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1175 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1176 1.1 spz
1177 1.1 spz AC_MSG_CHECKING([how to print strings])
1178 1.1 spz # Test print first, because it will be a builtin if present.
1179 1.1 spz if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1180 1.1 spz test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1181 1.1 spz ECHO='print -r --'
1182 1.1 spz elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1183 1.1 spz ECHO='printf %s\n'
1184 1.1 spz else
1185 1.1 spz # Use this function as a fallback that always works.
1186 1.1 spz func_fallback_echo ()
1187 1.1 spz {
1188 1.1 spz eval 'cat <<_LTECHO_EOF
1189 1.1 spz $[]1
1190 1.1 spz _LTECHO_EOF'
1191 1.1 spz }
1192 1.1 spz ECHO='func_fallback_echo'
1193 1.1 spz fi
1194 1.1 spz
1195 1.1 spz # func_echo_all arg...
1196 1.1 spz # Invoke $ECHO with all args, space-separated.
1197 1.1 spz func_echo_all ()
1198 1.1 spz {
1199 1.1 spz $ECHO "$*"
1200 1.1 spz }
1201 1.1 spz
1202 1.1 spz case "$ECHO" in
1203 1.1 spz printf*) AC_MSG_RESULT([printf]) ;;
1204 1.1 spz print*) AC_MSG_RESULT([print -r]) ;;
1205 1.1 spz *) AC_MSG_RESULT([cat]) ;;
1206 1.1 spz esac
1207 1.1 spz
1208 1.1 spz m4_ifdef([_AS_DETECT_SUGGESTED],
1209 1.1 spz [_AS_DETECT_SUGGESTED([
1210 1.1 spz test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1211 1.1 spz ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1212 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1213 1.1 spz ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1214 1.1 spz PATH=/empty FPATH=/empty; export PATH FPATH
1215 1.1 spz test "X`printf %s $ECHO`" = "X$ECHO" \
1216 1.1 spz || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1217 1.1 spz
1218 1.1 spz _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1219 1.1 spz _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1220 1.1 spz ])# _LT_PROG_ECHO_BACKSLASH
1221 1.1 spz
1222 1.1 spz
1223 1.1 spz # _LT_WITH_SYSROOT
1224 1.1 spz # ----------------
1225 1.1 spz AC_DEFUN([_LT_WITH_SYSROOT],
1226 1.1 spz [AC_MSG_CHECKING([for sysroot])
1227 1.1 spz AC_ARG_WITH([sysroot],
1228 1.1 spz [ --with-sysroot[=DIR] Search for dependent libraries within DIR
1229 1.1 spz (or the compiler's sysroot if not specified).],
1230 1.1 spz [], [with_sysroot=no])
1231 1.1 spz
1232 1.1 spz dnl lt_sysroot will always be passed unquoted. We quote it here
1233 1.1 spz dnl in case the user passed a directory name.
1234 1.1 spz lt_sysroot=
1235 1.1 spz case ${with_sysroot} in #(
1236 1.1 spz yes)
1237 1.1 spz if test "$GCC" = yes; then
1238 1.1 spz lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1239 1.1 spz fi
1240 1.1 spz ;; #(
1241 1.1 spz /*)
1242 1.1 spz lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1243 1.1 spz ;; #(
1244 1.1 spz no|'')
1245 1.1 spz ;; #(
1246 1.1 spz *)
1247 1.1 spz AC_MSG_RESULT([${with_sysroot}])
1248 1.1 spz AC_MSG_ERROR([The sysroot must be an absolute path.])
1249 1.1 spz ;;
1250 1.1 spz esac
1251 1.1 spz
1252 1.1 spz AC_MSG_RESULT([${lt_sysroot:-no}])
1253 1.1 spz _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1254 1.1 spz [dependent libraries, and in which our libraries should be installed.])])
1255 1.1 spz
1256 1.1 spz # _LT_ENABLE_LOCK
1257 1.1 spz # ---------------
1258 1.1 spz m4_defun([_LT_ENABLE_LOCK],
1259 1.1 spz [AC_ARG_ENABLE([libtool-lock],
1260 1.1 spz [AS_HELP_STRING([--disable-libtool-lock],
1261 1.1 spz [avoid locking (might break parallel builds)])])
1262 1.1 spz test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1263 1.1 spz
1264 1.1 spz # Some flags need to be propagated to the compiler or linker for good
1265 1.1 spz # libtool support.
1266 1.1 spz case $host in
1267 1.1 spz ia64-*-hpux*)
1268 1.1 spz # Find out which ABI we are using.
1269 1.1 spz echo 'int i;' > conftest.$ac_ext
1270 1.1 spz if AC_TRY_EVAL(ac_compile); then
1271 1.1 spz case `/usr/bin/file conftest.$ac_objext` in
1272 1.1 spz *ELF-32*)
1273 1.1 spz HPUX_IA64_MODE="32"
1274 1.1 spz ;;
1275 1.1 spz *ELF-64*)
1276 1.1 spz HPUX_IA64_MODE="64"
1277 1.1 spz ;;
1278 1.1 spz esac
1279 1.1 spz fi
1280 1.1 spz rm -rf conftest*
1281 1.1 spz ;;
1282 1.1 spz *-*-irix6*)
1283 1.1 spz # Find out which ABI we are using.
1284 1.1 spz echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1285 1.1 spz if AC_TRY_EVAL(ac_compile); then
1286 1.1 spz if test "$lt_cv_prog_gnu_ld" = yes; then
1287 1.1 spz case `/usr/bin/file conftest.$ac_objext` in
1288 1.1 spz *32-bit*)
1289 1.1 spz LD="${LD-ld} -melf32bsmip"
1290 1.1 spz ;;
1291 1.1 spz *N32*)
1292 1.1 spz LD="${LD-ld} -melf32bmipn32"
1293 1.1 spz ;;
1294 1.1 spz *64-bit*)
1295 1.1 spz LD="${LD-ld} -melf64bmip"
1296 1.1 spz ;;
1297 1.1 spz esac
1298 1.1 spz else
1299 1.1 spz case `/usr/bin/file conftest.$ac_objext` in
1300 1.1 spz *32-bit*)
1301 1.1 spz LD="${LD-ld} -32"
1302 1.1 spz ;;
1303 1.1 spz *N32*)
1304 1.1 spz LD="${LD-ld} -n32"
1305 1.1 spz ;;
1306 1.1 spz *64-bit*)
1307 1.1 spz LD="${LD-ld} -64"
1308 1.1 spz ;;
1309 1.1 spz esac
1310 1.1 spz fi
1311 1.1 spz fi
1312 1.1 spz rm -rf conftest*
1313 1.1 spz ;;
1314 1.1 spz
1315 1.1.1.2 spz x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
1316 1.1 spz s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1317 1.1 spz # Find out which ABI we are using.
1318 1.1 spz echo 'int i;' > conftest.$ac_ext
1319 1.1 spz if AC_TRY_EVAL(ac_compile); then
1320 1.1 spz case `/usr/bin/file conftest.o` in
1321 1.1 spz *32-bit*)
1322 1.1 spz case $host in
1323 1.1 spz x86_64-*kfreebsd*-gnu)
1324 1.1 spz LD="${LD-ld} -m elf_i386_fbsd"
1325 1.1 spz ;;
1326 1.1 spz x86_64-*linux*)
1327 1.1.1.2 spz case `/usr/bin/file conftest.o` in
1328 1.1.1.2 spz *x86-64*)
1329 1.1.1.2 spz LD="${LD-ld} -m elf32_x86_64"
1330 1.1.1.2 spz ;;
1331 1.1.1.2 spz *)
1332 1.1.1.2 spz LD="${LD-ld} -m elf_i386"
1333 1.1.1.2 spz ;;
1334 1.1.1.2 spz esac
1335 1.1.1.2 spz ;;
1336 1.1.1.2 spz powerpc64le-*)
1337 1.1.1.2 spz LD="${LD-ld} -m elf32lppclinux"
1338 1.1 spz ;;
1339 1.1.1.2 spz powerpc64-*)
1340 1.1 spz LD="${LD-ld} -m elf32ppclinux"
1341 1.1 spz ;;
1342 1.1 spz s390x-*linux*)
1343 1.1 spz LD="${LD-ld} -m elf_s390"
1344 1.1 spz ;;
1345 1.1 spz sparc64-*linux*)
1346 1.1 spz LD="${LD-ld} -m elf32_sparc"
1347 1.1 spz ;;
1348 1.1 spz esac
1349 1.1 spz ;;
1350 1.1 spz *64-bit*)
1351 1.1 spz case $host in
1352 1.1 spz x86_64-*kfreebsd*-gnu)
1353 1.1 spz LD="${LD-ld} -m elf_x86_64_fbsd"
1354 1.1 spz ;;
1355 1.1 spz x86_64-*linux*)
1356 1.1 spz LD="${LD-ld} -m elf_x86_64"
1357 1.1 spz ;;
1358 1.1.1.2 spz powerpcle-*)
1359 1.1.1.2 spz LD="${LD-ld} -m elf64lppc"
1360 1.1.1.2 spz ;;
1361 1.1.1.2 spz powerpc-*)
1362 1.1 spz LD="${LD-ld} -m elf64ppc"
1363 1.1 spz ;;
1364 1.1 spz s390*-*linux*|s390*-*tpf*)
1365 1.1 spz LD="${LD-ld} -m elf64_s390"
1366 1.1 spz ;;
1367 1.1 spz sparc*-*linux*)
1368 1.1 spz LD="${LD-ld} -m elf64_sparc"
1369 1.1 spz ;;
1370 1.1 spz esac
1371 1.1 spz ;;
1372 1.1 spz esac
1373 1.1 spz fi
1374 1.1 spz rm -rf conftest*
1375 1.1 spz ;;
1376 1.1 spz
1377 1.1 spz *-*-sco3.2v5*)
1378 1.1 spz # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1379 1.1 spz SAVE_CFLAGS="$CFLAGS"
1380 1.1 spz CFLAGS="$CFLAGS -belf"
1381 1.1 spz AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1382 1.1 spz [AC_LANG_PUSH(C)
1383 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1384 1.1 spz AC_LANG_POP])
1385 1.1 spz if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1386 1.1 spz # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1387 1.1 spz CFLAGS="$SAVE_CFLAGS"
1388 1.1 spz fi
1389 1.1 spz ;;
1390 1.1.1.2 spz *-*solaris*)
1391 1.1 spz # Find out which ABI we are using.
1392 1.1 spz echo 'int i;' > conftest.$ac_ext
1393 1.1 spz if AC_TRY_EVAL(ac_compile); then
1394 1.1 spz case `/usr/bin/file conftest.o` in
1395 1.1 spz *64-bit*)
1396 1.1 spz case $lt_cv_prog_gnu_ld in
1397 1.1.1.2 spz yes*)
1398 1.1.1.2 spz case $host in
1399 1.1.1.2 spz i?86-*-solaris*)
1400 1.1.1.2 spz LD="${LD-ld} -m elf_x86_64"
1401 1.1.1.2 spz ;;
1402 1.1.1.2 spz sparc*-*-solaris*)
1403 1.1.1.2 spz LD="${LD-ld} -m elf64_sparc"
1404 1.1.1.2 spz ;;
1405 1.1.1.2 spz esac
1406 1.1.1.2 spz # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1407 1.1.1.2 spz if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1408 1.1.1.2 spz LD="${LD-ld}_sol2"
1409 1.1.1.2 spz fi
1410 1.1.1.2 spz ;;
1411 1.1 spz *)
1412 1.1 spz if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1413 1.1 spz LD="${LD-ld} -64"
1414 1.1 spz fi
1415 1.1 spz ;;
1416 1.1 spz esac
1417 1.1 spz ;;
1418 1.1 spz esac
1419 1.1 spz fi
1420 1.1 spz rm -rf conftest*
1421 1.1 spz ;;
1422 1.1 spz esac
1423 1.1 spz
1424 1.1 spz need_locks="$enable_libtool_lock"
1425 1.1 spz ])# _LT_ENABLE_LOCK
1426 1.1 spz
1427 1.1 spz
1428 1.1 spz # _LT_PROG_AR
1429 1.1 spz # -----------
1430 1.1 spz m4_defun([_LT_PROG_AR],
1431 1.1 spz [AC_CHECK_TOOLS(AR, [ar], false)
1432 1.1 spz : ${AR=ar}
1433 1.1 spz : ${AR_FLAGS=cru}
1434 1.1 spz _LT_DECL([], [AR], [1], [The archiver])
1435 1.1 spz _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1436 1.1 spz
1437 1.1 spz AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1438 1.1 spz [lt_cv_ar_at_file=no
1439 1.1 spz AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1440 1.1 spz [echo conftest.$ac_objext > conftest.lst
1441 1.1 spz lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1442 1.1 spz AC_TRY_EVAL([lt_ar_try])
1443 1.1 spz if test "$ac_status" -eq 0; then
1444 1.1 spz # Ensure the archiver fails upon bogus file names.
1445 1.1 spz rm -f conftest.$ac_objext libconftest.a
1446 1.1 spz AC_TRY_EVAL([lt_ar_try])
1447 1.1 spz if test "$ac_status" -ne 0; then
1448 1.1 spz lt_cv_ar_at_file=@
1449 1.1 spz fi
1450 1.1 spz fi
1451 1.1 spz rm -f conftest.* libconftest.a
1452 1.1 spz ])
1453 1.1 spz ])
1454 1.1 spz
1455 1.1 spz if test "x$lt_cv_ar_at_file" = xno; then
1456 1.1 spz archiver_list_spec=
1457 1.1 spz else
1458 1.1 spz archiver_list_spec=$lt_cv_ar_at_file
1459 1.1 spz fi
1460 1.1 spz _LT_DECL([], [archiver_list_spec], [1],
1461 1.1 spz [How to feed a file listing to the archiver])
1462 1.1 spz ])# _LT_PROG_AR
1463 1.1 spz
1464 1.1 spz
1465 1.1 spz # _LT_CMD_OLD_ARCHIVE
1466 1.1 spz # -------------------
1467 1.1 spz m4_defun([_LT_CMD_OLD_ARCHIVE],
1468 1.1 spz [_LT_PROG_AR
1469 1.1 spz
1470 1.1 spz AC_CHECK_TOOL(STRIP, strip, :)
1471 1.1 spz test -z "$STRIP" && STRIP=:
1472 1.1 spz _LT_DECL([], [STRIP], [1], [A symbol stripping program])
1473 1.1 spz
1474 1.1 spz AC_CHECK_TOOL(RANLIB, ranlib, :)
1475 1.1 spz test -z "$RANLIB" && RANLIB=:
1476 1.1 spz _LT_DECL([], [RANLIB], [1],
1477 1.1 spz [Commands used to install an old-style archive])
1478 1.1 spz
1479 1.1 spz # Determine commands to create old-style static archives.
1480 1.1 spz old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1481 1.1 spz old_postinstall_cmds='chmod 644 $oldlib'
1482 1.1 spz old_postuninstall_cmds=
1483 1.1 spz
1484 1.1 spz if test -n "$RANLIB"; then
1485 1.1 spz case $host_os in
1486 1.1 spz openbsd*)
1487 1.1.1.2 spz old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1488 1.1 spz ;;
1489 1.1 spz *)
1490 1.1.1.2 spz old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1491 1.1 spz ;;
1492 1.1 spz esac
1493 1.1.1.2 spz old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1494 1.1 spz fi
1495 1.1 spz
1496 1.1 spz case $host_os in
1497 1.1 spz darwin*)
1498 1.1 spz lock_old_archive_extraction=yes ;;
1499 1.1 spz *)
1500 1.1 spz lock_old_archive_extraction=no ;;
1501 1.1 spz esac
1502 1.1 spz _LT_DECL([], [old_postinstall_cmds], [2])
1503 1.1 spz _LT_DECL([], [old_postuninstall_cmds], [2])
1504 1.1 spz _LT_TAGDECL([], [old_archive_cmds], [2],
1505 1.1 spz [Commands used to build an old-style archive])
1506 1.1 spz _LT_DECL([], [lock_old_archive_extraction], [0],
1507 1.1 spz [Whether to use a lock for old archive extraction])
1508 1.1 spz ])# _LT_CMD_OLD_ARCHIVE
1509 1.1 spz
1510 1.1 spz
1511 1.1 spz # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1512 1.1 spz # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1513 1.1 spz # ----------------------------------------------------------------
1514 1.1 spz # Check whether the given compiler option works
1515 1.1 spz AC_DEFUN([_LT_COMPILER_OPTION],
1516 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1517 1.1 spz m4_require([_LT_DECL_SED])dnl
1518 1.1 spz AC_CACHE_CHECK([$1], [$2],
1519 1.1 spz [$2=no
1520 1.1 spz m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1521 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1522 1.1 spz lt_compiler_flag="$3"
1523 1.1 spz # Insert the option either (1) after the last *FLAGS variable, or
1524 1.1 spz # (2) before a word containing "conftest.", or (3) at the end.
1525 1.1 spz # Note that $ac_compile itself does not contain backslashes and begins
1526 1.1 spz # with a dollar sign (not a hyphen), so the echo should work correctly.
1527 1.1 spz # The option is referenced via a variable to avoid confusing sed.
1528 1.1 spz lt_compile=`echo "$ac_compile" | $SED \
1529 1.1 spz -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1530 1.1 spz -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1531 1.1 spz -e 's:$: $lt_compiler_flag:'`
1532 1.1 spz (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1533 1.1 spz (eval "$lt_compile" 2>conftest.err)
1534 1.1 spz ac_status=$?
1535 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
1536 1.1 spz echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1537 1.1 spz if (exit $ac_status) && test -s "$ac_outfile"; then
1538 1.1 spz # The compiler can only warn and ignore the option if not recognized
1539 1.1 spz # So say no if there are warnings other than the usual output.
1540 1.1 spz $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1541 1.1 spz $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1542 1.1 spz if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1543 1.1 spz $2=yes
1544 1.1 spz fi
1545 1.1 spz fi
1546 1.1 spz $RM conftest*
1547 1.1 spz ])
1548 1.1 spz
1549 1.1 spz if test x"[$]$2" = xyes; then
1550 1.1 spz m4_if([$5], , :, [$5])
1551 1.1 spz else
1552 1.1 spz m4_if([$6], , :, [$6])
1553 1.1 spz fi
1554 1.1 spz ])# _LT_COMPILER_OPTION
1555 1.1 spz
1556 1.1 spz # Old name:
1557 1.1 spz AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1558 1.1 spz dnl aclocal-1.4 backwards compatibility:
1559 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1560 1.1 spz
1561 1.1 spz
1562 1.1 spz # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1563 1.1 spz # [ACTION-SUCCESS], [ACTION-FAILURE])
1564 1.1 spz # ----------------------------------------------------
1565 1.1 spz # Check whether the given linker option works
1566 1.1 spz AC_DEFUN([_LT_LINKER_OPTION],
1567 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1568 1.1 spz m4_require([_LT_DECL_SED])dnl
1569 1.1 spz AC_CACHE_CHECK([$1], [$2],
1570 1.1 spz [$2=no
1571 1.1 spz save_LDFLAGS="$LDFLAGS"
1572 1.1 spz LDFLAGS="$LDFLAGS $3"
1573 1.1 spz echo "$lt_simple_link_test_code" > conftest.$ac_ext
1574 1.1 spz if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1575 1.1 spz # The linker can only warn and ignore the option if not recognized
1576 1.1 spz # So say no if there are warnings
1577 1.1 spz if test -s conftest.err; then
1578 1.1 spz # Append any errors to the config.log.
1579 1.1 spz cat conftest.err 1>&AS_MESSAGE_LOG_FD
1580 1.1 spz $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1581 1.1 spz $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1582 1.1 spz if diff conftest.exp conftest.er2 >/dev/null; then
1583 1.1 spz $2=yes
1584 1.1 spz fi
1585 1.1 spz else
1586 1.1 spz $2=yes
1587 1.1 spz fi
1588 1.1 spz fi
1589 1.1 spz $RM -r conftest*
1590 1.1 spz LDFLAGS="$save_LDFLAGS"
1591 1.1 spz ])
1592 1.1 spz
1593 1.1 spz if test x"[$]$2" = xyes; then
1594 1.1 spz m4_if([$4], , :, [$4])
1595 1.1 spz else
1596 1.1 spz m4_if([$5], , :, [$5])
1597 1.1 spz fi
1598 1.1 spz ])# _LT_LINKER_OPTION
1599 1.1 spz
1600 1.1 spz # Old name:
1601 1.1 spz AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1602 1.1 spz dnl aclocal-1.4 backwards compatibility:
1603 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1604 1.1 spz
1605 1.1 spz
1606 1.1 spz # LT_CMD_MAX_LEN
1607 1.1 spz #---------------
1608 1.1 spz AC_DEFUN([LT_CMD_MAX_LEN],
1609 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1610 1.1 spz # find the maximum length of command line arguments
1611 1.1 spz AC_MSG_CHECKING([the maximum length of command line arguments])
1612 1.1 spz AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1613 1.1 spz i=0
1614 1.1 spz teststring="ABCD"
1615 1.1 spz
1616 1.1 spz case $build_os in
1617 1.1 spz msdosdjgpp*)
1618 1.1 spz # On DJGPP, this test can blow up pretty badly due to problems in libc
1619 1.1 spz # (any single argument exceeding 2000 bytes causes a buffer overrun
1620 1.1 spz # during glob expansion). Even if it were fixed, the result of this
1621 1.1 spz # check would be larger than it should be.
1622 1.1 spz lt_cv_sys_max_cmd_len=12288; # 12K is about right
1623 1.1 spz ;;
1624 1.1 spz
1625 1.1 spz gnu*)
1626 1.1 spz # Under GNU Hurd, this test is not required because there is
1627 1.1 spz # no limit to the length of command line arguments.
1628 1.1 spz # Libtool will interpret -1 as no limit whatsoever
1629 1.1 spz lt_cv_sys_max_cmd_len=-1;
1630 1.1 spz ;;
1631 1.1 spz
1632 1.1 spz cygwin* | mingw* | cegcc*)
1633 1.1 spz # On Win9x/ME, this test blows up -- it succeeds, but takes
1634 1.1 spz # about 5 minutes as the teststring grows exponentially.
1635 1.1 spz # Worse, since 9x/ME are not pre-emptively multitasking,
1636 1.1 spz # you end up with a "frozen" computer, even though with patience
1637 1.1 spz # the test eventually succeeds (with a max line length of 256k).
1638 1.1 spz # Instead, let's just punt: use the minimum linelength reported by
1639 1.1 spz # all of the supported platforms: 8192 (on NT/2K/XP).
1640 1.1 spz lt_cv_sys_max_cmd_len=8192;
1641 1.1 spz ;;
1642 1.1 spz
1643 1.1 spz mint*)
1644 1.1 spz # On MiNT this can take a long time and run out of memory.
1645 1.1 spz lt_cv_sys_max_cmd_len=8192;
1646 1.1 spz ;;
1647 1.1 spz
1648 1.1 spz amigaos*)
1649 1.1 spz # On AmigaOS with pdksh, this test takes hours, literally.
1650 1.1 spz # So we just punt and use a minimum line length of 8192.
1651 1.1 spz lt_cv_sys_max_cmd_len=8192;
1652 1.1 spz ;;
1653 1.1 spz
1654 1.1 spz netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1655 1.1 spz # This has been around since 386BSD, at least. Likely further.
1656 1.1 spz if test -x /sbin/sysctl; then
1657 1.1 spz lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1658 1.1 spz elif test -x /usr/sbin/sysctl; then
1659 1.1 spz lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1660 1.1 spz else
1661 1.1 spz lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1662 1.1 spz fi
1663 1.1 spz # And add a safety zone
1664 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1665 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1666 1.1 spz ;;
1667 1.1 spz
1668 1.1 spz interix*)
1669 1.1 spz # We know the value 262144 and hardcode it with a safety zone (like BSD)
1670 1.1 spz lt_cv_sys_max_cmd_len=196608
1671 1.1 spz ;;
1672 1.1 spz
1673 1.1.1.2 spz os2*)
1674 1.1.1.2 spz # The test takes a long time on OS/2.
1675 1.1.1.2 spz lt_cv_sys_max_cmd_len=8192
1676 1.1.1.2 spz ;;
1677 1.1.1.2 spz
1678 1.1 spz osf*)
1679 1.1 spz # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1680 1.1 spz # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1681 1.1 spz # nice to cause kernel panics so lets avoid the loop below.
1682 1.1 spz # First set a reasonable default.
1683 1.1 spz lt_cv_sys_max_cmd_len=16384
1684 1.1 spz #
1685 1.1 spz if test -x /sbin/sysconfig; then
1686 1.1 spz case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1687 1.1 spz *1*) lt_cv_sys_max_cmd_len=-1 ;;
1688 1.1 spz esac
1689 1.1 spz fi
1690 1.1 spz ;;
1691 1.1 spz sco3.2v5*)
1692 1.1 spz lt_cv_sys_max_cmd_len=102400
1693 1.1 spz ;;
1694 1.1 spz sysv5* | sco5v6* | sysv4.2uw2*)
1695 1.1 spz kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1696 1.1 spz if test -n "$kargmax"; then
1697 1.1 spz lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1698 1.1 spz else
1699 1.1 spz lt_cv_sys_max_cmd_len=32768
1700 1.1 spz fi
1701 1.1 spz ;;
1702 1.1 spz *)
1703 1.1 spz lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1704 1.1.1.2 spz if test -n "$lt_cv_sys_max_cmd_len" && \
1705 1.1.1.2 spz test undefined != "$lt_cv_sys_max_cmd_len"; then
1706 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1707 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1708 1.1 spz else
1709 1.1 spz # Make teststring a little bigger before we do anything with it.
1710 1.1 spz # a 1K string should be a reasonable start.
1711 1.1 spz for i in 1 2 3 4 5 6 7 8 ; do
1712 1.1 spz teststring=$teststring$teststring
1713 1.1 spz done
1714 1.1 spz SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1715 1.1 spz # If test is not a shell built-in, we'll probably end up computing a
1716 1.1 spz # maximum length that is only half of the actual maximum length, but
1717 1.1 spz # we can't tell.
1718 1.1.1.2 spz while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
1719 1.1 spz = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1720 1.1 spz test $i != 17 # 1/2 MB should be enough
1721 1.1 spz do
1722 1.1 spz i=`expr $i + 1`
1723 1.1 spz teststring=$teststring$teststring
1724 1.1 spz done
1725 1.1 spz # Only check the string length outside the loop.
1726 1.1 spz lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1727 1.1 spz teststring=
1728 1.1 spz # Add a significant safety factor because C++ compilers can tack on
1729 1.1 spz # massive amounts of additional arguments before passing them to the
1730 1.1 spz # linker. It appears as though 1/2 is a usable value.
1731 1.1 spz lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1732 1.1 spz fi
1733 1.1 spz ;;
1734 1.1 spz esac
1735 1.1 spz ])
1736 1.1 spz if test -n $lt_cv_sys_max_cmd_len ; then
1737 1.1 spz AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1738 1.1 spz else
1739 1.1 spz AC_MSG_RESULT(none)
1740 1.1 spz fi
1741 1.1 spz max_cmd_len=$lt_cv_sys_max_cmd_len
1742 1.1 spz _LT_DECL([], [max_cmd_len], [0],
1743 1.1 spz [What is the maximum length of a command?])
1744 1.1 spz ])# LT_CMD_MAX_LEN
1745 1.1 spz
1746 1.1 spz # Old name:
1747 1.1 spz AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1748 1.1 spz dnl aclocal-1.4 backwards compatibility:
1749 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1750 1.1 spz
1751 1.1 spz
1752 1.1 spz # _LT_HEADER_DLFCN
1753 1.1 spz # ----------------
1754 1.1 spz m4_defun([_LT_HEADER_DLFCN],
1755 1.1 spz [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1756 1.1 spz ])# _LT_HEADER_DLFCN
1757 1.1 spz
1758 1.1 spz
1759 1.1 spz # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1760 1.1 spz # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1761 1.1 spz # ----------------------------------------------------------------
1762 1.1 spz m4_defun([_LT_TRY_DLOPEN_SELF],
1763 1.1 spz [m4_require([_LT_HEADER_DLFCN])dnl
1764 1.1 spz if test "$cross_compiling" = yes; then :
1765 1.1 spz [$4]
1766 1.1 spz else
1767 1.1 spz lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1768 1.1 spz lt_status=$lt_dlunknown
1769 1.1 spz cat > conftest.$ac_ext <<_LT_EOF
1770 1.1 spz [#line $LINENO "configure"
1771 1.1 spz #include "confdefs.h"
1772 1.1 spz
1773 1.1 spz #if HAVE_DLFCN_H
1774 1.1 spz #include <dlfcn.h>
1775 1.1 spz #endif
1776 1.1 spz
1777 1.1 spz #include <stdio.h>
1778 1.1 spz
1779 1.1 spz #ifdef RTLD_GLOBAL
1780 1.1 spz # define LT_DLGLOBAL RTLD_GLOBAL
1781 1.1 spz #else
1782 1.1 spz # ifdef DL_GLOBAL
1783 1.1 spz # define LT_DLGLOBAL DL_GLOBAL
1784 1.1 spz # else
1785 1.1 spz # define LT_DLGLOBAL 0
1786 1.1 spz # endif
1787 1.1 spz #endif
1788 1.1 spz
1789 1.1 spz /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1790 1.1 spz find out it does not work in some platform. */
1791 1.1 spz #ifndef LT_DLLAZY_OR_NOW
1792 1.1 spz # ifdef RTLD_LAZY
1793 1.1 spz # define LT_DLLAZY_OR_NOW RTLD_LAZY
1794 1.1 spz # else
1795 1.1 spz # ifdef DL_LAZY
1796 1.1 spz # define LT_DLLAZY_OR_NOW DL_LAZY
1797 1.1 spz # else
1798 1.1 spz # ifdef RTLD_NOW
1799 1.1 spz # define LT_DLLAZY_OR_NOW RTLD_NOW
1800 1.1 spz # else
1801 1.1 spz # ifdef DL_NOW
1802 1.1 spz # define LT_DLLAZY_OR_NOW DL_NOW
1803 1.1 spz # else
1804 1.1 spz # define LT_DLLAZY_OR_NOW 0
1805 1.1 spz # endif
1806 1.1 spz # endif
1807 1.1 spz # endif
1808 1.1 spz # endif
1809 1.1 spz #endif
1810 1.1 spz
1811 1.1 spz /* When -fvisbility=hidden is used, assume the code has been annotated
1812 1.1 spz correspondingly for the symbols needed. */
1813 1.1 spz #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1814 1.1 spz int fnord () __attribute__((visibility("default")));
1815 1.1 spz #endif
1816 1.1 spz
1817 1.1 spz int fnord () { return 42; }
1818 1.1 spz int main ()
1819 1.1 spz {
1820 1.1 spz void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1821 1.1 spz int status = $lt_dlunknown;
1822 1.1 spz
1823 1.1 spz if (self)
1824 1.1 spz {
1825 1.1 spz if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1826 1.1 spz else
1827 1.1 spz {
1828 1.1 spz if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1829 1.1 spz else puts (dlerror ());
1830 1.1 spz }
1831 1.1 spz /* dlclose (self); */
1832 1.1 spz }
1833 1.1 spz else
1834 1.1 spz puts (dlerror ());
1835 1.1 spz
1836 1.1 spz return status;
1837 1.1 spz }]
1838 1.1 spz _LT_EOF
1839 1.1 spz if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1840 1.1 spz (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1841 1.1 spz lt_status=$?
1842 1.1 spz case x$lt_status in
1843 1.1 spz x$lt_dlno_uscore) $1 ;;
1844 1.1 spz x$lt_dlneed_uscore) $2 ;;
1845 1.1 spz x$lt_dlunknown|x*) $3 ;;
1846 1.1 spz esac
1847 1.1 spz else :
1848 1.1 spz # compilation failed
1849 1.1 spz $3
1850 1.1 spz fi
1851 1.1 spz fi
1852 1.1 spz rm -fr conftest*
1853 1.1 spz ])# _LT_TRY_DLOPEN_SELF
1854 1.1 spz
1855 1.1 spz
1856 1.1 spz # LT_SYS_DLOPEN_SELF
1857 1.1 spz # ------------------
1858 1.1 spz AC_DEFUN([LT_SYS_DLOPEN_SELF],
1859 1.1 spz [m4_require([_LT_HEADER_DLFCN])dnl
1860 1.1 spz if test "x$enable_dlopen" != xyes; then
1861 1.1 spz enable_dlopen=unknown
1862 1.1 spz enable_dlopen_self=unknown
1863 1.1 spz enable_dlopen_self_static=unknown
1864 1.1 spz else
1865 1.1 spz lt_cv_dlopen=no
1866 1.1 spz lt_cv_dlopen_libs=
1867 1.1 spz
1868 1.1 spz case $host_os in
1869 1.1 spz beos*)
1870 1.1 spz lt_cv_dlopen="load_add_on"
1871 1.1 spz lt_cv_dlopen_libs=
1872 1.1 spz lt_cv_dlopen_self=yes
1873 1.1 spz ;;
1874 1.1 spz
1875 1.1 spz mingw* | pw32* | cegcc*)
1876 1.1 spz lt_cv_dlopen="LoadLibrary"
1877 1.1 spz lt_cv_dlopen_libs=
1878 1.1 spz ;;
1879 1.1 spz
1880 1.1 spz cygwin*)
1881 1.1 spz lt_cv_dlopen="dlopen"
1882 1.1 spz lt_cv_dlopen_libs=
1883 1.1 spz ;;
1884 1.1 spz
1885 1.1 spz darwin*)
1886 1.1 spz # if libdl is installed we need to link against it
1887 1.1 spz AC_CHECK_LIB([dl], [dlopen],
1888 1.1 spz [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1889 1.1 spz lt_cv_dlopen="dyld"
1890 1.1 spz lt_cv_dlopen_libs=
1891 1.1 spz lt_cv_dlopen_self=yes
1892 1.1 spz ])
1893 1.1 spz ;;
1894 1.1 spz
1895 1.1 spz *)
1896 1.1 spz AC_CHECK_FUNC([shl_load],
1897 1.1 spz [lt_cv_dlopen="shl_load"],
1898 1.1 spz [AC_CHECK_LIB([dld], [shl_load],
1899 1.1 spz [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1900 1.1 spz [AC_CHECK_FUNC([dlopen],
1901 1.1 spz [lt_cv_dlopen="dlopen"],
1902 1.1 spz [AC_CHECK_LIB([dl], [dlopen],
1903 1.1 spz [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1904 1.1 spz [AC_CHECK_LIB([svld], [dlopen],
1905 1.1 spz [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1906 1.1 spz [AC_CHECK_LIB([dld], [dld_link],
1907 1.1 spz [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1908 1.1 spz ])
1909 1.1 spz ])
1910 1.1 spz ])
1911 1.1 spz ])
1912 1.1 spz ])
1913 1.1 spz ;;
1914 1.1 spz esac
1915 1.1 spz
1916 1.1 spz if test "x$lt_cv_dlopen" != xno; then
1917 1.1 spz enable_dlopen=yes
1918 1.1 spz else
1919 1.1 spz enable_dlopen=no
1920 1.1 spz fi
1921 1.1 spz
1922 1.1 spz case $lt_cv_dlopen in
1923 1.1 spz dlopen)
1924 1.1 spz save_CPPFLAGS="$CPPFLAGS"
1925 1.1 spz test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1926 1.1 spz
1927 1.1 spz save_LDFLAGS="$LDFLAGS"
1928 1.1 spz wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1929 1.1 spz
1930 1.1 spz save_LIBS="$LIBS"
1931 1.1 spz LIBS="$lt_cv_dlopen_libs $LIBS"
1932 1.1 spz
1933 1.1 spz AC_CACHE_CHECK([whether a program can dlopen itself],
1934 1.1 spz lt_cv_dlopen_self, [dnl
1935 1.1 spz _LT_TRY_DLOPEN_SELF(
1936 1.1 spz lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1937 1.1 spz lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1938 1.1 spz ])
1939 1.1 spz
1940 1.1 spz if test "x$lt_cv_dlopen_self" = xyes; then
1941 1.1 spz wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1942 1.1 spz AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1943 1.1 spz lt_cv_dlopen_self_static, [dnl
1944 1.1 spz _LT_TRY_DLOPEN_SELF(
1945 1.1 spz lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1946 1.1 spz lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1947 1.1 spz ])
1948 1.1 spz fi
1949 1.1 spz
1950 1.1 spz CPPFLAGS="$save_CPPFLAGS"
1951 1.1 spz LDFLAGS="$save_LDFLAGS"
1952 1.1 spz LIBS="$save_LIBS"
1953 1.1 spz ;;
1954 1.1 spz esac
1955 1.1 spz
1956 1.1 spz case $lt_cv_dlopen_self in
1957 1.1 spz yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1958 1.1 spz *) enable_dlopen_self=unknown ;;
1959 1.1 spz esac
1960 1.1 spz
1961 1.1 spz case $lt_cv_dlopen_self_static in
1962 1.1 spz yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1963 1.1 spz *) enable_dlopen_self_static=unknown ;;
1964 1.1 spz esac
1965 1.1 spz fi
1966 1.1 spz _LT_DECL([dlopen_support], [enable_dlopen], [0],
1967 1.1 spz [Whether dlopen is supported])
1968 1.1 spz _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1969 1.1 spz [Whether dlopen of programs is supported])
1970 1.1 spz _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1971 1.1 spz [Whether dlopen of statically linked programs is supported])
1972 1.1 spz ])# LT_SYS_DLOPEN_SELF
1973 1.1 spz
1974 1.1 spz # Old name:
1975 1.1 spz AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1976 1.1 spz dnl aclocal-1.4 backwards compatibility:
1977 1.1 spz dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1978 1.1 spz
1979 1.1 spz
1980 1.1 spz # _LT_COMPILER_C_O([TAGNAME])
1981 1.1 spz # ---------------------------
1982 1.1 spz # Check to see if options -c and -o are simultaneously supported by compiler.
1983 1.1 spz # This macro does not hard code the compiler like AC_PROG_CC_C_O.
1984 1.1 spz m4_defun([_LT_COMPILER_C_O],
1985 1.1 spz [m4_require([_LT_DECL_SED])dnl
1986 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1987 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
1988 1.1 spz AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1989 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1990 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1991 1.1 spz $RM -r conftest 2>/dev/null
1992 1.1 spz mkdir conftest
1993 1.1 spz cd conftest
1994 1.1 spz mkdir out
1995 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1996 1.1 spz
1997 1.1 spz lt_compiler_flag="-o out/conftest2.$ac_objext"
1998 1.1 spz # Insert the option either (1) after the last *FLAGS variable, or
1999 1.1 spz # (2) before a word containing "conftest.", or (3) at the end.
2000 1.1 spz # Note that $ac_compile itself does not contain backslashes and begins
2001 1.1 spz # with a dollar sign (not a hyphen), so the echo should work correctly.
2002 1.1 spz lt_compile=`echo "$ac_compile" | $SED \
2003 1.1 spz -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
2004 1.1 spz -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
2005 1.1 spz -e 's:$: $lt_compiler_flag:'`
2006 1.1 spz (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
2007 1.1 spz (eval "$lt_compile" 2>out/conftest.err)
2008 1.1 spz ac_status=$?
2009 1.1 spz cat out/conftest.err >&AS_MESSAGE_LOG_FD
2010 1.1 spz echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2011 1.1 spz if (exit $ac_status) && test -s out/conftest2.$ac_objext
2012 1.1 spz then
2013 1.1 spz # The compiler can only warn and ignore the option if not recognized
2014 1.1 spz # So say no if there are warnings
2015 1.1 spz $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2016 1.1 spz $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2017 1.1 spz if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2018 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2019 1.1 spz fi
2020 1.1 spz fi
2021 1.1 spz chmod u+w . 2>&AS_MESSAGE_LOG_FD
2022 1.1 spz $RM conftest*
2023 1.1 spz # SGI C++ compiler will create directory out/ii_files/ for
2024 1.1 spz # template instantiation
2025 1.1 spz test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2026 1.1 spz $RM out/* && rmdir out
2027 1.1 spz cd ..
2028 1.1 spz $RM -r conftest
2029 1.1 spz $RM conftest*
2030 1.1 spz ])
2031 1.1 spz _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2032 1.1 spz [Does compiler simultaneously support -c and -o options?])
2033 1.1 spz ])# _LT_COMPILER_C_O
2034 1.1 spz
2035 1.1 spz
2036 1.1 spz # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2037 1.1 spz # ----------------------------------
2038 1.1 spz # Check to see if we can do hard links to lock some files if needed
2039 1.1 spz m4_defun([_LT_COMPILER_FILE_LOCKS],
2040 1.1 spz [m4_require([_LT_ENABLE_LOCK])dnl
2041 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2042 1.1 spz _LT_COMPILER_C_O([$1])
2043 1.1 spz
2044 1.1 spz hard_links="nottested"
2045 1.1 spz if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2046 1.1 spz # do not overwrite the value of need_locks provided by the user
2047 1.1 spz AC_MSG_CHECKING([if we can lock with hard links])
2048 1.1 spz hard_links=yes
2049 1.1 spz $RM conftest*
2050 1.1 spz ln conftest.a conftest.b 2>/dev/null && hard_links=no
2051 1.1 spz touch conftest.a
2052 1.1 spz ln conftest.a conftest.b 2>&5 || hard_links=no
2053 1.1 spz ln conftest.a conftest.b 2>/dev/null && hard_links=no
2054 1.1 spz AC_MSG_RESULT([$hard_links])
2055 1.1 spz if test "$hard_links" = no; then
2056 1.1 spz AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2057 1.1 spz need_locks=warn
2058 1.1 spz fi
2059 1.1 spz else
2060 1.1 spz need_locks=no
2061 1.1 spz fi
2062 1.1 spz _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2063 1.1 spz ])# _LT_COMPILER_FILE_LOCKS
2064 1.1 spz
2065 1.1 spz
2066 1.1 spz # _LT_CHECK_OBJDIR
2067 1.1 spz # ----------------
2068 1.1 spz m4_defun([_LT_CHECK_OBJDIR],
2069 1.1 spz [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2070 1.1 spz [rm -f .libs 2>/dev/null
2071 1.1 spz mkdir .libs 2>/dev/null
2072 1.1 spz if test -d .libs; then
2073 1.1 spz lt_cv_objdir=.libs
2074 1.1 spz else
2075 1.1 spz # MS-DOS does not allow filenames that begin with a dot.
2076 1.1 spz lt_cv_objdir=_libs
2077 1.1 spz fi
2078 1.1 spz rmdir .libs 2>/dev/null])
2079 1.1 spz objdir=$lt_cv_objdir
2080 1.1 spz _LT_DECL([], [objdir], [0],
2081 1.1 spz [The name of the directory that contains temporary libtool files])dnl
2082 1.1 spz m4_pattern_allow([LT_OBJDIR])dnl
2083 1.1 spz AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2084 1.1 spz [Define to the sub-directory in which libtool stores uninstalled libraries.])
2085 1.1 spz ])# _LT_CHECK_OBJDIR
2086 1.1 spz
2087 1.1 spz
2088 1.1 spz # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2089 1.1 spz # --------------------------------------
2090 1.1 spz # Check hardcoding attributes.
2091 1.1 spz m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2092 1.1 spz [AC_MSG_CHECKING([how to hardcode library paths into programs])
2093 1.1 spz _LT_TAGVAR(hardcode_action, $1)=
2094 1.1 spz if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2095 1.1 spz test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2096 1.1 spz test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2097 1.1 spz
2098 1.1 spz # We can hardcode non-existent directories.
2099 1.1 spz if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
2100 1.1 spz # If the only mechanism to avoid hardcoding is shlibpath_var, we
2101 1.1 spz # have to relink, otherwise we might link with an installed library
2102 1.1 spz # when we should be linking with a yet-to-be-installed one
2103 1.1 spz ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2104 1.1 spz test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
2105 1.1 spz # Linking always hardcodes the temporary library directory.
2106 1.1 spz _LT_TAGVAR(hardcode_action, $1)=relink
2107 1.1 spz else
2108 1.1 spz # We can link without hardcoding, and we can hardcode nonexisting dirs.
2109 1.1 spz _LT_TAGVAR(hardcode_action, $1)=immediate
2110 1.1 spz fi
2111 1.1 spz else
2112 1.1 spz # We cannot hardcode anything, or else we can only hardcode existing
2113 1.1 spz # directories.
2114 1.1 spz _LT_TAGVAR(hardcode_action, $1)=unsupported
2115 1.1 spz fi
2116 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2117 1.1 spz
2118 1.1 spz if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2119 1.1 spz test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2120 1.1 spz # Fast installation is not supported
2121 1.1 spz enable_fast_install=no
2122 1.1 spz elif test "$shlibpath_overrides_runpath" = yes ||
2123 1.1 spz test "$enable_shared" = no; then
2124 1.1 spz # Fast installation is not necessary
2125 1.1 spz enable_fast_install=needless
2126 1.1 spz fi
2127 1.1 spz _LT_TAGDECL([], [hardcode_action], [0],
2128 1.1 spz [How to hardcode a shared library path into an executable])
2129 1.1 spz ])# _LT_LINKER_HARDCODE_LIBPATH
2130 1.1 spz
2131 1.1 spz
2132 1.1 spz # _LT_CMD_STRIPLIB
2133 1.1 spz # ----------------
2134 1.1 spz m4_defun([_LT_CMD_STRIPLIB],
2135 1.1 spz [m4_require([_LT_DECL_EGREP])
2136 1.1 spz striplib=
2137 1.1 spz old_striplib=
2138 1.1 spz AC_MSG_CHECKING([whether stripping libraries is possible])
2139 1.1 spz if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2140 1.1 spz test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2141 1.1 spz test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2142 1.1 spz AC_MSG_RESULT([yes])
2143 1.1 spz else
2144 1.1 spz # FIXME - insert some real tests, host_os isn't really good enough
2145 1.1 spz case $host_os in
2146 1.1 spz darwin*)
2147 1.1 spz if test -n "$STRIP" ; then
2148 1.1 spz striplib="$STRIP -x"
2149 1.1 spz old_striplib="$STRIP -S"
2150 1.1 spz AC_MSG_RESULT([yes])
2151 1.1 spz else
2152 1.1 spz AC_MSG_RESULT([no])
2153 1.1 spz fi
2154 1.1 spz ;;
2155 1.1 spz *)
2156 1.1 spz AC_MSG_RESULT([no])
2157 1.1 spz ;;
2158 1.1 spz esac
2159 1.1 spz fi
2160 1.1 spz _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2161 1.1 spz _LT_DECL([], [striplib], [1])
2162 1.1 spz ])# _LT_CMD_STRIPLIB
2163 1.1 spz
2164 1.1 spz
2165 1.1 spz # _LT_SYS_DYNAMIC_LINKER([TAG])
2166 1.1 spz # -----------------------------
2167 1.1 spz # PORTME Fill in your ld.so characteristics
2168 1.1 spz m4_defun([_LT_SYS_DYNAMIC_LINKER],
2169 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2170 1.1 spz m4_require([_LT_DECL_EGREP])dnl
2171 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2172 1.1 spz m4_require([_LT_DECL_OBJDUMP])dnl
2173 1.1 spz m4_require([_LT_DECL_SED])dnl
2174 1.1 spz m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2175 1.1 spz AC_MSG_CHECKING([dynamic linker characteristics])
2176 1.1 spz m4_if([$1],
2177 1.1 spz [], [
2178 1.1 spz if test "$GCC" = yes; then
2179 1.1 spz case $host_os in
2180 1.1 spz darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2181 1.1 spz *) lt_awk_arg="/^libraries:/" ;;
2182 1.1 spz esac
2183 1.1 spz case $host_os in
2184 1.1 spz mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
2185 1.1 spz *) lt_sed_strip_eq="s,=/,/,g" ;;
2186 1.1 spz esac
2187 1.1 spz lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2188 1.1 spz case $lt_search_path_spec in
2189 1.1 spz *\;*)
2190 1.1 spz # if the path contains ";" then we assume it to be the separator
2191 1.1 spz # otherwise default to the standard path separator (i.e. ":") - it is
2192 1.1 spz # assumed that no part of a normal pathname contains ";" but that should
2193 1.1 spz # okay in the real world where ";" in dirpaths is itself problematic.
2194 1.1 spz lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2195 1.1 spz ;;
2196 1.1 spz *)
2197 1.1 spz lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2198 1.1 spz ;;
2199 1.1 spz esac
2200 1.1 spz # Ok, now we have the path, separated by spaces, we can step through it
2201 1.1 spz # and add multilib dir if necessary.
2202 1.1 spz lt_tmp_lt_search_path_spec=
2203 1.1 spz lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2204 1.1 spz for lt_sys_path in $lt_search_path_spec; do
2205 1.1 spz if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2206 1.1 spz lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2207 1.1 spz else
2208 1.1 spz test -d "$lt_sys_path" && \
2209 1.1 spz lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2210 1.1 spz fi
2211 1.1 spz done
2212 1.1 spz lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2213 1.1 spz BEGIN {RS=" "; FS="/|\n";} {
2214 1.1 spz lt_foo="";
2215 1.1 spz lt_count=0;
2216 1.1 spz for (lt_i = NF; lt_i > 0; lt_i--) {
2217 1.1 spz if ($lt_i != "" && $lt_i != ".") {
2218 1.1 spz if ($lt_i == "..") {
2219 1.1 spz lt_count++;
2220 1.1 spz } else {
2221 1.1 spz if (lt_count == 0) {
2222 1.1 spz lt_foo="/" $lt_i lt_foo;
2223 1.1 spz } else {
2224 1.1 spz lt_count--;
2225 1.1 spz }
2226 1.1 spz }
2227 1.1 spz }
2228 1.1 spz }
2229 1.1 spz if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2230 1.1 spz if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2231 1.1 spz }'`
2232 1.1 spz # AWK program above erroneously prepends '/' to C:/dos/paths
2233 1.1 spz # for these hosts.
2234 1.1 spz case $host_os in
2235 1.1 spz mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2236 1.1 spz $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
2237 1.1 spz esac
2238 1.1 spz sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2239 1.1 spz else
2240 1.1 spz sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2241 1.1 spz fi])
2242 1.1 spz library_names_spec=
2243 1.1 spz libname_spec='lib$name'
2244 1.1 spz soname_spec=
2245 1.1 spz shrext_cmds=".so"
2246 1.1 spz postinstall_cmds=
2247 1.1 spz postuninstall_cmds=
2248 1.1 spz finish_cmds=
2249 1.1 spz finish_eval=
2250 1.1 spz shlibpath_var=
2251 1.1 spz shlibpath_overrides_runpath=unknown
2252 1.1 spz version_type=none
2253 1.1 spz dynamic_linker="$host_os ld.so"
2254 1.1 spz sys_lib_dlsearch_path_spec="/lib /usr/lib"
2255 1.1 spz need_lib_prefix=unknown
2256 1.1 spz hardcode_into_libs=no
2257 1.1 spz
2258 1.1 spz # when you set need_version to no, make sure it does not cause -set_version
2259 1.1 spz # flags to be left without arguments
2260 1.1 spz need_version=unknown
2261 1.1 spz
2262 1.1 spz case $host_os in
2263 1.1 spz aix3*)
2264 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2265 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2266 1.1 spz shlibpath_var=LIBPATH
2267 1.1 spz
2268 1.1 spz # AIX 3 has no versioning support, so we append a major version to the name.
2269 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2270 1.1 spz ;;
2271 1.1 spz
2272 1.1 spz aix[[4-9]]*)
2273 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2274 1.1 spz need_lib_prefix=no
2275 1.1 spz need_version=no
2276 1.1 spz hardcode_into_libs=yes
2277 1.1 spz if test "$host_cpu" = ia64; then
2278 1.1 spz # AIX 5 supports IA64
2279 1.1 spz library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2280 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2281 1.1 spz else
2282 1.1 spz # With GCC up to 2.95.x, collect2 would create an import file
2283 1.1 spz # for dependence libraries. The import file would start with
2284 1.1 spz # the line `#! .'. This would cause the generated library to
2285 1.1 spz # depend on `.', always an invalid library. This was fixed in
2286 1.1 spz # development snapshots of GCC prior to 3.0.
2287 1.1 spz case $host_os in
2288 1.1 spz aix4 | aix4.[[01]] | aix4.[[01]].*)
2289 1.1 spz if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2290 1.1 spz echo ' yes '
2291 1.1 spz echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2292 1.1 spz :
2293 1.1 spz else
2294 1.1 spz can_build_shared=no
2295 1.1 spz fi
2296 1.1 spz ;;
2297 1.1 spz esac
2298 1.1 spz # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2299 1.1 spz # soname into executable. Probably we can add versioning support to
2300 1.1 spz # collect2, so additional links can be useful in future.
2301 1.1 spz if test "$aix_use_runtimelinking" = yes; then
2302 1.1 spz # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2303 1.1 spz # instead of lib<name>.a to let people know that these are not
2304 1.1 spz # typical AIX shared libraries.
2305 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2306 1.1 spz else
2307 1.1 spz # We preserve .a as extension for shared libraries through AIX4.2
2308 1.1 spz # and later when we are not doing run time linking.
2309 1.1 spz library_names_spec='${libname}${release}.a $libname.a'
2310 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2311 1.1 spz fi
2312 1.1 spz shlibpath_var=LIBPATH
2313 1.1 spz fi
2314 1.1 spz ;;
2315 1.1 spz
2316 1.1 spz amigaos*)
2317 1.1 spz case $host_cpu in
2318 1.1 spz powerpc)
2319 1.1 spz # Since July 2007 AmigaOS4 officially supports .so libraries.
2320 1.1 spz # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2321 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2322 1.1 spz ;;
2323 1.1 spz m68k)
2324 1.1 spz library_names_spec='$libname.ixlibrary $libname.a'
2325 1.1 spz # Create ${libname}_ixlibrary.a entries in /sys/libs.
2326 1.1 spz finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $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'
2327 1.1 spz ;;
2328 1.1 spz esac
2329 1.1 spz ;;
2330 1.1 spz
2331 1.1 spz beos*)
2332 1.1 spz library_names_spec='${libname}${shared_ext}'
2333 1.1 spz dynamic_linker="$host_os ld.so"
2334 1.1 spz shlibpath_var=LIBRARY_PATH
2335 1.1 spz ;;
2336 1.1 spz
2337 1.1 spz bsdi[[45]]*)
2338 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2339 1.1 spz need_version=no
2340 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2341 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2342 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2343 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2344 1.1 spz sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2345 1.1 spz sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2346 1.1 spz # the default ld.so.conf also contains /usr/contrib/lib and
2347 1.1 spz # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2348 1.1 spz # libtool to hard-code these into programs
2349 1.1 spz ;;
2350 1.1 spz
2351 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
2352 1.1 spz version_type=windows
2353 1.1 spz shrext_cmds=".dll"
2354 1.1 spz need_version=no
2355 1.1 spz need_lib_prefix=no
2356 1.1 spz
2357 1.1 spz case $GCC,$cc_basename in
2358 1.1 spz yes,*)
2359 1.1 spz # gcc
2360 1.1 spz library_names_spec='$libname.dll.a'
2361 1.1 spz # DLL is installed to $(libdir)/../bin by postinstall_cmds
2362 1.1 spz postinstall_cmds='base_file=`basename \${file}`~
2363 1.1 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2364 1.1 spz dldir=$destdir/`dirname \$dlpath`~
2365 1.1 spz test -d \$dldir || mkdir -p \$dldir~
2366 1.1 spz $install_prog $dir/$dlname \$dldir/$dlname~
2367 1.1 spz chmod a+x \$dldir/$dlname~
2368 1.1 spz if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2369 1.1 spz eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2370 1.1 spz fi'
2371 1.1 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2372 1.1 spz dlpath=$dir/\$dldll~
2373 1.1 spz $RM \$dlpath'
2374 1.1 spz shlibpath_overrides_runpath=yes
2375 1.1 spz
2376 1.1 spz case $host_os in
2377 1.1 spz cygwin*)
2378 1.1 spz # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2379 1.1 spz soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2380 1.1 spz m4_if([$1], [],[
2381 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2382 1.1 spz ;;
2383 1.1 spz mingw* | cegcc*)
2384 1.1 spz # MinGW DLLs use traditional 'lib' prefix
2385 1.1 spz soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2386 1.1 spz ;;
2387 1.1 spz pw32*)
2388 1.1 spz # pw32 DLLs use 'pw' prefix rather than 'lib'
2389 1.1 spz library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2390 1.1 spz ;;
2391 1.1 spz esac
2392 1.1 spz dynamic_linker='Win32 ld.exe'
2393 1.1 spz ;;
2394 1.1 spz
2395 1.1 spz *,cl*)
2396 1.1 spz # Native MSVC
2397 1.1 spz libname_spec='$name'
2398 1.1 spz soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2399 1.1 spz library_names_spec='${libname}.dll.lib'
2400 1.1 spz
2401 1.1 spz case $build_os in
2402 1.1 spz mingw*)
2403 1.1 spz sys_lib_search_path_spec=
2404 1.1 spz lt_save_ifs=$IFS
2405 1.1 spz IFS=';'
2406 1.1 spz for lt_path in $LIB
2407 1.1 spz do
2408 1.1 spz IFS=$lt_save_ifs
2409 1.1 spz # Let DOS variable expansion print the short 8.3 style file name.
2410 1.1 spz lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2411 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2412 1.1 spz done
2413 1.1 spz IFS=$lt_save_ifs
2414 1.1 spz # Convert to MSYS style.
2415 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|^ ||'`
2416 1.1 spz ;;
2417 1.1 spz cygwin*)
2418 1.1 spz # Convert to unix form, then to dos form, then back to unix form
2419 1.1 spz # but this time dos style (no spaces!) so that the unix form looks
2420 1.1 spz # like /cygdrive/c/PROGRA~1:/cygdr...
2421 1.1 spz sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2422 1.1 spz sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2423 1.1 spz sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2424 1.1 spz ;;
2425 1.1 spz *)
2426 1.1 spz sys_lib_search_path_spec="$LIB"
2427 1.1 spz if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2428 1.1 spz # It is most probably a Windows format PATH.
2429 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2430 1.1 spz else
2431 1.1 spz sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2432 1.1 spz fi
2433 1.1 spz # FIXME: find the short name or the path components, as spaces are
2434 1.1 spz # common. (e.g. "Program Files" -> "PROGRA~1")
2435 1.1 spz ;;
2436 1.1 spz esac
2437 1.1 spz
2438 1.1 spz # DLL is installed to $(libdir)/../bin by postinstall_cmds
2439 1.1 spz postinstall_cmds='base_file=`basename \${file}`~
2440 1.1 spz dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2441 1.1 spz dldir=$destdir/`dirname \$dlpath`~
2442 1.1 spz test -d \$dldir || mkdir -p \$dldir~
2443 1.1 spz $install_prog $dir/$dlname \$dldir/$dlname'
2444 1.1 spz postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2445 1.1 spz dlpath=$dir/\$dldll~
2446 1.1 spz $RM \$dlpath'
2447 1.1 spz shlibpath_overrides_runpath=yes
2448 1.1 spz dynamic_linker='Win32 link.exe'
2449 1.1 spz ;;
2450 1.1 spz
2451 1.1 spz *)
2452 1.1 spz # Assume MSVC wrapper
2453 1.1 spz library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2454 1.1 spz dynamic_linker='Win32 ld.exe'
2455 1.1 spz ;;
2456 1.1 spz esac
2457 1.1 spz # FIXME: first we should search . and the directory the executable is in
2458 1.1 spz shlibpath_var=PATH
2459 1.1 spz ;;
2460 1.1 spz
2461 1.1 spz darwin* | rhapsody*)
2462 1.1 spz dynamic_linker="$host_os dyld"
2463 1.1 spz version_type=darwin
2464 1.1 spz need_lib_prefix=no
2465 1.1 spz need_version=no
2466 1.1 spz library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2467 1.1 spz soname_spec='${libname}${release}${major}$shared_ext'
2468 1.1 spz shlibpath_overrides_runpath=yes
2469 1.1 spz shlibpath_var=DYLD_LIBRARY_PATH
2470 1.1 spz shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2471 1.1 spz m4_if([$1], [],[
2472 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2473 1.1 spz sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2474 1.1 spz ;;
2475 1.1 spz
2476 1.1 spz dgux*)
2477 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2478 1.1 spz need_lib_prefix=no
2479 1.1 spz need_version=no
2480 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2481 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2482 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2483 1.1 spz ;;
2484 1.1 spz
2485 1.1 spz freebsd* | dragonfly*)
2486 1.1 spz # DragonFly does not have aout. When/if they implement a new
2487 1.1 spz # versioning mechanism, adjust this.
2488 1.1 spz if test -x /usr/bin/objformat; then
2489 1.1 spz objformat=`/usr/bin/objformat`
2490 1.1 spz else
2491 1.1 spz case $host_os in
2492 1.1.1.2 spz freebsd[[23]].*) objformat=aout ;;
2493 1.1 spz *) objformat=elf ;;
2494 1.1 spz esac
2495 1.1 spz fi
2496 1.1 spz version_type=freebsd-$objformat
2497 1.1 spz case $version_type in
2498 1.1 spz freebsd-elf*)
2499 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2500 1.1 spz need_version=no
2501 1.1 spz need_lib_prefix=no
2502 1.1 spz ;;
2503 1.1 spz freebsd-*)
2504 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2505 1.1 spz need_version=yes
2506 1.1 spz ;;
2507 1.1 spz esac
2508 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2509 1.1 spz case $host_os in
2510 1.1.1.2 spz freebsd2.*)
2511 1.1 spz shlibpath_overrides_runpath=yes
2512 1.1 spz ;;
2513 1.1 spz freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2514 1.1 spz shlibpath_overrides_runpath=yes
2515 1.1 spz hardcode_into_libs=yes
2516 1.1 spz ;;
2517 1.1 spz freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2518 1.1 spz freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2519 1.1 spz shlibpath_overrides_runpath=no
2520 1.1 spz hardcode_into_libs=yes
2521 1.1 spz ;;
2522 1.1 spz *) # from 4.6 on, and DragonFly
2523 1.1 spz shlibpath_overrides_runpath=yes
2524 1.1 spz hardcode_into_libs=yes
2525 1.1 spz ;;
2526 1.1 spz esac
2527 1.1 spz ;;
2528 1.1 spz
2529 1.1 spz haiku*)
2530 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2531 1.1 spz need_lib_prefix=no
2532 1.1 spz need_version=no
2533 1.1 spz dynamic_linker="$host_os runtime_loader"
2534 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2535 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2536 1.1 spz shlibpath_var=LIBRARY_PATH
2537 1.1 spz shlibpath_overrides_runpath=yes
2538 1.1 spz sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2539 1.1 spz hardcode_into_libs=yes
2540 1.1 spz ;;
2541 1.1 spz
2542 1.1 spz hpux9* | hpux10* | hpux11*)
2543 1.1 spz # Give a soname corresponding to the major version so that dld.sl refuses to
2544 1.1 spz # link against other versions.
2545 1.1 spz version_type=sunos
2546 1.1 spz need_lib_prefix=no
2547 1.1 spz need_version=no
2548 1.1 spz case $host_cpu in
2549 1.1 spz ia64*)
2550 1.1 spz shrext_cmds='.so'
2551 1.1 spz hardcode_into_libs=yes
2552 1.1 spz dynamic_linker="$host_os dld.so"
2553 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2554 1.1 spz shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2555 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2556 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2557 1.1 spz if test "X$HPUX_IA64_MODE" = X32; then
2558 1.1 spz sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2559 1.1 spz else
2560 1.1 spz sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2561 1.1 spz fi
2562 1.1 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2563 1.1 spz ;;
2564 1.1 spz hppa*64*)
2565 1.1 spz shrext_cmds='.sl'
2566 1.1 spz hardcode_into_libs=yes
2567 1.1 spz dynamic_linker="$host_os dld.sl"
2568 1.1 spz shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2569 1.1 spz shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2570 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2571 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2572 1.1 spz sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2573 1.1 spz sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2574 1.1 spz ;;
2575 1.1 spz *)
2576 1.1 spz shrext_cmds='.sl'
2577 1.1 spz dynamic_linker="$host_os dld.sl"
2578 1.1 spz shlibpath_var=SHLIB_PATH
2579 1.1 spz shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2580 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2581 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2582 1.1 spz ;;
2583 1.1 spz esac
2584 1.1 spz # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2585 1.1 spz postinstall_cmds='chmod 555 $lib'
2586 1.1 spz # or fails outright, so override atomically:
2587 1.1 spz install_override_mode=555
2588 1.1 spz ;;
2589 1.1 spz
2590 1.1 spz interix[[3-9]]*)
2591 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2592 1.1 spz need_lib_prefix=no
2593 1.1 spz need_version=no
2594 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2595 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2596 1.1 spz dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2597 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2598 1.1 spz shlibpath_overrides_runpath=no
2599 1.1 spz hardcode_into_libs=yes
2600 1.1 spz ;;
2601 1.1 spz
2602 1.1 spz irix5* | irix6* | nonstopux*)
2603 1.1 spz case $host_os in
2604 1.1 spz nonstopux*) version_type=nonstopux ;;
2605 1.1 spz *)
2606 1.1 spz if test "$lt_cv_prog_gnu_ld" = yes; then
2607 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2608 1.1 spz else
2609 1.1 spz version_type=irix
2610 1.1 spz fi ;;
2611 1.1 spz esac
2612 1.1 spz need_lib_prefix=no
2613 1.1 spz need_version=no
2614 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2615 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2616 1.1 spz case $host_os in
2617 1.1 spz irix5* | nonstopux*)
2618 1.1 spz libsuff= shlibsuff=
2619 1.1 spz ;;
2620 1.1 spz *)
2621 1.1 spz case $LD in # libtool.m4 will add one of these switches to LD
2622 1.1 spz *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2623 1.1 spz libsuff= shlibsuff= libmagic=32-bit;;
2624 1.1 spz *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2625 1.1 spz libsuff=32 shlibsuff=N32 libmagic=N32;;
2626 1.1 spz *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2627 1.1 spz libsuff=64 shlibsuff=64 libmagic=64-bit;;
2628 1.1 spz *) libsuff= shlibsuff= libmagic=never-match;;
2629 1.1 spz esac
2630 1.1 spz ;;
2631 1.1 spz esac
2632 1.1 spz shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2633 1.1 spz shlibpath_overrides_runpath=no
2634 1.1 spz sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2635 1.1 spz sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2636 1.1 spz hardcode_into_libs=yes
2637 1.1 spz ;;
2638 1.1 spz
2639 1.1 spz # No shared lib support for Linux oldld, aout, or coff.
2640 1.1 spz linux*oldld* | linux*aout* | linux*coff*)
2641 1.1 spz dynamic_linker=no
2642 1.1 spz ;;
2643 1.1 spz
2644 1.1.1.2 spz # This must be glibc/ELF.
2645 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
2646 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2647 1.1 spz need_lib_prefix=no
2648 1.1 spz need_version=no
2649 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2650 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2651 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2652 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2653 1.1 spz shlibpath_overrides_runpath=no
2654 1.1 spz
2655 1.1 spz # Some binutils ld are patched to set DT_RUNPATH
2656 1.1 spz AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2657 1.1 spz [lt_cv_shlibpath_overrides_runpath=no
2658 1.1 spz save_LDFLAGS=$LDFLAGS
2659 1.1 spz save_libdir=$libdir
2660 1.1 spz eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2661 1.1 spz LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2662 1.1 spz AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2663 1.1 spz [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2664 1.1 spz [lt_cv_shlibpath_overrides_runpath=yes])])
2665 1.1 spz LDFLAGS=$save_LDFLAGS
2666 1.1 spz libdir=$save_libdir
2667 1.1 spz ])
2668 1.1 spz shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2669 1.1 spz
2670 1.1 spz # This implies no fast_install, which is unacceptable.
2671 1.1 spz # Some rework will be needed to allow for fast_install
2672 1.1 spz # before this can be enabled.
2673 1.1 spz hardcode_into_libs=yes
2674 1.1 spz
2675 1.1 spz # Append ld.so.conf contents to the search path
2676 1.1 spz if test -f /etc/ld.so.conf; then
2677 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' ' '`
2678 1.1 spz sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2679 1.1 spz fi
2680 1.1 spz
2681 1.1 spz # We used to test for /lib/ld.so.1 and disable shared libraries on
2682 1.1 spz # powerpc, because MkLinux only supported shared libraries with the
2683 1.1 spz # GNU dynamic linker. Since this was broken with cross compilers,
2684 1.1 spz # most powerpc-linux boxes support dynamic linking these days and
2685 1.1 spz # people can always --disable-shared, the test was removed, and we
2686 1.1 spz # assume the GNU/Linux dynamic linker is in use.
2687 1.1 spz dynamic_linker='GNU/Linux ld.so'
2688 1.1 spz ;;
2689 1.1 spz
2690 1.1 spz netbsdelf*-gnu)
2691 1.1 spz version_type=linux
2692 1.1 spz need_lib_prefix=no
2693 1.1 spz need_version=no
2694 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2695 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2696 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2697 1.1 spz shlibpath_overrides_runpath=no
2698 1.1 spz hardcode_into_libs=yes
2699 1.1 spz dynamic_linker='NetBSD ld.elf_so'
2700 1.1 spz ;;
2701 1.1 spz
2702 1.1 spz netbsd*)
2703 1.1 spz version_type=sunos
2704 1.1 spz need_lib_prefix=no
2705 1.1 spz need_version=no
2706 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2707 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2708 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2709 1.1 spz dynamic_linker='NetBSD (a.out) ld.so'
2710 1.1 spz else
2711 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2712 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2713 1.1 spz dynamic_linker='NetBSD ld.elf_so'
2714 1.1 spz fi
2715 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2716 1.1 spz shlibpath_overrides_runpath=yes
2717 1.1 spz hardcode_into_libs=yes
2718 1.1 spz ;;
2719 1.1 spz
2720 1.1 spz newsos6)
2721 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2722 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2723 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2724 1.1 spz shlibpath_overrides_runpath=yes
2725 1.1 spz ;;
2726 1.1 spz
2727 1.1 spz *nto* | *qnx*)
2728 1.1 spz version_type=qnx
2729 1.1 spz need_lib_prefix=no
2730 1.1 spz need_version=no
2731 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2732 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2733 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2734 1.1 spz shlibpath_overrides_runpath=no
2735 1.1 spz hardcode_into_libs=yes
2736 1.1 spz dynamic_linker='ldqnx.so'
2737 1.1 spz ;;
2738 1.1 spz
2739 1.1 spz openbsd*)
2740 1.1 spz version_type=sunos
2741 1.1 spz sys_lib_dlsearch_path_spec="/usr/lib"
2742 1.1 spz need_lib_prefix=no
2743 1.1 spz # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2744 1.1 spz case $host_os in
2745 1.1 spz openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2746 1.1 spz *) need_version=no ;;
2747 1.1 spz esac
2748 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2749 1.1 spz finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2750 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2751 1.1 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2752 1.1 spz case $host_os in
2753 1.1 spz openbsd2.[[89]] | openbsd2.[[89]].*)
2754 1.1 spz shlibpath_overrides_runpath=no
2755 1.1 spz ;;
2756 1.1 spz *)
2757 1.1 spz shlibpath_overrides_runpath=yes
2758 1.1 spz ;;
2759 1.1 spz esac
2760 1.1 spz else
2761 1.1 spz shlibpath_overrides_runpath=yes
2762 1.1 spz fi
2763 1.1 spz ;;
2764 1.1 spz
2765 1.1 spz os2*)
2766 1.1 spz libname_spec='$name'
2767 1.1 spz shrext_cmds=".dll"
2768 1.1 spz need_lib_prefix=no
2769 1.1 spz library_names_spec='$libname${shared_ext} $libname.a'
2770 1.1 spz dynamic_linker='OS/2 ld.exe'
2771 1.1 spz shlibpath_var=LIBPATH
2772 1.1 spz ;;
2773 1.1 spz
2774 1.1 spz osf3* | osf4* | osf5*)
2775 1.1 spz version_type=osf
2776 1.1 spz need_lib_prefix=no
2777 1.1 spz need_version=no
2778 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2779 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2780 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2781 1.1 spz sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2782 1.1 spz sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2783 1.1 spz ;;
2784 1.1 spz
2785 1.1 spz rdos*)
2786 1.1 spz dynamic_linker=no
2787 1.1 spz ;;
2788 1.1 spz
2789 1.1 spz solaris*)
2790 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2791 1.1 spz need_lib_prefix=no
2792 1.1 spz need_version=no
2793 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2794 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2795 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2796 1.1 spz shlibpath_overrides_runpath=yes
2797 1.1 spz hardcode_into_libs=yes
2798 1.1 spz # ldd complains unless libraries are executable
2799 1.1 spz postinstall_cmds='chmod +x $lib'
2800 1.1 spz ;;
2801 1.1 spz
2802 1.1 spz sunos4*)
2803 1.1 spz version_type=sunos
2804 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2805 1.1 spz finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2806 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2807 1.1 spz shlibpath_overrides_runpath=yes
2808 1.1 spz if test "$with_gnu_ld" = yes; then
2809 1.1 spz need_lib_prefix=no
2810 1.1 spz fi
2811 1.1 spz need_version=yes
2812 1.1 spz ;;
2813 1.1 spz
2814 1.1 spz sysv4 | sysv4.3*)
2815 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2816 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2817 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2818 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2819 1.1 spz case $host_vendor in
2820 1.1 spz sni)
2821 1.1 spz shlibpath_overrides_runpath=no
2822 1.1 spz need_lib_prefix=no
2823 1.1 spz runpath_var=LD_RUN_PATH
2824 1.1 spz ;;
2825 1.1 spz siemens)
2826 1.1 spz need_lib_prefix=no
2827 1.1 spz ;;
2828 1.1 spz motorola)
2829 1.1 spz need_lib_prefix=no
2830 1.1 spz need_version=no
2831 1.1 spz shlibpath_overrides_runpath=no
2832 1.1 spz sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2833 1.1 spz ;;
2834 1.1 spz esac
2835 1.1 spz ;;
2836 1.1 spz
2837 1.1 spz sysv4*MP*)
2838 1.1 spz if test -d /usr/nec ;then
2839 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2840 1.1 spz library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2841 1.1 spz soname_spec='$libname${shared_ext}.$major'
2842 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2843 1.1 spz fi
2844 1.1 spz ;;
2845 1.1 spz
2846 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2847 1.1 spz version_type=freebsd-elf
2848 1.1 spz need_lib_prefix=no
2849 1.1 spz need_version=no
2850 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2851 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2852 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2853 1.1 spz shlibpath_overrides_runpath=yes
2854 1.1 spz hardcode_into_libs=yes
2855 1.1 spz if test "$with_gnu_ld" = yes; then
2856 1.1 spz sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2857 1.1 spz else
2858 1.1 spz sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2859 1.1 spz case $host_os in
2860 1.1 spz sco3.2v5*)
2861 1.1 spz sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2862 1.1 spz ;;
2863 1.1 spz esac
2864 1.1 spz fi
2865 1.1 spz sys_lib_dlsearch_path_spec='/usr/lib'
2866 1.1 spz ;;
2867 1.1 spz
2868 1.1 spz tpf*)
2869 1.1 spz # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2870 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2871 1.1 spz need_lib_prefix=no
2872 1.1 spz need_version=no
2873 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2874 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2875 1.1 spz shlibpath_overrides_runpath=no
2876 1.1 spz hardcode_into_libs=yes
2877 1.1 spz ;;
2878 1.1 spz
2879 1.1 spz uts4*)
2880 1.1.1.2 spz version_type=linux # correct to gnu/linux during the next big refactor
2881 1.1 spz library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2882 1.1 spz soname_spec='${libname}${release}${shared_ext}$major'
2883 1.1 spz shlibpath_var=LD_LIBRARY_PATH
2884 1.1 spz ;;
2885 1.1 spz
2886 1.1 spz *)
2887 1.1 spz dynamic_linker=no
2888 1.1 spz ;;
2889 1.1 spz esac
2890 1.1 spz AC_MSG_RESULT([$dynamic_linker])
2891 1.1 spz test "$dynamic_linker" = no && can_build_shared=no
2892 1.1 spz
2893 1.1 spz variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2894 1.1 spz if test "$GCC" = yes; then
2895 1.1 spz variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2896 1.1 spz fi
2897 1.1 spz
2898 1.1 spz if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2899 1.1 spz sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2900 1.1 spz fi
2901 1.1 spz if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2902 1.1 spz sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2903 1.1 spz fi
2904 1.1 spz
2905 1.1 spz _LT_DECL([], [variables_saved_for_relink], [1],
2906 1.1 spz [Variables whose values should be saved in libtool wrapper scripts and
2907 1.1 spz restored at link time])
2908 1.1 spz _LT_DECL([], [need_lib_prefix], [0],
2909 1.1 spz [Do we need the "lib" prefix for modules?])
2910 1.1 spz _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2911 1.1 spz _LT_DECL([], [version_type], [0], [Library versioning type])
2912 1.1 spz _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2913 1.1 spz _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2914 1.1 spz _LT_DECL([], [shlibpath_overrides_runpath], [0],
2915 1.1 spz [Is shlibpath searched before the hard-coded library search path?])
2916 1.1 spz _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2917 1.1 spz _LT_DECL([], [library_names_spec], [1],
2918 1.1 spz [[List of archive names. First name is the real one, the rest are links.
2919 1.1 spz The last name is the one that the linker finds with -lNAME]])
2920 1.1 spz _LT_DECL([], [soname_spec], [1],
2921 1.1 spz [[The coded name of the library, if different from the real name]])
2922 1.1 spz _LT_DECL([], [install_override_mode], [1],
2923 1.1 spz [Permission mode override for installation of shared libraries])
2924 1.1 spz _LT_DECL([], [postinstall_cmds], [2],
2925 1.1 spz [Command to use after installation of a shared archive])
2926 1.1 spz _LT_DECL([], [postuninstall_cmds], [2],
2927 1.1 spz [Command to use after uninstallation of a shared archive])
2928 1.1 spz _LT_DECL([], [finish_cmds], [2],
2929 1.1 spz [Commands used to finish a libtool library installation in a directory])
2930 1.1 spz _LT_DECL([], [finish_eval], [1],
2931 1.1 spz [[As "finish_cmds", except a single script fragment to be evaled but
2932 1.1 spz not shown]])
2933 1.1 spz _LT_DECL([], [hardcode_into_libs], [0],
2934 1.1 spz [Whether we should hardcode library paths into libraries])
2935 1.1 spz _LT_DECL([], [sys_lib_search_path_spec], [2],
2936 1.1 spz [Compile-time system search path for libraries])
2937 1.1 spz _LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2938 1.1 spz [Run-time system search path for libraries])
2939 1.1 spz ])# _LT_SYS_DYNAMIC_LINKER
2940 1.1 spz
2941 1.1 spz
2942 1.1 spz # _LT_PATH_TOOL_PREFIX(TOOL)
2943 1.1 spz # --------------------------
2944 1.1 spz # find a file program which can recognize shared library
2945 1.1 spz AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2946 1.1 spz [m4_require([_LT_DECL_EGREP])dnl
2947 1.1 spz AC_MSG_CHECKING([for $1])
2948 1.1 spz AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2949 1.1 spz [case $MAGIC_CMD in
2950 1.1 spz [[\\/*] | ?:[\\/]*])
2951 1.1 spz lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2952 1.1 spz ;;
2953 1.1 spz *)
2954 1.1 spz lt_save_MAGIC_CMD="$MAGIC_CMD"
2955 1.1 spz lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2956 1.1 spz dnl $ac_dummy forces splitting on constant user-supplied paths.
2957 1.1 spz dnl POSIX.2 word splitting is done only on the output of word expansions,
2958 1.1 spz dnl not every word. This closes a longstanding sh security hole.
2959 1.1 spz ac_dummy="m4_if([$2], , $PATH, [$2])"
2960 1.1 spz for ac_dir in $ac_dummy; do
2961 1.1 spz IFS="$lt_save_ifs"
2962 1.1 spz test -z "$ac_dir" && ac_dir=.
2963 1.1 spz if test -f $ac_dir/$1; then
2964 1.1 spz lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2965 1.1 spz if test -n "$file_magic_test_file"; then
2966 1.1 spz case $deplibs_check_method in
2967 1.1 spz "file_magic "*)
2968 1.1 spz file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2969 1.1 spz MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2970 1.1 spz if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2971 1.1 spz $EGREP "$file_magic_regex" > /dev/null; then
2972 1.1 spz :
2973 1.1 spz else
2974 1.1 spz cat <<_LT_EOF 1>&2
2975 1.1 spz
2976 1.1 spz *** Warning: the command libtool uses to detect shared libraries,
2977 1.1 spz *** $file_magic_cmd, produces output that libtool cannot recognize.
2978 1.1 spz *** The result is that libtool may fail to recognize shared libraries
2979 1.1 spz *** as such. This will affect the creation of libtool libraries that
2980 1.1 spz *** depend on shared libraries, but programs linked with such libtool
2981 1.1 spz *** libraries will work regardless of this problem. Nevertheless, you
2982 1.1 spz *** may want to report the problem to your system manager and/or to
2983 1.1 spz *** bug-libtool (a] gnu.org
2984 1.1 spz
2985 1.1 spz _LT_EOF
2986 1.1 spz fi ;;
2987 1.1 spz esac
2988 1.1 spz fi
2989 1.1 spz break
2990 1.1 spz fi
2991 1.1 spz done
2992 1.1 spz IFS="$lt_save_ifs"
2993 1.1 spz MAGIC_CMD="$lt_save_MAGIC_CMD"
2994 1.1 spz ;;
2995 1.1 spz esac])
2996 1.1 spz MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2997 1.1 spz if test -n "$MAGIC_CMD"; then
2998 1.1 spz AC_MSG_RESULT($MAGIC_CMD)
2999 1.1 spz else
3000 1.1 spz AC_MSG_RESULT(no)
3001 1.1 spz fi
3002 1.1 spz _LT_DECL([], [MAGIC_CMD], [0],
3003 1.1 spz [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3004 1.1 spz ])# _LT_PATH_TOOL_PREFIX
3005 1.1 spz
3006 1.1 spz # Old name:
3007 1.1 spz AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3008 1.1 spz dnl aclocal-1.4 backwards compatibility:
3009 1.1 spz dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3010 1.1 spz
3011 1.1 spz
3012 1.1 spz # _LT_PATH_MAGIC
3013 1.1 spz # --------------
3014 1.1 spz # find a file program which can recognize a shared library
3015 1.1 spz m4_defun([_LT_PATH_MAGIC],
3016 1.1 spz [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3017 1.1 spz if test -z "$lt_cv_path_MAGIC_CMD"; then
3018 1.1 spz if test -n "$ac_tool_prefix"; then
3019 1.1 spz _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3020 1.1 spz else
3021 1.1 spz MAGIC_CMD=:
3022 1.1 spz fi
3023 1.1 spz fi
3024 1.1 spz ])# _LT_PATH_MAGIC
3025 1.1 spz
3026 1.1 spz
3027 1.1 spz # LT_PATH_LD
3028 1.1 spz # ----------
3029 1.1 spz # find the pathname to the GNU or non-GNU linker
3030 1.1 spz AC_DEFUN([LT_PATH_LD],
3031 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
3032 1.1 spz AC_REQUIRE([AC_CANONICAL_HOST])dnl
3033 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3034 1.1 spz m4_require([_LT_DECL_SED])dnl
3035 1.1 spz m4_require([_LT_DECL_EGREP])dnl
3036 1.1 spz m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3037 1.1 spz
3038 1.1 spz AC_ARG_WITH([gnu-ld],
3039 1.1 spz [AS_HELP_STRING([--with-gnu-ld],
3040 1.1 spz [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3041 1.1 spz [test "$withval" = no || with_gnu_ld=yes],
3042 1.1 spz [with_gnu_ld=no])dnl
3043 1.1 spz
3044 1.1 spz ac_prog=ld
3045 1.1 spz if test "$GCC" = yes; then
3046 1.1 spz # Check if gcc -print-prog-name=ld gives a path.
3047 1.1 spz AC_MSG_CHECKING([for ld used by $CC])
3048 1.1 spz case $host in
3049 1.1 spz *-*-mingw*)
3050 1.1 spz # gcc leaves a trailing carriage return which upsets mingw
3051 1.1 spz ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3052 1.1 spz *)
3053 1.1 spz ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3054 1.1 spz esac
3055 1.1 spz case $ac_prog in
3056 1.1 spz # Accept absolute paths.
3057 1.1 spz [[\\/]]* | ?:[[\\/]]*)
3058 1.1 spz re_direlt='/[[^/]][[^/]]*/\.\./'
3059 1.1 spz # Canonicalize the pathname of ld
3060 1.1 spz ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3061 1.1 spz while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3062 1.1 spz ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3063 1.1 spz done
3064 1.1 spz test -z "$LD" && LD="$ac_prog"
3065 1.1 spz ;;
3066 1.1 spz "")
3067 1.1 spz # If it fails, then pretend we aren't using GCC.
3068 1.1 spz ac_prog=ld
3069 1.1 spz ;;
3070 1.1 spz *)
3071 1.1 spz # If it is relative, then search for the first ld in PATH.
3072 1.1 spz with_gnu_ld=unknown
3073 1.1 spz ;;
3074 1.1 spz esac
3075 1.1 spz elif test "$with_gnu_ld" = yes; then
3076 1.1 spz AC_MSG_CHECKING([for GNU ld])
3077 1.1 spz else
3078 1.1 spz AC_MSG_CHECKING([for non-GNU ld])
3079 1.1 spz fi
3080 1.1 spz AC_CACHE_VAL(lt_cv_path_LD,
3081 1.1 spz [if test -z "$LD"; then
3082 1.1 spz lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3083 1.1 spz for ac_dir in $PATH; do
3084 1.1 spz IFS="$lt_save_ifs"
3085 1.1 spz test -z "$ac_dir" && ac_dir=.
3086 1.1 spz if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3087 1.1 spz lt_cv_path_LD="$ac_dir/$ac_prog"
3088 1.1 spz # Check to see if the program is GNU ld. I'd rather use --version,
3089 1.1 spz # but apparently some variants of GNU ld only accept -v.
3090 1.1 spz # Break only if it was the GNU/non-GNU ld that we prefer.
3091 1.1 spz case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3092 1.1 spz *GNU* | *'with BFD'*)
3093 1.1 spz test "$with_gnu_ld" != no && break
3094 1.1 spz ;;
3095 1.1 spz *)
3096 1.1 spz test "$with_gnu_ld" != yes && break
3097 1.1 spz ;;
3098 1.1 spz esac
3099 1.1 spz fi
3100 1.1 spz done
3101 1.1 spz IFS="$lt_save_ifs"
3102 1.1 spz else
3103 1.1 spz lt_cv_path_LD="$LD" # Let the user override the test with a path.
3104 1.1 spz fi])
3105 1.1 spz LD="$lt_cv_path_LD"
3106 1.1 spz if test -n "$LD"; then
3107 1.1 spz AC_MSG_RESULT($LD)
3108 1.1 spz else
3109 1.1 spz AC_MSG_RESULT(no)
3110 1.1 spz fi
3111 1.1 spz test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3112 1.1 spz _LT_PATH_LD_GNU
3113 1.1 spz AC_SUBST([LD])
3114 1.1 spz
3115 1.1 spz _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3116 1.1 spz ])# LT_PATH_LD
3117 1.1 spz
3118 1.1 spz # Old names:
3119 1.1 spz AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3120 1.1 spz AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3121 1.1 spz dnl aclocal-1.4 backwards compatibility:
3122 1.1 spz dnl AC_DEFUN([AM_PROG_LD], [])
3123 1.1 spz dnl AC_DEFUN([AC_PROG_LD], [])
3124 1.1 spz
3125 1.1 spz
3126 1.1 spz # _LT_PATH_LD_GNU
3127 1.1 spz #- --------------
3128 1.1 spz m4_defun([_LT_PATH_LD_GNU],
3129 1.1 spz [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3130 1.1 spz [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3131 1.1 spz case `$LD -v 2>&1 </dev/null` in
3132 1.1 spz *GNU* | *'with BFD'*)
3133 1.1 spz lt_cv_prog_gnu_ld=yes
3134 1.1 spz ;;
3135 1.1 spz *)
3136 1.1 spz lt_cv_prog_gnu_ld=no
3137 1.1 spz ;;
3138 1.1 spz esac])
3139 1.1 spz with_gnu_ld=$lt_cv_prog_gnu_ld
3140 1.1 spz ])# _LT_PATH_LD_GNU
3141 1.1 spz
3142 1.1 spz
3143 1.1 spz # _LT_CMD_RELOAD
3144 1.1 spz # --------------
3145 1.1 spz # find reload flag for linker
3146 1.1 spz # -- PORTME Some linkers may need a different reload flag.
3147 1.1 spz m4_defun([_LT_CMD_RELOAD],
3148 1.1 spz [AC_CACHE_CHECK([for $LD option to reload object files],
3149 1.1 spz lt_cv_ld_reload_flag,
3150 1.1 spz [lt_cv_ld_reload_flag='-r'])
3151 1.1 spz reload_flag=$lt_cv_ld_reload_flag
3152 1.1 spz case $reload_flag in
3153 1.1 spz "" | " "*) ;;
3154 1.1 spz *) reload_flag=" $reload_flag" ;;
3155 1.1 spz esac
3156 1.1 spz reload_cmds='$LD$reload_flag -o $output$reload_objs'
3157 1.1 spz case $host_os in
3158 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3159 1.1 spz if test "$GCC" != yes; then
3160 1.1 spz reload_cmds=false
3161 1.1 spz fi
3162 1.1 spz ;;
3163 1.1 spz darwin*)
3164 1.1 spz if test "$GCC" = yes; then
3165 1.1 spz reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3166 1.1 spz else
3167 1.1 spz reload_cmds='$LD$reload_flag -o $output$reload_objs'
3168 1.1 spz fi
3169 1.1 spz ;;
3170 1.1 spz esac
3171 1.1 spz _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3172 1.1 spz _LT_TAGDECL([], [reload_cmds], [2])dnl
3173 1.1 spz ])# _LT_CMD_RELOAD
3174 1.1 spz
3175 1.1 spz
3176 1.1 spz # _LT_CHECK_MAGIC_METHOD
3177 1.1 spz # ----------------------
3178 1.1 spz # how to check for library dependencies
3179 1.1 spz # -- PORTME fill in with the dynamic library characteristics
3180 1.1 spz m4_defun([_LT_CHECK_MAGIC_METHOD],
3181 1.1 spz [m4_require([_LT_DECL_EGREP])
3182 1.1 spz m4_require([_LT_DECL_OBJDUMP])
3183 1.1 spz AC_CACHE_CHECK([how to recognize dependent libraries],
3184 1.1 spz lt_cv_deplibs_check_method,
3185 1.1 spz [lt_cv_file_magic_cmd='$MAGIC_CMD'
3186 1.1 spz lt_cv_file_magic_test_file=
3187 1.1 spz lt_cv_deplibs_check_method='unknown'
3188 1.1 spz # Need to set the preceding variable on all platforms that support
3189 1.1 spz # interlibrary dependencies.
3190 1.1 spz # 'none' -- dependencies not supported.
3191 1.1 spz # `unknown' -- same as none, but documents that we really don't know.
3192 1.1 spz # 'pass_all' -- all dependencies passed with no checks.
3193 1.1 spz # 'test_compile' -- check by making test program.
3194 1.1 spz # 'file_magic [[regex]]' -- check by looking for files in library path
3195 1.1 spz # which responds to the $file_magic_cmd with a given extended regex.
3196 1.1 spz # If you have `file' or equivalent on your system and you're not sure
3197 1.1 spz # whether `pass_all' will *always* work, you probably want this one.
3198 1.1 spz
3199 1.1 spz case $host_os in
3200 1.1 spz aix[[4-9]]*)
3201 1.1 spz lt_cv_deplibs_check_method=pass_all
3202 1.1 spz ;;
3203 1.1 spz
3204 1.1 spz beos*)
3205 1.1 spz lt_cv_deplibs_check_method=pass_all
3206 1.1 spz ;;
3207 1.1 spz
3208 1.1 spz bsdi[[45]]*)
3209 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3210 1.1 spz lt_cv_file_magic_cmd='/usr/bin/file -L'
3211 1.1 spz lt_cv_file_magic_test_file=/shlib/libc.so
3212 1.1 spz ;;
3213 1.1 spz
3214 1.1 spz cygwin*)
3215 1.1 spz # func_win32_libid is a shell function defined in ltmain.sh
3216 1.1 spz lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3217 1.1 spz lt_cv_file_magic_cmd='func_win32_libid'
3218 1.1 spz ;;
3219 1.1 spz
3220 1.1 spz mingw* | pw32*)
3221 1.1 spz # Base MSYS/MinGW do not provide the 'file' command needed by
3222 1.1 spz # func_win32_libid shell function, so use a weaker test based on 'objdump',
3223 1.1 spz # unless we find 'file', for example because we are cross-compiling.
3224 1.1 spz # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
3225 1.1 spz if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
3226 1.1 spz lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3227 1.1 spz lt_cv_file_magic_cmd='func_win32_libid'
3228 1.1 spz else
3229 1.1 spz # Keep this pattern in sync with the one in func_win32_libid.
3230 1.1 spz lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3231 1.1 spz lt_cv_file_magic_cmd='$OBJDUMP -f'
3232 1.1 spz fi
3233 1.1 spz ;;
3234 1.1 spz
3235 1.1 spz cegcc*)
3236 1.1 spz # use the weaker test based on 'objdump'. See mingw*.
3237 1.1 spz lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3238 1.1 spz lt_cv_file_magic_cmd='$OBJDUMP -f'
3239 1.1 spz ;;
3240 1.1 spz
3241 1.1 spz darwin* | rhapsody*)
3242 1.1 spz lt_cv_deplibs_check_method=pass_all
3243 1.1 spz ;;
3244 1.1 spz
3245 1.1 spz freebsd* | dragonfly*)
3246 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3247 1.1 spz case $host_cpu in
3248 1.1 spz i*86 )
3249 1.1 spz # Not sure whether the presence of OpenBSD here was a mistake.
3250 1.1 spz # Let's accept both of them until this is cleared up.
3251 1.1 spz lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3252 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3253 1.1 spz lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3254 1.1 spz ;;
3255 1.1 spz esac
3256 1.1 spz else
3257 1.1 spz lt_cv_deplibs_check_method=pass_all
3258 1.1 spz fi
3259 1.1 spz ;;
3260 1.1 spz
3261 1.1 spz haiku*)
3262 1.1 spz lt_cv_deplibs_check_method=pass_all
3263 1.1 spz ;;
3264 1.1 spz
3265 1.1 spz hpux10.20* | hpux11*)
3266 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3267 1.1 spz case $host_cpu in
3268 1.1 spz ia64*)
3269 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'
3270 1.1 spz lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3271 1.1 spz ;;
3272 1.1 spz hppa*64*)
3273 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]']
3274 1.1 spz lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3275 1.1 spz ;;
3276 1.1 spz *)
3277 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'
3278 1.1 spz lt_cv_file_magic_test_file=/usr/lib/libc.sl
3279 1.1 spz ;;
3280 1.1 spz esac
3281 1.1 spz ;;
3282 1.1 spz
3283 1.1 spz interix[[3-9]]*)
3284 1.1 spz # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3285 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3286 1.1 spz ;;
3287 1.1 spz
3288 1.1 spz irix5* | irix6* | nonstopux*)
3289 1.1 spz case $LD in
3290 1.1 spz *-32|*"-32 ") libmagic=32-bit;;
3291 1.1 spz *-n32|*"-n32 ") libmagic=N32;;
3292 1.1 spz *-64|*"-64 ") libmagic=64-bit;;
3293 1.1 spz *) libmagic=never-match;;
3294 1.1 spz esac
3295 1.1 spz lt_cv_deplibs_check_method=pass_all
3296 1.1 spz ;;
3297 1.1 spz
3298 1.1.1.2 spz # This must be glibc/ELF.
3299 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
3300 1.1 spz lt_cv_deplibs_check_method=pass_all
3301 1.1 spz ;;
3302 1.1 spz
3303 1.1 spz netbsd* | netbsdelf*-gnu)
3304 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3305 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3306 1.1 spz else
3307 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3308 1.1 spz fi
3309 1.1 spz ;;
3310 1.1 spz
3311 1.1 spz newos6*)
3312 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3313 1.1 spz lt_cv_file_magic_cmd=/usr/bin/file
3314 1.1 spz lt_cv_file_magic_test_file=/usr/lib/libnls.so
3315 1.1 spz ;;
3316 1.1 spz
3317 1.1 spz *nto* | *qnx*)
3318 1.1 spz lt_cv_deplibs_check_method=pass_all
3319 1.1 spz ;;
3320 1.1 spz
3321 1.1 spz openbsd*)
3322 1.1 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3323 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3324 1.1 spz else
3325 1.1 spz lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3326 1.1 spz fi
3327 1.1 spz ;;
3328 1.1 spz
3329 1.1 spz osf3* | osf4* | osf5*)
3330 1.1 spz lt_cv_deplibs_check_method=pass_all
3331 1.1 spz ;;
3332 1.1 spz
3333 1.1 spz rdos*)
3334 1.1 spz lt_cv_deplibs_check_method=pass_all
3335 1.1 spz ;;
3336 1.1 spz
3337 1.1 spz solaris*)
3338 1.1 spz lt_cv_deplibs_check_method=pass_all
3339 1.1 spz ;;
3340 1.1 spz
3341 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3342 1.1 spz lt_cv_deplibs_check_method=pass_all
3343 1.1 spz ;;
3344 1.1 spz
3345 1.1 spz sysv4 | sysv4.3*)
3346 1.1 spz case $host_vendor in
3347 1.1 spz motorola)
3348 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]]'
3349 1.1 spz lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3350 1.1 spz ;;
3351 1.1 spz ncr)
3352 1.1 spz lt_cv_deplibs_check_method=pass_all
3353 1.1 spz ;;
3354 1.1 spz sequent)
3355 1.1 spz lt_cv_file_magic_cmd='/bin/file'
3356 1.1 spz lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3357 1.1 spz ;;
3358 1.1 spz sni)
3359 1.1 spz lt_cv_file_magic_cmd='/bin/file'
3360 1.1 spz lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3361 1.1 spz lt_cv_file_magic_test_file=/lib/libc.so
3362 1.1 spz ;;
3363 1.1 spz siemens)
3364 1.1 spz lt_cv_deplibs_check_method=pass_all
3365 1.1 spz ;;
3366 1.1 spz pc)
3367 1.1 spz lt_cv_deplibs_check_method=pass_all
3368 1.1 spz ;;
3369 1.1 spz esac
3370 1.1 spz ;;
3371 1.1 spz
3372 1.1 spz tpf*)
3373 1.1 spz lt_cv_deplibs_check_method=pass_all
3374 1.1 spz ;;
3375 1.1 spz esac
3376 1.1 spz ])
3377 1.1 spz
3378 1.1 spz file_magic_glob=
3379 1.1 spz want_nocaseglob=no
3380 1.1 spz if test "$build" = "$host"; then
3381 1.1 spz case $host_os in
3382 1.1 spz mingw* | pw32*)
3383 1.1 spz if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3384 1.1 spz want_nocaseglob=yes
3385 1.1 spz else
3386 1.1 spz file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3387 1.1 spz fi
3388 1.1 spz ;;
3389 1.1 spz esac
3390 1.1 spz fi
3391 1.1 spz
3392 1.1 spz file_magic_cmd=$lt_cv_file_magic_cmd
3393 1.1 spz deplibs_check_method=$lt_cv_deplibs_check_method
3394 1.1 spz test -z "$deplibs_check_method" && deplibs_check_method=unknown
3395 1.1 spz
3396 1.1 spz _LT_DECL([], [deplibs_check_method], [1],
3397 1.1 spz [Method to check whether dependent libraries are shared objects])
3398 1.1 spz _LT_DECL([], [file_magic_cmd], [1],
3399 1.1 spz [Command to use when deplibs_check_method = "file_magic"])
3400 1.1 spz _LT_DECL([], [file_magic_glob], [1],
3401 1.1 spz [How to find potential files when deplibs_check_method = "file_magic"])
3402 1.1 spz _LT_DECL([], [want_nocaseglob], [1],
3403 1.1 spz [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3404 1.1 spz ])# _LT_CHECK_MAGIC_METHOD
3405 1.1 spz
3406 1.1 spz
3407 1.1 spz # LT_PATH_NM
3408 1.1 spz # ----------
3409 1.1 spz # find the pathname to a BSD- or MS-compatible name lister
3410 1.1 spz AC_DEFUN([LT_PATH_NM],
3411 1.1 spz [AC_REQUIRE([AC_PROG_CC])dnl
3412 1.1 spz AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3413 1.1 spz [if test -n "$NM"; then
3414 1.1 spz # Let the user override the test.
3415 1.1 spz lt_cv_path_NM="$NM"
3416 1.1 spz else
3417 1.1 spz lt_nm_to_check="${ac_tool_prefix}nm"
3418 1.1 spz if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3419 1.1 spz lt_nm_to_check="$lt_nm_to_check nm"
3420 1.1 spz fi
3421 1.1 spz for lt_tmp_nm in $lt_nm_to_check; do
3422 1.1 spz lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3423 1.1 spz for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3424 1.1 spz IFS="$lt_save_ifs"
3425 1.1 spz test -z "$ac_dir" && ac_dir=.
3426 1.1 spz tmp_nm="$ac_dir/$lt_tmp_nm"
3427 1.1 spz if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3428 1.1 spz # Check to see if the nm accepts a BSD-compat flag.
3429 1.1 spz # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3430 1.1 spz # nm: unknown option "B" ignored
3431 1.1 spz # Tru64's nm complains that /dev/null is an invalid object file
3432 1.1 spz case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3433 1.1 spz */dev/null* | *'Invalid file or object type'*)
3434 1.1 spz lt_cv_path_NM="$tmp_nm -B"
3435 1.1 spz break
3436 1.1 spz ;;
3437 1.1 spz *)
3438 1.1 spz case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3439 1.1 spz */dev/null*)
3440 1.1 spz lt_cv_path_NM="$tmp_nm -p"
3441 1.1 spz break
3442 1.1 spz ;;
3443 1.1 spz *)
3444 1.1 spz lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3445 1.1 spz continue # so that we can try to find one that supports BSD flags
3446 1.1 spz ;;
3447 1.1 spz esac
3448 1.1 spz ;;
3449 1.1 spz esac
3450 1.1 spz fi
3451 1.1 spz done
3452 1.1 spz IFS="$lt_save_ifs"
3453 1.1 spz done
3454 1.1 spz : ${lt_cv_path_NM=no}
3455 1.1 spz fi])
3456 1.1 spz if test "$lt_cv_path_NM" != "no"; then
3457 1.1 spz NM="$lt_cv_path_NM"
3458 1.1 spz else
3459 1.1 spz # Didn't find any BSD compatible name lister, look for dumpbin.
3460 1.1 spz if test -n "$DUMPBIN"; then :
3461 1.1 spz # Let the user override the test.
3462 1.1 spz else
3463 1.1 spz AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3464 1.1 spz case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
3465 1.1 spz *COFF*)
3466 1.1 spz DUMPBIN="$DUMPBIN -symbols"
3467 1.1 spz ;;
3468 1.1 spz *)
3469 1.1 spz DUMPBIN=:
3470 1.1 spz ;;
3471 1.1 spz esac
3472 1.1 spz fi
3473 1.1 spz AC_SUBST([DUMPBIN])
3474 1.1 spz if test "$DUMPBIN" != ":"; then
3475 1.1 spz NM="$DUMPBIN"
3476 1.1 spz fi
3477 1.1 spz fi
3478 1.1 spz test -z "$NM" && NM=nm
3479 1.1 spz AC_SUBST([NM])
3480 1.1 spz _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3481 1.1 spz
3482 1.1 spz AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3483 1.1 spz [lt_cv_nm_interface="BSD nm"
3484 1.1 spz echo "int some_variable = 0;" > conftest.$ac_ext
3485 1.1 spz (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3486 1.1 spz (eval "$ac_compile" 2>conftest.err)
3487 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3488 1.1 spz (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3489 1.1 spz (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3490 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3491 1.1 spz (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3492 1.1 spz cat conftest.out >&AS_MESSAGE_LOG_FD
3493 1.1 spz if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3494 1.1 spz lt_cv_nm_interface="MS dumpbin"
3495 1.1 spz fi
3496 1.1 spz rm -f conftest*])
3497 1.1 spz ])# LT_PATH_NM
3498 1.1 spz
3499 1.1 spz # Old names:
3500 1.1 spz AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3501 1.1 spz AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3502 1.1 spz dnl aclocal-1.4 backwards compatibility:
3503 1.1 spz dnl AC_DEFUN([AM_PROG_NM], [])
3504 1.1 spz dnl AC_DEFUN([AC_PROG_NM], [])
3505 1.1 spz
3506 1.1 spz # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3507 1.1 spz # --------------------------------
3508 1.1 spz # how to determine the name of the shared library
3509 1.1 spz # associated with a specific link library.
3510 1.1 spz # -- PORTME fill in with the dynamic library characteristics
3511 1.1 spz m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3512 1.1 spz [m4_require([_LT_DECL_EGREP])
3513 1.1 spz m4_require([_LT_DECL_OBJDUMP])
3514 1.1 spz m4_require([_LT_DECL_DLLTOOL])
3515 1.1 spz AC_CACHE_CHECK([how to associate runtime and link libraries],
3516 1.1 spz lt_cv_sharedlib_from_linklib_cmd,
3517 1.1 spz [lt_cv_sharedlib_from_linklib_cmd='unknown'
3518 1.1 spz
3519 1.1 spz case $host_os in
3520 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3521 1.1 spz # two different shell functions defined in ltmain.sh
3522 1.1 spz # decide which to use based on capabilities of $DLLTOOL
3523 1.1 spz case `$DLLTOOL --help 2>&1` in
3524 1.1 spz *--identify-strict*)
3525 1.1 spz lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3526 1.1 spz ;;
3527 1.1 spz *)
3528 1.1 spz lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3529 1.1 spz ;;
3530 1.1 spz esac
3531 1.1 spz ;;
3532 1.1 spz *)
3533 1.1 spz # fallback: assume linklib IS sharedlib
3534 1.1 spz lt_cv_sharedlib_from_linklib_cmd="$ECHO"
3535 1.1 spz ;;
3536 1.1 spz esac
3537 1.1 spz ])
3538 1.1 spz sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3539 1.1 spz test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3540 1.1 spz
3541 1.1 spz _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3542 1.1 spz [Command to associate shared and link libraries])
3543 1.1 spz ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3544 1.1 spz
3545 1.1 spz
3546 1.1 spz # _LT_PATH_MANIFEST_TOOL
3547 1.1 spz # ----------------------
3548 1.1 spz # locate the manifest tool
3549 1.1 spz m4_defun([_LT_PATH_MANIFEST_TOOL],
3550 1.1 spz [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3551 1.1 spz test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3552 1.1 spz AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3553 1.1 spz [lt_cv_path_mainfest_tool=no
3554 1.1 spz echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3555 1.1 spz $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3556 1.1 spz cat conftest.err >&AS_MESSAGE_LOG_FD
3557 1.1 spz if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3558 1.1 spz lt_cv_path_mainfest_tool=yes
3559 1.1 spz fi
3560 1.1 spz rm -f conftest*])
3561 1.1 spz if test "x$lt_cv_path_mainfest_tool" != xyes; then
3562 1.1 spz MANIFEST_TOOL=:
3563 1.1 spz fi
3564 1.1 spz _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3565 1.1 spz ])# _LT_PATH_MANIFEST_TOOL
3566 1.1 spz
3567 1.1 spz
3568 1.1 spz # LT_LIB_M
3569 1.1 spz # --------
3570 1.1 spz # check for math library
3571 1.1 spz AC_DEFUN([LT_LIB_M],
3572 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3573 1.1 spz LIBM=
3574 1.1 spz case $host in
3575 1.1 spz *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3576 1.1 spz # These system don't have libm, or don't need it
3577 1.1 spz ;;
3578 1.1 spz *-ncr-sysv4.3*)
3579 1.1 spz AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3580 1.1 spz AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3581 1.1 spz ;;
3582 1.1 spz *)
3583 1.1 spz AC_CHECK_LIB(m, cos, LIBM="-lm")
3584 1.1 spz ;;
3585 1.1 spz esac
3586 1.1 spz AC_SUBST([LIBM])
3587 1.1 spz ])# LT_LIB_M
3588 1.1 spz
3589 1.1 spz # Old name:
3590 1.1 spz AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3591 1.1 spz dnl aclocal-1.4 backwards compatibility:
3592 1.1 spz dnl AC_DEFUN([AC_CHECK_LIBM], [])
3593 1.1 spz
3594 1.1 spz
3595 1.1 spz # _LT_COMPILER_NO_RTTI([TAGNAME])
3596 1.1 spz # -------------------------------
3597 1.1 spz m4_defun([_LT_COMPILER_NO_RTTI],
3598 1.1 spz [m4_require([_LT_TAG_COMPILER])dnl
3599 1.1 spz
3600 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3601 1.1 spz
3602 1.1 spz if test "$GCC" = yes; then
3603 1.1 spz case $cc_basename in
3604 1.1 spz nvcc*)
3605 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3606 1.1 spz *)
3607 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3608 1.1 spz esac
3609 1.1 spz
3610 1.1 spz _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3611 1.1 spz lt_cv_prog_compiler_rtti_exceptions,
3612 1.1 spz [-fno-rtti -fno-exceptions], [],
3613 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"])
3614 1.1 spz fi
3615 1.1 spz _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3616 1.1 spz [Compiler flag to turn off builtin functions])
3617 1.1 spz ])# _LT_COMPILER_NO_RTTI
3618 1.1 spz
3619 1.1 spz
3620 1.1 spz # _LT_CMD_GLOBAL_SYMBOLS
3621 1.1 spz # ----------------------
3622 1.1 spz m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3623 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3624 1.1 spz AC_REQUIRE([AC_PROG_CC])dnl
3625 1.1 spz AC_REQUIRE([AC_PROG_AWK])dnl
3626 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
3627 1.1 spz AC_REQUIRE([LT_PATH_LD])dnl
3628 1.1 spz m4_require([_LT_DECL_SED])dnl
3629 1.1 spz m4_require([_LT_DECL_EGREP])dnl
3630 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
3631 1.1 spz
3632 1.1 spz # Check for command to grab the raw symbol name followed by C symbol from nm.
3633 1.1 spz AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3634 1.1 spz AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3635 1.1 spz [
3636 1.1 spz # These are sane defaults that work on at least a few old systems.
3637 1.1 spz # [They come from Ultrix. What could be older than Ultrix?!! ;)]
3638 1.1 spz
3639 1.1 spz # Character class describing NM global symbol codes.
3640 1.1 spz symcode='[[BCDEGRST]]'
3641 1.1 spz
3642 1.1 spz # Regexp to match symbols that can be accessed directly from C.
3643 1.1 spz sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3644 1.1 spz
3645 1.1 spz # Define system-specific variables.
3646 1.1 spz case $host_os in
3647 1.1 spz aix*)
3648 1.1 spz symcode='[[BCDT]]'
3649 1.1 spz ;;
3650 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
3651 1.1 spz symcode='[[ABCDGISTW]]'
3652 1.1 spz ;;
3653 1.1 spz hpux*)
3654 1.1 spz if test "$host_cpu" = ia64; then
3655 1.1 spz symcode='[[ABCDEGRST]]'
3656 1.1 spz fi
3657 1.1 spz ;;
3658 1.1 spz irix* | nonstopux*)
3659 1.1 spz symcode='[[BCDEGRST]]'
3660 1.1 spz ;;
3661 1.1 spz osf*)
3662 1.1 spz symcode='[[BCDEGQRST]]'
3663 1.1 spz ;;
3664 1.1 spz solaris*)
3665 1.1 spz symcode='[[BDRT]]'
3666 1.1 spz ;;
3667 1.1 spz sco3.2v5*)
3668 1.1 spz symcode='[[DT]]'
3669 1.1 spz ;;
3670 1.1 spz sysv4.2uw2*)
3671 1.1 spz symcode='[[DT]]'
3672 1.1 spz ;;
3673 1.1 spz sysv5* | sco5v6* | unixware* | OpenUNIX*)
3674 1.1 spz symcode='[[ABDT]]'
3675 1.1 spz ;;
3676 1.1 spz sysv4)
3677 1.1 spz symcode='[[DFNSTU]]'
3678 1.1 spz ;;
3679 1.1 spz esac
3680 1.1 spz
3681 1.1 spz # If we're using GNU nm, then use its standard symbol codes.
3682 1.1 spz case `$NM -V 2>&1` in
3683 1.1 spz *GNU* | *'with BFD'*)
3684 1.1 spz symcode='[[ABCDGIRSTW]]' ;;
3685 1.1 spz esac
3686 1.1 spz
3687 1.1 spz # Transform an extracted symbol line into a proper C declaration.
3688 1.1 spz # Some systems (esp. on ia64) link data and code symbols differently,
3689 1.1 spz # so use this general approach.
3690 1.1 spz lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3691 1.1 spz
3692 1.1 spz # Transform an extracted symbol line into symbol name and symbol address
3693 1.1 spz lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3694 1.1 spz lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
3695 1.1 spz
3696 1.1 spz # Handle CRLF in mingw tool chain
3697 1.1 spz opt_cr=
3698 1.1 spz case $build_os in
3699 1.1 spz mingw*)
3700 1.1 spz opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3701 1.1 spz ;;
3702 1.1 spz esac
3703 1.1 spz
3704 1.1 spz # Try without a prefix underscore, then with it.
3705 1.1 spz for ac_symprfx in "" "_"; do
3706 1.1 spz
3707 1.1 spz # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3708 1.1 spz symxfrm="\\1 $ac_symprfx\\2 \\2"
3709 1.1 spz
3710 1.1 spz # Write the raw and C identifiers.
3711 1.1 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3712 1.1 spz # Fake it for dumpbin and say T for any non-static function
3713 1.1 spz # and D for any global variable.
3714 1.1 spz # Also find C++ and __fastcall symbols from MSVC++,
3715 1.1 spz # which start with @ or ?.
3716 1.1 spz lt_cv_sys_global_symbol_pipe="$AWK ['"\
3717 1.1 spz " {last_section=section; section=\$ 3};"\
3718 1.1.1.2 spz " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
3719 1.1 spz " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3720 1.1 spz " \$ 0!~/External *\|/{next};"\
3721 1.1 spz " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3722 1.1 spz " {if(hide[section]) next};"\
3723 1.1 spz " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3724 1.1 spz " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3725 1.1 spz " s[1]~/^[@?]/{print s[1], s[1]; next};"\
3726 1.1 spz " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3727 1.1 spz " ' prfx=^$ac_symprfx]"
3728 1.1 spz else
3729 1.1 spz lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3730 1.1 spz fi
3731 1.1 spz lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
3732 1.1 spz
3733 1.1 spz # Check to see that the pipe works correctly.
3734 1.1 spz pipe_works=no
3735 1.1 spz
3736 1.1 spz rm -f conftest*
3737 1.1 spz cat > conftest.$ac_ext <<_LT_EOF
3738 1.1 spz #ifdef __cplusplus
3739 1.1 spz extern "C" {
3740 1.1 spz #endif
3741 1.1 spz char nm_test_var;
3742 1.1 spz void nm_test_func(void);
3743 1.1 spz void nm_test_func(void){}
3744 1.1 spz #ifdef __cplusplus
3745 1.1 spz }
3746 1.1 spz #endif
3747 1.1 spz int main(){nm_test_var='a';nm_test_func();return(0);}
3748 1.1 spz _LT_EOF
3749 1.1 spz
3750 1.1 spz if AC_TRY_EVAL(ac_compile); then
3751 1.1 spz # Now try to grab the symbols.
3752 1.1 spz nlist=conftest.nm
3753 1.1 spz if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
3754 1.1 spz # Try sorting and uniquifying the output.
3755 1.1 spz if sort "$nlist" | uniq > "$nlist"T; then
3756 1.1 spz mv -f "$nlist"T "$nlist"
3757 1.1 spz else
3758 1.1 spz rm -f "$nlist"T
3759 1.1 spz fi
3760 1.1 spz
3761 1.1 spz # Make sure that we snagged all the symbols we need.
3762 1.1 spz if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3763 1.1 spz if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3764 1.1 spz cat <<_LT_EOF > conftest.$ac_ext
3765 1.1 spz /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
3766 1.1 spz #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3767 1.1 spz /* DATA imports from DLLs on WIN32 con't be const, because runtime
3768 1.1 spz relocations are performed -- see ld's documentation on pseudo-relocs. */
3769 1.1 spz # define LT@&t@_DLSYM_CONST
3770 1.1 spz #elif defined(__osf__)
3771 1.1 spz /* This system does not cope well with relocations in const data. */
3772 1.1 spz # define LT@&t@_DLSYM_CONST
3773 1.1 spz #else
3774 1.1 spz # define LT@&t@_DLSYM_CONST const
3775 1.1 spz #endif
3776 1.1 spz
3777 1.1 spz #ifdef __cplusplus
3778 1.1 spz extern "C" {
3779 1.1 spz #endif
3780 1.1 spz
3781 1.1 spz _LT_EOF
3782 1.1 spz # Now generate the symbol file.
3783 1.1 spz eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3784 1.1 spz
3785 1.1 spz cat <<_LT_EOF >> conftest.$ac_ext
3786 1.1 spz
3787 1.1 spz /* The mapping between symbol names and symbols. */
3788 1.1 spz LT@&t@_DLSYM_CONST struct {
3789 1.1 spz const char *name;
3790 1.1 spz void *address;
3791 1.1 spz }
3792 1.1 spz lt__PROGRAM__LTX_preloaded_symbols[[]] =
3793 1.1 spz {
3794 1.1 spz { "@PROGRAM@", (void *) 0 },
3795 1.1 spz _LT_EOF
3796 1.1 spz $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3797 1.1 spz cat <<\_LT_EOF >> conftest.$ac_ext
3798 1.1 spz {0, (void *) 0}
3799 1.1 spz };
3800 1.1 spz
3801 1.1 spz /* This works around a problem in FreeBSD linker */
3802 1.1 spz #ifdef FREEBSD_WORKAROUND
3803 1.1 spz static const void *lt_preloaded_setup() {
3804 1.1 spz return lt__PROGRAM__LTX_preloaded_symbols;
3805 1.1 spz }
3806 1.1 spz #endif
3807 1.1 spz
3808 1.1 spz #ifdef __cplusplus
3809 1.1 spz }
3810 1.1 spz #endif
3811 1.1 spz _LT_EOF
3812 1.1 spz # Now try linking the two files.
3813 1.1 spz mv conftest.$ac_objext conftstm.$ac_objext
3814 1.1 spz lt_globsym_save_LIBS=$LIBS
3815 1.1 spz lt_globsym_save_CFLAGS=$CFLAGS
3816 1.1 spz LIBS="conftstm.$ac_objext"
3817 1.1 spz CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3818 1.1 spz if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3819 1.1 spz pipe_works=yes
3820 1.1 spz fi
3821 1.1 spz LIBS=$lt_globsym_save_LIBS
3822 1.1 spz CFLAGS=$lt_globsym_save_CFLAGS
3823 1.1 spz else
3824 1.1 spz echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3825 1.1 spz fi
3826 1.1 spz else
3827 1.1 spz echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3828 1.1 spz fi
3829 1.1 spz else
3830 1.1 spz echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3831 1.1 spz fi
3832 1.1 spz else
3833 1.1 spz echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3834 1.1 spz cat conftest.$ac_ext >&5
3835 1.1 spz fi
3836 1.1 spz rm -rf conftest* conftst*
3837 1.1 spz
3838 1.1 spz # Do not use the global_symbol_pipe unless it works.
3839 1.1 spz if test "$pipe_works" = yes; then
3840 1.1 spz break
3841 1.1 spz else
3842 1.1 spz lt_cv_sys_global_symbol_pipe=
3843 1.1 spz fi
3844 1.1 spz done
3845 1.1 spz ])
3846 1.1 spz if test -z "$lt_cv_sys_global_symbol_pipe"; then
3847 1.1 spz lt_cv_sys_global_symbol_to_cdecl=
3848 1.1 spz fi
3849 1.1 spz if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3850 1.1 spz AC_MSG_RESULT(failed)
3851 1.1 spz else
3852 1.1 spz AC_MSG_RESULT(ok)
3853 1.1 spz fi
3854 1.1 spz
3855 1.1 spz # Response file support.
3856 1.1 spz if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3857 1.1 spz nm_file_list_spec='@'
3858 1.1 spz elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
3859 1.1 spz nm_file_list_spec='@'
3860 1.1 spz fi
3861 1.1 spz
3862 1.1 spz _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3863 1.1 spz [Take the output of nm and produce a listing of raw symbols and C names])
3864 1.1 spz _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3865 1.1 spz [Transform the output of nm in a proper C declaration])
3866 1.1 spz _LT_DECL([global_symbol_to_c_name_address],
3867 1.1 spz [lt_cv_sys_global_symbol_to_c_name_address], [1],
3868 1.1 spz [Transform the output of nm in a C name address pair])
3869 1.1 spz _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3870 1.1 spz [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3871 1.1 spz [Transform the output of nm in a C name address pair when lib prefix is needed])
3872 1.1 spz _LT_DECL([], [nm_file_list_spec], [1],
3873 1.1 spz [Specify filename containing input files for $NM])
3874 1.1 spz ]) # _LT_CMD_GLOBAL_SYMBOLS
3875 1.1 spz
3876 1.1 spz
3877 1.1 spz # _LT_COMPILER_PIC([TAGNAME])
3878 1.1 spz # ---------------------------
3879 1.1 spz m4_defun([_LT_COMPILER_PIC],
3880 1.1 spz [m4_require([_LT_TAG_COMPILER])dnl
3881 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)=
3882 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3883 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
3884 1.1 spz
3885 1.1 spz m4_if([$1], [CXX], [
3886 1.1 spz # C++ specific cases for pic, static, wl, etc.
3887 1.1 spz if test "$GXX" = yes; then
3888 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3889 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3890 1.1 spz
3891 1.1 spz case $host_os in
3892 1.1 spz aix*)
3893 1.1 spz # All AIX code is PIC.
3894 1.1 spz if test "$host_cpu" = ia64; then
3895 1.1 spz # AIX 5 now supports IA64 processor
3896 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3897 1.1 spz fi
3898 1.1 spz ;;
3899 1.1 spz
3900 1.1 spz amigaos*)
3901 1.1 spz case $host_cpu in
3902 1.1 spz powerpc)
3903 1.1 spz # see comment about AmigaOS4 .so support
3904 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3905 1.1 spz ;;
3906 1.1 spz m68k)
3907 1.1 spz # FIXME: we need at least 68020 code to build shared libraries, but
3908 1.1 spz # adding the `-m68020' flag to GCC prevents building anything better,
3909 1.1 spz # like `-m68040'.
3910 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3911 1.1 spz ;;
3912 1.1 spz esac
3913 1.1 spz ;;
3914 1.1 spz
3915 1.1 spz beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3916 1.1 spz # PIC is the default for these OSes.
3917 1.1 spz ;;
3918 1.1 spz mingw* | cygwin* | os2* | pw32* | cegcc*)
3919 1.1 spz # This hack is so that the source file can tell whether it is being
3920 1.1 spz # built for inclusion in a dll (and should export symbols for example).
3921 1.1 spz # Although the cygwin gcc ignores -fPIC, still need this for old-style
3922 1.1 spz # (--disable-auto-import) libraries
3923 1.1 spz m4_if([$1], [GCJ], [],
3924 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3925 1.1 spz ;;
3926 1.1 spz darwin* | rhapsody*)
3927 1.1 spz # PIC is the default on this platform
3928 1.1 spz # Common symbols not allowed in MH_DYLIB files
3929 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3930 1.1 spz ;;
3931 1.1 spz *djgpp*)
3932 1.1 spz # DJGPP does not support shared libraries at all
3933 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3934 1.1 spz ;;
3935 1.1 spz haiku*)
3936 1.1 spz # PIC is the default for Haiku.
3937 1.1 spz # The "-static" flag exists, but is broken.
3938 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
3939 1.1 spz ;;
3940 1.1 spz interix[[3-9]]*)
3941 1.1 spz # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3942 1.1 spz # Instead, we relocate shared libraries at runtime.
3943 1.1 spz ;;
3944 1.1 spz sysv4*MP*)
3945 1.1 spz if test -d /usr/nec; then
3946 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3947 1.1 spz fi
3948 1.1 spz ;;
3949 1.1 spz hpux*)
3950 1.1 spz # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3951 1.1 spz # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3952 1.1 spz # sets the default TLS model and affects inlining.
3953 1.1 spz case $host_cpu in
3954 1.1 spz hppa*64*)
3955 1.1 spz ;;
3956 1.1 spz *)
3957 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3958 1.1 spz ;;
3959 1.1 spz esac
3960 1.1 spz ;;
3961 1.1 spz *qnx* | *nto*)
3962 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
3963 1.1 spz # it will coredump.
3964 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3965 1.1 spz ;;
3966 1.1 spz *)
3967 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3968 1.1 spz ;;
3969 1.1 spz esac
3970 1.1 spz else
3971 1.1 spz case $host_os in
3972 1.1 spz aix[[4-9]]*)
3973 1.1 spz # All AIX code is PIC.
3974 1.1 spz if test "$host_cpu" = ia64; then
3975 1.1 spz # AIX 5 now supports IA64 processor
3976 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3977 1.1 spz else
3978 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3979 1.1 spz fi
3980 1.1 spz ;;
3981 1.1 spz chorus*)
3982 1.1 spz case $cc_basename in
3983 1.1 spz cxch68*)
3984 1.1 spz # Green Hills C++ Compiler
3985 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"
3986 1.1 spz ;;
3987 1.1 spz esac
3988 1.1 spz ;;
3989 1.1 spz mingw* | cygwin* | os2* | pw32* | cegcc*)
3990 1.1 spz # This hack is so that the source file can tell whether it is being
3991 1.1 spz # built for inclusion in a dll (and should export symbols for example).
3992 1.1 spz m4_if([$1], [GCJ], [],
3993 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3994 1.1 spz ;;
3995 1.1 spz dgux*)
3996 1.1 spz case $cc_basename in
3997 1.1 spz ec++*)
3998 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3999 1.1 spz ;;
4000 1.1 spz ghcx*)
4001 1.1 spz # Green Hills C++ Compiler
4002 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4003 1.1 spz ;;
4004 1.1 spz *)
4005 1.1 spz ;;
4006 1.1 spz esac
4007 1.1 spz ;;
4008 1.1 spz freebsd* | dragonfly*)
4009 1.1 spz # FreeBSD uses GNU C++
4010 1.1 spz ;;
4011 1.1 spz hpux9* | hpux10* | hpux11*)
4012 1.1 spz case $cc_basename in
4013 1.1 spz CC*)
4014 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4015 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4016 1.1 spz if test "$host_cpu" != ia64; then
4017 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4018 1.1 spz fi
4019 1.1 spz ;;
4020 1.1 spz aCC*)
4021 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4022 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4023 1.1 spz case $host_cpu in
4024 1.1 spz hppa*64*|ia64*)
4025 1.1 spz # +Z the default
4026 1.1 spz ;;
4027 1.1 spz *)
4028 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4029 1.1 spz ;;
4030 1.1 spz esac
4031 1.1 spz ;;
4032 1.1 spz *)
4033 1.1 spz ;;
4034 1.1 spz esac
4035 1.1 spz ;;
4036 1.1 spz interix*)
4037 1.1 spz # This is c89, which is MS Visual C++ (no shared libs)
4038 1.1 spz # Anyone wants to do a port?
4039 1.1 spz ;;
4040 1.1 spz irix5* | irix6* | nonstopux*)
4041 1.1 spz case $cc_basename in
4042 1.1 spz CC*)
4043 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4044 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4045 1.1 spz # CC pic flag -KPIC is the default.
4046 1.1 spz ;;
4047 1.1 spz *)
4048 1.1 spz ;;
4049 1.1 spz esac
4050 1.1 spz ;;
4051 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4052 1.1 spz case $cc_basename in
4053 1.1 spz KCC*)
4054 1.1 spz # KAI C++ Compiler
4055 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4056 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4057 1.1 spz ;;
4058 1.1 spz ecpc* )
4059 1.1 spz # old Intel C++ for x86_64 which still supported -KPIC.
4060 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4061 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4062 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4063 1.1 spz ;;
4064 1.1 spz icpc* )
4065 1.1 spz # Intel C++, used to be incompatible with GCC.
4066 1.1 spz # ICC 10 doesn't accept -KPIC any more.
4067 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4068 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4069 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4070 1.1 spz ;;
4071 1.1 spz pgCC* | pgcpp*)
4072 1.1 spz # Portland Group C++ compiler
4073 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4074 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4075 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4076 1.1 spz ;;
4077 1.1 spz cxx*)
4078 1.1 spz # Compaq C++
4079 1.1 spz # Make sure the PIC flag is empty. It appears that all Alpha
4080 1.1 spz # Linux and Compaq Tru64 Unix objects are PIC.
4081 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4082 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4083 1.1 spz ;;
4084 1.1 spz xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4085 1.1 spz # IBM XL 8.0, 9.0 on PPC and BlueGene
4086 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4087 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4088 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4089 1.1 spz ;;
4090 1.1 spz *)
4091 1.1 spz case `$CC -V 2>&1 | sed 5q` in
4092 1.1 spz *Sun\ C*)
4093 1.1 spz # Sun C++ 5.9
4094 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4095 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4096 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4097 1.1 spz ;;
4098 1.1 spz esac
4099 1.1 spz ;;
4100 1.1 spz esac
4101 1.1 spz ;;
4102 1.1 spz lynxos*)
4103 1.1 spz ;;
4104 1.1 spz m88k*)
4105 1.1 spz ;;
4106 1.1 spz mvs*)
4107 1.1 spz case $cc_basename in
4108 1.1 spz cxx*)
4109 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4110 1.1 spz ;;
4111 1.1 spz *)
4112 1.1 spz ;;
4113 1.1 spz esac
4114 1.1 spz ;;
4115 1.1 spz netbsd* | netbsdelf*-gnu)
4116 1.1 spz ;;
4117 1.1 spz *qnx* | *nto*)
4118 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4119 1.1 spz # it will coredump.
4120 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4121 1.1 spz ;;
4122 1.1 spz osf3* | osf4* | osf5*)
4123 1.1 spz case $cc_basename in
4124 1.1 spz KCC*)
4125 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4126 1.1 spz ;;
4127 1.1 spz RCC*)
4128 1.1 spz # Rational C++ 2.4.1
4129 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4130 1.1 spz ;;
4131 1.1 spz cxx*)
4132 1.1 spz # Digital/Compaq C++
4133 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4134 1.1 spz # Make sure the PIC flag is empty. It appears that all Alpha
4135 1.1 spz # Linux and Compaq Tru64 Unix objects are PIC.
4136 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4137 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4138 1.1 spz ;;
4139 1.1 spz *)
4140 1.1 spz ;;
4141 1.1 spz esac
4142 1.1 spz ;;
4143 1.1 spz psos*)
4144 1.1 spz ;;
4145 1.1 spz solaris*)
4146 1.1 spz case $cc_basename in
4147 1.1 spz CC* | sunCC*)
4148 1.1 spz # Sun C++ 4.2, 5.x and Centerline C++
4149 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4150 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4151 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4152 1.1 spz ;;
4153 1.1 spz gcx*)
4154 1.1 spz # Green Hills C++ Compiler
4155 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4156 1.1 spz ;;
4157 1.1 spz *)
4158 1.1 spz ;;
4159 1.1 spz esac
4160 1.1 spz ;;
4161 1.1 spz sunos4*)
4162 1.1 spz case $cc_basename in
4163 1.1 spz CC*)
4164 1.1 spz # Sun C++ 4.x
4165 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4166 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4167 1.1 spz ;;
4168 1.1 spz lcc*)
4169 1.1 spz # Lucid
4170 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4171 1.1 spz ;;
4172 1.1 spz *)
4173 1.1 spz ;;
4174 1.1 spz esac
4175 1.1 spz ;;
4176 1.1 spz sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4177 1.1 spz case $cc_basename in
4178 1.1 spz CC*)
4179 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4180 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4181 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4182 1.1 spz ;;
4183 1.1 spz esac
4184 1.1 spz ;;
4185 1.1 spz tandem*)
4186 1.1 spz case $cc_basename in
4187 1.1 spz NCC*)
4188 1.1 spz # NonStop-UX NCC 3.20
4189 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4190 1.1 spz ;;
4191 1.1 spz *)
4192 1.1 spz ;;
4193 1.1 spz esac
4194 1.1 spz ;;
4195 1.1 spz vxworks*)
4196 1.1 spz ;;
4197 1.1 spz *)
4198 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4199 1.1 spz ;;
4200 1.1 spz esac
4201 1.1 spz fi
4202 1.1 spz ],
4203 1.1 spz [
4204 1.1 spz if test "$GCC" = yes; then
4205 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4206 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4207 1.1 spz
4208 1.1 spz case $host_os in
4209 1.1 spz aix*)
4210 1.1 spz # All AIX code is PIC.
4211 1.1 spz if test "$host_cpu" = ia64; then
4212 1.1 spz # AIX 5 now supports IA64 processor
4213 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4214 1.1 spz fi
4215 1.1 spz ;;
4216 1.1 spz
4217 1.1 spz amigaos*)
4218 1.1 spz case $host_cpu in
4219 1.1 spz powerpc)
4220 1.1 spz # see comment about AmigaOS4 .so support
4221 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4222 1.1 spz ;;
4223 1.1 spz m68k)
4224 1.1 spz # FIXME: we need at least 68020 code to build shared libraries, but
4225 1.1 spz # adding the `-m68020' flag to GCC prevents building anything better,
4226 1.1 spz # like `-m68040'.
4227 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4228 1.1 spz ;;
4229 1.1 spz esac
4230 1.1 spz ;;
4231 1.1 spz
4232 1.1 spz beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4233 1.1 spz # PIC is the default for these OSes.
4234 1.1 spz ;;
4235 1.1 spz
4236 1.1 spz mingw* | cygwin* | pw32* | os2* | cegcc*)
4237 1.1 spz # This hack is so that the source file can tell whether it is being
4238 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4239 1.1 spz # Although the cygwin gcc ignores -fPIC, still need this for old-style
4240 1.1 spz # (--disable-auto-import) libraries
4241 1.1 spz m4_if([$1], [GCJ], [],
4242 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4243 1.1 spz ;;
4244 1.1 spz
4245 1.1 spz darwin* | rhapsody*)
4246 1.1 spz # PIC is the default on this platform
4247 1.1 spz # Common symbols not allowed in MH_DYLIB files
4248 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4249 1.1 spz ;;
4250 1.1 spz
4251 1.1 spz haiku*)
4252 1.1 spz # PIC is the default for Haiku.
4253 1.1 spz # The "-static" flag exists, but is broken.
4254 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)=
4255 1.1 spz ;;
4256 1.1 spz
4257 1.1 spz hpux*)
4258 1.1 spz # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4259 1.1 spz # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4260 1.1 spz # sets the default TLS model and affects inlining.
4261 1.1 spz case $host_cpu in
4262 1.1 spz hppa*64*)
4263 1.1 spz # +Z the default
4264 1.1 spz ;;
4265 1.1 spz *)
4266 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4267 1.1 spz ;;
4268 1.1 spz esac
4269 1.1 spz ;;
4270 1.1 spz
4271 1.1 spz interix[[3-9]]*)
4272 1.1 spz # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4273 1.1 spz # Instead, we relocate shared libraries at runtime.
4274 1.1 spz ;;
4275 1.1 spz
4276 1.1 spz msdosdjgpp*)
4277 1.1 spz # Just because we use GCC doesn't mean we suddenly get shared libraries
4278 1.1 spz # on systems that don't support them.
4279 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4280 1.1 spz enable_shared=no
4281 1.1 spz ;;
4282 1.1 spz
4283 1.1 spz *nto* | *qnx*)
4284 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4285 1.1 spz # it will coredump.
4286 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4287 1.1 spz ;;
4288 1.1 spz
4289 1.1 spz sysv4*MP*)
4290 1.1 spz if test -d /usr/nec; then
4291 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4292 1.1 spz fi
4293 1.1 spz ;;
4294 1.1 spz
4295 1.1 spz *)
4296 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4297 1.1 spz ;;
4298 1.1 spz esac
4299 1.1 spz
4300 1.1 spz case $cc_basename in
4301 1.1 spz nvcc*) # Cuda Compiler Driver 2.2
4302 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4303 1.1.1.2 spz if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4304 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4305 1.1.1.2 spz fi
4306 1.1 spz ;;
4307 1.1 spz esac
4308 1.1 spz else
4309 1.1 spz # PORTME Check for flag to pass linker flags through the system compiler.
4310 1.1 spz case $host_os in
4311 1.1 spz aix*)
4312 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4313 1.1 spz if test "$host_cpu" = ia64; then
4314 1.1 spz # AIX 5 now supports IA64 processor
4315 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4316 1.1 spz else
4317 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4318 1.1 spz fi
4319 1.1 spz ;;
4320 1.1 spz
4321 1.1 spz mingw* | cygwin* | pw32* | os2* | cegcc*)
4322 1.1 spz # This hack is so that the source file can tell whether it is being
4323 1.1 spz # built for inclusion in a dll (and should export symbols for example).
4324 1.1 spz m4_if([$1], [GCJ], [],
4325 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4326 1.1 spz ;;
4327 1.1 spz
4328 1.1 spz hpux9* | hpux10* | hpux11*)
4329 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4330 1.1 spz # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4331 1.1 spz # not for PA HP-UX.
4332 1.1 spz case $host_cpu in
4333 1.1 spz hppa*64*|ia64*)
4334 1.1 spz # +Z the default
4335 1.1 spz ;;
4336 1.1 spz *)
4337 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4338 1.1 spz ;;
4339 1.1 spz esac
4340 1.1 spz # Is there a better lt_prog_compiler_static that works with the bundled CC?
4341 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4342 1.1 spz ;;
4343 1.1 spz
4344 1.1 spz irix5* | irix6* | nonstopux*)
4345 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4346 1.1 spz # PIC (with -KPIC) is the default.
4347 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4348 1.1 spz ;;
4349 1.1 spz
4350 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
4351 1.1 spz case $cc_basename in
4352 1.1 spz # old Intel for x86_64 which still supported -KPIC.
4353 1.1 spz ecc*)
4354 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4355 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4356 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4357 1.1 spz ;;
4358 1.1 spz # icc used to be incompatible with GCC.
4359 1.1 spz # ICC 10 doesn't accept -KPIC any more.
4360 1.1 spz icc* | ifort*)
4361 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4362 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4363 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4364 1.1 spz ;;
4365 1.1 spz # Lahey Fortran 8.1.
4366 1.1 spz lf95*)
4367 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4368 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4369 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4370 1.1 spz ;;
4371 1.1 spz nagfor*)
4372 1.1 spz # NAG Fortran compiler
4373 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4374 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4375 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4376 1.1 spz ;;
4377 1.1 spz pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4378 1.1 spz # Portland Group compilers (*not* the Pentium gcc compiler,
4379 1.1 spz # which looks to be a dead project)
4380 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4381 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4382 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4383 1.1 spz ;;
4384 1.1 spz ccc*)
4385 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4386 1.1 spz # All Alpha code is PIC.
4387 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4388 1.1 spz ;;
4389 1.1 spz xl* | bgxl* | bgf* | mpixl*)
4390 1.1 spz # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4391 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4392 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4393 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4394 1.1 spz ;;
4395 1.1 spz *)
4396 1.1 spz case `$CC -V 2>&1 | sed 5q` in
4397 1.1.1.2 spz *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4398 1.1 spz # Sun Fortran 8.3 passes all unrecognized flags to the linker
4399 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4400 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4401 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4402 1.1 spz ;;
4403 1.1.1.2 spz *Sun\ F* | *Sun*Fortran*)
4404 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4405 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4406 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4407 1.1.1.2 spz ;;
4408 1.1 spz *Sun\ C*)
4409 1.1 spz # Sun C 5.9
4410 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4411 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4412 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4413 1.1 spz ;;
4414 1.1.1.2 spz *Intel*\ [[CF]]*Compiler*)
4415 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4416 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4417 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4418 1.1.1.2 spz ;;
4419 1.1.1.2 spz *Portland\ Group*)
4420 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4421 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4422 1.1.1.2 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4423 1.1.1.2 spz ;;
4424 1.1 spz esac
4425 1.1 spz ;;
4426 1.1 spz esac
4427 1.1 spz ;;
4428 1.1 spz
4429 1.1 spz newsos6)
4430 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4431 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4432 1.1 spz ;;
4433 1.1 spz
4434 1.1 spz *nto* | *qnx*)
4435 1.1 spz # QNX uses GNU C++, but need to define -shared option too, otherwise
4436 1.1 spz # it will coredump.
4437 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4438 1.1 spz ;;
4439 1.1 spz
4440 1.1 spz osf3* | osf4* | osf5*)
4441 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4442 1.1 spz # All OSF/1 code is PIC.
4443 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4444 1.1 spz ;;
4445 1.1 spz
4446 1.1 spz rdos*)
4447 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4448 1.1 spz ;;
4449 1.1 spz
4450 1.1 spz solaris*)
4451 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4452 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4453 1.1 spz case $cc_basename in
4454 1.1 spz f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4455 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4456 1.1 spz *)
4457 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4458 1.1 spz esac
4459 1.1 spz ;;
4460 1.1 spz
4461 1.1 spz sunos4*)
4462 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4463 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4464 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4465 1.1 spz ;;
4466 1.1 spz
4467 1.1 spz sysv4 | sysv4.2uw2* | sysv4.3*)
4468 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4469 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4470 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4471 1.1 spz ;;
4472 1.1 spz
4473 1.1 spz sysv4*MP*)
4474 1.1 spz if test -d /usr/nec ;then
4475 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4476 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4477 1.1 spz fi
4478 1.1 spz ;;
4479 1.1 spz
4480 1.1 spz sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4481 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4482 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4483 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4484 1.1 spz ;;
4485 1.1 spz
4486 1.1 spz unicos*)
4487 1.1 spz _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4488 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4489 1.1 spz ;;
4490 1.1 spz
4491 1.1 spz uts4*)
4492 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4493 1.1 spz _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4494 1.1 spz ;;
4495 1.1 spz
4496 1.1 spz *)
4497 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4498 1.1 spz ;;
4499 1.1 spz esac
4500 1.1 spz fi
4501 1.1 spz ])
4502 1.1 spz case $host_os in
4503 1.1 spz # For platforms which do not support PIC, -DPIC is meaningless:
4504 1.1 spz *djgpp*)
4505 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4506 1.1 spz ;;
4507 1.1 spz *)
4508 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],[])])"
4509 1.1 spz ;;
4510 1.1 spz esac
4511 1.1 spz
4512 1.1 spz AC_CACHE_CHECK([for $compiler option to produce PIC],
4513 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4514 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4515 1.1 spz _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4516 1.1 spz
4517 1.1 spz #
4518 1.1 spz # Check to make sure the PIC flag actually works.
4519 1.1 spz #
4520 1.1 spz if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4521 1.1 spz _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4522 1.1 spz [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4523 1.1 spz [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4524 1.1 spz [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4525 1.1 spz "" | " "*) ;;
4526 1.1 spz *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4527 1.1 spz esac],
4528 1.1 spz [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4529 1.1 spz _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4530 1.1 spz fi
4531 1.1 spz _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4532 1.1 spz [Additional compiler flags for building library objects])
4533 1.1 spz
4534 1.1 spz _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4535 1.1 spz [How to pass a linker flag through the compiler])
4536 1.1 spz #
4537 1.1 spz # Check to make sure the static flag actually works.
4538 1.1 spz #
4539 1.1 spz wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4540 1.1 spz _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4541 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4542 1.1 spz $lt_tmp_static_flag,
4543 1.1 spz [],
4544 1.1 spz [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4545 1.1 spz _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4546 1.1 spz [Compiler flag to prevent dynamic linking])
4547 1.1 spz ])# _LT_COMPILER_PIC
4548 1.1 spz
4549 1.1 spz
4550 1.1 spz # _LT_LINKER_SHLIBS([TAGNAME])
4551 1.1 spz # ----------------------------
4552 1.1 spz # See if the linker supports building shared libraries.
4553 1.1 spz m4_defun([_LT_LINKER_SHLIBS],
4554 1.1 spz [AC_REQUIRE([LT_PATH_LD])dnl
4555 1.1 spz AC_REQUIRE([LT_PATH_NM])dnl
4556 1.1 spz m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4557 1.1 spz m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4558 1.1 spz m4_require([_LT_DECL_EGREP])dnl
4559 1.1 spz m4_require([_LT_DECL_SED])dnl
4560 1.1 spz m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4561 1.1 spz m4_require([_LT_TAG_COMPILER])dnl
4562 1.1 spz AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4563 1.1 spz m4_if([$1], [CXX], [
4564 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4565 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4566 1.1 spz case $host_os in
4567 1.1 spz aix[[4-9]]*)
4568 1.1 spz # If we're using GNU nm, then we don't want the "-C" option.
4569 1.1 spz # -C means demangle to AIX nm, but means don't demangle with GNU nm
4570 1.1 spz # Also, AIX nm treats weak defined symbols like other global defined
4571 1.1 spz # symbols, whereas GNU nm marks them as "W".
4572 1.1 spz if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4573 1.1 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) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4574 1.1 spz else
4575 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4576 1.1 spz fi
4577 1.1 spz ;;
4578 1.1 spz pw32*)
4579 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4580 1.1 spz ;;
4581 1.1 spz cygwin* | mingw* | cegcc*)
4582 1.1 spz case $cc_basename in
4583 1.1.1.2 spz cl*)
4584 1.1.1.2 spz _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4585 1.1.1.2 spz ;;
4586 1.1 spz *)
4587 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'
4588 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']
4589 1.1 spz ;;
4590 1.1 spz esac
4591 1.1 spz ;;
4592 1.1 spz linux* | k*bsd*-gnu | gnu*)
4593 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=no
4594 1.1 spz ;;
4595 1.1 spz *)
4596 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4597 1.1 spz ;;
4598 1.1 spz esac
4599 1.1 spz ], [
4600 1.1 spz runpath_var=
4601 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
4602 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
4603 1.1 spz _LT_TAGVAR(archive_cmds, $1)=
4604 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
4605 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=no
4606 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4607 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4608 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4609 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
4610 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
4611 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4612 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4613 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
4614 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
4615 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4616 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
4617 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
4618 1.1 spz _LT_TAGVAR(module_cmds, $1)=
4619 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
4620 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4621 1.1 spz _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4622 1.1 spz _LT_TAGVAR(thread_safe_flag_spec, $1)=
4623 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
4624 1.1 spz # include_expsyms should be a list of space-separated symbols to be *always*
4625 1.1 spz # included in the symbol list
4626 1.1 spz _LT_TAGVAR(include_expsyms, $1)=
4627 1.1 spz # exclude_expsyms can be an extended regexp of symbols to exclude
4628 1.1 spz # it will be wrapped by ` (' and `)$', so one must not match beginning or
4629 1.1 spz # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4630 1.1 spz # as well as any symbol that contains `d'.
4631 1.1 spz _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4632 1.1 spz # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4633 1.1 spz # platforms (ab)use it in PIC code, but their linkers get confused if
4634 1.1 spz # the symbol is explicitly referenced. Since portable code cannot
4635 1.1 spz # rely on this symbol name, it's probably fine to never include it in
4636 1.1 spz # preloaded symbol tables.
4637 1.1 spz # Exclude shared library initialization/finalization symbols.
4638 1.1 spz dnl Note also adjust exclude_expsyms for C++ above.
4639 1.1 spz extract_expsyms_cmds=
4640 1.1 spz
4641 1.1 spz case $host_os in
4642 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
4643 1.1 spz # FIXME: the MSVC++ port hasn't been tested in a loooong time
4644 1.1 spz # When not using gcc, we currently assume that we are using
4645 1.1 spz # Microsoft Visual C++.
4646 1.1 spz if test "$GCC" != yes; then
4647 1.1 spz with_gnu_ld=no
4648 1.1 spz fi
4649 1.1 spz ;;
4650 1.1 spz interix*)
4651 1.1 spz # we just hope/assume this is gcc and not c89 (= MSVC++)
4652 1.1 spz with_gnu_ld=yes
4653 1.1 spz ;;
4654 1.1 spz openbsd*)
4655 1.1 spz with_gnu_ld=no
4656 1.1 spz ;;
4657 1.1 spz linux* | k*bsd*-gnu | gnu*)
4658 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=no
4659 1.1 spz ;;
4660 1.1 spz esac
4661 1.1 spz
4662 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
4663 1.1 spz
4664 1.1 spz # On some targets, GNU ld is compatible enough with the native linker
4665 1.1 spz # that we're better off using the native interface for both.
4666 1.1 spz lt_use_gnu_ld_interface=no
4667 1.1 spz if test "$with_gnu_ld" = yes; then
4668 1.1 spz case $host_os in
4669 1.1 spz aix*)
4670 1.1 spz # The AIX port of GNU ld has always aspired to compatibility
4671 1.1 spz # with the native linker. However, as the warning in the GNU ld
4672 1.1 spz # block says, versions before 2.19.5* couldn't really create working
4673 1.1 spz # shared libraries, regardless of the interface used.
4674 1.1 spz case `$LD -v 2>&1` in
4675 1.1 spz *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
4676 1.1 spz *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
4677 1.1 spz *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
4678 1.1 spz *)
4679 1.1 spz lt_use_gnu_ld_interface=yes
4680 1.1 spz ;;
4681 1.1 spz esac
4682 1.1 spz ;;
4683 1.1 spz *)
4684 1.1 spz lt_use_gnu_ld_interface=yes
4685 1.1 spz ;;
4686 1.1 spz esac
4687 1.1 spz fi
4688 1.1 spz
4689 1.1 spz if test "$lt_use_gnu_ld_interface" = yes; then
4690 1.1 spz # If archive_cmds runs LD, not CC, wlarc should be empty
4691 1.1 spz wlarc='${wl}'
4692 1.1 spz
4693 1.1 spz # Set some defaults for GNU ld with shared library support. These
4694 1.1 spz # are reset later if shared libraries are not supported. Putting them
4695 1.1 spz # here allows them to be overridden if necessary.
4696 1.1 spz runpath_var=LD_RUN_PATH
4697 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4698 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4699 1.1 spz # ancient GNU ld didn't support --whole-archive et. al.
4700 1.1 spz if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4701 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4702 1.1 spz else
4703 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
4704 1.1 spz fi
4705 1.1 spz supports_anon_versioning=no
4706 1.1 spz case `$LD -v 2>&1` in
4707 1.1 spz *GNU\ gold*) supports_anon_versioning=yes ;;
4708 1.1 spz *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4709 1.1 spz *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4710 1.1 spz *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4711 1.1 spz *\ 2.11.*) ;; # other 2.11 versions
4712 1.1 spz *) supports_anon_versioning=yes ;;
4713 1.1 spz esac
4714 1.1 spz
4715 1.1 spz # See if GNU ld supports shared libraries.
4716 1.1 spz case $host_os in
4717 1.1 spz aix[[3-9]]*)
4718 1.1 spz # On AIX/PPC, the GNU linker is very broken
4719 1.1 spz if test "$host_cpu" != ia64; then
4720 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4721 1.1 spz cat <<_LT_EOF 1>&2
4722 1.1 spz
4723 1.1 spz *** Warning: the GNU linker, at least up to release 2.19, is reported
4724 1.1 spz *** to be unable to reliably create shared libraries on AIX.
4725 1.1 spz *** Therefore, libtool is disabling shared libraries support. If you
4726 1.1 spz *** really care for shared libraries, you may want to install binutils
4727 1.1 spz *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
4728 1.1 spz *** You will then need to restart the configuration process.
4729 1.1 spz
4730 1.1 spz _LT_EOF
4731 1.1 spz fi
4732 1.1 spz ;;
4733 1.1 spz
4734 1.1 spz amigaos*)
4735 1.1 spz case $host_cpu in
4736 1.1 spz powerpc)
4737 1.1 spz # see comment about AmigaOS4 .so support
4738 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4739 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=''
4740 1.1 spz ;;
4741 1.1 spz m68k)
4742 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)'
4743 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4744 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
4745 1.1 spz ;;
4746 1.1 spz esac
4747 1.1 spz ;;
4748 1.1 spz
4749 1.1 spz beos*)
4750 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4751 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4752 1.1 spz # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
4753 1.1 spz # support --undefined. This deserves some investigation. FIXME
4754 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4755 1.1 spz else
4756 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4757 1.1 spz fi
4758 1.1 spz ;;
4759 1.1 spz
4760 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
4761 1.1 spz # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4762 1.1 spz # as there is no search path for DLLs.
4763 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4764 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
4765 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4766 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
4767 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4768 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'
4769 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']
4770 1.1 spz
4771 1.1 spz if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4772 1.1 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'
4773 1.1 spz # If the export-symbols file already is a .def file (1st line
4774 1.1 spz # is EXPORTS), use it as is; otherwise, prepend...
4775 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4776 1.1 spz cp $export_symbols $output_objdir/$soname.def;
4777 1.1 spz else
4778 1.1 spz echo EXPORTS > $output_objdir/$soname.def;
4779 1.1 spz cat $export_symbols >> $output_objdir/$soname.def;
4780 1.1 spz fi~
4781 1.1 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'
4782 1.1 spz else
4783 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4784 1.1 spz fi
4785 1.1 spz ;;
4786 1.1 spz
4787 1.1 spz haiku*)
4788 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4789 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
4790 1.1 spz ;;
4791 1.1 spz
4792 1.1 spz interix[[3-9]]*)
4793 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
4794 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4795 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4796 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4797 1.1 spz # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4798 1.1 spz # Instead, shared libraries are loaded at an image base (0x10000000 by
4799 1.1 spz # default) and relocated if they conflict, which is a slow very memory
4800 1.1 spz # consuming and fragmenting process. To avoid this, we pick a random,
4801 1.1 spz # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4802 1.1 spz # time. Moving up from 0x10000000 also allows more sbrk(2) space.
4803 1.1 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'
4804 1.1 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'
4805 1.1 spz ;;
4806 1.1 spz
4807 1.1 spz gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
4808 1.1 spz tmp_diet=no
4809 1.1 spz if test "$host_os" = linux-dietlibc; then
4810 1.1 spz case $cc_basename in
4811 1.1 spz diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4812 1.1 spz esac
4813 1.1 spz fi
4814 1.1 spz if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4815 1.1 spz && test "$tmp_diet" = no
4816 1.1 spz then
4817 1.1 spz tmp_addflag=' $pic_flag'
4818 1.1 spz tmp_sharedflag='-shared'
4819 1.1 spz case $cc_basename,$host_cpu in
4820 1.1 spz pgcc*) # Portland Group C compiler
4821 1.1 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'
4822 1.1 spz tmp_addflag=' $pic_flag'
4823 1.1 spz ;;
4824 1.1 spz pgf77* | pgf90* | pgf95* | pgfortran*)
4825 1.1 spz # Portland Group f77 and f90 compilers
4826 1.1 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'
4827 1.1 spz tmp_addflag=' $pic_flag -Mnomain' ;;
4828 1.1 spz ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
4829 1.1 spz tmp_addflag=' -i_dynamic' ;;
4830 1.1 spz efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4831 1.1 spz tmp_addflag=' -i_dynamic -nofor_main' ;;
4832 1.1 spz ifc* | ifort*) # Intel Fortran compiler
4833 1.1 spz tmp_addflag=' -nofor_main' ;;
4834 1.1 spz lf95*) # Lahey Fortran 8.1
4835 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
4836 1.1 spz tmp_sharedflag='--shared' ;;
4837 1.1 spz xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4838 1.1 spz tmp_sharedflag='-qmkshrobj'
4839 1.1 spz tmp_addflag= ;;
4840 1.1 spz nvcc*) # Cuda Compiler Driver 2.2
4841 1.1 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'
4842 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
4843 1.1 spz ;;
4844 1.1 spz esac
4845 1.1 spz case `$CC -V 2>&1 | sed 5q` in
4846 1.1 spz *Sun\ C*) # Sun C 5.9
4847 1.1 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'
4848 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
4849 1.1 spz tmp_sharedflag='-G' ;;
4850 1.1 spz *Sun\ F*) # Sun Fortran 8.3
4851 1.1 spz tmp_sharedflag='-G' ;;
4852 1.1 spz esac
4853 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4854 1.1 spz
4855 1.1 spz if test "x$supports_anon_versioning" = xyes; then
4856 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4857 1.1 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4858 1.1 spz echo "local: *; };" >> $output_objdir/$libname.ver~
4859 1.1 spz $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4860 1.1 spz fi
4861 1.1 spz
4862 1.1 spz case $cc_basename in
4863 1.1 spz xlf* | bgf* | bgxlf* | mpixlf*)
4864 1.1 spz # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4865 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4866 1.1.1.2 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4867 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
4868 1.1 spz if test "x$supports_anon_versioning" = xyes; then
4869 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4870 1.1 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4871 1.1 spz echo "local: *; };" >> $output_objdir/$libname.ver~
4872 1.1 spz $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4873 1.1 spz fi
4874 1.1 spz ;;
4875 1.1 spz esac
4876 1.1 spz else
4877 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4878 1.1 spz fi
4879 1.1 spz ;;
4880 1.1 spz
4881 1.1 spz netbsd* | netbsdelf*-gnu)
4882 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4883 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4884 1.1 spz wlarc=
4885 1.1 spz else
4886 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4887 1.1 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'
4888 1.1 spz fi
4889 1.1 spz ;;
4890 1.1 spz
4891 1.1 spz solaris*)
4892 1.1 spz if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4893 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4894 1.1 spz cat <<_LT_EOF 1>&2
4895 1.1 spz
4896 1.1 spz *** Warning: The releases 2.8.* of the GNU linker cannot reliably
4897 1.1 spz *** create shared libraries on Solaris systems. Therefore, libtool
4898 1.1 spz *** is disabling shared libraries support. We urge you to upgrade GNU
4899 1.1 spz *** binutils to release 2.9.1 or newer. Another option is to modify
4900 1.1 spz *** your PATH or compiler configuration so that the native linker is
4901 1.1 spz *** used, and then restart.
4902 1.1 spz
4903 1.1 spz _LT_EOF
4904 1.1 spz elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4905 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4906 1.1 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'
4907 1.1 spz else
4908 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4909 1.1 spz fi
4910 1.1 spz ;;
4911 1.1 spz
4912 1.1 spz sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4913 1.1 spz case `$LD -v 2>&1` in
4914 1.1 spz *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4915 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4916 1.1 spz cat <<_LT_EOF 1>&2
4917 1.1 spz
4918 1.1 spz *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4919 1.1 spz *** reliably create shared libraries on SCO systems. Therefore, libtool
4920 1.1 spz *** is disabling shared libraries support. We urge you to upgrade GNU
4921 1.1 spz *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4922 1.1 spz *** your PATH or compiler configuration so that the native linker is
4923 1.1 spz *** used, and then restart.
4924 1.1 spz
4925 1.1 spz _LT_EOF
4926 1.1 spz ;;
4927 1.1 spz *)
4928 1.1 spz # For security reasons, it is highly recommended that you always
4929 1.1 spz # use absolute paths for naming shared libraries, and exclude the
4930 1.1 spz # DT_RUNPATH tag from executables and libraries. But doing so
4931 1.1 spz # requires that you compile everything twice, which is a pain.
4932 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4933 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4934 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4935 1.1 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'
4936 1.1 spz else
4937 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4938 1.1 spz fi
4939 1.1 spz ;;
4940 1.1 spz esac
4941 1.1 spz ;;
4942 1.1 spz
4943 1.1 spz sunos4*)
4944 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4945 1.1 spz wlarc=
4946 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
4947 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4948 1.1 spz ;;
4949 1.1 spz
4950 1.1 spz *)
4951 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4952 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4953 1.1 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'
4954 1.1 spz else
4955 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
4956 1.1 spz fi
4957 1.1 spz ;;
4958 1.1 spz esac
4959 1.1 spz
4960 1.1 spz if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4961 1.1 spz runpath_var=
4962 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4963 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4964 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
4965 1.1 spz fi
4966 1.1 spz else
4967 1.1 spz # PORTME fill in a description of your system's linker (not GNU ld)
4968 1.1 spz case $host_os in
4969 1.1 spz aix3*)
4970 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4971 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
4972 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'
4973 1.1 spz # Note: this linker hardcodes the directories in LIBPATH if there
4974 1.1 spz # are no directories specified by -L.
4975 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
4976 1.1 spz if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4977 1.1 spz # Neither direct hardcoding nor static linking is supported with a
4978 1.1 spz # broken collect2.
4979 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
4980 1.1 spz fi
4981 1.1 spz ;;
4982 1.1 spz
4983 1.1 spz aix[[4-9]]*)
4984 1.1 spz if test "$host_cpu" = ia64; then
4985 1.1 spz # On IA64, the linker does run time linking by default, so we don't
4986 1.1 spz # have to do anything special.
4987 1.1 spz aix_use_runtimelinking=no
4988 1.1 spz exp_sym_flag='-Bexport'
4989 1.1 spz no_entry_flag=""
4990 1.1 spz else
4991 1.1 spz # If we're using GNU nm, then we don't want the "-C" option.
4992 1.1 spz # -C means demangle to AIX nm, but means don't demangle with GNU nm
4993 1.1 spz # Also, AIX nm treats weak defined symbols like other global
4994 1.1 spz # defined symbols, whereas GNU nm marks them as "W".
4995 1.1 spz if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4996 1.1 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) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4997 1.1 spz else
4998 1.1 spz _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4999 1.1 spz fi
5000 1.1 spz aix_use_runtimelinking=no
5001 1.1 spz
5002 1.1 spz # Test if we are trying to use run time linking or normal
5003 1.1 spz # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5004 1.1 spz # need to do runtime linking.
5005 1.1 spz case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5006 1.1 spz for ld_flag in $LDFLAGS; do
5007 1.1 spz if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5008 1.1 spz aix_use_runtimelinking=yes
5009 1.1 spz break
5010 1.1 spz fi
5011 1.1 spz done
5012 1.1 spz ;;
5013 1.1 spz esac
5014 1.1 spz
5015 1.1 spz exp_sym_flag='-bexport'
5016 1.1 spz no_entry_flag='-bnoentry'
5017 1.1 spz fi
5018 1.1 spz
5019 1.1 spz # When large executables or shared objects are built, AIX ld can
5020 1.1 spz # have problems creating the table of contents. If linking a library
5021 1.1 spz # or program results in "error TOC overflow" add -mminimal-toc to
5022 1.1 spz # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5023 1.1 spz # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5024 1.1 spz
5025 1.1 spz _LT_TAGVAR(archive_cmds, $1)=''
5026 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5027 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5028 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5029 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5030 1.1 spz _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5031 1.1 spz
5032 1.1 spz if test "$GCC" = yes; then
5033 1.1 spz case $host_os in aix4.[[012]]|aix4.[[012]].*)
5034 1.1 spz # We only want to do this on AIX 4.2 and lower, the check
5035 1.1 spz # below for broken collect2 doesn't work under 4.3+
5036 1.1 spz collect2name=`${CC} -print-prog-name=collect2`
5037 1.1 spz if test -f "$collect2name" &&
5038 1.1 spz strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5039 1.1 spz then
5040 1.1 spz # We have reworked collect2
5041 1.1 spz :
5042 1.1 spz else
5043 1.1 spz # We have old collect2
5044 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
5045 1.1 spz # It fails to find uninstalled libraries when the uninstalled
5046 1.1 spz # path is not listed in the libpath. Setting hardcode_minus_L
5047 1.1 spz # to unsupported forces relinking
5048 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5049 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5050 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
5051 1.1 spz fi
5052 1.1 spz ;;
5053 1.1 spz esac
5054 1.1 spz shared_flag='-shared'
5055 1.1 spz if test "$aix_use_runtimelinking" = yes; then
5056 1.1 spz shared_flag="$shared_flag "'${wl}-G'
5057 1.1 spz fi
5058 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=no
5059 1.1 spz else
5060 1.1 spz # not using gcc
5061 1.1 spz if test "$host_cpu" = ia64; then
5062 1.1 spz # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5063 1.1 spz # chokes on -Wl,-G. The following line is correct:
5064 1.1 spz shared_flag='-G'
5065 1.1 spz else
5066 1.1 spz if test "$aix_use_runtimelinking" = yes; then
5067 1.1 spz shared_flag='${wl}-G'
5068 1.1 spz else
5069 1.1 spz shared_flag='${wl}-bM:SRE'
5070 1.1 spz fi
5071 1.1 spz fi
5072 1.1 spz fi
5073 1.1 spz
5074 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5075 1.1 spz # It seems that -bexpall does not export symbols beginning with
5076 1.1 spz # underscore (_), so it is better to generate a list of symbols to export.
5077 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5078 1.1 spz if test "$aix_use_runtimelinking" = yes; then
5079 1.1 spz # Warning - without using the other runtime loading flags (-brtl),
5080 1.1 spz # -berok will link without error, but may produce a broken library.
5081 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5082 1.1 spz # Determine the default libpath from the value encoded in an
5083 1.1 spz # empty executable.
5084 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
5085 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5086 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5087 1.1 spz else
5088 1.1 spz if test "$host_cpu" = ia64; then
5089 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5090 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5091 1.1 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"
5092 1.1 spz else
5093 1.1 spz # Determine the default libpath from the value encoded in an
5094 1.1 spz # empty executable.
5095 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
5096 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5097 1.1 spz # Warning - without using the other run time loading flags,
5098 1.1 spz # -berok will link without error, but may produce a broken library.
5099 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5100 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5101 1.1 spz if test "$with_gnu_ld" = yes; then
5102 1.1 spz # We only use this code for GNU lds that support --whole-archive.
5103 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5104 1.1 spz else
5105 1.1 spz # Exported symbols can be pulled into shared objects from archives
5106 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5107 1.1 spz fi
5108 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5109 1.1 spz # This is similar to how AIX traditionally builds its shared libraries.
5110 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5111 1.1 spz fi
5112 1.1 spz fi
5113 1.1 spz ;;
5114 1.1 spz
5115 1.1 spz amigaos*)
5116 1.1 spz case $host_cpu in
5117 1.1 spz powerpc)
5118 1.1 spz # see comment about AmigaOS4 .so support
5119 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5120 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=''
5121 1.1 spz ;;
5122 1.1 spz m68k)
5123 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)'
5124 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5125 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5126 1.1 spz ;;
5127 1.1 spz esac
5128 1.1 spz ;;
5129 1.1 spz
5130 1.1 spz bsdi[[45]]*)
5131 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5132 1.1 spz ;;
5133 1.1 spz
5134 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
5135 1.1 spz # When not using gcc, we currently assume that we are using
5136 1.1 spz # Microsoft Visual C++.
5137 1.1 spz # hardcode_libdir_flag_spec is actually meaningless, as there is
5138 1.1 spz # no search path for DLLs.
5139 1.1 spz case $cc_basename in
5140 1.1 spz cl*)
5141 1.1 spz # Native MSVC
5142 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5143 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5144 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
5145 1.1 spz _LT_TAGVAR(file_list_spec, $1)='@'
5146 1.1 spz # Tell ltmain to make .lib files, not .a files.
5147 1.1 spz libext=lib
5148 1.1 spz # Tell ltmain to make .dll files, not .so files.
5149 1.1 spz shrext_cmds=".dll"
5150 1.1 spz # FIXME: Setting linknames here is a bad hack.
5151 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
5152 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5153 1.1 spz sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
5154 1.1 spz else
5155 1.1 spz sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
5156 1.1 spz fi~
5157 1.1 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"~
5158 1.1 spz linknames='
5159 1.1 spz # The linker will not automatically build a static lib if we build a DLL.
5160 1.1 spz # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5161 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5162 1.1.1.2 spz _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5163 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'
5164 1.1 spz # Don't use ranlib
5165 1.1 spz _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5166 1.1 spz _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5167 1.1 spz lt_tool_outputfile="@TOOL_OUTPUT@"~
5168 1.1 spz case $lt_outputfile in
5169 1.1 spz *.exe|*.EXE) ;;
5170 1.1 spz *)
5171 1.1 spz lt_outputfile="$lt_outputfile.exe"
5172 1.1 spz lt_tool_outputfile="$lt_tool_outputfile.exe"
5173 1.1 spz ;;
5174 1.1 spz esac~
5175 1.1 spz if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
5176 1.1 spz $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5177 1.1 spz $RM "$lt_outputfile.manifest";
5178 1.1 spz fi'
5179 1.1 spz ;;
5180 1.1 spz *)
5181 1.1 spz # Assume MSVC wrapper
5182 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5183 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5184 1.1 spz # Tell ltmain to make .lib files, not .a files.
5185 1.1 spz libext=lib
5186 1.1 spz # Tell ltmain to make .dll files, not .so files.
5187 1.1 spz shrext_cmds=".dll"
5188 1.1 spz # FIXME: Setting linknames here is a bad hack.
5189 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5190 1.1 spz # The linker will automatically build a .lib file if we build a DLL.
5191 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5192 1.1 spz # FIXME: Should let the user specify the lib program.
5193 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5194 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5195 1.1 spz ;;
5196 1.1 spz esac
5197 1.1 spz ;;
5198 1.1 spz
5199 1.1 spz darwin* | rhapsody*)
5200 1.1 spz _LT_DARWIN_LINKER_FEATURES($1)
5201 1.1 spz ;;
5202 1.1 spz
5203 1.1 spz dgux*)
5204 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5205 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5206 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5207 1.1 spz ;;
5208 1.1 spz
5209 1.1 spz # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5210 1.1 spz # support. Future versions do this automatically, but an explicit c++rt0.o
5211 1.1 spz # does not break anything, and helps significantly (at the cost of a little
5212 1.1 spz # extra space).
5213 1.1 spz freebsd2.2*)
5214 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5215 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5216 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5217 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5218 1.1 spz ;;
5219 1.1 spz
5220 1.1 spz # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5221 1.1.1.2 spz freebsd2.*)
5222 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5223 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5224 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5225 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5226 1.1 spz ;;
5227 1.1 spz
5228 1.1 spz # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5229 1.1 spz freebsd* | dragonfly*)
5230 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5231 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5232 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5233 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5234 1.1 spz ;;
5235 1.1 spz
5236 1.1 spz hpux9*)
5237 1.1 spz if test "$GCC" = yes; then
5238 1.1 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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5239 1.1 spz else
5240 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5241 1.1 spz fi
5242 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5243 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5244 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5245 1.1 spz
5246 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5247 1.1 spz # but as the default location of the library.
5248 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5249 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5250 1.1 spz ;;
5251 1.1 spz
5252 1.1 spz hpux10*)
5253 1.1 spz if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5254 1.1 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'
5255 1.1 spz else
5256 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5257 1.1 spz fi
5258 1.1 spz if test "$with_gnu_ld" = no; then
5259 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5260 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5261 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5262 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5263 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5264 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5265 1.1 spz # but as the default location of the library.
5266 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5267 1.1 spz fi
5268 1.1 spz ;;
5269 1.1 spz
5270 1.1 spz hpux11*)
5271 1.1 spz if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5272 1.1 spz case $host_cpu in
5273 1.1 spz hppa*64*)
5274 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5275 1.1 spz ;;
5276 1.1 spz ia64*)
5277 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5278 1.1 spz ;;
5279 1.1 spz *)
5280 1.1 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'
5281 1.1 spz ;;
5282 1.1 spz esac
5283 1.1 spz else
5284 1.1 spz case $host_cpu in
5285 1.1 spz hppa*64*)
5286 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5287 1.1 spz ;;
5288 1.1 spz ia64*)
5289 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5290 1.1 spz ;;
5291 1.1 spz *)
5292 1.1 spz m4_if($1, [], [
5293 1.1 spz # Older versions of the 11.00 compiler do not understand -b yet
5294 1.1 spz # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5295 1.1 spz _LT_LINKER_OPTION([if $CC understands -b],
5296 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5297 1.1 spz [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5298 1.1 spz [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5299 1.1 spz [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5300 1.1 spz ;;
5301 1.1 spz esac
5302 1.1 spz fi
5303 1.1 spz if test "$with_gnu_ld" = no; then
5304 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5305 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5306 1.1 spz
5307 1.1 spz case $host_cpu in
5308 1.1 spz hppa*64*|ia64*)
5309 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5310 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5311 1.1 spz ;;
5312 1.1 spz *)
5313 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5314 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5315 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5316 1.1 spz
5317 1.1 spz # hardcode_minus_L: Not really in the search PATH,
5318 1.1 spz # but as the default location of the library.
5319 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5320 1.1 spz ;;
5321 1.1 spz esac
5322 1.1 spz fi
5323 1.1 spz ;;
5324 1.1 spz
5325 1.1 spz irix5* | irix6* | nonstopux*)
5326 1.1 spz if test "$GCC" = yes; then
5327 1.1 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'
5328 1.1 spz # Try to use the -exported_symbol ld option, if it does not
5329 1.1 spz # work, assume that -exports_file does not work either and
5330 1.1 spz # implicitly export all symbols.
5331 1.1 spz # This should be the same for all languages, so no per-tag cache variable.
5332 1.1 spz AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5333 1.1 spz [lt_cv_irix_exported_symbol],
5334 1.1 spz [save_LDFLAGS="$LDFLAGS"
5335 1.1 spz LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
5336 1.1 spz AC_LINK_IFELSE(
5337 1.1 spz [AC_LANG_SOURCE(
5338 1.1 spz [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5339 1.1 spz [C++], [[int foo (void) { return 0; }]],
5340 1.1 spz [Fortran 77], [[
5341 1.1 spz subroutine foo
5342 1.1 spz end]],
5343 1.1 spz [Fortran], [[
5344 1.1 spz subroutine foo
5345 1.1 spz end]])])],
5346 1.1 spz [lt_cv_irix_exported_symbol=yes],
5347 1.1 spz [lt_cv_irix_exported_symbol=no])
5348 1.1 spz LDFLAGS="$save_LDFLAGS"])
5349 1.1 spz if test "$lt_cv_irix_exported_symbol" = yes; then
5350 1.1 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'
5351 1.1 spz fi
5352 1.1 spz else
5353 1.1 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'
5354 1.1 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'
5355 1.1 spz fi
5356 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5357 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5358 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5359 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=yes
5360 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5361 1.1 spz ;;
5362 1.1 spz
5363 1.1 spz netbsd* | netbsdelf*-gnu)
5364 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5365 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5366 1.1 spz else
5367 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5368 1.1 spz fi
5369 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5370 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5371 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5372 1.1 spz ;;
5373 1.1 spz
5374 1.1 spz newsos6)
5375 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5376 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5377 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5378 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5379 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5380 1.1 spz ;;
5381 1.1 spz
5382 1.1 spz *nto* | *qnx*)
5383 1.1 spz ;;
5384 1.1 spz
5385 1.1 spz openbsd*)
5386 1.1 spz if test -f /usr/libexec/ld.so; then
5387 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5388 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5389 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5390 1.1 spz if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5391 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5392 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
5393 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5394 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5395 1.1 spz else
5396 1.1 spz case $host_os in
5397 1.1 spz openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
5398 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5399 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5400 1.1 spz ;;
5401 1.1 spz *)
5402 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5403 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5404 1.1 spz ;;
5405 1.1 spz esac
5406 1.1 spz fi
5407 1.1 spz else
5408 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5409 1.1 spz fi
5410 1.1 spz ;;
5411 1.1 spz
5412 1.1 spz os2*)
5413 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5414 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5415 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5416 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
5417 1.1 spz _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
5418 1.1 spz ;;
5419 1.1 spz
5420 1.1 spz osf3*)
5421 1.1 spz if test "$GCC" = yes; then
5422 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5423 1.1 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'
5424 1.1 spz else
5425 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5426 1.1 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'
5427 1.1 spz fi
5428 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5429 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5430 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5431 1.1 spz ;;
5432 1.1 spz
5433 1.1 spz osf4* | osf5*) # as osf3* with the addition of -msym flag
5434 1.1 spz if test "$GCC" = yes; then
5435 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5436 1.1 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'
5437 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5438 1.1 spz else
5439 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5440 1.1 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'
5441 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~
5442 1.1 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'
5443 1.1 spz
5444 1.1 spz # Both c and cxx compiler support -rpath directly
5445 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5446 1.1 spz fi
5447 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5448 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5449 1.1 spz ;;
5450 1.1 spz
5451 1.1 spz solaris*)
5452 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5453 1.1 spz if test "$GCC" = yes; then
5454 1.1 spz wlarc='${wl}'
5455 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5456 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~
5457 1.1 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'
5458 1.1 spz else
5459 1.1 spz case `$CC -V 2>&1` in
5460 1.1 spz *"Compilers 5.0"*)
5461 1.1 spz wlarc=''
5462 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5463 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~
5464 1.1 spz $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5465 1.1 spz ;;
5466 1.1 spz *)
5467 1.1 spz wlarc='${wl}'
5468 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5469 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~
5470 1.1 spz $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5471 1.1 spz ;;
5472 1.1 spz esac
5473 1.1 spz fi
5474 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5475 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5476 1.1 spz case $host_os in
5477 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5478 1.1 spz *)
5479 1.1 spz # The compiler driver will combine and reorder linker options,
5480 1.1 spz # but understands `-z linker_flag'. GCC discards it without `$wl',
5481 1.1 spz # but is careful enough not to reorder.
5482 1.1 spz # Supported since Solaris 2.6 (maybe 2.5.1?)
5483 1.1 spz if test "$GCC" = yes; then
5484 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5485 1.1 spz else
5486 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5487 1.1 spz fi
5488 1.1 spz ;;
5489 1.1 spz esac
5490 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5491 1.1 spz ;;
5492 1.1 spz
5493 1.1 spz sunos4*)
5494 1.1 spz if test "x$host_vendor" = xsequent; then
5495 1.1 spz # Use $CC to link under sequent, because it throws in some extra .o
5496 1.1 spz # files that make .init and .fini sections work.
5497 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5498 1.1 spz else
5499 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5500 1.1 spz fi
5501 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5502 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
5503 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
5504 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5505 1.1 spz ;;
5506 1.1 spz
5507 1.1 spz sysv4)
5508 1.1 spz case $host_vendor in
5509 1.1 spz sni)
5510 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5511 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5512 1.1 spz ;;
5513 1.1 spz siemens)
5514 1.1 spz ## LD is ld it makes a PLAMLIB
5515 1.1 spz ## CC just makes a GrossModule.
5516 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5517 1.1 spz _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5518 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5519 1.1 spz ;;
5520 1.1 spz motorola)
5521 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5522 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5523 1.1 spz ;;
5524 1.1 spz esac
5525 1.1 spz runpath_var='LD_RUN_PATH'
5526 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5527 1.1 spz ;;
5528 1.1 spz
5529 1.1 spz sysv4.3*)
5530 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5531 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5532 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5533 1.1 spz ;;
5534 1.1 spz
5535 1.1 spz sysv4*MP*)
5536 1.1 spz if test -d /usr/nec; then
5537 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5538 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5539 1.1 spz runpath_var=LD_RUN_PATH
5540 1.1 spz hardcode_runpath_var=yes
5541 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
5542 1.1 spz fi
5543 1.1 spz ;;
5544 1.1 spz
5545 1.1 spz sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5546 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5547 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5548 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5549 1.1 spz runpath_var='LD_RUN_PATH'
5550 1.1 spz
5551 1.1 spz if test "$GCC" = yes; then
5552 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5553 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5554 1.1 spz else
5555 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5556 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5557 1.1 spz fi
5558 1.1 spz ;;
5559 1.1 spz
5560 1.1 spz sysv5* | sco3.2v5* | sco5v6*)
5561 1.1 spz # Note: We can NOT use -z defs as we might desire, because we do not
5562 1.1 spz # link with -lc, and that would cause any symbols used from libc to
5563 1.1 spz # always be unresolved, which means just about no library would
5564 1.1 spz # ever link correctly. If we're not using GNU ld we use -z text
5565 1.1 spz # though, which does catch some bad symbols but isn't as heavy-handed
5566 1.1 spz # as -z defs.
5567 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5568 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5569 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5570 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5571 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5572 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5573 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
5574 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5575 1.1 spz runpath_var='LD_RUN_PATH'
5576 1.1 spz
5577 1.1 spz if test "$GCC" = yes; then
5578 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5579 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5580 1.1 spz else
5581 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5582 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5583 1.1 spz fi
5584 1.1 spz ;;
5585 1.1 spz
5586 1.1 spz uts4*)
5587 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5588 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5589 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5590 1.1 spz ;;
5591 1.1 spz
5592 1.1 spz *)
5593 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5594 1.1 spz ;;
5595 1.1 spz esac
5596 1.1 spz
5597 1.1 spz if test x$host_vendor = xsni; then
5598 1.1 spz case $host in
5599 1.1 spz sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5600 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5601 1.1 spz ;;
5602 1.1 spz esac
5603 1.1 spz fi
5604 1.1 spz fi
5605 1.1 spz ])
5606 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5607 1.1 spz test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5608 1.1 spz
5609 1.1 spz _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5610 1.1 spz
5611 1.1 spz _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5612 1.1 spz _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5613 1.1 spz _LT_DECL([], [extract_expsyms_cmds], [2],
5614 1.1 spz [The commands to extract the exported symbol list from a shared archive])
5615 1.1 spz
5616 1.1 spz #
5617 1.1 spz # Do we need to explicitly link libc?
5618 1.1 spz #
5619 1.1 spz case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5620 1.1 spz x|xyes)
5621 1.1 spz # Assume -lc should be added
5622 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5623 1.1 spz
5624 1.1 spz if test "$enable_shared" = yes && test "$GCC" = yes; then
5625 1.1 spz case $_LT_TAGVAR(archive_cmds, $1) in
5626 1.1 spz *'~'*)
5627 1.1 spz # FIXME: we may have to deal with multi-command sequences.
5628 1.1 spz ;;
5629 1.1 spz '$CC '*)
5630 1.1 spz # Test whether the compiler implicitly links with -lc since on some
5631 1.1 spz # systems, -lgcc has to come before -lc. If gcc already passes -lc
5632 1.1 spz # to ld, don't add -lc before -lgcc.
5633 1.1 spz AC_CACHE_CHECK([whether -lc should be explicitly linked in],
5634 1.1 spz [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
5635 1.1 spz [$RM conftest*
5636 1.1 spz echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5637 1.1 spz
5638 1.1 spz if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5639 1.1 spz soname=conftest
5640 1.1 spz lib=conftest
5641 1.1 spz libobjs=conftest.$ac_objext
5642 1.1 spz deplibs=
5643 1.1 spz wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5644 1.1 spz pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5645 1.1 spz compiler_flags=-v
5646 1.1 spz linker_flags=-v
5647 1.1 spz verstring=
5648 1.1 spz output_objdir=.
5649 1.1 spz libname=conftest
5650 1.1 spz lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5651 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
5652 1.1 spz if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5653 1.1 spz then
5654 1.1 spz lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5655 1.1 spz else
5656 1.1 spz lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5657 1.1 spz fi
5658 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5659 1.1 spz else
5660 1.1 spz cat conftest.err 1>&5
5661 1.1 spz fi
5662 1.1 spz $RM conftest*
5663 1.1 spz ])
5664 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
5665 1.1 spz ;;
5666 1.1 spz esac
5667 1.1 spz fi
5668 1.1 spz ;;
5669 1.1 spz esac
5670 1.1 spz
5671 1.1 spz _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5672 1.1 spz [Whether or not to add -lc for building shared libraries])
5673 1.1 spz _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5674 1.1 spz [enable_shared_with_static_runtimes], [0],
5675 1.1 spz [Whether or not to disallow shared libs when runtime libs are static])
5676 1.1 spz _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5677 1.1 spz [Compiler flag to allow reflexive dlopens])
5678 1.1 spz _LT_TAGDECL([], [whole_archive_flag_spec], [1],
5679 1.1 spz [Compiler flag to generate shared objects directly from archives])
5680 1.1 spz _LT_TAGDECL([], [compiler_needs_object], [1],
5681 1.1 spz [Whether the compiler copes with passing no objects directly])
5682 1.1 spz _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5683 1.1 spz [Create an old-style archive from a shared archive])
5684 1.1 spz _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5685 1.1 spz [Create a temporary old-style archive to link instead of a shared archive])
5686 1.1 spz _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5687 1.1 spz _LT_TAGDECL([], [archive_expsym_cmds], [2])
5688 1.1 spz _LT_TAGDECL([], [module_cmds], [2],
5689 1.1 spz [Commands used to build a loadable module if different from building
5690 1.1 spz a shared archive.])
5691 1.1 spz _LT_TAGDECL([], [module_expsym_cmds], [2])
5692 1.1 spz _LT_TAGDECL([], [with_gnu_ld], [1],
5693 1.1 spz [Whether we are building with GNU ld or not])
5694 1.1 spz _LT_TAGDECL([], [allow_undefined_flag], [1],
5695 1.1 spz [Flag that allows shared libraries with undefined symbols to be built])
5696 1.1 spz _LT_TAGDECL([], [no_undefined_flag], [1],
5697 1.1 spz [Flag that enforces no undefined symbols])
5698 1.1 spz _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5699 1.1 spz [Flag to hardcode $libdir into a binary during linking.
5700 1.1 spz This must work even if $libdir does not exist])
5701 1.1 spz _LT_TAGDECL([], [hardcode_libdir_separator], [1],
5702 1.1 spz [Whether we need a single "-rpath" flag with a separated argument])
5703 1.1 spz _LT_TAGDECL([], [hardcode_direct], [0],
5704 1.1 spz [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5705 1.1 spz DIR into the resulting binary])
5706 1.1 spz _LT_TAGDECL([], [hardcode_direct_absolute], [0],
5707 1.1 spz [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5708 1.1 spz DIR into the resulting binary and the resulting library dependency is
5709 1.1 spz "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5710 1.1 spz library is relocated])
5711 1.1 spz _LT_TAGDECL([], [hardcode_minus_L], [0],
5712 1.1 spz [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5713 1.1 spz into the resulting binary])
5714 1.1 spz _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5715 1.1 spz [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5716 1.1 spz into the resulting binary])
5717 1.1 spz _LT_TAGDECL([], [hardcode_automatic], [0],
5718 1.1 spz [Set to "yes" if building a shared library automatically hardcodes DIR
5719 1.1 spz into the library and all subsequent libraries and executables linked
5720 1.1 spz against it])
5721 1.1 spz _LT_TAGDECL([], [inherit_rpath], [0],
5722 1.1 spz [Set to yes if linker adds runtime paths of dependent libraries
5723 1.1 spz to runtime path list])
5724 1.1 spz _LT_TAGDECL([], [link_all_deplibs], [0],
5725 1.1 spz [Whether libtool must link a program against all its dependency libraries])
5726 1.1 spz _LT_TAGDECL([], [always_export_symbols], [0],
5727 1.1 spz [Set to "yes" if exported symbols are required])
5728 1.1 spz _LT_TAGDECL([], [export_symbols_cmds], [2],
5729 1.1 spz [The commands to list exported symbols])
5730 1.1 spz _LT_TAGDECL([], [exclude_expsyms], [1],
5731 1.1 spz [Symbols that should not be listed in the preloaded symbols])
5732 1.1 spz _LT_TAGDECL([], [include_expsyms], [1],
5733 1.1 spz [Symbols that must always be exported])
5734 1.1 spz _LT_TAGDECL([], [prelink_cmds], [2],
5735 1.1 spz [Commands necessary for linking programs (against libraries) with templates])
5736 1.1 spz _LT_TAGDECL([], [postlink_cmds], [2],
5737 1.1 spz [Commands necessary for finishing linking programs])
5738 1.1 spz _LT_TAGDECL([], [file_list_spec], [1],
5739 1.1 spz [Specify filename containing input files])
5740 1.1 spz dnl FIXME: Not yet implemented
5741 1.1 spz dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5742 1.1 spz dnl [Compiler flag to generate thread safe objects])
5743 1.1 spz ])# _LT_LINKER_SHLIBS
5744 1.1 spz
5745 1.1 spz
5746 1.1 spz # _LT_LANG_C_CONFIG([TAG])
5747 1.1 spz # ------------------------
5748 1.1 spz # Ensure that the configuration variables for a C compiler are suitably
5749 1.1 spz # defined. These variables are subsequently used by _LT_CONFIG to write
5750 1.1 spz # the compiler configuration to `libtool'.
5751 1.1 spz m4_defun([_LT_LANG_C_CONFIG],
5752 1.1 spz [m4_require([_LT_DECL_EGREP])dnl
5753 1.1 spz lt_save_CC="$CC"
5754 1.1 spz AC_LANG_PUSH(C)
5755 1.1 spz
5756 1.1 spz # Source file extension for C test sources.
5757 1.1 spz ac_ext=c
5758 1.1 spz
5759 1.1 spz # Object file extension for compiled C test sources.
5760 1.1 spz objext=o
5761 1.1 spz _LT_TAGVAR(objext, $1)=$objext
5762 1.1 spz
5763 1.1 spz # Code to be used in simple compile tests
5764 1.1 spz lt_simple_compile_test_code="int some_variable = 0;"
5765 1.1 spz
5766 1.1 spz # Code to be used in simple link tests
5767 1.1 spz lt_simple_link_test_code='int main(){return(0);}'
5768 1.1 spz
5769 1.1 spz _LT_TAG_COMPILER
5770 1.1 spz # Save the default compiler, since it gets overwritten when the other
5771 1.1 spz # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5772 1.1 spz compiler_DEFAULT=$CC
5773 1.1 spz
5774 1.1 spz # save warnings/boilerplate of simple test code
5775 1.1 spz _LT_COMPILER_BOILERPLATE
5776 1.1 spz _LT_LINKER_BOILERPLATE
5777 1.1 spz
5778 1.1 spz ## CAVEAT EMPTOR:
5779 1.1 spz ## There is no encapsulation within the following macros, do not change
5780 1.1 spz ## the running order or otherwise move them around unless you know exactly
5781 1.1 spz ## what you are doing...
5782 1.1 spz if test -n "$compiler"; then
5783 1.1 spz _LT_COMPILER_NO_RTTI($1)
5784 1.1 spz _LT_COMPILER_PIC($1)
5785 1.1 spz _LT_COMPILER_C_O($1)
5786 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
5787 1.1 spz _LT_LINKER_SHLIBS($1)
5788 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
5789 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
5790 1.1 spz LT_SYS_DLOPEN_SELF
5791 1.1 spz _LT_CMD_STRIPLIB
5792 1.1 spz
5793 1.1 spz # Report which library types will actually be built
5794 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
5795 1.1 spz AC_MSG_RESULT([$can_build_shared])
5796 1.1 spz
5797 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
5798 1.1 spz test "$can_build_shared" = "no" && enable_shared=no
5799 1.1 spz
5800 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
5801 1.1 spz # are all built from PIC.
5802 1.1 spz case $host_os in
5803 1.1 spz aix3*)
5804 1.1 spz test "$enable_shared" = yes && enable_static=no
5805 1.1 spz if test -n "$RANLIB"; then
5806 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
5807 1.1 spz postinstall_cmds='$RANLIB $lib'
5808 1.1 spz fi
5809 1.1 spz ;;
5810 1.1 spz
5811 1.1 spz aix[[4-9]]*)
5812 1.1 spz if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5813 1.1 spz test "$enable_shared" = yes && enable_static=no
5814 1.1 spz fi
5815 1.1 spz ;;
5816 1.1 spz esac
5817 1.1 spz AC_MSG_RESULT([$enable_shared])
5818 1.1 spz
5819 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
5820 1.1 spz # Make sure either enable_shared or enable_static is yes.
5821 1.1 spz test "$enable_shared" = yes || enable_static=yes
5822 1.1 spz AC_MSG_RESULT([$enable_static])
5823 1.1 spz
5824 1.1 spz _LT_CONFIG($1)
5825 1.1 spz fi
5826 1.1 spz AC_LANG_POP
5827 1.1 spz CC="$lt_save_CC"
5828 1.1 spz ])# _LT_LANG_C_CONFIG
5829 1.1 spz
5830 1.1 spz
5831 1.1 spz # _LT_LANG_CXX_CONFIG([TAG])
5832 1.1 spz # --------------------------
5833 1.1 spz # Ensure that the configuration variables for a C++ compiler are suitably
5834 1.1 spz # defined. These variables are subsequently used by _LT_CONFIG to write
5835 1.1 spz # the compiler configuration to `libtool'.
5836 1.1 spz m4_defun([_LT_LANG_CXX_CONFIG],
5837 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5838 1.1 spz m4_require([_LT_DECL_EGREP])dnl
5839 1.1 spz m4_require([_LT_PATH_MANIFEST_TOOL])dnl
5840 1.1 spz if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5841 1.1 spz ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5842 1.1 spz (test "X$CXX" != "Xg++"))) ; then
5843 1.1 spz AC_PROG_CXXCPP
5844 1.1 spz else
5845 1.1 spz _lt_caught_CXX_error=yes
5846 1.1 spz fi
5847 1.1 spz
5848 1.1 spz AC_LANG_PUSH(C++)
5849 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5850 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
5851 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
5852 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
5853 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=no
5854 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5855 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
5856 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5857 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5858 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
5859 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
5860 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5861 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
5862 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
5863 1.1 spz _LT_TAGVAR(module_cmds, $1)=
5864 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
5865 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
5866 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5867 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
5868 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
5869 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
5870 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5871 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5872 1.1 spz
5873 1.1 spz # Source file extension for C++ test sources.
5874 1.1 spz ac_ext=cpp
5875 1.1 spz
5876 1.1 spz # Object file extension for compiled C++ test sources.
5877 1.1 spz objext=o
5878 1.1 spz _LT_TAGVAR(objext, $1)=$objext
5879 1.1 spz
5880 1.1 spz # No sense in running all these tests if we already determined that
5881 1.1 spz # the CXX compiler isn't working. Some variables (like enable_shared)
5882 1.1 spz # are currently assumed to apply to all compilers on this platform,
5883 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
5884 1.1 spz if test "$_lt_caught_CXX_error" != yes; then
5885 1.1 spz # Code to be used in simple compile tests
5886 1.1 spz lt_simple_compile_test_code="int some_variable = 0;"
5887 1.1 spz
5888 1.1 spz # Code to be used in simple link tests
5889 1.1 spz lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5890 1.1 spz
5891 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5892 1.1 spz _LT_TAG_COMPILER
5893 1.1 spz
5894 1.1 spz # save warnings/boilerplate of simple test code
5895 1.1 spz _LT_COMPILER_BOILERPLATE
5896 1.1 spz _LT_LINKER_BOILERPLATE
5897 1.1 spz
5898 1.1 spz # Allow CC to be a program name with arguments.
5899 1.1 spz lt_save_CC=$CC
5900 1.1 spz lt_save_CFLAGS=$CFLAGS
5901 1.1 spz lt_save_LD=$LD
5902 1.1 spz lt_save_GCC=$GCC
5903 1.1 spz GCC=$GXX
5904 1.1 spz lt_save_with_gnu_ld=$with_gnu_ld
5905 1.1 spz lt_save_path_LD=$lt_cv_path_LD
5906 1.1 spz if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5907 1.1 spz lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5908 1.1 spz else
5909 1.1 spz $as_unset lt_cv_prog_gnu_ld
5910 1.1 spz fi
5911 1.1 spz if test -n "${lt_cv_path_LDCXX+set}"; then
5912 1.1 spz lt_cv_path_LD=$lt_cv_path_LDCXX
5913 1.1 spz else
5914 1.1 spz $as_unset lt_cv_path_LD
5915 1.1 spz fi
5916 1.1 spz test -z "${LDCXX+set}" || LD=$LDCXX
5917 1.1 spz CC=${CXX-"c++"}
5918 1.1 spz CFLAGS=$CXXFLAGS
5919 1.1 spz compiler=$CC
5920 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
5921 1.1 spz _LT_CC_BASENAME([$compiler])
5922 1.1 spz
5923 1.1 spz if test -n "$compiler"; then
5924 1.1 spz # We don't want -fno-exception when compiling C++ code, so set the
5925 1.1 spz # no_builtin_flag separately
5926 1.1 spz if test "$GXX" = yes; then
5927 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5928 1.1 spz else
5929 1.1 spz _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5930 1.1 spz fi
5931 1.1 spz
5932 1.1 spz if test "$GXX" = yes; then
5933 1.1 spz # Set up default GNU C++ configuration
5934 1.1 spz
5935 1.1 spz LT_PATH_LD
5936 1.1 spz
5937 1.1 spz # Check if GNU C++ uses GNU ld as the underlying linker, since the
5938 1.1 spz # archiving commands below assume that GNU ld is being used.
5939 1.1 spz if test "$with_gnu_ld" = yes; then
5940 1.1 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'
5941 1.1 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'
5942 1.1 spz
5943 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5944 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5945 1.1 spz
5946 1.1 spz # If archive_cmds runs LD, not CC, wlarc should be empty
5947 1.1 spz # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5948 1.1 spz # investigate it a little bit more. (MM)
5949 1.1 spz wlarc='${wl}'
5950 1.1 spz
5951 1.1 spz # ancient GNU ld didn't support --whole-archive et. al.
5952 1.1 spz if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5953 1.1 spz $GREP 'no-whole-archive' > /dev/null; then
5954 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5955 1.1 spz else
5956 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
5957 1.1 spz fi
5958 1.1 spz else
5959 1.1 spz with_gnu_ld=no
5960 1.1 spz wlarc=
5961 1.1 spz
5962 1.1 spz # A generic and very simple default shared library creation
5963 1.1 spz # command for GNU C++ for the case where it uses the native
5964 1.1 spz # linker, instead of GNU ld. If possible, this setting should
5965 1.1 spz # overridden to take advantage of the native linker features on
5966 1.1 spz # the platform it is being used on.
5967 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5968 1.1 spz fi
5969 1.1 spz
5970 1.1 spz # Commands to make compiler produce verbose output that lists
5971 1.1 spz # what "hidden" libraries, object files and flags are used when
5972 1.1 spz # linking a shared library.
5973 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
5974 1.1 spz
5975 1.1 spz else
5976 1.1 spz GXX=no
5977 1.1 spz with_gnu_ld=no
5978 1.1 spz wlarc=
5979 1.1 spz fi
5980 1.1 spz
5981 1.1 spz # PORTME: fill in a description of your system's C++ link characteristics
5982 1.1 spz AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5983 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
5984 1.1 spz case $host_os in
5985 1.1 spz aix3*)
5986 1.1 spz # FIXME: insert proper C++ library support
5987 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
5988 1.1 spz ;;
5989 1.1 spz aix[[4-9]]*)
5990 1.1 spz if test "$host_cpu" = ia64; then
5991 1.1 spz # On IA64, the linker does run time linking by default, so we don't
5992 1.1 spz # have to do anything special.
5993 1.1 spz aix_use_runtimelinking=no
5994 1.1 spz exp_sym_flag='-Bexport'
5995 1.1 spz no_entry_flag=""
5996 1.1 spz else
5997 1.1 spz aix_use_runtimelinking=no
5998 1.1 spz
5999 1.1 spz # Test if we are trying to use run time linking or normal
6000 1.1 spz # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6001 1.1 spz # need to do runtime linking.
6002 1.1 spz case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6003 1.1 spz for ld_flag in $LDFLAGS; do
6004 1.1 spz case $ld_flag in
6005 1.1 spz *-brtl*)
6006 1.1 spz aix_use_runtimelinking=yes
6007 1.1 spz break
6008 1.1 spz ;;
6009 1.1 spz esac
6010 1.1 spz done
6011 1.1 spz ;;
6012 1.1 spz esac
6013 1.1 spz
6014 1.1 spz exp_sym_flag='-bexport'
6015 1.1 spz no_entry_flag='-bnoentry'
6016 1.1 spz fi
6017 1.1 spz
6018 1.1 spz # When large executables or shared objects are built, AIX ld can
6019 1.1 spz # have problems creating the table of contents. If linking a library
6020 1.1 spz # or program results in "error TOC overflow" add -mminimal-toc to
6021 1.1 spz # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6022 1.1 spz # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6023 1.1 spz
6024 1.1 spz _LT_TAGVAR(archive_cmds, $1)=''
6025 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6026 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6027 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6028 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6029 1.1 spz _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
6030 1.1 spz
6031 1.1 spz if test "$GXX" = yes; then
6032 1.1 spz case $host_os in aix4.[[012]]|aix4.[[012]].*)
6033 1.1 spz # We only want to do this on AIX 4.2 and lower, the check
6034 1.1 spz # below for broken collect2 doesn't work under 4.3+
6035 1.1 spz collect2name=`${CC} -print-prog-name=collect2`
6036 1.1 spz if test -f "$collect2name" &&
6037 1.1 spz strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6038 1.1 spz then
6039 1.1 spz # We have reworked collect2
6040 1.1 spz :
6041 1.1 spz else
6042 1.1 spz # We have old collect2
6043 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=unsupported
6044 1.1 spz # It fails to find uninstalled libraries when the uninstalled
6045 1.1 spz # path is not listed in the libpath. Setting hardcode_minus_L
6046 1.1 spz # to unsupported forces relinking
6047 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes
6048 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6049 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
6050 1.1 spz fi
6051 1.1 spz esac
6052 1.1 spz shared_flag='-shared'
6053 1.1 spz if test "$aix_use_runtimelinking" = yes; then
6054 1.1 spz shared_flag="$shared_flag "'${wl}-G'
6055 1.1 spz fi
6056 1.1 spz else
6057 1.1 spz # not using gcc
6058 1.1 spz if test "$host_cpu" = ia64; then
6059 1.1 spz # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6060 1.1 spz # chokes on -Wl,-G. The following line is correct:
6061 1.1 spz shared_flag='-G'
6062 1.1 spz else
6063 1.1 spz if test "$aix_use_runtimelinking" = yes; then
6064 1.1 spz shared_flag='${wl}-G'
6065 1.1 spz else
6066 1.1 spz shared_flag='${wl}-bM:SRE'
6067 1.1 spz fi
6068 1.1 spz fi
6069 1.1 spz fi
6070 1.1 spz
6071 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
6072 1.1 spz # It seems that -bexpall does not export symbols beginning with
6073 1.1 spz # underscore (_), so it is better to generate a list of symbols to
6074 1.1 spz # export.
6075 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
6076 1.1 spz if test "$aix_use_runtimelinking" = yes; then
6077 1.1 spz # Warning - without using the other runtime loading flags (-brtl),
6078 1.1 spz # -berok will link without error, but may produce a broken library.
6079 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
6080 1.1 spz # Determine the default libpath from the value encoded in an empty
6081 1.1 spz # executable.
6082 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
6083 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6084 1.1 spz
6085 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
6086 1.1 spz else
6087 1.1 spz if test "$host_cpu" = ia64; then
6088 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6089 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6090 1.1 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"
6091 1.1 spz else
6092 1.1 spz # Determine the default libpath from the value encoded in an
6093 1.1 spz # empty executable.
6094 1.1 spz _LT_SYS_MODULE_PATH_AIX([$1])
6095 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6096 1.1 spz # Warning - without using the other run time loading flags,
6097 1.1 spz # -berok will link without error, but may produce a broken library.
6098 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6099 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6100 1.1 spz if test "$with_gnu_ld" = yes; then
6101 1.1 spz # We only use this code for GNU lds that support --whole-archive.
6102 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6103 1.1 spz else
6104 1.1 spz # Exported symbols can be pulled into shared objects from archives
6105 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6106 1.1 spz fi
6107 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6108 1.1 spz # This is similar to how AIX traditionally builds its shared
6109 1.1 spz # libraries.
6110 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
6111 1.1 spz fi
6112 1.1 spz fi
6113 1.1 spz ;;
6114 1.1 spz
6115 1.1 spz beos*)
6116 1.1 spz if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6117 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6118 1.1 spz # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc
6119 1.1 spz # support --undefined. This deserves some investigation. FIXME
6120 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6121 1.1 spz else
6122 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6123 1.1 spz fi
6124 1.1 spz ;;
6125 1.1 spz
6126 1.1 spz chorus*)
6127 1.1 spz case $cc_basename in
6128 1.1 spz *)
6129 1.1 spz # FIXME: insert proper C++ library support
6130 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6131 1.1 spz ;;
6132 1.1 spz esac
6133 1.1 spz ;;
6134 1.1 spz
6135 1.1 spz cygwin* | mingw* | pw32* | cegcc*)
6136 1.1 spz case $GXX,$cc_basename in
6137 1.1 spz ,cl* | no,cl*)
6138 1.1 spz # Native MSVC
6139 1.1 spz # hardcode_libdir_flag_spec is actually meaningless, as there is
6140 1.1 spz # no search path for DLLs.
6141 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6142 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6143 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=yes
6144 1.1 spz _LT_TAGVAR(file_list_spec, $1)='@'
6145 1.1 spz # Tell ltmain to make .lib files, not .a files.
6146 1.1 spz libext=lib
6147 1.1 spz # Tell ltmain to make .dll files, not .so files.
6148 1.1 spz shrext_cmds=".dll"
6149 1.1 spz # FIXME: Setting linknames here is a bad hack.
6150 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
6151 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6152 1.1 spz $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
6153 1.1 spz else
6154 1.1 spz $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
6155 1.1 spz fi~
6156 1.1 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"~
6157 1.1 spz linknames='
6158 1.1 spz # The linker will not automatically build a static lib if we build a DLL.
6159 1.1 spz # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6160 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6161 1.1 spz # Don't use ranlib
6162 1.1 spz _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6163 1.1 spz _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6164 1.1 spz lt_tool_outputfile="@TOOL_OUTPUT@"~
6165 1.1 spz case $lt_outputfile in
6166 1.1 spz *.exe|*.EXE) ;;
6167 1.1 spz *)
6168 1.1 spz lt_outputfile="$lt_outputfile.exe"
6169 1.1 spz lt_tool_outputfile="$lt_tool_outputfile.exe"
6170 1.1 spz ;;
6171 1.1 spz esac~
6172 1.1 spz func_to_tool_file "$lt_outputfile"~
6173 1.1 spz if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
6174 1.1 spz $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6175 1.1 spz $RM "$lt_outputfile.manifest";
6176 1.1 spz fi'
6177 1.1 spz ;;
6178 1.1 spz *)
6179 1.1 spz # g++
6180 1.1 spz # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6181 1.1 spz # as there is no search path for DLLs.
6182 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6183 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
6184 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6185 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
6186 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6187 1.1 spz
6188 1.1 spz if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6189 1.1 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'
6190 1.1 spz # If the export-symbols file already is a .def file (1st line
6191 1.1 spz # is EXPORTS), use it as is; otherwise, prepend...
6192 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6193 1.1 spz cp $export_symbols $output_objdir/$soname.def;
6194 1.1 spz else
6195 1.1 spz echo EXPORTS > $output_objdir/$soname.def;
6196 1.1 spz cat $export_symbols >> $output_objdir/$soname.def;
6197 1.1 spz fi~
6198 1.1 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'
6199 1.1 spz else
6200 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6201 1.1 spz fi
6202 1.1 spz ;;
6203 1.1 spz esac
6204 1.1 spz ;;
6205 1.1 spz darwin* | rhapsody*)
6206 1.1 spz _LT_DARWIN_LINKER_FEATURES($1)
6207 1.1 spz ;;
6208 1.1 spz
6209 1.1 spz dgux*)
6210 1.1 spz case $cc_basename in
6211 1.1 spz ec++*)
6212 1.1 spz # FIXME: insert proper C++ library support
6213 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6214 1.1 spz ;;
6215 1.1 spz ghcx*)
6216 1.1 spz # Green Hills C++ Compiler
6217 1.1 spz # FIXME: insert proper C++ library support
6218 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6219 1.1 spz ;;
6220 1.1 spz *)
6221 1.1 spz # FIXME: insert proper C++ library support
6222 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6223 1.1 spz ;;
6224 1.1 spz esac
6225 1.1 spz ;;
6226 1.1 spz
6227 1.1.1.2 spz freebsd2.*)
6228 1.1 spz # C++ shared libraries reported to be fairly broken before
6229 1.1 spz # switch to ELF
6230 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6231 1.1 spz ;;
6232 1.1 spz
6233 1.1 spz freebsd-elf*)
6234 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6235 1.1 spz ;;
6236 1.1 spz
6237 1.1 spz freebsd* | dragonfly*)
6238 1.1 spz # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6239 1.1 spz # conventions
6240 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6241 1.1 spz ;;
6242 1.1 spz
6243 1.1 spz haiku*)
6244 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6245 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6246 1.1 spz ;;
6247 1.1 spz
6248 1.1 spz hpux9*)
6249 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6250 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6251 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6252 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6253 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6254 1.1 spz # but as the default
6255 1.1 spz # location of the library.
6256 1.1 spz
6257 1.1 spz case $cc_basename in
6258 1.1 spz CC*)
6259 1.1 spz # FIXME: insert proper C++ library support
6260 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6261 1.1 spz ;;
6262 1.1 spz aCC*)
6263 1.1 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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6264 1.1 spz # Commands to make compiler produce verbose output that lists
6265 1.1 spz # what "hidden" libraries, object files and flags are used when
6266 1.1 spz # linking a shared library.
6267 1.1 spz #
6268 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6269 1.1 spz # explicitly linking system object files so we need to strip them
6270 1.1 spz # from the output so that they don't get included in the library
6271 1.1 spz # dependencies.
6272 1.1 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"'
6273 1.1 spz ;;
6274 1.1 spz *)
6275 1.1 spz if test "$GXX" = yes; then
6276 1.1 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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6277 1.1 spz else
6278 1.1 spz # FIXME: insert proper C++ library support
6279 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6280 1.1 spz fi
6281 1.1 spz ;;
6282 1.1 spz esac
6283 1.1 spz ;;
6284 1.1 spz
6285 1.1 spz hpux10*|hpux11*)
6286 1.1 spz if test $with_gnu_ld = no; then
6287 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6288 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6289 1.1 spz
6290 1.1 spz case $host_cpu in
6291 1.1 spz hppa*64*|ia64*)
6292 1.1 spz ;;
6293 1.1 spz *)
6294 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6295 1.1 spz ;;
6296 1.1 spz esac
6297 1.1 spz fi
6298 1.1 spz case $host_cpu in
6299 1.1 spz hppa*64*|ia64*)
6300 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6301 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6302 1.1 spz ;;
6303 1.1 spz *)
6304 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6305 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6306 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6307 1.1 spz # but as the default
6308 1.1 spz # location of the library.
6309 1.1 spz ;;
6310 1.1 spz esac
6311 1.1 spz
6312 1.1 spz case $cc_basename in
6313 1.1 spz CC*)
6314 1.1 spz # FIXME: insert proper C++ library support
6315 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6316 1.1 spz ;;
6317 1.1 spz aCC*)
6318 1.1 spz case $host_cpu in
6319 1.1 spz hppa*64*)
6320 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6321 1.1 spz ;;
6322 1.1 spz ia64*)
6323 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6324 1.1 spz ;;
6325 1.1 spz *)
6326 1.1 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'
6327 1.1 spz ;;
6328 1.1 spz esac
6329 1.1 spz # Commands to make compiler produce verbose output that lists
6330 1.1 spz # what "hidden" libraries, object files and flags are used when
6331 1.1 spz # linking a shared library.
6332 1.1 spz #
6333 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6334 1.1 spz # explicitly linking system object files so we need to strip them
6335 1.1 spz # from the output so that they don't get included in the library
6336 1.1 spz # dependencies.
6337 1.1 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"'
6338 1.1 spz ;;
6339 1.1 spz *)
6340 1.1 spz if test "$GXX" = yes; then
6341 1.1 spz if test $with_gnu_ld = no; then
6342 1.1 spz case $host_cpu in
6343 1.1 spz hppa*64*)
6344 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6345 1.1 spz ;;
6346 1.1 spz ia64*)
6347 1.1 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'
6348 1.1 spz ;;
6349 1.1 spz *)
6350 1.1 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'
6351 1.1 spz ;;
6352 1.1 spz esac
6353 1.1 spz fi
6354 1.1 spz else
6355 1.1 spz # FIXME: insert proper C++ library support
6356 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6357 1.1 spz fi
6358 1.1 spz ;;
6359 1.1 spz esac
6360 1.1 spz ;;
6361 1.1 spz
6362 1.1 spz interix[[3-9]]*)
6363 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
6364 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6365 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6366 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6367 1.1 spz # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6368 1.1 spz # Instead, shared libraries are loaded at an image base (0x10000000 by
6369 1.1 spz # default) and relocated if they conflict, which is a slow very memory
6370 1.1 spz # consuming and fragmenting process. To avoid this, we pick a random,
6371 1.1 spz # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6372 1.1 spz # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6373 1.1 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'
6374 1.1 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'
6375 1.1 spz ;;
6376 1.1 spz irix5* | irix6*)
6377 1.1 spz case $cc_basename in
6378 1.1 spz CC*)
6379 1.1 spz # SGI C++
6380 1.1 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'
6381 1.1 spz
6382 1.1 spz # Archives containing C++ object files must be created using
6383 1.1 spz # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6384 1.1 spz # necessary to make sure instantiated templates are included
6385 1.1 spz # in the archive.
6386 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6387 1.1 spz ;;
6388 1.1 spz *)
6389 1.1 spz if test "$GXX" = yes; then
6390 1.1 spz if test "$with_gnu_ld" = no; then
6391 1.1 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'
6392 1.1 spz else
6393 1.1 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'
6394 1.1 spz fi
6395 1.1 spz fi
6396 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6397 1.1 spz ;;
6398 1.1 spz esac
6399 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6400 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6401 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=yes
6402 1.1 spz ;;
6403 1.1 spz
6404 1.1.1.2 spz linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6405 1.1 spz case $cc_basename in
6406 1.1 spz KCC*)
6407 1.1 spz # Kuck and Associates, Inc. (KAI) C++ Compiler
6408 1.1 spz
6409 1.1 spz # KCC will only create a shared library if the output file
6410 1.1 spz # ends with ".so" (or ".sl" for HP-UX), so rename the library
6411 1.1 spz # to its proper name (with version) after linking.
6412 1.1 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'
6413 1.1 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'
6414 1.1 spz # Commands to make compiler produce verbose output that lists
6415 1.1 spz # what "hidden" libraries, object files and flags are used when
6416 1.1 spz # linking a shared library.
6417 1.1 spz #
6418 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6419 1.1 spz # explicitly linking system object files so we need to strip them
6420 1.1 spz # from the output so that they don't get included in the library
6421 1.1 spz # dependencies.
6422 1.1 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"'
6423 1.1 spz
6424 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6425 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6426 1.1 spz
6427 1.1 spz # Archives containing C++ object files must be created using
6428 1.1 spz # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6429 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6430 1.1 spz ;;
6431 1.1 spz icpc* | ecpc* )
6432 1.1 spz # Intel C++
6433 1.1 spz with_gnu_ld=yes
6434 1.1 spz # version 8.0 and above of icpc choke on multiply defined symbols
6435 1.1 spz # if we add $predep_objects and $postdep_objects, however 7.1 and
6436 1.1 spz # earlier do not add the objects themselves.
6437 1.1 spz case `$CC -V 2>&1` in
6438 1.1 spz *"Version 7."*)
6439 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6440 1.1 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'
6441 1.1 spz ;;
6442 1.1 spz *) # Version 8.0 or newer
6443 1.1 spz tmp_idyn=
6444 1.1 spz case $host_cpu in
6445 1.1 spz ia64*) tmp_idyn=' -i_dynamic';;
6446 1.1 spz esac
6447 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6448 1.1 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'
6449 1.1 spz ;;
6450 1.1 spz esac
6451 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6452 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6453 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6454 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6455 1.1 spz ;;
6456 1.1 spz pgCC* | pgcpp*)
6457 1.1 spz # Portland Group C++ compiler
6458 1.1 spz case `$CC -V` in
6459 1.1 spz *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
6460 1.1 spz _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
6461 1.1 spz rm -rf $tpldir~
6462 1.1 spz $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
6463 1.1 spz compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
6464 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
6465 1.1 spz rm -rf $tpldir~
6466 1.1 spz $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
6467 1.1 spz $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
6468 1.1 spz $RANLIB $oldlib'
6469 1.1 spz _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
6470 1.1 spz rm -rf $tpldir~
6471 1.1 spz $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6472 1.1 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'
6473 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
6474 1.1 spz rm -rf $tpldir~
6475 1.1 spz $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6476 1.1 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'
6477 1.1 spz ;;
6478 1.1 spz *) # Version 6 and above use weak symbols
6479 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6480 1.1 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'
6481 1.1 spz ;;
6482 1.1 spz esac
6483 1.1 spz
6484 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6485 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6486 1.1 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'
6487 1.1 spz ;;
6488 1.1 spz cxx*)
6489 1.1 spz # Compaq C++
6490 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6491 1.1 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'
6492 1.1 spz
6493 1.1 spz runpath_var=LD_RUN_PATH
6494 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6495 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6496 1.1 spz
6497 1.1 spz # Commands to make compiler produce verbose output that lists
6498 1.1 spz # what "hidden" libraries, object files and flags are used when
6499 1.1 spz # linking a shared library.
6500 1.1 spz #
6501 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6502 1.1 spz # explicitly linking system object files so we need to strip them
6503 1.1 spz # from the output so that they don't get included in the library
6504 1.1 spz # dependencies.
6505 1.1 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'
6506 1.1 spz ;;
6507 1.1 spz xl* | mpixl* | bgxl*)
6508 1.1 spz # IBM XL 8.0 on PPC, with GNU ld
6509 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6510 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6511 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6512 1.1 spz if test "x$supports_anon_versioning" = xyes; then
6513 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6514 1.1 spz cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6515 1.1 spz echo "local: *; };" >> $output_objdir/$libname.ver~
6516 1.1 spz $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6517 1.1 spz fi
6518 1.1 spz ;;
6519 1.1 spz *)
6520 1.1 spz case `$CC -V 2>&1 | sed 5q` in
6521 1.1 spz *Sun\ C*)
6522 1.1 spz # Sun C++ 5.9
6523 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6524 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6525 1.1 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'
6526 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6527 1.1 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'
6528 1.1 spz _LT_TAGVAR(compiler_needs_object, $1)=yes
6529 1.1 spz
6530 1.1 spz # Not sure whether something based on
6531 1.1 spz # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6532 1.1 spz # would be better.
6533 1.1 spz output_verbose_link_cmd='func_echo_all'
6534 1.1 spz
6535 1.1 spz # Archives containing C++ object files must be created using
6536 1.1 spz # "CC -xar", where "CC" is the Sun C++ compiler. This is
6537 1.1 spz # necessary to make sure instantiated templates are included
6538 1.1 spz # in the archive.
6539 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6540 1.1 spz ;;
6541 1.1 spz esac
6542 1.1 spz ;;
6543 1.1 spz esac
6544 1.1 spz ;;
6545 1.1 spz
6546 1.1 spz lynxos*)
6547 1.1 spz # FIXME: insert proper C++ library support
6548 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6549 1.1 spz ;;
6550 1.1 spz
6551 1.1 spz m88k*)
6552 1.1 spz # FIXME: insert proper C++ library support
6553 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6554 1.1 spz ;;
6555 1.1 spz
6556 1.1 spz mvs*)
6557 1.1 spz case $cc_basename in
6558 1.1 spz cxx*)
6559 1.1 spz # FIXME: insert proper C++ library support
6560 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6561 1.1 spz ;;
6562 1.1 spz *)
6563 1.1 spz # FIXME: insert proper C++ library support
6564 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6565 1.1 spz ;;
6566 1.1 spz esac
6567 1.1 spz ;;
6568 1.1 spz
6569 1.1 spz netbsd*)
6570 1.1 spz if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6571 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6572 1.1 spz wlarc=
6573 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6574 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6575 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6576 1.1 spz fi
6577 1.1 spz # Workaround some broken pre-1.5 toolchains
6578 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6579 1.1 spz ;;
6580 1.1 spz
6581 1.1 spz *nto* | *qnx*)
6582 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=yes
6583 1.1 spz ;;
6584 1.1 spz
6585 1.1 spz openbsd2*)
6586 1.1 spz # C++ shared libraries are fairly broken
6587 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6588 1.1 spz ;;
6589 1.1 spz
6590 1.1 spz openbsd*)
6591 1.1 spz if test -f /usr/libexec/ld.so; then
6592 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=yes
6593 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6594 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6595 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6596 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6597 1.1 spz if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6598 1.1 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'
6599 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6600 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6601 1.1 spz fi
6602 1.1 spz output_verbose_link_cmd=func_echo_all
6603 1.1 spz else
6604 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6605 1.1 spz fi
6606 1.1 spz ;;
6607 1.1 spz
6608 1.1 spz osf3* | osf4* | osf5*)
6609 1.1 spz case $cc_basename in
6610 1.1 spz KCC*)
6611 1.1 spz # Kuck and Associates, Inc. (KAI) C++ Compiler
6612 1.1 spz
6613 1.1 spz # KCC will only create a shared library if the output file
6614 1.1 spz # ends with ".so" (or ".sl" for HP-UX), so rename the library
6615 1.1 spz # to its proper name (with version) after linking.
6616 1.1 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'
6617 1.1 spz
6618 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6619 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6620 1.1 spz
6621 1.1 spz # Archives containing C++ object files must be created using
6622 1.1 spz # the KAI C++ compiler.
6623 1.1 spz case $host in
6624 1.1 spz osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6625 1.1 spz *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6626 1.1 spz esac
6627 1.1 spz ;;
6628 1.1 spz RCC*)
6629 1.1 spz # Rational C++ 2.4.1
6630 1.1 spz # FIXME: insert proper C++ library support
6631 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6632 1.1 spz ;;
6633 1.1 spz cxx*)
6634 1.1 spz case $host in
6635 1.1 spz osf3*)
6636 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6637 1.1 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'
6638 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6639 1.1 spz ;;
6640 1.1 spz *)
6641 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6642 1.1 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'
6643 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~
6644 1.1 spz echo "-hidden">> $lib.exp~
6645 1.1 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~
6646 1.1 spz $RM $lib.exp'
6647 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6648 1.1 spz ;;
6649 1.1 spz esac
6650 1.1 spz
6651 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6652 1.1 spz
6653 1.1 spz # Commands to make compiler produce verbose output that lists
6654 1.1 spz # what "hidden" libraries, object files and flags are used when
6655 1.1 spz # linking a shared library.
6656 1.1 spz #
6657 1.1 spz # There doesn't appear to be a way to prevent this compiler from
6658 1.1 spz # explicitly linking system object files so we need to strip them
6659 1.1 spz # from the output so that they don't get included in the library
6660 1.1 spz # dependencies.
6661 1.1 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"'
6662 1.1 spz ;;
6663 1.1 spz *)
6664 1.1 spz if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6665 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6666 1.1 spz case $host in
6667 1.1 spz osf3*)
6668 1.1 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'
6669 1.1 spz ;;
6670 1.1 spz *)
6671 1.1 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'
6672 1.1 spz ;;
6673 1.1 spz esac
6674 1.1 spz
6675 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6676 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6677 1.1 spz
6678 1.1 spz # Commands to make compiler produce verbose output that lists
6679 1.1 spz # what "hidden" libraries, object files and flags are used when
6680 1.1 spz # linking a shared library.
6681 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6682 1.1 spz
6683 1.1 spz else
6684 1.1 spz # FIXME: insert proper C++ library support
6685 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6686 1.1 spz fi
6687 1.1 spz ;;
6688 1.1 spz esac
6689 1.1 spz ;;
6690 1.1 spz
6691 1.1 spz psos*)
6692 1.1 spz # FIXME: insert proper C++ library support
6693 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6694 1.1 spz ;;
6695 1.1 spz
6696 1.1 spz sunos4*)
6697 1.1 spz case $cc_basename in
6698 1.1 spz CC*)
6699 1.1 spz # Sun C++ 4.x
6700 1.1 spz # FIXME: insert proper C++ library support
6701 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6702 1.1 spz ;;
6703 1.1 spz lcc*)
6704 1.1 spz # Lucid
6705 1.1 spz # FIXME: insert proper C++ library support
6706 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6707 1.1 spz ;;
6708 1.1 spz *)
6709 1.1 spz # FIXME: insert proper C++ library support
6710 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6711 1.1 spz ;;
6712 1.1 spz esac
6713 1.1 spz ;;
6714 1.1 spz
6715 1.1 spz solaris*)
6716 1.1 spz case $cc_basename in
6717 1.1 spz CC* | sunCC*)
6718 1.1 spz # Sun C++ 4.2, 5.x and Centerline C++
6719 1.1 spz _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6720 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6721 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6722 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~
6723 1.1 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'
6724 1.1 spz
6725 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6726 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6727 1.1 spz case $host_os in
6728 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6729 1.1 spz *)
6730 1.1 spz # The compiler driver will combine and reorder linker options,
6731 1.1 spz # but understands `-z linker_flag'.
6732 1.1 spz # Supported since Solaris 2.6 (maybe 2.5.1?)
6733 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6734 1.1 spz ;;
6735 1.1 spz esac
6736 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6737 1.1 spz
6738 1.1 spz output_verbose_link_cmd='func_echo_all'
6739 1.1 spz
6740 1.1 spz # Archives containing C++ object files must be created using
6741 1.1 spz # "CC -xar", where "CC" is the Sun C++ compiler. This is
6742 1.1 spz # necessary to make sure instantiated templates are included
6743 1.1 spz # in the archive.
6744 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6745 1.1 spz ;;
6746 1.1 spz gcx*)
6747 1.1 spz # Green Hills C++ Compiler
6748 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6749 1.1 spz
6750 1.1 spz # The C++ compiler must be used to create the archive.
6751 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6752 1.1 spz ;;
6753 1.1 spz *)
6754 1.1 spz # GNU C++ compiler with Solaris linker
6755 1.1 spz if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6756 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6757 1.1 spz if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6758 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6759 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~
6760 1.1 spz $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6761 1.1 spz
6762 1.1 spz # Commands to make compiler produce verbose output that lists
6763 1.1 spz # what "hidden" libraries, object files and flags are used when
6764 1.1 spz # linking a shared library.
6765 1.1 spz output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6766 1.1 spz else
6767 1.1 spz # g++ 2.7 appears to require `-G' NOT `-shared' on this
6768 1.1 spz # platform.
6769 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6770 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~
6771 1.1 spz $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6772 1.1 spz
6773 1.1 spz # Commands to make compiler produce verbose output that lists
6774 1.1 spz # what "hidden" libraries, object files and flags are used when
6775 1.1 spz # linking a shared library.
6776 1.1 spz output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6777 1.1 spz fi
6778 1.1 spz
6779 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6780 1.1 spz case $host_os in
6781 1.1 spz solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6782 1.1 spz *)
6783 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6784 1.1 spz ;;
6785 1.1 spz esac
6786 1.1 spz fi
6787 1.1 spz ;;
6788 1.1 spz esac
6789 1.1 spz ;;
6790 1.1 spz
6791 1.1 spz sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6792 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6793 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6794 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6795 1.1 spz runpath_var='LD_RUN_PATH'
6796 1.1 spz
6797 1.1 spz case $cc_basename in
6798 1.1 spz CC*)
6799 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6800 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6801 1.1 spz ;;
6802 1.1 spz *)
6803 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6804 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6805 1.1 spz ;;
6806 1.1 spz esac
6807 1.1 spz ;;
6808 1.1 spz
6809 1.1 spz sysv5* | sco3.2v5* | sco5v6*)
6810 1.1 spz # Note: We can NOT use -z defs as we might desire, because we do not
6811 1.1 spz # link with -lc, and that would cause any symbols used from libc to
6812 1.1 spz # always be unresolved, which means just about no library would
6813 1.1 spz # ever link correctly. If we're not using GNU ld we use -z text
6814 1.1 spz # though, which does catch some bad symbols but isn't as heavy-handed
6815 1.1 spz # as -z defs.
6816 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6817 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6818 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6819 1.1 spz _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6820 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6821 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6822 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=yes
6823 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6824 1.1 spz runpath_var='LD_RUN_PATH'
6825 1.1 spz
6826 1.1 spz case $cc_basename in
6827 1.1 spz CC*)
6828 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6829 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6830 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
6831 1.1 spz '"$_LT_TAGVAR(old_archive_cmds, $1)"
6832 1.1 spz _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
6833 1.1 spz '"$_LT_TAGVAR(reload_cmds, $1)"
6834 1.1 spz ;;
6835 1.1 spz *)
6836 1.1 spz _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6837 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6838 1.1 spz ;;
6839 1.1 spz esac
6840 1.1 spz ;;
6841 1.1 spz
6842 1.1 spz tandem*)
6843 1.1 spz case $cc_basename in
6844 1.1 spz NCC*)
6845 1.1 spz # NonStop-UX NCC 3.20
6846 1.1 spz # FIXME: insert proper C++ library support
6847 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6848 1.1 spz ;;
6849 1.1 spz *)
6850 1.1 spz # FIXME: insert proper C++ library support
6851 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6852 1.1 spz ;;
6853 1.1 spz esac
6854 1.1 spz ;;
6855 1.1 spz
6856 1.1 spz vxworks*)
6857 1.1 spz # FIXME: insert proper C++ library support
6858 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6859 1.1 spz ;;
6860 1.1 spz
6861 1.1 spz *)
6862 1.1 spz # FIXME: insert proper C++ library support
6863 1.1 spz _LT_TAGVAR(ld_shlibs, $1)=no
6864 1.1 spz ;;
6865 1.1 spz esac
6866 1.1 spz
6867 1.1 spz AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6868 1.1 spz test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6869 1.1 spz
6870 1.1 spz _LT_TAGVAR(GCC, $1)="$GXX"
6871 1.1 spz _LT_TAGVAR(LD, $1)="$LD"
6872 1.1 spz
6873 1.1 spz ## CAVEAT EMPTOR:
6874 1.1 spz ## There is no encapsulation within the following macros, do not change
6875 1.1 spz ## the running order or otherwise move them around unless you know exactly
6876 1.1 spz ## what you are doing...
6877 1.1 spz _LT_SYS_HIDDEN_LIBDEPS($1)
6878 1.1 spz _LT_COMPILER_PIC($1)
6879 1.1 spz _LT_COMPILER_C_O($1)
6880 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
6881 1.1 spz _LT_LINKER_SHLIBS($1)
6882 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
6883 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
6884 1.1 spz
6885 1.1 spz _LT_CONFIG($1)
6886 1.1 spz fi # test -n "$compiler"
6887 1.1 spz
6888 1.1 spz CC=$lt_save_CC
6889 1.1 spz CFLAGS=$lt_save_CFLAGS
6890 1.1 spz LDCXX=$LD
6891 1.1 spz LD=$lt_save_LD
6892 1.1 spz GCC=$lt_save_GCC
6893 1.1 spz with_gnu_ld=$lt_save_with_gnu_ld
6894 1.1 spz lt_cv_path_LDCXX=$lt_cv_path_LD
6895 1.1 spz lt_cv_path_LD=$lt_save_path_LD
6896 1.1 spz lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6897 1.1 spz lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6898 1.1 spz fi # test "$_lt_caught_CXX_error" != yes
6899 1.1 spz
6900 1.1 spz AC_LANG_POP
6901 1.1 spz ])# _LT_LANG_CXX_CONFIG
6902 1.1 spz
6903 1.1 spz
6904 1.1 spz # _LT_FUNC_STRIPNAME_CNF
6905 1.1 spz # ----------------------
6906 1.1 spz # func_stripname_cnf prefix suffix name
6907 1.1 spz # strip PREFIX and SUFFIX off of NAME.
6908 1.1 spz # PREFIX and SUFFIX must not contain globbing or regex special
6909 1.1 spz # characters, hashes, percent signs, but SUFFIX may contain a leading
6910 1.1 spz # dot (in which case that matches only a dot).
6911 1.1 spz #
6912 1.1 spz # This function is identical to the (non-XSI) version of func_stripname,
6913 1.1 spz # except this one can be used by m4 code that may be executed by configure,
6914 1.1 spz # rather than the libtool script.
6915 1.1 spz m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
6916 1.1 spz AC_REQUIRE([_LT_DECL_SED])
6917 1.1 spz AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
6918 1.1 spz func_stripname_cnf ()
6919 1.1 spz {
6920 1.1 spz case ${2} in
6921 1.1 spz .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
6922 1.1 spz *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
6923 1.1 spz esac
6924 1.1 spz } # func_stripname_cnf
6925 1.1 spz ])# _LT_FUNC_STRIPNAME_CNF
6926 1.1 spz
6927 1.1 spz # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6928 1.1 spz # ---------------------------------
6929 1.1 spz # Figure out "hidden" library dependencies from verbose
6930 1.1 spz # compiler output when linking a shared library.
6931 1.1 spz # Parse the compiler output and extract the necessary
6932 1.1 spz # objects, libraries and library flags.
6933 1.1 spz m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6934 1.1 spz [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6935 1.1 spz AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
6936 1.1 spz # Dependencies to place before and after the object being linked:
6937 1.1 spz _LT_TAGVAR(predep_objects, $1)=
6938 1.1 spz _LT_TAGVAR(postdep_objects, $1)=
6939 1.1 spz _LT_TAGVAR(predeps, $1)=
6940 1.1 spz _LT_TAGVAR(postdeps, $1)=
6941 1.1 spz _LT_TAGVAR(compiler_lib_search_path, $1)=
6942 1.1 spz
6943 1.1 spz dnl we can't use the lt_simple_compile_test_code here,
6944 1.1 spz dnl because it contains code intended for an executable,
6945 1.1 spz dnl not a library. It's possible we should let each
6946 1.1 spz dnl tag define a new lt_????_link_test_code variable,
6947 1.1 spz dnl but it's only used here...
6948 1.1 spz m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6949 1.1 spz int a;
6950 1.1 spz void foo (void) { a = 0; }
6951 1.1 spz _LT_EOF
6952 1.1 spz ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6953 1.1 spz class Foo
6954 1.1 spz {
6955 1.1 spz public:
6956 1.1 spz Foo (void) { a = 0; }
6957 1.1 spz private:
6958 1.1 spz int a;
6959 1.1 spz };
6960 1.1 spz _LT_EOF
6961 1.1 spz ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6962 1.1 spz subroutine foo
6963 1.1 spz implicit none
6964 1.1 spz integer*4 a
6965 1.1 spz a=0
6966 1.1 spz return
6967 1.1 spz end
6968 1.1 spz _LT_EOF
6969 1.1 spz ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6970 1.1 spz subroutine foo
6971 1.1 spz implicit none
6972 1.1 spz integer a
6973 1.1 spz a=0
6974 1.1 spz return
6975 1.1 spz end
6976 1.1 spz _LT_EOF
6977 1.1 spz ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6978 1.1 spz public class foo {
6979 1.1 spz private int a;
6980 1.1 spz public void bar (void) {
6981 1.1 spz a = 0;
6982 1.1 spz }
6983 1.1 spz };
6984 1.1 spz _LT_EOF
6985 1.1.1.2 spz ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
6986 1.1.1.2 spz package foo
6987 1.1.1.2 spz func foo() {
6988 1.1.1.2 spz }
6989 1.1.1.2 spz _LT_EOF
6990 1.1 spz ])
6991 1.1 spz
6992 1.1 spz _lt_libdeps_save_CFLAGS=$CFLAGS
6993 1.1 spz case "$CC $CFLAGS " in #(
6994 1.1 spz *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
6995 1.1 spz *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
6996 1.1.1.2 spz *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
6997 1.1 spz esac
6998 1.1 spz
6999 1.1 spz dnl Parse the compiler output and extract the necessary
7000 1.1 spz dnl objects, libraries and library flags.
7001 1.1 spz if AC_TRY_EVAL(ac_compile); then
7002 1.1 spz # Parse the compiler output and extract the necessary
7003 1.1 spz # objects, libraries and library flags.
7004 1.1 spz
7005 1.1 spz # Sentinel used to keep track of whether or not we are before
7006 1.1 spz # the conftest object file.
7007 1.1 spz pre_test_object_deps_done=no
7008 1.1 spz
7009 1.1 spz for p in `eval "$output_verbose_link_cmd"`; do
7010 1.1 spz case ${prev}${p} in
7011 1.1 spz
7012 1.1 spz -L* | -R* | -l*)
7013 1.1 spz # Some compilers place space between "-{L,R}" and the path.
7014 1.1 spz # Remove the space.
7015 1.1 spz if test $p = "-L" ||
7016 1.1 spz test $p = "-R"; then
7017 1.1 spz prev=$p
7018 1.1 spz continue
7019 1.1 spz fi
7020 1.1 spz
7021 1.1 spz # Expand the sysroot to ease extracting the directories later.
7022 1.1 spz if test -z "$prev"; then
7023 1.1 spz case $p in
7024 1.1 spz -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7025 1.1 spz -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7026 1.1 spz -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7027 1.1 spz esac
7028 1.1 spz fi
7029 1.1 spz case $p in
7030 1.1 spz =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7031 1.1 spz esac
7032 1.1 spz if test "$pre_test_object_deps_done" = no; then
7033 1.1 spz case ${prev} in
7034 1.1 spz -L | -R)
7035 1.1 spz # Internal compiler library paths should come after those
7036 1.1 spz # provided the user. The postdeps already come after the
7037 1.1 spz # user supplied libs so there is no need to process them.
7038 1.1 spz if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7039 1.1 spz _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
7040 1.1 spz else
7041 1.1 spz _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
7042 1.1 spz fi
7043 1.1 spz ;;
7044 1.1 spz # The "-l" case would never come before the object being
7045 1.1 spz # linked, so don't bother handling this case.
7046 1.1 spz esac
7047 1.1 spz else
7048 1.1 spz if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7049 1.1 spz _LT_TAGVAR(postdeps, $1)="${prev}${p}"
7050 1.1 spz else
7051 1.1 spz _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
7052 1.1 spz fi
7053 1.1 spz fi
7054 1.1 spz prev=
7055 1.1 spz ;;
7056 1.1 spz
7057 1.1 spz *.lto.$objext) ;; # Ignore GCC LTO objects
7058 1.1 spz *.$objext)
7059 1.1 spz # This assumes that the test object file only shows up
7060 1.1 spz # once in the compiler output.
7061 1.1 spz if test "$p" = "conftest.$objext"; then
7062 1.1 spz pre_test_object_deps_done=yes
7063 1.1 spz continue
7064 1.1 spz fi
7065 1.1 spz
7066 1.1 spz if test "$pre_test_object_deps_done" = no; then
7067 1.1 spz if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7068 1.1 spz _LT_TAGVAR(predep_objects, $1)="$p"
7069 1.1 spz else
7070 1.1 spz _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7071 1.1 spz fi
7072 1.1 spz else
7073 1.1 spz if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7074 1.1 spz _LT_TAGVAR(postdep_objects, $1)="$p"
7075 1.1 spz else
7076 1.1 spz _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7077 1.1 spz fi
7078 1.1 spz fi
7079 1.1 spz ;;
7080 1.1 spz
7081 1.1 spz *) ;; # Ignore the rest.
7082 1.1 spz
7083 1.1 spz esac
7084 1.1 spz done
7085 1.1 spz
7086 1.1 spz # Clean up.
7087 1.1 spz rm -f a.out a.exe
7088 1.1 spz else
7089 1.1 spz echo "libtool.m4: error: problem compiling $1 test program"
7090 1.1 spz fi
7091 1.1 spz
7092 1.1 spz $RM -f confest.$objext
7093 1.1 spz CFLAGS=$_lt_libdeps_save_CFLAGS
7094 1.1 spz
7095 1.1 spz # PORTME: override above test on systems where it is broken
7096 1.1 spz m4_if([$1], [CXX],
7097 1.1 spz [case $host_os in
7098 1.1 spz interix[[3-9]]*)
7099 1.1 spz # Interix 3.5 installs completely hosed .la files for C++, so rather than
7100 1.1 spz # hack all around it, let's just trust "g++" to DTRT.
7101 1.1 spz _LT_TAGVAR(predep_objects,$1)=
7102 1.1 spz _LT_TAGVAR(postdep_objects,$1)=
7103 1.1 spz _LT_TAGVAR(postdeps,$1)=
7104 1.1 spz ;;
7105 1.1 spz
7106 1.1 spz linux*)
7107 1.1 spz case `$CC -V 2>&1 | sed 5q` in
7108 1.1 spz *Sun\ C*)
7109 1.1 spz # Sun C++ 5.9
7110 1.1 spz
7111 1.1 spz # The more standards-conforming stlport4 library is
7112 1.1 spz # incompatible with the Cstd library. Avoid specifying
7113 1.1 spz # it if it's in CXXFLAGS. Ignore libCrun as
7114 1.1 spz # -library=stlport4 depends on it.
7115 1.1 spz case " $CXX $CXXFLAGS " in
7116 1.1 spz *" -library=stlport4 "*)
7117 1.1 spz solaris_use_stlport4=yes
7118 1.1 spz ;;
7119 1.1 spz esac
7120 1.1 spz
7121 1.1 spz if test "$solaris_use_stlport4" != yes; then
7122 1.1 spz _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7123 1.1 spz fi
7124 1.1 spz ;;
7125 1.1 spz esac
7126 1.1 spz ;;
7127 1.1 spz
7128 1.1 spz solaris*)
7129 1.1 spz case $cc_basename in
7130 1.1 spz CC* | sunCC*)
7131 1.1 spz # The more standards-conforming stlport4 library is
7132 1.1 spz # incompatible with the Cstd library. Avoid specifying
7133 1.1 spz # it if it's in CXXFLAGS. Ignore libCrun as
7134 1.1 spz # -library=stlport4 depends on it.
7135 1.1 spz case " $CXX $CXXFLAGS " in
7136 1.1 spz *" -library=stlport4 "*)
7137 1.1 spz solaris_use_stlport4=yes
7138 1.1 spz ;;
7139 1.1 spz esac
7140 1.1 spz
7141 1.1 spz # Adding this requires a known-good setup of shared libraries for
7142 1.1 spz # Sun compiler versions before 5.6, else PIC objects from an old
7143 1.1 spz # archive will be linked into the output, leading to subtle bugs.
7144 1.1 spz if test "$solaris_use_stlport4" != yes; then
7145 1.1 spz _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7146 1.1 spz fi
7147 1.1 spz ;;
7148 1.1 spz esac
7149 1.1 spz ;;
7150 1.1 spz esac
7151 1.1 spz ])
7152 1.1 spz
7153 1.1 spz case " $_LT_TAGVAR(postdeps, $1) " in
7154 1.1 spz *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7155 1.1 spz esac
7156 1.1 spz _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7157 1.1 spz if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7158 1.1 spz _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
7159 1.1 spz fi
7160 1.1 spz _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7161 1.1 spz [The directories searched by this compiler when creating a shared library])
7162 1.1 spz _LT_TAGDECL([], [predep_objects], [1],
7163 1.1 spz [Dependencies to place before and after the objects being linked to
7164 1.1 spz create a shared library])
7165 1.1 spz _LT_TAGDECL([], [postdep_objects], [1])
7166 1.1 spz _LT_TAGDECL([], [predeps], [1])
7167 1.1 spz _LT_TAGDECL([], [postdeps], [1])
7168 1.1 spz _LT_TAGDECL([], [compiler_lib_search_path], [1],
7169 1.1 spz [The library search path used internally by the compiler when linking
7170 1.1 spz a shared library])
7171 1.1 spz ])# _LT_SYS_HIDDEN_LIBDEPS
7172 1.1 spz
7173 1.1 spz
7174 1.1 spz # _LT_LANG_F77_CONFIG([TAG])
7175 1.1 spz # --------------------------
7176 1.1 spz # Ensure that the configuration variables for a Fortran 77 compiler are
7177 1.1 spz # suitably defined. These variables are subsequently used by _LT_CONFIG
7178 1.1 spz # to write the compiler configuration to `libtool'.
7179 1.1 spz m4_defun([_LT_LANG_F77_CONFIG],
7180 1.1 spz [AC_LANG_PUSH(Fortran 77)
7181 1.1 spz if test -z "$F77" || test "X$F77" = "Xno"; then
7182 1.1 spz _lt_disable_F77=yes
7183 1.1 spz fi
7184 1.1 spz
7185 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7186 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
7187 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
7188 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
7189 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7190 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7191 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7192 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7193 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
7194 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
7195 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
7196 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
7197 1.1 spz _LT_TAGVAR(module_cmds, $1)=
7198 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
7199 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
7200 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7201 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7202 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7203 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
7204 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
7205 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7206 1.1 spz
7207 1.1 spz # Source file extension for f77 test sources.
7208 1.1 spz ac_ext=f
7209 1.1 spz
7210 1.1 spz # Object file extension for compiled f77 test sources.
7211 1.1 spz objext=o
7212 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7213 1.1 spz
7214 1.1 spz # No sense in running all these tests if we already determined that
7215 1.1 spz # the F77 compiler isn't working. Some variables (like enable_shared)
7216 1.1 spz # are currently assumed to apply to all compilers on this platform,
7217 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
7218 1.1 spz if test "$_lt_disable_F77" != yes; then
7219 1.1 spz # Code to be used in simple compile tests
7220 1.1 spz lt_simple_compile_test_code="\
7221 1.1 spz subroutine t
7222 1.1 spz return
7223 1.1 spz end
7224 1.1 spz "
7225 1.1 spz
7226 1.1 spz # Code to be used in simple link tests
7227 1.1 spz lt_simple_link_test_code="\
7228 1.1 spz program t
7229 1.1 spz end
7230 1.1 spz "
7231 1.1 spz
7232 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7233 1.1 spz _LT_TAG_COMPILER
7234 1.1 spz
7235 1.1 spz # save warnings/boilerplate of simple test code
7236 1.1 spz _LT_COMPILER_BOILERPLATE
7237 1.1 spz _LT_LINKER_BOILERPLATE
7238 1.1 spz
7239 1.1 spz # Allow CC to be a program name with arguments.
7240 1.1 spz lt_save_CC="$CC"
7241 1.1 spz lt_save_GCC=$GCC
7242 1.1 spz lt_save_CFLAGS=$CFLAGS
7243 1.1 spz CC=${F77-"f77"}
7244 1.1 spz CFLAGS=$FFLAGS
7245 1.1 spz compiler=$CC
7246 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7247 1.1 spz _LT_CC_BASENAME([$compiler])
7248 1.1 spz GCC=$G77
7249 1.1 spz if test -n "$compiler"; then
7250 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
7251 1.1 spz AC_MSG_RESULT([$can_build_shared])
7252 1.1 spz
7253 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
7254 1.1 spz test "$can_build_shared" = "no" && enable_shared=no
7255 1.1 spz
7256 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
7257 1.1 spz # are all built from PIC.
7258 1.1 spz case $host_os in
7259 1.1 spz aix3*)
7260 1.1 spz test "$enable_shared" = yes && enable_static=no
7261 1.1 spz if test -n "$RANLIB"; then
7262 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
7263 1.1 spz postinstall_cmds='$RANLIB $lib'
7264 1.1 spz fi
7265 1.1 spz ;;
7266 1.1 spz aix[[4-9]]*)
7267 1.1 spz if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7268 1.1 spz test "$enable_shared" = yes && enable_static=no
7269 1.1 spz fi
7270 1.1 spz ;;
7271 1.1 spz esac
7272 1.1 spz AC_MSG_RESULT([$enable_shared])
7273 1.1 spz
7274 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
7275 1.1 spz # Make sure either enable_shared or enable_static is yes.
7276 1.1 spz test "$enable_shared" = yes || enable_static=yes
7277 1.1 spz AC_MSG_RESULT([$enable_static])
7278 1.1 spz
7279 1.1 spz _LT_TAGVAR(GCC, $1)="$G77"
7280 1.1 spz _LT_TAGVAR(LD, $1)="$LD"
7281 1.1 spz
7282 1.1 spz ## CAVEAT EMPTOR:
7283 1.1 spz ## There is no encapsulation within the following macros, do not change
7284 1.1 spz ## the running order or otherwise move them around unless you know exactly
7285 1.1 spz ## what you are doing...
7286 1.1 spz _LT_COMPILER_PIC($1)
7287 1.1 spz _LT_COMPILER_C_O($1)
7288 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7289 1.1 spz _LT_LINKER_SHLIBS($1)
7290 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7291 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7292 1.1 spz
7293 1.1 spz _LT_CONFIG($1)
7294 1.1 spz fi # test -n "$compiler"
7295 1.1 spz
7296 1.1 spz GCC=$lt_save_GCC
7297 1.1 spz CC="$lt_save_CC"
7298 1.1 spz CFLAGS="$lt_save_CFLAGS"
7299 1.1 spz fi # test "$_lt_disable_F77" != yes
7300 1.1 spz
7301 1.1 spz AC_LANG_POP
7302 1.1 spz ])# _LT_LANG_F77_CONFIG
7303 1.1 spz
7304 1.1 spz
7305 1.1 spz # _LT_LANG_FC_CONFIG([TAG])
7306 1.1 spz # -------------------------
7307 1.1 spz # Ensure that the configuration variables for a Fortran compiler are
7308 1.1 spz # suitably defined. These variables are subsequently used by _LT_CONFIG
7309 1.1 spz # to write the compiler configuration to `libtool'.
7310 1.1 spz m4_defun([_LT_LANG_FC_CONFIG],
7311 1.1 spz [AC_LANG_PUSH(Fortran)
7312 1.1 spz
7313 1.1 spz if test -z "$FC" || test "X$FC" = "Xno"; then
7314 1.1 spz _lt_disable_FC=yes
7315 1.1 spz fi
7316 1.1 spz
7317 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7318 1.1 spz _LT_TAGVAR(allow_undefined_flag, $1)=
7319 1.1 spz _LT_TAGVAR(always_export_symbols, $1)=no
7320 1.1 spz _LT_TAGVAR(archive_expsym_cmds, $1)=
7321 1.1 spz _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7322 1.1 spz _LT_TAGVAR(hardcode_direct, $1)=no
7323 1.1 spz _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7324 1.1 spz _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7325 1.1 spz _LT_TAGVAR(hardcode_libdir_separator, $1)=
7326 1.1 spz _LT_TAGVAR(hardcode_minus_L, $1)=no
7327 1.1 spz _LT_TAGVAR(hardcode_automatic, $1)=no
7328 1.1 spz _LT_TAGVAR(inherit_rpath, $1)=no
7329 1.1 spz _LT_TAGVAR(module_cmds, $1)=
7330 1.1 spz _LT_TAGVAR(module_expsym_cmds, $1)=
7331 1.1 spz _LT_TAGVAR(link_all_deplibs, $1)=unknown
7332 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7333 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7334 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7335 1.1 spz _LT_TAGVAR(no_undefined_flag, $1)=
7336 1.1 spz _LT_TAGVAR(whole_archive_flag_spec, $1)=
7337 1.1 spz _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7338 1.1 spz
7339 1.1 spz # Source file extension for fc test sources.
7340 1.1 spz ac_ext=${ac_fc_srcext-f}
7341 1.1 spz
7342 1.1 spz # Object file extension for compiled fc test sources.
7343 1.1 spz objext=o
7344 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7345 1.1 spz
7346 1.1 spz # No sense in running all these tests if we already determined that
7347 1.1 spz # the FC compiler isn't working. Some variables (like enable_shared)
7348 1.1 spz # are currently assumed to apply to all compilers on this platform,
7349 1.1 spz # and will be corrupted by setting them based on a non-working compiler.
7350 1.1 spz if test "$_lt_disable_FC" != yes; then
7351 1.1 spz # Code to be used in simple compile tests
7352 1.1 spz lt_simple_compile_test_code="\
7353 1.1 spz subroutine t
7354 1.1 spz return
7355 1.1 spz end
7356 1.1 spz "
7357 1.1 spz
7358 1.1 spz # Code to be used in simple link tests
7359 1.1 spz lt_simple_link_test_code="\
7360 1.1 spz program t
7361 1.1 spz end
7362 1.1 spz "
7363 1.1 spz
7364 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7365 1.1 spz _LT_TAG_COMPILER
7366 1.1 spz
7367 1.1 spz # save warnings/boilerplate of simple test code
7368 1.1 spz _LT_COMPILER_BOILERPLATE
7369 1.1 spz _LT_LINKER_BOILERPLATE
7370 1.1 spz
7371 1.1 spz # Allow CC to be a program name with arguments.
7372 1.1 spz lt_save_CC="$CC"
7373 1.1 spz lt_save_GCC=$GCC
7374 1.1 spz lt_save_CFLAGS=$CFLAGS
7375 1.1 spz CC=${FC-"f95"}
7376 1.1 spz CFLAGS=$FCFLAGS
7377 1.1 spz compiler=$CC
7378 1.1 spz GCC=$ac_cv_fc_compiler_gnu
7379 1.1 spz
7380 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7381 1.1 spz _LT_CC_BASENAME([$compiler])
7382 1.1 spz
7383 1.1 spz if test -n "$compiler"; then
7384 1.1 spz AC_MSG_CHECKING([if libtool supports shared libraries])
7385 1.1 spz AC_MSG_RESULT([$can_build_shared])
7386 1.1 spz
7387 1.1 spz AC_MSG_CHECKING([whether to build shared libraries])
7388 1.1 spz test "$can_build_shared" = "no" && enable_shared=no
7389 1.1 spz
7390 1.1 spz # On AIX, shared libraries and static libraries use the same namespace, and
7391 1.1 spz # are all built from PIC.
7392 1.1 spz case $host_os in
7393 1.1 spz aix3*)
7394 1.1 spz test "$enable_shared" = yes && enable_static=no
7395 1.1 spz if test -n "$RANLIB"; then
7396 1.1 spz archive_cmds="$archive_cmds~\$RANLIB \$lib"
7397 1.1 spz postinstall_cmds='$RANLIB $lib'
7398 1.1 spz fi
7399 1.1 spz ;;
7400 1.1 spz aix[[4-9]]*)
7401 1.1 spz if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7402 1.1 spz test "$enable_shared" = yes && enable_static=no
7403 1.1 spz fi
7404 1.1 spz ;;
7405 1.1 spz esac
7406 1.1 spz AC_MSG_RESULT([$enable_shared])
7407 1.1 spz
7408 1.1 spz AC_MSG_CHECKING([whether to build static libraries])
7409 1.1 spz # Make sure either enable_shared or enable_static is yes.
7410 1.1 spz test "$enable_shared" = yes || enable_static=yes
7411 1.1 spz AC_MSG_RESULT([$enable_static])
7412 1.1 spz
7413 1.1 spz _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
7414 1.1 spz _LT_TAGVAR(LD, $1)="$LD"
7415 1.1 spz
7416 1.1 spz ## CAVEAT EMPTOR:
7417 1.1 spz ## There is no encapsulation within the following macros, do not change
7418 1.1 spz ## the running order or otherwise move them around unless you know exactly
7419 1.1 spz ## what you are doing...
7420 1.1 spz _LT_SYS_HIDDEN_LIBDEPS($1)
7421 1.1 spz _LT_COMPILER_PIC($1)
7422 1.1 spz _LT_COMPILER_C_O($1)
7423 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7424 1.1 spz _LT_LINKER_SHLIBS($1)
7425 1.1 spz _LT_SYS_DYNAMIC_LINKER($1)
7426 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7427 1.1 spz
7428 1.1 spz _LT_CONFIG($1)
7429 1.1 spz fi # test -n "$compiler"
7430 1.1 spz
7431 1.1 spz GCC=$lt_save_GCC
7432 1.1 spz CC=$lt_save_CC
7433 1.1 spz CFLAGS=$lt_save_CFLAGS
7434 1.1 spz fi # test "$_lt_disable_FC" != yes
7435 1.1 spz
7436 1.1 spz AC_LANG_POP
7437 1.1 spz ])# _LT_LANG_FC_CONFIG
7438 1.1 spz
7439 1.1 spz
7440 1.1 spz # _LT_LANG_GCJ_CONFIG([TAG])
7441 1.1 spz # --------------------------
7442 1.1 spz # Ensure that the configuration variables for the GNU Java Compiler compiler
7443 1.1 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
7444 1.1 spz # to write the compiler configuration to `libtool'.
7445 1.1 spz m4_defun([_LT_LANG_GCJ_CONFIG],
7446 1.1 spz [AC_REQUIRE([LT_PROG_GCJ])dnl
7447 1.1 spz AC_LANG_SAVE
7448 1.1 spz
7449 1.1 spz # Source file extension for Java test sources.
7450 1.1 spz ac_ext=java
7451 1.1 spz
7452 1.1 spz # Object file extension for compiled Java test sources.
7453 1.1 spz objext=o
7454 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7455 1.1 spz
7456 1.1 spz # Code to be used in simple compile tests
7457 1.1 spz lt_simple_compile_test_code="class foo {}"
7458 1.1 spz
7459 1.1 spz # Code to be used in simple link tests
7460 1.1 spz lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7461 1.1 spz
7462 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7463 1.1 spz _LT_TAG_COMPILER
7464 1.1 spz
7465 1.1 spz # save warnings/boilerplate of simple test code
7466 1.1 spz _LT_COMPILER_BOILERPLATE
7467 1.1 spz _LT_LINKER_BOILERPLATE
7468 1.1 spz
7469 1.1 spz # Allow CC to be a program name with arguments.
7470 1.1 spz lt_save_CC=$CC
7471 1.1 spz lt_save_CFLAGS=$CFLAGS
7472 1.1 spz lt_save_GCC=$GCC
7473 1.1 spz GCC=yes
7474 1.1 spz CC=${GCJ-"gcj"}
7475 1.1 spz CFLAGS=$GCJFLAGS
7476 1.1 spz compiler=$CC
7477 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7478 1.1 spz _LT_TAGVAR(LD, $1)="$LD"
7479 1.1 spz _LT_CC_BASENAME([$compiler])
7480 1.1 spz
7481 1.1 spz # GCJ did not exist at the time GCC didn't implicitly link libc in.
7482 1.1 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7483 1.1 spz
7484 1.1 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7485 1.1 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7486 1.1 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7487 1.1 spz
7488 1.1 spz ## CAVEAT EMPTOR:
7489 1.1 spz ## There is no encapsulation within the following macros, do not change
7490 1.1 spz ## the running order or otherwise move them around unless you know exactly
7491 1.1 spz ## what you are doing...
7492 1.1 spz if test -n "$compiler"; then
7493 1.1 spz _LT_COMPILER_NO_RTTI($1)
7494 1.1 spz _LT_COMPILER_PIC($1)
7495 1.1 spz _LT_COMPILER_C_O($1)
7496 1.1 spz _LT_COMPILER_FILE_LOCKS($1)
7497 1.1 spz _LT_LINKER_SHLIBS($1)
7498 1.1 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7499 1.1 spz
7500 1.1 spz _LT_CONFIG($1)
7501 1.1 spz fi
7502 1.1 spz
7503 1.1 spz AC_LANG_RESTORE
7504 1.1 spz
7505 1.1 spz GCC=$lt_save_GCC
7506 1.1 spz CC=$lt_save_CC
7507 1.1 spz CFLAGS=$lt_save_CFLAGS
7508 1.1 spz ])# _LT_LANG_GCJ_CONFIG
7509 1.1 spz
7510 1.1 spz
7511 1.1.1.2 spz # _LT_LANG_GO_CONFIG([TAG])
7512 1.1.1.2 spz # --------------------------
7513 1.1.1.2 spz # Ensure that the configuration variables for the GNU Go compiler
7514 1.1.1.2 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
7515 1.1.1.2 spz # to write the compiler configuration to `libtool'.
7516 1.1.1.2 spz m4_defun([_LT_LANG_GO_CONFIG],
7517 1.1.1.2 spz [AC_REQUIRE([LT_PROG_GO])dnl
7518 1.1.1.2 spz AC_LANG_SAVE
7519 1.1.1.2 spz
7520 1.1.1.2 spz # Source file extension for Go test sources.
7521 1.1.1.2 spz ac_ext=go
7522 1.1.1.2 spz
7523 1.1.1.2 spz # Object file extension for compiled Go test sources.
7524 1.1.1.2 spz objext=o
7525 1.1.1.2 spz _LT_TAGVAR(objext, $1)=$objext
7526 1.1.1.2 spz
7527 1.1.1.2 spz # Code to be used in simple compile tests
7528 1.1.1.2 spz lt_simple_compile_test_code="package main; func main() { }"
7529 1.1.1.2 spz
7530 1.1.1.2 spz # Code to be used in simple link tests
7531 1.1.1.2 spz lt_simple_link_test_code='package main; func main() { }'
7532 1.1.1.2 spz
7533 1.1.1.2 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7534 1.1.1.2 spz _LT_TAG_COMPILER
7535 1.1.1.2 spz
7536 1.1.1.2 spz # save warnings/boilerplate of simple test code
7537 1.1.1.2 spz _LT_COMPILER_BOILERPLATE
7538 1.1.1.2 spz _LT_LINKER_BOILERPLATE
7539 1.1.1.2 spz
7540 1.1.1.2 spz # Allow CC to be a program name with arguments.
7541 1.1.1.2 spz lt_save_CC=$CC
7542 1.1.1.2 spz lt_save_CFLAGS=$CFLAGS
7543 1.1.1.2 spz lt_save_GCC=$GCC
7544 1.1.1.2 spz GCC=yes
7545 1.1.1.2 spz CC=${GOC-"gccgo"}
7546 1.1.1.2 spz CFLAGS=$GOFLAGS
7547 1.1.1.2 spz compiler=$CC
7548 1.1.1.2 spz _LT_TAGVAR(compiler, $1)=$CC
7549 1.1.1.2 spz _LT_TAGVAR(LD, $1)="$LD"
7550 1.1.1.2 spz _LT_CC_BASENAME([$compiler])
7551 1.1.1.2 spz
7552 1.1.1.2 spz # Go did not exist at the time GCC didn't implicitly link libc in.
7553 1.1.1.2 spz _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7554 1.1.1.2 spz
7555 1.1.1.2 spz _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7556 1.1.1.2 spz _LT_TAGVAR(reload_flag, $1)=$reload_flag
7557 1.1.1.2 spz _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7558 1.1.1.2 spz
7559 1.1.1.2 spz ## CAVEAT EMPTOR:
7560 1.1.1.2 spz ## There is no encapsulation within the following macros, do not change
7561 1.1.1.2 spz ## the running order or otherwise move them around unless you know exactly
7562 1.1.1.2 spz ## what you are doing...
7563 1.1.1.2 spz if test -n "$compiler"; then
7564 1.1.1.2 spz _LT_COMPILER_NO_RTTI($1)
7565 1.1.1.2 spz _LT_COMPILER_PIC($1)
7566 1.1.1.2 spz _LT_COMPILER_C_O($1)
7567 1.1.1.2 spz _LT_COMPILER_FILE_LOCKS($1)
7568 1.1.1.2 spz _LT_LINKER_SHLIBS($1)
7569 1.1.1.2 spz _LT_LINKER_HARDCODE_LIBPATH($1)
7570 1.1.1.2 spz
7571 1.1.1.2 spz _LT_CONFIG($1)
7572 1.1.1.2 spz fi
7573 1.1.1.2 spz
7574 1.1.1.2 spz AC_LANG_RESTORE
7575 1.1.1.2 spz
7576 1.1.1.2 spz GCC=$lt_save_GCC
7577 1.1.1.2 spz CC=$lt_save_CC
7578 1.1.1.2 spz CFLAGS=$lt_save_CFLAGS
7579 1.1.1.2 spz ])# _LT_LANG_GO_CONFIG
7580 1.1.1.2 spz
7581 1.1.1.2 spz
7582 1.1 spz # _LT_LANG_RC_CONFIG([TAG])
7583 1.1 spz # -------------------------
7584 1.1 spz # Ensure that the configuration variables for the Windows resource compiler
7585 1.1 spz # are suitably defined. These variables are subsequently used by _LT_CONFIG
7586 1.1 spz # to write the compiler configuration to `libtool'.
7587 1.1 spz m4_defun([_LT_LANG_RC_CONFIG],
7588 1.1 spz [AC_REQUIRE([LT_PROG_RC])dnl
7589 1.1 spz AC_LANG_SAVE
7590 1.1 spz
7591 1.1 spz # Source file extension for RC test sources.
7592 1.1 spz ac_ext=rc
7593 1.1 spz
7594 1.1 spz # Object file extension for compiled RC test sources.
7595 1.1 spz objext=o
7596 1.1 spz _LT_TAGVAR(objext, $1)=$objext
7597 1.1 spz
7598 1.1 spz # Code to be used in simple compile tests
7599 1.1 spz lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
7600 1.1 spz
7601 1.1 spz # Code to be used in simple link tests
7602 1.1 spz lt_simple_link_test_code="$lt_simple_compile_test_code"
7603 1.1 spz
7604 1.1 spz # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7605 1.1 spz _LT_TAG_COMPILER
7606 1.1 spz
7607 1.1 spz # save warnings/boilerplate of simple test code
7608 1.1 spz _LT_COMPILER_BOILERPLATE
7609 1.1 spz _LT_LINKER_BOILERPLATE
7610 1.1 spz
7611 1.1 spz # Allow CC to be a program name with arguments.
7612 1.1 spz lt_save_CC="$CC"
7613 1.1 spz lt_save_CFLAGS=$CFLAGS
7614 1.1 spz lt_save_GCC=$GCC
7615 1.1 spz GCC=
7616 1.1 spz CC=${RC-"windres"}
7617 1.1 spz CFLAGS=
7618 1.1 spz compiler=$CC
7619 1.1 spz _LT_TAGVAR(compiler, $1)=$CC
7620 1.1 spz _LT_CC_BASENAME([$compiler])
7621 1.1 spz _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
7622 1.1 spz
7623 1.1 spz if test -n "$compiler"; then
7624 1.1 spz :
7625 1.1 spz _LT_CONFIG($1)
7626 1.1 spz fi
7627 1.1 spz
7628 1.1 spz GCC=$lt_save_GCC
7629 1.1 spz AC_LANG_RESTORE
7630 1.1 spz CC=$lt_save_CC
7631 1.1 spz CFLAGS=$lt_save_CFLAGS
7632 1.1 spz ])# _LT_LANG_RC_CONFIG
7633 1.1 spz
7634 1.1 spz
7635 1.1 spz # LT_PROG_GCJ
7636 1.1 spz # -----------
7637 1.1 spz AC_DEFUN([LT_PROG_GCJ],
7638 1.1 spz [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
7639 1.1 spz [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
7640 1.1 spz [AC_CHECK_TOOL(GCJ, gcj,)
7641 1.1 spz test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7642 1.1 spz AC_SUBST(GCJFLAGS)])])[]dnl
7643 1.1 spz ])
7644 1.1 spz
7645 1.1 spz # Old name:
7646 1.1 spz AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7647 1.1 spz dnl aclocal-1.4 backwards compatibility:
7648 1.1 spz dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7649 1.1 spz
7650 1.1 spz
7651 1.1.1.2 spz # LT_PROG_GO
7652 1.1.1.2 spz # ----------
7653 1.1.1.2 spz AC_DEFUN([LT_PROG_GO],
7654 1.1.1.2 spz [AC_CHECK_TOOL(GOC, gccgo,)
7655 1.1.1.2 spz ])
7656 1.1.1.2 spz
7657 1.1.1.2 spz
7658 1.1 spz # LT_PROG_RC
7659 1.1 spz # ----------
7660 1.1 spz AC_DEFUN([LT_PROG_RC],
7661 1.1 spz [AC_CHECK_TOOL(RC, windres,)
7662 1.1 spz ])
7663 1.1 spz
7664 1.1 spz # Old name:
7665 1.1 spz AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7666 1.1 spz dnl aclocal-1.4 backwards compatibility:
7667 1.1 spz dnl AC_DEFUN([LT_AC_PROG_RC], [])
7668 1.1 spz
7669 1.1 spz
7670 1.1 spz # _LT_DECL_EGREP
7671 1.1 spz # --------------
7672 1.1 spz # If we don't have a new enough Autoconf to choose the best grep
7673 1.1 spz # available, choose the one first in the user's PATH.
7674 1.1 spz m4_defun([_LT_DECL_EGREP],
7675 1.1 spz [AC_REQUIRE([AC_PROG_EGREP])dnl
7676 1.1 spz AC_REQUIRE([AC_PROG_FGREP])dnl
7677 1.1 spz test -z "$GREP" && GREP=grep
7678 1.1 spz _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7679 1.1 spz _LT_DECL([], [EGREP], [1], [An ERE matcher])
7680 1.1 spz _LT_DECL([], [FGREP], [1], [A literal string matcher])
7681 1.1 spz dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7682 1.1 spz AC_SUBST([GREP])
7683 1.1 spz ])
7684 1.1 spz
7685 1.1 spz
7686 1.1 spz # _LT_DECL_OBJDUMP
7687 1.1 spz # --------------
7688 1.1 spz # If we don't have a new enough Autoconf to choose the best objdump
7689 1.1 spz # available, choose the one first in the user's PATH.
7690 1.1 spz m4_defun([_LT_DECL_OBJDUMP],
7691 1.1 spz [AC_CHECK_TOOL(OBJDUMP, objdump, false)
7692 1.1 spz test -z "$OBJDUMP" && OBJDUMP=objdump
7693 1.1 spz _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7694 1.1 spz AC_SUBST([OBJDUMP])
7695 1.1 spz ])
7696 1.1 spz
7697 1.1 spz # _LT_DECL_DLLTOOL
7698 1.1 spz # ----------------
7699 1.1 spz # Ensure DLLTOOL variable is set.
7700 1.1 spz m4_defun([_LT_DECL_DLLTOOL],
7701 1.1 spz [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7702 1.1 spz test -z "$DLLTOOL" && DLLTOOL=dlltool
7703 1.1 spz _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
7704 1.1 spz AC_SUBST([DLLTOOL])
7705 1.1 spz ])
7706 1.1 spz
7707 1.1 spz # _LT_DECL_SED
7708 1.1 spz # ------------
7709 1.1 spz # Check for a fully-functional sed program, that truncates
7710 1.1 spz # as few characters as possible. Prefer GNU sed if found.
7711 1.1 spz m4_defun([_LT_DECL_SED],
7712 1.1 spz [AC_PROG_SED
7713 1.1 spz test -z "$SED" && SED=sed
7714 1.1 spz Xsed="$SED -e 1s/^X//"
7715 1.1 spz _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7716 1.1 spz _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7717 1.1 spz [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7718 1.1 spz ])# _LT_DECL_SED
7719 1.1 spz
7720 1.1 spz m4_ifndef([AC_PROG_SED], [
7721 1.1 spz ############################################################
7722 1.1 spz # NOTE: This macro has been submitted for inclusion into #
7723 1.1 spz # GNU Autoconf as AC_PROG_SED. When it is available in #
7724 1.1 spz # a released version of Autoconf we should remove this #
7725 1.1 spz # macro and use it instead. #
7726 1.1 spz ############################################################
7727 1.1 spz
7728 1.1 spz m4_defun([AC_PROG_SED],
7729 1.1 spz [AC_MSG_CHECKING([for a sed that does not truncate output])
7730 1.1 spz AC_CACHE_VAL(lt_cv_path_SED,
7731 1.1 spz [# Loop through the user's path and test for sed and gsed.
7732 1.1 spz # Then use that list of sed's as ones to test for truncation.
7733 1.1 spz as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7734 1.1 spz for as_dir in $PATH
7735 1.1 spz do
7736 1.1 spz IFS=$as_save_IFS
7737 1.1 spz test -z "$as_dir" && as_dir=.
7738 1.1 spz for lt_ac_prog in sed gsed; do
7739 1.1 spz for ac_exec_ext in '' $ac_executable_extensions; do
7740 1.1 spz if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7741 1.1 spz lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7742 1.1 spz fi
7743 1.1 spz done
7744 1.1 spz done
7745 1.1 spz done
7746 1.1 spz IFS=$as_save_IFS
7747 1.1 spz lt_ac_max=0
7748 1.1 spz lt_ac_count=0
7749 1.1 spz # Add /usr/xpg4/bin/sed as it is typically found on Solaris
7750 1.1 spz # along with /bin/sed that truncates output.
7751 1.1 spz for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7752 1.1 spz test ! -f $lt_ac_sed && continue
7753 1.1 spz cat /dev/null > conftest.in
7754 1.1 spz lt_ac_count=0
7755 1.1 spz echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7756 1.1 spz # Check for GNU sed and select it if it is found.
7757 1.1 spz if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7758 1.1 spz lt_cv_path_SED=$lt_ac_sed
7759 1.1 spz break
7760 1.1 spz fi
7761 1.1 spz while true; do
7762 1.1 spz cat conftest.in conftest.in >conftest.tmp
7763 1.1 spz mv conftest.tmp conftest.in
7764 1.1 spz cp conftest.in conftest.nl
7765 1.1 spz echo >>conftest.nl
7766 1.1 spz $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7767 1.1 spz cmp -s conftest.out conftest.nl || break
7768 1.1 spz # 10000 chars as input seems more than enough
7769 1.1 spz test $lt_ac_count -gt 10 && break
7770 1.1 spz lt_ac_count=`expr $lt_ac_count + 1`
7771 1.1 spz if test $lt_ac_count -gt $lt_ac_max; then
7772 1.1 spz lt_ac_max=$lt_ac_count
7773 1.1 spz lt_cv_path_SED=$lt_ac_sed
7774 1.1 spz fi
7775 1.1 spz done
7776 1.1 spz done
7777 1.1 spz ])
7778 1.1 spz SED=$lt_cv_path_SED
7779 1.1 spz AC_SUBST([SED])
7780 1.1 spz AC_MSG_RESULT([$SED])
7781 1.1 spz ])#AC_PROG_SED
7782 1.1 spz ])#m4_ifndef
7783 1.1 spz
7784 1.1 spz # Old name:
7785 1.1 spz AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7786 1.1 spz dnl aclocal-1.4 backwards compatibility:
7787 1.1 spz dnl AC_DEFUN([LT_AC_PROG_SED], [])
7788 1.1 spz
7789 1.1 spz
7790 1.1 spz # _LT_CHECK_SHELL_FEATURES
7791 1.1 spz # ------------------------
7792 1.1 spz # Find out whether the shell is Bourne or XSI compatible,
7793 1.1 spz # or has some other useful features.
7794 1.1 spz m4_defun([_LT_CHECK_SHELL_FEATURES],
7795 1.1 spz [AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7796 1.1 spz # Try some XSI features
7797 1.1 spz xsi_shell=no
7798 1.1 spz ( _lt_dummy="a/b/c"
7799 1.1 spz test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
7800 1.1 spz = c,a/b,b/c, \
7801 1.1 spz && eval 'test $(( 1 + 1 )) -eq 2 \
7802 1.1 spz && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7803 1.1 spz && xsi_shell=yes
7804 1.1 spz AC_MSG_RESULT([$xsi_shell])
7805 1.1 spz _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7806 1.1 spz
7807 1.1 spz AC_MSG_CHECKING([whether the shell understands "+="])
7808 1.1 spz lt_shell_append=no
7809 1.1 spz ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7810 1.1 spz >/dev/null 2>&1 \
7811 1.1 spz && lt_shell_append=yes
7812 1.1 spz AC_MSG_RESULT([$lt_shell_append])
7813 1.1 spz _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7814 1.1 spz
7815 1.1 spz if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7816 1.1 spz lt_unset=unset
7817 1.1 spz else
7818 1.1 spz lt_unset=false
7819 1.1 spz fi
7820 1.1 spz _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7821 1.1 spz
7822 1.1 spz # test EBCDIC or ASCII
7823 1.1 spz case `echo X|tr X '\101'` in
7824 1.1 spz A) # ASCII based system
7825 1.1 spz # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7826 1.1 spz lt_SP2NL='tr \040 \012'
7827 1.1 spz lt_NL2SP='tr \015\012 \040\040'
7828 1.1 spz ;;
7829 1.1 spz *) # EBCDIC based system
7830 1.1 spz lt_SP2NL='tr \100 \n'
7831 1.1 spz lt_NL2SP='tr \r\n \100\100'
7832 1.1 spz ;;
7833 1.1 spz esac
7834 1.1 spz _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7835 1.1 spz _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7836 1.1 spz ])# _LT_CHECK_SHELL_FEATURES
7837 1.1 spz
7838 1.1 spz
7839 1.1 spz # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
7840 1.1 spz # ------------------------------------------------------
7841 1.1 spz # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
7842 1.1 spz # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
7843 1.1 spz m4_defun([_LT_PROG_FUNCTION_REPLACE],
7844 1.1 spz [dnl {
7845 1.1 spz sed -e '/^$1 ()$/,/^} # $1 /c\
7846 1.1 spz $1 ()\
7847 1.1 spz {\
7848 1.1 spz m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
7849 1.1 spz } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
7850 1.1 spz && mv -f "$cfgfile.tmp" "$cfgfile" \
7851 1.1 spz || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7852 1.1 spz test 0 -eq $? || _lt_function_replace_fail=:
7853 1.1 spz ])
7854 1.1 spz
7855 1.1 spz
7856 1.1 spz # _LT_PROG_REPLACE_SHELLFNS
7857 1.1 spz # -------------------------
7858 1.1 spz # Replace existing portable implementations of several shell functions with
7859 1.1 spz # equivalent extended shell implementations where those features are available..
7860 1.1 spz m4_defun([_LT_PROG_REPLACE_SHELLFNS],
7861 1.1 spz [if test x"$xsi_shell" = xyes; then
7862 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
7863 1.1 spz case ${1} in
7864 1.1 spz */*) func_dirname_result="${1%/*}${2}" ;;
7865 1.1 spz * ) func_dirname_result="${3}" ;;
7866 1.1 spz esac])
7867 1.1 spz
7868 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
7869 1.1 spz func_basename_result="${1##*/}"])
7870 1.1 spz
7871 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
7872 1.1 spz case ${1} in
7873 1.1 spz */*) func_dirname_result="${1%/*}${2}" ;;
7874 1.1 spz * ) func_dirname_result="${3}" ;;
7875 1.1 spz esac
7876 1.1 spz func_basename_result="${1##*/}"])
7877 1.1 spz
7878 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
7879 1.1 spz # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7880 1.1 spz # positional parameters, so assign one to ordinary parameter first.
7881 1.1 spz func_stripname_result=${3}
7882 1.1 spz func_stripname_result=${func_stripname_result#"${1}"}
7883 1.1 spz func_stripname_result=${func_stripname_result%"${2}"}])
7884 1.1 spz
7885 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
7886 1.1 spz func_split_long_opt_name=${1%%=*}
7887 1.1 spz func_split_long_opt_arg=${1#*=}])
7888 1.1 spz
7889 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
7890 1.1 spz func_split_short_opt_arg=${1#??}
7891 1.1 spz func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
7892 1.1 spz
7893 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
7894 1.1 spz case ${1} in
7895 1.1 spz *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7896 1.1 spz *) func_lo2o_result=${1} ;;
7897 1.1 spz esac])
7898 1.1 spz
7899 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
7900 1.1 spz
7901 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
7902 1.1 spz
7903 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
7904 1.1 spz fi
7905 1.1 spz
7906 1.1 spz if test x"$lt_shell_append" = xyes; then
7907 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
7908 1.1 spz
7909 1.1 spz _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
7910 1.1 spz func_quote_for_eval "${2}"
7911 1.1 spz dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
7912 1.1 spz eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
7913 1.1 spz
7914 1.1 spz # Save a `func_append' function call where possible by direct use of '+='
7915 1.1 spz sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
7916 1.1 spz && mv -f "$cfgfile.tmp" "$cfgfile" \
7917 1.1 spz || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7918 1.1 spz test 0 -eq $? || _lt_function_replace_fail=:
7919 1.1 spz else
7920 1.1 spz # Save a `func_append' function call even when '+=' is not available
7921 1.1 spz sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
7922 1.1 spz && mv -f "$cfgfile.tmp" "$cfgfile" \
7923 1.1 spz || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7924 1.1 spz test 0 -eq $? || _lt_function_replace_fail=:
7925 1.1 spz fi
7926 1.1 spz
7927 1.1 spz if test x"$_lt_function_replace_fail" = x":"; then
7928 1.1 spz AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
7929 1.1 spz fi
7930 1.1 spz ])
7931 1.1 spz
7932 1.1 spz # _LT_PATH_CONVERSION_FUNCTIONS
7933 1.1 spz # -----------------------------
7934 1.1 spz # Determine which file name conversion functions should be used by
7935 1.1 spz # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
7936 1.1 spz # for certain cross-compile configurations and native mingw.
7937 1.1 spz m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
7938 1.1 spz [AC_REQUIRE([AC_CANONICAL_HOST])dnl
7939 1.1 spz AC_REQUIRE([AC_CANONICAL_BUILD])dnl
7940 1.1 spz AC_MSG_CHECKING([how to convert $build file names to $host format])
7941 1.1 spz AC_CACHE_VAL(lt_cv_to_host_file_cmd,
7942 1.1 spz [case $host in
7943 1.1 spz *-*-mingw* )
7944 1.1 spz case $build in
7945 1.1 spz *-*-mingw* ) # actually msys
7946 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
7947 1.1 spz ;;
7948 1.1 spz *-*-cygwin* )
7949 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
7950 1.1 spz ;;
7951 1.1 spz * ) # otherwise, assume *nix
7952 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
7953 1.1 spz ;;
7954 1.1 spz esac
7955 1.1 spz ;;
7956 1.1 spz *-*-cygwin* )
7957 1.1 spz case $build in
7958 1.1 spz *-*-mingw* ) # actually msys
7959 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
7960 1.1 spz ;;
7961 1.1 spz *-*-cygwin* )
7962 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_noop
7963 1.1 spz ;;
7964 1.1 spz * ) # otherwise, assume *nix
7965 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
7966 1.1 spz ;;
7967 1.1 spz esac
7968 1.1 spz ;;
7969 1.1 spz * ) # unhandled hosts (and "normal" native builds)
7970 1.1 spz lt_cv_to_host_file_cmd=func_convert_file_noop
7971 1.1 spz ;;
7972 1.1 spz esac
7973 1.1 spz ])
7974 1.1 spz to_host_file_cmd=$lt_cv_to_host_file_cmd
7975 1.1 spz AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
7976 1.1 spz _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
7977 1.1 spz [0], [convert $build file names to $host format])dnl
7978 1.1 spz
7979 1.1 spz AC_MSG_CHECKING([how to convert $build file names to toolchain format])
7980 1.1 spz AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
7981 1.1 spz [#assume ordinary cross tools, or native build.
7982 1.1 spz lt_cv_to_tool_file_cmd=func_convert_file_noop
7983 1.1 spz case $host in
7984 1.1 spz *-*-mingw* )
7985 1.1 spz case $build in
7986 1.1 spz *-*-mingw* ) # actually msys
7987 1.1 spz lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
7988 1.1 spz ;;
7989 1.1 spz esac
7990 1.1 spz ;;
7991 1.1 spz esac
7992 1.1 spz ])
7993 1.1 spz to_tool_file_cmd=$lt_cv_to_tool_file_cmd
7994 1.1 spz AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
7995 1.1 spz _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
7996 1.1 spz [0], [convert $build files to toolchain format])dnl
7997 1.1 spz ])# _LT_PATH_CONVERSION_FUNCTIONS
7998