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