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