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