annotate m4/libtool.m4 @ 1739:c414850f206f

Add support for -boot flag, which allows in-tree execution of Ur/Web The boot flag rewrites most hardcoded paths to point to the build directory, and also forces static compilation. This is convenient for developing Ur/Web, or if you cannot 'sudo make install' Ur/Web. The following changes were made: * Header files were moved to include/urweb instead of include; this lets FFI users point their C_INCLUDE_PATH at this directory at write <urweb/urweb.h>. For internal Ur/Web executables, we simply pass -I$PATH/include/urweb as normal. * Differentiate between LIB and SRCLIB; SRCLIB is Ur and JavaScript source files, while LIB is compiled products from libtool. For in-tree compilation these live in different places. * No longer reference Config for paths; instead use Settings; these settings can be changed dynamically by Compiler.enableBoot () (TODO: add a disableBoot function.) * config.h is now generated directly in include/urweb/config.h, for consistency's sake (especially since it gets installed along with the rest of the headers!) * All of the autotools build products got updated. * The linkStatic field in protocols now only contains the name of the build product, and not the absolute path. Future users have to be careful not to reference the Settings files to early, lest they get an old version (this was the source of two bugs during development of this patch.)
author Edward Z. Yang <ezyang@mit.edu>
date Wed, 02 May 2012 17:17:57 -0400
parents 252e05bf199d
children 40557fb08e98
rev   line source
adamc@1141 1 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
adamc@1141 2 #
adamc@1141 3 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
adam@1599 4 # 2006, 2007, 2008, 2009, 2010, 2011 Free Software
adam@1599 5 # Foundation, Inc.
adamc@1141 6 # Written by Gordon Matzigkeit, 1996
adamc@1141 7 #
adamc@1141 8 # This file is free software; the Free Software Foundation gives
adamc@1141 9 # unlimited permission to copy and/or distribute it, with or without
adamc@1141 10 # modifications, as long as this notice is preserved.
adamc@1141 11
adamc@1141 12 m4_define([_LT_COPYING], [dnl
adamc@1141 13 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
adam@1599 14 # 2006, 2007, 2008, 2009, 2010, 2011 Free Software
adam@1599 15 # Foundation, Inc.
adamc@1141 16 # Written by Gordon Matzigkeit, 1996
adamc@1141 17 #
adamc@1141 18 # This file is part of GNU Libtool.
adamc@1141 19 #
adamc@1141 20 # GNU Libtool is free software; you can redistribute it and/or
adamc@1141 21 # modify it under the terms of the GNU General Public License as
adamc@1141 22 # published by the Free Software Foundation; either version 2 of
adamc@1141 23 # the License, or (at your option) any later version.
adamc@1141 24 #
adamc@1141 25 # As a special exception to the GNU General Public License,
adamc@1141 26 # if you distribute this file as part of a program or library that
adamc@1141 27 # is built using GNU Libtool, you may include this file under the
adamc@1141 28 # same distribution terms that you use for the rest of that program.
adamc@1141 29 #
adamc@1141 30 # GNU Libtool is distributed in the hope that it will be useful,
adamc@1141 31 # but WITHOUT ANY WARRANTY; without even the implied warranty of
adamc@1141 32 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
adamc@1141 33 # GNU General Public License for more details.
adamc@1141 34 #
adamc@1141 35 # You should have received a copy of the GNU General Public License
adamc@1141 36 # along with GNU Libtool; see the file COPYING. If not, a copy
adamc@1141 37 # can be downloaded from http://www.gnu.org/licenses/gpl.html, or
adamc@1141 38 # obtained by writing to the Free Software Foundation, Inc.,
adamc@1141 39 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
adamc@1141 40 ])
adamc@1141 41
adam@1459 42 # serial 57 LT_INIT
adamc@1141 43
adamc@1141 44
adamc@1141 45 # LT_PREREQ(VERSION)
adamc@1141 46 # ------------------
adamc@1141 47 # Complain and exit if this libtool version is less that VERSION.
adamc@1141 48 m4_defun([LT_PREREQ],
adamc@1141 49 [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
adamc@1141 50 [m4_default([$3],
adamc@1141 51 [m4_fatal([Libtool version $1 or higher is required],
adamc@1141 52 63)])],
adamc@1141 53 [$2])])
adamc@1141 54
adamc@1141 55
adamc@1141 56 # _LT_CHECK_BUILDDIR
adamc@1141 57 # ------------------
adamc@1141 58 # Complain if the absolute build directory name contains unusual characters
adamc@1141 59 m4_defun([_LT_CHECK_BUILDDIR],
adamc@1141 60 [case `pwd` in
adamc@1141 61 *\ * | *\ *)
adamc@1141 62 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
adamc@1141 63 esac
adamc@1141 64 ])
adamc@1141 65
adamc@1141 66
adamc@1141 67 # LT_INIT([OPTIONS])
adamc@1141 68 # ------------------
adamc@1141 69 AC_DEFUN([LT_INIT],
adamc@1141 70 [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
adam@1459 71 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
adamc@1141 72 AC_BEFORE([$0], [LT_LANG])dnl
adamc@1141 73 AC_BEFORE([$0], [LT_OUTPUT])dnl
adamc@1141 74 AC_BEFORE([$0], [LTDL_INIT])dnl
adamc@1141 75 m4_require([_LT_CHECK_BUILDDIR])dnl
adamc@1141 76
adamc@1141 77 dnl Autoconf doesn't catch unexpanded LT_ macros by default:
adamc@1141 78 m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
adamc@1141 79 m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
adamc@1141 80 dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
adamc@1141 81 dnl unless we require an AC_DEFUNed macro:
adamc@1141 82 AC_REQUIRE([LTOPTIONS_VERSION])dnl
adamc@1141 83 AC_REQUIRE([LTSUGAR_VERSION])dnl
adamc@1141 84 AC_REQUIRE([LTVERSION_VERSION])dnl
adamc@1141 85 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
adamc@1141 86 m4_require([_LT_PROG_LTMAIN])dnl
adamc@1141 87
adam@1459 88 _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
adam@1459 89
adamc@1141 90 dnl Parse OPTIONS
adamc@1141 91 _LT_SET_OPTIONS([$0], [$1])
adamc@1141 92
adamc@1141 93 # This can be used to rebuild libtool when needed
adamc@1141 94 LIBTOOL_DEPS="$ltmain"
adamc@1141 95
adamc@1141 96 # Always use our own libtool.
adamc@1141 97 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
adamc@1141 98 AC_SUBST(LIBTOOL)dnl
adamc@1141 99
adamc@1141 100 _LT_SETUP
adamc@1141 101
adamc@1141 102 # Only expand once:
adamc@1141 103 m4_define([LT_INIT])
adamc@1141 104 ])# LT_INIT
adamc@1141 105
adamc@1141 106 # Old names:
adamc@1141 107 AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
adamc@1141 108 AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
adamc@1141 109 dnl aclocal-1.4 backwards compatibility:
adamc@1141 110 dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
adamc@1141 111 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
adamc@1141 112
adamc@1141 113
adamc@1141 114 # _LT_CC_BASENAME(CC)
adamc@1141 115 # -------------------
adamc@1141 116 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
adamc@1141 117 m4_defun([_LT_CC_BASENAME],
adamc@1141 118 [for cc_temp in $1""; do
adamc@1141 119 case $cc_temp in
adamc@1141 120 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
adamc@1141 121 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
adamc@1141 122 \-*) ;;
adamc@1141 123 *) break;;
adamc@1141 124 esac
adamc@1141 125 done
adam@1459 126 cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
adamc@1141 127 ])
adamc@1141 128
adamc@1141 129
adamc@1141 130 # _LT_FILEUTILS_DEFAULTS
adamc@1141 131 # ----------------------
adamc@1141 132 # It is okay to use these file commands and assume they have been set
adamc@1141 133 # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
adamc@1141 134 m4_defun([_LT_FILEUTILS_DEFAULTS],
adamc@1141 135 [: ${CP="cp -f"}
adamc@1141 136 : ${MV="mv -f"}
adamc@1141 137 : ${RM="rm -f"}
adamc@1141 138 ])# _LT_FILEUTILS_DEFAULTS
adamc@1141 139
adamc@1141 140
adamc@1141 141 # _LT_SETUP
adamc@1141 142 # ---------
adamc@1141 143 m4_defun([_LT_SETUP],
adamc@1141 144 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
adamc@1141 145 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
adam@1459 146 AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
adam@1459 147 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
adam@1459 148
adam@1599 149 _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
adam@1599 150 dnl
adamc@1141 151 _LT_DECL([], [host_alias], [0], [The host system])dnl
adamc@1141 152 _LT_DECL([], [host], [0])dnl
adamc@1141 153 _LT_DECL([], [host_os], [0])dnl
adamc@1141 154 dnl
adamc@1141 155 _LT_DECL([], [build_alias], [0], [The build system])dnl
adamc@1141 156 _LT_DECL([], [build], [0])dnl
adamc@1141 157 _LT_DECL([], [build_os], [0])dnl
adamc@1141 158 dnl
adamc@1141 159 AC_REQUIRE([AC_PROG_CC])dnl
adamc@1141 160 AC_REQUIRE([LT_PATH_LD])dnl
adamc@1141 161 AC_REQUIRE([LT_PATH_NM])dnl
adamc@1141 162 dnl
adamc@1141 163 AC_REQUIRE([AC_PROG_LN_S])dnl
adamc@1141 164 test -z "$LN_S" && LN_S="ln -s"
adamc@1141 165 _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
adamc@1141 166 dnl
adamc@1141 167 AC_REQUIRE([LT_CMD_MAX_LEN])dnl
adamc@1141 168 _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
adamc@1141 169 _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
adamc@1141 170 dnl
adamc@1141 171 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adamc@1141 172 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
adam@1459 173 m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
adamc@1141 174 m4_require([_LT_CMD_RELOAD])dnl
adamc@1141 175 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
adam@1459 176 m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
adamc@1141 177 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
adamc@1141 178 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
adam@1459 179 m4_require([_LT_WITH_SYSROOT])dnl
adamc@1141 180
adamc@1141 181 _LT_CONFIG_LIBTOOL_INIT([
adamc@1141 182 # See if we are running on zsh, and set the options which allow our
adamc@1141 183 # commands through without removal of \ escapes INIT.
adamc@1141 184 if test -n "\${ZSH_VERSION+set}" ; then
adamc@1141 185 setopt NO_GLOB_SUBST
adamc@1141 186 fi
adamc@1141 187 ])
adamc@1141 188 if test -n "${ZSH_VERSION+set}" ; then
adamc@1141 189 setopt NO_GLOB_SUBST
adamc@1141 190 fi
adamc@1141 191
adamc@1141 192 _LT_CHECK_OBJDIR
adamc@1141 193
adamc@1141 194 m4_require([_LT_TAG_COMPILER])dnl
adamc@1141 195
adamc@1141 196 case $host_os in
adamc@1141 197 aix3*)
adamc@1141 198 # AIX sometimes has problems with the GCC collect2 program. For some
adamc@1141 199 # reason, if we set the COLLECT_NAMES environment variable, the problems
adamc@1141 200 # vanish in a puff of smoke.
adamc@1141 201 if test "X${COLLECT_NAMES+set}" != Xset; then
adamc@1141 202 COLLECT_NAMES=
adamc@1141 203 export COLLECT_NAMES
adamc@1141 204 fi
adamc@1141 205 ;;
adamc@1141 206 esac
adamc@1141 207
adamc@1141 208 # Global variables:
adamc@1141 209 ofile=libtool
adamc@1141 210 can_build_shared=yes
adamc@1141 211
adamc@1141 212 # All known linkers require a `.a' archive for static linking (except MSVC,
adamc@1141 213 # which needs '.lib').
adamc@1141 214 libext=a
adamc@1141 215
adamc@1141 216 with_gnu_ld="$lt_cv_prog_gnu_ld"
adamc@1141 217
adamc@1141 218 old_CC="$CC"
adamc@1141 219 old_CFLAGS="$CFLAGS"
adamc@1141 220
adamc@1141 221 # Set sane defaults for various variables
adamc@1141 222 test -z "$CC" && CC=cc
adamc@1141 223 test -z "$LTCC" && LTCC=$CC
adamc@1141 224 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
adamc@1141 225 test -z "$LD" && LD=ld
adamc@1141 226 test -z "$ac_objext" && ac_objext=o
adamc@1141 227
adamc@1141 228 _LT_CC_BASENAME([$compiler])
adamc@1141 229
adamc@1141 230 # Only perform the check for file, if the check method requires it
adamc@1141 231 test -z "$MAGIC_CMD" && MAGIC_CMD=file
adamc@1141 232 case $deplibs_check_method in
adamc@1141 233 file_magic*)
adamc@1141 234 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
adamc@1141 235 _LT_PATH_MAGIC
adamc@1141 236 fi
adamc@1141 237 ;;
adamc@1141 238 esac
adamc@1141 239
adamc@1141 240 # Use C for the default configuration in the libtool script
adamc@1141 241 LT_SUPPORTED_TAG([CC])
adamc@1141 242 _LT_LANG_C_CONFIG
adamc@1141 243 _LT_LANG_DEFAULT_CONFIG
adamc@1141 244 _LT_CONFIG_COMMANDS
adamc@1141 245 ])# _LT_SETUP
adamc@1141 246
adamc@1141 247
adam@1459 248 # _LT_PREPARE_SED_QUOTE_VARS
adam@1459 249 # --------------------------
adam@1459 250 # Define a few sed substitution that help us do robust quoting.
adam@1459 251 m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
adam@1459 252 [# Backslashify metacharacters that are still active within
adam@1459 253 # double-quoted strings.
adam@1459 254 sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
adam@1459 255
adam@1459 256 # Same as above, but do not quote variable references.
adam@1459 257 double_quote_subst='s/\([["`\\]]\)/\\\1/g'
adam@1459 258
adam@1459 259 # Sed substitution to delay expansion of an escaped shell variable in a
adam@1459 260 # double_quote_subst'ed string.
adam@1459 261 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
adam@1459 262
adam@1459 263 # Sed substitution to delay expansion of an escaped single quote.
adam@1459 264 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
adam@1459 265
adam@1459 266 # Sed substitution to avoid accidental globbing in evaled expressions
adam@1459 267 no_glob_subst='s/\*/\\\*/g'
adam@1459 268 ])
adam@1459 269
adamc@1141 270 # _LT_PROG_LTMAIN
adamc@1141 271 # ---------------
adamc@1141 272 # Note that this code is called both from `configure', and `config.status'
adamc@1141 273 # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
adamc@1141 274 # `config.status' has no value for ac_aux_dir unless we are using Automake,
adamc@1141 275 # so we pass a copy along to make sure it has a sensible value anyway.
adamc@1141 276 m4_defun([_LT_PROG_LTMAIN],
adamc@1141 277 [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
adamc@1141 278 _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
adamc@1141 279 ltmain="$ac_aux_dir/ltmain.sh"
adamc@1141 280 ])# _LT_PROG_LTMAIN
adamc@1141 281
adamc@1141 282
adamc@1141 283 ## ------------------------------------- ##
adamc@1141 284 ## Accumulate code for creating libtool. ##
adamc@1141 285 ## ------------------------------------- ##
adamc@1141 286
adamc@1141 287 # So that we can recreate a full libtool script including additional
adamc@1141 288 # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
adamc@1141 289 # in macros and then make a single call at the end using the `libtool'
adamc@1141 290 # label.
adamc@1141 291
adamc@1141 292
adamc@1141 293 # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
adamc@1141 294 # ----------------------------------------
adamc@1141 295 # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
adamc@1141 296 m4_define([_LT_CONFIG_LIBTOOL_INIT],
adamc@1141 297 [m4_ifval([$1],
adamc@1141 298 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
adamc@1141 299 [$1
adamc@1141 300 ])])])
adamc@1141 301
adamc@1141 302 # Initialize.
adamc@1141 303 m4_define([_LT_OUTPUT_LIBTOOL_INIT])
adamc@1141 304
adamc@1141 305
adamc@1141 306 # _LT_CONFIG_LIBTOOL([COMMANDS])
adamc@1141 307 # ------------------------------
adamc@1141 308 # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
adamc@1141 309 m4_define([_LT_CONFIG_LIBTOOL],
adamc@1141 310 [m4_ifval([$1],
adamc@1141 311 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
adamc@1141 312 [$1
adamc@1141 313 ])])])
adamc@1141 314
adamc@1141 315 # Initialize.
adamc@1141 316 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
adamc@1141 317
adamc@1141 318
adamc@1141 319 # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
adamc@1141 320 # -----------------------------------------------------
adamc@1141 321 m4_defun([_LT_CONFIG_SAVE_COMMANDS],
adamc@1141 322 [_LT_CONFIG_LIBTOOL([$1])
adamc@1141 323 _LT_CONFIG_LIBTOOL_INIT([$2])
adamc@1141 324 ])
adamc@1141 325
adamc@1141 326
adamc@1141 327 # _LT_FORMAT_COMMENT([COMMENT])
adamc@1141 328 # -----------------------------
adamc@1141 329 # Add leading comment marks to the start of each line, and a trailing
adamc@1141 330 # full-stop to the whole comment if one is not present already.
adamc@1141 331 m4_define([_LT_FORMAT_COMMENT],
adamc@1141 332 [m4_ifval([$1], [
adamc@1141 333 m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
adamc@1141 334 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
adamc@1141 335 )])
adamc@1141 336
adamc@1141 337
adamc@1141 338
adamc@1141 339 ## ------------------------ ##
adamc@1141 340 ## FIXME: Eliminate VARNAME ##
adamc@1141 341 ## ------------------------ ##
adamc@1141 342
adamc@1141 343
adamc@1141 344 # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
adamc@1141 345 # -------------------------------------------------------------------
adamc@1141 346 # CONFIGNAME is the name given to the value in the libtool script.
adamc@1141 347 # VARNAME is the (base) name used in the configure script.
adamc@1141 348 # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
adamc@1141 349 # VARNAME. Any other value will be used directly.
adamc@1141 350 m4_define([_LT_DECL],
adamc@1141 351 [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
adamc@1141 352 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
adamc@1141 353 [m4_ifval([$1], [$1], [$2])])
adamc@1141 354 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
adamc@1141 355 m4_ifval([$4],
adamc@1141 356 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
adamc@1141 357 lt_dict_add_subkey([lt_decl_dict], [$2],
adamc@1141 358 [tagged?], [m4_ifval([$5], [yes], [no])])])
adamc@1141 359 ])
adamc@1141 360
adamc@1141 361
adamc@1141 362 # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
adamc@1141 363 # --------------------------------------------------------
adamc@1141 364 m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
adamc@1141 365
adamc@1141 366
adamc@1141 367 # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
adamc@1141 368 # ------------------------------------------------
adamc@1141 369 m4_define([lt_decl_tag_varnames],
adamc@1141 370 [_lt_decl_filter([tagged?], [yes], $@)])
adamc@1141 371
adamc@1141 372
adamc@1141 373 # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
adamc@1141 374 # ---------------------------------------------------------
adamc@1141 375 m4_define([_lt_decl_filter],
adamc@1141 376 [m4_case([$#],
adamc@1141 377 [0], [m4_fatal([$0: too few arguments: $#])],
adamc@1141 378 [1], [m4_fatal([$0: too few arguments: $#: $1])],
adamc@1141 379 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
adamc@1141 380 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
adamc@1141 381 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
adamc@1141 382 ])
adamc@1141 383
adamc@1141 384
adamc@1141 385 # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
adamc@1141 386 # --------------------------------------------------
adamc@1141 387 m4_define([lt_decl_quote_varnames],
adamc@1141 388 [_lt_decl_filter([value], [1], $@)])
adamc@1141 389
adamc@1141 390
adamc@1141 391 # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
adamc@1141 392 # ---------------------------------------------------
adamc@1141 393 m4_define([lt_decl_dquote_varnames],
adamc@1141 394 [_lt_decl_filter([value], [2], $@)])
adamc@1141 395
adamc@1141 396
adamc@1141 397 # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
adamc@1141 398 # ---------------------------------------------------
adamc@1141 399 m4_define([lt_decl_varnames_tagged],
adamc@1141 400 [m4_assert([$# <= 2])dnl
adamc@1141 401 _$0(m4_quote(m4_default([$1], [[, ]])),
adamc@1141 402 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
adamc@1141 403 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
adamc@1141 404 m4_define([_lt_decl_varnames_tagged],
adamc@1141 405 [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
adamc@1141 406
adamc@1141 407
adamc@1141 408 # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
adamc@1141 409 # ------------------------------------------------
adamc@1141 410 m4_define([lt_decl_all_varnames],
adamc@1141 411 [_$0(m4_quote(m4_default([$1], [[, ]])),
adamc@1141 412 m4_if([$2], [],
adamc@1141 413 m4_quote(lt_decl_varnames),
adamc@1141 414 m4_quote(m4_shift($@))))[]dnl
adamc@1141 415 ])
adamc@1141 416 m4_define([_lt_decl_all_varnames],
adamc@1141 417 [lt_join($@, lt_decl_varnames_tagged([$1],
adamc@1141 418 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
adamc@1141 419 ])
adamc@1141 420
adamc@1141 421
adamc@1141 422 # _LT_CONFIG_STATUS_DECLARE([VARNAME])
adamc@1141 423 # ------------------------------------
adamc@1141 424 # Quote a variable value, and forward it to `config.status' so that its
adamc@1141 425 # declaration there will have the same value as in `configure'. VARNAME
adamc@1141 426 # must have a single quote delimited value for this to work.
adamc@1141 427 m4_define([_LT_CONFIG_STATUS_DECLARE],
adam@1459 428 [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
adamc@1141 429
adamc@1141 430
adamc@1141 431 # _LT_CONFIG_STATUS_DECLARATIONS
adamc@1141 432 # ------------------------------
adamc@1141 433 # We delimit libtool config variables with single quotes, so when
adamc@1141 434 # we write them to config.status, we have to be sure to quote all
adamc@1141 435 # embedded single quotes properly. In configure, this macro expands
adamc@1141 436 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
adamc@1141 437 #
adam@1459 438 # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
adamc@1141 439 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
adamc@1141 440 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
adamc@1141 441 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
adamc@1141 442
adamc@1141 443
adamc@1141 444 # _LT_LIBTOOL_TAGS
adamc@1141 445 # ----------------
adamc@1141 446 # Output comment and list of tags supported by the script
adamc@1141 447 m4_defun([_LT_LIBTOOL_TAGS],
adamc@1141 448 [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
adamc@1141 449 available_tags="_LT_TAGS"dnl
adamc@1141 450 ])
adamc@1141 451
adamc@1141 452
adamc@1141 453 # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
adamc@1141 454 # -----------------------------------
adamc@1141 455 # Extract the dictionary values for VARNAME (optionally with TAG) and
adamc@1141 456 # expand to a commented shell variable setting:
adamc@1141 457 #
adamc@1141 458 # # Some comment about what VAR is for.
adamc@1141 459 # visible_name=$lt_internal_name
adamc@1141 460 m4_define([_LT_LIBTOOL_DECLARE],
adamc@1141 461 [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
adamc@1141 462 [description])))[]dnl
adamc@1141 463 m4_pushdef([_libtool_name],
adamc@1141 464 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
adamc@1141 465 m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
adamc@1141 466 [0], [_libtool_name=[$]$1],
adamc@1141 467 [1], [_libtool_name=$lt_[]$1],
adamc@1141 468 [2], [_libtool_name=$lt_[]$1],
adamc@1141 469 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
adamc@1141 470 m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
adamc@1141 471 ])
adamc@1141 472
adamc@1141 473
adamc@1141 474 # _LT_LIBTOOL_CONFIG_VARS
adamc@1141 475 # -----------------------
adamc@1141 476 # Produce commented declarations of non-tagged libtool config variables
adamc@1141 477 # suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
adamc@1141 478 # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
adamc@1141 479 # section) are produced by _LT_LIBTOOL_TAG_VARS.
adamc@1141 480 m4_defun([_LT_LIBTOOL_CONFIG_VARS],
adamc@1141 481 [m4_foreach([_lt_var],
adamc@1141 482 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
adamc@1141 483 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
adamc@1141 484
adamc@1141 485
adamc@1141 486 # _LT_LIBTOOL_TAG_VARS(TAG)
adamc@1141 487 # -------------------------
adamc@1141 488 m4_define([_LT_LIBTOOL_TAG_VARS],
adamc@1141 489 [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
adamc@1141 490 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
adamc@1141 491
adamc@1141 492
adamc@1141 493 # _LT_TAGVAR(VARNAME, [TAGNAME])
adamc@1141 494 # ------------------------------
adamc@1141 495 m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
adamc@1141 496
adamc@1141 497
adamc@1141 498 # _LT_CONFIG_COMMANDS
adamc@1141 499 # -------------------
adamc@1141 500 # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
adamc@1141 501 # variables for single and double quote escaping we saved from calls
adamc@1141 502 # to _LT_DECL, we can put quote escaped variables declarations
adamc@1141 503 # into `config.status', and then the shell code to quote escape them in
adamc@1141 504 # for loops in `config.status'. Finally, any additional code accumulated
adamc@1141 505 # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
adamc@1141 506 m4_defun([_LT_CONFIG_COMMANDS],
adamc@1141 507 [AC_PROVIDE_IFELSE([LT_OUTPUT],
adamc@1141 508 dnl If the libtool generation code has been placed in $CONFIG_LT,
adamc@1141 509 dnl instead of duplicating it all over again into config.status,
adamc@1141 510 dnl then we will have config.status run $CONFIG_LT later, so it
adamc@1141 511 dnl needs to know what name is stored there:
adamc@1141 512 [AC_CONFIG_COMMANDS([libtool],
adamc@1141 513 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
adamc@1141 514 dnl If the libtool generation code is destined for config.status,
adamc@1141 515 dnl expand the accumulated commands and init code now:
adamc@1141 516 [AC_CONFIG_COMMANDS([libtool],
adamc@1141 517 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
adamc@1141 518 ])#_LT_CONFIG_COMMANDS
adamc@1141 519
adamc@1141 520
adamc@1141 521 # Initialize.
adamc@1141 522 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
adamc@1141 523 [
adamc@1141 524
adamc@1141 525 # The HP-UX ksh and POSIX shell print the target directory to stdout
adamc@1141 526 # if CDPATH is set.
adamc@1141 527 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
adamc@1141 528
adamc@1141 529 sed_quote_subst='$sed_quote_subst'
adamc@1141 530 double_quote_subst='$double_quote_subst'
adamc@1141 531 delay_variable_subst='$delay_variable_subst'
adamc@1141 532 _LT_CONFIG_STATUS_DECLARATIONS
adamc@1141 533 LTCC='$LTCC'
adamc@1141 534 LTCFLAGS='$LTCFLAGS'
adamc@1141 535 compiler='$compiler_DEFAULT'
adamc@1141 536
adam@1459 537 # A function that is used when there is no print builtin or printf.
adam@1459 538 func_fallback_echo ()
adam@1459 539 {
adam@1459 540 eval 'cat <<_LTECHO_EOF
adam@1459 541 \$[]1
adam@1459 542 _LTECHO_EOF'
adam@1459 543 }
adam@1459 544
adamc@1141 545 # Quote evaled strings.
adamc@1141 546 for var in lt_decl_all_varnames([[ \
adamc@1141 547 ]], lt_decl_quote_varnames); do
adam@1459 548 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
adamc@1141 549 *[[\\\\\\\`\\"\\\$]]*)
adam@1459 550 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
adamc@1141 551 ;;
adamc@1141 552 *)
adamc@1141 553 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
adamc@1141 554 ;;
adamc@1141 555 esac
adamc@1141 556 done
adamc@1141 557
adamc@1141 558 # Double-quote double-evaled strings.
adamc@1141 559 for var in lt_decl_all_varnames([[ \
adamc@1141 560 ]], lt_decl_dquote_varnames); do
adam@1459 561 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
adamc@1141 562 *[[\\\\\\\`\\"\\\$]]*)
adam@1459 563 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
adamc@1141 564 ;;
adamc@1141 565 *)
adamc@1141 566 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
adamc@1141 567 ;;
adamc@1141 568 esac
adamc@1141 569 done
adamc@1141 570
adamc@1141 571 _LT_OUTPUT_LIBTOOL_INIT
adamc@1141 572 ])
adamc@1141 573
adam@1459 574 # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
adam@1459 575 # ------------------------------------
adam@1459 576 # Generate a child script FILE with all initialization necessary to
adam@1459 577 # reuse the environment learned by the parent script, and make the
adam@1459 578 # file executable. If COMMENT is supplied, it is inserted after the
adam@1459 579 # `#!' sequence but before initialization text begins. After this
adam@1459 580 # macro, additional text can be appended to FILE to form the body of
adam@1459 581 # the child script. The macro ends with non-zero status if the
adam@1459 582 # file could not be fully written (such as if the disk is full).
adam@1459 583 m4_ifdef([AS_INIT_GENERATED],
adam@1459 584 [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
adam@1459 585 [m4_defun([_LT_GENERATED_FILE_INIT],
adam@1459 586 [m4_require([AS_PREPARE])]dnl
adam@1459 587 [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
adam@1459 588 [lt_write_fail=0
adam@1459 589 cat >$1 <<_ASEOF || lt_write_fail=1
adam@1459 590 #! $SHELL
adam@1459 591 # Generated by $as_me.
adam@1459 592 $2
adam@1459 593 SHELL=\${CONFIG_SHELL-$SHELL}
adam@1459 594 export SHELL
adam@1459 595 _ASEOF
adam@1459 596 cat >>$1 <<\_ASEOF || lt_write_fail=1
adam@1459 597 AS_SHELL_SANITIZE
adam@1459 598 _AS_PREPARE
adam@1459 599 exec AS_MESSAGE_FD>&1
adam@1459 600 _ASEOF
adam@1459 601 test $lt_write_fail = 0 && chmod +x $1[]dnl
adam@1459 602 m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
adamc@1141 603
adamc@1141 604 # LT_OUTPUT
adamc@1141 605 # ---------
adamc@1141 606 # This macro allows early generation of the libtool script (before
adamc@1141 607 # AC_OUTPUT is called), incase it is used in configure for compilation
adamc@1141 608 # tests.
adamc@1141 609 AC_DEFUN([LT_OUTPUT],
adamc@1141 610 [: ${CONFIG_LT=./config.lt}
adamc@1141 611 AC_MSG_NOTICE([creating $CONFIG_LT])
adam@1459 612 _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
adam@1459 613 [# Run this file to recreate a libtool stub with the current configuration.])
adam@1459 614
adam@1459 615 cat >>"$CONFIG_LT" <<\_LTEOF
adamc@1141 616 lt_cl_silent=false
adamc@1141 617 exec AS_MESSAGE_LOG_FD>>config.log
adamc@1141 618 {
adamc@1141 619 echo
adamc@1141 620 AS_BOX([Running $as_me.])
adamc@1141 621 } >&AS_MESSAGE_LOG_FD
adamc@1141 622
adamc@1141 623 lt_cl_help="\
adamc@1141 624 \`$as_me' creates a local libtool stub from the current configuration,
adamc@1141 625 for use in further configure time tests before the real libtool is
adamc@1141 626 generated.
adamc@1141 627
adamc@1141 628 Usage: $[0] [[OPTIONS]]
adamc@1141 629
adamc@1141 630 -h, --help print this help, then exit
adamc@1141 631 -V, --version print version number, then exit
adamc@1141 632 -q, --quiet do not print progress messages
adamc@1141 633 -d, --debug don't remove temporary files
adamc@1141 634
adamc@1141 635 Report bugs to <bug-libtool@gnu.org>."
adamc@1141 636
adamc@1141 637 lt_cl_version="\
adamc@1141 638 m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
adamc@1141 639 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
adamc@1141 640 configured by $[0], generated by m4_PACKAGE_STRING.
adamc@1141 641
adam@1599 642 Copyright (C) 2011 Free Software Foundation, Inc.
adamc@1141 643 This config.lt script is free software; the Free Software Foundation
adamc@1141 644 gives unlimited permision to copy, distribute and modify it."
adamc@1141 645
adamc@1141 646 while test $[#] != 0
adamc@1141 647 do
adamc@1141 648 case $[1] in
adamc@1141 649 --version | --v* | -V )
adamc@1141 650 echo "$lt_cl_version"; exit 0 ;;
adamc@1141 651 --help | --h* | -h )
adamc@1141 652 echo "$lt_cl_help"; exit 0 ;;
adamc@1141 653 --debug | --d* | -d )
adamc@1141 654 debug=: ;;
adamc@1141 655 --quiet | --q* | --silent | --s* | -q )
adamc@1141 656 lt_cl_silent=: ;;
adamc@1141 657
adamc@1141 658 -*) AC_MSG_ERROR([unrecognized option: $[1]
adamc@1141 659 Try \`$[0] --help' for more information.]) ;;
adamc@1141 660
adamc@1141 661 *) AC_MSG_ERROR([unrecognized argument: $[1]
adamc@1141 662 Try \`$[0] --help' for more information.]) ;;
adamc@1141 663 esac
adamc@1141 664 shift
adamc@1141 665 done
adamc@1141 666
adamc@1141 667 if $lt_cl_silent; then
adamc@1141 668 exec AS_MESSAGE_FD>/dev/null
adamc@1141 669 fi
adamc@1141 670 _LTEOF
adamc@1141 671
adamc@1141 672 cat >>"$CONFIG_LT" <<_LTEOF
adamc@1141 673 _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
adamc@1141 674 _LTEOF
adamc@1141 675
adamc@1141 676 cat >>"$CONFIG_LT" <<\_LTEOF
adamc@1141 677 AC_MSG_NOTICE([creating $ofile])
adamc@1141 678 _LT_OUTPUT_LIBTOOL_COMMANDS
adamc@1141 679 AS_EXIT(0)
adamc@1141 680 _LTEOF
adamc@1141 681 chmod +x "$CONFIG_LT"
adamc@1141 682
adamc@1141 683 # configure is writing to config.log, but config.lt does its own redirection,
adamc@1141 684 # appending to config.log, which fails on DOS, as config.log is still kept
adamc@1141 685 # open by configure. Here we exec the FD to /dev/null, effectively closing
adamc@1141 686 # config.log, so it can be properly (re)opened and appended to by config.lt.
adam@1459 687 lt_cl_success=:
adam@1459 688 test "$silent" = yes &&
adam@1459 689 lt_config_lt_args="$lt_config_lt_args --quiet"
adam@1459 690 exec AS_MESSAGE_LOG_FD>/dev/null
adam@1459 691 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
adam@1459 692 exec AS_MESSAGE_LOG_FD>>config.log
adam@1459 693 $lt_cl_success || AS_EXIT(1)
adamc@1141 694 ])# LT_OUTPUT
adamc@1141 695
adamc@1141 696
adamc@1141 697 # _LT_CONFIG(TAG)
adamc@1141 698 # ---------------
adamc@1141 699 # If TAG is the built-in tag, create an initial libtool script with a
adamc@1141 700 # default configuration from the untagged config vars. Otherwise add code
adamc@1141 701 # to config.status for appending the configuration named by TAG from the
adamc@1141 702 # matching tagged config vars.
adamc@1141 703 m4_defun([_LT_CONFIG],
adamc@1141 704 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adamc@1141 705 _LT_CONFIG_SAVE_COMMANDS([
adamc@1141 706 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
adamc@1141 707 m4_if(_LT_TAG, [C], [
adamc@1141 708 # See if we are running on zsh, and set the options which allow our
adamc@1141 709 # commands through without removal of \ escapes.
adamc@1141 710 if test -n "${ZSH_VERSION+set}" ; then
adamc@1141 711 setopt NO_GLOB_SUBST
adamc@1141 712 fi
adamc@1141 713
adamc@1141 714 cfgfile="${ofile}T"
adamc@1141 715 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
adamc@1141 716 $RM "$cfgfile"
adamc@1141 717
adamc@1141 718 cat <<_LT_EOF >> "$cfgfile"
adamc@1141 719 #! $SHELL
adamc@1141 720
adamc@1141 721 # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
adamc@1141 722 # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
adamc@1141 723 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
adamc@1141 724 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
adamc@1141 725 #
adamc@1141 726 _LT_COPYING
adamc@1141 727 _LT_LIBTOOL_TAGS
adamc@1141 728
adamc@1141 729 # ### BEGIN LIBTOOL CONFIG
adamc@1141 730 _LT_LIBTOOL_CONFIG_VARS
adamc@1141 731 _LT_LIBTOOL_TAG_VARS
adamc@1141 732 # ### END LIBTOOL CONFIG
adamc@1141 733
adamc@1141 734 _LT_EOF
adamc@1141 735
adamc@1141 736 case $host_os in
adamc@1141 737 aix3*)
adamc@1141 738 cat <<\_LT_EOF >> "$cfgfile"
adamc@1141 739 # AIX sometimes has problems with the GCC collect2 program. For some
adamc@1141 740 # reason, if we set the COLLECT_NAMES environment variable, the problems
adamc@1141 741 # vanish in a puff of smoke.
adamc@1141 742 if test "X${COLLECT_NAMES+set}" != Xset; then
adamc@1141 743 COLLECT_NAMES=
adamc@1141 744 export COLLECT_NAMES
adamc@1141 745 fi
adamc@1141 746 _LT_EOF
adamc@1141 747 ;;
adamc@1141 748 esac
adamc@1141 749
adamc@1141 750 _LT_PROG_LTMAIN
adamc@1141 751
adamc@1141 752 # We use sed instead of cat because bash on DJGPP gets confused if
adamc@1141 753 # if finds mixed CR/LF and LF-only lines. Since sed operates in
adamc@1141 754 # text mode, it properly converts lines to CR/LF. This bash problem
adamc@1141 755 # is reportedly fixed, but why not run on old versions too?
adam@1459 756 sed '$q' "$ltmain" >> "$cfgfile" \
adam@1459 757 || (rm -f "$cfgfile"; exit 1)
adam@1459 758
adam@1459 759 _LT_PROG_REPLACE_SHELLFNS
adam@1459 760
adam@1459 761 mv -f "$cfgfile" "$ofile" ||
adamc@1141 762 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
adamc@1141 763 chmod +x "$ofile"
adamc@1141 764 ],
adamc@1141 765 [cat <<_LT_EOF >> "$ofile"
adamc@1141 766
adamc@1141 767 dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
adamc@1141 768 dnl in a comment (ie after a #).
adamc@1141 769 # ### BEGIN LIBTOOL TAG CONFIG: $1
adamc@1141 770 _LT_LIBTOOL_TAG_VARS(_LT_TAG)
adamc@1141 771 # ### END LIBTOOL TAG CONFIG: $1
adamc@1141 772 _LT_EOF
adamc@1141 773 ])dnl /m4_if
adamc@1141 774 ],
adamc@1141 775 [m4_if([$1], [], [
adamc@1141 776 PACKAGE='$PACKAGE'
adamc@1141 777 VERSION='$VERSION'
adamc@1141 778 TIMESTAMP='$TIMESTAMP'
adamc@1141 779 RM='$RM'
adamc@1141 780 ofile='$ofile'], [])
adamc@1141 781 ])dnl /_LT_CONFIG_SAVE_COMMANDS
adamc@1141 782 ])# _LT_CONFIG
adamc@1141 783
adamc@1141 784
adamc@1141 785 # LT_SUPPORTED_TAG(TAG)
adamc@1141 786 # ---------------------
adamc@1141 787 # Trace this macro to discover what tags are supported by the libtool
adamc@1141 788 # --tag option, using:
adamc@1141 789 # autoconf --trace 'LT_SUPPORTED_TAG:$1'
adamc@1141 790 AC_DEFUN([LT_SUPPORTED_TAG], [])
adamc@1141 791
adamc@1141 792
adamc@1141 793 # C support is built-in for now
adamc@1141 794 m4_define([_LT_LANG_C_enabled], [])
adamc@1141 795 m4_define([_LT_TAGS], [])
adamc@1141 796
adamc@1141 797
adamc@1141 798 # LT_LANG(LANG)
adamc@1141 799 # -------------
adamc@1141 800 # Enable libtool support for the given language if not already enabled.
adamc@1141 801 AC_DEFUN([LT_LANG],
adamc@1141 802 [AC_BEFORE([$0], [LT_OUTPUT])dnl
adamc@1141 803 m4_case([$1],
adamc@1141 804 [C], [_LT_LANG(C)],
adamc@1141 805 [C++], [_LT_LANG(CXX)],
adam@1599 806 [Go], [_LT_LANG(GO)],
adamc@1141 807 [Java], [_LT_LANG(GCJ)],
adamc@1141 808 [Fortran 77], [_LT_LANG(F77)],
adamc@1141 809 [Fortran], [_LT_LANG(FC)],
adamc@1141 810 [Windows Resource], [_LT_LANG(RC)],
adamc@1141 811 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
adamc@1141 812 [_LT_LANG($1)],
adamc@1141 813 [m4_fatal([$0: unsupported language: "$1"])])])dnl
adamc@1141 814 ])# LT_LANG
adamc@1141 815
adamc@1141 816
adamc@1141 817 # _LT_LANG(LANGNAME)
adamc@1141 818 # ------------------
adamc@1141 819 m4_defun([_LT_LANG],
adamc@1141 820 [m4_ifdef([_LT_LANG_]$1[_enabled], [],
adamc@1141 821 [LT_SUPPORTED_TAG([$1])dnl
adamc@1141 822 m4_append([_LT_TAGS], [$1 ])dnl
adamc@1141 823 m4_define([_LT_LANG_]$1[_enabled], [])dnl
adamc@1141 824 _LT_LANG_$1_CONFIG($1)])dnl
adamc@1141 825 ])# _LT_LANG
adamc@1141 826
adamc@1141 827
adam@1599 828 m4_ifndef([AC_PROG_GO], [
adam@1599 829 ############################################################
adam@1599 830 # NOTE: This macro has been submitted for inclusion into #
adam@1599 831 # GNU Autoconf as AC_PROG_GO. When it is available in #
adam@1599 832 # a released version of Autoconf we should remove this #
adam@1599 833 # macro and use it instead. #
adam@1599 834 ############################################################
adam@1599 835 m4_defun([AC_PROG_GO],
adam@1599 836 [AC_LANG_PUSH(Go)dnl
adam@1599 837 AC_ARG_VAR([GOC], [Go compiler command])dnl
adam@1599 838 AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
adam@1599 839 _AC_ARG_VAR_LDFLAGS()dnl
adam@1599 840 AC_CHECK_TOOL(GOC, gccgo)
adam@1599 841 if test -z "$GOC"; then
adam@1599 842 if test -n "$ac_tool_prefix"; then
adam@1599 843 AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
adam@1599 844 fi
adam@1599 845 fi
adam@1599 846 if test -z "$GOC"; then
adam@1599 847 AC_CHECK_PROG(GOC, gccgo, gccgo, false)
adam@1599 848 fi
adam@1599 849 ])#m4_defun
adam@1599 850 ])#m4_ifndef
adam@1599 851
adam@1599 852
adamc@1141 853 # _LT_LANG_DEFAULT_CONFIG
adamc@1141 854 # -----------------------
adamc@1141 855 m4_defun([_LT_LANG_DEFAULT_CONFIG],
adamc@1141 856 [AC_PROVIDE_IFELSE([AC_PROG_CXX],
adamc@1141 857 [LT_LANG(CXX)],
adamc@1141 858 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
adamc@1141 859
adamc@1141 860 AC_PROVIDE_IFELSE([AC_PROG_F77],
adamc@1141 861 [LT_LANG(F77)],
adamc@1141 862 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
adamc@1141 863
adamc@1141 864 AC_PROVIDE_IFELSE([AC_PROG_FC],
adamc@1141 865 [LT_LANG(FC)],
adamc@1141 866 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
adamc@1141 867
adamc@1141 868 dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
adamc@1141 869 dnl pulling things in needlessly.
adamc@1141 870 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
adamc@1141 871 [LT_LANG(GCJ)],
adamc@1141 872 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
adamc@1141 873 [LT_LANG(GCJ)],
adamc@1141 874 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
adamc@1141 875 [LT_LANG(GCJ)],
adamc@1141 876 [m4_ifdef([AC_PROG_GCJ],
adamc@1141 877 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
adamc@1141 878 m4_ifdef([A][M_PROG_GCJ],
adamc@1141 879 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
adamc@1141 880 m4_ifdef([LT_PROG_GCJ],
adamc@1141 881 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
adamc@1141 882
adam@1599 883 AC_PROVIDE_IFELSE([AC_PROG_GO],
adam@1599 884 [LT_LANG(GO)],
adam@1599 885 [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
adam@1599 886
adamc@1141 887 AC_PROVIDE_IFELSE([LT_PROG_RC],
adamc@1141 888 [LT_LANG(RC)],
adamc@1141 889 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
adamc@1141 890 ])# _LT_LANG_DEFAULT_CONFIG
adamc@1141 891
adamc@1141 892 # Obsolete macros:
adamc@1141 893 AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
adamc@1141 894 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
adamc@1141 895 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
adamc@1141 896 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
adam@1459 897 AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
adamc@1141 898 dnl aclocal-1.4 backwards compatibility:
adamc@1141 899 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
adamc@1141 900 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
adamc@1141 901 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
adamc@1141 902 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
adam@1459 903 dnl AC_DEFUN([AC_LIBTOOL_RC], [])
adamc@1141 904
adamc@1141 905
adamc@1141 906 # _LT_TAG_COMPILER
adamc@1141 907 # ----------------
adamc@1141 908 m4_defun([_LT_TAG_COMPILER],
adamc@1141 909 [AC_REQUIRE([AC_PROG_CC])dnl
adamc@1141 910
adamc@1141 911 _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
adamc@1141 912 _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
adamc@1141 913 _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
adamc@1141 914 _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
adamc@1141 915
adamc@1141 916 # If no C compiler was specified, use CC.
adamc@1141 917 LTCC=${LTCC-"$CC"}
adamc@1141 918
adamc@1141 919 # If no C compiler flags were specified, use CFLAGS.
adamc@1141 920 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
adamc@1141 921
adamc@1141 922 # Allow CC to be a program name with arguments.
adamc@1141 923 compiler=$CC
adamc@1141 924 ])# _LT_TAG_COMPILER
adamc@1141 925
adamc@1141 926
adamc@1141 927 # _LT_COMPILER_BOILERPLATE
adamc@1141 928 # ------------------------
adamc@1141 929 # Check for compiler boilerplate output or warnings with
adamc@1141 930 # the simple compiler test code.
adamc@1141 931 m4_defun([_LT_COMPILER_BOILERPLATE],
adamc@1141 932 [m4_require([_LT_DECL_SED])dnl
adamc@1141 933 ac_outfile=conftest.$ac_objext
adamc@1141 934 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
adamc@1141 935 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
adamc@1141 936 _lt_compiler_boilerplate=`cat conftest.err`
adamc@1141 937 $RM conftest*
adamc@1141 938 ])# _LT_COMPILER_BOILERPLATE
adamc@1141 939
adamc@1141 940
adamc@1141 941 # _LT_LINKER_BOILERPLATE
adamc@1141 942 # ----------------------
adamc@1141 943 # Check for linker boilerplate output or warnings with
adamc@1141 944 # the simple link test code.
adamc@1141 945 m4_defun([_LT_LINKER_BOILERPLATE],
adamc@1141 946 [m4_require([_LT_DECL_SED])dnl
adamc@1141 947 ac_outfile=conftest.$ac_objext
adamc@1141 948 echo "$lt_simple_link_test_code" >conftest.$ac_ext
adamc@1141 949 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
adamc@1141 950 _lt_linker_boilerplate=`cat conftest.err`
adamc@1141 951 $RM -r conftest*
adamc@1141 952 ])# _LT_LINKER_BOILERPLATE
adamc@1141 953
adamc@1141 954 # _LT_REQUIRED_DARWIN_CHECKS
adamc@1141 955 # -------------------------
adamc@1141 956 m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
adamc@1141 957 case $host_os in
adamc@1141 958 rhapsody* | darwin*)
adamc@1141 959 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
adamc@1141 960 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
adamc@1141 961 AC_CHECK_TOOL([LIPO], [lipo], [:])
adamc@1141 962 AC_CHECK_TOOL([OTOOL], [otool], [:])
adamc@1141 963 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
adamc@1141 964 _LT_DECL([], [DSYMUTIL], [1],
adamc@1141 965 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
adamc@1141 966 _LT_DECL([], [NMEDIT], [1],
adamc@1141 967 [Tool to change global to local symbols on Mac OS X])
adamc@1141 968 _LT_DECL([], [LIPO], [1],
adamc@1141 969 [Tool to manipulate fat objects and archives on Mac OS X])
adamc@1141 970 _LT_DECL([], [OTOOL], [1],
adamc@1141 971 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
adamc@1141 972 _LT_DECL([], [OTOOL64], [1],
adamc@1141 973 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
adamc@1141 974
adamc@1141 975 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
adamc@1141 976 [lt_cv_apple_cc_single_mod=no
adamc@1141 977 if test -z "${LT_MULTI_MODULE}"; then
adamc@1141 978 # By default we will add the -single_module flag. You can override
adamc@1141 979 # by either setting the environment variable LT_MULTI_MODULE
adamc@1141 980 # non-empty at configure time, or by adding -multi_module to the
adamc@1141 981 # link flags.
adamc@1141 982 rm -rf libconftest.dylib*
adamc@1141 983 echo "int foo(void){return 1;}" > conftest.c
adamc@1141 984 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
adamc@1141 985 -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
adamc@1141 986 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
adamc@1141 987 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
adamc@1141 988 _lt_result=$?
adam@1599 989 # If there is a non-empty error log, and "single_module"
adam@1599 990 # appears in it, assume the flag caused a linker warning
adam@1599 991 if test -s conftest.err && $GREP single_module conftest.err; then
adam@1599 992 cat conftest.err >&AS_MESSAGE_LOG_FD
adam@1599 993 # Otherwise, if the output was created with a 0 exit code from
adam@1599 994 # the compiler, it worked.
adam@1599 995 elif test -f libconftest.dylib && test $_lt_result -eq 0; then
adamc@1141 996 lt_cv_apple_cc_single_mod=yes
adamc@1141 997 else
adamc@1141 998 cat conftest.err >&AS_MESSAGE_LOG_FD
adamc@1141 999 fi
adamc@1141 1000 rm -rf libconftest.dylib*
adamc@1141 1001 rm -f conftest.*
adamc@1141 1002 fi])
adam@1599 1003
adamc@1141 1004 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
adamc@1141 1005 [lt_cv_ld_exported_symbols_list],
adamc@1141 1006 [lt_cv_ld_exported_symbols_list=no
adamc@1141 1007 save_LDFLAGS=$LDFLAGS
adamc@1141 1008 echo "_main" > conftest.sym
adamc@1141 1009 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
adamc@1141 1010 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
adamc@1141 1011 [lt_cv_ld_exported_symbols_list=yes],
adamc@1141 1012 [lt_cv_ld_exported_symbols_list=no])
adamc@1141 1013 LDFLAGS="$save_LDFLAGS"
adamc@1141 1014 ])
adam@1599 1015
adam@1459 1016 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
adam@1459 1017 [lt_cv_ld_force_load=no
adam@1459 1018 cat > conftest.c << _LT_EOF
adam@1459 1019 int forced_loaded() { return 2;}
adam@1459 1020 _LT_EOF
adam@1459 1021 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
adam@1459 1022 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
adam@1459 1023 echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
adam@1459 1024 $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
adam@1459 1025 echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
adam@1459 1026 $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
adam@1459 1027 cat > conftest.c << _LT_EOF
adam@1459 1028 int main() { return 0;}
adam@1459 1029 _LT_EOF
adam@1459 1030 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
adam@1459 1031 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
adam@1459 1032 _lt_result=$?
adam@1599 1033 if test -s conftest.err && $GREP force_load conftest.err; then
adam@1599 1034 cat conftest.err >&AS_MESSAGE_LOG_FD
adam@1599 1035 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
adam@1459 1036 lt_cv_ld_force_load=yes
adam@1459 1037 else
adam@1459 1038 cat conftest.err >&AS_MESSAGE_LOG_FD
adam@1459 1039 fi
adam@1459 1040 rm -f conftest.err libconftest.a conftest conftest.c
adam@1459 1041 rm -rf conftest.dSYM
adam@1459 1042 ])
adamc@1141 1043 case $host_os in
adamc@1141 1044 rhapsody* | darwin1.[[012]])
adamc@1141 1045 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
adamc@1141 1046 darwin1.*)
adamc@1141 1047 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
adamc@1141 1048 darwin*) # darwin 5.x on
adamc@1141 1049 # if running on 10.5 or later, the deployment target defaults
adamc@1141 1050 # to the OS version, if on x86, and 10.4, the deployment
adamc@1141 1051 # target defaults to 10.4. Don't you love it?
adamc@1141 1052 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
adamc@1141 1053 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
adamc@1141 1054 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
adamc@1141 1055 10.[[012]]*)
adamc@1141 1056 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
adamc@1141 1057 10.*)
adamc@1141 1058 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
adamc@1141 1059 esac
adamc@1141 1060 ;;
adamc@1141 1061 esac
adamc@1141 1062 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
adamc@1141 1063 _lt_dar_single_mod='$single_module'
adamc@1141 1064 fi
adamc@1141 1065 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
adamc@1141 1066 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
adamc@1141 1067 else
adamc@1141 1068 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
adamc@1141 1069 fi
adam@1459 1070 if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
adamc@1141 1071 _lt_dsymutil='~$DSYMUTIL $lib || :'
adamc@1141 1072 else
adamc@1141 1073 _lt_dsymutil=
adamc@1141 1074 fi
adamc@1141 1075 ;;
adamc@1141 1076 esac
adamc@1141 1077 ])
adamc@1141 1078
adamc@1141 1079
adam@1599 1080 # _LT_DARWIN_LINKER_FEATURES([TAG])
adam@1599 1081 # ---------------------------------
adamc@1141 1082 # Checks for linker and compiler features on darwin
adamc@1141 1083 m4_defun([_LT_DARWIN_LINKER_FEATURES],
adamc@1141 1084 [
adamc@1141 1085 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
adamc@1141 1086 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 1087 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 1088 _LT_TAGVAR(hardcode_automatic, $1)=yes
adamc@1141 1089 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
adam@1459 1090 if test "$lt_cv_ld_force_load" = "yes"; then
adam@1459 1091 _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\"`'
adam@1599 1092 m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
adam@1599 1093 [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
adam@1459 1094 else
adam@1459 1095 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
adam@1459 1096 fi
adamc@1141 1097 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 1098 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
adamc@1141 1099 case $cc_basename in
adamc@1141 1100 ifort*) _lt_dar_can_shared=yes ;;
adamc@1141 1101 *) _lt_dar_can_shared=$GCC ;;
adamc@1141 1102 esac
adamc@1141 1103 if test "$_lt_dar_can_shared" = "yes"; then
adam@1459 1104 output_verbose_link_cmd=func_echo_all
adamc@1141 1105 _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}"
adamc@1141 1106 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
adamc@1141 1107 _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}"
adamc@1141 1108 _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}"
adamc@1141 1109 m4_if([$1], [CXX],
adamc@1141 1110 [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
adamc@1141 1111 _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}"
adamc@1141 1112 _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}"
adamc@1141 1113 fi
adamc@1141 1114 ],[])
adamc@1141 1115 else
adamc@1141 1116 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 1117 fi
adamc@1141 1118 ])
adamc@1141 1119
adam@1459 1120 # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
adam@1459 1121 # ----------------------------------
adamc@1141 1122 # Links a minimal program and checks the executable
adamc@1141 1123 # for the system default hardcoded library path. In most cases,
adamc@1141 1124 # this is /usr/lib:/lib, but when the MPI compilers are used
adamc@1141 1125 # the location of the communication and MPI libs are included too.
adamc@1141 1126 # If we don't find anything, use the default library path according
adamc@1141 1127 # to the aix ld manual.
adam@1459 1128 # Store the results from the different compilers for each TAGNAME.
adam@1459 1129 # Allow to override them for all tags through lt_cv_aix_libpath.
adamc@1141 1130 m4_defun([_LT_SYS_MODULE_PATH_AIX],
adamc@1141 1131 [m4_require([_LT_DECL_SED])dnl
adam@1459 1132 if test "${lt_cv_aix_libpath+set}" = set; then
adam@1459 1133 aix_libpath=$lt_cv_aix_libpath
adam@1459 1134 else
adam@1459 1135 AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
adam@1459 1136 [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
adam@1459 1137 lt_aix_libpath_sed='[
adam@1459 1138 /Import File Strings/,/^$/ {
adam@1459 1139 /^0/ {
adam@1459 1140 s/^0 *\([^ ]*\) *$/\1/
adam@1459 1141 p
adam@1459 1142 }
adam@1459 1143 }]'
adam@1459 1144 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
adam@1459 1145 # Check for a 64-bit object if we didn't find anything.
adam@1459 1146 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
adam@1459 1147 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
adam@1459 1148 fi],[])
adam@1459 1149 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
adam@1459 1150 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
adam@1459 1151 fi
adam@1459 1152 ])
adam@1459 1153 aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
adam@1459 1154 fi
adamc@1141 1155 ])# _LT_SYS_MODULE_PATH_AIX
adamc@1141 1156
adamc@1141 1157
adamc@1141 1158 # _LT_SHELL_INIT(ARG)
adamc@1141 1159 # -------------------
adamc@1141 1160 m4_define([_LT_SHELL_INIT],
adam@1459 1161 [m4_divert_text([M4SH-INIT], [$1
adam@1459 1162 ])])# _LT_SHELL_INIT
adam@1459 1163
adamc@1141 1164
adamc@1141 1165
adamc@1141 1166 # _LT_PROG_ECHO_BACKSLASH
adamc@1141 1167 # -----------------------
adam@1459 1168 # Find how we can fake an echo command that does not interpret backslash.
adam@1459 1169 # In particular, with Autoconf 2.60 or later we add some code to the start
adam@1459 1170 # of the generated configure script which will find a shell with a builtin
adam@1459 1171 # printf (which we can use as an echo command).
adamc@1141 1172 m4_defun([_LT_PROG_ECHO_BACKSLASH],
adam@1459 1173 [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
adam@1459 1174 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
adam@1459 1175 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
adam@1459 1176
adam@1459 1177 AC_MSG_CHECKING([how to print strings])
adam@1459 1178 # Test print first, because it will be a builtin if present.
adam@1459 1179 if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
adam@1459 1180 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
adam@1459 1181 ECHO='print -r --'
adam@1459 1182 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
adam@1459 1183 ECHO='printf %s\n'
adam@1459 1184 else
adam@1459 1185 # Use this function as a fallback that always works.
adam@1459 1186 func_fallback_echo ()
adam@1459 1187 {
adam@1459 1188 eval 'cat <<_LTECHO_EOF
adam@1459 1189 $[]1
adam@1459 1190 _LTECHO_EOF'
adam@1459 1191 }
adam@1459 1192 ECHO='func_fallback_echo'
adam@1459 1193 fi
adam@1459 1194
adam@1459 1195 # func_echo_all arg...
adam@1459 1196 # Invoke $ECHO with all args, space-separated.
adam@1459 1197 func_echo_all ()
adam@1459 1198 {
adam@1459 1199 $ECHO "$*"
adam@1459 1200 }
adam@1459 1201
adam@1459 1202 case "$ECHO" in
adam@1459 1203 printf*) AC_MSG_RESULT([printf]) ;;
adam@1459 1204 print*) AC_MSG_RESULT([print -r]) ;;
adam@1459 1205 *) AC_MSG_RESULT([cat]) ;;
adamc@1141 1206 esac
adamc@1141 1207
adam@1459 1208 m4_ifdef([_AS_DETECT_SUGGESTED],
adam@1459 1209 [_AS_DETECT_SUGGESTED([
adam@1459 1210 test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
adam@1459 1211 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
adam@1459 1212 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
adam@1459 1213 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
adam@1459 1214 PATH=/empty FPATH=/empty; export PATH FPATH
adam@1459 1215 test "X`printf %s $ECHO`" = "X$ECHO" \
adam@1459 1216 || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
adam@1459 1217
adamc@1141 1218 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
adam@1459 1219 _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
adamc@1141 1220 ])# _LT_PROG_ECHO_BACKSLASH
adamc@1141 1221
adamc@1141 1222
adam@1459 1223 # _LT_WITH_SYSROOT
adam@1459 1224 # ----------------
adam@1459 1225 AC_DEFUN([_LT_WITH_SYSROOT],
adam@1459 1226 [AC_MSG_CHECKING([for sysroot])
adam@1459 1227 AC_ARG_WITH([sysroot],
adam@1459 1228 [ --with-sysroot[=DIR] Search for dependent libraries within DIR
adam@1459 1229 (or the compiler's sysroot if not specified).],
adam@1459 1230 [], [with_sysroot=no])
adam@1459 1231
adam@1459 1232 dnl lt_sysroot will always be passed unquoted. We quote it here
adam@1459 1233 dnl in case the user passed a directory name.
adam@1459 1234 lt_sysroot=
adam@1459 1235 case ${with_sysroot} in #(
adam@1459 1236 yes)
adam@1459 1237 if test "$GCC" = yes; then
adam@1459 1238 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
adam@1459 1239 fi
adam@1459 1240 ;; #(
adam@1459 1241 /*)
adam@1459 1242 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
adam@1459 1243 ;; #(
adam@1459 1244 no|'')
adam@1459 1245 ;; #(
adam@1459 1246 *)
adam@1459 1247 AC_MSG_RESULT([${with_sysroot}])
adam@1459 1248 AC_MSG_ERROR([The sysroot must be an absolute path.])
adam@1459 1249 ;;
adam@1459 1250 esac
adam@1459 1251
adam@1459 1252 AC_MSG_RESULT([${lt_sysroot:-no}])
adam@1459 1253 _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
adam@1459 1254 [dependent libraries, and in which our libraries should be installed.])])
adam@1459 1255
adamc@1141 1256 # _LT_ENABLE_LOCK
adamc@1141 1257 # ---------------
adamc@1141 1258 m4_defun([_LT_ENABLE_LOCK],
adamc@1141 1259 [AC_ARG_ENABLE([libtool-lock],
adamc@1141 1260 [AS_HELP_STRING([--disable-libtool-lock],
adamc@1141 1261 [avoid locking (might break parallel builds)])])
adamc@1141 1262 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
adamc@1141 1263
adamc@1141 1264 # Some flags need to be propagated to the compiler or linker for good
adamc@1141 1265 # libtool support.
adamc@1141 1266 case $host in
adamc@1141 1267 ia64-*-hpux*)
adamc@1141 1268 # Find out which ABI we are using.
adamc@1141 1269 echo 'int i;' > conftest.$ac_ext
adamc@1141 1270 if AC_TRY_EVAL(ac_compile); then
adamc@1141 1271 case `/usr/bin/file conftest.$ac_objext` in
adamc@1141 1272 *ELF-32*)
adamc@1141 1273 HPUX_IA64_MODE="32"
adamc@1141 1274 ;;
adamc@1141 1275 *ELF-64*)
adamc@1141 1276 HPUX_IA64_MODE="64"
adamc@1141 1277 ;;
adamc@1141 1278 esac
adamc@1141 1279 fi
adamc@1141 1280 rm -rf conftest*
adamc@1141 1281 ;;
adamc@1141 1282 *-*-irix6*)
adamc@1141 1283 # Find out which ABI we are using.
adam@1459 1284 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
adamc@1141 1285 if AC_TRY_EVAL(ac_compile); then
adamc@1141 1286 if test "$lt_cv_prog_gnu_ld" = yes; then
adamc@1141 1287 case `/usr/bin/file conftest.$ac_objext` in
adamc@1141 1288 *32-bit*)
adamc@1141 1289 LD="${LD-ld} -melf32bsmip"
adamc@1141 1290 ;;
adamc@1141 1291 *N32*)
adamc@1141 1292 LD="${LD-ld} -melf32bmipn32"
adamc@1141 1293 ;;
adamc@1141 1294 *64-bit*)
adamc@1141 1295 LD="${LD-ld} -melf64bmip"
adamc@1141 1296 ;;
adamc@1141 1297 esac
adamc@1141 1298 else
adamc@1141 1299 case `/usr/bin/file conftest.$ac_objext` in
adamc@1141 1300 *32-bit*)
adamc@1141 1301 LD="${LD-ld} -32"
adamc@1141 1302 ;;
adamc@1141 1303 *N32*)
adamc@1141 1304 LD="${LD-ld} -n32"
adamc@1141 1305 ;;
adamc@1141 1306 *64-bit*)
adamc@1141 1307 LD="${LD-ld} -64"
adamc@1141 1308 ;;
adamc@1141 1309 esac
adamc@1141 1310 fi
adamc@1141 1311 fi
adamc@1141 1312 rm -rf conftest*
adamc@1141 1313 ;;
adamc@1141 1314
adamc@1141 1315 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
adamc@1141 1316 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
adamc@1141 1317 # Find out which ABI we are using.
adamc@1141 1318 echo 'int i;' > conftest.$ac_ext
adamc@1141 1319 if AC_TRY_EVAL(ac_compile); then
adamc@1141 1320 case `/usr/bin/file conftest.o` in
adamc@1141 1321 *32-bit*)
adamc@1141 1322 case $host in
adamc@1141 1323 x86_64-*kfreebsd*-gnu)
adamc@1141 1324 LD="${LD-ld} -m elf_i386_fbsd"
adamc@1141 1325 ;;
adamc@1141 1326 x86_64-*linux*)
adamc@1141 1327 LD="${LD-ld} -m elf_i386"
adamc@1141 1328 ;;
adamc@1141 1329 ppc64-*linux*|powerpc64-*linux*)
adamc@1141 1330 LD="${LD-ld} -m elf32ppclinux"
adamc@1141 1331 ;;
adamc@1141 1332 s390x-*linux*)
adamc@1141 1333 LD="${LD-ld} -m elf_s390"
adamc@1141 1334 ;;
adamc@1141 1335 sparc64-*linux*)
adamc@1141 1336 LD="${LD-ld} -m elf32_sparc"
adamc@1141 1337 ;;
adamc@1141 1338 esac
adamc@1141 1339 ;;
adamc@1141 1340 *64-bit*)
adamc@1141 1341 case $host in
adamc@1141 1342 x86_64-*kfreebsd*-gnu)
adamc@1141 1343 LD="${LD-ld} -m elf_x86_64_fbsd"
adamc@1141 1344 ;;
adamc@1141 1345 x86_64-*linux*)
adamc@1141 1346 LD="${LD-ld} -m elf_x86_64"
adamc@1141 1347 ;;
adamc@1141 1348 ppc*-*linux*|powerpc*-*linux*)
adamc@1141 1349 LD="${LD-ld} -m elf64ppc"
adamc@1141 1350 ;;
adamc@1141 1351 s390*-*linux*|s390*-*tpf*)
adamc@1141 1352 LD="${LD-ld} -m elf64_s390"
adamc@1141 1353 ;;
adamc@1141 1354 sparc*-*linux*)
adamc@1141 1355 LD="${LD-ld} -m elf64_sparc"
adamc@1141 1356 ;;
adamc@1141 1357 esac
adamc@1141 1358 ;;
adamc@1141 1359 esac
adamc@1141 1360 fi
adamc@1141 1361 rm -rf conftest*
adamc@1141 1362 ;;
adamc@1141 1363
adamc@1141 1364 *-*-sco3.2v5*)
adamc@1141 1365 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
adamc@1141 1366 SAVE_CFLAGS="$CFLAGS"
adamc@1141 1367 CFLAGS="$CFLAGS -belf"
adamc@1141 1368 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
adamc@1141 1369 [AC_LANG_PUSH(C)
adamc@1141 1370 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
adamc@1141 1371 AC_LANG_POP])
adamc@1141 1372 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
adamc@1141 1373 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
adamc@1141 1374 CFLAGS="$SAVE_CFLAGS"
adamc@1141 1375 fi
adamc@1141 1376 ;;
adam@1599 1377 *-*solaris*)
adamc@1141 1378 # Find out which ABI we are using.
adamc@1141 1379 echo 'int i;' > conftest.$ac_ext
adamc@1141 1380 if AC_TRY_EVAL(ac_compile); then
adamc@1141 1381 case `/usr/bin/file conftest.o` in
adamc@1141 1382 *64-bit*)
adamc@1141 1383 case $lt_cv_prog_gnu_ld in
adam@1599 1384 yes*)
adam@1599 1385 case $host in
adam@1599 1386 i?86-*-solaris*)
adam@1599 1387 LD="${LD-ld} -m elf_x86_64"
adam@1599 1388 ;;
adam@1599 1389 sparc*-*-solaris*)
adam@1599 1390 LD="${LD-ld} -m elf64_sparc"
adam@1599 1391 ;;
adam@1599 1392 esac
adam@1599 1393 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
adam@1599 1394 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
adam@1599 1395 LD="${LD-ld}_sol2"
adam@1599 1396 fi
adam@1599 1397 ;;
adamc@1141 1398 *)
adamc@1141 1399 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
adamc@1141 1400 LD="${LD-ld} -64"
adamc@1141 1401 fi
adamc@1141 1402 ;;
adamc@1141 1403 esac
adamc@1141 1404 ;;
adamc@1141 1405 esac
adamc@1141 1406 fi
adamc@1141 1407 rm -rf conftest*
adamc@1141 1408 ;;
adamc@1141 1409 esac
adamc@1141 1410
adamc@1141 1411 need_locks="$enable_libtool_lock"
adamc@1141 1412 ])# _LT_ENABLE_LOCK
adamc@1141 1413
adamc@1141 1414
adam@1459 1415 # _LT_PROG_AR
adam@1459 1416 # -----------
adam@1459 1417 m4_defun([_LT_PROG_AR],
adam@1459 1418 [AC_CHECK_TOOLS(AR, [ar], false)
adam@1459 1419 : ${AR=ar}
adam@1459 1420 : ${AR_FLAGS=cru}
adam@1459 1421 _LT_DECL([], [AR], [1], [The archiver])
adam@1459 1422 _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
adam@1459 1423
adam@1459 1424 AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
adam@1459 1425 [lt_cv_ar_at_file=no
adam@1459 1426 AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
adam@1459 1427 [echo conftest.$ac_objext > conftest.lst
adam@1459 1428 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
adam@1459 1429 AC_TRY_EVAL([lt_ar_try])
adam@1459 1430 if test "$ac_status" -eq 0; then
adam@1459 1431 # Ensure the archiver fails upon bogus file names.
adam@1459 1432 rm -f conftest.$ac_objext libconftest.a
adam@1459 1433 AC_TRY_EVAL([lt_ar_try])
adam@1459 1434 if test "$ac_status" -ne 0; then
adam@1459 1435 lt_cv_ar_at_file=@
adam@1459 1436 fi
adam@1459 1437 fi
adam@1459 1438 rm -f conftest.* libconftest.a
adam@1459 1439 ])
adam@1459 1440 ])
adam@1459 1441
adam@1459 1442 if test "x$lt_cv_ar_at_file" = xno; then
adam@1459 1443 archiver_list_spec=
adam@1459 1444 else
adam@1459 1445 archiver_list_spec=$lt_cv_ar_at_file
adam@1459 1446 fi
adam@1459 1447 _LT_DECL([], [archiver_list_spec], [1],
adam@1459 1448 [How to feed a file listing to the archiver])
adam@1459 1449 ])# _LT_PROG_AR
adam@1459 1450
adam@1459 1451
adamc@1141 1452 # _LT_CMD_OLD_ARCHIVE
adamc@1141 1453 # -------------------
adamc@1141 1454 m4_defun([_LT_CMD_OLD_ARCHIVE],
adam@1459 1455 [_LT_PROG_AR
adamc@1141 1456
adamc@1141 1457 AC_CHECK_TOOL(STRIP, strip, :)
adamc@1141 1458 test -z "$STRIP" && STRIP=:
adamc@1141 1459 _LT_DECL([], [STRIP], [1], [A symbol stripping program])
adamc@1141 1460
adamc@1141 1461 AC_CHECK_TOOL(RANLIB, ranlib, :)
adamc@1141 1462 test -z "$RANLIB" && RANLIB=:
adamc@1141 1463 _LT_DECL([], [RANLIB], [1],
adamc@1141 1464 [Commands used to install an old-style archive])
adamc@1141 1465
adamc@1141 1466 # Determine commands to create old-style static archives.
adamc@1141 1467 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
adamc@1141 1468 old_postinstall_cmds='chmod 644 $oldlib'
adamc@1141 1469 old_postuninstall_cmds=
adamc@1141 1470
adamc@1141 1471 if test -n "$RANLIB"; then
adamc@1141 1472 case $host_os in
adamc@1141 1473 openbsd*)
adam@1599 1474 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
adamc@1141 1475 ;;
adamc@1141 1476 *)
adam@1599 1477 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
adamc@1141 1478 ;;
adamc@1141 1479 esac
adam@1599 1480 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
adamc@1141 1481 fi
adam@1459 1482
adam@1459 1483 case $host_os in
adam@1459 1484 darwin*)
adam@1459 1485 lock_old_archive_extraction=yes ;;
adam@1459 1486 *)
adam@1459 1487 lock_old_archive_extraction=no ;;
adam@1459 1488 esac
adamc@1141 1489 _LT_DECL([], [old_postinstall_cmds], [2])
adamc@1141 1490 _LT_DECL([], [old_postuninstall_cmds], [2])
adamc@1141 1491 _LT_TAGDECL([], [old_archive_cmds], [2],
adamc@1141 1492 [Commands used to build an old-style archive])
adam@1459 1493 _LT_DECL([], [lock_old_archive_extraction], [0],
adam@1459 1494 [Whether to use a lock for old archive extraction])
adamc@1141 1495 ])# _LT_CMD_OLD_ARCHIVE
adamc@1141 1496
adamc@1141 1497
adamc@1141 1498 # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
adamc@1141 1499 # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
adamc@1141 1500 # ----------------------------------------------------------------
adamc@1141 1501 # Check whether the given compiler option works
adamc@1141 1502 AC_DEFUN([_LT_COMPILER_OPTION],
adamc@1141 1503 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adamc@1141 1504 m4_require([_LT_DECL_SED])dnl
adamc@1141 1505 AC_CACHE_CHECK([$1], [$2],
adamc@1141 1506 [$2=no
adamc@1141 1507 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
adamc@1141 1508 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
adamc@1141 1509 lt_compiler_flag="$3"
adamc@1141 1510 # Insert the option either (1) after the last *FLAGS variable, or
adamc@1141 1511 # (2) before a word containing "conftest.", or (3) at the end.
adamc@1141 1512 # Note that $ac_compile itself does not contain backslashes and begins
adamc@1141 1513 # with a dollar sign (not a hyphen), so the echo should work correctly.
adamc@1141 1514 # The option is referenced via a variable to avoid confusing sed.
adamc@1141 1515 lt_compile=`echo "$ac_compile" | $SED \
adamc@1141 1516 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
adamc@1141 1517 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
adamc@1141 1518 -e 's:$: $lt_compiler_flag:'`
adam@1459 1519 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
adamc@1141 1520 (eval "$lt_compile" 2>conftest.err)
adamc@1141 1521 ac_status=$?
adamc@1141 1522 cat conftest.err >&AS_MESSAGE_LOG_FD
adam@1459 1523 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
adamc@1141 1524 if (exit $ac_status) && test -s "$ac_outfile"; then
adamc@1141 1525 # The compiler can only warn and ignore the option if not recognized
adamc@1141 1526 # So say no if there are warnings other than the usual output.
adam@1459 1527 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
adamc@1141 1528 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
adamc@1141 1529 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
adamc@1141 1530 $2=yes
adamc@1141 1531 fi
adamc@1141 1532 fi
adamc@1141 1533 $RM conftest*
adamc@1141 1534 ])
adamc@1141 1535
adamc@1141 1536 if test x"[$]$2" = xyes; then
adamc@1141 1537 m4_if([$5], , :, [$5])
adamc@1141 1538 else
adamc@1141 1539 m4_if([$6], , :, [$6])
adamc@1141 1540 fi
adamc@1141 1541 ])# _LT_COMPILER_OPTION
adamc@1141 1542
adamc@1141 1543 # Old name:
adamc@1141 1544 AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
adamc@1141 1545 dnl aclocal-1.4 backwards compatibility:
adamc@1141 1546 dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
adamc@1141 1547
adamc@1141 1548
adamc@1141 1549 # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
adamc@1141 1550 # [ACTION-SUCCESS], [ACTION-FAILURE])
adamc@1141 1551 # ----------------------------------------------------
adamc@1141 1552 # Check whether the given linker option works
adamc@1141 1553 AC_DEFUN([_LT_LINKER_OPTION],
adamc@1141 1554 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adamc@1141 1555 m4_require([_LT_DECL_SED])dnl
adamc@1141 1556 AC_CACHE_CHECK([$1], [$2],
adamc@1141 1557 [$2=no
adamc@1141 1558 save_LDFLAGS="$LDFLAGS"
adamc@1141 1559 LDFLAGS="$LDFLAGS $3"
adamc@1141 1560 echo "$lt_simple_link_test_code" > conftest.$ac_ext
adamc@1141 1561 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
adamc@1141 1562 # The linker can only warn and ignore the option if not recognized
adamc@1141 1563 # So say no if there are warnings
adamc@1141 1564 if test -s conftest.err; then
adamc@1141 1565 # Append any errors to the config.log.
adamc@1141 1566 cat conftest.err 1>&AS_MESSAGE_LOG_FD
adam@1459 1567 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
adamc@1141 1568 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
adamc@1141 1569 if diff conftest.exp conftest.er2 >/dev/null; then
adamc@1141 1570 $2=yes
adamc@1141 1571 fi
adamc@1141 1572 else
adamc@1141 1573 $2=yes
adamc@1141 1574 fi
adamc@1141 1575 fi
adamc@1141 1576 $RM -r conftest*
adamc@1141 1577 LDFLAGS="$save_LDFLAGS"
adamc@1141 1578 ])
adamc@1141 1579
adamc@1141 1580 if test x"[$]$2" = xyes; then
adamc@1141 1581 m4_if([$4], , :, [$4])
adamc@1141 1582 else
adamc@1141 1583 m4_if([$5], , :, [$5])
adamc@1141 1584 fi
adamc@1141 1585 ])# _LT_LINKER_OPTION
adamc@1141 1586
adamc@1141 1587 # Old name:
adamc@1141 1588 AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
adamc@1141 1589 dnl aclocal-1.4 backwards compatibility:
adamc@1141 1590 dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
adamc@1141 1591
adamc@1141 1592
adamc@1141 1593 # LT_CMD_MAX_LEN
adamc@1141 1594 #---------------
adamc@1141 1595 AC_DEFUN([LT_CMD_MAX_LEN],
adamc@1141 1596 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
adamc@1141 1597 # find the maximum length of command line arguments
adamc@1141 1598 AC_MSG_CHECKING([the maximum length of command line arguments])
adamc@1141 1599 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
adamc@1141 1600 i=0
adamc@1141 1601 teststring="ABCD"
adamc@1141 1602
adamc@1141 1603 case $build_os in
adamc@1141 1604 msdosdjgpp*)
adamc@1141 1605 # On DJGPP, this test can blow up pretty badly due to problems in libc
adamc@1141 1606 # (any single argument exceeding 2000 bytes causes a buffer overrun
adamc@1141 1607 # during glob expansion). Even if it were fixed, the result of this
adamc@1141 1608 # check would be larger than it should be.
adamc@1141 1609 lt_cv_sys_max_cmd_len=12288; # 12K is about right
adamc@1141 1610 ;;
adamc@1141 1611
adamc@1141 1612 gnu*)
adamc@1141 1613 # Under GNU Hurd, this test is not required because there is
adamc@1141 1614 # no limit to the length of command line arguments.
adamc@1141 1615 # Libtool will interpret -1 as no limit whatsoever
adamc@1141 1616 lt_cv_sys_max_cmd_len=-1;
adamc@1141 1617 ;;
adamc@1141 1618
adamc@1141 1619 cygwin* | mingw* | cegcc*)
adamc@1141 1620 # On Win9x/ME, this test blows up -- it succeeds, but takes
adamc@1141 1621 # about 5 minutes as the teststring grows exponentially.
adamc@1141 1622 # Worse, since 9x/ME are not pre-emptively multitasking,
adamc@1141 1623 # you end up with a "frozen" computer, even though with patience
adamc@1141 1624 # the test eventually succeeds (with a max line length of 256k).
adamc@1141 1625 # Instead, let's just punt: use the minimum linelength reported by
adamc@1141 1626 # all of the supported platforms: 8192 (on NT/2K/XP).
adamc@1141 1627 lt_cv_sys_max_cmd_len=8192;
adamc@1141 1628 ;;
adamc@1141 1629
adam@1459 1630 mint*)
adam@1459 1631 # On MiNT this can take a long time and run out of memory.
adam@1459 1632 lt_cv_sys_max_cmd_len=8192;
adam@1459 1633 ;;
adam@1459 1634
adamc@1141 1635 amigaos*)
adamc@1141 1636 # On AmigaOS with pdksh, this test takes hours, literally.
adamc@1141 1637 # So we just punt and use a minimum line length of 8192.
adamc@1141 1638 lt_cv_sys_max_cmd_len=8192;
adamc@1141 1639 ;;
adamc@1141 1640
adamc@1141 1641 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
adamc@1141 1642 # This has been around since 386BSD, at least. Likely further.
adamc@1141 1643 if test -x /sbin/sysctl; then
adamc@1141 1644 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
adamc@1141 1645 elif test -x /usr/sbin/sysctl; then
adamc@1141 1646 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
adamc@1141 1647 else
adamc@1141 1648 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
adamc@1141 1649 fi
adamc@1141 1650 # And add a safety zone
adamc@1141 1651 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
adamc@1141 1652 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
adamc@1141 1653 ;;
adamc@1141 1654
adamc@1141 1655 interix*)
adamc@1141 1656 # We know the value 262144 and hardcode it with a safety zone (like BSD)
adamc@1141 1657 lt_cv_sys_max_cmd_len=196608
adamc@1141 1658 ;;
adamc@1141 1659
adam@1599 1660 os2*)
adam@1599 1661 # The test takes a long time on OS/2.
adam@1599 1662 lt_cv_sys_max_cmd_len=8192
adam@1599 1663 ;;
adam@1599 1664
adamc@1141 1665 osf*)
adamc@1141 1666 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
adamc@1141 1667 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
adamc@1141 1668 # nice to cause kernel panics so lets avoid the loop below.
adamc@1141 1669 # First set a reasonable default.
adamc@1141 1670 lt_cv_sys_max_cmd_len=16384
adamc@1141 1671 #
adamc@1141 1672 if test -x /sbin/sysconfig; then
adamc@1141 1673 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
adamc@1141 1674 *1*) lt_cv_sys_max_cmd_len=-1 ;;
adamc@1141 1675 esac
adamc@1141 1676 fi
adamc@1141 1677 ;;
adamc@1141 1678 sco3.2v5*)
adamc@1141 1679 lt_cv_sys_max_cmd_len=102400
adamc@1141 1680 ;;
adamc@1141 1681 sysv5* | sco5v6* | sysv4.2uw2*)
adamc@1141 1682 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
adamc@1141 1683 if test -n "$kargmax"; then
adamc@1141 1684 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
adamc@1141 1685 else
adamc@1141 1686 lt_cv_sys_max_cmd_len=32768
adamc@1141 1687 fi
adamc@1141 1688 ;;
adamc@1141 1689 *)
adamc@1141 1690 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
adamc@1141 1691 if test -n "$lt_cv_sys_max_cmd_len"; then
adamc@1141 1692 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
adamc@1141 1693 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
adamc@1141 1694 else
adamc@1141 1695 # Make teststring a little bigger before we do anything with it.
adamc@1141 1696 # a 1K string should be a reasonable start.
adamc@1141 1697 for i in 1 2 3 4 5 6 7 8 ; do
adamc@1141 1698 teststring=$teststring$teststring
adamc@1141 1699 done
adamc@1141 1700 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
adamc@1141 1701 # If test is not a shell built-in, we'll probably end up computing a
adamc@1141 1702 # maximum length that is only half of the actual maximum length, but
adamc@1141 1703 # we can't tell.
adam@1599 1704 while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
adam@1459 1705 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
adamc@1141 1706 test $i != 17 # 1/2 MB should be enough
adamc@1141 1707 do
adamc@1141 1708 i=`expr $i + 1`
adamc@1141 1709 teststring=$teststring$teststring
adamc@1141 1710 done
adamc@1141 1711 # Only check the string length outside the loop.
adamc@1141 1712 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
adamc@1141 1713 teststring=
adamc@1141 1714 # Add a significant safety factor because C++ compilers can tack on
adamc@1141 1715 # massive amounts of additional arguments before passing them to the
adamc@1141 1716 # linker. It appears as though 1/2 is a usable value.
adamc@1141 1717 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
adamc@1141 1718 fi
adamc@1141 1719 ;;
adamc@1141 1720 esac
adamc@1141 1721 ])
adamc@1141 1722 if test -n $lt_cv_sys_max_cmd_len ; then
adamc@1141 1723 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
adamc@1141 1724 else
adamc@1141 1725 AC_MSG_RESULT(none)
adamc@1141 1726 fi
adamc@1141 1727 max_cmd_len=$lt_cv_sys_max_cmd_len
adamc@1141 1728 _LT_DECL([], [max_cmd_len], [0],
adamc@1141 1729 [What is the maximum length of a command?])
adamc@1141 1730 ])# LT_CMD_MAX_LEN
adamc@1141 1731
adamc@1141 1732 # Old name:
adamc@1141 1733 AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
adamc@1141 1734 dnl aclocal-1.4 backwards compatibility:
adamc@1141 1735 dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
adamc@1141 1736
adamc@1141 1737
adamc@1141 1738 # _LT_HEADER_DLFCN
adamc@1141 1739 # ----------------
adamc@1141 1740 m4_defun([_LT_HEADER_DLFCN],
adamc@1141 1741 [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
adamc@1141 1742 ])# _LT_HEADER_DLFCN
adamc@1141 1743
adamc@1141 1744
adamc@1141 1745 # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
adamc@1141 1746 # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
adamc@1141 1747 # ----------------------------------------------------------------
adamc@1141 1748 m4_defun([_LT_TRY_DLOPEN_SELF],
adamc@1141 1749 [m4_require([_LT_HEADER_DLFCN])dnl
adamc@1141 1750 if test "$cross_compiling" = yes; then :
adamc@1141 1751 [$4]
adamc@1141 1752 else
adamc@1141 1753 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
adamc@1141 1754 lt_status=$lt_dlunknown
adamc@1141 1755 cat > conftest.$ac_ext <<_LT_EOF
adam@1459 1756 [#line $LINENO "configure"
adamc@1141 1757 #include "confdefs.h"
adamc@1141 1758
adamc@1141 1759 #if HAVE_DLFCN_H
adamc@1141 1760 #include <dlfcn.h>
adamc@1141 1761 #endif
adamc@1141 1762
adamc@1141 1763 #include <stdio.h>
adamc@1141 1764
adamc@1141 1765 #ifdef RTLD_GLOBAL
adamc@1141 1766 # define LT_DLGLOBAL RTLD_GLOBAL
adamc@1141 1767 #else
adamc@1141 1768 # ifdef DL_GLOBAL
adamc@1141 1769 # define LT_DLGLOBAL DL_GLOBAL
adamc@1141 1770 # else
adamc@1141 1771 # define LT_DLGLOBAL 0
adamc@1141 1772 # endif
adamc@1141 1773 #endif
adamc@1141 1774
adamc@1141 1775 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
adamc@1141 1776 find out it does not work in some platform. */
adamc@1141 1777 #ifndef LT_DLLAZY_OR_NOW
adamc@1141 1778 # ifdef RTLD_LAZY
adamc@1141 1779 # define LT_DLLAZY_OR_NOW RTLD_LAZY
adamc@1141 1780 # else
adamc@1141 1781 # ifdef DL_LAZY
adamc@1141 1782 # define LT_DLLAZY_OR_NOW DL_LAZY
adamc@1141 1783 # else
adamc@1141 1784 # ifdef RTLD_NOW
adamc@1141 1785 # define LT_DLLAZY_OR_NOW RTLD_NOW
adamc@1141 1786 # else
adamc@1141 1787 # ifdef DL_NOW
adamc@1141 1788 # define LT_DLLAZY_OR_NOW DL_NOW
adamc@1141 1789 # else
adamc@1141 1790 # define LT_DLLAZY_OR_NOW 0
adamc@1141 1791 # endif
adamc@1141 1792 # endif
adamc@1141 1793 # endif
adamc@1141 1794 # endif
adamc@1141 1795 #endif
adamc@1141 1796
adam@1459 1797 /* When -fvisbility=hidden is used, assume the code has been annotated
adam@1459 1798 correspondingly for the symbols needed. */
adam@1459 1799 #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
adam@1459 1800 int fnord () __attribute__((visibility("default")));
adam@1459 1801 #endif
adam@1459 1802
adam@1459 1803 int fnord () { return 42; }
adamc@1141 1804 int main ()
adamc@1141 1805 {
adamc@1141 1806 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
adamc@1141 1807 int status = $lt_dlunknown;
adamc@1141 1808
adamc@1141 1809 if (self)
adamc@1141 1810 {
adamc@1141 1811 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
adam@1459 1812 else
adam@1459 1813 {
adam@1459 1814 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
adam@1459 1815 else puts (dlerror ());
adam@1459 1816 }
adamc@1141 1817 /* dlclose (self); */
adamc@1141 1818 }
adamc@1141 1819 else
adamc@1141 1820 puts (dlerror ());
adamc@1141 1821
adamc@1141 1822 return status;
adamc@1141 1823 }]
adamc@1141 1824 _LT_EOF
adamc@1141 1825 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
adamc@1141 1826 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
adamc@1141 1827 lt_status=$?
adamc@1141 1828 case x$lt_status in
adamc@1141 1829 x$lt_dlno_uscore) $1 ;;
adamc@1141 1830 x$lt_dlneed_uscore) $2 ;;
adamc@1141 1831 x$lt_dlunknown|x*) $3 ;;
adamc@1141 1832 esac
adamc@1141 1833 else :
adamc@1141 1834 # compilation failed
adamc@1141 1835 $3
adamc@1141 1836 fi
adamc@1141 1837 fi
adamc@1141 1838 rm -fr conftest*
adamc@1141 1839 ])# _LT_TRY_DLOPEN_SELF
adamc@1141 1840
adamc@1141 1841
adamc@1141 1842 # LT_SYS_DLOPEN_SELF
adamc@1141 1843 # ------------------
adamc@1141 1844 AC_DEFUN([LT_SYS_DLOPEN_SELF],
adamc@1141 1845 [m4_require([_LT_HEADER_DLFCN])dnl
adamc@1141 1846 if test "x$enable_dlopen" != xyes; then
adamc@1141 1847 enable_dlopen=unknown
adamc@1141 1848 enable_dlopen_self=unknown
adamc@1141 1849 enable_dlopen_self_static=unknown
adamc@1141 1850 else
adamc@1141 1851 lt_cv_dlopen=no
adamc@1141 1852 lt_cv_dlopen_libs=
adamc@1141 1853
adamc@1141 1854 case $host_os in
adamc@1141 1855 beos*)
adamc@1141 1856 lt_cv_dlopen="load_add_on"
adamc@1141 1857 lt_cv_dlopen_libs=
adamc@1141 1858 lt_cv_dlopen_self=yes
adamc@1141 1859 ;;
adamc@1141 1860
adamc@1141 1861 mingw* | pw32* | cegcc*)
adamc@1141 1862 lt_cv_dlopen="LoadLibrary"
adamc@1141 1863 lt_cv_dlopen_libs=
adamc@1141 1864 ;;
adamc@1141 1865
adamc@1141 1866 cygwin*)
adamc@1141 1867 lt_cv_dlopen="dlopen"
adamc@1141 1868 lt_cv_dlopen_libs=
adamc@1141 1869 ;;
adamc@1141 1870
adamc@1141 1871 darwin*)
adamc@1141 1872 # if libdl is installed we need to link against it
adamc@1141 1873 AC_CHECK_LIB([dl], [dlopen],
adamc@1141 1874 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
adamc@1141 1875 lt_cv_dlopen="dyld"
adamc@1141 1876 lt_cv_dlopen_libs=
adamc@1141 1877 lt_cv_dlopen_self=yes
adamc@1141 1878 ])
adamc@1141 1879 ;;
adamc@1141 1880
adamc@1141 1881 *)
adamc@1141 1882 AC_CHECK_FUNC([shl_load],
adamc@1141 1883 [lt_cv_dlopen="shl_load"],
adamc@1141 1884 [AC_CHECK_LIB([dld], [shl_load],
adamc@1141 1885 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
adamc@1141 1886 [AC_CHECK_FUNC([dlopen],
adamc@1141 1887 [lt_cv_dlopen="dlopen"],
adamc@1141 1888 [AC_CHECK_LIB([dl], [dlopen],
adamc@1141 1889 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
adamc@1141 1890 [AC_CHECK_LIB([svld], [dlopen],
adamc@1141 1891 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
adamc@1141 1892 [AC_CHECK_LIB([dld], [dld_link],
adamc@1141 1893 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
adamc@1141 1894 ])
adamc@1141 1895 ])
adamc@1141 1896 ])
adamc@1141 1897 ])
adamc@1141 1898 ])
adamc@1141 1899 ;;
adamc@1141 1900 esac
adamc@1141 1901
adamc@1141 1902 if test "x$lt_cv_dlopen" != xno; then
adamc@1141 1903 enable_dlopen=yes
adamc@1141 1904 else
adamc@1141 1905 enable_dlopen=no
adamc@1141 1906 fi
adamc@1141 1907
adamc@1141 1908 case $lt_cv_dlopen in
adamc@1141 1909 dlopen)
adamc@1141 1910 save_CPPFLAGS="$CPPFLAGS"
adamc@1141 1911 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
adamc@1141 1912
adamc@1141 1913 save_LDFLAGS="$LDFLAGS"
adamc@1141 1914 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
adamc@1141 1915
adamc@1141 1916 save_LIBS="$LIBS"
adamc@1141 1917 LIBS="$lt_cv_dlopen_libs $LIBS"
adamc@1141 1918
adamc@1141 1919 AC_CACHE_CHECK([whether a program can dlopen itself],
adamc@1141 1920 lt_cv_dlopen_self, [dnl
adamc@1141 1921 _LT_TRY_DLOPEN_SELF(
adamc@1141 1922 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
adamc@1141 1923 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
adamc@1141 1924 ])
adamc@1141 1925
adamc@1141 1926 if test "x$lt_cv_dlopen_self" = xyes; then
adamc@1141 1927 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
adamc@1141 1928 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
adamc@1141 1929 lt_cv_dlopen_self_static, [dnl
adamc@1141 1930 _LT_TRY_DLOPEN_SELF(
adamc@1141 1931 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
adamc@1141 1932 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
adamc@1141 1933 ])
adamc@1141 1934 fi
adamc@1141 1935
adamc@1141 1936 CPPFLAGS="$save_CPPFLAGS"
adamc@1141 1937 LDFLAGS="$save_LDFLAGS"
adamc@1141 1938 LIBS="$save_LIBS"
adamc@1141 1939 ;;
adamc@1141 1940 esac
adamc@1141 1941
adamc@1141 1942 case $lt_cv_dlopen_self in
adamc@1141 1943 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
adamc@1141 1944 *) enable_dlopen_self=unknown ;;
adamc@1141 1945 esac
adamc@1141 1946
adamc@1141 1947 case $lt_cv_dlopen_self_static in
adamc@1141 1948 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
adamc@1141 1949 *) enable_dlopen_self_static=unknown ;;
adamc@1141 1950 esac
adamc@1141 1951 fi
adamc@1141 1952 _LT_DECL([dlopen_support], [enable_dlopen], [0],
adamc@1141 1953 [Whether dlopen is supported])
adamc@1141 1954 _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
adamc@1141 1955 [Whether dlopen of programs is supported])
adamc@1141 1956 _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
adamc@1141 1957 [Whether dlopen of statically linked programs is supported])
adamc@1141 1958 ])# LT_SYS_DLOPEN_SELF
adamc@1141 1959
adamc@1141 1960 # Old name:
adamc@1141 1961 AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
adamc@1141 1962 dnl aclocal-1.4 backwards compatibility:
adamc@1141 1963 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
adamc@1141 1964
adamc@1141 1965
adamc@1141 1966 # _LT_COMPILER_C_O([TAGNAME])
adamc@1141 1967 # ---------------------------
adamc@1141 1968 # Check to see if options -c and -o are simultaneously supported by compiler.
adamc@1141 1969 # This macro does not hard code the compiler like AC_PROG_CC_C_O.
adamc@1141 1970 m4_defun([_LT_COMPILER_C_O],
adamc@1141 1971 [m4_require([_LT_DECL_SED])dnl
adamc@1141 1972 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adamc@1141 1973 m4_require([_LT_TAG_COMPILER])dnl
adamc@1141 1974 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
adamc@1141 1975 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
adamc@1141 1976 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
adamc@1141 1977 $RM -r conftest 2>/dev/null
adamc@1141 1978 mkdir conftest
adamc@1141 1979 cd conftest
adamc@1141 1980 mkdir out
adamc@1141 1981 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
adamc@1141 1982
adamc@1141 1983 lt_compiler_flag="-o out/conftest2.$ac_objext"
adamc@1141 1984 # Insert the option either (1) after the last *FLAGS variable, or
adamc@1141 1985 # (2) before a word containing "conftest.", or (3) at the end.
adamc@1141 1986 # Note that $ac_compile itself does not contain backslashes and begins
adamc@1141 1987 # with a dollar sign (not a hyphen), so the echo should work correctly.
adamc@1141 1988 lt_compile=`echo "$ac_compile" | $SED \
adamc@1141 1989 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
adamc@1141 1990 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
adamc@1141 1991 -e 's:$: $lt_compiler_flag:'`
adam@1459 1992 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
adamc@1141 1993 (eval "$lt_compile" 2>out/conftest.err)
adamc@1141 1994 ac_status=$?
adamc@1141 1995 cat out/conftest.err >&AS_MESSAGE_LOG_FD
adam@1459 1996 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
adamc@1141 1997 if (exit $ac_status) && test -s out/conftest2.$ac_objext
adamc@1141 1998 then
adamc@1141 1999 # The compiler can only warn and ignore the option if not recognized
adamc@1141 2000 # So say no if there are warnings
adam@1459 2001 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
adamc@1141 2002 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
adamc@1141 2003 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
adamc@1141 2004 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
adamc@1141 2005 fi
adamc@1141 2006 fi
adamc@1141 2007 chmod u+w . 2>&AS_MESSAGE_LOG_FD
adamc@1141 2008 $RM conftest*
adamc@1141 2009 # SGI C++ compiler will create directory out/ii_files/ for
adamc@1141 2010 # template instantiation
adamc@1141 2011 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
adamc@1141 2012 $RM out/* && rmdir out
adamc@1141 2013 cd ..
adamc@1141 2014 $RM -r conftest
adamc@1141 2015 $RM conftest*
adamc@1141 2016 ])
adamc@1141 2017 _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
adamc@1141 2018 [Does compiler simultaneously support -c and -o options?])
adamc@1141 2019 ])# _LT_COMPILER_C_O
adamc@1141 2020
adamc@1141 2021
adamc@1141 2022 # _LT_COMPILER_FILE_LOCKS([TAGNAME])
adamc@1141 2023 # ----------------------------------
adamc@1141 2024 # Check to see if we can do hard links to lock some files if needed
adamc@1141 2025 m4_defun([_LT_COMPILER_FILE_LOCKS],
adamc@1141 2026 [m4_require([_LT_ENABLE_LOCK])dnl
adamc@1141 2027 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adamc@1141 2028 _LT_COMPILER_C_O([$1])
adamc@1141 2029
adamc@1141 2030 hard_links="nottested"
adamc@1141 2031 if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
adamc@1141 2032 # do not overwrite the value of need_locks provided by the user
adamc@1141 2033 AC_MSG_CHECKING([if we can lock with hard links])
adamc@1141 2034 hard_links=yes
adamc@1141 2035 $RM conftest*
adamc@1141 2036 ln conftest.a conftest.b 2>/dev/null && hard_links=no
adamc@1141 2037 touch conftest.a
adamc@1141 2038 ln conftest.a conftest.b 2>&5 || hard_links=no
adamc@1141 2039 ln conftest.a conftest.b 2>/dev/null && hard_links=no
adamc@1141 2040 AC_MSG_RESULT([$hard_links])
adamc@1141 2041 if test "$hard_links" = no; then
adamc@1141 2042 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
adamc@1141 2043 need_locks=warn
adamc@1141 2044 fi
adamc@1141 2045 else
adamc@1141 2046 need_locks=no
adamc@1141 2047 fi
adamc@1141 2048 _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
adamc@1141 2049 ])# _LT_COMPILER_FILE_LOCKS
adamc@1141 2050
adamc@1141 2051
adamc@1141 2052 # _LT_CHECK_OBJDIR
adamc@1141 2053 # ----------------
adamc@1141 2054 m4_defun([_LT_CHECK_OBJDIR],
adamc@1141 2055 [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
adamc@1141 2056 [rm -f .libs 2>/dev/null
adamc@1141 2057 mkdir .libs 2>/dev/null
adamc@1141 2058 if test -d .libs; then
adamc@1141 2059 lt_cv_objdir=.libs
adamc@1141 2060 else
adamc@1141 2061 # MS-DOS does not allow filenames that begin with a dot.
adamc@1141 2062 lt_cv_objdir=_libs
adamc@1141 2063 fi
adamc@1141 2064 rmdir .libs 2>/dev/null])
adamc@1141 2065 objdir=$lt_cv_objdir
adamc@1141 2066 _LT_DECL([], [objdir], [0],
adamc@1141 2067 [The name of the directory that contains temporary libtool files])dnl
adamc@1141 2068 m4_pattern_allow([LT_OBJDIR])dnl
adamc@1141 2069 AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
adamc@1141 2070 [Define to the sub-directory in which libtool stores uninstalled libraries.])
adamc@1141 2071 ])# _LT_CHECK_OBJDIR
adamc@1141 2072
adamc@1141 2073
adamc@1141 2074 # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
adamc@1141 2075 # --------------------------------------
adamc@1141 2076 # Check hardcoding attributes.
adamc@1141 2077 m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
adamc@1141 2078 [AC_MSG_CHECKING([how to hardcode library paths into programs])
adamc@1141 2079 _LT_TAGVAR(hardcode_action, $1)=
adamc@1141 2080 if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
adamc@1141 2081 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
adamc@1141 2082 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
adamc@1141 2083
adamc@1141 2084 # We can hardcode non-existent directories.
adamc@1141 2085 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
adamc@1141 2086 # If the only mechanism to avoid hardcoding is shlibpath_var, we
adamc@1141 2087 # have to relink, otherwise we might link with an installed library
adamc@1141 2088 # when we should be linking with a yet-to-be-installed one
adamc@1141 2089 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
adamc@1141 2090 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
adamc@1141 2091 # Linking always hardcodes the temporary library directory.
adamc@1141 2092 _LT_TAGVAR(hardcode_action, $1)=relink
adamc@1141 2093 else
adamc@1141 2094 # We can link without hardcoding, and we can hardcode nonexisting dirs.
adamc@1141 2095 _LT_TAGVAR(hardcode_action, $1)=immediate
adamc@1141 2096 fi
adamc@1141 2097 else
adamc@1141 2098 # We cannot hardcode anything, or else we can only hardcode existing
adamc@1141 2099 # directories.
adamc@1141 2100 _LT_TAGVAR(hardcode_action, $1)=unsupported
adamc@1141 2101 fi
adamc@1141 2102 AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
adamc@1141 2103
adamc@1141 2104 if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
adamc@1141 2105 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
adamc@1141 2106 # Fast installation is not supported
adamc@1141 2107 enable_fast_install=no
adamc@1141 2108 elif test "$shlibpath_overrides_runpath" = yes ||
adamc@1141 2109 test "$enable_shared" = no; then
adamc@1141 2110 # Fast installation is not necessary
adamc@1141 2111 enable_fast_install=needless
adamc@1141 2112 fi
adamc@1141 2113 _LT_TAGDECL([], [hardcode_action], [0],
adamc@1141 2114 [How to hardcode a shared library path into an executable])
adamc@1141 2115 ])# _LT_LINKER_HARDCODE_LIBPATH
adamc@1141 2116
adamc@1141 2117
adamc@1141 2118 # _LT_CMD_STRIPLIB
adamc@1141 2119 # ----------------
adamc@1141 2120 m4_defun([_LT_CMD_STRIPLIB],
adamc@1141 2121 [m4_require([_LT_DECL_EGREP])
adamc@1141 2122 striplib=
adamc@1141 2123 old_striplib=
adamc@1141 2124 AC_MSG_CHECKING([whether stripping libraries is possible])
adamc@1141 2125 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
adamc@1141 2126 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
adamc@1141 2127 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
adamc@1141 2128 AC_MSG_RESULT([yes])
adamc@1141 2129 else
adamc@1141 2130 # FIXME - insert some real tests, host_os isn't really good enough
adamc@1141 2131 case $host_os in
adamc@1141 2132 darwin*)
adamc@1141 2133 if test -n "$STRIP" ; then
adamc@1141 2134 striplib="$STRIP -x"
adamc@1141 2135 old_striplib="$STRIP -S"
adamc@1141 2136 AC_MSG_RESULT([yes])
adamc@1141 2137 else
adamc@1141 2138 AC_MSG_RESULT([no])
adamc@1141 2139 fi
adamc@1141 2140 ;;
adamc@1141 2141 *)
adamc@1141 2142 AC_MSG_RESULT([no])
adamc@1141 2143 ;;
adamc@1141 2144 esac
adamc@1141 2145 fi
adamc@1141 2146 _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
adamc@1141 2147 _LT_DECL([], [striplib], [1])
adamc@1141 2148 ])# _LT_CMD_STRIPLIB
adamc@1141 2149
adamc@1141 2150
adamc@1141 2151 # _LT_SYS_DYNAMIC_LINKER([TAG])
adamc@1141 2152 # -----------------------------
adamc@1141 2153 # PORTME Fill in your ld.so characteristics
adamc@1141 2154 m4_defun([_LT_SYS_DYNAMIC_LINKER],
adamc@1141 2155 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
adamc@1141 2156 m4_require([_LT_DECL_EGREP])dnl
adamc@1141 2157 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adamc@1141 2158 m4_require([_LT_DECL_OBJDUMP])dnl
adamc@1141 2159 m4_require([_LT_DECL_SED])dnl
adam@1459 2160 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
adamc@1141 2161 AC_MSG_CHECKING([dynamic linker characteristics])
adamc@1141 2162 m4_if([$1],
adamc@1141 2163 [], [
adamc@1141 2164 if test "$GCC" = yes; then
adamc@1141 2165 case $host_os in
adamc@1141 2166 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
adamc@1141 2167 *) lt_awk_arg="/^libraries:/" ;;
adamc@1141 2168 esac
adam@1459 2169 case $host_os in
adam@1459 2170 mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
adam@1459 2171 *) lt_sed_strip_eq="s,=/,/,g" ;;
adam@1459 2172 esac
adam@1459 2173 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
adam@1459 2174 case $lt_search_path_spec in
adam@1459 2175 *\;*)
adamc@1141 2176 # if the path contains ";" then we assume it to be the separator
adamc@1141 2177 # otherwise default to the standard path separator (i.e. ":") - it is
adamc@1141 2178 # assumed that no part of a normal pathname contains ";" but that should
adamc@1141 2179 # okay in the real world where ";" in dirpaths is itself problematic.
adam@1459 2180 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
adam@1459 2181 ;;
adam@1459 2182 *)
adam@1459 2183 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
adam@1459 2184 ;;
adam@1459 2185 esac
adamc@1141 2186 # Ok, now we have the path, separated by spaces, we can step through it
adamc@1141 2187 # and add multilib dir if necessary.
adamc@1141 2188 lt_tmp_lt_search_path_spec=
adamc@1141 2189 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
adamc@1141 2190 for lt_sys_path in $lt_search_path_spec; do
adamc@1141 2191 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
adamc@1141 2192 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
adamc@1141 2193 else
adamc@1141 2194 test -d "$lt_sys_path" && \
adamc@1141 2195 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
adamc@1141 2196 fi
adamc@1141 2197 done
adam@1459 2198 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
adamc@1141 2199 BEGIN {RS=" "; FS="/|\n";} {
adamc@1141 2200 lt_foo="";
adamc@1141 2201 lt_count=0;
adamc@1141 2202 for (lt_i = NF; lt_i > 0; lt_i--) {
adamc@1141 2203 if ($lt_i != "" && $lt_i != ".") {
adamc@1141 2204 if ($lt_i == "..") {
adamc@1141 2205 lt_count++;
adamc@1141 2206 } else {
adamc@1141 2207 if (lt_count == 0) {
adamc@1141 2208 lt_foo="/" $lt_i lt_foo;
adamc@1141 2209 } else {
adamc@1141 2210 lt_count--;
adamc@1141 2211 }
adamc@1141 2212 }
adamc@1141 2213 }
adamc@1141 2214 }
adamc@1141 2215 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
adamc@1141 2216 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
adamc@1141 2217 }'`
adam@1459 2218 # AWK program above erroneously prepends '/' to C:/dos/paths
adam@1459 2219 # for these hosts.
adam@1459 2220 case $host_os in
adam@1459 2221 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
adam@1459 2222 $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
adam@1459 2223 esac
adam@1459 2224 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
adamc@1141 2225 else
adamc@1141 2226 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
adamc@1141 2227 fi])
adamc@1141 2228 library_names_spec=
adamc@1141 2229 libname_spec='lib$name'
adamc@1141 2230 soname_spec=
adamc@1141 2231 shrext_cmds=".so"
adamc@1141 2232 postinstall_cmds=
adamc@1141 2233 postuninstall_cmds=
adamc@1141 2234 finish_cmds=
adamc@1141 2235 finish_eval=
adamc@1141 2236 shlibpath_var=
adamc@1141 2237 shlibpath_overrides_runpath=unknown
adamc@1141 2238 version_type=none
adamc@1141 2239 dynamic_linker="$host_os ld.so"
adamc@1141 2240 sys_lib_dlsearch_path_spec="/lib /usr/lib"
adamc@1141 2241 need_lib_prefix=unknown
adamc@1141 2242 hardcode_into_libs=no
adamc@1141 2243
adamc@1141 2244 # when you set need_version to no, make sure it does not cause -set_version
adamc@1141 2245 # flags to be left without arguments
adamc@1141 2246 need_version=unknown
adamc@1141 2247
adamc@1141 2248 case $host_os in
adamc@1141 2249 aix3*)
adam@1599 2250 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2251 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
adamc@1141 2252 shlibpath_var=LIBPATH
adamc@1141 2253
adamc@1141 2254 # AIX 3 has no versioning support, so we append a major version to the name.
adamc@1141 2255 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2256 ;;
adamc@1141 2257
adamc@1141 2258 aix[[4-9]]*)
adam@1599 2259 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2260 need_lib_prefix=no
adamc@1141 2261 need_version=no
adamc@1141 2262 hardcode_into_libs=yes
adamc@1141 2263 if test "$host_cpu" = ia64; then
adamc@1141 2264 # AIX 5 supports IA64
adamc@1141 2265 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
adamc@1141 2266 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2267 else
adamc@1141 2268 # With GCC up to 2.95.x, collect2 would create an import file
adamc@1141 2269 # for dependence libraries. The import file would start with
adamc@1141 2270 # the line `#! .'. This would cause the generated library to
adamc@1141 2271 # depend on `.', always an invalid library. This was fixed in
adamc@1141 2272 # development snapshots of GCC prior to 3.0.
adamc@1141 2273 case $host_os in
adamc@1141 2274 aix4 | aix4.[[01]] | aix4.[[01]].*)
adamc@1141 2275 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
adamc@1141 2276 echo ' yes '
adamc@1141 2277 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
adamc@1141 2278 :
adamc@1141 2279 else
adamc@1141 2280 can_build_shared=no
adamc@1141 2281 fi
adamc@1141 2282 ;;
adamc@1141 2283 esac
adamc@1141 2284 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
adamc@1141 2285 # soname into executable. Probably we can add versioning support to
adamc@1141 2286 # collect2, so additional links can be useful in future.
adamc@1141 2287 if test "$aix_use_runtimelinking" = yes; then
adamc@1141 2288 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
adamc@1141 2289 # instead of lib<name>.a to let people know that these are not
adamc@1141 2290 # typical AIX shared libraries.
adamc@1141 2291 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2292 else
adamc@1141 2293 # We preserve .a as extension for shared libraries through AIX4.2
adamc@1141 2294 # and later when we are not doing run time linking.
adamc@1141 2295 library_names_spec='${libname}${release}.a $libname.a'
adamc@1141 2296 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2297 fi
adamc@1141 2298 shlibpath_var=LIBPATH
adamc@1141 2299 fi
adamc@1141 2300 ;;
adamc@1141 2301
adamc@1141 2302 amigaos*)
adamc@1141 2303 case $host_cpu in
adamc@1141 2304 powerpc)
adamc@1141 2305 # Since July 2007 AmigaOS4 officially supports .so libraries.
adamc@1141 2306 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
adamc@1141 2307 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2308 ;;
adamc@1141 2309 m68k)
adamc@1141 2310 library_names_spec='$libname.ixlibrary $libname.a'
adamc@1141 2311 # Create ${libname}_ixlibrary.a entries in /sys/libs.
adam@1459 2312 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
adamc@1141 2313 ;;
adamc@1141 2314 esac
adamc@1141 2315 ;;
adamc@1141 2316
adamc@1141 2317 beos*)
adamc@1141 2318 library_names_spec='${libname}${shared_ext}'
adamc@1141 2319 dynamic_linker="$host_os ld.so"
adamc@1141 2320 shlibpath_var=LIBRARY_PATH
adamc@1141 2321 ;;
adamc@1141 2322
adamc@1141 2323 bsdi[[45]]*)
adam@1599 2324 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2325 need_version=no
adamc@1141 2326 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2327 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2328 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
adamc@1141 2329 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2330 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
adamc@1141 2331 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
adamc@1141 2332 # the default ld.so.conf also contains /usr/contrib/lib and
adamc@1141 2333 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
adamc@1141 2334 # libtool to hard-code these into programs
adamc@1141 2335 ;;
adamc@1141 2336
adamc@1141 2337 cygwin* | mingw* | pw32* | cegcc*)
adamc@1141 2338 version_type=windows
adamc@1141 2339 shrext_cmds=".dll"
adamc@1141 2340 need_version=no
adamc@1141 2341 need_lib_prefix=no
adamc@1141 2342
adam@1459 2343 case $GCC,$cc_basename in
adam@1459 2344 yes,*)
adam@1459 2345 # gcc
adamc@1141 2346 library_names_spec='$libname.dll.a'
adamc@1141 2347 # DLL is installed to $(libdir)/../bin by postinstall_cmds
adamc@1141 2348 postinstall_cmds='base_file=`basename \${file}`~
adamc@1141 2349 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
adamc@1141 2350 dldir=$destdir/`dirname \$dlpath`~
adamc@1141 2351 test -d \$dldir || mkdir -p \$dldir~
adamc@1141 2352 $install_prog $dir/$dlname \$dldir/$dlname~
adamc@1141 2353 chmod a+x \$dldir/$dlname~
adamc@1141 2354 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
adamc@1141 2355 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
adamc@1141 2356 fi'
adamc@1141 2357 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
adamc@1141 2358 dlpath=$dir/\$dldll~
adamc@1141 2359 $RM \$dlpath'
adamc@1141 2360 shlibpath_overrides_runpath=yes
adamc@1141 2361
adamc@1141 2362 case $host_os in
adamc@1141 2363 cygwin*)
adamc@1141 2364 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
adamc@1141 2365 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
adam@1459 2366 m4_if([$1], [],[
adam@1459 2367 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
adamc@1141 2368 ;;
adamc@1141 2369 mingw* | cegcc*)
adamc@1141 2370 # MinGW DLLs use traditional 'lib' prefix
adamc@1141 2371 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
adamc@1141 2372 ;;
adamc@1141 2373 pw32*)
adamc@1141 2374 # pw32 DLLs use 'pw' prefix rather than 'lib'
adamc@1141 2375 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
adamc@1141 2376 ;;
adamc@1141 2377 esac
adam@1459 2378 dynamic_linker='Win32 ld.exe'
adamc@1141 2379 ;;
adamc@1141 2380
adam@1459 2381 *,cl*)
adam@1459 2382 # Native MSVC
adam@1459 2383 libname_spec='$name'
adam@1459 2384 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
adam@1459 2385 library_names_spec='${libname}.dll.lib'
adam@1459 2386
adam@1459 2387 case $build_os in
adam@1459 2388 mingw*)
adam@1459 2389 sys_lib_search_path_spec=
adam@1459 2390 lt_save_ifs=$IFS
adam@1459 2391 IFS=';'
adam@1459 2392 for lt_path in $LIB
adam@1459 2393 do
adam@1459 2394 IFS=$lt_save_ifs
adam@1459 2395 # Let DOS variable expansion print the short 8.3 style file name.
adam@1459 2396 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
adam@1459 2397 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
adam@1459 2398 done
adam@1459 2399 IFS=$lt_save_ifs
adam@1459 2400 # Convert to MSYS style.
adam@1459 2401 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
adam@1459 2402 ;;
adam@1459 2403 cygwin*)
adam@1459 2404 # Convert to unix form, then to dos form, then back to unix form
adam@1459 2405 # but this time dos style (no spaces!) so that the unix form looks
adam@1459 2406 # like /cygdrive/c/PROGRA~1:/cygdr...
adam@1459 2407 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
adam@1459 2408 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
adam@1459 2409 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
adam@1459 2410 ;;
adam@1459 2411 *)
adam@1459 2412 sys_lib_search_path_spec="$LIB"
adam@1459 2413 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
adam@1459 2414 # It is most probably a Windows format PATH.
adam@1459 2415 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
adam@1459 2416 else
adam@1459 2417 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
adam@1459 2418 fi
adam@1459 2419 # FIXME: find the short name or the path components, as spaces are
adam@1459 2420 # common. (e.g. "Program Files" -> "PROGRA~1")
adam@1459 2421 ;;
adam@1459 2422 esac
adam@1459 2423
adam@1459 2424 # DLL is installed to $(libdir)/../bin by postinstall_cmds
adam@1459 2425 postinstall_cmds='base_file=`basename \${file}`~
adam@1459 2426 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
adam@1459 2427 dldir=$destdir/`dirname \$dlpath`~
adam@1459 2428 test -d \$dldir || mkdir -p \$dldir~
adam@1459 2429 $install_prog $dir/$dlname \$dldir/$dlname'
adam@1459 2430 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
adam@1459 2431 dlpath=$dir/\$dldll~
adam@1459 2432 $RM \$dlpath'
adam@1459 2433 shlibpath_overrides_runpath=yes
adam@1459 2434 dynamic_linker='Win32 link.exe'
adam@1459 2435 ;;
adam@1459 2436
adamc@1141 2437 *)
adam@1459 2438 # Assume MSVC wrapper
adamc@1141 2439 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
adam@1459 2440 dynamic_linker='Win32 ld.exe'
adamc@1141 2441 ;;
adamc@1141 2442 esac
adamc@1141 2443 # FIXME: first we should search . and the directory the executable is in
adamc@1141 2444 shlibpath_var=PATH
adamc@1141 2445 ;;
adamc@1141 2446
adamc@1141 2447 darwin* | rhapsody*)
adamc@1141 2448 dynamic_linker="$host_os dyld"
adamc@1141 2449 version_type=darwin
adamc@1141 2450 need_lib_prefix=no
adamc@1141 2451 need_version=no
adamc@1141 2452 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
adamc@1141 2453 soname_spec='${libname}${release}${major}$shared_ext'
adamc@1141 2454 shlibpath_overrides_runpath=yes
adamc@1141 2455 shlibpath_var=DYLD_LIBRARY_PATH
adamc@1141 2456 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
adamc@1141 2457 m4_if([$1], [],[
adamc@1141 2458 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
adamc@1141 2459 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
adamc@1141 2460 ;;
adamc@1141 2461
adamc@1141 2462 dgux*)
adam@1599 2463 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2464 need_lib_prefix=no
adamc@1141 2465 need_version=no
adamc@1141 2466 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
adamc@1141 2467 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2468 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2469 ;;
adamc@1141 2470
adamc@1141 2471 freebsd* | dragonfly*)
adamc@1141 2472 # DragonFly does not have aout. When/if they implement a new
adamc@1141 2473 # versioning mechanism, adjust this.
adamc@1141 2474 if test -x /usr/bin/objformat; then
adamc@1141 2475 objformat=`/usr/bin/objformat`
adamc@1141 2476 else
adamc@1141 2477 case $host_os in
adam@1599 2478 freebsd[[23]].*) objformat=aout ;;
adamc@1141 2479 *) objformat=elf ;;
adamc@1141 2480 esac
adamc@1141 2481 fi
adamc@1141 2482 version_type=freebsd-$objformat
adamc@1141 2483 case $version_type in
adamc@1141 2484 freebsd-elf*)
adamc@1141 2485 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
adamc@1141 2486 need_version=no
adamc@1141 2487 need_lib_prefix=no
adamc@1141 2488 ;;
adamc@1141 2489 freebsd-*)
adamc@1141 2490 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
adamc@1141 2491 need_version=yes
adamc@1141 2492 ;;
adamc@1141 2493 esac
adamc@1141 2494 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2495 case $host_os in
adam@1599 2496 freebsd2.*)
adamc@1141 2497 shlibpath_overrides_runpath=yes
adamc@1141 2498 ;;
adamc@1141 2499 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
adamc@1141 2500 shlibpath_overrides_runpath=yes
adamc@1141 2501 hardcode_into_libs=yes
adamc@1141 2502 ;;
adamc@1141 2503 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
adamc@1141 2504 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
adamc@1141 2505 shlibpath_overrides_runpath=no
adamc@1141 2506 hardcode_into_libs=yes
adamc@1141 2507 ;;
adamc@1141 2508 *) # from 4.6 on, and DragonFly
adamc@1141 2509 shlibpath_overrides_runpath=yes
adamc@1141 2510 hardcode_into_libs=yes
adamc@1141 2511 ;;
adamc@1141 2512 esac
adamc@1141 2513 ;;
adamc@1141 2514
adamc@1141 2515 gnu*)
adam@1599 2516 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2517 need_lib_prefix=no
adamc@1141 2518 need_version=no
adamc@1141 2519 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
adamc@1141 2520 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2521 shlibpath_var=LD_LIBRARY_PATH
adam@1459 2522 shlibpath_overrides_runpath=no
adam@1459 2523 hardcode_into_libs=yes
adam@1459 2524 ;;
adam@1459 2525
adam@1459 2526 haiku*)
adam@1599 2527 version_type=linux # correct to gnu/linux during the next big refactor
adam@1459 2528 need_lib_prefix=no
adam@1459 2529 need_version=no
adam@1459 2530 dynamic_linker="$host_os runtime_loader"
adam@1459 2531 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
adam@1459 2532 soname_spec='${libname}${release}${shared_ext}$major'
adam@1459 2533 shlibpath_var=LIBRARY_PATH
adam@1459 2534 shlibpath_overrides_runpath=yes
adam@1459 2535 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
adamc@1141 2536 hardcode_into_libs=yes
adamc@1141 2537 ;;
adamc@1141 2538
adamc@1141 2539 hpux9* | hpux10* | hpux11*)
adamc@1141 2540 # Give a soname corresponding to the major version so that dld.sl refuses to
adamc@1141 2541 # link against other versions.
adamc@1141 2542 version_type=sunos
adamc@1141 2543 need_lib_prefix=no
adamc@1141 2544 need_version=no
adamc@1141 2545 case $host_cpu in
adamc@1141 2546 ia64*)
adamc@1141 2547 shrext_cmds='.so'
adamc@1141 2548 hardcode_into_libs=yes
adamc@1141 2549 dynamic_linker="$host_os dld.so"
adamc@1141 2550 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2551 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
adamc@1141 2552 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2553 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2554 if test "X$HPUX_IA64_MODE" = X32; then
adamc@1141 2555 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
adamc@1141 2556 else
adamc@1141 2557 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
adamc@1141 2558 fi
adamc@1141 2559 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
adamc@1141 2560 ;;
adamc@1141 2561 hppa*64*)
adamc@1141 2562 shrext_cmds='.sl'
adamc@1141 2563 hardcode_into_libs=yes
adamc@1141 2564 dynamic_linker="$host_os dld.sl"
adamc@1141 2565 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
adamc@1141 2566 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
adamc@1141 2567 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2568 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2569 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
adamc@1141 2570 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
adamc@1141 2571 ;;
adamc@1141 2572 *)
adamc@1141 2573 shrext_cmds='.sl'
adamc@1141 2574 dynamic_linker="$host_os dld.sl"
adamc@1141 2575 shlibpath_var=SHLIB_PATH
adamc@1141 2576 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
adamc@1141 2577 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2578 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2579 ;;
adamc@1141 2580 esac
adam@1459 2581 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
adamc@1141 2582 postinstall_cmds='chmod 555 $lib'
adam@1459 2583 # or fails outright, so override atomically:
adam@1459 2584 install_override_mode=555
adamc@1141 2585 ;;
adamc@1141 2586
adamc@1141 2587 interix[[3-9]]*)
adam@1599 2588 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2589 need_lib_prefix=no
adamc@1141 2590 need_version=no
adamc@1141 2591 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
adamc@1141 2592 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2593 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
adamc@1141 2594 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2595 shlibpath_overrides_runpath=no
adamc@1141 2596 hardcode_into_libs=yes
adamc@1141 2597 ;;
adamc@1141 2598
adamc@1141 2599 irix5* | irix6* | nonstopux*)
adamc@1141 2600 case $host_os in
adamc@1141 2601 nonstopux*) version_type=nonstopux ;;
adamc@1141 2602 *)
adamc@1141 2603 if test "$lt_cv_prog_gnu_ld" = yes; then
adam@1599 2604 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2605 else
adamc@1141 2606 version_type=irix
adamc@1141 2607 fi ;;
adamc@1141 2608 esac
adamc@1141 2609 need_lib_prefix=no
adamc@1141 2610 need_version=no
adamc@1141 2611 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2612 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
adamc@1141 2613 case $host_os in
adamc@1141 2614 irix5* | nonstopux*)
adamc@1141 2615 libsuff= shlibsuff=
adamc@1141 2616 ;;
adamc@1141 2617 *)
adamc@1141 2618 case $LD in # libtool.m4 will add one of these switches to LD
adamc@1141 2619 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
adamc@1141 2620 libsuff= shlibsuff= libmagic=32-bit;;
adamc@1141 2621 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
adamc@1141 2622 libsuff=32 shlibsuff=N32 libmagic=N32;;
adamc@1141 2623 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
adamc@1141 2624 libsuff=64 shlibsuff=64 libmagic=64-bit;;
adamc@1141 2625 *) libsuff= shlibsuff= libmagic=never-match;;
adamc@1141 2626 esac
adamc@1141 2627 ;;
adamc@1141 2628 esac
adamc@1141 2629 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
adamc@1141 2630 shlibpath_overrides_runpath=no
adamc@1141 2631 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
adamc@1141 2632 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
adamc@1141 2633 hardcode_into_libs=yes
adamc@1141 2634 ;;
adamc@1141 2635
adamc@1141 2636 # No shared lib support for Linux oldld, aout, or coff.
adamc@1141 2637 linux*oldld* | linux*aout* | linux*coff*)
adamc@1141 2638 dynamic_linker=no
adamc@1141 2639 ;;
adamc@1141 2640
adam@1599 2641 # This must be glibc/ELF.
adamc@1141 2642 linux* | k*bsd*-gnu | kopensolaris*-gnu)
adam@1599 2643 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2644 need_lib_prefix=no
adamc@1141 2645 need_version=no
adamc@1141 2646 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2647 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2648 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
adamc@1141 2649 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2650 shlibpath_overrides_runpath=no
adam@1459 2651
adamc@1141 2652 # Some binutils ld are patched to set DT_RUNPATH
adam@1459 2653 AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
adam@1459 2654 [lt_cv_shlibpath_overrides_runpath=no
adam@1459 2655 save_LDFLAGS=$LDFLAGS
adam@1459 2656 save_libdir=$libdir
adam@1459 2657 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
adam@1459 2658 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
adam@1459 2659 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
adam@1459 2660 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
adam@1459 2661 [lt_cv_shlibpath_overrides_runpath=yes])])
adam@1459 2662 LDFLAGS=$save_LDFLAGS
adam@1459 2663 libdir=$save_libdir
adam@1459 2664 ])
adam@1459 2665 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
adamc@1141 2666
adamc@1141 2667 # This implies no fast_install, which is unacceptable.
adamc@1141 2668 # Some rework will be needed to allow for fast_install
adamc@1141 2669 # before this can be enabled.
adamc@1141 2670 hardcode_into_libs=yes
adamc@1141 2671
adamc@1141 2672 # Append ld.so.conf contents to the search path
adamc@1141 2673 if test -f /etc/ld.so.conf; then
adam@1459 2674 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' ' '`
adamc@1141 2675 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
adamc@1141 2676 fi
adamc@1141 2677
adamc@1141 2678 # We used to test for /lib/ld.so.1 and disable shared libraries on
adamc@1141 2679 # powerpc, because MkLinux only supported shared libraries with the
adamc@1141 2680 # GNU dynamic linker. Since this was broken with cross compilers,
adamc@1141 2681 # most powerpc-linux boxes support dynamic linking these days and
adamc@1141 2682 # people can always --disable-shared, the test was removed, and we
adamc@1141 2683 # assume the GNU/Linux dynamic linker is in use.
adamc@1141 2684 dynamic_linker='GNU/Linux ld.so'
adamc@1141 2685 ;;
adamc@1141 2686
adamc@1141 2687 netbsdelf*-gnu)
adamc@1141 2688 version_type=linux
adamc@1141 2689 need_lib_prefix=no
adamc@1141 2690 need_version=no
adamc@1141 2691 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
adamc@1141 2692 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2693 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2694 shlibpath_overrides_runpath=no
adamc@1141 2695 hardcode_into_libs=yes
adamc@1141 2696 dynamic_linker='NetBSD ld.elf_so'
adamc@1141 2697 ;;
adamc@1141 2698
adamc@1141 2699 netbsd*)
adamc@1141 2700 version_type=sunos
adamc@1141 2701 need_lib_prefix=no
adamc@1141 2702 need_version=no
adamc@1141 2703 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
adamc@1141 2704 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
adamc@1141 2705 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
adamc@1141 2706 dynamic_linker='NetBSD (a.out) ld.so'
adamc@1141 2707 else
adamc@1141 2708 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
adamc@1141 2709 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2710 dynamic_linker='NetBSD ld.elf_so'
adamc@1141 2711 fi
adamc@1141 2712 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2713 shlibpath_overrides_runpath=yes
adamc@1141 2714 hardcode_into_libs=yes
adamc@1141 2715 ;;
adamc@1141 2716
adamc@1141 2717 newsos6)
adam@1599 2718 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2719 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2720 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2721 shlibpath_overrides_runpath=yes
adamc@1141 2722 ;;
adamc@1141 2723
adamc@1141 2724 *nto* | *qnx*)
adamc@1141 2725 version_type=qnx
adamc@1141 2726 need_lib_prefix=no
adamc@1141 2727 need_version=no
adamc@1141 2728 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2729 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2730 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2731 shlibpath_overrides_runpath=no
adamc@1141 2732 hardcode_into_libs=yes
adamc@1141 2733 dynamic_linker='ldqnx.so'
adamc@1141 2734 ;;
adamc@1141 2735
adamc@1141 2736 openbsd*)
adamc@1141 2737 version_type=sunos
adamc@1141 2738 sys_lib_dlsearch_path_spec="/usr/lib"
adamc@1141 2739 need_lib_prefix=no
adamc@1141 2740 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
adamc@1141 2741 case $host_os in
adamc@1141 2742 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
adamc@1141 2743 *) need_version=no ;;
adamc@1141 2744 esac
adamc@1141 2745 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
adamc@1141 2746 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
adamc@1141 2747 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2748 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
adamc@1141 2749 case $host_os in
adamc@1141 2750 openbsd2.[[89]] | openbsd2.[[89]].*)
adamc@1141 2751 shlibpath_overrides_runpath=no
adamc@1141 2752 ;;
adamc@1141 2753 *)
adamc@1141 2754 shlibpath_overrides_runpath=yes
adamc@1141 2755 ;;
adamc@1141 2756 esac
adamc@1141 2757 else
adamc@1141 2758 shlibpath_overrides_runpath=yes
adamc@1141 2759 fi
adamc@1141 2760 ;;
adamc@1141 2761
adamc@1141 2762 os2*)
adamc@1141 2763 libname_spec='$name'
adamc@1141 2764 shrext_cmds=".dll"
adamc@1141 2765 need_lib_prefix=no
adamc@1141 2766 library_names_spec='$libname${shared_ext} $libname.a'
adamc@1141 2767 dynamic_linker='OS/2 ld.exe'
adamc@1141 2768 shlibpath_var=LIBPATH
adamc@1141 2769 ;;
adamc@1141 2770
adamc@1141 2771 osf3* | osf4* | osf5*)
adamc@1141 2772 version_type=osf
adamc@1141 2773 need_lib_prefix=no
adamc@1141 2774 need_version=no
adamc@1141 2775 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2776 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2777 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2778 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
adamc@1141 2779 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
adamc@1141 2780 ;;
adamc@1141 2781
adamc@1141 2782 rdos*)
adamc@1141 2783 dynamic_linker=no
adamc@1141 2784 ;;
adamc@1141 2785
adamc@1141 2786 solaris*)
adam@1599 2787 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2788 need_lib_prefix=no
adamc@1141 2789 need_version=no
adamc@1141 2790 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2791 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2792 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2793 shlibpath_overrides_runpath=yes
adamc@1141 2794 hardcode_into_libs=yes
adamc@1141 2795 # ldd complains unless libraries are executable
adamc@1141 2796 postinstall_cmds='chmod +x $lib'
adamc@1141 2797 ;;
adamc@1141 2798
adamc@1141 2799 sunos4*)
adamc@1141 2800 version_type=sunos
adamc@1141 2801 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
adamc@1141 2802 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
adamc@1141 2803 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2804 shlibpath_overrides_runpath=yes
adamc@1141 2805 if test "$with_gnu_ld" = yes; then
adamc@1141 2806 need_lib_prefix=no
adamc@1141 2807 fi
adamc@1141 2808 need_version=yes
adamc@1141 2809 ;;
adamc@1141 2810
adamc@1141 2811 sysv4 | sysv4.3*)
adam@1599 2812 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2813 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2814 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2815 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2816 case $host_vendor in
adamc@1141 2817 sni)
adamc@1141 2818 shlibpath_overrides_runpath=no
adamc@1141 2819 need_lib_prefix=no
adamc@1141 2820 runpath_var=LD_RUN_PATH
adamc@1141 2821 ;;
adamc@1141 2822 siemens)
adamc@1141 2823 need_lib_prefix=no
adamc@1141 2824 ;;
adamc@1141 2825 motorola)
adamc@1141 2826 need_lib_prefix=no
adamc@1141 2827 need_version=no
adamc@1141 2828 shlibpath_overrides_runpath=no
adamc@1141 2829 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
adamc@1141 2830 ;;
adamc@1141 2831 esac
adamc@1141 2832 ;;
adamc@1141 2833
adamc@1141 2834 sysv4*MP*)
adamc@1141 2835 if test -d /usr/nec ;then
adam@1599 2836 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2837 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
adamc@1141 2838 soname_spec='$libname${shared_ext}.$major'
adamc@1141 2839 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2840 fi
adamc@1141 2841 ;;
adamc@1141 2842
adamc@1141 2843 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
adamc@1141 2844 version_type=freebsd-elf
adamc@1141 2845 need_lib_prefix=no
adamc@1141 2846 need_version=no
adamc@1141 2847 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
adamc@1141 2848 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2849 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2850 shlibpath_overrides_runpath=yes
adamc@1141 2851 hardcode_into_libs=yes
adamc@1141 2852 if test "$with_gnu_ld" = yes; then
adamc@1141 2853 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
adamc@1141 2854 else
adamc@1141 2855 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
adamc@1141 2856 case $host_os in
adamc@1141 2857 sco3.2v5*)
adamc@1141 2858 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
adamc@1141 2859 ;;
adamc@1141 2860 esac
adamc@1141 2861 fi
adamc@1141 2862 sys_lib_dlsearch_path_spec='/usr/lib'
adamc@1141 2863 ;;
adamc@1141 2864
adamc@1141 2865 tpf*)
adamc@1141 2866 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
adam@1599 2867 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2868 need_lib_prefix=no
adamc@1141 2869 need_version=no
adamc@1141 2870 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2871 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2872 shlibpath_overrides_runpath=no
adamc@1141 2873 hardcode_into_libs=yes
adamc@1141 2874 ;;
adamc@1141 2875
adamc@1141 2876 uts4*)
adam@1599 2877 version_type=linux # correct to gnu/linux during the next big refactor
adamc@1141 2878 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
adamc@1141 2879 soname_spec='${libname}${release}${shared_ext}$major'
adamc@1141 2880 shlibpath_var=LD_LIBRARY_PATH
adamc@1141 2881 ;;
adamc@1141 2882
adamc@1141 2883 *)
adamc@1141 2884 dynamic_linker=no
adamc@1141 2885 ;;
adamc@1141 2886 esac
adamc@1141 2887 AC_MSG_RESULT([$dynamic_linker])
adamc@1141 2888 test "$dynamic_linker" = no && can_build_shared=no
adamc@1141 2889
adamc@1141 2890 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
adamc@1141 2891 if test "$GCC" = yes; then
adamc@1141 2892 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
adamc@1141 2893 fi
adamc@1141 2894
adamc@1141 2895 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
adamc@1141 2896 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
adamc@1141 2897 fi
adamc@1141 2898 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
adamc@1141 2899 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
adamc@1141 2900 fi
adamc@1141 2901
adamc@1141 2902 _LT_DECL([], [variables_saved_for_relink], [1],
adamc@1141 2903 [Variables whose values should be saved in libtool wrapper scripts and
adamc@1141 2904 restored at link time])
adamc@1141 2905 _LT_DECL([], [need_lib_prefix], [0],
adamc@1141 2906 [Do we need the "lib" prefix for modules?])
adamc@1141 2907 _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
adamc@1141 2908 _LT_DECL([], [version_type], [0], [Library versioning type])
adamc@1141 2909 _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
adamc@1141 2910 _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
adamc@1141 2911 _LT_DECL([], [shlibpath_overrides_runpath], [0],
adamc@1141 2912 [Is shlibpath searched before the hard-coded library search path?])
adamc@1141 2913 _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
adamc@1141 2914 _LT_DECL([], [library_names_spec], [1],
adamc@1141 2915 [[List of archive names. First name is the real one, the rest are links.
adamc@1141 2916 The last name is the one that the linker finds with -lNAME]])
adamc@1141 2917 _LT_DECL([], [soname_spec], [1],
adamc@1141 2918 [[The coded name of the library, if different from the real name]])
adam@1459 2919 _LT_DECL([], [install_override_mode], [1],
adam@1459 2920 [Permission mode override for installation of shared libraries])
adamc@1141 2921 _LT_DECL([], [postinstall_cmds], [2],
adamc@1141 2922 [Command to use after installation of a shared archive])
adamc@1141 2923 _LT_DECL([], [postuninstall_cmds], [2],
adamc@1141 2924 [Command to use after uninstallation of a shared archive])
adamc@1141 2925 _LT_DECL([], [finish_cmds], [2],
adamc@1141 2926 [Commands used to finish a libtool library installation in a directory])
adamc@1141 2927 _LT_DECL([], [finish_eval], [1],
adamc@1141 2928 [[As "finish_cmds", except a single script fragment to be evaled but
adamc@1141 2929 not shown]])
adamc@1141 2930 _LT_DECL([], [hardcode_into_libs], [0],
adamc@1141 2931 [Whether we should hardcode library paths into libraries])
adamc@1141 2932 _LT_DECL([], [sys_lib_search_path_spec], [2],
adamc@1141 2933 [Compile-time system search path for libraries])
adamc@1141 2934 _LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
adamc@1141 2935 [Run-time system search path for libraries])
adamc@1141 2936 ])# _LT_SYS_DYNAMIC_LINKER
adamc@1141 2937
adamc@1141 2938
adamc@1141 2939 # _LT_PATH_TOOL_PREFIX(TOOL)
adamc@1141 2940 # --------------------------
adamc@1141 2941 # find a file program which can recognize shared library
adamc@1141 2942 AC_DEFUN([_LT_PATH_TOOL_PREFIX],
adamc@1141 2943 [m4_require([_LT_DECL_EGREP])dnl
adamc@1141 2944 AC_MSG_CHECKING([for $1])
adamc@1141 2945 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
adamc@1141 2946 [case $MAGIC_CMD in
adamc@1141 2947 [[\\/*] | ?:[\\/]*])
adamc@1141 2948 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
adamc@1141 2949 ;;
adamc@1141 2950 *)
adamc@1141 2951 lt_save_MAGIC_CMD="$MAGIC_CMD"
adamc@1141 2952 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
adamc@1141 2953 dnl $ac_dummy forces splitting on constant user-supplied paths.
adamc@1141 2954 dnl POSIX.2 word splitting is done only on the output of word expansions,
adamc@1141 2955 dnl not every word. This closes a longstanding sh security hole.
adamc@1141 2956 ac_dummy="m4_if([$2], , $PATH, [$2])"
adamc@1141 2957 for ac_dir in $ac_dummy; do
adamc@1141 2958 IFS="$lt_save_ifs"
adamc@1141 2959 test -z "$ac_dir" && ac_dir=.
adamc@1141 2960 if test -f $ac_dir/$1; then
adamc@1141 2961 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
adamc@1141 2962 if test -n "$file_magic_test_file"; then
adamc@1141 2963 case $deplibs_check_method in
adamc@1141 2964 "file_magic "*)
adamc@1141 2965 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
adamc@1141 2966 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
adamc@1141 2967 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
adamc@1141 2968 $EGREP "$file_magic_regex" > /dev/null; then
adamc@1141 2969 :
adamc@1141 2970 else
adamc@1141 2971 cat <<_LT_EOF 1>&2
adamc@1141 2972
adamc@1141 2973 *** Warning: the command libtool uses to detect shared libraries,
adamc@1141 2974 *** $file_magic_cmd, produces output that libtool cannot recognize.
adamc@1141 2975 *** The result is that libtool may fail to recognize shared libraries
adamc@1141 2976 *** as such. This will affect the creation of libtool libraries that
adamc@1141 2977 *** depend on shared libraries, but programs linked with such libtool
adamc@1141 2978 *** libraries will work regardless of this problem. Nevertheless, you
adamc@1141 2979 *** may want to report the problem to your system manager and/or to
adamc@1141 2980 *** bug-libtool@gnu.org
adamc@1141 2981
adamc@1141 2982 _LT_EOF
adamc@1141 2983 fi ;;
adamc@1141 2984 esac
adamc@1141 2985 fi
adamc@1141 2986 break
adamc@1141 2987 fi
adamc@1141 2988 done
adamc@1141 2989 IFS="$lt_save_ifs"
adamc@1141 2990 MAGIC_CMD="$lt_save_MAGIC_CMD"
adamc@1141 2991 ;;
adamc@1141 2992 esac])
adamc@1141 2993 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
adamc@1141 2994 if test -n "$MAGIC_CMD"; then
adamc@1141 2995 AC_MSG_RESULT($MAGIC_CMD)
adamc@1141 2996 else
adamc@1141 2997 AC_MSG_RESULT(no)
adamc@1141 2998 fi
adamc@1141 2999 _LT_DECL([], [MAGIC_CMD], [0],
adamc@1141 3000 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
adamc@1141 3001 ])# _LT_PATH_TOOL_PREFIX
adamc@1141 3002
adamc@1141 3003 # Old name:
adamc@1141 3004 AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
adamc@1141 3005 dnl aclocal-1.4 backwards compatibility:
adamc@1141 3006 dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
adamc@1141 3007
adamc@1141 3008
adamc@1141 3009 # _LT_PATH_MAGIC
adamc@1141 3010 # --------------
adamc@1141 3011 # find a file program which can recognize a shared library
adamc@1141 3012 m4_defun([_LT_PATH_MAGIC],
adamc@1141 3013 [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
adamc@1141 3014 if test -z "$lt_cv_path_MAGIC_CMD"; then
adamc@1141 3015 if test -n "$ac_tool_prefix"; then
adamc@1141 3016 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
adamc@1141 3017 else
adamc@1141 3018 MAGIC_CMD=:
adamc@1141 3019 fi
adamc@1141 3020 fi
adamc@1141 3021 ])# _LT_PATH_MAGIC
adamc@1141 3022
adamc@1141 3023
adamc@1141 3024 # LT_PATH_LD
adamc@1141 3025 # ----------
adamc@1141 3026 # find the pathname to the GNU or non-GNU linker
adamc@1141 3027 AC_DEFUN([LT_PATH_LD],
adamc@1141 3028 [AC_REQUIRE([AC_PROG_CC])dnl
adamc@1141 3029 AC_REQUIRE([AC_CANONICAL_HOST])dnl
adamc@1141 3030 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
adamc@1141 3031 m4_require([_LT_DECL_SED])dnl
adamc@1141 3032 m4_require([_LT_DECL_EGREP])dnl
adam@1459 3033 m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
adamc@1141 3034
adamc@1141 3035 AC_ARG_WITH([gnu-ld],
adamc@1141 3036 [AS_HELP_STRING([--with-gnu-ld],
adamc@1141 3037 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
adamc@1141 3038 [test "$withval" = no || with_gnu_ld=yes],
adamc@1141 3039 [with_gnu_ld=no])dnl
adamc@1141 3040
adamc@1141 3041 ac_prog=ld
adamc@1141 3042 if test "$GCC" = yes; then
adamc@1141 3043 # Check if gcc -print-prog-name=ld gives a path.
adamc@1141 3044 AC_MSG_CHECKING([for ld used by $CC])
adamc@1141 3045 case $host in
adamc@1141 3046 *-*-mingw*)
adamc@1141 3047 # gcc leaves a trailing carriage return which upsets mingw
adamc@1141 3048 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
adamc@1141 3049 *)
adamc@1141 3050 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
adamc@1141 3051 esac
adamc@1141 3052 case $ac_prog in
adamc@1141 3053 # Accept absolute paths.
adamc@1141 3054 [[\\/]]* | ?:[[\\/]]*)
adamc@1141 3055 re_direlt='/[[^/]][[^/]]*/\.\./'
adamc@1141 3056 # Canonicalize the pathname of ld
adamc@1141 3057 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
adamc@1141 3058 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
adamc@1141 3059 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
adamc@1141 3060 done
adamc@1141 3061 test -z "$LD" && LD="$ac_prog"
adamc@1141 3062 ;;
adamc@1141 3063 "")
adamc@1141 3064 # If it fails, then pretend we aren't using GCC.
adamc@1141 3065 ac_prog=ld
adamc@1141 3066 ;;
adamc@1141 3067 *)
adamc@1141 3068 # If it is relative, then search for the first ld in PATH.
adamc@1141 3069 with_gnu_ld=unknown
adamc@1141 3070 ;;
adamc@1141 3071 esac
adamc@1141 3072 elif test "$with_gnu_ld" = yes; then
adamc@1141 3073 AC_MSG_CHECKING([for GNU ld])
adamc@1141 3074 else
adamc@1141 3075 AC_MSG_CHECKING([for non-GNU ld])
adamc@1141 3076 fi
adamc@1141 3077 AC_CACHE_VAL(lt_cv_path_LD,
adamc@1141 3078 [if test -z "$LD"; then
adamc@1141 3079 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
adamc@1141 3080 for ac_dir in $PATH; do
adamc@1141 3081 IFS="$lt_save_ifs"
adamc@1141 3082 test -z "$ac_dir" && ac_dir=.
adamc@1141 3083 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
adamc@1141 3084 lt_cv_path_LD="$ac_dir/$ac_prog"
adamc@1141 3085 # Check to see if the program is GNU ld. I'd rather use --version,
adamc@1141 3086 # but apparently some variants of GNU ld only accept -v.
adamc@1141 3087 # Break only if it was the GNU/non-GNU ld that we prefer.
adamc@1141 3088 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
adamc@1141 3089 *GNU* | *'with BFD'*)
adamc@1141 3090 test "$with_gnu_ld" != no && break
adamc@1141 3091 ;;
adamc@1141 3092 *)
adamc@1141 3093 test "$with_gnu_ld" != yes && break
adamc@1141 3094 ;;
adamc@1141 3095 esac
adamc@1141 3096 fi
adamc@1141 3097 done
adamc@1141 3098 IFS="$lt_save_ifs"
adamc@1141 3099 else
adamc@1141 3100 lt_cv_path_LD="$LD" # Let the user override the test with a path.
adamc@1141 3101 fi])
adamc@1141 3102 LD="$lt_cv_path_LD"
adamc@1141 3103 if test -n "$LD"; then
adamc@1141 3104 AC_MSG_RESULT($LD)
adamc@1141 3105 else
adamc@1141 3106 AC_MSG_RESULT(no)
adamc@1141 3107 fi
adamc@1141 3108 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
adamc@1141 3109 _LT_PATH_LD_GNU
adamc@1141 3110 AC_SUBST([LD])
adamc@1141 3111
adamc@1141 3112 _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
adamc@1141 3113 ])# LT_PATH_LD
adamc@1141 3114
adamc@1141 3115 # Old names:
adamc@1141 3116 AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
adamc@1141 3117 AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
adamc@1141 3118 dnl aclocal-1.4 backwards compatibility:
adamc@1141 3119 dnl AC_DEFUN([AM_PROG_LD], [])
adamc@1141 3120 dnl AC_DEFUN([AC_PROG_LD], [])
adamc@1141 3121
adamc@1141 3122
adamc@1141 3123 # _LT_PATH_LD_GNU
adamc@1141 3124 #- --------------
adamc@1141 3125 m4_defun([_LT_PATH_LD_GNU],
adamc@1141 3126 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
adamc@1141 3127 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
adamc@1141 3128 case `$LD -v 2>&1 </dev/null` in
adamc@1141 3129 *GNU* | *'with BFD'*)
adamc@1141 3130 lt_cv_prog_gnu_ld=yes
adamc@1141 3131 ;;
adamc@1141 3132 *)
adamc@1141 3133 lt_cv_prog_gnu_ld=no
adamc@1141 3134 ;;
adamc@1141 3135 esac])
adamc@1141 3136 with_gnu_ld=$lt_cv_prog_gnu_ld
adamc@1141 3137 ])# _LT_PATH_LD_GNU
adamc@1141 3138
adamc@1141 3139
adamc@1141 3140 # _LT_CMD_RELOAD
adamc@1141 3141 # --------------
adamc@1141 3142 # find reload flag for linker
adamc@1141 3143 # -- PORTME Some linkers may need a different reload flag.
adamc@1141 3144 m4_defun([_LT_CMD_RELOAD],
adamc@1141 3145 [AC_CACHE_CHECK([for $LD option to reload object files],
adamc@1141 3146 lt_cv_ld_reload_flag,
adamc@1141 3147 [lt_cv_ld_reload_flag='-r'])
adamc@1141 3148 reload_flag=$lt_cv_ld_reload_flag
adamc@1141 3149 case $reload_flag in
adamc@1141 3150 "" | " "*) ;;
adamc@1141 3151 *) reload_flag=" $reload_flag" ;;
adamc@1141 3152 esac
adamc@1141 3153 reload_cmds='$LD$reload_flag -o $output$reload_objs'
adamc@1141 3154 case $host_os in
adam@1459 3155 cygwin* | mingw* | pw32* | cegcc*)
adam@1459 3156 if test "$GCC" != yes; then
adam@1459 3157 reload_cmds=false
adam@1459 3158 fi
adam@1459 3159 ;;
adamc@1141 3160 darwin*)
adamc@1141 3161 if test "$GCC" = yes; then
adamc@1141 3162 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
adamc@1141 3163 else
adamc@1141 3164 reload_cmds='$LD$reload_flag -o $output$reload_objs'
adamc@1141 3165 fi
adamc@1141 3166 ;;
adamc@1141 3167 esac
adam@1459 3168 _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
adam@1459 3169 _LT_TAGDECL([], [reload_cmds], [2])dnl
adamc@1141 3170 ])# _LT_CMD_RELOAD
adamc@1141 3171
adamc@1141 3172
adamc@1141 3173 # _LT_CHECK_MAGIC_METHOD
adamc@1141 3174 # ----------------------
adamc@1141 3175 # how to check for library dependencies
adamc@1141 3176 # -- PORTME fill in with the dynamic library characteristics
adamc@1141 3177 m4_defun([_LT_CHECK_MAGIC_METHOD],
adamc@1141 3178 [m4_require([_LT_DECL_EGREP])
adamc@1141 3179 m4_require([_LT_DECL_OBJDUMP])
adamc@1141 3180 AC_CACHE_CHECK([how to recognize dependent libraries],
adamc@1141 3181 lt_cv_deplibs_check_method,
adamc@1141 3182 [lt_cv_file_magic_cmd='$MAGIC_CMD'
adamc@1141 3183 lt_cv_file_magic_test_file=
adamc@1141 3184 lt_cv_deplibs_check_method='unknown'
adamc@1141 3185 # Need to set the preceding variable on all platforms that support
adamc@1141 3186 # interlibrary dependencies.
adamc@1141 3187 # 'none' -- dependencies not supported.
adamc@1141 3188 # `unknown' -- same as none, but documents that we really don't know.
adamc@1141 3189 # 'pass_all' -- all dependencies passed with no checks.
adamc@1141 3190 # 'test_compile' -- check by making test program.
adamc@1141 3191 # 'file_magic [[regex]]' -- check by looking for files in library path
adamc@1141 3192 # which responds to the $file_magic_cmd with a given extended regex.
adamc@1141 3193 # If you have `file' or equivalent on your system and you're not sure
adamc@1141 3194 # whether `pass_all' will *always* work, you probably want this one.
adamc@1141 3195
adamc@1141 3196 case $host_os in
adamc@1141 3197 aix[[4-9]]*)
adamc@1141 3198 lt_cv_deplibs_check_method=pass_all
adamc@1141 3199 ;;
adamc@1141 3200
adamc@1141 3201 beos*)
adamc@1141 3202 lt_cv_deplibs_check_method=pass_all
adamc@1141 3203 ;;
adamc@1141 3204
adamc@1141 3205 bsdi[[45]]*)
adamc@1141 3206 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
adamc@1141 3207 lt_cv_file_magic_cmd='/usr/bin/file -L'
adamc@1141 3208 lt_cv_file_magic_test_file=/shlib/libc.so
adamc@1141 3209 ;;
adamc@1141 3210
adamc@1141 3211 cygwin*)
adamc@1141 3212 # func_win32_libid is a shell function defined in ltmain.sh
adamc@1141 3213 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
adamc@1141 3214 lt_cv_file_magic_cmd='func_win32_libid'
adamc@1141 3215 ;;
adamc@1141 3216
adamc@1141 3217 mingw* | pw32*)
adamc@1141 3218 # Base MSYS/MinGW do not provide the 'file' command needed by
adamc@1141 3219 # func_win32_libid shell function, so use a weaker test based on 'objdump',
adamc@1141 3220 # unless we find 'file', for example because we are cross-compiling.
adam@1459 3221 # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
adam@1459 3222 if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
adamc@1141 3223 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
adamc@1141 3224 lt_cv_file_magic_cmd='func_win32_libid'
adamc@1141 3225 else
adam@1459 3226 # Keep this pattern in sync with the one in func_win32_libid.
adam@1459 3227 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
adamc@1141 3228 lt_cv_file_magic_cmd='$OBJDUMP -f'
adamc@1141 3229 fi
adamc@1141 3230 ;;
adamc@1141 3231
adam@1459 3232 cegcc*)
adamc@1141 3233 # use the weaker test based on 'objdump'. See mingw*.
adamc@1141 3234 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
adamc@1141 3235 lt_cv_file_magic_cmd='$OBJDUMP -f'
adamc@1141 3236 ;;
adamc@1141 3237
adamc@1141 3238 darwin* | rhapsody*)
adamc@1141 3239 lt_cv_deplibs_check_method=pass_all
adamc@1141 3240 ;;
adamc@1141 3241
adamc@1141 3242 freebsd* | dragonfly*)
adamc@1141 3243 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
adamc@1141 3244 case $host_cpu in
adamc@1141 3245 i*86 )
adamc@1141 3246 # Not sure whether the presence of OpenBSD here was a mistake.
adamc@1141 3247 # Let's accept both of them until this is cleared up.
adamc@1141 3248 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
adamc@1141 3249 lt_cv_file_magic_cmd=/usr/bin/file
adamc@1141 3250 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
adamc@1141 3251 ;;
adamc@1141 3252 esac
adamc@1141 3253 else
adamc@1141 3254 lt_cv_deplibs_check_method=pass_all
adamc@1141 3255 fi
adamc@1141 3256 ;;
adamc@1141 3257
adamc@1141 3258 gnu*)
adamc@1141 3259 lt_cv_deplibs_check_method=pass_all
adamc@1141 3260 ;;
adamc@1141 3261
adam@1459 3262 haiku*)
adam@1459 3263 lt_cv_deplibs_check_method=pass_all
adam@1459 3264 ;;
adam@1459 3265
adamc@1141 3266 hpux10.20* | hpux11*)
adamc@1141 3267 lt_cv_file_magic_cmd=/usr/bin/file
adamc@1141 3268 case $host_cpu in
adamc@1141 3269 ia64*)
adamc@1141 3270 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
adamc@1141 3271 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
adamc@1141 3272 ;;
adamc@1141 3273 hppa*64*)
adam@1459 3274 [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]']
adamc@1141 3275 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
adamc@1141 3276 ;;
adamc@1141 3277 *)
adam@1459 3278 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
adamc@1141 3279 lt_cv_file_magic_test_file=/usr/lib/libc.sl
adamc@1141 3280 ;;
adamc@1141 3281 esac
adamc@1141 3282 ;;
adamc@1141 3283
adamc@1141 3284 interix[[3-9]]*)
adamc@1141 3285 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
adamc@1141 3286 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
adamc@1141 3287 ;;
adamc@1141 3288
adamc@1141 3289 irix5* | irix6* | nonstopux*)
adamc@1141 3290 case $LD in
adamc@1141 3291 *-32|*"-32 ") libmagic=32-bit;;
adamc@1141 3292 *-n32|*"-n32 ") libmagic=N32;;
adamc@1141 3293 *-64|*"-64 ") libmagic=64-bit;;
adamc@1141 3294 *) libmagic=never-match;;
adamc@1141 3295 esac
adamc@1141 3296 lt_cv_deplibs_check_method=pass_all
adamc@1141 3297 ;;
adamc@1141 3298
adam@1599 3299 # This must be glibc/ELF.
adamc@1141 3300 linux* | k*bsd*-gnu | kopensolaris*-gnu)
adamc@1141 3301 lt_cv_deplibs_check_method=pass_all
adamc@1141 3302 ;;
adamc@1141 3303
adamc@1141 3304 netbsd* | netbsdelf*-gnu)
adamc@1141 3305 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
adamc@1141 3306 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
adamc@1141 3307 else
adamc@1141 3308 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
adamc@1141 3309 fi
adamc@1141 3310 ;;
adamc@1141 3311
adamc@1141 3312 newos6*)
adamc@1141 3313 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
adamc@1141 3314 lt_cv_file_magic_cmd=/usr/bin/file
adamc@1141 3315 lt_cv_file_magic_test_file=/usr/lib/libnls.so
adamc@1141 3316 ;;
adamc@1141 3317
adamc@1141 3318 *nto* | *qnx*)
adamc@1141 3319 lt_cv_deplibs_check_method=pass_all
adamc@1141 3320 ;;
adamc@1141 3321
adamc@1141 3322 openbsd*)
adamc@1141 3323 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
adamc@1141 3324 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
adamc@1141 3325 else
adamc@1141 3326 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
adamc@1141 3327 fi
adamc@1141 3328 ;;
adamc@1141 3329
adamc@1141 3330 osf3* | osf4* | osf5*)
adamc@1141 3331 lt_cv_deplibs_check_method=pass_all
adamc@1141 3332 ;;
adamc@1141 3333
adamc@1141 3334 rdos*)
adamc@1141 3335 lt_cv_deplibs_check_method=pass_all
adamc@1141 3336 ;;
adamc@1141 3337
adamc@1141 3338 solaris*)
adamc@1141 3339 lt_cv_deplibs_check_method=pass_all
adamc@1141 3340 ;;
adamc@1141 3341
adamc@1141 3342 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
adamc@1141 3343 lt_cv_deplibs_check_method=pass_all
adamc@1141 3344 ;;
adamc@1141 3345
adamc@1141 3346 sysv4 | sysv4.3*)
adamc@1141 3347 case $host_vendor in
adamc@1141 3348 motorola)
adamc@1141 3349 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]]'
adamc@1141 3350 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
adamc@1141 3351 ;;
adamc@1141 3352 ncr)
adamc@1141 3353 lt_cv_deplibs_check_method=pass_all
adamc@1141 3354 ;;
adamc@1141 3355 sequent)
adamc@1141 3356 lt_cv_file_magic_cmd='/bin/file'
adamc@1141 3357 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
adamc@1141 3358 ;;
adamc@1141 3359 sni)
adamc@1141 3360 lt_cv_file_magic_cmd='/bin/file'
adamc@1141 3361 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
adamc@1141 3362 lt_cv_file_magic_test_file=/lib/libc.so
adamc@1141 3363 ;;
adamc@1141 3364 siemens)
adamc@1141 3365 lt_cv_deplibs_check_method=pass_all
adamc@1141 3366 ;;
adamc@1141 3367 pc)
adamc@1141 3368 lt_cv_deplibs_check_method=pass_all
adamc@1141 3369 ;;
adamc@1141 3370 esac
adamc@1141 3371 ;;
adamc@1141 3372
adamc@1141 3373 tpf*)
adamc@1141 3374 lt_cv_deplibs_check_method=pass_all
adamc@1141 3375 ;;
adamc@1141 3376 esac
adamc@1141 3377 ])
adam@1459 3378
adam@1459 3379 file_magic_glob=
adam@1459 3380 want_nocaseglob=no
adam@1459 3381 if test "$build" = "$host"; then
adam@1459 3382 case $host_os in
adam@1459 3383 mingw* | pw32*)
adam@1459 3384 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
adam@1459 3385 want_nocaseglob=yes
adam@1459 3386 else
adam@1459 3387 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
adam@1459 3388 fi
adam@1459 3389 ;;
adam@1459 3390 esac
adam@1459 3391 fi
adam@1459 3392
adamc@1141 3393 file_magic_cmd=$lt_cv_file_magic_cmd
adamc@1141 3394 deplibs_check_method=$lt_cv_deplibs_check_method
adamc@1141 3395 test -z "$deplibs_check_method" && deplibs_check_method=unknown
adamc@1141 3396
adamc@1141 3397 _LT_DECL([], [deplibs_check_method], [1],
adamc@1141 3398 [Method to check whether dependent libraries are shared objects])
adamc@1141 3399 _LT_DECL([], [file_magic_cmd], [1],
adam@1459 3400 [Command to use when deplibs_check_method = "file_magic"])
adam@1459 3401 _LT_DECL([], [file_magic_glob], [1],
adam@1459 3402 [How to find potential files when deplibs_check_method = "file_magic"])
adam@1459 3403 _LT_DECL([], [want_nocaseglob], [1],
adam@1459 3404 [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
adamc@1141 3405 ])# _LT_CHECK_MAGIC_METHOD
adamc@1141 3406
adamc@1141 3407
adamc@1141 3408 # LT_PATH_NM
adamc@1141 3409 # ----------
adamc@1141 3410 # find the pathname to a BSD- or MS-compatible name lister
adamc@1141 3411 AC_DEFUN([LT_PATH_NM],
adamc@1141 3412 [AC_REQUIRE([AC_PROG_CC])dnl
adamc@1141 3413 AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
adamc@1141 3414 [if test -n "$NM"; then
adamc@1141 3415 # Let the user override the test.
adamc@1141 3416 lt_cv_path_NM="$NM"
adamc@1141 3417 else
adamc@1141 3418 lt_nm_to_check="${ac_tool_prefix}nm"
adamc@1141 3419 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
adamc@1141 3420 lt_nm_to_check="$lt_nm_to_check nm"
adamc@1141 3421 fi
adamc@1141 3422 for lt_tmp_nm in $lt_nm_to_check; do
adamc@1141 3423 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
adamc@1141 3424 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
adamc@1141 3425 IFS="$lt_save_ifs"
adamc@1141 3426 test -z "$ac_dir" && ac_dir=.
adamc@1141 3427 tmp_nm="$ac_dir/$lt_tmp_nm"
adamc@1141 3428 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
adamc@1141 3429 # Check to see if the nm accepts a BSD-compat flag.
adamc@1141 3430 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
adamc@1141 3431 # nm: unknown option "B" ignored
adamc@1141 3432 # Tru64's nm complains that /dev/null is an invalid object file
adamc@1141 3433 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
adamc@1141 3434 */dev/null* | *'Invalid file or object type'*)
adamc@1141 3435 lt_cv_path_NM="$tmp_nm -B"
adamc@1141 3436 break
adamc@1141 3437 ;;
adamc@1141 3438 *)
adamc@1141 3439 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
adamc@1141 3440 */dev/null*)
adamc@1141 3441 lt_cv_path_NM="$tmp_nm -p"
adamc@1141 3442 break
adamc@1141 3443 ;;
adamc@1141 3444 *)
adamc@1141 3445 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
adamc@1141 3446 continue # so that we can try to find one that supports BSD flags
adamc@1141 3447 ;;
adamc@1141 3448 esac
adamc@1141 3449 ;;
adamc@1141 3450 esac
adamc@1141 3451 fi
adamc@1141 3452 done
adamc@1141 3453 IFS="$lt_save_ifs"
adamc@1141 3454 done
adamc@1141 3455 : ${lt_cv_path_NM=no}
adamc@1141 3456 fi])
adamc@1141 3457 if test "$lt_cv_path_NM" != "no"; then
adamc@1141 3458 NM="$lt_cv_path_NM"
adamc@1141 3459 else
adamc@1141 3460 # Didn't find any BSD compatible name lister, look for dumpbin.
adam@1459 3461 if test -n "$DUMPBIN"; then :
adam@1459 3462 # Let the user override the test.
adam@1459 3463 else
adam@1459 3464 AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
adam@1459 3465 case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
adam@1459 3466 *COFF*)
adam@1459 3467 DUMPBIN="$DUMPBIN -symbols"
adam@1459 3468 ;;
adam@1459 3469 *)
adam@1459 3470 DUMPBIN=:
adam@1459 3471 ;;
adam@1459 3472 esac
adam@1459 3473 fi
adamc@1141 3474 AC_SUBST([DUMPBIN])
adamc@1141 3475 if test "$DUMPBIN" != ":"; then
adamc@1141 3476 NM="$DUMPBIN"
adamc@1141 3477 fi
adamc@1141 3478 fi
adamc@1141 3479 test -z "$NM" && NM=nm
adamc@1141 3480 AC_SUBST([NM])
adamc@1141 3481 _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
adamc@1141 3482
adamc@1141 3483 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
adamc@1141 3484 [lt_cv_nm_interface="BSD nm"
adamc@1141 3485 echo "int some_variable = 0;" > conftest.$ac_ext
adam@1459 3486 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
adamc@1141 3487 (eval "$ac_compile" 2>conftest.err)
adamc@1141 3488 cat conftest.err >&AS_MESSAGE_LOG_FD
adam@1459 3489 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
adamc@1141 3490 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
adamc@1141 3491 cat conftest.err >&AS_MESSAGE_LOG_FD
adam@1459 3492 (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
adamc@1141 3493 cat conftest.out >&AS_MESSAGE_LOG_FD
adamc@1141 3494 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
adamc@1141 3495 lt_cv_nm_interface="MS dumpbin"
adamc@1141 3496 fi
adamc@1141 3497 rm -f conftest*])
adamc@1141 3498 ])# LT_PATH_NM
adamc@1141 3499
adamc@1141 3500 # Old names:
adamc@1141 3501 AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
adamc@1141 3502 AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
adamc@1141 3503 dnl aclocal-1.4 backwards compatibility:
adamc@1141 3504 dnl AC_DEFUN([AM_PROG_NM], [])
adamc@1141 3505 dnl AC_DEFUN([AC_PROG_NM], [])
adamc@1141 3506
adam@1459 3507 # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
adam@1459 3508 # --------------------------------
adam@1459 3509 # how to determine the name of the shared library
adam@1459 3510 # associated with a specific link library.
adam@1459 3511 # -- PORTME fill in with the dynamic library characteristics
adam@1459 3512 m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
adam@1459 3513 [m4_require([_LT_DECL_EGREP])
adam@1459 3514 m4_require([_LT_DECL_OBJDUMP])
adam@1459 3515 m4_require([_LT_DECL_DLLTOOL])
adam@1459 3516 AC_CACHE_CHECK([how to associate runtime and link libraries],
adam@1459 3517 lt_cv_sharedlib_from_linklib_cmd,
adam@1459 3518 [lt_cv_sharedlib_from_linklib_cmd='unknown'
adam@1459 3519
adam@1459 3520 case $host_os in
adam@1459 3521 cygwin* | mingw* | pw32* | cegcc*)
adam@1459 3522 # two different shell functions defined in ltmain.sh
adam@1459 3523 # decide which to use based on capabilities of $DLLTOOL
adam@1459 3524 case `$DLLTOOL --help 2>&1` in
adam@1459 3525 *--identify-strict*)
adam@1459 3526 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
adam@1459 3527 ;;
adam@1459 3528 *)
adam@1459 3529 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
adam@1459 3530 ;;
adam@1459 3531 esac
adam@1459 3532 ;;
adam@1459 3533 *)
adam@1459 3534 # fallback: assume linklib IS sharedlib
adam@1459 3535 lt_cv_sharedlib_from_linklib_cmd="$ECHO"
adam@1459 3536 ;;
adam@1459 3537 esac
adam@1459 3538 ])
adam@1459 3539 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
adam@1459 3540 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
adam@1459 3541
adam@1459 3542 _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
adam@1459 3543 [Command to associate shared and link libraries])
adam@1459 3544 ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
adam@1459 3545
adam@1459 3546
adam@1459 3547 # _LT_PATH_MANIFEST_TOOL
adam@1459 3548 # ----------------------
adam@1459 3549 # locate the manifest tool
adam@1459 3550 m4_defun([_LT_PATH_MANIFEST_TOOL],
adam@1459 3551 [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
adam@1459 3552 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
adam@1459 3553 AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
adam@1459 3554 [lt_cv_path_mainfest_tool=no
adam@1459 3555 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
adam@1459 3556 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
adam@1459 3557 cat conftest.err >&AS_MESSAGE_LOG_FD
adam@1459 3558 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
adam@1459 3559 lt_cv_path_mainfest_tool=yes
adam@1459 3560 fi
adam@1459 3561 rm -f conftest*])
adam@1459 3562 if test "x$lt_cv_path_mainfest_tool" != xyes; then
adam@1459 3563 MANIFEST_TOOL=:
adam@1459 3564 fi
adam@1459 3565 _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
adam@1459 3566 ])# _LT_PATH_MANIFEST_TOOL
adam@1459 3567
adamc@1141 3568
adamc@1141 3569 # LT_LIB_M
adamc@1141 3570 # --------
adamc@1141 3571 # check for math library
adamc@1141 3572 AC_DEFUN([LT_LIB_M],
adamc@1141 3573 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
adamc@1141 3574 LIBM=
adamc@1141 3575 case $host in
adam@1459 3576 *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
adamc@1141 3577 # These system don't have libm, or don't need it
adamc@1141 3578 ;;
adamc@1141 3579 *-ncr-sysv4.3*)
adamc@1141 3580 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
adamc@1141 3581 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
adamc@1141 3582 ;;
adamc@1141 3583 *)
adamc@1141 3584 AC_CHECK_LIB(m, cos, LIBM="-lm")
adamc@1141 3585 ;;
adamc@1141 3586 esac
adamc@1141 3587 AC_SUBST([LIBM])
adamc@1141 3588 ])# LT_LIB_M
adamc@1141 3589
adamc@1141 3590 # Old name:
adamc@1141 3591 AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
adamc@1141 3592 dnl aclocal-1.4 backwards compatibility:
adamc@1141 3593 dnl AC_DEFUN([AC_CHECK_LIBM], [])
adamc@1141 3594
adamc@1141 3595
adamc@1141 3596 # _LT_COMPILER_NO_RTTI([TAGNAME])
adamc@1141 3597 # -------------------------------
adamc@1141 3598 m4_defun([_LT_COMPILER_NO_RTTI],
adamc@1141 3599 [m4_require([_LT_TAG_COMPILER])dnl
adamc@1141 3600
adamc@1141 3601 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
adamc@1141 3602
adamc@1141 3603 if test "$GCC" = yes; then
adam@1459 3604 case $cc_basename in
adam@1459 3605 nvcc*)
adam@1459 3606 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
adam@1459 3607 *)
adam@1459 3608 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
adam@1459 3609 esac
adamc@1141 3610
adamc@1141 3611 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
adamc@1141 3612 lt_cv_prog_compiler_rtti_exceptions,
adamc@1141 3613 [-fno-rtti -fno-exceptions], [],
adamc@1141 3614 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
adamc@1141 3615 fi
adamc@1141 3616 _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
adamc@1141 3617 [Compiler flag to turn off builtin functions])
adamc@1141 3618 ])# _LT_COMPILER_NO_RTTI
adamc@1141 3619
adamc@1141 3620
adamc@1141 3621 # _LT_CMD_GLOBAL_SYMBOLS
adamc@1141 3622 # ----------------------
adamc@1141 3623 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
adamc@1141 3624 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
adamc@1141 3625 AC_REQUIRE([AC_PROG_CC])dnl
adam@1459 3626 AC_REQUIRE([AC_PROG_AWK])dnl
adamc@1141 3627 AC_REQUIRE([LT_PATH_NM])dnl
adamc@1141 3628 AC_REQUIRE([LT_PATH_LD])dnl
adamc@1141 3629 m4_require([_LT_DECL_SED])dnl
adamc@1141 3630 m4_require([_LT_DECL_EGREP])dnl
adamc@1141 3631 m4_require([_LT_TAG_COMPILER])dnl
adamc@1141 3632
adamc@1141 3633 # Check for command to grab the raw symbol name followed by C symbol from nm.
adamc@1141 3634 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
adamc@1141 3635 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
adamc@1141 3636 [
adamc@1141 3637 # These are sane defaults that work on at least a few old systems.
adamc@1141 3638 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
adamc@1141 3639
adamc@1141 3640 # Character class describing NM global symbol codes.
adamc@1141 3641 symcode='[[BCDEGRST]]'
adamc@1141 3642
adamc@1141 3643 # Regexp to match symbols that can be accessed directly from C.
adamc@1141 3644 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
adamc@1141 3645
adamc@1141 3646 # Define system-specific variables.
adamc@1141 3647 case $host_os in
adamc@1141 3648 aix*)
adamc@1141 3649 symcode='[[BCDT]]'
adamc@1141 3650 ;;
adamc@1141 3651 cygwin* | mingw* | pw32* | cegcc*)
adamc@1141 3652 symcode='[[ABCDGISTW]]'
adamc@1141 3653 ;;
adamc@1141 3654 hpux*)
adamc@1141 3655 if test "$host_cpu" = ia64; then
adamc@1141 3656 symcode='[[ABCDEGRST]]'
adamc@1141 3657 fi
adamc@1141 3658 ;;
adamc@1141 3659 irix* | nonstopux*)
adamc@1141 3660 symcode='[[BCDEGRST]]'
adamc@1141 3661 ;;
adamc@1141 3662 osf*)
adamc@1141 3663 symcode='[[BCDEGQRST]]'
adamc@1141 3664 ;;
adamc@1141 3665 solaris*)
adamc@1141 3666 symcode='[[BDRT]]'
adamc@1141 3667 ;;
adamc@1141 3668 sco3.2v5*)
adamc@1141 3669 symcode='[[DT]]'
adamc@1141 3670 ;;
adamc@1141 3671 sysv4.2uw2*)
adamc@1141 3672 symcode='[[DT]]'
adamc@1141 3673 ;;
adamc@1141 3674 sysv5* | sco5v6* | unixware* | OpenUNIX*)
adamc@1141 3675 symcode='[[ABDT]]'
adamc@1141 3676 ;;
adamc@1141 3677 sysv4)
adamc@1141 3678 symcode='[[DFNSTU]]'
adamc@1141 3679 ;;
adamc@1141 3680 esac
adamc@1141 3681
adamc@1141 3682 # If we're using GNU nm, then use its standard symbol codes.
adamc@1141 3683 case `$NM -V 2>&1` in
adamc@1141 3684 *GNU* | *'with BFD'*)
adamc@1141 3685 symcode='[[ABCDGIRSTW]]' ;;
adamc@1141 3686 esac
adamc@1141 3687
adamc@1141 3688 # Transform an extracted symbol line into a proper C declaration.
adamc@1141 3689 # Some systems (esp. on ia64) link data and code symbols differently,
adamc@1141 3690 # so use this general approach.
adamc@1141 3691 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
adamc@1141 3692
adamc@1141 3693 # Transform an extracted symbol line into symbol name and symbol address
adam@1459 3694 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
adam@1459 3695 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
adamc@1141 3696
adamc@1141 3697 # Handle CRLF in mingw tool chain
adamc@1141 3698 opt_cr=
adamc@1141 3699 case $build_os in
adamc@1141 3700 mingw*)
adamc@1141 3701 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
adamc@1141 3702 ;;
adamc@1141 3703 esac
adamc@1141 3704
adamc@1141 3705 # Try without a prefix underscore, then with it.
adamc@1141 3706 for ac_symprfx in "" "_"; do
adamc@1141 3707
adamc@1141 3708 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
adamc@1141 3709 symxfrm="\\1 $ac_symprfx\\2 \\2"
adamc@1141 3710
adamc@1141 3711 # Write the raw and C identifiers.
adamc@1141 3712 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
adamc@1141 3713 # Fake it for dumpbin and say T for any non-static function
adamc@1141 3714 # and D for any global variable.
adamc@1141 3715 # Also find C++ and __fastcall symbols from MSVC++,
adamc@1141 3716 # which start with @ or ?.
adamc@1141 3717 lt_cv_sys_global_symbol_pipe="$AWK ['"\
adamc@1141 3718 " {last_section=section; section=\$ 3};"\
adam@1599 3719 " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
adamc@1141 3720 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
adamc@1141 3721 " \$ 0!~/External *\|/{next};"\
adamc@1141 3722 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
adamc@1141 3723 " {if(hide[section]) next};"\
adamc@1141 3724 " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
adamc@1141 3725 " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
adamc@1141 3726 " s[1]~/^[@?]/{print s[1], s[1]; next};"\
adamc@1141 3727 " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
adamc@1141 3728 " ' prfx=^$ac_symprfx]"
adamc@1141 3729 else
adamc@1141 3730 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
adamc@1141 3731 fi
adam@1459 3732 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
adamc@1141 3733
adamc@1141 3734 # Check to see that the pipe works correctly.
adamc@1141 3735 pipe_works=no
adamc@1141 3736
adamc@1141 3737 rm -f conftest*
adamc@1141 3738 cat > conftest.$ac_ext <<_LT_EOF
adamc@1141 3739 #ifdef __cplusplus
adamc@1141 3740 extern "C" {
adamc@1141 3741 #endif
adamc@1141 3742 char nm_test_var;
adamc@1141 3743 void nm_test_func(void);
adamc@1141 3744 void nm_test_func(void){}
adamc@1141 3745 #ifdef __cplusplus
adamc@1141 3746 }
adamc@1141 3747 #endif
adamc@1141 3748 int main(){nm_test_var='a';nm_test_func();return(0);}
adamc@1141 3749 _LT_EOF
adamc@1141 3750
adamc@1141 3751 if AC_TRY_EVAL(ac_compile); then
adamc@1141 3752 # Now try to grab the symbols.
adamc@1141 3753 nlist=conftest.nm
adam@1459 3754 if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
adamc@1141 3755 # Try sorting and uniquifying the output.
adamc@1141 3756 if sort "$nlist" | uniq > "$nlist"T; then
adamc@1141 3757 mv -f "$nlist"T "$nlist"
adamc@1141 3758 else
adamc@1141 3759 rm -f "$nlist"T
adamc@1141 3760 fi
adamc@1141 3761
adamc@1141 3762 # Make sure that we snagged all the symbols we need.
adamc@1141 3763 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
adamc@1141 3764 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
adamc@1141 3765 cat <<_LT_EOF > conftest.$ac_ext
adam@1459 3766 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
adam@1459 3767 #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
adam@1459 3768 /* DATA imports from DLLs on WIN32 con't be const, because runtime
adam@1459 3769 relocations are performed -- see ld's documentation on pseudo-relocs. */
adam@1459 3770 # define LT@&t@_DLSYM_CONST
adam@1459 3771 #elif defined(__osf__)
adam@1459 3772 /* This system does not cope well with relocations in const data. */
adam@1459 3773 # define LT@&t@_DLSYM_CONST
adam@1459 3774 #else
adam@1459 3775 # define LT@&t@_DLSYM_CONST const
adam@1459 3776 #endif
adam@1459 3777
adamc@1141 3778 #ifdef __cplusplus
adamc@1141 3779 extern "C" {
adamc@1141 3780 #endif
adamc@1141 3781
adamc@1141 3782 _LT_EOF
adamc@1141 3783 # Now generate the symbol file.
adamc@1141 3784 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
adamc@1141 3785
adamc@1141 3786 cat <<_LT_EOF >> conftest.$ac_ext
adamc@1141 3787
adamc@1141 3788 /* The mapping between symbol names and symbols. */
adam@1459 3789 LT@&t@_DLSYM_CONST struct {
adamc@1141 3790 const char *name;
adamc@1141 3791 void *address;
adamc@1141 3792 }
adamc@1141 3793 lt__PROGRAM__LTX_preloaded_symbols[[]] =
adamc@1141 3794 {
adamc@1141 3795 { "@PROGRAM@", (void *) 0 },
adamc@1141 3796 _LT_EOF
adamc@1141 3797 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
adamc@1141 3798 cat <<\_LT_EOF >> conftest.$ac_ext
adamc@1141 3799 {0, (void *) 0}
adamc@1141 3800 };
adamc@1141 3801
adamc@1141 3802 /* This works around a problem in FreeBSD linker */
adamc@1141 3803 #ifdef FREEBSD_WORKAROUND
adamc@1141 3804 static const void *lt_preloaded_setup() {
adamc@1141 3805 return lt__PROGRAM__LTX_preloaded_symbols;
adamc@1141 3806 }
adamc@1141 3807 #endif
adamc@1141 3808
adamc@1141 3809 #ifdef __cplusplus
adamc@1141 3810 }
adamc@1141 3811 #endif
adamc@1141 3812 _LT_EOF
adamc@1141 3813 # Now try linking the two files.
adamc@1141 3814 mv conftest.$ac_objext conftstm.$ac_objext
adam@1459 3815 lt_globsym_save_LIBS=$LIBS
adam@1459 3816 lt_globsym_save_CFLAGS=$CFLAGS
adamc@1141 3817 LIBS="conftstm.$ac_objext"
adamc@1141 3818 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
adamc@1141 3819 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
adamc@1141 3820 pipe_works=yes
adamc@1141 3821 fi
adam@1459 3822 LIBS=$lt_globsym_save_LIBS
adam@1459 3823 CFLAGS=$lt_globsym_save_CFLAGS
adamc@1141 3824 else
adamc@1141 3825 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
adamc@1141 3826 fi
adamc@1141 3827 else
adamc@1141 3828 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
adamc@1141 3829 fi
adamc@1141 3830 else
adamc@1141 3831 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
adamc@1141 3832 fi
adamc@1141 3833 else
adamc@1141 3834 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
adamc@1141 3835 cat conftest.$ac_ext >&5
adamc@1141 3836 fi
adamc@1141 3837 rm -rf conftest* conftst*
adamc@1141 3838
adamc@1141 3839 # Do not use the global_symbol_pipe unless it works.
adamc@1141 3840 if test "$pipe_works" = yes; then
adamc@1141 3841 break
adamc@1141 3842 else
adamc@1141 3843 lt_cv_sys_global_symbol_pipe=
adamc@1141 3844 fi
adamc@1141 3845 done
adamc@1141 3846 ])
adamc@1141 3847 if test -z "$lt_cv_sys_global_symbol_pipe"; then
adamc@1141 3848 lt_cv_sys_global_symbol_to_cdecl=
adamc@1141 3849 fi
adamc@1141 3850 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
adamc@1141 3851 AC_MSG_RESULT(failed)
adamc@1141 3852 else
adamc@1141 3853 AC_MSG_RESULT(ok)
adamc@1141 3854 fi
adamc@1141 3855
adam@1459 3856 # Response file support.
adam@1459 3857 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
adam@1459 3858 nm_file_list_spec='@'
adam@1459 3859 elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
adam@1459 3860 nm_file_list_spec='@'
adam@1459 3861 fi
adam@1459 3862
adamc@1141 3863 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
adamc@1141 3864 [Take the output of nm and produce a listing of raw symbols and C names])
adamc@1141 3865 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
adamc@1141 3866 [Transform the output of nm in a proper C declaration])
adamc@1141 3867 _LT_DECL([global_symbol_to_c_name_address],
adamc@1141 3868 [lt_cv_sys_global_symbol_to_c_name_address], [1],
adamc@1141 3869 [Transform the output of nm in a C name address pair])
adamc@1141 3870 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
adamc@1141 3871 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
adamc@1141 3872 [Transform the output of nm in a C name address pair when lib prefix is needed])
adam@1459 3873 _LT_DECL([], [nm_file_list_spec], [1],
adam@1459 3874 [Specify filename containing input files for $NM])
adamc@1141 3875 ]) # _LT_CMD_GLOBAL_SYMBOLS
adamc@1141 3876
adamc@1141 3877
adamc@1141 3878 # _LT_COMPILER_PIC([TAGNAME])
adamc@1141 3879 # ---------------------------
adamc@1141 3880 m4_defun([_LT_COMPILER_PIC],
adamc@1141 3881 [m4_require([_LT_TAG_COMPILER])dnl
adamc@1141 3882 _LT_TAGVAR(lt_prog_compiler_wl, $1)=
adamc@1141 3883 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
adamc@1141 3884 _LT_TAGVAR(lt_prog_compiler_static, $1)=
adamc@1141 3885
adamc@1141 3886 m4_if([$1], [CXX], [
adamc@1141 3887 # C++ specific cases for pic, static, wl, etc.
adamc@1141 3888 if test "$GXX" = yes; then
adamc@1141 3889 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 3890 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
adamc@1141 3891
adamc@1141 3892 case $host_os in
adamc@1141 3893 aix*)
adamc@1141 3894 # All AIX code is PIC.
adamc@1141 3895 if test "$host_cpu" = ia64; then
adamc@1141 3896 # AIX 5 now supports IA64 processor
adamc@1141 3897 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 3898 fi
adamc@1141 3899 ;;
adamc@1141 3900
adamc@1141 3901 amigaos*)
adamc@1141 3902 case $host_cpu in
adamc@1141 3903 powerpc)
adamc@1141 3904 # see comment about AmigaOS4 .so support
adamc@1141 3905 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 3906 ;;
adamc@1141 3907 m68k)
adamc@1141 3908 # FIXME: we need at least 68020 code to build shared libraries, but
adamc@1141 3909 # adding the `-m68020' flag to GCC prevents building anything better,
adamc@1141 3910 # like `-m68040'.
adamc@1141 3911 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
adamc@1141 3912 ;;
adamc@1141 3913 esac
adamc@1141 3914 ;;
adamc@1141 3915
adamc@1141 3916 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
adamc@1141 3917 # PIC is the default for these OSes.
adamc@1141 3918 ;;
adamc@1141 3919 mingw* | cygwin* | os2* | pw32* | cegcc*)
adamc@1141 3920 # This hack is so that the source file can tell whether it is being
adamc@1141 3921 # built for inclusion in a dll (and should export symbols for example).
adamc@1141 3922 # Although the cygwin gcc ignores -fPIC, still need this for old-style
adamc@1141 3923 # (--disable-auto-import) libraries
adamc@1141 3924 m4_if([$1], [GCJ], [],
adamc@1141 3925 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
adamc@1141 3926 ;;
adamc@1141 3927 darwin* | rhapsody*)
adamc@1141 3928 # PIC is the default on this platform
adamc@1141 3929 # Common symbols not allowed in MH_DYLIB files
adamc@1141 3930 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
adamc@1141 3931 ;;
adamc@1141 3932 *djgpp*)
adamc@1141 3933 # DJGPP does not support shared libraries at all
adamc@1141 3934 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
adamc@1141 3935 ;;
adam@1459 3936 haiku*)
adam@1459 3937 # PIC is the default for Haiku.
adam@1459 3938 # The "-static" flag exists, but is broken.
adam@1459 3939 _LT_TAGVAR(lt_prog_compiler_static, $1)=
adam@1459 3940 ;;
adamc@1141 3941 interix[[3-9]]*)
adamc@1141 3942 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
adamc@1141 3943 # Instead, we relocate shared libraries at runtime.
adamc@1141 3944 ;;
adamc@1141 3945 sysv4*MP*)
adamc@1141 3946 if test -d /usr/nec; then
adamc@1141 3947 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
adamc@1141 3948 fi
adamc@1141 3949 ;;
adamc@1141 3950 hpux*)
adamc@1141 3951 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
adamc@1141 3952 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
adamc@1141 3953 # sets the default TLS model and affects inlining.
adamc@1141 3954 case $host_cpu in
adamc@1141 3955 hppa*64*)
adamc@1141 3956 ;;
adamc@1141 3957 *)
adamc@1141 3958 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 3959 ;;
adamc@1141 3960 esac
adamc@1141 3961 ;;
adamc@1141 3962 *qnx* | *nto*)
adamc@1141 3963 # QNX uses GNU C++, but need to define -shared option too, otherwise
adamc@1141 3964 # it will coredump.
adamc@1141 3965 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
adamc@1141 3966 ;;
adamc@1141 3967 *)
adamc@1141 3968 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 3969 ;;
adamc@1141 3970 esac
adamc@1141 3971 else
adamc@1141 3972 case $host_os in
adamc@1141 3973 aix[[4-9]]*)
adamc@1141 3974 # All AIX code is PIC.
adamc@1141 3975 if test "$host_cpu" = ia64; then
adamc@1141 3976 # AIX 5 now supports IA64 processor
adamc@1141 3977 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 3978 else
adamc@1141 3979 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
adamc@1141 3980 fi
adamc@1141 3981 ;;
adamc@1141 3982 chorus*)
adamc@1141 3983 case $cc_basename in
adamc@1141 3984 cxch68*)
adamc@1141 3985 # Green Hills C++ Compiler
adamc@1141 3986 # _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"
adamc@1141 3987 ;;
adamc@1141 3988 esac
adamc@1141 3989 ;;
adam@1459 3990 mingw* | cygwin* | os2* | pw32* | cegcc*)
adam@1459 3991 # This hack is so that the source file can tell whether it is being
adam@1459 3992 # built for inclusion in a dll (and should export symbols for example).
adam@1459 3993 m4_if([$1], [GCJ], [],
adam@1459 3994 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
adam@1459 3995 ;;
adamc@1141 3996 dgux*)
adamc@1141 3997 case $cc_basename in
adamc@1141 3998 ec++*)
adamc@1141 3999 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4000 ;;
adamc@1141 4001 ghcx*)
adamc@1141 4002 # Green Hills C++ Compiler
adamc@1141 4003 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
adamc@1141 4004 ;;
adamc@1141 4005 *)
adamc@1141 4006 ;;
adamc@1141 4007 esac
adamc@1141 4008 ;;
adamc@1141 4009 freebsd* | dragonfly*)
adamc@1141 4010 # FreeBSD uses GNU C++
adamc@1141 4011 ;;
adamc@1141 4012 hpux9* | hpux10* | hpux11*)
adamc@1141 4013 case $cc_basename in
adamc@1141 4014 CC*)
adamc@1141 4015 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4016 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
adamc@1141 4017 if test "$host_cpu" != ia64; then
adamc@1141 4018 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
adamc@1141 4019 fi
adamc@1141 4020 ;;
adamc@1141 4021 aCC*)
adamc@1141 4022 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4023 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
adamc@1141 4024 case $host_cpu in
adamc@1141 4025 hppa*64*|ia64*)
adamc@1141 4026 # +Z the default
adamc@1141 4027 ;;
adamc@1141 4028 *)
adamc@1141 4029 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
adamc@1141 4030 ;;
adamc@1141 4031 esac
adamc@1141 4032 ;;
adamc@1141 4033 *)
adamc@1141 4034 ;;
adamc@1141 4035 esac
adamc@1141 4036 ;;
adamc@1141 4037 interix*)
adamc@1141 4038 # This is c89, which is MS Visual C++ (no shared libs)
adamc@1141 4039 # Anyone wants to do a port?
adamc@1141 4040 ;;
adamc@1141 4041 irix5* | irix6* | nonstopux*)
adamc@1141 4042 case $cc_basename in
adamc@1141 4043 CC*)
adamc@1141 4044 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4045 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
adamc@1141 4046 # CC pic flag -KPIC is the default.
adamc@1141 4047 ;;
adamc@1141 4048 *)
adamc@1141 4049 ;;
adamc@1141 4050 esac
adamc@1141 4051 ;;
adamc@1141 4052 linux* | k*bsd*-gnu | kopensolaris*-gnu)
adamc@1141 4053 case $cc_basename in
adamc@1141 4054 KCC*)
adamc@1141 4055 # KAI C++ Compiler
adamc@1141 4056 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
adamc@1141 4057 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 4058 ;;
adamc@1141 4059 ecpc* )
adamc@1141 4060 # old Intel C++ for x86_64 which still supported -KPIC.
adamc@1141 4061 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4062 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4063 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
adamc@1141 4064 ;;
adamc@1141 4065 icpc* )
adamc@1141 4066 # Intel C++, used to be incompatible with GCC.
adamc@1141 4067 # ICC 10 doesn't accept -KPIC any more.
adamc@1141 4068 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4069 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 4070 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
adamc@1141 4071 ;;
adamc@1141 4072 pgCC* | pgcpp*)
adamc@1141 4073 # Portland Group C++ compiler
adamc@1141 4074 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4075 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
adamc@1141 4076 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4077 ;;
adamc@1141 4078 cxx*)
adamc@1141 4079 # Compaq C++
adamc@1141 4080 # Make sure the PIC flag is empty. It appears that all Alpha
adamc@1141 4081 # Linux and Compaq Tru64 Unix objects are PIC.
adamc@1141 4082 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
adamc@1141 4083 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
adamc@1141 4084 ;;
adam@1459 4085 xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
adam@1459 4086 # IBM XL 8.0, 9.0 on PPC and BlueGene
adamc@1141 4087 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4088 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
adamc@1141 4089 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
adamc@1141 4090 ;;
adamc@1141 4091 *)
adamc@1141 4092 case `$CC -V 2>&1 | sed 5q` in
adamc@1141 4093 *Sun\ C*)
adamc@1141 4094 # Sun C++ 5.9
adamc@1141 4095 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4096 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4097 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
adamc@1141 4098 ;;
adamc@1141 4099 esac
adamc@1141 4100 ;;
adamc@1141 4101 esac
adamc@1141 4102 ;;
adamc@1141 4103 lynxos*)
adamc@1141 4104 ;;
adamc@1141 4105 m88k*)
adamc@1141 4106 ;;
adamc@1141 4107 mvs*)
adamc@1141 4108 case $cc_basename in
adamc@1141 4109 cxx*)
adamc@1141 4110 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
adamc@1141 4111 ;;
adamc@1141 4112 *)
adamc@1141 4113 ;;
adamc@1141 4114 esac
adamc@1141 4115 ;;
adamc@1141 4116 netbsd* | netbsdelf*-gnu)
adamc@1141 4117 ;;
adamc@1141 4118 *qnx* | *nto*)
adamc@1141 4119 # QNX uses GNU C++, but need to define -shared option too, otherwise
adamc@1141 4120 # it will coredump.
adamc@1141 4121 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
adamc@1141 4122 ;;
adamc@1141 4123 osf3* | osf4* | osf5*)
adamc@1141 4124 case $cc_basename in
adamc@1141 4125 KCC*)
adamc@1141 4126 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
adamc@1141 4127 ;;
adamc@1141 4128 RCC*)
adamc@1141 4129 # Rational C++ 2.4.1
adamc@1141 4130 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
adamc@1141 4131 ;;
adamc@1141 4132 cxx*)
adamc@1141 4133 # Digital/Compaq C++
adamc@1141 4134 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4135 # Make sure the PIC flag is empty. It appears that all Alpha
adamc@1141 4136 # Linux and Compaq Tru64 Unix objects are PIC.
adamc@1141 4137 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
adamc@1141 4138 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
adamc@1141 4139 ;;
adamc@1141 4140 *)
adamc@1141 4141 ;;
adamc@1141 4142 esac
adamc@1141 4143 ;;
adamc@1141 4144 psos*)
adamc@1141 4145 ;;
adamc@1141 4146 solaris*)
adamc@1141 4147 case $cc_basename in
adam@1459 4148 CC* | sunCC*)
adamc@1141 4149 # Sun C++ 4.2, 5.x and Centerline C++
adamc@1141 4150 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4151 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4152 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
adamc@1141 4153 ;;
adamc@1141 4154 gcx*)
adamc@1141 4155 # Green Hills C++ Compiler
adamc@1141 4156 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
adamc@1141 4157 ;;
adamc@1141 4158 *)
adamc@1141 4159 ;;
adamc@1141 4160 esac
adamc@1141 4161 ;;
adamc@1141 4162 sunos4*)
adamc@1141 4163 case $cc_basename in
adamc@1141 4164 CC*)
adamc@1141 4165 # Sun C++ 4.x
adamc@1141 4166 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
adamc@1141 4167 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4168 ;;
adamc@1141 4169 lcc*)
adamc@1141 4170 # Lucid
adamc@1141 4171 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
adamc@1141 4172 ;;
adamc@1141 4173 *)
adamc@1141 4174 ;;
adamc@1141 4175 esac
adamc@1141 4176 ;;
adamc@1141 4177 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
adamc@1141 4178 case $cc_basename in
adamc@1141 4179 CC*)
adamc@1141 4180 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4181 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4182 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4183 ;;
adamc@1141 4184 esac
adamc@1141 4185 ;;
adamc@1141 4186 tandem*)
adamc@1141 4187 case $cc_basename in
adamc@1141 4188 NCC*)
adamc@1141 4189 # NonStop-UX NCC 3.20
adamc@1141 4190 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4191 ;;
adamc@1141 4192 *)
adamc@1141 4193 ;;
adamc@1141 4194 esac
adamc@1141 4195 ;;
adamc@1141 4196 vxworks*)
adamc@1141 4197 ;;
adamc@1141 4198 *)
adamc@1141 4199 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
adamc@1141 4200 ;;
adamc@1141 4201 esac
adamc@1141 4202 fi
adamc@1141 4203 ],
adamc@1141 4204 [
adamc@1141 4205 if test "$GCC" = yes; then
adamc@1141 4206 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4207 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
adamc@1141 4208
adamc@1141 4209 case $host_os in
adamc@1141 4210 aix*)
adamc@1141 4211 # All AIX code is PIC.
adamc@1141 4212 if test "$host_cpu" = ia64; then
adamc@1141 4213 # AIX 5 now supports IA64 processor
adamc@1141 4214 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4215 fi
adamc@1141 4216 ;;
adamc@1141 4217
adamc@1141 4218 amigaos*)
adamc@1141 4219 case $host_cpu in
adamc@1141 4220 powerpc)
adamc@1141 4221 # see comment about AmigaOS4 .so support
adamc@1141 4222 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 4223 ;;
adamc@1141 4224 m68k)
adamc@1141 4225 # FIXME: we need at least 68020 code to build shared libraries, but
adamc@1141 4226 # adding the `-m68020' flag to GCC prevents building anything better,
adamc@1141 4227 # like `-m68040'.
adamc@1141 4228 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
adamc@1141 4229 ;;
adamc@1141 4230 esac
adamc@1141 4231 ;;
adamc@1141 4232
adamc@1141 4233 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
adamc@1141 4234 # PIC is the default for these OSes.
adamc@1141 4235 ;;
adamc@1141 4236
adamc@1141 4237 mingw* | cygwin* | pw32* | os2* | cegcc*)
adamc@1141 4238 # This hack is so that the source file can tell whether it is being
adamc@1141 4239 # built for inclusion in a dll (and should export symbols for example).
adamc@1141 4240 # Although the cygwin gcc ignores -fPIC, still need this for old-style
adamc@1141 4241 # (--disable-auto-import) libraries
adamc@1141 4242 m4_if([$1], [GCJ], [],
adamc@1141 4243 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
adamc@1141 4244 ;;
adamc@1141 4245
adamc@1141 4246 darwin* | rhapsody*)
adamc@1141 4247 # PIC is the default on this platform
adamc@1141 4248 # Common symbols not allowed in MH_DYLIB files
adamc@1141 4249 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
adamc@1141 4250 ;;
adamc@1141 4251
adam@1459 4252 haiku*)
adam@1459 4253 # PIC is the default for Haiku.
adam@1459 4254 # The "-static" flag exists, but is broken.
adam@1459 4255 _LT_TAGVAR(lt_prog_compiler_static, $1)=
adam@1459 4256 ;;
adam@1459 4257
adamc@1141 4258 hpux*)
adamc@1141 4259 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
adamc@1141 4260 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
adamc@1141 4261 # sets the default TLS model and affects inlining.
adamc@1141 4262 case $host_cpu in
adamc@1141 4263 hppa*64*)
adamc@1141 4264 # +Z the default
adamc@1141 4265 ;;
adamc@1141 4266 *)
adamc@1141 4267 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 4268 ;;
adamc@1141 4269 esac
adamc@1141 4270 ;;
adamc@1141 4271
adamc@1141 4272 interix[[3-9]]*)
adamc@1141 4273 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
adamc@1141 4274 # Instead, we relocate shared libraries at runtime.
adamc@1141 4275 ;;
adamc@1141 4276
adamc@1141 4277 msdosdjgpp*)
adamc@1141 4278 # Just because we use GCC doesn't mean we suddenly get shared libraries
adamc@1141 4279 # on systems that don't support them.
adamc@1141 4280 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
adamc@1141 4281 enable_shared=no
adamc@1141 4282 ;;
adamc@1141 4283
adamc@1141 4284 *nto* | *qnx*)
adamc@1141 4285 # QNX uses GNU C++, but need to define -shared option too, otherwise
adamc@1141 4286 # it will coredump.
adamc@1141 4287 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
adamc@1141 4288 ;;
adamc@1141 4289
adamc@1141 4290 sysv4*MP*)
adamc@1141 4291 if test -d /usr/nec; then
adamc@1141 4292 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
adamc@1141 4293 fi
adamc@1141 4294 ;;
adamc@1141 4295
adamc@1141 4296 *)
adamc@1141 4297 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 4298 ;;
adamc@1141 4299 esac
adam@1459 4300
adam@1459 4301 case $cc_basename in
adam@1459 4302 nvcc*) # Cuda Compiler Driver 2.2
adam@1459 4303 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
adam@1599 4304 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
adam@1599 4305 _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
adam@1599 4306 fi
adam@1459 4307 ;;
adam@1459 4308 esac
adamc@1141 4309 else
adamc@1141 4310 # PORTME Check for flag to pass linker flags through the system compiler.
adamc@1141 4311 case $host_os in
adamc@1141 4312 aix*)
adamc@1141 4313 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4314 if test "$host_cpu" = ia64; then
adamc@1141 4315 # AIX 5 now supports IA64 processor
adamc@1141 4316 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4317 else
adamc@1141 4318 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
adamc@1141 4319 fi
adamc@1141 4320 ;;
adamc@1141 4321
adamc@1141 4322 mingw* | cygwin* | pw32* | os2* | cegcc*)
adamc@1141 4323 # This hack is so that the source file can tell whether it is being
adamc@1141 4324 # built for inclusion in a dll (and should export symbols for example).
adamc@1141 4325 m4_if([$1], [GCJ], [],
adamc@1141 4326 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
adamc@1141 4327 ;;
adamc@1141 4328
adamc@1141 4329 hpux9* | hpux10* | hpux11*)
adamc@1141 4330 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4331 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
adamc@1141 4332 # not for PA HP-UX.
adamc@1141 4333 case $host_cpu in
adamc@1141 4334 hppa*64*|ia64*)
adamc@1141 4335 # +Z the default
adamc@1141 4336 ;;
adamc@1141 4337 *)
adamc@1141 4338 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
adamc@1141 4339 ;;
adamc@1141 4340 esac
adamc@1141 4341 # Is there a better lt_prog_compiler_static that works with the bundled CC?
adamc@1141 4342 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
adamc@1141 4343 ;;
adamc@1141 4344
adamc@1141 4345 irix5* | irix6* | nonstopux*)
adamc@1141 4346 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4347 # PIC (with -KPIC) is the default.
adamc@1141 4348 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
adamc@1141 4349 ;;
adamc@1141 4350
adamc@1141 4351 linux* | k*bsd*-gnu | kopensolaris*-gnu)
adamc@1141 4352 case $cc_basename in
adamc@1141 4353 # old Intel for x86_64 which still supported -KPIC.
adamc@1141 4354 ecc*)
adamc@1141 4355 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4356 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4357 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
adamc@1141 4358 ;;
adamc@1141 4359 # icc used to be incompatible with GCC.
adamc@1141 4360 # ICC 10 doesn't accept -KPIC any more.
adamc@1141 4361 icc* | ifort*)
adamc@1141 4362 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4363 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adamc@1141 4364 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
adamc@1141 4365 ;;
adamc@1141 4366 # Lahey Fortran 8.1.
adamc@1141 4367 lf95*)
adamc@1141 4368 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4369 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
adamc@1141 4370 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
adamc@1141 4371 ;;
adam@1459 4372 nagfor*)
adam@1459 4373 # NAG Fortran compiler
adam@1459 4374 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
adam@1459 4375 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
adam@1459 4376 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adam@1459 4377 ;;
adam@1459 4378 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
adamc@1141 4379 # Portland Group compilers (*not* the Pentium gcc compiler,
adamc@1141 4380 # which looks to be a dead project)
adamc@1141 4381 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4382 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
adamc@1141 4383 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4384 ;;
adamc@1141 4385 ccc*)
adamc@1141 4386 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4387 # All Alpha code is PIC.
adamc@1141 4388 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
adamc@1141 4389 ;;
adam@1459 4390 xl* | bgxl* | bgf* | mpixl*)
adam@1459 4391 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
adamc@1141 4392 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4393 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
adamc@1141 4394 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
adamc@1141 4395 ;;
adamc@1141 4396 *)
adamc@1141 4397 case `$CC -V 2>&1 | sed 5q` in
adam@1599 4398 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
adam@1459 4399 # Sun Fortran 8.3 passes all unrecognized flags to the linker
adam@1459 4400 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adam@1459 4401 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adam@1459 4402 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
adam@1459 4403 ;;
adam@1599 4404 *Sun\ F* | *Sun*Fortran*)
adam@1599 4405 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adam@1599 4406 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adam@1599 4407 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
adam@1599 4408 ;;
adamc@1141 4409 *Sun\ C*)
adamc@1141 4410 # Sun C 5.9
adamc@1141 4411 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4412 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4413 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4414 ;;
adam@1599 4415 *Intel*\ [[CF]]*Compiler*)
adam@1599 4416 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adam@1599 4417 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
adam@1599 4418 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
adam@1599 4419 ;;
adam@1599 4420 *Portland\ Group*)
adam@1599 4421 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adam@1599 4422 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
adam@1599 4423 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adam@1599 4424 ;;
adamc@1141 4425 esac
adamc@1141 4426 ;;
adamc@1141 4427 esac
adamc@1141 4428 ;;
adamc@1141 4429
adamc@1141 4430 newsos6)
adamc@1141 4431 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4432 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4433 ;;
adamc@1141 4434
adamc@1141 4435 *nto* | *qnx*)
adamc@1141 4436 # QNX uses GNU C++, but need to define -shared option too, otherwise
adamc@1141 4437 # it will coredump.
adamc@1141 4438 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
adamc@1141 4439 ;;
adamc@1141 4440
adamc@1141 4441 osf3* | osf4* | osf5*)
adamc@1141 4442 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4443 # All OSF/1 code is PIC.
adamc@1141 4444 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
adamc@1141 4445 ;;
adamc@1141 4446
adamc@1141 4447 rdos*)
adamc@1141 4448 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
adamc@1141 4449 ;;
adamc@1141 4450
adamc@1141 4451 solaris*)
adamc@1141 4452 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4453 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4454 case $cc_basename in
adam@1459 4455 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
adamc@1141 4456 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
adamc@1141 4457 *)
adamc@1141 4458 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
adamc@1141 4459 esac
adamc@1141 4460 ;;
adamc@1141 4461
adamc@1141 4462 sunos4*)
adamc@1141 4463 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
adamc@1141 4464 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
adamc@1141 4465 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4466 ;;
adamc@1141 4467
adamc@1141 4468 sysv4 | sysv4.2uw2* | sysv4.3*)
adamc@1141 4469 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4470 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4471 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4472 ;;
adamc@1141 4473
adamc@1141 4474 sysv4*MP*)
adamc@1141 4475 if test -d /usr/nec ;then
adamc@1141 4476 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
adamc@1141 4477 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4478 fi
adamc@1141 4479 ;;
adamc@1141 4480
adamc@1141 4481 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
adamc@1141 4482 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4483 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
adamc@1141 4484 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4485 ;;
adamc@1141 4486
adamc@1141 4487 unicos*)
adamc@1141 4488 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
adamc@1141 4489 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
adamc@1141 4490 ;;
adamc@1141 4491
adamc@1141 4492 uts4*)
adamc@1141 4493 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
adamc@1141 4494 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
adamc@1141 4495 ;;
adamc@1141 4496
adamc@1141 4497 *)
adamc@1141 4498 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
adamc@1141 4499 ;;
adamc@1141 4500 esac
adamc@1141 4501 fi
adamc@1141 4502 ])
adamc@1141 4503 case $host_os in
adamc@1141 4504 # For platforms which do not support PIC, -DPIC is meaningless:
adamc@1141 4505 *djgpp*)
adamc@1141 4506 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
adamc@1141 4507 ;;
adamc@1141 4508 *)
adamc@1141 4509 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
adamc@1141 4510 ;;
adamc@1141 4511 esac
adam@1459 4512
adam@1459 4513 AC_CACHE_CHECK([for $compiler option to produce PIC],
adam@1459 4514 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
adam@1459 4515 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
adam@1459 4516 _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
adamc@1141 4517
adamc@1141 4518 #
adamc@1141 4519 # Check to make sure the PIC flag actually works.
adamc@1141 4520 #
adamc@1141 4521 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
adamc@1141 4522 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
adamc@1141 4523 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
adamc@1141 4524 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
adamc@1141 4525 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
adamc@1141 4526 "" | " "*) ;;
adamc@1141 4527 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
adamc@1141 4528 esac],
adamc@1141 4529 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
adamc@1141 4530 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
adamc@1141 4531 fi
adamc@1141 4532 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
adamc@1141 4533 [Additional compiler flags for building library objects])
adamc@1141 4534
adam@1459 4535 _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
adam@1459 4536 [How to pass a linker flag through the compiler])
adamc@1141 4537 #
adamc@1141 4538 # Check to make sure the static flag actually works.
adamc@1141 4539 #
adamc@1141 4540 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
adamc@1141 4541 _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
adamc@1141 4542 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
adamc@1141 4543 $lt_tmp_static_flag,
adamc@1141 4544 [],
adamc@1141 4545 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
adamc@1141 4546 _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
adamc@1141 4547 [Compiler flag to prevent dynamic linking])
adamc@1141 4548 ])# _LT_COMPILER_PIC
adamc@1141 4549
adamc@1141 4550
adamc@1141 4551 # _LT_LINKER_SHLIBS([TAGNAME])
adamc@1141 4552 # ----------------------------
adamc@1141 4553 # See if the linker supports building shared libraries.
adamc@1141 4554 m4_defun([_LT_LINKER_SHLIBS],
adamc@1141 4555 [AC_REQUIRE([LT_PATH_LD])dnl
adamc@1141 4556 AC_REQUIRE([LT_PATH_NM])dnl
adam@1459 4557 m4_require([_LT_PATH_MANIFEST_TOOL])dnl
adamc@1141 4558 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adamc@1141 4559 m4_require([_LT_DECL_EGREP])dnl
adamc@1141 4560 m4_require([_LT_DECL_SED])dnl
adamc@1141 4561 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
adamc@1141 4562 m4_require([_LT_TAG_COMPILER])dnl
adamc@1141 4563 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
adamc@1141 4564 m4_if([$1], [CXX], [
adamc@1141 4565 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
adam@1459 4566 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
adamc@1141 4567 case $host_os in
adamc@1141 4568 aix[[4-9]]*)
adamc@1141 4569 # If we're using GNU nm, then we don't want the "-C" option.
adamc@1141 4570 # -C means demangle to AIX nm, but means don't demangle with GNU nm
adam@1459 4571 # Also, AIX nm treats weak defined symbols like other global defined
adam@1459 4572 # symbols, whereas GNU nm marks them as "W".
adamc@1141 4573 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
adam@1459 4574 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
adamc@1141 4575 else
adamc@1141 4576 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
adamc@1141 4577 fi
adamc@1141 4578 ;;
adamc@1141 4579 pw32*)
adamc@1141 4580 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
adam@1459 4581 ;;
adamc@1141 4582 cygwin* | mingw* | cegcc*)
adam@1459 4583 case $cc_basename in
adam@1599 4584 cl*)
adam@1599 4585 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
adam@1599 4586 ;;
adam@1459 4587 *)
adam@1459 4588 _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'
adam@1459 4589 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
adam@1459 4590 ;;
adam@1459 4591 esac
adam@1459 4592 ;;
adam@1459 4593 linux* | k*bsd*-gnu | gnu*)
adamc@1141 4594 _LT_TAGVAR(link_all_deplibs, $1)=no
adam@1459 4595 ;;
adamc@1141 4596 *)
adamc@1141 4597 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
adam@1459 4598 ;;
adamc@1141 4599 esac
adamc@1141 4600 ], [
adamc@1141 4601 runpath_var=
adamc@1141 4602 _LT_TAGVAR(allow_undefined_flag, $1)=
adamc@1141 4603 _LT_TAGVAR(always_export_symbols, $1)=no
adamc@1141 4604 _LT_TAGVAR(archive_cmds, $1)=
adamc@1141 4605 _LT_TAGVAR(archive_expsym_cmds, $1)=
adamc@1141 4606 _LT_TAGVAR(compiler_needs_object, $1)=no
adamc@1141 4607 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
adamc@1141 4608 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
adamc@1141 4609 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
adamc@1141 4610 _LT_TAGVAR(hardcode_automatic, $1)=no
adamc@1141 4611 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 4612 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
adamc@1141 4613 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
adamc@1141 4614 _LT_TAGVAR(hardcode_libdir_separator, $1)=
adamc@1141 4615 _LT_TAGVAR(hardcode_minus_L, $1)=no
adamc@1141 4616 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
adamc@1141 4617 _LT_TAGVAR(inherit_rpath, $1)=no
adamc@1141 4618 _LT_TAGVAR(link_all_deplibs, $1)=unknown
adamc@1141 4619 _LT_TAGVAR(module_cmds, $1)=
adamc@1141 4620 _LT_TAGVAR(module_expsym_cmds, $1)=
adamc@1141 4621 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
adamc@1141 4622 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
adamc@1141 4623 _LT_TAGVAR(thread_safe_flag_spec, $1)=
adamc@1141 4624 _LT_TAGVAR(whole_archive_flag_spec, $1)=
adamc@1141 4625 # include_expsyms should be a list of space-separated symbols to be *always*
adamc@1141 4626 # included in the symbol list
adamc@1141 4627 _LT_TAGVAR(include_expsyms, $1)=
adamc@1141 4628 # exclude_expsyms can be an extended regexp of symbols to exclude
adamc@1141 4629 # it will be wrapped by ` (' and `)$', so one must not match beginning or
adamc@1141 4630 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
adamc@1141 4631 # as well as any symbol that contains `d'.
adamc@1141 4632 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
adamc@1141 4633 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
adamc@1141 4634 # platforms (ab)use it in PIC code, but their linkers get confused if
adamc@1141 4635 # the symbol is explicitly referenced. Since portable code cannot
adamc@1141 4636 # rely on this symbol name, it's probably fine to never include it in
adamc@1141 4637 # preloaded symbol tables.
adamc@1141 4638 # Exclude shared library initialization/finalization symbols.
adamc@1141 4639 dnl Note also adjust exclude_expsyms for C++ above.
adamc@1141 4640 extract_expsyms_cmds=
adamc@1141 4641
adamc@1141 4642 case $host_os in
adamc@1141 4643 cygwin* | mingw* | pw32* | cegcc*)
adamc@1141 4644 # FIXME: the MSVC++ port hasn't been tested in a loooong time
adamc@1141 4645 # When not using gcc, we currently assume that we are using
adamc@1141 4646 # Microsoft Visual C++.
adamc@1141 4647 if test "$GCC" != yes; then
adamc@1141 4648 with_gnu_ld=no
adamc@1141 4649 fi
adamc@1141 4650 ;;
adamc@1141 4651 interix*)
adamc@1141 4652 # we just hope/assume this is gcc and not c89 (= MSVC++)
adamc@1141 4653 with_gnu_ld=yes
adamc@1141 4654 ;;
adamc@1141 4655 openbsd*)
adamc@1141 4656 with_gnu_ld=no
adamc@1141 4657 ;;
adam@1459 4658 linux* | k*bsd*-gnu | gnu*)
adamc@1141 4659 _LT_TAGVAR(link_all_deplibs, $1)=no
adamc@1141 4660 ;;
adamc@1141 4661 esac
adamc@1141 4662
adamc@1141 4663 _LT_TAGVAR(ld_shlibs, $1)=yes
adam@1459 4664
adam@1459 4665 # On some targets, GNU ld is compatible enough with the native linker
adam@1459 4666 # that we're better off using the native interface for both.
adam@1459 4667 lt_use_gnu_ld_interface=no
adamc@1141 4668 if test "$with_gnu_ld" = yes; then
adam@1459 4669 case $host_os in
adam@1459 4670 aix*)
adam@1459 4671 # The AIX port of GNU ld has always aspired to compatibility
adam@1459 4672 # with the native linker. However, as the warning in the GNU ld
adam@1459 4673 # block says, versions before 2.19.5* couldn't really create working
adam@1459 4674 # shared libraries, regardless of the interface used.
adam@1459 4675 case `$LD -v 2>&1` in
adam@1459 4676 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
adam@1459 4677 *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
adam@1459 4678 *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
adam@1459 4679 *)
adam@1459 4680 lt_use_gnu_ld_interface=yes
adam@1459 4681 ;;
adam@1459 4682 esac
adam@1459 4683 ;;
adam@1459 4684 *)
adam@1459 4685 lt_use_gnu_ld_interface=yes
adam@1459 4686 ;;
adam@1459 4687 esac
adam@1459 4688 fi
adam@1459 4689
adam@1459 4690 if test "$lt_use_gnu_ld_interface" = yes; then
adamc@1141 4691 # If archive_cmds runs LD, not CC, wlarc should be empty
adamc@1141 4692 wlarc='${wl}'
adamc@1141 4693
adamc@1141 4694 # Set some defaults for GNU ld with shared library support. These
adamc@1141 4695 # are reset later if shared libraries are not supported. Putting them
adamc@1141 4696 # here allows them to be overridden if necessary.
adamc@1141 4697 runpath_var=LD_RUN_PATH
adamc@1141 4698 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 4699 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
adamc@1141 4700 # ancient GNU ld didn't support --whole-archive et. al.
adamc@1141 4701 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
adamc@1141 4702 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
adamc@1141 4703 else
adamc@1141 4704 _LT_TAGVAR(whole_archive_flag_spec, $1)=
adamc@1141 4705 fi
adamc@1141 4706 supports_anon_versioning=no
adamc@1141 4707 case `$LD -v 2>&1` in
adamc@1141 4708 *GNU\ gold*) supports_anon_versioning=yes ;;
adamc@1141 4709 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
adamc@1141 4710 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
adamc@1141 4711 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
adamc@1141 4712 *\ 2.11.*) ;; # other 2.11 versions
adamc@1141 4713 *) supports_anon_versioning=yes ;;
adamc@1141 4714 esac
adamc@1141 4715
adamc@1141 4716 # See if GNU ld supports shared libraries.
adamc@1141 4717 case $host_os in
adamc@1141 4718 aix[[3-9]]*)
adamc@1141 4719 # On AIX/PPC, the GNU linker is very broken
adamc@1141 4720 if test "$host_cpu" != ia64; then
adamc@1141 4721 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4722 cat <<_LT_EOF 1>&2
adamc@1141 4723
adam@1459 4724 *** Warning: the GNU linker, at least up to release 2.19, is reported
adamc@1141 4725 *** to be unable to reliably create shared libraries on AIX.
adamc@1141 4726 *** Therefore, libtool is disabling shared libraries support. If you
adam@1459 4727 *** really care for shared libraries, you may want to install binutils
adam@1459 4728 *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
adam@1459 4729 *** You will then need to restart the configuration process.
adamc@1141 4730
adamc@1141 4731 _LT_EOF
adamc@1141 4732 fi
adamc@1141 4733 ;;
adamc@1141 4734
adamc@1141 4735 amigaos*)
adamc@1141 4736 case $host_cpu in
adamc@1141 4737 powerpc)
adamc@1141 4738 # see comment about AmigaOS4 .so support
adamc@1141 4739 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 4740 _LT_TAGVAR(archive_expsym_cmds, $1)=''
adamc@1141 4741 ;;
adamc@1141 4742 m68k)
adamc@1141 4743 _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)'
adamc@1141 4744 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adamc@1141 4745 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 4746 ;;
adamc@1141 4747 esac
adamc@1141 4748 ;;
adamc@1141 4749
adamc@1141 4750 beos*)
adamc@1141 4751 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
adamc@1141 4752 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adamc@1141 4753 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
adamc@1141 4754 # support --undefined. This deserves some investigation. FIXME
adamc@1141 4755 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 4756 else
adamc@1141 4757 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4758 fi
adamc@1141 4759 ;;
adamc@1141 4760
adamc@1141 4761 cygwin* | mingw* | pw32* | cegcc*)
adamc@1141 4762 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
adamc@1141 4763 # as there is no search path for DLLs.
adamc@1141 4764 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adam@1459 4765 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
adamc@1141 4766 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adamc@1141 4767 _LT_TAGVAR(always_export_symbols, $1)=no
adamc@1141 4768 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
adam@1459 4769 _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'
adam@1459 4770 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
adamc@1141 4771
adamc@1141 4772 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
adamc@1141 4773 _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'
adamc@1141 4774 # If the export-symbols file already is a .def file (1st line
adamc@1141 4775 # is EXPORTS), use it as is; otherwise, prepend...
adamc@1141 4776 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
adamc@1141 4777 cp $export_symbols $output_objdir/$soname.def;
adamc@1141 4778 else
adamc@1141 4779 echo EXPORTS > $output_objdir/$soname.def;
adamc@1141 4780 cat $export_symbols >> $output_objdir/$soname.def;
adamc@1141 4781 fi~
adamc@1141 4782 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
adamc@1141 4783 else
adamc@1141 4784 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4785 fi
adamc@1141 4786 ;;
adamc@1141 4787
adam@1459 4788 haiku*)
adam@1459 4789 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adam@1459 4790 _LT_TAGVAR(link_all_deplibs, $1)=yes
adam@1459 4791 ;;
adam@1459 4792
adamc@1141 4793 interix[[3-9]]*)
adamc@1141 4794 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 4795 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 4796 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
adamc@1141 4797 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 4798 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
adamc@1141 4799 # Instead, shared libraries are loaded at an image base (0x10000000 by
adamc@1141 4800 # default) and relocated if they conflict, which is a slow very memory
adamc@1141 4801 # consuming and fragmenting process. To avoid this, we pick a random,
adamc@1141 4802 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
adamc@1141 4803 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
adamc@1141 4804 _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'
adamc@1141 4805 _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'
adamc@1141 4806 ;;
adamc@1141 4807
adamc@1141 4808 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
adamc@1141 4809 tmp_diet=no
adamc@1141 4810 if test "$host_os" = linux-dietlibc; then
adamc@1141 4811 case $cc_basename in
adamc@1141 4812 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
adamc@1141 4813 esac
adamc@1141 4814 fi
adamc@1141 4815 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
adamc@1141 4816 && test "$tmp_diet" = no
adamc@1141 4817 then
adam@1459 4818 tmp_addflag=' $pic_flag'
adamc@1141 4819 tmp_sharedflag='-shared'
adamc@1141 4820 case $cc_basename,$host_cpu in
adamc@1141 4821 pgcc*) # Portland Group C compiler
adam@1459 4822 _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'
adamc@1141 4823 tmp_addflag=' $pic_flag'
adamc@1141 4824 ;;
adam@1459 4825 pgf77* | pgf90* | pgf95* | pgfortran*)
adam@1459 4826 # Portland Group f77 and f90 compilers
adam@1459 4827 _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'
adamc@1141 4828 tmp_addflag=' $pic_flag -Mnomain' ;;
adamc@1141 4829 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
adamc@1141 4830 tmp_addflag=' -i_dynamic' ;;
adamc@1141 4831 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
adamc@1141 4832 tmp_addflag=' -i_dynamic -nofor_main' ;;
adamc@1141 4833 ifc* | ifort*) # Intel Fortran compiler
adamc@1141 4834 tmp_addflag=' -nofor_main' ;;
adamc@1141 4835 lf95*) # Lahey Fortran 8.1
adamc@1141 4836 _LT_TAGVAR(whole_archive_flag_spec, $1)=
adamc@1141 4837 tmp_sharedflag='--shared' ;;
adam@1459 4838 xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
adamc@1141 4839 tmp_sharedflag='-qmkshrobj'
adamc@1141 4840 tmp_addflag= ;;
adam@1459 4841 nvcc*) # Cuda Compiler Driver 2.2
adam@1459 4842 _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'
adam@1459 4843 _LT_TAGVAR(compiler_needs_object, $1)=yes
adam@1459 4844 ;;
adamc@1141 4845 esac
adamc@1141 4846 case `$CC -V 2>&1 | sed 5q` in
adamc@1141 4847 *Sun\ C*) # Sun C 5.9
adam@1459 4848 _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'
adamc@1141 4849 _LT_TAGVAR(compiler_needs_object, $1)=yes
adamc@1141 4850 tmp_sharedflag='-G' ;;
adamc@1141 4851 *Sun\ F*) # Sun Fortran 8.3
adamc@1141 4852 tmp_sharedflag='-G' ;;
adamc@1141 4853 esac
adamc@1141 4854 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 4855
adamc@1141 4856 if test "x$supports_anon_versioning" = xyes; then
adamc@1141 4857 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
adamc@1141 4858 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
adamc@1141 4859 echo "local: *; };" >> $output_objdir/$libname.ver~
adamc@1141 4860 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
adamc@1141 4861 fi
adamc@1141 4862
adamc@1141 4863 case $cc_basename in
adam@1459 4864 xlf* | bgf* | bgxlf* | mpixlf*)
adamc@1141 4865 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
adamc@1141 4866 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
adam@1599 4867 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adam@1459 4868 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
adamc@1141 4869 if test "x$supports_anon_versioning" = xyes; then
adamc@1141 4870 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
adamc@1141 4871 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
adamc@1141 4872 echo "local: *; };" >> $output_objdir/$libname.ver~
adam@1459 4873 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
adamc@1141 4874 fi
adamc@1141 4875 ;;
adamc@1141 4876 esac
adamc@1141 4877 else
adamc@1141 4878 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4879 fi
adamc@1141 4880 ;;
adamc@1141 4881
adamc@1141 4882 netbsd* | netbsdelf*-gnu)
adamc@1141 4883 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
adamc@1141 4884 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
adamc@1141 4885 wlarc=
adamc@1141 4886 else
adam@1459 4887 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adam@1459 4888 _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'
adamc@1141 4889 fi
adamc@1141 4890 ;;
adamc@1141 4891
adamc@1141 4892 solaris*)
adamc@1141 4893 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
adamc@1141 4894 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4895 cat <<_LT_EOF 1>&2
adamc@1141 4896
adamc@1141 4897 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
adamc@1141 4898 *** create shared libraries on Solaris systems. Therefore, libtool
adamc@1141 4899 *** is disabling shared libraries support. We urge you to upgrade GNU
adamc@1141 4900 *** binutils to release 2.9.1 or newer. Another option is to modify
adamc@1141 4901 *** your PATH or compiler configuration so that the native linker is
adamc@1141 4902 *** used, and then restart.
adamc@1141 4903
adamc@1141 4904 _LT_EOF
adamc@1141 4905 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
adam@1459 4906 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adam@1459 4907 _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'
adamc@1141 4908 else
adamc@1141 4909 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4910 fi
adamc@1141 4911 ;;
adamc@1141 4912
adamc@1141 4913 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
adamc@1141 4914 case `$LD -v 2>&1` in
adamc@1141 4915 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
adamc@1141 4916 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4917 cat <<_LT_EOF 1>&2
adamc@1141 4918
adamc@1141 4919 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
adamc@1141 4920 *** reliably create shared libraries on SCO systems. Therefore, libtool
adamc@1141 4921 *** is disabling shared libraries support. We urge you to upgrade GNU
adamc@1141 4922 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
adamc@1141 4923 *** your PATH or compiler configuration so that the native linker is
adamc@1141 4924 *** used, and then restart.
adamc@1141 4925
adamc@1141 4926 _LT_EOF
adamc@1141 4927 ;;
adamc@1141 4928 *)
adamc@1141 4929 # For security reasons, it is highly recommended that you always
adamc@1141 4930 # use absolute paths for naming shared libraries, and exclude the
adamc@1141 4931 # DT_RUNPATH tag from executables and libraries. But doing so
adamc@1141 4932 # requires that you compile everything twice, which is a pain.
adamc@1141 4933 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
adamc@1141 4934 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 4935 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 4936 _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'
adamc@1141 4937 else
adamc@1141 4938 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4939 fi
adamc@1141 4940 ;;
adamc@1141 4941 esac
adamc@1141 4942 ;;
adamc@1141 4943
adamc@1141 4944 sunos4*)
adamc@1141 4945 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 4946 wlarc=
adamc@1141 4947 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 4948 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 4949 ;;
adamc@1141 4950
adamc@1141 4951 *)
adamc@1141 4952 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
adam@1459 4953 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adam@1459 4954 _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'
adamc@1141 4955 else
adamc@1141 4956 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 4957 fi
adamc@1141 4958 ;;
adamc@1141 4959 esac
adamc@1141 4960
adamc@1141 4961 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
adamc@1141 4962 runpath_var=
adamc@1141 4963 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
adamc@1141 4964 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
adamc@1141 4965 _LT_TAGVAR(whole_archive_flag_spec, $1)=
adamc@1141 4966 fi
adamc@1141 4967 else
adamc@1141 4968 # PORTME fill in a description of your system's linker (not GNU ld)
adamc@1141 4969 case $host_os in
adamc@1141 4970 aix3*)
adamc@1141 4971 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adamc@1141 4972 _LT_TAGVAR(always_export_symbols, $1)=yes
adamc@1141 4973 _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'
adamc@1141 4974 # Note: this linker hardcodes the directories in LIBPATH if there
adamc@1141 4975 # are no directories specified by -L.
adamc@1141 4976 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 4977 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
adamc@1141 4978 # Neither direct hardcoding nor static linking is supported with a
adamc@1141 4979 # broken collect2.
adamc@1141 4980 _LT_TAGVAR(hardcode_direct, $1)=unsupported
adamc@1141 4981 fi
adamc@1141 4982 ;;
adamc@1141 4983
adamc@1141 4984 aix[[4-9]]*)
adamc@1141 4985 if test "$host_cpu" = ia64; then
adamc@1141 4986 # On IA64, the linker does run time linking by default, so we don't
adamc@1141 4987 # have to do anything special.
adamc@1141 4988 aix_use_runtimelinking=no
adamc@1141 4989 exp_sym_flag='-Bexport'
adamc@1141 4990 no_entry_flag=""
adamc@1141 4991 else
adamc@1141 4992 # If we're using GNU nm, then we don't want the "-C" option.
adamc@1141 4993 # -C means demangle to AIX nm, but means don't demangle with GNU nm
adam@1459 4994 # Also, AIX nm treats weak defined symbols like other global
adam@1459 4995 # defined symbols, whereas GNU nm marks them as "W".
adamc@1141 4996 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
adam@1459 4997 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
adamc@1141 4998 else
adamc@1141 4999 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
adamc@1141 5000 fi
adamc@1141 5001 aix_use_runtimelinking=no
adamc@1141 5002
adamc@1141 5003 # Test if we are trying to use run time linking or normal
adamc@1141 5004 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
adamc@1141 5005 # need to do runtime linking.
adamc@1141 5006 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
adamc@1141 5007 for ld_flag in $LDFLAGS; do
adamc@1141 5008 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
adamc@1141 5009 aix_use_runtimelinking=yes
adamc@1141 5010 break
adamc@1141 5011 fi
adamc@1141 5012 done
adamc@1141 5013 ;;
adamc@1141 5014 esac
adamc@1141 5015
adamc@1141 5016 exp_sym_flag='-bexport'
adamc@1141 5017 no_entry_flag='-bnoentry'
adamc@1141 5018 fi
adamc@1141 5019
adamc@1141 5020 # When large executables or shared objects are built, AIX ld can
adamc@1141 5021 # have problems creating the table of contents. If linking a library
adamc@1141 5022 # or program results in "error TOC overflow" add -mminimal-toc to
adamc@1141 5023 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
adamc@1141 5024 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
adamc@1141 5025
adamc@1141 5026 _LT_TAGVAR(archive_cmds, $1)=''
adamc@1141 5027 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5028 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
adamc@1141 5029 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
adamc@1141 5030 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 5031 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
adamc@1141 5032
adamc@1141 5033 if test "$GCC" = yes; then
adamc@1141 5034 case $host_os in aix4.[[012]]|aix4.[[012]].*)
adamc@1141 5035 # We only want to do this on AIX 4.2 and lower, the check
adamc@1141 5036 # below for broken collect2 doesn't work under 4.3+
adamc@1141 5037 collect2name=`${CC} -print-prog-name=collect2`
adamc@1141 5038 if test -f "$collect2name" &&
adamc@1141 5039 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
adamc@1141 5040 then
adamc@1141 5041 # We have reworked collect2
adamc@1141 5042 :
adamc@1141 5043 else
adamc@1141 5044 # We have old collect2
adamc@1141 5045 _LT_TAGVAR(hardcode_direct, $1)=unsupported
adamc@1141 5046 # It fails to find uninstalled libraries when the uninstalled
adamc@1141 5047 # path is not listed in the libpath. Setting hardcode_minus_L
adamc@1141 5048 # to unsupported forces relinking
adamc@1141 5049 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 5050 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adamc@1141 5051 _LT_TAGVAR(hardcode_libdir_separator, $1)=
adamc@1141 5052 fi
adamc@1141 5053 ;;
adamc@1141 5054 esac
adamc@1141 5055 shared_flag='-shared'
adamc@1141 5056 if test "$aix_use_runtimelinking" = yes; then
adamc@1141 5057 shared_flag="$shared_flag "'${wl}-G'
adamc@1141 5058 fi
adamc@1141 5059 _LT_TAGVAR(link_all_deplibs, $1)=no
adamc@1141 5060 else
adamc@1141 5061 # not using gcc
adamc@1141 5062 if test "$host_cpu" = ia64; then
adamc@1141 5063 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
adamc@1141 5064 # chokes on -Wl,-G. The following line is correct:
adamc@1141 5065 shared_flag='-G'
adamc@1141 5066 else
adamc@1141 5067 if test "$aix_use_runtimelinking" = yes; then
adamc@1141 5068 shared_flag='${wl}-G'
adamc@1141 5069 else
adamc@1141 5070 shared_flag='${wl}-bM:SRE'
adamc@1141 5071 fi
adamc@1141 5072 fi
adamc@1141 5073 fi
adamc@1141 5074
adamc@1141 5075 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
adamc@1141 5076 # It seems that -bexpall does not export symbols beginning with
adamc@1141 5077 # underscore (_), so it is better to generate a list of symbols to export.
adamc@1141 5078 _LT_TAGVAR(always_export_symbols, $1)=yes
adamc@1141 5079 if test "$aix_use_runtimelinking" = yes; then
adamc@1141 5080 # Warning - without using the other runtime loading flags (-brtl),
adamc@1141 5081 # -berok will link without error, but may produce a broken library.
adamc@1141 5082 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
adamc@1141 5083 # Determine the default libpath from the value encoded in an
adamc@1141 5084 # empty executable.
adam@1459 5085 _LT_SYS_MODULE_PATH_AIX([$1])
adamc@1141 5086 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
adam@1459 5087 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
adamc@1141 5088 else
adamc@1141 5089 if test "$host_cpu" = ia64; then
adamc@1141 5090 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
adamc@1141 5091 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
adamc@1141 5092 _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"
adamc@1141 5093 else
adamc@1141 5094 # Determine the default libpath from the value encoded in an
adamc@1141 5095 # empty executable.
adam@1459 5096 _LT_SYS_MODULE_PATH_AIX([$1])
adamc@1141 5097 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
adamc@1141 5098 # Warning - without using the other run time loading flags,
adamc@1141 5099 # -berok will link without error, but may produce a broken library.
adamc@1141 5100 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
adamc@1141 5101 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
adam@1459 5102 if test "$with_gnu_ld" = yes; then
adam@1459 5103 # We only use this code for GNU lds that support --whole-archive.
adam@1459 5104 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
adam@1459 5105 else
adam@1459 5106 # Exported symbols can be pulled into shared objects from archives
adam@1459 5107 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
adam@1459 5108 fi
adamc@1141 5109 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
adamc@1141 5110 # This is similar to how AIX traditionally builds its shared libraries.
adamc@1141 5111 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
adamc@1141 5112 fi
adamc@1141 5113 fi
adamc@1141 5114 ;;
adamc@1141 5115
adamc@1141 5116 amigaos*)
adamc@1141 5117 case $host_cpu in
adamc@1141 5118 powerpc)
adamc@1141 5119 # see comment about AmigaOS4 .so support
adamc@1141 5120 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 5121 _LT_TAGVAR(archive_expsym_cmds, $1)=''
adamc@1141 5122 ;;
adamc@1141 5123 m68k)
adamc@1141 5124 _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)'
adamc@1141 5125 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adamc@1141 5126 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 5127 ;;
adamc@1141 5128 esac
adamc@1141 5129 ;;
adamc@1141 5130
adamc@1141 5131 bsdi[[45]]*)
adamc@1141 5132 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
adamc@1141 5133 ;;
adamc@1141 5134
adamc@1141 5135 cygwin* | mingw* | pw32* | cegcc*)
adamc@1141 5136 # When not using gcc, we currently assume that we are using
adamc@1141 5137 # Microsoft Visual C++.
adamc@1141 5138 # hardcode_libdir_flag_spec is actually meaningless, as there is
adamc@1141 5139 # no search path for DLLs.
adam@1459 5140 case $cc_basename in
adam@1459 5141 cl*)
adam@1459 5142 # Native MSVC
adam@1459 5143 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
adam@1459 5144 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adam@1459 5145 _LT_TAGVAR(always_export_symbols, $1)=yes
adam@1459 5146 _LT_TAGVAR(file_list_spec, $1)='@'
adam@1459 5147 # Tell ltmain to make .lib files, not .a files.
adam@1459 5148 libext=lib
adam@1459 5149 # Tell ltmain to make .dll files, not .so files.
adam@1459 5150 shrext_cmds=".dll"
adam@1459 5151 # FIXME: Setting linknames here is a bad hack.
adam@1459 5152 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
adam@1459 5153 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
adam@1459 5154 sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
adam@1459 5155 else
adam@1459 5156 sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
adam@1459 5157 fi~
adam@1459 5158 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
adam@1459 5159 linknames='
adam@1459 5160 # The linker will not automatically build a static lib if we build a DLL.
adam@1459 5161 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
adam@1459 5162 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
adam@1599 5163 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
adam@1459 5164 _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'
adam@1459 5165 # Don't use ranlib
adam@1459 5166 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
adam@1459 5167 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
adam@1459 5168 lt_tool_outputfile="@TOOL_OUTPUT@"~
adam@1459 5169 case $lt_outputfile in
adam@1459 5170 *.exe|*.EXE) ;;
adam@1459 5171 *)
adam@1459 5172 lt_outputfile="$lt_outputfile.exe"
adam@1459 5173 lt_tool_outputfile="$lt_tool_outputfile.exe"
adam@1459 5174 ;;
adam@1459 5175 esac~
adam@1459 5176 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
adam@1459 5177 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
adam@1459 5178 $RM "$lt_outputfile.manifest";
adam@1459 5179 fi'
adam@1459 5180 ;;
adam@1459 5181 *)
adam@1459 5182 # Assume MSVC wrapper
adam@1459 5183 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
adam@1459 5184 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adam@1459 5185 # Tell ltmain to make .lib files, not .a files.
adam@1459 5186 libext=lib
adam@1459 5187 # Tell ltmain to make .dll files, not .so files.
adam@1459 5188 shrext_cmds=".dll"
adam@1459 5189 # FIXME: Setting linknames here is a bad hack.
adam@1459 5190 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
adam@1459 5191 # The linker will automatically build a .lib file if we build a DLL.
adam@1459 5192 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
adam@1459 5193 # FIXME: Should let the user specify the lib program.
adam@1459 5194 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
adam@1459 5195 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
adam@1459 5196 ;;
adam@1459 5197 esac
adamc@1141 5198 ;;
adamc@1141 5199
adamc@1141 5200 darwin* | rhapsody*)
adamc@1141 5201 _LT_DARWIN_LINKER_FEATURES($1)
adamc@1141 5202 ;;
adamc@1141 5203
adamc@1141 5204 dgux*)
adamc@1141 5205 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5206 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adamc@1141 5207 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5208 ;;
adamc@1141 5209
adamc@1141 5210 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
adamc@1141 5211 # support. Future versions do this automatically, but an explicit c++rt0.o
adamc@1141 5212 # does not break anything, and helps significantly (at the cost of a little
adamc@1141 5213 # extra space).
adamc@1141 5214 freebsd2.2*)
adamc@1141 5215 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
adamc@1141 5216 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
adamc@1141 5217 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5218 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5219 ;;
adamc@1141 5220
adamc@1141 5221 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
adam@1599 5222 freebsd2.*)
adamc@1141 5223 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5224 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5225 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 5226 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5227 ;;
adamc@1141 5228
adamc@1141 5229 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
adamc@1141 5230 freebsd* | dragonfly*)
adam@1459 5231 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5232 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
adamc@1141 5233 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5234 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5235 ;;
adamc@1141 5236
adamc@1141 5237 hpux9*)
adamc@1141 5238 if test "$GCC" = yes; then
adam@1459 5239 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
adamc@1141 5240 else
adamc@1141 5241 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
adamc@1141 5242 fi
adamc@1141 5243 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
adamc@1141 5244 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 5245 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5246
adamc@1141 5247 # hardcode_minus_L: Not really in the search PATH,
adamc@1141 5248 # but as the default location of the library.
adamc@1141 5249 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 5250 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 5251 ;;
adamc@1141 5252
adamc@1141 5253 hpux10*)
adam@1459 5254 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
adam@1459 5255 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5256 else
adamc@1141 5257 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5258 fi
adamc@1141 5259 if test "$with_gnu_ld" = no; then
adamc@1141 5260 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
adamc@1141 5261 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 5262 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5263 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
adamc@1141 5264 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 5265 # hardcode_minus_L: Not really in the search PATH,
adamc@1141 5266 # but as the default location of the library.
adamc@1141 5267 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 5268 fi
adamc@1141 5269 ;;
adamc@1141 5270
adamc@1141 5271 hpux11*)
adam@1459 5272 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
adamc@1141 5273 case $host_cpu in
adamc@1141 5274 hppa*64*)
adamc@1141 5275 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5276 ;;
adamc@1141 5277 ia64*)
adam@1459 5278 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5279 ;;
adamc@1141 5280 *)
adam@1459 5281 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5282 ;;
adamc@1141 5283 esac
adamc@1141 5284 else
adamc@1141 5285 case $host_cpu in
adamc@1141 5286 hppa*64*)
adamc@1141 5287 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5288 ;;
adamc@1141 5289 ia64*)
adamc@1141 5290 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5291 ;;
adamc@1141 5292 *)
adam@1459 5293 m4_if($1, [], [
adam@1459 5294 # Older versions of the 11.00 compiler do not understand -b yet
adam@1459 5295 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
adam@1459 5296 _LT_LINKER_OPTION([if $CC understands -b],
adam@1459 5297 _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
adam@1459 5298 [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
adam@1459 5299 [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
adam@1459 5300 [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
adamc@1141 5301 ;;
adamc@1141 5302 esac
adamc@1141 5303 fi
adamc@1141 5304 if test "$with_gnu_ld" = no; then
adamc@1141 5305 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
adamc@1141 5306 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 5307
adamc@1141 5308 case $host_cpu in
adamc@1141 5309 hppa*64*|ia64*)
adamc@1141 5310 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 5311 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5312 ;;
adamc@1141 5313 *)
adamc@1141 5314 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5315 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
adamc@1141 5316 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 5317
adamc@1141 5318 # hardcode_minus_L: Not really in the search PATH,
adamc@1141 5319 # but as the default location of the library.
adamc@1141 5320 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 5321 ;;
adamc@1141 5322 esac
adamc@1141 5323 fi
adamc@1141 5324 ;;
adamc@1141 5325
adamc@1141 5326 irix5* | irix6* | nonstopux*)
adamc@1141 5327 if test "$GCC" = yes; then
adam@1459 5328 _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'
adamc@1141 5329 # Try to use the -exported_symbol ld option, if it does not
adamc@1141 5330 # work, assume that -exports_file does not work either and
adamc@1141 5331 # implicitly export all symbols.
adam@1459 5332 # This should be the same for all languages, so no per-tag cache variable.
adam@1459 5333 AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
adam@1459 5334 [lt_cv_irix_exported_symbol],
adam@1459 5335 [save_LDFLAGS="$LDFLAGS"
adam@1459 5336 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
adam@1459 5337 AC_LINK_IFELSE(
adam@1459 5338 [AC_LANG_SOURCE(
adam@1459 5339 [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
adam@1459 5340 [C++], [[int foo (void) { return 0; }]],
adam@1459 5341 [Fortran 77], [[
adam@1459 5342 subroutine foo
adam@1459 5343 end]],
adam@1459 5344 [Fortran], [[
adam@1459 5345 subroutine foo
adam@1459 5346 end]])])],
adam@1459 5347 [lt_cv_irix_exported_symbol=yes],
adam@1459 5348 [lt_cv_irix_exported_symbol=no])
adam@1459 5349 LDFLAGS="$save_LDFLAGS"])
adam@1459 5350 if test "$lt_cv_irix_exported_symbol" = yes; then
adam@1459 5351 _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'
adam@1459 5352 fi
adamc@1141 5353 else
adam@1459 5354 _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'
adam@1459 5355 _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'
adamc@1141 5356 fi
adamc@1141 5357 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
adamc@1141 5358 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 5359 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 5360 _LT_TAGVAR(inherit_rpath, $1)=yes
adamc@1141 5361 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 5362 ;;
adamc@1141 5363
adamc@1141 5364 netbsd* | netbsdelf*-gnu)
adamc@1141 5365 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
adamc@1141 5366 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
adamc@1141 5367 else
adamc@1141 5368 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
adamc@1141 5369 fi
adamc@1141 5370 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
adamc@1141 5371 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5372 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5373 ;;
adamc@1141 5374
adamc@1141 5375 newsos6)
adamc@1141 5376 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5377 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5378 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 5379 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 5380 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5381 ;;
adamc@1141 5382
adamc@1141 5383 *nto* | *qnx*)
adamc@1141 5384 ;;
adamc@1141 5385
adamc@1141 5386 openbsd*)
adamc@1141 5387 if test -f /usr/libexec/ld.so; then
adamc@1141 5388 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5389 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5390 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
adamc@1141 5391 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
adamc@1141 5392 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5393 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
adamc@1141 5394 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
adamc@1141 5395 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 5396 else
adamc@1141 5397 case $host_os in
adamc@1141 5398 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
adamc@1141 5399 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5400 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
adamc@1141 5401 ;;
adamc@1141 5402 *)
adamc@1141 5403 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5404 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
adamc@1141 5405 ;;
adamc@1141 5406 esac
adamc@1141 5407 fi
adamc@1141 5408 else
adamc@1141 5409 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 5410 fi
adamc@1141 5411 ;;
adamc@1141 5412
adamc@1141 5413 os2*)
adamc@1141 5414 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adamc@1141 5415 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 5416 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adam@1459 5417 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
adamc@1141 5418 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
adamc@1141 5419 ;;
adamc@1141 5420
adamc@1141 5421 osf3*)
adamc@1141 5422 if test "$GCC" = yes; then
adamc@1141 5423 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
adam@1459 5424 _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'
adamc@1141 5425 else
adamc@1141 5426 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
adam@1459 5427 _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'
adamc@1141 5428 fi
adamc@1141 5429 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
adamc@1141 5430 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 5431 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 5432 ;;
adamc@1141 5433
adamc@1141 5434 osf4* | osf5*) # as osf3* with the addition of -msym flag
adamc@1141 5435 if test "$GCC" = yes; then
adamc@1141 5436 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
adam@1459 5437 _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'
adamc@1141 5438 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 5439 else
adamc@1141 5440 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
adam@1459 5441 _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'
adamc@1141 5442 _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~
adam@1459 5443 $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'
adamc@1141 5444
adamc@1141 5445 # Both c and cxx compiler support -rpath directly
adamc@1141 5446 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
adamc@1141 5447 fi
adamc@1141 5448 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
adamc@1141 5449 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 5450 ;;
adamc@1141 5451
adamc@1141 5452 solaris*)
adamc@1141 5453 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
adamc@1141 5454 if test "$GCC" = yes; then
adamc@1141 5455 wlarc='${wl}'
adam@1459 5456 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5457 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
adam@1459 5458 $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'
adamc@1141 5459 else
adamc@1141 5460 case `$CC -V 2>&1` in
adamc@1141 5461 *"Compilers 5.0"*)
adamc@1141 5462 wlarc=''
adamc@1141 5463 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5464 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
adamc@1141 5465 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
adamc@1141 5466 ;;
adamc@1141 5467 *)
adamc@1141 5468 wlarc='${wl}'
adamc@1141 5469 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5470 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
adamc@1141 5471 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
adamc@1141 5472 ;;
adamc@1141 5473 esac
adamc@1141 5474 fi
adamc@1141 5475 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
adamc@1141 5476 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5477 case $host_os in
adamc@1141 5478 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
adamc@1141 5479 *)
adamc@1141 5480 # The compiler driver will combine and reorder linker options,
adamc@1141 5481 # but understands `-z linker_flag'. GCC discards it without `$wl',
adamc@1141 5482 # but is careful enough not to reorder.
adamc@1141 5483 # Supported since Solaris 2.6 (maybe 2.5.1?)
adamc@1141 5484 if test "$GCC" = yes; then
adamc@1141 5485 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
adamc@1141 5486 else
adamc@1141 5487 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
adamc@1141 5488 fi
adamc@1141 5489 ;;
adamc@1141 5490 esac
adamc@1141 5491 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 5492 ;;
adamc@1141 5493
adamc@1141 5494 sunos4*)
adamc@1141 5495 if test "x$host_vendor" = xsequent; then
adamc@1141 5496 # Use $CC to link under sequent, because it throws in some extra .o
adamc@1141 5497 # files that make .init and .fini sections work.
adamc@1141 5498 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5499 else
adamc@1141 5500 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5501 fi
adamc@1141 5502 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adamc@1141 5503 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 5504 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 5505 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5506 ;;
adamc@1141 5507
adamc@1141 5508 sysv4)
adamc@1141 5509 case $host_vendor in
adamc@1141 5510 sni)
adamc@1141 5511 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5512 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
adamc@1141 5513 ;;
adamc@1141 5514 siemens)
adamc@1141 5515 ## LD is ld it makes a PLAMLIB
adamc@1141 5516 ## CC just makes a GrossModule.
adamc@1141 5517 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5518 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
adamc@1141 5519 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 5520 ;;
adamc@1141 5521 motorola)
adamc@1141 5522 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5523 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
adamc@1141 5524 ;;
adamc@1141 5525 esac
adamc@1141 5526 runpath_var='LD_RUN_PATH'
adamc@1141 5527 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5528 ;;
adamc@1141 5529
adamc@1141 5530 sysv4.3*)
adamc@1141 5531 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5532 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5533 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
adamc@1141 5534 ;;
adamc@1141 5535
adamc@1141 5536 sysv4*MP*)
adamc@1141 5537 if test -d /usr/nec; then
adamc@1141 5538 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5539 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5540 runpath_var=LD_RUN_PATH
adamc@1141 5541 hardcode_runpath_var=yes
adamc@1141 5542 _LT_TAGVAR(ld_shlibs, $1)=yes
adamc@1141 5543 fi
adamc@1141 5544 ;;
adamc@1141 5545
adamc@1141 5546 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
adamc@1141 5547 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
adamc@1141 5548 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 5549 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5550 runpath_var='LD_RUN_PATH'
adamc@1141 5551
adamc@1141 5552 if test "$GCC" = yes; then
adamc@1141 5553 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5554 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5555 else
adamc@1141 5556 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5557 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5558 fi
adamc@1141 5559 ;;
adamc@1141 5560
adamc@1141 5561 sysv5* | sco3.2v5* | sco5v6*)
adamc@1141 5562 # Note: We can NOT use -z defs as we might desire, because we do not
adamc@1141 5563 # link with -lc, and that would cause any symbols used from libc to
adamc@1141 5564 # always be unresolved, which means just about no library would
adamc@1141 5565 # ever link correctly. If we're not using GNU ld we use -z text
adamc@1141 5566 # though, which does catch some bad symbols but isn't as heavy-handed
adamc@1141 5567 # as -z defs.
adamc@1141 5568 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
adamc@1141 5569 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
adamc@1141 5570 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 5571 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5572 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
adamc@1141 5573 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
adamc@1141 5574 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 5575 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
adamc@1141 5576 runpath_var='LD_RUN_PATH'
adamc@1141 5577
adamc@1141 5578 if test "$GCC" = yes; then
adamc@1141 5579 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5580 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5581 else
adamc@1141 5582 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5583 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 5584 fi
adamc@1141 5585 ;;
adamc@1141 5586
adamc@1141 5587 uts4*)
adamc@1141 5588 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
adamc@1141 5589 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adamc@1141 5590 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 5591 ;;
adamc@1141 5592
adamc@1141 5593 *)
adamc@1141 5594 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 5595 ;;
adamc@1141 5596 esac
adamc@1141 5597
adamc@1141 5598 if test x$host_vendor = xsni; then
adamc@1141 5599 case $host in
adamc@1141 5600 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
adamc@1141 5601 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
adamc@1141 5602 ;;
adamc@1141 5603 esac
adamc@1141 5604 fi
adamc@1141 5605 fi
adamc@1141 5606 ])
adamc@1141 5607 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
adamc@1141 5608 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
adamc@1141 5609
adamc@1141 5610 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
adamc@1141 5611
adamc@1141 5612 _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
adamc@1141 5613 _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
adamc@1141 5614 _LT_DECL([], [extract_expsyms_cmds], [2],
adamc@1141 5615 [The commands to extract the exported symbol list from a shared archive])
adamc@1141 5616
adamc@1141 5617 #
adamc@1141 5618 # Do we need to explicitly link libc?
adamc@1141 5619 #
adamc@1141 5620 case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
adamc@1141 5621 x|xyes)
adamc@1141 5622 # Assume -lc should be added
adamc@1141 5623 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
adamc@1141 5624
adamc@1141 5625 if test "$enable_shared" = yes && test "$GCC" = yes; then
adamc@1141 5626 case $_LT_TAGVAR(archive_cmds, $1) in
adamc@1141 5627 *'~'*)
adamc@1141 5628 # FIXME: we may have to deal with multi-command sequences.
adamc@1141 5629 ;;
adamc@1141 5630 '$CC '*)
adamc@1141 5631 # Test whether the compiler implicitly links with -lc since on some
adamc@1141 5632 # systems, -lgcc has to come before -lc. If gcc already passes -lc
adamc@1141 5633 # to ld, don't add -lc before -lgcc.
adam@1459 5634 AC_CACHE_CHECK([whether -lc should be explicitly linked in],
adam@1459 5635 [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
adam@1459 5636 [$RM conftest*
adam@1459 5637 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
adam@1459 5638
adam@1459 5639 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
adam@1459 5640 soname=conftest
adam@1459 5641 lib=conftest
adam@1459 5642 libobjs=conftest.$ac_objext
adam@1459 5643 deplibs=
adam@1459 5644 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
adam@1459 5645 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
adam@1459 5646 compiler_flags=-v
adam@1459 5647 linker_flags=-v
adam@1459 5648 verstring=
adam@1459 5649 output_objdir=.
adam@1459 5650 libname=conftest
adam@1459 5651 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
adam@1459 5652 _LT_TAGVAR(allow_undefined_flag, $1)=
adam@1459 5653 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
adam@1459 5654 then
adam@1459 5655 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
adam@1459 5656 else
adam@1459 5657 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
adam@1459 5658 fi
adam@1459 5659 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
adam@1459 5660 else
adam@1459 5661 cat conftest.err 1>&5
adam@1459 5662 fi
adam@1459 5663 $RM conftest*
adam@1459 5664 ])
adam@1459 5665 _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
adamc@1141 5666 ;;
adamc@1141 5667 esac
adamc@1141 5668 fi
adamc@1141 5669 ;;
adamc@1141 5670 esac
adamc@1141 5671
adamc@1141 5672 _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
adamc@1141 5673 [Whether or not to add -lc for building shared libraries])
adamc@1141 5674 _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
adamc@1141 5675 [enable_shared_with_static_runtimes], [0],
adamc@1141 5676 [Whether or not to disallow shared libs when runtime libs are static])
adamc@1141 5677 _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
adamc@1141 5678 [Compiler flag to allow reflexive dlopens])
adamc@1141 5679 _LT_TAGDECL([], [whole_archive_flag_spec], [1],
adamc@1141 5680 [Compiler flag to generate shared objects directly from archives])
adamc@1141 5681 _LT_TAGDECL([], [compiler_needs_object], [1],
adamc@1141 5682 [Whether the compiler copes with passing no objects directly])
adamc@1141 5683 _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
adamc@1141 5684 [Create an old-style archive from a shared archive])
adamc@1141 5685 _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
adamc@1141 5686 [Create a temporary old-style archive to link instead of a shared archive])
adamc@1141 5687 _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
adamc@1141 5688 _LT_TAGDECL([], [archive_expsym_cmds], [2])
adamc@1141 5689 _LT_TAGDECL([], [module_cmds], [2],
adamc@1141 5690 [Commands used to build a loadable module if different from building
adamc@1141 5691 a shared archive.])
adamc@1141 5692 _LT_TAGDECL([], [module_expsym_cmds], [2])
adamc@1141 5693 _LT_TAGDECL([], [with_gnu_ld], [1],
adamc@1141 5694 [Whether we are building with GNU ld or not])
adamc@1141 5695 _LT_TAGDECL([], [allow_undefined_flag], [1],
adamc@1141 5696 [Flag that allows shared libraries with undefined symbols to be built])
adamc@1141 5697 _LT_TAGDECL([], [no_undefined_flag], [1],
adamc@1141 5698 [Flag that enforces no undefined symbols])
adamc@1141 5699 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
adamc@1141 5700 [Flag to hardcode $libdir into a binary during linking.
adamc@1141 5701 This must work even if $libdir does not exist])
adamc@1141 5702 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
adamc@1141 5703 [Whether we need a single "-rpath" flag with a separated argument])
adamc@1141 5704 _LT_TAGDECL([], [hardcode_direct], [0],
adamc@1141 5705 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
adamc@1141 5706 DIR into the resulting binary])
adamc@1141 5707 _LT_TAGDECL([], [hardcode_direct_absolute], [0],
adamc@1141 5708 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
adamc@1141 5709 DIR into the resulting binary and the resulting library dependency is
adamc@1141 5710 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
adamc@1141 5711 library is relocated])
adamc@1141 5712 _LT_TAGDECL([], [hardcode_minus_L], [0],
adamc@1141 5713 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
adamc@1141 5714 into the resulting binary])
adamc@1141 5715 _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
adamc@1141 5716 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
adamc@1141 5717 into the resulting binary])
adamc@1141 5718 _LT_TAGDECL([], [hardcode_automatic], [0],
adamc@1141 5719 [Set to "yes" if building a shared library automatically hardcodes DIR
adamc@1141 5720 into the library and all subsequent libraries and executables linked
adamc@1141 5721 against it])
adamc@1141 5722 _LT_TAGDECL([], [inherit_rpath], [0],
adamc@1141 5723 [Set to yes if linker adds runtime paths of dependent libraries
adamc@1141 5724 to runtime path list])
adamc@1141 5725 _LT_TAGDECL([], [link_all_deplibs], [0],
adamc@1141 5726 [Whether libtool must link a program against all its dependency libraries])
adamc@1141 5727 _LT_TAGDECL([], [always_export_symbols], [0],
adamc@1141 5728 [Set to "yes" if exported symbols are required])
adamc@1141 5729 _LT_TAGDECL([], [export_symbols_cmds], [2],
adamc@1141 5730 [The commands to list exported symbols])
adamc@1141 5731 _LT_TAGDECL([], [exclude_expsyms], [1],
adamc@1141 5732 [Symbols that should not be listed in the preloaded symbols])
adamc@1141 5733 _LT_TAGDECL([], [include_expsyms], [1],
adamc@1141 5734 [Symbols that must always be exported])
adamc@1141 5735 _LT_TAGDECL([], [prelink_cmds], [2],
adamc@1141 5736 [Commands necessary for linking programs (against libraries) with templates])
adam@1459 5737 _LT_TAGDECL([], [postlink_cmds], [2],
adam@1459 5738 [Commands necessary for finishing linking programs])
adamc@1141 5739 _LT_TAGDECL([], [file_list_spec], [1],
adamc@1141 5740 [Specify filename containing input files])
adamc@1141 5741 dnl FIXME: Not yet implemented
adamc@1141 5742 dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
adamc@1141 5743 dnl [Compiler flag to generate thread safe objects])
adamc@1141 5744 ])# _LT_LINKER_SHLIBS
adamc@1141 5745
adamc@1141 5746
adamc@1141 5747 # _LT_LANG_C_CONFIG([TAG])
adamc@1141 5748 # ------------------------
adamc@1141 5749 # Ensure that the configuration variables for a C compiler are suitably
adamc@1141 5750 # defined. These variables are subsequently used by _LT_CONFIG to write
adamc@1141 5751 # the compiler configuration to `libtool'.
adamc@1141 5752 m4_defun([_LT_LANG_C_CONFIG],
adamc@1141 5753 [m4_require([_LT_DECL_EGREP])dnl
adamc@1141 5754 lt_save_CC="$CC"
adamc@1141 5755 AC_LANG_PUSH(C)
adamc@1141 5756
adamc@1141 5757 # Source file extension for C test sources.
adamc@1141 5758 ac_ext=c
adamc@1141 5759
adamc@1141 5760 # Object file extension for compiled C test sources.
adamc@1141 5761 objext=o
adamc@1141 5762 _LT_TAGVAR(objext, $1)=$objext
adamc@1141 5763
adamc@1141 5764 # Code to be used in simple compile tests
adamc@1141 5765 lt_simple_compile_test_code="int some_variable = 0;"
adamc@1141 5766
adamc@1141 5767 # Code to be used in simple link tests
adamc@1141 5768 lt_simple_link_test_code='int main(){return(0);}'
adamc@1141 5769
adamc@1141 5770 _LT_TAG_COMPILER
adamc@1141 5771 # Save the default compiler, since it gets overwritten when the other
adamc@1141 5772 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
adamc@1141 5773 compiler_DEFAULT=$CC
adamc@1141 5774
adamc@1141 5775 # save warnings/boilerplate of simple test code
adamc@1141 5776 _LT_COMPILER_BOILERPLATE
adamc@1141 5777 _LT_LINKER_BOILERPLATE
adamc@1141 5778
adamc@1141 5779 ## CAVEAT EMPTOR:
adamc@1141 5780 ## There is no encapsulation within the following macros, do not change
adamc@1141 5781 ## the running order or otherwise move them around unless you know exactly
adamc@1141 5782 ## what you are doing...
adamc@1141 5783 if test -n "$compiler"; then
adamc@1141 5784 _LT_COMPILER_NO_RTTI($1)
adamc@1141 5785 _LT_COMPILER_PIC($1)
adamc@1141 5786 _LT_COMPILER_C_O($1)
adamc@1141 5787 _LT_COMPILER_FILE_LOCKS($1)
adamc@1141 5788 _LT_LINKER_SHLIBS($1)
adamc@1141 5789 _LT_SYS_DYNAMIC_LINKER($1)
adamc@1141 5790 _LT_LINKER_HARDCODE_LIBPATH($1)
adamc@1141 5791 LT_SYS_DLOPEN_SELF
adamc@1141 5792 _LT_CMD_STRIPLIB
adamc@1141 5793
adamc@1141 5794 # Report which library types will actually be built
adamc@1141 5795 AC_MSG_CHECKING([if libtool supports shared libraries])
adamc@1141 5796 AC_MSG_RESULT([$can_build_shared])
adamc@1141 5797
adamc@1141 5798 AC_MSG_CHECKING([whether to build shared libraries])
adamc@1141 5799 test "$can_build_shared" = "no" && enable_shared=no
adamc@1141 5800
adamc@1141 5801 # On AIX, shared libraries and static libraries use the same namespace, and
adamc@1141 5802 # are all built from PIC.
adamc@1141 5803 case $host_os in
adamc@1141 5804 aix3*)
adamc@1141 5805 test "$enable_shared" = yes && enable_static=no
adamc@1141 5806 if test -n "$RANLIB"; then
adamc@1141 5807 archive_cmds="$archive_cmds~\$RANLIB \$lib"
adamc@1141 5808 postinstall_cmds='$RANLIB $lib'
adamc@1141 5809 fi
adamc@1141 5810 ;;
adamc@1141 5811
adamc@1141 5812 aix[[4-9]]*)
adamc@1141 5813 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
adamc@1141 5814 test "$enable_shared" = yes && enable_static=no
adamc@1141 5815 fi
adamc@1141 5816 ;;
adamc@1141 5817 esac
adamc@1141 5818 AC_MSG_RESULT([$enable_shared])
adamc@1141 5819
adamc@1141 5820 AC_MSG_CHECKING([whether to build static libraries])
adamc@1141 5821 # Make sure either enable_shared or enable_static is yes.
adamc@1141 5822 test "$enable_shared" = yes || enable_static=yes
adamc@1141 5823 AC_MSG_RESULT([$enable_static])
adamc@1141 5824
adamc@1141 5825 _LT_CONFIG($1)
adamc@1141 5826 fi
adamc@1141 5827 AC_LANG_POP
adamc@1141 5828 CC="$lt_save_CC"
adamc@1141 5829 ])# _LT_LANG_C_CONFIG
adamc@1141 5830
adamc@1141 5831
adam@1459 5832 # _LT_LANG_CXX_CONFIG([TAG])
adam@1459 5833 # --------------------------
adam@1459 5834 # Ensure that the configuration variables for a C++ compiler are suitably
adam@1459 5835 # defined. These variables are subsequently used by _LT_CONFIG to write
adam@1459 5836 # the compiler configuration to `libtool'.
adam@1459 5837 m4_defun([_LT_LANG_CXX_CONFIG],
adam@1459 5838 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adam@1459 5839 m4_require([_LT_DECL_EGREP])dnl
adam@1459 5840 m4_require([_LT_PATH_MANIFEST_TOOL])dnl
adamc@1141 5841 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
adamc@1141 5842 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
adamc@1141 5843 (test "X$CXX" != "Xg++"))) ; then
adamc@1141 5844 AC_PROG_CXXCPP
adamc@1141 5845 else
adamc@1141 5846 _lt_caught_CXX_error=yes
adamc@1141 5847 fi
adamc@1141 5848
adamc@1141 5849 AC_LANG_PUSH(C++)
adamc@1141 5850 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 5851 _LT_TAGVAR(allow_undefined_flag, $1)=
adamc@1141 5852 _LT_TAGVAR(always_export_symbols, $1)=no
adamc@1141 5853 _LT_TAGVAR(archive_expsym_cmds, $1)=
adamc@1141 5854 _LT_TAGVAR(compiler_needs_object, $1)=no
adamc@1141 5855 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
adamc@1141 5856 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 5857 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
adamc@1141 5858 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
adamc@1141 5859 _LT_TAGVAR(hardcode_libdir_separator, $1)=
adamc@1141 5860 _LT_TAGVAR(hardcode_minus_L, $1)=no
adamc@1141 5861 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
adamc@1141 5862 _LT_TAGVAR(hardcode_automatic, $1)=no
adamc@1141 5863 _LT_TAGVAR(inherit_rpath, $1)=no
adamc@1141 5864 _LT_TAGVAR(module_cmds, $1)=
adamc@1141 5865 _LT_TAGVAR(module_expsym_cmds, $1)=
adamc@1141 5866 _LT_TAGVAR(link_all_deplibs, $1)=unknown
adamc@1141 5867 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
adam@1459 5868 _LT_TAGVAR(reload_flag, $1)=$reload_flag
adam@1459 5869 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
adamc@1141 5870 _LT_TAGVAR(no_undefined_flag, $1)=
adamc@1141 5871 _LT_TAGVAR(whole_archive_flag_spec, $1)=
adamc@1141 5872 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
adamc@1141 5873
adamc@1141 5874 # Source file extension for C++ test sources.
adamc@1141 5875 ac_ext=cpp
adamc@1141 5876
adamc@1141 5877 # Object file extension for compiled C++ test sources.
adamc@1141 5878 objext=o
adamc@1141 5879 _LT_TAGVAR(objext, $1)=$objext
adamc@1141 5880
adamc@1141 5881 # No sense in running all these tests if we already determined that
adamc@1141 5882 # the CXX compiler isn't working. Some variables (like enable_shared)
adamc@1141 5883 # are currently assumed to apply to all compilers on this platform,
adamc@1141 5884 # and will be corrupted by setting them based on a non-working compiler.
adamc@1141 5885 if test "$_lt_caught_CXX_error" != yes; then
adamc@1141 5886 # Code to be used in simple compile tests
adamc@1141 5887 lt_simple_compile_test_code="int some_variable = 0;"
adamc@1141 5888
adamc@1141 5889 # Code to be used in simple link tests
adamc@1141 5890 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
adamc@1141 5891
adamc@1141 5892 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
adamc@1141 5893 _LT_TAG_COMPILER
adamc@1141 5894
adamc@1141 5895 # save warnings/boilerplate of simple test code
adamc@1141 5896 _LT_COMPILER_BOILERPLATE
adamc@1141 5897 _LT_LINKER_BOILERPLATE
adamc@1141 5898
adamc@1141 5899 # Allow CC to be a program name with arguments.
adamc@1141 5900 lt_save_CC=$CC
adam@1459 5901 lt_save_CFLAGS=$CFLAGS
adamc@1141 5902 lt_save_LD=$LD
adamc@1141 5903 lt_save_GCC=$GCC
adamc@1141 5904 GCC=$GXX
adamc@1141 5905 lt_save_with_gnu_ld=$with_gnu_ld
adamc@1141 5906 lt_save_path_LD=$lt_cv_path_LD
adamc@1141 5907 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
adamc@1141 5908 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
adamc@1141 5909 else
adamc@1141 5910 $as_unset lt_cv_prog_gnu_ld
adamc@1141 5911 fi
adamc@1141 5912 if test -n "${lt_cv_path_LDCXX+set}"; then
adamc@1141 5913 lt_cv_path_LD=$lt_cv_path_LDCXX
adamc@1141 5914 else
adamc@1141 5915 $as_unset lt_cv_path_LD
adamc@1141 5916 fi
adamc@1141 5917 test -z "${LDCXX+set}" || LD=$LDCXX
adamc@1141 5918 CC=${CXX-"c++"}
adam@1459 5919 CFLAGS=$CXXFLAGS
adamc@1141 5920 compiler=$CC
adamc@1141 5921 _LT_TAGVAR(compiler, $1)=$CC
adamc@1141 5922 _LT_CC_BASENAME([$compiler])
adamc@1141 5923
adamc@1141 5924 if test -n "$compiler"; then
adamc@1141 5925 # We don't want -fno-exception when compiling C++ code, so set the
adamc@1141 5926 # no_builtin_flag separately
adamc@1141 5927 if test "$GXX" = yes; then
adamc@1141 5928 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
adamc@1141 5929 else
adamc@1141 5930 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
adamc@1141 5931 fi
adamc@1141 5932
adamc@1141 5933 if test "$GXX" = yes; then
adamc@1141 5934 # Set up default GNU C++ configuration
adamc@1141 5935
adamc@1141 5936 LT_PATH_LD
adamc@1141 5937
adamc@1141 5938 # Check if GNU C++ uses GNU ld as the underlying linker, since the
adamc@1141 5939 # archiving commands below assume that GNU ld is being used.
adamc@1141 5940 if test "$with_gnu_ld" = yes; then
adam@1459 5941 _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
adam@1459 5942 _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'
adamc@1141 5943
adamc@1141 5944 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 5945 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
adamc@1141 5946
adamc@1141 5947 # If archive_cmds runs LD, not CC, wlarc should be empty
adamc@1141 5948 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
adamc@1141 5949 # investigate it a little bit more. (MM)
adamc@1141 5950 wlarc='${wl}'
adamc@1141 5951
adamc@1141 5952 # ancient GNU ld didn't support --whole-archive et. al.
adamc@1141 5953 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
adamc@1141 5954 $GREP 'no-whole-archive' > /dev/null; then
adamc@1141 5955 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
adamc@1141 5956 else
adamc@1141 5957 _LT_TAGVAR(whole_archive_flag_spec, $1)=
adamc@1141 5958 fi
adamc@1141 5959 else
adamc@1141 5960 with_gnu_ld=no
adamc@1141 5961 wlarc=
adamc@1141 5962
adamc@1141 5963 # A generic and very simple default shared library creation
adamc@1141 5964 # command for GNU C++ for the case where it uses the native
adamc@1141 5965 # linker, instead of GNU ld. If possible, this setting should
adamc@1141 5966 # overridden to take advantage of the native linker features on
adamc@1141 5967 # the platform it is being used on.
adamc@1141 5968 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
adamc@1141 5969 fi
adamc@1141 5970
adamc@1141 5971 # Commands to make compiler produce verbose output that lists
adamc@1141 5972 # what "hidden" libraries, object files and flags are used when
adamc@1141 5973 # linking a shared library.
adam@1459 5974 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
adamc@1141 5975
adamc@1141 5976 else
adamc@1141 5977 GXX=no
adamc@1141 5978 with_gnu_ld=no
adamc@1141 5979 wlarc=
adamc@1141 5980 fi
adamc@1141 5981
adamc@1141 5982 # PORTME: fill in a description of your system's C++ link characteristics
adamc@1141 5983 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
adamc@1141 5984 _LT_TAGVAR(ld_shlibs, $1)=yes
adamc@1141 5985 case $host_os in
adamc@1141 5986 aix3*)
adamc@1141 5987 # FIXME: insert proper C++ library support
adamc@1141 5988 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 5989 ;;
adamc@1141 5990 aix[[4-9]]*)
adamc@1141 5991 if test "$host_cpu" = ia64; then
adamc@1141 5992 # On IA64, the linker does run time linking by default, so we don't
adamc@1141 5993 # have to do anything special.
adamc@1141 5994 aix_use_runtimelinking=no
adamc@1141 5995 exp_sym_flag='-Bexport'
adamc@1141 5996 no_entry_flag=""
adamc@1141 5997 else
adamc@1141 5998 aix_use_runtimelinking=no
adamc@1141 5999
adamc@1141 6000 # Test if we are trying to use run time linking or normal
adamc@1141 6001 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
adamc@1141 6002 # need to do runtime linking.
adamc@1141 6003 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
adamc@1141 6004 for ld_flag in $LDFLAGS; do
adamc@1141 6005 case $ld_flag in
adamc@1141 6006 *-brtl*)
adamc@1141 6007 aix_use_runtimelinking=yes
adamc@1141 6008 break
adamc@1141 6009 ;;
adamc@1141 6010 esac
adamc@1141 6011 done
adamc@1141 6012 ;;
adamc@1141 6013 esac
adamc@1141 6014
adamc@1141 6015 exp_sym_flag='-bexport'
adamc@1141 6016 no_entry_flag='-bnoentry'
adamc@1141 6017 fi
adamc@1141 6018
adamc@1141 6019 # When large executables or shared objects are built, AIX ld can
adamc@1141 6020 # have problems creating the table of contents. If linking a library
adamc@1141 6021 # or program results in "error TOC overflow" add -mminimal-toc to
adamc@1141 6022 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
adamc@1141 6023 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
adamc@1141 6024
adamc@1141 6025 _LT_TAGVAR(archive_cmds, $1)=''
adamc@1141 6026 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 6027 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
adamc@1141 6028 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
adamc@1141 6029 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 6030 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
adamc@1141 6031
adamc@1141 6032 if test "$GXX" = yes; then
adamc@1141 6033 case $host_os in aix4.[[012]]|aix4.[[012]].*)
adamc@1141 6034 # We only want to do this on AIX 4.2 and lower, the check
adamc@1141 6035 # below for broken collect2 doesn't work under 4.3+
adamc@1141 6036 collect2name=`${CC} -print-prog-name=collect2`
adamc@1141 6037 if test -f "$collect2name" &&
adamc@1141 6038 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
adamc@1141 6039 then
adamc@1141 6040 # We have reworked collect2
adamc@1141 6041 :
adamc@1141 6042 else
adamc@1141 6043 # We have old collect2
adamc@1141 6044 _LT_TAGVAR(hardcode_direct, $1)=unsupported
adamc@1141 6045 # It fails to find uninstalled libraries when the uninstalled
adamc@1141 6046 # path is not listed in the libpath. Setting hardcode_minus_L
adamc@1141 6047 # to unsupported forces relinking
adamc@1141 6048 _LT_TAGVAR(hardcode_minus_L, $1)=yes
adamc@1141 6049 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adamc@1141 6050 _LT_TAGVAR(hardcode_libdir_separator, $1)=
adamc@1141 6051 fi
adamc@1141 6052 esac
adamc@1141 6053 shared_flag='-shared'
adamc@1141 6054 if test "$aix_use_runtimelinking" = yes; then
adamc@1141 6055 shared_flag="$shared_flag "'${wl}-G'
adamc@1141 6056 fi
adamc@1141 6057 else
adamc@1141 6058 # not using gcc
adamc@1141 6059 if test "$host_cpu" = ia64; then
adamc@1141 6060 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
adamc@1141 6061 # chokes on -Wl,-G. The following line is correct:
adamc@1141 6062 shared_flag='-G'
adamc@1141 6063 else
adamc@1141 6064 if test "$aix_use_runtimelinking" = yes; then
adamc@1141 6065 shared_flag='${wl}-G'
adamc@1141 6066 else
adamc@1141 6067 shared_flag='${wl}-bM:SRE'
adamc@1141 6068 fi
adamc@1141 6069 fi
adamc@1141 6070 fi
adamc@1141 6071
adamc@1141 6072 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
adamc@1141 6073 # It seems that -bexpall does not export symbols beginning with
adamc@1141 6074 # underscore (_), so it is better to generate a list of symbols to
adamc@1141 6075 # export.
adamc@1141 6076 _LT_TAGVAR(always_export_symbols, $1)=yes
adamc@1141 6077 if test "$aix_use_runtimelinking" = yes; then
adamc@1141 6078 # Warning - without using the other runtime loading flags (-brtl),
adamc@1141 6079 # -berok will link without error, but may produce a broken library.
adamc@1141 6080 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
adamc@1141 6081 # Determine the default libpath from the value encoded in an empty
adamc@1141 6082 # executable.
adam@1459 6083 _LT_SYS_MODULE_PATH_AIX([$1])
adamc@1141 6084 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
adamc@1141 6085
adam@1459 6086 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
adamc@1141 6087 else
adamc@1141 6088 if test "$host_cpu" = ia64; then
adamc@1141 6089 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
adamc@1141 6090 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
adamc@1141 6091 _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"
adamc@1141 6092 else
adamc@1141 6093 # Determine the default libpath from the value encoded in an
adamc@1141 6094 # empty executable.
adam@1459 6095 _LT_SYS_MODULE_PATH_AIX([$1])
adamc@1141 6096 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
adamc@1141 6097 # Warning - without using the other run time loading flags,
adamc@1141 6098 # -berok will link without error, but may produce a broken library.
adamc@1141 6099 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
adamc@1141 6100 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
adam@1459 6101 if test "$with_gnu_ld" = yes; then
adam@1459 6102 # We only use this code for GNU lds that support --whole-archive.
adam@1459 6103 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
adam@1459 6104 else
adam@1459 6105 # Exported symbols can be pulled into shared objects from archives
adam@1459 6106 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
adam@1459 6107 fi
adamc@1141 6108 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
adamc@1141 6109 # This is similar to how AIX traditionally builds its shared
adamc@1141 6110 # libraries.
adamc@1141 6111 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
adamc@1141 6112 fi
adamc@1141 6113 fi
adamc@1141 6114 ;;
adamc@1141 6115
adamc@1141 6116 beos*)
adamc@1141 6117 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
adamc@1141 6118 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adamc@1141 6119 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
adamc@1141 6120 # support --undefined. This deserves some investigation. FIXME
adamc@1141 6121 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 6122 else
adamc@1141 6123 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6124 fi
adamc@1141 6125 ;;
adamc@1141 6126
adamc@1141 6127 chorus*)
adamc@1141 6128 case $cc_basename in
adamc@1141 6129 *)
adamc@1141 6130 # FIXME: insert proper C++ library support
adamc@1141 6131 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6132 ;;
adamc@1141 6133 esac
adamc@1141 6134 ;;
adamc@1141 6135
adamc@1141 6136 cygwin* | mingw* | pw32* | cegcc*)
adam@1459 6137 case $GXX,$cc_basename in
adam@1459 6138 ,cl* | no,cl*)
adam@1459 6139 # Native MSVC
adam@1459 6140 # hardcode_libdir_flag_spec is actually meaningless, as there is
adam@1459 6141 # no search path for DLLs.
adam@1459 6142 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
adam@1459 6143 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adam@1459 6144 _LT_TAGVAR(always_export_symbols, $1)=yes
adam@1459 6145 _LT_TAGVAR(file_list_spec, $1)='@'
adam@1459 6146 # Tell ltmain to make .lib files, not .a files.
adam@1459 6147 libext=lib
adam@1459 6148 # Tell ltmain to make .dll files, not .so files.
adam@1459 6149 shrext_cmds=".dll"
adam@1459 6150 # FIXME: Setting linknames here is a bad hack.
adam@1459 6151 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
adam@1459 6152 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
adam@1459 6153 $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
adam@1459 6154 else
adam@1459 6155 $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
adam@1459 6156 fi~
adam@1459 6157 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
adam@1459 6158 linknames='
adam@1459 6159 # The linker will not automatically build a static lib if we build a DLL.
adam@1459 6160 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
adam@1459 6161 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
adam@1459 6162 # Don't use ranlib
adam@1459 6163 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
adam@1459 6164 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
adam@1459 6165 lt_tool_outputfile="@TOOL_OUTPUT@"~
adam@1459 6166 case $lt_outputfile in
adam@1459 6167 *.exe|*.EXE) ;;
adam@1459 6168 *)
adam@1459 6169 lt_outputfile="$lt_outputfile.exe"
adam@1459 6170 lt_tool_outputfile="$lt_tool_outputfile.exe"
adam@1459 6171 ;;
adam@1459 6172 esac~
adam@1459 6173 func_to_tool_file "$lt_outputfile"~
adam@1459 6174 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
adam@1459 6175 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
adam@1459 6176 $RM "$lt_outputfile.manifest";
adam@1459 6177 fi'
adam@1459 6178 ;;
adam@1459 6179 *)
adam@1459 6180 # g++
adam@1459 6181 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
adam@1459 6182 # as there is no search path for DLLs.
adam@1459 6183 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
adam@1459 6184 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
adam@1459 6185 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
adam@1459 6186 _LT_TAGVAR(always_export_symbols, $1)=no
adam@1459 6187 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
adam@1459 6188
adam@1459 6189 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
adam@1459 6190 _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'
adam@1459 6191 # If the export-symbols file already is a .def file (1st line
adam@1459 6192 # is EXPORTS), use it as is; otherwise, prepend...
adam@1459 6193 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
adam@1459 6194 cp $export_symbols $output_objdir/$soname.def;
adam@1459 6195 else
adam@1459 6196 echo EXPORTS > $output_objdir/$soname.def;
adam@1459 6197 cat $export_symbols >> $output_objdir/$soname.def;
adam@1459 6198 fi~
adam@1459 6199 $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'
adam@1459 6200 else
adam@1459 6201 _LT_TAGVAR(ld_shlibs, $1)=no
adam@1459 6202 fi
adam@1459 6203 ;;
adam@1459 6204 esac
adam@1459 6205 ;;
adamc@1141 6206 darwin* | rhapsody*)
adamc@1141 6207 _LT_DARWIN_LINKER_FEATURES($1)
adamc@1141 6208 ;;
adamc@1141 6209
adamc@1141 6210 dgux*)
adamc@1141 6211 case $cc_basename in
adamc@1141 6212 ec++*)
adamc@1141 6213 # FIXME: insert proper C++ library support
adamc@1141 6214 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6215 ;;
adamc@1141 6216 ghcx*)
adamc@1141 6217 # Green Hills C++ Compiler
adamc@1141 6218 # FIXME: insert proper C++ library support
adamc@1141 6219 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6220 ;;
adamc@1141 6221 *)
adamc@1141 6222 # FIXME: insert proper C++ library support
adamc@1141 6223 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6224 ;;
adamc@1141 6225 esac
adamc@1141 6226 ;;
adamc@1141 6227
adam@1599 6228 freebsd2.*)
adamc@1141 6229 # C++ shared libraries reported to be fairly broken before
adamc@1141 6230 # switch to ELF
adamc@1141 6231 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6232 ;;
adamc@1141 6233
adamc@1141 6234 freebsd-elf*)
adamc@1141 6235 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 6236 ;;
adamc@1141 6237
adamc@1141 6238 freebsd* | dragonfly*)
adamc@1141 6239 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
adamc@1141 6240 # conventions
adamc@1141 6241 _LT_TAGVAR(ld_shlibs, $1)=yes
adamc@1141 6242 ;;
adamc@1141 6243
adamc@1141 6244 gnu*)
adamc@1141 6245 ;;
adamc@1141 6246
adam@1459 6247 haiku*)
adam@1459 6248 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adam@1459 6249 _LT_TAGVAR(link_all_deplibs, $1)=yes
adam@1459 6250 ;;
adam@1459 6251
adamc@1141 6252 hpux9*)
adamc@1141 6253 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
adamc@1141 6254 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 6255 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 6256 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 6257 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
adamc@1141 6258 # but as the default
adamc@1141 6259 # location of the library.
adamc@1141 6260
adamc@1141 6261 case $cc_basename in
adamc@1141 6262 CC*)
adamc@1141 6263 # FIXME: insert proper C++ library support
adamc@1141 6264 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6265 ;;
adamc@1141 6266 aCC*)
adamc@1141 6267 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
adamc@1141 6268 # Commands to make compiler produce verbose output that lists
adamc@1141 6269 # what "hidden" libraries, object files and flags are used when
adamc@1141 6270 # linking a shared library.
adamc@1141 6271 #
adamc@1141 6272 # There doesn't appear to be a way to prevent this compiler from
adamc@1141 6273 # explicitly linking system object files so we need to strip them
adamc@1141 6274 # from the output so that they don't get included in the library
adamc@1141 6275 # dependencies.
adam@1459 6276 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"'
adamc@1141 6277 ;;
adamc@1141 6278 *)
adamc@1141 6279 if test "$GXX" = yes; then
adam@1459 6280 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
adamc@1141 6281 else
adamc@1141 6282 # FIXME: insert proper C++ library support
adamc@1141 6283 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6284 fi
adamc@1141 6285 ;;
adamc@1141 6286 esac
adamc@1141 6287 ;;
adamc@1141 6288
adamc@1141 6289 hpux10*|hpux11*)
adamc@1141 6290 if test $with_gnu_ld = no; then
adamc@1141 6291 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
adamc@1141 6292 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 6293
adamc@1141 6294 case $host_cpu in
adamc@1141 6295 hppa*64*|ia64*)
adamc@1141 6296 ;;
adamc@1141 6297 *)
adamc@1141 6298 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 6299 ;;
adamc@1141 6300 esac
adamc@1141 6301 fi
adamc@1141 6302 case $host_cpu in
adamc@1141 6303 hppa*64*|ia64*)
adamc@1141 6304 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 6305 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 6306 ;;
adamc@1141 6307 *)
adamc@1141 6308 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 6309 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
adamc@1141 6310 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
adamc@1141 6311 # but as the default
adamc@1141 6312 # location of the library.
adamc@1141 6313 ;;
adamc@1141 6314 esac
adamc@1141 6315
adamc@1141 6316 case $cc_basename in
adamc@1141 6317 CC*)
adamc@1141 6318 # FIXME: insert proper C++ library support
adamc@1141 6319 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6320 ;;
adamc@1141 6321 aCC*)
adamc@1141 6322 case $host_cpu in
adamc@1141 6323 hppa*64*)
adamc@1141 6324 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
adamc@1141 6325 ;;
adamc@1141 6326 ia64*)
adamc@1141 6327 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
adamc@1141 6328 ;;
adamc@1141 6329 *)
adamc@1141 6330 _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'
adamc@1141 6331 ;;
adamc@1141 6332 esac
adamc@1141 6333 # Commands to make compiler produce verbose output that lists
adamc@1141 6334 # what "hidden" libraries, object files and flags are used when
adamc@1141 6335 # linking a shared library.
adamc@1141 6336 #
adamc@1141 6337 # There doesn't appear to be a way to prevent this compiler from
adamc@1141 6338 # explicitly linking system object files so we need to strip them
adamc@1141 6339 # from the output so that they don't get included in the library
adamc@1141 6340 # dependencies.
adam@1459 6341 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"'
adamc@1141 6342 ;;
adamc@1141 6343 *)
adamc@1141 6344 if test "$GXX" = yes; then
adamc@1141 6345 if test $with_gnu_ld = no; then
adamc@1141 6346 case $host_cpu in
adamc@1141 6347 hppa*64*)
adamc@1141 6348 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
adamc@1141 6349 ;;
adamc@1141 6350 ia64*)
adam@1459 6351 _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'
adamc@1141 6352 ;;
adamc@1141 6353 *)
adam@1459 6354 _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'
adamc@1141 6355 ;;
adamc@1141 6356 esac
adamc@1141 6357 fi
adamc@1141 6358 else
adamc@1141 6359 # FIXME: insert proper C++ library support
adamc@1141 6360 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6361 fi
adamc@1141 6362 ;;
adamc@1141 6363 esac
adamc@1141 6364 ;;
adamc@1141 6365
adamc@1141 6366 interix[[3-9]]*)
adamc@1141 6367 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 6368 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 6369 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
adamc@1141 6370 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 6371 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
adamc@1141 6372 # Instead, shared libraries are loaded at an image base (0x10000000 by
adamc@1141 6373 # default) and relocated if they conflict, which is a slow very memory
adamc@1141 6374 # consuming and fragmenting process. To avoid this, we pick a random,
adamc@1141 6375 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
adamc@1141 6376 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
adamc@1141 6377 _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'
adamc@1141 6378 _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'
adamc@1141 6379 ;;
adamc@1141 6380 irix5* | irix6*)
adamc@1141 6381 case $cc_basename in
adamc@1141 6382 CC*)
adamc@1141 6383 # SGI C++
adam@1459 6384 _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'
adamc@1141 6385
adamc@1141 6386 # Archives containing C++ object files must be created using
adamc@1141 6387 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
adamc@1141 6388 # necessary to make sure instantiated templates are included
adamc@1141 6389 # in the archive.
adamc@1141 6390 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
adamc@1141 6391 ;;
adamc@1141 6392 *)
adamc@1141 6393 if test "$GXX" = yes; then
adamc@1141 6394 if test "$with_gnu_ld" = no; then
adam@1459 6395 _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'
adamc@1141 6396 else
adam@1459 6397 _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'
adamc@1141 6398 fi
adamc@1141 6399 fi
adamc@1141 6400 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 6401 ;;
adamc@1141 6402 esac
adamc@1141 6403 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 6404 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 6405 _LT_TAGVAR(inherit_rpath, $1)=yes
adamc@1141 6406 ;;
adamc@1141 6407
adamc@1141 6408 linux* | k*bsd*-gnu | kopensolaris*-gnu)
adamc@1141 6409 case $cc_basename in
adamc@1141 6410 KCC*)
adamc@1141 6411 # Kuck and Associates, Inc. (KAI) C++ Compiler
adamc@1141 6412
adamc@1141 6413 # KCC will only create a shared library if the output file
adamc@1141 6414 # ends with ".so" (or ".sl" for HP-UX), so rename the library
adamc@1141 6415 # to its proper name (with version) after linking.
adamc@1141 6416 _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'
adamc@1141 6417 _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'
adamc@1141 6418 # Commands to make compiler produce verbose output that lists
adamc@1141 6419 # what "hidden" libraries, object files and flags are used when
adamc@1141 6420 # linking a shared library.
adamc@1141 6421 #
adamc@1141 6422 # There doesn't appear to be a way to prevent this compiler from
adamc@1141 6423 # explicitly linking system object files so we need to strip them
adamc@1141 6424 # from the output so that they don't get included in the library
adamc@1141 6425 # dependencies.
adam@1459 6426 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"'
adamc@1141 6427
adamc@1141 6428 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
adamc@1141 6429 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
adamc@1141 6430
adamc@1141 6431 # Archives containing C++ object files must be created using
adamc@1141 6432 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
adamc@1141 6433 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
adamc@1141 6434 ;;
adamc@1141 6435 icpc* | ecpc* )
adamc@1141 6436 # Intel C++
adamc@1141 6437 with_gnu_ld=yes
adamc@1141 6438 # version 8.0 and above of icpc choke on multiply defined symbols
adamc@1141 6439 # if we add $predep_objects and $postdep_objects, however 7.1 and
adamc@1141 6440 # earlier do not add the objects themselves.
adamc@1141 6441 case `$CC -V 2>&1` in
adamc@1141 6442 *"Version 7."*)
adamc@1141 6443 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 6444 _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'
adamc@1141 6445 ;;
adamc@1141 6446 *) # Version 8.0 or newer
adamc@1141 6447 tmp_idyn=
adamc@1141 6448 case $host_cpu in
adamc@1141 6449 ia64*) tmp_idyn=' -i_dynamic';;
adamc@1141 6450 esac
adamc@1141 6451 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 6452 _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'
adamc@1141 6453 ;;
adamc@1141 6454 esac
adamc@1141 6455 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 6456 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
adamc@1141 6457 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
adamc@1141 6458 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
adamc@1141 6459 ;;
adamc@1141 6460 pgCC* | pgcpp*)
adamc@1141 6461 # Portland Group C++ compiler
adamc@1141 6462 case `$CC -V` in
adam@1459 6463 *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
adamc@1141 6464 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
adamc@1141 6465 rm -rf $tpldir~
adamc@1141 6466 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
adam@1459 6467 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
adamc@1141 6468 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
adamc@1141 6469 rm -rf $tpldir~
adamc@1141 6470 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
adam@1459 6471 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
adamc@1141 6472 $RANLIB $oldlib'
adamc@1141 6473 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
adamc@1141 6474 rm -rf $tpldir~
adamc@1141 6475 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
adam@1459 6476 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
adamc@1141 6477 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
adamc@1141 6478 rm -rf $tpldir~
adamc@1141 6479 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
adam@1459 6480 $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'
adamc@1141 6481 ;;
adam@1459 6482 *) # Version 6 and above use weak symbols
adamc@1141 6483 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
adamc@1141 6484 _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'
adamc@1141 6485 ;;
adamc@1141 6486 esac
adamc@1141 6487
adamc@1141 6488 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
adamc@1141 6489 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
adam@1459 6490 _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'
adamc@1141 6491 ;;
adamc@1141 6492 cxx*)
adamc@1141 6493 # Compaq C++
adamc@1141 6494 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 6495 _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'
adamc@1141 6496
adamc@1141 6497 runpath_var=LD_RUN_PATH
adamc@1141 6498 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
adamc@1141 6499 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 6500
adamc@1141 6501 # Commands to make compiler produce verbose output that lists
adamc@1141 6502 # what "hidden" libraries, object files and flags are used when
adamc@1141 6503 # linking a shared library.
adamc@1141 6504 #
adamc@1141 6505 # There doesn't appear to be a way to prevent this compiler from
adamc@1141 6506 # explicitly linking system object files so we need to strip them
adamc@1141 6507 # from the output so that they don't get included in the library
adamc@1141 6508 # dependencies.
adam@1459 6509 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'
adamc@1141 6510 ;;
adam@1459 6511 xl* | mpixl* | bgxl*)
adamc@1141 6512 # IBM XL 8.0 on PPC, with GNU ld
adamc@1141 6513 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 6514 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
adamc@1141 6515 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
adamc@1141 6516 if test "x$supports_anon_versioning" = xyes; then
adamc@1141 6517 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
adamc@1141 6518 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
adamc@1141 6519 echo "local: *; };" >> $output_objdir/$libname.ver~
adamc@1141 6520 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
adamc@1141 6521 fi
adamc@1141 6522 ;;
adamc@1141 6523 *)
adamc@1141 6524 case `$CC -V 2>&1 | sed 5q` in
adamc@1141 6525 *Sun\ C*)
adamc@1141 6526 # Sun C++ 5.9
adamc@1141 6527 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
adamc@1141 6528 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
adamc@1141 6529 _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'
adamc@1141 6530 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
adam@1459 6531 _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'
adamc@1141 6532 _LT_TAGVAR(compiler_needs_object, $1)=yes
adamc@1141 6533
adamc@1141 6534 # Not sure whether something based on
adamc@1141 6535 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
adamc@1141 6536 # would be better.
adam@1459 6537 output_verbose_link_cmd='func_echo_all'
adamc@1141 6538
adamc@1141 6539 # Archives containing C++ object files must be created using
adamc@1141 6540 # "CC -xar", where "CC" is the Sun C++ compiler. This is
adamc@1141 6541 # necessary to make sure instantiated templates are included
adamc@1141 6542 # in the archive.
adamc@1141 6543 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
adamc@1141 6544 ;;
adamc@1141 6545 esac
adamc@1141 6546 ;;
adamc@1141 6547 esac
adamc@1141 6548 ;;
adamc@1141 6549
adamc@1141 6550 lynxos*)
adamc@1141 6551 # FIXME: insert proper C++ library support
adamc@1141 6552 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6553 ;;
adamc@1141 6554
adamc@1141 6555 m88k*)
adamc@1141 6556 # FIXME: insert proper C++ library support
adamc@1141 6557 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6558 ;;
adamc@1141 6559
adamc@1141 6560 mvs*)
adamc@1141 6561 case $cc_basename in
adamc@1141 6562 cxx*)
adamc@1141 6563 # FIXME: insert proper C++ library support
adamc@1141 6564 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6565 ;;
adamc@1141 6566 *)
adamc@1141 6567 # FIXME: insert proper C++ library support
adamc@1141 6568 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6569 ;;
adamc@1141 6570 esac
adamc@1141 6571 ;;
adamc@1141 6572
adamc@1141 6573 netbsd*)
adamc@1141 6574 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
adamc@1141 6575 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
adamc@1141 6576 wlarc=
adamc@1141 6577 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
adamc@1141 6578 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 6579 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 6580 fi
adamc@1141 6581 # Workaround some broken pre-1.5 toolchains
adamc@1141 6582 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
adamc@1141 6583 ;;
adamc@1141 6584
adamc@1141 6585 *nto* | *qnx*)
adamc@1141 6586 _LT_TAGVAR(ld_shlibs, $1)=yes
adamc@1141 6587 ;;
adamc@1141 6588
adamc@1141 6589 openbsd2*)
adamc@1141 6590 # C++ shared libraries are fairly broken
adamc@1141 6591 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6592 ;;
adamc@1141 6593
adamc@1141 6594 openbsd*)
adamc@1141 6595 if test -f /usr/libexec/ld.so; then
adamc@1141 6596 _LT_TAGVAR(hardcode_direct, $1)=yes
adamc@1141 6597 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 6598 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
adamc@1141 6599 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
adamc@1141 6600 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
adamc@1141 6601 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
adamc@1141 6602 _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'
adamc@1141 6603 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
adamc@1141 6604 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
adamc@1141 6605 fi
adam@1459 6606 output_verbose_link_cmd=func_echo_all
adamc@1141 6607 else
adamc@1141 6608 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6609 fi
adamc@1141 6610 ;;
adamc@1141 6611
adamc@1141 6612 osf3* | osf4* | osf5*)
adamc@1141 6613 case $cc_basename in
adamc@1141 6614 KCC*)
adamc@1141 6615 # Kuck and Associates, Inc. (KAI) C++ Compiler
adamc@1141 6616
adamc@1141 6617 # KCC will only create a shared library if the output file
adamc@1141 6618 # ends with ".so" (or ".sl" for HP-UX), so rename the library
adamc@1141 6619 # to its proper name (with version) after linking.
adamc@1141 6620 _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'
adamc@1141 6621
adamc@1141 6622 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
adamc@1141 6623 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 6624
adamc@1141 6625 # Archives containing C++ object files must be created using
adamc@1141 6626 # the KAI C++ compiler.
adamc@1141 6627 case $host in
adamc@1141 6628 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
adamc@1141 6629 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
adamc@1141 6630 esac
adamc@1141 6631 ;;
adamc@1141 6632 RCC*)
adamc@1141 6633 # Rational C++ 2.4.1
adamc@1141 6634 # FIXME: insert proper C++ library support
adamc@1141 6635 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6636 ;;
adamc@1141 6637 cxx*)
adamc@1141 6638 case $host in
adamc@1141 6639 osf3*)
adamc@1141 6640 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
adam@1459 6641 _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'
adamc@1141 6642 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 6643 ;;
adamc@1141 6644 *)
adamc@1141 6645 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
adam@1459 6646 _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'
adamc@1141 6647 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
adamc@1141 6648 echo "-hidden">> $lib.exp~
adam@1459 6649 $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~
adamc@1141 6650 $RM $lib.exp'
adamc@1141 6651 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
adamc@1141 6652 ;;
adamc@1141 6653 esac
adamc@1141 6654
adamc@1141 6655 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 6656
adamc@1141 6657 # Commands to make compiler produce verbose output that lists
adamc@1141 6658 # what "hidden" libraries, object files and flags are used when
adamc@1141 6659 # linking a shared library.
adamc@1141 6660 #
adamc@1141 6661 # There doesn't appear to be a way to prevent this compiler from
adamc@1141 6662 # explicitly linking system object files so we need to strip them
adamc@1141 6663 # from the output so that they don't get included in the library
adamc@1141 6664 # dependencies.
adam@1459 6665 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"'
adamc@1141 6666 ;;
adamc@1141 6667 *)
adamc@1141 6668 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
adamc@1141 6669 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
adamc@1141 6670 case $host in
adamc@1141 6671 osf3*)
adam@1459 6672 _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'
adamc@1141 6673 ;;
adamc@1141 6674 *)
adam@1459 6675 _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'
adamc@1141 6676 ;;
adamc@1141 6677 esac
adamc@1141 6678
adamc@1141 6679 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
adamc@1141 6680 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
adamc@1141 6681
adamc@1141 6682 # Commands to make compiler produce verbose output that lists
adamc@1141 6683 # what "hidden" libraries, object files and flags are used when
adamc@1141 6684 # linking a shared library.
adam@1459 6685 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
adamc@1141 6686
adamc@1141 6687 else
adamc@1141 6688 # FIXME: insert proper C++ library support
adamc@1141 6689 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6690 fi
adamc@1141 6691 ;;
adamc@1141 6692 esac
adamc@1141 6693 ;;
adamc@1141 6694
adamc@1141 6695 psos*)
adamc@1141 6696 # FIXME: insert proper C++ library support
adamc@1141 6697 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6698 ;;
adamc@1141 6699
adamc@1141 6700 sunos4*)
adamc@1141 6701 case $cc_basename in
adamc@1141 6702 CC*)
adamc@1141 6703 # Sun C++ 4.x
adamc@1141 6704 # FIXME: insert proper C++ library support
adamc@1141 6705 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6706 ;;
adamc@1141 6707 lcc*)
adamc@1141 6708 # Lucid
adamc@1141 6709 # FIXME: insert proper C++ library support
adamc@1141 6710 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6711 ;;
adamc@1141 6712 *)
adamc@1141 6713 # FIXME: insert proper C++ library support
adamc@1141 6714 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6715 ;;
adamc@1141 6716 esac
adamc@1141 6717 ;;
adamc@1141 6718
adamc@1141 6719 solaris*)
adamc@1141 6720 case $cc_basename in
adam@1459 6721 CC* | sunCC*)
adamc@1141 6722 # Sun C++ 4.2, 5.x and Centerline C++
adamc@1141 6723 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
adamc@1141 6724 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
adamc@1141 6725 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
adamc@1141 6726 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
adamc@1141 6727 $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'
adamc@1141 6728
adamc@1141 6729 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
adamc@1141 6730 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 6731 case $host_os in
adamc@1141 6732 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
adamc@1141 6733 *)
adamc@1141 6734 # The compiler driver will combine and reorder linker options,
adamc@1141 6735 # but understands `-z linker_flag'.
adamc@1141 6736 # Supported since Solaris 2.6 (maybe 2.5.1?)
adamc@1141 6737 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
adamc@1141 6738 ;;
adamc@1141 6739 esac
adamc@1141 6740 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 6741
adam@1459 6742 output_verbose_link_cmd='func_echo_all'
adamc@1141 6743
adamc@1141 6744 # Archives containing C++ object files must be created using
adamc@1141 6745 # "CC -xar", where "CC" is the Sun C++ compiler. This is
adamc@1141 6746 # necessary to make sure instantiated templates are included
adamc@1141 6747 # in the archive.
adamc@1141 6748 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
adamc@1141 6749 ;;
adamc@1141 6750 gcx*)
adamc@1141 6751 # Green Hills C++ Compiler
adamc@1141 6752 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
adamc@1141 6753
adamc@1141 6754 # The C++ compiler must be used to create the archive.
adamc@1141 6755 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
adamc@1141 6756 ;;
adamc@1141 6757 *)
adamc@1141 6758 # GNU C++ compiler with Solaris linker
adamc@1141 6759 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
adamc@1141 6760 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
adamc@1141 6761 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
adam@1459 6762 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
adamc@1141 6763 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
adam@1459 6764 $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
adamc@1141 6765
adamc@1141 6766 # Commands to make compiler produce verbose output that lists
adamc@1141 6767 # what "hidden" libraries, object files and flags are used when
adamc@1141 6768 # linking a shared library.
adam@1459 6769 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
adamc@1141 6770 else
adamc@1141 6771 # g++ 2.7 appears to require `-G' NOT `-shared' on this
adamc@1141 6772 # platform.
adamc@1141 6773 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
adamc@1141 6774 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
adamc@1141 6775 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
adamc@1141 6776
adamc@1141 6777 # Commands to make compiler produce verbose output that lists
adamc@1141 6778 # what "hidden" libraries, object files and flags are used when
adamc@1141 6779 # linking a shared library.
adam@1459 6780 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
adamc@1141 6781 fi
adamc@1141 6782
adamc@1141 6783 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
adamc@1141 6784 case $host_os in
adamc@1141 6785 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
adamc@1141 6786 *)
adamc@1141 6787 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
adamc@1141 6788 ;;
adamc@1141 6789 esac
adamc@1141 6790 fi
adamc@1141 6791 ;;
adamc@1141 6792 esac
adamc@1141 6793 ;;
adamc@1141 6794
adamc@1141 6795 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
adamc@1141 6796 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
adamc@1141 6797 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 6798 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 6799 runpath_var='LD_RUN_PATH'
adamc@1141 6800
adamc@1141 6801 case $cc_basename in
adamc@1141 6802 CC*)
adamc@1141 6803 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 6804 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 6805 ;;
adamc@1141 6806 *)
adamc@1141 6807 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 6808 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 6809 ;;
adamc@1141 6810 esac
adamc@1141 6811 ;;
adamc@1141 6812
adamc@1141 6813 sysv5* | sco3.2v5* | sco5v6*)
adamc@1141 6814 # Note: We can NOT use -z defs as we might desire, because we do not
adamc@1141 6815 # link with -lc, and that would cause any symbols used from libc to
adamc@1141 6816 # always be unresolved, which means just about no library would
adamc@1141 6817 # ever link correctly. If we're not using GNU ld we use -z text
adamc@1141 6818 # though, which does catch some bad symbols but isn't as heavy-handed
adamc@1141 6819 # as -z defs.
adamc@1141 6820 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
adamc@1141 6821 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
adamc@1141 6822 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 6823 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
adamc@1141 6824 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
adamc@1141 6825 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
adamc@1141 6826 _LT_TAGVAR(link_all_deplibs, $1)=yes
adamc@1141 6827 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
adamc@1141 6828 runpath_var='LD_RUN_PATH'
adamc@1141 6829
adamc@1141 6830 case $cc_basename in
adamc@1141 6831 CC*)
adamc@1141 6832 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 6833 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adam@1459 6834 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
adam@1459 6835 '"$_LT_TAGVAR(old_archive_cmds, $1)"
adam@1459 6836 _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
adam@1459 6837 '"$_LT_TAGVAR(reload_cmds, $1)"
adamc@1141 6838 ;;
adamc@1141 6839 *)
adamc@1141 6840 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 6841 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
adamc@1141 6842 ;;
adamc@1141 6843 esac
adamc@1141 6844 ;;
adamc@1141 6845
adamc@1141 6846 tandem*)
adamc@1141 6847 case $cc_basename in
adamc@1141 6848 NCC*)
adamc@1141 6849 # NonStop-UX NCC 3.20
adamc@1141 6850 # FIXME: insert proper C++ library support
adamc@1141 6851 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6852 ;;
adamc@1141 6853 *)
adamc@1141 6854 # FIXME: insert proper C++ library support
adamc@1141 6855 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6856 ;;
adamc@1141 6857 esac
adamc@1141 6858 ;;
adamc@1141 6859
adamc@1141 6860 vxworks*)
adamc@1141 6861 # FIXME: insert proper C++ library support
adamc@1141 6862 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6863 ;;
adamc@1141 6864
adamc@1141 6865 *)
adamc@1141 6866 # FIXME: insert proper C++ library support
adamc@1141 6867 _LT_TAGVAR(ld_shlibs, $1)=no
adamc@1141 6868 ;;
adamc@1141 6869 esac
adamc@1141 6870
adamc@1141 6871 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
adamc@1141 6872 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
adamc@1141 6873
adamc@1141 6874 _LT_TAGVAR(GCC, $1)="$GXX"
adamc@1141 6875 _LT_TAGVAR(LD, $1)="$LD"
adamc@1141 6876
adamc@1141 6877 ## CAVEAT EMPTOR:
adamc@1141 6878 ## There is no encapsulation within the following macros, do not change
adamc@1141 6879 ## the running order or otherwise move them around unless you know exactly
adamc@1141 6880 ## what you are doing...
adamc@1141 6881 _LT_SYS_HIDDEN_LIBDEPS($1)
adamc@1141 6882 _LT_COMPILER_PIC($1)
adamc@1141 6883 _LT_COMPILER_C_O($1)
adamc@1141 6884 _LT_COMPILER_FILE_LOCKS($1)
adamc@1141 6885 _LT_LINKER_SHLIBS($1)
adamc@1141 6886 _LT_SYS_DYNAMIC_LINKER($1)
adamc@1141 6887 _LT_LINKER_HARDCODE_LIBPATH($1)
adamc@1141 6888
adamc@1141 6889 _LT_CONFIG($1)
adamc@1141 6890 fi # test -n "$compiler"
adamc@1141 6891
adamc@1141 6892 CC=$lt_save_CC
adam@1459 6893 CFLAGS=$lt_save_CFLAGS
adamc@1141 6894 LDCXX=$LD
adamc@1141 6895 LD=$lt_save_LD
adamc@1141 6896 GCC=$lt_save_GCC
adamc@1141 6897 with_gnu_ld=$lt_save_with_gnu_ld
adamc@1141 6898 lt_cv_path_LDCXX=$lt_cv_path_LD
adamc@1141 6899 lt_cv_path_LD=$lt_save_path_LD
adamc@1141 6900 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
adamc@1141 6901 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
adamc@1141 6902 fi # test "$_lt_caught_CXX_error" != yes
adamc@1141 6903
adamc@1141 6904 AC_LANG_POP
adamc@1141 6905 ])# _LT_LANG_CXX_CONFIG
adamc@1141 6906
adamc@1141 6907
adam@1459 6908 # _LT_FUNC_STRIPNAME_CNF
adam@1459 6909 # ----------------------
adam@1459 6910 # func_stripname_cnf prefix suffix name
adam@1459 6911 # strip PREFIX and SUFFIX off of NAME.
adam@1459 6912 # PREFIX and SUFFIX must not contain globbing or regex special
adam@1459 6913 # characters, hashes, percent signs, but SUFFIX may contain a leading
adam@1459 6914 # dot (in which case that matches only a dot).
adam@1459 6915 #
adam@1459 6916 # This function is identical to the (non-XSI) version of func_stripname,
adam@1459 6917 # except this one can be used by m4 code that may be executed by configure,
adam@1459 6918 # rather than the libtool script.
adam@1459 6919 m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
adam@1459 6920 AC_REQUIRE([_LT_DECL_SED])
adam@1459 6921 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
adam@1459 6922 func_stripname_cnf ()
adam@1459 6923 {
adam@1459 6924 case ${2} in
adam@1459 6925 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
adam@1459 6926 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
adam@1459 6927 esac
adam@1459 6928 } # func_stripname_cnf
adam@1459 6929 ])# _LT_FUNC_STRIPNAME_CNF
adam@1459 6930
adamc@1141 6931 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
adamc@1141 6932 # ---------------------------------
adamc@1141 6933 # Figure out "hidden" library dependencies from verbose
adamc@1141 6934 # compiler output when linking a shared library.
adamc@1141 6935 # Parse the compiler output and extract the necessary
adamc@1141 6936 # objects, libraries and library flags.
adamc@1141 6937 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
adamc@1141 6938 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
adam@1459 6939 AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
adamc@1141 6940 # Dependencies to place before and after the object being linked:
adamc@1141 6941 _LT_TAGVAR(predep_objects, $1)=
adamc@1141 6942 _LT_TAGVAR(postdep_objects, $1)=
adamc@1141 6943 _LT_TAGVAR(predeps, $1)=
adamc@1141 6944 _LT_TAGVAR(postdeps, $1)=
adamc@1141 6945 _LT_TAGVAR(compiler_lib_search_path, $1)=
adamc@1141 6946
adamc@1141 6947 dnl we can't use the lt_simple_compile_test_code here,
adamc@1141 6948 dnl because it contains code intended for an executable,
adamc@1141 6949 dnl not a library. It's possible we should let each
adamc@1141 6950 dnl tag define a new lt_????_link_test_code variable,
adamc@1141 6951 dnl but it's only used here...
adamc@1141 6952 m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
adamc@1141 6953 int a;
adamc@1141 6954 void foo (void) { a = 0; }
adamc@1141 6955 _LT_EOF
adamc@1141 6956 ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
adamc@1141 6957 class Foo
adamc@1141 6958 {
adamc@1141 6959 public:
adamc@1141 6960 Foo (void) { a = 0; }
adamc@1141 6961 private:
adamc@1141 6962 int a;
adamc@1141 6963 };
adamc@1141 6964 _LT_EOF
adamc@1141 6965 ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
adamc@1141 6966 subroutine foo
adamc@1141 6967 implicit none
adamc@1141 6968 integer*4 a
adamc@1141 6969 a=0
adamc@1141 6970 return
adamc@1141 6971 end
adamc@1141 6972 _LT_EOF
adamc@1141 6973 ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
adamc@1141 6974 subroutine foo
adamc@1141 6975 implicit none
adamc@1141 6976 integer a
adamc@1141 6977 a=0
adamc@1141 6978 return
adamc@1141 6979 end
adamc@1141 6980 _LT_EOF
adamc@1141 6981 ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
adamc@1141 6982 public class foo {
adamc@1141 6983 private int a;
adamc@1141 6984 public void bar (void) {
adamc@1141 6985 a = 0;
adamc@1141 6986 }
adamc@1141 6987 };
adamc@1141 6988 _LT_EOF
adam@1599 6989 ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
adam@1599 6990 package foo
adam@1599 6991 func foo() {
adam@1599 6992 }
adam@1599 6993 _LT_EOF
adamc@1141 6994 ])
adam@1459 6995
adam@1459 6996 _lt_libdeps_save_CFLAGS=$CFLAGS
adam@1459 6997 case "$CC $CFLAGS " in #(
adam@1459 6998 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
adam@1459 6999 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
adam@1599 7000 *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
adam@1459 7001 esac
adam@1459 7002
adamc@1141 7003 dnl Parse the compiler output and extract the necessary
adamc@1141 7004 dnl objects, libraries and library flags.
adamc@1141 7005 if AC_TRY_EVAL(ac_compile); then
adamc@1141 7006 # Parse the compiler output and extract the necessary
adamc@1141 7007 # objects, libraries and library flags.
adamc@1141 7008
adamc@1141 7009 # Sentinel used to keep track of whether or not we are before
adamc@1141 7010 # the conftest object file.
adamc@1141 7011 pre_test_object_deps_done=no
adamc@1141 7012
adamc@1141 7013 for p in `eval "$output_verbose_link_cmd"`; do
adam@1459 7014 case ${prev}${p} in
adamc@1141 7015
adamc@1141 7016 -L* | -R* | -l*)
adamc@1141 7017 # Some compilers place space between "-{L,R}" and the path.
adamc@1141 7018 # Remove the space.
adamc@1141 7019 if test $p = "-L" ||
adamc@1141 7020 test $p = "-R"; then
adamc@1141 7021 prev=$p
adamc@1141 7022 continue
adamc@1141 7023 fi
adamc@1141 7024
adam@1459 7025 # Expand the sysroot to ease extracting the directories later.
adam@1459 7026 if test -z "$prev"; then
adam@1459 7027 case $p in
adam@1459 7028 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
adam@1459 7029 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
adam@1459 7030 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
adam@1459 7031 esac
adam@1459 7032 fi
adam@1459 7033 case $p in
adam@1459 7034 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
adam@1459 7035 esac
adamc@1141 7036 if test "$pre_test_object_deps_done" = no; then
adam@1459 7037 case ${prev} in
adam@1459 7038 -L | -R)
adamc@1141 7039 # Internal compiler library paths should come after those
adamc@1141 7040 # provided the user. The postdeps already come after the
adamc@1141 7041 # user supplied libs so there is no need to process them.
adamc@1141 7042 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
adamc@1141 7043 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
adamc@1141 7044 else
adamc@1141 7045 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
adamc@1141 7046 fi
adamc@1141 7047 ;;
adamc@1141 7048 # The "-l" case would never come before the object being
adamc@1141 7049 # linked, so don't bother handling this case.
adamc@1141 7050 esac
adamc@1141 7051 else
adamc@1141 7052 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
adamc@1141 7053 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
adamc@1141 7054 else
adamc@1141 7055 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
adamc@1141 7056 fi
adamc@1141 7057 fi
adam@1459 7058 prev=
adamc@1141 7059 ;;
adamc@1141 7060
adam@1459 7061 *.lto.$objext) ;; # Ignore GCC LTO objects
adamc@1141 7062 *.$objext)
adamc@1141 7063 # This assumes that the test object file only shows up
adamc@1141 7064 # once in the compiler output.
adamc@1141 7065 if test "$p" = "conftest.$objext"; then
adamc@1141 7066 pre_test_object_deps_done=yes
adamc@1141 7067 continue
adamc@1141 7068 fi
adamc@1141 7069
adamc@1141 7070 if test "$pre_test_object_deps_done" = no; then
adamc@1141 7071 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
adamc@1141 7072 _LT_TAGVAR(predep_objects, $1)="$p"
adamc@1141 7073 else
adamc@1141 7074 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
adamc@1141 7075 fi
adamc@1141 7076 else
adamc@1141 7077 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
adamc@1141 7078 _LT_TAGVAR(postdep_objects, $1)="$p"
adamc@1141 7079 else
adamc@1141 7080 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
adamc@1141 7081 fi
adamc@1141 7082 fi
adamc@1141 7083 ;;
adamc@1141 7084
adamc@1141 7085 *) ;; # Ignore the rest.
adamc@1141 7086
adamc@1141 7087 esac
adamc@1141 7088 done
adamc@1141 7089
adamc@1141 7090 # Clean up.
adamc@1141 7091 rm -f a.out a.exe
adamc@1141 7092 else
adamc@1141 7093 echo "libtool.m4: error: problem compiling $1 test program"
adamc@1141 7094 fi
adamc@1141 7095
adamc@1141 7096 $RM -f confest.$objext
adam@1459 7097 CFLAGS=$_lt_libdeps_save_CFLAGS
adamc@1141 7098
adamc@1141 7099 # PORTME: override above test on systems where it is broken
adamc@1141 7100 m4_if([$1], [CXX],
adamc@1141 7101 [case $host_os in
adamc@1141 7102 interix[[3-9]]*)
adamc@1141 7103 # Interix 3.5 installs completely hosed .la files for C++, so rather than
adamc@1141 7104 # hack all around it, let's just trust "g++" to DTRT.
adamc@1141 7105 _LT_TAGVAR(predep_objects,$1)=
adamc@1141 7106 _LT_TAGVAR(postdep_objects,$1)=
adamc@1141 7107 _LT_TAGVAR(postdeps,$1)=
adamc@1141 7108 ;;
adamc@1141 7109
adamc@1141 7110 linux*)
adamc@1141 7111 case `$CC -V 2>&1 | sed 5q` in
adamc@1141 7112 *Sun\ C*)
adamc@1141 7113 # Sun C++ 5.9
adamc@1141 7114
adamc@1141 7115 # The more standards-conforming stlport4 library is
adamc@1141 7116 # incompatible with the Cstd library. Avoid specifying
adamc@1141 7117 # it if it's in CXXFLAGS. Ignore libCrun as
adamc@1141 7118 # -library=stlport4 depends on it.
adamc@1141 7119 case " $CXX $CXXFLAGS " in
adamc@1141 7120 *" -library=stlport4 "*)
adamc@1141 7121 solaris_use_stlport4=yes
adamc@1141 7122 ;;
adamc@1141 7123 esac
adamc@1141 7124
adamc@1141 7125 if test "$solaris_use_stlport4" != yes; then
adamc@1141 7126 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
adamc@1141 7127 fi
adamc@1141 7128 ;;
adamc@1141 7129 esac
adamc@1141 7130 ;;
adamc@1141 7131
adamc@1141 7132 solaris*)
adamc@1141 7133 case $cc_basename in
adam@1459 7134 CC* | sunCC*)
adamc@1141 7135 # The more standards-conforming stlport4 library is
adamc@1141 7136 # incompatible with the Cstd library. Avoid specifying
adamc@1141 7137 # it if it's in CXXFLAGS. Ignore libCrun as
adamc@1141 7138 # -library=stlport4 depends on it.
adamc@1141 7139 case " $CXX $CXXFLAGS " in
adamc@1141 7140 *" -library=stlport4 "*)
adamc@1141 7141 solaris_use_stlport4=yes
adamc@1141 7142 ;;
adamc@1141 7143 esac
adamc@1141 7144
adamc@1141 7145 # Adding this requires a known-good setup of shared libraries for
adamc@1141 7146 # Sun compiler versions before 5.6, else PIC objects from an old
adamc@1141 7147 # archive will be linked into the output, leading to subtle bugs.
adamc@1141 7148 if test "$solaris_use_stlport4" != yes; then
adamc@1141 7149 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
adamc@1141 7150 fi
adamc@1141 7151 ;;
adamc@1141 7152 esac
adamc@1141 7153 ;;
adamc@1141 7154 esac
adamc@1141 7155 ])
adamc@1141 7156
adamc@1141 7157 case " $_LT_TAGVAR(postdeps, $1) " in
adamc@1141 7158 *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
adamc@1141 7159 esac
adamc@1141 7160 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
adamc@1141 7161 if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
adamc@1141 7162 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
adamc@1141 7163 fi
adamc@1141 7164 _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
adamc@1141 7165 [The directories searched by this compiler when creating a shared library])
adamc@1141 7166 _LT_TAGDECL([], [predep_objects], [1],
adamc@1141 7167 [Dependencies to place before and after the objects being linked to
adamc@1141 7168 create a shared library])
adamc@1141 7169 _LT_TAGDECL([], [postdep_objects], [1])
adamc@1141 7170 _LT_TAGDECL([], [predeps], [1])
adamc@1141 7171 _LT_TAGDECL([], [postdeps], [1])
adamc@1141 7172 _LT_TAGDECL([], [compiler_lib_search_path], [1],
adamc@1141 7173 [The library search path used internally by the compiler when linking
adamc@1141 7174 a shared library])
adamc@1141 7175 ])# _LT_SYS_HIDDEN_LIBDEPS
adamc@1141 7176
adamc@1141 7177
adamc@1141 7178 # _LT_LANG_F77_CONFIG([TAG])
adamc@1141 7179 # --------------------------
adamc@1141 7180 # Ensure that the configuration variables for a Fortran 77 compiler are
adamc@1141 7181 # suitably defined. These variables are subsequently used by _LT_CONFIG
adamc@1141 7182 # to write the compiler configuration to `libtool'.
adamc@1141 7183 m4_defun([_LT_LANG_F77_CONFIG],
adam@1459 7184 [AC_LANG_PUSH(Fortran 77)
adam@1459 7185 if test -z "$F77" || test "X$F77" = "Xno"; then
adam@1459 7186 _lt_disable_F77=yes
adam@1459 7187 fi
adamc@1141 7188
adamc@1141 7189 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 7190 _LT_TAGVAR(allow_undefined_flag, $1)=
adamc@1141 7191 _LT_TAGVAR(always_export_symbols, $1)=no
adamc@1141 7192 _LT_TAGVAR(archive_expsym_cmds, $1)=
adamc@1141 7193 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
adamc@1141 7194 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 7195 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
adamc@1141 7196 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
adamc@1141 7197 _LT_TAGVAR(hardcode_libdir_separator, $1)=
adamc@1141 7198 _LT_TAGVAR(hardcode_minus_L, $1)=no
adamc@1141 7199 _LT_TAGVAR(hardcode_automatic, $1)=no
adamc@1141 7200 _LT_TAGVAR(inherit_rpath, $1)=no
adamc@1141 7201 _LT_TAGVAR(module_cmds, $1)=
adamc@1141 7202 _LT_TAGVAR(module_expsym_cmds, $1)=
adamc@1141 7203 _LT_TAGVAR(link_all_deplibs, $1)=unknown
adamc@1141 7204 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
adam@1459 7205 _LT_TAGVAR(reload_flag, $1)=$reload_flag
adam@1459 7206 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
adamc@1141 7207 _LT_TAGVAR(no_undefined_flag, $1)=
adamc@1141 7208 _LT_TAGVAR(whole_archive_flag_spec, $1)=
adamc@1141 7209 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
adamc@1141 7210
adamc@1141 7211 # Source file extension for f77 test sources.
adamc@1141 7212 ac_ext=f
adamc@1141 7213
adamc@1141 7214 # Object file extension for compiled f77 test sources.
adamc@1141 7215 objext=o
adamc@1141 7216 _LT_TAGVAR(objext, $1)=$objext
adamc@1141 7217
adamc@1141 7218 # No sense in running all these tests if we already determined that
adamc@1141 7219 # the F77 compiler isn't working. Some variables (like enable_shared)
adamc@1141 7220 # are currently assumed to apply to all compilers on this platform,
adamc@1141 7221 # and will be corrupted by setting them based on a non-working compiler.
adamc@1141 7222 if test "$_lt_disable_F77" != yes; then
adamc@1141 7223 # Code to be used in simple compile tests
adamc@1141 7224 lt_simple_compile_test_code="\
adamc@1141 7225 subroutine t
adamc@1141 7226 return
adamc@1141 7227 end
adamc@1141 7228 "
adamc@1141 7229
adamc@1141 7230 # Code to be used in simple link tests
adamc@1141 7231 lt_simple_link_test_code="\
adamc@1141 7232 program t
adamc@1141 7233 end
adamc@1141 7234 "
adamc@1141 7235
adamc@1141 7236 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
adamc@1141 7237 _LT_TAG_COMPILER
adamc@1141 7238
adamc@1141 7239 # save warnings/boilerplate of simple test code
adamc@1141 7240 _LT_COMPILER_BOILERPLATE
adamc@1141 7241 _LT_LINKER_BOILERPLATE
adamc@1141 7242
adamc@1141 7243 # Allow CC to be a program name with arguments.
adamc@1141 7244 lt_save_CC="$CC"
adamc@1141 7245 lt_save_GCC=$GCC
adam@1459 7246 lt_save_CFLAGS=$CFLAGS
adamc@1141 7247 CC=${F77-"f77"}
adam@1459 7248 CFLAGS=$FFLAGS
adamc@1141 7249 compiler=$CC
adamc@1141 7250 _LT_TAGVAR(compiler, $1)=$CC
adamc@1141 7251 _LT_CC_BASENAME([$compiler])
adamc@1141 7252 GCC=$G77
adamc@1141 7253 if test -n "$compiler"; then
adamc@1141 7254 AC_MSG_CHECKING([if libtool supports shared libraries])
adamc@1141 7255 AC_MSG_RESULT([$can_build_shared])
adamc@1141 7256
adamc@1141 7257 AC_MSG_CHECKING([whether to build shared libraries])
adamc@1141 7258 test "$can_build_shared" = "no" && enable_shared=no
adamc@1141 7259
adamc@1141 7260 # On AIX, shared libraries and static libraries use the same namespace, and
adamc@1141 7261 # are all built from PIC.
adamc@1141 7262 case $host_os in
adamc@1141 7263 aix3*)
adamc@1141 7264 test "$enable_shared" = yes && enable_static=no
adamc@1141 7265 if test -n "$RANLIB"; then
adamc@1141 7266 archive_cmds="$archive_cmds~\$RANLIB \$lib"
adamc@1141 7267 postinstall_cmds='$RANLIB $lib'
adamc@1141 7268 fi
adamc@1141 7269 ;;
adamc@1141 7270 aix[[4-9]]*)
adamc@1141 7271 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
adamc@1141 7272 test "$enable_shared" = yes && enable_static=no
adamc@1141 7273 fi
adamc@1141 7274 ;;
adamc@1141 7275 esac
adamc@1141 7276 AC_MSG_RESULT([$enable_shared])
adamc@1141 7277
adamc@1141 7278 AC_MSG_CHECKING([whether to build static libraries])
adamc@1141 7279 # Make sure either enable_shared or enable_static is yes.
adamc@1141 7280 test "$enable_shared" = yes || enable_static=yes
adamc@1141 7281 AC_MSG_RESULT([$enable_static])
adamc@1141 7282
adamc@1141 7283 _LT_TAGVAR(GCC, $1)="$G77"
adamc@1141 7284 _LT_TAGVAR(LD, $1)="$LD"
adamc@1141 7285
adamc@1141 7286 ## CAVEAT EMPTOR:
adamc@1141 7287 ## There is no encapsulation within the following macros, do not change
adamc@1141 7288 ## the running order or otherwise move them around unless you know exactly
adamc@1141 7289 ## what you are doing...
adamc@1141 7290 _LT_COMPILER_PIC($1)
adamc@1141 7291 _LT_COMPILER_C_O($1)
adamc@1141 7292 _LT_COMPILER_FILE_LOCKS($1)
adamc@1141 7293 _LT_LINKER_SHLIBS($1)
adamc@1141 7294 _LT_SYS_DYNAMIC_LINKER($1)
adamc@1141 7295 _LT_LINKER_HARDCODE_LIBPATH($1)
adamc@1141 7296
adamc@1141 7297 _LT_CONFIG($1)
adamc@1141 7298 fi # test -n "$compiler"
adamc@1141 7299
adamc@1141 7300 GCC=$lt_save_GCC
adamc@1141 7301 CC="$lt_save_CC"
adam@1459 7302 CFLAGS="$lt_save_CFLAGS"
adamc@1141 7303 fi # test "$_lt_disable_F77" != yes
adamc@1141 7304
adamc@1141 7305 AC_LANG_POP
adamc@1141 7306 ])# _LT_LANG_F77_CONFIG
adamc@1141 7307
adamc@1141 7308
adamc@1141 7309 # _LT_LANG_FC_CONFIG([TAG])
adamc@1141 7310 # -------------------------
adamc@1141 7311 # Ensure that the configuration variables for a Fortran compiler are
adamc@1141 7312 # suitably defined. These variables are subsequently used by _LT_CONFIG
adamc@1141 7313 # to write the compiler configuration to `libtool'.
adamc@1141 7314 m4_defun([_LT_LANG_FC_CONFIG],
adam@1459 7315 [AC_LANG_PUSH(Fortran)
adam@1459 7316
adam@1459 7317 if test -z "$FC" || test "X$FC" = "Xno"; then
adam@1459 7318 _lt_disable_FC=yes
adam@1459 7319 fi
adamc@1141 7320
adamc@1141 7321 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 7322 _LT_TAGVAR(allow_undefined_flag, $1)=
adamc@1141 7323 _LT_TAGVAR(always_export_symbols, $1)=no
adamc@1141 7324 _LT_TAGVAR(archive_expsym_cmds, $1)=
adamc@1141 7325 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
adamc@1141 7326 _LT_TAGVAR(hardcode_direct, $1)=no
adamc@1141 7327 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
adamc@1141 7328 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
adamc@1141 7329 _LT_TAGVAR(hardcode_libdir_separator, $1)=
adamc@1141 7330 _LT_TAGVAR(hardcode_minus_L, $1)=no
adamc@1141 7331 _LT_TAGVAR(hardcode_automatic, $1)=no
adamc@1141 7332 _LT_TAGVAR(inherit_rpath, $1)=no
adamc@1141 7333 _LT_TAGVAR(module_cmds, $1)=
adamc@1141 7334 _LT_TAGVAR(module_expsym_cmds, $1)=
adamc@1141 7335 _LT_TAGVAR(link_all_deplibs, $1)=unknown
adamc@1141 7336 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
adam@1459 7337 _LT_TAGVAR(reload_flag, $1)=$reload_flag
adam@1459 7338 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
adamc@1141 7339 _LT_TAGVAR(no_undefined_flag, $1)=
adamc@1141 7340 _LT_TAGVAR(whole_archive_flag_spec, $1)=
adamc@1141 7341 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
adamc@1141 7342
adamc@1141 7343 # Source file extension for fc test sources.
adamc@1141 7344 ac_ext=${ac_fc_srcext-f}
adamc@1141 7345
adamc@1141 7346 # Object file extension for compiled fc test sources.
adamc@1141 7347 objext=o
adamc@1141 7348 _LT_TAGVAR(objext, $1)=$objext
adamc@1141 7349
adamc@1141 7350 # No sense in running all these tests if we already determined that
adamc@1141 7351 # the FC compiler isn't working. Some variables (like enable_shared)
adamc@1141 7352 # are currently assumed to apply to all compilers on this platform,
adamc@1141 7353 # and will be corrupted by setting them based on a non-working compiler.
adamc@1141 7354 if test "$_lt_disable_FC" != yes; then
adamc@1141 7355 # Code to be used in simple compile tests
adamc@1141 7356 lt_simple_compile_test_code="\
adamc@1141 7357 subroutine t
adamc@1141 7358 return
adamc@1141 7359 end
adamc@1141 7360 "
adamc@1141 7361
adamc@1141 7362 # Code to be used in simple link tests
adamc@1141 7363 lt_simple_link_test_code="\
adamc@1141 7364 program t
adamc@1141 7365 end
adamc@1141 7366 "
adamc@1141 7367
adamc@1141 7368 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
adamc@1141 7369 _LT_TAG_COMPILER
adamc@1141 7370
adamc@1141 7371 # save warnings/boilerplate of simple test code
adamc@1141 7372 _LT_COMPILER_BOILERPLATE
adamc@1141 7373 _LT_LINKER_BOILERPLATE
adamc@1141 7374
adamc@1141 7375 # Allow CC to be a program name with arguments.
adamc@1141 7376 lt_save_CC="$CC"
adamc@1141 7377 lt_save_GCC=$GCC
adam@1459 7378 lt_save_CFLAGS=$CFLAGS
adamc@1141 7379 CC=${FC-"f95"}
adam@1459 7380 CFLAGS=$FCFLAGS
adamc@1141 7381 compiler=$CC
adamc@1141 7382 GCC=$ac_cv_fc_compiler_gnu
adamc@1141 7383
adamc@1141 7384 _LT_TAGVAR(compiler, $1)=$CC
adamc@1141 7385 _LT_CC_BASENAME([$compiler])
adamc@1141 7386
adamc@1141 7387 if test -n "$compiler"; then
adamc@1141 7388 AC_MSG_CHECKING([if libtool supports shared libraries])
adamc@1141 7389 AC_MSG_RESULT([$can_build_shared])
adamc@1141 7390
adamc@1141 7391 AC_MSG_CHECKING([whether to build shared libraries])
adamc@1141 7392 test "$can_build_shared" = "no" && enable_shared=no
adamc@1141 7393
adamc@1141 7394 # On AIX, shared libraries and static libraries use the same namespace, and
adamc@1141 7395 # are all built from PIC.
adamc@1141 7396 case $host_os in
adamc@1141 7397 aix3*)
adamc@1141 7398 test "$enable_shared" = yes && enable_static=no
adamc@1141 7399 if test -n "$RANLIB"; then
adamc@1141 7400 archive_cmds="$archive_cmds~\$RANLIB \$lib"
adamc@1141 7401 postinstall_cmds='$RANLIB $lib'
adamc@1141 7402 fi
adamc@1141 7403 ;;
adamc@1141 7404 aix[[4-9]]*)
adamc@1141 7405 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
adamc@1141 7406 test "$enable_shared" = yes && enable_static=no
adamc@1141 7407 fi
adamc@1141 7408 ;;
adamc@1141 7409 esac
adamc@1141 7410 AC_MSG_RESULT([$enable_shared])
adamc@1141 7411
adamc@1141 7412 AC_MSG_CHECKING([whether to build static libraries])
adamc@1141 7413 # Make sure either enable_shared or enable_static is yes.
adamc@1141 7414 test "$enable_shared" = yes || enable_static=yes
adamc@1141 7415 AC_MSG_RESULT([$enable_static])
adamc@1141 7416
adamc@1141 7417 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
adamc@1141 7418 _LT_TAGVAR(LD, $1)="$LD"
adamc@1141 7419
adamc@1141 7420 ## CAVEAT EMPTOR:
adamc@1141 7421 ## There is no encapsulation within the following macros, do not change
adamc@1141 7422 ## the running order or otherwise move them around unless you know exactly
adamc@1141 7423 ## what you are doing...
adamc@1141 7424 _LT_SYS_HIDDEN_LIBDEPS($1)
adamc@1141 7425 _LT_COMPILER_PIC($1)
adamc@1141 7426 _LT_COMPILER_C_O($1)
adamc@1141 7427 _LT_COMPILER_FILE_LOCKS($1)
adamc@1141 7428 _LT_LINKER_SHLIBS($1)
adamc@1141 7429 _LT_SYS_DYNAMIC_LINKER($1)
adamc@1141 7430 _LT_LINKER_HARDCODE_LIBPATH($1)
adamc@1141 7431
adamc@1141 7432 _LT_CONFIG($1)
adamc@1141 7433 fi # test -n "$compiler"
adamc@1141 7434
adamc@1141 7435 GCC=$lt_save_GCC
adam@1459 7436 CC=$lt_save_CC
adam@1459 7437 CFLAGS=$lt_save_CFLAGS
adamc@1141 7438 fi # test "$_lt_disable_FC" != yes
adamc@1141 7439
adamc@1141 7440 AC_LANG_POP
adamc@1141 7441 ])# _LT_LANG_FC_CONFIG
adamc@1141 7442
adamc@1141 7443
adamc@1141 7444 # _LT_LANG_GCJ_CONFIG([TAG])
adamc@1141 7445 # --------------------------
adamc@1141 7446 # Ensure that the configuration variables for the GNU Java Compiler compiler
adamc@1141 7447 # are suitably defined. These variables are subsequently used by _LT_CONFIG
adamc@1141 7448 # to write the compiler configuration to `libtool'.
adamc@1141 7449 m4_defun([_LT_LANG_GCJ_CONFIG],
adamc@1141 7450 [AC_REQUIRE([LT_PROG_GCJ])dnl
adamc@1141 7451 AC_LANG_SAVE
adamc@1141 7452
adamc@1141 7453 # Source file extension for Java test sources.
adamc@1141 7454 ac_ext=java
adamc@1141 7455
adamc@1141 7456 # Object file extension for compiled Java test sources.
adamc@1141 7457 objext=o
adamc@1141 7458 _LT_TAGVAR(objext, $1)=$objext
adamc@1141 7459
adamc@1141 7460 # Code to be used in simple compile tests
adamc@1141 7461 lt_simple_compile_test_code="class foo {}"
adamc@1141 7462
adamc@1141 7463 # Code to be used in simple link tests
adamc@1141 7464 lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
adamc@1141 7465
adamc@1141 7466 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
adamc@1141 7467 _LT_TAG_COMPILER
adamc@1141 7468
adamc@1141 7469 # save warnings/boilerplate of simple test code
adamc@1141 7470 _LT_COMPILER_BOILERPLATE
adamc@1141 7471 _LT_LINKER_BOILERPLATE
adamc@1141 7472
adamc@1141 7473 # Allow CC to be a program name with arguments.
adam@1459 7474 lt_save_CC=$CC
adam@1459 7475 lt_save_CFLAGS=$CFLAGS
adamc@1141 7476 lt_save_GCC=$GCC
adamc@1141 7477 GCC=yes
adamc@1141 7478 CC=${GCJ-"gcj"}
adam@1459 7479 CFLAGS=$GCJFLAGS
adamc@1141 7480 compiler=$CC
adamc@1141 7481 _LT_TAGVAR(compiler, $1)=$CC
adamc@1141 7482 _LT_TAGVAR(LD, $1)="$LD"
adamc@1141 7483 _LT_CC_BASENAME([$compiler])
adamc@1141 7484
adamc@1141 7485 # GCJ did not exist at the time GCC didn't implicitly link libc in.
adamc@1141 7486 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adamc@1141 7487
adamc@1141 7488 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
adam@1459 7489 _LT_TAGVAR(reload_flag, $1)=$reload_flag
adam@1459 7490 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
adamc@1141 7491
adamc@1141 7492 ## CAVEAT EMPTOR:
adamc@1141 7493 ## There is no encapsulation within the following macros, do not change
adamc@1141 7494 ## the running order or otherwise move them around unless you know exactly
adamc@1141 7495 ## what you are doing...
adamc@1141 7496 if test -n "$compiler"; then
adamc@1141 7497 _LT_COMPILER_NO_RTTI($1)
adamc@1141 7498 _LT_COMPILER_PIC($1)
adamc@1141 7499 _LT_COMPILER_C_O($1)
adamc@1141 7500 _LT_COMPILER_FILE_LOCKS($1)
adamc@1141 7501 _LT_LINKER_SHLIBS($1)
adamc@1141 7502 _LT_LINKER_HARDCODE_LIBPATH($1)
adamc@1141 7503
adamc@1141 7504 _LT_CONFIG($1)
adamc@1141 7505 fi
adamc@1141 7506
adamc@1141 7507 AC_LANG_RESTORE
adamc@1141 7508
adamc@1141 7509 GCC=$lt_save_GCC
adam@1459 7510 CC=$lt_save_CC
adam@1459 7511 CFLAGS=$lt_save_CFLAGS
adamc@1141 7512 ])# _LT_LANG_GCJ_CONFIG
adamc@1141 7513
adamc@1141 7514
adam@1599 7515 # _LT_LANG_GO_CONFIG([TAG])
adam@1599 7516 # --------------------------
adam@1599 7517 # Ensure that the configuration variables for the GNU Go compiler
adam@1599 7518 # are suitably defined. These variables are subsequently used by _LT_CONFIG
adam@1599 7519 # to write the compiler configuration to `libtool'.
adam@1599 7520 m4_defun([_LT_LANG_GO_CONFIG],
adam@1599 7521 [AC_REQUIRE([LT_PROG_GO])dnl
adam@1599 7522 AC_LANG_SAVE
adam@1599 7523
adam@1599 7524 # Source file extension for Go test sources.
adam@1599 7525 ac_ext=go
adam@1599 7526
adam@1599 7527 # Object file extension for compiled Go test sources.
adam@1599 7528 objext=o
adam@1599 7529 _LT_TAGVAR(objext, $1)=$objext
adam@1599 7530
adam@1599 7531 # Code to be used in simple compile tests
adam@1599 7532 lt_simple_compile_test_code="package main; func main() { }"
adam@1599 7533
adam@1599 7534 # Code to be used in simple link tests
adam@1599 7535 lt_simple_link_test_code='package main; func main() { }'
adam@1599 7536
adam@1599 7537 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
adam@1599 7538 _LT_TAG_COMPILER
adam@1599 7539
adam@1599 7540 # save warnings/boilerplate of simple test code
adam@1599 7541 _LT_COMPILER_BOILERPLATE
adam@1599 7542 _LT_LINKER_BOILERPLATE
adam@1599 7543
adam@1599 7544 # Allow CC to be a program name with arguments.
adam@1599 7545 lt_save_CC=$CC
adam@1599 7546 lt_save_CFLAGS=$CFLAGS
adam@1599 7547 lt_save_GCC=$GCC
adam@1599 7548 GCC=yes
adam@1599 7549 CC=${GOC-"gccgo"}
adam@1599 7550 CFLAGS=$GOFLAGS
adam@1599 7551 compiler=$CC
adam@1599 7552 _LT_TAGVAR(compiler, $1)=$CC
adam@1599 7553 _LT_TAGVAR(LD, $1)="$LD"
adam@1599 7554 _LT_CC_BASENAME([$compiler])
adam@1599 7555
adam@1599 7556 # Go did not exist at the time GCC didn't implicitly link libc in.
adam@1599 7557 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
adam@1599 7558
adam@1599 7559 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
adam@1599 7560 _LT_TAGVAR(reload_flag, $1)=$reload_flag
adam@1599 7561 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
adam@1599 7562
adam@1599 7563 ## CAVEAT EMPTOR:
adam@1599 7564 ## There is no encapsulation within the following macros, do not change
adam@1599 7565 ## the running order or otherwise move them around unless you know exactly
adam@1599 7566 ## what you are doing...
adam@1599 7567 if test -n "$compiler"; then
adam@1599 7568 _LT_COMPILER_NO_RTTI($1)
adam@1599 7569 _LT_COMPILER_PIC($1)
adam@1599 7570 _LT_COMPILER_C_O($1)
adam@1599 7571 _LT_COMPILER_FILE_LOCKS($1)
adam@1599 7572 _LT_LINKER_SHLIBS($1)
adam@1599 7573 _LT_LINKER_HARDCODE_LIBPATH($1)
adam@1599 7574
adam@1599 7575 _LT_CONFIG($1)
adam@1599 7576 fi
adam@1599 7577
adam@1599 7578 AC_LANG_RESTORE
adam@1599 7579
adam@1599 7580 GCC=$lt_save_GCC
adam@1599 7581 CC=$lt_save_CC
adam@1599 7582 CFLAGS=$lt_save_CFLAGS
adam@1599 7583 ])# _LT_LANG_GO_CONFIG
adam@1599 7584
adam@1599 7585
adamc@1141 7586 # _LT_LANG_RC_CONFIG([TAG])
adamc@1141 7587 # -------------------------
adamc@1141 7588 # Ensure that the configuration variables for the Windows resource compiler
adamc@1141 7589 # are suitably defined. These variables are subsequently used by _LT_CONFIG
adamc@1141 7590 # to write the compiler configuration to `libtool'.
adamc@1141 7591 m4_defun([_LT_LANG_RC_CONFIG],
adamc@1141 7592 [AC_REQUIRE([LT_PROG_RC])dnl
adamc@1141 7593 AC_LANG_SAVE
adamc@1141 7594
adamc@1141 7595 # Source file extension for RC test sources.
adamc@1141 7596 ac_ext=rc
adamc@1141 7597
adamc@1141 7598 # Object file extension for compiled RC test sources.
adamc@1141 7599 objext=o
adamc@1141 7600 _LT_TAGVAR(objext, $1)=$objext
adamc@1141 7601
adamc@1141 7602 # Code to be used in simple compile tests
adamc@1141 7603 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
adamc@1141 7604
adamc@1141 7605 # Code to be used in simple link tests
adamc@1141 7606 lt_simple_link_test_code="$lt_simple_compile_test_code"
adamc@1141 7607
adamc@1141 7608 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
adamc@1141 7609 _LT_TAG_COMPILER
adamc@1141 7610
adamc@1141 7611 # save warnings/boilerplate of simple test code
adamc@1141 7612 _LT_COMPILER_BOILERPLATE
adamc@1141 7613 _LT_LINKER_BOILERPLATE
adamc@1141 7614
adamc@1141 7615 # Allow CC to be a program name with arguments.
adamc@1141 7616 lt_save_CC="$CC"
adam@1459 7617 lt_save_CFLAGS=$CFLAGS
adamc@1141 7618 lt_save_GCC=$GCC
adamc@1141 7619 GCC=
adamc@1141 7620 CC=${RC-"windres"}
adam@1459 7621 CFLAGS=
adamc@1141 7622 compiler=$CC
adamc@1141 7623 _LT_TAGVAR(compiler, $1)=$CC
adamc@1141 7624 _LT_CC_BASENAME([$compiler])
adamc@1141 7625 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
adamc@1141 7626
adamc@1141 7627 if test -n "$compiler"; then
adamc@1141 7628 :
adamc@1141 7629 _LT_CONFIG($1)
adamc@1141 7630 fi
adamc@1141 7631
adamc@1141 7632 GCC=$lt_save_GCC
adamc@1141 7633 AC_LANG_RESTORE
adam@1459 7634 CC=$lt_save_CC
adam@1459 7635 CFLAGS=$lt_save_CFLAGS
adamc@1141 7636 ])# _LT_LANG_RC_CONFIG
adamc@1141 7637
adamc@1141 7638
adamc@1141 7639 # LT_PROG_GCJ
adamc@1141 7640 # -----------
adamc@1141 7641 AC_DEFUN([LT_PROG_GCJ],
adamc@1141 7642 [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
adamc@1141 7643 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
adamc@1141 7644 [AC_CHECK_TOOL(GCJ, gcj,)
adamc@1141 7645 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
adamc@1141 7646 AC_SUBST(GCJFLAGS)])])[]dnl
adamc@1141 7647 ])
adamc@1141 7648
adamc@1141 7649 # Old name:
adamc@1141 7650 AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
adamc@1141 7651 dnl aclocal-1.4 backwards compatibility:
adamc@1141 7652 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
adamc@1141 7653
adamc@1141 7654
adam@1599 7655 # LT_PROG_GO
adam@1599 7656 # ----------
adam@1599 7657 AC_DEFUN([LT_PROG_GO],
adam@1599 7658 [AC_CHECK_TOOL(GOC, gccgo,)
adam@1599 7659 ])
adam@1599 7660
adam@1599 7661
adamc@1141 7662 # LT_PROG_RC
adamc@1141 7663 # ----------
adamc@1141 7664 AC_DEFUN([LT_PROG_RC],
adamc@1141 7665 [AC_CHECK_TOOL(RC, windres,)
adamc@1141 7666 ])
adamc@1141 7667
adamc@1141 7668 # Old name:
adamc@1141 7669 AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
adamc@1141 7670 dnl aclocal-1.4 backwards compatibility:
adamc@1141 7671 dnl AC_DEFUN([LT_AC_PROG_RC], [])
adamc@1141 7672
adamc@1141 7673
adamc@1141 7674 # _LT_DECL_EGREP
adamc@1141 7675 # --------------
adamc@1141 7676 # If we don't have a new enough Autoconf to choose the best grep
adamc@1141 7677 # available, choose the one first in the user's PATH.
adamc@1141 7678 m4_defun([_LT_DECL_EGREP],
adamc@1141 7679 [AC_REQUIRE([AC_PROG_EGREP])dnl
adamc@1141 7680 AC_REQUIRE([AC_PROG_FGREP])dnl
adamc@1141 7681 test -z "$GREP" && GREP=grep
adamc@1141 7682 _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
adamc@1141 7683 _LT_DECL([], [EGREP], [1], [An ERE matcher])
adamc@1141 7684 _LT_DECL([], [FGREP], [1], [A literal string matcher])
adamc@1141 7685 dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
adamc@1141 7686 AC_SUBST([GREP])
adamc@1141 7687 ])
adamc@1141 7688
adamc@1141 7689
adamc@1141 7690 # _LT_DECL_OBJDUMP
adamc@1141 7691 # --------------
adamc@1141 7692 # If we don't have a new enough Autoconf to choose the best objdump
adamc@1141 7693 # available, choose the one first in the user's PATH.
adamc@1141 7694 m4_defun([_LT_DECL_OBJDUMP],
adamc@1141 7695 [AC_CHECK_TOOL(OBJDUMP, objdump, false)
adamc@1141 7696 test -z "$OBJDUMP" && OBJDUMP=objdump
adamc@1141 7697 _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
adamc@1141 7698 AC_SUBST([OBJDUMP])
adamc@1141 7699 ])
adamc@1141 7700
adam@1459 7701 # _LT_DECL_DLLTOOL
adam@1459 7702 # ----------------
adam@1459 7703 # Ensure DLLTOOL variable is set.
adam@1459 7704 m4_defun([_LT_DECL_DLLTOOL],
adam@1459 7705 [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
adam@1459 7706 test -z "$DLLTOOL" && DLLTOOL=dlltool
adam@1459 7707 _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
adam@1459 7708 AC_SUBST([DLLTOOL])
adam@1459 7709 ])
adamc@1141 7710
adamc@1141 7711 # _LT_DECL_SED
adamc@1141 7712 # ------------
adamc@1141 7713 # Check for a fully-functional sed program, that truncates
adamc@1141 7714 # as few characters as possible. Prefer GNU sed if found.
adamc@1141 7715 m4_defun([_LT_DECL_SED],
adamc@1141 7716 [AC_PROG_SED
adamc@1141 7717 test -z "$SED" && SED=sed
adamc@1141 7718 Xsed="$SED -e 1s/^X//"
adamc@1141 7719 _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
adamc@1141 7720 _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
adamc@1141 7721 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
adamc@1141 7722 ])# _LT_DECL_SED
adamc@1141 7723
adamc@1141 7724 m4_ifndef([AC_PROG_SED], [
adamc@1141 7725 ############################################################
adamc@1141 7726 # NOTE: This macro has been submitted for inclusion into #
adamc@1141 7727 # GNU Autoconf as AC_PROG_SED. When it is available in #
adamc@1141 7728 # a released version of Autoconf we should remove this #
adamc@1141 7729 # macro and use it instead. #
adamc@1141 7730 ############################################################
adamc@1141 7731
adamc@1141 7732 m4_defun([AC_PROG_SED],
adamc@1141 7733 [AC_MSG_CHECKING([for a sed that does not truncate output])
adamc@1141 7734 AC_CACHE_VAL(lt_cv_path_SED,
adamc@1141 7735 [# Loop through the user's path and test for sed and gsed.
adamc@1141 7736 # Then use that list of sed's as ones to test for truncation.
adamc@1141 7737 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
adamc@1141 7738 for as_dir in $PATH
adamc@1141 7739 do
adamc@1141 7740 IFS=$as_save_IFS
adamc@1141 7741 test -z "$as_dir" && as_dir=.
adamc@1141 7742 for lt_ac_prog in sed gsed; do
adamc@1141 7743 for ac_exec_ext in '' $ac_executable_extensions; do
adamc@1141 7744 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
adamc@1141 7745 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
adamc@1141 7746 fi
adamc@1141 7747 done
adamc@1141 7748 done
adamc@1141 7749 done
adamc@1141 7750 IFS=$as_save_IFS
adamc@1141 7751 lt_ac_max=0
adamc@1141 7752 lt_ac_count=0
adamc@1141 7753 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
adamc@1141 7754 # along with /bin/sed that truncates output.
adamc@1141 7755 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
adamc@1141 7756 test ! -f $lt_ac_sed && continue
adamc@1141 7757 cat /dev/null > conftest.in
adamc@1141 7758 lt_ac_count=0
adamc@1141 7759 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
adamc@1141 7760 # Check for GNU sed and select it if it is found.
adamc@1141 7761 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
adamc@1141 7762 lt_cv_path_SED=$lt_ac_sed
adamc@1141 7763 break
adamc@1141 7764 fi
adamc@1141 7765 while true; do
adamc@1141 7766 cat conftest.in conftest.in >conftest.tmp
adamc@1141 7767 mv conftest.tmp conftest.in
adamc@1141 7768 cp conftest.in conftest.nl
adamc@1141 7769 echo >>conftest.nl
adamc@1141 7770 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
adamc@1141 7771 cmp -s conftest.out conftest.nl || break
adamc@1141 7772 # 10000 chars as input seems more than enough
adamc@1141 7773 test $lt_ac_count -gt 10 && break
adamc@1141 7774 lt_ac_count=`expr $lt_ac_count + 1`
adamc@1141 7775 if test $lt_ac_count -gt $lt_ac_max; then
adamc@1141 7776 lt_ac_max=$lt_ac_count
adamc@1141 7777 lt_cv_path_SED=$lt_ac_sed
adamc@1141 7778 fi
adamc@1141 7779 done
adamc@1141 7780 done
adamc@1141 7781 ])
adamc@1141 7782 SED=$lt_cv_path_SED
adamc@1141 7783 AC_SUBST([SED])
adamc@1141 7784 AC_MSG_RESULT([$SED])
adamc@1141 7785 ])#AC_PROG_SED
adamc@1141 7786 ])#m4_ifndef
adamc@1141 7787
adamc@1141 7788 # Old name:
adamc@1141 7789 AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
adamc@1141 7790 dnl aclocal-1.4 backwards compatibility:
adamc@1141 7791 dnl AC_DEFUN([LT_AC_PROG_SED], [])
adamc@1141 7792
adamc@1141 7793
adamc@1141 7794 # _LT_CHECK_SHELL_FEATURES
adamc@1141 7795 # ------------------------
adamc@1141 7796 # Find out whether the shell is Bourne or XSI compatible,
adamc@1141 7797 # or has some other useful features.
adamc@1141 7798 m4_defun([_LT_CHECK_SHELL_FEATURES],
adamc@1141 7799 [AC_MSG_CHECKING([whether the shell understands some XSI constructs])
adamc@1141 7800 # Try some XSI features
adamc@1141 7801 xsi_shell=no
adamc@1141 7802 ( _lt_dummy="a/b/c"
adam@1459 7803 test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
adam@1459 7804 = c,a/b,b/c, \
adamc@1141 7805 && eval 'test $(( 1 + 1 )) -eq 2 \
adamc@1141 7806 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
adamc@1141 7807 && xsi_shell=yes
adamc@1141 7808 AC_MSG_RESULT([$xsi_shell])
adamc@1141 7809 _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
adamc@1141 7810
adamc@1141 7811 AC_MSG_CHECKING([whether the shell understands "+="])
adamc@1141 7812 lt_shell_append=no
adamc@1141 7813 ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
adamc@1141 7814 >/dev/null 2>&1 \
adamc@1141 7815 && lt_shell_append=yes
adamc@1141 7816 AC_MSG_RESULT([$lt_shell_append])
adamc@1141 7817 _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
adamc@1141 7818
adamc@1141 7819 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
adamc@1141 7820 lt_unset=unset
adamc@1141 7821 else
adamc@1141 7822 lt_unset=false
adamc@1141 7823 fi
adamc@1141 7824 _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
adamc@1141 7825
adamc@1141 7826 # test EBCDIC or ASCII
adamc@1141 7827 case `echo X|tr X '\101'` in
adamc@1141 7828 A) # ASCII based system
adamc@1141 7829 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
adamc@1141 7830 lt_SP2NL='tr \040 \012'
adamc@1141 7831 lt_NL2SP='tr \015\012 \040\040'
adamc@1141 7832 ;;
adamc@1141 7833 *) # EBCDIC based system
adamc@1141 7834 lt_SP2NL='tr \100 \n'
adamc@1141 7835 lt_NL2SP='tr \r\n \100\100'
adamc@1141 7836 ;;
adamc@1141 7837 esac
adamc@1141 7838 _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
adamc@1141 7839 _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
adamc@1141 7840 ])# _LT_CHECK_SHELL_FEATURES
adamc@1141 7841
adamc@1141 7842
adam@1459 7843 # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
adam@1459 7844 # ------------------------------------------------------
adam@1459 7845 # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
adam@1459 7846 # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
adam@1459 7847 m4_defun([_LT_PROG_FUNCTION_REPLACE],
adam@1459 7848 [dnl {
adam@1459 7849 sed -e '/^$1 ()$/,/^} # $1 /c\
adam@1459 7850 $1 ()\
adam@1459 7851 {\
adam@1459 7852 m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
adam@1459 7853 } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
adam@1459 7854 && mv -f "$cfgfile.tmp" "$cfgfile" \
adam@1459 7855 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
adam@1459 7856 test 0 -eq $? || _lt_function_replace_fail=:
adam@1459 7857 ])
adam@1459 7858
adam@1459 7859
adam@1459 7860 # _LT_PROG_REPLACE_SHELLFNS
adam@1459 7861 # -------------------------
adam@1459 7862 # Replace existing portable implementations of several shell functions with
adam@1459 7863 # equivalent extended shell implementations where those features are available..
adam@1459 7864 m4_defun([_LT_PROG_REPLACE_SHELLFNS],
adam@1459 7865 [if test x"$xsi_shell" = xyes; then
adam@1459 7866 _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
adam@1459 7867 case ${1} in
adam@1459 7868 */*) func_dirname_result="${1%/*}${2}" ;;
adam@1459 7869 * ) func_dirname_result="${3}" ;;
adam@1459 7870 esac])
adam@1459 7871
adam@1459 7872 _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
adam@1459 7873 func_basename_result="${1##*/}"])
adam@1459 7874
adam@1459 7875 _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
adam@1459 7876 case ${1} in
adam@1459 7877 */*) func_dirname_result="${1%/*}${2}" ;;
adam@1459 7878 * ) func_dirname_result="${3}" ;;
adam@1459 7879 esac
adam@1459 7880 func_basename_result="${1##*/}"])
adam@1459 7881
adam@1459 7882 _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
adam@1459 7883 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
adam@1459 7884 # positional parameters, so assign one to ordinary parameter first.
adam@1459 7885 func_stripname_result=${3}
adam@1459 7886 func_stripname_result=${func_stripname_result#"${1}"}
adam@1459 7887 func_stripname_result=${func_stripname_result%"${2}"}])
adam@1459 7888
adam@1459 7889 _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
adam@1459 7890 func_split_long_opt_name=${1%%=*}
adam@1459 7891 func_split_long_opt_arg=${1#*=}])
adam@1459 7892
adam@1459 7893 _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
adam@1459 7894 func_split_short_opt_arg=${1#??}
adam@1459 7895 func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
adam@1459 7896
adam@1459 7897 _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
adam@1459 7898 case ${1} in
adam@1459 7899 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
adam@1459 7900 *) func_lo2o_result=${1} ;;
adam@1459 7901 esac])
adam@1459 7902
adam@1459 7903 _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
adam@1459 7904
adam@1459 7905 _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
adam@1459 7906
adam@1459 7907 _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
adam@1459 7908 fi
adam@1459 7909
adam@1459 7910 if test x"$lt_shell_append" = xyes; then
adam@1459 7911 _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
adam@1459 7912
adam@1459 7913 _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
adam@1459 7914 func_quote_for_eval "${2}"
adam@1459 7915 dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
adam@1459 7916 eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
adam@1459 7917
adam@1459 7918 # Save a `func_append' function call where possible by direct use of '+='
adam@1459 7919 sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
adam@1459 7920 && mv -f "$cfgfile.tmp" "$cfgfile" \
adam@1459 7921 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
adam@1459 7922 test 0 -eq $? || _lt_function_replace_fail=:
adam@1459 7923 else
adam@1459 7924 # Save a `func_append' function call even when '+=' is not available
adam@1459 7925 sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
adam@1459 7926 && mv -f "$cfgfile.tmp" "$cfgfile" \
adam@1459 7927 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
adam@1459 7928 test 0 -eq $? || _lt_function_replace_fail=:
adam@1459 7929 fi
adam@1459 7930
adam@1459 7931 if test x"$_lt_function_replace_fail" = x":"; then
adam@1459 7932 AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
adam@1459 7933 fi
adam@1459 7934 ])
adam@1459 7935
adam@1459 7936 # _LT_PATH_CONVERSION_FUNCTIONS
adam@1459 7937 # -----------------------------
adam@1459 7938 # Determine which file name conversion functions should be used by
adam@1459 7939 # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
adam@1459 7940 # for certain cross-compile configurations and native mingw.
adam@1459 7941 m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
adam@1459 7942 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
adam@1459 7943 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
adam@1459 7944 AC_MSG_CHECKING([how to convert $build file names to $host format])
adam@1459 7945 AC_CACHE_VAL(lt_cv_to_host_file_cmd,
adam@1459 7946 [case $host in
adam@1459 7947 *-*-mingw* )
adam@1459 7948 case $build in
adam@1459 7949 *-*-mingw* ) # actually msys
adam@1459 7950 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
adam@1459 7951 ;;
adam@1459 7952 *-*-cygwin* )
adam@1459 7953 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
adam@1459 7954 ;;
adam@1459 7955 * ) # otherwise, assume *nix
adam@1459 7956 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
adam@1459 7957 ;;
adam@1459 7958 esac
adamc@1141 7959 ;;
adam@1459 7960 *-*-cygwin* )
adam@1459 7961 case $build in
adam@1459 7962 *-*-mingw* ) # actually msys
adam@1459 7963 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
adam@1459 7964 ;;
adam@1459 7965 *-*-cygwin* )
adam@1459 7966 lt_cv_to_host_file_cmd=func_convert_file_noop
adam@1459 7967 ;;
adam@1459 7968 * ) # otherwise, assume *nix
adam@1459 7969 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
adam@1459 7970 ;;
adam@1459 7971 esac
adam@1459 7972 ;;
adam@1459 7973 * ) # unhandled hosts (and "normal" native builds)
adam@1459 7974 lt_cv_to_host_file_cmd=func_convert_file_noop
adam@1459 7975 ;;
adamc@1141 7976 esac
adam@1459 7977 ])
adam@1459 7978 to_host_file_cmd=$lt_cv_to_host_file_cmd
adam@1459 7979 AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
adam@1459 7980 _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
adam@1459 7981 [0], [convert $build file names to $host format])dnl
adam@1459 7982
adam@1459 7983 AC_MSG_CHECKING([how to convert $build file names to toolchain format])
adam@1459 7984 AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
adam@1459 7985 [#assume ordinary cross tools, or native build.
adam@1459 7986 lt_cv_to_tool_file_cmd=func_convert_file_noop
adam@1459 7987 case $host in
adam@1459 7988 *-*-mingw* )
adam@1459 7989 case $build in
adam@1459 7990 *-*-mingw* ) # actually msys
adam@1459 7991 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
adam@1459 7992 ;;
adam@1459 7993 esac
adamc@1141 7994 ;;
adam@1459 7995 esac
adamc@1141 7996 ])
adam@1459 7997 to_tool_file_cmd=$lt_cv_to_tool_file_cmd
adam@1459 7998 AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
adam@1459 7999 _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
adam@1459 8000 [0], [convert $build files to toolchain format])dnl
adam@1459 8001 ])# _LT_PATH_CONVERSION_FUNCTIONS