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