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[m4_assert([$# <= 2])dnl 384_$0(m4_quote(m4_default([$1], [[, ]])), 385 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 386 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 387m4_define([_lt_decl_varnames_tagged], 388[m4_ifval([$3], [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# NOTE: Changes made to this file will be lost: look at ltmain.sh. 688# 689_LT_COPYING 690_LT_LIBTOOL_TAGS 691 692# ### BEGIN LIBTOOL CONFIG 693_LT_LIBTOOL_CONFIG_VARS 694_LT_LIBTOOL_TAG_VARS 695# ### END LIBTOOL CONFIG 696 697_LT_EOF 698 699 case $host_os in 700 aix3*) 701 cat <<\_LT_EOF >> "$cfgfile" 702# AIX sometimes has problems with the GCC collect2 program. For some 703# reason, if we set the COLLECT_NAMES environment variable, the problems 704# vanish in a puff of smoke. 705if test "X${COLLECT_NAMES+set}" != Xset; then 706 COLLECT_NAMES= 707 export COLLECT_NAMES 708fi 709_LT_EOF 710 ;; 711 esac 712 713 _LT_PROG_LTMAIN 714 715 # We use sed instead of cat because bash on DJGPP gets confused if 716 # if finds mixed CR/LF and LF-only lines. Since sed operates in 717 # text mode, it properly converts lines to CR/LF. This bash problem 718 # is reportedly fixed, but why not run on old versions too? 719 sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ 720 || (rm -f "$cfgfile"; exit 1) 721 722 _LT_PROG_XSI_SHELLFNS 723 724 sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ 725 || (rm -f "$cfgfile"; exit 1) 726 727 mv -f "$cfgfile" "$ofile" || 728 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 729 chmod +x "$ofile" 730], 731[cat <<_LT_EOF >> "$ofile" 732 733dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 734dnl in a comment (ie after a #). 735# ### BEGIN LIBTOOL TAG CONFIG: $1 736_LT_LIBTOOL_TAG_VARS(_LT_TAG) 737# ### END LIBTOOL TAG CONFIG: $1 738_LT_EOF 739])dnl /m4_if 740], 741[m4_if([$1], [], [ 742 PACKAGE='$PACKAGE' 743 VERSION='$VERSION' 744 TIMESTAMP='$TIMESTAMP' 745 RM='$RM' 746 ofile='$ofile'], []) 747])dnl /_LT_CONFIG_SAVE_COMMANDS 748])# _LT_CONFIG 749 750 751# LT_SUPPORTED_TAG(TAG) 752# --------------------- 753# Trace this macro to discover what tags are supported by the libtool 754# --tag option, using: 755# autoconf --trace 'LT_SUPPORTED_TAG:$1' 756AC_DEFUN([LT_SUPPORTED_TAG], []) 757 758 759# C support is built-in for now 760m4_define([_LT_LANG_C_enabled], []) 761m4_define([_LT_TAGS], []) 762 763 764# LT_LANG(LANG) 765# ------------- 766# Enable libtool support for the given language if not already enabled. 767AC_DEFUN([LT_LANG], 768[AC_BEFORE([$0], [LT_OUTPUT])dnl 769m4_case([$1], 770 [C], [_LT_LANG(C)], 771 [C++], [_LT_LANG(CXX)], 772 [Java], [_LT_LANG(GCJ)], 773 [Fortran 77], [_LT_LANG(F77)], 774 [Fortran], [_LT_LANG(FC)], 775 [Windows Resource], [_LT_LANG(RC)], 776 [m4_ifdef([_LT_LANG_]$1[_CONFIG], 777 [_LT_LANG($1)], 778 [m4_fatal([$0: unsupported language: "$1"])])])dnl 779])# LT_LANG 780 781 782# _LT_LANG(LANGNAME) 783# ------------------ 784m4_defun([_LT_LANG], 785[m4_ifdef([_LT_LANG_]$1[_enabled], [], 786 [LT_SUPPORTED_TAG([$1])dnl 787 m4_append([_LT_TAGS], [$1 ])dnl 788 m4_define([_LT_LANG_]$1[_enabled], [])dnl 789 _LT_LANG_$1_CONFIG($1)])dnl 790])# _LT_LANG 791 792 793# _LT_LANG_DEFAULT_CONFIG 794# ----------------------- 795m4_defun([_LT_LANG_DEFAULT_CONFIG], 796[AC_PROVIDE_IFELSE([AC_PROG_CXX], 797 [LT_LANG(CXX)], 798 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 799 800AC_PROVIDE_IFELSE([AC_PROG_F77], 801 [LT_LANG(F77)], 802 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 803 804AC_PROVIDE_IFELSE([AC_PROG_FC], 805 [LT_LANG(FC)], 806 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 807 808dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 809dnl pulling things in needlessly. 810AC_PROVIDE_IFELSE([AC_PROG_GCJ], 811 [LT_LANG(GCJ)], 812 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 813 [LT_LANG(GCJ)], 814 [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 815 [LT_LANG(GCJ)], 816 [m4_ifdef([AC_PROG_GCJ], 817 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 818 m4_ifdef([A][M_PROG_GCJ], 819 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 820 m4_ifdef([LT_PROG_GCJ], 821 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 822 823AC_PROVIDE_IFELSE([LT_PROG_RC], 824 [LT_LANG(RC)], 825 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 826])# _LT_LANG_DEFAULT_CONFIG 827 828# Obsolete macros: 829AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 830AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 831AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 832AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 833dnl aclocal-1.4 backwards compatibility: 834dnl AC_DEFUN([AC_LIBTOOL_CXX], []) 835dnl AC_DEFUN([AC_LIBTOOL_F77], []) 836dnl AC_DEFUN([AC_LIBTOOL_FC], []) 837dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 838 839 840# _LT_TAG_COMPILER 841# ---------------- 842m4_defun([_LT_TAG_COMPILER], 843[AC_REQUIRE([AC_PROG_CC])dnl 844 845_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 846_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 847_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 848_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 849 850# If no C compiler was specified, use CC. 851LTCC=${LTCC-"$CC"} 852 853# If no C compiler flags were specified, use CFLAGS. 854LTCFLAGS=${LTCFLAGS-"$CFLAGS"} 855 856# Allow CC to be a program name with arguments. 857compiler=$CC 858])# _LT_TAG_COMPILER 859 860 861# _LT_COMPILER_BOILERPLATE 862# ------------------------ 863# Check for compiler boilerplate output or warnings with 864# the simple compiler test code. 865m4_defun([_LT_COMPILER_BOILERPLATE], 866[m4_require([_LT_DECL_SED])dnl 867ac_outfile=conftest.$ac_objext 868echo "$lt_simple_compile_test_code" >conftest.$ac_ext 869eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 870_lt_compiler_boilerplate=`cat conftest.err` 871$RM conftest* 872])# _LT_COMPILER_BOILERPLATE 873 874 875# _LT_LINKER_BOILERPLATE 876# ---------------------- 877# Check for linker boilerplate output or warnings with 878# the simple link test code. 879m4_defun([_LT_LINKER_BOILERPLATE], 880[m4_require([_LT_DECL_SED])dnl 881ac_outfile=conftest.$ac_objext 882echo "$lt_simple_link_test_code" >conftest.$ac_ext 883eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 884_lt_linker_boilerplate=`cat conftest.err` 885$RM -r conftest* 886])# _LT_LINKER_BOILERPLATE 887 888# _LT_REQUIRED_DARWIN_CHECKS 889# ------------------------- 890m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 891 case $host_os in 892 rhapsody* | darwin*) 893 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 894 AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 895 AC_CHECK_TOOL([LIPO], [lipo], [:]) 896 AC_CHECK_TOOL([OTOOL], [otool], [:]) 897 AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 898 _LT_DECL([], [DSYMUTIL], [1], 899 [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 900 _LT_DECL([], [NMEDIT], [1], 901 [Tool to change global to local symbols on Mac OS X]) 902 _LT_DECL([], [LIPO], [1], 903 [Tool to manipulate fat objects and archives on Mac OS X]) 904 _LT_DECL([], [OTOOL], [1], 905 [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 906 _LT_DECL([], [OTOOL64], [1], 907 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 908 909 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 910 [lt_cv_apple_cc_single_mod=no 911 if test -z "${LT_MULTI_MODULE}"; then 912 # By default we will add the -single_module flag. You can override 913 # by either setting the environment variable LT_MULTI_MODULE 914 # non-empty at configure time, or by adding -multi_module to the 915 # link flags. 916 rm -rf libconftest.dylib* 917 echo "int foo(void){return 1;}" > conftest.c 918 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 919-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 920 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 921 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 922 _lt_result=$? 923 if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then 924 lt_cv_apple_cc_single_mod=yes 925 else 926 cat conftest.err >&AS_MESSAGE_LOG_FD 927 fi 928 rm -rf libconftest.dylib* 929 rm -f conftest.* 930 fi]) 931 AC_CACHE_CHECK([for -exported_symbols_list linker flag], 932 [lt_cv_ld_exported_symbols_list], 933 [lt_cv_ld_exported_symbols_list=no 934 save_LDFLAGS=$LDFLAGS 935 echo "_main" > conftest.sym 936 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 937 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 938 [lt_cv_ld_exported_symbols_list=yes], 939 [lt_cv_ld_exported_symbols_list=no]) 940 LDFLAGS="$save_LDFLAGS" 941 ]) 942 case $host_os in 943 rhapsody* | darwin1.[[012]]) 944 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; 945 darwin1.*) 946 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 947 darwin*) # darwin 5.x on 948 # if running on 10.5 or later, the deployment target defaults 949 # to the OS version, if on x86, and 10.4, the deployment 950 # target defaults to 10.4. Don't you love it? 951 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 952 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) 953 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 954 10.[[012]]*) 955 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 956 10.*) 957 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 958 esac 959 ;; 960 esac 961 if test "$lt_cv_apple_cc_single_mod" = "yes"; then 962 _lt_dar_single_mod='$single_module' 963 fi 964 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then 965 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' 966 else 967 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' 968 fi 969 if test "$DSYMUTIL" != ":"; then 970 _lt_dsymutil='~$DSYMUTIL $lib || :' 971 else 972 _lt_dsymutil= 973 fi 974 ;; 975 esac 976]) 977 978 979# _LT_DARWIN_LINKER_FEATURES 980# -------------------------- 981# Checks for linker and compiler features on darwin 982m4_defun([_LT_DARWIN_LINKER_FEATURES], 983[ 984 m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 985 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 986 _LT_TAGVAR(hardcode_direct, $1)=no 987 _LT_TAGVAR(hardcode_automatic, $1)=yes 988 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 989 _LT_TAGVAR(whole_archive_flag_spec, $1)='' 990 _LT_TAGVAR(link_all_deplibs, $1)=yes 991 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" 992 case $cc_basename in 993 ifort*) _lt_dar_can_shared=yes ;; 994 *) _lt_dar_can_shared=$GCC ;; 995 esac 996 if test "$_lt_dar_can_shared" = "yes"; then 997 output_verbose_link_cmd=echo 998 _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}" 999 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" 1000 _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}" 1001 _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}" 1002 m4_if([$1], [CXX], 1003[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then 1004 _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}" 1005 _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}" 1006 fi 1007],[]) 1008 else 1009 _LT_TAGVAR(ld_shlibs, $1)=no 1010 fi 1011]) 1012 1013# _LT_SYS_MODULE_PATH_AIX 1014# ----------------------- 1015# Links a minimal program and checks the executable 1016# for the system default hardcoded library path. In most cases, 1017# this is /usr/lib:/lib, but when the MPI compilers are used 1018# the location of the communication and MPI libs are included too. 1019# If we don't find anything, use the default library path according 1020# to the aix ld manual. 1021m4_defun([_LT_SYS_MODULE_PATH_AIX], 1022[m4_require([_LT_DECL_SED])dnl 1023AC_LINK_IFELSE([AC_LANG_PROGRAM],[ 1024lt_aix_libpath_sed=' 1025 /Import File Strings/,/^$/ { 1026 /^0/ { 1027 s/^0 *\(.*\)$/\1/ 1028 p 1029 } 1030 }' 1031aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1032# Check for a 64-bit object if we didn't find anything. 1033if test -z "$aix_libpath"; then 1034 aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1035fi],[]) 1036if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi 1037])# _LT_SYS_MODULE_PATH_AIX 1038 1039 1040# _LT_SHELL_INIT(ARG) 1041# ------------------- 1042m4_define([_LT_SHELL_INIT], 1043[ifdef([AC_DIVERSION_NOTICE], 1044 [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], 1045 [AC_DIVERT_PUSH(NOTICE)]) 1046$1 1047AC_DIVERT_POP 1048])# _LT_SHELL_INIT 1049 1050 1051# _LT_PROG_ECHO_BACKSLASH 1052# ----------------------- 1053# Add some code to the start of the generated configure script which 1054# will find an echo command which doesn't interpret backslashes. 1055m4_defun([_LT_PROG_ECHO_BACKSLASH], 1056[_LT_SHELL_INIT([ 1057# Check that we are running under the correct shell. 1058SHELL=${CONFIG_SHELL-/bin/sh} 1059 1060case X$lt_ECHO in 1061X*--fallback-echo) 1062 # Remove one level of quotation (which was required for Make). 1063 ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` 1064 ;; 1065esac 1066 1067ECHO=${lt_ECHO-echo} 1068if test "X[$]1" = X--no-reexec; then 1069 # Discard the --no-reexec flag, and continue. 1070 shift 1071elif test "X[$]1" = X--fallback-echo; then 1072 # Avoid inline document here, it may be left over 1073 : 1074elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then 1075 # Yippee, $ECHO works! 1076 : 1077else 1078 # Restart under the correct shell. 1079 exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} 1080fi 1081 1082if test "X[$]1" = X--fallback-echo; then 1083 # used as fallback echo 1084 shift 1085 cat <<_LT_EOF 1086[$]* 1087_LT_EOF 1088 exit 0 1089fi 1090 1091# The HP-UX ksh and POSIX shell print the target directory to stdout 1092# if CDPATH is set. 1093(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 1094 1095if test -z "$lt_ECHO"; then 1096 if test "X${echo_test_string+set}" != Xset; then 1097 # find a string as large as possible, as long as the shell can cope with it 1098 for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do 1099 # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... 1100 if { echo_test_string=`eval $cmd`; } 2>/dev/null && 1101 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null 1102 then 1103 break 1104 fi 1105 done 1106 fi 1107 1108 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && 1109 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && 1110 test "X$echo_testing_string" = "X$echo_test_string"; then 1111 : 1112 else 1113 # The Solaris, AIX, and Digital Unix default echo programs unquote 1114 # backslashes. This makes it impossible to quote backslashes using 1115 # echo "$something" | sed 's/\\/\\\\/g' 1116 # 1117 # So, first we look for a working echo in the user's PATH. 1118 1119 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 1120 for dir in $PATH /usr/ucb; do 1121 IFS="$lt_save_ifs" 1122 if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && 1123 test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && 1124 echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && 1125 test "X$echo_testing_string" = "X$echo_test_string"; then 1126 ECHO="$dir/echo" 1127 break 1128 fi 1129 done 1130 IFS="$lt_save_ifs" 1131 1132 if test "X$ECHO" = Xecho; then 1133 # We didn't find a better echo, so look for alternatives. 1134 if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && 1135 echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && 1136 test "X$echo_testing_string" = "X$echo_test_string"; then 1137 # This shell has a builtin print -r that does the trick. 1138 ECHO='print -r' 1139 elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && 1140 test "X$CONFIG_SHELL" != X/bin/ksh; then 1141 # If we have ksh, try running configure again with it. 1142 ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} 1143 export ORIGINAL_CONFIG_SHELL 1144 CONFIG_SHELL=/bin/ksh 1145 export CONFIG_SHELL 1146 exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} 1147 else 1148 # Try using printf. 1149 ECHO='printf %s\n' 1150 if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && 1151 echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && 1152 test "X$echo_testing_string" = "X$echo_test_string"; then 1153 # Cool, printf works 1154 : 1155 elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 1156 test "X$echo_testing_string" = 'X\t' && 1157 echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 1158 test "X$echo_testing_string" = "X$echo_test_string"; then 1159 CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL 1160 export CONFIG_SHELL 1161 SHELL="$CONFIG_SHELL" 1162 export SHELL 1163 ECHO="$CONFIG_SHELL [$]0 --fallback-echo" 1164 elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 1165 test "X$echo_testing_string" = 'X\t' && 1166 echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 1167 test "X$echo_testing_string" = "X$echo_test_string"; then 1168 ECHO="$CONFIG_SHELL [$]0 --fallback-echo" 1169 else 1170 # maybe with a smaller string... 1171 prev=: 1172 1173 for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do 1174 if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null 1175 then 1176 break 1177 fi 1178 prev="$cmd" 1179 done 1180 1181 if test "$prev" != 'sed 50q "[$]0"'; then 1182 echo_test_string=`eval $prev` 1183 export echo_test_string 1184 exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} 1185 else 1186 # Oops. We lost completely, so just stick with echo. 1187 ECHO=echo 1188 fi 1189 fi 1190 fi 1191 fi 1192 fi 1193fi 1194 1195# Copy echo and quote the copy suitably for passing to libtool from 1196# the Makefile, instead of quoting the original, which is used later. 1197lt_ECHO=$ECHO 1198if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then 1199 lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" 1200fi 1201 1202AC_SUBST(lt_ECHO) 1203]) 1204_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 1205_LT_DECL([], [ECHO], [1], 1206 [An echo program that does not interpret backslashes]) 1207])# _LT_PROG_ECHO_BACKSLASH 1208 1209 1210# _LT_ENABLE_LOCK 1211# --------------- 1212m4_defun([_LT_ENABLE_LOCK], 1213[AC_ARG_ENABLE([libtool-lock], 1214 [AS_HELP_STRING([--disable-libtool-lock], 1215 [avoid locking (might break parallel builds)])]) 1216test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 1217 1218# Some flags need to be propagated to the compiler or linker for good 1219# libtool support. 1220case $host in 1221ia64-*-hpux*) 1222 # Find out which ABI we are using. 1223 echo 'int i;' > conftest.$ac_ext 1224 if AC_TRY_EVAL(ac_compile); then 1225 case `/usr/bin/file conftest.$ac_objext` in 1226 *ELF-32*) 1227 HPUX_IA64_MODE="32" 1228 ;; 1229 *ELF-64*) 1230 HPUX_IA64_MODE="64" 1231 ;; 1232 esac 1233 fi 1234 rm -rf conftest* 1235 ;; 1236*-*-irix6*) 1237 # Find out which ABI we are using. 1238 echo '[#]line __oline__ "configure"' > conftest.$ac_ext 1239 if AC_TRY_EVAL(ac_compile); then 1240 if test "$lt_cv_prog_gnu_ld" = yes; then 1241 case `/usr/bin/file conftest.$ac_objext` in 1242 *32-bit*) 1243 LD="${LD-ld} -melf32bsmip" 1244 ;; 1245 *N32*) 1246 LD="${LD-ld} -melf32bmipn32" 1247 ;; 1248 *64-bit*) 1249 LD="${LD-ld} -melf64bmip" 1250 ;; 1251 esac 1252 else 1253 case `/usr/bin/file conftest.$ac_objext` in 1254 *32-bit*) 1255 LD="${LD-ld} -32" 1256 ;; 1257 *N32*) 1258 LD="${LD-ld} -n32" 1259 ;; 1260 *64-bit*) 1261 LD="${LD-ld} -64" 1262 ;; 1263 esac 1264 fi 1265 fi 1266 rm -rf conftest* 1267 ;; 1268 1269x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ 1270s390*-*linux*|s390*-*tpf*|sparc*-*linux*) 1271 # Find out which ABI we are using. 1272 echo 'int i;' > conftest.$ac_ext 1273 if AC_TRY_EVAL(ac_compile); then 1274 case `/usr/bin/file conftest.o` in 1275 *32-bit*) 1276 case $host in 1277 x86_64-*kfreebsd*-gnu) 1278 LD="${LD-ld} -m elf_i386_fbsd" 1279 ;; 1280 x86_64-*linux*) 1281 LD="${LD-ld} -m elf_i386" 1282 ;; 1283 ppc64-*linux*|powerpc64-*linux*) 1284 LD="${LD-ld} -m elf32ppclinux" 1285 ;; 1286 s390x-*linux*) 1287 LD="${LD-ld} -m elf_s390" 1288 ;; 1289 sparc64-*linux*) 1290 LD="${LD-ld} -m elf32_sparc" 1291 ;; 1292 esac 1293 ;; 1294 *64-bit*) 1295 case $host in 1296 x86_64-*kfreebsd*-gnu) 1297 LD="${LD-ld} -m elf_x86_64_fbsd" 1298 ;; 1299 x86_64-*linux*) 1300 LD="${LD-ld} -m elf_x86_64" 1301 ;; 1302 ppc*-*linux*|powerpc*-*linux*) 1303 LD="${LD-ld} -m elf64ppc" 1304 ;; 1305 s390*-*linux*|s390*-*tpf*) 1306 LD="${LD-ld} -m elf64_s390" 1307 ;; 1308 sparc*-*linux*) 1309 LD="${LD-ld} -m elf64_sparc" 1310 ;; 1311 esac 1312 ;; 1313 esac 1314 fi 1315 rm -rf conftest* 1316 ;; 1317 1318*-*-sco3.2v5*) 1319 # On SCO OpenServer 5, we need -belf to get full-featured binaries. 1320 SAVE_CFLAGS="$CFLAGS" 1321 CFLAGS="$CFLAGS -belf" 1322 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 1323 [AC_LANG_PUSH(C) 1324 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 1325 AC_LANG_POP]) 1326 if test x"$lt_cv_cc_needs_belf" != x"yes"; then 1327 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 1328 CFLAGS="$SAVE_CFLAGS" 1329 fi 1330 ;; 1331sparc*-*solaris*) 1332 # Find out which ABI we are using. 1333 echo 'int i;' > conftest.$ac_ext 1334 if AC_TRY_EVAL(ac_compile); then 1335 case `/usr/bin/file conftest.o` in 1336 *64-bit*) 1337 case $lt_cv_prog_gnu_ld in 1338 yes*) LD="${LD-ld} -m elf64_sparc" ;; 1339 *) 1340 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 1341 LD="${LD-ld} -64" 1342 fi 1343 ;; 1344 esac 1345 ;; 1346 esac 1347 fi 1348 rm -rf conftest* 1349 ;; 1350esac 1351 1352need_locks="$enable_libtool_lock" 1353])# _LT_ENABLE_LOCK 1354 1355 1356# _LT_CMD_OLD_ARCHIVE 1357# ------------------- 1358m4_defun([_LT_CMD_OLD_ARCHIVE], 1359[AC_CHECK_TOOL(AR, ar, false) 1360test -z "$AR" && AR=ar 1361test -z "$AR_FLAGS" && AR_FLAGS=cru 1362_LT_DECL([], [AR], [1], [The archiver]) 1363_LT_DECL([], [AR_FLAGS], [1]) 1364 1365AC_CHECK_TOOL(STRIP, strip, :) 1366test -z "$STRIP" && STRIP=: 1367_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 1368 1369AC_CHECK_TOOL(RANLIB, ranlib, :) 1370test -z "$RANLIB" && RANLIB=: 1371_LT_DECL([], [RANLIB], [1], 1372 [Commands used to install an old-style archive]) 1373 1374# Determine commands to create old-style static archives. 1375old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 1376old_postinstall_cmds='chmod 644 $oldlib' 1377old_postuninstall_cmds= 1378 1379if test -n "$RANLIB"; then 1380 case $host_os in 1381 openbsd*) 1382 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" 1383 ;; 1384 *) 1385 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" 1386 ;; 1387 esac 1388 old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" 1389fi 1390_LT_DECL([], [old_postinstall_cmds], [2]) 1391_LT_DECL([], [old_postuninstall_cmds], [2]) 1392_LT_TAGDECL([], [old_archive_cmds], [2], 1393 [Commands used to build an old-style archive]) 1394])# _LT_CMD_OLD_ARCHIVE 1395 1396 1397# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1398# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 1399# ---------------------------------------------------------------- 1400# Check whether the given compiler option works 1401AC_DEFUN([_LT_COMPILER_OPTION], 1402[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1403m4_require([_LT_DECL_SED])dnl 1404AC_CACHE_CHECK([$1], [$2], 1405 [$2=no 1406 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 1407 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1408 lt_compiler_flag="$3" 1409 # Insert the option either (1) after the last *FLAGS variable, or 1410 # (2) before a word containing "conftest.", or (3) at the end. 1411 # Note that $ac_compile itself does not contain backslashes and begins 1412 # with a dollar sign (not a hyphen), so the echo should work correctly. 1413 # The option is referenced via a variable to avoid confusing sed. 1414 lt_compile=`echo "$ac_compile" | $SED \ 1415 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1416 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1417 -e 's:$: $lt_compiler_flag:'` 1418 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1419 (eval "$lt_compile" 2>conftest.err) 1420 ac_status=$? 1421 cat conftest.err >&AS_MESSAGE_LOG_FD 1422 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1423 if (exit $ac_status) && test -s "$ac_outfile"; then 1424 # The compiler can only warn and ignore the option if not recognized 1425 # So say no if there are warnings other than the usual output. 1426 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp 1427 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1428 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 1429 $2=yes 1430 fi 1431 fi 1432 $RM conftest* 1433]) 1434 1435if test x"[$]$2" = xyes; then 1436 m4_if([$5], , :, [$5]) 1437else 1438 m4_if([$6], , :, [$6]) 1439fi 1440])# _LT_COMPILER_OPTION 1441 1442# Old name: 1443AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 1444dnl aclocal-1.4 backwards compatibility: 1445dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 1446 1447 1448# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1449# [ACTION-SUCCESS], [ACTION-FAILURE]) 1450# ---------------------------------------------------- 1451# Check whether the given linker option works 1452AC_DEFUN([_LT_LINKER_OPTION], 1453[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1454m4_require([_LT_DECL_SED])dnl 1455AC_CACHE_CHECK([$1], [$2], 1456 [$2=no 1457 save_LDFLAGS="$LDFLAGS" 1458 LDFLAGS="$LDFLAGS $3" 1459 echo "$lt_simple_link_test_code" > conftest.$ac_ext 1460 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 1461 # The linker can only warn and ignore the option if not recognized 1462 # So say no if there are warnings 1463 if test -s conftest.err; then 1464 # Append any errors to the config.log. 1465 cat conftest.err 1>&AS_MESSAGE_LOG_FD 1466 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp 1467 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1468 if diff conftest.exp conftest.er2 >/dev/null; then 1469 $2=yes 1470 fi 1471 else 1472 $2=yes 1473 fi 1474 fi 1475 $RM -r conftest* 1476 LDFLAGS="$save_LDFLAGS" 1477]) 1478 1479if test x"[$]$2" = xyes; then 1480 m4_if([$4], , :, [$4]) 1481else 1482 m4_if([$5], , :, [$5]) 1483fi 1484])# _LT_LINKER_OPTION 1485 1486# Old name: 1487AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 1488dnl aclocal-1.4 backwards compatibility: 1489dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 1490 1491 1492# LT_CMD_MAX_LEN 1493#--------------- 1494AC_DEFUN([LT_CMD_MAX_LEN], 1495[AC_REQUIRE([AC_CANONICAL_HOST])dnl 1496# find the maximum length of command line arguments 1497AC_MSG_CHECKING([the maximum length of command line arguments]) 1498AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 1499 i=0 1500 teststring="ABCD" 1501 1502 case $build_os in 1503 msdosdjgpp*) 1504 # On DJGPP, this test can blow up pretty badly due to problems in libc 1505 # (any single argument exceeding 2000 bytes causes a buffer overrun 1506 # during glob expansion). Even if it were fixed, the result of this 1507 # check would be larger than it should be. 1508 lt_cv_sys_max_cmd_len=12288; # 12K is about right 1509 ;; 1510 1511 gnu*) 1512 # Under GNU Hurd, this test is not required because there is 1513 # no limit to the length of command line arguments. 1514 # Libtool will interpret -1 as no limit whatsoever 1515 lt_cv_sys_max_cmd_len=-1; 1516 ;; 1517 1518 cygwin* | mingw* | cegcc*) 1519 # On Win9x/ME, this test blows up -- it succeeds, but takes 1520 # about 5 minutes as the teststring grows exponentially. 1521 # Worse, since 9x/ME are not pre-emptively multitasking, 1522 # you end up with a "frozen" computer, even though with patience 1523 # the test eventually succeeds (with a max line length of 256k). 1524 # Instead, let's just punt: use the minimum linelength reported by 1525 # all of the supported platforms: 8192 (on NT/2K/XP). 1526 lt_cv_sys_max_cmd_len=8192; 1527 ;; 1528 1529 amigaos*) 1530 # On AmigaOS with pdksh, this test takes hours, literally. 1531 # So we just punt and use a minimum line length of 8192. 1532 lt_cv_sys_max_cmd_len=8192; 1533 ;; 1534 1535 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) 1536 # This has been around since 386BSD, at least. Likely further. 1537 if test -x /sbin/sysctl; then 1538 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 1539 elif test -x /usr/sbin/sysctl; then 1540 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 1541 else 1542 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 1543 fi 1544 # And add a safety zone 1545 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1546 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1547 ;; 1548 1549 interix*) 1550 # We know the value 262144 and hardcode it with a safety zone (like BSD) 1551 lt_cv_sys_max_cmd_len=196608 1552 ;; 1553 1554 osf*) 1555 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 1556 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 1557 # nice to cause kernel panics so lets avoid the loop below. 1558 # First set a reasonable default. 1559 lt_cv_sys_max_cmd_len=16384 1560 # 1561 if test -x /sbin/sysconfig; then 1562 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 1563 *1*) lt_cv_sys_max_cmd_len=-1 ;; 1564 esac 1565 fi 1566 ;; 1567 sco3.2v5*) 1568 lt_cv_sys_max_cmd_len=102400 1569 ;; 1570 sysv5* | sco5v6* | sysv4.2uw2*) 1571 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 1572 if test -n "$kargmax"; then 1573 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` 1574 else 1575 lt_cv_sys_max_cmd_len=32768 1576 fi 1577 ;; 1578 *) 1579 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 1580 if test -n "$lt_cv_sys_max_cmd_len"; then 1581 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1582 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1583 else 1584 # Make teststring a little bigger before we do anything with it. 1585 # a 1K string should be a reasonable start. 1586 for i in 1 2 3 4 5 6 7 8 ; do 1587 teststring=$teststring$teststring 1588 done 1589 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 1590 # If test is not a shell built-in, we'll probably end up computing a 1591 # maximum length that is only half of the actual maximum length, but 1592 # we can't tell. 1593 while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ 1594 = "XX$teststring$teststring"; } >/dev/null 2>&1 && 1595 test $i != 17 # 1/2 MB should be enough 1596 do 1597 i=`expr $i + 1` 1598 teststring=$teststring$teststring 1599 done 1600 # Only check the string length outside the loop. 1601 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 1602 teststring= 1603 # Add a significant safety factor because C++ compilers can tack on 1604 # massive amounts of additional arguments before passing them to the 1605 # linker. It appears as though 1/2 is a usable value. 1606 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 1607 fi 1608 ;; 1609 esac 1610]) 1611if test -n $lt_cv_sys_max_cmd_len ; then 1612 AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 1613else 1614 AC_MSG_RESULT(none) 1615fi 1616max_cmd_len=$lt_cv_sys_max_cmd_len 1617_LT_DECL([], [max_cmd_len], [0], 1618 [What is the maximum length of a command?]) 1619])# LT_CMD_MAX_LEN 1620 1621# Old name: 1622AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 1623dnl aclocal-1.4 backwards compatibility: 1624dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 1625 1626 1627# _LT_HEADER_DLFCN 1628# ---------------- 1629m4_defun([_LT_HEADER_DLFCN], 1630[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 1631])# _LT_HEADER_DLFCN 1632 1633 1634# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 1635# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 1636# ---------------------------------------------------------------- 1637m4_defun([_LT_TRY_DLOPEN_SELF], 1638[m4_require([_LT_HEADER_DLFCN])dnl 1639if test "$cross_compiling" = yes; then : 1640 [$4] 1641else 1642 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 1643 lt_status=$lt_dlunknown 1644 cat > conftest.$ac_ext <<_LT_EOF 1645[#line __oline__ "configure" 1646#include "confdefs.h" 1647 1648#if HAVE_DLFCN_H 1649#include <dlfcn.h> 1650#endif 1651 1652#include <stdio.h> 1653 1654#ifdef RTLD_GLOBAL 1655# define LT_DLGLOBAL RTLD_GLOBAL 1656#else 1657# ifdef DL_GLOBAL 1658# define LT_DLGLOBAL DL_GLOBAL 1659# else 1660# define LT_DLGLOBAL 0 1661# endif 1662#endif 1663 1664/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 1665 find out it does not work in some platform. */ 1666#ifndef LT_DLLAZY_OR_NOW 1667# ifdef RTLD_LAZY 1668# define LT_DLLAZY_OR_NOW RTLD_LAZY 1669# else 1670# ifdef DL_LAZY 1671# define LT_DLLAZY_OR_NOW DL_LAZY 1672# else 1673# ifdef RTLD_NOW 1674# define LT_DLLAZY_OR_NOW RTLD_NOW 1675# else 1676# ifdef DL_NOW 1677# define LT_DLLAZY_OR_NOW DL_NOW 1678# else 1679# define LT_DLLAZY_OR_NOW 0 1680# endif 1681# endif 1682# endif 1683# endif 1684#endif 1685 1686void fnord() { int i=42;} 1687int main () 1688{ 1689 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 1690 int status = $lt_dlunknown; 1691 1692 if (self) 1693 { 1694 if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 1695 else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 1696 /* dlclose (self); */ 1697 } 1698 else 1699 puts (dlerror ()); 1700 1701 return status; 1702}] 1703_LT_EOF 1704 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then 1705 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 1706 lt_status=$? 1707 case x$lt_status in 1708 x$lt_dlno_uscore) $1 ;; 1709 x$lt_dlneed_uscore) $2 ;; 1710 x$lt_dlunknown|x*) $3 ;; 1711 esac 1712 else : 1713 # compilation failed 1714 $3 1715 fi 1716fi 1717rm -fr conftest* 1718])# _LT_TRY_DLOPEN_SELF 1719 1720 1721# LT_SYS_DLOPEN_SELF 1722# ------------------ 1723AC_DEFUN([LT_SYS_DLOPEN_SELF], 1724[m4_require([_LT_HEADER_DLFCN])dnl 1725if test "x$enable_dlopen" != xyes; then 1726 enable_dlopen=unknown 1727 enable_dlopen_self=unknown 1728 enable_dlopen_self_static=unknown 1729else 1730 lt_cv_dlopen=no 1731 lt_cv_dlopen_libs= 1732 1733 case $host_os in 1734 beos*) 1735 lt_cv_dlopen="load_add_on" 1736 lt_cv_dlopen_libs= 1737 lt_cv_dlopen_self=yes 1738 ;; 1739 1740 mingw* | pw32* | cegcc*) 1741 lt_cv_dlopen="LoadLibrary" 1742 lt_cv_dlopen_libs= 1743 ;; 1744 1745 cygwin*) 1746 lt_cv_dlopen="dlopen" 1747 lt_cv_dlopen_libs= 1748 ;; 1749 1750 darwin*) 1751 # if libdl is installed we need to link against it 1752 AC_CHECK_LIB([dl], [dlopen], 1753 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ 1754 lt_cv_dlopen="dyld" 1755 lt_cv_dlopen_libs= 1756 lt_cv_dlopen_self=yes 1757 ]) 1758 ;; 1759 1760 *) 1761 AC_CHECK_FUNC([shl_load], 1762 [lt_cv_dlopen="shl_load"], 1763 [AC_CHECK_LIB([dld], [shl_load], 1764 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], 1765 [AC_CHECK_FUNC([dlopen], 1766 [lt_cv_dlopen="dlopen"], 1767 [AC_CHECK_LIB([dl], [dlopen], 1768 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], 1769 [AC_CHECK_LIB([svld], [dlopen], 1770 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], 1771 [AC_CHECK_LIB([dld], [dld_link], 1772 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) 1773 ]) 1774 ]) 1775 ]) 1776 ]) 1777 ]) 1778 ;; 1779 esac 1780 1781 if test "x$lt_cv_dlopen" != xno; then 1782 enable_dlopen=yes 1783 else 1784 enable_dlopen=no 1785 fi 1786 1787 case $lt_cv_dlopen in 1788 dlopen) 1789 save_CPPFLAGS="$CPPFLAGS" 1790 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 1791 1792 save_LDFLAGS="$LDFLAGS" 1793 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 1794 1795 save_LIBS="$LIBS" 1796 LIBS="$lt_cv_dlopen_libs $LIBS" 1797 1798 AC_CACHE_CHECK([whether a program can dlopen itself], 1799 lt_cv_dlopen_self, [dnl 1800 _LT_TRY_DLOPEN_SELF( 1801 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 1802 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 1803 ]) 1804 1805 if test "x$lt_cv_dlopen_self" = xyes; then 1806 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 1807 AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 1808 lt_cv_dlopen_self_static, [dnl 1809 _LT_TRY_DLOPEN_SELF( 1810 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 1811 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 1812 ]) 1813 fi 1814 1815 CPPFLAGS="$save_CPPFLAGS" 1816 LDFLAGS="$save_LDFLAGS" 1817 LIBS="$save_LIBS" 1818 ;; 1819 esac 1820 1821 case $lt_cv_dlopen_self in 1822 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 1823 *) enable_dlopen_self=unknown ;; 1824 esac 1825 1826 case $lt_cv_dlopen_self_static in 1827 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 1828 *) enable_dlopen_self_static=unknown ;; 1829 esac 1830fi 1831_LT_DECL([dlopen_support], [enable_dlopen], [0], 1832 [Whether dlopen is supported]) 1833_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 1834 [Whether dlopen of programs is supported]) 1835_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 1836 [Whether dlopen of statically linked programs is supported]) 1837])# LT_SYS_DLOPEN_SELF 1838 1839# Old name: 1840AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 1841dnl aclocal-1.4 backwards compatibility: 1842dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 1843 1844 1845# _LT_COMPILER_C_O([TAGNAME]) 1846# --------------------------- 1847# Check to see if options -c and -o are simultaneously supported by compiler. 1848# This macro does not hard code the compiler like AC_PROG_CC_C_O. 1849m4_defun([_LT_COMPILER_C_O], 1850[m4_require([_LT_DECL_SED])dnl 1851m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1852m4_require([_LT_TAG_COMPILER])dnl 1853AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 1854 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 1855 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 1856 $RM -r conftest 2>/dev/null 1857 mkdir conftest 1858 cd conftest 1859 mkdir out 1860 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1861 1862 lt_compiler_flag="-o out/conftest2.$ac_objext" 1863 # Insert the option either (1) after the last *FLAGS variable, or 1864 # (2) before a word containing "conftest.", or (3) at the end. 1865 # Note that $ac_compile itself does not contain backslashes and begins 1866 # with a dollar sign (not a hyphen), so the echo should work correctly. 1867 lt_compile=`echo "$ac_compile" | $SED \ 1868 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1869 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1870 -e 's:$: $lt_compiler_flag:'` 1871 (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1872 (eval "$lt_compile" 2>out/conftest.err) 1873 ac_status=$? 1874 cat out/conftest.err >&AS_MESSAGE_LOG_FD 1875 echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1876 if (exit $ac_status) && test -s out/conftest2.$ac_objext 1877 then 1878 # The compiler can only warn and ignore the option if not recognized 1879 # So say no if there are warnings 1880 $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp 1881 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 1882 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 1883 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 1884 fi 1885 fi 1886 chmod u+w . 2>&AS_MESSAGE_LOG_FD 1887 $RM conftest* 1888 # SGI C++ compiler will create directory out/ii_files/ for 1889 # template instantiation 1890 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 1891 $RM out/* && rmdir out 1892 cd .. 1893 $RM -r conftest 1894 $RM conftest* 1895]) 1896_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 1897 [Does compiler simultaneously support -c and -o options?]) 1898])# _LT_COMPILER_C_O 1899 1900 1901# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 1902# ---------------------------------- 1903# Check to see if we can do hard links to lock some files if needed 1904m4_defun([_LT_COMPILER_FILE_LOCKS], 1905[m4_require([_LT_ENABLE_LOCK])dnl 1906m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1907_LT_COMPILER_C_O([$1]) 1908 1909hard_links="nottested" 1910if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then 1911 # do not overwrite the value of need_locks provided by the user 1912 AC_MSG_CHECKING([if we can lock with hard links]) 1913 hard_links=yes 1914 $RM conftest* 1915 ln conftest.a conftest.b 2>/dev/null && hard_links=no 1916 touch conftest.a 1917 ln conftest.a conftest.b 2>&5 || hard_links=no 1918 ln conftest.a conftest.b 2>/dev/null && hard_links=no 1919 AC_MSG_RESULT([$hard_links]) 1920 if test "$hard_links" = no; then 1921 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) 1922 need_locks=warn 1923 fi 1924else 1925 need_locks=no 1926fi 1927_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 1928])# _LT_COMPILER_FILE_LOCKS 1929 1930 1931# _LT_CHECK_OBJDIR 1932# ---------------- 1933m4_defun([_LT_CHECK_OBJDIR], 1934[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 1935[rm -f .libs 2>/dev/null 1936mkdir .libs 2>/dev/null 1937if test -d .libs; then 1938 lt_cv_objdir=.libs 1939else 1940 # MS-DOS does not allow filenames that begin with a dot. 1941 lt_cv_objdir=_libs 1942fi 1943rmdir .libs 2>/dev/null]) 1944objdir=$lt_cv_objdir 1945_LT_DECL([], [objdir], [0], 1946 [The name of the directory that contains temporary libtool files])dnl 1947m4_pattern_allow([LT_OBJDIR])dnl 1948AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", 1949 [Define to the sub-directory in which libtool stores uninstalled libraries.]) 1950])# _LT_CHECK_OBJDIR 1951 1952 1953# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 1954# -------------------------------------- 1955# Check hardcoding attributes. 1956m4_defun([_LT_LINKER_HARDCODE_LIBPATH], 1957[AC_MSG_CHECKING([how to hardcode library paths into programs]) 1958_LT_TAGVAR(hardcode_action, $1)= 1959if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 1960 test -n "$_LT_TAGVAR(runpath_var, $1)" || 1961 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then 1962 1963 # We can hardcode non-existent directories. 1964 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && 1965 # If the only mechanism to avoid hardcoding is shlibpath_var, we 1966 # have to relink, otherwise we might link with an installed library 1967 # when we should be linking with a yet-to-be-installed one 1968 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && 1969 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then 1970 # Linking always hardcodes the temporary library directory. 1971 _LT_TAGVAR(hardcode_action, $1)=relink 1972 else 1973 # We can link without hardcoding, and we can hardcode nonexisting dirs. 1974 _LT_TAGVAR(hardcode_action, $1)=immediate 1975 fi 1976else 1977 # We cannot hardcode anything, or else we can only hardcode existing 1978 # directories. 1979 _LT_TAGVAR(hardcode_action, $1)=unsupported 1980fi 1981AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 1982 1983if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || 1984 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then 1985 # Fast installation is not supported 1986 enable_fast_install=no 1987elif test "$shlibpath_overrides_runpath" = yes || 1988 test "$enable_shared" = no; then 1989 # Fast installation is not necessary 1990 enable_fast_install=needless 1991fi 1992_LT_TAGDECL([], [hardcode_action], [0], 1993 [How to hardcode a shared library path into an executable]) 1994])# _LT_LINKER_HARDCODE_LIBPATH 1995 1996 1997# _LT_CMD_STRIPLIB 1998# ---------------- 1999m4_defun([_LT_CMD_STRIPLIB], 2000[m4_require([_LT_DECL_EGREP]) 2001striplib= 2002old_striplib= 2003AC_MSG_CHECKING([whether stripping libraries is possible]) 2004if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 2005 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 2006 test -z "$striplib" && striplib="$STRIP --strip-unneeded" 2007 AC_MSG_RESULT([yes]) 2008else 2009# FIXME - insert some real tests, host_os isn't really good enough 2010 case $host_os in 2011 darwin*) 2012 if test -n "$STRIP" ; then 2013 striplib="$STRIP -x" 2014 old_striplib="$STRIP -S" 2015 AC_MSG_RESULT([yes]) 2016 else 2017 AC_MSG_RESULT([no]) 2018 fi 2019 ;; 2020 *) 2021 AC_MSG_RESULT([no]) 2022 ;; 2023 esac 2024fi 2025_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 2026_LT_DECL([], [striplib], [1]) 2027])# _LT_CMD_STRIPLIB 2028 2029 2030# _LT_SYS_DYNAMIC_LINKER([TAG]) 2031# ----------------------------- 2032# PORTME Fill in your ld.so characteristics 2033m4_defun([_LT_SYS_DYNAMIC_LINKER], 2034[AC_REQUIRE([AC_CANONICAL_HOST])dnl 2035m4_require([_LT_DECL_EGREP])dnl 2036m4_require([_LT_FILEUTILS_DEFAULTS])dnl 2037m4_require([_LT_DECL_OBJDUMP])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* | cegcc*) 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* | yes,cegcc*) 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* | cegcc*) 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_names_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]) 2959m4_require([_LT_DECL_OBJDUMP]) 2960AC_CACHE_CHECK([how to recognize dependent libraries], 2961lt_cv_deplibs_check_method, 2962[lt_cv_file_magic_cmd='$MAGIC_CMD' 2963lt_cv_file_magic_test_file= 2964lt_cv_deplibs_check_method='unknown' 2965# Need to set the preceding variable on all platforms that support 2966# interlibrary dependencies. 2967# 'none' -- dependencies not supported. 2968# `unknown' -- same as none, but documents that we really don't know. 2969# 'pass_all' -- all dependencies passed with no checks. 2970# 'test_compile' -- check by making test program. 2971# 'file_magic [[regex]]' -- check by looking for files in library path 2972# which responds to the $file_magic_cmd with a given extended regex. 2973# If you have `file' or equivalent on your system and you're not sure 2974# whether `pass_all' will *always* work, you probably want this one. 2975 2976case $host_os in 2977aix[[4-9]]*) 2978 lt_cv_deplibs_check_method=pass_all 2979 ;; 2980 2981beos*) 2982 lt_cv_deplibs_check_method=pass_all 2983 ;; 2984 2985bsdi[[45]]*) 2986 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 2987 lt_cv_file_magic_cmd='/usr/bin/file -L' 2988 lt_cv_file_magic_test_file=/shlib/libc.so 2989 ;; 2990 2991cygwin*) 2992 # func_win32_libid is a shell function defined in ltmain.sh 2993 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 2994 lt_cv_file_magic_cmd='func_win32_libid' 2995 ;; 2996 2997mingw* | pw32*) 2998 # Base MSYS/MinGW do not provide the 'file' command needed by 2999 # func_win32_libid shell function, so use a weaker test based on 'objdump', 3000 # unless we find 'file', for example because we are cross-compiling. 3001 if ( file / ) >/dev/null 2>&1; then 3002 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3003 lt_cv_file_magic_cmd='func_win32_libid' 3004 else 3005 lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' 3006 lt_cv_file_magic_cmd='$OBJDUMP -f' 3007 fi 3008 ;; 3009 3010cegcc) 3011 # use the weaker test based on 'objdump'. See mingw*. 3012 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 3013 lt_cv_file_magic_cmd='$OBJDUMP -f' 3014 ;; 3015 3016darwin* | rhapsody*) 3017 lt_cv_deplibs_check_method=pass_all 3018 ;; 3019 3020freebsd* | dragonfly*) 3021 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3022 case $host_cpu in 3023 i*86 ) 3024 # Not sure whether the presence of OpenBSD here was a mistake. 3025 # Let's accept both of them until this is cleared up. 3026 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 3027 lt_cv_file_magic_cmd=/usr/bin/file 3028 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 3029 ;; 3030 esac 3031 else 3032 lt_cv_deplibs_check_method=pass_all 3033 fi 3034 ;; 3035 3036gnu*) 3037 lt_cv_deplibs_check_method=pass_all 3038 ;; 3039 3040hpux10.20* | hpux11*) 3041 lt_cv_file_magic_cmd=/usr/bin/file 3042 case $host_cpu in 3043 ia64*) 3044 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 3045 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 3046 ;; 3047 hppa*64*) 3048 [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]'] 3049 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 3050 ;; 3051 *) 3052 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' 3053 lt_cv_file_magic_test_file=/usr/lib/libc.sl 3054 ;; 3055 esac 3056 ;; 3057 3058interix[[3-9]]*) 3059 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 3060 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 3061 ;; 3062 3063irix5* | irix6* | nonstopux*) 3064 case $LD in 3065 *-32|*"-32 ") libmagic=32-bit;; 3066 *-n32|*"-n32 ") libmagic=N32;; 3067 *-64|*"-64 ") libmagic=64-bit;; 3068 *) libmagic=never-match;; 3069 esac 3070 lt_cv_deplibs_check_method=pass_all 3071 ;; 3072 3073# This must be Linux ELF. 3074linux* | k*bsd*-gnu) 3075 lt_cv_deplibs_check_method=pass_all 3076 ;; 3077 3078netbsd*) 3079 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3080 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3081 else 3082 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 3083 fi 3084 ;; 3085 3086newos6*) 3087 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 3088 lt_cv_file_magic_cmd=/usr/bin/file 3089 lt_cv_file_magic_test_file=/usr/lib/libnls.so 3090 ;; 3091 3092*nto* | *qnx*) 3093 lt_cv_deplibs_check_method=pass_all 3094 ;; 3095 3096openbsd*) 3097 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 3098 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 3099 else 3100 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3101 fi 3102 ;; 3103 3104osf3* | osf4* | osf5*) 3105 lt_cv_deplibs_check_method=pass_all 3106 ;; 3107 3108rdos*) 3109 lt_cv_deplibs_check_method=pass_all 3110 ;; 3111 3112solaris*) 3113 lt_cv_deplibs_check_method=pass_all 3114 ;; 3115 3116sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 3117 lt_cv_deplibs_check_method=pass_all 3118 ;; 3119 3120sysv4 | sysv4.3*) 3121 case $host_vendor in 3122 motorola) 3123 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]]' 3124 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 3125 ;; 3126 ncr) 3127 lt_cv_deplibs_check_method=pass_all 3128 ;; 3129 sequent) 3130 lt_cv_file_magic_cmd='/bin/file' 3131 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 3132 ;; 3133 sni) 3134 lt_cv_file_magic_cmd='/bin/file' 3135 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 3136 lt_cv_file_magic_test_file=/lib/libc.so 3137 ;; 3138 siemens) 3139 lt_cv_deplibs_check_method=pass_all 3140 ;; 3141 pc) 3142 lt_cv_deplibs_check_method=pass_all 3143 ;; 3144 esac 3145 ;; 3146 3147tpf*) 3148 lt_cv_deplibs_check_method=pass_all 3149 ;; 3150esac 3151]) 3152file_magic_cmd=$lt_cv_file_magic_cmd 3153deplibs_check_method=$lt_cv_deplibs_check_method 3154test -z "$deplibs_check_method" && deplibs_check_method=unknown 3155 3156_LT_DECL([], [deplibs_check_method], [1], 3157 [Method to check whether dependent libraries are shared objects]) 3158_LT_DECL([], [file_magic_cmd], [1], 3159 [Command to use when deplibs_check_method == "file_magic"]) 3160])# _LT_CHECK_MAGIC_METHOD 3161 3162 3163# LT_PATH_NM 3164# ---------- 3165# find the pathname to a BSD- or MS-compatible name lister 3166AC_DEFUN([LT_PATH_NM], 3167[AC_REQUIRE([AC_PROG_CC])dnl 3168AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 3169[if test -n "$NM"; then 3170 # Let the user override the test. 3171 lt_cv_path_NM="$NM" 3172else 3173 lt_nm_to_check="${ac_tool_prefix}nm" 3174 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 3175 lt_nm_to_check="$lt_nm_to_check nm" 3176 fi 3177 for lt_tmp_nm in $lt_nm_to_check; do 3178 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 3179 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 3180 IFS="$lt_save_ifs" 3181 test -z "$ac_dir" && ac_dir=. 3182 tmp_nm="$ac_dir/$lt_tmp_nm" 3183 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then 3184 # Check to see if the nm accepts a BSD-compat flag. 3185 # Adding the `sed 1q' prevents false positives on HP-UX, which says: 3186 # nm: unknown option "B" ignored 3187 # Tru64's nm complains that /dev/null is an invalid object file 3188 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in 3189 */dev/null* | *'Invalid file or object type'*) 3190 lt_cv_path_NM="$tmp_nm -B" 3191 break 3192 ;; 3193 *) 3194 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 3195 */dev/null*) 3196 lt_cv_path_NM="$tmp_nm -p" 3197 break 3198 ;; 3199 *) 3200 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 3201 continue # so that we can try to find one that supports BSD flags 3202 ;; 3203 esac 3204 ;; 3205 esac 3206 fi 3207 done 3208 IFS="$lt_save_ifs" 3209 done 3210 : ${lt_cv_path_NM=no} 3211fi]) 3212if test "$lt_cv_path_NM" != "no"; then 3213 NM="$lt_cv_path_NM" 3214else 3215 # Didn't find any BSD compatible name lister, look for dumpbin. 3216 AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) 3217 AC_SUBST([DUMPBIN]) 3218 if test "$DUMPBIN" != ":"; then 3219 NM="$DUMPBIN" 3220 fi 3221fi 3222test -z "$NM" && NM=nm 3223AC_SUBST([NM]) 3224_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 3225 3226AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 3227 [lt_cv_nm_interface="BSD nm" 3228 echo "int some_variable = 0;" > conftest.$ac_ext 3229 (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 3230 (eval "$ac_compile" 2>conftest.err) 3231 cat conftest.err >&AS_MESSAGE_LOG_FD 3232 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 3233 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 3234 cat conftest.err >&AS_MESSAGE_LOG_FD 3235 (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) 3236 cat conftest.out >&AS_MESSAGE_LOG_FD 3237 if $GREP 'External.*some_variable' conftest.out > /dev/null; then 3238 lt_cv_nm_interface="MS dumpbin" 3239 fi 3240 rm -f conftest*]) 3241])# LT_PATH_NM 3242 3243# Old names: 3244AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 3245AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 3246dnl aclocal-1.4 backwards compatibility: 3247dnl AC_DEFUN([AM_PROG_NM], []) 3248dnl AC_DEFUN([AC_PROG_NM], []) 3249 3250 3251# LT_LIB_M 3252# -------- 3253# check for math library 3254AC_DEFUN([LT_LIB_M], 3255[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3256LIBM= 3257case $host in 3258*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) 3259 # These system don't have libm, or don't need it 3260 ;; 3261*-ncr-sysv4.3*) 3262 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 3263 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 3264 ;; 3265*) 3266 AC_CHECK_LIB(m, cos, LIBM="-lm") 3267 ;; 3268esac 3269AC_SUBST([LIBM]) 3270])# LT_LIB_M 3271 3272# Old name: 3273AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 3274dnl aclocal-1.4 backwards compatibility: 3275dnl AC_DEFUN([AC_CHECK_LIBM], []) 3276 3277 3278# _LT_COMPILER_NO_RTTI([TAGNAME]) 3279# ------------------------------- 3280m4_defun([_LT_COMPILER_NO_RTTI], 3281[m4_require([_LT_TAG_COMPILER])dnl 3282 3283_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 3284 3285if test "$GCC" = yes; then 3286 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 3287 3288 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 3289 lt_cv_prog_compiler_rtti_exceptions, 3290 [-fno-rtti -fno-exceptions], [], 3291 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 3292fi 3293_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 3294 [Compiler flag to turn off builtin functions]) 3295])# _LT_COMPILER_NO_RTTI 3296 3297 3298# _LT_CMD_GLOBAL_SYMBOLS 3299# ---------------------- 3300m4_defun([_LT_CMD_GLOBAL_SYMBOLS], 3301[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3302AC_REQUIRE([AC_PROG_CC])dnl 3303AC_REQUIRE([LT_PATH_NM])dnl 3304AC_REQUIRE([LT_PATH_LD])dnl 3305m4_require([_LT_DECL_SED])dnl 3306m4_require([_LT_DECL_EGREP])dnl 3307m4_require([_LT_TAG_COMPILER])dnl 3308 3309# Check for command to grab the raw symbol name followed by C symbol from nm. 3310AC_MSG_CHECKING([command to parse $NM output from $compiler object]) 3311AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 3312[ 3313# These are sane defaults that work on at least a few old systems. 3314# [They come from Ultrix. What could be older than Ultrix?!! ;)] 3315 3316# Character class describing NM global symbol codes. 3317symcode='[[BCDEGRST]]' 3318 3319# Regexp to match symbols that can be accessed directly from C. 3320sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 3321 3322# Define system-specific variables. 3323case $host_os in 3324aix*) 3325 symcode='[[BCDT]]' 3326 ;; 3327cygwin* | mingw* | pw32* | cegcc*) 3328 symcode='[[ABCDGISTW]]' 3329 ;; 3330hpux*) 3331 if test "$host_cpu" = ia64; then 3332 symcode='[[ABCDEGRST]]' 3333 fi 3334 ;; 3335irix* | nonstopux*) 3336 symcode='[[BCDEGRST]]' 3337 ;; 3338osf*) 3339 symcode='[[BCDEGQRST]]' 3340 ;; 3341solaris*) 3342 symcode='[[BDRT]]' 3343 ;; 3344sco3.2v5*) 3345 symcode='[[DT]]' 3346 ;; 3347sysv4.2uw2*) 3348 symcode='[[DT]]' 3349 ;; 3350sysv5* | sco5v6* | unixware* | OpenUNIX*) 3351 symcode='[[ABDT]]' 3352 ;; 3353sysv4) 3354 symcode='[[DFNSTU]]' 3355 ;; 3356esac 3357 3358# If we're using GNU nm, then use its standard symbol codes. 3359case `$NM -V 2>&1` in 3360*GNU* | *'with BFD'*) 3361 symcode='[[ABCDGIRSTW]]' ;; 3362esac 3363 3364# Transform an extracted symbol line into a proper C declaration. 3365# Some systems (esp. on ia64) link data and code symbols differently, 3366# so use this general approach. 3367lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" 3368 3369# Transform an extracted symbol line into symbol name and symbol address 3370lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" 3371lt_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'" 3372 3373# Handle CRLF in mingw tool chain 3374opt_cr= 3375case $build_os in 3376mingw*) 3377 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 3378 ;; 3379esac 3380 3381# Try without a prefix underscore, then with it. 3382for ac_symprfx in "" "_"; do 3383 3384 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 3385 symxfrm="\\1 $ac_symprfx\\2 \\2" 3386 3387 # Write the raw and C identifiers. 3388 if test "$lt_cv_nm_interface" = "MS dumpbin"; then 3389 # Fake it for dumpbin and say T for any non-static function 3390 # and D for any global variable. 3391 # Also find C++ and __fastcall symbols from MSVC++, 3392 # which start with @ or ?. 3393 lt_cv_sys_global_symbol_pipe="$AWK ['"\ 3394" {last_section=section; section=\$ 3};"\ 3395" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 3396" \$ 0!~/External *\|/{next};"\ 3397" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 3398" {if(hide[section]) next};"\ 3399" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ 3400" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ 3401" s[1]~/^[@?]/{print s[1], s[1]; next};"\ 3402" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ 3403" ' prfx=^$ac_symprfx]" 3404 else 3405 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 3406 fi 3407 3408 # Check to see that the pipe works correctly. 3409 pipe_works=no 3410 3411 rm -f conftest* 3412 cat > conftest.$ac_ext <<_LT_EOF 3413#ifdef __cplusplus 3414extern "C" { 3415#endif 3416char nm_test_var; 3417void nm_test_func(void); 3418void nm_test_func(void){} 3419#ifdef __cplusplus 3420} 3421#endif 3422int main(){nm_test_var='a';nm_test_func();return(0);} 3423_LT_EOF 3424 3425 if AC_TRY_EVAL(ac_compile); then 3426 # Now try to grab the symbols. 3427 nlist=conftest.nm 3428 if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then 3429 # Try sorting and uniquifying the output. 3430 if sort "$nlist" | uniq > "$nlist"T; then 3431 mv -f "$nlist"T "$nlist" 3432 else 3433 rm -f "$nlist"T 3434 fi 3435 3436 # Make sure that we snagged all the symbols we need. 3437 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 3438 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 3439 cat <<_LT_EOF > conftest.$ac_ext 3440#ifdef __cplusplus 3441extern "C" { 3442#endif 3443 3444_LT_EOF 3445 # Now generate the symbol file. 3446 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 3447 3448 cat <<_LT_EOF >> conftest.$ac_ext 3449 3450/* The mapping between symbol names and symbols. */ 3451const struct { 3452 const char *name; 3453 void *address; 3454} 3455lt__PROGRAM__LTX_preloaded_symbols[[]] = 3456{ 3457 { "@PROGRAM@", (void *) 0 }, 3458_LT_EOF 3459 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 3460 cat <<\_LT_EOF >> conftest.$ac_ext 3461 {0, (void *) 0} 3462}; 3463 3464/* This works around a problem in FreeBSD linker */ 3465#ifdef FREEBSD_WORKAROUND 3466static const void *lt_preloaded_setup() { 3467 return lt__PROGRAM__LTX_preloaded_symbols; 3468} 3469#endif 3470 3471#ifdef __cplusplus 3472} 3473#endif 3474_LT_EOF 3475 # Now try linking the two files. 3476 mv conftest.$ac_objext conftstm.$ac_objext 3477 lt_save_LIBS="$LIBS" 3478 lt_save_CFLAGS="$CFLAGS" 3479 LIBS="conftstm.$ac_objext" 3480 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 3481 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then 3482 pipe_works=yes 3483 fi 3484 LIBS="$lt_save_LIBS" 3485 CFLAGS="$lt_save_CFLAGS" 3486 else 3487 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 3488 fi 3489 else 3490 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 3491 fi 3492 else 3493 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 3494 fi 3495 else 3496 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 3497 cat conftest.$ac_ext >&5 3498 fi 3499 rm -rf conftest* conftst* 3500 3501 # Do not use the global_symbol_pipe unless it works. 3502 if test "$pipe_works" = yes; then 3503 break 3504 else 3505 lt_cv_sys_global_symbol_pipe= 3506 fi 3507done 3508]) 3509if test -z "$lt_cv_sys_global_symbol_pipe"; then 3510 lt_cv_sys_global_symbol_to_cdecl= 3511fi 3512if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 3513 AC_MSG_RESULT(failed) 3514else 3515 AC_MSG_RESULT(ok) 3516fi 3517 3518_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 3519 [Take the output of nm and produce a listing of raw symbols and C names]) 3520_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 3521 [Transform the output of nm in a proper C declaration]) 3522_LT_DECL([global_symbol_to_c_name_address], 3523 [lt_cv_sys_global_symbol_to_c_name_address], [1], 3524 [Transform the output of nm in a C name address pair]) 3525_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 3526 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 3527 [Transform the output of nm in a C name address pair when lib prefix is needed]) 3528]) # _LT_CMD_GLOBAL_SYMBOLS 3529 3530 3531# _LT_COMPILER_PIC([TAGNAME]) 3532# --------------------------- 3533m4_defun([_LT_COMPILER_PIC], 3534[m4_require([_LT_TAG_COMPILER])dnl 3535_LT_TAGVAR(lt_prog_compiler_wl, $1)= 3536_LT_TAGVAR(lt_prog_compiler_pic, $1)= 3537_LT_TAGVAR(lt_prog_compiler_static, $1)= 3538 3539AC_MSG_CHECKING([for $compiler option to produce PIC]) 3540m4_if([$1], [CXX], [ 3541 # C++ specific cases for pic, static, wl, etc. 3542 if test "$GXX" = yes; then 3543 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3544 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3545 3546 case $host_os in 3547 aix*) 3548 # All AIX code is PIC. 3549 if test "$host_cpu" = ia64; then 3550 # AIX 5 now supports IA64 processor 3551 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3552 fi 3553 ;; 3554 3555 amigaos*) 3556 case $host_cpu in 3557 powerpc) 3558 # see comment about AmigaOS4 .so support 3559 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3560 ;; 3561 m68k) 3562 # FIXME: we need at least 68020 code to build shared libraries, but 3563 # adding the `-m68020' flag to GCC prevents building anything better, 3564 # like `-m68040'. 3565 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 3566 ;; 3567 esac 3568 ;; 3569 3570 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 3571 # PIC is the default for these OSes. 3572 ;; 3573 mingw* | cygwin* | os2* | pw32* | cegcc*) 3574 # This hack is so that the source file can tell whether it is being 3575 # built for inclusion in a dll (and should export symbols for example). 3576 # Although the cygwin gcc ignores -fPIC, still need this for old-style 3577 # (--disable-auto-import) libraries 3578 m4_if([$1], [GCJ], [], 3579 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 3580 ;; 3581 darwin* | rhapsody*) 3582 # PIC is the default on this platform 3583 # Common symbols not allowed in MH_DYLIB files 3584 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 3585 ;; 3586 *djgpp*) 3587 # DJGPP does not support shared libraries at all 3588 _LT_TAGVAR(lt_prog_compiler_pic, $1)= 3589 ;; 3590 interix[[3-9]]*) 3591 # Interix 3.x gcc -fpic/-fPIC options generate broken code. 3592 # Instead, we relocate shared libraries at runtime. 3593 ;; 3594 sysv4*MP*) 3595 if test -d /usr/nec; then 3596 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 3597 fi 3598 ;; 3599 hpux*) 3600 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 3601 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 3602 # sets the default TLS model and affects inlining. 3603 case $host_cpu in 3604 hppa*64*) 3605 ;; 3606 *) 3607 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3608 ;; 3609 esac 3610 ;; 3611 *qnx* | *nto*) 3612 # QNX uses GNU C++, but need to define -shared option too, otherwise 3613 # it will coredump. 3614 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 3615 ;; 3616 *) 3617 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3618 ;; 3619 esac 3620 else 3621 case $host_os in 3622 aix[[4-9]]*) 3623 # All AIX code is PIC. 3624 if test "$host_cpu" = ia64; then 3625 # AIX 5 now supports IA64 processor 3626 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3627 else 3628 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 3629 fi 3630 ;; 3631 chorus*) 3632 case $cc_basename in 3633 cxch68*) 3634 # Green Hills C++ Compiler 3635 # _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" 3636 ;; 3637 esac 3638 ;; 3639 dgux*) 3640 case $cc_basename in 3641 ec++*) 3642 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3643 ;; 3644 ghcx*) 3645 # Green Hills C++ Compiler 3646 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3647 ;; 3648 *) 3649 ;; 3650 esac 3651 ;; 3652 freebsd* | dragonfly*) 3653 # FreeBSD uses GNU C++ 3654 ;; 3655 hpux9* | hpux10* | hpux11*) 3656 case $cc_basename in 3657 CC*) 3658 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3659 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 3660 if test "$host_cpu" != ia64; then 3661 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 3662 fi 3663 ;; 3664 aCC*) 3665 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3666 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 3667 case $host_cpu in 3668 hppa*64*|ia64*) 3669 # +Z the default 3670 ;; 3671 *) 3672 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 3673 ;; 3674 esac 3675 ;; 3676 *) 3677 ;; 3678 esac 3679 ;; 3680 interix*) 3681 # This is c89, which is MS Visual C++ (no shared libs) 3682 # Anyone wants to do a port? 3683 ;; 3684 irix5* | irix6* | nonstopux*) 3685 case $cc_basename in 3686 CC*) 3687 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3688 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 3689 # CC pic flag -KPIC is the default. 3690 ;; 3691 *) 3692 ;; 3693 esac 3694 ;; 3695 linux* | k*bsd*-gnu) 3696 case $cc_basename in 3697 KCC*) 3698 # KAI C++ Compiler 3699 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 3700 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3701 ;; 3702 ecpc* ) 3703 # old Intel C++ for x86_64 which still supported -KPIC. 3704 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3705 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3706 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3707 ;; 3708 icpc* ) 3709 # Intel C++, used to be incompatible with GCC. 3710 # ICC 10 doesn't accept -KPIC any more. 3711 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3712 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3713 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3714 ;; 3715 pgCC* | pgcpp*) 3716 # Portland Group C++ compiler 3717 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3718 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 3719 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3720 ;; 3721 cxx*) 3722 # Compaq C++ 3723 # Make sure the PIC flag is empty. It appears that all Alpha 3724 # Linux and Compaq Tru64 Unix objects are PIC. 3725 _LT_TAGVAR(lt_prog_compiler_pic, $1)= 3726 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 3727 ;; 3728 xlc* | xlC*) 3729 # IBM XL 8.0 on PPC 3730 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3731 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 3732 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 3733 ;; 3734 *) 3735 case `$CC -V 2>&1 | sed 5q` in 3736 *Sun\ C*) 3737 # Sun C++ 5.9 3738 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3739 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3740 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 3741 ;; 3742 esac 3743 ;; 3744 esac 3745 ;; 3746 lynxos*) 3747 ;; 3748 m88k*) 3749 ;; 3750 mvs*) 3751 case $cc_basename in 3752 cxx*) 3753 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 3754 ;; 3755 *) 3756 ;; 3757 esac 3758 ;; 3759 netbsd*) 3760 ;; 3761 *qnx* | *nto*) 3762 # QNX uses GNU C++, but need to define -shared option too, otherwise 3763 # it will coredump. 3764 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 3765 ;; 3766 osf3* | osf4* | osf5*) 3767 case $cc_basename in 3768 KCC*) 3769 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 3770 ;; 3771 RCC*) 3772 # Rational C++ 2.4.1 3773 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3774 ;; 3775 cxx*) 3776 # Digital/Compaq C++ 3777 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3778 # Make sure the PIC flag is empty. It appears that all Alpha 3779 # Linux and Compaq Tru64 Unix objects are PIC. 3780 _LT_TAGVAR(lt_prog_compiler_pic, $1)= 3781 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 3782 ;; 3783 *) 3784 ;; 3785 esac 3786 ;; 3787 psos*) 3788 ;; 3789 solaris*) 3790 case $cc_basename in 3791 CC*) 3792 # Sun C++ 4.2, 5.x and Centerline C++ 3793 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3794 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3795 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 3796 ;; 3797 gcx*) 3798 # Green Hills C++ Compiler 3799 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 3800 ;; 3801 *) 3802 ;; 3803 esac 3804 ;; 3805 sunos4*) 3806 case $cc_basename in 3807 CC*) 3808 # Sun C++ 4.x 3809 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3810 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3811 ;; 3812 lcc*) 3813 # Lucid 3814 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3815 ;; 3816 *) 3817 ;; 3818 esac 3819 ;; 3820 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 3821 case $cc_basename in 3822 CC*) 3823 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3824 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3825 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3826 ;; 3827 esac 3828 ;; 3829 tandem*) 3830 case $cc_basename in 3831 NCC*) 3832 # NonStop-UX NCC 3.20 3833 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3834 ;; 3835 *) 3836 ;; 3837 esac 3838 ;; 3839 vxworks*) 3840 ;; 3841 *) 3842 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 3843 ;; 3844 esac 3845 fi 3846], 3847[ 3848 if test "$GCC" = yes; then 3849 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3850 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3851 3852 case $host_os in 3853 aix*) 3854 # All AIX code is PIC. 3855 if test "$host_cpu" = ia64; then 3856 # AIX 5 now supports IA64 processor 3857 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3858 fi 3859 ;; 3860 3861 amigaos*) 3862 case $host_cpu in 3863 powerpc) 3864 # see comment about AmigaOS4 .so support 3865 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3866 ;; 3867 m68k) 3868 # FIXME: we need at least 68020 code to build shared libraries, but 3869 # adding the `-m68020' flag to GCC prevents building anything better, 3870 # like `-m68040'. 3871 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 3872 ;; 3873 esac 3874 ;; 3875 3876 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 3877 # PIC is the default for these OSes. 3878 ;; 3879 3880 mingw* | cygwin* | pw32* | os2* | cegcc*) 3881 # This hack is so that the source file can tell whether it is being 3882 # built for inclusion in a dll (and should export symbols for example). 3883 # Although the cygwin gcc ignores -fPIC, still need this for old-style 3884 # (--disable-auto-import) libraries 3885 m4_if([$1], [GCJ], [], 3886 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 3887 ;; 3888 3889 darwin* | rhapsody*) 3890 # PIC is the default on this platform 3891 # Common symbols not allowed in MH_DYLIB files 3892 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 3893 ;; 3894 3895 hpux*) 3896 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 3897 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 3898 # sets the default TLS model and affects inlining. 3899 case $host_cpu in 3900 hppa*64*) 3901 # +Z the default 3902 ;; 3903 *) 3904 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3905 ;; 3906 esac 3907 ;; 3908 3909 interix[[3-9]]*) 3910 # Interix 3.x gcc -fpic/-fPIC options generate broken code. 3911 # Instead, we relocate shared libraries at runtime. 3912 ;; 3913 3914 msdosdjgpp*) 3915 # Just because we use GCC doesn't mean we suddenly get shared libraries 3916 # on systems that don't support them. 3917 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 3918 enable_shared=no 3919 ;; 3920 3921 *nto* | *qnx*) 3922 # QNX uses GNU C++, but need to define -shared option too, otherwise 3923 # it will coredump. 3924 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 3925 ;; 3926 3927 sysv4*MP*) 3928 if test -d /usr/nec; then 3929 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 3930 fi 3931 ;; 3932 3933 *) 3934 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3935 ;; 3936 esac 3937 else 3938 # PORTME Check for flag to pass linker flags through the system compiler. 3939 case $host_os in 3940 aix*) 3941 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3942 if test "$host_cpu" = ia64; then 3943 # AIX 5 now supports IA64 processor 3944 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3945 else 3946 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 3947 fi 3948 ;; 3949 3950 mingw* | cygwin* | pw32* | os2* | cegcc*) 3951 # This hack is so that the source file can tell whether it is being 3952 # built for inclusion in a dll (and should export symbols for example). 3953 m4_if([$1], [GCJ], [], 3954 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 3955 ;; 3956 3957 hpux9* | hpux10* | hpux11*) 3958 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3959 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 3960 # not for PA HP-UX. 3961 case $host_cpu in 3962 hppa*64*|ia64*) 3963 # +Z the default 3964 ;; 3965 *) 3966 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 3967 ;; 3968 esac 3969 # Is there a better lt_prog_compiler_static that works with the bundled CC? 3970 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 3971 ;; 3972 3973 irix5* | irix6* | nonstopux*) 3974 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3975 # PIC (with -KPIC) is the default. 3976 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 3977 ;; 3978 3979 linux* | k*bsd*-gnu) 3980 case $cc_basename in 3981 # old Intel for x86_64 which still supported -KPIC. 3982 ecc*) 3983 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3984 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3985 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3986 ;; 3987 # icc used to be incompatible with GCC. 3988 # ICC 10 doesn't accept -KPIC any more. 3989 icc* | ifort*) 3990 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3991 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3992 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3993 ;; 3994 # Lahey Fortran 8.1. 3995 lf95*) 3996 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3997 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 3998 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 3999 ;; 4000 pgcc* | pgf77* | pgf90* | pgf95*) 4001 # Portland Group compilers (*not* the Pentium gcc compiler, 4002 # which looks to be a dead project) 4003 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4004 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4005 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4006 ;; 4007 ccc*) 4008 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4009 # All Alpha code is PIC. 4010 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4011 ;; 4012 xl*) 4013 # IBM XL C 8.0/Fortran 10.1 on PPC 4014 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4015 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4016 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4017 ;; 4018 *) 4019 case `$CC -V 2>&1 | sed 5q` in 4020 *Sun\ C*) 4021 # Sun C 5.9 4022 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4023 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4024 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4025 ;; 4026 *Sun\ F*) 4027 # Sun Fortran 8.3 passes all unrecognized flags to the linker 4028 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4029 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4030 _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 4031 ;; 4032 esac 4033 ;; 4034 esac 4035 ;; 4036 4037 newsos6) 4038 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4039 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4040 ;; 4041 4042 *nto* | *qnx*) 4043 # QNX uses GNU C++, but need to define -shared option too, otherwise 4044 # it will coredump. 4045 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4046 ;; 4047 4048 osf3* | osf4* | osf5*) 4049 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4050 # All OSF/1 code is PIC. 4051 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4052 ;; 4053 4054 rdos*) 4055 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4056 ;; 4057 4058 solaris*) 4059 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4060 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4061 case $cc_basename in 4062 f77* | f90* | f95*) 4063 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 4064 *) 4065 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 4066 esac 4067 ;; 4068 4069 sunos4*) 4070 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4071 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4072 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4073 ;; 4074 4075 sysv4 | sysv4.2uw2* | sysv4.3*) 4076 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4077 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4078 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4079 ;; 4080 4081 sysv4*MP*) 4082 if test -d /usr/nec ;then 4083 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 4084 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4085 fi 4086 ;; 4087 4088 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 4089 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4090 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4091 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4092 ;; 4093 4094 unicos*) 4095 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4096 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4097 ;; 4098 4099 uts4*) 4100 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4101 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4102 ;; 4103 4104 *) 4105 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4106 ;; 4107 esac 4108 fi 4109]) 4110case $host_os in 4111 # For platforms which do not support PIC, -DPIC is meaningless: 4112 *djgpp*) 4113 _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4114 ;; 4115 *) 4116 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 4117 ;; 4118esac 4119AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 4120_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 4121 [How to pass a linker flag through the compiler]) 4122 4123# 4124# Check to make sure the PIC flag actually works. 4125# 4126if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 4127 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 4128 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 4129 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 4130 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 4131 "" | " "*) ;; 4132 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 4133 esac], 4134 [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 4135 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 4136fi 4137_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 4138 [Additional compiler flags for building library objects]) 4139 4140# 4141# Check to make sure the static flag actually works. 4142# 4143wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 4144_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 4145 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 4146 $lt_tmp_static_flag, 4147 [], 4148 [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 4149_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 4150 [Compiler flag to prevent dynamic linking]) 4151])# _LT_COMPILER_PIC 4152 4153 4154# _LT_LINKER_SHLIBS([TAGNAME]) 4155# ---------------------------- 4156# See if the linker supports building shared libraries. 4157m4_defun([_LT_LINKER_SHLIBS], 4158[AC_REQUIRE([LT_PATH_LD])dnl 4159AC_REQUIRE([LT_PATH_NM])dnl 4160m4_require([_LT_FILEUTILS_DEFAULTS])dnl 4161m4_require([_LT_DECL_EGREP])dnl 4162m4_require([_LT_DECL_SED])dnl 4163m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 4164m4_require([_LT_TAG_COMPILER])dnl 4165AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 4166m4_if([$1], [CXX], [ 4167 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4168 case $host_os in 4169 aix[[4-9]]*) 4170 # If we're using GNU nm, then we don't want the "-C" option. 4171 # -C means demangle to AIX nm, but means don't demangle with GNU nm 4172 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4173 _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' 4174 else 4175 _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' 4176 fi 4177 ;; 4178 pw32*) 4179 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" 4180 ;; 4181 cygwin* | mingw* | cegcc*) 4182 _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' 4183 ;; 4184 *) 4185 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4186 ;; 4187 esac 4188 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 4189], [ 4190 runpath_var= 4191 _LT_TAGVAR(allow_undefined_flag, $1)= 4192 _LT_TAGVAR(always_export_symbols, $1)=no 4193 _LT_TAGVAR(archive_cmds, $1)= 4194 _LT_TAGVAR(archive_expsym_cmds, $1)= 4195 _LT_TAGVAR(compiler_needs_object, $1)=no 4196 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 4197 _LT_TAGVAR(export_dynamic_flag_spec, $1)= 4198 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4199 _LT_TAGVAR(hardcode_automatic, $1)=no 4200 _LT_TAGVAR(hardcode_direct, $1)=no 4201 _LT_TAGVAR(hardcode_direct_absolute, $1)=no 4202 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4203 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 4204 _LT_TAGVAR(hardcode_libdir_separator, $1)= 4205 _LT_TAGVAR(hardcode_minus_L, $1)=no 4206 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 4207 _LT_TAGVAR(inherit_rpath, $1)=no 4208 _LT_TAGVAR(link_all_deplibs, $1)=unknown 4209 _LT_TAGVAR(module_cmds, $1)= 4210 _LT_TAGVAR(module_expsym_cmds, $1)= 4211 _LT_TAGVAR(old_archive_from_new_cmds, $1)= 4212 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 4213 _LT_TAGVAR(thread_safe_flag_spec, $1)= 4214 _LT_TAGVAR(whole_archive_flag_spec, $1)= 4215 # include_expsyms should be a list of space-separated symbols to be *always* 4216 # included in the symbol list 4217 _LT_TAGVAR(include_expsyms, $1)= 4218 # exclude_expsyms can be an extended regexp of symbols to exclude 4219 # it will be wrapped by ` (' and `)$', so one must not match beginning or 4220 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', 4221 # as well as any symbol that contains `d'. 4222 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 4223 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 4224 # platforms (ab)use it in PIC code, but their linkers get confused if 4225 # the symbol is explicitly referenced. Since portable code cannot 4226 # rely on this symbol name, it's probably fine to never include it in 4227 # preloaded symbol tables. 4228 # Exclude shared library initialization/finalization symbols. 4229dnl Note also adjust exclude_expsyms for C++ above. 4230 extract_expsyms_cmds= 4231 4232 case $host_os in 4233 cygwin* | mingw* | pw32* | cegcc*) 4234 # FIXME: the MSVC++ port hasn't been tested in a loooong time 4235 # When not using gcc, we currently assume that we are using 4236 # Microsoft Visual C++. 4237 if test "$GCC" != yes; then 4238 with_gnu_ld=no 4239 fi 4240 ;; 4241 interix*) 4242 # we just hope/assume this is gcc and not c89 (= MSVC++) 4243 with_gnu_ld=yes 4244 ;; 4245 openbsd*) 4246 with_gnu_ld=no 4247 ;; 4248 esac 4249 4250 _LT_TAGVAR(ld_shlibs, $1)=yes 4251 if test "$with_gnu_ld" = yes; then 4252 # If archive_cmds runs LD, not CC, wlarc should be empty 4253 wlarc='${wl}' 4254 4255 # Set some defaults for GNU ld with shared library support. These 4256 # are reset later if shared libraries are not supported. Putting them 4257 # here allows them to be overridden if necessary. 4258 runpath_var=LD_RUN_PATH 4259 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4260 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 4261 # ancient GNU ld didn't support --whole-archive et. al. 4262 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 4263 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 4264 else 4265 _LT_TAGVAR(whole_archive_flag_spec, $1)= 4266 fi 4267 supports_anon_versioning=no 4268 case `$LD -v 2>&1` in 4269 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 4270 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 4271 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 4272 *\ 2.11.*) ;; # other 2.11 versions 4273 *) supports_anon_versioning=yes ;; 4274 esac 4275 4276 # See if GNU ld supports shared libraries. 4277 case $host_os in 4278 aix[[3-9]]*) 4279 # On AIX/PPC, the GNU linker is very broken 4280 if test "$host_cpu" != ia64; then 4281 _LT_TAGVAR(ld_shlibs, $1)=no 4282 cat <<_LT_EOF 1>&2 4283 4284*** Warning: the GNU linker, at least up to release 2.9.1, is reported 4285*** to be unable to reliably create shared libraries on AIX. 4286*** Therefore, libtool is disabling shared libraries support. If you 4287*** really care for shared libraries, you may want to modify your PATH 4288*** so that a non-GNU linker is found, and then restart. 4289 4290_LT_EOF 4291 fi 4292 ;; 4293 4294 amigaos*) 4295 case $host_cpu in 4296 powerpc) 4297 # see comment about AmigaOS4 .so support 4298 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4299 _LT_TAGVAR(archive_expsym_cmds, $1)='' 4300 ;; 4301 m68k) 4302 _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)' 4303 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4304 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4305 ;; 4306 esac 4307 ;; 4308 4309 beos*) 4310 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4311 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4312 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 4313 # support --undefined. This deserves some investigation. FIXME 4314 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4315 else 4316 _LT_TAGVAR(ld_shlibs, $1)=no 4317 fi 4318 ;; 4319 4320 cygwin* | mingw* | pw32* | cegcc*) 4321 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 4322 # as there is no search path for DLLs. 4323 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4324 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4325 _LT_TAGVAR(always_export_symbols, $1)=no 4326 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 4327 _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' 4328 4329 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 4330 _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' 4331 # If the export-symbols file already is a .def file (1st line 4332 # is EXPORTS), use it as is; otherwise, prepend... 4333 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 4334 cp $export_symbols $output_objdir/$soname.def; 4335 else 4336 echo EXPORTS > $output_objdir/$soname.def; 4337 cat $export_symbols >> $output_objdir/$soname.def; 4338 fi~ 4339 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 4340 else 4341 _LT_TAGVAR(ld_shlibs, $1)=no 4342 fi 4343 ;; 4344 4345 interix[[3-9]]*) 4346 _LT_TAGVAR(hardcode_direct, $1)=no 4347 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4348 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4349 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4350 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 4351 # Instead, shared libraries are loaded at an image base (0x10000000 by 4352 # default) and relocated if they conflict, which is a slow very memory 4353 # consuming and fragmenting process. To avoid this, we pick a random, 4354 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 4355 # time. Moving up from 0x10000000 also allows more sbrk(2) space. 4356 _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' 4357 _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' 4358 ;; 4359 4360 gnu* | linux* | tpf* | k*bsd*-gnu) 4361 tmp_diet=no 4362 if test "$host_os" = linux-dietlibc; then 4363 case $cc_basename in 4364 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 4365 esac 4366 fi 4367 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 4368 && test "$tmp_diet" = no 4369 then 4370 tmp_addflag= 4371 tmp_sharedflag='-shared' 4372 case $cc_basename,$host_cpu in 4373 pgcc*) # Portland Group C compiler 4374 _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' 4375 tmp_addflag=' $pic_flag' 4376 ;; 4377 pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers 4378 _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' 4379 tmp_addflag=' $pic_flag -Mnomain' ;; 4380 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 4381 tmp_addflag=' -i_dynamic' ;; 4382 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 4383 tmp_addflag=' -i_dynamic -nofor_main' ;; 4384 ifc* | ifort*) # Intel Fortran compiler 4385 tmp_addflag=' -nofor_main' ;; 4386 lf95*) # Lahey Fortran 8.1 4387 _LT_TAGVAR(whole_archive_flag_spec, $1)= 4388 tmp_sharedflag='--shared' ;; 4389 xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 4390 tmp_sharedflag='-qmkshrobj' 4391 tmp_addflag= ;; 4392 esac 4393 case `$CC -V 2>&1 | sed 5q` in 4394 *Sun\ C*) # Sun C 5.9 4395 _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' 4396 _LT_TAGVAR(compiler_needs_object, $1)=yes 4397 tmp_sharedflag='-G' ;; 4398 *Sun\ F*) # Sun Fortran 8.3 4399 tmp_sharedflag='-G' ;; 4400 esac 4401 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4402 4403 if test "x$supports_anon_versioning" = xyes; then 4404 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 4405 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 4406 echo "local: *; };" >> $output_objdir/$libname.ver~ 4407 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 4408 fi 4409 4410 case $cc_basename in 4411 xlf*) 4412 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 4413 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 4414 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4415 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' 4416 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' 4417 if test "x$supports_anon_versioning" = xyes; then 4418 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 4419 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 4420 echo "local: *; };" >> $output_objdir/$libname.ver~ 4421 $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 4422 fi 4423 ;; 4424 esac 4425 else 4426 _LT_TAGVAR(ld_shlibs, $1)=no 4427 fi 4428 ;; 4429 4430 netbsd*) 4431 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 4432 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 4433 wlarc= 4434 else 4435 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4436 _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' 4437 fi 4438 ;; 4439 4440 solaris*) 4441 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 4442 _LT_TAGVAR(ld_shlibs, $1)=no 4443 cat <<_LT_EOF 1>&2 4444 4445*** Warning: The releases 2.8.* of the GNU linker cannot reliably 4446*** create shared libraries on Solaris systems. Therefore, libtool 4447*** is disabling shared libraries support. We urge you to upgrade GNU 4448*** binutils to release 2.9.1 or newer. Another option is to modify 4449*** your PATH or compiler configuration so that the native linker is 4450*** used, and then restart. 4451 4452_LT_EOF 4453 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4454 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4455 _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' 4456 else 4457 _LT_TAGVAR(ld_shlibs, $1)=no 4458 fi 4459 ;; 4460 4461 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 4462 case `$LD -v 2>&1` in 4463 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 4464 _LT_TAGVAR(ld_shlibs, $1)=no 4465 cat <<_LT_EOF 1>&2 4466 4467*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not 4468*** reliably create shared libraries on SCO systems. Therefore, libtool 4469*** is disabling shared libraries support. We urge you to upgrade GNU 4470*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 4471*** your PATH or compiler configuration so that the native linker is 4472*** used, and then restart. 4473 4474_LT_EOF 4475 ;; 4476 *) 4477 # For security reasons, it is highly recommended that you always 4478 # use absolute paths for naming shared libraries, and exclude the 4479 # DT_RUNPATH tag from executables and libraries. But doing so 4480 # requires that you compile everything twice, which is a pain. 4481 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4482 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4483 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4484 _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' 4485 else 4486 _LT_TAGVAR(ld_shlibs, $1)=no 4487 fi 4488 ;; 4489 esac 4490 ;; 4491 4492 sunos4*) 4493 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4494 wlarc= 4495 _LT_TAGVAR(hardcode_direct, $1)=yes 4496 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4497 ;; 4498 4499 *) 4500 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4501 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4502 _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' 4503 else 4504 _LT_TAGVAR(ld_shlibs, $1)=no 4505 fi 4506 ;; 4507 esac 4508 4509 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then 4510 runpath_var= 4511 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4512 _LT_TAGVAR(export_dynamic_flag_spec, $1)= 4513 _LT_TAGVAR(whole_archive_flag_spec, $1)= 4514 fi 4515 else 4516 # PORTME fill in a description of your system's linker (not GNU ld) 4517 case $host_os in 4518 aix3*) 4519 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4520 _LT_TAGVAR(always_export_symbols, $1)=yes 4521 _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' 4522 # Note: this linker hardcodes the directories in LIBPATH if there 4523 # are no directories specified by -L. 4524 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4525 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then 4526 # Neither direct hardcoding nor static linking is supported with a 4527 # broken collect2. 4528 _LT_TAGVAR(hardcode_direct, $1)=unsupported 4529 fi 4530 ;; 4531 4532 aix[[4-9]]*) 4533 if test "$host_cpu" = ia64; then 4534 # On IA64, the linker does run time linking by default, so we don't 4535 # have to do anything special. 4536 aix_use_runtimelinking=no 4537 exp_sym_flag='-Bexport' 4538 no_entry_flag="" 4539 else 4540 # If we're using GNU nm, then we don't want the "-C" option. 4541 # -C means demangle to AIX nm, but means don't demangle with GNU nm 4542 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4543 _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' 4544 else 4545 _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' 4546 fi 4547 aix_use_runtimelinking=no 4548 4549 # Test if we are trying to use run time linking or normal 4550 # AIX style linking. If -brtl is somewhere in LDFLAGS, we 4551 # need to do runtime linking. 4552 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 4553 for ld_flag in $LDFLAGS; do 4554 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then 4555 aix_use_runtimelinking=yes 4556 break 4557 fi 4558 done 4559 ;; 4560 esac 4561 4562 exp_sym_flag='-bexport' 4563 no_entry_flag='-bnoentry' 4564 fi 4565 4566 # When large executables or shared objects are built, AIX ld can 4567 # have problems creating the table of contents. If linking a library 4568 # or program results in "error TOC overflow" add -mminimal-toc to 4569 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 4570 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 4571 4572 _LT_TAGVAR(archive_cmds, $1)='' 4573 _LT_TAGVAR(hardcode_direct, $1)=yes 4574 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 4575 _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 4576 _LT_TAGVAR(link_all_deplibs, $1)=yes 4577 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 4578 4579 if test "$GCC" = yes; then 4580 case $host_os in aix4.[[012]]|aix4.[[012]].*) 4581 # We only want to do this on AIX 4.2 and lower, the check 4582 # below for broken collect2 doesn't work under 4.3+ 4583 collect2name=`${CC} -print-prog-name=collect2` 4584 if test -f "$collect2name" && 4585 strings "$collect2name" | $GREP resolve_lib_name >/dev/null 4586 then 4587 # We have reworked collect2 4588 : 4589 else 4590 # We have old collect2 4591 _LT_TAGVAR(hardcode_direct, $1)=unsupported 4592 # It fails to find uninstalled libraries when the uninstalled 4593 # path is not listed in the libpath. Setting hardcode_minus_L 4594 # to unsupported forces relinking 4595 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4596 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4597 _LT_TAGVAR(hardcode_libdir_separator, $1)= 4598 fi 4599 ;; 4600 esac 4601 shared_flag='-shared' 4602 if test "$aix_use_runtimelinking" = yes; then 4603 shared_flag="$shared_flag "'${wl}-G' 4604 fi 4605 else 4606 # not using gcc 4607 if test "$host_cpu" = ia64; then 4608 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 4609 # chokes on -Wl,-G. The following line is correct: 4610 shared_flag='-G' 4611 else 4612 if test "$aix_use_runtimelinking" = yes; then 4613 shared_flag='${wl}-G' 4614 else 4615 shared_flag='${wl}-bM:SRE' 4616 fi 4617 fi 4618 fi 4619 4620 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 4621 # It seems that -bexpall does not export symbols beginning with 4622 # underscore (_), so it is better to generate a list of symbols to export. 4623 _LT_TAGVAR(always_export_symbols, $1)=yes 4624 if test "$aix_use_runtimelinking" = yes; then 4625 # Warning - without using the other runtime loading flags (-brtl), 4626 # -berok will link without error, but may produce a broken library. 4627 _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 4628 # Determine the default libpath from the value encoded in an 4629 # empty executable. 4630 _LT_SYS_MODULE_PATH_AIX 4631 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 4632 _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" 4633 else 4634 if test "$host_cpu" = ia64; then 4635 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 4636 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 4637 _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" 4638 else 4639 # Determine the default libpath from the value encoded in an 4640 # empty executable. 4641 _LT_SYS_MODULE_PATH_AIX 4642 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 4643 # Warning - without using the other run time loading flags, 4644 # -berok will link without error, but may produce a broken library. 4645 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 4646 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 4647 # Exported symbols can be pulled into shared objects from archives 4648 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 4649 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 4650 # This is similar to how AIX traditionally builds its shared libraries. 4651 _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' 4652 fi 4653 fi 4654 ;; 4655 4656 amigaos*) 4657 case $host_cpu in 4658 powerpc) 4659 # see comment about AmigaOS4 .so support 4660 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4661 _LT_TAGVAR(archive_expsym_cmds, $1)='' 4662 ;; 4663 m68k) 4664 _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)' 4665 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4666 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4667 ;; 4668 esac 4669 ;; 4670 4671 bsdi[[45]]*) 4672 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 4673 ;; 4674 4675 cygwin* | mingw* | pw32* | cegcc*) 4676 # When not using gcc, we currently assume that we are using 4677 # Microsoft Visual C++. 4678 # hardcode_libdir_flag_spec is actually meaningless, as there is 4679 # no search path for DLLs. 4680 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 4681 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4682 # Tell ltmain to make .lib files, not .a files. 4683 libext=lib 4684 # Tell ltmain to make .dll files, not .so files. 4685 shrext_cmds=".dll" 4686 # FIXME: Setting linknames here is a bad hack. 4687 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' 4688 # The linker will automatically build a .lib file if we build a DLL. 4689 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 4690 # FIXME: Should let the user specify the lib program. 4691 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 4692 _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' 4693 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 4694 ;; 4695 4696 darwin* | rhapsody*) 4697 _LT_DARWIN_LINKER_FEATURES($1) 4698 ;; 4699 4700 dgux*) 4701 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4702 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4703 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4704 ;; 4705 4706 freebsd1*) 4707 _LT_TAGVAR(ld_shlibs, $1)=no 4708 ;; 4709 4710 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 4711 # support. Future versions do this automatically, but an explicit c++rt0.o 4712 # does not break anything, and helps significantly (at the cost of a little 4713 # extra space). 4714 freebsd2.2*) 4715 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 4716 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4717 _LT_TAGVAR(hardcode_direct, $1)=yes 4718 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4719 ;; 4720 4721 # Unfortunately, older versions of FreeBSD 2 do not have this feature. 4722 freebsd2*) 4723 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4724 _LT_TAGVAR(hardcode_direct, $1)=yes 4725 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4726 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4727 ;; 4728 4729 # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 4730 freebsd* | dragonfly*) 4731 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' 4732 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4733 _LT_TAGVAR(hardcode_direct, $1)=yes 4734 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4735 ;; 4736 4737 hpux9*) 4738 if test "$GCC" = yes; then 4739 _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' 4740 else 4741 _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' 4742 fi 4743 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 4744 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4745 _LT_TAGVAR(hardcode_direct, $1)=yes 4746 4747 # hardcode_minus_L: Not really in the search PATH, 4748 # but as the default location of the library. 4749 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4750 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4751 ;; 4752 4753 hpux10*) 4754 if test "$GCC" = yes -a "$with_gnu_ld" = no; then 4755 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 4756 else 4757 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 4758 fi 4759 if test "$with_gnu_ld" = no; then 4760 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 4761 _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' 4762 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4763 _LT_TAGVAR(hardcode_direct, $1)=yes 4764 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 4765 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4766 # hardcode_minus_L: Not really in the search PATH, 4767 # but as the default location of the library. 4768 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4769 fi 4770 ;; 4771 4772 hpux11*) 4773 if test "$GCC" = yes -a "$with_gnu_ld" = no; then 4774 case $host_cpu in 4775 hppa*64*) 4776 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 4777 ;; 4778 ia64*) 4779 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 4780 ;; 4781 *) 4782 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 4783 ;; 4784 esac 4785 else 4786 case $host_cpu in 4787 hppa*64*) 4788 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 4789 ;; 4790 ia64*) 4791 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 4792 ;; 4793 *) 4794 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 4795 ;; 4796 esac 4797 fi 4798 if test "$with_gnu_ld" = no; then 4799 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 4800 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4801 4802 case $host_cpu in 4803 hppa*64*|ia64*) 4804 _LT_TAGVAR(hardcode_direct, $1)=no 4805 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4806 ;; 4807 *) 4808 _LT_TAGVAR(hardcode_direct, $1)=yes 4809 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 4810 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4811 4812 # hardcode_minus_L: Not really in the search PATH, 4813 # but as the default location of the library. 4814 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4815 ;; 4816 esac 4817 fi 4818 ;; 4819 4820 irix5* | irix6* | nonstopux*) 4821 if test "$GCC" = yes; then 4822 _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' 4823 # Try to use the -exported_symbol ld option, if it does not 4824 # work, assume that -exports_file does not work either and 4825 # implicitly export all symbols. 4826 save_LDFLAGS="$LDFLAGS" 4827 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" 4828 AC_LINK_IFELSE( 4829 [AC_LANG_SOURCE( 4830 [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], 4831 [C++], [[int foo (void) { return 0; }]], 4832 [Fortran 77], [[ 4833 subroutine foo 4834 end]], 4835 [Fortran], [[ 4836 subroutine foo 4837 end]])])], [ 4838 _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' 4839 ]) 4840 LDFLAGS="$save_LDFLAGS" 4841 else 4842 _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' 4843 _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' 4844 fi 4845 _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 4846 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4847 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4848 _LT_TAGVAR(inherit_rpath, $1)=yes 4849 _LT_TAGVAR(link_all_deplibs, $1)=yes 4850 ;; 4851 4852 netbsd*) 4853 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 4854 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 4855 else 4856 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 4857 fi 4858 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4859 _LT_TAGVAR(hardcode_direct, $1)=yes 4860 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4861 ;; 4862 4863 newsos6) 4864 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4865 _LT_TAGVAR(hardcode_direct, $1)=yes 4866 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4867 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4868 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4869 ;; 4870 4871 *nto* | *qnx*) 4872 ;; 4873 4874 openbsd*) 4875 if test -f /usr/libexec/ld.so; then 4876 _LT_TAGVAR(hardcode_direct, $1)=yes 4877 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4878 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 4879 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 4880 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 4881 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' 4882 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4883 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4884 else 4885 case $host_os in 4886 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) 4887 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4888 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4889 ;; 4890 *) 4891 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 4892 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4893 ;; 4894 esac 4895 fi 4896 else 4897 _LT_TAGVAR(ld_shlibs, $1)=no 4898 fi 4899 ;; 4900 4901 os2*) 4902 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4903 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4904 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4905 _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' 4906 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' 4907 ;; 4908 4909 osf3*) 4910 if test "$GCC" = yes; then 4911 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 4912 _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' 4913 else 4914 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 4915 _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' 4916 fi 4917 _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 4918 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4919 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4920 ;; 4921 4922 osf4* | osf5*) # as osf3* with the addition of -msym flag 4923 if test "$GCC" = yes; then 4924 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 4925 _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' 4926 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4927 else 4928 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 4929 _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' 4930 _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~ 4931 $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' 4932 4933 # Both c and cxx compiler support -rpath directly 4934 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 4935 fi 4936 _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 4937 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4938 ;; 4939 4940 solaris*) 4941 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 4942 if test "$GCC" = yes; then 4943 wlarc='${wl}' 4944 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 4945 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 4946 $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 4947 else 4948 case `$CC -V 2>&1` in 4949 *"Compilers 5.0"*) 4950 wlarc='' 4951 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 4952 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 4953 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 4954 ;; 4955 *) 4956 wlarc='${wl}' 4957 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' 4958 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 4959 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 4960 ;; 4961 esac 4962 fi 4963 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4964 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4965 case $host_os in 4966 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 4967 *) 4968 # The compiler driver will combine and reorder linker options, 4969 # but understands `-z linker_flag'. GCC discards it without `$wl', 4970 # but is careful enough not to reorder. 4971 # Supported since Solaris 2.6 (maybe 2.5.1?) 4972 if test "$GCC" = yes; then 4973 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 4974 else 4975 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 4976 fi 4977 ;; 4978 esac 4979 _LT_TAGVAR(link_all_deplibs, $1)=yes 4980 ;; 4981 4982 sunos4*) 4983 if test "x$host_vendor" = xsequent; then 4984 # Use $CC to link under sequent, because it throws in some extra .o 4985 # files that make .init and .fini sections work. 4986 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' 4987 else 4988 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 4989 fi 4990 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4991 _LT_TAGVAR(hardcode_direct, $1)=yes 4992 _LT_TAGVAR(hardcode_minus_L, $1)=yes 4993 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4994 ;; 4995 4996 sysv4) 4997 case $host_vendor in 4998 sni) 4999 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5000 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 5001 ;; 5002 siemens) 5003 ## LD is ld it makes a PLAMLIB 5004 ## CC just makes a GrossModule. 5005 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 5006 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 5007 _LT_TAGVAR(hardcode_direct, $1)=no 5008 ;; 5009 motorola) 5010 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5011 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 5012 ;; 5013 esac 5014 runpath_var='LD_RUN_PATH' 5015 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5016 ;; 5017 5018 sysv4.3*) 5019 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5020 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5021 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 5022 ;; 5023 5024 sysv4*MP*) 5025 if test -d /usr/nec; then 5026 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5027 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5028 runpath_var=LD_RUN_PATH 5029 hardcode_runpath_var=yes 5030 _LT_TAGVAR(ld_shlibs, $1)=yes 5031 fi 5032 ;; 5033 5034 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 5035 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 5036 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5037 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5038 runpath_var='LD_RUN_PATH' 5039 5040 if test "$GCC" = yes; then 5041 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5042 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5043 else 5044 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5045 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5046 fi 5047 ;; 5048 5049 sysv5* | sco3.2v5* | sco5v6*) 5050 # Note: We can NOT use -z defs as we might desire, because we do not 5051 # link with -lc, and that would cause any symbols used from libc to 5052 # always be unresolved, which means just about no library would 5053 # ever link correctly. If we're not using GNU ld we use -z text 5054 # though, which does catch some bad symbols but isn't as heavy-handed 5055 # as -z defs. 5056 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 5057 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 5058 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5059 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5060 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 5061 _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 5062 _LT_TAGVAR(link_all_deplibs, $1)=yes 5063 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 5064 runpath_var='LD_RUN_PATH' 5065 5066 if test "$GCC" = yes; then 5067 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5068 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5069 else 5070 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5071 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5072 fi 5073 ;; 5074 5075 uts4*) 5076 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5077 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5078 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5079 ;; 5080 5081 *) 5082 _LT_TAGVAR(ld_shlibs, $1)=no 5083 ;; 5084 esac 5085 5086 if test x$host_vendor = xsni; then 5087 case $host in 5088 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 5089 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' 5090 ;; 5091 esac 5092 fi 5093 fi 5094]) 5095AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 5096test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 5097 5098_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 5099 5100_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 5101_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 5102_LT_DECL([], [extract_expsyms_cmds], [2], 5103 [The commands to extract the exported symbol list from a shared archive]) 5104 5105# 5106# Do we need to explicitly link libc? 5107# 5108case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 5109x|xyes) 5110 # Assume -lc should be added 5111 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5112 5113 if test "$enable_shared" = yes && test "$GCC" = yes; then 5114 case $_LT_TAGVAR(archive_cmds, $1) in 5115 *'~'*) 5116 # FIXME: we may have to deal with multi-command sequences. 5117 ;; 5118 '$CC '*) 5119 # Test whether the compiler implicitly links with -lc since on some 5120 # systems, -lgcc has to come before -lc. If gcc already passes -lc 5121 # to ld, don't add -lc before -lgcc. 5122 AC_MSG_CHECKING([whether -lc should be explicitly linked in]) 5123 $RM conftest* 5124 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 5125 5126 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 5127 soname=conftest 5128 lib=conftest 5129 libobjs=conftest.$ac_objext 5130 deplibs= 5131 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 5132 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 5133 compiler_flags=-v 5134 linker_flags=-v 5135 verstring= 5136 output_objdir=. 5137 libname=conftest 5138 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 5139 _LT_TAGVAR(allow_undefined_flag, $1)= 5140 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 5141 then 5142 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5143 else 5144 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5145 fi 5146 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 5147 else 5148 cat conftest.err 1>&5 5149 fi 5150 $RM conftest* 5151 AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) 5152 ;; 5153 esac 5154 fi 5155 ;; 5156esac 5157 5158_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 5159 [Whether or not to add -lc for building shared libraries]) 5160_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 5161 [enable_shared_with_static_runtimes], [0], 5162 [Whether or not to disallow shared libs when runtime libs are static]) 5163_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 5164 [Compiler flag to allow reflexive dlopens]) 5165_LT_TAGDECL([], [whole_archive_flag_spec], [1], 5166 [Compiler flag to generate shared objects directly from archives]) 5167_LT_TAGDECL([], [compiler_needs_object], [1], 5168 [Whether the compiler copes with passing no objects directly]) 5169_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 5170 [Create an old-style archive from a shared archive]) 5171_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 5172 [Create a temporary old-style archive to link instead of a shared archive]) 5173_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 5174_LT_TAGDECL([], [archive_expsym_cmds], [2]) 5175_LT_TAGDECL([], [module_cmds], [2], 5176 [Commands used to build a loadable module if different from building 5177 a shared archive.]) 5178_LT_TAGDECL([], [module_expsym_cmds], [2]) 5179_LT_TAGDECL([], [with_gnu_ld], [1], 5180 [Whether we are building with GNU ld or not]) 5181_LT_TAGDECL([], [allow_undefined_flag], [1], 5182 [Flag that allows shared libraries with undefined symbols to be built]) 5183_LT_TAGDECL([], [no_undefined_flag], [1], 5184 [Flag that enforces no undefined symbols]) 5185_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 5186 [Flag to hardcode $libdir into a binary during linking. 5187 This must work even if $libdir does not exist]) 5188_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], 5189 [[If ld is used when linking, flag to hardcode $libdir into a binary 5190 during linking. This must work even if $libdir does not exist]]) 5191_LT_TAGDECL([], [hardcode_libdir_separator], [1], 5192 [Whether we need a single "-rpath" flag with a separated argument]) 5193_LT_TAGDECL([], [hardcode_direct], [0], 5194 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 5195 DIR into the resulting binary]) 5196_LT_TAGDECL([], [hardcode_direct_absolute], [0], 5197 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 5198 DIR into the resulting binary and the resulting library dependency is 5199 "absolute", i.e impossible to change by setting ${shlibpath_var} if the 5200 library is relocated]) 5201_LT_TAGDECL([], [hardcode_minus_L], [0], 5202 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 5203 into the resulting binary]) 5204_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 5205 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 5206 into the resulting binary]) 5207_LT_TAGDECL([], [hardcode_automatic], [0], 5208 [Set to "yes" if building a shared library automatically hardcodes DIR 5209 into the library and all subsequent libraries and executables linked 5210 against it]) 5211_LT_TAGDECL([], [inherit_rpath], [0], 5212 [Set to yes if linker adds runtime paths of dependent libraries 5213 to runtime path list]) 5214_LT_TAGDECL([], [link_all_deplibs], [0], 5215 [Whether libtool must link a program against all its dependency libraries]) 5216_LT_TAGDECL([], [fix_srcfile_path], [1], 5217 [Fix the shell variable $srcfile for the compiler]) 5218_LT_TAGDECL([], [always_export_symbols], [0], 5219 [Set to "yes" if exported symbols are required]) 5220_LT_TAGDECL([], [export_symbols_cmds], [2], 5221 [The commands to list exported symbols]) 5222_LT_TAGDECL([], [exclude_expsyms], [1], 5223 [Symbols that should not be listed in the preloaded symbols]) 5224_LT_TAGDECL([], [include_expsyms], [1], 5225 [Symbols that must always be exported]) 5226_LT_TAGDECL([], [prelink_cmds], [2], 5227 [Commands necessary for linking programs (against libraries) with templates]) 5228_LT_TAGDECL([], [file_list_spec], [1], 5229 [Specify filename containing input files]) 5230dnl FIXME: Not yet implemented 5231dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 5232dnl [Compiler flag to generate thread safe objects]) 5233])# _LT_LINKER_SHLIBS 5234 5235 5236# _LT_LANG_C_CONFIG([TAG]) 5237# ------------------------ 5238# Ensure that the configuration variables for a C compiler are suitably 5239# defined. These variables are subsequently used by _LT_CONFIG to write 5240# the compiler configuration to `libtool'. 5241m4_defun([_LT_LANG_C_CONFIG], 5242[m4_require([_LT_DECL_EGREP])dnl 5243lt_save_CC="$CC" 5244AC_LANG_PUSH(C) 5245 5246# Source file extension for C test sources. 5247ac_ext=c 5248 5249# Object file extension for compiled C test sources. 5250objext=o 5251_LT_TAGVAR(objext, $1)=$objext 5252 5253# Code to be used in simple compile tests 5254lt_simple_compile_test_code="int some_variable = 0;" 5255 5256# Code to be used in simple link tests 5257lt_simple_link_test_code='int main(){return(0);}' 5258 5259_LT_TAG_COMPILER 5260# Save the default compiler, since it gets overwritten when the other 5261# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 5262compiler_DEFAULT=$CC 5263 5264# save warnings/boilerplate of simple test code 5265_LT_COMPILER_BOILERPLATE 5266_LT_LINKER_BOILERPLATE 5267 5268## CAVEAT EMPTOR: 5269## There is no encapsulation within the following macros, do not change 5270## the running order or otherwise move them around unless you know exactly 5271## what you are doing... 5272if test -n "$compiler"; then 5273 _LT_COMPILER_NO_RTTI($1) 5274 _LT_COMPILER_PIC($1) 5275 _LT_COMPILER_C_O($1) 5276 _LT_COMPILER_FILE_LOCKS($1) 5277 _LT_LINKER_SHLIBS($1) 5278 _LT_SYS_DYNAMIC_LINKER($1) 5279 _LT_LINKER_HARDCODE_LIBPATH($1) 5280 LT_SYS_DLOPEN_SELF 5281 _LT_CMD_STRIPLIB 5282 5283 # Report which library types will actually be built 5284 AC_MSG_CHECKING([if libtool supports shared libraries]) 5285 AC_MSG_RESULT([$can_build_shared]) 5286 5287 AC_MSG_CHECKING([whether to build shared libraries]) 5288 test "$can_build_shared" = "no" && enable_shared=no 5289 5290 # On AIX, shared libraries and static libraries use the same namespace, and 5291 # are all built from PIC. 5292 case $host_os in 5293 aix3*) 5294 test "$enable_shared" = yes && enable_static=no 5295 if test -n "$RANLIB"; then 5296 archive_cmds="$archive_cmds~\$RANLIB \$lib" 5297 postinstall_cmds='$RANLIB $lib' 5298 fi 5299 ;; 5300 5301 aix[[4-9]]*) 5302 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 5303 test "$enable_shared" = yes && enable_static=no 5304 fi 5305 ;; 5306 esac 5307 AC_MSG_RESULT([$enable_shared]) 5308 5309 AC_MSG_CHECKING([whether to build static libraries]) 5310 # Make sure either enable_shared or enable_static is yes. 5311 test "$enable_shared" = yes || enable_static=yes 5312 AC_MSG_RESULT([$enable_static]) 5313 5314 _LT_CONFIG($1) 5315fi 5316AC_LANG_POP 5317CC="$lt_save_CC" 5318])# _LT_LANG_C_CONFIG 5319 5320 5321# _LT_PROG_CXX 5322# ------------ 5323# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ 5324# compiler, we have our own version here. 5325m4_defun([_LT_PROG_CXX], 5326[ 5327pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) 5328AC_PROG_CXX 5329if test -n "$CXX" && ( test "X$CXX" != "Xno" && 5330 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || 5331 (test "X$CXX" != "Xg++"))) ; then 5332 AC_PROG_CXXCPP 5333else 5334 _lt_caught_CXX_error=yes 5335fi 5336popdef([AC_MSG_ERROR]) 5337])# _LT_PROG_CXX 5338 5339dnl aclocal-1.4 backwards compatibility: 5340dnl AC_DEFUN([_LT_PROG_CXX], []) 5341 5342 5343# _LT_LANG_CXX_CONFIG([TAG]) 5344# -------------------------- 5345# Ensure that the configuration variables for a C++ compiler are suitably 5346# defined. These variables are subsequently used by _LT_CONFIG to write 5347# the compiler configuration to `libtool'. 5348m4_defun([_LT_LANG_CXX_CONFIG], 5349[AC_REQUIRE([_LT_PROG_CXX])dnl 5350m4_require([_LT_FILEUTILS_DEFAULTS])dnl 5351m4_require([_LT_DECL_EGREP])dnl 5352 5353AC_LANG_PUSH(C++) 5354_LT_TAGVAR(archive_cmds_need_lc, $1)=no 5355_LT_TAGVAR(allow_undefined_flag, $1)= 5356_LT_TAGVAR(always_export_symbols, $1)=no 5357_LT_TAGVAR(archive_expsym_cmds, $1)= 5358_LT_TAGVAR(compiler_needs_object, $1)=no 5359_LT_TAGVAR(export_dynamic_flag_spec, $1)= 5360_LT_TAGVAR(hardcode_direct, $1)=no 5361_LT_TAGVAR(hardcode_direct_absolute, $1)=no 5362_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 5363_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 5364_LT_TAGVAR(hardcode_libdir_separator, $1)= 5365_LT_TAGVAR(hardcode_minus_L, $1)=no 5366_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 5367_LT_TAGVAR(hardcode_automatic, $1)=no 5368_LT_TAGVAR(inherit_rpath, $1)=no 5369_LT_TAGVAR(module_cmds, $1)= 5370_LT_TAGVAR(module_expsym_cmds, $1)= 5371_LT_TAGVAR(link_all_deplibs, $1)=unknown 5372_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 5373_LT_TAGVAR(no_undefined_flag, $1)= 5374_LT_TAGVAR(whole_archive_flag_spec, $1)= 5375_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 5376 5377# Source file extension for C++ test sources. 5378ac_ext=cpp 5379 5380# Object file extension for compiled C++ test sources. 5381objext=o 5382_LT_TAGVAR(objext, $1)=$objext 5383 5384# No sense in running all these tests if we already determined that 5385# the CXX compiler isn't working. Some variables (like enable_shared) 5386# are currently assumed to apply to all compilers on this platform, 5387# and will be corrupted by setting them based on a non-working compiler. 5388if test "$_lt_caught_CXX_error" != yes; then 5389 # Code to be used in simple compile tests 5390 lt_simple_compile_test_code="int some_variable = 0;" 5391 5392 # Code to be used in simple link tests 5393 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 5394 5395 # ltmain only uses $CC for tagged configurations so make sure $CC is set. 5396 _LT_TAG_COMPILER 5397 5398 # save warnings/boilerplate of simple test code 5399 _LT_COMPILER_BOILERPLATE 5400 _LT_LINKER_BOILERPLATE 5401 5402 # Allow CC to be a program name with arguments. 5403 lt_save_CC=$CC 5404 lt_save_LD=$LD 5405 lt_save_GCC=$GCC 5406 GCC=$GXX 5407 lt_save_with_gnu_ld=$with_gnu_ld 5408 lt_save_path_LD=$lt_cv_path_LD 5409 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 5410 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 5411 else 5412 $as_unset lt_cv_prog_gnu_ld 5413 fi 5414 if test -n "${lt_cv_path_LDCXX+set}"; then 5415 lt_cv_path_LD=$lt_cv_path_LDCXX 5416 else 5417 $as_unset lt_cv_path_LD 5418 fi 5419 test -z "${LDCXX+set}" || LD=$LDCXX 5420 CC=${CXX-"c++"} 5421 compiler=$CC 5422 _LT_TAGVAR(compiler, $1)=$CC 5423 _LT_CC_BASENAME([$compiler]) 5424 5425 if test -n "$compiler"; then 5426 # We don't want -fno-exception when compiling C++ code, so set the 5427 # no_builtin_flag separately 5428 if test "$GXX" = yes; then 5429 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 5430 else 5431 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 5432 fi 5433 5434 if test "$GXX" = yes; then 5435 # Set up default GNU C++ configuration 5436 5437 LT_PATH_LD 5438 5439 # Check if GNU C++ uses GNU ld as the underlying linker, since the 5440 # archiving commands below assume that GNU ld is being used. 5441 if test "$with_gnu_ld" = yes; then 5442 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 5443 _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' 5444 5445 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5446 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5447 5448 # If archive_cmds runs LD, not CC, wlarc should be empty 5449 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 5450 # investigate it a little bit more. (MM) 5451 wlarc='${wl}' 5452 5453 # ancient GNU ld didn't support --whole-archive et. al. 5454 if eval "`$CC -print-prog-name=ld` --help 2>&1" | 5455 $GREP 'no-whole-archive' > /dev/null; then 5456 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 5457 else 5458 _LT_TAGVAR(whole_archive_flag_spec, $1)= 5459 fi 5460 else 5461 with_gnu_ld=no 5462 wlarc= 5463 5464 # A generic and very simple default shared library creation 5465 # command for GNU C++ for the case where it uses the native 5466 # linker, instead of GNU ld. If possible, this setting should 5467 # overridden to take advantage of the native linker features on 5468 # the platform it is being used on. 5469 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 5470 fi 5471 5472 # Commands to make compiler produce verbose output that lists 5473 # what "hidden" libraries, object files and flags are used when 5474 # linking a shared library. 5475 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 5476 5477 else 5478 GXX=no 5479 with_gnu_ld=no 5480 wlarc= 5481 fi 5482 5483 # PORTME: fill in a description of your system's C++ link characteristics 5484 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 5485 _LT_TAGVAR(ld_shlibs, $1)=yes 5486 case $host_os in 5487 aix3*) 5488 # FIXME: insert proper C++ library support 5489 _LT_TAGVAR(ld_shlibs, $1)=no 5490 ;; 5491 aix[[4-9]]*) 5492 if test "$host_cpu" = ia64; then 5493 # On IA64, the linker does run time linking by default, so we don't 5494 # have to do anything special. 5495 aix_use_runtimelinking=no 5496 exp_sym_flag='-Bexport' 5497 no_entry_flag="" 5498 else 5499 aix_use_runtimelinking=no 5500 5501 # Test if we are trying to use run time linking or normal 5502 # AIX style linking. If -brtl is somewhere in LDFLAGS, we 5503 # need to do runtime linking. 5504 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 5505 for ld_flag in $LDFLAGS; do 5506 case $ld_flag in 5507 *-brtl*) 5508 aix_use_runtimelinking=yes 5509 break 5510 ;; 5511 esac 5512 done 5513 ;; 5514 esac 5515 5516 exp_sym_flag='-bexport' 5517 no_entry_flag='-bnoentry' 5518 fi 5519 5520 # When large executables or shared objects are built, AIX ld can 5521 # have problems creating the table of contents. If linking a library 5522 # or program results in "error TOC overflow" add -mminimal-toc to 5523 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 5524 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 5525 5526 _LT_TAGVAR(archive_cmds, $1)='' 5527 _LT_TAGVAR(hardcode_direct, $1)=yes 5528 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5529 _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 5530 _LT_TAGVAR(link_all_deplibs, $1)=yes 5531 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 5532 5533 if test "$GXX" = yes; then 5534 case $host_os in aix4.[[012]]|aix4.[[012]].*) 5535 # We only want to do this on AIX 4.2 and lower, the check 5536 # below for broken collect2 doesn't work under 4.3+ 5537 collect2name=`${CC} -print-prog-name=collect2` 5538 if test -f "$collect2name" && 5539 strings "$collect2name" | $GREP resolve_lib_name >/dev/null 5540 then 5541 # We have reworked collect2 5542 : 5543 else 5544 # We have old collect2 5545 _LT_TAGVAR(hardcode_direct, $1)=unsupported 5546 # It fails to find uninstalled libraries when the uninstalled 5547 # path is not listed in the libpath. Setting hardcode_minus_L 5548 # to unsupported forces relinking 5549 _LT_TAGVAR(hardcode_minus_L, $1)=yes 5550 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5551 _LT_TAGVAR(hardcode_libdir_separator, $1)= 5552 fi 5553 esac 5554 shared_flag='-shared' 5555 if test "$aix_use_runtimelinking" = yes; then 5556 shared_flag="$shared_flag "'${wl}-G' 5557 fi 5558 else 5559 # not using gcc 5560 if test "$host_cpu" = ia64; then 5561 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 5562 # chokes on -Wl,-G. The following line is correct: 5563 shared_flag='-G' 5564 else 5565 if test "$aix_use_runtimelinking" = yes; then 5566 shared_flag='${wl}-G' 5567 else 5568 shared_flag='${wl}-bM:SRE' 5569 fi 5570 fi 5571 fi 5572 5573 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 5574 # It seems that -bexpall does not export symbols beginning with 5575 # underscore (_), so it is better to generate a list of symbols to 5576 # export. 5577 _LT_TAGVAR(always_export_symbols, $1)=yes 5578 if test "$aix_use_runtimelinking" = yes; then 5579 # Warning - without using the other runtime loading flags (-brtl), 5580 # -berok will link without error, but may produce a broken library. 5581 _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 5582 # Determine the default libpath from the value encoded in an empty 5583 # executable. 5584 _LT_SYS_MODULE_PATH_AIX 5585 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 5586 5587 _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" 5588 else 5589 if test "$host_cpu" = ia64; then 5590 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 5591 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 5592 _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" 5593 else 5594 # Determine the default libpath from the value encoded in an 5595 # empty executable. 5596 _LT_SYS_MODULE_PATH_AIX 5597 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 5598 # Warning - without using the other run time loading flags, 5599 # -berok will link without error, but may produce a broken library. 5600 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 5601 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 5602 # Exported symbols can be pulled into shared objects from archives 5603 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 5604 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5605 # This is similar to how AIX traditionally builds its shared 5606 # libraries. 5607 _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' 5608 fi 5609 fi 5610 ;; 5611 5612 beos*) 5613 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5614 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5615 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 5616 # support --undefined. This deserves some investigation. FIXME 5617 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 5618 else 5619 _LT_TAGVAR(ld_shlibs, $1)=no 5620 fi 5621 ;; 5622 5623 chorus*) 5624 case $cc_basename in 5625 *) 5626 # FIXME: insert proper C++ library support 5627 _LT_TAGVAR(ld_shlibs, $1)=no 5628 ;; 5629 esac 5630 ;; 5631 5632 cygwin* | mingw* | pw32* | cegcc*) 5633 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 5634 # as there is no search path for DLLs. 5635 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5636 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5637 _LT_TAGVAR(always_export_symbols, $1)=no 5638 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5639 5640 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 5641 _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' 5642 # If the export-symbols file already is a .def file (1st line 5643 # is EXPORTS), use it as is; otherwise, prepend... 5644 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 5645 cp $export_symbols $output_objdir/$soname.def; 5646 else 5647 echo EXPORTS > $output_objdir/$soname.def; 5648 cat $export_symbols >> $output_objdir/$soname.def; 5649 fi~ 5650 $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' 5651 else 5652 _LT_TAGVAR(ld_shlibs, $1)=no 5653 fi 5654 ;; 5655 darwin* | rhapsody*) 5656 _LT_DARWIN_LINKER_FEATURES($1) 5657 ;; 5658 5659 dgux*) 5660 case $cc_basename in 5661 ec++*) 5662 # FIXME: insert proper C++ library support 5663 _LT_TAGVAR(ld_shlibs, $1)=no 5664 ;; 5665 ghcx*) 5666 # Green Hills C++ Compiler 5667 # FIXME: insert proper C++ library support 5668 _LT_TAGVAR(ld_shlibs, $1)=no 5669 ;; 5670 *) 5671 # FIXME: insert proper C++ library support 5672 _LT_TAGVAR(ld_shlibs, $1)=no 5673 ;; 5674 esac 5675 ;; 5676 5677 freebsd[[12]]*) 5678 # C++ shared libraries reported to be fairly broken before 5679 # switch to ELF 5680 _LT_TAGVAR(ld_shlibs, $1)=no 5681 ;; 5682 5683 freebsd-elf*) 5684 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5685 ;; 5686 5687 freebsd* | dragonfly*) 5688 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 5689 # conventions 5690 _LT_TAGVAR(ld_shlibs, $1)=yes 5691 ;; 5692 5693 gnu*) 5694 ;; 5695 5696 hpux9*) 5697 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 5698 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5699 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5700 _LT_TAGVAR(hardcode_direct, $1)=yes 5701 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 5702 # but as the default 5703 # location of the library. 5704 5705 case $cc_basename in 5706 CC*) 5707 # FIXME: insert proper C++ library support 5708 _LT_TAGVAR(ld_shlibs, $1)=no 5709 ;; 5710 aCC*) 5711 _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' 5712 # Commands to make compiler produce verbose output that lists 5713 # what "hidden" libraries, object files and flags are used when 5714 # linking a shared library. 5715 # 5716 # There doesn't appear to be a way to prevent this compiler from 5717 # explicitly linking system object files so we need to strip them 5718 # from the output so that they don't get included in the library 5719 # dependencies. 5720 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' 5721 ;; 5722 *) 5723 if test "$GXX" = yes; then 5724 _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' 5725 else 5726 # FIXME: insert proper C++ library support 5727 _LT_TAGVAR(ld_shlibs, $1)=no 5728 fi 5729 ;; 5730 esac 5731 ;; 5732 5733 hpux10*|hpux11*) 5734 if test $with_gnu_ld = no; then 5735 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 5736 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5737 5738 case $host_cpu in 5739 hppa*64*|ia64*) 5740 ;; 5741 *) 5742 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5743 ;; 5744 esac 5745 fi 5746 case $host_cpu in 5747 hppa*64*|ia64*) 5748 _LT_TAGVAR(hardcode_direct, $1)=no 5749 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5750 ;; 5751 *) 5752 _LT_TAGVAR(hardcode_direct, $1)=yes 5753 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5754 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 5755 # but as the default 5756 # location of the library. 5757 ;; 5758 esac 5759 5760 case $cc_basename in 5761 CC*) 5762 # FIXME: insert proper C++ library support 5763 _LT_TAGVAR(ld_shlibs, $1)=no 5764 ;; 5765 aCC*) 5766 case $host_cpu in 5767 hppa*64*) 5768 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 5769 ;; 5770 ia64*) 5771 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 5772 ;; 5773 *) 5774 _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' 5775 ;; 5776 esac 5777 # Commands to make compiler produce verbose output that lists 5778 # what "hidden" libraries, object files and flags are used when 5779 # linking a shared library. 5780 # 5781 # There doesn't appear to be a way to prevent this compiler from 5782 # explicitly linking system object files so we need to strip them 5783 # from the output so that they don't get included in the library 5784 # dependencies. 5785 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' 5786 ;; 5787 *) 5788 if test "$GXX" = yes; then 5789 if test $with_gnu_ld = no; then 5790 case $host_cpu in 5791 hppa*64*) 5792 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 5793 ;; 5794 ia64*) 5795 _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' 5796 ;; 5797 *) 5798 _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' 5799 ;; 5800 esac 5801 fi 5802 else 5803 # FIXME: insert proper C++ library support 5804 _LT_TAGVAR(ld_shlibs, $1)=no 5805 fi 5806 ;; 5807 esac 5808 ;; 5809 5810 interix[[3-9]]*) 5811 _LT_TAGVAR(hardcode_direct, $1)=no 5812 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5813 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 5814 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5815 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 5816 # Instead, shared libraries are loaded at an image base (0x10000000 by 5817 # default) and relocated if they conflict, which is a slow very memory 5818 # consuming and fragmenting process. To avoid this, we pick a random, 5819 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 5820 # time. Moving up from 0x10000000 also allows more sbrk(2) space. 5821 _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' 5822 _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' 5823 ;; 5824 irix5* | irix6*) 5825 case $cc_basename in 5826 CC*) 5827 # SGI C++ 5828 _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' 5829 5830 # Archives containing C++ object files must be created using 5831 # "CC -ar", where "CC" is the IRIX C++ compiler. This is 5832 # necessary to make sure instantiated templates are included 5833 # in the archive. 5834 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 5835 ;; 5836 *) 5837 if test "$GXX" = yes; then 5838 if test "$with_gnu_ld" = no; then 5839 _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' 5840 else 5841 _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' 5842 fi 5843 fi 5844 _LT_TAGVAR(link_all_deplibs, $1)=yes 5845 ;; 5846 esac 5847 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5848 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5849 _LT_TAGVAR(inherit_rpath, $1)=yes 5850 ;; 5851 5852 linux* | k*bsd*-gnu) 5853 case $cc_basename in 5854 KCC*) 5855 # Kuck and Associates, Inc. (KAI) C++ Compiler 5856 5857 # KCC will only create a shared library if the output file 5858 # ends with ".so" (or ".sl" for HP-UX), so rename the library 5859 # to its proper name (with version) after linking. 5860 _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' 5861 _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' 5862 # Commands to make compiler produce verbose output that lists 5863 # what "hidden" libraries, object files and flags are used when 5864 # linking a shared library. 5865 # 5866 # There doesn't appear to be a way to prevent this compiler from 5867 # explicitly linking system object files so we need to strip them 5868 # from the output so that they don't get included in the library 5869 # dependencies. 5870 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' 5871 5872 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 5873 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5874 5875 # Archives containing C++ object files must be created using 5876 # "CC -Bstatic", where "CC" is the KAI C++ compiler. 5877 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 5878 ;; 5879 icpc* | ecpc* ) 5880 # Intel C++ 5881 with_gnu_ld=yes 5882 # version 8.0 and above of icpc choke on multiply defined symbols 5883 # if we add $predep_objects and $postdep_objects, however 7.1 and 5884 # earlier do not add the objects themselves. 5885 case `$CC -V 2>&1` in 5886 *"Version 7."*) 5887 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 5888 _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' 5889 ;; 5890 *) # Version 8.0 or newer 5891 tmp_idyn= 5892 case $host_cpu in 5893 ia64*) tmp_idyn=' -i_dynamic';; 5894 esac 5895 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 5896 _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' 5897 ;; 5898 esac 5899 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5900 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 5901 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5902 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 5903 ;; 5904 pgCC* | pgcpp*) 5905 # Portland Group C++ compiler 5906 case `$CC -V` in 5907 *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) 5908 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 5909 rm -rf $tpldir~ 5910 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 5911 compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' 5912 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 5913 rm -rf $tpldir~ 5914 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 5915 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ 5916 $RANLIB $oldlib' 5917 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 5918 rm -rf $tpldir~ 5919 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 5920 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 5921 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 5922 rm -rf $tpldir~ 5923 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 5924 $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' 5925 ;; 5926 *) # Version 6 will use weak symbols 5927 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 5928 _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' 5929 ;; 5930 esac 5931 5932 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' 5933 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5934 _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' 5935 ;; 5936 cxx*) 5937 # Compaq C++ 5938 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 5939 _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' 5940 5941 runpath_var=LD_RUN_PATH 5942 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 5943 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5944 5945 # Commands to make compiler produce verbose output that lists 5946 # what "hidden" libraries, object files and flags are used when 5947 # linking a shared library. 5948 # 5949 # There doesn't appear to be a way to prevent this compiler from 5950 # explicitly linking system object files so we need to strip them 5951 # from the output so that they don't get included in the library 5952 # dependencies. 5953 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' 5954 ;; 5955 xl*) 5956 # IBM XL 8.0 on PPC, with GNU ld 5957 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5958 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5959 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 5960 if test "x$supports_anon_versioning" = xyes; then 5961 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 5962 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 5963 echo "local: *; };" >> $output_objdir/$libname.ver~ 5964 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 5965 fi 5966 ;; 5967 *) 5968 case `$CC -V 2>&1 | sed 5q` in 5969 *Sun\ C*) 5970 # Sun C++ 5.9 5971 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 5972 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 5973 _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' 5974 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5975 _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' 5976 _LT_TAGVAR(compiler_needs_object, $1)=yes 5977 5978 # Not sure whether something based on 5979 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 5980 # would be better. 5981 output_verbose_link_cmd='echo' 5982 5983 # Archives containing C++ object files must be created using 5984 # "CC -xar", where "CC" is the Sun C++ compiler. This is 5985 # necessary to make sure instantiated templates are included 5986 # in the archive. 5987 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 5988 ;; 5989 esac 5990 ;; 5991 esac 5992 ;; 5993 5994 lynxos*) 5995 # FIXME: insert proper C++ library support 5996 _LT_TAGVAR(ld_shlibs, $1)=no 5997 ;; 5998 5999 m88k*) 6000 # FIXME: insert proper C++ library support 6001 _LT_TAGVAR(ld_shlibs, $1)=no 6002 ;; 6003 6004 mvs*) 6005 case $cc_basename in 6006 cxx*) 6007 # FIXME: insert proper C++ library support 6008 _LT_TAGVAR(ld_shlibs, $1)=no 6009 ;; 6010 *) 6011 # FIXME: insert proper C++ library support 6012 _LT_TAGVAR(ld_shlibs, $1)=no 6013 ;; 6014 esac 6015 ;; 6016 6017 netbsd*) 6018 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 6019 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 6020 wlarc= 6021 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6022 _LT_TAGVAR(hardcode_direct, $1)=yes 6023 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6024 fi 6025 # Workaround some broken pre-1.5 toolchains 6026 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 6027 ;; 6028 6029 *nto* | *qnx*) 6030 _LT_TAGVAR(ld_shlibs, $1)=yes 6031 ;; 6032 6033 openbsd2*) 6034 # C++ shared libraries are fairly broken 6035 _LT_TAGVAR(ld_shlibs, $1)=no 6036 ;; 6037 6038 openbsd*) 6039 if test -f /usr/libexec/ld.so; then 6040 _LT_TAGVAR(hardcode_direct, $1)=yes 6041 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6042 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6043 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 6044 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6045 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 6046 _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' 6047 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 6048 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 6049 fi 6050 output_verbose_link_cmd=echo 6051 else 6052 _LT_TAGVAR(ld_shlibs, $1)=no 6053 fi 6054 ;; 6055 6056 osf3* | osf4* | osf5*) 6057 case $cc_basename in 6058 KCC*) 6059 # Kuck and Associates, Inc. (KAI) C++ Compiler 6060 6061 # KCC will only create a shared library if the output file 6062 # ends with ".so" (or ".sl" for HP-UX), so rename the library 6063 # to its proper name (with version) after linking. 6064 _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' 6065 6066 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6067 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6068 6069 # Archives containing C++ object files must be created using 6070 # the KAI C++ compiler. 6071 case $host in 6072 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 6073 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 6074 esac 6075 ;; 6076 RCC*) 6077 # Rational C++ 2.4.1 6078 # FIXME: insert proper C++ library support 6079 _LT_TAGVAR(ld_shlibs, $1)=no 6080 ;; 6081 cxx*) 6082 case $host in 6083 osf3*) 6084 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 6085 _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' 6086 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6087 ;; 6088 *) 6089 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 6090 _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' 6091 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 6092 echo "-hidden">> $lib.exp~ 6093 $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~ 6094 $RM $lib.exp' 6095 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 6096 ;; 6097 esac 6098 6099 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6100 6101 # Commands to make compiler produce verbose output that lists 6102 # what "hidden" libraries, object files and flags are used when 6103 # linking a shared library. 6104 # 6105 # There doesn't appear to be a way to prevent this compiler from 6106 # explicitly linking system object files so we need to strip them 6107 # from the output so that they don't get included in the library 6108 # dependencies. 6109 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' 6110 ;; 6111 *) 6112 if test "$GXX" = yes && test "$with_gnu_ld" = no; then 6113 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 6114 case $host in 6115 osf3*) 6116 _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' 6117 ;; 6118 *) 6119 _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' 6120 ;; 6121 esac 6122 6123 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6124 _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6125 6126 # Commands to make compiler produce verbose output that lists 6127 # what "hidden" libraries, object files and flags are used when 6128 # linking a shared library. 6129 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6130 6131 else 6132 # FIXME: insert proper C++ library support 6133 _LT_TAGVAR(ld_shlibs, $1)=no 6134 fi 6135 ;; 6136 esac 6137 ;; 6138 6139 psos*) 6140 # FIXME: insert proper C++ library support 6141 _LT_TAGVAR(ld_shlibs, $1)=no 6142 ;; 6143 6144 sunos4*) 6145 case $cc_basename in 6146 CC*) 6147 # Sun C++ 4.x 6148 # FIXME: insert proper C++ library support 6149 _LT_TAGVAR(ld_shlibs, $1)=no 6150 ;; 6151 lcc*) 6152 # Lucid 6153 # FIXME: insert proper C++ library support 6154 _LT_TAGVAR(ld_shlibs, $1)=no 6155 ;; 6156 *) 6157 # FIXME: insert proper C++ library support 6158 _LT_TAGVAR(ld_shlibs, $1)=no 6159 ;; 6160 esac 6161 ;; 6162 6163 solaris*) 6164 case $cc_basename in 6165 CC*) 6166 # Sun C++ 4.2, 5.x and Centerline C++ 6167 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 6168 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 6169 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6170 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6171 $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' 6172 6173 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6174 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6175 case $host_os in 6176 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 6177 *) 6178 # The compiler driver will combine and reorder linker options, 6179 # but understands `-z linker_flag'. 6180 # Supported since Solaris 2.6 (maybe 2.5.1?) 6181 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 6182 ;; 6183 esac 6184 _LT_TAGVAR(link_all_deplibs, $1)=yes 6185 6186 output_verbose_link_cmd='echo' 6187 6188 # Archives containing C++ object files must be created using 6189 # "CC -xar", where "CC" is the Sun C++ compiler. This is 6190 # necessary to make sure instantiated templates are included 6191 # in the archive. 6192 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 6193 ;; 6194 gcx*) 6195 # Green Hills C++ Compiler 6196 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6197 6198 # The C++ compiler must be used to create the archive. 6199 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 6200 ;; 6201 *) 6202 # GNU C++ compiler with Solaris linker 6203 if test "$GXX" = yes && test "$with_gnu_ld" = no; then 6204 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' 6205 if $CC --version | $GREP -v '^2\.7' > /dev/null; then 6206 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6207 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6208 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 6209 6210 # Commands to make compiler produce verbose output that lists 6211 # what "hidden" libraries, object files and flags are used when 6212 # linking a shared library. 6213 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6214 else 6215 # g++ 2.7 appears to require `-G' NOT `-shared' on this 6216 # platform. 6217 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6218 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6219 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 6220 6221 # Commands to make compiler produce verbose output that lists 6222 # what "hidden" libraries, object files and flags are used when 6223 # linking a shared library. 6224 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6225 fi 6226 6227 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' 6228 case $host_os in 6229 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 6230 *) 6231 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 6232 ;; 6233 esac 6234 fi 6235 ;; 6236 esac 6237 ;; 6238 6239 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 6240 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 6241 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6242 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6243 runpath_var='LD_RUN_PATH' 6244 6245 case $cc_basename in 6246 CC*) 6247 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6248 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6249 ;; 6250 *) 6251 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6252 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6253 ;; 6254 esac 6255 ;; 6256 6257 sysv5* | sco3.2v5* | sco5v6*) 6258 # Note: We can NOT use -z defs as we might desire, because we do not 6259 # link with -lc, and that would cause any symbols used from libc to 6260 # always be unresolved, which means just about no library would 6261 # ever link correctly. If we're not using GNU ld we use -z text 6262 # though, which does catch some bad symbols but isn't as heavy-handed 6263 # as -z defs. 6264 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 6265 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 6266 _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6267 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6268 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 6269 _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 6270 _LT_TAGVAR(link_all_deplibs, $1)=yes 6271 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 6272 runpath_var='LD_RUN_PATH' 6273 6274 case $cc_basename in 6275 CC*) 6276 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6277 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6278 ;; 6279 *) 6280 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6281 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6282 ;; 6283 esac 6284 ;; 6285 6286 tandem*) 6287 case $cc_basename in 6288 NCC*) 6289 # NonStop-UX NCC 3.20 6290 # FIXME: insert proper C++ library support 6291 _LT_TAGVAR(ld_shlibs, $1)=no 6292 ;; 6293 *) 6294 # FIXME: insert proper C++ library support 6295 _LT_TAGVAR(ld_shlibs, $1)=no 6296 ;; 6297 esac 6298 ;; 6299 6300 vxworks*) 6301 # FIXME: insert proper C++ library support 6302 _LT_TAGVAR(ld_shlibs, $1)=no 6303 ;; 6304 6305 *) 6306 # FIXME: insert proper C++ library support 6307 _LT_TAGVAR(ld_shlibs, $1)=no 6308 ;; 6309 esac 6310 6311 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 6312 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 6313 6314 _LT_TAGVAR(GCC, $1)="$GXX" 6315 _LT_TAGVAR(LD, $1)="$LD" 6316 6317 ## CAVEAT EMPTOR: 6318 ## There is no encapsulation within the following macros, do not change 6319 ## the running order or otherwise move them around unless you know exactly 6320 ## what you are doing... 6321 _LT_SYS_HIDDEN_LIBDEPS($1) 6322 _LT_COMPILER_PIC($1) 6323 _LT_COMPILER_C_O($1) 6324 _LT_COMPILER_FILE_LOCKS($1) 6325 _LT_LINKER_SHLIBS($1) 6326 _LT_SYS_DYNAMIC_LINKER($1) 6327 _LT_LINKER_HARDCODE_LIBPATH($1) 6328 6329 _LT_CONFIG($1) 6330 fi # test -n "$compiler" 6331 6332 CC=$lt_save_CC 6333 LDCXX=$LD 6334 LD=$lt_save_LD 6335 GCC=$lt_save_GCC 6336 with_gnu_ld=$lt_save_with_gnu_ld 6337 lt_cv_path_LDCXX=$lt_cv_path_LD 6338 lt_cv_path_LD=$lt_save_path_LD 6339 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 6340 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 6341fi # test "$_lt_caught_CXX_error" != yes 6342 6343AC_LANG_POP 6344])# _LT_LANG_CXX_CONFIG 6345 6346 6347# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 6348# --------------------------------- 6349# Figure out "hidden" library dependencies from verbose 6350# compiler output when linking a shared library. 6351# Parse the compiler output and extract the necessary 6352# objects, libraries and library flags. 6353m4_defun([_LT_SYS_HIDDEN_LIBDEPS], 6354[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 6355# Dependencies to place before and after the object being linked: 6356_LT_TAGVAR(predep_objects, $1)= 6357_LT_TAGVAR(postdep_objects, $1)= 6358_LT_TAGVAR(predeps, $1)= 6359_LT_TAGVAR(postdeps, $1)= 6360_LT_TAGVAR(compiler_lib_search_path, $1)= 6361 6362dnl we can't use the lt_simple_compile_test_code here, 6363dnl because it contains code intended for an executable, 6364dnl not a library. It's possible we should let each 6365dnl tag define a new lt_????_link_test_code variable, 6366dnl but it's only used here... 6367m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 6368int a; 6369void foo (void) { a = 0; } 6370_LT_EOF 6371], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 6372class Foo 6373{ 6374public: 6375 Foo (void) { a = 0; } 6376private: 6377 int a; 6378}; 6379_LT_EOF 6380], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 6381 subroutine foo 6382 implicit none 6383 integer*4 a 6384 a=0 6385 return 6386 end 6387_LT_EOF 6388], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 6389 subroutine foo 6390 implicit none 6391 integer a 6392 a=0 6393 return 6394 end 6395_LT_EOF 6396], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 6397public class foo { 6398 private int a; 6399 public void bar (void) { 6400 a = 0; 6401 } 6402}; 6403_LT_EOF 6404]) 6405dnl Parse the compiler output and extract the necessary 6406dnl objects, libraries and library flags. 6407if AC_TRY_EVAL(ac_compile); then 6408 # Parse the compiler output and extract the necessary 6409 # objects, libraries and library flags. 6410 6411 # Sentinel used to keep track of whether or not we are before 6412 # the conftest object file. 6413 pre_test_object_deps_done=no 6414 6415 for p in `eval "$output_verbose_link_cmd"`; do 6416 case $p in 6417 6418 -L* | -R* | -l*) 6419 # Some compilers place space between "-{L,R}" and the path. 6420 # Remove the space. 6421 if test $p = "-L" || 6422 test $p = "-R"; then 6423 prev=$p 6424 continue 6425 else 6426 prev= 6427 fi 6428 6429 if test "$pre_test_object_deps_done" = no; then 6430 case $p in 6431 -L* | -R*) 6432 # Internal compiler library paths should come after those 6433 # provided the user. The postdeps already come after the 6434 # user supplied libs so there is no need to process them. 6435 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 6436 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" 6437 else 6438 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" 6439 fi 6440 ;; 6441 # The "-l" case would never come before the object being 6442 # linked, so don't bother handling this case. 6443 esac 6444 else 6445 if test -z "$_LT_TAGVAR(postdeps, $1)"; then 6446 _LT_TAGVAR(postdeps, $1)="${prev}${p}" 6447 else 6448 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" 6449 fi 6450 fi 6451 ;; 6452 6453 *.$objext) 6454 # This assumes that the test object file only shows up 6455 # once in the compiler output. 6456 if test "$p" = "conftest.$objext"; then 6457 pre_test_object_deps_done=yes 6458 continue 6459 fi 6460 6461 if test "$pre_test_object_deps_done" = no; then 6462 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 6463 _LT_TAGVAR(predep_objects, $1)="$p" 6464 else 6465 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 6466 fi 6467 else 6468 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 6469 _LT_TAGVAR(postdep_objects, $1)="$p" 6470 else 6471 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 6472 fi 6473 fi 6474 ;; 6475 6476 *) ;; # Ignore the rest. 6477 6478 esac 6479 done 6480 6481 # Clean up. 6482 rm -f a.out a.exe 6483else 6484 echo "libtool.m4: error: problem compiling $1 test program" 6485fi 6486 6487$RM -f confest.$objext 6488 6489# PORTME: override above test on systems where it is broken 6490m4_if([$1], [CXX], 6491[case $host_os in 6492interix[[3-9]]*) 6493 # Interix 3.5 installs completely hosed .la files for C++, so rather than 6494 # hack all around it, let's just trust "g++" to DTRT. 6495 _LT_TAGVAR(predep_objects,$1)= 6496 _LT_TAGVAR(postdep_objects,$1)= 6497 _LT_TAGVAR(postdeps,$1)= 6498 ;; 6499 6500linux*) 6501 case `$CC -V 2>&1 | sed 5q` in 6502 *Sun\ C*) 6503 # Sun C++ 5.9 6504 6505 # The more standards-conforming stlport4 library is 6506 # incompatible with the Cstd library. Avoid specifying 6507 # it if it's in CXXFLAGS. Ignore libCrun as 6508 # -library=stlport4 depends on it. 6509 case " $CXX $CXXFLAGS " in 6510 *" -library=stlport4 "*) 6511 solaris_use_stlport4=yes 6512 ;; 6513 esac 6514 6515 if test "$solaris_use_stlport4" != yes; then 6516 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 6517 fi 6518 ;; 6519 esac 6520 ;; 6521 6522solaris*) 6523 case $cc_basename in 6524 CC*) 6525 # The more standards-conforming stlport4 library is 6526 # incompatible with the Cstd library. Avoid specifying 6527 # it if it's in CXXFLAGS. Ignore libCrun as 6528 # -library=stlport4 depends on it. 6529 case " $CXX $CXXFLAGS " in 6530 *" -library=stlport4 "*) 6531 solaris_use_stlport4=yes 6532 ;; 6533 esac 6534 6535 # Adding this requires a known-good setup of shared libraries for 6536 # Sun compiler versions before 5.6, else PIC objects from an old 6537 # archive will be linked into the output, leading to subtle bugs. 6538 if test "$solaris_use_stlport4" != yes; then 6539 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 6540 fi 6541 ;; 6542 esac 6543 ;; 6544esac 6545]) 6546 6547case " $_LT_TAGVAR(postdeps, $1) " in 6548*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 6549esac 6550 _LT_TAGVAR(compiler_lib_search_dirs, $1)= 6551if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 6552 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` 6553fi 6554_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 6555 [The directories searched by this compiler when creating a shared library]) 6556_LT_TAGDECL([], [predep_objects], [1], 6557 [Dependencies to place before and after the objects being linked to 6558 create a shared library]) 6559_LT_TAGDECL([], [postdep_objects], [1]) 6560_LT_TAGDECL([], [predeps], [1]) 6561_LT_TAGDECL([], [postdeps], [1]) 6562_LT_TAGDECL([], [compiler_lib_search_path], [1], 6563 [The library search path used internally by the compiler when linking 6564 a shared library]) 6565])# _LT_SYS_HIDDEN_LIBDEPS 6566 6567 6568# _LT_PROG_F77 6569# ------------ 6570# Since AC_PROG_F77 is broken, in that it returns the empty string 6571# if there is no fortran compiler, we have our own version here. 6572m4_defun([_LT_PROG_F77], 6573[ 6574pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) 6575AC_PROG_F77 6576if test -z "$F77" || test "X$F77" = "Xno"; then 6577 _lt_disable_F77=yes 6578fi 6579popdef([AC_MSG_ERROR]) 6580])# _LT_PROG_F77 6581 6582dnl aclocal-1.4 backwards compatibility: 6583dnl AC_DEFUN([_LT_PROG_F77], []) 6584 6585 6586# _LT_LANG_F77_CONFIG([TAG]) 6587# -------------------------- 6588# Ensure that the configuration variables for a Fortran 77 compiler are 6589# suitably defined. These variables are subsequently used by _LT_CONFIG 6590# to write the compiler configuration to `libtool'. 6591m4_defun([_LT_LANG_F77_CONFIG], 6592[AC_REQUIRE([_LT_PROG_F77])dnl 6593AC_LANG_PUSH(Fortran 77) 6594 6595_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6596_LT_TAGVAR(allow_undefined_flag, $1)= 6597_LT_TAGVAR(always_export_symbols, $1)=no 6598_LT_TAGVAR(archive_expsym_cmds, $1)= 6599_LT_TAGVAR(export_dynamic_flag_spec, $1)= 6600_LT_TAGVAR(hardcode_direct, $1)=no 6601_LT_TAGVAR(hardcode_direct_absolute, $1)=no 6602_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 6603_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 6604_LT_TAGVAR(hardcode_libdir_separator, $1)= 6605_LT_TAGVAR(hardcode_minus_L, $1)=no 6606_LT_TAGVAR(hardcode_automatic, $1)=no 6607_LT_TAGVAR(inherit_rpath, $1)=no 6608_LT_TAGVAR(module_cmds, $1)= 6609_LT_TAGVAR(module_expsym_cmds, $1)= 6610_LT_TAGVAR(link_all_deplibs, $1)=unknown 6611_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 6612_LT_TAGVAR(no_undefined_flag, $1)= 6613_LT_TAGVAR(whole_archive_flag_spec, $1)= 6614_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 6615 6616# Source file extension for f77 test sources. 6617ac_ext=f 6618 6619# Object file extension for compiled f77 test sources. 6620objext=o 6621_LT_TAGVAR(objext, $1)=$objext 6622 6623# No sense in running all these tests if we already determined that 6624# the F77 compiler isn't working. Some variables (like enable_shared) 6625# are currently assumed to apply to all compilers on this platform, 6626# and will be corrupted by setting them based on a non-working compiler. 6627if test "$_lt_disable_F77" != yes; then 6628 # Code to be used in simple compile tests 6629 lt_simple_compile_test_code="\ 6630 subroutine t 6631 return 6632 end 6633" 6634 6635 # Code to be used in simple link tests 6636 lt_simple_link_test_code="\ 6637 program t 6638 end 6639" 6640 6641 # ltmain only uses $CC for tagged configurations so make sure $CC is set. 6642 _LT_TAG_COMPILER 6643 6644 # save warnings/boilerplate of simple test code 6645 _LT_COMPILER_BOILERPLATE 6646 _LT_LINKER_BOILERPLATE 6647 6648 # Allow CC to be a program name with arguments. 6649 lt_save_CC="$CC" 6650 lt_save_GCC=$GCC 6651 CC=${F77-"f77"} 6652 compiler=$CC 6653 _LT_TAGVAR(compiler, $1)=$CC 6654 _LT_CC_BASENAME([$compiler]) 6655 GCC=$G77 6656 if test -n "$compiler"; then 6657 AC_MSG_CHECKING([if libtool supports shared libraries]) 6658 AC_MSG_RESULT([$can_build_shared]) 6659 6660 AC_MSG_CHECKING([whether to build shared libraries]) 6661 test "$can_build_shared" = "no" && enable_shared=no 6662 6663 # On AIX, shared libraries and static libraries use the same namespace, and 6664 # are all built from PIC. 6665 case $host_os in 6666 aix3*) 6667 test "$enable_shared" = yes && enable_static=no 6668 if test -n "$RANLIB"; then 6669 archive_cmds="$archive_cmds~\$RANLIB \$lib" 6670 postinstall_cmds='$RANLIB $lib' 6671 fi 6672 ;; 6673 aix[[4-9]]*) 6674 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 6675 test "$enable_shared" = yes && enable_static=no 6676 fi 6677 ;; 6678 esac 6679 AC_MSG_RESULT([$enable_shared]) 6680 6681 AC_MSG_CHECKING([whether to build static libraries]) 6682 # Make sure either enable_shared or enable_static is yes. 6683 test "$enable_shared" = yes || enable_static=yes 6684 AC_MSG_RESULT([$enable_static]) 6685 6686 _LT_TAGVAR(GCC, $1)="$G77" 6687 _LT_TAGVAR(LD, $1)="$LD" 6688 6689 ## CAVEAT EMPTOR: 6690 ## There is no encapsulation within the following macros, do not change 6691 ## the running order or otherwise move them around unless you know exactly 6692 ## what you are doing... 6693 _LT_COMPILER_PIC($1) 6694 _LT_COMPILER_C_O($1) 6695 _LT_COMPILER_FILE_LOCKS($1) 6696 _LT_LINKER_SHLIBS($1) 6697 _LT_SYS_DYNAMIC_LINKER($1) 6698 _LT_LINKER_HARDCODE_LIBPATH($1) 6699 6700 _LT_CONFIG($1) 6701 fi # test -n "$compiler" 6702 6703 GCC=$lt_save_GCC 6704 CC="$lt_save_CC" 6705fi # test "$_lt_disable_F77" != yes 6706 6707AC_LANG_POP 6708])# _LT_LANG_F77_CONFIG 6709 6710 6711# _LT_PROG_FC 6712# ----------- 6713# Since AC_PROG_FC is broken, in that it returns the empty string 6714# if there is no fortran compiler, we have our own version here. 6715m4_defun([_LT_PROG_FC], 6716[ 6717pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) 6718AC_PROG_FC 6719if test -z "$FC" || test "X$FC" = "Xno"; then 6720 _lt_disable_FC=yes 6721fi 6722popdef([AC_MSG_ERROR]) 6723])# _LT_PROG_FC 6724 6725dnl aclocal-1.4 backwards compatibility: 6726dnl AC_DEFUN([_LT_PROG_FC], []) 6727 6728 6729# _LT_LANG_FC_CONFIG([TAG]) 6730# ------------------------- 6731# Ensure that the configuration variables for a Fortran compiler are 6732# suitably defined. These variables are subsequently used by _LT_CONFIG 6733# to write the compiler configuration to `libtool'. 6734m4_defun([_LT_LANG_FC_CONFIG], 6735[AC_REQUIRE([_LT_PROG_FC])dnl 6736AC_LANG_PUSH(Fortran) 6737 6738_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6739_LT_TAGVAR(allow_undefined_flag, $1)= 6740_LT_TAGVAR(always_export_symbols, $1)=no 6741_LT_TAGVAR(archive_expsym_cmds, $1)= 6742_LT_TAGVAR(export_dynamic_flag_spec, $1)= 6743_LT_TAGVAR(hardcode_direct, $1)=no 6744_LT_TAGVAR(hardcode_direct_absolute, $1)=no 6745_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 6746_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 6747_LT_TAGVAR(hardcode_libdir_separator, $1)= 6748_LT_TAGVAR(hardcode_minus_L, $1)=no 6749_LT_TAGVAR(hardcode_automatic, $1)=no 6750_LT_TAGVAR(inherit_rpath, $1)=no 6751_LT_TAGVAR(module_cmds, $1)= 6752_LT_TAGVAR(module_expsym_cmds, $1)= 6753_LT_TAGVAR(link_all_deplibs, $1)=unknown 6754_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 6755_LT_TAGVAR(no_undefined_flag, $1)= 6756_LT_TAGVAR(whole_archive_flag_spec, $1)= 6757_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 6758 6759# Source file extension for fc test sources. 6760ac_ext=${ac_fc_srcext-f} 6761 6762# Object file extension for compiled fc test sources. 6763objext=o 6764_LT_TAGVAR(objext, $1)=$objext 6765 6766# No sense in running all these tests if we already determined that 6767# the FC compiler isn't working. Some variables (like enable_shared) 6768# are currently assumed to apply to all compilers on this platform, 6769# and will be corrupted by setting them based on a non-working compiler. 6770if test "$_lt_disable_FC" != yes; then 6771 # Code to be used in simple compile tests 6772 lt_simple_compile_test_code="\ 6773 subroutine t 6774 return 6775 end 6776" 6777 6778 # Code to be used in simple link tests 6779 lt_simple_link_test_code="\ 6780 program t 6781 end 6782" 6783 6784 # ltmain only uses $CC for tagged configurations so make sure $CC is set. 6785 _LT_TAG_COMPILER 6786 6787 # save warnings/boilerplate of simple test code 6788 _LT_COMPILER_BOILERPLATE 6789 _LT_LINKER_BOILERPLATE 6790 6791 # Allow CC to be a program name with arguments. 6792 lt_save_CC="$CC" 6793 lt_save_GCC=$GCC 6794 CC=${FC-"f95"} 6795 compiler=$CC 6796 GCC=$ac_cv_fc_compiler_gnu 6797 6798 _LT_TAGVAR(compiler, $1)=$CC 6799 _LT_CC_BASENAME([$compiler]) 6800 6801 if test -n "$compiler"; then 6802 AC_MSG_CHECKING([if libtool supports shared libraries]) 6803 AC_MSG_RESULT([$can_build_shared]) 6804 6805 AC_MSG_CHECKING([whether to build shared libraries]) 6806 test "$can_build_shared" = "no" && enable_shared=no 6807 6808 # On AIX, shared libraries and static libraries use the same namespace, and 6809 # are all built from PIC. 6810 case $host_os in 6811 aix3*) 6812 test "$enable_shared" = yes && enable_static=no 6813 if test -n "$RANLIB"; then 6814 archive_cmds="$archive_cmds~\$RANLIB \$lib" 6815 postinstall_cmds='$RANLIB $lib' 6816 fi 6817 ;; 6818 aix[[4-9]]*) 6819 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 6820 test "$enable_shared" = yes && enable_static=no 6821 fi 6822 ;; 6823 esac 6824 AC_MSG_RESULT([$enable_shared]) 6825 6826 AC_MSG_CHECKING([whether to build static libraries]) 6827 # Make sure either enable_shared or enable_static is yes. 6828 test "$enable_shared" = yes || enable_static=yes 6829 AC_MSG_RESULT([$enable_static]) 6830 6831 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" 6832 _LT_TAGVAR(LD, $1)="$LD" 6833 6834 ## CAVEAT EMPTOR: 6835 ## There is no encapsulation within the following macros, do not change 6836 ## the running order or otherwise move them around unless you know exactly 6837 ## what you are doing... 6838 _LT_SYS_HIDDEN_LIBDEPS($1) 6839 _LT_COMPILER_PIC($1) 6840 _LT_COMPILER_C_O($1) 6841 _LT_COMPILER_FILE_LOCKS($1) 6842 _LT_LINKER_SHLIBS($1) 6843 _LT_SYS_DYNAMIC_LINKER($1) 6844 _LT_LINKER_HARDCODE_LIBPATH($1) 6845 6846 _LT_CONFIG($1) 6847 fi # test -n "$compiler" 6848 6849 GCC=$lt_save_GCC 6850 CC="$lt_save_CC" 6851fi # test "$_lt_disable_FC" != yes 6852 6853AC_LANG_POP 6854])# _LT_LANG_FC_CONFIG 6855 6856 6857# _LT_LANG_GCJ_CONFIG([TAG]) 6858# -------------------------- 6859# Ensure that the configuration variables for the GNU Java Compiler compiler 6860# are suitably defined. These variables are subsequently used by _LT_CONFIG 6861# to write the compiler configuration to `libtool'. 6862m4_defun([_LT_LANG_GCJ_CONFIG], 6863[AC_REQUIRE([LT_PROG_GCJ])dnl 6864AC_LANG_SAVE 6865 6866# Source file extension for Java test sources. 6867ac_ext=java 6868 6869# Object file extension for compiled Java test sources. 6870objext=o 6871_LT_TAGVAR(objext, $1)=$objext 6872 6873# Code to be used in simple compile tests 6874lt_simple_compile_test_code="class foo {}" 6875 6876# Code to be used in simple link tests 6877lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 6878 6879# ltmain only uses $CC for tagged configurations so make sure $CC is set. 6880_LT_TAG_COMPILER 6881 6882# save warnings/boilerplate of simple test code 6883_LT_COMPILER_BOILERPLATE 6884_LT_LINKER_BOILERPLATE 6885 6886# Allow CC to be a program name with arguments. 6887lt_save_CC="$CC" 6888lt_save_GCC=$GCC 6889GCC=yes 6890CC=${GCJ-"gcj"} 6891compiler=$CC 6892_LT_TAGVAR(compiler, $1)=$CC 6893_LT_TAGVAR(LD, $1)="$LD" 6894_LT_CC_BASENAME([$compiler]) 6895 6896# GCJ did not exist at the time GCC didn't implicitly link libc in. 6897_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6898 6899_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 6900 6901## CAVEAT EMPTOR: 6902## There is no encapsulation within the following macros, do not change 6903## the running order or otherwise move them around unless you know exactly 6904## what you are doing... 6905if test -n "$compiler"; then 6906 _LT_COMPILER_NO_RTTI($1) 6907 _LT_COMPILER_PIC($1) 6908 _LT_COMPILER_C_O($1) 6909 _LT_COMPILER_FILE_LOCKS($1) 6910 _LT_LINKER_SHLIBS($1) 6911 _LT_LINKER_HARDCODE_LIBPATH($1) 6912 6913 _LT_CONFIG($1) 6914fi 6915 6916AC_LANG_RESTORE 6917 6918GCC=$lt_save_GCC 6919CC="$lt_save_CC" 6920])# _LT_LANG_GCJ_CONFIG 6921 6922 6923# _LT_LANG_RC_CONFIG([TAG]) 6924# ------------------------- 6925# Ensure that the configuration variables for the Windows resource compiler 6926# are suitably defined. These variables are subsequently used by _LT_CONFIG 6927# to write the compiler configuration to `libtool'. 6928m4_defun([_LT_LANG_RC_CONFIG], 6929[AC_REQUIRE([LT_PROG_RC])dnl 6930AC_LANG_SAVE 6931 6932# Source file extension for RC test sources. 6933ac_ext=rc 6934 6935# Object file extension for compiled RC test sources. 6936objext=o 6937_LT_TAGVAR(objext, $1)=$objext 6938 6939# Code to be used in simple compile tests 6940lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 6941 6942# Code to be used in simple link tests 6943lt_simple_link_test_code="$lt_simple_compile_test_code" 6944 6945# ltmain only uses $CC for tagged configurations so make sure $CC is set. 6946_LT_TAG_COMPILER 6947 6948# save warnings/boilerplate of simple test code 6949_LT_COMPILER_BOILERPLATE 6950_LT_LINKER_BOILERPLATE 6951 6952# Allow CC to be a program name with arguments. 6953lt_save_CC="$CC" 6954lt_save_GCC=$GCC 6955GCC= 6956CC=${RC-"windres"} 6957compiler=$CC 6958_LT_TAGVAR(compiler, $1)=$CC 6959_LT_CC_BASENAME([$compiler]) 6960_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 6961 6962if test -n "$compiler"; then 6963 : 6964 _LT_CONFIG($1) 6965fi 6966 6967GCC=$lt_save_GCC 6968AC_LANG_RESTORE 6969CC="$lt_save_CC" 6970])# _LT_LANG_RC_CONFIG 6971 6972 6973# LT_PROG_GCJ 6974# ----------- 6975AC_DEFUN([LT_PROG_GCJ], 6976[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 6977 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 6978 [AC_CHECK_TOOL(GCJ, gcj,) 6979 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" 6980 AC_SUBST(GCJFLAGS)])])[]dnl 6981]) 6982 6983# Old name: 6984AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 6985dnl aclocal-1.4 backwards compatibility: 6986dnl AC_DEFUN([LT_AC_PROG_GCJ], []) 6987 6988 6989# LT_PROG_RC 6990# ---------- 6991AC_DEFUN([LT_PROG_RC], 6992[AC_CHECK_TOOL(RC, windres,) 6993]) 6994 6995# Old name: 6996AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 6997dnl aclocal-1.4 backwards compatibility: 6998dnl AC_DEFUN([LT_AC_PROG_RC], []) 6999 7000 7001# _LT_DECL_EGREP 7002# -------------- 7003# If we don't have a new enough Autoconf to choose the best grep 7004# available, choose the one first in the user's PATH. 7005m4_defun([_LT_DECL_EGREP], 7006[AC_REQUIRE([AC_PROG_EGREP])dnl 7007AC_REQUIRE([AC_PROG_FGREP])dnl 7008test -z "$GREP" && GREP=grep 7009_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 7010_LT_DECL([], [EGREP], [1], [An ERE matcher]) 7011_LT_DECL([], [FGREP], [1], [A literal string matcher]) 7012dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 7013AC_SUBST([GREP]) 7014]) 7015 7016 7017# _LT_DECL_OBJDUMP 7018# -------------- 7019# If we don't have a new enough Autoconf to choose the best objdump 7020# available, choose the one first in the user's PATH. 7021m4_defun([_LT_DECL_OBJDUMP], 7022[AC_CHECK_TOOL(OBJDUMP, objdump, false) 7023test -z "$OBJDUMP" && OBJDUMP=objdump 7024_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 7025AC_SUBST([OBJDUMP]) 7026]) 7027 7028 7029# _LT_DECL_SED 7030# ------------ 7031# Check for a fully-functional sed program, that truncates 7032# as few characters as possible. Prefer GNU sed if found. 7033m4_defun([_LT_DECL_SED], 7034[AC_PROG_SED 7035test -z "$SED" && SED=sed 7036Xsed="$SED -e 1s/^X//" 7037_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 7038_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 7039 [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 7040])# _LT_DECL_SED 7041 7042m4_ifndef([AC_PROG_SED], [ 7043############################################################ 7044# NOTE: This macro has been submitted for inclusion into # 7045# GNU Autoconf as AC_PROG_SED. When it is available in # 7046# a released version of Autoconf we should remove this # 7047# macro and use it instead. # 7048############################################################ 7049 7050m4_defun([AC_PROG_SED], 7051[AC_MSG_CHECKING([for a sed that does not truncate output]) 7052AC_CACHE_VAL(lt_cv_path_SED, 7053[# Loop through the user's path and test for sed and gsed. 7054# Then use that list of sed's as ones to test for truncation. 7055as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7056for as_dir in $PATH 7057do 7058 IFS=$as_save_IFS 7059 test -z "$as_dir" && as_dir=. 7060 for lt_ac_prog in sed gsed; do 7061 for ac_exec_ext in '' $ac_executable_extensions; do 7062 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then 7063 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" 7064 fi 7065 done 7066 done 7067done 7068IFS=$as_save_IFS 7069lt_ac_max=0 7070lt_ac_count=0 7071# Add /usr/xpg4/bin/sed as it is typically found on Solaris 7072# along with /bin/sed that truncates output. 7073for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do 7074 test ! -f $lt_ac_sed && continue 7075 cat /dev/null > conftest.in 7076 lt_ac_count=0 7077 echo $ECHO_N "0123456789$ECHO_C" >conftest.in 7078 # Check for GNU sed and select it if it is found. 7079 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then 7080 lt_cv_path_SED=$lt_ac_sed 7081 break 7082 fi 7083 while true; do 7084 cat conftest.in conftest.in >conftest.tmp 7085 mv conftest.tmp conftest.in 7086 cp conftest.in conftest.nl 7087 echo >>conftest.nl 7088 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break 7089 cmp -s conftest.out conftest.nl || break 7090 # 10000 chars as input seems more than enough 7091 test $lt_ac_count -gt 10 && break 7092 lt_ac_count=`expr $lt_ac_count + 1` 7093 if test $lt_ac_count -gt $lt_ac_max; then 7094 lt_ac_max=$lt_ac_count 7095 lt_cv_path_SED=$lt_ac_sed 7096 fi 7097 done 7098done 7099]) 7100SED=$lt_cv_path_SED 7101AC_SUBST([SED]) 7102AC_MSG_RESULT([$SED]) 7103])#AC_PROG_SED 7104])#m4_ifndef 7105 7106# Old name: 7107AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) 7108dnl aclocal-1.4 backwards compatibility: 7109dnl AC_DEFUN([LT_AC_PROG_SED], []) 7110 7111 7112# _LT_CHECK_SHELL_FEATURES 7113# ------------------------ 7114# Find out whether the shell is Bourne or XSI compatible, 7115# or has some other useful features. 7116m4_defun([_LT_CHECK_SHELL_FEATURES], 7117[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) 7118# Try some XSI features 7119xsi_shell=no 7120( _lt_dummy="a/b/c" 7121 test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ 7122 = c,a/b,, \ 7123 && eval 'test $(( 1 + 1 )) -eq 2 \ 7124 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ 7125 && xsi_shell=yes 7126AC_MSG_RESULT([$xsi_shell]) 7127_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) 7128 7129AC_MSG_CHECKING([whether the shell understands "+="]) 7130lt_shell_append=no 7131( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ 7132 >/dev/null 2>&1 \ 7133 && lt_shell_append=yes 7134AC_MSG_RESULT([$lt_shell_append]) 7135_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) 7136 7137if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 7138 lt_unset=unset 7139else 7140 lt_unset=false 7141fi 7142_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 7143 7144# test EBCDIC or ASCII 7145case `echo X|tr X '\101'` in 7146 A) # ASCII based system 7147 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 7148 lt_SP2NL='tr \040 \012' 7149 lt_NL2SP='tr \015\012 \040\040' 7150 ;; 7151 *) # EBCDIC based system 7152 lt_SP2NL='tr \100 \n' 7153 lt_NL2SP='tr \r\n \100\100' 7154 ;; 7155esac 7156_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 7157_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 7158])# _LT_CHECK_SHELL_FEATURES 7159 7160 7161# _LT_PROG_XSI_SHELLFNS 7162# --------------------- 7163# Bourne and XSI compatible variants of some useful shell functions. 7164m4_defun([_LT_PROG_XSI_SHELLFNS], 7165[case $xsi_shell in 7166 yes) 7167 cat << \_LT_EOF >> "$cfgfile" 7168 7169# func_dirname file append nondir_replacement 7170# Compute the dirname of FILE. If nonempty, add APPEND to the result, 7171# otherwise set result to NONDIR_REPLACEMENT. 7172func_dirname () 7173{ 7174 case ${1} in 7175 */*) func_dirname_result="${1%/*}${2}" ;; 7176 * ) func_dirname_result="${3}" ;; 7177 esac 7178} 7179 7180# func_basename file 7181func_basename () 7182{ 7183 func_basename_result="${1##*/}" 7184} 7185 7186# func_dirname_and_basename file append nondir_replacement 7187# perform func_basename and func_dirname in a single function 7188# call: 7189# dirname: Compute the dirname of FILE. If nonempty, 7190# add APPEND to the result, otherwise set result 7191# to NONDIR_REPLACEMENT. 7192# value returned in "$func_dirname_result" 7193# basename: Compute filename of FILE. 7194# value retuned in "$func_basename_result" 7195# Implementation must be kept synchronized with func_dirname 7196# and func_basename. For efficiency, we do not delegate to 7197# those functions but instead duplicate the functionality here. 7198func_dirname_and_basename () 7199{ 7200 case ${1} in 7201 */*) func_dirname_result="${1%/*}${2}" ;; 7202 * ) func_dirname_result="${3}" ;; 7203 esac 7204 func_basename_result="${1##*/}" 7205} 7206 7207# func_stripname prefix suffix name 7208# strip PREFIX and SUFFIX off of NAME. 7209# PREFIX and SUFFIX must not contain globbing or regex special 7210# characters, hashes, percent signs, but SUFFIX may contain a leading 7211# dot (in which case that matches only a dot). 7212func_stripname () 7213{ 7214 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are 7215 # positional parameters, so assign one to ordinary parameter first. 7216 func_stripname_result=${3} 7217 func_stripname_result=${func_stripname_result#"${1}"} 7218 func_stripname_result=${func_stripname_result%"${2}"} 7219} 7220 7221# func_opt_split 7222func_opt_split () 7223{ 7224 func_opt_split_opt=${1%%=*} 7225 func_opt_split_arg=${1#*=} 7226} 7227 7228# func_lo2o object 7229func_lo2o () 7230{ 7231 case ${1} in 7232 *.lo) func_lo2o_result=${1%.lo}.${objext} ;; 7233 *) func_lo2o_result=${1} ;; 7234 esac 7235} 7236 7237# func_xform libobj-or-source 7238func_xform () 7239{ 7240 func_xform_result=${1%.*}.lo 7241} 7242 7243# func_arith arithmetic-term... 7244func_arith () 7245{ 7246 func_arith_result=$(( $[*] )) 7247} 7248 7249# func_len string 7250# STRING may not start with a hyphen. 7251func_len () 7252{ 7253 func_len_result=${#1} 7254} 7255 7256_LT_EOF 7257 ;; 7258 *) # Bourne compatible functions. 7259 cat << \_LT_EOF >> "$cfgfile" 7260 7261# func_dirname file append nondir_replacement 7262# Compute the dirname of FILE. If nonempty, add APPEND to the result, 7263# otherwise set result to NONDIR_REPLACEMENT. 7264func_dirname () 7265{ 7266 # Extract subdirectory from the argument. 7267 func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` 7268 if test "X$func_dirname_result" = "X${1}"; then 7269 func_dirname_result="${3}" 7270 else 7271 func_dirname_result="$func_dirname_result${2}" 7272 fi 7273} 7274 7275# func_basename file 7276func_basename () 7277{ 7278 func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` 7279} 7280 7281dnl func_dirname_and_basename 7282dnl A portable version of this function is already defined in general.m4sh 7283dnl so there is no need for it here. 7284 7285# func_stripname prefix suffix name 7286# strip PREFIX and SUFFIX off of NAME. 7287# PREFIX and SUFFIX must not contain globbing or regex special 7288# characters, hashes, percent signs, but SUFFIX may contain a leading 7289# dot (in which case that matches only a dot). 7290# func_strip_suffix prefix name 7291func_stripname () 7292{ 7293 case ${2} in 7294 .*) func_stripname_result=`$ECHO "X${3}" \ 7295 | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; 7296 *) func_stripname_result=`$ECHO "X${3}" \ 7297 | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; 7298 esac 7299} 7300 7301# sed scripts: 7302my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' 7303my_sed_long_arg='1s/^-[[^=]]*=//' 7304 7305# func_opt_split 7306func_opt_split () 7307{ 7308 func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` 7309 func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` 7310} 7311 7312# func_lo2o object 7313func_lo2o () 7314{ 7315 func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` 7316} 7317 7318# func_xform libobj-or-source 7319func_xform () 7320{ 7321 func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` 7322} 7323 7324# func_arith arithmetic-term... 7325func_arith () 7326{ 7327 func_arith_result=`expr "$[@]"` 7328} 7329 7330# func_len string 7331# STRING may not start with a hyphen. 7332func_len () 7333{ 7334 func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` 7335} 7336 7337_LT_EOF 7338esac 7339 7340case $lt_shell_append in 7341 yes) 7342 cat << \_LT_EOF >> "$cfgfile" 7343 7344# func_append var value 7345# Append VALUE to the end of shell variable VAR. 7346func_append () 7347{ 7348 eval "$[1]+=\$[2]" 7349} 7350_LT_EOF 7351 ;; 7352 *) 7353 cat << \_LT_EOF >> "$cfgfile" 7354 7355# func_append var value 7356# Append VALUE to the end of shell variable VAR. 7357func_append () 7358{ 7359 eval "$[1]=\$$[1]\$[2]" 7360} 7361 7362_LT_EOF 7363 ;; 7364 esac 7365]) 7366