1 1.1 christos # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 2 1.1 christos # 3 1.1.1.5 christos # Copyright (C) 1996-2001, 2003-2019, 2021-2024 Free Software 4 1.1.1.4 christos # Foundation, Inc. 5 1.1 christos # Written by Gordon Matzigkeit, 1996 6 1.1 christos # 7 1.1 christos # This file is free software; the Free Software Foundation gives 8 1.1 christos # unlimited permission to copy and/or distribute it, with or without 9 1.1 christos # modifications, as long as this notice is preserved. 10 1.1 christos 11 1.1 christos m4_define([_LT_COPYING], [dnl 12 1.1.1.5 christos # Copyright (C) 2024 Free Software Foundation, Inc. 13 1.1 christos # This is free software; see the source for copying conditions. There is NO 14 1.1 christos # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 15 1.1 christos 16 1.1 christos # GNU Libtool is free software; you can redistribute it and/or modify 17 1.1 christos # it under the terms of the GNU General Public License as published by 18 1.1.1.5 christos # the Free Software Foundation; either version 2 of the License, or 19 1.1 christos # (at your option) any later version. 20 1.1 christos # 21 1.1 christos # As a special exception to the GNU General Public License, if you 22 1.1 christos # distribute this file as part of a program or library that is built 23 1.1 christos # using GNU Libtool, you may include this file under the same 24 1.1 christos # distribution terms that you use for the rest of that program. 25 1.1 christos # 26 1.1 christos # GNU Libtool is distributed in the hope that it will be useful, but 27 1.1 christos # WITHOUT ANY WARRANTY; without even the implied warranty of 28 1.1 christos # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 29 1.1 christos # GNU General Public License for more details. 30 1.1 christos # 31 1.1 christos # You should have received a copy of the GNU General Public License 32 1.1 christos # along with this program. If not, see <http://www.gnu.org/licenses/>. 33 1.1 christos ]) 34 1.1 christos 35 1.1.1.5 christos # serial 63 LT_INIT 36 1.1 christos 37 1.1 christos 38 1.1 christos # LT_PREREQ(VERSION) 39 1.1 christos # ------------------ 40 1.1 christos # Complain and exit if this libtool version is less that VERSION. 41 1.1 christos m4_defun([LT_PREREQ], 42 1.1 christos [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, 43 1.1 christos [m4_default([$3], 44 1.1 christos [m4_fatal([Libtool version $1 or higher is required], 45 1.1 christos 63)])], 46 1.1 christos [$2])]) 47 1.1 christos 48 1.1 christos 49 1.1 christos # _LT_CHECK_BUILDDIR 50 1.1 christos # ------------------ 51 1.1 christos # Complain if the absolute build directory name contains unusual characters 52 1.1 christos m4_defun([_LT_CHECK_BUILDDIR], 53 1.1 christos [case `pwd` in 54 1.1 christos *\ * | *\ *) 55 1.1 christos AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; 56 1.1 christos esac 57 1.1 christos ]) 58 1.1 christos 59 1.1 christos 60 1.1 christos # LT_INIT([OPTIONS]) 61 1.1 christos # ------------------ 62 1.1 christos AC_DEFUN([LT_INIT], 63 1.1.1.5 christos [AC_PREREQ([2.64])dnl We use AC_PATH_PROGS_FEATURE_CHECK 64 1.1 christos AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 65 1.1 christos AC_BEFORE([$0], [LT_LANG])dnl 66 1.1 christos AC_BEFORE([$0], [LT_OUTPUT])dnl 67 1.1 christos AC_BEFORE([$0], [LTDL_INIT])dnl 68 1.1 christos m4_require([_LT_CHECK_BUILDDIR])dnl 69 1.1 christos 70 1.1 christos dnl Autoconf doesn't catch unexpanded LT_ macros by default: 71 1.1 christos m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl 72 1.1 christos m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl 73 1.1 christos dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 74 1.1 christos dnl unless we require an AC_DEFUNed macro: 75 1.1 christos AC_REQUIRE([LTOPTIONS_VERSION])dnl 76 1.1 christos AC_REQUIRE([LTSUGAR_VERSION])dnl 77 1.1 christos AC_REQUIRE([LTVERSION_VERSION])dnl 78 1.1 christos AC_REQUIRE([LTOBSOLETE_VERSION])dnl 79 1.1 christos m4_require([_LT_PROG_LTMAIN])dnl 80 1.1 christos 81 1.1 christos _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) 82 1.1 christos 83 1.1 christos dnl Parse OPTIONS 84 1.1 christos _LT_SET_OPTIONS([$0], [$1]) 85 1.1 christos 86 1.1 christos # This can be used to rebuild libtool when needed 87 1.1 christos LIBTOOL_DEPS=$ltmain 88 1.1 christos 89 1.1 christos # Always use our own libtool. 90 1.1 christos LIBTOOL='$(SHELL) $(top_builddir)/libtool' 91 1.1 christos AC_SUBST(LIBTOOL)dnl 92 1.1 christos 93 1.1 christos _LT_SETUP 94 1.1 christos 95 1.1 christos # Only expand once: 96 1.1 christos m4_define([LT_INIT]) 97 1.1 christos ])# LT_INIT 98 1.1 christos 99 1.1 christos # Old names: 100 1.1 christos AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) 101 1.1 christos AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) 102 1.1 christos dnl aclocal-1.4 backwards compatibility: 103 1.1 christos dnl AC_DEFUN([AC_PROG_LIBTOOL], []) 104 1.1 christos dnl AC_DEFUN([AM_PROG_LIBTOOL], []) 105 1.1 christos 106 1.1 christos 107 1.1 christos # _LT_PREPARE_CC_BASENAME 108 1.1 christos # ----------------------- 109 1.1 christos m4_defun([_LT_PREPARE_CC_BASENAME], [ 110 1.1 christos # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 111 1.1 christos func_cc_basename () 112 1.1 christos { 113 1.1 christos for cc_temp in @S|@*""; do 114 1.1 christos case $cc_temp in 115 1.1 christos compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 116 1.1 christos distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 117 1.1 christos \-*) ;; 118 1.1 christos *) break;; 119 1.1 christos esac 120 1.1 christos done 121 1.1 christos func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` 122 1.1 christos } 123 1.1 christos ])# _LT_PREPARE_CC_BASENAME 124 1.1 christos 125 1.1 christos 126 1.1 christos # _LT_CC_BASENAME(CC) 127 1.1 christos # ------------------- 128 1.1 christos # It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, 129 1.1 christos # but that macro is also expanded into generated libtool script, which 130 1.1 christos # arranges for $SED and $ECHO to be set by different means. 131 1.1 christos m4_defun([_LT_CC_BASENAME], 132 1.1 christos [m4_require([_LT_PREPARE_CC_BASENAME])dnl 133 1.1 christos AC_REQUIRE([_LT_DECL_SED])dnl 134 1.1 christos AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 135 1.1 christos func_cc_basename $1 136 1.1 christos cc_basename=$func_cc_basename_result 137 1.1 christos ]) 138 1.1 christos 139 1.1 christos 140 1.1 christos # _LT_FILEUTILS_DEFAULTS 141 1.1 christos # ---------------------- 142 1.1 christos # It is okay to use these file commands and assume they have been set 143 1.1 christos # sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. 144 1.1 christos m4_defun([_LT_FILEUTILS_DEFAULTS], 145 1.1 christos [: ${CP="cp -f"} 146 1.1 christos : ${MV="mv -f"} 147 1.1 christos : ${RM="rm -f"} 148 1.1 christos ])# _LT_FILEUTILS_DEFAULTS 149 1.1 christos 150 1.1 christos 151 1.1 christos # _LT_SETUP 152 1.1 christos # --------- 153 1.1 christos m4_defun([_LT_SETUP], 154 1.1 christos [AC_REQUIRE([AC_CANONICAL_HOST])dnl 155 1.1 christos AC_REQUIRE([AC_CANONICAL_BUILD])dnl 156 1.1 christos AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl 157 1.1 christos AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 158 1.1 christos 159 1.1 christos _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl 160 1.1 christos dnl 161 1.1 christos _LT_DECL([], [host_alias], [0], [The host system])dnl 162 1.1 christos _LT_DECL([], [host], [0])dnl 163 1.1 christos _LT_DECL([], [host_os], [0])dnl 164 1.1 christos dnl 165 1.1 christos _LT_DECL([], [build_alias], [0], [The build system])dnl 166 1.1 christos _LT_DECL([], [build], [0])dnl 167 1.1 christos _LT_DECL([], [build_os], [0])dnl 168 1.1 christos dnl 169 1.1 christos AC_REQUIRE([AC_PROG_CC])dnl 170 1.1 christos AC_REQUIRE([LT_PATH_LD])dnl 171 1.1 christos AC_REQUIRE([LT_PATH_NM])dnl 172 1.1 christos dnl 173 1.1 christos AC_REQUIRE([AC_PROG_LN_S])dnl 174 1.1 christos test -z "$LN_S" && LN_S="ln -s" 175 1.1 christos _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 176 1.1 christos dnl 177 1.1 christos AC_REQUIRE([LT_CMD_MAX_LEN])dnl 178 1.1 christos _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 179 1.1 christos _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 180 1.1 christos dnl 181 1.1 christos m4_require([_LT_FILEUTILS_DEFAULTS])dnl 182 1.1 christos m4_require([_LT_CHECK_SHELL_FEATURES])dnl 183 1.1 christos m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl 184 1.1 christos m4_require([_LT_CMD_RELOAD])dnl 185 1.1.1.4 christos m4_require([_LT_DECL_FILECMD])dnl 186 1.1 christos m4_require([_LT_CHECK_MAGIC_METHOD])dnl 187 1.1 christos m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl 188 1.1 christos m4_require([_LT_CMD_OLD_ARCHIVE])dnl 189 1.1 christos m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 190 1.1 christos m4_require([_LT_WITH_SYSROOT])dnl 191 1.1 christos m4_require([_LT_CMD_TRUNCATE])dnl 192 1.1 christos 193 1.1 christos _LT_CONFIG_LIBTOOL_INIT([ 194 1.1 christos # See if we are running on zsh, and set the options that allow our 195 1.1 christos # commands through without removal of \ escapes INIT. 196 1.1 christos if test -n "\${ZSH_VERSION+set}"; then 197 1.1 christos setopt NO_GLOB_SUBST 198 1.1 christos fi 199 1.1 christos ]) 200 1.1 christos if test -n "${ZSH_VERSION+set}"; then 201 1.1 christos setopt NO_GLOB_SUBST 202 1.1 christos fi 203 1.1 christos 204 1.1 christos _LT_CHECK_OBJDIR 205 1.1 christos 206 1.1 christos m4_require([_LT_TAG_COMPILER])dnl 207 1.1 christos 208 1.1 christos case $host_os in 209 1.1 christos aix3*) 210 1.1 christos # AIX sometimes has problems with the GCC collect2 program. For some 211 1.1 christos # reason, if we set the COLLECT_NAMES environment variable, the problems 212 1.1 christos # vanish in a puff of smoke. 213 1.1 christos if test set != "${COLLECT_NAMES+set}"; then 214 1.1 christos COLLECT_NAMES= 215 1.1 christos export COLLECT_NAMES 216 1.1 christos fi 217 1.1 christos ;; 218 1.1 christos esac 219 1.1 christos 220 1.1 christos # Global variables: 221 1.1 christos ofile=libtool 222 1.1 christos can_build_shared=yes 223 1.1 christos 224 1.1.1.4 christos # All known linkers require a '.a' archive for static linking (except MSVC and 225 1.1.1.4 christos # ICC, which need '.lib'). 226 1.1 christos libext=a 227 1.1 christos 228 1.1 christos with_gnu_ld=$lt_cv_prog_gnu_ld 229 1.1 christos 230 1.1 christos old_CC=$CC 231 1.1 christos old_CFLAGS=$CFLAGS 232 1.1 christos 233 1.1 christos # Set sane defaults for various variables 234 1.1 christos test -z "$CC" && CC=cc 235 1.1 christos test -z "$LTCC" && LTCC=$CC 236 1.1 christos test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 237 1.1 christos test -z "$LD" && LD=ld 238 1.1 christos test -z "$ac_objext" && ac_objext=o 239 1.1 christos 240 1.1 christos _LT_CC_BASENAME([$compiler]) 241 1.1 christos 242 1.1 christos # Only perform the check for file, if the check method requires it 243 1.1 christos test -z "$MAGIC_CMD" && MAGIC_CMD=file 244 1.1 christos case $deplibs_check_method in 245 1.1 christos file_magic*) 246 1.1 christos if test "$file_magic_cmd" = '$MAGIC_CMD'; then 247 1.1 christos _LT_PATH_MAGIC 248 1.1 christos fi 249 1.1 christos ;; 250 1.1 christos esac 251 1.1 christos 252 1.1 christos # Use C for the default configuration in the libtool script 253 1.1 christos LT_SUPPORTED_TAG([CC]) 254 1.1 christos _LT_LANG_C_CONFIG 255 1.1 christos _LT_LANG_DEFAULT_CONFIG 256 1.1 christos _LT_CONFIG_COMMANDS 257 1.1 christos ])# _LT_SETUP 258 1.1 christos 259 1.1 christos 260 1.1 christos # _LT_PREPARE_SED_QUOTE_VARS 261 1.1 christos # -------------------------- 262 1.1 christos # Define a few sed substitution that help us do robust quoting. 263 1.1 christos m4_defun([_LT_PREPARE_SED_QUOTE_VARS], 264 1.1 christos [# Backslashify metacharacters that are still active within 265 1.1 christos # double-quoted strings. 266 1.1 christos sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 267 1.1 christos 268 1.1 christos # Same as above, but do not quote variable references. 269 1.1 christos double_quote_subst='s/\([["`\\]]\)/\\\1/g' 270 1.1 christos 271 1.1 christos # Sed substitution to delay expansion of an escaped shell variable in a 272 1.1 christos # double_quote_subst'ed string. 273 1.1 christos delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 274 1.1 christos 275 1.1 christos # Sed substitution to delay expansion of an escaped single quote. 276 1.1 christos delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 277 1.1 christos 278 1.1 christos # Sed substitution to avoid accidental globbing in evaled expressions 279 1.1 christos no_glob_subst='s/\*/\\\*/g' 280 1.1 christos ]) 281 1.1 christos 282 1.1 christos # _LT_PROG_LTMAIN 283 1.1 christos # --------------- 284 1.1 christos # Note that this code is called both from 'configure', and 'config.status' 285 1.1 christos # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 286 1.1 christos # 'config.status' has no value for ac_aux_dir unless we are using Automake, 287 1.1 christos # so we pass a copy along to make sure it has a sensible value anyway. 288 1.1 christos m4_defun([_LT_PROG_LTMAIN], 289 1.1 christos [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 290 1.1 christos _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 291 1.1 christos ltmain=$ac_aux_dir/ltmain.sh 292 1.1 christos ])# _LT_PROG_LTMAIN 293 1.1 christos 294 1.1 christos 295 1.1 christos ## ------------------------------------- ## 296 1.1 christos ## Accumulate code for creating libtool. ## 297 1.1 christos ## ------------------------------------- ## 298 1.1 christos 299 1.1 christos # So that we can recreate a full libtool script including additional 300 1.1 christos # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 301 1.1 christos # in macros and then make a single call at the end using the 'libtool' 302 1.1 christos # label. 303 1.1 christos 304 1.1 christos 305 1.1 christos # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 306 1.1 christos # ---------------------------------------- 307 1.1 christos # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 308 1.1 christos m4_define([_LT_CONFIG_LIBTOOL_INIT], 309 1.1 christos [m4_ifval([$1], 310 1.1 christos [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 311 1.1 christos [$1 312 1.1 christos ])])]) 313 1.1 christos 314 1.1 christos # Initialize. 315 1.1 christos m4_define([_LT_OUTPUT_LIBTOOL_INIT]) 316 1.1 christos 317 1.1 christos 318 1.1 christos # _LT_CONFIG_LIBTOOL([COMMANDS]) 319 1.1 christos # ------------------------------ 320 1.1 christos # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 321 1.1 christos m4_define([_LT_CONFIG_LIBTOOL], 322 1.1 christos [m4_ifval([$1], 323 1.1 christos [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 324 1.1 christos [$1 325 1.1 christos ])])]) 326 1.1 christos 327 1.1 christos # Initialize. 328 1.1 christos m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 329 1.1 christos 330 1.1 christos 331 1.1 christos # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 332 1.1 christos # ----------------------------------------------------- 333 1.1 christos m4_defun([_LT_CONFIG_SAVE_COMMANDS], 334 1.1 christos [_LT_CONFIG_LIBTOOL([$1]) 335 1.1 christos _LT_CONFIG_LIBTOOL_INIT([$2]) 336 1.1 christos ]) 337 1.1 christos 338 1.1 christos 339 1.1 christos # _LT_FORMAT_COMMENT([COMMENT]) 340 1.1 christos # ----------------------------- 341 1.1 christos # Add leading comment marks to the start of each line, and a trailing 342 1.1 christos # full-stop to the whole comment if one is not present already. 343 1.1 christos m4_define([_LT_FORMAT_COMMENT], 344 1.1 christos [m4_ifval([$1], [ 345 1.1 christos m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 346 1.1 christos [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 347 1.1 christos )]) 348 1.1 christos 349 1.1 christos 350 1.1 christos 351 1.1 christos ## ------------------------ ## 352 1.1 christos ## FIXME: Eliminate VARNAME ## 353 1.1 christos ## ------------------------ ## 354 1.1 christos 355 1.1 christos 356 1.1 christos # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 357 1.1 christos # ------------------------------------------------------------------- 358 1.1 christos # CONFIGNAME is the name given to the value in the libtool script. 359 1.1 christos # VARNAME is the (base) name used in the configure script. 360 1.1 christos # VALUE may be 0, 1 or 2 for a computed quote escaped value based on 361 1.1 christos # VARNAME. Any other value will be used directly. 362 1.1 christos m4_define([_LT_DECL], 363 1.1 christos [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 364 1.1 christos [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 365 1.1 christos [m4_ifval([$1], [$1], [$2])]) 366 1.1 christos lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 367 1.1 christos m4_ifval([$4], 368 1.1 christos [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 369 1.1 christos lt_dict_add_subkey([lt_decl_dict], [$2], 370 1.1 christos [tagged?], [m4_ifval([$5], [yes], [no])])]) 371 1.1 christos ]) 372 1.1 christos 373 1.1 christos 374 1.1 christos # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 375 1.1 christos # -------------------------------------------------------- 376 1.1 christos m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 377 1.1 christos 378 1.1 christos 379 1.1 christos # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 380 1.1 christos # ------------------------------------------------ 381 1.1 christos m4_define([lt_decl_tag_varnames], 382 1.1 christos [_lt_decl_filter([tagged?], [yes], $@)]) 383 1.1 christos 384 1.1 christos 385 1.1 christos # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 386 1.1 christos # --------------------------------------------------------- 387 1.1 christos m4_define([_lt_decl_filter], 388 1.1 christos [m4_case([$#], 389 1.1 christos [0], [m4_fatal([$0: too few arguments: $#])], 390 1.1 christos [1], [m4_fatal([$0: too few arguments: $#: $1])], 391 1.1 christos [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 392 1.1 christos [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 393 1.1 christos [lt_dict_filter([lt_decl_dict], $@)])[]dnl 394 1.1 christos ]) 395 1.1 christos 396 1.1 christos 397 1.1 christos # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 398 1.1 christos # -------------------------------------------------- 399 1.1 christos m4_define([lt_decl_quote_varnames], 400 1.1 christos [_lt_decl_filter([value], [1], $@)]) 401 1.1 christos 402 1.1 christos 403 1.1 christos # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 404 1.1 christos # --------------------------------------------------- 405 1.1 christos m4_define([lt_decl_dquote_varnames], 406 1.1 christos [_lt_decl_filter([value], [2], $@)]) 407 1.1 christos 408 1.1 christos 409 1.1 christos # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 410 1.1 christos # --------------------------------------------------- 411 1.1 christos m4_define([lt_decl_varnames_tagged], 412 1.1 christos [m4_assert([$# <= 2])dnl 413 1.1 christos _$0(m4_quote(m4_default([$1], [[, ]])), 414 1.1 christos m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 415 1.1 christos m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 416 1.1 christos m4_define([_lt_decl_varnames_tagged], 417 1.1 christos [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 418 1.1 christos 419 1.1 christos 420 1.1 christos # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 421 1.1 christos # ------------------------------------------------ 422 1.1 christos m4_define([lt_decl_all_varnames], 423 1.1 christos [_$0(m4_quote(m4_default([$1], [[, ]])), 424 1.1 christos m4_if([$2], [], 425 1.1 christos m4_quote(lt_decl_varnames), 426 1.1 christos m4_quote(m4_shift($@))))[]dnl 427 1.1 christos ]) 428 1.1 christos m4_define([_lt_decl_all_varnames], 429 1.1 christos [lt_join($@, lt_decl_varnames_tagged([$1], 430 1.1 christos lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 431 1.1 christos ]) 432 1.1 christos 433 1.1 christos 434 1.1 christos # _LT_CONFIG_STATUS_DECLARE([VARNAME]) 435 1.1 christos # ------------------------------------ 436 1.1 christos # Quote a variable value, and forward it to 'config.status' so that its 437 1.1 christos # declaration there will have the same value as in 'configure'. VARNAME 438 1.1 christos # must have a single quote delimited value for this to work. 439 1.1 christos m4_define([_LT_CONFIG_STATUS_DECLARE], 440 1.1 christos [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) 441 1.1 christos 442 1.1 christos 443 1.1 christos # _LT_CONFIG_STATUS_DECLARATIONS 444 1.1 christos # ------------------------------ 445 1.1 christos # We delimit libtool config variables with single quotes, so when 446 1.1 christos # we write them to config.status, we have to be sure to quote all 447 1.1 christos # embedded single quotes properly. In configure, this macro expands 448 1.1 christos # each variable declared with _LT_DECL (and _LT_TAGDECL) into: 449 1.1 christos # 450 1.1 christos # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' 451 1.1 christos m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 452 1.1 christos [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 453 1.1 christos [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 454 1.1 christos 455 1.1 christos 456 1.1 christos # _LT_LIBTOOL_TAGS 457 1.1 christos # ---------------- 458 1.1 christos # Output comment and list of tags supported by the script 459 1.1 christos m4_defun([_LT_LIBTOOL_TAGS], 460 1.1 christos [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 461 1.1 christos available_tags='_LT_TAGS'dnl 462 1.1 christos ]) 463 1.1 christos 464 1.1 christos 465 1.1 christos # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 466 1.1 christos # ----------------------------------- 467 1.1 christos # Extract the dictionary values for VARNAME (optionally with TAG) and 468 1.1 christos # expand to a commented shell variable setting: 469 1.1 christos # 470 1.1 christos # # Some comment about what VAR is for. 471 1.1 christos # visible_name=$lt_internal_name 472 1.1 christos m4_define([_LT_LIBTOOL_DECLARE], 473 1.1 christos [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 474 1.1 christos [description])))[]dnl 475 1.1 christos m4_pushdef([_libtool_name], 476 1.1 christos m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 477 1.1 christos m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 478 1.1 christos [0], [_libtool_name=[$]$1], 479 1.1 christos [1], [_libtool_name=$lt_[]$1], 480 1.1 christos [2], [_libtool_name=$lt_[]$1], 481 1.1 christos [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 482 1.1 christos m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 483 1.1 christos ]) 484 1.1 christos 485 1.1 christos 486 1.1 christos # _LT_LIBTOOL_CONFIG_VARS 487 1.1 christos # ----------------------- 488 1.1 christos # Produce commented declarations of non-tagged libtool config variables 489 1.1 christos # suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' 490 1.1 christos # script. Tagged libtool config variables (even for the LIBTOOL CONFIG 491 1.1 christos # section) are produced by _LT_LIBTOOL_TAG_VARS. 492 1.1 christos m4_defun([_LT_LIBTOOL_CONFIG_VARS], 493 1.1 christos [m4_foreach([_lt_var], 494 1.1 christos m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 495 1.1 christos [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 496 1.1 christos 497 1.1 christos 498 1.1 christos # _LT_LIBTOOL_TAG_VARS(TAG) 499 1.1 christos # ------------------------- 500 1.1 christos m4_define([_LT_LIBTOOL_TAG_VARS], 501 1.1 christos [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 502 1.1 christos [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 503 1.1 christos 504 1.1 christos 505 1.1 christos # _LT_TAGVAR(VARNAME, [TAGNAME]) 506 1.1 christos # ------------------------------ 507 1.1 christos m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 508 1.1 christos 509 1.1 christos 510 1.1 christos # _LT_CONFIG_COMMANDS 511 1.1 christos # ------------------- 512 1.1 christos # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 513 1.1 christos # variables for single and double quote escaping we saved from calls 514 1.1 christos # to _LT_DECL, we can put quote escaped variables declarations 515 1.1 christos # into 'config.status', and then the shell code to quote escape them in 516 1.1 christos # for loops in 'config.status'. Finally, any additional code accumulated 517 1.1 christos # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 518 1.1 christos m4_defun([_LT_CONFIG_COMMANDS], 519 1.1 christos [AC_PROVIDE_IFELSE([LT_OUTPUT], 520 1.1 christos dnl If the libtool generation code has been placed in $CONFIG_LT, 521 1.1 christos dnl instead of duplicating it all over again into config.status, 522 1.1 christos dnl then we will have config.status run $CONFIG_LT later, so it 523 1.1 christos dnl needs to know what name is stored there: 524 1.1 christos [AC_CONFIG_COMMANDS([libtool], 525 1.1 christos [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 526 1.1 christos dnl If the libtool generation code is destined for config.status, 527 1.1 christos dnl expand the accumulated commands and init code now: 528 1.1 christos [AC_CONFIG_COMMANDS([libtool], 529 1.1 christos [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 530 1.1 christos ])#_LT_CONFIG_COMMANDS 531 1.1 christos 532 1.1 christos 533 1.1 christos # Initialize. 534 1.1 christos m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 535 1.1 christos [ 536 1.1 christos 537 1.1 christos # The HP-UX ksh and POSIX shell print the target directory to stdout 538 1.1 christos # if CDPATH is set. 539 1.1 christos (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 540 1.1 christos 541 1.1 christos sed_quote_subst='$sed_quote_subst' 542 1.1 christos double_quote_subst='$double_quote_subst' 543 1.1 christos delay_variable_subst='$delay_variable_subst' 544 1.1 christos _LT_CONFIG_STATUS_DECLARATIONS 545 1.1 christos LTCC='$LTCC' 546 1.1 christos LTCFLAGS='$LTCFLAGS' 547 1.1 christos compiler='$compiler_DEFAULT' 548 1.1 christos 549 1.1 christos # A function that is used when there is no print builtin or printf. 550 1.1 christos func_fallback_echo () 551 1.1 christos { 552 1.1 christos eval 'cat <<_LTECHO_EOF 553 1.1 christos \$[]1 554 1.1 christos _LTECHO_EOF' 555 1.1 christos } 556 1.1 christos 557 1.1 christos # Quote evaled strings. 558 1.1 christos for var in lt_decl_all_varnames([[ \ 559 1.1 christos ]], lt_decl_quote_varnames); do 560 1.1 christos case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 561 1.1 christos *[[\\\\\\\`\\"\\\$]]*) 562 1.1 christos eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 563 1.1 christos ;; 564 1.1 christos *) 565 1.1 christos eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 566 1.1 christos ;; 567 1.1 christos esac 568 1.1 christos done 569 1.1 christos 570 1.1 christos # Double-quote double-evaled strings. 571 1.1 christos for var in lt_decl_all_varnames([[ \ 572 1.1 christos ]], lt_decl_dquote_varnames); do 573 1.1 christos case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 574 1.1 christos *[[\\\\\\\`\\"\\\$]]*) 575 1.1 christos eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes 576 1.1 christos ;; 577 1.1 christos *) 578 1.1 christos eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 579 1.1 christos ;; 580 1.1 christos esac 581 1.1 christos done 582 1.1 christos 583 1.1 christos _LT_OUTPUT_LIBTOOL_INIT 584 1.1 christos ]) 585 1.1 christos 586 1.1 christos # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) 587 1.1 christos # ------------------------------------ 588 1.1 christos # Generate a child script FILE with all initialization necessary to 589 1.1 christos # reuse the environment learned by the parent script, and make the 590 1.1 christos # file executable. If COMMENT is supplied, it is inserted after the 591 1.1 christos # '#!' sequence but before initialization text begins. After this 592 1.1 christos # macro, additional text can be appended to FILE to form the body of 593 1.1 christos # the child script. The macro ends with non-zero status if the 594 1.1 christos # file could not be fully written (such as if the disk is full). 595 1.1 christos m4_ifdef([AS_INIT_GENERATED], 596 1.1 christos [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], 597 1.1 christos [m4_defun([_LT_GENERATED_FILE_INIT], 598 1.1 christos [m4_require([AS_PREPARE])]dnl 599 1.1 christos [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl 600 1.1 christos [lt_write_fail=0 601 1.1 christos cat >$1 <<_ASEOF || lt_write_fail=1 602 1.1 christos #! $SHELL 603 1.1 christos # Generated by $as_me. 604 1.1 christos $2 605 1.1 christos SHELL=\${CONFIG_SHELL-$SHELL} 606 1.1 christos export SHELL 607 1.1 christos _ASEOF 608 1.1 christos cat >>$1 <<\_ASEOF || lt_write_fail=1 609 1.1 christos AS_SHELL_SANITIZE 610 1.1 christos _AS_PREPARE 611 1.1 christos exec AS_MESSAGE_FD>&1 612 1.1 christos _ASEOF 613 1.1 christos test 0 = "$lt_write_fail" && chmod +x $1[]dnl 614 1.1 christos m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT 615 1.1 christos 616 1.1 christos # LT_OUTPUT 617 1.1 christos # --------- 618 1.1 christos # This macro allows early generation of the libtool script (before 619 1.1.1.5 christos # AC_OUTPUT is called), in case it is used in configure for compilation 620 1.1 christos # tests. 621 1.1 christos AC_DEFUN([LT_OUTPUT], 622 1.1 christos [: ${CONFIG_LT=./config.lt} 623 1.1 christos AC_MSG_NOTICE([creating $CONFIG_LT]) 624 1.1 christos _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], 625 1.1 christos [# Run this file to recreate a libtool stub with the current configuration.]) 626 1.1 christos 627 1.1 christos cat >>"$CONFIG_LT" <<\_LTEOF 628 1.1 christos lt_cl_silent=false 629 1.1 christos exec AS_MESSAGE_LOG_FD>>config.log 630 1.1 christos { 631 1.1 christos echo 632 1.1 christos AS_BOX([Running $as_me.]) 633 1.1 christos } >&AS_MESSAGE_LOG_FD 634 1.1 christos 635 1.1 christos lt_cl_help="\ 636 1.1 christos '$as_me' creates a local libtool stub from the current configuration, 637 1.1 christos for use in further configure time tests before the real libtool is 638 1.1 christos generated. 639 1.1 christos 640 1.1 christos Usage: $[0] [[OPTIONS]] 641 1.1 christos 642 1.1 christos -h, --help print this help, then exit 643 1.1 christos -V, --version print version number, then exit 644 1.1 christos -q, --quiet do not print progress messages 645 1.1 christos -d, --debug don't remove temporary files 646 1.1 christos 647 1.1 christos Report bugs to <bug-libtool (a] gnu.org>." 648 1.1 christos 649 1.1 christos lt_cl_version="\ 650 1.1 christos m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 651 1.1 christos m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 652 1.1 christos configured by $[0], generated by m4_PACKAGE_STRING. 653 1.1 christos 654 1.1.1.5 christos Copyright (C) 2024 Free Software Foundation, Inc. 655 1.1 christos This config.lt script is free software; the Free Software Foundation 656 1.1.1.5 christos gives unlimited permission to copy, distribute and modify it." 657 1.1 christos 658 1.1 christos while test 0 != $[#] 659 1.1 christos do 660 1.1 christos case $[1] in 661 1.1 christos --version | --v* | -V ) 662 1.1 christos echo "$lt_cl_version"; exit 0 ;; 663 1.1 christos --help | --h* | -h ) 664 1.1 christos echo "$lt_cl_help"; exit 0 ;; 665 1.1 christos --debug | --d* | -d ) 666 1.1 christos debug=: ;; 667 1.1 christos --quiet | --q* | --silent | --s* | -q ) 668 1.1 christos lt_cl_silent=: ;; 669 1.1 christos 670 1.1 christos -*) AC_MSG_ERROR([unrecognized option: $[1] 671 1.1 christos Try '$[0] --help' for more information.]) ;; 672 1.1 christos 673 1.1 christos *) AC_MSG_ERROR([unrecognized argument: $[1] 674 1.1 christos Try '$[0] --help' for more information.]) ;; 675 1.1 christos esac 676 1.1 christos shift 677 1.1 christos done 678 1.1 christos 679 1.1 christos if $lt_cl_silent; then 680 1.1 christos exec AS_MESSAGE_FD>/dev/null 681 1.1 christos fi 682 1.1 christos _LTEOF 683 1.1 christos 684 1.1 christos cat >>"$CONFIG_LT" <<_LTEOF 685 1.1 christos _LT_OUTPUT_LIBTOOL_COMMANDS_INIT 686 1.1 christos _LTEOF 687 1.1 christos 688 1.1 christos cat >>"$CONFIG_LT" <<\_LTEOF 689 1.1 christos AC_MSG_NOTICE([creating $ofile]) 690 1.1 christos _LT_OUTPUT_LIBTOOL_COMMANDS 691 1.1 christos AS_EXIT(0) 692 1.1 christos _LTEOF 693 1.1 christos chmod +x "$CONFIG_LT" 694 1.1 christos 695 1.1 christos # configure is writing to config.log, but config.lt does its own redirection, 696 1.1 christos # appending to config.log, which fails on DOS, as config.log is still kept 697 1.1 christos # open by configure. Here we exec the FD to /dev/null, effectively closing 698 1.1 christos # config.log, so it can be properly (re)opened and appended to by config.lt. 699 1.1 christos lt_cl_success=: 700 1.1 christos test yes = "$silent" && 701 1.1 christos lt_config_lt_args="$lt_config_lt_args --quiet" 702 1.1 christos exec AS_MESSAGE_LOG_FD>/dev/null 703 1.1 christos $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 704 1.1 christos exec AS_MESSAGE_LOG_FD>>config.log 705 1.1 christos $lt_cl_success || AS_EXIT(1) 706 1.1 christos ])# LT_OUTPUT 707 1.1 christos 708 1.1 christos 709 1.1 christos # _LT_CONFIG(TAG) 710 1.1 christos # --------------- 711 1.1 christos # If TAG is the built-in tag, create an initial libtool script with a 712 1.1 christos # default configuration from the untagged config vars. Otherwise add code 713 1.1 christos # to config.status for appending the configuration named by TAG from the 714 1.1 christos # matching tagged config vars. 715 1.1 christos m4_defun([_LT_CONFIG], 716 1.1 christos [m4_require([_LT_FILEUTILS_DEFAULTS])dnl 717 1.1 christos _LT_CONFIG_SAVE_COMMANDS([ 718 1.1 christos m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 719 1.1 christos m4_if(_LT_TAG, [C], [ 720 1.1 christos # See if we are running on zsh, and set the options that allow our 721 1.1 christos # commands through without removal of \ escapes. 722 1.1 christos if test -n "${ZSH_VERSION+set}"; then 723 1.1 christos setopt NO_GLOB_SUBST 724 1.1 christos fi 725 1.1 christos 726 1.1 christos cfgfile=${ofile}T 727 1.1 christos trap "$RM \"$cfgfile\"; exit 1" 1 2 15 728 1.1 christos $RM "$cfgfile" 729 1.1 christos 730 1.1 christos cat <<_LT_EOF >> "$cfgfile" 731 1.1 christos #! $SHELL 732 1.1 christos # Generated automatically by $as_me ($PACKAGE) $VERSION 733 1.1 christos # NOTE: Changes made to this file will be lost: look at ltmain.sh. 734 1.1 christos 735 1.1 christos # Provide generalized library-building support services. 736 1.1 christos # Written by Gordon Matzigkeit, 1996 737 1.1 christos 738 1.1 christos _LT_COPYING 739 1.1 christos _LT_LIBTOOL_TAGS 740 1.1 christos 741 1.1 christos # Configured defaults for sys_lib_dlsearch_path munging. 742 1.1 christos : \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} 743 1.1 christos 744 1.1 christos # ### BEGIN LIBTOOL CONFIG 745 1.1 christos _LT_LIBTOOL_CONFIG_VARS 746 1.1 christos _LT_LIBTOOL_TAG_VARS 747 1.1 christos # ### END LIBTOOL CONFIG 748 1.1 christos 749 1.1 christos _LT_EOF 750 1.1 christos 751 1.1 christos cat <<'_LT_EOF' >> "$cfgfile" 752 1.1 christos 753 1.1 christos # ### BEGIN FUNCTIONS SHARED WITH CONFIGURE 754 1.1 christos 755 1.1 christos _LT_PREPARE_MUNGE_PATH_LIST 756 1.1 christos _LT_PREPARE_CC_BASENAME 757 1.1 christos 758 1.1 christos # ### END FUNCTIONS SHARED WITH CONFIGURE 759 1.1 christos 760 1.1 christos _LT_EOF 761 1.1 christos 762 1.1 christos case $host_os in 763 1.1 christos aix3*) 764 1.1 christos cat <<\_LT_EOF >> "$cfgfile" 765 1.1 christos # AIX sometimes has problems with the GCC collect2 program. For some 766 1.1 christos # reason, if we set the COLLECT_NAMES environment variable, the problems 767 1.1 christos # vanish in a puff of smoke. 768 1.1 christos if test set != "${COLLECT_NAMES+set}"; then 769 1.1 christos COLLECT_NAMES= 770 1.1 christos export COLLECT_NAMES 771 1.1 christos fi 772 1.1 christos _LT_EOF 773 1.1 christos ;; 774 1.1 christos esac 775 1.1 christos 776 1.1 christos _LT_PROG_LTMAIN 777 1.1 christos 778 1.1 christos # We use sed instead of cat because bash on DJGPP gets confused if 779 1.1 christos # if finds mixed CR/LF and LF-only lines. Since sed operates in 780 1.1 christos # text mode, it properly converts lines to CR/LF. This bash problem 781 1.1 christos # is reportedly fixed, but why not run on old versions too? 782 1.1.1.4 christos $SED '$q' "$ltmain" >> "$cfgfile" \ 783 1.1 christos || (rm -f "$cfgfile"; exit 1) 784 1.1 christos 785 1.1 christos mv -f "$cfgfile" "$ofile" || 786 1.1 christos (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 787 1.1 christos chmod +x "$ofile" 788 1.1 christos ], 789 1.1 christos [cat <<_LT_EOF >> "$ofile" 790 1.1 christos 791 1.1 christos dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 792 1.1 christos dnl in a comment (ie after a #). 793 1.1 christos # ### BEGIN LIBTOOL TAG CONFIG: $1 794 1.1 christos _LT_LIBTOOL_TAG_VARS(_LT_TAG) 795 1.1 christos # ### END LIBTOOL TAG CONFIG: $1 796 1.1 christos _LT_EOF 797 1.1 christos ])dnl /m4_if 798 1.1 christos ], 799 1.1 christos [m4_if([$1], [], [ 800 1.1 christos PACKAGE='$PACKAGE' 801 1.1 christos VERSION='$VERSION' 802 1.1 christos RM='$RM' 803 1.1 christos ofile='$ofile'], []) 804 1.1 christos ])dnl /_LT_CONFIG_SAVE_COMMANDS 805 1.1 christos ])# _LT_CONFIG 806 1.1 christos 807 1.1 christos 808 1.1 christos # LT_SUPPORTED_TAG(TAG) 809 1.1 christos # --------------------- 810 1.1 christos # Trace this macro to discover what tags are supported by the libtool 811 1.1 christos # --tag option, using: 812 1.1 christos # autoconf --trace 'LT_SUPPORTED_TAG:$1' 813 1.1 christos AC_DEFUN([LT_SUPPORTED_TAG], []) 814 1.1 christos 815 1.1 christos 816 1.1 christos # C support is built-in for now 817 1.1 christos m4_define([_LT_LANG_C_enabled], []) 818 1.1 christos m4_define([_LT_TAGS], []) 819 1.1 christos 820 1.1 christos 821 1.1 christos # LT_LANG(LANG) 822 1.1 christos # ------------- 823 1.1 christos # Enable libtool support for the given language if not already enabled. 824 1.1 christos AC_DEFUN([LT_LANG], 825 1.1 christos [AC_BEFORE([$0], [LT_OUTPUT])dnl 826 1.1 christos m4_case([$1], 827 1.1 christos [C], [_LT_LANG(C)], 828 1.1 christos [C++], [_LT_LANG(CXX)], 829 1.1 christos [Go], [_LT_LANG(GO)], 830 1.1 christos [Java], [_LT_LANG(GCJ)], 831 1.1 christos [Fortran 77], [_LT_LANG(F77)], 832 1.1 christos [Fortran], [_LT_LANG(FC)], 833 1.1 christos [Windows Resource], [_LT_LANG(RC)], 834 1.1 christos [m4_ifdef([_LT_LANG_]$1[_CONFIG], 835 1.1 christos [_LT_LANG($1)], 836 1.1 christos [m4_fatal([$0: unsupported language: "$1"])])])dnl 837 1.1 christos ])# LT_LANG 838 1.1 christos 839 1.1 christos 840 1.1 christos # _LT_LANG(LANGNAME) 841 1.1 christos # ------------------ 842 1.1 christos m4_defun([_LT_LANG], 843 1.1 christos [m4_ifdef([_LT_LANG_]$1[_enabled], [], 844 1.1 christos [LT_SUPPORTED_TAG([$1])dnl 845 1.1 christos m4_append([_LT_TAGS], [$1 ])dnl 846 1.1 christos m4_define([_LT_LANG_]$1[_enabled], [])dnl 847 1.1 christos _LT_LANG_$1_CONFIG($1)])dnl 848 1.1 christos ])# _LT_LANG 849 1.1 christos 850 1.1 christos 851 1.1 christos m4_ifndef([AC_PROG_GO], [ 852 1.1 christos ############################################################ 853 1.1 christos # NOTE: This macro has been submitted for inclusion into # 854 1.1 christos # GNU Autoconf as AC_PROG_GO. When it is available in # 855 1.1 christos # a released version of Autoconf we should remove this # 856 1.1 christos # macro and use it instead. # 857 1.1 christos ############################################################ 858 1.1 christos m4_defun([AC_PROG_GO], 859 1.1 christos [AC_LANG_PUSH(Go)dnl 860 1.1 christos AC_ARG_VAR([GOC], [Go compiler command])dnl 861 1.1 christos AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl 862 1.1 christos _AC_ARG_VAR_LDFLAGS()dnl 863 1.1 christos AC_CHECK_TOOL(GOC, gccgo) 864 1.1 christos if test -z "$GOC"; then 865 1.1 christos if test -n "$ac_tool_prefix"; then 866 1.1 christos AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) 867 1.1 christos fi 868 1.1 christos fi 869 1.1 christos if test -z "$GOC"; then 870 1.1 christos AC_CHECK_PROG(GOC, gccgo, gccgo, false) 871 1.1 christos fi 872 1.1 christos ])#m4_defun 873 1.1 christos ])#m4_ifndef 874 1.1 christos 875 1.1 christos 876 1.1 christos # _LT_LANG_DEFAULT_CONFIG 877 1.1 christos # ----------------------- 878 1.1 christos m4_defun([_LT_LANG_DEFAULT_CONFIG], 879 1.1 christos [AC_PROVIDE_IFELSE([AC_PROG_CXX], 880 1.1 christos [LT_LANG(CXX)], 881 1.1 christos [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 882 1.1 christos 883 1.1 christos AC_PROVIDE_IFELSE([AC_PROG_F77], 884 1.1 christos [LT_LANG(F77)], 885 1.1 christos [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 886 1.1 christos 887 1.1 christos AC_PROVIDE_IFELSE([AC_PROG_FC], 888 1.1 christos [LT_LANG(FC)], 889 1.1 christos [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 890 1.1 christos 891 1.1 christos dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 892 1.1 christos dnl pulling things in needlessly. 893 1.1 christos AC_PROVIDE_IFELSE([AC_PROG_GCJ], 894 1.1 christos [LT_LANG(GCJ)], 895 1.1 christos [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 896 1.1 christos [LT_LANG(GCJ)], 897 1.1 christos [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 898 1.1 christos [LT_LANG(GCJ)], 899 1.1 christos [m4_ifdef([AC_PROG_GCJ], 900 1.1 christos [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 901 1.1 christos m4_ifdef([A][M_PROG_GCJ], 902 1.1 christos [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 903 1.1 christos m4_ifdef([LT_PROG_GCJ], 904 1.1 christos [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 905 1.1 christos 906 1.1 christos AC_PROVIDE_IFELSE([AC_PROG_GO], 907 1.1 christos [LT_LANG(GO)], 908 1.1 christos [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) 909 1.1 christos 910 1.1 christos AC_PROVIDE_IFELSE([LT_PROG_RC], 911 1.1 christos [LT_LANG(RC)], 912 1.1 christos [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 913 1.1 christos ])# _LT_LANG_DEFAULT_CONFIG 914 1.1 christos 915 1.1 christos # Obsolete macros: 916 1.1 christos AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 917 1.1 christos AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 918 1.1 christos AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 919 1.1 christos AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 920 1.1 christos AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) 921 1.1 christos dnl aclocal-1.4 backwards compatibility: 922 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_CXX], []) 923 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_F77], []) 924 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_FC], []) 925 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 926 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_RC], []) 927 1.1 christos 928 1.1 christos 929 1.1 christos # _LT_TAG_COMPILER 930 1.1 christos # ---------------- 931 1.1 christos m4_defun([_LT_TAG_COMPILER], 932 1.1 christos [AC_REQUIRE([AC_PROG_CC])dnl 933 1.1 christos 934 1.1 christos _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 935 1.1 christos _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 936 1.1 christos _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 937 1.1 christos _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 938 1.1 christos 939 1.1 christos # If no C compiler was specified, use CC. 940 1.1 christos LTCC=${LTCC-"$CC"} 941 1.1 christos 942 1.1 christos # If no C compiler flags were specified, use CFLAGS. 943 1.1 christos LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 944 1.1 christos 945 1.1 christos # Allow CC to be a program name with arguments. 946 1.1 christos compiler=$CC 947 1.1 christos ])# _LT_TAG_COMPILER 948 1.1 christos 949 1.1 christos 950 1.1 christos # _LT_COMPILER_BOILERPLATE 951 1.1 christos # ------------------------ 952 1.1 christos # Check for compiler boilerplate output or warnings with 953 1.1 christos # the simple compiler test code. 954 1.1 christos m4_defun([_LT_COMPILER_BOILERPLATE], 955 1.1 christos [m4_require([_LT_DECL_SED])dnl 956 1.1 christos ac_outfile=conftest.$ac_objext 957 1.1 christos echo "$lt_simple_compile_test_code" >conftest.$ac_ext 958 1.1 christos eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 959 1.1 christos _lt_compiler_boilerplate=`cat conftest.err` 960 1.1 christos $RM conftest* 961 1.1 christos ])# _LT_COMPILER_BOILERPLATE 962 1.1 christos 963 1.1 christos 964 1.1 christos # _LT_LINKER_BOILERPLATE 965 1.1 christos # ---------------------- 966 1.1 christos # Check for linker boilerplate output or warnings with 967 1.1 christos # the simple link test code. 968 1.1 christos m4_defun([_LT_LINKER_BOILERPLATE], 969 1.1 christos [m4_require([_LT_DECL_SED])dnl 970 1.1 christos ac_outfile=conftest.$ac_objext 971 1.1 christos echo "$lt_simple_link_test_code" >conftest.$ac_ext 972 1.1 christos eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 973 1.1 christos _lt_linker_boilerplate=`cat conftest.err` 974 1.1 christos $RM -r conftest* 975 1.1 christos ])# _LT_LINKER_BOILERPLATE 976 1.1 christos 977 1.1.1.5 christos 978 1.1 christos # _LT_REQUIRED_DARWIN_CHECKS 979 1.1 christos # ------------------------- 980 1.1 christos m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 981 1.1 christos case $host_os in 982 1.1 christos rhapsody* | darwin*) 983 1.1 christos AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 984 1.1 christos AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 985 1.1 christos AC_CHECK_TOOL([LIPO], [lipo], [:]) 986 1.1 christos AC_CHECK_TOOL([OTOOL], [otool], [:]) 987 1.1 christos AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 988 1.1 christos _LT_DECL([], [DSYMUTIL], [1], 989 1.1 christos [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 990 1.1 christos _LT_DECL([], [NMEDIT], [1], 991 1.1 christos [Tool to change global to local symbols on Mac OS X]) 992 1.1 christos _LT_DECL([], [LIPO], [1], 993 1.1 christos [Tool to manipulate fat objects and archives on Mac OS X]) 994 1.1 christos _LT_DECL([], [OTOOL], [1], 995 1.1 christos [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 996 1.1 christos _LT_DECL([], [OTOOL64], [1], 997 1.1 christos [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 998 1.1 christos 999 1.1 christos AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 1000 1.1 christos [lt_cv_apple_cc_single_mod=no 1001 1.1 christos if test -z "$LT_MULTI_MODULE"; then 1002 1.1 christos # By default we will add the -single_module flag. You can override 1003 1.1 christos # by either setting the environment variable LT_MULTI_MODULE 1004 1.1 christos # non-empty at configure time, or by adding -multi_module to the 1005 1.1 christos # link flags. 1006 1.1 christos rm -rf libconftest.dylib* 1007 1.1 christos echo "int foo(void){return 1;}" > conftest.c 1008 1.1 christos echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 1009 1.1 christos -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 1010 1.1 christos $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 1011 1.1 christos -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 1012 1.1 christos _lt_result=$? 1013 1.1 christos # If there is a non-empty error log, and "single_module" 1014 1.1 christos # appears in it, assume the flag caused a linker warning 1015 1.1 christos if test -s conftest.err && $GREP single_module conftest.err; then 1016 1.1 christos cat conftest.err >&AS_MESSAGE_LOG_FD 1017 1.1 christos # Otherwise, if the output was created with a 0 exit code from 1018 1.1 christos # the compiler, it worked. 1019 1.1 christos elif test -f libconftest.dylib && test 0 = "$_lt_result"; then 1020 1.1 christos lt_cv_apple_cc_single_mod=yes 1021 1.1 christos else 1022 1.1 christos cat conftest.err >&AS_MESSAGE_LOG_FD 1023 1.1 christos fi 1024 1.1 christos rm -rf libconftest.dylib* 1025 1.1 christos rm -f conftest.* 1026 1.1 christos fi]) 1027 1.1 christos 1028 1.1.1.5 christos # Feature test to disable chained fixups since it is not 1029 1.1.1.5 christos # compatible with '-undefined dynamic_lookup' 1030 1.1.1.5 christos AC_CACHE_CHECK([for -no_fixup_chains linker flag], 1031 1.1.1.5 christos [lt_cv_support_no_fixup_chains], 1032 1.1.1.5 christos [ save_LDFLAGS=$LDFLAGS 1033 1.1.1.5 christos LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains" 1034 1.1.1.5 christos AC_LINK_IFELSE( 1035 1.1.1.5 christos [AC_LANG_PROGRAM([],[])], 1036 1.1.1.5 christos lt_cv_support_no_fixup_chains=yes, 1037 1.1.1.5 christos lt_cv_support_no_fixup_chains=no 1038 1.1.1.5 christos ) 1039 1.1.1.5 christos LDFLAGS=$save_LDFLAGS 1040 1.1.1.5 christos ] 1041 1.1.1.5 christos ) 1042 1.1.1.5 christos 1043 1.1 christos AC_CACHE_CHECK([for -exported_symbols_list linker flag], 1044 1.1 christos [lt_cv_ld_exported_symbols_list], 1045 1.1 christos [lt_cv_ld_exported_symbols_list=no 1046 1.1 christos save_LDFLAGS=$LDFLAGS 1047 1.1 christos echo "_main" > conftest.sym 1048 1.1 christos LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 1049 1.1 christos AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 1050 1.1 christos [lt_cv_ld_exported_symbols_list=yes], 1051 1.1 christos [lt_cv_ld_exported_symbols_list=no]) 1052 1.1 christos LDFLAGS=$save_LDFLAGS 1053 1.1 christos ]) 1054 1.1 christos 1055 1.1 christos AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], 1056 1.1 christos [lt_cv_ld_force_load=no 1057 1.1 christos cat > conftest.c << _LT_EOF 1058 1.1 christos int forced_loaded() { return 2;} 1059 1.1 christos _LT_EOF 1060 1.1 christos echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD 1061 1.1 christos $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD 1062 1.1.1.4 christos echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD 1063 1.1.1.4 christos $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD 1064 1.1 christos echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD 1065 1.1 christos $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD 1066 1.1 christos cat > conftest.c << _LT_EOF 1067 1.1.1.5 christos int main(void) { return 0;} 1068 1.1 christos _LT_EOF 1069 1.1 christos echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD 1070 1.1 christos $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 1071 1.1 christos _lt_result=$? 1072 1.1 christos if test -s conftest.err && $GREP force_load conftest.err; then 1073 1.1 christos cat conftest.err >&AS_MESSAGE_LOG_FD 1074 1.1 christos elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then 1075 1.1 christos lt_cv_ld_force_load=yes 1076 1.1 christos else 1077 1.1 christos cat conftest.err >&AS_MESSAGE_LOG_FD 1078 1.1 christos fi 1079 1.1 christos rm -f conftest.err libconftest.a conftest conftest.c 1080 1.1 christos rm -rf conftest.dSYM 1081 1.1 christos ]) 1082 1.1 christos case $host_os in 1083 1.1 christos rhapsody* | darwin1.[[012]]) 1084 1.1 christos _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; 1085 1.1 christos darwin1.*) 1086 1.1 christos _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 1087 1.1.1.4 christos darwin*) 1088 1.1.1.4 christos case $MACOSX_DEPLOYMENT_TARGET,$host in 1089 1.1.1.4 christos 10.[[012]],*|,*powerpc*-darwin[[5-8]]*) 1090 1.1.1.4 christos _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; 1091 1.1.1.4 christos *) 1092 1.1.1.5 christos _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' 1093 1.1.1.5 christos if test yes = "$lt_cv_support_no_fixup_chains"; then 1094 1.1.1.5 christos AS_VAR_APPEND([_lt_dar_allow_undefined], [' $wl-no_fixup_chains']) 1095 1.1.1.5 christos fi 1096 1.1.1.5 christos ;; 1097 1.1 christos esac 1098 1.1 christos ;; 1099 1.1 christos esac 1100 1.1 christos if test yes = "$lt_cv_apple_cc_single_mod"; then 1101 1.1 christos _lt_dar_single_mod='$single_module' 1102 1.1 christos fi 1103 1.1.1.5 christos _lt_dar_needs_single_mod=no 1104 1.1.1.5 christos case $host_os in 1105 1.1.1.5 christos rhapsody* | darwin1.*) 1106 1.1.1.5 christos _lt_dar_needs_single_mod=yes ;; 1107 1.1.1.5 christos darwin*) 1108 1.1.1.5 christos # When targeting Mac OS X 10.4 (darwin 8) or later, 1109 1.1.1.5 christos # -single_module is the default and -multi_module is unsupported. 1110 1.1.1.5 christos # The toolchain on macOS 10.14 (darwin 18) and later cannot 1111 1.1.1.5 christos # target any OS version that needs -single_module. 1112 1.1.1.5 christos case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 1113 1.1.1.5 christos 10.0,*-darwin[[567]].*|10.[[0-3]],*-darwin[[5-9]].*|10.[[0-3]],*-darwin1[[0-7]].*) 1114 1.1.1.5 christos _lt_dar_needs_single_mod=yes ;; 1115 1.1.1.5 christos esac 1116 1.1.1.5 christos ;; 1117 1.1.1.5 christos esac 1118 1.1 christos if test yes = "$lt_cv_ld_exported_symbols_list"; then 1119 1.1 christos _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' 1120 1.1 christos else 1121 1.1 christos _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' 1122 1.1 christos fi 1123 1.1 christos if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then 1124 1.1 christos _lt_dsymutil='~$DSYMUTIL $lib || :' 1125 1.1 christos else 1126 1.1 christos _lt_dsymutil= 1127 1.1 christos fi 1128 1.1 christos ;; 1129 1.1 christos esac 1130 1.1 christos ]) 1131 1.1 christos 1132 1.1 christos 1133 1.1 christos # _LT_DARWIN_LINKER_FEATURES([TAG]) 1134 1.1 christos # --------------------------------- 1135 1.1 christos # Checks for linker and compiler features on darwin 1136 1.1 christos m4_defun([_LT_DARWIN_LINKER_FEATURES], 1137 1.1 christos [ 1138 1.1 christos m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 1139 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 1140 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 1141 1.1 christos _LT_TAGVAR(hardcode_automatic, $1)=yes 1142 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 1143 1.1 christos if test yes = "$lt_cv_ld_force_load"; then 1144 1.1 christos _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\"`' 1145 1.1 christos m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], 1146 1.1 christos [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) 1147 1.1 christos else 1148 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='' 1149 1.1 christos fi 1150 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 1151 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined 1152 1.1 christos case $cc_basename in 1153 1.1 christos ifort*|nagfor*) _lt_dar_can_shared=yes ;; 1154 1.1 christos *) _lt_dar_can_shared=$GCC ;; 1155 1.1 christos esac 1156 1.1 christos if test yes = "$_lt_dar_can_shared"; then 1157 1.1 christos output_verbose_link_cmd=func_echo_all 1158 1.1 christos _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" 1159 1.1 christos _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" 1160 1.1.1.4 christos _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" 1161 1.1.1.4 christos _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" 1162 1.1 christos m4_if([$1], [CXX], 1163 1.1.1.5 christos [ if test yes = "$_lt_dar_needs_single_mod" -a yes != "$lt_cv_apple_cc_single_mod"; then 1164 1.1 christos _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" 1165 1.1.1.4 christos _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" 1166 1.1 christos fi 1167 1.1 christos ],[]) 1168 1.1 christos else 1169 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 1170 1.1 christos fi 1171 1.1 christos ]) 1172 1.1 christos 1173 1.1 christos # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) 1174 1.1 christos # ---------------------------------- 1175 1.1 christos # Links a minimal program and checks the executable 1176 1.1 christos # for the system default hardcoded library path. In most cases, 1177 1.1 christos # this is /usr/lib:/lib, but when the MPI compilers are used 1178 1.1 christos # the location of the communication and MPI libs are included too. 1179 1.1 christos # If we don't find anything, use the default library path according 1180 1.1 christos # to the aix ld manual. 1181 1.1 christos # Store the results from the different compilers for each TAGNAME. 1182 1.1 christos # Allow to override them for all tags through lt_cv_aix_libpath. 1183 1.1 christos m4_defun([_LT_SYS_MODULE_PATH_AIX], 1184 1.1 christos [m4_require([_LT_DECL_SED])dnl 1185 1.1 christos if test set = "${lt_cv_aix_libpath+set}"; then 1186 1.1 christos aix_libpath=$lt_cv_aix_libpath 1187 1.1 christos else 1188 1.1 christos AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], 1189 1.1 christos [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ 1190 1.1 christos lt_aix_libpath_sed='[ 1191 1.1 christos /Import File Strings/,/^$/ { 1192 1.1 christos /^0/ { 1193 1.1 christos s/^0 *\([^ ]*\) *$/\1/ 1194 1.1 christos p 1195 1.1 christos } 1196 1.1 christos }]' 1197 1.1 christos _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1198 1.1 christos # Check for a 64-bit object if we didn't find anything. 1199 1.1 christos if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 1200 1.1 christos _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1201 1.1 christos fi],[]) 1202 1.1 christos if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then 1203 1.1 christos _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib 1204 1.1 christos fi 1205 1.1 christos ]) 1206 1.1 christos aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) 1207 1.1 christos fi 1208 1.1 christos ])# _LT_SYS_MODULE_PATH_AIX 1209 1.1 christos 1210 1.1 christos 1211 1.1 christos # _LT_SHELL_INIT(ARG) 1212 1.1 christos # ------------------- 1213 1.1 christos m4_define([_LT_SHELL_INIT], 1214 1.1 christos [m4_divert_text([M4SH-INIT], [$1 1215 1.1 christos ])])# _LT_SHELL_INIT 1216 1.1 christos 1217 1.1 christos 1218 1.1 christos 1219 1.1 christos # _LT_PROG_ECHO_BACKSLASH 1220 1.1 christos # ----------------------- 1221 1.1 christos # Find how we can fake an echo command that does not interpret backslash. 1222 1.1 christos # In particular, with Autoconf 2.60 or later we add some code to the start 1223 1.1 christos # of the generated configure script that will find a shell with a builtin 1224 1.1 christos # printf (that we can use as an echo command). 1225 1.1 christos m4_defun([_LT_PROG_ECHO_BACKSLASH], 1226 1.1 christos [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 1227 1.1 christos ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 1228 1.1 christos ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 1229 1.1 christos 1230 1.1 christos AC_MSG_CHECKING([how to print strings]) 1231 1.1 christos # Test print first, because it will be a builtin if present. 1232 1.1 christos if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ 1233 1.1 christos test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 1234 1.1 christos ECHO='print -r --' 1235 1.1 christos elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 1236 1.1 christos ECHO='printf %s\n' 1237 1.1 christos else 1238 1.1 christos # Use this function as a fallback that always works. 1239 1.1 christos func_fallback_echo () 1240 1.1 christos { 1241 1.1 christos eval 'cat <<_LTECHO_EOF 1242 1.1 christos $[]1 1243 1.1 christos _LTECHO_EOF' 1244 1.1 christos } 1245 1.1 christos ECHO='func_fallback_echo' 1246 1.1 christos fi 1247 1.1 christos 1248 1.1 christos # func_echo_all arg... 1249 1.1 christos # Invoke $ECHO with all args, space-separated. 1250 1.1 christos func_echo_all () 1251 1.1 christos { 1252 1.1 christos $ECHO "$*" 1253 1.1 christos } 1254 1.1 christos 1255 1.1 christos case $ECHO in 1256 1.1 christos printf*) AC_MSG_RESULT([printf]) ;; 1257 1.1 christos print*) AC_MSG_RESULT([print -r]) ;; 1258 1.1 christos *) AC_MSG_RESULT([cat]) ;; 1259 1.1 christos esac 1260 1.1 christos 1261 1.1 christos m4_ifdef([_AS_DETECT_SUGGESTED], 1262 1.1 christos [_AS_DETECT_SUGGESTED([ 1263 1.1 christos test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( 1264 1.1 christos ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 1265 1.1 christos ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 1266 1.1 christos ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 1267 1.1 christos PATH=/empty FPATH=/empty; export PATH FPATH 1268 1.1 christos test "X`printf %s $ECHO`" = "X$ECHO" \ 1269 1.1 christos || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) 1270 1.1 christos 1271 1.1 christos _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 1272 1.1 christos _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) 1273 1.1 christos ])# _LT_PROG_ECHO_BACKSLASH 1274 1.1 christos 1275 1.1 christos 1276 1.1 christos # _LT_WITH_SYSROOT 1277 1.1 christos # ---------------- 1278 1.1 christos AC_DEFUN([_LT_WITH_SYSROOT], 1279 1.1.1.4 christos [m4_require([_LT_DECL_SED])dnl 1280 1.1.1.4 christos AC_MSG_CHECKING([for sysroot]) 1281 1.1 christos AC_ARG_WITH([sysroot], 1282 1.1 christos [AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], 1283 1.1 christos [Search for dependent libraries within DIR (or the compiler's sysroot 1284 1.1 christos if not specified).])], 1285 1.1 christos [], [with_sysroot=no]) 1286 1.1 christos 1287 1.1 christos dnl lt_sysroot will always be passed unquoted. We quote it here 1288 1.1 christos dnl in case the user passed a directory name. 1289 1.1 christos lt_sysroot= 1290 1.1 christos case $with_sysroot in #( 1291 1.1 christos yes) 1292 1.1 christos if test yes = "$GCC"; then 1293 1.1.1.5 christos # Trim trailing / since we'll always append absolute paths and we want 1294 1.1.1.5 christos # to avoid //, if only for less confusing output for the user. 1295 1.1.1.5 christos lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'` 1296 1.1 christos fi 1297 1.1 christos ;; #( 1298 1.1 christos /*) 1299 1.1.1.4 christos lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"` 1300 1.1 christos ;; #( 1301 1.1 christos no|'') 1302 1.1 christos ;; #( 1303 1.1 christos *) 1304 1.1 christos AC_MSG_RESULT([$with_sysroot]) 1305 1.1 christos AC_MSG_ERROR([The sysroot must be an absolute path.]) 1306 1.1 christos ;; 1307 1.1 christos esac 1308 1.1 christos 1309 1.1 christos AC_MSG_RESULT([${lt_sysroot:-no}]) 1310 1.1 christos _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl 1311 1.1 christos [dependent libraries, and where our libraries should be installed.])]) 1312 1.1 christos 1313 1.1 christos # _LT_ENABLE_LOCK 1314 1.1 christos # --------------- 1315 1.1 christos m4_defun([_LT_ENABLE_LOCK], 1316 1.1 christos [AC_ARG_ENABLE([libtool-lock], 1317 1.1 christos [AS_HELP_STRING([--disable-libtool-lock], 1318 1.1 christos [avoid locking (might break parallel builds)])]) 1319 1.1 christos test no = "$enable_libtool_lock" || enable_libtool_lock=yes 1320 1.1 christos 1321 1.1 christos # Some flags need to be propagated to the compiler or linker for good 1322 1.1 christos # libtool support. 1323 1.1 christos case $host in 1324 1.1 christos ia64-*-hpux*) 1325 1.1 christos # Find out what ABI is being produced by ac_compile, and set mode 1326 1.1 christos # options accordingly. 1327 1.1 christos echo 'int i;' > conftest.$ac_ext 1328 1.1 christos if AC_TRY_EVAL(ac_compile); then 1329 1.1.1.4 christos case `$FILECMD conftest.$ac_objext` in 1330 1.1 christos *ELF-32*) 1331 1.1 christos HPUX_IA64_MODE=32 1332 1.1 christos ;; 1333 1.1 christos *ELF-64*) 1334 1.1 christos HPUX_IA64_MODE=64 1335 1.1 christos ;; 1336 1.1 christos esac 1337 1.1 christos fi 1338 1.1 christos rm -rf conftest* 1339 1.1 christos ;; 1340 1.1 christos *-*-irix6*) 1341 1.1 christos # Find out what ABI is being produced by ac_compile, and set linker 1342 1.1 christos # options accordingly. 1343 1.1 christos echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 1344 1.1 christos if AC_TRY_EVAL(ac_compile); then 1345 1.1 christos if test yes = "$lt_cv_prog_gnu_ld"; then 1346 1.1.1.4 christos case `$FILECMD conftest.$ac_objext` in 1347 1.1 christos *32-bit*) 1348 1.1 christos LD="${LD-ld} -melf32bsmip" 1349 1.1 christos ;; 1350 1.1 christos *N32*) 1351 1.1 christos LD="${LD-ld} -melf32bmipn32" 1352 1.1 christos ;; 1353 1.1 christos *64-bit*) 1354 1.1 christos LD="${LD-ld} -melf64bmip" 1355 1.1 christos ;; 1356 1.1 christos esac 1357 1.1 christos else 1358 1.1.1.4 christos case `$FILECMD conftest.$ac_objext` in 1359 1.1 christos *32-bit*) 1360 1.1 christos LD="${LD-ld} -32" 1361 1.1 christos ;; 1362 1.1 christos *N32*) 1363 1.1 christos LD="${LD-ld} -n32" 1364 1.1 christos ;; 1365 1.1 christos *64-bit*) 1366 1.1 christos LD="${LD-ld} -64" 1367 1.1 christos ;; 1368 1.1 christos esac 1369 1.1 christos fi 1370 1.1 christos fi 1371 1.1 christos rm -rf conftest* 1372 1.1 christos ;; 1373 1.1 christos 1374 1.1 christos mips64*-*linux*) 1375 1.1 christos # Find out what ABI is being produced by ac_compile, and set linker 1376 1.1 christos # options accordingly. 1377 1.1 christos echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 1378 1.1 christos if AC_TRY_EVAL(ac_compile); then 1379 1.1 christos emul=elf 1380 1.1.1.4 christos case `$FILECMD conftest.$ac_objext` in 1381 1.1 christos *32-bit*) 1382 1.1 christos emul="${emul}32" 1383 1.1 christos ;; 1384 1.1 christos *64-bit*) 1385 1.1 christos emul="${emul}64" 1386 1.1 christos ;; 1387 1.1 christos esac 1388 1.1.1.4 christos case `$FILECMD conftest.$ac_objext` in 1389 1.1 christos *MSB*) 1390 1.1 christos emul="${emul}btsmip" 1391 1.1 christos ;; 1392 1.1 christos *LSB*) 1393 1.1 christos emul="${emul}ltsmip" 1394 1.1 christos ;; 1395 1.1 christos esac 1396 1.1.1.4 christos case `$FILECMD conftest.$ac_objext` in 1397 1.1 christos *N32*) 1398 1.1 christos emul="${emul}n32" 1399 1.1 christos ;; 1400 1.1 christos esac 1401 1.1 christos LD="${LD-ld} -m $emul" 1402 1.1 christos fi 1403 1.1 christos rm -rf conftest* 1404 1.1 christos ;; 1405 1.1 christos 1406 1.1 christos x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ 1407 1.1.1.5 christos s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*) 1408 1.1 christos # Find out what ABI is being produced by ac_compile, and set linker 1409 1.1 christos # options accordingly. Note that the listed cases only cover the 1410 1.1 christos # situations where additional linker options are needed (such as when 1411 1.1 christos # doing 32-bit compilation for a host where ld defaults to 64-bit, or 1412 1.1 christos # vice versa); the common cases where no linker options are needed do 1413 1.1 christos # not appear in the list. 1414 1.1 christos echo 'int i;' > conftest.$ac_ext 1415 1.1 christos if AC_TRY_EVAL(ac_compile); then 1416 1.1.1.4 christos case `$FILECMD conftest.o` in 1417 1.1 christos *32-bit*) 1418 1.1 christos case $host in 1419 1.1 christos x86_64-*kfreebsd*-gnu) 1420 1.1 christos LD="${LD-ld} -m elf_i386_fbsd" 1421 1.1 christos ;; 1422 1.1.1.5 christos x86_64-*linux*|x86_64-gnu*) 1423 1.1.1.4 christos case `$FILECMD conftest.o` in 1424 1.1 christos *x86-64*) 1425 1.1 christos LD="${LD-ld} -m elf32_x86_64" 1426 1.1 christos ;; 1427 1.1 christos *) 1428 1.1 christos LD="${LD-ld} -m elf_i386" 1429 1.1 christos ;; 1430 1.1 christos esac 1431 1.1 christos ;; 1432 1.1 christos powerpc64le-*linux*) 1433 1.1 christos LD="${LD-ld} -m elf32lppclinux" 1434 1.1 christos ;; 1435 1.1 christos powerpc64-*linux*) 1436 1.1 christos LD="${LD-ld} -m elf32ppclinux" 1437 1.1 christos ;; 1438 1.1 christos s390x-*linux*) 1439 1.1 christos LD="${LD-ld} -m elf_s390" 1440 1.1 christos ;; 1441 1.1 christos sparc64-*linux*) 1442 1.1 christos LD="${LD-ld} -m elf32_sparc" 1443 1.1 christos ;; 1444 1.1 christos esac 1445 1.1 christos ;; 1446 1.1 christos *64-bit*) 1447 1.1 christos case $host in 1448 1.1 christos x86_64-*kfreebsd*-gnu) 1449 1.1 christos LD="${LD-ld} -m elf_x86_64_fbsd" 1450 1.1 christos ;; 1451 1.1.1.5 christos x86_64-*linux*|x86_64-gnu*) 1452 1.1 christos LD="${LD-ld} -m elf_x86_64" 1453 1.1 christos ;; 1454 1.1 christos powerpcle-*linux*) 1455 1.1 christos LD="${LD-ld} -m elf64lppc" 1456 1.1 christos ;; 1457 1.1 christos powerpc-*linux*) 1458 1.1 christos LD="${LD-ld} -m elf64ppc" 1459 1.1 christos ;; 1460 1.1 christos s390*-*linux*|s390*-*tpf*) 1461 1.1 christos LD="${LD-ld} -m elf64_s390" 1462 1.1 christos ;; 1463 1.1 christos sparc*-*linux*) 1464 1.1 christos LD="${LD-ld} -m elf64_sparc" 1465 1.1 christos ;; 1466 1.1 christos esac 1467 1.1 christos ;; 1468 1.1 christos esac 1469 1.1 christos fi 1470 1.1 christos rm -rf conftest* 1471 1.1 christos ;; 1472 1.1 christos 1473 1.1 christos *-*-sco3.2v5*) 1474 1.1 christos # On SCO OpenServer 5, we need -belf to get full-featured binaries. 1475 1.1 christos SAVE_CFLAGS=$CFLAGS 1476 1.1 christos CFLAGS="$CFLAGS -belf" 1477 1.1 christos AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 1478 1.1 christos [AC_LANG_PUSH(C) 1479 1.1 christos AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 1480 1.1 christos AC_LANG_POP]) 1481 1.1 christos if test yes != "$lt_cv_cc_needs_belf"; then 1482 1.1 christos # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 1483 1.1 christos CFLAGS=$SAVE_CFLAGS 1484 1.1 christos fi 1485 1.1 christos ;; 1486 1.1 christos *-*solaris*) 1487 1.1 christos # Find out what ABI is being produced by ac_compile, and set linker 1488 1.1 christos # options accordingly. 1489 1.1 christos echo 'int i;' > conftest.$ac_ext 1490 1.1 christos if AC_TRY_EVAL(ac_compile); then 1491 1.1.1.4 christos case `$FILECMD conftest.o` in 1492 1.1 christos *64-bit*) 1493 1.1 christos case $lt_cv_prog_gnu_ld in 1494 1.1 christos yes*) 1495 1.1 christos case $host in 1496 1.1 christos i?86-*-solaris*|x86_64-*-solaris*) 1497 1.1 christos LD="${LD-ld} -m elf_x86_64" 1498 1.1 christos ;; 1499 1.1 christos sparc*-*-solaris*) 1500 1.1 christos LD="${LD-ld} -m elf64_sparc" 1501 1.1 christos ;; 1502 1.1 christos esac 1503 1.1 christos # GNU ld 2.21 introduced _sol2 emulations. Use them if available. 1504 1.1 christos if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then 1505 1.1 christos LD=${LD-ld}_sol2 1506 1.1 christos fi 1507 1.1 christos ;; 1508 1.1 christos *) 1509 1.1 christos if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 1510 1.1 christos LD="${LD-ld} -64" 1511 1.1 christos fi 1512 1.1 christos ;; 1513 1.1 christos esac 1514 1.1 christos ;; 1515 1.1 christos esac 1516 1.1 christos fi 1517 1.1 christos rm -rf conftest* 1518 1.1 christos ;; 1519 1.1 christos esac 1520 1.1 christos 1521 1.1 christos need_locks=$enable_libtool_lock 1522 1.1 christos ])# _LT_ENABLE_LOCK 1523 1.1 christos 1524 1.1 christos 1525 1.1 christos # _LT_PROG_AR 1526 1.1 christos # ----------- 1527 1.1 christos m4_defun([_LT_PROG_AR], 1528 1.1 christos [AC_CHECK_TOOLS(AR, [ar], false) 1529 1.1 christos : ${AR=ar} 1530 1.1 christos _LT_DECL([], [AR], [1], [The archiver]) 1531 1.1.1.4 christos 1532 1.1.1.4 christos # Use ARFLAGS variable as AR's operation code to sync the variable naming with 1533 1.1.1.4 christos # Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have 1534 1.1.1.5 christos # higher priority because that's what people were doing historically (setting 1535 1.1.1.4 christos # ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS 1536 1.1.1.4 christos # variable obsoleted/removed. 1537 1.1.1.4 christos 1538 1.1.1.4 christos test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr} 1539 1.1.1.4 christos lt_ar_flags=$AR_FLAGS 1540 1.1.1.4 christos _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)]) 1541 1.1.1.4 christos 1542 1.1.1.4 christos # Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override 1543 1.1.1.4 christos # by AR_FLAGS because that was never working and AR_FLAGS is about to die. 1544 1.1.1.4 christos _LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}], 1545 1.1.1.4 christos [Flags to create an archive]) 1546 1.1 christos 1547 1.1 christos AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], 1548 1.1 christos [lt_cv_ar_at_file=no 1549 1.1 christos AC_COMPILE_IFELSE([AC_LANG_PROGRAM], 1550 1.1 christos [echo conftest.$ac_objext > conftest.lst 1551 1.1 christos lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' 1552 1.1 christos AC_TRY_EVAL([lt_ar_try]) 1553 1.1 christos if test 0 -eq "$ac_status"; then 1554 1.1 christos # Ensure the archiver fails upon bogus file names. 1555 1.1 christos rm -f conftest.$ac_objext libconftest.a 1556 1.1 christos AC_TRY_EVAL([lt_ar_try]) 1557 1.1 christos if test 0 -ne "$ac_status"; then 1558 1.1 christos lt_cv_ar_at_file=@ 1559 1.1 christos fi 1560 1.1 christos fi 1561 1.1 christos rm -f conftest.* libconftest.a 1562 1.1 christos ]) 1563 1.1 christos ]) 1564 1.1 christos 1565 1.1 christos if test no = "$lt_cv_ar_at_file"; then 1566 1.1 christos archiver_list_spec= 1567 1.1 christos else 1568 1.1 christos archiver_list_spec=$lt_cv_ar_at_file 1569 1.1 christos fi 1570 1.1 christos _LT_DECL([], [archiver_list_spec], [1], 1571 1.1 christos [How to feed a file listing to the archiver]) 1572 1.1 christos ])# _LT_PROG_AR 1573 1.1 christos 1574 1.1 christos 1575 1.1 christos # _LT_CMD_OLD_ARCHIVE 1576 1.1 christos # ------------------- 1577 1.1 christos m4_defun([_LT_CMD_OLD_ARCHIVE], 1578 1.1 christos [_LT_PROG_AR 1579 1.1 christos 1580 1.1 christos AC_CHECK_TOOL(STRIP, strip, :) 1581 1.1 christos test -z "$STRIP" && STRIP=: 1582 1.1 christos _LT_DECL([], [STRIP], [1], [A symbol stripping program]) 1583 1.1 christos 1584 1.1.1.5 christos AC_REQUIRE([AC_PROG_RANLIB]) 1585 1.1 christos test -z "$RANLIB" && RANLIB=: 1586 1.1 christos _LT_DECL([], [RANLIB], [1], 1587 1.1 christos [Commands used to install an old-style archive]) 1588 1.1 christos 1589 1.1 christos # Determine commands to create old-style static archives. 1590 1.1 christos old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 1591 1.1 christos old_postinstall_cmds='chmod 644 $oldlib' 1592 1.1 christos old_postuninstall_cmds= 1593 1.1 christos 1594 1.1 christos if test -n "$RANLIB"; then 1595 1.1 christos old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" 1596 1.1.1.5 christos old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" 1597 1.1 christos fi 1598 1.1 christos 1599 1.1 christos case $host_os in 1600 1.1 christos darwin*) 1601 1.1 christos lock_old_archive_extraction=yes ;; 1602 1.1 christos *) 1603 1.1 christos lock_old_archive_extraction=no ;; 1604 1.1 christos esac 1605 1.1 christos _LT_DECL([], [old_postinstall_cmds], [2]) 1606 1.1 christos _LT_DECL([], [old_postuninstall_cmds], [2]) 1607 1.1 christos _LT_TAGDECL([], [old_archive_cmds], [2], 1608 1.1 christos [Commands used to build an old-style archive]) 1609 1.1 christos _LT_DECL([], [lock_old_archive_extraction], [0], 1610 1.1 christos [Whether to use a lock for old archive extraction]) 1611 1.1 christos ])# _LT_CMD_OLD_ARCHIVE 1612 1.1 christos 1613 1.1 christos 1614 1.1 christos # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1615 1.1 christos # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 1616 1.1 christos # ---------------------------------------------------------------- 1617 1.1 christos # Check whether the given compiler option works 1618 1.1 christos AC_DEFUN([_LT_COMPILER_OPTION], 1619 1.1 christos [m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1620 1.1 christos m4_require([_LT_DECL_SED])dnl 1621 1.1 christos AC_CACHE_CHECK([$1], [$2], 1622 1.1 christos [$2=no 1623 1.1 christos m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 1624 1.1 christos echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1625 1.1 christos lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment 1626 1.1 christos # Insert the option either (1) after the last *FLAGS variable, or 1627 1.1 christos # (2) before a word containing "conftest.", or (3) at the end. 1628 1.1 christos # Note that $ac_compile itself does not contain backslashes and begins 1629 1.1 christos # with a dollar sign (not a hyphen), so the echo should work correctly. 1630 1.1 christos # The option is referenced via a variable to avoid confusing sed. 1631 1.1 christos lt_compile=`echo "$ac_compile" | $SED \ 1632 1.1 christos -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1633 1.1 christos -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1634 1.1 christos -e 's:$: $lt_compiler_flag:'` 1635 1.1 christos (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1636 1.1 christos (eval "$lt_compile" 2>conftest.err) 1637 1.1 christos ac_status=$? 1638 1.1 christos cat conftest.err >&AS_MESSAGE_LOG_FD 1639 1.1 christos echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1640 1.1 christos if (exit $ac_status) && test -s "$ac_outfile"; then 1641 1.1 christos # The compiler can only warn and ignore the option if not recognized 1642 1.1 christos # So say no if there are warnings other than the usual output. 1643 1.1 christos $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 1644 1.1 christos $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1645 1.1 christos if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 1646 1.1 christos $2=yes 1647 1.1 christos fi 1648 1.1 christos fi 1649 1.1 christos $RM conftest* 1650 1.1 christos ]) 1651 1.1 christos 1652 1.1 christos if test yes = "[$]$2"; then 1653 1.1 christos m4_if([$5], , :, [$5]) 1654 1.1 christos else 1655 1.1 christos m4_if([$6], , :, [$6]) 1656 1.1 christos fi 1657 1.1 christos ])# _LT_COMPILER_OPTION 1658 1.1 christos 1659 1.1 christos # Old name: 1660 1.1 christos AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 1661 1.1 christos dnl aclocal-1.4 backwards compatibility: 1662 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 1663 1.1 christos 1664 1.1 christos 1665 1.1 christos # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1666 1.1 christos # [ACTION-SUCCESS], [ACTION-FAILURE]) 1667 1.1 christos # ---------------------------------------------------- 1668 1.1 christos # Check whether the given linker option works 1669 1.1 christos AC_DEFUN([_LT_LINKER_OPTION], 1670 1.1 christos [m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1671 1.1 christos m4_require([_LT_DECL_SED])dnl 1672 1.1 christos AC_CACHE_CHECK([$1], [$2], 1673 1.1 christos [$2=no 1674 1.1 christos save_LDFLAGS=$LDFLAGS 1675 1.1 christos LDFLAGS="$LDFLAGS $3" 1676 1.1 christos echo "$lt_simple_link_test_code" > conftest.$ac_ext 1677 1.1 christos if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 1678 1.1 christos # The linker can only warn and ignore the option if not recognized 1679 1.1 christos # So say no if there are warnings 1680 1.1 christos if test -s conftest.err; then 1681 1.1 christos # Append any errors to the config.log. 1682 1.1 christos cat conftest.err 1>&AS_MESSAGE_LOG_FD 1683 1.1 christos $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 1684 1.1 christos $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1685 1.1 christos if diff conftest.exp conftest.er2 >/dev/null; then 1686 1.1 christos $2=yes 1687 1.1 christos fi 1688 1.1 christos else 1689 1.1 christos $2=yes 1690 1.1 christos fi 1691 1.1 christos fi 1692 1.1 christos $RM -r conftest* 1693 1.1 christos LDFLAGS=$save_LDFLAGS 1694 1.1 christos ]) 1695 1.1 christos 1696 1.1 christos if test yes = "[$]$2"; then 1697 1.1 christos m4_if([$4], , :, [$4]) 1698 1.1 christos else 1699 1.1 christos m4_if([$5], , :, [$5]) 1700 1.1 christos fi 1701 1.1 christos ])# _LT_LINKER_OPTION 1702 1.1 christos 1703 1.1 christos # Old name: 1704 1.1 christos AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 1705 1.1 christos dnl aclocal-1.4 backwards compatibility: 1706 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 1707 1.1 christos 1708 1.1 christos 1709 1.1 christos # LT_CMD_MAX_LEN 1710 1.1 christos #--------------- 1711 1.1 christos AC_DEFUN([LT_CMD_MAX_LEN], 1712 1.1 christos [AC_REQUIRE([AC_CANONICAL_HOST])dnl 1713 1.1 christos # find the maximum length of command line arguments 1714 1.1 christos AC_MSG_CHECKING([the maximum length of command line arguments]) 1715 1.1 christos AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 1716 1.1 christos i=0 1717 1.1 christos teststring=ABCD 1718 1.1 christos 1719 1.1 christos case $build_os in 1720 1.1 christos msdosdjgpp*) 1721 1.1 christos # On DJGPP, this test can blow up pretty badly due to problems in libc 1722 1.1 christos # (any single argument exceeding 2000 bytes causes a buffer overrun 1723 1.1 christos # during glob expansion). Even if it were fixed, the result of this 1724 1.1 christos # check would be larger than it should be. 1725 1.1 christos lt_cv_sys_max_cmd_len=12288; # 12K is about right 1726 1.1 christos ;; 1727 1.1 christos 1728 1.1.1.5 christos gnu* | ironclad*) 1729 1.1.1.5 christos # Under GNU Hurd and Ironclad, this test is not required because there 1730 1.1.1.5 christos # is no limit to the length of command line arguments. 1731 1.1 christos # Libtool will interpret -1 as no limit whatsoever 1732 1.1 christos lt_cv_sys_max_cmd_len=-1; 1733 1.1 christos ;; 1734 1.1 christos 1735 1.1.1.5 christos cygwin* | mingw* | windows* | cegcc*) 1736 1.1 christos # On Win9x/ME, this test blows up -- it succeeds, but takes 1737 1.1 christos # about 5 minutes as the teststring grows exponentially. 1738 1.1 christos # Worse, since 9x/ME are not pre-emptively multitasking, 1739 1.1 christos # you end up with a "frozen" computer, even though with patience 1740 1.1 christos # the test eventually succeeds (with a max line length of 256k). 1741 1.1 christos # Instead, let's just punt: use the minimum linelength reported by 1742 1.1 christos # all of the supported platforms: 8192 (on NT/2K/XP). 1743 1.1 christos lt_cv_sys_max_cmd_len=8192; 1744 1.1 christos ;; 1745 1.1 christos 1746 1.1 christos mint*) 1747 1.1 christos # On MiNT this can take a long time and run out of memory. 1748 1.1 christos lt_cv_sys_max_cmd_len=8192; 1749 1.1 christos ;; 1750 1.1 christos 1751 1.1 christos amigaos*) 1752 1.1 christos # On AmigaOS with pdksh, this test takes hours, literally. 1753 1.1 christos # So we just punt and use a minimum line length of 8192. 1754 1.1 christos lt_cv_sys_max_cmd_len=8192; 1755 1.1 christos ;; 1756 1.1 christos 1757 1.1.1.5 christos darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*) 1758 1.1 christos # This has been around since 386BSD, at least. Likely further. 1759 1.1 christos if test -x /sbin/sysctl; then 1760 1.1 christos lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 1761 1.1 christos elif test -x /usr/sbin/sysctl; then 1762 1.1 christos lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 1763 1.1 christos else 1764 1.1 christos lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 1765 1.1 christos fi 1766 1.1 christos # And add a safety zone 1767 1.1 christos lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1768 1.1 christos lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1769 1.1 christos ;; 1770 1.1 christos 1771 1.1 christos interix*) 1772 1.1 christos # We know the value 262144 and hardcode it with a safety zone (like BSD) 1773 1.1 christos lt_cv_sys_max_cmd_len=196608 1774 1.1 christos ;; 1775 1.1 christos 1776 1.1 christos os2*) 1777 1.1 christos # The test takes a long time on OS/2. 1778 1.1 christos lt_cv_sys_max_cmd_len=8192 1779 1.1 christos ;; 1780 1.1 christos 1781 1.1 christos osf*) 1782 1.1 christos # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 1783 1.1 christos # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 1784 1.1 christos # nice to cause kernel panics so lets avoid the loop below. 1785 1.1 christos # First set a reasonable default. 1786 1.1 christos lt_cv_sys_max_cmd_len=16384 1787 1.1 christos # 1788 1.1 christos if test -x /sbin/sysconfig; then 1789 1.1 christos case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 1790 1.1 christos *1*) lt_cv_sys_max_cmd_len=-1 ;; 1791 1.1 christos esac 1792 1.1 christos fi 1793 1.1 christos ;; 1794 1.1 christos sco3.2v5*) 1795 1.1 christos lt_cv_sys_max_cmd_len=102400 1796 1.1 christos ;; 1797 1.1 christos sysv5* | sco5v6* | sysv4.2uw2*) 1798 1.1 christos kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 1799 1.1 christos if test -n "$kargmax"; then 1800 1.1.1.4 christos lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'` 1801 1.1 christos else 1802 1.1 christos lt_cv_sys_max_cmd_len=32768 1803 1.1 christos fi 1804 1.1 christos ;; 1805 1.1 christos *) 1806 1.1 christos lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 1807 1.1 christos if test -n "$lt_cv_sys_max_cmd_len" && \ 1808 1.1 christos test undefined != "$lt_cv_sys_max_cmd_len"; then 1809 1.1 christos lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1810 1.1 christos lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1811 1.1 christos else 1812 1.1 christos # Make teststring a little bigger before we do anything with it. 1813 1.1 christos # a 1K string should be a reasonable start. 1814 1.1 christos for i in 1 2 3 4 5 6 7 8; do 1815 1.1 christos teststring=$teststring$teststring 1816 1.1 christos done 1817 1.1 christos SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 1818 1.1 christos # If test is not a shell built-in, we'll probably end up computing a 1819 1.1 christos # maximum length that is only half of the actual maximum length, but 1820 1.1 christos # we can't tell. 1821 1.1 christos while { test X`env echo "$teststring$teststring" 2>/dev/null` \ 1822 1.1 christos = "X$teststring$teststring"; } >/dev/null 2>&1 && 1823 1.1 christos test 17 != "$i" # 1/2 MB should be enough 1824 1.1 christos do 1825 1.1 christos i=`expr $i + 1` 1826 1.1 christos teststring=$teststring$teststring 1827 1.1 christos done 1828 1.1 christos # Only check the string length outside the loop. 1829 1.1 christos lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 1830 1.1 christos teststring= 1831 1.1 christos # Add a significant safety factor because C++ compilers can tack on 1832 1.1 christos # massive amounts of additional arguments before passing them to the 1833 1.1 christos # linker. It appears as though 1/2 is a usable value. 1834 1.1 christos lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 1835 1.1 christos fi 1836 1.1 christos ;; 1837 1.1 christos esac 1838 1.1 christos ]) 1839 1.1 christos if test -n "$lt_cv_sys_max_cmd_len"; then 1840 1.1 christos AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 1841 1.1 christos else 1842 1.1 christos AC_MSG_RESULT(none) 1843 1.1 christos fi 1844 1.1 christos max_cmd_len=$lt_cv_sys_max_cmd_len 1845 1.1 christos _LT_DECL([], [max_cmd_len], [0], 1846 1.1 christos [What is the maximum length of a command?]) 1847 1.1 christos ])# LT_CMD_MAX_LEN 1848 1.1 christos 1849 1.1 christos # Old name: 1850 1.1 christos AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 1851 1.1 christos dnl aclocal-1.4 backwards compatibility: 1852 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 1853 1.1 christos 1854 1.1 christos 1855 1.1 christos # _LT_HEADER_DLFCN 1856 1.1 christos # ---------------- 1857 1.1 christos m4_defun([_LT_HEADER_DLFCN], 1858 1.1 christos [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 1859 1.1 christos ])# _LT_HEADER_DLFCN 1860 1.1 christos 1861 1.1 christos 1862 1.1 christos # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 1863 1.1 christos # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 1864 1.1 christos # ---------------------------------------------------------------- 1865 1.1 christos m4_defun([_LT_TRY_DLOPEN_SELF], 1866 1.1 christos [m4_require([_LT_HEADER_DLFCN])dnl 1867 1.1 christos if test yes = "$cross_compiling"; then : 1868 1.1 christos [$4] 1869 1.1 christos else 1870 1.1 christos lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 1871 1.1 christos lt_status=$lt_dlunknown 1872 1.1 christos cat > conftest.$ac_ext <<_LT_EOF 1873 1.1 christos [#line $LINENO "configure" 1874 1.1 christos #include "confdefs.h" 1875 1.1 christos 1876 1.1 christos #if HAVE_DLFCN_H 1877 1.1 christos #include <dlfcn.h> 1878 1.1 christos #endif 1879 1.1 christos 1880 1.1 christos #include <stdio.h> 1881 1.1 christos 1882 1.1 christos #ifdef RTLD_GLOBAL 1883 1.1 christos # define LT_DLGLOBAL RTLD_GLOBAL 1884 1.1 christos #else 1885 1.1 christos # ifdef DL_GLOBAL 1886 1.1 christos # define LT_DLGLOBAL DL_GLOBAL 1887 1.1 christos # else 1888 1.1 christos # define LT_DLGLOBAL 0 1889 1.1 christos # endif 1890 1.1 christos #endif 1891 1.1 christos 1892 1.1 christos /* We may have to define LT_DLLAZY_OR_NOW in the command line if we 1893 1.1 christos find out it does not work in some platform. */ 1894 1.1 christos #ifndef LT_DLLAZY_OR_NOW 1895 1.1 christos # ifdef RTLD_LAZY 1896 1.1 christos # define LT_DLLAZY_OR_NOW RTLD_LAZY 1897 1.1 christos # else 1898 1.1 christos # ifdef DL_LAZY 1899 1.1 christos # define LT_DLLAZY_OR_NOW DL_LAZY 1900 1.1 christos # else 1901 1.1 christos # ifdef RTLD_NOW 1902 1.1 christos # define LT_DLLAZY_OR_NOW RTLD_NOW 1903 1.1 christos # else 1904 1.1 christos # ifdef DL_NOW 1905 1.1 christos # define LT_DLLAZY_OR_NOW DL_NOW 1906 1.1 christos # else 1907 1.1 christos # define LT_DLLAZY_OR_NOW 0 1908 1.1 christos # endif 1909 1.1 christos # endif 1910 1.1 christos # endif 1911 1.1 christos # endif 1912 1.1 christos #endif 1913 1.1 christos 1914 1.1 christos /* When -fvisibility=hidden is used, assume the code has been annotated 1915 1.1 christos correspondingly for the symbols needed. */ 1916 1.1 christos #if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 1917 1.1.1.5 christos int fnord (void) __attribute__((visibility("default"))); 1918 1.1 christos #endif 1919 1.1 christos 1920 1.1.1.5 christos int fnord (void) { return 42; } 1921 1.1.1.5 christos int main (void) 1922 1.1 christos { 1923 1.1 christos void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 1924 1.1 christos int status = $lt_dlunknown; 1925 1.1 christos 1926 1.1 christos if (self) 1927 1.1 christos { 1928 1.1 christos if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 1929 1.1 christos else 1930 1.1 christos { 1931 1.1 christos if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 1932 1.1 christos else puts (dlerror ()); 1933 1.1 christos } 1934 1.1 christos /* dlclose (self); */ 1935 1.1 christos } 1936 1.1 christos else 1937 1.1 christos puts (dlerror ()); 1938 1.1 christos 1939 1.1 christos return status; 1940 1.1 christos }] 1941 1.1 christos _LT_EOF 1942 1.1 christos if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then 1943 1.1 christos (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 1944 1.1 christos lt_status=$? 1945 1.1 christos case x$lt_status in 1946 1.1 christos x$lt_dlno_uscore) $1 ;; 1947 1.1 christos x$lt_dlneed_uscore) $2 ;; 1948 1.1 christos x$lt_dlunknown|x*) $3 ;; 1949 1.1 christos esac 1950 1.1 christos else : 1951 1.1 christos # compilation failed 1952 1.1 christos $3 1953 1.1 christos fi 1954 1.1 christos fi 1955 1.1 christos rm -fr conftest* 1956 1.1 christos ])# _LT_TRY_DLOPEN_SELF 1957 1.1 christos 1958 1.1 christos 1959 1.1 christos # LT_SYS_DLOPEN_SELF 1960 1.1 christos # ------------------ 1961 1.1 christos AC_DEFUN([LT_SYS_DLOPEN_SELF], 1962 1.1 christos [m4_require([_LT_HEADER_DLFCN])dnl 1963 1.1 christos if test yes != "$enable_dlopen"; then 1964 1.1 christos enable_dlopen=unknown 1965 1.1 christos enable_dlopen_self=unknown 1966 1.1 christos enable_dlopen_self_static=unknown 1967 1.1 christos else 1968 1.1 christos lt_cv_dlopen=no 1969 1.1 christos lt_cv_dlopen_libs= 1970 1.1 christos 1971 1.1 christos case $host_os in 1972 1.1 christos beos*) 1973 1.1 christos lt_cv_dlopen=load_add_on 1974 1.1 christos lt_cv_dlopen_libs= 1975 1.1 christos lt_cv_dlopen_self=yes 1976 1.1 christos ;; 1977 1.1 christos 1978 1.1.1.5 christos mingw* | windows* | pw32* | cegcc*) 1979 1.1 christos lt_cv_dlopen=LoadLibrary 1980 1.1 christos lt_cv_dlopen_libs= 1981 1.1 christos ;; 1982 1.1 christos 1983 1.1 christos cygwin*) 1984 1.1 christos lt_cv_dlopen=dlopen 1985 1.1 christos lt_cv_dlopen_libs= 1986 1.1 christos ;; 1987 1.1 christos 1988 1.1 christos darwin*) 1989 1.1 christos # if libdl is installed we need to link against it 1990 1.1 christos AC_CHECK_LIB([dl], [dlopen], 1991 1.1 christos [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ 1992 1.1 christos lt_cv_dlopen=dyld 1993 1.1 christos lt_cv_dlopen_libs= 1994 1.1 christos lt_cv_dlopen_self=yes 1995 1.1 christos ]) 1996 1.1 christos ;; 1997 1.1 christos 1998 1.1 christos tpf*) 1999 1.1 christos # Don't try to run any link tests for TPF. We know it's impossible 2000 1.1 christos # because TPF is a cross-compiler, and we know how we open DSOs. 2001 1.1 christos lt_cv_dlopen=dlopen 2002 1.1 christos lt_cv_dlopen_libs= 2003 1.1 christos lt_cv_dlopen_self=no 2004 1.1 christos ;; 2005 1.1 christos 2006 1.1 christos *) 2007 1.1 christos AC_CHECK_FUNC([shl_load], 2008 1.1 christos [lt_cv_dlopen=shl_load], 2009 1.1 christos [AC_CHECK_LIB([dld], [shl_load], 2010 1.1 christos [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], 2011 1.1 christos [AC_CHECK_FUNC([dlopen], 2012 1.1 christos [lt_cv_dlopen=dlopen], 2013 1.1 christos [AC_CHECK_LIB([dl], [dlopen], 2014 1.1 christos [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], 2015 1.1 christos [AC_CHECK_LIB([svld], [dlopen], 2016 1.1 christos [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], 2017 1.1 christos [AC_CHECK_LIB([dld], [dld_link], 2018 1.1 christos [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) 2019 1.1 christos ]) 2020 1.1 christos ]) 2021 1.1 christos ]) 2022 1.1 christos ]) 2023 1.1 christos ]) 2024 1.1 christos ;; 2025 1.1 christos esac 2026 1.1 christos 2027 1.1 christos if test no = "$lt_cv_dlopen"; then 2028 1.1 christos enable_dlopen=no 2029 1.1 christos else 2030 1.1 christos enable_dlopen=yes 2031 1.1 christos fi 2032 1.1 christos 2033 1.1 christos case $lt_cv_dlopen in 2034 1.1 christos dlopen) 2035 1.1 christos save_CPPFLAGS=$CPPFLAGS 2036 1.1 christos test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 2037 1.1 christos 2038 1.1 christos save_LDFLAGS=$LDFLAGS 2039 1.1 christos wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 2040 1.1 christos 2041 1.1 christos save_LIBS=$LIBS 2042 1.1 christos LIBS="$lt_cv_dlopen_libs $LIBS" 2043 1.1 christos 2044 1.1 christos AC_CACHE_CHECK([whether a program can dlopen itself], 2045 1.1 christos lt_cv_dlopen_self, [dnl 2046 1.1 christos _LT_TRY_DLOPEN_SELF( 2047 1.1 christos lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 2048 1.1 christos lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 2049 1.1 christos ]) 2050 1.1 christos 2051 1.1 christos if test yes = "$lt_cv_dlopen_self"; then 2052 1.1 christos wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 2053 1.1 christos AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 2054 1.1 christos lt_cv_dlopen_self_static, [dnl 2055 1.1 christos _LT_TRY_DLOPEN_SELF( 2056 1.1 christos lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 2057 1.1 christos lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 2058 1.1 christos ]) 2059 1.1 christos fi 2060 1.1 christos 2061 1.1 christos CPPFLAGS=$save_CPPFLAGS 2062 1.1 christos LDFLAGS=$save_LDFLAGS 2063 1.1 christos LIBS=$save_LIBS 2064 1.1 christos ;; 2065 1.1 christos esac 2066 1.1 christos 2067 1.1 christos case $lt_cv_dlopen_self in 2068 1.1 christos yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 2069 1.1 christos *) enable_dlopen_self=unknown ;; 2070 1.1 christos esac 2071 1.1 christos 2072 1.1 christos case $lt_cv_dlopen_self_static in 2073 1.1 christos yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 2074 1.1 christos *) enable_dlopen_self_static=unknown ;; 2075 1.1 christos esac 2076 1.1 christos fi 2077 1.1 christos _LT_DECL([dlopen_support], [enable_dlopen], [0], 2078 1.1 christos [Whether dlopen is supported]) 2079 1.1 christos _LT_DECL([dlopen_self], [enable_dlopen_self], [0], 2080 1.1 christos [Whether dlopen of programs is supported]) 2081 1.1 christos _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 2082 1.1 christos [Whether dlopen of statically linked programs is supported]) 2083 1.1 christos ])# LT_SYS_DLOPEN_SELF 2084 1.1 christos 2085 1.1 christos # Old name: 2086 1.1 christos AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 2087 1.1 christos dnl aclocal-1.4 backwards compatibility: 2088 1.1 christos dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 2089 1.1 christos 2090 1.1 christos 2091 1.1 christos # _LT_COMPILER_C_O([TAGNAME]) 2092 1.1 christos # --------------------------- 2093 1.1 christos # Check to see if options -c and -o are simultaneously supported by compiler. 2094 1.1 christos # This macro does not hard code the compiler like AC_PROG_CC_C_O. 2095 1.1 christos m4_defun([_LT_COMPILER_C_O], 2096 1.1 christos [m4_require([_LT_DECL_SED])dnl 2097 1.1 christos m4_require([_LT_FILEUTILS_DEFAULTS])dnl 2098 1.1 christos m4_require([_LT_TAG_COMPILER])dnl 2099 1.1 christos AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 2100 1.1 christos [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 2101 1.1 christos [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 2102 1.1 christos $RM -r conftest 2>/dev/null 2103 1.1 christos mkdir conftest 2104 1.1 christos cd conftest 2105 1.1 christos mkdir out 2106 1.1 christos echo "$lt_simple_compile_test_code" > conftest.$ac_ext 2107 1.1 christos 2108 1.1 christos lt_compiler_flag="-o out/conftest2.$ac_objext" 2109 1.1 christos # Insert the option either (1) after the last *FLAGS variable, or 2110 1.1 christos # (2) before a word containing "conftest.", or (3) at the end. 2111 1.1 christos # Note that $ac_compile itself does not contain backslashes and begins 2112 1.1 christos # with a dollar sign (not a hyphen), so the echo should work correctly. 2113 1.1 christos lt_compile=`echo "$ac_compile" | $SED \ 2114 1.1 christos -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 2115 1.1 christos -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 2116 1.1 christos -e 's:$: $lt_compiler_flag:'` 2117 1.1 christos (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 2118 1.1 christos (eval "$lt_compile" 2>out/conftest.err) 2119 1.1 christos ac_status=$? 2120 1.1 christos cat out/conftest.err >&AS_MESSAGE_LOG_FD 2121 1.1 christos echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 2122 1.1 christos if (exit $ac_status) && test -s out/conftest2.$ac_objext 2123 1.1 christos then 2124 1.1 christos # The compiler can only warn and ignore the option if not recognized 2125 1.1 christos # So say no if there are warnings 2126 1.1 christos $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 2127 1.1 christos $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 2128 1.1 christos if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 2129 1.1 christos _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 2130 1.1 christos fi 2131 1.1 christos fi 2132 1.1 christos chmod u+w . 2>&AS_MESSAGE_LOG_FD 2133 1.1 christos $RM conftest* 2134 1.1 christos # SGI C++ compiler will create directory out/ii_files/ for 2135 1.1 christos # template instantiation 2136 1.1 christos test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 2137 1.1 christos $RM out/* && rmdir out 2138 1.1 christos cd .. 2139 1.1 christos $RM -r conftest 2140 1.1 christos $RM conftest* 2141 1.1 christos ]) 2142 1.1 christos _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 2143 1.1 christos [Does compiler simultaneously support -c and -o options?]) 2144 1.1 christos ])# _LT_COMPILER_C_O 2145 1.1 christos 2146 1.1 christos 2147 1.1 christos # _LT_COMPILER_FILE_LOCKS([TAGNAME]) 2148 1.1 christos # ---------------------------------- 2149 1.1 christos # Check to see if we can do hard links to lock some files if needed 2150 1.1 christos m4_defun([_LT_COMPILER_FILE_LOCKS], 2151 1.1 christos [m4_require([_LT_ENABLE_LOCK])dnl 2152 1.1 christos m4_require([_LT_FILEUTILS_DEFAULTS])dnl 2153 1.1 christos _LT_COMPILER_C_O([$1]) 2154 1.1 christos 2155 1.1 christos hard_links=nottested 2156 1.1 christos if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then 2157 1.1 christos # do not overwrite the value of need_locks provided by the user 2158 1.1 christos AC_MSG_CHECKING([if we can lock with hard links]) 2159 1.1 christos hard_links=yes 2160 1.1 christos $RM conftest* 2161 1.1 christos ln conftest.a conftest.b 2>/dev/null && hard_links=no 2162 1.1 christos touch conftest.a 2163 1.1 christos ln conftest.a conftest.b 2>&5 || hard_links=no 2164 1.1 christos ln conftest.a conftest.b 2>/dev/null && hard_links=no 2165 1.1 christos AC_MSG_RESULT([$hard_links]) 2166 1.1 christos if test no = "$hard_links"; then 2167 1.1 christos AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) 2168 1.1 christos need_locks=warn 2169 1.1 christos fi 2170 1.1 christos else 2171 1.1 christos need_locks=no 2172 1.1 christos fi 2173 1.1 christos _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 2174 1.1 christos ])# _LT_COMPILER_FILE_LOCKS 2175 1.1 christos 2176 1.1 christos 2177 1.1 christos # _LT_CHECK_OBJDIR 2178 1.1 christos # ---------------- 2179 1.1 christos m4_defun([_LT_CHECK_OBJDIR], 2180 1.1 christos [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 2181 1.1 christos [rm -f .libs 2>/dev/null 2182 1.1 christos mkdir .libs 2>/dev/null 2183 1.1 christos if test -d .libs; then 2184 1.1 christos lt_cv_objdir=.libs 2185 1.1 christos else 2186 1.1 christos # MS-DOS does not allow filenames that begin with a dot. 2187 1.1 christos lt_cv_objdir=_libs 2188 1.1 christos fi 2189 1.1 christos rmdir .libs 2>/dev/null]) 2190 1.1 christos objdir=$lt_cv_objdir 2191 1.1 christos _LT_DECL([], [objdir], [0], 2192 1.1 christos [The name of the directory that contains temporary libtool files])dnl 2193 1.1 christos m4_pattern_allow([LT_OBJDIR])dnl 2194 1.1 christos AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", 2195 1.1 christos [Define to the sub-directory where libtool stores uninstalled libraries.]) 2196 1.1 christos ])# _LT_CHECK_OBJDIR 2197 1.1 christos 2198 1.1 christos 2199 1.1 christos # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 2200 1.1 christos # -------------------------------------- 2201 1.1 christos # Check hardcoding attributes. 2202 1.1 christos m4_defun([_LT_LINKER_HARDCODE_LIBPATH], 2203 1.1 christos [AC_MSG_CHECKING([how to hardcode library paths into programs]) 2204 1.1 christos _LT_TAGVAR(hardcode_action, $1)= 2205 1.1 christos if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 2206 1.1 christos test -n "$_LT_TAGVAR(runpath_var, $1)" || 2207 1.1 christos test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then 2208 1.1 christos 2209 1.1 christos # We can hardcode non-existent directories. 2210 1.1 christos if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && 2211 1.1 christos # If the only mechanism to avoid hardcoding is shlibpath_var, we 2212 1.1 christos # have to relink, otherwise we might link with an installed library 2213 1.1 christos # when we should be linking with a yet-to-be-installed one 2214 1.1 christos ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && 2215 1.1 christos test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then 2216 1.1 christos # Linking always hardcodes the temporary library directory. 2217 1.1 christos _LT_TAGVAR(hardcode_action, $1)=relink 2218 1.1 christos else 2219 1.1 christos # We can link without hardcoding, and we can hardcode nonexisting dirs. 2220 1.1 christos _LT_TAGVAR(hardcode_action, $1)=immediate 2221 1.1 christos fi 2222 1.1 christos else 2223 1.1 christos # We cannot hardcode anything, or else we can only hardcode existing 2224 1.1 christos # directories. 2225 1.1 christos _LT_TAGVAR(hardcode_action, $1)=unsupported 2226 1.1 christos fi 2227 1.1 christos AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 2228 1.1 christos 2229 1.1 christos if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || 2230 1.1 christos test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then 2231 1.1 christos # Fast installation is not supported 2232 1.1 christos enable_fast_install=no 2233 1.1 christos elif test yes = "$shlibpath_overrides_runpath" || 2234 1.1 christos test no = "$enable_shared"; then 2235 1.1 christos # Fast installation is not necessary 2236 1.1 christos enable_fast_install=needless 2237 1.1 christos fi 2238 1.1 christos _LT_TAGDECL([], [hardcode_action], [0], 2239 1.1 christos [How to hardcode a shared library path into an executable]) 2240 1.1 christos ])# _LT_LINKER_HARDCODE_LIBPATH 2241 1.1 christos 2242 1.1 christos 2243 1.1 christos # _LT_CMD_STRIPLIB 2244 1.1 christos # ---------------- 2245 1.1 christos m4_defun([_LT_CMD_STRIPLIB], 2246 1.1 christos [m4_require([_LT_DECL_EGREP]) 2247 1.1 christos striplib= 2248 1.1 christos old_striplib= 2249 1.1 christos AC_MSG_CHECKING([whether stripping libraries is possible]) 2250 1.1.1.4 christos if test -z "$STRIP"; then 2251 1.1.1.4 christos AC_MSG_RESULT([no]) 2252 1.1 christos else 2253 1.1.1.4 christos if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 2254 1.1.1.4 christos old_striplib="$STRIP --strip-debug" 2255 1.1.1.4 christos striplib="$STRIP --strip-unneeded" 2256 1.1.1.4 christos AC_MSG_RESULT([yes]) 2257 1.1.1.4 christos else 2258 1.1.1.4 christos case $host_os in 2259 1.1.1.4 christos darwin*) 2260 1.1.1.4 christos # FIXME - insert some real tests, host_os isn't really good enough 2261 1.1 christos striplib="$STRIP -x" 2262 1.1 christos old_striplib="$STRIP -S" 2263 1.1 christos AC_MSG_RESULT([yes]) 2264 1.1.1.4 christos ;; 2265 1.1.1.4 christos freebsd*) 2266 1.1.1.4 christos if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then 2267 1.1.1.4 christos old_striplib="$STRIP --strip-debug" 2268 1.1.1.4 christos striplib="$STRIP --strip-unneeded" 2269 1.1.1.4 christos AC_MSG_RESULT([yes]) 2270 1.1.1.4 christos else 2271 1.1.1.4 christos AC_MSG_RESULT([no]) 2272 1.1.1.4 christos fi 2273 1.1.1.4 christos ;; 2274 1.1.1.4 christos *) 2275 1.1 christos AC_MSG_RESULT([no]) 2276 1.1.1.4 christos ;; 2277 1.1.1.4 christos esac 2278 1.1.1.4 christos fi 2279 1.1 christos fi 2280 1.1 christos _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 2281 1.1 christos _LT_DECL([], [striplib], [1]) 2282 1.1 christos ])# _LT_CMD_STRIPLIB 2283 1.1 christos 2284 1.1 christos 2285 1.1 christos # _LT_PREPARE_MUNGE_PATH_LIST 2286 1.1 christos # --------------------------- 2287 1.1 christos # Make sure func_munge_path_list() is defined correctly. 2288 1.1 christos m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], 2289 1.1 christos [[# func_munge_path_list VARIABLE PATH 2290 1.1 christos # ----------------------------------- 2291 1.1 christos # VARIABLE is name of variable containing _space_ separated list of 2292 1.1 christos # directories to be munged by the contents of PATH, which is string 2293 1.1 christos # having a format: 2294 1.1 christos # "DIR[:DIR]:" 2295 1.1 christos # string "DIR[ DIR]" will be prepended to VARIABLE 2296 1.1 christos # ":DIR[:DIR]" 2297 1.1 christos # string "DIR[ DIR]" will be appended to VARIABLE 2298 1.1 christos # "DIRP[:DIRP]::[DIRA:]DIRA" 2299 1.1 christos # string "DIRP[ DIRP]" will be prepended to VARIABLE and string 2300 1.1 christos # "DIRA[ DIRA]" will be appended to VARIABLE 2301 1.1 christos # "DIR[:DIR]" 2302 1.1 christos # VARIABLE will be replaced by "DIR[ DIR]" 2303 1.1 christos func_munge_path_list () 2304 1.1 christos { 2305 1.1 christos case x@S|@2 in 2306 1.1 christos x) 2307 1.1 christos ;; 2308 1.1 christos *:) 2309 1.1 christos eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" 2310 1.1 christos ;; 2311 1.1 christos x:*) 2312 1.1 christos eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" 2313 1.1 christos ;; 2314 1.1 christos *::*) 2315 1.1 christos eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" 2316 1.1 christos eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" 2317 1.1 christos ;; 2318 1.1 christos *) 2319 1.1 christos eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" 2320 1.1 christos ;; 2321 1.1 christos esac 2322 1.1 christos } 2323 1.1 christos ]])# _LT_PREPARE_PATH_LIST 2324 1.1 christos 2325 1.1 christos 2326 1.1 christos # _LT_SYS_DYNAMIC_LINKER([TAG]) 2327 1.1 christos # ----------------------------- 2328 1.1 christos # PORTME Fill in your ld.so characteristics 2329 1.1 christos m4_defun([_LT_SYS_DYNAMIC_LINKER], 2330 1.1 christos [AC_REQUIRE([AC_CANONICAL_HOST])dnl 2331 1.1 christos m4_require([_LT_DECL_EGREP])dnl 2332 1.1 christos m4_require([_LT_FILEUTILS_DEFAULTS])dnl 2333 1.1 christos m4_require([_LT_DECL_OBJDUMP])dnl 2334 1.1 christos m4_require([_LT_DECL_SED])dnl 2335 1.1 christos m4_require([_LT_CHECK_SHELL_FEATURES])dnl 2336 1.1 christos m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl 2337 1.1 christos AC_MSG_CHECKING([dynamic linker characteristics]) 2338 1.1 christos m4_if([$1], 2339 1.1 christos [], [ 2340 1.1 christos if test yes = "$GCC"; then 2341 1.1 christos case $host_os in 2342 1.1 christos darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; 2343 1.1 christos *) lt_awk_arg='/^libraries:/' ;; 2344 1.1 christos esac 2345 1.1 christos case $host_os in 2346 1.1.1.5 christos mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; 2347 1.1 christos *) lt_sed_strip_eq='s|=/|/|g' ;; 2348 1.1 christos esac 2349 1.1 christos lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` 2350 1.1 christos case $lt_search_path_spec in 2351 1.1 christos *\;*) 2352 1.1 christos # if the path contains ";" then we assume it to be the separator 2353 1.1 christos # otherwise default to the standard path separator (i.e. ":") - it is 2354 1.1 christos # assumed that no part of a normal pathname contains ";" but that should 2355 1.1 christos # okay in the real world where ";" in dirpaths is itself problematic. 2356 1.1 christos lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` 2357 1.1 christos ;; 2358 1.1 christos *) 2359 1.1 christos lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` 2360 1.1 christos ;; 2361 1.1 christos esac 2362 1.1 christos # Ok, now we have the path, separated by spaces, we can step through it 2363 1.1 christos # and add multilib dir if necessary... 2364 1.1 christos lt_tmp_lt_search_path_spec= 2365 1.1 christos lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 2366 1.1 christos # ...but if some path component already ends with the multilib dir we assume 2367 1.1 christos # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). 2368 1.1 christos case "$lt_multi_os_dir; $lt_search_path_spec " in 2369 1.1 christos "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) 2370 1.1 christos lt_multi_os_dir= 2371 1.1 christos ;; 2372 1.1 christos esac 2373 1.1 christos for lt_sys_path in $lt_search_path_spec; do 2374 1.1 christos if test -d "$lt_sys_path$lt_multi_os_dir"; then 2375 1.1 christos lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" 2376 1.1 christos elif test -n "$lt_multi_os_dir"; then 2377 1.1 christos test -d "$lt_sys_path" && \ 2378 1.1 christos lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 2379 1.1 christos fi 2380 1.1 christos done 2381 1.1 christos lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' 2382 1.1 christos BEGIN {RS = " "; FS = "/|\n";} { 2383 1.1 christos lt_foo = ""; 2384 1.1 christos lt_count = 0; 2385 1.1 christos for (lt_i = NF; lt_i > 0; lt_i--) { 2386 1.1 christos if ($lt_i != "" && $lt_i != ".") { 2387 1.1 christos if ($lt_i == "..") { 2388 1.1 christos lt_count++; 2389 1.1 christos } else { 2390 1.1 christos if (lt_count == 0) { 2391 1.1 christos lt_foo = "/" $lt_i lt_foo; 2392 1.1 christos } else { 2393 1.1 christos lt_count--; 2394 1.1 christos } 2395 1.1 christos } 2396 1.1 christos } 2397 1.1 christos } 2398 1.1 christos if (lt_foo != "") { lt_freq[[lt_foo]]++; } 2399 1.1 christos if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 2400 1.1 christos }'` 2401 1.1 christos # AWK program above erroneously prepends '/' to C:/dos/paths 2402 1.1 christos # for these hosts. 2403 1.1 christos case $host_os in 2404 1.1.1.5 christos mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 2405 1.1 christos $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; 2406 1.1 christos esac 2407 1.1 christos sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 2408 1.1 christos else 2409 1.1 christos sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 2410 1.1 christos fi]) 2411 1.1 christos library_names_spec= 2412 1.1 christos libname_spec='lib$name' 2413 1.1 christos soname_spec= 2414 1.1 christos shrext_cmds=.so 2415 1.1 christos postinstall_cmds= 2416 1.1 christos postuninstall_cmds= 2417 1.1 christos finish_cmds= 2418 1.1 christos finish_eval= 2419 1.1 christos shlibpath_var= 2420 1.1 christos shlibpath_overrides_runpath=unknown 2421 1.1 christos version_type=none 2422 1.1 christos dynamic_linker="$host_os ld.so" 2423 1.1 christos sys_lib_dlsearch_path_spec="/lib /usr/lib" 2424 1.1 christos need_lib_prefix=unknown 2425 1.1 christos hardcode_into_libs=no 2426 1.1 christos 2427 1.1 christos # when you set need_version to no, make sure it does not cause -set_version 2428 1.1 christos # flags to be left without arguments 2429 1.1 christos need_version=unknown 2430 1.1 christos 2431 1.1 christos AC_ARG_VAR([LT_SYS_LIBRARY_PATH], 2432 1.1 christos [User-defined run-time library search path.]) 2433 1.1 christos 2434 1.1 christos case $host_os in 2435 1.1 christos aix3*) 2436 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 2437 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname.a' 2438 1.1 christos shlibpath_var=LIBPATH 2439 1.1 christos 2440 1.1 christos # AIX 3 has no versioning support, so we append a major version to the name. 2441 1.1 christos soname_spec='$libname$release$shared_ext$major' 2442 1.1 christos ;; 2443 1.1 christos 2444 1.1 christos aix[[4-9]]*) 2445 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 2446 1.1 christos need_lib_prefix=no 2447 1.1 christos need_version=no 2448 1.1 christos hardcode_into_libs=yes 2449 1.1 christos if test ia64 = "$host_cpu"; then 2450 1.1 christos # AIX 5 supports IA64 2451 1.1 christos library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' 2452 1.1 christos shlibpath_var=LD_LIBRARY_PATH 2453 1.1 christos else 2454 1.1 christos # With GCC up to 2.95.x, collect2 would create an import file 2455 1.1 christos # for dependence libraries. The import file would start with 2456 1.1 christos # the line '#! .'. This would cause the generated library to 2457 1.1 christos # depend on '.', always an invalid library. This was fixed in 2458 1.1 christos # development snapshots of GCC prior to 3.0. 2459 1.1 christos case $host_os in 2460 1.1 christos aix4 | aix4.[[01]] | aix4.[[01]].*) 2461 1.1 christos if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 2462 1.1 christos echo ' yes ' 2463 1.1 christos echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then 2464 1.1 christos : 2465 1.1 christos else 2466 1.1 christos can_build_shared=no 2467 1.1 christos fi 2468 1.1 christos ;; 2469 1.1 christos esac 2470 1.1 christos # Using Import Files as archive members, it is possible to support 2471 1.1 christos # filename-based versioning of shared library archives on AIX. While 2472 1.1 christos # this would work for both with and without runtime linking, it will 2473 1.1 christos # prevent static linking of such archives. So we do filename-based 2474 1.1 christos # shared library versioning with .so extension only, which is used 2475 1.1 christos # when both runtime linking and shared linking is enabled. 2476 1.1 christos # Unfortunately, runtime linking may impact performance, so we do 2477 1.1 christos # not want this to be the default eventually. Also, we use the 2478 1.1 christos # versioned .so libs for executables only if there is the -brtl 2479 1.1.1.5 christos # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only. 2480 1.1 christos # To allow for filename-based versioning support, we need to create 2481 1.1 christos # libNAME.so.V as an archive file, containing: 2482 1.1 christos # *) an Import File, referring to the versioned filename of the 2483 1.1 christos # archive as well as the shared archive member, telling the 2484 1.1 christos # bitwidth (32 or 64) of that shared object, and providing the 2485 1.1 christos # list of exported symbols of that shared object, eventually 2486 1.1 christos # decorated with the 'weak' keyword 2487 1.1 christos # *) the shared object with the F_LOADONLY flag set, to really avoid 2488 1.1 christos # it being seen by the linker. 2489 1.1 christos # At run time we better use the real file rather than another symlink, 2490 1.1 christos # but for link time we create the symlink libNAME.so -> libNAME.so.V 2491 1.1 christos 2492 1.1 christos case $with_aix_soname,$aix_use_runtimelinking in 2493 1.1 christos # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct 2494 1.1 christos # soname into executable. Probably we can add versioning support to 2495 1.1 christos # collect2, so additional links can be useful in future. 2496 1.1 christos aix,yes) # traditional libtool 2497 1.1 christos dynamic_linker='AIX unversionable lib.so' 2498 1.1 christos # If using run time linking (on AIX 4.2 or later) use lib<name>.so 2499 1.1 christos # instead of lib<name>.a to let people know that these are not 2500 1.1 christos # typical AIX shared libraries. 2501 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2502 1.1 christos ;; 2503 1.1 christos aix,no) # traditional AIX only 2504 1.1 christos dynamic_linker='AIX lib.a[(]lib.so.V[)]' 2505 1.1 christos # We preserve .a as extension for shared libraries through AIX4.2 2506 1.1 christos # and later when we are not doing run time linking. 2507 1.1 christos library_names_spec='$libname$release.a $libname.a' 2508 1.1 christos soname_spec='$libname$release$shared_ext$major' 2509 1.1 christos ;; 2510 1.1 christos svr4,*) # full svr4 only 2511 1.1 christos dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" 2512 1.1 christos library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 2513 1.1 christos # We do not specify a path in Import Files, so LIBPATH fires. 2514 1.1 christos shlibpath_overrides_runpath=yes 2515 1.1 christos ;; 2516 1.1 christos *,yes) # both, prefer svr4 2517 1.1 christos dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" 2518 1.1 christos library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' 2519 1.1 christos # unpreferred sharedlib libNAME.a needs extra handling 2520 1.1 christos postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' 2521 1.1 christos postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' 2522 1.1 christos # We do not specify a path in Import Files, so LIBPATH fires. 2523 1.1 christos shlibpath_overrides_runpath=yes 2524 1.1 christos ;; 2525 1.1 christos *,no) # both, prefer aix 2526 1.1 christos dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" 2527 1.1 christos library_names_spec='$libname$release.a $libname.a' 2528 1.1 christos soname_spec='$libname$release$shared_ext$major' 2529 1.1 christos # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling 2530 1.1 christos postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' 2531 1.1 christos postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' 2532 1.1 christos ;; 2533 1.1 christos esac 2534 1.1 christos shlibpath_var=LIBPATH 2535 1.1 christos fi 2536 1.1 christos ;; 2537 1.1 christos 2538 1.1 christos amigaos*) 2539 1.1 christos case $host_cpu in 2540 1.1 christos powerpc) 2541 1.1 christos # Since July 2007 AmigaOS4 officially supports .so libraries. 2542 1.1 christos # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 2543 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2544 1.1 christos ;; 2545 1.1 christos m68k) 2546 1.1 christos library_names_spec='$libname.ixlibrary $libname.a' 2547 1.1 christos # Create ${libname}_ixlibrary.a entries in /sys/libs. 2548 1.1 christos finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' 2549 1.1 christos ;; 2550 1.1 christos esac 2551 1.1 christos ;; 2552 1.1 christos 2553 1.1 christos beos*) 2554 1.1 christos library_names_spec='$libname$shared_ext' 2555 1.1 christos dynamic_linker="$host_os ld.so" 2556 1.1 christos shlibpath_var=LIBRARY_PATH 2557 1.1 christos ;; 2558 1.1 christos 2559 1.1 christos bsdi[[45]]*) 2560 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 2561 1.1 christos need_version=no 2562 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2563 1.1 christos soname_spec='$libname$release$shared_ext$major' 2564 1.1 christos finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 2565 1.1 christos shlibpath_var=LD_LIBRARY_PATH 2566 1.1 christos sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 2567 1.1 christos sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 2568 1.1 christos # the default ld.so.conf also contains /usr/contrib/lib and 2569 1.1 christos # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 2570 1.1 christos # libtool to hard-code these into programs 2571 1.1 christos ;; 2572 1.1 christos 2573 1.1.1.5 christos cygwin* | mingw* | windows* | pw32* | cegcc*) 2574 1.1 christos version_type=windows 2575 1.1 christos shrext_cmds=.dll 2576 1.1 christos need_version=no 2577 1.1 christos need_lib_prefix=no 2578 1.1 christos 2579 1.1 christos case $GCC,$cc_basename in 2580 1.1 christos yes,*) 2581 1.1 christos # gcc 2582 1.1 christos library_names_spec='$libname.dll.a' 2583 1.1 christos # DLL is installed to $(libdir)/../bin by postinstall_cmds 2584 1.1.1.5 christos # If user builds GCC with multilib enabled, 2585 1.1.1.5 christos # it should just install on $(libdir) 2586 1.1.1.5 christos # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones. 2587 1.1.1.5 christos if test xyes = x"$multilib"; then 2588 1.1.1.5 christos postinstall_cmds='base_file=`basename \$file`~ 2589 1.1.1.5 christos dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 2590 1.1.1.5 christos dldir=$destdir/`dirname \$dlpath`~ 2591 1.1.1.5 christos $install_prog $dir/$dlname $destdir/$dlname~ 2592 1.1.1.5 christos chmod a+x $destdir/$dlname~ 2593 1.1.1.5 christos if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 2594 1.1.1.5 christos eval '\''$striplib $destdir/$dlname'\'' || exit \$?; 2595 1.1.1.5 christos fi' 2596 1.1.1.5 christos else 2597 1.1.1.5 christos postinstall_cmds='base_file=`basename \$file`~ 2598 1.1.1.5 christos dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 2599 1.1.1.5 christos dldir=$destdir/`dirname \$dlpath`~ 2600 1.1.1.5 christos test -d \$dldir || mkdir -p \$dldir~ 2601 1.1.1.5 christos $install_prog $dir/$dlname \$dldir/$dlname~ 2602 1.1.1.5 christos chmod a+x \$dldir/$dlname~ 2603 1.1.1.5 christos if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 2604 1.1.1.5 christos eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 2605 1.1.1.5 christos fi' 2606 1.1.1.5 christos fi 2607 1.1 christos postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 2608 1.1 christos dlpath=$dir/\$dldll~ 2609 1.1 christos $RM \$dlpath' 2610 1.1 christos shlibpath_overrides_runpath=yes 2611 1.1 christos 2612 1.1 christos case $host_os in 2613 1.1 christos cygwin*) 2614 1.1 christos # Cygwin DLLs use 'cyg' prefix rather than 'lib' 2615 1.1.1.4 christos soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2616 1.1 christos m4_if([$1], [],[ 2617 1.1 christos sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) 2618 1.1 christos ;; 2619 1.1.1.5 christos mingw* | windows* | cegcc*) 2620 1.1 christos # MinGW DLLs use traditional 'lib' prefix 2621 1.1 christos soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2622 1.1 christos ;; 2623 1.1 christos pw32*) 2624 1.1 christos # pw32 DLLs use 'pw' prefix rather than 'lib' 2625 1.1.1.4 christos library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2626 1.1 christos ;; 2627 1.1 christos esac 2628 1.1 christos dynamic_linker='Win32 ld.exe' 2629 1.1 christos ;; 2630 1.1 christos 2631 1.1.1.4 christos *,cl* | *,icl*) 2632 1.1.1.4 christos # Native MSVC or ICC 2633 1.1 christos libname_spec='$name' 2634 1.1 christos soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' 2635 1.1 christos library_names_spec='$libname.dll.lib' 2636 1.1 christos 2637 1.1 christos case $build_os in 2638 1.1.1.5 christos mingw* | windows*) 2639 1.1 christos sys_lib_search_path_spec= 2640 1.1 christos lt_save_ifs=$IFS 2641 1.1 christos IFS=';' 2642 1.1 christos for lt_path in $LIB 2643 1.1 christos do 2644 1.1 christos IFS=$lt_save_ifs 2645 1.1 christos # Let DOS variable expansion print the short 8.3 style file name. 2646 1.1 christos lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` 2647 1.1 christos sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" 2648 1.1 christos done 2649 1.1 christos IFS=$lt_save_ifs 2650 1.1 christos # Convert to MSYS style. 2651 1.1.1.4 christos sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` 2652 1.1 christos ;; 2653 1.1 christos cygwin*) 2654 1.1 christos # Convert to unix form, then to dos form, then back to unix form 2655 1.1 christos # but this time dos style (no spaces!) so that the unix form looks 2656 1.1 christos # like /cygdrive/c/PROGRA~1:/cygdr... 2657 1.1 christos sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` 2658 1.1 christos sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` 2659 1.1 christos sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2660 1.1 christos ;; 2661 1.1 christos *) 2662 1.1 christos sys_lib_search_path_spec=$LIB 2663 1.1 christos if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then 2664 1.1 christos # It is most probably a Windows format PATH. 2665 1.1 christos sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 2666 1.1 christos else 2667 1.1 christos sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2668 1.1 christos fi 2669 1.1 christos # FIXME: find the short name or the path components, as spaces are 2670 1.1 christos # common. (e.g. "Program Files" -> "PROGRA~1") 2671 1.1 christos ;; 2672 1.1 christos esac 2673 1.1 christos 2674 1.1 christos # DLL is installed to $(libdir)/../bin by postinstall_cmds 2675 1.1 christos postinstall_cmds='base_file=`basename \$file`~ 2676 1.1 christos dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ 2677 1.1 christos dldir=$destdir/`dirname \$dlpath`~ 2678 1.1 christos test -d \$dldir || mkdir -p \$dldir~ 2679 1.1 christos $install_prog $dir/$dlname \$dldir/$dlname' 2680 1.1 christos postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 2681 1.1 christos dlpath=$dir/\$dldll~ 2682 1.1 christos $RM \$dlpath' 2683 1.1 christos shlibpath_overrides_runpath=yes 2684 1.1 christos dynamic_linker='Win32 link.exe' 2685 1.1 christos ;; 2686 1.1 christos 2687 1.1 christos *) 2688 1.1.1.4 christos # Assume MSVC and ICC wrapper 2689 1.1 christos library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' 2690 1.1 christos dynamic_linker='Win32 ld.exe' 2691 1.1 christos ;; 2692 1.1 christos esac 2693 1.1 christos # FIXME: first we should search . and the directory the executable is in 2694 1.1 christos shlibpath_var=PATH 2695 1.1 christos ;; 2696 1.1 christos 2697 1.1 christos darwin* | rhapsody*) 2698 1.1 christos dynamic_linker="$host_os dyld" 2699 1.1 christos version_type=darwin 2700 1.1 christos need_lib_prefix=no 2701 1.1 christos need_version=no 2702 1.1 christos library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' 2703 1.1 christos soname_spec='$libname$release$major$shared_ext' 2704 1.1 christos shlibpath_overrides_runpath=yes 2705 1.1 christos shlibpath_var=DYLD_LIBRARY_PATH 2706 1.1 christos shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 2707 1.1 christos m4_if([$1], [],[ 2708 1.1 christos sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 2709 1.1 christos sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 2710 1.1 christos ;; 2711 1.1 christos 2712 1.1 christos dgux*) 2713 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 2714 1.1 christos need_lib_prefix=no 2715 1.1 christos need_version=no 2716 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2717 1.1 christos soname_spec='$libname$release$shared_ext$major' 2718 1.1 christos shlibpath_var=LD_LIBRARY_PATH 2719 1.1 christos ;; 2720 1.1 christos 2721 1.1.1.4 christos freebsd* | dragonfly* | midnightbsd*) 2722 1.1 christos # DragonFly does not have aout. When/if they implement a new 2723 1.1 christos # versioning mechanism, adjust this. 2724 1.1 christos if test -x /usr/bin/objformat; then 2725 1.1 christos objformat=`/usr/bin/objformat` 2726 1.1 christos else 2727 1.1 christos case $host_os in 2728 1.1 christos freebsd[[23]].*) objformat=aout ;; 2729 1.1 christos *) objformat=elf ;; 2730 1.1 christos esac 2731 1.1 christos fi 2732 1.1 christos version_type=freebsd-$objformat 2733 1.1 christos case $version_type in 2734 1.1 christos freebsd-elf*) 2735 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2736 1.1 christos soname_spec='$libname$release$shared_ext$major' 2737 1.1 christos need_version=no 2738 1.1 christos need_lib_prefix=no 2739 1.1 christos ;; 2740 1.1 christos freebsd-*) 2741 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 2742 1.1 christos need_version=yes 2743 1.1 christos ;; 2744 1.1 christos esac 2745 1.1.1.5 christos case $host_cpu in 2746 1.1.1.5 christos powerpc64) 2747 1.1.1.5 christos # On FreeBSD bi-arch platforms, a different variable is used for 32-bit 2748 1.1.1.5 christos # binaries. See <https://man.freebsd.org/cgi/man.cgi?query=ld.so>. 2749 1.1.1.5 christos AC_COMPILE_IFELSE( 2750 1.1.1.5 christos [AC_LANG_SOURCE( 2751 1.1.1.5 christos [[int test_pointer_size[sizeof (void *) - 5]; 2752 1.1.1.5 christos ]])], 2753 1.1.1.5 christos [shlibpath_var=LD_LIBRARY_PATH], 2754 1.1.1.5 christos [shlibpath_var=LD_32_LIBRARY_PATH]) 2755 1.1.1.5 christos ;; 2756 1.1.1.5 christos *) 2757 1.1.1.5 christos shlibpath_var=LD_LIBRARY_PATH 2758 1.1.1.5 christos ;; 2759 1.1.1.5 christos esac 2760 1.1 christos case $host_os in 2761 1.1 christos freebsd2.*) 2762 1.1 christos shlibpath_overrides_runpath=yes 2763 1.1 christos ;; 2764 1.1 christos freebsd3.[[01]]* | freebsdelf3.[[01]]*) 2765 1.1 christos shlibpath_overrides_runpath=yes 2766 1.1 christos hardcode_into_libs=yes 2767 1.1 christos ;; 2768 1.1 christos freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 2769 1.1 christos freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 2770 1.1 christos shlibpath_overrides_runpath=no 2771 1.1 christos hardcode_into_libs=yes 2772 1.1 christos ;; 2773 1.1 christos *) # from 4.6 on, and DragonFly 2774 1.1 christos shlibpath_overrides_runpath=yes 2775 1.1 christos hardcode_into_libs=yes 2776 1.1 christos ;; 2777 1.1 christos esac 2778 1.1 christos ;; 2779 1.1 christos 2780 1.1 christos haiku*) 2781 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 2782 1.1 christos need_lib_prefix=no 2783 1.1 christos need_version=no 2784 1.1 christos dynamic_linker="$host_os runtime_loader" 2785 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2786 1.1 christos soname_spec='$libname$release$shared_ext$major' 2787 1.1 christos shlibpath_var=LIBRARY_PATH 2788 1.1 christos shlibpath_overrides_runpath=no 2789 1.1.1.5 christos sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib' 2790 1.1.1.5 christos sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib' 2791 1.1.1.5 christos hardcode_into_libs=no 2792 1.1 christos ;; 2793 1.1 christos 2794 1.1 christos hpux9* | hpux10* | hpux11*) 2795 1.1 christos # Give a soname corresponding to the major version so that dld.sl refuses to 2796 1.1 christos # link against other versions. 2797 1.1 christos version_type=sunos 2798 1.1 christos need_lib_prefix=no 2799 1.1 christos need_version=no 2800 1.1 christos case $host_cpu in 2801 1.1 christos ia64*) 2802 1.1 christos shrext_cmds='.so' 2803 1.1 christos hardcode_into_libs=yes 2804 1.1 christos dynamic_linker="$host_os dld.so" 2805 1.1 christos shlibpath_var=LD_LIBRARY_PATH 2806 1.1 christos shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2807 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2808 1.1 christos soname_spec='$libname$release$shared_ext$major' 2809 1.1 christos if test 32 = "$HPUX_IA64_MODE"; then 2810 1.1 christos sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 2811 1.1 christos sys_lib_dlsearch_path_spec=/usr/lib/hpux32 2812 1.1 christos else 2813 1.1 christos sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 2814 1.1 christos sys_lib_dlsearch_path_spec=/usr/lib/hpux64 2815 1.1 christos fi 2816 1.1 christos ;; 2817 1.1 christos hppa*64*) 2818 1.1 christos shrext_cmds='.sl' 2819 1.1 christos hardcode_into_libs=yes 2820 1.1 christos dynamic_linker="$host_os dld.sl" 2821 1.1 christos shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 2822 1.1 christos shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2823 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2824 1.1 christos soname_spec='$libname$release$shared_ext$major' 2825 1.1 christos sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 2826 1.1 christos sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2827 1.1 christos ;; 2828 1.1 christos *) 2829 1.1 christos shrext_cmds='.sl' 2830 1.1 christos dynamic_linker="$host_os dld.sl" 2831 1.1 christos shlibpath_var=SHLIB_PATH 2832 1.1 christos shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 2833 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2834 1.1 christos soname_spec='$libname$release$shared_ext$major' 2835 1.1 christos ;; 2836 1.1 christos esac 2837 1.1 christos # HP-UX runs *really* slowly unless shared libraries are mode 555, ... 2838 1.1 christos postinstall_cmds='chmod 555 $lib' 2839 1.1 christos # or fails outright, so override atomically: 2840 1.1 christos install_override_mode=555 2841 1.1 christos ;; 2842 1.1 christos 2843 1.1 christos interix[[3-9]]*) 2844 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 2845 1.1 christos need_lib_prefix=no 2846 1.1 christos need_version=no 2847 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2848 1.1 christos soname_spec='$libname$release$shared_ext$major' 2849 1.1 christos dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 2850 1.1 christos shlibpath_var=LD_LIBRARY_PATH 2851 1.1 christos shlibpath_overrides_runpath=no 2852 1.1 christos hardcode_into_libs=yes 2853 1.1 christos ;; 2854 1.1 christos 2855 1.1 christos irix5* | irix6* | nonstopux*) 2856 1.1 christos case $host_os in 2857 1.1 christos nonstopux*) version_type=nonstopux ;; 2858 1.1 christos *) 2859 1.1 christos if test yes = "$lt_cv_prog_gnu_ld"; then 2860 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 2861 1.1 christos else 2862 1.1 christos version_type=irix 2863 1.1 christos fi ;; 2864 1.1 christos esac 2865 1.1 christos need_lib_prefix=no 2866 1.1 christos need_version=no 2867 1.1 christos soname_spec='$libname$release$shared_ext$major' 2868 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' 2869 1.1 christos case $host_os in 2870 1.1 christos irix5* | nonstopux*) 2871 1.1 christos libsuff= shlibsuff= 2872 1.1 christos ;; 2873 1.1 christos *) 2874 1.1 christos case $LD in # libtool.m4 will add one of these switches to LD 2875 1.1 christos *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 2876 1.1 christos libsuff= shlibsuff= libmagic=32-bit;; 2877 1.1 christos *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 2878 1.1 christos libsuff=32 shlibsuff=N32 libmagic=N32;; 2879 1.1 christos *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 2880 1.1 christos libsuff=64 shlibsuff=64 libmagic=64-bit;; 2881 1.1 christos *) libsuff= shlibsuff= libmagic=never-match;; 2882 1.1 christos esac 2883 1.1 christos ;; 2884 1.1 christos esac 2885 1.1 christos shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 2886 1.1 christos shlibpath_overrides_runpath=no 2887 1.1 christos sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" 2888 1.1 christos sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" 2889 1.1 christos hardcode_into_libs=yes 2890 1.1 christos ;; 2891 1.1 christos 2892 1.1 christos # No shared lib support for Linux oldld, aout, or coff. 2893 1.1 christos linux*oldld* | linux*aout* | linux*coff*) 2894 1.1 christos dynamic_linker=no 2895 1.1 christos ;; 2896 1.1 christos 2897 1.1 christos linux*android*) 2898 1.1 christos version_type=none # Android doesn't support versioned libraries. 2899 1.1 christos need_lib_prefix=no 2900 1.1 christos need_version=no 2901 1.1.1.5 christos library_names_spec='$libname$release$shared_ext $libname$shared_ext' 2902 1.1 christos soname_spec='$libname$release$shared_ext' 2903 1.1 christos finish_cmds= 2904 1.1 christos shlibpath_var=LD_LIBRARY_PATH 2905 1.1 christos shlibpath_overrides_runpath=yes 2906 1.1 christos 2907 1.1 christos # This implies no fast_install, which is unacceptable. 2908 1.1 christos # Some rework will be needed to allow for fast_install 2909 1.1 christos # before this can be enabled. 2910 1.1 christos hardcode_into_libs=yes 2911 1.1 christos 2912 1.1 christos dynamic_linker='Android linker' 2913 1.1.1.5 christos # -rpath works at least for libraries that are not overridden by 2914 1.1.1.5 christos # libraries installed in system locations. 2915 1.1.1.5 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 2916 1.1 christos ;; 2917 1.1 christos 2918 1.1 christos # This must be glibc/ELF. 2919 1.1 christos linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 2920 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 2921 1.1 christos need_lib_prefix=no 2922 1.1 christos need_version=no 2923 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2924 1.1 christos soname_spec='$libname$release$shared_ext$major' 2925 1.1 christos finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 2926 1.1 christos shlibpath_var=LD_LIBRARY_PATH 2927 1.1 christos shlibpath_overrides_runpath=no 2928 1.1 christos 2929 1.1 christos # Some binutils ld are patched to set DT_RUNPATH 2930 1.1 christos AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], 2931 1.1 christos [lt_cv_shlibpath_overrides_runpath=no 2932 1.1 christos save_LDFLAGS=$LDFLAGS 2933 1.1 christos save_libdir=$libdir 2934 1.1 christos eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 2935 1.1 christos LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 2936 1.1 christos AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 2937 1.1 christos [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 2938 1.1 christos [lt_cv_shlibpath_overrides_runpath=yes])]) 2939 1.1 christos LDFLAGS=$save_LDFLAGS 2940 1.1 christos libdir=$save_libdir 2941 1.1 christos ]) 2942 1.1 christos shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 2943 1.1 christos 2944 1.1 christos # This implies no fast_install, which is unacceptable. 2945 1.1 christos # Some rework will be needed to allow for fast_install 2946 1.1 christos # before this can be enabled. 2947 1.1 christos hardcode_into_libs=yes 2948 1.1 christos 2949 1.1.1.5 christos # Ideally, we could use ldconfig to report *all* directories which are 2950 1.1 christos # searched for libraries, however this is still not possible. Aside from not 2951 1.1 christos # being certain /sbin/ldconfig is available, command 2952 1.1 christos # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, 2953 1.1 christos # even though it is searched at run-time. Try to do the best guess by 2954 1.1 christos # appending ld.so.conf contents (and includes) to the search path. 2955 1.1 christos if test -f /etc/ld.so.conf; then 2956 1.1 christos 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' ' '` 2957 1.1 christos sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" 2958 1.1 christos fi 2959 1.1 christos 2960 1.1 christos # We used to test for /lib/ld.so.1 and disable shared libraries on 2961 1.1 christos # powerpc, because MkLinux only supported shared libraries with the 2962 1.1 christos # GNU dynamic linker. Since this was broken with cross compilers, 2963 1.1 christos # most powerpc-linux boxes support dynamic linking these days and 2964 1.1 christos # people can always --disable-shared, the test was removed, and we 2965 1.1 christos # assume the GNU/Linux dynamic linker is in use. 2966 1.1 christos dynamic_linker='GNU/Linux ld.so' 2967 1.1 christos ;; 2968 1.1 christos 2969 1.1.1.3 christos netbsdelf*-gnu) 2970 1.1.1.3 christos version_type=linux 2971 1.1.1.3 christos need_lib_prefix=no 2972 1.1.1.3 christos need_version=no 2973 1.1.1.5 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 2974 1.1.1.5 christos soname_spec='$libname$release$shared_ext$major' 2975 1.1.1.5 christos shlibpath_var=LD_LIBRARY_PATH 2976 1.1.1.5 christos shlibpath_overrides_runpath=no 2977 1.1.1.5 christos hardcode_into_libs=yes 2978 1.1.1.5 christos dynamic_linker='NetBSD ld.elf_so' 2979 1.1.1.5 christos ;; 2980 1.1.1.5 christos 2981 1.1.1.5 christos netbsdelf*-gnu) 2982 1.1.1.5 christos version_type=linux 2983 1.1.1.5 christos need_lib_prefix=no 2984 1.1.1.5 christos need_version=no 2985 1.1.1.3 christos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 2986 1.1.1.3 christos soname_spec='${libname}${release}${shared_ext}$major' 2987 1.1.1.3 christos shlibpath_var=LD_LIBRARY_PATH 2988 1.1.1.3 christos shlibpath_overrides_runpath=no 2989 1.1.1.3 christos hardcode_into_libs=yes 2990 1.1.1.3 christos dynamic_linker='NetBSD ld.elf_so' 2991 1.1.1.3 christos ;; 2992 1.1.1.3 christos 2993 1.1 christos netbsd*) 2994 1.1 christos version_type=sunos 2995 1.1 christos need_lib_prefix=no 2996 1.1 christos need_version=no 2997 1.1 christos if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 2998 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 2999 1.1 christos finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 3000 1.1 christos dynamic_linker='NetBSD (a.out) ld.so' 3001 1.1 christos else 3002 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3003 1.1 christos soname_spec='$libname$release$shared_ext$major' 3004 1.1 christos dynamic_linker='NetBSD ld.elf_so' 3005 1.1 christos fi 3006 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3007 1.1 christos shlibpath_overrides_runpath=yes 3008 1.1 christos hardcode_into_libs=yes 3009 1.1 christos ;; 3010 1.1 christos 3011 1.1.1.5 christos *-mlibc) 3012 1.1.1.5 christos version_type=linux # correct to gnu/linux during the next big refactor 3013 1.1.1.5 christos need_lib_prefix=no 3014 1.1.1.5 christos need_version=no 3015 1.1.1.5 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3016 1.1.1.5 christos soname_spec='$libname$release$shared_ext$major' 3017 1.1.1.5 christos dynamic_linker='mlibc ld.so' 3018 1.1.1.5 christos shlibpath_var=LD_LIBRARY_PATH 3019 1.1.1.5 christos shlibpath_overrides_runpath=no 3020 1.1.1.5 christos hardcode_into_libs=yes 3021 1.1.1.5 christos ;; 3022 1.1.1.5 christos 3023 1.1 christos newsos6) 3024 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 3025 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3026 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3027 1.1 christos shlibpath_overrides_runpath=yes 3028 1.1 christos ;; 3029 1.1 christos 3030 1.1 christos *nto* | *qnx*) 3031 1.1 christos version_type=qnx 3032 1.1 christos need_lib_prefix=no 3033 1.1 christos need_version=no 3034 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3035 1.1 christos soname_spec='$libname$release$shared_ext$major' 3036 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3037 1.1 christos shlibpath_overrides_runpath=no 3038 1.1 christos hardcode_into_libs=yes 3039 1.1 christos dynamic_linker='ldqnx.so' 3040 1.1 christos ;; 3041 1.1 christos 3042 1.1.1.5 christos openbsd*) 3043 1.1 christos version_type=sunos 3044 1.1 christos sys_lib_dlsearch_path_spec=/usr/lib 3045 1.1 christos need_lib_prefix=no 3046 1.1 christos if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 3047 1.1 christos need_version=no 3048 1.1 christos else 3049 1.1 christos need_version=yes 3050 1.1 christos fi 3051 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 3052 1.1 christos finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 3053 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3054 1.1 christos shlibpath_overrides_runpath=yes 3055 1.1 christos ;; 3056 1.1 christos 3057 1.1 christos os2*) 3058 1.1 christos libname_spec='$name' 3059 1.1 christos version_type=windows 3060 1.1 christos shrext_cmds=.dll 3061 1.1 christos need_version=no 3062 1.1 christos need_lib_prefix=no 3063 1.1 christos # OS/2 can only load a DLL with a base name of 8 characters or less. 3064 1.1 christos soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; 3065 1.1 christos v=$($ECHO $release$versuffix | tr -d .-); 3066 1.1 christos n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); 3067 1.1 christos $ECHO $n$v`$shared_ext' 3068 1.1 christos library_names_spec='${libname}_dll.$libext' 3069 1.1 christos dynamic_linker='OS/2 ld.exe' 3070 1.1 christos shlibpath_var=BEGINLIBPATH 3071 1.1 christos sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 3072 1.1 christos sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 3073 1.1 christos postinstall_cmds='base_file=`basename \$file`~ 3074 1.1 christos dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ 3075 1.1 christos dldir=$destdir/`dirname \$dlpath`~ 3076 1.1 christos test -d \$dldir || mkdir -p \$dldir~ 3077 1.1 christos $install_prog $dir/$dlname \$dldir/$dlname~ 3078 1.1 christos chmod a+x \$dldir/$dlname~ 3079 1.1 christos if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 3080 1.1 christos eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 3081 1.1 christos fi' 3082 1.1 christos postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ 3083 1.1 christos dlpath=$dir/\$dldll~ 3084 1.1 christos $RM \$dlpath' 3085 1.1 christos ;; 3086 1.1 christos 3087 1.1 christos osf3* | osf4* | osf5*) 3088 1.1 christos version_type=osf 3089 1.1 christos need_lib_prefix=no 3090 1.1 christos need_version=no 3091 1.1 christos soname_spec='$libname$release$shared_ext$major' 3092 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3093 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3094 1.1 christos sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 3095 1.1 christos sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 3096 1.1 christos ;; 3097 1.1 christos 3098 1.1 christos rdos*) 3099 1.1 christos dynamic_linker=no 3100 1.1 christos ;; 3101 1.1 christos 3102 1.1.1.5 christos serenity*) 3103 1.1.1.5 christos version_type=linux # correct to gnu/linux during the next big refactor 3104 1.1.1.5 christos need_lib_prefix=no 3105 1.1.1.5 christos need_version=no 3106 1.1.1.5 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3107 1.1.1.5 christos soname_spec='$libname$release$shared_ext$major' 3108 1.1.1.5 christos shlibpath_var=LD_LIBRARY_PATH 3109 1.1.1.5 christos shlibpath_overrides_runpath=no 3110 1.1.1.5 christos dynamic_linker='SerenityOS LibELF' 3111 1.1.1.5 christos ;; 3112 1.1.1.5 christos 3113 1.1 christos solaris*) 3114 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 3115 1.1 christos need_lib_prefix=no 3116 1.1 christos need_version=no 3117 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3118 1.1 christos soname_spec='$libname$release$shared_ext$major' 3119 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3120 1.1 christos shlibpath_overrides_runpath=yes 3121 1.1 christos hardcode_into_libs=yes 3122 1.1 christos # ldd complains unless libraries are executable 3123 1.1 christos postinstall_cmds='chmod +x $lib' 3124 1.1 christos ;; 3125 1.1 christos 3126 1.1 christos sunos4*) 3127 1.1 christos version_type=sunos 3128 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' 3129 1.1 christos finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 3130 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3131 1.1 christos shlibpath_overrides_runpath=yes 3132 1.1 christos if test yes = "$with_gnu_ld"; then 3133 1.1 christos need_lib_prefix=no 3134 1.1 christos fi 3135 1.1 christos need_version=yes 3136 1.1 christos ;; 3137 1.1 christos 3138 1.1 christos sysv4 | sysv4.3*) 3139 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 3140 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3141 1.1 christos soname_spec='$libname$release$shared_ext$major' 3142 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3143 1.1 christos case $host_vendor in 3144 1.1 christos sni) 3145 1.1 christos shlibpath_overrides_runpath=no 3146 1.1 christos need_lib_prefix=no 3147 1.1 christos runpath_var=LD_RUN_PATH 3148 1.1 christos ;; 3149 1.1 christos siemens) 3150 1.1 christos need_lib_prefix=no 3151 1.1 christos ;; 3152 1.1 christos motorola) 3153 1.1 christos need_lib_prefix=no 3154 1.1 christos need_version=no 3155 1.1 christos shlibpath_overrides_runpath=no 3156 1.1 christos sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 3157 1.1 christos ;; 3158 1.1 christos esac 3159 1.1 christos ;; 3160 1.1 christos 3161 1.1 christos sysv4*MP*) 3162 1.1 christos if test -d /usr/nec; then 3163 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 3164 1.1 christos library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' 3165 1.1 christos soname_spec='$libname$shared_ext.$major' 3166 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3167 1.1 christos fi 3168 1.1 christos ;; 3169 1.1 christos 3170 1.1 christos sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 3171 1.1 christos version_type=sco 3172 1.1 christos need_lib_prefix=no 3173 1.1 christos need_version=no 3174 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' 3175 1.1 christos soname_spec='$libname$release$shared_ext$major' 3176 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3177 1.1 christos shlibpath_overrides_runpath=yes 3178 1.1 christos hardcode_into_libs=yes 3179 1.1 christos if test yes = "$with_gnu_ld"; then 3180 1.1 christos sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 3181 1.1 christos else 3182 1.1 christos sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 3183 1.1 christos case $host_os in 3184 1.1 christos sco3.2v5*) 3185 1.1 christos sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 3186 1.1 christos ;; 3187 1.1 christos esac 3188 1.1 christos fi 3189 1.1 christos sys_lib_dlsearch_path_spec='/usr/lib' 3190 1.1 christos ;; 3191 1.1 christos 3192 1.1 christos tpf*) 3193 1.1 christos # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 3194 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 3195 1.1 christos need_lib_prefix=no 3196 1.1 christos need_version=no 3197 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3198 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3199 1.1 christos shlibpath_overrides_runpath=no 3200 1.1 christos hardcode_into_libs=yes 3201 1.1 christos ;; 3202 1.1 christos 3203 1.1 christos uts4*) 3204 1.1 christos version_type=linux # correct to gnu/linux during the next big refactor 3205 1.1 christos library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' 3206 1.1 christos soname_spec='$libname$release$shared_ext$major' 3207 1.1 christos shlibpath_var=LD_LIBRARY_PATH 3208 1.1 christos ;; 3209 1.1 christos 3210 1.1.1.5 christos emscripten*) 3211 1.1.1.5 christos version_type=none 3212 1.1.1.5 christos need_lib_prefix=no 3213 1.1.1.5 christos need_version=no 3214 1.1.1.5 christos library_names_spec='$libname$release$shared_ext' 3215 1.1.1.5 christos soname_spec='$libname$release$shared_ext' 3216 1.1.1.5 christos finish_cmds= 3217 1.1.1.5 christos dynamic_linker="Emscripten linker" 3218 1.1.1.5 christos _LT_COMPILER_PIC($1)='-fPIC' 3219 1.1.1.5 christos _LT_TAGVAR(archive_cmds, $1)='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib' 3220 1.1.1.5 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym' 3221 1.1.1.5 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 3222 1.1.1.5 christos _LT_TAGVAR(no_undefined_flag, $1)= 3223 1.1.1.5 christos ;; 3224 1.1.1.5 christos 3225 1.1 christos *) 3226 1.1 christos dynamic_linker=no 3227 1.1 christos ;; 3228 1.1 christos esac 3229 1.1 christos AC_MSG_RESULT([$dynamic_linker]) 3230 1.1 christos test no = "$dynamic_linker" && can_build_shared=no 3231 1.1 christos 3232 1.1 christos variables_saved_for_relink="PATH $shlibpath_var $runpath_var" 3233 1.1 christos if test yes = "$GCC"; then 3234 1.1 christos variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 3235 1.1 christos fi 3236 1.1 christos 3237 1.1 christos if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then 3238 1.1 christos sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec 3239 1.1 christos fi 3240 1.1 christos 3241 1.1 christos if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then 3242 1.1 christos sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec 3243 1.1 christos fi 3244 1.1 christos 3245 1.1 christos # remember unaugmented sys_lib_dlsearch_path content for libtool script decls... 3246 1.1 christos configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec 3247 1.1 christos 3248 1.1 christos # ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code 3249 1.1 christos func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" 3250 1.1 christos 3251 1.1 christos # to be used as default LT_SYS_LIBRARY_PATH value in generated libtool 3252 1.1 christos configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH 3253 1.1 christos 3254 1.1 christos _LT_DECL([], [variables_saved_for_relink], [1], 3255 1.1 christos [Variables whose values should be saved in libtool wrapper scripts and 3256 1.1 christos restored at link time]) 3257 1.1 christos _LT_DECL([], [need_lib_prefix], [0], 3258 1.1 christos [Do we need the "lib" prefix for modules?]) 3259 1.1 christos _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 3260 1.1 christos _LT_DECL([], [version_type], [0], [Library versioning type]) 3261 1.1 christos _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 3262 1.1 christos _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 3263 1.1 christos _LT_DECL([], [shlibpath_overrides_runpath], [0], 3264 1.1 christos [Is shlibpath searched before the hard-coded library search path?]) 3265 1.1 christos _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 3266 1.1 christos _LT_DECL([], [library_names_spec], [1], 3267 1.1 christos [[List of archive names. First name is the real one, the rest are links. 3268 1.1 christos The last name is the one that the linker finds with -lNAME]]) 3269 1.1 christos _LT_DECL([], [soname_spec], [1], 3270 1.1 christos [[The coded name of the library, if different from the real name]]) 3271 1.1 christos _LT_DECL([], [install_override_mode], [1], 3272 1.1 christos [Permission mode override for installation of shared libraries]) 3273 1.1 christos _LT_DECL([], [postinstall_cmds], [2], 3274 1.1 christos [Command to use after installation of a shared archive]) 3275 1.1 christos _LT_DECL([], [postuninstall_cmds], [2], 3276 1.1 christos [Command to use after uninstallation of a shared archive]) 3277 1.1 christos _LT_DECL([], [finish_cmds], [2], 3278 1.1 christos [Commands used to finish a libtool library installation in a directory]) 3279 1.1 christos _LT_DECL([], [finish_eval], [1], 3280 1.1 christos [[As "finish_cmds", except a single script fragment to be evaled but 3281 1.1 christos not shown]]) 3282 1.1 christos _LT_DECL([], [hardcode_into_libs], [0], 3283 1.1 christos [Whether we should hardcode library paths into libraries]) 3284 1.1 christos _LT_DECL([], [sys_lib_search_path_spec], [2], 3285 1.1 christos [Compile-time system search path for libraries]) 3286 1.1 christos _LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], 3287 1.1 christos [Detected run-time system search path for libraries]) 3288 1.1 christos _LT_DECL([], [configure_time_lt_sys_library_path], [2], 3289 1.1 christos [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) 3290 1.1 christos ])# _LT_SYS_DYNAMIC_LINKER 3291 1.1 christos 3292 1.1 christos 3293 1.1 christos # _LT_PATH_TOOL_PREFIX(TOOL) 3294 1.1 christos # -------------------------- 3295 1.1 christos # find a file program that can recognize shared library 3296 1.1 christos AC_DEFUN([_LT_PATH_TOOL_PREFIX], 3297 1.1 christos [m4_require([_LT_DECL_EGREP])dnl 3298 1.1 christos AC_MSG_CHECKING([for $1]) 3299 1.1 christos AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 3300 1.1 christos [case $MAGIC_CMD in 3301 1.1 christos [[\\/*] | ?:[\\/]*]) 3302 1.1 christos lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. 3303 1.1 christos ;; 3304 1.1 christos *) 3305 1.1 christos lt_save_MAGIC_CMD=$MAGIC_CMD 3306 1.1 christos lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 3307 1.1 christos dnl $ac_dummy forces splitting on constant user-supplied paths. 3308 1.1 christos dnl POSIX.2 word splitting is done only on the output of word expansions, 3309 1.1 christos dnl not every word. This closes a longstanding sh security hole. 3310 1.1 christos ac_dummy="m4_if([$2], , $PATH, [$2])" 3311 1.1 christos for ac_dir in $ac_dummy; do 3312 1.1 christos IFS=$lt_save_ifs 3313 1.1 christos test -z "$ac_dir" && ac_dir=. 3314 1.1 christos if test -f "$ac_dir/$1"; then 3315 1.1 christos lt_cv_path_MAGIC_CMD=$ac_dir/"$1" 3316 1.1 christos if test -n "$file_magic_test_file"; then 3317 1.1 christos case $deplibs_check_method in 3318 1.1 christos "file_magic "*) 3319 1.1 christos file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 3320 1.1 christos MAGIC_CMD=$lt_cv_path_MAGIC_CMD 3321 1.1 christos if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 3322 1.1 christos $EGREP "$file_magic_regex" > /dev/null; then 3323 1.1 christos : 3324 1.1 christos else 3325 1.1 christos cat <<_LT_EOF 1>&2 3326 1.1 christos 3327 1.1 christos *** Warning: the command libtool uses to detect shared libraries, 3328 1.1 christos *** $file_magic_cmd, produces output that libtool cannot recognize. 3329 1.1 christos *** The result is that libtool may fail to recognize shared libraries 3330 1.1 christos *** as such. This will affect the creation of libtool libraries that 3331 1.1 christos *** depend on shared libraries, but programs linked with such libtool 3332 1.1 christos *** libraries will work regardless of this problem. Nevertheless, you 3333 1.1 christos *** may want to report the problem to your system manager and/or to 3334 1.1 christos *** bug-libtool (a] gnu.org 3335 1.1 christos 3336 1.1 christos _LT_EOF 3337 1.1 christos fi ;; 3338 1.1 christos esac 3339 1.1 christos fi 3340 1.1 christos break 3341 1.1 christos fi 3342 1.1 christos done 3343 1.1 christos IFS=$lt_save_ifs 3344 1.1 christos MAGIC_CMD=$lt_save_MAGIC_CMD 3345 1.1 christos ;; 3346 1.1 christos esac]) 3347 1.1 christos MAGIC_CMD=$lt_cv_path_MAGIC_CMD 3348 1.1 christos if test -n "$MAGIC_CMD"; then 3349 1.1 christos AC_MSG_RESULT($MAGIC_CMD) 3350 1.1 christos else 3351 1.1 christos AC_MSG_RESULT(no) 3352 1.1 christos fi 3353 1.1 christos _LT_DECL([], [MAGIC_CMD], [0], 3354 1.1 christos [Used to examine libraries when file_magic_cmd begins with "file"])dnl 3355 1.1 christos ])# _LT_PATH_TOOL_PREFIX 3356 1.1 christos 3357 1.1 christos # Old name: 3358 1.1 christos AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 3359 1.1 christos dnl aclocal-1.4 backwards compatibility: 3360 1.1 christos dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 3361 1.1 christos 3362 1.1 christos 3363 1.1 christos # _LT_PATH_MAGIC 3364 1.1 christos # -------------- 3365 1.1 christos # find a file program that can recognize a shared library 3366 1.1 christos m4_defun([_LT_PATH_MAGIC], 3367 1.1 christos [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 3368 1.1 christos if test -z "$lt_cv_path_MAGIC_CMD"; then 3369 1.1 christos if test -n "$ac_tool_prefix"; then 3370 1.1 christos _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 3371 1.1 christos else 3372 1.1 christos MAGIC_CMD=: 3373 1.1 christos fi 3374 1.1 christos fi 3375 1.1 christos ])# _LT_PATH_MAGIC 3376 1.1 christos 3377 1.1 christos 3378 1.1 christos # LT_PATH_LD 3379 1.1 christos # ---------- 3380 1.1 christos # find the pathname to the GNU or non-GNU linker 3381 1.1 christos AC_DEFUN([LT_PATH_LD], 3382 1.1 christos [AC_REQUIRE([AC_PROG_CC])dnl 3383 1.1 christos AC_REQUIRE([AC_CANONICAL_HOST])dnl 3384 1.1 christos AC_REQUIRE([AC_CANONICAL_BUILD])dnl 3385 1.1 christos m4_require([_LT_DECL_SED])dnl 3386 1.1 christos m4_require([_LT_DECL_EGREP])dnl 3387 1.1 christos m4_require([_LT_PROG_ECHO_BACKSLASH])dnl 3388 1.1 christos 3389 1.1 christos AC_ARG_WITH([gnu-ld], 3390 1.1 christos [AS_HELP_STRING([--with-gnu-ld], 3391 1.1 christos [assume the C compiler uses GNU ld @<:@default=no@:>@])], 3392 1.1 christos [test no = "$withval" || with_gnu_ld=yes], 3393 1.1 christos [with_gnu_ld=no])dnl 3394 1.1 christos 3395 1.1 christos ac_prog=ld 3396 1.1 christos if test yes = "$GCC"; then 3397 1.1 christos # Check if gcc -print-prog-name=ld gives a path. 3398 1.1 christos AC_MSG_CHECKING([for ld used by $CC]) 3399 1.1 christos case $host in 3400 1.1.1.5 christos *-*-mingw* | *-*-windows*) 3401 1.1 christos # gcc leaves a trailing carriage return, which upsets mingw 3402 1.1 christos ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 3403 1.1 christos *) 3404 1.1 christos ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 3405 1.1 christos esac 3406 1.1 christos case $ac_prog in 3407 1.1 christos # Accept absolute paths. 3408 1.1 christos [[\\/]]* | ?:[[\\/]]*) 3409 1.1 christos re_direlt='/[[^/]][[^/]]*/\.\./' 3410 1.1 christos # Canonicalize the pathname of ld 3411 1.1 christos ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 3412 1.1 christos while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 3413 1.1 christos ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 3414 1.1 christos done 3415 1.1 christos test -z "$LD" && LD=$ac_prog 3416 1.1 christos ;; 3417 1.1 christos "") 3418 1.1 christos # If it fails, then pretend we aren't using GCC. 3419 1.1 christos ac_prog=ld 3420 1.1 christos ;; 3421 1.1 christos *) 3422 1.1 christos # If it is relative, then search for the first ld in PATH. 3423 1.1 christos with_gnu_ld=unknown 3424 1.1 christos ;; 3425 1.1 christos esac 3426 1.1 christos elif test yes = "$with_gnu_ld"; then 3427 1.1 christos AC_MSG_CHECKING([for GNU ld]) 3428 1.1 christos else 3429 1.1 christos AC_MSG_CHECKING([for non-GNU ld]) 3430 1.1 christos fi 3431 1.1 christos AC_CACHE_VAL(lt_cv_path_LD, 3432 1.1 christos [if test -z "$LD"; then 3433 1.1 christos lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 3434 1.1 christos for ac_dir in $PATH; do 3435 1.1 christos IFS=$lt_save_ifs 3436 1.1 christos test -z "$ac_dir" && ac_dir=. 3437 1.1 christos if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 3438 1.1 christos lt_cv_path_LD=$ac_dir/$ac_prog 3439 1.1 christos # Check to see if the program is GNU ld. I'd rather use --version, 3440 1.1 christos # but apparently some variants of GNU ld only accept -v. 3441 1.1 christos # Break only if it was the GNU/non-GNU ld that we prefer. 3442 1.1 christos case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 3443 1.1 christos *GNU* | *'with BFD'*) 3444 1.1 christos test no != "$with_gnu_ld" && break 3445 1.1 christos ;; 3446 1.1 christos *) 3447 1.1 christos test yes != "$with_gnu_ld" && break 3448 1.1 christos ;; 3449 1.1 christos esac 3450 1.1 christos fi 3451 1.1 christos done 3452 1.1 christos IFS=$lt_save_ifs 3453 1.1 christos else 3454 1.1 christos lt_cv_path_LD=$LD # Let the user override the test with a path. 3455 1.1 christos fi]) 3456 1.1 christos LD=$lt_cv_path_LD 3457 1.1 christos if test -n "$LD"; then 3458 1.1 christos AC_MSG_RESULT($LD) 3459 1.1 christos else 3460 1.1 christos AC_MSG_RESULT(no) 3461 1.1 christos fi 3462 1.1 christos test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 3463 1.1 christos _LT_PATH_LD_GNU 3464 1.1 christos AC_SUBST([LD]) 3465 1.1 christos 3466 1.1 christos _LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 3467 1.1 christos ])# LT_PATH_LD 3468 1.1 christos 3469 1.1 christos # Old names: 3470 1.1 christos AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 3471 1.1 christos AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 3472 1.1 christos dnl aclocal-1.4 backwards compatibility: 3473 1.1 christos dnl AC_DEFUN([AM_PROG_LD], []) 3474 1.1 christos dnl AC_DEFUN([AC_PROG_LD], []) 3475 1.1 christos 3476 1.1 christos 3477 1.1 christos # _LT_PATH_LD_GNU 3478 1.1 christos #- -------------- 3479 1.1 christos m4_defun([_LT_PATH_LD_GNU], 3480 1.1 christos [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 3481 1.1 christos [# I'd rather use --version here, but apparently some GNU lds only accept -v. 3482 1.1 christos case `$LD -v 2>&1 </dev/null` in 3483 1.1 christos *GNU* | *'with BFD'*) 3484 1.1 christos lt_cv_prog_gnu_ld=yes 3485 1.1 christos ;; 3486 1.1 christos *) 3487 1.1 christos lt_cv_prog_gnu_ld=no 3488 1.1 christos ;; 3489 1.1 christos esac]) 3490 1.1 christos with_gnu_ld=$lt_cv_prog_gnu_ld 3491 1.1 christos ])# _LT_PATH_LD_GNU 3492 1.1 christos 3493 1.1 christos 3494 1.1 christos # _LT_CMD_RELOAD 3495 1.1 christos # -------------- 3496 1.1 christos # find reload flag for linker 3497 1.1 christos # -- PORTME Some linkers may need a different reload flag. 3498 1.1 christos m4_defun([_LT_CMD_RELOAD], 3499 1.1 christos [AC_CACHE_CHECK([for $LD option to reload object files], 3500 1.1 christos lt_cv_ld_reload_flag, 3501 1.1 christos [lt_cv_ld_reload_flag='-r']) 3502 1.1 christos reload_flag=$lt_cv_ld_reload_flag 3503 1.1 christos case $reload_flag in 3504 1.1 christos "" | " "*) ;; 3505 1.1 christos *) reload_flag=" $reload_flag" ;; 3506 1.1 christos esac 3507 1.1 christos reload_cmds='$LD$reload_flag -o $output$reload_objs' 3508 1.1 christos case $host_os in 3509 1.1.1.5 christos cygwin* | mingw* | windows* | pw32* | cegcc*) 3510 1.1 christos if test yes != "$GCC"; then 3511 1.1 christos reload_cmds=false 3512 1.1 christos fi 3513 1.1 christos ;; 3514 1.1 christos darwin*) 3515 1.1 christos if test yes = "$GCC"; then 3516 1.1 christos reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' 3517 1.1 christos else 3518 1.1 christos reload_cmds='$LD$reload_flag -o $output$reload_objs' 3519 1.1 christos fi 3520 1.1 christos ;; 3521 1.1 christos esac 3522 1.1 christos _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl 3523 1.1 christos _LT_TAGDECL([], [reload_cmds], [2])dnl 3524 1.1 christos ])# _LT_CMD_RELOAD 3525 1.1 christos 3526 1.1 christos 3527 1.1 christos # _LT_PATH_DD 3528 1.1 christos # ----------- 3529 1.1 christos # find a working dd 3530 1.1 christos m4_defun([_LT_PATH_DD], 3531 1.1 christos [AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD], 3532 1.1 christos [printf 0123456789abcdef0123456789abcdef >conftest.i 3533 1.1 christos cat conftest.i conftest.i >conftest2.i 3534 1.1 christos : ${lt_DD:=$DD} 3535 1.1 christos AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], 3536 1.1 christos [if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 3537 1.1 christos cmp -s conftest.i conftest.out \ 3538 1.1 christos && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: 3539 1.1 christos fi]) 3540 1.1 christos rm -f conftest.i conftest2.i conftest.out]) 3541 1.1 christos ])# _LT_PATH_DD 3542 1.1 christos 3543 1.1 christos 3544 1.1 christos # _LT_CMD_TRUNCATE 3545 1.1 christos # ---------------- 3546 1.1 christos # find command to truncate a binary pipe 3547 1.1 christos m4_defun([_LT_CMD_TRUNCATE], 3548 1.1 christos [m4_require([_LT_PATH_DD]) 3549 1.1 christos AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], 3550 1.1 christos [printf 0123456789abcdef0123456789abcdef >conftest.i 3551 1.1 christos cat conftest.i conftest.i >conftest2.i 3552 1.1 christos lt_cv_truncate_bin= 3553 1.1 christos if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then 3554 1.1 christos cmp -s conftest.i conftest.out \ 3555 1.1 christos && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" 3556 1.1 christos fi 3557 1.1 christos rm -f conftest.i conftest2.i conftest.out 3558 1.1 christos test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) 3559 1.1 christos _LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], 3560 1.1 christos [Command to truncate a binary pipe]) 3561 1.1 christos ])# _LT_CMD_TRUNCATE 3562 1.1 christos 3563 1.1 christos 3564 1.1 christos # _LT_CHECK_MAGIC_METHOD 3565 1.1 christos # ---------------------- 3566 1.1 christos # how to check for library dependencies 3567 1.1 christos # -- PORTME fill in with the dynamic library characteristics 3568 1.1 christos m4_defun([_LT_CHECK_MAGIC_METHOD], 3569 1.1 christos [m4_require([_LT_DECL_EGREP]) 3570 1.1 christos m4_require([_LT_DECL_OBJDUMP]) 3571 1.1 christos AC_CACHE_CHECK([how to recognize dependent libraries], 3572 1.1 christos lt_cv_deplibs_check_method, 3573 1.1 christos [lt_cv_file_magic_cmd='$MAGIC_CMD' 3574 1.1 christos lt_cv_file_magic_test_file= 3575 1.1 christos lt_cv_deplibs_check_method='unknown' 3576 1.1 christos # Need to set the preceding variable on all platforms that support 3577 1.1 christos # interlibrary dependencies. 3578 1.1 christos # 'none' -- dependencies not supported. 3579 1.1 christos # 'unknown' -- same as none, but documents that we really don't know. 3580 1.1 christos # 'pass_all' -- all dependencies passed with no checks. 3581 1.1 christos # 'file_magic [[regex]]' -- check by looking for files in library path 3582 1.1 christos # that responds to the $file_magic_cmd with a given extended regex. 3583 1.1 christos # If you have 'file' or equivalent on your system and you're not sure 3584 1.1 christos # whether 'pass_all' will *always* work, you probably want this one. 3585 1.1 christos 3586 1.1 christos case $host_os in 3587 1.1 christos aix[[4-9]]*) 3588 1.1 christos lt_cv_deplibs_check_method=pass_all 3589 1.1 christos ;; 3590 1.1 christos 3591 1.1 christos beos*) 3592 1.1 christos lt_cv_deplibs_check_method=pass_all 3593 1.1 christos ;; 3594 1.1 christos 3595 1.1 christos bsdi[[45]]*) 3596 1.1 christos lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 3597 1.1.1.4 christos lt_cv_file_magic_cmd='$FILECMD -L' 3598 1.1 christos lt_cv_file_magic_test_file=/shlib/libc.so 3599 1.1 christos ;; 3600 1.1 christos 3601 1.1 christos cygwin*) 3602 1.1 christos # func_win32_libid is a shell function defined in ltmain.sh 3603 1.1 christos lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3604 1.1 christos lt_cv_file_magic_cmd='func_win32_libid' 3605 1.1 christos ;; 3606 1.1 christos 3607 1.1.1.5 christos mingw* | windows* | pw32*) 3608 1.1 christos # Base MSYS/MinGW do not provide the 'file' command needed by 3609 1.1 christos # func_win32_libid shell function, so use a weaker test based on 'objdump', 3610 1.1 christos # unless we find 'file', for example because we are cross-compiling. 3611 1.1 christos if ( file / ) >/dev/null 2>&1; then 3612 1.1 christos lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3613 1.1 christos lt_cv_file_magic_cmd='func_win32_libid' 3614 1.1 christos else 3615 1.1 christos # Keep this pattern in sync with the one in func_win32_libid. 3616 1.1.1.5 christos lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)' 3617 1.1 christos lt_cv_file_magic_cmd='$OBJDUMP -f' 3618 1.1 christos fi 3619 1.1 christos ;; 3620 1.1 christos 3621 1.1 christos cegcc*) 3622 1.1 christos # use the weaker test based on 'objdump'. See mingw*. 3623 1.1 christos lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 3624 1.1 christos lt_cv_file_magic_cmd='$OBJDUMP -f' 3625 1.1 christos ;; 3626 1.1 christos 3627 1.1 christos darwin* | rhapsody*) 3628 1.1 christos lt_cv_deplibs_check_method=pass_all 3629 1.1 christos ;; 3630 1.1 christos 3631 1.1.1.4 christos freebsd* | dragonfly* | midnightbsd*) 3632 1.1 christos if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3633 1.1 christos case $host_cpu in 3634 1.1 christos i*86 ) 3635 1.1 christos # Not sure whether the presence of OpenBSD here was a mistake. 3636 1.1 christos # Let's accept both of them until this is cleared up. 3637 1.1 christos lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 3638 1.1.1.4 christos lt_cv_file_magic_cmd=$FILECMD 3639 1.1 christos lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 3640 1.1 christos ;; 3641 1.1 christos esac 3642 1.1 christos else 3643 1.1 christos lt_cv_deplibs_check_method=pass_all 3644 1.1 christos fi 3645 1.1 christos ;; 3646 1.1 christos 3647 1.1 christos haiku*) 3648 1.1 christos lt_cv_deplibs_check_method=pass_all 3649 1.1 christos ;; 3650 1.1 christos 3651 1.1 christos hpux10.20* | hpux11*) 3652 1.1.1.4 christos lt_cv_file_magic_cmd=$FILECMD 3653 1.1 christos case $host_cpu in 3654 1.1 christos ia64*) 3655 1.1 christos lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 3656 1.1 christos lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 3657 1.1 christos ;; 3658 1.1 christos hppa*64*) 3659 1.1 christos [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]'] 3660 1.1 christos lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 3661 1.1 christos ;; 3662 1.1 christos *) 3663 1.1 christos lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' 3664 1.1 christos lt_cv_file_magic_test_file=/usr/lib/libc.sl 3665 1.1 christos ;; 3666 1.1 christos esac 3667 1.1 christos ;; 3668 1.1 christos 3669 1.1 christos interix[[3-9]]*) 3670 1.1 christos # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 3671 1.1 christos lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 3672 1.1 christos ;; 3673 1.1 christos 3674 1.1 christos irix5* | irix6* | nonstopux*) 3675 1.1 christos case $LD in 3676 1.1 christos *-32|*"-32 ") libmagic=32-bit;; 3677 1.1 christos *-n32|*"-n32 ") libmagic=N32;; 3678 1.1 christos *-64|*"-64 ") libmagic=64-bit;; 3679 1.1 christos *) libmagic=never-match;; 3680 1.1 christos esac 3681 1.1 christos lt_cv_deplibs_check_method=pass_all 3682 1.1 christos ;; 3683 1.1 christos 3684 1.1 christos # This must be glibc/ELF. 3685 1.1 christos linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 3686 1.1 christos lt_cv_deplibs_check_method=pass_all 3687 1.1 christos ;; 3688 1.1 christos 3689 1.1.1.5 christos *-mlibc) 3690 1.1.1.5 christos lt_cv_deplibs_check_method=pass_all 3691 1.1.1.5 christos ;; 3692 1.1.1.5 christos 3693 1.1.1.3 christos netbsd* | netbsdelf*-gnu) 3694 1.1 christos if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3695 1.1 christos lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3696 1.1 christos else 3697 1.1 christos lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 3698 1.1 christos fi 3699 1.1 christos ;; 3700 1.1 christos 3701 1.1 christos newos6*) 3702 1.1 christos lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 3703 1.1.1.4 christos lt_cv_file_magic_cmd=$FILECMD 3704 1.1 christos lt_cv_file_magic_test_file=/usr/lib/libnls.so 3705 1.1 christos ;; 3706 1.1 christos 3707 1.1 christos *nto* | *qnx*) 3708 1.1 christos lt_cv_deplibs_check_method=pass_all 3709 1.1 christos ;; 3710 1.1 christos 3711 1.1.1.5 christos openbsd*) 3712 1.1 christos if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 3713 1.1 christos lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 3714 1.1 christos else 3715 1.1 christos lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3716 1.1 christos fi 3717 1.1 christos ;; 3718 1.1 christos 3719 1.1 christos osf3* | osf4* | osf5*) 3720 1.1 christos lt_cv_deplibs_check_method=pass_all 3721 1.1 christos ;; 3722 1.1 christos 3723 1.1 christos rdos*) 3724 1.1 christos lt_cv_deplibs_check_method=pass_all 3725 1.1 christos ;; 3726 1.1 christos 3727 1.1.1.5 christos serenity*) 3728 1.1.1.5 christos lt_cv_deplibs_check_method=pass_all 3729 1.1.1.5 christos ;; 3730 1.1.1.5 christos 3731 1.1 christos solaris*) 3732 1.1 christos lt_cv_deplibs_check_method=pass_all 3733 1.1 christos ;; 3734 1.1 christos 3735 1.1 christos sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 3736 1.1 christos lt_cv_deplibs_check_method=pass_all 3737 1.1 christos ;; 3738 1.1 christos 3739 1.1 christos sysv4 | sysv4.3*) 3740 1.1 christos case $host_vendor in 3741 1.1 christos motorola) 3742 1.1 christos 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]]' 3743 1.1 christos lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 3744 1.1 christos ;; 3745 1.1 christos ncr) 3746 1.1 christos lt_cv_deplibs_check_method=pass_all 3747 1.1 christos ;; 3748 1.1 christos sequent) 3749 1.1 christos lt_cv_file_magic_cmd='/bin/file' 3750 1.1 christos lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 3751 1.1 christos ;; 3752 1.1 christos sni) 3753 1.1 christos lt_cv_file_magic_cmd='/bin/file' 3754 1.1 christos lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 3755 1.1 christos lt_cv_file_magic_test_file=/lib/libc.so 3756 1.1 christos ;; 3757 1.1 christos siemens) 3758 1.1 christos lt_cv_deplibs_check_method=pass_all 3759 1.1 christos ;; 3760 1.1 christos pc) 3761 1.1 christos lt_cv_deplibs_check_method=pass_all 3762 1.1 christos ;; 3763 1.1 christos esac 3764 1.1 christos ;; 3765 1.1 christos 3766 1.1 christos tpf*) 3767 1.1 christos lt_cv_deplibs_check_method=pass_all 3768 1.1 christos ;; 3769 1.1 christos os2*) 3770 1.1 christos lt_cv_deplibs_check_method=pass_all 3771 1.1 christos ;; 3772 1.1 christos esac 3773 1.1 christos ]) 3774 1.1 christos 3775 1.1 christos file_magic_glob= 3776 1.1 christos want_nocaseglob=no 3777 1.1 christos if test "$build" = "$host"; then 3778 1.1 christos case $host_os in 3779 1.1.1.5 christos mingw* | windows* | pw32*) 3780 1.1 christos if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then 3781 1.1 christos want_nocaseglob=yes 3782 1.1 christos else 3783 1.1 christos file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` 3784 1.1 christos fi 3785 1.1 christos ;; 3786 1.1 christos esac 3787 1.1 christos fi 3788 1.1 christos 3789 1.1 christos file_magic_cmd=$lt_cv_file_magic_cmd 3790 1.1 christos deplibs_check_method=$lt_cv_deplibs_check_method 3791 1.1 christos test -z "$deplibs_check_method" && deplibs_check_method=unknown 3792 1.1 christos 3793 1.1 christos _LT_DECL([], [deplibs_check_method], [1], 3794 1.1 christos [Method to check whether dependent libraries are shared objects]) 3795 1.1 christos _LT_DECL([], [file_magic_cmd], [1], 3796 1.1 christos [Command to use when deplibs_check_method = "file_magic"]) 3797 1.1 christos _LT_DECL([], [file_magic_glob], [1], 3798 1.1 christos [How to find potential files when deplibs_check_method = "file_magic"]) 3799 1.1 christos _LT_DECL([], [want_nocaseglob], [1], 3800 1.1 christos [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) 3801 1.1 christos ])# _LT_CHECK_MAGIC_METHOD 3802 1.1 christos 3803 1.1 christos 3804 1.1 christos # LT_PATH_NM 3805 1.1 christos # ---------- 3806 1.1 christos # find the pathname to a BSD- or MS-compatible name lister 3807 1.1 christos AC_DEFUN([LT_PATH_NM], 3808 1.1 christos [AC_REQUIRE([AC_PROG_CC])dnl 3809 1.1 christos AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 3810 1.1 christos [if test -n "$NM"; then 3811 1.1 christos # Let the user override the test. 3812 1.1 christos lt_cv_path_NM=$NM 3813 1.1 christos else 3814 1.1 christos lt_nm_to_check=${ac_tool_prefix}nm 3815 1.1 christos if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 3816 1.1 christos lt_nm_to_check="$lt_nm_to_check nm" 3817 1.1 christos fi 3818 1.1 christos for lt_tmp_nm in $lt_nm_to_check; do 3819 1.1 christos lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR 3820 1.1 christos for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 3821 1.1 christos IFS=$lt_save_ifs 3822 1.1 christos test -z "$ac_dir" && ac_dir=. 3823 1.1 christos tmp_nm=$ac_dir/$lt_tmp_nm 3824 1.1 christos if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then 3825 1.1 christos # Check to see if the nm accepts a BSD-compat flag. 3826 1.1 christos # Adding the 'sed 1q' prevents false positives on HP-UX, which says: 3827 1.1 christos # nm: unknown option "B" ignored 3828 1.1 christos # Tru64's nm complains that /dev/null is an invalid object file 3829 1.1 christos # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty 3830 1.1 christos case $build_os in 3831 1.1.1.5 christos mingw* | windows*) lt_bad_file=conftest.nm/nofile ;; 3832 1.1 christos *) lt_bad_file=/dev/null ;; 3833 1.1 christos esac 3834 1.1.1.4 christos case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in 3835 1.1 christos *$lt_bad_file* | *'Invalid file or object type'*) 3836 1.1 christos lt_cv_path_NM="$tmp_nm -B" 3837 1.1 christos break 2 3838 1.1 christos ;; 3839 1.1 christos *) 3840 1.1.1.4 christos case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in 3841 1.1 christos */dev/null*) 3842 1.1 christos lt_cv_path_NM="$tmp_nm -p" 3843 1.1 christos break 2 3844 1.1 christos ;; 3845 1.1 christos *) 3846 1.1 christos lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 3847 1.1 christos continue # so that we can try to find one that supports BSD flags 3848 1.1 christos ;; 3849 1.1 christos esac 3850 1.1 christos ;; 3851 1.1 christos esac 3852 1.1 christos fi 3853 1.1 christos done 3854 1.1 christos IFS=$lt_save_ifs 3855 1.1 christos done 3856 1.1 christos : ${lt_cv_path_NM=no} 3857 1.1 christos fi]) 3858 1.1 christos if test no != "$lt_cv_path_NM"; then 3859 1.1 christos NM=$lt_cv_path_NM 3860 1.1 christos else 3861 1.1 christos # Didn't find any BSD compatible name lister, look for dumpbin. 3862 1.1 christos if test -n "$DUMPBIN"; then : 3863 1.1 christos # Let the user override the test. 3864 1.1 christos else 3865 1.1 christos AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) 3866 1.1.1.4 christos case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in 3867 1.1 christos *COFF*) 3868 1.1 christos DUMPBIN="$DUMPBIN -symbols -headers" 3869 1.1 christos ;; 3870 1.1 christos *) 3871 1.1 christos DUMPBIN=: 3872 1.1 christos ;; 3873 1.1 christos esac 3874 1.1 christos fi 3875 1.1 christos AC_SUBST([DUMPBIN]) 3876 1.1 christos if test : != "$DUMPBIN"; then 3877 1.1 christos NM=$DUMPBIN 3878 1.1 christos fi 3879 1.1 christos fi 3880 1.1 christos test -z "$NM" && NM=nm 3881 1.1 christos AC_SUBST([NM]) 3882 1.1 christos _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 3883 1.1 christos 3884 1.1 christos AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 3885 1.1 christos [lt_cv_nm_interface="BSD nm" 3886 1.1 christos echo "int some_variable = 0;" > conftest.$ac_ext 3887 1.1 christos (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 3888 1.1 christos (eval "$ac_compile" 2>conftest.err) 3889 1.1 christos cat conftest.err >&AS_MESSAGE_LOG_FD 3890 1.1 christos (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 3891 1.1 christos (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 3892 1.1 christos cat conftest.err >&AS_MESSAGE_LOG_FD 3893 1.1 christos (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) 3894 1.1 christos cat conftest.out >&AS_MESSAGE_LOG_FD 3895 1.1 christos if $GREP 'External.*some_variable' conftest.out > /dev/null; then 3896 1.1 christos lt_cv_nm_interface="MS dumpbin" 3897 1.1 christos fi 3898 1.1 christos rm -f conftest*]) 3899 1.1 christos ])# LT_PATH_NM 3900 1.1 christos 3901 1.1 christos # Old names: 3902 1.1 christos AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 3903 1.1 christos AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 3904 1.1 christos dnl aclocal-1.4 backwards compatibility: 3905 1.1 christos dnl AC_DEFUN([AM_PROG_NM], []) 3906 1.1 christos dnl AC_DEFUN([AC_PROG_NM], []) 3907 1.1 christos 3908 1.1 christos # _LT_CHECK_SHAREDLIB_FROM_LINKLIB 3909 1.1 christos # -------------------------------- 3910 1.1 christos # how to determine the name of the shared library 3911 1.1 christos # associated with a specific link library. 3912 1.1 christos # -- PORTME fill in with the dynamic library characteristics 3913 1.1 christos m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], 3914 1.1 christos [m4_require([_LT_DECL_EGREP]) 3915 1.1 christos m4_require([_LT_DECL_OBJDUMP]) 3916 1.1 christos m4_require([_LT_DECL_DLLTOOL]) 3917 1.1 christos AC_CACHE_CHECK([how to associate runtime and link libraries], 3918 1.1 christos lt_cv_sharedlib_from_linklib_cmd, 3919 1.1 christos [lt_cv_sharedlib_from_linklib_cmd='unknown' 3920 1.1 christos 3921 1.1 christos case $host_os in 3922 1.1.1.5 christos cygwin* | mingw* | windows* | pw32* | cegcc*) 3923 1.1 christos # two different shell functions defined in ltmain.sh; 3924 1.1 christos # decide which one to use based on capabilities of $DLLTOOL 3925 1.1 christos case `$DLLTOOL --help 2>&1` in 3926 1.1 christos *--identify-strict*) 3927 1.1 christos lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib 3928 1.1 christos ;; 3929 1.1 christos *) 3930 1.1 christos lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback 3931 1.1 christos ;; 3932 1.1 christos esac 3933 1.1 christos ;; 3934 1.1 christos *) 3935 1.1 christos # fallback: assume linklib IS sharedlib 3936 1.1 christos lt_cv_sharedlib_from_linklib_cmd=$ECHO 3937 1.1 christos ;; 3938 1.1 christos esac 3939 1.1 christos ]) 3940 1.1 christos sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd 3941 1.1 christos test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO 3942 1.1 christos 3943 1.1 christos _LT_DECL([], [sharedlib_from_linklib_cmd], [1], 3944 1.1 christos [Command to associate shared and link libraries]) 3945 1.1 christos ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB 3946 1.1 christos 3947 1.1 christos 3948 1.1 christos # _LT_PATH_MANIFEST_TOOL 3949 1.1 christos # ---------------------- 3950 1.1 christos # locate the manifest tool 3951 1.1 christos m4_defun([_LT_PATH_MANIFEST_TOOL], 3952 1.1 christos [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) 3953 1.1 christos test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt 3954 1.1.1.5 christos AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_manifest_tool], 3955 1.1.1.5 christos [lt_cv_path_manifest_tool=no 3956 1.1 christos echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD 3957 1.1 christos $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out 3958 1.1 christos cat conftest.err >&AS_MESSAGE_LOG_FD 3959 1.1 christos if $GREP 'Manifest Tool' conftest.out > /dev/null; then 3960 1.1.1.5 christos lt_cv_path_manifest_tool=yes 3961 1.1 christos fi 3962 1.1 christos rm -f conftest*]) 3963 1.1.1.5 christos if test yes != "$lt_cv_path_manifest_tool"; then 3964 1.1 christos MANIFEST_TOOL=: 3965 1.1 christos fi 3966 1.1 christos _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl 3967 1.1 christos ])# _LT_PATH_MANIFEST_TOOL 3968 1.1 christos 3969 1.1 christos 3970 1.1 christos # _LT_DLL_DEF_P([FILE]) 3971 1.1 christos # --------------------- 3972 1.1 christos # True iff FILE is a Windows DLL '.def' file. 3973 1.1 christos # Keep in sync with func_dll_def_p in the libtool script 3974 1.1 christos AC_DEFUN([_LT_DLL_DEF_P], 3975 1.1 christos [dnl 3976 1.1 christos test DEF = "`$SED -n dnl 3977 1.1 christos -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace 3978 1.1 christos -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments 3979 1.1 christos -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl 3980 1.1 christos -e q dnl Only consider the first "real" line 3981 1.1 christos $1`" dnl 3982 1.1 christos ])# _LT_DLL_DEF_P 3983 1.1 christos 3984 1.1 christos 3985 1.1 christos # LT_LIB_M 3986 1.1 christos # -------- 3987 1.1 christos # check for math library 3988 1.1 christos AC_DEFUN([LT_LIB_M], 3989 1.1 christos [AC_REQUIRE([AC_CANONICAL_HOST])dnl 3990 1.1 christos LIBM= 3991 1.1 christos case $host in 3992 1.1.1.5 christos *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-mingw* | *-*-pw32* | *-*-darwin*) 3993 1.1 christos # These system don't have libm, or don't need it 3994 1.1 christos ;; 3995 1.1 christos *-ncr-sysv4.3*) 3996 1.1 christos AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) 3997 1.1 christos AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 3998 1.1 christos ;; 3999 1.1 christos *) 4000 1.1 christos AC_CHECK_LIB(m, cos, LIBM=-lm) 4001 1.1 christos ;; 4002 1.1 christos esac 4003 1.1 christos AC_SUBST([LIBM]) 4004 1.1 christos ])# LT_LIB_M 4005 1.1 christos 4006 1.1 christos # Old name: 4007 1.1 christos AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 4008 1.1 christos dnl aclocal-1.4 backwards compatibility: 4009 1.1 christos dnl AC_DEFUN([AC_CHECK_LIBM], []) 4010 1.1 christos 4011 1.1 christos 4012 1.1 christos # _LT_COMPILER_NO_RTTI([TAGNAME]) 4013 1.1 christos # ------------------------------- 4014 1.1 christos m4_defun([_LT_COMPILER_NO_RTTI], 4015 1.1 christos [m4_require([_LT_TAG_COMPILER])dnl 4016 1.1 christos 4017 1.1 christos _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 4018 1.1 christos 4019 1.1 christos if test yes = "$GCC"; then 4020 1.1 christos case $cc_basename in 4021 1.1 christos nvcc*) 4022 1.1 christos _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; 4023 1.1 christos *) 4024 1.1 christos _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; 4025 1.1 christos esac 4026 1.1 christos 4027 1.1 christos _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 4028 1.1 christos lt_cv_prog_compiler_rtti_exceptions, 4029 1.1 christos [-fno-rtti -fno-exceptions], [], 4030 1.1 christos [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 4031 1.1 christos fi 4032 1.1 christos _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 4033 1.1 christos [Compiler flag to turn off builtin functions]) 4034 1.1 christos ])# _LT_COMPILER_NO_RTTI 4035 1.1 christos 4036 1.1 christos 4037 1.1 christos # _LT_CMD_GLOBAL_SYMBOLS 4038 1.1 christos # ---------------------- 4039 1.1 christos m4_defun([_LT_CMD_GLOBAL_SYMBOLS], 4040 1.1 christos [AC_REQUIRE([AC_CANONICAL_HOST])dnl 4041 1.1 christos AC_REQUIRE([AC_PROG_CC])dnl 4042 1.1 christos AC_REQUIRE([AC_PROG_AWK])dnl 4043 1.1 christos AC_REQUIRE([LT_PATH_NM])dnl 4044 1.1 christos AC_REQUIRE([LT_PATH_LD])dnl 4045 1.1 christos m4_require([_LT_DECL_SED])dnl 4046 1.1 christos m4_require([_LT_DECL_EGREP])dnl 4047 1.1 christos m4_require([_LT_TAG_COMPILER])dnl 4048 1.1 christos 4049 1.1 christos # Check for command to grab the raw symbol name followed by C symbol from nm. 4050 1.1 christos AC_MSG_CHECKING([command to parse $NM output from $compiler object]) 4051 1.1 christos AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 4052 1.1 christos [ 4053 1.1 christos # These are sane defaults that work on at least a few old systems. 4054 1.1 christos # [They come from Ultrix. What could be older than Ultrix?!! ;)] 4055 1.1 christos 4056 1.1 christos # Character class describing NM global symbol codes. 4057 1.1 christos symcode='[[BCDEGRST]]' 4058 1.1 christos 4059 1.1 christos # Regexp to match symbols that can be accessed directly from C. 4060 1.1 christos sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 4061 1.1 christos 4062 1.1 christos # Define system-specific variables. 4063 1.1 christos case $host_os in 4064 1.1 christos aix*) 4065 1.1 christos symcode='[[BCDT]]' 4066 1.1 christos ;; 4067 1.1.1.5 christos cygwin* | mingw* | windows* | pw32* | cegcc*) 4068 1.1 christos symcode='[[ABCDGISTW]]' 4069 1.1 christos ;; 4070 1.1 christos hpux*) 4071 1.1 christos if test ia64 = "$host_cpu"; then 4072 1.1 christos symcode='[[ABCDEGRST]]' 4073 1.1 christos fi 4074 1.1 christos ;; 4075 1.1 christos irix* | nonstopux*) 4076 1.1 christos symcode='[[BCDEGRST]]' 4077 1.1 christos ;; 4078 1.1 christos osf*) 4079 1.1 christos symcode='[[BCDEGQRST]]' 4080 1.1 christos ;; 4081 1.1 christos solaris*) 4082 1.1.1.5 christos symcode='[[BCDRT]]' 4083 1.1 christos ;; 4084 1.1 christos sco3.2v5*) 4085 1.1 christos symcode='[[DT]]' 4086 1.1 christos ;; 4087 1.1 christos sysv4.2uw2*) 4088 1.1 christos symcode='[[DT]]' 4089 1.1 christos ;; 4090 1.1 christos sysv5* | sco5v6* | unixware* | OpenUNIX*) 4091 1.1 christos symcode='[[ABDT]]' 4092 1.1 christos ;; 4093 1.1 christos sysv4) 4094 1.1 christos symcode='[[DFNSTU]]' 4095 1.1 christos ;; 4096 1.1 christos esac 4097 1.1 christos 4098 1.1 christos # If we're using GNU nm, then use its standard symbol codes. 4099 1.1 christos case `$NM -V 2>&1` in 4100 1.1 christos *GNU* | *'with BFD'*) 4101 1.1 christos symcode='[[ABCDGIRSTW]]' ;; 4102 1.1 christos esac 4103 1.1 christos 4104 1.1 christos if test "$lt_cv_nm_interface" = "MS dumpbin"; then 4105 1.1 christos # Gets list of data symbols to import. 4106 1.1.1.4 christos lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'" 4107 1.1 christos # Adjust the below global symbol transforms to fixup imported variables. 4108 1.1 christos lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" 4109 1.1 christos lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" 4110 1.1 christos lt_c_name_lib_hook="\ 4111 1.1 christos -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ 4112 1.1 christos -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" 4113 1.1 christos else 4114 1.1 christos # Disable hooks by default. 4115 1.1 christos lt_cv_sys_global_symbol_to_import= 4116 1.1 christos lt_cdecl_hook= 4117 1.1 christos lt_c_name_hook= 4118 1.1 christos lt_c_name_lib_hook= 4119 1.1 christos fi 4120 1.1 christos 4121 1.1 christos # Transform an extracted symbol line into a proper C declaration. 4122 1.1 christos # Some systems (esp. on ia64) link data and code symbols differently, 4123 1.1 christos # so use this general approach. 4124 1.1.1.4 christos lt_cv_sys_global_symbol_to_cdecl="$SED -n"\ 4125 1.1 christos $lt_cdecl_hook\ 4126 1.1 christos " -e 's/^T .* \(.*\)$/extern int \1();/p'"\ 4127 1.1 christos " -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" 4128 1.1 christos 4129 1.1 christos # Transform an extracted symbol line into symbol name and symbol address 4130 1.1.1.4 christos lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\ 4131 1.1 christos $lt_c_name_hook\ 4132 1.1 christos " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 4133 1.1 christos " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" 4134 1.1 christos 4135 1.1 christos # Transform an extracted symbol line into symbol name with lib prefix and 4136 1.1 christos # symbol address. 4137 1.1.1.4 christos lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\ 4138 1.1 christos $lt_c_name_lib_hook\ 4139 1.1 christos " -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ 4140 1.1 christos " -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ 4141 1.1 christos " -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" 4142 1.1 christos 4143 1.1 christos # Handle CRLF in mingw tool chain 4144 1.1 christos opt_cr= 4145 1.1 christos case $build_os in 4146 1.1.1.5 christos mingw* | windows*) 4147 1.1 christos opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 4148 1.1 christos ;; 4149 1.1 christos esac 4150 1.1 christos 4151 1.1 christos # Try without a prefix underscore, then with it. 4152 1.1 christos for ac_symprfx in "" "_"; do 4153 1.1 christos 4154 1.1 christos # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 4155 1.1 christos symxfrm="\\1 $ac_symprfx\\2 \\2" 4156 1.1 christos 4157 1.1 christos # Write the raw and C identifiers. 4158 1.1 christos if test "$lt_cv_nm_interface" = "MS dumpbin"; then 4159 1.1 christos # Fake it for dumpbin and say T for any non-static function, 4160 1.1 christos # D for any global variable and I for any imported variable. 4161 1.1.1.4 christos # Also find C++ and __fastcall symbols from MSVC++ or ICC, 4162 1.1 christos # which start with @ or ?. 4163 1.1 christos lt_cv_sys_global_symbol_pipe="$AWK ['"\ 4164 1.1 christos " {last_section=section; section=\$ 3};"\ 4165 1.1 christos " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ 4166 1.1 christos " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 4167 1.1 christos " /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ 4168 1.1 christos " /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ 4169 1.1 christos " /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ 4170 1.1 christos " \$ 0!~/External *\|/{next};"\ 4171 1.1 christos " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 4172 1.1 christos " {if(hide[section]) next};"\ 4173 1.1 christos " {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ 4174 1.1 christos " {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ 4175 1.1 christos " s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ 4176 1.1 christos " s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ 4177 1.1 christos " ' prfx=^$ac_symprfx]" 4178 1.1 christos else 4179 1.1.1.4 christos lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 4180 1.1 christos fi 4181 1.1.1.4 christos lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'" 4182 1.1 christos 4183 1.1 christos # Check to see that the pipe works correctly. 4184 1.1 christos pipe_works=no 4185 1.1 christos 4186 1.1 christos rm -f conftest* 4187 1.1 christos cat > conftest.$ac_ext <<_LT_EOF 4188 1.1 christos #ifdef __cplusplus 4189 1.1 christos extern "C" { 4190 1.1 christos #endif 4191 1.1 christos char nm_test_var; 4192 1.1 christos void nm_test_func(void); 4193 1.1 christos void nm_test_func(void){} 4194 1.1 christos #ifdef __cplusplus 4195 1.1 christos } 4196 1.1 christos #endif 4197 1.1.1.5 christos int main(void){nm_test_var='a';nm_test_func();return(0);} 4198 1.1 christos _LT_EOF 4199 1.1 christos 4200 1.1 christos if AC_TRY_EVAL(ac_compile); then 4201 1.1 christos # Now try to grab the symbols. 4202 1.1 christos nlist=conftest.nm 4203 1.1.1.3 christos $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD 4204 1.1.1.3 christos if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then 4205 1.1 christos # Try sorting and uniquifying the output. 4206 1.1 christos if sort "$nlist" | uniq > "$nlist"T; then 4207 1.1 christos mv -f "$nlist"T "$nlist" 4208 1.1 christos else 4209 1.1 christos rm -f "$nlist"T 4210 1.1 christos fi 4211 1.1 christos 4212 1.1 christos # Make sure that we snagged all the symbols we need. 4213 1.1 christos if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 4214 1.1 christos if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 4215 1.1 christos cat <<_LT_EOF > conftest.$ac_ext 4216 1.1 christos /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ 4217 1.1 christos #if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE 4218 1.1 christos /* DATA imports from DLLs on WIN32 can't be const, because runtime 4219 1.1 christos relocations are performed -- see ld's documentation on pseudo-relocs. */ 4220 1.1 christos # define LT@&t@_DLSYM_CONST 4221 1.1 christos #elif defined __osf__ 4222 1.1 christos /* This system does not cope well with relocations in const data. */ 4223 1.1 christos # define LT@&t@_DLSYM_CONST 4224 1.1 christos #else 4225 1.1 christos # define LT@&t@_DLSYM_CONST const 4226 1.1 christos #endif 4227 1.1 christos 4228 1.1 christos #ifdef __cplusplus 4229 1.1 christos extern "C" { 4230 1.1 christos #endif 4231 1.1 christos 4232 1.1 christos _LT_EOF 4233 1.1 christos # Now generate the symbol file. 4234 1.1 christos eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 4235 1.1 christos 4236 1.1 christos cat <<_LT_EOF >> conftest.$ac_ext 4237 1.1 christos 4238 1.1 christos /* The mapping between symbol names and symbols. */ 4239 1.1 christos LT@&t@_DLSYM_CONST struct { 4240 1.1 christos const char *name; 4241 1.1 christos void *address; 4242 1.1 christos } 4243 1.1 christos lt__PROGRAM__LTX_preloaded_symbols[[]] = 4244 1.1 christos { 4245 1.1 christos { "@PROGRAM@", (void *) 0 }, 4246 1.1 christos _LT_EOF 4247 1.1 christos $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 4248 1.1 christos cat <<\_LT_EOF >> conftest.$ac_ext 4249 1.1 christos {0, (void *) 0} 4250 1.1 christos }; 4251 1.1 christos 4252 1.1 christos /* This works around a problem in FreeBSD linker */ 4253 1.1 christos #ifdef FREEBSD_WORKAROUND 4254 1.1 christos static const void *lt_preloaded_setup() { 4255 1.1 christos return lt__PROGRAM__LTX_preloaded_symbols; 4256 1.1 christos } 4257 1.1 christos #endif 4258 1.1 christos 4259 1.1 christos #ifdef __cplusplus 4260 1.1 christos } 4261 1.1 christos #endif 4262 1.1 christos _LT_EOF 4263 1.1 christos # Now try linking the two files. 4264 1.1 christos mv conftest.$ac_objext conftstm.$ac_objext 4265 1.1 christos lt_globsym_save_LIBS=$LIBS 4266 1.1 christos lt_globsym_save_CFLAGS=$CFLAGS 4267 1.1 christos LIBS=conftstm.$ac_objext 4268 1.1 christos CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 4269 1.1 christos if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then 4270 1.1 christos pipe_works=yes 4271 1.1 christos fi 4272 1.1 christos LIBS=$lt_globsym_save_LIBS 4273 1.1 christos CFLAGS=$lt_globsym_save_CFLAGS 4274 1.1 christos else 4275 1.1 christos echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 4276 1.1 christos fi 4277 1.1 christos else 4278 1.1 christos echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 4279 1.1 christos fi 4280 1.1 christos else 4281 1.1 christos echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 4282 1.1 christos fi 4283 1.1 christos else 4284 1.1 christos echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 4285 1.1 christos cat conftest.$ac_ext >&5 4286 1.1 christos fi 4287 1.1 christos rm -rf conftest* conftst* 4288 1.1 christos 4289 1.1 christos # Do not use the global_symbol_pipe unless it works. 4290 1.1 christos if test yes = "$pipe_works"; then 4291 1.1 christos break 4292 1.1 christos else 4293 1.1 christos lt_cv_sys_global_symbol_pipe= 4294 1.1 christos fi 4295 1.1 christos done 4296 1.1 christos ]) 4297 1.1 christos if test -z "$lt_cv_sys_global_symbol_pipe"; then 4298 1.1 christos lt_cv_sys_global_symbol_to_cdecl= 4299 1.1 christos fi 4300 1.1 christos if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 4301 1.1 christos AC_MSG_RESULT(failed) 4302 1.1 christos else 4303 1.1 christos AC_MSG_RESULT(ok) 4304 1.1 christos fi 4305 1.1 christos 4306 1.1 christos # Response file support. 4307 1.1 christos if test "$lt_cv_nm_interface" = "MS dumpbin"; then 4308 1.1 christos nm_file_list_spec='@' 4309 1.1 christos elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then 4310 1.1 christos nm_file_list_spec='@' 4311 1.1 christos fi 4312 1.1 christos 4313 1.1 christos _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 4314 1.1 christos [Take the output of nm and produce a listing of raw symbols and C names]) 4315 1.1 christos _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 4316 1.1 christos [Transform the output of nm in a proper C declaration]) 4317 1.1 christos _LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], 4318 1.1 christos [Transform the output of nm into a list of symbols to manually relocate]) 4319 1.1 christos _LT_DECL([global_symbol_to_c_name_address], 4320 1.1 christos [lt_cv_sys_global_symbol_to_c_name_address], [1], 4321 1.1 christos [Transform the output of nm in a C name address pair]) 4322 1.1 christos _LT_DECL([global_symbol_to_c_name_address_lib_prefix], 4323 1.1 christos [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 4324 1.1 christos [Transform the output of nm in a C name address pair when lib prefix is needed]) 4325 1.1 christos _LT_DECL([nm_interface], [lt_cv_nm_interface], [1], 4326 1.1 christos [The name lister interface]) 4327 1.1 christos _LT_DECL([], [nm_file_list_spec], [1], 4328 1.1 christos [Specify filename containing input files for $NM]) 4329 1.1 christos ]) # _LT_CMD_GLOBAL_SYMBOLS 4330 1.1 christos 4331 1.1 christos 4332 1.1 christos # _LT_COMPILER_PIC([TAGNAME]) 4333 1.1 christos # --------------------------- 4334 1.1 christos m4_defun([_LT_COMPILER_PIC], 4335 1.1 christos [m4_require([_LT_TAG_COMPILER])dnl 4336 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)= 4337 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4338 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)= 4339 1.1 christos 4340 1.1 christos m4_if([$1], [CXX], [ 4341 1.1 christos # C++ specific cases for pic, static, wl, etc. 4342 1.1 christos if test yes = "$GXX"; then 4343 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4344 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4345 1.1 christos 4346 1.1 christos case $host_os in 4347 1.1 christos aix*) 4348 1.1 christos # All AIX code is PIC. 4349 1.1 christos if test ia64 = "$host_cpu"; then 4350 1.1 christos # AIX 5 now supports IA64 processor 4351 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4352 1.1 christos fi 4353 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4354 1.1 christos ;; 4355 1.1 christos 4356 1.1 christos amigaos*) 4357 1.1 christos case $host_cpu in 4358 1.1 christos powerpc) 4359 1.1 christos # see comment about AmigaOS4 .so support 4360 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4361 1.1 christos ;; 4362 1.1 christos m68k) 4363 1.1 christos # FIXME: we need at least 68020 code to build shared libraries, but 4364 1.1 christos # adding the '-m68020' flag to GCC prevents building anything better, 4365 1.1 christos # like '-m68040'. 4366 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 4367 1.1 christos ;; 4368 1.1 christos esac 4369 1.1 christos ;; 4370 1.1 christos 4371 1.1 christos beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 4372 1.1 christos # PIC is the default for these OSes. 4373 1.1 christos ;; 4374 1.1.1.5 christos mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) 4375 1.1 christos # This hack is so that the source file can tell whether it is being 4376 1.1 christos # built for inclusion in a dll (and should export symbols for example). 4377 1.1 christos # Although the cygwin gcc ignores -fPIC, still need this for old-style 4378 1.1 christos # (--disable-auto-import) libraries 4379 1.1 christos m4_if([$1], [GCJ], [], 4380 1.1 christos [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4381 1.1 christos case $host_os in 4382 1.1 christos os2*) 4383 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4384 1.1 christos ;; 4385 1.1 christos esac 4386 1.1 christos ;; 4387 1.1 christos darwin* | rhapsody*) 4388 1.1 christos # PIC is the default on this platform 4389 1.1 christos # Common symbols not allowed in MH_DYLIB files 4390 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4391 1.1 christos ;; 4392 1.1 christos *djgpp*) 4393 1.1 christos # DJGPP does not support shared libraries at all 4394 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4395 1.1 christos ;; 4396 1.1 christos haiku*) 4397 1.1 christos # PIC is the default for Haiku. 4398 1.1 christos # The "-static" flag exists, but is broken. 4399 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)= 4400 1.1 christos ;; 4401 1.1 christos interix[[3-9]]*) 4402 1.1 christos # Interix 3.x gcc -fpic/-fPIC options generate broken code. 4403 1.1 christos # Instead, we relocate shared libraries at runtime. 4404 1.1 christos ;; 4405 1.1 christos sysv4*MP*) 4406 1.1 christos if test -d /usr/nec; then 4407 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 4408 1.1 christos fi 4409 1.1 christos ;; 4410 1.1 christos hpux*) 4411 1.1 christos # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 4412 1.1 christos # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 4413 1.1 christos # sets the default TLS model and affects inlining. 4414 1.1 christos case $host_cpu in 4415 1.1 christos hppa*64*) 4416 1.1 christos ;; 4417 1.1 christos *) 4418 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4419 1.1 christos ;; 4420 1.1 christos esac 4421 1.1 christos ;; 4422 1.1 christos *qnx* | *nto*) 4423 1.1 christos # QNX uses GNU C++, but need to define -shared option too, otherwise 4424 1.1 christos # it will coredump. 4425 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4426 1.1 christos ;; 4427 1.1 christos *) 4428 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4429 1.1 christos ;; 4430 1.1 christos esac 4431 1.1 christos else 4432 1.1 christos case $host_os in 4433 1.1 christos aix[[4-9]]*) 4434 1.1 christos # All AIX code is PIC. 4435 1.1 christos if test ia64 = "$host_cpu"; then 4436 1.1 christos # AIX 5 now supports IA64 processor 4437 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4438 1.1 christos else 4439 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 4440 1.1 christos fi 4441 1.1 christos ;; 4442 1.1 christos chorus*) 4443 1.1 christos case $cc_basename in 4444 1.1 christos cxch68*) 4445 1.1 christos # Green Hills C++ Compiler 4446 1.1 christos # _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" 4447 1.1 christos ;; 4448 1.1 christos esac 4449 1.1 christos ;; 4450 1.1.1.5 christos mingw* | windows* | cygwin* | os2* | pw32* | cegcc*) 4451 1.1 christos # This hack is so that the source file can tell whether it is being 4452 1.1 christos # built for inclusion in a dll (and should export symbols for example). 4453 1.1 christos m4_if([$1], [GCJ], [], 4454 1.1 christos [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4455 1.1 christos ;; 4456 1.1 christos dgux*) 4457 1.1 christos case $cc_basename in 4458 1.1 christos ec++*) 4459 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4460 1.1 christos ;; 4461 1.1 christos ghcx*) 4462 1.1 christos # Green Hills C++ Compiler 4463 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4464 1.1 christos ;; 4465 1.1 christos *) 4466 1.1 christos ;; 4467 1.1 christos esac 4468 1.1 christos ;; 4469 1.1.1.4 christos freebsd* | dragonfly* | midnightbsd*) 4470 1.1 christos # FreeBSD uses GNU C++ 4471 1.1 christos ;; 4472 1.1 christos hpux9* | hpux10* | hpux11*) 4473 1.1 christos case $cc_basename in 4474 1.1 christos CC*) 4475 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4476 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 4477 1.1 christos if test ia64 != "$host_cpu"; then 4478 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4479 1.1 christos fi 4480 1.1 christos ;; 4481 1.1 christos aCC*) 4482 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4483 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 4484 1.1 christos case $host_cpu in 4485 1.1 christos hppa*64*|ia64*) 4486 1.1 christos # +Z the default 4487 1.1 christos ;; 4488 1.1 christos *) 4489 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4490 1.1 christos ;; 4491 1.1 christos esac 4492 1.1 christos ;; 4493 1.1 christos *) 4494 1.1 christos ;; 4495 1.1 christos esac 4496 1.1 christos ;; 4497 1.1 christos interix*) 4498 1.1 christos # This is c89, which is MS Visual C++ (no shared libs) 4499 1.1 christos # Anyone wants to do a port? 4500 1.1 christos ;; 4501 1.1 christos irix5* | irix6* | nonstopux*) 4502 1.1 christos case $cc_basename in 4503 1.1 christos CC*) 4504 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4505 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4506 1.1 christos # CC pic flag -KPIC is the default. 4507 1.1 christos ;; 4508 1.1 christos *) 4509 1.1 christos ;; 4510 1.1 christos esac 4511 1.1 christos ;; 4512 1.1 christos linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 4513 1.1 christos case $cc_basename in 4514 1.1 christos KCC*) 4515 1.1 christos # KAI C++ Compiler 4516 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 4517 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4518 1.1 christos ;; 4519 1.1 christos ecpc* ) 4520 1.1 christos # old Intel C++ for x86_64, which still supported -KPIC. 4521 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4522 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4523 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4524 1.1 christos ;; 4525 1.1 christos icpc* ) 4526 1.1 christos # Intel C++, used to be incompatible with GCC. 4527 1.1 christos # ICC 10 doesn't accept -KPIC any more. 4528 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4529 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4530 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4531 1.1 christos ;; 4532 1.1 christos pgCC* | pgcpp*) 4533 1.1 christos # Portland Group C++ compiler 4534 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4535 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4536 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4537 1.1 christos ;; 4538 1.1 christos cxx*) 4539 1.1 christos # Compaq C++ 4540 1.1 christos # Make sure the PIC flag is empty. It appears that all Alpha 4541 1.1 christos # Linux and Compaq Tru64 Unix objects are PIC. 4542 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4543 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4544 1.1 christos ;; 4545 1.1 christos xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) 4546 1.1 christos # IBM XL 8.0, 9.0 on PPC and BlueGene 4547 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4548 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4549 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4550 1.1 christos ;; 4551 1.1 christos *) 4552 1.1.1.4 christos case `$CC -V 2>&1 | $SED 5q` in 4553 1.1 christos *Sun\ C*) 4554 1.1 christos # Sun C++ 5.9 4555 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4556 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4557 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4558 1.1 christos ;; 4559 1.1 christos esac 4560 1.1 christos ;; 4561 1.1 christos esac 4562 1.1 christos ;; 4563 1.1 christos lynxos*) 4564 1.1 christos ;; 4565 1.1 christos m88k*) 4566 1.1 christos ;; 4567 1.1 christos mvs*) 4568 1.1 christos case $cc_basename in 4569 1.1 christos cxx*) 4570 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 4571 1.1 christos ;; 4572 1.1 christos *) 4573 1.1 christos ;; 4574 1.1 christos esac 4575 1.1 christos ;; 4576 1.1.1.3 christos netbsd* | netbsdelf*-gnu) 4577 1.1 christos ;; 4578 1.1.1.5 christos *-mlibc) 4579 1.1.1.5 christos ;; 4580 1.1 christos *qnx* | *nto*) 4581 1.1 christos # QNX uses GNU C++, but need to define -shared option too, otherwise 4582 1.1 christos # it will coredump. 4583 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4584 1.1 christos ;; 4585 1.1 christos osf3* | osf4* | osf5*) 4586 1.1 christos case $cc_basename in 4587 1.1 christos KCC*) 4588 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 4589 1.1 christos ;; 4590 1.1 christos RCC*) 4591 1.1 christos # Rational C++ 2.4.1 4592 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4593 1.1 christos ;; 4594 1.1 christos cxx*) 4595 1.1 christos # Digital/Compaq C++ 4596 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4597 1.1 christos # Make sure the PIC flag is empty. It appears that all Alpha 4598 1.1 christos # Linux and Compaq Tru64 Unix objects are PIC. 4599 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4600 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4601 1.1 christos ;; 4602 1.1 christos *) 4603 1.1 christos ;; 4604 1.1 christos esac 4605 1.1 christos ;; 4606 1.1 christos psos*) 4607 1.1 christos ;; 4608 1.1.1.5 christos serenity*) 4609 1.1.1.5 christos ;; 4610 1.1 christos solaris*) 4611 1.1 christos case $cc_basename in 4612 1.1 christos CC* | sunCC*) 4613 1.1 christos # Sun C++ 4.2, 5.x and Centerline C++ 4614 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4615 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4616 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4617 1.1 christos ;; 4618 1.1 christos gcx*) 4619 1.1 christos # Green Hills C++ Compiler 4620 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4621 1.1 christos ;; 4622 1.1 christos *) 4623 1.1 christos ;; 4624 1.1 christos esac 4625 1.1 christos ;; 4626 1.1 christos sunos4*) 4627 1.1 christos case $cc_basename in 4628 1.1 christos CC*) 4629 1.1 christos # Sun C++ 4.x 4630 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4631 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4632 1.1 christos ;; 4633 1.1 christos lcc*) 4634 1.1 christos # Lucid 4635 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4636 1.1 christos ;; 4637 1.1 christos *) 4638 1.1 christos ;; 4639 1.1 christos esac 4640 1.1 christos ;; 4641 1.1 christos sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 4642 1.1 christos case $cc_basename in 4643 1.1 christos CC*) 4644 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4645 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4646 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4647 1.1 christos ;; 4648 1.1 christos esac 4649 1.1 christos ;; 4650 1.1 christos tandem*) 4651 1.1 christos case $cc_basename in 4652 1.1 christos NCC*) 4653 1.1 christos # NonStop-UX NCC 3.20 4654 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4655 1.1 christos ;; 4656 1.1 christos *) 4657 1.1 christos ;; 4658 1.1 christos esac 4659 1.1 christos ;; 4660 1.1 christos vxworks*) 4661 1.1 christos ;; 4662 1.1 christos *) 4663 1.1 christos _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4664 1.1 christos ;; 4665 1.1 christos esac 4666 1.1 christos fi 4667 1.1 christos ], 4668 1.1 christos [ 4669 1.1 christos if test yes = "$GCC"; then 4670 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4671 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4672 1.1 christos 4673 1.1 christos case $host_os in 4674 1.1 christos aix*) 4675 1.1 christos # All AIX code is PIC. 4676 1.1 christos if test ia64 = "$host_cpu"; then 4677 1.1 christos # AIX 5 now supports IA64 processor 4678 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4679 1.1 christos fi 4680 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4681 1.1 christos ;; 4682 1.1 christos 4683 1.1 christos amigaos*) 4684 1.1 christos case $host_cpu in 4685 1.1 christos powerpc) 4686 1.1 christos # see comment about AmigaOS4 .so support 4687 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4688 1.1 christos ;; 4689 1.1 christos m68k) 4690 1.1 christos # FIXME: we need at least 68020 code to build shared libraries, but 4691 1.1 christos # adding the '-m68020' flag to GCC prevents building anything better, 4692 1.1 christos # like '-m68040'. 4693 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 4694 1.1 christos ;; 4695 1.1 christos esac 4696 1.1 christos ;; 4697 1.1 christos 4698 1.1 christos beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 4699 1.1 christos # PIC is the default for these OSes. 4700 1.1 christos ;; 4701 1.1 christos 4702 1.1.1.5 christos mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) 4703 1.1 christos # This hack is so that the source file can tell whether it is being 4704 1.1 christos # built for inclusion in a dll (and should export symbols for example). 4705 1.1 christos # Although the cygwin gcc ignores -fPIC, still need this for old-style 4706 1.1 christos # (--disable-auto-import) libraries 4707 1.1 christos m4_if([$1], [GCJ], [], 4708 1.1 christos [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4709 1.1 christos case $host_os in 4710 1.1 christos os2*) 4711 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4712 1.1 christos ;; 4713 1.1 christos esac 4714 1.1 christos ;; 4715 1.1 christos 4716 1.1 christos darwin* | rhapsody*) 4717 1.1 christos # PIC is the default on this platform 4718 1.1 christos # Common symbols not allowed in MH_DYLIB files 4719 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4720 1.1 christos ;; 4721 1.1 christos 4722 1.1 christos haiku*) 4723 1.1 christos # PIC is the default for Haiku. 4724 1.1 christos # The "-static" flag exists, but is broken. 4725 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)= 4726 1.1 christos ;; 4727 1.1 christos 4728 1.1 christos hpux*) 4729 1.1 christos # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 4730 1.1 christos # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 4731 1.1 christos # sets the default TLS model and affects inlining. 4732 1.1 christos case $host_cpu in 4733 1.1 christos hppa*64*) 4734 1.1 christos # +Z the default 4735 1.1 christos ;; 4736 1.1 christos *) 4737 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4738 1.1 christos ;; 4739 1.1 christos esac 4740 1.1 christos ;; 4741 1.1 christos 4742 1.1 christos interix[[3-9]]*) 4743 1.1 christos # Interix 3.x gcc -fpic/-fPIC options generate broken code. 4744 1.1 christos # Instead, we relocate shared libraries at runtime. 4745 1.1 christos ;; 4746 1.1 christos 4747 1.1 christos msdosdjgpp*) 4748 1.1 christos # Just because we use GCC doesn't mean we suddenly get shared libraries 4749 1.1 christos # on systems that don't support them. 4750 1.1 christos _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4751 1.1 christos enable_shared=no 4752 1.1 christos ;; 4753 1.1 christos 4754 1.1 christos *nto* | *qnx*) 4755 1.1 christos # QNX uses GNU C++, but need to define -shared option too, otherwise 4756 1.1 christos # it will coredump. 4757 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4758 1.1 christos ;; 4759 1.1 christos 4760 1.1 christos sysv4*MP*) 4761 1.1 christos if test -d /usr/nec; then 4762 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 4763 1.1 christos fi 4764 1.1 christos ;; 4765 1.1 christos 4766 1.1 christos *) 4767 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4768 1.1 christos ;; 4769 1.1 christos esac 4770 1.1 christos 4771 1.1 christos case $cc_basename in 4772 1.1 christos nvcc*) # Cuda Compiler Driver 2.2 4773 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' 4774 1.1 christos if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 4775 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" 4776 1.1 christos fi 4777 1.1 christos ;; 4778 1.1 christos esac 4779 1.1 christos else 4780 1.1 christos # PORTME Check for flag to pass linker flags through the system compiler. 4781 1.1 christos case $host_os in 4782 1.1 christos aix*) 4783 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4784 1.1 christos if test ia64 = "$host_cpu"; then 4785 1.1 christos # AIX 5 now supports IA64 processor 4786 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4787 1.1 christos else 4788 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 4789 1.1 christos fi 4790 1.1 christos ;; 4791 1.1 christos 4792 1.1 christos darwin* | rhapsody*) 4793 1.1 christos # PIC is the default on this platform 4794 1.1 christos # Common symbols not allowed in MH_DYLIB files 4795 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 4796 1.1 christos case $cc_basename in 4797 1.1 christos nagfor*) 4798 1.1 christos # NAG Fortran compiler 4799 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 4800 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4801 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4802 1.1 christos ;; 4803 1.1 christos esac 4804 1.1 christos ;; 4805 1.1 christos 4806 1.1.1.5 christos mingw* | windows* | cygwin* | pw32* | os2* | cegcc*) 4807 1.1 christos # This hack is so that the source file can tell whether it is being 4808 1.1 christos # built for inclusion in a dll (and should export symbols for example). 4809 1.1 christos m4_if([$1], [GCJ], [], 4810 1.1 christos [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 4811 1.1 christos case $host_os in 4812 1.1 christos os2*) 4813 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' 4814 1.1 christos ;; 4815 1.1 christos esac 4816 1.1 christos ;; 4817 1.1 christos 4818 1.1 christos hpux9* | hpux10* | hpux11*) 4819 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4820 1.1 christos # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 4821 1.1 christos # not for PA HP-UX. 4822 1.1 christos case $host_cpu in 4823 1.1 christos hppa*64*|ia64*) 4824 1.1 christos # +Z the default 4825 1.1 christos ;; 4826 1.1 christos *) 4827 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 4828 1.1 christos ;; 4829 1.1 christos esac 4830 1.1 christos # Is there a better lt_prog_compiler_static that works with the bundled CC? 4831 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' 4832 1.1 christos ;; 4833 1.1 christos 4834 1.1 christos irix5* | irix6* | nonstopux*) 4835 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4836 1.1 christos # PIC (with -KPIC) is the default. 4837 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4838 1.1 christos ;; 4839 1.1 christos 4840 1.1 christos linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 4841 1.1 christos case $cc_basename in 4842 1.1 christos # old Intel for x86_64, which still supported -KPIC. 4843 1.1 christos ecc*) 4844 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4845 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4846 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4847 1.1 christos ;; 4848 1.1.1.5 christos *flang* | ftn | f18* | f95*) 4849 1.1.1.5 christos # Flang compiler. 4850 1.1.1.5 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4851 1.1.1.5 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4852 1.1.1.5 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4853 1.1.1.5 christos ;; 4854 1.1.1.3 christos # flang / f18. f95 an alias for gfortran or flang on Debian 4855 1.1.1.3 christos flang* | f18* | f95*) 4856 1.1.1.3 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4857 1.1.1.3 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4858 1.1.1.3 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4859 1.1.1.3 christos ;; 4860 1.1 christos # icc used to be incompatible with GCC. 4861 1.1 christos # ICC 10 doesn't accept -KPIC any more. 4862 1.1 christos icc* | ifort*) 4863 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4864 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4865 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4866 1.1 christos ;; 4867 1.1 christos # Lahey Fortran 8.1. 4868 1.1 christos lf95*) 4869 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4870 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 4871 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 4872 1.1 christos ;; 4873 1.1 christos nagfor*) 4874 1.1 christos # NAG Fortran compiler 4875 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' 4876 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4877 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4878 1.1 christos ;; 4879 1.1 christos tcc*) 4880 1.1 christos # Fabrice Bellard et al's Tiny C Compiler 4881 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4882 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4883 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4884 1.1 christos ;; 4885 1.1 christos pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) 4886 1.1 christos # Portland Group compilers (*not* the Pentium gcc compiler, 4887 1.1 christos # which looks to be a dead project) 4888 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4889 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4890 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4891 1.1 christos ;; 4892 1.1 christos ccc*) 4893 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4894 1.1 christos # All Alpha code is PIC. 4895 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4896 1.1 christos ;; 4897 1.1 christos xl* | bgxl* | bgf* | mpixl*) 4898 1.1 christos # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene 4899 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4900 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4901 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4902 1.1 christos ;; 4903 1.1 christos *) 4904 1.1.1.4 christos case `$CC -V 2>&1 | $SED 5q` in 4905 1.1 christos *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) 4906 1.1 christos # Sun Fortran 8.3 passes all unrecognized flags to the linker 4907 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4908 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4909 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 4910 1.1 christos ;; 4911 1.1 christos *Sun\ F* | *Sun*Fortran*) 4912 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4913 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4914 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4915 1.1 christos ;; 4916 1.1 christos *Sun\ C*) 4917 1.1 christos # Sun C 5.9 4918 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4919 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4920 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4921 1.1 christos ;; 4922 1.1 christos *Intel*\ [[CF]]*Compiler*) 4923 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4924 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4925 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4926 1.1 christos ;; 4927 1.1 christos *Portland\ Group*) 4928 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4929 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4930 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4931 1.1 christos ;; 4932 1.1 christos esac 4933 1.1 christos ;; 4934 1.1 christos esac 4935 1.1 christos ;; 4936 1.1 christos 4937 1.1 christos newsos6) 4938 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4939 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4940 1.1 christos ;; 4941 1.1 christos 4942 1.1.1.5 christos *-mlibc) 4943 1.1.1.5 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4944 1.1.1.5 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4945 1.1.1.5 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4946 1.1.1.5 christos ;; 4947 1.1.1.5 christos 4948 1.1 christos *nto* | *qnx*) 4949 1.1 christos # QNX uses GNU C++, but need to define -shared option too, otherwise 4950 1.1 christos # it will coredump. 4951 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4952 1.1 christos ;; 4953 1.1 christos 4954 1.1 christos osf3* | osf4* | osf5*) 4955 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4956 1.1 christos # All OSF/1 code is PIC. 4957 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4958 1.1 christos ;; 4959 1.1 christos 4960 1.1 christos rdos*) 4961 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4962 1.1 christos ;; 4963 1.1 christos 4964 1.1.1.5 christos serenity*) 4965 1.1.1.5 christos ;; 4966 1.1.1.5 christos 4967 1.1 christos solaris*) 4968 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4969 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4970 1.1 christos case $cc_basename in 4971 1.1 christos f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 4972 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 4973 1.1 christos *) 4974 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 4975 1.1 christos esac 4976 1.1 christos ;; 4977 1.1 christos 4978 1.1 christos sunos4*) 4979 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4980 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4981 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4982 1.1 christos ;; 4983 1.1 christos 4984 1.1 christos sysv4 | sysv4.2uw2* | sysv4.3*) 4985 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4986 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4987 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4988 1.1 christos ;; 4989 1.1 christos 4990 1.1 christos sysv4*MP*) 4991 1.1 christos if test -d /usr/nec; then 4992 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 4993 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4994 1.1 christos fi 4995 1.1 christos ;; 4996 1.1 christos 4997 1.1 christos sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 4998 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4999 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 5000 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 5001 1.1 christos ;; 5002 1.1 christos 5003 1.1 christos unicos*) 5004 1.1 christos _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 5005 1.1 christos _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 5006 1.1 christos ;; 5007 1.1 christos 5008 1.1 christos uts4*) 5009 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 5010 1.1 christos _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 5011 1.1 christos ;; 5012 1.1 christos 5013 1.1 christos *) 5014 1.1 christos _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 5015 1.1 christos ;; 5016 1.1 christos esac 5017 1.1 christos fi 5018 1.1 christos ]) 5019 1.1 christos case $host_os in 5020 1.1 christos # For platforms that do not support PIC, -DPIC is meaningless: 5021 1.1 christos *djgpp*) 5022 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)= 5023 1.1 christos ;; 5024 1.1 christos *) 5025 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 5026 1.1 christos ;; 5027 1.1 christos esac 5028 1.1 christos 5029 1.1 christos AC_CACHE_CHECK([for $compiler option to produce PIC], 5030 1.1 christos [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], 5031 1.1 christos [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 5032 1.1 christos _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) 5033 1.1 christos 5034 1.1 christos # 5035 1.1 christos # Check to make sure the PIC flag actually works. 5036 1.1 christos # 5037 1.1 christos if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 5038 1.1 christos _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 5039 1.1 christos [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 5040 1.1 christos [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 5041 1.1 christos [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 5042 1.1 christos "" | " "*) ;; 5043 1.1 christos *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 5044 1.1 christos esac], 5045 1.1 christos [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 5046 1.1 christos _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 5047 1.1 christos fi 5048 1.1 christos _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 5049 1.1 christos [Additional compiler flags for building library objects]) 5050 1.1 christos 5051 1.1 christos _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 5052 1.1 christos [How to pass a linker flag through the compiler]) 5053 1.1 christos # 5054 1.1 christos # Check to make sure the static flag actually works. 5055 1.1 christos # 5056 1.1 christos wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 5057 1.1 christos _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 5058 1.1 christos _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 5059 1.1 christos $lt_tmp_static_flag, 5060 1.1 christos [], 5061 1.1 christos [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 5062 1.1 christos _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 5063 1.1 christos [Compiler flag to prevent dynamic linking]) 5064 1.1 christos ])# _LT_COMPILER_PIC 5065 1.1 christos 5066 1.1 christos 5067 1.1 christos # _LT_LINKER_SHLIBS([TAGNAME]) 5068 1.1 christos # ---------------------------- 5069 1.1 christos # See if the linker supports building shared libraries. 5070 1.1 christos m4_defun([_LT_LINKER_SHLIBS], 5071 1.1 christos [AC_REQUIRE([LT_PATH_LD])dnl 5072 1.1 christos AC_REQUIRE([LT_PATH_NM])dnl 5073 1.1 christos m4_require([_LT_PATH_MANIFEST_TOOL])dnl 5074 1.1 christos m4_require([_LT_FILEUTILS_DEFAULTS])dnl 5075 1.1 christos m4_require([_LT_DECL_EGREP])dnl 5076 1.1 christos m4_require([_LT_DECL_SED])dnl 5077 1.1 christos m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 5078 1.1 christos m4_require([_LT_TAG_COMPILER])dnl 5079 1.1 christos AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 5080 1.1 christos m4_if([$1], [CXX], [ 5081 1.1 christos _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 5082 1.1 christos _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 5083 1.1 christos case $host_os in 5084 1.1 christos aix[[4-9]]*) 5085 1.1 christos # If we're using GNU nm, then we don't want the "-C" option. 5086 1.1 christos # -C means demangle to GNU nm, but means don't demangle to AIX nm. 5087 1.1 christos # Without the "-l" option, or with the "-B" option, AIX nm treats 5088 1.1 christos # weak defined symbols like other global defined symbols, whereas 5089 1.1 christos # GNU nm marks them as "W". 5090 1.1 christos # While the 'weak' keyword is ignored in the Export File, we need 5091 1.1 christos # it in the Import File for the 'aix-soname' feature, so we have 5092 1.1 christos # to replace the "-B" option with "-P" for AIX nm. 5093 1.1 christos if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 5094 1.1 christos _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' 5095 1.1 christos else 5096 1.1.1.4 christos _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' 5097 1.1 christos fi 5098 1.1 christos ;; 5099 1.1 christos pw32*) 5100 1.1 christos _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds 5101 1.1 christos ;; 5102 1.1.1.5 christos cygwin* | mingw* | windows* | cegcc*) 5103 1.1 christos case $cc_basename in 5104 1.1.1.4 christos cl* | icl*) 5105 1.1 christos _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 5106 1.1 christos ;; 5107 1.1 christos *) 5108 1.1 christos _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' 5109 1.1 christos _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 5110 1.1 christos ;; 5111 1.1 christos esac 5112 1.1 christos ;; 5113 1.1.1.3 christos linux* | k*bsd*-gnu | gnu*) 5114 1.1.1.3 christos _LT_TAGVAR(link_all_deplibs, $1)=no 5115 1.1.1.3 christos ;; 5116 1.1 christos *) 5117 1.1 christos _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 5118 1.1 christos ;; 5119 1.1 christos esac 5120 1.1 christos ], [ 5121 1.1 christos runpath_var= 5122 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)= 5123 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=no 5124 1.1 christos _LT_TAGVAR(archive_cmds, $1)= 5125 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)= 5126 1.1 christos _LT_TAGVAR(compiler_needs_object, $1)=no 5127 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 5128 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)= 5129 1.1 christos _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 5130 1.1 christos _LT_TAGVAR(hardcode_automatic, $1)=no 5131 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 5132 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=no 5133 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 5134 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)= 5135 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=no 5136 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 5137 1.1 christos _LT_TAGVAR(inherit_rpath, $1)=no 5138 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=unknown 5139 1.1 christos _LT_TAGVAR(module_cmds, $1)= 5140 1.1 christos _LT_TAGVAR(module_expsym_cmds, $1)= 5141 1.1 christos _LT_TAGVAR(old_archive_from_new_cmds, $1)= 5142 1.1 christos _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 5143 1.1 christos _LT_TAGVAR(thread_safe_flag_spec, $1)= 5144 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)= 5145 1.1 christos # include_expsyms should be a list of space-separated symbols to be *always* 5146 1.1 christos # included in the symbol list 5147 1.1 christos _LT_TAGVAR(include_expsyms, $1)= 5148 1.1 christos # exclude_expsyms can be an extended regexp of symbols to exclude 5149 1.1 christos # it will be wrapped by ' (' and ')$', so one must not match beginning or 5150 1.1 christos # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', 5151 1.1 christos # as well as any symbol that contains 'd'. 5152 1.1 christos _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 5153 1.1 christos # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 5154 1.1 christos # platforms (ab)use it in PIC code, but their linkers get confused if 5155 1.1 christos # the symbol is explicitly referenced. Since portable code cannot 5156 1.1 christos # rely on this symbol name, it's probably fine to never include it in 5157 1.1 christos # preloaded symbol tables. 5158 1.1 christos # Exclude shared library initialization/finalization symbols. 5159 1.1 christos dnl Note also adjust exclude_expsyms for C++ above. 5160 1.1 christos extract_expsyms_cmds= 5161 1.1 christos 5162 1.1 christos case $host_os in 5163 1.1.1.5 christos cygwin* | mingw* | windows* | pw32* | cegcc*) 5164 1.1.1.4 christos # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time 5165 1.1 christos # When not using gcc, we currently assume that we are using 5166 1.1.1.4 christos # Microsoft Visual C++ or Intel C++ Compiler. 5167 1.1 christos if test yes != "$GCC"; then 5168 1.1 christos with_gnu_ld=no 5169 1.1 christos fi 5170 1.1 christos ;; 5171 1.1 christos interix*) 5172 1.1.1.4 christos # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) 5173 1.1 christos with_gnu_ld=yes 5174 1.1 christos ;; 5175 1.1.1.3 christos linux* | k*bsd*-gnu | gnu*) 5176 1.1.1.3 christos _LT_TAGVAR(link_all_deplibs, $1)=no 5177 1.1.1.3 christos ;; 5178 1.1 christos esac 5179 1.1 christos 5180 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=yes 5181 1.1 christos 5182 1.1 christos # On some targets, GNU ld is compatible enough with the native linker 5183 1.1 christos # that we're better off using the native interface for both. 5184 1.1 christos lt_use_gnu_ld_interface=no 5185 1.1 christos if test yes = "$with_gnu_ld"; then 5186 1.1 christos case $host_os in 5187 1.1 christos aix*) 5188 1.1 christos # The AIX port of GNU ld has always aspired to compatibility 5189 1.1 christos # with the native linker. However, as the warning in the GNU ld 5190 1.1 christos # block says, versions before 2.19.5* couldn't really create working 5191 1.1 christos # shared libraries, regardless of the interface used. 5192 1.1 christos case `$LD -v 2>&1` in 5193 1.1 christos *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 5194 1.1 christos *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; 5195 1.1 christos *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; 5196 1.1 christos *) 5197 1.1 christos lt_use_gnu_ld_interface=yes 5198 1.1 christos ;; 5199 1.1 christos esac 5200 1.1 christos ;; 5201 1.1 christos *) 5202 1.1 christos lt_use_gnu_ld_interface=yes 5203 1.1 christos ;; 5204 1.1 christos esac 5205 1.1 christos fi 5206 1.1 christos 5207 1.1 christos if test yes = "$lt_use_gnu_ld_interface"; then 5208 1.1 christos # If archive_cmds runs LD, not CC, wlarc should be empty 5209 1.1 christos wlarc='$wl' 5210 1.1 christos 5211 1.1 christos # Set some defaults for GNU ld with shared library support. These 5212 1.1 christos # are reset later if shared libraries are not supported. Putting them 5213 1.1 christos # here allows them to be overridden if necessary. 5214 1.1 christos runpath_var=LD_RUN_PATH 5215 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5216 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 5217 1.1 christos # ancient GNU ld didn't support --whole-archive et. al. 5218 1.1 christos if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 5219 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 5220 1.1 christos else 5221 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)= 5222 1.1 christos fi 5223 1.1 christos supports_anon_versioning=no 5224 1.1.1.4 christos case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in 5225 1.1 christos *GNU\ gold*) supports_anon_versioning=yes ;; 5226 1.1 christos *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 5227 1.1 christos *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 5228 1.1 christos *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 5229 1.1 christos *\ 2.11.*) ;; # other 2.11 versions 5230 1.1 christos *) supports_anon_versioning=yes ;; 5231 1.1 christos esac 5232 1.1 christos 5233 1.1 christos # See if GNU ld supports shared libraries. 5234 1.1 christos case $host_os in 5235 1.1 christos aix[[3-9]]*) 5236 1.1 christos # On AIX/PPC, the GNU linker is very broken 5237 1.1 christos if test ia64 != "$host_cpu"; then 5238 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5239 1.1 christos cat <<_LT_EOF 1>&2 5240 1.1 christos 5241 1.1 christos *** Warning: the GNU linker, at least up to release 2.19, is reported 5242 1.1 christos *** to be unable to reliably create shared libraries on AIX. 5243 1.1 christos *** Therefore, libtool is disabling shared libraries support. If you 5244 1.1 christos *** really care for shared libraries, you may want to install binutils 5245 1.1 christos *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. 5246 1.1 christos *** You will then need to restart the configuration process. 5247 1.1 christos 5248 1.1 christos _LT_EOF 5249 1.1 christos fi 5250 1.1 christos ;; 5251 1.1 christos 5252 1.1 christos amigaos*) 5253 1.1 christos case $host_cpu in 5254 1.1 christos powerpc) 5255 1.1 christos # see comment about AmigaOS4 .so support 5256 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5257 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='' 5258 1.1 christos ;; 5259 1.1 christos m68k) 5260 1.1 christos _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)' 5261 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5262 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5263 1.1 christos ;; 5264 1.1 christos esac 5265 1.1 christos ;; 5266 1.1 christos 5267 1.1 christos beos*) 5268 1.1 christos if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5269 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5270 1.1 christos # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc 5271 1.1 christos # support --undefined. This deserves some investigation. FIXME 5272 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5273 1.1 christos else 5274 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5275 1.1 christos fi 5276 1.1 christos ;; 5277 1.1 christos 5278 1.1.1.5 christos cygwin* | mingw* | windows* | pw32* | cegcc*) 5279 1.1 christos # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 5280 1.1 christos # as there is no search path for DLLs. 5281 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5282 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 5283 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5284 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=no 5285 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5286 1.1 christos _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' 5287 1.1 christos _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] 5288 1.1.1.5 christos _LT_TAGVAR(file_list_spec, $1)='@' 5289 1.1 christos 5290 1.1 christos if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 5291 1.1 christos _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' 5292 1.1 christos # If the export-symbols file already is a .def file, use it as 5293 1.1 christos # is; otherwise, prepend EXPORTS... 5294 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 5295 1.1 christos cp $export_symbols $output_objdir/$soname.def; 5296 1.1 christos else 5297 1.1 christos echo EXPORTS > $output_objdir/$soname.def; 5298 1.1 christos cat $export_symbols >> $output_objdir/$soname.def; 5299 1.1 christos fi~ 5300 1.1 christos $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 5301 1.1 christos else 5302 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5303 1.1 christos fi 5304 1.1 christos ;; 5305 1.1 christos 5306 1.1 christos haiku*) 5307 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5308 1.1.1.5 christos _LT_TAGVAR(link_all_deplibs, $1)=no 5309 1.1 christos ;; 5310 1.1 christos 5311 1.1 christos os2*) 5312 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5313 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5314 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5315 1.1 christos shrext_cmds=.dll 5316 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5317 1.1 christos $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5318 1.1 christos $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5319 1.1 christos $ECHO EXPORTS >> $output_objdir/$libname.def~ 5320 1.1 christos emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 5321 1.1 christos $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5322 1.1 christos emximp -o $lib $output_objdir/$libname.def' 5323 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 5324 1.1 christos $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 5325 1.1 christos $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 5326 1.1 christos $ECHO EXPORTS >> $output_objdir/$libname.def~ 5327 1.1 christos prefix_cmds="$SED"~ 5328 1.1 christos if test EXPORTS = "`$SED 1q $export_symbols`"; then 5329 1.1 christos prefix_cmds="$prefix_cmds -e 1d"; 5330 1.1 christos fi~ 5331 1.1 christos prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 5332 1.1 christos cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 5333 1.1 christos $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 5334 1.1 christos emximp -o $lib $output_objdir/$libname.def' 5335 1.1.1.5 christos _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 5336 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5337 1.1.1.4 christos _LT_TAGVAR(file_list_spec, $1)='@' 5338 1.1 christos ;; 5339 1.1 christos 5340 1.1 christos interix[[3-9]]*) 5341 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 5342 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5343 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 5344 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5345 1.1 christos # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 5346 1.1 christos # Instead, shared libraries are loaded at an image base (0x10000000 by 5347 1.1 christos # default) and relocated if they conflict, which is a slow very memory 5348 1.1 christos # consuming and fragmenting process. To avoid this, we pick a random, 5349 1.1 christos # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 5350 1.1 christos # time. Moving up from 0x10000000 also allows more sbrk(2) space. 5351 1.1 christos _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' 5352 1.1.1.4 christos _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' 5353 1.1 christos ;; 5354 1.1 christos 5355 1.1 christos gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 5356 1.1 christos tmp_diet=no 5357 1.1 christos if test linux-dietlibc = "$host_os"; then 5358 1.1 christos case $cc_basename in 5359 1.1 christos diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 5360 1.1 christos esac 5361 1.1 christos fi 5362 1.1 christos if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 5363 1.1 christos && test no = "$tmp_diet" 5364 1.1 christos then 5365 1.1 christos tmp_addflag=' $pic_flag' 5366 1.1 christos tmp_sharedflag='-shared' 5367 1.1 christos case $cc_basename,$host_cpu in 5368 1.1 christos pgcc*) # Portland Group C compiler 5369 1.1 christos _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' 5370 1.1 christos tmp_addflag=' $pic_flag' 5371 1.1 christos ;; 5372 1.1 christos pgf77* | pgf90* | pgf95* | pgfortran*) 5373 1.1 christos # Portland Group f77 and f90 compilers 5374 1.1 christos _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' 5375 1.1 christos tmp_addflag=' $pic_flag -Mnomain' ;; 5376 1.1 christos ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 5377 1.1 christos tmp_addflag=' -i_dynamic' ;; 5378 1.1 christos efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 5379 1.1 christos tmp_addflag=' -i_dynamic -nofor_main' ;; 5380 1.1 christos ifc* | ifort*) # Intel Fortran compiler 5381 1.1 christos tmp_addflag=' -nofor_main' ;; 5382 1.1 christos lf95*) # Lahey Fortran 8.1 5383 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)= 5384 1.1 christos tmp_sharedflag='--shared' ;; 5385 1.1 christos nagfor*) # NAGFOR 5.3 5386 1.1 christos tmp_sharedflag='-Wl,-shared' ;; 5387 1.1 christos xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 5388 1.1 christos tmp_sharedflag='-qmkshrobj' 5389 1.1 christos tmp_addflag= ;; 5390 1.1 christos nvcc*) # Cuda Compiler Driver 2.2 5391 1.1 christos _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' 5392 1.1 christos _LT_TAGVAR(compiler_needs_object, $1)=yes 5393 1.1 christos ;; 5394 1.1 christos esac 5395 1.1.1.4 christos case `$CC -V 2>&1 | $SED 5q` in 5396 1.1 christos *Sun\ C*) # Sun C 5.9 5397 1.1 christos _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' 5398 1.1 christos _LT_TAGVAR(compiler_needs_object, $1)=yes 5399 1.1 christos tmp_sharedflag='-G' ;; 5400 1.1 christos *Sun\ F*) # Sun Fortran 8.3 5401 1.1 christos tmp_sharedflag='-G' ;; 5402 1.1 christos esac 5403 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5404 1.1 christos 5405 1.1 christos if test yes = "$supports_anon_versioning"; then 5406 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 5407 1.1.1.4 christos cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 5408 1.1 christos echo "local: *; };" >> $output_objdir/$libname.ver~ 5409 1.1 christos $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 5410 1.1 christos fi 5411 1.1 christos 5412 1.1 christos case $cc_basename in 5413 1.1 christos tcc*) 5414 1.1.1.4 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5415 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' 5416 1.1 christos ;; 5417 1.1 christos xlf* | bgf* | bgxlf* | mpixlf*) 5418 1.1 christos # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 5419 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 5420 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5421 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 5422 1.1 christos if test yes = "$supports_anon_versioning"; then 5423 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 5424 1.1.1.4 christos cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 5425 1.1 christos echo "local: *; };" >> $output_objdir/$libname.ver~ 5426 1.1 christos $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 5427 1.1 christos fi 5428 1.1 christos ;; 5429 1.1 christos esac 5430 1.1 christos else 5431 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5432 1.1 christos fi 5433 1.1 christos ;; 5434 1.1 christos 5435 1.1.1.5 christos *-mlibc) 5436 1.1.1.5 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5437 1.1.1.5 christos _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' 5438 1.1.1.5 christos ;; 5439 1.1.1.5 christos 5440 1.1.1.3 christos netbsd* | netbsdelf*-gnu) 5441 1.1 christos if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 5442 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 5443 1.1 christos wlarc= 5444 1.1 christos else 5445 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5446 1.1 christos _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' 5447 1.1 christos fi 5448 1.1 christos ;; 5449 1.1 christos 5450 1.1 christos solaris*) 5451 1.1 christos if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 5452 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5453 1.1 christos cat <<_LT_EOF 1>&2 5454 1.1 christos 5455 1.1 christos *** Warning: The releases 2.8.* of the GNU linker cannot reliably 5456 1.1 christos *** create shared libraries on Solaris systems. Therefore, libtool 5457 1.1 christos *** is disabling shared libraries support. We urge you to upgrade GNU 5458 1.1 christos *** binutils to release 2.9.1 or newer. Another option is to modify 5459 1.1 christos *** your PATH or compiler configuration so that the native linker is 5460 1.1 christos *** used, and then restart. 5461 1.1 christos 5462 1.1 christos _LT_EOF 5463 1.1 christos elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5464 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5465 1.1 christos _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' 5466 1.1 christos else 5467 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5468 1.1 christos fi 5469 1.1 christos ;; 5470 1.1 christos 5471 1.1 christos sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 5472 1.1 christos case `$LD -v 2>&1` in 5473 1.1 christos *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 5474 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5475 1.1 christos cat <<_LT_EOF 1>&2 5476 1.1 christos 5477 1.1 christos *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot 5478 1.1 christos *** reliably create shared libraries on SCO systems. Therefore, libtool 5479 1.1 christos *** is disabling shared libraries support. We urge you to upgrade GNU 5480 1.1 christos *** binutils to release 2.16.91.0.3 or newer. Another option is to modify 5481 1.1 christos *** your PATH or compiler configuration so that the native linker is 5482 1.1 christos *** used, and then restart. 5483 1.1 christos 5484 1.1 christos _LT_EOF 5485 1.1 christos ;; 5486 1.1 christos *) 5487 1.1 christos # For security reasons, it is highly recommended that you always 5488 1.1 christos # use absolute paths for naming shared libraries, and exclude the 5489 1.1 christos # DT_RUNPATH tag from executables and libraries. But doing so 5490 1.1 christos # requires that you compile everything twice, which is a pain. 5491 1.1 christos if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5492 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5493 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5494 1.1 christos _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' 5495 1.1 christos else 5496 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5497 1.1 christos fi 5498 1.1 christos ;; 5499 1.1 christos esac 5500 1.1 christos ;; 5501 1.1 christos 5502 1.1 christos sunos4*) 5503 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 5504 1.1 christos wlarc= 5505 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5506 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5507 1.1 christos ;; 5508 1.1 christos 5509 1.1 christos *) 5510 1.1 christos if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5511 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5512 1.1 christos _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' 5513 1.1 christos else 5514 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 5515 1.1 christos fi 5516 1.1 christos ;; 5517 1.1 christos esac 5518 1.1 christos 5519 1.1 christos if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then 5520 1.1 christos runpath_var= 5521 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 5522 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)= 5523 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)= 5524 1.1 christos fi 5525 1.1 christos else 5526 1.1 christos # PORTME fill in a description of your system's linker (not GNU ld) 5527 1.1 christos case $host_os in 5528 1.1 christos aix3*) 5529 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5530 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=yes 5531 1.1 christos _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' 5532 1.1 christos # Note: this linker hardcodes the directories in LIBPATH if there 5533 1.1 christos # are no directories specified by -L. 5534 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5535 1.1 christos if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then 5536 1.1 christos # Neither direct hardcoding nor static linking is supported with a 5537 1.1 christos # broken collect2. 5538 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=unsupported 5539 1.1 christos fi 5540 1.1 christos ;; 5541 1.1 christos 5542 1.1 christos aix[[4-9]]*) 5543 1.1 christos if test ia64 = "$host_cpu"; then 5544 1.1 christos # On IA64, the linker does run time linking by default, so we don't 5545 1.1 christos # have to do anything special. 5546 1.1 christos aix_use_runtimelinking=no 5547 1.1 christos exp_sym_flag='-Bexport' 5548 1.1 christos no_entry_flag= 5549 1.1 christos else 5550 1.1 christos # If we're using GNU nm, then we don't want the "-C" option. 5551 1.1 christos # -C means demangle to GNU nm, but means don't demangle to AIX nm. 5552 1.1 christos # Without the "-l" option, or with the "-B" option, AIX nm treats 5553 1.1 christos # weak defined symbols like other global defined symbols, whereas 5554 1.1 christos # GNU nm marks them as "W". 5555 1.1 christos # While the 'weak' keyword is ignored in the Export File, we need 5556 1.1 christos # it in the Import File for the 'aix-soname' feature, so we have 5557 1.1 christos # to replace the "-B" option with "-P" for AIX nm. 5558 1.1 christos if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 5559 1.1 christos _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' 5560 1.1 christos else 5561 1.1.1.4 christos _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' 5562 1.1 christos fi 5563 1.1 christos aix_use_runtimelinking=no 5564 1.1 christos 5565 1.1 christos # Test if we are trying to use run time linking or normal 5566 1.1 christos # AIX style linking. If -brtl is somewhere in LDFLAGS, we 5567 1.1 christos # have runtime linking enabled, and use it for executables. 5568 1.1 christos # For shared libraries, we enable/disable runtime linking 5569 1.1 christos # depending on the kind of the shared library created - 5570 1.1 christos # when "with_aix_soname,aix_use_runtimelinking" is: 5571 1.1 christos # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 5572 1.1 christos # "aix,yes" lib.so shared, rtl:yes, for executables 5573 1.1 christos # lib.a static archive 5574 1.1 christos # "both,no" lib.so.V(shr.o) shared, rtl:yes 5575 1.1 christos # lib.a(lib.so.V) shared, rtl:no, for executables 5576 1.1 christos # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 5577 1.1 christos # lib.a(lib.so.V) shared, rtl:no 5578 1.1 christos # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 5579 1.1 christos # lib.a static archive 5580 1.1 christos case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 5581 1.1 christos for ld_flag in $LDFLAGS; do 5582 1.1 christos if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then 5583 1.1 christos aix_use_runtimelinking=yes 5584 1.1 christos break 5585 1.1 christos fi 5586 1.1 christos done 5587 1.1 christos if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 5588 1.1 christos # With aix-soname=svr4, we create the lib.so.V shared archives only, 5589 1.1 christos # so we don't have lib.a shared libs to link our executables. 5590 1.1 christos # We have to force runtime linking in this case. 5591 1.1 christos aix_use_runtimelinking=yes 5592 1.1 christos LDFLAGS="$LDFLAGS -Wl,-brtl" 5593 1.1 christos fi 5594 1.1 christos ;; 5595 1.1 christos esac 5596 1.1 christos 5597 1.1 christos exp_sym_flag='-bexport' 5598 1.1 christos no_entry_flag='-bnoentry' 5599 1.1 christos fi 5600 1.1 christos 5601 1.1 christos # When large executables or shared objects are built, AIX ld can 5602 1.1 christos # have problems creating the table of contents. If linking a library 5603 1.1 christos # or program results in "error TOC overflow" add -mminimal-toc to 5604 1.1 christos # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 5605 1.1 christos # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 5606 1.1 christos 5607 1.1 christos _LT_TAGVAR(archive_cmds, $1)='' 5608 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5609 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5610 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 5611 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 5612 1.1 christos _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 5613 1.1 christos case $with_aix_soname,$aix_use_runtimelinking in 5614 1.1 christos aix,*) ;; # traditional, no import file 5615 1.1 christos svr4,* | *,yes) # use import file 5616 1.1 christos # The Import File defines what to hardcode. 5617 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 5618 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=no 5619 1.1 christos ;; 5620 1.1 christos esac 5621 1.1 christos 5622 1.1 christos if test yes = "$GCC"; then 5623 1.1 christos case $host_os in aix4.[[012]]|aix4.[[012]].*) 5624 1.1 christos # We only want to do this on AIX 4.2 and lower, the check 5625 1.1 christos # below for broken collect2 doesn't work under 4.3+ 5626 1.1 christos collect2name=`$CC -print-prog-name=collect2` 5627 1.1 christos if test -f "$collect2name" && 5628 1.1 christos strings "$collect2name" | $GREP resolve_lib_name >/dev/null 5629 1.1 christos then 5630 1.1 christos # We have reworked collect2 5631 1.1 christos : 5632 1.1 christos else 5633 1.1 christos # We have old collect2 5634 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=unsupported 5635 1.1 christos # It fails to find uninstalled libraries when the uninstalled 5636 1.1 christos # path is not listed in the libpath. Setting hardcode_minus_L 5637 1.1 christos # to unsupported forces relinking 5638 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5639 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5640 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)= 5641 1.1 christos fi 5642 1.1 christos ;; 5643 1.1 christos esac 5644 1.1 christos shared_flag='-shared' 5645 1.1 christos if test yes = "$aix_use_runtimelinking"; then 5646 1.1 christos shared_flag="$shared_flag "'$wl-G' 5647 1.1 christos fi 5648 1.1 christos # Need to ensure runtime linking is disabled for the traditional 5649 1.1 christos # shared library, or the linker may eventually find shared libraries 5650 1.1 christos # /with/ Import File - we do not want to mix them. 5651 1.1 christos shared_flag_aix='-shared' 5652 1.1 christos shared_flag_svr4='-shared $wl-G' 5653 1.1 christos else 5654 1.1 christos # not using gcc 5655 1.1 christos if test ia64 = "$host_cpu"; then 5656 1.1 christos # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 5657 1.1 christos # chokes on -Wl,-G. The following line is correct: 5658 1.1 christos shared_flag='-G' 5659 1.1 christos else 5660 1.1 christos if test yes = "$aix_use_runtimelinking"; then 5661 1.1 christos shared_flag='$wl-G' 5662 1.1 christos else 5663 1.1 christos shared_flag='$wl-bM:SRE' 5664 1.1 christos fi 5665 1.1 christos shared_flag_aix='$wl-bM:SRE' 5666 1.1 christos shared_flag_svr4='$wl-G' 5667 1.1 christos fi 5668 1.1 christos fi 5669 1.1 christos 5670 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 5671 1.1 christos # It seems that -bexpall does not export symbols beginning with 5672 1.1 christos # underscore (_), so it is better to generate a list of symbols to export. 5673 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=yes 5674 1.1 christos if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 5675 1.1 christos # Warning - without using the other runtime loading flags (-brtl), 5676 1.1 christos # -berok will link without error, but may produce a broken library. 5677 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 5678 1.1 christos # Determine the default libpath from the value encoded in an 5679 1.1 christos # empty executable. 5680 1.1 christos _LT_SYS_MODULE_PATH_AIX([$1]) 5681 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 5682 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag 5683 1.1 christos else 5684 1.1 christos if test ia64 = "$host_cpu"; then 5685 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 5686 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 5687 1.1 christos _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" 5688 1.1 christos else 5689 1.1 christos # Determine the default libpath from the value encoded in an 5690 1.1 christos # empty executable. 5691 1.1 christos _LT_SYS_MODULE_PATH_AIX([$1]) 5692 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 5693 1.1 christos # Warning - without using the other run time loading flags, 5694 1.1 christos # -berok will link without error, but may produce a broken library. 5695 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 5696 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 5697 1.1 christos if test yes = "$with_gnu_ld"; then 5698 1.1 christos # We only use this code for GNU lds that support --whole-archive. 5699 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 5700 1.1 christos else 5701 1.1 christos # Exported symbols can be pulled into shared objects from archives 5702 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 5703 1.1 christos fi 5704 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5705 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 5706 1.1 christos # -brtl affects multiple linker settings, -berok does not and is overridden later 5707 1.1 christos compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 5708 1.1 christos if test svr4 != "$with_aix_soname"; then 5709 1.1 christos # This is similar to how AIX traditionally builds its shared libraries. 5710 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' 5711 1.1 christos fi 5712 1.1 christos if test aix != "$with_aix_soname"; then 5713 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' 5714 1.1 christos else 5715 1.1 christos # used by -dlpreopen to get the symbols 5716 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 5717 1.1 christos fi 5718 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 5719 1.1 christos fi 5720 1.1 christos fi 5721 1.1 christos ;; 5722 1.1 christos 5723 1.1 christos amigaos*) 5724 1.1 christos case $host_cpu in 5725 1.1 christos powerpc) 5726 1.1 christos # see comment about AmigaOS4 .so support 5727 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 5728 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='' 5729 1.1 christos ;; 5730 1.1 christos m68k) 5731 1.1 christos _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)' 5732 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5733 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5734 1.1 christos ;; 5735 1.1 christos esac 5736 1.1 christos ;; 5737 1.1 christos 5738 1.1 christos bsdi[[45]]*) 5739 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 5740 1.1 christos ;; 5741 1.1 christos 5742 1.1.1.5 christos cygwin* | mingw* | windows* | pw32* | cegcc*) 5743 1.1 christos # When not using gcc, we currently assume that we are using 5744 1.1.1.4 christos # Microsoft Visual C++ or Intel C++ Compiler. 5745 1.1 christos # hardcode_libdir_flag_spec is actually meaningless, as there is 5746 1.1 christos # no search path for DLLs. 5747 1.1 christos case $cc_basename in 5748 1.1.1.4 christos cl* | icl*) 5749 1.1.1.4 christos # Native MSVC or ICC 5750 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 5751 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5752 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=yes 5753 1.1 christos _LT_TAGVAR(file_list_spec, $1)='@' 5754 1.1 christos # Tell ltmain to make .lib files, not .a files. 5755 1.1 christos libext=lib 5756 1.1 christos # Tell ltmain to make .dll files, not .so files. 5757 1.1 christos shrext_cmds=.dll 5758 1.1 christos # FIXME: Setting linknames here is a bad hack. 5759 1.1.1.5 christos _LT_TAGVAR(archive_cmds, $1)='$CC -Fe$output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' 5760 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 5761 1.1 christos cp "$export_symbols" "$output_objdir/$soname.def"; 5762 1.1 christos echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 5763 1.1 christos else 5764 1.1 christos $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 5765 1.1 christos fi~ 5766 1.1.1.5 christos $CC -Fe$tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 5767 1.1 christos linknames=' 5768 1.1 christos # The linker will not automatically build a static lib if we build a DLL. 5769 1.1 christos # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 5770 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5771 1.1 christos _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' 5772 1.1 christos _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' 5773 1.1 christos # Don't use ranlib 5774 1.1 christos _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 5775 1.1 christos _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 5776 1.1 christos lt_tool_outputfile="@TOOL_OUTPUT@"~ 5777 1.1 christos case $lt_outputfile in 5778 1.1 christos *.exe|*.EXE) ;; 5779 1.1 christos *) 5780 1.1 christos lt_outputfile=$lt_outputfile.exe 5781 1.1 christos lt_tool_outputfile=$lt_tool_outputfile.exe 5782 1.1 christos ;; 5783 1.1 christos esac~ 5784 1.1 christos if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 5785 1.1 christos $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 5786 1.1 christos $RM "$lt_outputfile.manifest"; 5787 1.1 christos fi' 5788 1.1 christos ;; 5789 1.1 christos *) 5790 1.1.1.4 christos # Assume MSVC and ICC wrapper 5791 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 5792 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5793 1.1 christos # Tell ltmain to make .lib files, not .a files. 5794 1.1 christos libext=lib 5795 1.1 christos # Tell ltmain to make .dll files, not .so files. 5796 1.1 christos shrext_cmds=.dll 5797 1.1 christos # FIXME: Setting linknames here is a bad hack. 5798 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' 5799 1.1 christos # The linker will automatically build a .lib file if we build a DLL. 5800 1.1 christos _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 5801 1.1 christos # FIXME: Should let the user specify the lib program. 5802 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 5803 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5804 1.1 christos ;; 5805 1.1 christos esac 5806 1.1 christos ;; 5807 1.1 christos 5808 1.1 christos darwin* | rhapsody*) 5809 1.1 christos _LT_DARWIN_LINKER_FEATURES($1) 5810 1.1 christos ;; 5811 1.1 christos 5812 1.1 christos dgux*) 5813 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5814 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5815 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5816 1.1 christos ;; 5817 1.1 christos 5818 1.1 christos # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 5819 1.1 christos # support. Future versions do this automatically, but an explicit c++rt0.o 5820 1.1 christos # does not break anything, and helps significantly (at the cost of a little 5821 1.1 christos # extra space). 5822 1.1 christos freebsd2.2*) 5823 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 5824 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5825 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5826 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5827 1.1 christos ;; 5828 1.1 christos 5829 1.1 christos # Unfortunately, older versions of FreeBSD 2 do not have this feature. 5830 1.1 christos freebsd2.*) 5831 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 5832 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5833 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5834 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5835 1.1 christos ;; 5836 1.1 christos 5837 1.1 christos # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 5838 1.1.1.4 christos freebsd* | dragonfly* | midnightbsd*) 5839 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5840 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5841 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5842 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5843 1.1 christos ;; 5844 1.1 christos 5845 1.1 christos hpux9*) 5846 1.1 christos if test yes = "$GCC"; then 5847 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' 5848 1.1 christos else 5849 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' 5850 1.1 christos fi 5851 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 5852 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5853 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5854 1.1 christos 5855 1.1 christos # hardcode_minus_L: Not really in the search PATH, 5856 1.1 christos # but as the default location of the library. 5857 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5858 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5859 1.1 christos ;; 5860 1.1 christos 5861 1.1 christos hpux10*) 5862 1.1 christos if test yes,no = "$GCC,$with_gnu_ld"; then 5863 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5864 1.1 christos else 5865 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 5866 1.1 christos fi 5867 1.1 christos if test no = "$with_gnu_ld"; then 5868 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 5869 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5870 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5871 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5872 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5873 1.1 christos # hardcode_minus_L: Not really in the search PATH, 5874 1.1 christos # but as the default location of the library. 5875 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5876 1.1 christos fi 5877 1.1 christos ;; 5878 1.1 christos 5879 1.1 christos hpux11*) 5880 1.1 christos if test yes,no = "$GCC,$with_gnu_ld"; then 5881 1.1 christos case $host_cpu in 5882 1.1 christos hppa*64*) 5883 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 5884 1.1 christos ;; 5885 1.1 christos ia64*) 5886 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 5887 1.1 christos ;; 5888 1.1 christos *) 5889 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 5890 1.1 christos ;; 5891 1.1 christos esac 5892 1.1 christos else 5893 1.1 christos case $host_cpu in 5894 1.1 christos hppa*64*) 5895 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 5896 1.1 christos ;; 5897 1.1 christos ia64*) 5898 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 5899 1.1 christos ;; 5900 1.1 christos *) 5901 1.1 christos m4_if($1, [], [ 5902 1.1 christos # Older versions of the 11.00 compiler do not understand -b yet 5903 1.1 christos # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) 5904 1.1 christos _LT_LINKER_OPTION([if $CC understands -b], 5905 1.1 christos _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], 5906 1.1 christos [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], 5907 1.1 christos [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], 5908 1.1 christos [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) 5909 1.1 christos ;; 5910 1.1 christos esac 5911 1.1 christos fi 5912 1.1 christos if test no = "$with_gnu_ld"; then 5913 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 5914 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5915 1.1 christos 5916 1.1 christos case $host_cpu in 5917 1.1 christos hppa*64*|ia64*) 5918 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 5919 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5920 1.1 christos ;; 5921 1.1 christos *) 5922 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5923 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5924 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 5925 1.1 christos 5926 1.1 christos # hardcode_minus_L: Not really in the search PATH, 5927 1.1 christos # but as the default location of the library. 5928 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 5929 1.1 christos ;; 5930 1.1 christos esac 5931 1.1 christos fi 5932 1.1 christos ;; 5933 1.1 christos 5934 1.1 christos irix5* | irix6* | nonstopux*) 5935 1.1 christos if test yes = "$GCC"; then 5936 1.1 christos _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' 5937 1.1 christos # Try to use the -exported_symbol ld option, if it does not 5938 1.1 christos # work, assume that -exports_file does not work either and 5939 1.1 christos # implicitly export all symbols. 5940 1.1 christos # This should be the same for all languages, so no per-tag cache variable. 5941 1.1 christos AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], 5942 1.1 christos [lt_cv_irix_exported_symbol], 5943 1.1 christos [save_LDFLAGS=$LDFLAGS 5944 1.1 christos LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" 5945 1.1 christos AC_LINK_IFELSE( 5946 1.1 christos [AC_LANG_SOURCE( 5947 1.1 christos [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], 5948 1.1 christos [C++], [[int foo (void) { return 0; }]], 5949 1.1 christos [Fortran 77], [[ 5950 1.1 christos subroutine foo 5951 1.1 christos end]], 5952 1.1 christos [Fortran], [[ 5953 1.1 christos subroutine foo 5954 1.1 christos end]])])], 5955 1.1 christos [lt_cv_irix_exported_symbol=yes], 5956 1.1 christos [lt_cv_irix_exported_symbol=no]) 5957 1.1 christos LDFLAGS=$save_LDFLAGS]) 5958 1.1 christos if test yes = "$lt_cv_irix_exported_symbol"; then 5959 1.1 christos _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' 5960 1.1 christos fi 5961 1.1.1.3 christos _LT_TAGVAR(link_all_deplibs, $1)=no 5962 1.1 christos else 5963 1.1 christos _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' 5964 1.1 christos _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' 5965 1.1 christos fi 5966 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 5967 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5968 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5969 1.1 christos _LT_TAGVAR(inherit_rpath, $1)=yes 5970 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 5971 1.1 christos ;; 5972 1.1 christos 5973 1.1 christos linux*) 5974 1.1 christos case $cc_basename in 5975 1.1 christos tcc*) 5976 1.1 christos # Fabrice Bellard et al's Tiny C Compiler 5977 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=yes 5978 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 5979 1.1.1.4 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 5980 1.1 christos ;; 5981 1.1 christos esac 5982 1.1 christos ;; 5983 1.1 christos 5984 1.1.1.5 christos *-mlibc) 5985 1.1.1.5 christos ;; 5986 1.1.1.5 christos 5987 1.1.1.3 christos netbsd* | netbsdelf*-gnu) 5988 1.1 christos if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 5989 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 5990 1.1 christos else 5991 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 5992 1.1 christos fi 5993 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5994 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 5995 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5996 1.1 christos ;; 5997 1.1 christos 5998 1.1 christos newsos6) 5999 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 6000 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 6001 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 6002 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6003 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6004 1.1 christos ;; 6005 1.1 christos 6006 1.1 christos *nto* | *qnx*) 6007 1.1 christos ;; 6008 1.1 christos 6009 1.1.1.5 christos openbsd*) 6010 1.1 christos if test -f /usr/libexec/ld.so; then 6011 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 6012 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6013 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6014 1.1 christos if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then 6015 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 6016 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' 6017 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 6018 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 6019 1.1 christos else 6020 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 6021 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 6022 1.1 christos fi 6023 1.1 christos else 6024 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6025 1.1 christos fi 6026 1.1 christos ;; 6027 1.1 christos 6028 1.1 christos os2*) 6029 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6030 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 6031 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6032 1.1 christos shrext_cmds=.dll 6033 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 6034 1.1 christos $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 6035 1.1 christos $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 6036 1.1 christos $ECHO EXPORTS >> $output_objdir/$libname.def~ 6037 1.1 christos emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 6038 1.1 christos $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 6039 1.1 christos emximp -o $lib $output_objdir/$libname.def' 6040 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 6041 1.1 christos $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 6042 1.1 christos $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 6043 1.1 christos $ECHO EXPORTS >> $output_objdir/$libname.def~ 6044 1.1 christos prefix_cmds="$SED"~ 6045 1.1 christos if test EXPORTS = "`$SED 1q $export_symbols`"; then 6046 1.1 christos prefix_cmds="$prefix_cmds -e 1d"; 6047 1.1 christos fi~ 6048 1.1 christos prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 6049 1.1 christos cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 6050 1.1 christos $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 6051 1.1 christos emximp -o $lib $output_objdir/$libname.def' 6052 1.1.1.5 christos _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 6053 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6054 1.1.1.4 christos _LT_TAGVAR(file_list_spec, $1)='@' 6055 1.1 christos ;; 6056 1.1 christos 6057 1.1 christos osf3*) 6058 1.1 christos if test yes = "$GCC"; then 6059 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 6060 1.1 christos _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' 6061 1.1 christos else 6062 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 6063 1.1 christos _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' 6064 1.1 christos fi 6065 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 6066 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 6067 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6068 1.1 christos ;; 6069 1.1 christos 6070 1.1 christos osf4* | osf5*) # as osf3* with the addition of -msym flag 6071 1.1 christos if test yes = "$GCC"; then 6072 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 6073 1.1 christos _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' 6074 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 6075 1.1 christos else 6076 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 6077 1.1 christos _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' 6078 1.1 christos _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~ 6079 1.1 christos $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' 6080 1.1 christos 6081 1.1 christos # Both c and cxx compiler support -rpath directly 6082 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 6083 1.1 christos fi 6084 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 6085 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6086 1.1 christos ;; 6087 1.1 christos 6088 1.1.1.5 christos serenity*) 6089 1.1.1.5 christos ;; 6090 1.1.1.5 christos 6091 1.1 christos solaris*) 6092 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 6093 1.1 christos if test yes = "$GCC"; then 6094 1.1 christos wlarc='$wl' 6095 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' 6096 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6097 1.1 christos $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' 6098 1.1 christos else 6099 1.1 christos case `$CC -V 2>&1` in 6100 1.1 christos *"Compilers 5.0"*) 6101 1.1 christos wlarc='' 6102 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' 6103 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6104 1.1 christos $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 6105 1.1 christos ;; 6106 1.1 christos *) 6107 1.1 christos wlarc='$wl' 6108 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' 6109 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6110 1.1 christos $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 6111 1.1 christos ;; 6112 1.1 christos esac 6113 1.1 christos fi 6114 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6115 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6116 1.1 christos case $host_os in 6117 1.1 christos solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 6118 1.1 christos *) 6119 1.1 christos # The compiler driver will combine and reorder linker options, 6120 1.1 christos # but understands '-z linker_flag'. GCC discards it without '$wl', 6121 1.1 christos # but is careful enough not to reorder. 6122 1.1 christos # Supported since Solaris 2.6 (maybe 2.5.1?) 6123 1.1 christos if test yes = "$GCC"; then 6124 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 6125 1.1 christos else 6126 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 6127 1.1 christos fi 6128 1.1 christos ;; 6129 1.1 christos esac 6130 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 6131 1.1 christos ;; 6132 1.1 christos 6133 1.1 christos sunos4*) 6134 1.1 christos if test sequent = "$host_vendor"; then 6135 1.1 christos # Use $CC to link under sequent, because it throws in some extra .o 6136 1.1 christos # files that make .init and .fini sections work. 6137 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' 6138 1.1 christos else 6139 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 6140 1.1 christos fi 6141 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6142 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 6143 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 6144 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6145 1.1 christos ;; 6146 1.1 christos 6147 1.1 christos sysv4) 6148 1.1 christos case $host_vendor in 6149 1.1 christos sni) 6150 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 6151 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 6152 1.1 christos ;; 6153 1.1 christos siemens) 6154 1.1 christos ## LD is ld it makes a PLAMLIB 6155 1.1 christos ## CC just makes a GrossModule. 6156 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 6157 1.1 christos _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 6158 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 6159 1.1 christos ;; 6160 1.1 christos motorola) 6161 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 6162 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 6163 1.1 christos ;; 6164 1.1 christos esac 6165 1.1 christos runpath_var='LD_RUN_PATH' 6166 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6167 1.1 christos ;; 6168 1.1 christos 6169 1.1 christos sysv4.3*) 6170 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 6171 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6172 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 6173 1.1 christos ;; 6174 1.1 christos 6175 1.1 christos sysv4*MP*) 6176 1.1 christos if test -d /usr/nec; then 6177 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 6178 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6179 1.1 christos runpath_var=LD_RUN_PATH 6180 1.1 christos hardcode_runpath_var=yes 6181 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=yes 6182 1.1 christos fi 6183 1.1 christos ;; 6184 1.1 christos 6185 1.1 christos sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 6186 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 6187 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6188 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6189 1.1 christos runpath_var='LD_RUN_PATH' 6190 1.1 christos 6191 1.1 christos if test yes = "$GCC"; then 6192 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6193 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6194 1.1 christos else 6195 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6196 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6197 1.1 christos fi 6198 1.1 christos ;; 6199 1.1 christos 6200 1.1 christos sysv5* | sco3.2v5* | sco5v6*) 6201 1.1 christos # Note: We CANNOT use -z defs as we might desire, because we do not 6202 1.1 christos # link with -lc, and that would cause any symbols used from libc to 6203 1.1 christos # always be unresolved, which means just about no library would 6204 1.1 christos # ever link correctly. If we're not using GNU ld we use -z text 6205 1.1 christos # though, which does catch some bad symbols but isn't as heavy-handed 6206 1.1 christos # as -z defs. 6207 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 6208 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 6209 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6210 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6211 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 6212 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 6213 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 6214 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 6215 1.1 christos runpath_var='LD_RUN_PATH' 6216 1.1 christos 6217 1.1 christos if test yes = "$GCC"; then 6218 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6219 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6220 1.1 christos else 6221 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6222 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6223 1.1 christos fi 6224 1.1 christos ;; 6225 1.1 christos 6226 1.1 christos uts4*) 6227 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 6228 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6229 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6230 1.1 christos ;; 6231 1.1 christos 6232 1.1 christos *) 6233 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6234 1.1 christos ;; 6235 1.1 christos esac 6236 1.1 christos 6237 1.1 christos if test sni = "$host_vendor"; then 6238 1.1 christos case $host in 6239 1.1 christos sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 6240 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' 6241 1.1 christos ;; 6242 1.1 christos esac 6243 1.1 christos fi 6244 1.1 christos fi 6245 1.1 christos ]) 6246 1.1 christos AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 6247 1.1 christos test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 6248 1.1 christos 6249 1.1 christos _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 6250 1.1 christos 6251 1.1 christos _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 6252 1.1 christos _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 6253 1.1 christos _LT_DECL([], [extract_expsyms_cmds], [2], 6254 1.1 christos [The commands to extract the exported symbol list from a shared archive]) 6255 1.1 christos 6256 1.1 christos # 6257 1.1 christos # Do we need to explicitly link libc? 6258 1.1 christos # 6259 1.1 christos case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 6260 1.1 christos x|xyes) 6261 1.1 christos # Assume -lc should be added 6262 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6263 1.1 christos 6264 1.1 christos if test yes,yes = "$GCC,$enable_shared"; then 6265 1.1 christos case $_LT_TAGVAR(archive_cmds, $1) in 6266 1.1 christos *'~'*) 6267 1.1 christos # FIXME: we may have to deal with multi-command sequences. 6268 1.1 christos ;; 6269 1.1 christos '$CC '*) 6270 1.1 christos # Test whether the compiler implicitly links with -lc since on some 6271 1.1 christos # systems, -lgcc has to come before -lc. If gcc already passes -lc 6272 1.1 christos # to ld, don't add -lc before -lgcc. 6273 1.1 christos AC_CACHE_CHECK([whether -lc should be explicitly linked in], 6274 1.1 christos [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), 6275 1.1 christos [$RM conftest* 6276 1.1 christos echo "$lt_simple_compile_test_code" > conftest.$ac_ext 6277 1.1 christos 6278 1.1 christos if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 6279 1.1 christos soname=conftest 6280 1.1 christos lib=conftest 6281 1.1 christos libobjs=conftest.$ac_objext 6282 1.1 christos deplibs= 6283 1.1 christos wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 6284 1.1 christos pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 6285 1.1 christos compiler_flags=-v 6286 1.1 christos linker_flags=-v 6287 1.1 christos verstring= 6288 1.1 christos output_objdir=. 6289 1.1 christos libname=conftest 6290 1.1 christos lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 6291 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)= 6292 1.1 christos if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 6293 1.1 christos then 6294 1.1 christos lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6295 1.1 christos else 6296 1.1 christos lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6297 1.1 christos fi 6298 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 6299 1.1 christos else 6300 1.1 christos cat conftest.err 1>&5 6301 1.1 christos fi 6302 1.1 christos $RM conftest* 6303 1.1 christos ]) 6304 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) 6305 1.1 christos ;; 6306 1.1 christos esac 6307 1.1 christos fi 6308 1.1 christos ;; 6309 1.1 christos esac 6310 1.1 christos 6311 1.1 christos _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 6312 1.1 christos [Whether or not to add -lc for building shared libraries]) 6313 1.1 christos _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 6314 1.1 christos [enable_shared_with_static_runtimes], [0], 6315 1.1 christos [Whether or not to disallow shared libs when runtime libs are static]) 6316 1.1 christos _LT_TAGDECL([], [export_dynamic_flag_spec], [1], 6317 1.1 christos [Compiler flag to allow reflexive dlopens]) 6318 1.1 christos _LT_TAGDECL([], [whole_archive_flag_spec], [1], 6319 1.1 christos [Compiler flag to generate shared objects directly from archives]) 6320 1.1 christos _LT_TAGDECL([], [compiler_needs_object], [1], 6321 1.1 christos [Whether the compiler copes with passing no objects directly]) 6322 1.1 christos _LT_TAGDECL([], [old_archive_from_new_cmds], [2], 6323 1.1 christos [Create an old-style archive from a shared archive]) 6324 1.1 christos _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 6325 1.1 christos [Create a temporary old-style archive to link instead of a shared archive]) 6326 1.1 christos _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 6327 1.1 christos _LT_TAGDECL([], [archive_expsym_cmds], [2]) 6328 1.1 christos _LT_TAGDECL([], [module_cmds], [2], 6329 1.1 christos [Commands used to build a loadable module if different from building 6330 1.1 christos a shared archive.]) 6331 1.1 christos _LT_TAGDECL([], [module_expsym_cmds], [2]) 6332 1.1 christos _LT_TAGDECL([], [with_gnu_ld], [1], 6333 1.1 christos [Whether we are building with GNU ld or not]) 6334 1.1 christos _LT_TAGDECL([], [allow_undefined_flag], [1], 6335 1.1 christos [Flag that allows shared libraries with undefined symbols to be built]) 6336 1.1 christos _LT_TAGDECL([], [no_undefined_flag], [1], 6337 1.1 christos [Flag that enforces no undefined symbols]) 6338 1.1 christos _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 6339 1.1 christos [Flag to hardcode $libdir into a binary during linking. 6340 1.1 christos This must work even if $libdir does not exist]) 6341 1.1 christos _LT_TAGDECL([], [hardcode_libdir_separator], [1], 6342 1.1 christos [Whether we need a single "-rpath" flag with a separated argument]) 6343 1.1 christos _LT_TAGDECL([], [hardcode_direct], [0], 6344 1.1 christos [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 6345 1.1 christos DIR into the resulting binary]) 6346 1.1 christos _LT_TAGDECL([], [hardcode_direct_absolute], [0], 6347 1.1 christos [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes 6348 1.1 christos DIR into the resulting binary and the resulting library dependency is 6349 1.1.1.5 christos "absolute", i.e. impossible to change by setting $shlibpath_var if the 6350 1.1 christos library is relocated]) 6351 1.1 christos _LT_TAGDECL([], [hardcode_minus_L], [0], 6352 1.1 christos [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 6353 1.1 christos into the resulting binary]) 6354 1.1 christos _LT_TAGDECL([], [hardcode_shlibpath_var], [0], 6355 1.1 christos [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 6356 1.1 christos into the resulting binary]) 6357 1.1 christos _LT_TAGDECL([], [hardcode_automatic], [0], 6358 1.1 christos [Set to "yes" if building a shared library automatically hardcodes DIR 6359 1.1 christos into the library and all subsequent libraries and executables linked 6360 1.1 christos against it]) 6361 1.1 christos _LT_TAGDECL([], [inherit_rpath], [0], 6362 1.1 christos [Set to yes if linker adds runtime paths of dependent libraries 6363 1.1 christos to runtime path list]) 6364 1.1 christos _LT_TAGDECL([], [link_all_deplibs], [0], 6365 1.1 christos [Whether libtool must link a program against all its dependency libraries]) 6366 1.1 christos _LT_TAGDECL([], [always_export_symbols], [0], 6367 1.1 christos [Set to "yes" if exported symbols are required]) 6368 1.1 christos _LT_TAGDECL([], [export_symbols_cmds], [2], 6369 1.1 christos [The commands to list exported symbols]) 6370 1.1 christos _LT_TAGDECL([], [exclude_expsyms], [1], 6371 1.1 christos [Symbols that should not be listed in the preloaded symbols]) 6372 1.1 christos _LT_TAGDECL([], [include_expsyms], [1], 6373 1.1 christos [Symbols that must always be exported]) 6374 1.1 christos _LT_TAGDECL([], [prelink_cmds], [2], 6375 1.1 christos [Commands necessary for linking programs (against libraries) with templates]) 6376 1.1 christos _LT_TAGDECL([], [postlink_cmds], [2], 6377 1.1 christos [Commands necessary for finishing linking programs]) 6378 1.1 christos _LT_TAGDECL([], [file_list_spec], [1], 6379 1.1 christos [Specify filename containing input files]) 6380 1.1 christos dnl FIXME: Not yet implemented 6381 1.1 christos dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 6382 1.1 christos dnl [Compiler flag to generate thread safe objects]) 6383 1.1 christos ])# _LT_LINKER_SHLIBS 6384 1.1 christos 6385 1.1 christos 6386 1.1 christos # _LT_LANG_C_CONFIG([TAG]) 6387 1.1 christos # ------------------------ 6388 1.1 christos # Ensure that the configuration variables for a C compiler are suitably 6389 1.1 christos # defined. These variables are subsequently used by _LT_CONFIG to write 6390 1.1 christos # the compiler configuration to 'libtool'. 6391 1.1 christos m4_defun([_LT_LANG_C_CONFIG], 6392 1.1 christos [m4_require([_LT_DECL_EGREP])dnl 6393 1.1 christos lt_save_CC=$CC 6394 1.1 christos AC_LANG_PUSH(C) 6395 1.1 christos 6396 1.1 christos # Source file extension for C test sources. 6397 1.1 christos ac_ext=c 6398 1.1 christos 6399 1.1 christos # Object file extension for compiled C test sources. 6400 1.1 christos objext=o 6401 1.1 christos _LT_TAGVAR(objext, $1)=$objext 6402 1.1 christos 6403 1.1 christos # Code to be used in simple compile tests 6404 1.1 christos lt_simple_compile_test_code="int some_variable = 0;" 6405 1.1 christos 6406 1.1 christos # Code to be used in simple link tests 6407 1.1.1.5 christos lt_simple_link_test_code='int main(void){return(0);}' 6408 1.1 christos 6409 1.1 christos _LT_TAG_COMPILER 6410 1.1 christos # Save the default compiler, since it gets overwritten when the other 6411 1.1 christos # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 6412 1.1 christos compiler_DEFAULT=$CC 6413 1.1 christos 6414 1.1 christos # save warnings/boilerplate of simple test code 6415 1.1 christos _LT_COMPILER_BOILERPLATE 6416 1.1 christos _LT_LINKER_BOILERPLATE 6417 1.1 christos 6418 1.1 christos ## CAVEAT EMPTOR: 6419 1.1 christos ## There is no encapsulation within the following macros, do not change 6420 1.1 christos ## the running order or otherwise move them around unless you know exactly 6421 1.1 christos ## what you are doing... 6422 1.1 christos if test -n "$compiler"; then 6423 1.1 christos _LT_COMPILER_NO_RTTI($1) 6424 1.1 christos _LT_COMPILER_PIC($1) 6425 1.1 christos _LT_COMPILER_C_O($1) 6426 1.1 christos _LT_COMPILER_FILE_LOCKS($1) 6427 1.1 christos _LT_LINKER_SHLIBS($1) 6428 1.1 christos _LT_SYS_DYNAMIC_LINKER($1) 6429 1.1 christos _LT_LINKER_HARDCODE_LIBPATH($1) 6430 1.1 christos LT_SYS_DLOPEN_SELF 6431 1.1 christos _LT_CMD_STRIPLIB 6432 1.1 christos 6433 1.1 christos # Report what library types will actually be built 6434 1.1 christos AC_MSG_CHECKING([if libtool supports shared libraries]) 6435 1.1 christos AC_MSG_RESULT([$can_build_shared]) 6436 1.1 christos 6437 1.1 christos AC_MSG_CHECKING([whether to build shared libraries]) 6438 1.1 christos test no = "$can_build_shared" && enable_shared=no 6439 1.1 christos 6440 1.1 christos # On AIX, shared libraries and static libraries use the same namespace, and 6441 1.1 christos # are all built from PIC. 6442 1.1 christos case $host_os in 6443 1.1 christos aix3*) 6444 1.1 christos test yes = "$enable_shared" && enable_static=no 6445 1.1 christos if test -n "$RANLIB"; then 6446 1.1 christos archive_cmds="$archive_cmds~\$RANLIB \$lib" 6447 1.1 christos postinstall_cmds='$RANLIB $lib' 6448 1.1 christos fi 6449 1.1 christos ;; 6450 1.1 christos 6451 1.1 christos aix[[4-9]]*) 6452 1.1 christos if test ia64 != "$host_cpu"; then 6453 1.1 christos case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 6454 1.1 christos yes,aix,yes) ;; # shared object as lib.so file only 6455 1.1 christos yes,svr4,*) ;; # shared object as lib.so archive member only 6456 1.1 christos yes,*) enable_static=no ;; # shared object in lib.a archive as well 6457 1.1 christos esac 6458 1.1 christos fi 6459 1.1 christos ;; 6460 1.1 christos esac 6461 1.1 christos AC_MSG_RESULT([$enable_shared]) 6462 1.1 christos 6463 1.1 christos AC_MSG_CHECKING([whether to build static libraries]) 6464 1.1 christos # Make sure either enable_shared or enable_static is yes. 6465 1.1 christos test yes = "$enable_shared" || enable_static=yes 6466 1.1 christos AC_MSG_RESULT([$enable_static]) 6467 1.1 christos 6468 1.1 christos _LT_CONFIG($1) 6469 1.1 christos fi 6470 1.1 christos AC_LANG_POP 6471 1.1 christos CC=$lt_save_CC 6472 1.1 christos ])# _LT_LANG_C_CONFIG 6473 1.1 christos 6474 1.1 christos 6475 1.1 christos # _LT_LANG_CXX_CONFIG([TAG]) 6476 1.1 christos # -------------------------- 6477 1.1 christos # Ensure that the configuration variables for a C++ compiler are suitably 6478 1.1 christos # defined. These variables are subsequently used by _LT_CONFIG to write 6479 1.1 christos # the compiler configuration to 'libtool'. 6480 1.1 christos m4_defun([_LT_LANG_CXX_CONFIG], 6481 1.1 christos [m4_require([_LT_FILEUTILS_DEFAULTS])dnl 6482 1.1 christos m4_require([_LT_DECL_EGREP])dnl 6483 1.1 christos m4_require([_LT_PATH_MANIFEST_TOOL])dnl 6484 1.1 christos if test -n "$CXX" && ( test no != "$CXX" && 6485 1.1 christos ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || 6486 1.1 christos (test g++ != "$CXX"))); then 6487 1.1 christos AC_PROG_CXXCPP 6488 1.1 christos else 6489 1.1 christos _lt_caught_CXX_error=yes 6490 1.1 christos fi 6491 1.1 christos 6492 1.1 christos AC_LANG_PUSH(C++) 6493 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6494 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)= 6495 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=no 6496 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)= 6497 1.1 christos _LT_TAGVAR(compiler_needs_object, $1)=no 6498 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)= 6499 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 6500 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=no 6501 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 6502 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)= 6503 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=no 6504 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 6505 1.1 christos _LT_TAGVAR(hardcode_automatic, $1)=no 6506 1.1 christos _LT_TAGVAR(inherit_rpath, $1)=no 6507 1.1 christos _LT_TAGVAR(module_cmds, $1)= 6508 1.1 christos _LT_TAGVAR(module_expsym_cmds, $1)= 6509 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=unknown 6510 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 6511 1.1 christos _LT_TAGVAR(reload_flag, $1)=$reload_flag 6512 1.1 christos _LT_TAGVAR(reload_cmds, $1)=$reload_cmds 6513 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)= 6514 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)= 6515 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 6516 1.1 christos 6517 1.1 christos # Source file extension for C++ test sources. 6518 1.1 christos ac_ext=cpp 6519 1.1 christos 6520 1.1 christos # Object file extension for compiled C++ test sources. 6521 1.1 christos objext=o 6522 1.1 christos _LT_TAGVAR(objext, $1)=$objext 6523 1.1 christos 6524 1.1 christos # No sense in running all these tests if we already determined that 6525 1.1 christos # the CXX compiler isn't working. Some variables (like enable_shared) 6526 1.1 christos # are currently assumed to apply to all compilers on this platform, 6527 1.1 christos # and will be corrupted by setting them based on a non-working compiler. 6528 1.1 christos if test yes != "$_lt_caught_CXX_error"; then 6529 1.1 christos # Code to be used in simple compile tests 6530 1.1 christos lt_simple_compile_test_code="int some_variable = 0;" 6531 1.1 christos 6532 1.1 christos # Code to be used in simple link tests 6533 1.1 christos lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 6534 1.1 christos 6535 1.1 christos # ltmain only uses $CC for tagged configurations so make sure $CC is set. 6536 1.1 christos _LT_TAG_COMPILER 6537 1.1 christos 6538 1.1 christos # save warnings/boilerplate of simple test code 6539 1.1 christos _LT_COMPILER_BOILERPLATE 6540 1.1 christos _LT_LINKER_BOILERPLATE 6541 1.1 christos 6542 1.1 christos # Allow CC to be a program name with arguments. 6543 1.1 christos lt_save_CC=$CC 6544 1.1 christos lt_save_CFLAGS=$CFLAGS 6545 1.1 christos lt_save_LD=$LD 6546 1.1 christos lt_save_GCC=$GCC 6547 1.1 christos GCC=$GXX 6548 1.1 christos lt_save_with_gnu_ld=$with_gnu_ld 6549 1.1 christos lt_save_path_LD=$lt_cv_path_LD 6550 1.1 christos if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 6551 1.1 christos lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 6552 1.1 christos else 6553 1.1 christos $as_unset lt_cv_prog_gnu_ld 6554 1.1 christos fi 6555 1.1 christos if test -n "${lt_cv_path_LDCXX+set}"; then 6556 1.1 christos lt_cv_path_LD=$lt_cv_path_LDCXX 6557 1.1 christos else 6558 1.1 christos $as_unset lt_cv_path_LD 6559 1.1 christos fi 6560 1.1 christos test -z "${LDCXX+set}" || LD=$LDCXX 6561 1.1 christos CC=${CXX-"c++"} 6562 1.1 christos CFLAGS=$CXXFLAGS 6563 1.1 christos compiler=$CC 6564 1.1 christos _LT_TAGVAR(compiler, $1)=$CC 6565 1.1 christos _LT_CC_BASENAME([$compiler]) 6566 1.1 christos 6567 1.1 christos if test -n "$compiler"; then 6568 1.1 christos # We don't want -fno-exception when compiling C++ code, so set the 6569 1.1 christos # no_builtin_flag separately 6570 1.1 christos if test yes = "$GXX"; then 6571 1.1 christos _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 6572 1.1 christos else 6573 1.1 christos _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 6574 1.1 christos fi 6575 1.1 christos 6576 1.1 christos if test yes = "$GXX"; then 6577 1.1 christos # Set up default GNU C++ configuration 6578 1.1 christos 6579 1.1 christos LT_PATH_LD 6580 1.1 christos 6581 1.1 christos # Check if GNU C++ uses GNU ld as the underlying linker, since the 6582 1.1 christos # archiving commands below assume that GNU ld is being used. 6583 1.1 christos if test yes = "$with_gnu_ld"; then 6584 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 6585 1.1 christos _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' 6586 1.1 christos 6587 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 6588 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 6589 1.1 christos 6590 1.1 christos # If archive_cmds runs LD, not CC, wlarc should be empty 6591 1.1 christos # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 6592 1.1 christos # investigate it a little bit more. (MM) 6593 1.1 christos wlarc='$wl' 6594 1.1 christos 6595 1.1 christos # ancient GNU ld didn't support --whole-archive et. al. 6596 1.1.1.5 christos if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 6597 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 6598 1.1 christos else 6599 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)= 6600 1.1 christos fi 6601 1.1 christos else 6602 1.1 christos with_gnu_ld=no 6603 1.1 christos wlarc= 6604 1.1 christos 6605 1.1 christos # A generic and very simple default shared library creation 6606 1.1 christos # command for GNU C++ for the case where it uses the native 6607 1.1 christos # linker, instead of GNU ld. If possible, this setting should 6608 1.1 christos # overridden to take advantage of the native linker features on 6609 1.1 christos # the platform it is being used on. 6610 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 6611 1.1 christos fi 6612 1.1 christos 6613 1.1 christos # Commands to make compiler produce verbose output that lists 6614 1.1 christos # what "hidden" libraries, object files and flags are used when 6615 1.1 christos # linking a shared library. 6616 1.1.1.5 christos output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"' 6617 1.1 christos 6618 1.1 christos else 6619 1.1 christos GXX=no 6620 1.1 christos with_gnu_ld=no 6621 1.1 christos wlarc= 6622 1.1 christos fi 6623 1.1 christos 6624 1.1 christos # PORTME: fill in a description of your system's C++ link characteristics 6625 1.1 christos AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 6626 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=yes 6627 1.1 christos case $host_os in 6628 1.1 christos aix3*) 6629 1.1 christos # FIXME: insert proper C++ library support 6630 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6631 1.1 christos ;; 6632 1.1 christos aix[[4-9]]*) 6633 1.1 christos if test ia64 = "$host_cpu"; then 6634 1.1 christos # On IA64, the linker does run time linking by default, so we don't 6635 1.1 christos # have to do anything special. 6636 1.1 christos aix_use_runtimelinking=no 6637 1.1 christos exp_sym_flag='-Bexport' 6638 1.1 christos no_entry_flag= 6639 1.1 christos else 6640 1.1 christos aix_use_runtimelinking=no 6641 1.1 christos 6642 1.1 christos # Test if we are trying to use run time linking or normal 6643 1.1 christos # AIX style linking. If -brtl is somewhere in LDFLAGS, we 6644 1.1 christos # have runtime linking enabled, and use it for executables. 6645 1.1 christos # For shared libraries, we enable/disable runtime linking 6646 1.1 christos # depending on the kind of the shared library created - 6647 1.1 christos # when "with_aix_soname,aix_use_runtimelinking" is: 6648 1.1 christos # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables 6649 1.1 christos # "aix,yes" lib.so shared, rtl:yes, for executables 6650 1.1 christos # lib.a static archive 6651 1.1 christos # "both,no" lib.so.V(shr.o) shared, rtl:yes 6652 1.1 christos # lib.a(lib.so.V) shared, rtl:no, for executables 6653 1.1 christos # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables 6654 1.1 christos # lib.a(lib.so.V) shared, rtl:no 6655 1.1 christos # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables 6656 1.1 christos # lib.a static archive 6657 1.1 christos case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 6658 1.1 christos for ld_flag in $LDFLAGS; do 6659 1.1 christos case $ld_flag in 6660 1.1 christos *-brtl*) 6661 1.1 christos aix_use_runtimelinking=yes 6662 1.1 christos break 6663 1.1 christos ;; 6664 1.1 christos esac 6665 1.1 christos done 6666 1.1 christos if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then 6667 1.1 christos # With aix-soname=svr4, we create the lib.so.V shared archives only, 6668 1.1 christos # so we don't have lib.a shared libs to link our executables. 6669 1.1 christos # We have to force runtime linking in this case. 6670 1.1 christos aix_use_runtimelinking=yes 6671 1.1 christos LDFLAGS="$LDFLAGS -Wl,-brtl" 6672 1.1 christos fi 6673 1.1 christos ;; 6674 1.1 christos esac 6675 1.1 christos 6676 1.1 christos exp_sym_flag='-bexport' 6677 1.1 christos no_entry_flag='-bnoentry' 6678 1.1 christos fi 6679 1.1 christos 6680 1.1 christos # When large executables or shared objects are built, AIX ld can 6681 1.1 christos # have problems creating the table of contents. If linking a library 6682 1.1 christos # or program results in "error TOC overflow" add -mminimal-toc to 6683 1.1 christos # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 6684 1.1 christos # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 6685 1.1 christos 6686 1.1 christos _LT_TAGVAR(archive_cmds, $1)='' 6687 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 6688 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6689 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 6690 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 6691 1.1 christos _LT_TAGVAR(file_list_spec, $1)='$wl-f,' 6692 1.1 christos case $with_aix_soname,$aix_use_runtimelinking in 6693 1.1 christos aix,*) ;; # no import file 6694 1.1 christos svr4,* | *,yes) # use import file 6695 1.1 christos # The Import File defines what to hardcode. 6696 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 6697 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=no 6698 1.1 christos ;; 6699 1.1 christos esac 6700 1.1 christos 6701 1.1 christos if test yes = "$GXX"; then 6702 1.1 christos case $host_os in aix4.[[012]]|aix4.[[012]].*) 6703 1.1 christos # We only want to do this on AIX 4.2 and lower, the check 6704 1.1 christos # below for broken collect2 doesn't work under 4.3+ 6705 1.1 christos collect2name=`$CC -print-prog-name=collect2` 6706 1.1 christos if test -f "$collect2name" && 6707 1.1 christos strings "$collect2name" | $GREP resolve_lib_name >/dev/null 6708 1.1 christos then 6709 1.1 christos # We have reworked collect2 6710 1.1 christos : 6711 1.1 christos else 6712 1.1 christos # We have old collect2 6713 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=unsupported 6714 1.1 christos # It fails to find uninstalled libraries when the uninstalled 6715 1.1 christos # path is not listed in the libpath. Setting hardcode_minus_L 6716 1.1 christos # to unsupported forces relinking 6717 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 6718 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6719 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)= 6720 1.1 christos fi 6721 1.1 christos esac 6722 1.1 christos shared_flag='-shared' 6723 1.1 christos if test yes = "$aix_use_runtimelinking"; then 6724 1.1 christos shared_flag=$shared_flag' $wl-G' 6725 1.1 christos fi 6726 1.1 christos # Need to ensure runtime linking is disabled for the traditional 6727 1.1 christos # shared library, or the linker may eventually find shared libraries 6728 1.1 christos # /with/ Import File - we do not want to mix them. 6729 1.1 christos shared_flag_aix='-shared' 6730 1.1 christos shared_flag_svr4='-shared $wl-G' 6731 1.1 christos else 6732 1.1 christos # not using gcc 6733 1.1 christos if test ia64 = "$host_cpu"; then 6734 1.1 christos # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 6735 1.1 christos # chokes on -Wl,-G. The following line is correct: 6736 1.1 christos shared_flag='-G' 6737 1.1 christos else 6738 1.1 christos if test yes = "$aix_use_runtimelinking"; then 6739 1.1 christos shared_flag='$wl-G' 6740 1.1 christos else 6741 1.1 christos shared_flag='$wl-bM:SRE' 6742 1.1 christos fi 6743 1.1 christos shared_flag_aix='$wl-bM:SRE' 6744 1.1 christos shared_flag_svr4='$wl-G' 6745 1.1 christos fi 6746 1.1 christos fi 6747 1.1 christos 6748 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' 6749 1.1 christos # It seems that -bexpall does not export symbols beginning with 6750 1.1 christos # underscore (_), so it is better to generate a list of symbols to 6751 1.1 christos # export. 6752 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=yes 6753 1.1 christos if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then 6754 1.1 christos # Warning - without using the other runtime loading flags (-brtl), 6755 1.1 christos # -berok will link without error, but may produce a broken library. 6756 1.1 christos # The "-G" linker flag allows undefined symbols. 6757 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' 6758 1.1 christos # Determine the default libpath from the value encoded in an empty 6759 1.1 christos # executable. 6760 1.1 christos _LT_SYS_MODULE_PATH_AIX([$1]) 6761 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 6762 1.1 christos 6763 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag 6764 1.1 christos else 6765 1.1 christos if test ia64 = "$host_cpu"; then 6766 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' 6767 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 6768 1.1 christos _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" 6769 1.1 christos else 6770 1.1 christos # Determine the default libpath from the value encoded in an 6771 1.1 christos # empty executable. 6772 1.1 christos _LT_SYS_MODULE_PATH_AIX([$1]) 6773 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" 6774 1.1 christos # Warning - without using the other run time loading flags, 6775 1.1 christos # -berok will link without error, but may produce a broken library. 6776 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' 6777 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' 6778 1.1 christos if test yes = "$with_gnu_ld"; then 6779 1.1 christos # We only use this code for GNU lds that support --whole-archive. 6780 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 6781 1.1 christos else 6782 1.1 christos # Exported symbols can be pulled into shared objects from archives 6783 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 6784 1.1 christos fi 6785 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 6786 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' 6787 1.1 christos # -brtl affects multiple linker settings, -berok does not and is overridden later 6788 1.1 christos compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' 6789 1.1 christos if test svr4 != "$with_aix_soname"; then 6790 1.1 christos # This is similar to how AIX traditionally builds its shared 6791 1.1 christos # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. 6792 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' 6793 1.1 christos fi 6794 1.1 christos if test aix != "$with_aix_soname"; then 6795 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' 6796 1.1 christos else 6797 1.1 christos # used by -dlpreopen to get the symbols 6798 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' 6799 1.1 christos fi 6800 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' 6801 1.1 christos fi 6802 1.1 christos fi 6803 1.1 christos ;; 6804 1.1 christos 6805 1.1 christos beos*) 6806 1.1 christos if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 6807 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6808 1.1 christos # Joseph Beckenbach <jrb3 (a] best.com> says some releases of gcc 6809 1.1 christos # support --undefined. This deserves some investigation. FIXME 6810 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 6811 1.1 christos else 6812 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6813 1.1 christos fi 6814 1.1 christos ;; 6815 1.1 christos 6816 1.1 christos chorus*) 6817 1.1 christos case $cc_basename in 6818 1.1 christos *) 6819 1.1 christos # FIXME: insert proper C++ library support 6820 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6821 1.1 christos ;; 6822 1.1 christos esac 6823 1.1 christos ;; 6824 1.1 christos 6825 1.1.1.5 christos cygwin* | mingw* | windows* | pw32* | cegcc*) 6826 1.1 christos case $GXX,$cc_basename in 6827 1.1.1.4 christos ,cl* | no,cl* | ,icl* | no,icl*) 6828 1.1.1.4 christos # Native MSVC or ICC 6829 1.1 christos # hardcode_libdir_flag_spec is actually meaningless, as there is 6830 1.1 christos # no search path for DLLs. 6831 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 6832 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6833 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=yes 6834 1.1 christos _LT_TAGVAR(file_list_spec, $1)='@' 6835 1.1 christos # Tell ltmain to make .lib files, not .a files. 6836 1.1 christos libext=lib 6837 1.1 christos # Tell ltmain to make .dll files, not .so files. 6838 1.1 christos shrext_cmds=.dll 6839 1.1 christos # FIXME: Setting linknames here is a bad hack. 6840 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' 6841 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 6842 1.1 christos cp "$export_symbols" "$output_objdir/$soname.def"; 6843 1.1 christos echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; 6844 1.1 christos else 6845 1.1 christos $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; 6846 1.1 christos fi~ 6847 1.1 christos $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ 6848 1.1 christos linknames=' 6849 1.1 christos # The linker will not automatically build a static lib if we build a DLL. 6850 1.1 christos # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 6851 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6852 1.1 christos # Don't use ranlib 6853 1.1 christos _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' 6854 1.1 christos _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ 6855 1.1 christos lt_tool_outputfile="@TOOL_OUTPUT@"~ 6856 1.1 christos case $lt_outputfile in 6857 1.1 christos *.exe|*.EXE) ;; 6858 1.1 christos *) 6859 1.1 christos lt_outputfile=$lt_outputfile.exe 6860 1.1 christos lt_tool_outputfile=$lt_tool_outputfile.exe 6861 1.1 christos ;; 6862 1.1 christos esac~ 6863 1.1 christos func_to_tool_file "$lt_outputfile"~ 6864 1.1 christos if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then 6865 1.1 christos $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; 6866 1.1 christos $RM "$lt_outputfile.manifest"; 6867 1.1 christos fi' 6868 1.1 christos ;; 6869 1.1 christos *) 6870 1.1 christos # g++ 6871 1.1 christos # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 6872 1.1 christos # as there is no search path for DLLs. 6873 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6874 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' 6875 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6876 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=no 6877 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6878 1.1.1.5 christos _LT_TAGVAR(file_list_spec, $1)='@' 6879 1.1 christos 6880 1.1 christos if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 6881 1.1 christos _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' 6882 1.1 christos # If the export-symbols file already is a .def file, use it as 6883 1.1 christos # is; otherwise, prepend EXPORTS... 6884 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then 6885 1.1 christos cp $export_symbols $output_objdir/$soname.def; 6886 1.1 christos else 6887 1.1 christos echo EXPORTS > $output_objdir/$soname.def; 6888 1.1 christos cat $export_symbols >> $output_objdir/$soname.def; 6889 1.1 christos fi~ 6890 1.1 christos $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' 6891 1.1 christos else 6892 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6893 1.1 christos fi 6894 1.1 christos ;; 6895 1.1 christos esac 6896 1.1 christos ;; 6897 1.1 christos darwin* | rhapsody*) 6898 1.1 christos _LT_DARWIN_LINKER_FEATURES($1) 6899 1.1 christos ;; 6900 1.1 christos 6901 1.1 christos os2*) 6902 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 6903 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes 6904 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 6905 1.1 christos shrext_cmds=.dll 6906 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 6907 1.1 christos $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 6908 1.1 christos $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 6909 1.1 christos $ECHO EXPORTS >> $output_objdir/$libname.def~ 6910 1.1 christos emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ 6911 1.1 christos $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 6912 1.1 christos emximp -o $lib $output_objdir/$libname.def' 6913 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ 6914 1.1 christos $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ 6915 1.1 christos $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ 6916 1.1 christos $ECHO EXPORTS >> $output_objdir/$libname.def~ 6917 1.1 christos prefix_cmds="$SED"~ 6918 1.1 christos if test EXPORTS = "`$SED 1q $export_symbols`"; then 6919 1.1 christos prefix_cmds="$prefix_cmds -e 1d"; 6920 1.1 christos fi~ 6921 1.1 christos prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ 6922 1.1 christos cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ 6923 1.1 christos $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ 6924 1.1 christos emximp -o $lib $output_objdir/$libname.def' 6925 1.1.1.5 christos _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' 6926 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 6927 1.1.1.4 christos _LT_TAGVAR(file_list_spec, $1)='@' 6928 1.1 christos ;; 6929 1.1 christos 6930 1.1 christos dgux*) 6931 1.1 christos case $cc_basename in 6932 1.1 christos ec++*) 6933 1.1 christos # FIXME: insert proper C++ library support 6934 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6935 1.1 christos ;; 6936 1.1 christos ghcx*) 6937 1.1 christos # Green Hills C++ Compiler 6938 1.1 christos # FIXME: insert proper C++ library support 6939 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6940 1.1 christos ;; 6941 1.1 christos *) 6942 1.1 christos # FIXME: insert proper C++ library support 6943 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6944 1.1 christos ;; 6945 1.1 christos esac 6946 1.1 christos ;; 6947 1.1 christos 6948 1.1 christos freebsd2.*) 6949 1.1 christos # C++ shared libraries reported to be fairly broken before 6950 1.1 christos # switch to ELF 6951 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6952 1.1 christos ;; 6953 1.1 christos 6954 1.1 christos freebsd-elf*) 6955 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6956 1.1 christos ;; 6957 1.1 christos 6958 1.1.1.4 christos freebsd* | dragonfly* | midnightbsd*) 6959 1.1 christos # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 6960 1.1 christos # conventions 6961 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=yes 6962 1.1 christos ;; 6963 1.1 christos 6964 1.1 christos haiku*) 6965 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 6966 1.1.1.5 christos _LT_TAGVAR(link_all_deplibs, $1)=no 6967 1.1 christos ;; 6968 1.1 christos 6969 1.1 christos hpux9*) 6970 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 6971 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6972 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 6973 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 6974 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 6975 1.1 christos # but as the default 6976 1.1 christos # location of the library. 6977 1.1 christos 6978 1.1 christos case $cc_basename in 6979 1.1 christos CC*) 6980 1.1 christos # FIXME: insert proper C++ library support 6981 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 6982 1.1 christos ;; 6983 1.1 christos aCC*) 6984 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' 6985 1.1 christos # Commands to make compiler produce verbose output that lists 6986 1.1 christos # what "hidden" libraries, object files and flags are used when 6987 1.1 christos # linking a shared library. 6988 1.1 christos # 6989 1.1 christos # There doesn't appear to be a way to prevent this compiler from 6990 1.1 christos # explicitly linking system object files so we need to strip them 6991 1.1 christos # from the output so that they don't get included in the library 6992 1.1 christos # dependencies. 6993 1.1.1.5 christos 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"' 6994 1.1 christos ;; 6995 1.1 christos *) 6996 1.1 christos if test yes = "$GXX"; then 6997 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' 6998 1.1 christos else 6999 1.1 christos # FIXME: insert proper C++ library support 7000 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7001 1.1 christos fi 7002 1.1 christos ;; 7003 1.1 christos esac 7004 1.1 christos ;; 7005 1.1 christos 7006 1.1 christos hpux10*|hpux11*) 7007 1.1 christos if test no = "$with_gnu_ld"; then 7008 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' 7009 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7010 1.1 christos 7011 1.1 christos case $host_cpu in 7012 1.1 christos hppa*64*|ia64*) 7013 1.1 christos ;; 7014 1.1 christos *) 7015 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 7016 1.1 christos ;; 7017 1.1 christos esac 7018 1.1 christos fi 7019 1.1 christos case $host_cpu in 7020 1.1 christos hppa*64*|ia64*) 7021 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 7022 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7023 1.1 christos ;; 7024 1.1 christos *) 7025 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 7026 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 7027 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 7028 1.1 christos # but as the default 7029 1.1 christos # location of the library. 7030 1.1 christos ;; 7031 1.1 christos esac 7032 1.1 christos 7033 1.1 christos case $cc_basename in 7034 1.1 christos CC*) 7035 1.1 christos # FIXME: insert proper C++ library support 7036 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7037 1.1 christos ;; 7038 1.1 christos aCC*) 7039 1.1 christos case $host_cpu in 7040 1.1 christos hppa*64*) 7041 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 7042 1.1 christos ;; 7043 1.1 christos ia64*) 7044 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 7045 1.1 christos ;; 7046 1.1 christos *) 7047 1.1 christos _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' 7048 1.1 christos ;; 7049 1.1 christos esac 7050 1.1 christos # Commands to make compiler produce verbose output that lists 7051 1.1 christos # what "hidden" libraries, object files and flags are used when 7052 1.1 christos # linking a shared library. 7053 1.1 christos # 7054 1.1 christos # There doesn't appear to be a way to prevent this compiler from 7055 1.1 christos # explicitly linking system object files so we need to strip them 7056 1.1 christos # from the output so that they don't get included in the library 7057 1.1 christos # dependencies. 7058 1.1.1.5 christos 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"' 7059 1.1 christos ;; 7060 1.1 christos *) 7061 1.1 christos if test yes = "$GXX"; then 7062 1.1 christos if test no = "$with_gnu_ld"; then 7063 1.1 christos case $host_cpu in 7064 1.1 christos hppa*64*) 7065 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 7066 1.1 christos ;; 7067 1.1 christos ia64*) 7068 1.1 christos _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' 7069 1.1 christos ;; 7070 1.1 christos *) 7071 1.1 christos _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' 7072 1.1 christos ;; 7073 1.1 christos esac 7074 1.1 christos fi 7075 1.1 christos else 7076 1.1 christos # FIXME: insert proper C++ library support 7077 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7078 1.1 christos fi 7079 1.1 christos ;; 7080 1.1 christos esac 7081 1.1 christos ;; 7082 1.1 christos 7083 1.1 christos interix[[3-9]]*) 7084 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 7085 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7086 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7087 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 7088 1.1 christos # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 7089 1.1 christos # Instead, shared libraries are loaded at an image base (0x10000000 by 7090 1.1 christos # default) and relocated if they conflict, which is a slow very memory 7091 1.1 christos # consuming and fragmenting process. To avoid this, we pick a random, 7092 1.1 christos # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 7093 1.1 christos # time. Moving up from 0x10000000 also allows more sbrk(2) space. 7094 1.1 christos _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' 7095 1.1.1.4 christos _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' 7096 1.1 christos ;; 7097 1.1 christos irix5* | irix6*) 7098 1.1 christos case $cc_basename in 7099 1.1 christos CC*) 7100 1.1 christos # SGI C++ 7101 1.1 christos _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' 7102 1.1 christos 7103 1.1 christos # Archives containing C++ object files must be created using 7104 1.1 christos # "CC -ar", where "CC" is the IRIX C++ compiler. This is 7105 1.1 christos # necessary to make sure instantiated templates are included 7106 1.1 christos # in the archive. 7107 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 7108 1.1 christos ;; 7109 1.1 christos *) 7110 1.1 christos if test yes = "$GXX"; then 7111 1.1 christos if test no = "$with_gnu_ld"; then 7112 1.1 christos _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' 7113 1.1 christos else 7114 1.1 christos _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' 7115 1.1 christos fi 7116 1.1 christos fi 7117 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 7118 1.1 christos ;; 7119 1.1 christos esac 7120 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 7121 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7122 1.1 christos _LT_TAGVAR(inherit_rpath, $1)=yes 7123 1.1 christos ;; 7124 1.1 christos 7125 1.1 christos linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) 7126 1.1 christos case $cc_basename in 7127 1.1 christos KCC*) 7128 1.1 christos # Kuck and Associates, Inc. (KAI) C++ Compiler 7129 1.1 christos 7130 1.1 christos # KCC will only create a shared library if the output file 7131 1.1 christos # ends with ".so" (or ".sl" for HP-UX), so rename the library 7132 1.1 christos # to its proper name (with version) after linking. 7133 1.1 christos _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' 7134 1.1 christos _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' 7135 1.1 christos # Commands to make compiler produce verbose output that lists 7136 1.1 christos # what "hidden" libraries, object files and flags are used when 7137 1.1 christos # linking a shared library. 7138 1.1 christos # 7139 1.1 christos # There doesn't appear to be a way to prevent this compiler from 7140 1.1 christos # explicitly linking system object files so we need to strip them 7141 1.1 christos # from the output so that they don't get included in the library 7142 1.1 christos # dependencies. 7143 1.1 christos 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"' 7144 1.1 christos 7145 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7146 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7147 1.1 christos 7148 1.1 christos # Archives containing C++ object files must be created using 7149 1.1 christos # "CC -Bstatic", where "CC" is the KAI C++ compiler. 7150 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 7151 1.1 christos ;; 7152 1.1 christos icpc* | ecpc* ) 7153 1.1 christos # Intel C++ 7154 1.1 christos with_gnu_ld=yes 7155 1.1 christos # version 8.0 and above of icpc choke on multiply defined symbols 7156 1.1 christos # if we add $predep_objects and $postdep_objects, however 7.1 and 7157 1.1 christos # earlier do not add the objects themselves. 7158 1.1 christos case `$CC -V 2>&1` in 7159 1.1 christos *"Version 7."*) 7160 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 7161 1.1 christos _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' 7162 1.1 christos ;; 7163 1.1 christos *) # Version 8.0 or newer 7164 1.1 christos tmp_idyn= 7165 1.1 christos case $host_cpu in 7166 1.1 christos ia64*) tmp_idyn=' -i_dynamic';; 7167 1.1 christos esac 7168 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 7169 1.1 christos _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' 7170 1.1 christos ;; 7171 1.1 christos esac 7172 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 7173 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7174 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7175 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' 7176 1.1 christos ;; 7177 1.1 christos pgCC* | pgcpp*) 7178 1.1 christos # Portland Group C++ compiler 7179 1.1 christos case `$CC -V` in 7180 1.1 christos *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) 7181 1.1 christos _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 7182 1.1 christos rm -rf $tpldir~ 7183 1.1 christos $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 7184 1.1 christos compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' 7185 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 7186 1.1 christos rm -rf $tpldir~ 7187 1.1 christos $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 7188 1.1 christos $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ 7189 1.1 christos $RANLIB $oldlib' 7190 1.1 christos _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 7191 1.1 christos rm -rf $tpldir~ 7192 1.1 christos $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 7193 1.1 christos $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 7194 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 7195 1.1 christos rm -rf $tpldir~ 7196 1.1 christos $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 7197 1.1 christos $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' 7198 1.1 christos ;; 7199 1.1 christos *) # Version 6 and above use weak symbols 7200 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 7201 1.1 christos _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' 7202 1.1 christos ;; 7203 1.1 christos esac 7204 1.1 christos 7205 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' 7206 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7207 1.1 christos _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' 7208 1.1 christos ;; 7209 1.1 christos cxx*) 7210 1.1 christos # Compaq C++ 7211 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' 7212 1.1 christos _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' 7213 1.1 christos 7214 1.1 christos runpath_var=LD_RUN_PATH 7215 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 7216 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7217 1.1 christos 7218 1.1 christos # Commands to make compiler produce verbose output that lists 7219 1.1 christos # what "hidden" libraries, object files and flags are used when 7220 1.1 christos # linking a shared library. 7221 1.1 christos # 7222 1.1 christos # There doesn't appear to be a way to prevent this compiler from 7223 1.1 christos # explicitly linking system object files so we need to strip them 7224 1.1 christos # from the output so that they don't get included in the library 7225 1.1 christos # dependencies. 7226 1.1 christos 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' 7227 1.1 christos ;; 7228 1.1 christos xl* | mpixl* | bgxl*) 7229 1.1 christos # IBM XL 8.0 on PPC, with GNU ld 7230 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 7231 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' 7232 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' 7233 1.1 christos if test yes = "$supports_anon_versioning"; then 7234 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 7235 1.1.1.4 christos cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 7236 1.1 christos echo "local: *; };" >> $output_objdir/$libname.ver~ 7237 1.1 christos $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' 7238 1.1 christos fi 7239 1.1 christos ;; 7240 1.1 christos *) 7241 1.1.1.4 christos case `$CC -V 2>&1 | $SED 5q` in 7242 1.1 christos *Sun\ C*) 7243 1.1 christos # Sun C++ 5.9 7244 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 7245 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 7246 1.1 christos _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' 7247 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 7248 1.1 christos _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' 7249 1.1 christos _LT_TAGVAR(compiler_needs_object, $1)=yes 7250 1.1 christos 7251 1.1 christos # Not sure whether something based on 7252 1.1 christos # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 7253 1.1 christos # would be better. 7254 1.1 christos output_verbose_link_cmd='func_echo_all' 7255 1.1 christos 7256 1.1 christos # Archives containing C++ object files must be created using 7257 1.1 christos # "CC -xar", where "CC" is the Sun C++ compiler. This is 7258 1.1 christos # necessary to make sure instantiated templates are included 7259 1.1 christos # in the archive. 7260 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 7261 1.1 christos ;; 7262 1.1 christos esac 7263 1.1 christos ;; 7264 1.1 christos esac 7265 1.1 christos ;; 7266 1.1 christos 7267 1.1 christos lynxos*) 7268 1.1 christos # FIXME: insert proper C++ library support 7269 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7270 1.1 christos ;; 7271 1.1 christos 7272 1.1 christos m88k*) 7273 1.1 christos # FIXME: insert proper C++ library support 7274 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7275 1.1 christos ;; 7276 1.1 christos 7277 1.1 christos mvs*) 7278 1.1 christos case $cc_basename in 7279 1.1 christos cxx*) 7280 1.1 christos # FIXME: insert proper C++ library support 7281 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7282 1.1 christos ;; 7283 1.1 christos *) 7284 1.1 christos # FIXME: insert proper C++ library support 7285 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7286 1.1 christos ;; 7287 1.1 christos esac 7288 1.1 christos ;; 7289 1.1 christos 7290 1.1.1.5 christos *-mlibc) 7291 1.1.1.5 christos _LT_TAGVAR(ld_shlibs, $1)=yes 7292 1.1.1.5 christos ;; 7293 1.1.1.5 christos 7294 1.1 christos netbsd*) 7295 1.1 christos if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 7296 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 7297 1.1 christos wlarc= 7298 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 7299 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 7300 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7301 1.1 christos fi 7302 1.1 christos # Workaround some broken pre-1.5 toolchains 7303 1.1 christos output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 7304 1.1 christos ;; 7305 1.1 christos 7306 1.1 christos *nto* | *qnx*) 7307 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=yes 7308 1.1 christos ;; 7309 1.1 christos 7310 1.1.1.5 christos openbsd*) 7311 1.1 christos if test -f /usr/libexec/ld.so; then 7312 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=yes 7313 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7314 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 7315 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 7316 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7317 1.1 christos if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then 7318 1.1 christos _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' 7319 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' 7320 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' 7321 1.1 christos fi 7322 1.1 christos output_verbose_link_cmd=func_echo_all 7323 1.1 christos else 7324 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7325 1.1 christos fi 7326 1.1 christos ;; 7327 1.1 christos 7328 1.1 christos osf3* | osf4* | osf5*) 7329 1.1 christos case $cc_basename in 7330 1.1 christos KCC*) 7331 1.1 christos # Kuck and Associates, Inc. (KAI) C++ Compiler 7332 1.1 christos 7333 1.1 christos # KCC will only create a shared library if the output file 7334 1.1 christos # ends with ".so" (or ".sl" for HP-UX), so rename the library 7335 1.1 christos # to its proper name (with version) after linking. 7336 1.1 christos _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' 7337 1.1 christos 7338 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' 7339 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7340 1.1 christos 7341 1.1 christos # Archives containing C++ object files must be created using 7342 1.1 christos # the KAI C++ compiler. 7343 1.1 christos case $host in 7344 1.1 christos osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 7345 1.1 christos *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 7346 1.1 christos esac 7347 1.1 christos ;; 7348 1.1 christos RCC*) 7349 1.1 christos # Rational C++ 2.4.1 7350 1.1 christos # FIXME: insert proper C++ library support 7351 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7352 1.1 christos ;; 7353 1.1 christos cxx*) 7354 1.1 christos case $host in 7355 1.1 christos osf3*) 7356 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 7357 1.1 christos _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' 7358 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 7359 1.1 christos ;; 7360 1.1 christos *) 7361 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 7362 1.1 christos _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' 7363 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 7364 1.1 christos echo "-hidden">> $lib.exp~ 7365 1.1 christos $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~ 7366 1.1 christos $RM $lib.exp' 7367 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 7368 1.1 christos ;; 7369 1.1 christos esac 7370 1.1 christos 7371 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7372 1.1 christos 7373 1.1 christos # Commands to make compiler produce verbose output that lists 7374 1.1 christos # what "hidden" libraries, object files and flags are used when 7375 1.1 christos # linking a shared library. 7376 1.1 christos # 7377 1.1 christos # There doesn't appear to be a way to prevent this compiler from 7378 1.1 christos # explicitly linking system object files so we need to strip them 7379 1.1 christos # from the output so that they don't get included in the library 7380 1.1 christos # dependencies. 7381 1.1 christos 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"' 7382 1.1 christos ;; 7383 1.1 christos *) 7384 1.1 christos if test yes,no = "$GXX,$with_gnu_ld"; then 7385 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' 7386 1.1 christos case $host in 7387 1.1 christos osf3*) 7388 1.1 christos _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' 7389 1.1 christos ;; 7390 1.1 christos *) 7391 1.1 christos _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' 7392 1.1 christos ;; 7393 1.1 christos esac 7394 1.1 christos 7395 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' 7396 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=: 7397 1.1 christos 7398 1.1 christos # Commands to make compiler produce verbose output that lists 7399 1.1 christos # what "hidden" libraries, object files and flags are used when 7400 1.1 christos # linking a shared library. 7401 1.1.1.5 christos output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"' 7402 1.1 christos 7403 1.1 christos else 7404 1.1 christos # FIXME: insert proper C++ library support 7405 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7406 1.1 christos fi 7407 1.1 christos ;; 7408 1.1 christos esac 7409 1.1 christos ;; 7410 1.1 christos 7411 1.1 christos psos*) 7412 1.1 christos # FIXME: insert proper C++ library support 7413 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7414 1.1 christos ;; 7415 1.1 christos 7416 1.1.1.5 christos serenity*) 7417 1.1.1.5 christos ;; 7418 1.1.1.5 christos 7419 1.1 christos sunos4*) 7420 1.1 christos case $cc_basename in 7421 1.1 christos CC*) 7422 1.1 christos # Sun C++ 4.x 7423 1.1 christos # FIXME: insert proper C++ library support 7424 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7425 1.1 christos ;; 7426 1.1 christos lcc*) 7427 1.1 christos # Lucid 7428 1.1 christos # FIXME: insert proper C++ library support 7429 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7430 1.1 christos ;; 7431 1.1 christos *) 7432 1.1 christos # FIXME: insert proper C++ library support 7433 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7434 1.1 christos ;; 7435 1.1 christos esac 7436 1.1 christos ;; 7437 1.1 christos 7438 1.1 christos solaris*) 7439 1.1 christos case $cc_basename in 7440 1.1 christos CC* | sunCC*) 7441 1.1 christos # Sun C++ 4.2, 5.x and Centerline C++ 7442 1.1 christos _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 7443 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 7444 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 7445 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 7446 1.1 christos $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' 7447 1.1 christos 7448 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 7449 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7450 1.1 christos case $host_os in 7451 1.1 christos solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 7452 1.1 christos *) 7453 1.1 christos # The compiler driver will combine and reorder linker options, 7454 1.1 christos # but understands '-z linker_flag'. 7455 1.1 christos # Supported since Solaris 2.6 (maybe 2.5.1?) 7456 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 7457 1.1 christos ;; 7458 1.1 christos esac 7459 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 7460 1.1 christos 7461 1.1 christos output_verbose_link_cmd='func_echo_all' 7462 1.1 christos 7463 1.1 christos # Archives containing C++ object files must be created using 7464 1.1 christos # "CC -xar", where "CC" is the Sun C++ compiler. This is 7465 1.1 christos # necessary to make sure instantiated templates are included 7466 1.1 christos # in the archive. 7467 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 7468 1.1 christos ;; 7469 1.1 christos gcx*) 7470 1.1 christos # Green Hills C++ Compiler 7471 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 7472 1.1 christos 7473 1.1 christos # The C++ compiler must be used to create the archive. 7474 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 7475 1.1 christos ;; 7476 1.1 christos *) 7477 1.1 christos # GNU C++ compiler with Solaris linker 7478 1.1 christos if test yes,no = "$GXX,$with_gnu_ld"; then 7479 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' 7480 1.1 christos if $CC --version | $GREP -v '^2\.7' > /dev/null; then 7481 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 7482 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 7483 1.1 christos $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 7484 1.1 christos 7485 1.1 christos # Commands to make compiler produce verbose output that lists 7486 1.1 christos # what "hidden" libraries, object files and flags are used when 7487 1.1 christos # linking a shared library. 7488 1.1.1.5 christos output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"' 7489 1.1 christos else 7490 1.1 christos # g++ 2.7 appears to require '-G' NOT '-shared' on this 7491 1.1 christos # platform. 7492 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' 7493 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 7494 1.1 christos $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 7495 1.1 christos 7496 1.1 christos # Commands to make compiler produce verbose output that lists 7497 1.1 christos # what "hidden" libraries, object files and flags are used when 7498 1.1 christos # linking a shared library. 7499 1.1.1.5 christos output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"' 7500 1.1 christos fi 7501 1.1 christos 7502 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' 7503 1.1 christos case $host_os in 7504 1.1 christos solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 7505 1.1 christos *) 7506 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' 7507 1.1 christos ;; 7508 1.1 christos esac 7509 1.1 christos fi 7510 1.1 christos ;; 7511 1.1 christos esac 7512 1.1 christos ;; 7513 1.1 christos 7514 1.1 christos sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 7515 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 7516 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 7517 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7518 1.1 christos runpath_var='LD_RUN_PATH' 7519 1.1 christos 7520 1.1 christos case $cc_basename in 7521 1.1 christos CC*) 7522 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7523 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7524 1.1 christos ;; 7525 1.1 christos *) 7526 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7527 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7528 1.1 christos ;; 7529 1.1 christos esac 7530 1.1 christos ;; 7531 1.1 christos 7532 1.1 christos sysv5* | sco3.2v5* | sco5v6*) 7533 1.1 christos # Note: We CANNOT use -z defs as we might desire, because we do not 7534 1.1 christos # link with -lc, and that would cause any symbols used from libc to 7535 1.1 christos # always be unresolved, which means just about no library would 7536 1.1 christos # ever link correctly. If we're not using GNU ld we use -z text 7537 1.1 christos # though, which does catch some bad symbols but isn't as heavy-handed 7538 1.1 christos # as -z defs. 7539 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' 7540 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' 7541 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 7542 1.1 christos _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 7543 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' 7544 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 7545 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=yes 7546 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' 7547 1.1 christos runpath_var='LD_RUN_PATH' 7548 1.1 christos 7549 1.1 christos case $cc_basename in 7550 1.1 christos CC*) 7551 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7552 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7553 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ 7554 1.1 christos '"$_LT_TAGVAR(old_archive_cmds, $1)" 7555 1.1 christos _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ 7556 1.1 christos '"$_LT_TAGVAR(reload_cmds, $1)" 7557 1.1 christos ;; 7558 1.1 christos *) 7559 1.1 christos _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7560 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 7561 1.1 christos ;; 7562 1.1 christos esac 7563 1.1 christos ;; 7564 1.1 christos 7565 1.1 christos tandem*) 7566 1.1 christos case $cc_basename in 7567 1.1 christos NCC*) 7568 1.1 christos # NonStop-UX NCC 3.20 7569 1.1 christos # FIXME: insert proper C++ library support 7570 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7571 1.1 christos ;; 7572 1.1 christos *) 7573 1.1 christos # FIXME: insert proper C++ library support 7574 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7575 1.1 christos ;; 7576 1.1 christos esac 7577 1.1 christos ;; 7578 1.1 christos 7579 1.1 christos vxworks*) 7580 1.1 christos # FIXME: insert proper C++ library support 7581 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7582 1.1 christos ;; 7583 1.1 christos 7584 1.1 christos *) 7585 1.1 christos # FIXME: insert proper C++ library support 7586 1.1 christos _LT_TAGVAR(ld_shlibs, $1)=no 7587 1.1 christos ;; 7588 1.1 christos esac 7589 1.1 christos 7590 1.1 christos AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 7591 1.1 christos test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no 7592 1.1 christos 7593 1.1 christos _LT_TAGVAR(GCC, $1)=$GXX 7594 1.1 christos _LT_TAGVAR(LD, $1)=$LD 7595 1.1 christos 7596 1.1 christos ## CAVEAT EMPTOR: 7597 1.1 christos ## There is no encapsulation within the following macros, do not change 7598 1.1 christos ## the running order or otherwise move them around unless you know exactly 7599 1.1 christos ## what you are doing... 7600 1.1 christos _LT_SYS_HIDDEN_LIBDEPS($1) 7601 1.1 christos _LT_COMPILER_PIC($1) 7602 1.1 christos _LT_COMPILER_C_O($1) 7603 1.1 christos _LT_COMPILER_FILE_LOCKS($1) 7604 1.1 christos _LT_LINKER_SHLIBS($1) 7605 1.1 christos _LT_SYS_DYNAMIC_LINKER($1) 7606 1.1 christos _LT_LINKER_HARDCODE_LIBPATH($1) 7607 1.1 christos 7608 1.1 christos _LT_CONFIG($1) 7609 1.1 christos fi # test -n "$compiler" 7610 1.1 christos 7611 1.1 christos CC=$lt_save_CC 7612 1.1 christos CFLAGS=$lt_save_CFLAGS 7613 1.1 christos LDCXX=$LD 7614 1.1 christos LD=$lt_save_LD 7615 1.1 christos GCC=$lt_save_GCC 7616 1.1 christos with_gnu_ld=$lt_save_with_gnu_ld 7617 1.1 christos lt_cv_path_LDCXX=$lt_cv_path_LD 7618 1.1 christos lt_cv_path_LD=$lt_save_path_LD 7619 1.1 christos lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 7620 1.1 christos lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 7621 1.1 christos fi # test yes != "$_lt_caught_CXX_error" 7622 1.1 christos 7623 1.1 christos AC_LANG_POP 7624 1.1 christos ])# _LT_LANG_CXX_CONFIG 7625 1.1 christos 7626 1.1 christos 7627 1.1 christos # _LT_FUNC_STRIPNAME_CNF 7628 1.1 christos # ---------------------- 7629 1.1 christos # func_stripname_cnf prefix suffix name 7630 1.1 christos # strip PREFIX and SUFFIX off of NAME. 7631 1.1 christos # PREFIX and SUFFIX must not contain globbing or regex special 7632 1.1 christos # characters, hashes, percent signs, but SUFFIX may contain a leading 7633 1.1 christos # dot (in which case that matches only a dot). 7634 1.1 christos # 7635 1.1 christos # This function is identical to the (non-XSI) version of func_stripname, 7636 1.1 christos # except this one can be used by m4 code that may be executed by configure, 7637 1.1 christos # rather than the libtool script. 7638 1.1 christos m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl 7639 1.1 christos AC_REQUIRE([_LT_DECL_SED]) 7640 1.1 christos AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) 7641 1.1 christos func_stripname_cnf () 7642 1.1 christos { 7643 1.1 christos case @S|@2 in 7644 1.1 christos .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; 7645 1.1 christos *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; 7646 1.1 christos esac 7647 1.1 christos } # func_stripname_cnf 7648 1.1 christos ])# _LT_FUNC_STRIPNAME_CNF 7649 1.1 christos 7650 1.1 christos 7651 1.1 christos # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 7652 1.1 christos # --------------------------------- 7653 1.1 christos # Figure out "hidden" library dependencies from verbose 7654 1.1 christos # compiler output when linking a shared library. 7655 1.1 christos # Parse the compiler output and extract the necessary 7656 1.1 christos # objects, libraries and library flags. 7657 1.1 christos m4_defun([_LT_SYS_HIDDEN_LIBDEPS], 7658 1.1 christos [m4_require([_LT_FILEUTILS_DEFAULTS])dnl 7659 1.1 christos AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl 7660 1.1 christos # Dependencies to place before and after the object being linked: 7661 1.1 christos _LT_TAGVAR(predep_objects, $1)= 7662 1.1 christos _LT_TAGVAR(postdep_objects, $1)= 7663 1.1 christos _LT_TAGVAR(predeps, $1)= 7664 1.1 christos _LT_TAGVAR(postdeps, $1)= 7665 1.1 christos _LT_TAGVAR(compiler_lib_search_path, $1)= 7666 1.1 christos 7667 1.1 christos dnl we can't use the lt_simple_compile_test_code here, 7668 1.1 christos dnl because it contains code intended for an executable, 7669 1.1 christos dnl not a library. It's possible we should let each 7670 1.1 christos dnl tag define a new lt_????_link_test_code variable, 7671 1.1 christos dnl but it's only used here... 7672 1.1 christos m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 7673 1.1 christos int a; 7674 1.1 christos void foo (void) { a = 0; } 7675 1.1 christos _LT_EOF 7676 1.1 christos ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 7677 1.1 christos class Foo 7678 1.1 christos { 7679 1.1 christos public: 7680 1.1 christos Foo (void) { a = 0; } 7681 1.1 christos private: 7682 1.1 christos int a; 7683 1.1 christos }; 7684 1.1 christos _LT_EOF 7685 1.1 christos ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 7686 1.1 christos subroutine foo 7687 1.1 christos implicit none 7688 1.1 christos integer*4 a 7689 1.1 christos a=0 7690 1.1 christos return 7691 1.1 christos end 7692 1.1 christos _LT_EOF 7693 1.1 christos ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 7694 1.1 christos subroutine foo 7695 1.1 christos implicit none 7696 1.1 christos integer a 7697 1.1 christos a=0 7698 1.1 christos return 7699 1.1 christos end 7700 1.1 christos _LT_EOF 7701 1.1 christos ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 7702 1.1 christos public class foo { 7703 1.1 christos private int a; 7704 1.1 christos public void bar (void) { 7705 1.1 christos a = 0; 7706 1.1 christos } 7707 1.1 christos }; 7708 1.1 christos _LT_EOF 7709 1.1 christos ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF 7710 1.1 christos package foo 7711 1.1 christos func foo() { 7712 1.1 christos } 7713 1.1 christos _LT_EOF 7714 1.1 christos ]) 7715 1.1 christos 7716 1.1 christos _lt_libdeps_save_CFLAGS=$CFLAGS 7717 1.1 christos case "$CC $CFLAGS " in #( 7718 1.1 christos *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; 7719 1.1 christos *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; 7720 1.1 christos *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; 7721 1.1 christos esac 7722 1.1 christos 7723 1.1 christos dnl Parse the compiler output and extract the necessary 7724 1.1 christos dnl objects, libraries and library flags. 7725 1.1 christos if AC_TRY_EVAL(ac_compile); then 7726 1.1 christos # Parse the compiler output and extract the necessary 7727 1.1 christos # objects, libraries and library flags. 7728 1.1 christos 7729 1.1 christos # Sentinel used to keep track of whether or not we are before 7730 1.1 christos # the conftest object file. 7731 1.1 christos pre_test_object_deps_done=no 7732 1.1 christos 7733 1.1 christos for p in `eval "$output_verbose_link_cmd"`; do 7734 1.1 christos case $prev$p in 7735 1.1 christos 7736 1.1 christos -L* | -R* | -l*) 7737 1.1.1.5 christos # Some compilers place space between "-{L,R,l}" and the path. 7738 1.1 christos # Remove the space. 7739 1.1.1.5 christos if test x-L = x"$p" || 7740 1.1.1.5 christos test x-R = x"$p" || 7741 1.1.1.5 christos test x-l = x"$p"; then 7742 1.1 christos prev=$p 7743 1.1 christos continue 7744 1.1 christos fi 7745 1.1 christos 7746 1.1 christos # Expand the sysroot to ease extracting the directories later. 7747 1.1 christos if test -z "$prev"; then 7748 1.1 christos case $p in 7749 1.1 christos -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; 7750 1.1 christos -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; 7751 1.1 christos -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; 7752 1.1 christos esac 7753 1.1 christos fi 7754 1.1 christos case $p in 7755 1.1 christos =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; 7756 1.1 christos esac 7757 1.1 christos if test no = "$pre_test_object_deps_done"; then 7758 1.1 christos case $prev in 7759 1.1 christos -L | -R) 7760 1.1 christos # Internal compiler library paths should come after those 7761 1.1 christos # provided the user. The postdeps already come after the 7762 1.1 christos # user supplied libs so there is no need to process them. 7763 1.1 christos if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 7764 1.1 christos _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p 7765 1.1 christos else 7766 1.1 christos _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" 7767 1.1 christos fi 7768 1.1 christos ;; 7769 1.1 christos # The "-l" case would never come before the object being 7770 1.1 christos # linked, so don't bother handling this case. 7771 1.1 christos esac 7772 1.1 christos else 7773 1.1 christos if test -z "$_LT_TAGVAR(postdeps, $1)"; then 7774 1.1 christos _LT_TAGVAR(postdeps, $1)=$prev$p 7775 1.1 christos else 7776 1.1 christos _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" 7777 1.1 christos fi 7778 1.1 christos fi 7779 1.1 christos prev= 7780 1.1 christos ;; 7781 1.1 christos 7782 1.1 christos *.lto.$objext) ;; # Ignore GCC LTO objects 7783 1.1 christos *.$objext) 7784 1.1 christos # This assumes that the test object file only shows up 7785 1.1 christos # once in the compiler output. 7786 1.1 christos if test "$p" = "conftest.$objext"; then 7787 1.1 christos pre_test_object_deps_done=yes 7788 1.1 christos continue 7789 1.1 christos fi 7790 1.1 christos 7791 1.1 christos if test no = "$pre_test_object_deps_done"; then 7792 1.1 christos if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 7793 1.1 christos _LT_TAGVAR(predep_objects, $1)=$p 7794 1.1 christos else 7795 1.1 christos _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 7796 1.1 christos fi 7797 1.1 christos else 7798 1.1 christos if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 7799 1.1 christos _LT_TAGVAR(postdep_objects, $1)=$p 7800 1.1 christos else 7801 1.1 christos _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 7802 1.1 christos fi 7803 1.1 christos fi 7804 1.1 christos ;; 7805 1.1 christos 7806 1.1 christos *) ;; # Ignore the rest. 7807 1.1 christos 7808 1.1 christos esac 7809 1.1 christos done 7810 1.1 christos 7811 1.1 christos # Clean up. 7812 1.1 christos rm -f a.out a.exe 7813 1.1 christos else 7814 1.1 christos echo "libtool.m4: error: problem compiling $1 test program" 7815 1.1 christos fi 7816 1.1 christos 7817 1.1 christos $RM -f confest.$objext 7818 1.1 christos CFLAGS=$_lt_libdeps_save_CFLAGS 7819 1.1 christos 7820 1.1 christos # PORTME: override above test on systems where it is broken 7821 1.1 christos m4_if([$1], [CXX], 7822 1.1 christos [case $host_os in 7823 1.1 christos interix[[3-9]]*) 7824 1.1 christos # Interix 3.5 installs completely hosed .la files for C++, so rather than 7825 1.1 christos # hack all around it, let's just trust "g++" to DTRT. 7826 1.1 christos _LT_TAGVAR(predep_objects,$1)= 7827 1.1 christos _LT_TAGVAR(postdep_objects,$1)= 7828 1.1 christos _LT_TAGVAR(postdeps,$1)= 7829 1.1 christos ;; 7830 1.1 christos esac 7831 1.1 christos ]) 7832 1.1 christos 7833 1.1 christos case " $_LT_TAGVAR(postdeps, $1) " in 7834 1.1 christos *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 7835 1.1 christos esac 7836 1.1 christos _LT_TAGVAR(compiler_lib_search_dirs, $1)= 7837 1.1 christos if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 7838 1.1 christos _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` 7839 1.1 christos fi 7840 1.1 christos _LT_TAGDECL([], [compiler_lib_search_dirs], [1], 7841 1.1 christos [The directories searched by this compiler when creating a shared library]) 7842 1.1 christos _LT_TAGDECL([], [predep_objects], [1], 7843 1.1 christos [Dependencies to place before and after the objects being linked to 7844 1.1 christos create a shared library]) 7845 1.1 christos _LT_TAGDECL([], [postdep_objects], [1]) 7846 1.1 christos _LT_TAGDECL([], [predeps], [1]) 7847 1.1 christos _LT_TAGDECL([], [postdeps], [1]) 7848 1.1 christos _LT_TAGDECL([], [compiler_lib_search_path], [1], 7849 1.1 christos [The library search path used internally by the compiler when linking 7850 1.1 christos a shared library]) 7851 1.1 christos ])# _LT_SYS_HIDDEN_LIBDEPS 7852 1.1 christos 7853 1.1 christos 7854 1.1 christos # _LT_LANG_F77_CONFIG([TAG]) 7855 1.1 christos # -------------------------- 7856 1.1 christos # Ensure that the configuration variables for a Fortran 77 compiler are 7857 1.1 christos # suitably defined. These variables are subsequently used by _LT_CONFIG 7858 1.1 christos # to write the compiler configuration to 'libtool'. 7859 1.1 christos m4_defun([_LT_LANG_F77_CONFIG], 7860 1.1 christos [AC_LANG_PUSH(Fortran 77) 7861 1.1 christos if test -z "$F77" || test no = "$F77"; then 7862 1.1 christos _lt_disable_F77=yes 7863 1.1 christos fi 7864 1.1 christos 7865 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 7866 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)= 7867 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=no 7868 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)= 7869 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)= 7870 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 7871 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=no 7872 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 7873 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)= 7874 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=no 7875 1.1 christos _LT_TAGVAR(hardcode_automatic, $1)=no 7876 1.1 christos _LT_TAGVAR(inherit_rpath, $1)=no 7877 1.1 christos _LT_TAGVAR(module_cmds, $1)= 7878 1.1 christos _LT_TAGVAR(module_expsym_cmds, $1)= 7879 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=unknown 7880 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 7881 1.1 christos _LT_TAGVAR(reload_flag, $1)=$reload_flag 7882 1.1 christos _LT_TAGVAR(reload_cmds, $1)=$reload_cmds 7883 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)= 7884 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)= 7885 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 7886 1.1 christos 7887 1.1 christos # Source file extension for f77 test sources. 7888 1.1 christos ac_ext=f 7889 1.1 christos 7890 1.1 christos # Object file extension for compiled f77 test sources. 7891 1.1 christos objext=o 7892 1.1 christos _LT_TAGVAR(objext, $1)=$objext 7893 1.1 christos 7894 1.1 christos # No sense in running all these tests if we already determined that 7895 1.1 christos # the F77 compiler isn't working. Some variables (like enable_shared) 7896 1.1 christos # are currently assumed to apply to all compilers on this platform, 7897 1.1 christos # and will be corrupted by setting them based on a non-working compiler. 7898 1.1 christos if test yes != "$_lt_disable_F77"; then 7899 1.1 christos # Code to be used in simple compile tests 7900 1.1 christos lt_simple_compile_test_code="\ 7901 1.1 christos subroutine t 7902 1.1 christos return 7903 1.1 christos end 7904 1.1 christos " 7905 1.1 christos 7906 1.1 christos # Code to be used in simple link tests 7907 1.1 christos lt_simple_link_test_code="\ 7908 1.1 christos program t 7909 1.1 christos end 7910 1.1 christos " 7911 1.1 christos 7912 1.1 christos # ltmain only uses $CC for tagged configurations so make sure $CC is set. 7913 1.1 christos _LT_TAG_COMPILER 7914 1.1 christos 7915 1.1 christos # save warnings/boilerplate of simple test code 7916 1.1 christos _LT_COMPILER_BOILERPLATE 7917 1.1 christos _LT_LINKER_BOILERPLATE 7918 1.1 christos 7919 1.1 christos # Allow CC to be a program name with arguments. 7920 1.1 christos lt_save_CC=$CC 7921 1.1 christos lt_save_GCC=$GCC 7922 1.1 christos lt_save_CFLAGS=$CFLAGS 7923 1.1 christos CC=${F77-"f77"} 7924 1.1 christos CFLAGS=$FFLAGS 7925 1.1 christos compiler=$CC 7926 1.1 christos _LT_TAGVAR(compiler, $1)=$CC 7927 1.1 christos _LT_CC_BASENAME([$compiler]) 7928 1.1 christos GCC=$G77 7929 1.1 christos if test -n "$compiler"; then 7930 1.1 christos AC_MSG_CHECKING([if libtool supports shared libraries]) 7931 1.1 christos AC_MSG_RESULT([$can_build_shared]) 7932 1.1 christos 7933 1.1 christos AC_MSG_CHECKING([whether to build shared libraries]) 7934 1.1 christos test no = "$can_build_shared" && enable_shared=no 7935 1.1 christos 7936 1.1 christos # On AIX, shared libraries and static libraries use the same namespace, and 7937 1.1 christos # are all built from PIC. 7938 1.1 christos case $host_os in 7939 1.1 christos aix3*) 7940 1.1 christos test yes = "$enable_shared" && enable_static=no 7941 1.1 christos if test -n "$RANLIB"; then 7942 1.1 christos archive_cmds="$archive_cmds~\$RANLIB \$lib" 7943 1.1 christos postinstall_cmds='$RANLIB $lib' 7944 1.1 christos fi 7945 1.1 christos ;; 7946 1.1 christos aix[[4-9]]*) 7947 1.1 christos if test ia64 != "$host_cpu"; then 7948 1.1 christos case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 7949 1.1 christos yes,aix,yes) ;; # shared object as lib.so file only 7950 1.1 christos yes,svr4,*) ;; # shared object as lib.so archive member only 7951 1.1 christos yes,*) enable_static=no ;; # shared object in lib.a archive as well 7952 1.1 christos esac 7953 1.1 christos fi 7954 1.1 christos ;; 7955 1.1 christos esac 7956 1.1 christos AC_MSG_RESULT([$enable_shared]) 7957 1.1 christos 7958 1.1 christos AC_MSG_CHECKING([whether to build static libraries]) 7959 1.1 christos # Make sure either enable_shared or enable_static is yes. 7960 1.1 christos test yes = "$enable_shared" || enable_static=yes 7961 1.1 christos AC_MSG_RESULT([$enable_static]) 7962 1.1 christos 7963 1.1 christos _LT_TAGVAR(GCC, $1)=$G77 7964 1.1 christos _LT_TAGVAR(LD, $1)=$LD 7965 1.1 christos 7966 1.1 christos ## CAVEAT EMPTOR: 7967 1.1 christos ## There is no encapsulation within the following macros, do not change 7968 1.1 christos ## the running order or otherwise move them around unless you know exactly 7969 1.1 christos ## what you are doing... 7970 1.1 christos _LT_COMPILER_PIC($1) 7971 1.1 christos _LT_COMPILER_C_O($1) 7972 1.1 christos _LT_COMPILER_FILE_LOCKS($1) 7973 1.1 christos _LT_LINKER_SHLIBS($1) 7974 1.1 christos _LT_SYS_DYNAMIC_LINKER($1) 7975 1.1 christos _LT_LINKER_HARDCODE_LIBPATH($1) 7976 1.1 christos 7977 1.1 christos _LT_CONFIG($1) 7978 1.1 christos fi # test -n "$compiler" 7979 1.1 christos 7980 1.1 christos GCC=$lt_save_GCC 7981 1.1 christos CC=$lt_save_CC 7982 1.1 christos CFLAGS=$lt_save_CFLAGS 7983 1.1 christos fi # test yes != "$_lt_disable_F77" 7984 1.1 christos 7985 1.1 christos AC_LANG_POP 7986 1.1 christos ])# _LT_LANG_F77_CONFIG 7987 1.1 christos 7988 1.1 christos 7989 1.1 christos # _LT_LANG_FC_CONFIG([TAG]) 7990 1.1 christos # ------------------------- 7991 1.1 christos # Ensure that the configuration variables for a Fortran compiler are 7992 1.1 christos # suitably defined. These variables are subsequently used by _LT_CONFIG 7993 1.1 christos # to write the compiler configuration to 'libtool'. 7994 1.1 christos m4_defun([_LT_LANG_FC_CONFIG], 7995 1.1 christos [AC_LANG_PUSH(Fortran) 7996 1.1 christos 7997 1.1 christos if test -z "$FC" || test no = "$FC"; then 7998 1.1 christos _lt_disable_FC=yes 7999 1.1 christos fi 8000 1.1 christos 8001 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 8002 1.1 christos _LT_TAGVAR(allow_undefined_flag, $1)= 8003 1.1 christos _LT_TAGVAR(always_export_symbols, $1)=no 8004 1.1 christos _LT_TAGVAR(archive_expsym_cmds, $1)= 8005 1.1 christos _LT_TAGVAR(export_dynamic_flag_spec, $1)= 8006 1.1 christos _LT_TAGVAR(hardcode_direct, $1)=no 8007 1.1 christos _LT_TAGVAR(hardcode_direct_absolute, $1)=no 8008 1.1 christos _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 8009 1.1 christos _LT_TAGVAR(hardcode_libdir_separator, $1)= 8010 1.1 christos _LT_TAGVAR(hardcode_minus_L, $1)=no 8011 1.1 christos _LT_TAGVAR(hardcode_automatic, $1)=no 8012 1.1 christos _LT_TAGVAR(inherit_rpath, $1)=no 8013 1.1 christos _LT_TAGVAR(module_cmds, $1)= 8014 1.1 christos _LT_TAGVAR(module_expsym_cmds, $1)= 8015 1.1 christos _LT_TAGVAR(link_all_deplibs, $1)=unknown 8016 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 8017 1.1 christos _LT_TAGVAR(reload_flag, $1)=$reload_flag 8018 1.1 christos _LT_TAGVAR(reload_cmds, $1)=$reload_cmds 8019 1.1 christos _LT_TAGVAR(no_undefined_flag, $1)= 8020 1.1 christos _LT_TAGVAR(whole_archive_flag_spec, $1)= 8021 1.1 christos _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 8022 1.1 christos 8023 1.1 christos # Source file extension for fc test sources. 8024 1.1 christos ac_ext=${ac_fc_srcext-f} 8025 1.1 christos 8026 1.1 christos # Object file extension for compiled fc test sources. 8027 1.1 christos objext=o 8028 1.1 christos _LT_TAGVAR(objext, $1)=$objext 8029 1.1 christos 8030 1.1 christos # No sense in running all these tests if we already determined that 8031 1.1 christos # the FC compiler isn't working. Some variables (like enable_shared) 8032 1.1 christos # are currently assumed to apply to all compilers on this platform, 8033 1.1 christos # and will be corrupted by setting them based on a non-working compiler. 8034 1.1 christos if test yes != "$_lt_disable_FC"; then 8035 1.1 christos # Code to be used in simple compile tests 8036 1.1 christos lt_simple_compile_test_code="\ 8037 1.1 christos subroutine t 8038 1.1 christos return 8039 1.1 christos end 8040 1.1 christos " 8041 1.1 christos 8042 1.1 christos # Code to be used in simple link tests 8043 1.1 christos lt_simple_link_test_code="\ 8044 1.1 christos program t 8045 1.1 christos end 8046 1.1 christos " 8047 1.1 christos 8048 1.1 christos # ltmain only uses $CC for tagged configurations so make sure $CC is set. 8049 1.1 christos _LT_TAG_COMPILER 8050 1.1 christos 8051 1.1 christos # save warnings/boilerplate of simple test code 8052 1.1 christos _LT_COMPILER_BOILERPLATE 8053 1.1 christos _LT_LINKER_BOILERPLATE 8054 1.1 christos 8055 1.1 christos # Allow CC to be a program name with arguments. 8056 1.1 christos lt_save_CC=$CC 8057 1.1 christos lt_save_GCC=$GCC 8058 1.1 christos lt_save_CFLAGS=$CFLAGS 8059 1.1 christos CC=${FC-"f95"} 8060 1.1 christos CFLAGS=$FCFLAGS 8061 1.1 christos compiler=$CC 8062 1.1 christos GCC=$ac_cv_fc_compiler_gnu 8063 1.1 christos 8064 1.1 christos _LT_TAGVAR(compiler, $1)=$CC 8065 1.1 christos _LT_CC_BASENAME([$compiler]) 8066 1.1 christos 8067 1.1 christos if test -n "$compiler"; then 8068 1.1 christos AC_MSG_CHECKING([if libtool supports shared libraries]) 8069 1.1 christos AC_MSG_RESULT([$can_build_shared]) 8070 1.1 christos 8071 1.1 christos AC_MSG_CHECKING([whether to build shared libraries]) 8072 1.1 christos test no = "$can_build_shared" && enable_shared=no 8073 1.1 christos 8074 1.1 christos # On AIX, shared libraries and static libraries use the same namespace, and 8075 1.1 christos # are all built from PIC. 8076 1.1 christos case $host_os in 8077 1.1 christos aix3*) 8078 1.1 christos test yes = "$enable_shared" && enable_static=no 8079 1.1 christos if test -n "$RANLIB"; then 8080 1.1 christos archive_cmds="$archive_cmds~\$RANLIB \$lib" 8081 1.1 christos postinstall_cmds='$RANLIB $lib' 8082 1.1 christos fi 8083 1.1 christos ;; 8084 1.1 christos aix[[4-9]]*) 8085 1.1 christos if test ia64 != "$host_cpu"; then 8086 1.1 christos case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in 8087 1.1 christos yes,aix,yes) ;; # shared object as lib.so file only 8088 1.1 christos yes,svr4,*) ;; # shared object as lib.so archive member only 8089 1.1 christos yes,*) enable_static=no ;; # shared object in lib.a archive as well 8090 1.1 christos esac 8091 1.1 christos fi 8092 1.1 christos ;; 8093 1.1 christos esac 8094 1.1 christos AC_MSG_RESULT([$enable_shared]) 8095 1.1 christos 8096 1.1 christos AC_MSG_CHECKING([whether to build static libraries]) 8097 1.1 christos # Make sure either enable_shared or enable_static is yes. 8098 1.1 christos test yes = "$enable_shared" || enable_static=yes 8099 1.1 christos AC_MSG_RESULT([$enable_static]) 8100 1.1 christos 8101 1.1 christos _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu 8102 1.1 christos _LT_TAGVAR(LD, $1)=$LD 8103 1.1 christos 8104 1.1 christos ## CAVEAT EMPTOR: 8105 1.1 christos ## There is no encapsulation within the following macros, do not change 8106 1.1 christos ## the running order or otherwise move them around unless you know exactly 8107 1.1 christos ## what you are doing... 8108 1.1 christos _LT_SYS_HIDDEN_LIBDEPS($1) 8109 1.1 christos _LT_COMPILER_PIC($1) 8110 1.1 christos _LT_COMPILER_C_O($1) 8111 1.1 christos _LT_COMPILER_FILE_LOCKS($1) 8112 1.1 christos _LT_LINKER_SHLIBS($1) 8113 1.1 christos _LT_SYS_DYNAMIC_LINKER($1) 8114 1.1 christos _LT_LINKER_HARDCODE_LIBPATH($1) 8115 1.1 christos 8116 1.1 christos _LT_CONFIG($1) 8117 1.1 christos fi # test -n "$compiler" 8118 1.1 christos 8119 1.1 christos GCC=$lt_save_GCC 8120 1.1 christos CC=$lt_save_CC 8121 1.1 christos CFLAGS=$lt_save_CFLAGS 8122 1.1 christos fi # test yes != "$_lt_disable_FC" 8123 1.1 christos 8124 1.1 christos AC_LANG_POP 8125 1.1 christos ])# _LT_LANG_FC_CONFIG 8126 1.1 christos 8127 1.1 christos 8128 1.1 christos # _LT_LANG_GCJ_CONFIG([TAG]) 8129 1.1 christos # -------------------------- 8130 1.1 christos # Ensure that the configuration variables for the GNU Java Compiler compiler 8131 1.1 christos # are suitably defined. These variables are subsequently used by _LT_CONFIG 8132 1.1 christos # to write the compiler configuration to 'libtool'. 8133 1.1 christos m4_defun([_LT_LANG_GCJ_CONFIG], 8134 1.1 christos [AC_REQUIRE([LT_PROG_GCJ])dnl 8135 1.1 christos AC_LANG_SAVE 8136 1.1 christos 8137 1.1 christos # Source file extension for Java test sources. 8138 1.1 christos ac_ext=java 8139 1.1 christos 8140 1.1 christos # Object file extension for compiled Java test sources. 8141 1.1 christos objext=o 8142 1.1 christos _LT_TAGVAR(objext, $1)=$objext 8143 1.1 christos 8144 1.1 christos # Code to be used in simple compile tests 8145 1.1 christos lt_simple_compile_test_code="class foo {}" 8146 1.1 christos 8147 1.1 christos # Code to be used in simple link tests 8148 1.1 christos lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 8149 1.1 christos 8150 1.1 christos # ltmain only uses $CC for tagged configurations so make sure $CC is set. 8151 1.1 christos _LT_TAG_COMPILER 8152 1.1 christos 8153 1.1 christos # save warnings/boilerplate of simple test code 8154 1.1 christos _LT_COMPILER_BOILERPLATE 8155 1.1 christos _LT_LINKER_BOILERPLATE 8156 1.1 christos 8157 1.1 christos # Allow CC to be a program name with arguments. 8158 1.1 christos lt_save_CC=$CC 8159 1.1 christos lt_save_CFLAGS=$CFLAGS 8160 1.1 christos lt_save_GCC=$GCC 8161 1.1 christos GCC=yes 8162 1.1 christos CC=${GCJ-"gcj"} 8163 1.1 christos CFLAGS=$GCJFLAGS 8164 1.1 christos compiler=$CC 8165 1.1 christos _LT_TAGVAR(compiler, $1)=$CC 8166 1.1 christos _LT_TAGVAR(LD, $1)=$LD 8167 1.1 christos _LT_CC_BASENAME([$compiler]) 8168 1.1 christos 8169 1.1 christos # GCJ did not exist at the time GCC didn't implicitly link libc in. 8170 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 8171 1.1 christos 8172 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 8173 1.1 christos _LT_TAGVAR(reload_flag, $1)=$reload_flag 8174 1.1 christos _LT_TAGVAR(reload_cmds, $1)=$reload_cmds 8175 1.1 christos 8176 1.1 christos ## CAVEAT EMPTOR: 8177 1.1 christos ## There is no encapsulation within the following macros, do not change 8178 1.1 christos ## the running order or otherwise move them around unless you know exactly 8179 1.1 christos ## what you are doing... 8180 1.1 christos if test -n "$compiler"; then 8181 1.1 christos _LT_COMPILER_NO_RTTI($1) 8182 1.1 christos _LT_COMPILER_PIC($1) 8183 1.1 christos _LT_COMPILER_C_O($1) 8184 1.1 christos _LT_COMPILER_FILE_LOCKS($1) 8185 1.1 christos _LT_LINKER_SHLIBS($1) 8186 1.1 christos _LT_LINKER_HARDCODE_LIBPATH($1) 8187 1.1 christos 8188 1.1 christos _LT_CONFIG($1) 8189 1.1 christos fi 8190 1.1 christos 8191 1.1 christos AC_LANG_RESTORE 8192 1.1 christos 8193 1.1 christos GCC=$lt_save_GCC 8194 1.1 christos CC=$lt_save_CC 8195 1.1 christos CFLAGS=$lt_save_CFLAGS 8196 1.1 christos ])# _LT_LANG_GCJ_CONFIG 8197 1.1 christos 8198 1.1 christos 8199 1.1 christos # _LT_LANG_GO_CONFIG([TAG]) 8200 1.1 christos # -------------------------- 8201 1.1 christos # Ensure that the configuration variables for the GNU Go compiler 8202 1.1 christos # are suitably defined. These variables are subsequently used by _LT_CONFIG 8203 1.1 christos # to write the compiler configuration to 'libtool'. 8204 1.1 christos m4_defun([_LT_LANG_GO_CONFIG], 8205 1.1 christos [AC_REQUIRE([LT_PROG_GO])dnl 8206 1.1 christos AC_LANG_SAVE 8207 1.1 christos 8208 1.1 christos # Source file extension for Go test sources. 8209 1.1 christos ac_ext=go 8210 1.1 christos 8211 1.1 christos # Object file extension for compiled Go test sources. 8212 1.1 christos objext=o 8213 1.1 christos _LT_TAGVAR(objext, $1)=$objext 8214 1.1 christos 8215 1.1 christos # Code to be used in simple compile tests 8216 1.1 christos lt_simple_compile_test_code="package main; func main() { }" 8217 1.1 christos 8218 1.1 christos # Code to be used in simple link tests 8219 1.1 christos lt_simple_link_test_code='package main; func main() { }' 8220 1.1 christos 8221 1.1 christos # ltmain only uses $CC for tagged configurations so make sure $CC is set. 8222 1.1 christos _LT_TAG_COMPILER 8223 1.1 christos 8224 1.1 christos # save warnings/boilerplate of simple test code 8225 1.1 christos _LT_COMPILER_BOILERPLATE 8226 1.1 christos _LT_LINKER_BOILERPLATE 8227 1.1 christos 8228 1.1 christos # Allow CC to be a program name with arguments. 8229 1.1 christos lt_save_CC=$CC 8230 1.1 christos lt_save_CFLAGS=$CFLAGS 8231 1.1 christos lt_save_GCC=$GCC 8232 1.1 christos GCC=yes 8233 1.1 christos CC=${GOC-"gccgo"} 8234 1.1 christos CFLAGS=$GOFLAGS 8235 1.1 christos compiler=$CC 8236 1.1 christos _LT_TAGVAR(compiler, $1)=$CC 8237 1.1 christos _LT_TAGVAR(LD, $1)=$LD 8238 1.1 christos _LT_CC_BASENAME([$compiler]) 8239 1.1 christos 8240 1.1 christos # Go did not exist at the time GCC didn't implicitly link libc in. 8241 1.1 christos _LT_TAGVAR(archive_cmds_need_lc, $1)=no 8242 1.1 christos 8243 1.1 christos _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 8244 1.1 christos _LT_TAGVAR(reload_flag, $1)=$reload_flag 8245 1.1 christos _LT_TAGVAR(reload_cmds, $1)=$reload_cmds 8246 1.1 christos 8247 1.1 christos ## CAVEAT EMPTOR: 8248 1.1 christos ## There is no encapsulation within the following macros, do not change 8249 1.1 christos ## the running order or otherwise move them around unless you know exactly 8250 1.1 christos ## what you are doing... 8251 1.1 christos if test -n "$compiler"; then 8252 1.1 christos _LT_COMPILER_NO_RTTI($1) 8253 1.1 christos _LT_COMPILER_PIC($1) 8254 1.1 christos _LT_COMPILER_C_O($1) 8255 1.1 christos _LT_COMPILER_FILE_LOCKS($1) 8256 1.1 christos _LT_LINKER_SHLIBS($1) 8257 1.1 christos _LT_LINKER_HARDCODE_LIBPATH($1) 8258 1.1 christos 8259 1.1 christos _LT_CONFIG($1) 8260 1.1 christos fi 8261 1.1 christos 8262 1.1 christos AC_LANG_RESTORE 8263 1.1 christos 8264 1.1 christos GCC=$lt_save_GCC 8265 1.1 christos CC=$lt_save_CC 8266 1.1 christos CFLAGS=$lt_save_CFLAGS 8267 1.1 christos ])# _LT_LANG_GO_CONFIG 8268 1.1 christos 8269 1.1 christos 8270 1.1 christos # _LT_LANG_RC_CONFIG([TAG]) 8271 1.1 christos # ------------------------- 8272 1.1 christos # Ensure that the configuration variables for the Windows resource compiler 8273 1.1 christos # are suitably defined. These variables are subsequently used by _LT_CONFIG 8274 1.1 christos # to write the compiler configuration to 'libtool'. 8275 1.1 christos m4_defun([_LT_LANG_RC_CONFIG], 8276 1.1 christos [AC_REQUIRE([LT_PROG_RC])dnl 8277 1.1 christos AC_LANG_SAVE 8278 1.1 christos 8279 1.1 christos # Source file extension for RC test sources. 8280 1.1 christos ac_ext=rc 8281 1.1 christos 8282 1.1 christos # Object file extension for compiled RC test sources. 8283 1.1 christos objext=o 8284 1.1 christos _LT_TAGVAR(objext, $1)=$objext 8285 1.1 christos 8286 1.1 christos # Code to be used in simple compile tests 8287 1.1 christos lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 8288 1.1 christos 8289 1.1 christos # Code to be used in simple link tests 8290 1.1 christos lt_simple_link_test_code=$lt_simple_compile_test_code 8291 1.1 christos 8292 1.1 christos # ltmain only uses $CC for tagged configurations so make sure $CC is set. 8293 1.1 christos _LT_TAG_COMPILER 8294 1.1 christos 8295 1.1 christos # save warnings/boilerplate of simple test code 8296 1.1 christos _LT_COMPILER_BOILERPLATE 8297 1.1 christos _LT_LINKER_BOILERPLATE 8298 1.1 christos 8299 1.1 christos # Allow CC to be a program name with arguments. 8300 1.1 christos lt_save_CC=$CC 8301 1.1 christos lt_save_CFLAGS=$CFLAGS 8302 1.1 christos lt_save_GCC=$GCC 8303 1.1 christos GCC= 8304 1.1 christos CC=${RC-"windres"} 8305 1.1 christos CFLAGS= 8306 1.1 christos compiler=$CC 8307 1.1 christos _LT_TAGVAR(compiler, $1)=$CC 8308 1.1 christos _LT_CC_BASENAME([$compiler]) 8309 1.1 christos _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 8310 1.1 christos 8311 1.1 christos if test -n "$compiler"; then 8312 1.1 christos : 8313 1.1 christos _LT_CONFIG($1) 8314 1.1 christos fi 8315 1.1 christos 8316 1.1 christos GCC=$lt_save_GCC 8317 1.1 christos AC_LANG_RESTORE 8318 1.1 christos CC=$lt_save_CC 8319 1.1 christos CFLAGS=$lt_save_CFLAGS 8320 1.1 christos ])# _LT_LANG_RC_CONFIG 8321 1.1 christos 8322 1.1 christos 8323 1.1 christos # LT_PROG_GCJ 8324 1.1 christos # ----------- 8325 1.1 christos AC_DEFUN([LT_PROG_GCJ], 8326 1.1 christos [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 8327 1.1 christos [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 8328 1.1 christos [AC_CHECK_TOOL(GCJ, gcj,) 8329 1.1 christos test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" 8330 1.1 christos AC_SUBST(GCJFLAGS)])])[]dnl 8331 1.1 christos ]) 8332 1.1 christos 8333 1.1 christos # Old name: 8334 1.1 christos AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 8335 1.1 christos dnl aclocal-1.4 backwards compatibility: 8336 1.1 christos dnl AC_DEFUN([LT_AC_PROG_GCJ], []) 8337 1.1 christos 8338 1.1 christos 8339 1.1 christos # LT_PROG_GO 8340 1.1 christos # ---------- 8341 1.1 christos AC_DEFUN([LT_PROG_GO], 8342 1.1 christos [AC_CHECK_TOOL(GOC, gccgo,) 8343 1.1 christos ]) 8344 1.1 christos 8345 1.1 christos 8346 1.1 christos # LT_PROG_RC 8347 1.1 christos # ---------- 8348 1.1 christos AC_DEFUN([LT_PROG_RC], 8349 1.1 christos [AC_CHECK_TOOL(RC, windres,) 8350 1.1 christos ]) 8351 1.1 christos 8352 1.1 christos # Old name: 8353 1.1 christos AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 8354 1.1 christos dnl aclocal-1.4 backwards compatibility: 8355 1.1 christos dnl AC_DEFUN([LT_AC_PROG_RC], []) 8356 1.1 christos 8357 1.1 christos 8358 1.1 christos # _LT_DECL_EGREP 8359 1.1 christos # -------------- 8360 1.1 christos # If we don't have a new enough Autoconf to choose the best grep 8361 1.1 christos # available, choose the one first in the user's PATH. 8362 1.1 christos m4_defun([_LT_DECL_EGREP], 8363 1.1 christos [AC_REQUIRE([AC_PROG_EGREP])dnl 8364 1.1 christos AC_REQUIRE([AC_PROG_FGREP])dnl 8365 1.1 christos test -z "$GREP" && GREP=grep 8366 1.1 christos _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 8367 1.1 christos _LT_DECL([], [EGREP], [1], [An ERE matcher]) 8368 1.1 christos _LT_DECL([], [FGREP], [1], [A literal string matcher]) 8369 1.1 christos dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 8370 1.1 christos AC_SUBST([GREP]) 8371 1.1 christos ]) 8372 1.1 christos 8373 1.1 christos 8374 1.1 christos # _LT_DECL_OBJDUMP 8375 1.1 christos # -------------- 8376 1.1 christos # If we don't have a new enough Autoconf to choose the best objdump 8377 1.1 christos # available, choose the one first in the user's PATH. 8378 1.1 christos m4_defun([_LT_DECL_OBJDUMP], 8379 1.1 christos [AC_CHECK_TOOL(OBJDUMP, objdump, false) 8380 1.1 christos test -z "$OBJDUMP" && OBJDUMP=objdump 8381 1.1 christos _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 8382 1.1 christos AC_SUBST([OBJDUMP]) 8383 1.1 christos ]) 8384 1.1 christos 8385 1.1 christos # _LT_DECL_DLLTOOL 8386 1.1 christos # ---------------- 8387 1.1 christos # Ensure DLLTOOL variable is set. 8388 1.1 christos m4_defun([_LT_DECL_DLLTOOL], 8389 1.1 christos [AC_CHECK_TOOL(DLLTOOL, dlltool, false) 8390 1.1 christos test -z "$DLLTOOL" && DLLTOOL=dlltool 8391 1.1 christos _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) 8392 1.1 christos AC_SUBST([DLLTOOL]) 8393 1.1 christos ]) 8394 1.1 christos 8395 1.1.1.4 christos # _LT_DECL_FILECMD 8396 1.1.1.4 christos # ---------------- 8397 1.1.1.4 christos # Check for a file(cmd) program that can be used to detect file type and magic 8398 1.1.1.4 christos m4_defun([_LT_DECL_FILECMD], 8399 1.1.1.5 christos [AC_CHECK_PROG([FILECMD], [file], [file], [:]) 8400 1.1.1.4 christos _LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types]) 8401 1.1.1.4 christos ])# _LD_DECL_FILECMD 8402 1.1.1.4 christos 8403 1.1 christos # _LT_DECL_SED 8404 1.1 christos # ------------ 8405 1.1 christos # Check for a fully-functional sed program, that truncates 8406 1.1 christos # as few characters as possible. Prefer GNU sed if found. 8407 1.1 christos m4_defun([_LT_DECL_SED], 8408 1.1 christos [AC_PROG_SED 8409 1.1 christos test -z "$SED" && SED=sed 8410 1.1 christos Xsed="$SED -e 1s/^X//" 8411 1.1 christos _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 8412 1.1 christos _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 8413 1.1 christos [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 8414 1.1 christos ])# _LT_DECL_SED 8415 1.1 christos dnl aclocal-1.4 backwards compatibility: 8416 1.1 christos dnl AC_DEFUN([LT_AC_PROG_SED], []) 8417 1.1 christos 8418 1.1 christos 8419 1.1 christos # _LT_CHECK_SHELL_FEATURES 8420 1.1 christos # ------------------------ 8421 1.1 christos # Find out whether the shell is Bourne or XSI compatible, 8422 1.1 christos # or has some other useful features. 8423 1.1 christos m4_defun([_LT_CHECK_SHELL_FEATURES], 8424 1.1 christos [if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 8425 1.1 christos lt_unset=unset 8426 1.1 christos else 8427 1.1 christos lt_unset=false 8428 1.1 christos fi 8429 1.1 christos _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 8430 1.1 christos 8431 1.1 christos # test EBCDIC or ASCII 8432 1.1 christos case `echo X|tr X '\101'` in 8433 1.1 christos A) # ASCII based system 8434 1.1 christos # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 8435 1.1 christos lt_SP2NL='tr \040 \012' 8436 1.1 christos lt_NL2SP='tr \015\012 \040\040' 8437 1.1 christos ;; 8438 1.1 christos *) # EBCDIC based system 8439 1.1 christos lt_SP2NL='tr \100 \n' 8440 1.1 christos lt_NL2SP='tr \r\n \100\100' 8441 1.1 christos ;; 8442 1.1 christos esac 8443 1.1 christos _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 8444 1.1 christos _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 8445 1.1 christos ])# _LT_CHECK_SHELL_FEATURES 8446 1.1 christos 8447 1.1 christos 8448 1.1 christos # _LT_PATH_CONVERSION_FUNCTIONS 8449 1.1 christos # ----------------------------- 8450 1.1 christos # Determine what file name conversion functions should be used by 8451 1.1 christos # func_to_host_file (and, implicitly, by func_to_host_path). These are needed 8452 1.1 christos # for certain cross-compile configurations and native mingw. 8453 1.1 christos m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], 8454 1.1 christos [AC_REQUIRE([AC_CANONICAL_HOST])dnl 8455 1.1 christos AC_REQUIRE([AC_CANONICAL_BUILD])dnl 8456 1.1 christos AC_MSG_CHECKING([how to convert $build file names to $host format]) 8457 1.1 christos AC_CACHE_VAL(lt_cv_to_host_file_cmd, 8458 1.1 christos [case $host in 8459 1.1 christos *-*-mingw* ) 8460 1.1 christos case $build in 8461 1.1.1.5 christos *-*-mingw* | *-*-windows* ) # actually msys 8462 1.1 christos lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 8463 1.1 christos ;; 8464 1.1 christos *-*-cygwin* ) 8465 1.1 christos lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 8466 1.1 christos ;; 8467 1.1 christos * ) # otherwise, assume *nix 8468 1.1 christos lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 8469 1.1 christos ;; 8470 1.1 christos esac 8471 1.1 christos ;; 8472 1.1 christos *-*-cygwin* ) 8473 1.1 christos case $build in 8474 1.1.1.5 christos *-*-mingw* | *-*-windows* ) # actually msys 8475 1.1 christos lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin 8476 1.1 christos ;; 8477 1.1 christos *-*-cygwin* ) 8478 1.1 christos lt_cv_to_host_file_cmd=func_convert_file_noop 8479 1.1 christos ;; 8480 1.1 christos * ) # otherwise, assume *nix 8481 1.1 christos lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin 8482 1.1 christos ;; 8483 1.1 christos esac 8484 1.1 christos ;; 8485 1.1 christos * ) # unhandled hosts (and "normal" native builds) 8486 1.1 christos lt_cv_to_host_file_cmd=func_convert_file_noop 8487 1.1 christos ;; 8488 1.1 christos esac 8489 1.1 christos ]) 8490 1.1 christos to_host_file_cmd=$lt_cv_to_host_file_cmd 8491 1.1 christos AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) 8492 1.1 christos _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], 8493 1.1 christos [0], [convert $build file names to $host format])dnl 8494 1.1 christos 8495 1.1 christos AC_MSG_CHECKING([how to convert $build file names to toolchain format]) 8496 1.1 christos AC_CACHE_VAL(lt_cv_to_tool_file_cmd, 8497 1.1 christos [#assume ordinary cross tools, or native build. 8498 1.1 christos lt_cv_to_tool_file_cmd=func_convert_file_noop 8499 1.1 christos case $host in 8500 1.1.1.5 christos *-*-mingw* | *-*-windows* ) 8501 1.1 christos case $build in 8502 1.1.1.5 christos *-*-mingw* | *-*-windows* ) # actually msys 8503 1.1 christos lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 8504 1.1 christos ;; 8505 1.1 christos esac 8506 1.1 christos ;; 8507 1.1 christos esac 8508 1.1 christos ]) 8509 1.1 christos to_tool_file_cmd=$lt_cv_to_tool_file_cmd 8510 1.1 christos AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) 8511 1.1 christos _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], 8512 1.1 christos [0], [convert $build files to toolchain format])dnl 8513 1.1 christos ])# _LT_PATH_CONVERSION_FUNCTIONS 8514