140dd5a57Smrg# generated automatically by aclocal 1.11.1 -*- Autoconf -*- 240dd5a57Smrg 340dd5a57Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 440dd5a57Smrg# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. 540dd5a57Smrg# This file is free software; the Free Software Foundation 640dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 740dd5a57Smrg# with or without modifications, as long as this notice is preserved. 840dd5a57Smrg 940dd5a57Smrg# This program is distributed in the hope that it will be useful, 1040dd5a57Smrg# but WITHOUT ANY WARRANTY, to the extent permitted by law; without 1140dd5a57Smrg# even the implied warranty of MERCHANTABILITY or FITNESS FOR A 1240dd5a57Smrg# PARTICULAR PURPOSE. 1340dd5a57Smrg 1440dd5a57Smrgm4_ifndef([AC_AUTOCONF_VERSION], 1540dd5a57Smrg [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl 1640dd5a57Smrgm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.66],, 1740dd5a57Smrg[m4_warning([this file was generated for autoconf 2.66. 1840dd5a57SmrgYou have another version of autoconf. It may work, but is not guaranteed to. 1940dd5a57SmrgIf you have problems, you may need to regenerate the build system entirely. 2040dd5a57SmrgTo do so, use the procedure documented by the package, typically `autoreconf'.])]) 2140dd5a57Smrg 2240dd5a57Smrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 2340dd5a57Smrg# 2440dd5a57Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2540dd5a57Smrg# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, 2640dd5a57Smrg# Inc. 2740dd5a57Smrg# Written by Gordon Matzigkeit, 1996 2840dd5a57Smrg# 2940dd5a57Smrg# This file is free software; the Free Software Foundation gives 3040dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without 3140dd5a57Smrg# modifications, as long as this notice is preserved. 3240dd5a57Smrg 3340dd5a57Smrgm4_define([_LT_COPYING], [dnl 3440dd5a57Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 3540dd5a57Smrg# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, 3640dd5a57Smrg# Inc. 3740dd5a57Smrg# Written by Gordon Matzigkeit, 1996 3840dd5a57Smrg# 3940dd5a57Smrg# This file is part of GNU Libtool. 4040dd5a57Smrg# 4140dd5a57Smrg# GNU Libtool is free software; you can redistribute it and/or 4240dd5a57Smrg# modify it under the terms of the GNU General Public License as 4340dd5a57Smrg# published by the Free Software Foundation; either version 2 of 4440dd5a57Smrg# the License, or (at your option) any later version. 4540dd5a57Smrg# 4640dd5a57Smrg# As a special exception to the GNU General Public License, 4740dd5a57Smrg# if you distribute this file as part of a program or library that 4840dd5a57Smrg# is built using GNU Libtool, you may include this file under the 4940dd5a57Smrg# same distribution terms that you use for the rest of that program. 5040dd5a57Smrg# 5140dd5a57Smrg# GNU Libtool is distributed in the hope that it will be useful, 5240dd5a57Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 5340dd5a57Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 5440dd5a57Smrg# GNU General Public License for more details. 5540dd5a57Smrg# 5640dd5a57Smrg# You should have received a copy of the GNU General Public License 5740dd5a57Smrg# along with GNU Libtool; see the file COPYING. If not, a copy 5840dd5a57Smrg# can be downloaded from http://www.gnu.org/licenses/gpl.html, or 5940dd5a57Smrg# obtained by writing to the Free Software Foundation, Inc., 6040dd5a57Smrg# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 6140dd5a57Smrg]) 6240dd5a57Smrg 6340dd5a57Smrg# serial 57 LT_INIT 6440dd5a57Smrg 6540dd5a57Smrg 6640dd5a57Smrg# LT_PREREQ(VERSION) 6740dd5a57Smrg# ------------------ 6840dd5a57Smrg# Complain and exit if this libtool version is less that VERSION. 6940dd5a57Smrgm4_defun([LT_PREREQ], 7040dd5a57Smrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, 7140dd5a57Smrg [m4_default([$3], 7240dd5a57Smrg [m4_fatal([Libtool version $1 or higher is required], 7340dd5a57Smrg 63)])], 7440dd5a57Smrg [$2])]) 7540dd5a57Smrg 7640dd5a57Smrg 7740dd5a57Smrg# _LT_CHECK_BUILDDIR 7840dd5a57Smrg# ------------------ 7940dd5a57Smrg# Complain if the absolute build directory name contains unusual characters 8040dd5a57Smrgm4_defun([_LT_CHECK_BUILDDIR], 8140dd5a57Smrg[case `pwd` in 8240dd5a57Smrg *\ * | *\ *) 8340dd5a57Smrg AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; 8440dd5a57Smrgesac 8540dd5a57Smrg]) 8640dd5a57Smrg 8740dd5a57Smrg 8840dd5a57Smrg# LT_INIT([OPTIONS]) 8940dd5a57Smrg# ------------------ 9040dd5a57SmrgAC_DEFUN([LT_INIT], 9140dd5a57Smrg[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT 9240dd5a57SmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl 9340dd5a57SmrgAC_BEFORE([$0], [LT_LANG])dnl 9440dd5a57SmrgAC_BEFORE([$0], [LT_OUTPUT])dnl 9540dd5a57SmrgAC_BEFORE([$0], [LTDL_INIT])dnl 9640dd5a57Smrgm4_require([_LT_CHECK_BUILDDIR])dnl 9740dd5a57Smrg 9840dd5a57Smrgdnl Autoconf doesn't catch unexpanded LT_ macros by default: 9940dd5a57Smrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl 10040dd5a57Smrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl 10140dd5a57Smrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 10240dd5a57Smrgdnl unless we require an AC_DEFUNed macro: 10340dd5a57SmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl 10440dd5a57SmrgAC_REQUIRE([LTSUGAR_VERSION])dnl 10540dd5a57SmrgAC_REQUIRE([LTVERSION_VERSION])dnl 10640dd5a57SmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl 10740dd5a57Smrgm4_require([_LT_PROG_LTMAIN])dnl 10840dd5a57Smrg 10940dd5a57Smrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) 11040dd5a57Smrg 11140dd5a57Smrgdnl Parse OPTIONS 11240dd5a57Smrg_LT_SET_OPTIONS([$0], [$1]) 11340dd5a57Smrg 11440dd5a57Smrg# This can be used to rebuild libtool when needed 11540dd5a57SmrgLIBTOOL_DEPS="$ltmain" 11640dd5a57Smrg 11740dd5a57Smrg# Always use our own libtool. 11840dd5a57SmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool' 11940dd5a57SmrgAC_SUBST(LIBTOOL)dnl 12040dd5a57Smrg 12140dd5a57Smrg_LT_SETUP 12240dd5a57Smrg 12340dd5a57Smrg# Only expand once: 12440dd5a57Smrgm4_define([LT_INIT]) 12540dd5a57Smrg])# LT_INIT 12640dd5a57Smrg 12740dd5a57Smrg# Old names: 12840dd5a57SmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) 12940dd5a57SmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) 13040dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 13140dd5a57Smrgdnl AC_DEFUN([AC_PROG_LIBTOOL], []) 13240dd5a57Smrgdnl AC_DEFUN([AM_PROG_LIBTOOL], []) 13340dd5a57Smrg 13440dd5a57Smrg 13540dd5a57Smrg# _LT_CC_BASENAME(CC) 13640dd5a57Smrg# ------------------- 13740dd5a57Smrg# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 13840dd5a57Smrgm4_defun([_LT_CC_BASENAME], 13940dd5a57Smrg[for cc_temp in $1""; do 14040dd5a57Smrg case $cc_temp in 14140dd5a57Smrg compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 14240dd5a57Smrg distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 14340dd5a57Smrg \-*) ;; 14440dd5a57Smrg *) break;; 14540dd5a57Smrg esac 14640dd5a57Smrgdone 14740dd5a57Smrgcc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` 14840dd5a57Smrg]) 14940dd5a57Smrg 15040dd5a57Smrg 15140dd5a57Smrg# _LT_FILEUTILS_DEFAULTS 15240dd5a57Smrg# ---------------------- 15340dd5a57Smrg# It is okay to use these file commands and assume they have been set 15440dd5a57Smrg# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. 15540dd5a57Smrgm4_defun([_LT_FILEUTILS_DEFAULTS], 15640dd5a57Smrg[: ${CP="cp -f"} 15740dd5a57Smrg: ${MV="mv -f"} 15840dd5a57Smrg: ${RM="rm -f"} 15940dd5a57Smrg])# _LT_FILEUTILS_DEFAULTS 16040dd5a57Smrg 16140dd5a57Smrg 16240dd5a57Smrg# _LT_SETUP 16340dd5a57Smrg# --------- 16440dd5a57Smrgm4_defun([_LT_SETUP], 16540dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 16640dd5a57SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl 16740dd5a57SmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl 16840dd5a57SmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl 16940dd5a57Smrg 17040dd5a57Smrg_LT_DECL([], [host_alias], [0], [The host system])dnl 17140dd5a57Smrg_LT_DECL([], [host], [0])dnl 17240dd5a57Smrg_LT_DECL([], [host_os], [0])dnl 17340dd5a57Smrgdnl 17440dd5a57Smrg_LT_DECL([], [build_alias], [0], [The build system])dnl 17540dd5a57Smrg_LT_DECL([], [build], [0])dnl 17640dd5a57Smrg_LT_DECL([], [build_os], [0])dnl 17740dd5a57Smrgdnl 17840dd5a57SmrgAC_REQUIRE([AC_PROG_CC])dnl 17940dd5a57SmrgAC_REQUIRE([LT_PATH_LD])dnl 18040dd5a57SmrgAC_REQUIRE([LT_PATH_NM])dnl 18140dd5a57Smrgdnl 18240dd5a57SmrgAC_REQUIRE([AC_PROG_LN_S])dnl 18340dd5a57Smrgtest -z "$LN_S" && LN_S="ln -s" 18440dd5a57Smrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 18540dd5a57Smrgdnl 18640dd5a57SmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl 18740dd5a57Smrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 18840dd5a57Smrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 18940dd5a57Smrgdnl 19040dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 19140dd5a57Smrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl 19240dd5a57Smrgm4_require([_LT_CMD_RELOAD])dnl 19340dd5a57Smrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl 19440dd5a57Smrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl 19540dd5a57Smrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 19640dd5a57Smrg 19740dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([ 19840dd5a57Smrg# See if we are running on zsh, and set the options which allow our 19940dd5a57Smrg# commands through without removal of \ escapes INIT. 20040dd5a57Smrgif test -n "\${ZSH_VERSION+set}" ; then 20140dd5a57Smrg setopt NO_GLOB_SUBST 20240dd5a57Smrgfi 20340dd5a57Smrg]) 20440dd5a57Smrgif test -n "${ZSH_VERSION+set}" ; then 20540dd5a57Smrg setopt NO_GLOB_SUBST 20640dd5a57Smrgfi 20740dd5a57Smrg 20840dd5a57Smrg_LT_CHECK_OBJDIR 20940dd5a57Smrg 21040dd5a57Smrgm4_require([_LT_TAG_COMPILER])dnl 21140dd5a57Smrg 21240dd5a57Smrgcase $host_os in 21340dd5a57Smrgaix3*) 21440dd5a57Smrg # AIX sometimes has problems with the GCC collect2 program. For some 21540dd5a57Smrg # reason, if we set the COLLECT_NAMES environment variable, the problems 21640dd5a57Smrg # vanish in a puff of smoke. 21740dd5a57Smrg if test "X${COLLECT_NAMES+set}" != Xset; then 21840dd5a57Smrg COLLECT_NAMES= 21940dd5a57Smrg export COLLECT_NAMES 22040dd5a57Smrg fi 22140dd5a57Smrg ;; 22240dd5a57Smrgesac 22340dd5a57Smrg 22440dd5a57Smrg# Global variables: 22540dd5a57Smrgofile=libtool 22640dd5a57Smrgcan_build_shared=yes 22740dd5a57Smrg 22840dd5a57Smrg# All known linkers require a `.a' archive for static linking (except MSVC, 22940dd5a57Smrg# which needs '.lib'). 23040dd5a57Smrglibext=a 23140dd5a57Smrg 23240dd5a57Smrgwith_gnu_ld="$lt_cv_prog_gnu_ld" 23340dd5a57Smrg 23440dd5a57Smrgold_CC="$CC" 23540dd5a57Smrgold_CFLAGS="$CFLAGS" 23640dd5a57Smrg 23740dd5a57Smrg# Set sane defaults for various variables 23840dd5a57Smrgtest -z "$CC" && CC=cc 23940dd5a57Smrgtest -z "$LTCC" && LTCC=$CC 24040dd5a57Smrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 24140dd5a57Smrgtest -z "$LD" && LD=ld 24240dd5a57Smrgtest -z "$ac_objext" && ac_objext=o 24340dd5a57Smrg 24440dd5a57Smrg_LT_CC_BASENAME([$compiler]) 24540dd5a57Smrg 24640dd5a57Smrg# Only perform the check for file, if the check method requires it 24740dd5a57Smrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file 24840dd5a57Smrgcase $deplibs_check_method in 24940dd5a57Smrgfile_magic*) 25040dd5a57Smrg if test "$file_magic_cmd" = '$MAGIC_CMD'; then 25140dd5a57Smrg _LT_PATH_MAGIC 25240dd5a57Smrg fi 25340dd5a57Smrg ;; 25440dd5a57Smrgesac 25540dd5a57Smrg 25640dd5a57Smrg# Use C for the default configuration in the libtool script 25740dd5a57SmrgLT_SUPPORTED_TAG([CC]) 25840dd5a57Smrg_LT_LANG_C_CONFIG 25940dd5a57Smrg_LT_LANG_DEFAULT_CONFIG 26040dd5a57Smrg_LT_CONFIG_COMMANDS 26140dd5a57Smrg])# _LT_SETUP 26240dd5a57Smrg 26340dd5a57Smrg 26440dd5a57Smrg# _LT_PREPARE_SED_QUOTE_VARS 26540dd5a57Smrg# -------------------------- 26640dd5a57Smrg# Define a few sed substitution that help us do robust quoting. 26740dd5a57Smrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS], 26840dd5a57Smrg[# Backslashify metacharacters that are still active within 26940dd5a57Smrg# double-quoted strings. 27040dd5a57Smrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 27140dd5a57Smrg 27240dd5a57Smrg# Same as above, but do not quote variable references. 27340dd5a57Smrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g' 27440dd5a57Smrg 27540dd5a57Smrg# Sed substitution to delay expansion of an escaped shell variable in a 27640dd5a57Smrg# double_quote_subst'ed string. 27740dd5a57Smrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 27840dd5a57Smrg 27940dd5a57Smrg# Sed substitution to delay expansion of an escaped single quote. 28040dd5a57Smrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 28140dd5a57Smrg 28240dd5a57Smrg# Sed substitution to avoid accidental globbing in evaled expressions 28340dd5a57Smrgno_glob_subst='s/\*/\\\*/g' 28440dd5a57Smrg]) 28540dd5a57Smrg 28640dd5a57Smrg# _LT_PROG_LTMAIN 28740dd5a57Smrg# --------------- 28840dd5a57Smrg# Note that this code is called both from `configure', and `config.status' 28940dd5a57Smrg# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 29040dd5a57Smrg# `config.status' has no value for ac_aux_dir unless we are using Automake, 29140dd5a57Smrg# so we pass a copy along to make sure it has a sensible value anyway. 29240dd5a57Smrgm4_defun([_LT_PROG_LTMAIN], 29340dd5a57Smrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 29440dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 29540dd5a57Smrgltmain="$ac_aux_dir/ltmain.sh" 29640dd5a57Smrg])# _LT_PROG_LTMAIN 29740dd5a57Smrg 29840dd5a57Smrg 29940dd5a57Smrg 30040dd5a57Smrg# So that we can recreate a full libtool script including additional 30140dd5a57Smrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 30240dd5a57Smrg# in macros and then make a single call at the end using the `libtool' 30340dd5a57Smrg# label. 30440dd5a57Smrg 30540dd5a57Smrg 30640dd5a57Smrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 30740dd5a57Smrg# ---------------------------------------- 30840dd5a57Smrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 30940dd5a57Smrgm4_define([_LT_CONFIG_LIBTOOL_INIT], 31040dd5a57Smrg[m4_ifval([$1], 31140dd5a57Smrg [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 31240dd5a57Smrg [$1 31340dd5a57Smrg])])]) 31440dd5a57Smrg 31540dd5a57Smrg# Initialize. 31640dd5a57Smrgm4_define([_LT_OUTPUT_LIBTOOL_INIT]) 31740dd5a57Smrg 31840dd5a57Smrg 31940dd5a57Smrg# _LT_CONFIG_LIBTOOL([COMMANDS]) 32040dd5a57Smrg# ------------------------------ 32140dd5a57Smrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 32240dd5a57Smrgm4_define([_LT_CONFIG_LIBTOOL], 32340dd5a57Smrg[m4_ifval([$1], 32440dd5a57Smrg [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 32540dd5a57Smrg [$1 32640dd5a57Smrg])])]) 32740dd5a57Smrg 32840dd5a57Smrg# Initialize. 32940dd5a57Smrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 33040dd5a57Smrg 33140dd5a57Smrg 33240dd5a57Smrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 33340dd5a57Smrg# ----------------------------------------------------- 33440dd5a57Smrgm4_defun([_LT_CONFIG_SAVE_COMMANDS], 33540dd5a57Smrg[_LT_CONFIG_LIBTOOL([$1]) 33640dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([$2]) 33740dd5a57Smrg]) 33840dd5a57Smrg 33940dd5a57Smrg 34040dd5a57Smrg# _LT_FORMAT_COMMENT([COMMENT]) 34140dd5a57Smrg# ----------------------------- 34240dd5a57Smrg# Add leading comment marks to the start of each line, and a trailing 34340dd5a57Smrg# full-stop to the whole comment if one is not present already. 34440dd5a57Smrgm4_define([_LT_FORMAT_COMMENT], 34540dd5a57Smrg[m4_ifval([$1], [ 34640dd5a57Smrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 34740dd5a57Smrg [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 34840dd5a57Smrg)]) 34940dd5a57Smrg 35040dd5a57Smrg 35140dd5a57Smrg 35240dd5a57Smrg 35340dd5a57Smrg 35440dd5a57Smrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 35540dd5a57Smrg# ------------------------------------------------------------------- 35640dd5a57Smrg# CONFIGNAME is the name given to the value in the libtool script. 35740dd5a57Smrg# VARNAME is the (base) name used in the configure script. 35840dd5a57Smrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on 35940dd5a57Smrg# VARNAME. Any other value will be used directly. 36040dd5a57Smrgm4_define([_LT_DECL], 36140dd5a57Smrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 36240dd5a57Smrg [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 36340dd5a57Smrg [m4_ifval([$1], [$1], [$2])]) 36440dd5a57Smrg lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 36540dd5a57Smrg m4_ifval([$4], 36640dd5a57Smrg [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 36740dd5a57Smrg lt_dict_add_subkey([lt_decl_dict], [$2], 36840dd5a57Smrg [tagged?], [m4_ifval([$5], [yes], [no])])]) 36940dd5a57Smrg]) 37040dd5a57Smrg 37140dd5a57Smrg 37240dd5a57Smrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 37340dd5a57Smrg# -------------------------------------------------------- 37440dd5a57Smrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 37540dd5a57Smrg 37640dd5a57Smrg 37740dd5a57Smrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 37840dd5a57Smrg# ------------------------------------------------ 37940dd5a57Smrgm4_define([lt_decl_tag_varnames], 38040dd5a57Smrg[_lt_decl_filter([tagged?], [yes], $@)]) 38140dd5a57Smrg 38240dd5a57Smrg 38340dd5a57Smrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 38440dd5a57Smrg# --------------------------------------------------------- 38540dd5a57Smrgm4_define([_lt_decl_filter], 38640dd5a57Smrg[m4_case([$#], 38740dd5a57Smrg [0], [m4_fatal([$0: too few arguments: $#])], 38840dd5a57Smrg [1], [m4_fatal([$0: too few arguments: $#: $1])], 38940dd5a57Smrg [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 39040dd5a57Smrg [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 39140dd5a57Smrg [lt_dict_filter([lt_decl_dict], $@)])[]dnl 39240dd5a57Smrg]) 39340dd5a57Smrg 39440dd5a57Smrg 39540dd5a57Smrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 39640dd5a57Smrg# -------------------------------------------------- 39740dd5a57Smrgm4_define([lt_decl_quote_varnames], 39840dd5a57Smrg[_lt_decl_filter([value], [1], $@)]) 39940dd5a57Smrg 40040dd5a57Smrg 40140dd5a57Smrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 40240dd5a57Smrg# --------------------------------------------------- 40340dd5a57Smrgm4_define([lt_decl_dquote_varnames], 40440dd5a57Smrg[_lt_decl_filter([value], [2], $@)]) 40540dd5a57Smrg 40640dd5a57Smrg 40740dd5a57Smrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 40840dd5a57Smrg# --------------------------------------------------- 40940dd5a57Smrgm4_define([lt_decl_varnames_tagged], 41040dd5a57Smrg[m4_assert([$# <= 2])dnl 41140dd5a57Smrg_$0(m4_quote(m4_default([$1], [[, ]])), 41240dd5a57Smrg m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 41340dd5a57Smrg m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 41440dd5a57Smrgm4_define([_lt_decl_varnames_tagged], 41540dd5a57Smrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 41640dd5a57Smrg 41740dd5a57Smrg 41840dd5a57Smrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 41940dd5a57Smrg# ------------------------------------------------ 42040dd5a57Smrgm4_define([lt_decl_all_varnames], 42140dd5a57Smrg[_$0(m4_quote(m4_default([$1], [[, ]])), 42240dd5a57Smrg m4_if([$2], [], 42340dd5a57Smrg m4_quote(lt_decl_varnames), 42440dd5a57Smrg m4_quote(m4_shift($@))))[]dnl 42540dd5a57Smrg]) 42640dd5a57Smrgm4_define([_lt_decl_all_varnames], 42740dd5a57Smrg[lt_join($@, lt_decl_varnames_tagged([$1], 42840dd5a57Smrg lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 42940dd5a57Smrg]) 43040dd5a57Smrg 43140dd5a57Smrg 43240dd5a57Smrg# _LT_CONFIG_STATUS_DECLARE([VARNAME]) 43340dd5a57Smrg# ------------------------------------ 43440dd5a57Smrg# Quote a variable value, and forward it to `config.status' so that its 43540dd5a57Smrg# declaration there will have the same value as in `configure'. VARNAME 43640dd5a57Smrg# must have a single quote delimited value for this to work. 43740dd5a57Smrgm4_define([_LT_CONFIG_STATUS_DECLARE], 43840dd5a57Smrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) 43940dd5a57Smrg 44040dd5a57Smrg 44140dd5a57Smrg# _LT_CONFIG_STATUS_DECLARATIONS 44240dd5a57Smrg# ------------------------------ 44340dd5a57Smrg# We delimit libtool config variables with single quotes, so when 44440dd5a57Smrg# we write them to config.status, we have to be sure to quote all 44540dd5a57Smrg# embedded single quotes properly. In configure, this macro expands 44640dd5a57Smrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 44740dd5a57Smrg# 44840dd5a57Smrg# <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`' 44940dd5a57Smrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 45040dd5a57Smrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 45140dd5a57Smrg [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 45240dd5a57Smrg 45340dd5a57Smrg 45440dd5a57Smrg# _LT_LIBTOOL_TAGS 45540dd5a57Smrg# ---------------- 45640dd5a57Smrg# Output comment and list of tags supported by the script 45740dd5a57Smrgm4_defun([_LT_LIBTOOL_TAGS], 45840dd5a57Smrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 45940dd5a57Smrgavailable_tags="_LT_TAGS"dnl 46040dd5a57Smrg]) 46140dd5a57Smrg 46240dd5a57Smrg 46340dd5a57Smrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 46440dd5a57Smrg# ----------------------------------- 46540dd5a57Smrg# Extract the dictionary values for VARNAME (optionally with TAG) and 46640dd5a57Smrg# expand to a commented shell variable setting: 46740dd5a57Smrg# 46840dd5a57Smrg# # Some comment about what VAR is for. 46940dd5a57Smrg# visible_name=$lt_internal_name 47040dd5a57Smrgm4_define([_LT_LIBTOOL_DECLARE], 47140dd5a57Smrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 47240dd5a57Smrg [description])))[]dnl 47340dd5a57Smrgm4_pushdef([_libtool_name], 47440dd5a57Smrg m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 47540dd5a57Smrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 47640dd5a57Smrg [0], [_libtool_name=[$]$1], 47740dd5a57Smrg [1], [_libtool_name=$lt_[]$1], 47840dd5a57Smrg [2], [_libtool_name=$lt_[]$1], 47940dd5a57Smrg [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 48040dd5a57Smrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 48140dd5a57Smrg]) 48240dd5a57Smrg 48340dd5a57Smrg 48440dd5a57Smrg# _LT_LIBTOOL_CONFIG_VARS 48540dd5a57Smrg# ----------------------- 48640dd5a57Smrg# Produce commented declarations of non-tagged libtool config variables 48740dd5a57Smrg# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' 48840dd5a57Smrg# script. Tagged libtool config variables (even for the LIBTOOL CONFIG 48940dd5a57Smrg# section) are produced by _LT_LIBTOOL_TAG_VARS. 49040dd5a57Smrgm4_defun([_LT_LIBTOOL_CONFIG_VARS], 49140dd5a57Smrg[m4_foreach([_lt_var], 49240dd5a57Smrg m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 49340dd5a57Smrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 49440dd5a57Smrg 49540dd5a57Smrg 49640dd5a57Smrg# _LT_LIBTOOL_TAG_VARS(TAG) 49740dd5a57Smrg# ------------------------- 49840dd5a57Smrgm4_define([_LT_LIBTOOL_TAG_VARS], 49940dd5a57Smrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 50040dd5a57Smrg [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 50140dd5a57Smrg 50240dd5a57Smrg 50340dd5a57Smrg# _LT_TAGVAR(VARNAME, [TAGNAME]) 50440dd5a57Smrg# ------------------------------ 50540dd5a57Smrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 50640dd5a57Smrg 50740dd5a57Smrg 50840dd5a57Smrg# _LT_CONFIG_COMMANDS 50940dd5a57Smrg# ------------------- 51040dd5a57Smrg# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 51140dd5a57Smrg# variables for single and double quote escaping we saved from calls 51240dd5a57Smrg# to _LT_DECL, we can put quote escaped variables declarations 51340dd5a57Smrg# into `config.status', and then the shell code to quote escape them in 51440dd5a57Smrg# for loops in `config.status'. Finally, any additional code accumulated 51540dd5a57Smrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 51640dd5a57Smrgm4_defun([_LT_CONFIG_COMMANDS], 51740dd5a57Smrg[AC_PROVIDE_IFELSE([LT_OUTPUT], 51840dd5a57Smrg dnl If the libtool generation code has been placed in $CONFIG_LT, 51940dd5a57Smrg dnl instead of duplicating it all over again into config.status, 52040dd5a57Smrg dnl then we will have config.status run $CONFIG_LT later, so it 52140dd5a57Smrg dnl needs to know what name is stored there: 52240dd5a57Smrg [AC_CONFIG_COMMANDS([libtool], 52340dd5a57Smrg [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 52440dd5a57Smrg dnl If the libtool generation code is destined for config.status, 52540dd5a57Smrg dnl expand the accumulated commands and init code now: 52640dd5a57Smrg [AC_CONFIG_COMMANDS([libtool], 52740dd5a57Smrg [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 52840dd5a57Smrg])#_LT_CONFIG_COMMANDS 52940dd5a57Smrg 53040dd5a57Smrg 53140dd5a57Smrg# Initialize. 53240dd5a57Smrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 53340dd5a57Smrg[ 53440dd5a57Smrg 53540dd5a57Smrg# The HP-UX ksh and POSIX shell print the target directory to stdout 53640dd5a57Smrg# if CDPATH is set. 53740dd5a57Smrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 53840dd5a57Smrg 53940dd5a57Smrgsed_quote_subst='$sed_quote_subst' 54040dd5a57Smrgdouble_quote_subst='$double_quote_subst' 54140dd5a57Smrgdelay_variable_subst='$delay_variable_subst' 54240dd5a57Smrg_LT_CONFIG_STATUS_DECLARATIONS 54340dd5a57SmrgLTCC='$LTCC' 54440dd5a57SmrgLTCFLAGS='$LTCFLAGS' 54540dd5a57Smrgcompiler='$compiler_DEFAULT' 54640dd5a57Smrg 54740dd5a57Smrg# A function that is used when there is no print builtin or printf. 54840dd5a57Smrgfunc_fallback_echo () 54940dd5a57Smrg{ 55040dd5a57Smrg eval 'cat <<_LTECHO_EOF 55140dd5a57Smrg\$[]1 55240dd5a57Smrg_LTECHO_EOF' 55340dd5a57Smrg} 55440dd5a57Smrg 55540dd5a57Smrg# Quote evaled strings. 55640dd5a57Smrgfor var in lt_decl_all_varnames([[ \ 55740dd5a57Smrg]], lt_decl_quote_varnames); do 55840dd5a57Smrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 55940dd5a57Smrg *[[\\\\\\\`\\"\\\$]]*) 56040dd5a57Smrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" 56140dd5a57Smrg ;; 56240dd5a57Smrg *) 56340dd5a57Smrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 56440dd5a57Smrg ;; 56540dd5a57Smrg esac 56640dd5a57Smrgdone 56740dd5a57Smrg 56840dd5a57Smrg# Double-quote double-evaled strings. 56940dd5a57Smrgfor var in lt_decl_all_varnames([[ \ 57040dd5a57Smrg]], lt_decl_dquote_varnames); do 57140dd5a57Smrg case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in 57240dd5a57Smrg *[[\\\\\\\`\\"\\\$]]*) 57340dd5a57Smrg eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" 57440dd5a57Smrg ;; 57540dd5a57Smrg *) 57640dd5a57Smrg eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 57740dd5a57Smrg ;; 57840dd5a57Smrg esac 57940dd5a57Smrgdone 58040dd5a57Smrg 58140dd5a57Smrg_LT_OUTPUT_LIBTOOL_INIT 58240dd5a57Smrg]) 58340dd5a57Smrg 58440dd5a57Smrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) 58540dd5a57Smrg# ------------------------------------ 58640dd5a57Smrg# Generate a child script FILE with all initialization necessary to 58740dd5a57Smrg# reuse the environment learned by the parent script, and make the 58840dd5a57Smrg# file executable. If COMMENT is supplied, it is inserted after the 58940dd5a57Smrg# `#!' sequence but before initialization text begins. After this 59040dd5a57Smrg# macro, additional text can be appended to FILE to form the body of 59140dd5a57Smrg# the child script. The macro ends with non-zero status if the 59240dd5a57Smrg# file could not be fully written (such as if the disk is full). 59340dd5a57Smrgm4_ifdef([AS_INIT_GENERATED], 59440dd5a57Smrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], 59540dd5a57Smrg[m4_defun([_LT_GENERATED_FILE_INIT], 59640dd5a57Smrg[m4_require([AS_PREPARE])]dnl 59740dd5a57Smrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl 59840dd5a57Smrg[lt_write_fail=0 59940dd5a57Smrgcat >$1 <<_ASEOF || lt_write_fail=1 60040dd5a57Smrg#! $SHELL 60140dd5a57Smrg# Generated by $as_me. 60240dd5a57Smrg$2 60340dd5a57SmrgSHELL=\${CONFIG_SHELL-$SHELL} 60440dd5a57Smrgexport SHELL 60540dd5a57Smrg_ASEOF 60640dd5a57Smrgcat >>$1 <<\_ASEOF || lt_write_fail=1 60740dd5a57SmrgAS_SHELL_SANITIZE 60840dd5a57Smrg_AS_PREPARE 60940dd5a57Smrgexec AS_MESSAGE_FD>&1 61040dd5a57Smrg_ASEOF 61140dd5a57Smrgtest $lt_write_fail = 0 && chmod +x $1[]dnl 61240dd5a57Smrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT 61340dd5a57Smrg 61440dd5a57Smrg# LT_OUTPUT 61540dd5a57Smrg# --------- 61640dd5a57Smrg# This macro allows early generation of the libtool script (before 61740dd5a57Smrg# AC_OUTPUT is called), incase it is used in configure for compilation 61840dd5a57Smrg# tests. 61940dd5a57SmrgAC_DEFUN([LT_OUTPUT], 62040dd5a57Smrg[: ${CONFIG_LT=./config.lt} 62140dd5a57SmrgAC_MSG_NOTICE([creating $CONFIG_LT]) 62240dd5a57Smrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], 62340dd5a57Smrg[# Run this file to recreate a libtool stub with the current configuration.]) 62440dd5a57Smrg 62540dd5a57Smrgcat >>"$CONFIG_LT" <<\_LTEOF 62640dd5a57Smrglt_cl_silent=false 62740dd5a57Smrgexec AS_MESSAGE_LOG_FD>>config.log 62840dd5a57Smrg{ 62940dd5a57Smrg echo 63040dd5a57Smrg AS_BOX([Running $as_me.]) 63140dd5a57Smrg} >&AS_MESSAGE_LOG_FD 63240dd5a57Smrg 63340dd5a57Smrglt_cl_help="\ 63440dd5a57Smrg\`$as_me' creates a local libtool stub from the current configuration, 63540dd5a57Smrgfor use in further configure time tests before the real libtool is 63640dd5a57Smrggenerated. 63740dd5a57Smrg 63840dd5a57SmrgUsage: $[0] [[OPTIONS]] 63940dd5a57Smrg 64040dd5a57Smrg -h, --help print this help, then exit 64140dd5a57Smrg -V, --version print version number, then exit 64240dd5a57Smrg -q, --quiet do not print progress messages 64340dd5a57Smrg -d, --debug don't remove temporary files 64440dd5a57Smrg 64540dd5a57SmrgReport bugs to <bug-libtool@gnu.org>." 64640dd5a57Smrg 64740dd5a57Smrglt_cl_version="\ 64840dd5a57Smrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 64940dd5a57Smrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 65040dd5a57Smrgconfigured by $[0], generated by m4_PACKAGE_STRING. 65140dd5a57Smrg 65240dd5a57SmrgCopyright (C) 2010 Free Software Foundation, Inc. 65340dd5a57SmrgThis config.lt script is free software; the Free Software Foundation 65440dd5a57Smrggives unlimited permision to copy, distribute and modify it." 65540dd5a57Smrg 65640dd5a57Smrgwhile test $[#] != 0 65740dd5a57Smrgdo 65840dd5a57Smrg case $[1] in 65940dd5a57Smrg --version | --v* | -V ) 66040dd5a57Smrg echo "$lt_cl_version"; exit 0 ;; 66140dd5a57Smrg --help | --h* | -h ) 66240dd5a57Smrg echo "$lt_cl_help"; exit 0 ;; 66340dd5a57Smrg --debug | --d* | -d ) 66440dd5a57Smrg debug=: ;; 66540dd5a57Smrg --quiet | --q* | --silent | --s* | -q ) 66640dd5a57Smrg lt_cl_silent=: ;; 66740dd5a57Smrg 66840dd5a57Smrg -*) AC_MSG_ERROR([unrecognized option: $[1] 66940dd5a57SmrgTry \`$[0] --help' for more information.]) ;; 67040dd5a57Smrg 67140dd5a57Smrg *) AC_MSG_ERROR([unrecognized argument: $[1] 67240dd5a57SmrgTry \`$[0] --help' for more information.]) ;; 67340dd5a57Smrg esac 67440dd5a57Smrg shift 67540dd5a57Smrgdone 67640dd5a57Smrg 67740dd5a57Smrgif $lt_cl_silent; then 67840dd5a57Smrg exec AS_MESSAGE_FD>/dev/null 67940dd5a57Smrgfi 68040dd5a57Smrg_LTEOF 68140dd5a57Smrg 68240dd5a57Smrgcat >>"$CONFIG_LT" <<_LTEOF 68340dd5a57Smrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT 68440dd5a57Smrg_LTEOF 68540dd5a57Smrg 68640dd5a57Smrgcat >>"$CONFIG_LT" <<\_LTEOF 68740dd5a57SmrgAC_MSG_NOTICE([creating $ofile]) 68840dd5a57Smrg_LT_OUTPUT_LIBTOOL_COMMANDS 68940dd5a57SmrgAS_EXIT(0) 69040dd5a57Smrg_LTEOF 69140dd5a57Smrgchmod +x "$CONFIG_LT" 69240dd5a57Smrg 69340dd5a57Smrg# configure is writing to config.log, but config.lt does its own redirection, 69440dd5a57Smrg# appending to config.log, which fails on DOS, as config.log is still kept 69540dd5a57Smrg# open by configure. Here we exec the FD to /dev/null, effectively closing 69640dd5a57Smrg# config.log, so it can be properly (re)opened and appended to by config.lt. 69740dd5a57Smrglt_cl_success=: 69840dd5a57Smrgtest "$silent" = yes && 69940dd5a57Smrg lt_config_lt_args="$lt_config_lt_args --quiet" 70040dd5a57Smrgexec AS_MESSAGE_LOG_FD>/dev/null 70140dd5a57Smrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 70240dd5a57Smrgexec AS_MESSAGE_LOG_FD>>config.log 70340dd5a57Smrg$lt_cl_success || AS_EXIT(1) 70440dd5a57Smrg])# LT_OUTPUT 70540dd5a57Smrg 70640dd5a57Smrg 70740dd5a57Smrg# _LT_CONFIG(TAG) 70840dd5a57Smrg# --------------- 70940dd5a57Smrg# If TAG is the built-in tag, create an initial libtool script with a 71040dd5a57Smrg# default configuration from the untagged config vars. Otherwise add code 71140dd5a57Smrg# to config.status for appending the configuration named by TAG from the 71240dd5a57Smrg# matching tagged config vars. 71340dd5a57Smrgm4_defun([_LT_CONFIG], 71440dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 71540dd5a57Smrg_LT_CONFIG_SAVE_COMMANDS([ 71640dd5a57Smrg m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 71740dd5a57Smrg m4_if(_LT_TAG, [C], [ 71840dd5a57Smrg # See if we are running on zsh, and set the options which allow our 71940dd5a57Smrg # commands through without removal of \ escapes. 72040dd5a57Smrg if test -n "${ZSH_VERSION+set}" ; then 72140dd5a57Smrg setopt NO_GLOB_SUBST 72240dd5a57Smrg fi 72340dd5a57Smrg 72440dd5a57Smrg cfgfile="${ofile}T" 72540dd5a57Smrg trap "$RM \"$cfgfile\"; exit 1" 1 2 15 72640dd5a57Smrg $RM "$cfgfile" 72740dd5a57Smrg 72840dd5a57Smrg cat <<_LT_EOF >> "$cfgfile" 72940dd5a57Smrg#! $SHELL 73040dd5a57Smrg 73140dd5a57Smrg# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. 73240dd5a57Smrg# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION 73340dd5a57Smrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 73440dd5a57Smrg# NOTE: Changes made to this file will be lost: look at ltmain.sh. 73540dd5a57Smrg# 73640dd5a57Smrg_LT_COPYING 73740dd5a57Smrg_LT_LIBTOOL_TAGS 73840dd5a57Smrg 73940dd5a57Smrg# ### BEGIN LIBTOOL CONFIG 74040dd5a57Smrg_LT_LIBTOOL_CONFIG_VARS 74140dd5a57Smrg_LT_LIBTOOL_TAG_VARS 74240dd5a57Smrg# ### END LIBTOOL CONFIG 74340dd5a57Smrg 74440dd5a57Smrg_LT_EOF 74540dd5a57Smrg 74640dd5a57Smrg case $host_os in 74740dd5a57Smrg aix3*) 74840dd5a57Smrg cat <<\_LT_EOF >> "$cfgfile" 74940dd5a57Smrg# AIX sometimes has problems with the GCC collect2 program. For some 75040dd5a57Smrg# reason, if we set the COLLECT_NAMES environment variable, the problems 75140dd5a57Smrg# vanish in a puff of smoke. 75240dd5a57Smrgif test "X${COLLECT_NAMES+set}" != Xset; then 75340dd5a57Smrg COLLECT_NAMES= 75440dd5a57Smrg export COLLECT_NAMES 75540dd5a57Smrgfi 75640dd5a57Smrg_LT_EOF 75740dd5a57Smrg ;; 75840dd5a57Smrg esac 75940dd5a57Smrg 76040dd5a57Smrg _LT_PROG_LTMAIN 76140dd5a57Smrg 76240dd5a57Smrg # We use sed instead of cat because bash on DJGPP gets confused if 76340dd5a57Smrg # if finds mixed CR/LF and LF-only lines. Since sed operates in 76440dd5a57Smrg # text mode, it properly converts lines to CR/LF. This bash problem 76540dd5a57Smrg # is reportedly fixed, but why not run on old versions too? 76640dd5a57Smrg sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ 76740dd5a57Smrg || (rm -f "$cfgfile"; exit 1) 76840dd5a57Smrg 76940dd5a57Smrg _LT_PROG_XSI_SHELLFNS 77040dd5a57Smrg 77140dd5a57Smrg sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ 77240dd5a57Smrg || (rm -f "$cfgfile"; exit 1) 77340dd5a57Smrg 77440dd5a57Smrg mv -f "$cfgfile" "$ofile" || 77540dd5a57Smrg (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 77640dd5a57Smrg chmod +x "$ofile" 77740dd5a57Smrg], 77840dd5a57Smrg[cat <<_LT_EOF >> "$ofile" 77940dd5a57Smrg 78040dd5a57Smrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 78140dd5a57Smrgdnl in a comment (ie after a #). 78240dd5a57Smrg# ### BEGIN LIBTOOL TAG CONFIG: $1 78340dd5a57Smrg_LT_LIBTOOL_TAG_VARS(_LT_TAG) 78440dd5a57Smrg# ### END LIBTOOL TAG CONFIG: $1 78540dd5a57Smrg_LT_EOF 78640dd5a57Smrg])dnl /m4_if 78740dd5a57Smrg], 78840dd5a57Smrg[m4_if([$1], [], [ 78940dd5a57Smrg PACKAGE='$PACKAGE' 79040dd5a57Smrg VERSION='$VERSION' 79140dd5a57Smrg TIMESTAMP='$TIMESTAMP' 79240dd5a57Smrg RM='$RM' 79340dd5a57Smrg ofile='$ofile'], []) 79440dd5a57Smrg])dnl /_LT_CONFIG_SAVE_COMMANDS 79540dd5a57Smrg])# _LT_CONFIG 79640dd5a57Smrg 79740dd5a57Smrg 79840dd5a57Smrg# LT_SUPPORTED_TAG(TAG) 79940dd5a57Smrg# --------------------- 80040dd5a57Smrg# Trace this macro to discover what tags are supported by the libtool 80140dd5a57Smrg# --tag option, using: 80240dd5a57Smrg# autoconf --trace 'LT_SUPPORTED_TAG:$1' 80340dd5a57SmrgAC_DEFUN([LT_SUPPORTED_TAG], []) 80440dd5a57Smrg 80540dd5a57Smrg 80640dd5a57Smrg# C support is built-in for now 80740dd5a57Smrgm4_define([_LT_LANG_C_enabled], []) 80840dd5a57Smrgm4_define([_LT_TAGS], []) 80940dd5a57Smrg 81040dd5a57Smrg 81140dd5a57Smrg# LT_LANG(LANG) 81240dd5a57Smrg# ------------- 81340dd5a57Smrg# Enable libtool support for the given language if not already enabled. 81440dd5a57SmrgAC_DEFUN([LT_LANG], 81540dd5a57Smrg[AC_BEFORE([$0], [LT_OUTPUT])dnl 81640dd5a57Smrgm4_case([$1], 81740dd5a57Smrg [C], [_LT_LANG(C)], 81840dd5a57Smrg [C++], [_LT_LANG(CXX)], 81940dd5a57Smrg [Java], [_LT_LANG(GCJ)], 82040dd5a57Smrg [Fortran 77], [_LT_LANG(F77)], 82140dd5a57Smrg [Fortran], [_LT_LANG(FC)], 82240dd5a57Smrg [Windows Resource], [_LT_LANG(RC)], 82340dd5a57Smrg [m4_ifdef([_LT_LANG_]$1[_CONFIG], 82440dd5a57Smrg [_LT_LANG($1)], 82540dd5a57Smrg [m4_fatal([$0: unsupported language: "$1"])])])dnl 82640dd5a57Smrg])# LT_LANG 82740dd5a57Smrg 82840dd5a57Smrg 82940dd5a57Smrg# _LT_LANG(LANGNAME) 83040dd5a57Smrg# ------------------ 83140dd5a57Smrgm4_defun([_LT_LANG], 83240dd5a57Smrg[m4_ifdef([_LT_LANG_]$1[_enabled], [], 83340dd5a57Smrg [LT_SUPPORTED_TAG([$1])dnl 83440dd5a57Smrg m4_append([_LT_TAGS], [$1 ])dnl 83540dd5a57Smrg m4_define([_LT_LANG_]$1[_enabled], [])dnl 83640dd5a57Smrg _LT_LANG_$1_CONFIG($1)])dnl 83740dd5a57Smrg])# _LT_LANG 83840dd5a57Smrg 83940dd5a57Smrg 84040dd5a57Smrg# _LT_LANG_DEFAULT_CONFIG 84140dd5a57Smrg# ----------------------- 84240dd5a57Smrgm4_defun([_LT_LANG_DEFAULT_CONFIG], 84340dd5a57Smrg[AC_PROVIDE_IFELSE([AC_PROG_CXX], 84440dd5a57Smrg [LT_LANG(CXX)], 84540dd5a57Smrg [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 84640dd5a57Smrg 84740dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_F77], 84840dd5a57Smrg [LT_LANG(F77)], 84940dd5a57Smrg [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 85040dd5a57Smrg 85140dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_FC], 85240dd5a57Smrg [LT_LANG(FC)], 85340dd5a57Smrg [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 85440dd5a57Smrg 85540dd5a57Smrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 85640dd5a57Smrgdnl pulling things in needlessly. 85740dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ], 85840dd5a57Smrg [LT_LANG(GCJ)], 85940dd5a57Smrg [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 86040dd5a57Smrg [LT_LANG(GCJ)], 86140dd5a57Smrg [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 86240dd5a57Smrg [LT_LANG(GCJ)], 86340dd5a57Smrg [m4_ifdef([AC_PROG_GCJ], 86440dd5a57Smrg [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 86540dd5a57Smrg m4_ifdef([A][M_PROG_GCJ], 86640dd5a57Smrg [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 86740dd5a57Smrg m4_ifdef([LT_PROG_GCJ], 86840dd5a57Smrg [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 86940dd5a57Smrg 87040dd5a57SmrgAC_PROVIDE_IFELSE([LT_PROG_RC], 87140dd5a57Smrg [LT_LANG(RC)], 87240dd5a57Smrg [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 87340dd5a57Smrg])# _LT_LANG_DEFAULT_CONFIG 87440dd5a57Smrg 87540dd5a57Smrg# Obsolete macros: 87640dd5a57SmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 87740dd5a57SmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 87840dd5a57SmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 87940dd5a57SmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 88040dd5a57SmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) 88140dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 88240dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_CXX], []) 88340dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_F77], []) 88440dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_FC], []) 88540dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], []) 88640dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_RC], []) 88740dd5a57Smrg 88840dd5a57Smrg 88940dd5a57Smrg# _LT_TAG_COMPILER 89040dd5a57Smrg# ---------------- 89140dd5a57Smrgm4_defun([_LT_TAG_COMPILER], 89240dd5a57Smrg[AC_REQUIRE([AC_PROG_CC])dnl 89340dd5a57Smrg 89440dd5a57Smrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 89540dd5a57Smrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 89640dd5a57Smrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 89740dd5a57Smrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 89840dd5a57Smrg 89940dd5a57Smrg# If no C compiler was specified, use CC. 90040dd5a57SmrgLTCC=${LTCC-"$CC"} 90140dd5a57Smrg 90240dd5a57Smrg# If no C compiler flags were specified, use CFLAGS. 90340dd5a57SmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"} 90440dd5a57Smrg 90540dd5a57Smrg# Allow CC to be a program name with arguments. 90640dd5a57Smrgcompiler=$CC 90740dd5a57Smrg])# _LT_TAG_COMPILER 90840dd5a57Smrg 90940dd5a57Smrg 91040dd5a57Smrg# _LT_COMPILER_BOILERPLATE 91140dd5a57Smrg# ------------------------ 91240dd5a57Smrg# Check for compiler boilerplate output or warnings with 91340dd5a57Smrg# the simple compiler test code. 91440dd5a57Smrgm4_defun([_LT_COMPILER_BOILERPLATE], 91540dd5a57Smrg[m4_require([_LT_DECL_SED])dnl 91640dd5a57Smrgac_outfile=conftest.$ac_objext 91740dd5a57Smrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext 91840dd5a57Smrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 91940dd5a57Smrg_lt_compiler_boilerplate=`cat conftest.err` 92040dd5a57Smrg$RM conftest* 92140dd5a57Smrg])# _LT_COMPILER_BOILERPLATE 92240dd5a57Smrg 92340dd5a57Smrg 92440dd5a57Smrg# _LT_LINKER_BOILERPLATE 92540dd5a57Smrg# ---------------------- 92640dd5a57Smrg# Check for linker boilerplate output or warnings with 92740dd5a57Smrg# the simple link test code. 92840dd5a57Smrgm4_defun([_LT_LINKER_BOILERPLATE], 92940dd5a57Smrg[m4_require([_LT_DECL_SED])dnl 93040dd5a57Smrgac_outfile=conftest.$ac_objext 93140dd5a57Smrgecho "$lt_simple_link_test_code" >conftest.$ac_ext 93240dd5a57Smrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 93340dd5a57Smrg_lt_linker_boilerplate=`cat conftest.err` 93440dd5a57Smrg$RM -r conftest* 93540dd5a57Smrg])# _LT_LINKER_BOILERPLATE 93640dd5a57Smrg 93740dd5a57Smrg# _LT_REQUIRED_DARWIN_CHECKS 93840dd5a57Smrg# ------------------------- 93940dd5a57Smrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 94040dd5a57Smrg case $host_os in 94140dd5a57Smrg rhapsody* | darwin*) 94240dd5a57Smrg AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 94340dd5a57Smrg AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 94440dd5a57Smrg AC_CHECK_TOOL([LIPO], [lipo], [:]) 94540dd5a57Smrg AC_CHECK_TOOL([OTOOL], [otool], [:]) 94640dd5a57Smrg AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 94740dd5a57Smrg _LT_DECL([], [DSYMUTIL], [1], 94840dd5a57Smrg [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 94940dd5a57Smrg _LT_DECL([], [NMEDIT], [1], 95040dd5a57Smrg [Tool to change global to local symbols on Mac OS X]) 95140dd5a57Smrg _LT_DECL([], [LIPO], [1], 95240dd5a57Smrg [Tool to manipulate fat objects and archives on Mac OS X]) 95340dd5a57Smrg _LT_DECL([], [OTOOL], [1], 95440dd5a57Smrg [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 95540dd5a57Smrg _LT_DECL([], [OTOOL64], [1], 95640dd5a57Smrg [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 95740dd5a57Smrg 95840dd5a57Smrg AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 95940dd5a57Smrg [lt_cv_apple_cc_single_mod=no 96040dd5a57Smrg if test -z "${LT_MULTI_MODULE}"; then 96140dd5a57Smrg # By default we will add the -single_module flag. You can override 96240dd5a57Smrg # by either setting the environment variable LT_MULTI_MODULE 96340dd5a57Smrg # non-empty at configure time, or by adding -multi_module to the 96440dd5a57Smrg # link flags. 96540dd5a57Smrg rm -rf libconftest.dylib* 96640dd5a57Smrg echo "int foo(void){return 1;}" > conftest.c 96740dd5a57Smrg echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 96840dd5a57Smrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 96940dd5a57Smrg $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 97040dd5a57Smrg -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 97140dd5a57Smrg _lt_result=$? 97240dd5a57Smrg if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then 97340dd5a57Smrg lt_cv_apple_cc_single_mod=yes 97440dd5a57Smrg else 97540dd5a57Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 97640dd5a57Smrg fi 97740dd5a57Smrg rm -rf libconftest.dylib* 97840dd5a57Smrg rm -f conftest.* 97940dd5a57Smrg fi]) 98040dd5a57Smrg AC_CACHE_CHECK([for -exported_symbols_list linker flag], 98140dd5a57Smrg [lt_cv_ld_exported_symbols_list], 98240dd5a57Smrg [lt_cv_ld_exported_symbols_list=no 98340dd5a57Smrg save_LDFLAGS=$LDFLAGS 98440dd5a57Smrg echo "_main" > conftest.sym 98540dd5a57Smrg LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 98640dd5a57Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 98740dd5a57Smrg [lt_cv_ld_exported_symbols_list=yes], 98840dd5a57Smrg [lt_cv_ld_exported_symbols_list=no]) 98940dd5a57Smrg LDFLAGS="$save_LDFLAGS" 99040dd5a57Smrg ]) 99140dd5a57Smrg AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], 99240dd5a57Smrg [lt_cv_ld_force_load=no 99340dd5a57Smrg cat > conftest.c << _LT_EOF 99440dd5a57Smrgint forced_loaded() { return 2;} 99540dd5a57Smrg_LT_EOF 99640dd5a57Smrg echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD 99740dd5a57Smrg $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD 99840dd5a57Smrg echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD 99940dd5a57Smrg $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD 100040dd5a57Smrg echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD 100140dd5a57Smrg $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD 100240dd5a57Smrg cat > conftest.c << _LT_EOF 100340dd5a57Smrgint main() { return 0;} 100440dd5a57Smrg_LT_EOF 100540dd5a57Smrg echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD 100640dd5a57Smrg $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err 100740dd5a57Smrg _lt_result=$? 100840dd5a57Smrg if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then 100940dd5a57Smrg lt_cv_ld_force_load=yes 101040dd5a57Smrg else 101140dd5a57Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 101240dd5a57Smrg fi 101340dd5a57Smrg rm -f conftest.err libconftest.a conftest conftest.c 101440dd5a57Smrg rm -rf conftest.dSYM 101540dd5a57Smrg ]) 101640dd5a57Smrg case $host_os in 101740dd5a57Smrg rhapsody* | darwin1.[[012]]) 101840dd5a57Smrg _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; 101940dd5a57Smrg darwin1.*) 102040dd5a57Smrg _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 102140dd5a57Smrg darwin*) # darwin 5.x on 102240dd5a57Smrg # if running on 10.5 or later, the deployment target defaults 102340dd5a57Smrg # to the OS version, if on x86, and 10.4, the deployment 102440dd5a57Smrg # target defaults to 10.4. Don't you love it? 102540dd5a57Smrg case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 102640dd5a57Smrg 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) 102740dd5a57Smrg _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 102840dd5a57Smrg 10.[[012]]*) 102940dd5a57Smrg _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 103040dd5a57Smrg 10.*) 103140dd5a57Smrg _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 103240dd5a57Smrg esac 103340dd5a57Smrg ;; 103440dd5a57Smrg esac 103540dd5a57Smrg if test "$lt_cv_apple_cc_single_mod" = "yes"; then 103640dd5a57Smrg _lt_dar_single_mod='$single_module' 103740dd5a57Smrg fi 103840dd5a57Smrg if test "$lt_cv_ld_exported_symbols_list" = "yes"; then 103940dd5a57Smrg _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' 104040dd5a57Smrg else 104140dd5a57Smrg _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' 104240dd5a57Smrg fi 104340dd5a57Smrg if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then 104440dd5a57Smrg _lt_dsymutil='~$DSYMUTIL $lib || :' 104540dd5a57Smrg else 104640dd5a57Smrg _lt_dsymutil= 104740dd5a57Smrg fi 104840dd5a57Smrg ;; 104940dd5a57Smrg esac 105040dd5a57Smrg]) 105140dd5a57Smrg 105240dd5a57Smrg 105340dd5a57Smrg# _LT_DARWIN_LINKER_FEATURES 105440dd5a57Smrg# -------------------------- 105540dd5a57Smrg# Checks for linker and compiler features on darwin 105640dd5a57Smrgm4_defun([_LT_DARWIN_LINKER_FEATURES], 105740dd5a57Smrg[ 105840dd5a57Smrg m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 105940dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 106040dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=no 106140dd5a57Smrg _LT_TAGVAR(hardcode_automatic, $1)=yes 106240dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 106340dd5a57Smrg if test "$lt_cv_ld_force_load" = "yes"; then 106440dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' 106540dd5a57Smrg else 106640dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='' 106740dd5a57Smrg fi 106840dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 106940dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" 107040dd5a57Smrg case $cc_basename in 107140dd5a57Smrg ifort*) _lt_dar_can_shared=yes ;; 107240dd5a57Smrg *) _lt_dar_can_shared=$GCC ;; 107340dd5a57Smrg esac 107440dd5a57Smrg if test "$_lt_dar_can_shared" = "yes"; then 107540dd5a57Smrg output_verbose_link_cmd=func_echo_all 107640dd5a57Smrg _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}" 107740dd5a57Smrg _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" 107840dd5a57Smrg _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}" 107940dd5a57Smrg _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}" 108040dd5a57Smrg m4_if([$1], [CXX], 108140dd5a57Smrg[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then 108240dd5a57Smrg _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}" 108340dd5a57Smrg _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}" 108440dd5a57Smrg fi 108540dd5a57Smrg],[]) 108640dd5a57Smrg else 108740dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 108840dd5a57Smrg fi 108940dd5a57Smrg]) 109040dd5a57Smrg 109140dd5a57Smrg# _LT_SYS_MODULE_PATH_AIX 109240dd5a57Smrg# ----------------------- 109340dd5a57Smrg# Links a minimal program and checks the executable 109440dd5a57Smrg# for the system default hardcoded library path. In most cases, 109540dd5a57Smrg# this is /usr/lib:/lib, but when the MPI compilers are used 109640dd5a57Smrg# the location of the communication and MPI libs are included too. 109740dd5a57Smrg# If we don't find anything, use the default library path according 109840dd5a57Smrg# to the aix ld manual. 109940dd5a57Smrgm4_defun([_LT_SYS_MODULE_PATH_AIX], 110040dd5a57Smrg[m4_require([_LT_DECL_SED])dnl 110140dd5a57SmrgAC_LINK_IFELSE(AC_LANG_PROGRAM,[ 110240dd5a57Smrglt_aix_libpath_sed=' 110340dd5a57Smrg /Import File Strings/,/^$/ { 110440dd5a57Smrg /^0/ { 110540dd5a57Smrg s/^0 *\(.*\)$/\1/ 110640dd5a57Smrg p 110740dd5a57Smrg } 110840dd5a57Smrg }' 110940dd5a57Smrgaix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 111040dd5a57Smrg# Check for a 64-bit object if we didn't find anything. 111140dd5a57Smrgif test -z "$aix_libpath"; then 111240dd5a57Smrg aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 111340dd5a57Smrgfi],[]) 111440dd5a57Smrgif test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi 111540dd5a57Smrg])# _LT_SYS_MODULE_PATH_AIX 111640dd5a57Smrg 111740dd5a57Smrg 111840dd5a57Smrg# _LT_SHELL_INIT(ARG) 111940dd5a57Smrg# ------------------- 112040dd5a57Smrgm4_define([_LT_SHELL_INIT], 112140dd5a57Smrg[m4_divert_text([M4SH-INIT], [$1 112240dd5a57Smrg])])# _LT_SHELL_INIT 112340dd5a57Smrg 112440dd5a57Smrg 112540dd5a57Smrg 112640dd5a57Smrg# _LT_PROG_ECHO_BACKSLASH 112740dd5a57Smrg# ----------------------- 112840dd5a57Smrg# Find how we can fake an echo command that does not interpret backslash. 112940dd5a57Smrg# In particular, with Autoconf 2.60 or later we add some code to the start 113040dd5a57Smrg# of the generated configure script which will find a shell with a builtin 113140dd5a57Smrg# printf (which we can use as an echo command). 113240dd5a57Smrgm4_defun([_LT_PROG_ECHO_BACKSLASH], 113340dd5a57Smrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 113440dd5a57SmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 113540dd5a57SmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 113640dd5a57Smrg 113740dd5a57SmrgAC_MSG_CHECKING([how to print strings]) 113840dd5a57Smrg# Test print first, because it will be a builtin if present. 113940dd5a57Smrgif test "X`print -r -- -n 2>/dev/null`" = X-n && \ 114040dd5a57Smrg test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then 114140dd5a57Smrg ECHO='print -r --' 114240dd5a57Smrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then 114340dd5a57Smrg ECHO='printf %s\n' 114440dd5a57Smrgelse 114540dd5a57Smrg # Use this function as a fallback that always works. 114640dd5a57Smrg func_fallback_echo () 114740dd5a57Smrg { 114840dd5a57Smrg eval 'cat <<_LTECHO_EOF 114940dd5a57Smrg$[]1 115040dd5a57Smrg_LTECHO_EOF' 115140dd5a57Smrg } 115240dd5a57Smrg ECHO='func_fallback_echo' 115340dd5a57Smrgfi 115440dd5a57Smrg 115540dd5a57Smrg# func_echo_all arg... 115640dd5a57Smrg# Invoke $ECHO with all args, space-separated. 115740dd5a57Smrgfunc_echo_all () 115840dd5a57Smrg{ 115940dd5a57Smrg $ECHO "$*" 116040dd5a57Smrg} 116140dd5a57Smrg 116240dd5a57Smrgcase "$ECHO" in 116340dd5a57Smrg printf*) AC_MSG_RESULT([printf]) ;; 116440dd5a57Smrg print*) AC_MSG_RESULT([print -r]) ;; 116540dd5a57Smrg *) AC_MSG_RESULT([cat]) ;; 116640dd5a57Smrgesac 116740dd5a57Smrg 116840dd5a57Smrgm4_ifdef([_AS_DETECT_SUGGESTED], 116940dd5a57Smrg[_AS_DETECT_SUGGESTED([ 117040dd5a57Smrg test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( 117140dd5a57Smrg ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 117240dd5a57Smrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO 117340dd5a57Smrg ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO 117440dd5a57Smrg PATH=/empty FPATH=/empty; export PATH FPATH 117540dd5a57Smrg test "X`printf %s $ECHO`" = "X$ECHO" \ 117640dd5a57Smrg || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) 117740dd5a57Smrg 117840dd5a57Smrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 117940dd5a57Smrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) 118040dd5a57Smrg])# _LT_PROG_ECHO_BACKSLASH 118140dd5a57Smrg 118240dd5a57Smrg 118340dd5a57Smrg# _LT_ENABLE_LOCK 118440dd5a57Smrg# --------------- 118540dd5a57Smrgm4_defun([_LT_ENABLE_LOCK], 118640dd5a57Smrg[AC_ARG_ENABLE([libtool-lock], 118740dd5a57Smrg [AS_HELP_STRING([--disable-libtool-lock], 118840dd5a57Smrg [avoid locking (might break parallel builds)])]) 118940dd5a57Smrgtest "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 119040dd5a57Smrg 119140dd5a57Smrg# Some flags need to be propagated to the compiler or linker for good 119240dd5a57Smrg# libtool support. 119340dd5a57Smrgcase $host in 119440dd5a57Smrgia64-*-hpux*) 119540dd5a57Smrg # Find out which ABI we are using. 119640dd5a57Smrg echo 'int i;' > conftest.$ac_ext 119740dd5a57Smrg if AC_TRY_EVAL(ac_compile); then 119840dd5a57Smrg case `/usr/bin/file conftest.$ac_objext` in 119940dd5a57Smrg *ELF-32*) 120040dd5a57Smrg HPUX_IA64_MODE="32" 120140dd5a57Smrg ;; 120240dd5a57Smrg *ELF-64*) 120340dd5a57Smrg HPUX_IA64_MODE="64" 120440dd5a57Smrg ;; 120540dd5a57Smrg esac 120640dd5a57Smrg fi 120740dd5a57Smrg rm -rf conftest* 120840dd5a57Smrg ;; 120940dd5a57Smrg*-*-irix6*) 121040dd5a57Smrg # Find out which ABI we are using. 121140dd5a57Smrg echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext 121240dd5a57Smrg if AC_TRY_EVAL(ac_compile); then 121340dd5a57Smrg if test "$lt_cv_prog_gnu_ld" = yes; then 121440dd5a57Smrg case `/usr/bin/file conftest.$ac_objext` in 121540dd5a57Smrg *32-bit*) 121640dd5a57Smrg LD="${LD-ld} -melf32bsmip" 121740dd5a57Smrg ;; 121840dd5a57Smrg *N32*) 121940dd5a57Smrg LD="${LD-ld} -melf32bmipn32" 122040dd5a57Smrg ;; 122140dd5a57Smrg *64-bit*) 122240dd5a57Smrg LD="${LD-ld} -melf64bmip" 122340dd5a57Smrg ;; 122440dd5a57Smrg esac 122540dd5a57Smrg else 122640dd5a57Smrg case `/usr/bin/file conftest.$ac_objext` in 122740dd5a57Smrg *32-bit*) 122840dd5a57Smrg LD="${LD-ld} -32" 122940dd5a57Smrg ;; 123040dd5a57Smrg *N32*) 123140dd5a57Smrg LD="${LD-ld} -n32" 123240dd5a57Smrg ;; 123340dd5a57Smrg *64-bit*) 123440dd5a57Smrg LD="${LD-ld} -64" 123540dd5a57Smrg ;; 123640dd5a57Smrg esac 123740dd5a57Smrg fi 123840dd5a57Smrg fi 123940dd5a57Smrg rm -rf conftest* 124040dd5a57Smrg ;; 124140dd5a57Smrg 124240dd5a57Smrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ 124340dd5a57Smrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*) 124440dd5a57Smrg # Find out which ABI we are using. 124540dd5a57Smrg echo 'int i;' > conftest.$ac_ext 124640dd5a57Smrg if AC_TRY_EVAL(ac_compile); then 124740dd5a57Smrg case `/usr/bin/file conftest.o` in 124840dd5a57Smrg *32-bit*) 124940dd5a57Smrg case $host in 125040dd5a57Smrg x86_64-*kfreebsd*-gnu) 125140dd5a57Smrg LD="${LD-ld} -m elf_i386_fbsd" 125240dd5a57Smrg ;; 125340dd5a57Smrg x86_64-*linux*) 125440dd5a57Smrg LD="${LD-ld} -m elf_i386" 125540dd5a57Smrg ;; 125640dd5a57Smrg ppc64-*linux*|powerpc64-*linux*) 125740dd5a57Smrg LD="${LD-ld} -m elf32ppclinux" 125840dd5a57Smrg ;; 125940dd5a57Smrg s390x-*linux*) 126040dd5a57Smrg LD="${LD-ld} -m elf_s390" 126140dd5a57Smrg ;; 126240dd5a57Smrg sparc64-*linux*) 126340dd5a57Smrg LD="${LD-ld} -m elf32_sparc" 126440dd5a57Smrg ;; 126540dd5a57Smrg esac 126640dd5a57Smrg ;; 126740dd5a57Smrg *64-bit*) 126840dd5a57Smrg case $host in 126940dd5a57Smrg x86_64-*kfreebsd*-gnu) 127040dd5a57Smrg LD="${LD-ld} -m elf_x86_64_fbsd" 127140dd5a57Smrg ;; 127240dd5a57Smrg x86_64-*linux*) 127340dd5a57Smrg LD="${LD-ld} -m elf_x86_64" 127440dd5a57Smrg ;; 127540dd5a57Smrg ppc*-*linux*|powerpc*-*linux*) 127640dd5a57Smrg LD="${LD-ld} -m elf64ppc" 127740dd5a57Smrg ;; 127840dd5a57Smrg s390*-*linux*|s390*-*tpf*) 127940dd5a57Smrg LD="${LD-ld} -m elf64_s390" 128040dd5a57Smrg ;; 128140dd5a57Smrg sparc*-*linux*) 128240dd5a57Smrg LD="${LD-ld} -m elf64_sparc" 128340dd5a57Smrg ;; 128440dd5a57Smrg esac 128540dd5a57Smrg ;; 128640dd5a57Smrg esac 128740dd5a57Smrg fi 128840dd5a57Smrg rm -rf conftest* 128940dd5a57Smrg ;; 129040dd5a57Smrg 129140dd5a57Smrg*-*-sco3.2v5*) 129240dd5a57Smrg # On SCO OpenServer 5, we need -belf to get full-featured binaries. 129340dd5a57Smrg SAVE_CFLAGS="$CFLAGS" 129440dd5a57Smrg CFLAGS="$CFLAGS -belf" 129540dd5a57Smrg AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 129640dd5a57Smrg [AC_LANG_PUSH(C) 129740dd5a57Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 129840dd5a57Smrg AC_LANG_POP]) 129940dd5a57Smrg if test x"$lt_cv_cc_needs_belf" != x"yes"; then 130040dd5a57Smrg # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 130140dd5a57Smrg CFLAGS="$SAVE_CFLAGS" 130240dd5a57Smrg fi 130340dd5a57Smrg ;; 130440dd5a57Smrgsparc*-*solaris*) 130540dd5a57Smrg # Find out which ABI we are using. 130640dd5a57Smrg echo 'int i;' > conftest.$ac_ext 130740dd5a57Smrg if AC_TRY_EVAL(ac_compile); then 130840dd5a57Smrg case `/usr/bin/file conftest.o` in 130940dd5a57Smrg *64-bit*) 131040dd5a57Smrg case $lt_cv_prog_gnu_ld in 131140dd5a57Smrg yes*) LD="${LD-ld} -m elf64_sparc" ;; 131240dd5a57Smrg *) 131340dd5a57Smrg if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 131440dd5a57Smrg LD="${LD-ld} -64" 131540dd5a57Smrg fi 131640dd5a57Smrg ;; 131740dd5a57Smrg esac 131840dd5a57Smrg ;; 131940dd5a57Smrg esac 132040dd5a57Smrg fi 132140dd5a57Smrg rm -rf conftest* 132240dd5a57Smrg ;; 132340dd5a57Smrgesac 132440dd5a57Smrg 132540dd5a57Smrgneed_locks="$enable_libtool_lock" 132640dd5a57Smrg])# _LT_ENABLE_LOCK 132740dd5a57Smrg 132840dd5a57Smrg 132940dd5a57Smrg# _LT_CMD_OLD_ARCHIVE 133040dd5a57Smrg# ------------------- 133140dd5a57Smrgm4_defun([_LT_CMD_OLD_ARCHIVE], 133240dd5a57Smrg[AC_CHECK_TOOL(AR, ar, false) 133340dd5a57Smrgtest -z "$AR" && AR=ar 133440dd5a57Smrgtest -z "$AR_FLAGS" && AR_FLAGS=cru 133540dd5a57Smrg_LT_DECL([], [AR], [1], [The archiver]) 133640dd5a57Smrg_LT_DECL([], [AR_FLAGS], [1]) 133740dd5a57Smrg 133840dd5a57SmrgAC_CHECK_TOOL(STRIP, strip, :) 133940dd5a57Smrgtest -z "$STRIP" && STRIP=: 134040dd5a57Smrg_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 134140dd5a57Smrg 134240dd5a57SmrgAC_CHECK_TOOL(RANLIB, ranlib, :) 134340dd5a57Smrgtest -z "$RANLIB" && RANLIB=: 134440dd5a57Smrg_LT_DECL([], [RANLIB], [1], 134540dd5a57Smrg [Commands used to install an old-style archive]) 134640dd5a57Smrg 134740dd5a57Smrg# Determine commands to create old-style static archives. 134840dd5a57Smrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 134940dd5a57Smrgold_postinstall_cmds='chmod 644 $oldlib' 135040dd5a57Smrgold_postuninstall_cmds= 135140dd5a57Smrg 135240dd5a57Smrgif test -n "$RANLIB"; then 135340dd5a57Smrg case $host_os in 135440dd5a57Smrg openbsd*) 135540dd5a57Smrg old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" 135640dd5a57Smrg ;; 135740dd5a57Smrg *) 135840dd5a57Smrg old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" 135940dd5a57Smrg ;; 136040dd5a57Smrg esac 136140dd5a57Smrg old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" 136240dd5a57Smrgfi 136340dd5a57Smrg 136440dd5a57Smrgcase $host_os in 136540dd5a57Smrg darwin*) 136640dd5a57Smrg lock_old_archive_extraction=yes ;; 136740dd5a57Smrg *) 136840dd5a57Smrg lock_old_archive_extraction=no ;; 136940dd5a57Smrgesac 137040dd5a57Smrg_LT_DECL([], [old_postinstall_cmds], [2]) 137140dd5a57Smrg_LT_DECL([], [old_postuninstall_cmds], [2]) 137240dd5a57Smrg_LT_TAGDECL([], [old_archive_cmds], [2], 137340dd5a57Smrg [Commands used to build an old-style archive]) 137440dd5a57Smrg_LT_DECL([], [lock_old_archive_extraction], [0], 137540dd5a57Smrg [Whether to use a lock for old archive extraction]) 137640dd5a57Smrg])# _LT_CMD_OLD_ARCHIVE 137740dd5a57Smrg 137840dd5a57Smrg 137940dd5a57Smrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 138040dd5a57Smrg# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 138140dd5a57Smrg# ---------------------------------------------------------------- 138240dd5a57Smrg# Check whether the given compiler option works 138340dd5a57SmrgAC_DEFUN([_LT_COMPILER_OPTION], 138440dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 138540dd5a57Smrgm4_require([_LT_DECL_SED])dnl 138640dd5a57SmrgAC_CACHE_CHECK([$1], [$2], 138740dd5a57Smrg [$2=no 138840dd5a57Smrg m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 138940dd5a57Smrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 139040dd5a57Smrg lt_compiler_flag="$3" 139140dd5a57Smrg # Insert the option either (1) after the last *FLAGS variable, or 139240dd5a57Smrg # (2) before a word containing "conftest.", or (3) at the end. 139340dd5a57Smrg # Note that $ac_compile itself does not contain backslashes and begins 139440dd5a57Smrg # with a dollar sign (not a hyphen), so the echo should work correctly. 139540dd5a57Smrg # The option is referenced via a variable to avoid confusing sed. 139640dd5a57Smrg lt_compile=`echo "$ac_compile" | $SED \ 139740dd5a57Smrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 139840dd5a57Smrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 139940dd5a57Smrg -e 's:$: $lt_compiler_flag:'` 140040dd5a57Smrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 140140dd5a57Smrg (eval "$lt_compile" 2>conftest.err) 140240dd5a57Smrg ac_status=$? 140340dd5a57Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 140440dd5a57Smrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 140540dd5a57Smrg if (exit $ac_status) && test -s "$ac_outfile"; then 140640dd5a57Smrg # The compiler can only warn and ignore the option if not recognized 140740dd5a57Smrg # So say no if there are warnings other than the usual output. 140840dd5a57Smrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp 140940dd5a57Smrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 141040dd5a57Smrg if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 141140dd5a57Smrg $2=yes 141240dd5a57Smrg fi 141340dd5a57Smrg fi 141440dd5a57Smrg $RM conftest* 141540dd5a57Smrg]) 141640dd5a57Smrg 141740dd5a57Smrgif test x"[$]$2" = xyes; then 141840dd5a57Smrg m4_if([$5], , :, [$5]) 141940dd5a57Smrgelse 142040dd5a57Smrg m4_if([$6], , :, [$6]) 142140dd5a57Smrgfi 142240dd5a57Smrg])# _LT_COMPILER_OPTION 142340dd5a57Smrg 142440dd5a57Smrg# Old name: 142540dd5a57SmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 142640dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 142740dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 142840dd5a57Smrg 142940dd5a57Smrg 143040dd5a57Smrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 143140dd5a57Smrg# [ACTION-SUCCESS], [ACTION-FAILURE]) 143240dd5a57Smrg# ---------------------------------------------------- 143340dd5a57Smrg# Check whether the given linker option works 143440dd5a57SmrgAC_DEFUN([_LT_LINKER_OPTION], 143540dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 143640dd5a57Smrgm4_require([_LT_DECL_SED])dnl 143740dd5a57SmrgAC_CACHE_CHECK([$1], [$2], 143840dd5a57Smrg [$2=no 143940dd5a57Smrg save_LDFLAGS="$LDFLAGS" 144040dd5a57Smrg LDFLAGS="$LDFLAGS $3" 144140dd5a57Smrg echo "$lt_simple_link_test_code" > conftest.$ac_ext 144240dd5a57Smrg if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 144340dd5a57Smrg # The linker can only warn and ignore the option if not recognized 144440dd5a57Smrg # So say no if there are warnings 144540dd5a57Smrg if test -s conftest.err; then 144640dd5a57Smrg # Append any errors to the config.log. 144740dd5a57Smrg cat conftest.err 1>&AS_MESSAGE_LOG_FD 144840dd5a57Smrg $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp 144940dd5a57Smrg $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 145040dd5a57Smrg if diff conftest.exp conftest.er2 >/dev/null; then 145140dd5a57Smrg $2=yes 145240dd5a57Smrg fi 145340dd5a57Smrg else 145440dd5a57Smrg $2=yes 145540dd5a57Smrg fi 145640dd5a57Smrg fi 145740dd5a57Smrg $RM -r conftest* 145840dd5a57Smrg LDFLAGS="$save_LDFLAGS" 145940dd5a57Smrg]) 146040dd5a57Smrg 146140dd5a57Smrgif test x"[$]$2" = xyes; then 146240dd5a57Smrg m4_if([$4], , :, [$4]) 146340dd5a57Smrgelse 146440dd5a57Smrg m4_if([$5], , :, [$5]) 146540dd5a57Smrgfi 146640dd5a57Smrg])# _LT_LINKER_OPTION 146740dd5a57Smrg 146840dd5a57Smrg# Old name: 146940dd5a57SmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 147040dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 147140dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 147240dd5a57Smrg 147340dd5a57Smrg 147440dd5a57Smrg# LT_CMD_MAX_LEN 147540dd5a57Smrg#--------------- 147640dd5a57SmrgAC_DEFUN([LT_CMD_MAX_LEN], 147740dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 147840dd5a57Smrg# find the maximum length of command line arguments 147940dd5a57SmrgAC_MSG_CHECKING([the maximum length of command line arguments]) 148040dd5a57SmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 148140dd5a57Smrg i=0 148240dd5a57Smrg teststring="ABCD" 148340dd5a57Smrg 148440dd5a57Smrg case $build_os in 148540dd5a57Smrg msdosdjgpp*) 148640dd5a57Smrg # On DJGPP, this test can blow up pretty badly due to problems in libc 148740dd5a57Smrg # (any single argument exceeding 2000 bytes causes a buffer overrun 148840dd5a57Smrg # during glob expansion). Even if it were fixed, the result of this 148940dd5a57Smrg # check would be larger than it should be. 149040dd5a57Smrg lt_cv_sys_max_cmd_len=12288; # 12K is about right 149140dd5a57Smrg ;; 149240dd5a57Smrg 149340dd5a57Smrg gnu*) 149440dd5a57Smrg # Under GNU Hurd, this test is not required because there is 149540dd5a57Smrg # no limit to the length of command line arguments. 149640dd5a57Smrg # Libtool will interpret -1 as no limit whatsoever 149740dd5a57Smrg lt_cv_sys_max_cmd_len=-1; 149840dd5a57Smrg ;; 149940dd5a57Smrg 150040dd5a57Smrg cygwin* | mingw* | cegcc*) 150140dd5a57Smrg # On Win9x/ME, this test blows up -- it succeeds, but takes 150240dd5a57Smrg # about 5 minutes as the teststring grows exponentially. 150340dd5a57Smrg # Worse, since 9x/ME are not pre-emptively multitasking, 150440dd5a57Smrg # you end up with a "frozen" computer, even though with patience 150540dd5a57Smrg # the test eventually succeeds (with a max line length of 256k). 150640dd5a57Smrg # Instead, let's just punt: use the minimum linelength reported by 150740dd5a57Smrg # all of the supported platforms: 8192 (on NT/2K/XP). 150840dd5a57Smrg lt_cv_sys_max_cmd_len=8192; 150940dd5a57Smrg ;; 151040dd5a57Smrg 151140dd5a57Smrg mint*) 151240dd5a57Smrg # On MiNT this can take a long time and run out of memory. 151340dd5a57Smrg lt_cv_sys_max_cmd_len=8192; 151440dd5a57Smrg ;; 151540dd5a57Smrg 151640dd5a57Smrg amigaos*) 151740dd5a57Smrg # On AmigaOS with pdksh, this test takes hours, literally. 151840dd5a57Smrg # So we just punt and use a minimum line length of 8192. 151940dd5a57Smrg lt_cv_sys_max_cmd_len=8192; 152040dd5a57Smrg ;; 152140dd5a57Smrg 152240dd5a57Smrg netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) 152340dd5a57Smrg # This has been around since 386BSD, at least. Likely further. 152440dd5a57Smrg if test -x /sbin/sysctl; then 152540dd5a57Smrg lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 152640dd5a57Smrg elif test -x /usr/sbin/sysctl; then 152740dd5a57Smrg lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 152840dd5a57Smrg else 152940dd5a57Smrg lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 153040dd5a57Smrg fi 153140dd5a57Smrg # And add a safety zone 153240dd5a57Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 153340dd5a57Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 153440dd5a57Smrg ;; 153540dd5a57Smrg 153640dd5a57Smrg interix*) 153740dd5a57Smrg # We know the value 262144 and hardcode it with a safety zone (like BSD) 153840dd5a57Smrg lt_cv_sys_max_cmd_len=196608 153940dd5a57Smrg ;; 154040dd5a57Smrg 154140dd5a57Smrg osf*) 154240dd5a57Smrg # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 154340dd5a57Smrg # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 154440dd5a57Smrg # nice to cause kernel panics so lets avoid the loop below. 154540dd5a57Smrg # First set a reasonable default. 154640dd5a57Smrg lt_cv_sys_max_cmd_len=16384 154740dd5a57Smrg # 154840dd5a57Smrg if test -x /sbin/sysconfig; then 154940dd5a57Smrg case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 155040dd5a57Smrg *1*) lt_cv_sys_max_cmd_len=-1 ;; 155140dd5a57Smrg esac 155240dd5a57Smrg fi 155340dd5a57Smrg ;; 155440dd5a57Smrg sco3.2v5*) 155540dd5a57Smrg lt_cv_sys_max_cmd_len=102400 155640dd5a57Smrg ;; 155740dd5a57Smrg sysv5* | sco5v6* | sysv4.2uw2*) 155840dd5a57Smrg kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 155940dd5a57Smrg if test -n "$kargmax"; then 156040dd5a57Smrg lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` 156140dd5a57Smrg else 156240dd5a57Smrg lt_cv_sys_max_cmd_len=32768 156340dd5a57Smrg fi 156440dd5a57Smrg ;; 156540dd5a57Smrg *) 156640dd5a57Smrg lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 156740dd5a57Smrg if test -n "$lt_cv_sys_max_cmd_len"; then 156840dd5a57Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 156940dd5a57Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 157040dd5a57Smrg else 157140dd5a57Smrg # Make teststring a little bigger before we do anything with it. 157240dd5a57Smrg # a 1K string should be a reasonable start. 157340dd5a57Smrg for i in 1 2 3 4 5 6 7 8 ; do 157440dd5a57Smrg teststring=$teststring$teststring 157540dd5a57Smrg done 157640dd5a57Smrg SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 157740dd5a57Smrg # If test is not a shell built-in, we'll probably end up computing a 157840dd5a57Smrg # maximum length that is only half of the actual maximum length, but 157940dd5a57Smrg # we can't tell. 158040dd5a57Smrg while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ 158140dd5a57Smrg = "X$teststring$teststring"; } >/dev/null 2>&1 && 158240dd5a57Smrg test $i != 17 # 1/2 MB should be enough 158340dd5a57Smrg do 158440dd5a57Smrg i=`expr $i + 1` 158540dd5a57Smrg teststring=$teststring$teststring 158640dd5a57Smrg done 158740dd5a57Smrg # Only check the string length outside the loop. 158840dd5a57Smrg lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 158940dd5a57Smrg teststring= 159040dd5a57Smrg # Add a significant safety factor because C++ compilers can tack on 159140dd5a57Smrg # massive amounts of additional arguments before passing them to the 159240dd5a57Smrg # linker. It appears as though 1/2 is a usable value. 159340dd5a57Smrg lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 159440dd5a57Smrg fi 159540dd5a57Smrg ;; 159640dd5a57Smrg esac 159740dd5a57Smrg]) 159840dd5a57Smrgif test -n $lt_cv_sys_max_cmd_len ; then 159940dd5a57Smrg AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 160040dd5a57Smrgelse 160140dd5a57Smrg AC_MSG_RESULT(none) 160240dd5a57Smrgfi 160340dd5a57Smrgmax_cmd_len=$lt_cv_sys_max_cmd_len 160440dd5a57Smrg_LT_DECL([], [max_cmd_len], [0], 160540dd5a57Smrg [What is the maximum length of a command?]) 160640dd5a57Smrg])# LT_CMD_MAX_LEN 160740dd5a57Smrg 160840dd5a57Smrg# Old name: 160940dd5a57SmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 161040dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 161140dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 161240dd5a57Smrg 161340dd5a57Smrg 161440dd5a57Smrg# _LT_HEADER_DLFCN 161540dd5a57Smrg# ---------------- 161640dd5a57Smrgm4_defun([_LT_HEADER_DLFCN], 161740dd5a57Smrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 161840dd5a57Smrg])# _LT_HEADER_DLFCN 161940dd5a57Smrg 162040dd5a57Smrg 162140dd5a57Smrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 162240dd5a57Smrg# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 162340dd5a57Smrg# ---------------------------------------------------------------- 162440dd5a57Smrgm4_defun([_LT_TRY_DLOPEN_SELF], 162540dd5a57Smrg[m4_require([_LT_HEADER_DLFCN])dnl 162640dd5a57Smrgif test "$cross_compiling" = yes; then : 162740dd5a57Smrg [$4] 162840dd5a57Smrgelse 162940dd5a57Smrg lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 163040dd5a57Smrg lt_status=$lt_dlunknown 163140dd5a57Smrg cat > conftest.$ac_ext <<_LT_EOF 163240dd5a57Smrg[#line $LINENO "configure" 163340dd5a57Smrg#include "confdefs.h" 163440dd5a57Smrg 163540dd5a57Smrg#if HAVE_DLFCN_H 163640dd5a57Smrg#include <dlfcn.h> 163740dd5a57Smrg#endif 163840dd5a57Smrg 163940dd5a57Smrg#include <stdio.h> 164040dd5a57Smrg 164140dd5a57Smrg#ifdef RTLD_GLOBAL 164240dd5a57Smrg# define LT_DLGLOBAL RTLD_GLOBAL 164340dd5a57Smrg#else 164440dd5a57Smrg# ifdef DL_GLOBAL 164540dd5a57Smrg# define LT_DLGLOBAL DL_GLOBAL 164640dd5a57Smrg# else 164740dd5a57Smrg# define LT_DLGLOBAL 0 164840dd5a57Smrg# endif 164940dd5a57Smrg#endif 165040dd5a57Smrg 165140dd5a57Smrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 165240dd5a57Smrg find out it does not work in some platform. */ 165340dd5a57Smrg#ifndef LT_DLLAZY_OR_NOW 165440dd5a57Smrg# ifdef RTLD_LAZY 165540dd5a57Smrg# define LT_DLLAZY_OR_NOW RTLD_LAZY 165640dd5a57Smrg# else 165740dd5a57Smrg# ifdef DL_LAZY 165840dd5a57Smrg# define LT_DLLAZY_OR_NOW DL_LAZY 165940dd5a57Smrg# else 166040dd5a57Smrg# ifdef RTLD_NOW 166140dd5a57Smrg# define LT_DLLAZY_OR_NOW RTLD_NOW 166240dd5a57Smrg# else 166340dd5a57Smrg# ifdef DL_NOW 166440dd5a57Smrg# define LT_DLLAZY_OR_NOW DL_NOW 166540dd5a57Smrg# else 166640dd5a57Smrg# define LT_DLLAZY_OR_NOW 0 166740dd5a57Smrg# endif 166840dd5a57Smrg# endif 166940dd5a57Smrg# endif 167040dd5a57Smrg# endif 167140dd5a57Smrg#endif 167240dd5a57Smrg 167340dd5a57Smrg/* When -fvisbility=hidden is used, assume the code has been annotated 167440dd5a57Smrg correspondingly for the symbols needed. */ 167540dd5a57Smrg#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) 167640dd5a57Smrgvoid fnord () __attribute__((visibility("default"))); 167740dd5a57Smrg#endif 167840dd5a57Smrg 167940dd5a57Smrgvoid fnord () { int i=42; } 168040dd5a57Smrgint main () 168140dd5a57Smrg{ 168240dd5a57Smrg void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 168340dd5a57Smrg int status = $lt_dlunknown; 168440dd5a57Smrg 168540dd5a57Smrg if (self) 168640dd5a57Smrg { 168740dd5a57Smrg if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 168840dd5a57Smrg else 168940dd5a57Smrg { 169040dd5a57Smrg if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 169140dd5a57Smrg else puts (dlerror ()); 169240dd5a57Smrg } 169340dd5a57Smrg /* dlclose (self); */ 169440dd5a57Smrg } 169540dd5a57Smrg else 169640dd5a57Smrg puts (dlerror ()); 169740dd5a57Smrg 169840dd5a57Smrg return status; 169940dd5a57Smrg}] 170040dd5a57Smrg_LT_EOF 170140dd5a57Smrg if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then 170240dd5a57Smrg (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 170340dd5a57Smrg lt_status=$? 170440dd5a57Smrg case x$lt_status in 170540dd5a57Smrg x$lt_dlno_uscore) $1 ;; 170640dd5a57Smrg x$lt_dlneed_uscore) $2 ;; 170740dd5a57Smrg x$lt_dlunknown|x*) $3 ;; 170840dd5a57Smrg esac 170940dd5a57Smrg else : 171040dd5a57Smrg # compilation failed 171140dd5a57Smrg $3 171240dd5a57Smrg fi 171340dd5a57Smrgfi 171440dd5a57Smrgrm -fr conftest* 171540dd5a57Smrg])# _LT_TRY_DLOPEN_SELF 171640dd5a57Smrg 171740dd5a57Smrg 171840dd5a57Smrg# LT_SYS_DLOPEN_SELF 171940dd5a57Smrg# ------------------ 172040dd5a57SmrgAC_DEFUN([LT_SYS_DLOPEN_SELF], 172140dd5a57Smrg[m4_require([_LT_HEADER_DLFCN])dnl 172240dd5a57Smrgif test "x$enable_dlopen" != xyes; then 172340dd5a57Smrg enable_dlopen=unknown 172440dd5a57Smrg enable_dlopen_self=unknown 172540dd5a57Smrg enable_dlopen_self_static=unknown 172640dd5a57Smrgelse 172740dd5a57Smrg lt_cv_dlopen=no 172840dd5a57Smrg lt_cv_dlopen_libs= 172940dd5a57Smrg 173040dd5a57Smrg case $host_os in 173140dd5a57Smrg beos*) 173240dd5a57Smrg lt_cv_dlopen="load_add_on" 173340dd5a57Smrg lt_cv_dlopen_libs= 173440dd5a57Smrg lt_cv_dlopen_self=yes 173540dd5a57Smrg ;; 173640dd5a57Smrg 173740dd5a57Smrg mingw* | pw32* | cegcc*) 173840dd5a57Smrg lt_cv_dlopen="LoadLibrary" 173940dd5a57Smrg lt_cv_dlopen_libs= 174040dd5a57Smrg ;; 174140dd5a57Smrg 174240dd5a57Smrg cygwin*) 174340dd5a57Smrg lt_cv_dlopen="dlopen" 174440dd5a57Smrg lt_cv_dlopen_libs= 174540dd5a57Smrg ;; 174640dd5a57Smrg 174740dd5a57Smrg darwin*) 174840dd5a57Smrg # if libdl is installed we need to link against it 174940dd5a57Smrg AC_CHECK_LIB([dl], [dlopen], 175040dd5a57Smrg [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ 175140dd5a57Smrg lt_cv_dlopen="dyld" 175240dd5a57Smrg lt_cv_dlopen_libs= 175340dd5a57Smrg lt_cv_dlopen_self=yes 175440dd5a57Smrg ]) 175540dd5a57Smrg ;; 175640dd5a57Smrg 175740dd5a57Smrg *) 175840dd5a57Smrg AC_CHECK_FUNC([shl_load], 175940dd5a57Smrg [lt_cv_dlopen="shl_load"], 176040dd5a57Smrg [AC_CHECK_LIB([dld], [shl_load], 176140dd5a57Smrg [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], 176240dd5a57Smrg [AC_CHECK_FUNC([dlopen], 176340dd5a57Smrg [lt_cv_dlopen="dlopen"], 176440dd5a57Smrg [AC_CHECK_LIB([dl], [dlopen], 176540dd5a57Smrg [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], 176640dd5a57Smrg [AC_CHECK_LIB([svld], [dlopen], 176740dd5a57Smrg [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], 176840dd5a57Smrg [AC_CHECK_LIB([dld], [dld_link], 176940dd5a57Smrg [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) 177040dd5a57Smrg ]) 177140dd5a57Smrg ]) 177240dd5a57Smrg ]) 177340dd5a57Smrg ]) 177440dd5a57Smrg ]) 177540dd5a57Smrg ;; 177640dd5a57Smrg esac 177740dd5a57Smrg 177840dd5a57Smrg if test "x$lt_cv_dlopen" != xno; then 177940dd5a57Smrg enable_dlopen=yes 178040dd5a57Smrg else 178140dd5a57Smrg enable_dlopen=no 178240dd5a57Smrg fi 178340dd5a57Smrg 178440dd5a57Smrg case $lt_cv_dlopen in 178540dd5a57Smrg dlopen) 178640dd5a57Smrg save_CPPFLAGS="$CPPFLAGS" 178740dd5a57Smrg test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 178840dd5a57Smrg 178940dd5a57Smrg save_LDFLAGS="$LDFLAGS" 179040dd5a57Smrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 179140dd5a57Smrg 179240dd5a57Smrg save_LIBS="$LIBS" 179340dd5a57Smrg LIBS="$lt_cv_dlopen_libs $LIBS" 179440dd5a57Smrg 179540dd5a57Smrg AC_CACHE_CHECK([whether a program can dlopen itself], 179640dd5a57Smrg lt_cv_dlopen_self, [dnl 179740dd5a57Smrg _LT_TRY_DLOPEN_SELF( 179840dd5a57Smrg lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 179940dd5a57Smrg lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 180040dd5a57Smrg ]) 180140dd5a57Smrg 180240dd5a57Smrg if test "x$lt_cv_dlopen_self" = xyes; then 180340dd5a57Smrg wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 180440dd5a57Smrg AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 180540dd5a57Smrg lt_cv_dlopen_self_static, [dnl 180640dd5a57Smrg _LT_TRY_DLOPEN_SELF( 180740dd5a57Smrg lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 180840dd5a57Smrg lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 180940dd5a57Smrg ]) 181040dd5a57Smrg fi 181140dd5a57Smrg 181240dd5a57Smrg CPPFLAGS="$save_CPPFLAGS" 181340dd5a57Smrg LDFLAGS="$save_LDFLAGS" 181440dd5a57Smrg LIBS="$save_LIBS" 181540dd5a57Smrg ;; 181640dd5a57Smrg esac 181740dd5a57Smrg 181840dd5a57Smrg case $lt_cv_dlopen_self in 181940dd5a57Smrg yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 182040dd5a57Smrg *) enable_dlopen_self=unknown ;; 182140dd5a57Smrg esac 182240dd5a57Smrg 182340dd5a57Smrg case $lt_cv_dlopen_self_static in 182440dd5a57Smrg yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 182540dd5a57Smrg *) enable_dlopen_self_static=unknown ;; 182640dd5a57Smrg esac 182740dd5a57Smrgfi 182840dd5a57Smrg_LT_DECL([dlopen_support], [enable_dlopen], [0], 182940dd5a57Smrg [Whether dlopen is supported]) 183040dd5a57Smrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 183140dd5a57Smrg [Whether dlopen of programs is supported]) 183240dd5a57Smrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 183340dd5a57Smrg [Whether dlopen of statically linked programs is supported]) 183440dd5a57Smrg])# LT_SYS_DLOPEN_SELF 183540dd5a57Smrg 183640dd5a57Smrg# Old name: 183740dd5a57SmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 183840dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 183940dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 184040dd5a57Smrg 184140dd5a57Smrg 184240dd5a57Smrg# _LT_COMPILER_C_O([TAGNAME]) 184340dd5a57Smrg# --------------------------- 184440dd5a57Smrg# Check to see if options -c and -o are simultaneously supported by compiler. 184540dd5a57Smrg# This macro does not hard code the compiler like AC_PROG_CC_C_O. 184640dd5a57Smrgm4_defun([_LT_COMPILER_C_O], 184740dd5a57Smrg[m4_require([_LT_DECL_SED])dnl 184840dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 184940dd5a57Smrgm4_require([_LT_TAG_COMPILER])dnl 185040dd5a57SmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 185140dd5a57Smrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 185240dd5a57Smrg [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 185340dd5a57Smrg $RM -r conftest 2>/dev/null 185440dd5a57Smrg mkdir conftest 185540dd5a57Smrg cd conftest 185640dd5a57Smrg mkdir out 185740dd5a57Smrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 185840dd5a57Smrg 185940dd5a57Smrg lt_compiler_flag="-o out/conftest2.$ac_objext" 186040dd5a57Smrg # Insert the option either (1) after the last *FLAGS variable, or 186140dd5a57Smrg # (2) before a word containing "conftest.", or (3) at the end. 186240dd5a57Smrg # Note that $ac_compile itself does not contain backslashes and begins 186340dd5a57Smrg # with a dollar sign (not a hyphen), so the echo should work correctly. 186440dd5a57Smrg lt_compile=`echo "$ac_compile" | $SED \ 186540dd5a57Smrg -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 186640dd5a57Smrg -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 186740dd5a57Smrg -e 's:$: $lt_compiler_flag:'` 186840dd5a57Smrg (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 186940dd5a57Smrg (eval "$lt_compile" 2>out/conftest.err) 187040dd5a57Smrg ac_status=$? 187140dd5a57Smrg cat out/conftest.err >&AS_MESSAGE_LOG_FD 187240dd5a57Smrg echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 187340dd5a57Smrg if (exit $ac_status) && test -s out/conftest2.$ac_objext 187440dd5a57Smrg then 187540dd5a57Smrg # The compiler can only warn and ignore the option if not recognized 187640dd5a57Smrg # So say no if there are warnings 187740dd5a57Smrg $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp 187840dd5a57Smrg $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 187940dd5a57Smrg if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 188040dd5a57Smrg _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 188140dd5a57Smrg fi 188240dd5a57Smrg fi 188340dd5a57Smrg chmod u+w . 2>&AS_MESSAGE_LOG_FD 188440dd5a57Smrg $RM conftest* 188540dd5a57Smrg # SGI C++ compiler will create directory out/ii_files/ for 188640dd5a57Smrg # template instantiation 188740dd5a57Smrg test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 188840dd5a57Smrg $RM out/* && rmdir out 188940dd5a57Smrg cd .. 189040dd5a57Smrg $RM -r conftest 189140dd5a57Smrg $RM conftest* 189240dd5a57Smrg]) 189340dd5a57Smrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 189440dd5a57Smrg [Does compiler simultaneously support -c and -o options?]) 189540dd5a57Smrg])# _LT_COMPILER_C_O 189640dd5a57Smrg 189740dd5a57Smrg 189840dd5a57Smrg# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 189940dd5a57Smrg# ---------------------------------- 190040dd5a57Smrg# Check to see if we can do hard links to lock some files if needed 190140dd5a57Smrgm4_defun([_LT_COMPILER_FILE_LOCKS], 190240dd5a57Smrg[m4_require([_LT_ENABLE_LOCK])dnl 190340dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 190440dd5a57Smrg_LT_COMPILER_C_O([$1]) 190540dd5a57Smrg 190640dd5a57Smrghard_links="nottested" 190740dd5a57Smrgif test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then 190840dd5a57Smrg # do not overwrite the value of need_locks provided by the user 190940dd5a57Smrg AC_MSG_CHECKING([if we can lock with hard links]) 191040dd5a57Smrg hard_links=yes 191140dd5a57Smrg $RM conftest* 191240dd5a57Smrg ln conftest.a conftest.b 2>/dev/null && hard_links=no 191340dd5a57Smrg touch conftest.a 191440dd5a57Smrg ln conftest.a conftest.b 2>&5 || hard_links=no 191540dd5a57Smrg ln conftest.a conftest.b 2>/dev/null && hard_links=no 191640dd5a57Smrg AC_MSG_RESULT([$hard_links]) 191740dd5a57Smrg if test "$hard_links" = no; then 191840dd5a57Smrg AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) 191940dd5a57Smrg need_locks=warn 192040dd5a57Smrg fi 192140dd5a57Smrgelse 192240dd5a57Smrg need_locks=no 192340dd5a57Smrgfi 192440dd5a57Smrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 192540dd5a57Smrg])# _LT_COMPILER_FILE_LOCKS 192640dd5a57Smrg 192740dd5a57Smrg 192840dd5a57Smrg# _LT_CHECK_OBJDIR 192940dd5a57Smrg# ---------------- 193040dd5a57Smrgm4_defun([_LT_CHECK_OBJDIR], 193140dd5a57Smrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 193240dd5a57Smrg[rm -f .libs 2>/dev/null 193340dd5a57Smrgmkdir .libs 2>/dev/null 193440dd5a57Smrgif test -d .libs; then 193540dd5a57Smrg lt_cv_objdir=.libs 193640dd5a57Smrgelse 193740dd5a57Smrg # MS-DOS does not allow filenames that begin with a dot. 193840dd5a57Smrg lt_cv_objdir=_libs 193940dd5a57Smrgfi 194040dd5a57Smrgrmdir .libs 2>/dev/null]) 194140dd5a57Smrgobjdir=$lt_cv_objdir 194240dd5a57Smrg_LT_DECL([], [objdir], [0], 194340dd5a57Smrg [The name of the directory that contains temporary libtool files])dnl 194440dd5a57Smrgm4_pattern_allow([LT_OBJDIR])dnl 194540dd5a57SmrgAC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", 194640dd5a57Smrg [Define to the sub-directory in which libtool stores uninstalled libraries.]) 194740dd5a57Smrg])# _LT_CHECK_OBJDIR 194840dd5a57Smrg 194940dd5a57Smrg 195040dd5a57Smrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 195140dd5a57Smrg# -------------------------------------- 195240dd5a57Smrg# Check hardcoding attributes. 195340dd5a57Smrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH], 195440dd5a57Smrg[AC_MSG_CHECKING([how to hardcode library paths into programs]) 195540dd5a57Smrg_LT_TAGVAR(hardcode_action, $1)= 195640dd5a57Smrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 195740dd5a57Smrg test -n "$_LT_TAGVAR(runpath_var, $1)" || 195840dd5a57Smrg test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then 195940dd5a57Smrg 196040dd5a57Smrg # We can hardcode non-existent directories. 196140dd5a57Smrg if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && 196240dd5a57Smrg # If the only mechanism to avoid hardcoding is shlibpath_var, we 196340dd5a57Smrg # have to relink, otherwise we might link with an installed library 196440dd5a57Smrg # when we should be linking with a yet-to-be-installed one 196540dd5a57Smrg ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && 196640dd5a57Smrg test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then 196740dd5a57Smrg # Linking always hardcodes the temporary library directory. 196840dd5a57Smrg _LT_TAGVAR(hardcode_action, $1)=relink 196940dd5a57Smrg else 197040dd5a57Smrg # We can link without hardcoding, and we can hardcode nonexisting dirs. 197140dd5a57Smrg _LT_TAGVAR(hardcode_action, $1)=immediate 197240dd5a57Smrg fi 197340dd5a57Smrgelse 197440dd5a57Smrg # We cannot hardcode anything, or else we can only hardcode existing 197540dd5a57Smrg # directories. 197640dd5a57Smrg _LT_TAGVAR(hardcode_action, $1)=unsupported 197740dd5a57Smrgfi 197840dd5a57SmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 197940dd5a57Smrg 198040dd5a57Smrgif test "$_LT_TAGVAR(hardcode_action, $1)" = relink || 198140dd5a57Smrg test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then 198240dd5a57Smrg # Fast installation is not supported 198340dd5a57Smrg enable_fast_install=no 198440dd5a57Smrgelif test "$shlibpath_overrides_runpath" = yes || 198540dd5a57Smrg test "$enable_shared" = no; then 198640dd5a57Smrg # Fast installation is not necessary 198740dd5a57Smrg enable_fast_install=needless 198840dd5a57Smrgfi 198940dd5a57Smrg_LT_TAGDECL([], [hardcode_action], [0], 199040dd5a57Smrg [How to hardcode a shared library path into an executable]) 199140dd5a57Smrg])# _LT_LINKER_HARDCODE_LIBPATH 199240dd5a57Smrg 199340dd5a57Smrg 199440dd5a57Smrg# _LT_CMD_STRIPLIB 199540dd5a57Smrg# ---------------- 199640dd5a57Smrgm4_defun([_LT_CMD_STRIPLIB], 199740dd5a57Smrg[m4_require([_LT_DECL_EGREP]) 199840dd5a57Smrgstriplib= 199940dd5a57Smrgold_striplib= 200040dd5a57SmrgAC_MSG_CHECKING([whether stripping libraries is possible]) 200140dd5a57Smrgif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 200240dd5a57Smrg test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 200340dd5a57Smrg test -z "$striplib" && striplib="$STRIP --strip-unneeded" 200440dd5a57Smrg AC_MSG_RESULT([yes]) 200540dd5a57Smrgelse 200640dd5a57Smrg# FIXME - insert some real tests, host_os isn't really good enough 200740dd5a57Smrg case $host_os in 200840dd5a57Smrg darwin*) 200940dd5a57Smrg if test -n "$STRIP" ; then 201040dd5a57Smrg striplib="$STRIP -x" 201140dd5a57Smrg old_striplib="$STRIP -S" 201240dd5a57Smrg AC_MSG_RESULT([yes]) 201340dd5a57Smrg else 201440dd5a57Smrg AC_MSG_RESULT([no]) 201540dd5a57Smrg fi 201640dd5a57Smrg ;; 201740dd5a57Smrg *) 201840dd5a57Smrg AC_MSG_RESULT([no]) 201940dd5a57Smrg ;; 202040dd5a57Smrg esac 202140dd5a57Smrgfi 202240dd5a57Smrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 202340dd5a57Smrg_LT_DECL([], [striplib], [1]) 202440dd5a57Smrg])# _LT_CMD_STRIPLIB 202540dd5a57Smrg 202640dd5a57Smrg 202740dd5a57Smrg# _LT_SYS_DYNAMIC_LINKER([TAG]) 202840dd5a57Smrg# ----------------------------- 202940dd5a57Smrg# PORTME Fill in your ld.so characteristics 203040dd5a57Smrgm4_defun([_LT_SYS_DYNAMIC_LINKER], 203140dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 203240dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl 203340dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 203440dd5a57Smrgm4_require([_LT_DECL_OBJDUMP])dnl 203540dd5a57Smrgm4_require([_LT_DECL_SED])dnl 203640dd5a57Smrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl 203740dd5a57SmrgAC_MSG_CHECKING([dynamic linker characteristics]) 203840dd5a57Smrgm4_if([$1], 203940dd5a57Smrg [], [ 204040dd5a57Smrgif test "$GCC" = yes; then 204140dd5a57Smrg case $host_os in 204240dd5a57Smrg darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; 204340dd5a57Smrg *) lt_awk_arg="/^libraries:/" ;; 204440dd5a57Smrg esac 204540dd5a57Smrg case $host_os in 204640dd5a57Smrg mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; 204740dd5a57Smrg *) lt_sed_strip_eq="s,=/,/,g" ;; 204840dd5a57Smrg esac 204940dd5a57Smrg lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` 205040dd5a57Smrg case $lt_search_path_spec in 205140dd5a57Smrg *\;*) 205240dd5a57Smrg # if the path contains ";" then we assume it to be the separator 205340dd5a57Smrg # otherwise default to the standard path separator (i.e. ":") - it is 205440dd5a57Smrg # assumed that no part of a normal pathname contains ";" but that should 205540dd5a57Smrg # okay in the real world where ";" in dirpaths is itself problematic. 205640dd5a57Smrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` 205740dd5a57Smrg ;; 205840dd5a57Smrg *) 205940dd5a57Smrg lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` 206040dd5a57Smrg ;; 206140dd5a57Smrg esac 206240dd5a57Smrg # Ok, now we have the path, separated by spaces, we can step through it 206340dd5a57Smrg # and add multilib dir if necessary. 206440dd5a57Smrg lt_tmp_lt_search_path_spec= 206540dd5a57Smrg lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 206640dd5a57Smrg for lt_sys_path in $lt_search_path_spec; do 206740dd5a57Smrg if test -d "$lt_sys_path/$lt_multi_os_dir"; then 206840dd5a57Smrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" 206940dd5a57Smrg else 207040dd5a57Smrg test -d "$lt_sys_path" && \ 207140dd5a57Smrg lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 207240dd5a57Smrg fi 207340dd5a57Smrg done 207440dd5a57Smrg lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' 207540dd5a57SmrgBEGIN {RS=" "; FS="/|\n";} { 207640dd5a57Smrg lt_foo=""; 207740dd5a57Smrg lt_count=0; 207840dd5a57Smrg for (lt_i = NF; lt_i > 0; lt_i--) { 207940dd5a57Smrg if ($lt_i != "" && $lt_i != ".") { 208040dd5a57Smrg if ($lt_i == "..") { 208140dd5a57Smrg lt_count++; 208240dd5a57Smrg } else { 208340dd5a57Smrg if (lt_count == 0) { 208440dd5a57Smrg lt_foo="/" $lt_i lt_foo; 208540dd5a57Smrg } else { 208640dd5a57Smrg lt_count--; 208740dd5a57Smrg } 208840dd5a57Smrg } 208940dd5a57Smrg } 209040dd5a57Smrg } 209140dd5a57Smrg if (lt_foo != "") { lt_freq[[lt_foo]]++; } 209240dd5a57Smrg if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 209340dd5a57Smrg}'` 209440dd5a57Smrg # AWK program above erroneously prepends '/' to C:/dos/paths 209540dd5a57Smrg # for these hosts. 209640dd5a57Smrg case $host_os in 209740dd5a57Smrg mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ 209840dd5a57Smrg $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; 209940dd5a57Smrg esac 210040dd5a57Smrg sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` 210140dd5a57Smrgelse 210240dd5a57Smrg sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 210340dd5a57Smrgfi]) 210440dd5a57Smrglibrary_names_spec= 210540dd5a57Smrglibname_spec='lib$name' 210640dd5a57Smrgsoname_spec= 210740dd5a57Smrgshrext_cmds=".so" 210840dd5a57Smrgpostinstall_cmds= 210940dd5a57Smrgpostuninstall_cmds= 211040dd5a57Smrgfinish_cmds= 211140dd5a57Smrgfinish_eval= 211240dd5a57Smrgshlibpath_var= 211340dd5a57Smrgshlibpath_overrides_runpath=unknown 211440dd5a57Smrgversion_type=none 211540dd5a57Smrgdynamic_linker="$host_os ld.so" 211640dd5a57Smrgsys_lib_dlsearch_path_spec="/lib /usr/lib" 211740dd5a57Smrgneed_lib_prefix=unknown 211840dd5a57Smrghardcode_into_libs=no 211940dd5a57Smrg 212040dd5a57Smrg# when you set need_version to no, make sure it does not cause -set_version 212140dd5a57Smrg# flags to be left without arguments 212240dd5a57Smrgneed_version=unknown 212340dd5a57Smrg 212440dd5a57Smrgcase $host_os in 212540dd5a57Smrgaix3*) 212640dd5a57Smrg version_type=linux 212740dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' 212840dd5a57Smrg shlibpath_var=LIBPATH 212940dd5a57Smrg 213040dd5a57Smrg # AIX 3 has no versioning support, so we append a major version to the name. 213140dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 213240dd5a57Smrg ;; 213340dd5a57Smrg 213440dd5a57Smrgaix[[4-9]]*) 213540dd5a57Smrg version_type=linux 213640dd5a57Smrg need_lib_prefix=no 213740dd5a57Smrg need_version=no 213840dd5a57Smrg hardcode_into_libs=yes 213940dd5a57Smrg if test "$host_cpu" = ia64; then 214040dd5a57Smrg # AIX 5 supports IA64 214140dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' 214240dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 214340dd5a57Smrg else 214440dd5a57Smrg # With GCC up to 2.95.x, collect2 would create an import file 214540dd5a57Smrg # for dependence libraries. The import file would start with 214640dd5a57Smrg # the line `#! .'. This would cause the generated library to 214740dd5a57Smrg # depend on `.', always an invalid library. This was fixed in 214840dd5a57Smrg # development snapshots of GCC prior to 3.0. 214940dd5a57Smrg case $host_os in 215040dd5a57Smrg aix4 | aix4.[[01]] | aix4.[[01]].*) 215140dd5a57Smrg if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 215240dd5a57Smrg echo ' yes ' 215340dd5a57Smrg echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then 215440dd5a57Smrg : 215540dd5a57Smrg else 215640dd5a57Smrg can_build_shared=no 215740dd5a57Smrg fi 215840dd5a57Smrg ;; 215940dd5a57Smrg esac 216040dd5a57Smrg # AIX (on Power*) has no versioning support, so currently we can not hardcode correct 216140dd5a57Smrg # soname into executable. Probably we can add versioning support to 216240dd5a57Smrg # collect2, so additional links can be useful in future. 216340dd5a57Smrg if test "$aix_use_runtimelinking" = yes; then 216440dd5a57Smrg # If using run time linking (on AIX 4.2 or later) use lib<name>.so 216540dd5a57Smrg # instead of lib<name>.a to let people know that these are not 216640dd5a57Smrg # typical AIX shared libraries. 216740dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 216840dd5a57Smrg else 216940dd5a57Smrg # We preserve .a as extension for shared libraries through AIX4.2 217040dd5a57Smrg # and later when we are not doing run time linking. 217140dd5a57Smrg library_names_spec='${libname}${release}.a $libname.a' 217240dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 217340dd5a57Smrg fi 217440dd5a57Smrg shlibpath_var=LIBPATH 217540dd5a57Smrg fi 217640dd5a57Smrg ;; 217740dd5a57Smrg 217840dd5a57Smrgamigaos*) 217940dd5a57Smrg case $host_cpu in 218040dd5a57Smrg powerpc) 218140dd5a57Smrg # Since July 2007 AmigaOS4 officially supports .so libraries. 218240dd5a57Smrg # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 218340dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 218440dd5a57Smrg ;; 218540dd5a57Smrg m68k) 218640dd5a57Smrg library_names_spec='$libname.ixlibrary $libname.a' 218740dd5a57Smrg # Create ${libname}_ixlibrary.a entries in /sys/libs. 218840dd5a57Smrg finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' 218940dd5a57Smrg ;; 219040dd5a57Smrg esac 219140dd5a57Smrg ;; 219240dd5a57Smrg 219340dd5a57Smrgbeos*) 219440dd5a57Smrg library_names_spec='${libname}${shared_ext}' 219540dd5a57Smrg dynamic_linker="$host_os ld.so" 219640dd5a57Smrg shlibpath_var=LIBRARY_PATH 219740dd5a57Smrg ;; 219840dd5a57Smrg 219940dd5a57Smrgbsdi[[45]]*) 220040dd5a57Smrg version_type=linux 220140dd5a57Smrg need_version=no 220240dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 220340dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 220440dd5a57Smrg finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 220540dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 220640dd5a57Smrg sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 220740dd5a57Smrg sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 220840dd5a57Smrg # the default ld.so.conf also contains /usr/contrib/lib and 220940dd5a57Smrg # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 221040dd5a57Smrg # libtool to hard-code these into programs 221140dd5a57Smrg ;; 221240dd5a57Smrg 221340dd5a57Smrgcygwin* | mingw* | pw32* | cegcc*) 221440dd5a57Smrg version_type=windows 221540dd5a57Smrg shrext_cmds=".dll" 221640dd5a57Smrg need_version=no 221740dd5a57Smrg need_lib_prefix=no 221840dd5a57Smrg 221940dd5a57Smrg case $GCC,$host_os in 222040dd5a57Smrg yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) 222140dd5a57Smrg library_names_spec='$libname.dll.a' 222240dd5a57Smrg # DLL is installed to $(libdir)/../bin by postinstall_cmds 222340dd5a57Smrg postinstall_cmds='base_file=`basename \${file}`~ 222440dd5a57Smrg dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ 222540dd5a57Smrg dldir=$destdir/`dirname \$dlpath`~ 222640dd5a57Smrg test -d \$dldir || mkdir -p \$dldir~ 222740dd5a57Smrg $install_prog $dir/$dlname \$dldir/$dlname~ 222840dd5a57Smrg chmod a+x \$dldir/$dlname~ 222940dd5a57Smrg if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 223040dd5a57Smrg eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 223140dd5a57Smrg fi' 223240dd5a57Smrg postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 223340dd5a57Smrg dlpath=$dir/\$dldll~ 223440dd5a57Smrg $RM \$dlpath' 223540dd5a57Smrg shlibpath_overrides_runpath=yes 223640dd5a57Smrg 223740dd5a57Smrg case $host_os in 223840dd5a57Smrg cygwin*) 223940dd5a57Smrg # Cygwin DLLs use 'cyg' prefix rather than 'lib' 224040dd5a57Smrg soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 224140dd5a57Smrgm4_if([$1], [],[ 224240dd5a57Smrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) 224340dd5a57Smrg ;; 224440dd5a57Smrg mingw* | cegcc*) 224540dd5a57Smrg # MinGW DLLs use traditional 'lib' prefix 224640dd5a57Smrg soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 224740dd5a57Smrg ;; 224840dd5a57Smrg pw32*) 224940dd5a57Smrg # pw32 DLLs use 'pw' prefix rather than 'lib' 225040dd5a57Smrg library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 225140dd5a57Smrg ;; 225240dd5a57Smrg esac 225340dd5a57Smrg ;; 225440dd5a57Smrg 225540dd5a57Smrg *) 225640dd5a57Smrg library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' 225740dd5a57Smrg ;; 225840dd5a57Smrg esac 225940dd5a57Smrg dynamic_linker='Win32 ld.exe' 226040dd5a57Smrg # FIXME: first we should search . and the directory the executable is in 226140dd5a57Smrg shlibpath_var=PATH 226240dd5a57Smrg ;; 226340dd5a57Smrg 226440dd5a57Smrgdarwin* | rhapsody*) 226540dd5a57Smrg dynamic_linker="$host_os dyld" 226640dd5a57Smrg version_type=darwin 226740dd5a57Smrg need_lib_prefix=no 226840dd5a57Smrg need_version=no 226940dd5a57Smrg library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' 227040dd5a57Smrg soname_spec='${libname}${release}${major}$shared_ext' 227140dd5a57Smrg shlibpath_overrides_runpath=yes 227240dd5a57Smrg shlibpath_var=DYLD_LIBRARY_PATH 227340dd5a57Smrg shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 227440dd5a57Smrgm4_if([$1], [],[ 227540dd5a57Smrg sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 227640dd5a57Smrg sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 227740dd5a57Smrg ;; 227840dd5a57Smrg 227940dd5a57Smrgdgux*) 228040dd5a57Smrg version_type=linux 228140dd5a57Smrg need_lib_prefix=no 228240dd5a57Smrg need_version=no 228340dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' 228440dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 228540dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 228640dd5a57Smrg ;; 228740dd5a57Smrg 228840dd5a57Smrgfreebsd1*) 228940dd5a57Smrg dynamic_linker=no 229040dd5a57Smrg ;; 229140dd5a57Smrg 229240dd5a57Smrgfreebsd* | dragonfly*) 229340dd5a57Smrg # DragonFly does not have aout. When/if they implement a new 229440dd5a57Smrg # versioning mechanism, adjust this. 229540dd5a57Smrg if test -x /usr/bin/objformat; then 229640dd5a57Smrg objformat=`/usr/bin/objformat` 229740dd5a57Smrg else 229840dd5a57Smrg case $host_os in 229940dd5a57Smrg freebsd[[123]]*) objformat=aout ;; 230040dd5a57Smrg *) objformat=elf ;; 230140dd5a57Smrg esac 230240dd5a57Smrg fi 230340dd5a57Smrg version_type=freebsd-$objformat 230440dd5a57Smrg case $version_type in 230540dd5a57Smrg freebsd-elf*) 230640dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 230740dd5a57Smrg need_version=no 230840dd5a57Smrg need_lib_prefix=no 230940dd5a57Smrg ;; 231040dd5a57Smrg freebsd-*) 231140dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' 231240dd5a57Smrg need_version=yes 231340dd5a57Smrg ;; 231440dd5a57Smrg esac 231540dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 231640dd5a57Smrg case $host_os in 231740dd5a57Smrg freebsd2*) 231840dd5a57Smrg shlibpath_overrides_runpath=yes 231940dd5a57Smrg ;; 232040dd5a57Smrg freebsd3.[[01]]* | freebsdelf3.[[01]]*) 232140dd5a57Smrg shlibpath_overrides_runpath=yes 232240dd5a57Smrg hardcode_into_libs=yes 232340dd5a57Smrg ;; 232440dd5a57Smrg freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 232540dd5a57Smrg freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 232640dd5a57Smrg shlibpath_overrides_runpath=no 232740dd5a57Smrg hardcode_into_libs=yes 232840dd5a57Smrg ;; 232940dd5a57Smrg *) # from 4.6 on, and DragonFly 233040dd5a57Smrg shlibpath_overrides_runpath=yes 233140dd5a57Smrg hardcode_into_libs=yes 233240dd5a57Smrg ;; 233340dd5a57Smrg esac 233440dd5a57Smrg ;; 233540dd5a57Smrg 233640dd5a57Smrggnu*) 233740dd5a57Smrg version_type=linux 233840dd5a57Smrg need_lib_prefix=no 233940dd5a57Smrg need_version=no 234040dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' 234140dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 234240dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 234340dd5a57Smrg hardcode_into_libs=yes 234440dd5a57Smrg ;; 234540dd5a57Smrg 234640dd5a57Smrghaiku*) 234740dd5a57Smrg version_type=linux 234840dd5a57Smrg need_lib_prefix=no 234940dd5a57Smrg need_version=no 235040dd5a57Smrg dynamic_linker="$host_os runtime_loader" 235140dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' 235240dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 235340dd5a57Smrg shlibpath_var=LIBRARY_PATH 235440dd5a57Smrg shlibpath_overrides_runpath=yes 235540dd5a57Smrg sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' 235640dd5a57Smrg hardcode_into_libs=yes 235740dd5a57Smrg ;; 235840dd5a57Smrg 235940dd5a57Smrghpux9* | hpux10* | hpux11*) 236040dd5a57Smrg # Give a soname corresponding to the major version so that dld.sl refuses to 236140dd5a57Smrg # link against other versions. 236240dd5a57Smrg version_type=sunos 236340dd5a57Smrg need_lib_prefix=no 236440dd5a57Smrg need_version=no 236540dd5a57Smrg case $host_cpu in 236640dd5a57Smrg ia64*) 236740dd5a57Smrg shrext_cmds='.so' 236840dd5a57Smrg hardcode_into_libs=yes 236940dd5a57Smrg dynamic_linker="$host_os dld.so" 237040dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 237140dd5a57Smrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 237240dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 237340dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 237440dd5a57Smrg if test "X$HPUX_IA64_MODE" = X32; then 237540dd5a57Smrg sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 237640dd5a57Smrg else 237740dd5a57Smrg sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 237840dd5a57Smrg fi 237940dd5a57Smrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 238040dd5a57Smrg ;; 238140dd5a57Smrg hppa*64*) 238240dd5a57Smrg shrext_cmds='.sl' 238340dd5a57Smrg hardcode_into_libs=yes 238440dd5a57Smrg dynamic_linker="$host_os dld.sl" 238540dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 238640dd5a57Smrg shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 238740dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 238840dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 238940dd5a57Smrg sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 239040dd5a57Smrg sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 239140dd5a57Smrg ;; 239240dd5a57Smrg *) 239340dd5a57Smrg shrext_cmds='.sl' 239440dd5a57Smrg dynamic_linker="$host_os dld.sl" 239540dd5a57Smrg shlibpath_var=SHLIB_PATH 239640dd5a57Smrg shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 239740dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 239840dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 239940dd5a57Smrg ;; 240040dd5a57Smrg esac 240140dd5a57Smrg # HP-UX runs *really* slowly unless shared libraries are mode 555, ... 240240dd5a57Smrg postinstall_cmds='chmod 555 $lib' 240340dd5a57Smrg # or fails outright, so override atomically: 240440dd5a57Smrg install_override_mode=555 240540dd5a57Smrg ;; 240640dd5a57Smrg 240740dd5a57Smrginterix[[3-9]]*) 240840dd5a57Smrg version_type=linux 240940dd5a57Smrg need_lib_prefix=no 241040dd5a57Smrg need_version=no 241140dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 241240dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 241340dd5a57Smrg dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 241440dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 241540dd5a57Smrg shlibpath_overrides_runpath=no 241640dd5a57Smrg hardcode_into_libs=yes 241740dd5a57Smrg ;; 241840dd5a57Smrg 241940dd5a57Smrgirix5* | irix6* | nonstopux*) 242040dd5a57Smrg case $host_os in 242140dd5a57Smrg nonstopux*) version_type=nonstopux ;; 242240dd5a57Smrg *) 242340dd5a57Smrg if test "$lt_cv_prog_gnu_ld" = yes; then 242440dd5a57Smrg version_type=linux 242540dd5a57Smrg else 242640dd5a57Smrg version_type=irix 242740dd5a57Smrg fi ;; 242840dd5a57Smrg esac 242940dd5a57Smrg need_lib_prefix=no 243040dd5a57Smrg need_version=no 243140dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 243240dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' 243340dd5a57Smrg case $host_os in 243440dd5a57Smrg irix5* | nonstopux*) 243540dd5a57Smrg libsuff= shlibsuff= 243640dd5a57Smrg ;; 243740dd5a57Smrg *) 243840dd5a57Smrg case $LD in # libtool.m4 will add one of these switches to LD 243940dd5a57Smrg *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 244040dd5a57Smrg libsuff= shlibsuff= libmagic=32-bit;; 244140dd5a57Smrg *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 244240dd5a57Smrg libsuff=32 shlibsuff=N32 libmagic=N32;; 244340dd5a57Smrg *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 244440dd5a57Smrg libsuff=64 shlibsuff=64 libmagic=64-bit;; 244540dd5a57Smrg *) libsuff= shlibsuff= libmagic=never-match;; 244640dd5a57Smrg esac 244740dd5a57Smrg ;; 244840dd5a57Smrg esac 244940dd5a57Smrg shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 245040dd5a57Smrg shlibpath_overrides_runpath=no 245140dd5a57Smrg sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" 245240dd5a57Smrg sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" 245340dd5a57Smrg hardcode_into_libs=yes 245440dd5a57Smrg ;; 245540dd5a57Smrg 245640dd5a57Smrg# No shared lib support for Linux oldld, aout, or coff. 245740dd5a57Smrglinux*oldld* | linux*aout* | linux*coff*) 245840dd5a57Smrg dynamic_linker=no 245940dd5a57Smrg ;; 246040dd5a57Smrg 246140dd5a57Smrg# This must be Linux ELF. 246240dd5a57Smrglinux* | k*bsd*-gnu | kopensolaris*-gnu) 246340dd5a57Smrg version_type=linux 246440dd5a57Smrg need_lib_prefix=no 246540dd5a57Smrg need_version=no 246640dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 246740dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 246840dd5a57Smrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 246940dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 247040dd5a57Smrg shlibpath_overrides_runpath=no 247140dd5a57Smrg 247240dd5a57Smrg # Some binutils ld are patched to set DT_RUNPATH 247340dd5a57Smrg AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], 247440dd5a57Smrg [lt_cv_shlibpath_overrides_runpath=no 247540dd5a57Smrg save_LDFLAGS=$LDFLAGS 247640dd5a57Smrg save_libdir=$libdir 247740dd5a57Smrg eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 247840dd5a57Smrg LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 247940dd5a57Smrg AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 248040dd5a57Smrg [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 248140dd5a57Smrg [lt_cv_shlibpath_overrides_runpath=yes])]) 248240dd5a57Smrg LDFLAGS=$save_LDFLAGS 248340dd5a57Smrg libdir=$save_libdir 248440dd5a57Smrg ]) 248540dd5a57Smrg shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath 248640dd5a57Smrg 248740dd5a57Smrg # This implies no fast_install, which is unacceptable. 248840dd5a57Smrg # Some rework will be needed to allow for fast_install 248940dd5a57Smrg # before this can be enabled. 249040dd5a57Smrg hardcode_into_libs=yes 249140dd5a57Smrg 249240dd5a57Smrg # Add ABI-specific directories to the system library path. 249340dd5a57Smrg sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" 249440dd5a57Smrg 249540dd5a57Smrg # Append ld.so.conf contents to the search path 249640dd5a57Smrg if test -f /etc/ld.so.conf; then 249740dd5a57Smrg lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` 249840dd5a57Smrg sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" 249940dd5a57Smrg 250040dd5a57Smrg fi 250140dd5a57Smrg 250240dd5a57Smrg # We used to test for /lib/ld.so.1 and disable shared libraries on 250340dd5a57Smrg # powerpc, because MkLinux only supported shared libraries with the 250440dd5a57Smrg # GNU dynamic linker. Since this was broken with cross compilers, 250540dd5a57Smrg # most powerpc-linux boxes support dynamic linking these days and 250640dd5a57Smrg # people can always --disable-shared, the test was removed, and we 250740dd5a57Smrg # assume the GNU/Linux dynamic linker is in use. 250840dd5a57Smrg dynamic_linker='GNU/Linux ld.so' 250940dd5a57Smrg ;; 251040dd5a57Smrg 251140dd5a57Smrgnetbsd*) 251240dd5a57Smrg version_type=sunos 251340dd5a57Smrg need_lib_prefix=no 251440dd5a57Smrg need_version=no 251540dd5a57Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 251640dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 251740dd5a57Smrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 251840dd5a57Smrg dynamic_linker='NetBSD (a.out) ld.so' 251940dd5a57Smrg else 252040dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 252140dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 252240dd5a57Smrg dynamic_linker='NetBSD ld.elf_so' 252340dd5a57Smrg fi 252440dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 252540dd5a57Smrg shlibpath_overrides_runpath=yes 252640dd5a57Smrg hardcode_into_libs=yes 252740dd5a57Smrg ;; 252840dd5a57Smrg 252940dd5a57Smrgnewsos6) 253040dd5a57Smrg version_type=linux 253140dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 253240dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 253340dd5a57Smrg shlibpath_overrides_runpath=yes 253440dd5a57Smrg ;; 253540dd5a57Smrg 253640dd5a57Smrg*nto* | *qnx*) 253740dd5a57Smrg version_type=qnx 253840dd5a57Smrg need_lib_prefix=no 253940dd5a57Smrg need_version=no 254040dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 254140dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 254240dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 254340dd5a57Smrg shlibpath_overrides_runpath=no 254440dd5a57Smrg hardcode_into_libs=yes 254540dd5a57Smrg dynamic_linker='ldqnx.so' 254640dd5a57Smrg ;; 254740dd5a57Smrg 254840dd5a57Smrgopenbsd*) 254940dd5a57Smrg version_type=sunos 255040dd5a57Smrg sys_lib_dlsearch_path_spec="/usr/lib" 255140dd5a57Smrg need_lib_prefix=no 255240dd5a57Smrg # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. 255340dd5a57Smrg case $host_os in 255440dd5a57Smrg openbsd3.3 | openbsd3.3.*) need_version=yes ;; 255540dd5a57Smrg *) need_version=no ;; 255640dd5a57Smrg esac 255740dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 255840dd5a57Smrg finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 255940dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 256040dd5a57Smrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 256140dd5a57Smrg case $host_os in 256240dd5a57Smrg openbsd2.[[89]] | openbsd2.[[89]].*) 256340dd5a57Smrg shlibpath_overrides_runpath=no 256440dd5a57Smrg ;; 256540dd5a57Smrg *) 256640dd5a57Smrg shlibpath_overrides_runpath=yes 256740dd5a57Smrg ;; 256840dd5a57Smrg esac 256940dd5a57Smrg else 257040dd5a57Smrg shlibpath_overrides_runpath=yes 257140dd5a57Smrg fi 257240dd5a57Smrg ;; 257340dd5a57Smrg 257440dd5a57Smrgos2*) 257540dd5a57Smrg libname_spec='$name' 257640dd5a57Smrg shrext_cmds=".dll" 257740dd5a57Smrg need_lib_prefix=no 257840dd5a57Smrg library_names_spec='$libname${shared_ext} $libname.a' 257940dd5a57Smrg dynamic_linker='OS/2 ld.exe' 258040dd5a57Smrg shlibpath_var=LIBPATH 258140dd5a57Smrg ;; 258240dd5a57Smrg 258340dd5a57Smrgosf3* | osf4* | osf5*) 258440dd5a57Smrg version_type=osf 258540dd5a57Smrg need_lib_prefix=no 258640dd5a57Smrg need_version=no 258740dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 258840dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 258940dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 259040dd5a57Smrg sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 259140dd5a57Smrg sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" 259240dd5a57Smrg ;; 259340dd5a57Smrg 259440dd5a57Smrgrdos*) 259540dd5a57Smrg dynamic_linker=no 259640dd5a57Smrg ;; 259740dd5a57Smrg 259840dd5a57Smrgsolaris*) 259940dd5a57Smrg version_type=linux 260040dd5a57Smrg need_lib_prefix=no 260140dd5a57Smrg need_version=no 260240dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 260340dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 260440dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 260540dd5a57Smrg shlibpath_overrides_runpath=yes 260640dd5a57Smrg hardcode_into_libs=yes 260740dd5a57Smrg # ldd complains unless libraries are executable 260840dd5a57Smrg postinstall_cmds='chmod +x $lib' 260940dd5a57Smrg ;; 261040dd5a57Smrg 261140dd5a57Smrgsunos4*) 261240dd5a57Smrg version_type=sunos 261340dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 261440dd5a57Smrg finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 261540dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 261640dd5a57Smrg shlibpath_overrides_runpath=yes 261740dd5a57Smrg if test "$with_gnu_ld" = yes; then 261840dd5a57Smrg need_lib_prefix=no 261940dd5a57Smrg fi 262040dd5a57Smrg need_version=yes 262140dd5a57Smrg ;; 262240dd5a57Smrg 262340dd5a57Smrgsysv4 | sysv4.3*) 262440dd5a57Smrg version_type=linux 262540dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 262640dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 262740dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 262840dd5a57Smrg case $host_vendor in 262940dd5a57Smrg sni) 263040dd5a57Smrg shlibpath_overrides_runpath=no 263140dd5a57Smrg need_lib_prefix=no 263240dd5a57Smrg runpath_var=LD_RUN_PATH 263340dd5a57Smrg ;; 263440dd5a57Smrg siemens) 263540dd5a57Smrg need_lib_prefix=no 263640dd5a57Smrg ;; 263740dd5a57Smrg motorola) 263840dd5a57Smrg need_lib_prefix=no 263940dd5a57Smrg need_version=no 264040dd5a57Smrg shlibpath_overrides_runpath=no 264140dd5a57Smrg sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 264240dd5a57Smrg ;; 264340dd5a57Smrg esac 264440dd5a57Smrg ;; 264540dd5a57Smrg 264640dd5a57Smrgsysv4*MP*) 264740dd5a57Smrg if test -d /usr/nec ;then 264840dd5a57Smrg version_type=linux 264940dd5a57Smrg library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' 265040dd5a57Smrg soname_spec='$libname${shared_ext}.$major' 265140dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 265240dd5a57Smrg fi 265340dd5a57Smrg ;; 265440dd5a57Smrg 265540dd5a57Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 265640dd5a57Smrg version_type=freebsd-elf 265740dd5a57Smrg need_lib_prefix=no 265840dd5a57Smrg need_version=no 265940dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 266040dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 266140dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 266240dd5a57Smrg shlibpath_overrides_runpath=yes 266340dd5a57Smrg hardcode_into_libs=yes 266440dd5a57Smrg if test "$with_gnu_ld" = yes; then 266540dd5a57Smrg sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 266640dd5a57Smrg else 266740dd5a57Smrg sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 266840dd5a57Smrg case $host_os in 266940dd5a57Smrg sco3.2v5*) 267040dd5a57Smrg sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 267140dd5a57Smrg ;; 267240dd5a57Smrg esac 267340dd5a57Smrg fi 267440dd5a57Smrg sys_lib_dlsearch_path_spec='/usr/lib' 267540dd5a57Smrg ;; 267640dd5a57Smrg 267740dd5a57Smrgtpf*) 267840dd5a57Smrg # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 267940dd5a57Smrg version_type=linux 268040dd5a57Smrg need_lib_prefix=no 268140dd5a57Smrg need_version=no 268240dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 268340dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 268440dd5a57Smrg shlibpath_overrides_runpath=no 268540dd5a57Smrg hardcode_into_libs=yes 268640dd5a57Smrg ;; 268740dd5a57Smrg 268840dd5a57Smrguts4*) 268940dd5a57Smrg version_type=linux 269040dd5a57Smrg library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 269140dd5a57Smrg soname_spec='${libname}${release}${shared_ext}$major' 269240dd5a57Smrg shlibpath_var=LD_LIBRARY_PATH 269340dd5a57Smrg ;; 269440dd5a57Smrg 269540dd5a57Smrg*) 269640dd5a57Smrg dynamic_linker=no 269740dd5a57Smrg ;; 269840dd5a57Smrgesac 269940dd5a57SmrgAC_MSG_RESULT([$dynamic_linker]) 270040dd5a57Smrgtest "$dynamic_linker" = no && can_build_shared=no 270140dd5a57Smrg 270240dd5a57Smrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var" 270340dd5a57Smrgif test "$GCC" = yes; then 270440dd5a57Smrg variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 270540dd5a57Smrgfi 270640dd5a57Smrg 270740dd5a57Smrgif test "${lt_cv_sys_lib_search_path_spec+set}" = set; then 270840dd5a57Smrg sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" 270940dd5a57Smrgfi 271040dd5a57Smrgif test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then 271140dd5a57Smrg sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" 271240dd5a57Smrgfi 271340dd5a57Smrg 271440dd5a57Smrg_LT_DECL([], [variables_saved_for_relink], [1], 271540dd5a57Smrg [Variables whose values should be saved in libtool wrapper scripts and 271640dd5a57Smrg restored at link time]) 271740dd5a57Smrg_LT_DECL([], [need_lib_prefix], [0], 271840dd5a57Smrg [Do we need the "lib" prefix for modules?]) 271940dd5a57Smrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 272040dd5a57Smrg_LT_DECL([], [version_type], [0], [Library versioning type]) 272140dd5a57Smrg_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 272240dd5a57Smrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 272340dd5a57Smrg_LT_DECL([], [shlibpath_overrides_runpath], [0], 272440dd5a57Smrg [Is shlibpath searched before the hard-coded library search path?]) 272540dd5a57Smrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 272640dd5a57Smrg_LT_DECL([], [library_names_spec], [1], 272740dd5a57Smrg [[List of archive names. First name is the real one, the rest are links. 272840dd5a57Smrg The last name is the one that the linker finds with -lNAME]]) 272940dd5a57Smrg_LT_DECL([], [soname_spec], [1], 273040dd5a57Smrg [[The coded name of the library, if different from the real name]]) 273140dd5a57Smrg_LT_DECL([], [install_override_mode], [1], 273240dd5a57Smrg [Permission mode override for installation of shared libraries]) 273340dd5a57Smrg_LT_DECL([], [postinstall_cmds], [2], 273440dd5a57Smrg [Command to use after installation of a shared archive]) 273540dd5a57Smrg_LT_DECL([], [postuninstall_cmds], [2], 273640dd5a57Smrg [Command to use after uninstallation of a shared archive]) 273740dd5a57Smrg_LT_DECL([], [finish_cmds], [2], 273840dd5a57Smrg [Commands used to finish a libtool library installation in a directory]) 273940dd5a57Smrg_LT_DECL([], [finish_eval], [1], 274040dd5a57Smrg [[As "finish_cmds", except a single script fragment to be evaled but 274140dd5a57Smrg not shown]]) 274240dd5a57Smrg_LT_DECL([], [hardcode_into_libs], [0], 274340dd5a57Smrg [Whether we should hardcode library paths into libraries]) 274440dd5a57Smrg_LT_DECL([], [sys_lib_search_path_spec], [2], 274540dd5a57Smrg [Compile-time system search path for libraries]) 274640dd5a57Smrg_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], 274740dd5a57Smrg [Run-time system search path for libraries]) 274840dd5a57Smrg])# _LT_SYS_DYNAMIC_LINKER 274940dd5a57Smrg 275040dd5a57Smrg 275140dd5a57Smrg# _LT_PATH_TOOL_PREFIX(TOOL) 275240dd5a57Smrg# -------------------------- 275340dd5a57Smrg# find a file program which can recognize shared library 275440dd5a57SmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX], 275540dd5a57Smrg[m4_require([_LT_DECL_EGREP])dnl 275640dd5a57SmrgAC_MSG_CHECKING([for $1]) 275740dd5a57SmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 275840dd5a57Smrg[case $MAGIC_CMD in 275940dd5a57Smrg[[\\/*] | ?:[\\/]*]) 276040dd5a57Smrg lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. 276140dd5a57Smrg ;; 276240dd5a57Smrg*) 276340dd5a57Smrg lt_save_MAGIC_CMD="$MAGIC_CMD" 276440dd5a57Smrg lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 276540dd5a57Smrgdnl $ac_dummy forces splitting on constant user-supplied paths. 276640dd5a57Smrgdnl POSIX.2 word splitting is done only on the output of word expansions, 276740dd5a57Smrgdnl not every word. This closes a longstanding sh security hole. 276840dd5a57Smrg ac_dummy="m4_if([$2], , $PATH, [$2])" 276940dd5a57Smrg for ac_dir in $ac_dummy; do 277040dd5a57Smrg IFS="$lt_save_ifs" 277140dd5a57Smrg test -z "$ac_dir" && ac_dir=. 277240dd5a57Smrg if test -f $ac_dir/$1; then 277340dd5a57Smrg lt_cv_path_MAGIC_CMD="$ac_dir/$1" 277440dd5a57Smrg if test -n "$file_magic_test_file"; then 277540dd5a57Smrg case $deplibs_check_method in 277640dd5a57Smrg "file_magic "*) 277740dd5a57Smrg file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 277840dd5a57Smrg MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 277940dd5a57Smrg if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 278040dd5a57Smrg $EGREP "$file_magic_regex" > /dev/null; then 278140dd5a57Smrg : 278240dd5a57Smrg else 278340dd5a57Smrg cat <<_LT_EOF 1>&2 278440dd5a57Smrg 278540dd5a57Smrg*** Warning: the command libtool uses to detect shared libraries, 278640dd5a57Smrg*** $file_magic_cmd, produces output that libtool cannot recognize. 278740dd5a57Smrg*** The result is that libtool may fail to recognize shared libraries 278840dd5a57Smrg*** as such. This will affect the creation of libtool libraries that 278940dd5a57Smrg*** depend on shared libraries, but programs linked with such libtool 279040dd5a57Smrg*** libraries will work regardless of this problem. Nevertheless, you 279140dd5a57Smrg*** may want to report the problem to your system manager and/or to 279240dd5a57Smrg*** bug-libtool@gnu.org 279340dd5a57Smrg 279440dd5a57Smrg_LT_EOF 279540dd5a57Smrg fi ;; 279640dd5a57Smrg esac 279740dd5a57Smrg fi 279840dd5a57Smrg break 279940dd5a57Smrg fi 280040dd5a57Smrg done 280140dd5a57Smrg IFS="$lt_save_ifs" 280240dd5a57Smrg MAGIC_CMD="$lt_save_MAGIC_CMD" 280340dd5a57Smrg ;; 280440dd5a57Smrgesac]) 280540dd5a57SmrgMAGIC_CMD="$lt_cv_path_MAGIC_CMD" 280640dd5a57Smrgif test -n "$MAGIC_CMD"; then 280740dd5a57Smrg AC_MSG_RESULT($MAGIC_CMD) 280840dd5a57Smrgelse 280940dd5a57Smrg AC_MSG_RESULT(no) 281040dd5a57Smrgfi 281140dd5a57Smrg_LT_DECL([], [MAGIC_CMD], [0], 281240dd5a57Smrg [Used to examine libraries when file_magic_cmd begins with "file"])dnl 281340dd5a57Smrg])# _LT_PATH_TOOL_PREFIX 281440dd5a57Smrg 281540dd5a57Smrg# Old name: 281640dd5a57SmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 281740dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 281840dd5a57Smrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 281940dd5a57Smrg 282040dd5a57Smrg 282140dd5a57Smrg# _LT_PATH_MAGIC 282240dd5a57Smrg# -------------- 282340dd5a57Smrg# find a file program which can recognize a shared library 282440dd5a57Smrgm4_defun([_LT_PATH_MAGIC], 282540dd5a57Smrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 282640dd5a57Smrgif test -z "$lt_cv_path_MAGIC_CMD"; then 282740dd5a57Smrg if test -n "$ac_tool_prefix"; then 282840dd5a57Smrg _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 282940dd5a57Smrg else 283040dd5a57Smrg MAGIC_CMD=: 283140dd5a57Smrg fi 283240dd5a57Smrgfi 283340dd5a57Smrg])# _LT_PATH_MAGIC 283440dd5a57Smrg 283540dd5a57Smrg 283640dd5a57Smrg# LT_PATH_LD 283740dd5a57Smrg# ---------- 283840dd5a57Smrg# find the pathname to the GNU or non-GNU linker 283940dd5a57SmrgAC_DEFUN([LT_PATH_LD], 284040dd5a57Smrg[AC_REQUIRE([AC_PROG_CC])dnl 284140dd5a57SmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl 284240dd5a57SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl 284340dd5a57Smrgm4_require([_LT_DECL_SED])dnl 284440dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl 284540dd5a57Smrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl 284640dd5a57Smrg 284740dd5a57SmrgAC_ARG_WITH([gnu-ld], 284840dd5a57Smrg [AS_HELP_STRING([--with-gnu-ld], 284940dd5a57Smrg [assume the C compiler uses GNU ld @<:@default=no@:>@])], 285040dd5a57Smrg [test "$withval" = no || with_gnu_ld=yes], 285140dd5a57Smrg [with_gnu_ld=no])dnl 285240dd5a57Smrg 285340dd5a57Smrgac_prog=ld 285440dd5a57Smrgif test "$GCC" = yes; then 285540dd5a57Smrg # Check if gcc -print-prog-name=ld gives a path. 285640dd5a57Smrg AC_MSG_CHECKING([for ld used by $CC]) 285740dd5a57Smrg case $host in 285840dd5a57Smrg *-*-mingw*) 285940dd5a57Smrg # gcc leaves a trailing carriage return which upsets mingw 286040dd5a57Smrg ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 286140dd5a57Smrg *) 286240dd5a57Smrg ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 286340dd5a57Smrg esac 286440dd5a57Smrg case $ac_prog in 286540dd5a57Smrg # Accept absolute paths. 286640dd5a57Smrg [[\\/]]* | ?:[[\\/]]*) 286740dd5a57Smrg re_direlt='/[[^/]][[^/]]*/\.\./' 286840dd5a57Smrg # Canonicalize the pathname of ld 286940dd5a57Smrg ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 287040dd5a57Smrg while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 287140dd5a57Smrg ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 287240dd5a57Smrg done 287340dd5a57Smrg test -z "$LD" && LD="$ac_prog" 287440dd5a57Smrg ;; 287540dd5a57Smrg "") 287640dd5a57Smrg # If it fails, then pretend we aren't using GCC. 287740dd5a57Smrg ac_prog=ld 287840dd5a57Smrg ;; 287940dd5a57Smrg *) 288040dd5a57Smrg # If it is relative, then search for the first ld in PATH. 288140dd5a57Smrg with_gnu_ld=unknown 288240dd5a57Smrg ;; 288340dd5a57Smrg esac 288440dd5a57Smrgelif test "$with_gnu_ld" = yes; then 288540dd5a57Smrg AC_MSG_CHECKING([for GNU ld]) 288640dd5a57Smrgelse 288740dd5a57Smrg AC_MSG_CHECKING([for non-GNU ld]) 288840dd5a57Smrgfi 288940dd5a57SmrgAC_CACHE_VAL(lt_cv_path_LD, 289040dd5a57Smrg[if test -z "$LD"; then 289140dd5a57Smrg lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 289240dd5a57Smrg for ac_dir in $PATH; do 289340dd5a57Smrg IFS="$lt_save_ifs" 289440dd5a57Smrg test -z "$ac_dir" && ac_dir=. 289540dd5a57Smrg if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 289640dd5a57Smrg lt_cv_path_LD="$ac_dir/$ac_prog" 289740dd5a57Smrg # Check to see if the program is GNU ld. I'd rather use --version, 289840dd5a57Smrg # but apparently some variants of GNU ld only accept -v. 289940dd5a57Smrg # Break only if it was the GNU/non-GNU ld that we prefer. 290040dd5a57Smrg case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 290140dd5a57Smrg *GNU* | *'with BFD'*) 290240dd5a57Smrg test "$with_gnu_ld" != no && break 290340dd5a57Smrg ;; 290440dd5a57Smrg *) 290540dd5a57Smrg test "$with_gnu_ld" != yes && break 290640dd5a57Smrg ;; 290740dd5a57Smrg esac 290840dd5a57Smrg fi 290940dd5a57Smrg done 291040dd5a57Smrg IFS="$lt_save_ifs" 291140dd5a57Smrgelse 291240dd5a57Smrg lt_cv_path_LD="$LD" # Let the user override the test with a path. 291340dd5a57Smrgfi]) 291440dd5a57SmrgLD="$lt_cv_path_LD" 291540dd5a57Smrgif test -n "$LD"; then 291640dd5a57Smrg AC_MSG_RESULT($LD) 291740dd5a57Smrgelse 291840dd5a57Smrg AC_MSG_RESULT(no) 291940dd5a57Smrgfi 292040dd5a57Smrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 292140dd5a57Smrg_LT_PATH_LD_GNU 292240dd5a57SmrgAC_SUBST([LD]) 292340dd5a57Smrg 292440dd5a57Smrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 292540dd5a57Smrg])# LT_PATH_LD 292640dd5a57Smrg 292740dd5a57Smrg# Old names: 292840dd5a57SmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 292940dd5a57SmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 293040dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 293140dd5a57Smrgdnl AC_DEFUN([AM_PROG_LD], []) 293240dd5a57Smrgdnl AC_DEFUN([AC_PROG_LD], []) 293340dd5a57Smrg 293440dd5a57Smrg 293540dd5a57Smrg# _LT_PATH_LD_GNU 293640dd5a57Smrg#- -------------- 293740dd5a57Smrgm4_defun([_LT_PATH_LD_GNU], 293840dd5a57Smrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 293940dd5a57Smrg[# I'd rather use --version here, but apparently some GNU lds only accept -v. 294040dd5a57Smrgcase `$LD -v 2>&1 </dev/null` in 294140dd5a57Smrg*GNU* | *'with BFD'*) 294240dd5a57Smrg lt_cv_prog_gnu_ld=yes 294340dd5a57Smrg ;; 294440dd5a57Smrg*) 294540dd5a57Smrg lt_cv_prog_gnu_ld=no 294640dd5a57Smrg ;; 294740dd5a57Smrgesac]) 294840dd5a57Smrgwith_gnu_ld=$lt_cv_prog_gnu_ld 294940dd5a57Smrg])# _LT_PATH_LD_GNU 295040dd5a57Smrg 295140dd5a57Smrg 295240dd5a57Smrg# _LT_CMD_RELOAD 295340dd5a57Smrg# -------------- 295440dd5a57Smrg# find reload flag for linker 295540dd5a57Smrg# -- PORTME Some linkers may need a different reload flag. 295640dd5a57Smrgm4_defun([_LT_CMD_RELOAD], 295740dd5a57Smrg[AC_CACHE_CHECK([for $LD option to reload object files], 295840dd5a57Smrg lt_cv_ld_reload_flag, 295940dd5a57Smrg [lt_cv_ld_reload_flag='-r']) 296040dd5a57Smrgreload_flag=$lt_cv_ld_reload_flag 296140dd5a57Smrgcase $reload_flag in 296240dd5a57Smrg"" | " "*) ;; 296340dd5a57Smrg*) reload_flag=" $reload_flag" ;; 296440dd5a57Smrgesac 296540dd5a57Smrgreload_cmds='$LD$reload_flag -o $output$reload_objs' 296640dd5a57Smrgcase $host_os in 296740dd5a57Smrg darwin*) 296840dd5a57Smrg if test "$GCC" = yes; then 296940dd5a57Smrg reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' 297040dd5a57Smrg else 297140dd5a57Smrg reload_cmds='$LD$reload_flag -o $output$reload_objs' 297240dd5a57Smrg fi 297340dd5a57Smrg ;; 297440dd5a57Smrgesac 297540dd5a57Smrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl 297640dd5a57Smrg_LT_TAGDECL([], [reload_cmds], [2])dnl 297740dd5a57Smrg])# _LT_CMD_RELOAD 297840dd5a57Smrg 297940dd5a57Smrg 298040dd5a57Smrg# _LT_CHECK_MAGIC_METHOD 298140dd5a57Smrg# ---------------------- 298240dd5a57Smrg# how to check for library dependencies 298340dd5a57Smrg# -- PORTME fill in with the dynamic library characteristics 298440dd5a57Smrgm4_defun([_LT_CHECK_MAGIC_METHOD], 298540dd5a57Smrg[m4_require([_LT_DECL_EGREP]) 298640dd5a57Smrgm4_require([_LT_DECL_OBJDUMP]) 298740dd5a57SmrgAC_CACHE_CHECK([how to recognize dependent libraries], 298840dd5a57Smrglt_cv_deplibs_check_method, 298940dd5a57Smrg[lt_cv_file_magic_cmd='$MAGIC_CMD' 299040dd5a57Smrglt_cv_file_magic_test_file= 299140dd5a57Smrglt_cv_deplibs_check_method='unknown' 299240dd5a57Smrg# Need to set the preceding variable on all platforms that support 299340dd5a57Smrg# interlibrary dependencies. 299440dd5a57Smrg# 'none' -- dependencies not supported. 299540dd5a57Smrg# `unknown' -- same as none, but documents that we really don't know. 299640dd5a57Smrg# 'pass_all' -- all dependencies passed with no checks. 299740dd5a57Smrg# 'test_compile' -- check by making test program. 299840dd5a57Smrg# 'file_magic [[regex]]' -- check by looking for files in library path 299940dd5a57Smrg# which responds to the $file_magic_cmd with a given extended regex. 300040dd5a57Smrg# If you have `file' or equivalent on your system and you're not sure 300140dd5a57Smrg# whether `pass_all' will *always* work, you probably want this one. 300240dd5a57Smrg 300340dd5a57Smrgcase $host_os in 300440dd5a57Smrgaix[[4-9]]*) 300540dd5a57Smrg lt_cv_deplibs_check_method=pass_all 300640dd5a57Smrg ;; 300740dd5a57Smrg 300840dd5a57Smrgbeos*) 300940dd5a57Smrg lt_cv_deplibs_check_method=pass_all 301040dd5a57Smrg ;; 301140dd5a57Smrg 301240dd5a57Smrgbsdi[[45]]*) 301340dd5a57Smrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 301440dd5a57Smrg lt_cv_file_magic_cmd='/usr/bin/file -L' 301540dd5a57Smrg lt_cv_file_magic_test_file=/shlib/libc.so 301640dd5a57Smrg ;; 301740dd5a57Smrg 301840dd5a57Smrgcygwin*) 301940dd5a57Smrg # func_win32_libid is a shell function defined in ltmain.sh 302040dd5a57Smrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 302140dd5a57Smrg lt_cv_file_magic_cmd='func_win32_libid' 302240dd5a57Smrg ;; 302340dd5a57Smrg 302440dd5a57Smrgmingw* | pw32*) 302540dd5a57Smrg # Base MSYS/MinGW do not provide the 'file' command needed by 302640dd5a57Smrg # func_win32_libid shell function, so use a weaker test based on 'objdump', 302740dd5a57Smrg # unless we find 'file', for example because we are cross-compiling. 302840dd5a57Smrg # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. 302940dd5a57Smrg if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then 303040dd5a57Smrg lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 303140dd5a57Smrg lt_cv_file_magic_cmd='func_win32_libid' 303240dd5a57Smrg else 303340dd5a57Smrg # Keep this pattern in sync with the one in func_win32_libid. 303440dd5a57Smrg lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' 303540dd5a57Smrg lt_cv_file_magic_cmd='$OBJDUMP -f' 303640dd5a57Smrg fi 303740dd5a57Smrg ;; 303840dd5a57Smrg 303940dd5a57Smrgcegcc*) 304040dd5a57Smrg # use the weaker test based on 'objdump'. See mingw*. 304140dd5a57Smrg lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 304240dd5a57Smrg lt_cv_file_magic_cmd='$OBJDUMP -f' 304340dd5a57Smrg ;; 304440dd5a57Smrg 304540dd5a57Smrgdarwin* | rhapsody*) 304640dd5a57Smrg lt_cv_deplibs_check_method=pass_all 304740dd5a57Smrg ;; 304840dd5a57Smrg 304940dd5a57Smrgfreebsd* | dragonfly*) 305040dd5a57Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 305140dd5a57Smrg case $host_cpu in 305240dd5a57Smrg i*86 ) 305340dd5a57Smrg # Not sure whether the presence of OpenBSD here was a mistake. 305440dd5a57Smrg # Let's accept both of them until this is cleared up. 305540dd5a57Smrg lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 305640dd5a57Smrg lt_cv_file_magic_cmd=/usr/bin/file 305740dd5a57Smrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 305840dd5a57Smrg ;; 305940dd5a57Smrg esac 306040dd5a57Smrg else 306140dd5a57Smrg lt_cv_deplibs_check_method=pass_all 306240dd5a57Smrg fi 306340dd5a57Smrg ;; 306440dd5a57Smrg 306540dd5a57Smrggnu*) 306640dd5a57Smrg lt_cv_deplibs_check_method=pass_all 306740dd5a57Smrg ;; 306840dd5a57Smrg 306940dd5a57Smrghaiku*) 307040dd5a57Smrg lt_cv_deplibs_check_method=pass_all 307140dd5a57Smrg ;; 307240dd5a57Smrg 307340dd5a57Smrghpux10.20* | hpux11*) 307440dd5a57Smrg lt_cv_file_magic_cmd=/usr/bin/file 307540dd5a57Smrg case $host_cpu in 307640dd5a57Smrg ia64*) 307740dd5a57Smrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 307840dd5a57Smrg lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 307940dd5a57Smrg ;; 308040dd5a57Smrg hppa*64*) 308140dd5a57Smrg [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] 308240dd5a57Smrg lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 308340dd5a57Smrg ;; 308440dd5a57Smrg *) 308540dd5a57Smrg lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' 308640dd5a57Smrg lt_cv_file_magic_test_file=/usr/lib/libc.sl 308740dd5a57Smrg ;; 308840dd5a57Smrg esac 308940dd5a57Smrg ;; 309040dd5a57Smrg 309140dd5a57Smrginterix[[3-9]]*) 309240dd5a57Smrg # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 309340dd5a57Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 309440dd5a57Smrg ;; 309540dd5a57Smrg 309640dd5a57Smrgirix5* | irix6* | nonstopux*) 309740dd5a57Smrg case $LD in 309840dd5a57Smrg *-32|*"-32 ") libmagic=32-bit;; 309940dd5a57Smrg *-n32|*"-n32 ") libmagic=N32;; 310040dd5a57Smrg *-64|*"-64 ") libmagic=64-bit;; 310140dd5a57Smrg *) libmagic=never-match;; 310240dd5a57Smrg esac 310340dd5a57Smrg lt_cv_deplibs_check_method=pass_all 310440dd5a57Smrg ;; 310540dd5a57Smrg 310640dd5a57Smrg# This must be Linux ELF. 310740dd5a57Smrglinux* | k*bsd*-gnu | kopensolaris*-gnu) 310840dd5a57Smrg lt_cv_deplibs_check_method=pass_all 310940dd5a57Smrg ;; 311040dd5a57Smrg 311140dd5a57Smrgnetbsd*) 311240dd5a57Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 311340dd5a57Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 311440dd5a57Smrg else 311540dd5a57Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 311640dd5a57Smrg fi 311740dd5a57Smrg ;; 311840dd5a57Smrg 311940dd5a57Smrgnewos6*) 312040dd5a57Smrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 312140dd5a57Smrg lt_cv_file_magic_cmd=/usr/bin/file 312240dd5a57Smrg lt_cv_file_magic_test_file=/usr/lib/libnls.so 312340dd5a57Smrg ;; 312440dd5a57Smrg 312540dd5a57Smrg*nto* | *qnx*) 312640dd5a57Smrg lt_cv_deplibs_check_method=pass_all 312740dd5a57Smrg ;; 312840dd5a57Smrg 312940dd5a57Smrgopenbsd*) 313040dd5a57Smrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 313140dd5a57Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 313240dd5a57Smrg else 313340dd5a57Smrg lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 313440dd5a57Smrg fi 313540dd5a57Smrg ;; 313640dd5a57Smrg 313740dd5a57Smrgosf3* | osf4* | osf5*) 313840dd5a57Smrg lt_cv_deplibs_check_method=pass_all 313940dd5a57Smrg ;; 314040dd5a57Smrg 314140dd5a57Smrgrdos*) 314240dd5a57Smrg lt_cv_deplibs_check_method=pass_all 314340dd5a57Smrg ;; 314440dd5a57Smrg 314540dd5a57Smrgsolaris*) 314640dd5a57Smrg lt_cv_deplibs_check_method=pass_all 314740dd5a57Smrg ;; 314840dd5a57Smrg 314940dd5a57Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 315040dd5a57Smrg lt_cv_deplibs_check_method=pass_all 315140dd5a57Smrg ;; 315240dd5a57Smrg 315340dd5a57Smrgsysv4 | sysv4.3*) 315440dd5a57Smrg case $host_vendor in 315540dd5a57Smrg motorola) 315640dd5a57Smrg 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]]' 315740dd5a57Smrg lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 315840dd5a57Smrg ;; 315940dd5a57Smrg ncr) 316040dd5a57Smrg lt_cv_deplibs_check_method=pass_all 316140dd5a57Smrg ;; 316240dd5a57Smrg sequent) 316340dd5a57Smrg lt_cv_file_magic_cmd='/bin/file' 316440dd5a57Smrg lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 316540dd5a57Smrg ;; 316640dd5a57Smrg sni) 316740dd5a57Smrg lt_cv_file_magic_cmd='/bin/file' 316840dd5a57Smrg lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 316940dd5a57Smrg lt_cv_file_magic_test_file=/lib/libc.so 317040dd5a57Smrg ;; 317140dd5a57Smrg siemens) 317240dd5a57Smrg lt_cv_deplibs_check_method=pass_all 317340dd5a57Smrg ;; 317440dd5a57Smrg pc) 317540dd5a57Smrg lt_cv_deplibs_check_method=pass_all 317640dd5a57Smrg ;; 317740dd5a57Smrg esac 317840dd5a57Smrg ;; 317940dd5a57Smrg 318040dd5a57Smrgtpf*) 318140dd5a57Smrg lt_cv_deplibs_check_method=pass_all 318240dd5a57Smrg ;; 318340dd5a57Smrgesac 318440dd5a57Smrg]) 318540dd5a57Smrgfile_magic_cmd=$lt_cv_file_magic_cmd 318640dd5a57Smrgdeplibs_check_method=$lt_cv_deplibs_check_method 318740dd5a57Smrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown 318840dd5a57Smrg 318940dd5a57Smrg_LT_DECL([], [deplibs_check_method], [1], 319040dd5a57Smrg [Method to check whether dependent libraries are shared objects]) 319140dd5a57Smrg_LT_DECL([], [file_magic_cmd], [1], 319240dd5a57Smrg [Command to use when deplibs_check_method == "file_magic"]) 319340dd5a57Smrg])# _LT_CHECK_MAGIC_METHOD 319440dd5a57Smrg 319540dd5a57Smrg 319640dd5a57Smrg# LT_PATH_NM 319740dd5a57Smrg# ---------- 319840dd5a57Smrg# find the pathname to a BSD- or MS-compatible name lister 319940dd5a57SmrgAC_DEFUN([LT_PATH_NM], 320040dd5a57Smrg[AC_REQUIRE([AC_PROG_CC])dnl 320140dd5a57SmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 320240dd5a57Smrg[if test -n "$NM"; then 320340dd5a57Smrg # Let the user override the test. 320440dd5a57Smrg lt_cv_path_NM="$NM" 320540dd5a57Smrgelse 320640dd5a57Smrg lt_nm_to_check="${ac_tool_prefix}nm" 320740dd5a57Smrg if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 320840dd5a57Smrg lt_nm_to_check="$lt_nm_to_check nm" 320940dd5a57Smrg fi 321040dd5a57Smrg for lt_tmp_nm in $lt_nm_to_check; do 321140dd5a57Smrg lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 321240dd5a57Smrg for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 321340dd5a57Smrg IFS="$lt_save_ifs" 321440dd5a57Smrg test -z "$ac_dir" && ac_dir=. 321540dd5a57Smrg tmp_nm="$ac_dir/$lt_tmp_nm" 321640dd5a57Smrg if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then 321740dd5a57Smrg # Check to see if the nm accepts a BSD-compat flag. 321840dd5a57Smrg # Adding the `sed 1q' prevents false positives on HP-UX, which says: 321940dd5a57Smrg # nm: unknown option "B" ignored 322040dd5a57Smrg # Tru64's nm complains that /dev/null is an invalid object file 322140dd5a57Smrg case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in 322240dd5a57Smrg */dev/null* | *'Invalid file or object type'*) 322340dd5a57Smrg lt_cv_path_NM="$tmp_nm -B" 322440dd5a57Smrg break 322540dd5a57Smrg ;; 322640dd5a57Smrg *) 322740dd5a57Smrg case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 322840dd5a57Smrg */dev/null*) 322940dd5a57Smrg lt_cv_path_NM="$tmp_nm -p" 323040dd5a57Smrg break 323140dd5a57Smrg ;; 323240dd5a57Smrg *) 323340dd5a57Smrg lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 323440dd5a57Smrg continue # so that we can try to find one that supports BSD flags 323540dd5a57Smrg ;; 323640dd5a57Smrg esac 323740dd5a57Smrg ;; 323840dd5a57Smrg esac 323940dd5a57Smrg fi 324040dd5a57Smrg done 324140dd5a57Smrg IFS="$lt_save_ifs" 324240dd5a57Smrg done 324340dd5a57Smrg : ${lt_cv_path_NM=no} 324440dd5a57Smrgfi]) 324540dd5a57Smrgif test "$lt_cv_path_NM" != "no"; then 324640dd5a57Smrg NM="$lt_cv_path_NM" 324740dd5a57Smrgelse 324840dd5a57Smrg # Didn't find any BSD compatible name lister, look for dumpbin. 324940dd5a57Smrg if test -n "$DUMPBIN"; then : 325040dd5a57Smrg # Let the user override the test. 325140dd5a57Smrg else 325240dd5a57Smrg AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) 325340dd5a57Smrg case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in 325440dd5a57Smrg *COFF*) 325540dd5a57Smrg DUMPBIN="$DUMPBIN -symbols" 325640dd5a57Smrg ;; 325740dd5a57Smrg *) 325840dd5a57Smrg DUMPBIN=: 325940dd5a57Smrg ;; 326040dd5a57Smrg esac 326140dd5a57Smrg fi 326240dd5a57Smrg AC_SUBST([DUMPBIN]) 326340dd5a57Smrg if test "$DUMPBIN" != ":"; then 326440dd5a57Smrg NM="$DUMPBIN" 326540dd5a57Smrg fi 326640dd5a57Smrgfi 326740dd5a57Smrgtest -z "$NM" && NM=nm 326840dd5a57SmrgAC_SUBST([NM]) 326940dd5a57Smrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 327040dd5a57Smrg 327140dd5a57SmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 327240dd5a57Smrg [lt_cv_nm_interface="BSD nm" 327340dd5a57Smrg echo "int some_variable = 0;" > conftest.$ac_ext 327440dd5a57Smrg (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 327540dd5a57Smrg (eval "$ac_compile" 2>conftest.err) 327640dd5a57Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 327740dd5a57Smrg (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 327840dd5a57Smrg (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 327940dd5a57Smrg cat conftest.err >&AS_MESSAGE_LOG_FD 328040dd5a57Smrg (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) 328140dd5a57Smrg cat conftest.out >&AS_MESSAGE_LOG_FD 328240dd5a57Smrg if $GREP 'External.*some_variable' conftest.out > /dev/null; then 328340dd5a57Smrg lt_cv_nm_interface="MS dumpbin" 328440dd5a57Smrg fi 328540dd5a57Smrg rm -f conftest*]) 328640dd5a57Smrg])# LT_PATH_NM 328740dd5a57Smrg 328840dd5a57Smrg# Old names: 328940dd5a57SmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 329040dd5a57SmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 329140dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 329240dd5a57Smrgdnl AC_DEFUN([AM_PROG_NM], []) 329340dd5a57Smrgdnl AC_DEFUN([AC_PROG_NM], []) 329440dd5a57Smrg 329540dd5a57Smrg 329640dd5a57Smrg# LT_LIB_M 329740dd5a57Smrg# -------- 329840dd5a57Smrg# check for math library 329940dd5a57SmrgAC_DEFUN([LT_LIB_M], 330040dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 330140dd5a57SmrgLIBM= 330240dd5a57Smrgcase $host in 330340dd5a57Smrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) 330440dd5a57Smrg # These system don't have libm, or don't need it 330540dd5a57Smrg ;; 330640dd5a57Smrg*-ncr-sysv4.3*) 330740dd5a57Smrg AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 330840dd5a57Smrg AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 330940dd5a57Smrg ;; 331040dd5a57Smrg*) 331140dd5a57Smrg AC_CHECK_LIB(m, cos, LIBM="-lm") 331240dd5a57Smrg ;; 331340dd5a57Smrgesac 331440dd5a57SmrgAC_SUBST([LIBM]) 331540dd5a57Smrg])# LT_LIB_M 331640dd5a57Smrg 331740dd5a57Smrg# Old name: 331840dd5a57SmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 331940dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 332040dd5a57Smrgdnl AC_DEFUN([AC_CHECK_LIBM], []) 332140dd5a57Smrg 332240dd5a57Smrg 332340dd5a57Smrg# _LT_COMPILER_NO_RTTI([TAGNAME]) 332440dd5a57Smrg# ------------------------------- 332540dd5a57Smrgm4_defun([_LT_COMPILER_NO_RTTI], 332640dd5a57Smrg[m4_require([_LT_TAG_COMPILER])dnl 332740dd5a57Smrg 332840dd5a57Smrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 332940dd5a57Smrg 333040dd5a57Smrgif test "$GCC" = yes; then 333140dd5a57Smrg case $cc_basename in 333240dd5a57Smrg nvcc*) 333340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; 333440dd5a57Smrg *) 333540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; 333640dd5a57Smrg esac 333740dd5a57Smrg 333840dd5a57Smrg _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 333940dd5a57Smrg lt_cv_prog_compiler_rtti_exceptions, 334040dd5a57Smrg [-fno-rtti -fno-exceptions], [], 334140dd5a57Smrg [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 334240dd5a57Smrgfi 334340dd5a57Smrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 334440dd5a57Smrg [Compiler flag to turn off builtin functions]) 334540dd5a57Smrg])# _LT_COMPILER_NO_RTTI 334640dd5a57Smrg 334740dd5a57Smrg 334840dd5a57Smrg# _LT_CMD_GLOBAL_SYMBOLS 334940dd5a57Smrg# ---------------------- 335040dd5a57Smrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS], 335140dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 335240dd5a57SmrgAC_REQUIRE([AC_PROG_CC])dnl 335340dd5a57SmrgAC_REQUIRE([AC_PROG_AWK])dnl 335440dd5a57SmrgAC_REQUIRE([LT_PATH_NM])dnl 335540dd5a57SmrgAC_REQUIRE([LT_PATH_LD])dnl 335640dd5a57Smrgm4_require([_LT_DECL_SED])dnl 335740dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl 335840dd5a57Smrgm4_require([_LT_TAG_COMPILER])dnl 335940dd5a57Smrg 336040dd5a57Smrg# Check for command to grab the raw symbol name followed by C symbol from nm. 336140dd5a57SmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object]) 336240dd5a57SmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 336340dd5a57Smrg[ 336440dd5a57Smrg# These are sane defaults that work on at least a few old systems. 336540dd5a57Smrg# [They come from Ultrix. What could be older than Ultrix?!! ;)] 336640dd5a57Smrg 336740dd5a57Smrg# Character class describing NM global symbol codes. 336840dd5a57Smrgsymcode='[[BCDEGRST]]' 336940dd5a57Smrg 337040dd5a57Smrg# Regexp to match symbols that can be accessed directly from C. 337140dd5a57Smrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 337240dd5a57Smrg 337340dd5a57Smrg# Define system-specific variables. 337440dd5a57Smrgcase $host_os in 337540dd5a57Smrgaix*) 337640dd5a57Smrg symcode='[[BCDT]]' 337740dd5a57Smrg ;; 337840dd5a57Smrgcygwin* | mingw* | pw32* | cegcc*) 337940dd5a57Smrg symcode='[[ABCDGISTW]]' 338040dd5a57Smrg ;; 338140dd5a57Smrghpux*) 338240dd5a57Smrg if test "$host_cpu" = ia64; then 338340dd5a57Smrg symcode='[[ABCDEGRST]]' 338440dd5a57Smrg fi 338540dd5a57Smrg ;; 338640dd5a57Smrgirix* | nonstopux*) 338740dd5a57Smrg symcode='[[BCDEGRST]]' 338840dd5a57Smrg ;; 338940dd5a57Smrgosf*) 339040dd5a57Smrg symcode='[[BCDEGQRST]]' 339140dd5a57Smrg ;; 339240dd5a57Smrgsolaris*) 339340dd5a57Smrg symcode='[[BDRT]]' 339440dd5a57Smrg ;; 339540dd5a57Smrgsco3.2v5*) 339640dd5a57Smrg symcode='[[DT]]' 339740dd5a57Smrg ;; 339840dd5a57Smrgsysv4.2uw2*) 339940dd5a57Smrg symcode='[[DT]]' 340040dd5a57Smrg ;; 340140dd5a57Smrgsysv5* | sco5v6* | unixware* | OpenUNIX*) 340240dd5a57Smrg symcode='[[ABDT]]' 340340dd5a57Smrg ;; 340440dd5a57Smrgsysv4) 340540dd5a57Smrg symcode='[[DFNSTU]]' 340640dd5a57Smrg ;; 340740dd5a57Smrgesac 340840dd5a57Smrg 340940dd5a57Smrg# If we're using GNU nm, then use its standard symbol codes. 341040dd5a57Smrgcase `$NM -V 2>&1` in 341140dd5a57Smrg*GNU* | *'with BFD'*) 341240dd5a57Smrg symcode='[[ABCDGIRSTW]]' ;; 341340dd5a57Smrgesac 341440dd5a57Smrg 341540dd5a57Smrg# Transform an extracted symbol line into a proper C declaration. 341640dd5a57Smrg# Some systems (esp. on ia64) link data and code symbols differently, 341740dd5a57Smrg# so use this general approach. 341840dd5a57Smrglt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" 341940dd5a57Smrg 342040dd5a57Smrg# Transform an extracted symbol line into symbol name and symbol address 342140dd5a57Smrglt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" 342240dd5a57Smrglt_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'" 342340dd5a57Smrg 342440dd5a57Smrg# Handle CRLF in mingw tool chain 342540dd5a57Smrgopt_cr= 342640dd5a57Smrgcase $build_os in 342740dd5a57Smrgmingw*) 342840dd5a57Smrg opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 342940dd5a57Smrg ;; 343040dd5a57Smrgesac 343140dd5a57Smrg 343240dd5a57Smrg# Try without a prefix underscore, then with it. 343340dd5a57Smrgfor ac_symprfx in "" "_"; do 343440dd5a57Smrg 343540dd5a57Smrg # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 343640dd5a57Smrg symxfrm="\\1 $ac_symprfx\\2 \\2" 343740dd5a57Smrg 343840dd5a57Smrg # Write the raw and C identifiers. 343940dd5a57Smrg if test "$lt_cv_nm_interface" = "MS dumpbin"; then 344040dd5a57Smrg # Fake it for dumpbin and say T for any non-static function 344140dd5a57Smrg # and D for any global variable. 344240dd5a57Smrg # Also find C++ and __fastcall symbols from MSVC++, 344340dd5a57Smrg # which start with @ or ?. 344440dd5a57Smrg lt_cv_sys_global_symbol_pipe="$AWK ['"\ 344540dd5a57Smrg" {last_section=section; section=\$ 3};"\ 344640dd5a57Smrg" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 344740dd5a57Smrg" \$ 0!~/External *\|/{next};"\ 344840dd5a57Smrg" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 344940dd5a57Smrg" {if(hide[section]) next};"\ 345040dd5a57Smrg" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ 345140dd5a57Smrg" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ 345240dd5a57Smrg" s[1]~/^[@?]/{print s[1], s[1]; next};"\ 345340dd5a57Smrg" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ 345440dd5a57Smrg" ' prfx=^$ac_symprfx]" 345540dd5a57Smrg else 345640dd5a57Smrg lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 345740dd5a57Smrg fi 345840dd5a57Smrg 345940dd5a57Smrg # Check to see that the pipe works correctly. 346040dd5a57Smrg pipe_works=no 346140dd5a57Smrg 346240dd5a57Smrg rm -f conftest* 346340dd5a57Smrg cat > conftest.$ac_ext <<_LT_EOF 346440dd5a57Smrg#ifdef __cplusplus 346540dd5a57Smrgextern "C" { 346640dd5a57Smrg#endif 346740dd5a57Smrgchar nm_test_var; 346840dd5a57Smrgvoid nm_test_func(void); 346940dd5a57Smrgvoid nm_test_func(void){} 347040dd5a57Smrg#ifdef __cplusplus 347140dd5a57Smrg} 347240dd5a57Smrg#endif 347340dd5a57Smrgint main(){nm_test_var='a';nm_test_func();return(0);} 347440dd5a57Smrg_LT_EOF 347540dd5a57Smrg 347640dd5a57Smrg if AC_TRY_EVAL(ac_compile); then 347740dd5a57Smrg # Now try to grab the symbols. 347840dd5a57Smrg nlist=conftest.nm 347940dd5a57Smrg if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then 348040dd5a57Smrg # Try sorting and uniquifying the output. 348140dd5a57Smrg if sort "$nlist" | uniq > "$nlist"T; then 348240dd5a57Smrg mv -f "$nlist"T "$nlist" 348340dd5a57Smrg else 348440dd5a57Smrg rm -f "$nlist"T 348540dd5a57Smrg fi 348640dd5a57Smrg 348740dd5a57Smrg # Make sure that we snagged all the symbols we need. 348840dd5a57Smrg if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 348940dd5a57Smrg if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 349040dd5a57Smrg cat <<_LT_EOF > conftest.$ac_ext 349140dd5a57Smrg#ifdef __cplusplus 349240dd5a57Smrgextern "C" { 349340dd5a57Smrg#endif 349440dd5a57Smrg 349540dd5a57Smrg_LT_EOF 349640dd5a57Smrg # Now generate the symbol file. 349740dd5a57Smrg eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 349840dd5a57Smrg 349940dd5a57Smrg cat <<_LT_EOF >> conftest.$ac_ext 350040dd5a57Smrg 350140dd5a57Smrg/* The mapping between symbol names and symbols. */ 350240dd5a57Smrgconst struct { 350340dd5a57Smrg const char *name; 350440dd5a57Smrg void *address; 350540dd5a57Smrg} 350640dd5a57Smrglt__PROGRAM__LTX_preloaded_symbols[[]] = 350740dd5a57Smrg{ 350840dd5a57Smrg { "@PROGRAM@", (void *) 0 }, 350940dd5a57Smrg_LT_EOF 351040dd5a57Smrg $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 351140dd5a57Smrg cat <<\_LT_EOF >> conftest.$ac_ext 351240dd5a57Smrg {0, (void *) 0} 351340dd5a57Smrg}; 351440dd5a57Smrg 351540dd5a57Smrg/* This works around a problem in FreeBSD linker */ 351640dd5a57Smrg#ifdef FREEBSD_WORKAROUND 351740dd5a57Smrgstatic const void *lt_preloaded_setup() { 351840dd5a57Smrg return lt__PROGRAM__LTX_preloaded_symbols; 351940dd5a57Smrg} 352040dd5a57Smrg#endif 352140dd5a57Smrg 352240dd5a57Smrg#ifdef __cplusplus 352340dd5a57Smrg} 352440dd5a57Smrg#endif 352540dd5a57Smrg_LT_EOF 352640dd5a57Smrg # Now try linking the two files. 352740dd5a57Smrg mv conftest.$ac_objext conftstm.$ac_objext 352840dd5a57Smrg lt_save_LIBS="$LIBS" 352940dd5a57Smrg lt_save_CFLAGS="$CFLAGS" 353040dd5a57Smrg LIBS="conftstm.$ac_objext" 353140dd5a57Smrg CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 353240dd5a57Smrg if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then 353340dd5a57Smrg pipe_works=yes 353440dd5a57Smrg fi 353540dd5a57Smrg LIBS="$lt_save_LIBS" 353640dd5a57Smrg CFLAGS="$lt_save_CFLAGS" 353740dd5a57Smrg else 353840dd5a57Smrg echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 353940dd5a57Smrg fi 354040dd5a57Smrg else 354140dd5a57Smrg echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 354240dd5a57Smrg fi 354340dd5a57Smrg else 354440dd5a57Smrg echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 354540dd5a57Smrg fi 354640dd5a57Smrg else 354740dd5a57Smrg echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 354840dd5a57Smrg cat conftest.$ac_ext >&5 354940dd5a57Smrg fi 355040dd5a57Smrg rm -rf conftest* conftst* 355140dd5a57Smrg 355240dd5a57Smrg # Do not use the global_symbol_pipe unless it works. 355340dd5a57Smrg if test "$pipe_works" = yes; then 355440dd5a57Smrg break 355540dd5a57Smrg else 355640dd5a57Smrg lt_cv_sys_global_symbol_pipe= 355740dd5a57Smrg fi 355840dd5a57Smrgdone 355940dd5a57Smrg]) 356040dd5a57Smrgif test -z "$lt_cv_sys_global_symbol_pipe"; then 356140dd5a57Smrg lt_cv_sys_global_symbol_to_cdecl= 356240dd5a57Smrgfi 356340dd5a57Smrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 356440dd5a57Smrg AC_MSG_RESULT(failed) 356540dd5a57Smrgelse 356640dd5a57Smrg AC_MSG_RESULT(ok) 356740dd5a57Smrgfi 356840dd5a57Smrg 356940dd5a57Smrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 357040dd5a57Smrg [Take the output of nm and produce a listing of raw symbols and C names]) 357140dd5a57Smrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 357240dd5a57Smrg [Transform the output of nm in a proper C declaration]) 357340dd5a57Smrg_LT_DECL([global_symbol_to_c_name_address], 357440dd5a57Smrg [lt_cv_sys_global_symbol_to_c_name_address], [1], 357540dd5a57Smrg [Transform the output of nm in a C name address pair]) 357640dd5a57Smrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 357740dd5a57Smrg [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 357840dd5a57Smrg [Transform the output of nm in a C name address pair when lib prefix is needed]) 357940dd5a57Smrg]) # _LT_CMD_GLOBAL_SYMBOLS 358040dd5a57Smrg 358140dd5a57Smrg 358240dd5a57Smrg# _LT_COMPILER_PIC([TAGNAME]) 358340dd5a57Smrg# --------------------------- 358440dd5a57Smrgm4_defun([_LT_COMPILER_PIC], 358540dd5a57Smrg[m4_require([_LT_TAG_COMPILER])dnl 358640dd5a57Smrg_LT_TAGVAR(lt_prog_compiler_wl, $1)= 358740dd5a57Smrg_LT_TAGVAR(lt_prog_compiler_pic, $1)= 358840dd5a57Smrg_LT_TAGVAR(lt_prog_compiler_static, $1)= 358940dd5a57Smrg 359040dd5a57SmrgAC_MSG_CHECKING([for $compiler option to produce PIC]) 359140dd5a57Smrgm4_if([$1], [CXX], [ 359240dd5a57Smrg # C++ specific cases for pic, static, wl, etc. 359340dd5a57Smrg if test "$GXX" = yes; then 359440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 359540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 359640dd5a57Smrg 359740dd5a57Smrg case $host_os in 359840dd5a57Smrg aix*) 359940dd5a57Smrg # All AIX code is PIC. 360040dd5a57Smrg if test "$host_cpu" = ia64; then 360140dd5a57Smrg # AIX 5 now supports IA64 processor 360240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 360340dd5a57Smrg fi 360440dd5a57Smrg ;; 360540dd5a57Smrg 360640dd5a57Smrg amigaos*) 360740dd5a57Smrg case $host_cpu in 360840dd5a57Smrg powerpc) 360940dd5a57Smrg # see comment about AmigaOS4 .so support 361040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 361140dd5a57Smrg ;; 361240dd5a57Smrg m68k) 361340dd5a57Smrg # FIXME: we need at least 68020 code to build shared libraries, but 361440dd5a57Smrg # adding the `-m68020' flag to GCC prevents building anything better, 361540dd5a57Smrg # like `-m68040'. 361640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 361740dd5a57Smrg ;; 361840dd5a57Smrg esac 361940dd5a57Smrg ;; 362040dd5a57Smrg 362140dd5a57Smrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 362240dd5a57Smrg # PIC is the default for these OSes. 362340dd5a57Smrg ;; 362440dd5a57Smrg mingw* | cygwin* | os2* | pw32* | cegcc*) 362540dd5a57Smrg # This hack is so that the source file can tell whether it is being 362640dd5a57Smrg # built for inclusion in a dll (and should export symbols for example). 362740dd5a57Smrg # Although the cygwin gcc ignores -fPIC, still need this for old-style 362840dd5a57Smrg # (--disable-auto-import) libraries 362940dd5a57Smrg m4_if([$1], [GCJ], [], 363040dd5a57Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 363140dd5a57Smrg ;; 363240dd5a57Smrg darwin* | rhapsody*) 363340dd5a57Smrg # PIC is the default on this platform 363440dd5a57Smrg # Common symbols not allowed in MH_DYLIB files 363540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 363640dd5a57Smrg ;; 363740dd5a57Smrg *djgpp*) 363840dd5a57Smrg # DJGPP does not support shared libraries at all 363940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 364040dd5a57Smrg ;; 364140dd5a57Smrg haiku*) 364240dd5a57Smrg # PIC is the default for Haiku. 364340dd5a57Smrg # The "-static" flag exists, but is broken. 364440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)= 364540dd5a57Smrg ;; 364640dd5a57Smrg interix[[3-9]]*) 364740dd5a57Smrg # Interix 3.x gcc -fpic/-fPIC options generate broken code. 364840dd5a57Smrg # Instead, we relocate shared libraries at runtime. 364940dd5a57Smrg ;; 365040dd5a57Smrg sysv4*MP*) 365140dd5a57Smrg if test -d /usr/nec; then 365240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 365340dd5a57Smrg fi 365440dd5a57Smrg ;; 365540dd5a57Smrg hpux*) 365640dd5a57Smrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 365740dd5a57Smrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 365840dd5a57Smrg # sets the default TLS model and affects inlining. 365940dd5a57Smrg case $host_cpu in 366040dd5a57Smrg hppa*64*) 366140dd5a57Smrg ;; 366240dd5a57Smrg *) 366340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 366440dd5a57Smrg ;; 366540dd5a57Smrg esac 366640dd5a57Smrg ;; 366740dd5a57Smrg *qnx* | *nto*) 366840dd5a57Smrg # QNX uses GNU C++, but need to define -shared option too, otherwise 366940dd5a57Smrg # it will coredump. 367040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 367140dd5a57Smrg ;; 367240dd5a57Smrg *) 367340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 367440dd5a57Smrg ;; 367540dd5a57Smrg esac 367640dd5a57Smrg else 367740dd5a57Smrg case $host_os in 367840dd5a57Smrg aix[[4-9]]*) 367940dd5a57Smrg # All AIX code is PIC. 368040dd5a57Smrg if test "$host_cpu" = ia64; then 368140dd5a57Smrg # AIX 5 now supports IA64 processor 368240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 368340dd5a57Smrg else 368440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 368540dd5a57Smrg fi 368640dd5a57Smrg ;; 368740dd5a57Smrg chorus*) 368840dd5a57Smrg case $cc_basename in 368940dd5a57Smrg cxch68*) 369040dd5a57Smrg # Green Hills C++ Compiler 369140dd5a57Smrg # _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" 369240dd5a57Smrg ;; 369340dd5a57Smrg esac 369440dd5a57Smrg ;; 369540dd5a57Smrg dgux*) 369640dd5a57Smrg case $cc_basename in 369740dd5a57Smrg ec++*) 369840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 369940dd5a57Smrg ;; 370040dd5a57Smrg ghcx*) 370140dd5a57Smrg # Green Hills C++ Compiler 370240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 370340dd5a57Smrg ;; 370440dd5a57Smrg *) 370540dd5a57Smrg ;; 370640dd5a57Smrg esac 370740dd5a57Smrg ;; 370840dd5a57Smrg freebsd* | dragonfly*) 370940dd5a57Smrg # FreeBSD uses GNU C++ 371040dd5a57Smrg ;; 371140dd5a57Smrg hpux9* | hpux10* | hpux11*) 371240dd5a57Smrg case $cc_basename in 371340dd5a57Smrg CC*) 371440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 371540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 371640dd5a57Smrg if test "$host_cpu" != ia64; then 371740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 371840dd5a57Smrg fi 371940dd5a57Smrg ;; 372040dd5a57Smrg aCC*) 372140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 372240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 372340dd5a57Smrg case $host_cpu in 372440dd5a57Smrg hppa*64*|ia64*) 372540dd5a57Smrg # +Z the default 372640dd5a57Smrg ;; 372740dd5a57Smrg *) 372840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 372940dd5a57Smrg ;; 373040dd5a57Smrg esac 373140dd5a57Smrg ;; 373240dd5a57Smrg *) 373340dd5a57Smrg ;; 373440dd5a57Smrg esac 373540dd5a57Smrg ;; 373640dd5a57Smrg interix*) 373740dd5a57Smrg # This is c89, which is MS Visual C++ (no shared libs) 373840dd5a57Smrg # Anyone wants to do a port? 373940dd5a57Smrg ;; 374040dd5a57Smrg irix5* | irix6* | nonstopux*) 374140dd5a57Smrg case $cc_basename in 374240dd5a57Smrg CC*) 374340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 374440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 374540dd5a57Smrg # CC pic flag -KPIC is the default. 374640dd5a57Smrg ;; 374740dd5a57Smrg *) 374840dd5a57Smrg ;; 374940dd5a57Smrg esac 375040dd5a57Smrg ;; 375140dd5a57Smrg linux* | k*bsd*-gnu | kopensolaris*-gnu) 375240dd5a57Smrg case $cc_basename in 375340dd5a57Smrg KCC*) 375440dd5a57Smrg # KAI C++ Compiler 375540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 375640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 375740dd5a57Smrg ;; 375840dd5a57Smrg ecpc* ) 375940dd5a57Smrg # old Intel C++ for x86_64 which still supported -KPIC. 376040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 376140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 376240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 376340dd5a57Smrg ;; 376440dd5a57Smrg icpc* ) 376540dd5a57Smrg # Intel C++, used to be incompatible with GCC. 376640dd5a57Smrg # ICC 10 doesn't accept -KPIC any more. 376740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 376840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 376940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 377040dd5a57Smrg ;; 377140dd5a57Smrg pgCC* | pgcpp*) 377240dd5a57Smrg # Portland Group C++ compiler 377340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 377440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 377540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 377640dd5a57Smrg ;; 377740dd5a57Smrg cxx*) 377840dd5a57Smrg # Compaq C++ 377940dd5a57Smrg # Make sure the PIC flag is empty. It appears that all Alpha 378040dd5a57Smrg # Linux and Compaq Tru64 Unix objects are PIC. 378140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 378240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 378340dd5a57Smrg ;; 378440dd5a57Smrg xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) 378540dd5a57Smrg # IBM XL 8.0, 9.0 on PPC and BlueGene 378640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 378740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 378840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 378940dd5a57Smrg ;; 379040dd5a57Smrg *) 379140dd5a57Smrg case `$CC -V 2>&1 | sed 5q` in 379240dd5a57Smrg *Sun\ C*) 379340dd5a57Smrg # Sun C++ 5.9 379440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 379540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 379640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 379740dd5a57Smrg ;; 379840dd5a57Smrg esac 379940dd5a57Smrg ;; 380040dd5a57Smrg esac 380140dd5a57Smrg ;; 380240dd5a57Smrg lynxos*) 380340dd5a57Smrg ;; 380440dd5a57Smrg m88k*) 380540dd5a57Smrg ;; 380640dd5a57Smrg mvs*) 380740dd5a57Smrg case $cc_basename in 380840dd5a57Smrg cxx*) 380940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 381040dd5a57Smrg ;; 381140dd5a57Smrg *) 381240dd5a57Smrg ;; 381340dd5a57Smrg esac 381440dd5a57Smrg ;; 381540dd5a57Smrg netbsd*) 381640dd5a57Smrg ;; 381740dd5a57Smrg *qnx* | *nto*) 381840dd5a57Smrg # QNX uses GNU C++, but need to define -shared option too, otherwise 381940dd5a57Smrg # it will coredump. 382040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 382140dd5a57Smrg ;; 382240dd5a57Smrg osf3* | osf4* | osf5*) 382340dd5a57Smrg case $cc_basename in 382440dd5a57Smrg KCC*) 382540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 382640dd5a57Smrg ;; 382740dd5a57Smrg RCC*) 382840dd5a57Smrg # Rational C++ 2.4.1 382940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 383040dd5a57Smrg ;; 383140dd5a57Smrg cxx*) 383240dd5a57Smrg # Digital/Compaq C++ 383340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 383440dd5a57Smrg # Make sure the PIC flag is empty. It appears that all Alpha 383540dd5a57Smrg # Linux and Compaq Tru64 Unix objects are PIC. 383640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 383740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 383840dd5a57Smrg ;; 383940dd5a57Smrg *) 384040dd5a57Smrg ;; 384140dd5a57Smrg esac 384240dd5a57Smrg ;; 384340dd5a57Smrg psos*) 384440dd5a57Smrg ;; 384540dd5a57Smrg solaris*) 384640dd5a57Smrg case $cc_basename in 384740dd5a57Smrg CC* | sunCC*) 384840dd5a57Smrg # Sun C++ 4.2, 5.x and Centerline C++ 384940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 385040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 385140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 385240dd5a57Smrg ;; 385340dd5a57Smrg gcx*) 385440dd5a57Smrg # Green Hills C++ Compiler 385540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 385640dd5a57Smrg ;; 385740dd5a57Smrg *) 385840dd5a57Smrg ;; 385940dd5a57Smrg esac 386040dd5a57Smrg ;; 386140dd5a57Smrg sunos4*) 386240dd5a57Smrg case $cc_basename in 386340dd5a57Smrg CC*) 386440dd5a57Smrg # Sun C++ 4.x 386540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 386640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 386740dd5a57Smrg ;; 386840dd5a57Smrg lcc*) 386940dd5a57Smrg # Lucid 387040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 387140dd5a57Smrg ;; 387240dd5a57Smrg *) 387340dd5a57Smrg ;; 387440dd5a57Smrg esac 387540dd5a57Smrg ;; 387640dd5a57Smrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 387740dd5a57Smrg case $cc_basename in 387840dd5a57Smrg CC*) 387940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 388040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 388140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 388240dd5a57Smrg ;; 388340dd5a57Smrg esac 388440dd5a57Smrg ;; 388540dd5a57Smrg tandem*) 388640dd5a57Smrg case $cc_basename in 388740dd5a57Smrg NCC*) 388840dd5a57Smrg # NonStop-UX NCC 3.20 388940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 389040dd5a57Smrg ;; 389140dd5a57Smrg *) 389240dd5a57Smrg ;; 389340dd5a57Smrg esac 389440dd5a57Smrg ;; 389540dd5a57Smrg vxworks*) 389640dd5a57Smrg ;; 389740dd5a57Smrg *) 389840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 389940dd5a57Smrg ;; 390040dd5a57Smrg esac 390140dd5a57Smrg fi 390240dd5a57Smrg], 390340dd5a57Smrg[ 390440dd5a57Smrg if test "$GCC" = yes; then 390540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 390640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 390740dd5a57Smrg 390840dd5a57Smrg case $host_os in 390940dd5a57Smrg aix*) 391040dd5a57Smrg # All AIX code is PIC. 391140dd5a57Smrg if test "$host_cpu" = ia64; then 391240dd5a57Smrg # AIX 5 now supports IA64 processor 391340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 391440dd5a57Smrg fi 391540dd5a57Smrg ;; 391640dd5a57Smrg 391740dd5a57Smrg amigaos*) 391840dd5a57Smrg case $host_cpu in 391940dd5a57Smrg powerpc) 392040dd5a57Smrg # see comment about AmigaOS4 .so support 392140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 392240dd5a57Smrg ;; 392340dd5a57Smrg m68k) 392440dd5a57Smrg # FIXME: we need at least 68020 code to build shared libraries, but 392540dd5a57Smrg # adding the `-m68020' flag to GCC prevents building anything better, 392640dd5a57Smrg # like `-m68040'. 392740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 392840dd5a57Smrg ;; 392940dd5a57Smrg esac 393040dd5a57Smrg ;; 393140dd5a57Smrg 393240dd5a57Smrg beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 393340dd5a57Smrg # PIC is the default for these OSes. 393440dd5a57Smrg ;; 393540dd5a57Smrg 393640dd5a57Smrg mingw* | cygwin* | pw32* | os2* | cegcc*) 393740dd5a57Smrg # This hack is so that the source file can tell whether it is being 393840dd5a57Smrg # built for inclusion in a dll (and should export symbols for example). 393940dd5a57Smrg # Although the cygwin gcc ignores -fPIC, still need this for old-style 394040dd5a57Smrg # (--disable-auto-import) libraries 394140dd5a57Smrg m4_if([$1], [GCJ], [], 394240dd5a57Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 394340dd5a57Smrg ;; 394440dd5a57Smrg 394540dd5a57Smrg darwin* | rhapsody*) 394640dd5a57Smrg # PIC is the default on this platform 394740dd5a57Smrg # Common symbols not allowed in MH_DYLIB files 394840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 394940dd5a57Smrg ;; 395040dd5a57Smrg 395140dd5a57Smrg haiku*) 395240dd5a57Smrg # PIC is the default for Haiku. 395340dd5a57Smrg # The "-static" flag exists, but is broken. 395440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)= 395540dd5a57Smrg ;; 395640dd5a57Smrg 395740dd5a57Smrg hpux*) 395840dd5a57Smrg # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 395940dd5a57Smrg # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 396040dd5a57Smrg # sets the default TLS model and affects inlining. 396140dd5a57Smrg case $host_cpu in 396240dd5a57Smrg hppa*64*) 396340dd5a57Smrg # +Z the default 396440dd5a57Smrg ;; 396540dd5a57Smrg *) 396640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 396740dd5a57Smrg ;; 396840dd5a57Smrg esac 396940dd5a57Smrg ;; 397040dd5a57Smrg 397140dd5a57Smrg interix[[3-9]]*) 397240dd5a57Smrg # Interix 3.x gcc -fpic/-fPIC options generate broken code. 397340dd5a57Smrg # Instead, we relocate shared libraries at runtime. 397440dd5a57Smrg ;; 397540dd5a57Smrg 397640dd5a57Smrg msdosdjgpp*) 397740dd5a57Smrg # Just because we use GCC doesn't mean we suddenly get shared libraries 397840dd5a57Smrg # on systems that don't support them. 397940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 398040dd5a57Smrg enable_shared=no 398140dd5a57Smrg ;; 398240dd5a57Smrg 398340dd5a57Smrg *nto* | *qnx*) 398440dd5a57Smrg # QNX uses GNU C++, but need to define -shared option too, otherwise 398540dd5a57Smrg # it will coredump. 398640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 398740dd5a57Smrg ;; 398840dd5a57Smrg 398940dd5a57Smrg sysv4*MP*) 399040dd5a57Smrg if test -d /usr/nec; then 399140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 399240dd5a57Smrg fi 399340dd5a57Smrg ;; 399440dd5a57Smrg 399540dd5a57Smrg *) 399640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 399740dd5a57Smrg ;; 399840dd5a57Smrg esac 399940dd5a57Smrg 400040dd5a57Smrg case $cc_basename in 400140dd5a57Smrg nvcc*) # Cuda Compiler Driver 2.2 400240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' 400340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC' 400440dd5a57Smrg ;; 400540dd5a57Smrg esac 400640dd5a57Smrg else 400740dd5a57Smrg # PORTME Check for flag to pass linker flags through the system compiler. 400840dd5a57Smrg case $host_os in 400940dd5a57Smrg aix*) 401040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 401140dd5a57Smrg if test "$host_cpu" = ia64; then 401240dd5a57Smrg # AIX 5 now supports IA64 processor 401340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 401440dd5a57Smrg else 401540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 401640dd5a57Smrg fi 401740dd5a57Smrg ;; 401840dd5a57Smrg 401940dd5a57Smrg mingw* | cygwin* | pw32* | os2* | cegcc*) 402040dd5a57Smrg # This hack is so that the source file can tell whether it is being 402140dd5a57Smrg # built for inclusion in a dll (and should export symbols for example). 402240dd5a57Smrg m4_if([$1], [GCJ], [], 402340dd5a57Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 402440dd5a57Smrg ;; 402540dd5a57Smrg 402640dd5a57Smrg hpux9* | hpux10* | hpux11*) 402740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 402840dd5a57Smrg # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 402940dd5a57Smrg # not for PA HP-UX. 403040dd5a57Smrg case $host_cpu in 403140dd5a57Smrg hppa*64*|ia64*) 403240dd5a57Smrg # +Z the default 403340dd5a57Smrg ;; 403440dd5a57Smrg *) 403540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 403640dd5a57Smrg ;; 403740dd5a57Smrg esac 403840dd5a57Smrg # Is there a better lt_prog_compiler_static that works with the bundled CC? 403940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 404040dd5a57Smrg ;; 404140dd5a57Smrg 404240dd5a57Smrg irix5* | irix6* | nonstopux*) 404340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 404440dd5a57Smrg # PIC (with -KPIC) is the default. 404540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 404640dd5a57Smrg ;; 404740dd5a57Smrg 404840dd5a57Smrg linux* | k*bsd*-gnu | kopensolaris*-gnu) 404940dd5a57Smrg case $cc_basename in 405040dd5a57Smrg # old Intel for x86_64 which still supported -KPIC. 405140dd5a57Smrg ecc*) 405240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 405340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 405440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 405540dd5a57Smrg ;; 405640dd5a57Smrg # icc used to be incompatible with GCC. 405740dd5a57Smrg # ICC 10 doesn't accept -KPIC any more. 405840dd5a57Smrg icc* | ifort*) 405940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 406040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 406140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 406240dd5a57Smrg ;; 406340dd5a57Smrg # Lahey Fortran 8.1. 406440dd5a57Smrg lf95*) 406540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 406640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 406740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 406840dd5a57Smrg ;; 406940dd5a57Smrg pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) 407040dd5a57Smrg # Portland Group compilers (*not* the Pentium gcc compiler, 407140dd5a57Smrg # which looks to be a dead project) 407240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 407340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 407440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 407540dd5a57Smrg ;; 407640dd5a57Smrg ccc*) 407740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 407840dd5a57Smrg # All Alpha code is PIC. 407940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 408040dd5a57Smrg ;; 408140dd5a57Smrg xl* | bgxl* | bgf* | mpixl*) 408240dd5a57Smrg # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene 408340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 408440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 408540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 408640dd5a57Smrg ;; 408740dd5a57Smrg *) 408840dd5a57Smrg case `$CC -V 2>&1 | sed 5q` in 408940dd5a57Smrg *Sun\ F* | *Sun*Fortran*) 409040dd5a57Smrg # Sun Fortran 8.3 passes all unrecognized flags to the linker 409140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 409240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 409340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 409440dd5a57Smrg ;; 409540dd5a57Smrg *Sun\ C*) 409640dd5a57Smrg # Sun C 5.9 409740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 409840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 409940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 410040dd5a57Smrg ;; 410140dd5a57Smrg esac 410240dd5a57Smrg ;; 410340dd5a57Smrg esac 410440dd5a57Smrg ;; 410540dd5a57Smrg 410640dd5a57Smrg newsos6) 410740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 410840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 410940dd5a57Smrg ;; 411040dd5a57Smrg 411140dd5a57Smrg *nto* | *qnx*) 411240dd5a57Smrg # QNX uses GNU C++, but need to define -shared option too, otherwise 411340dd5a57Smrg # it will coredump. 411440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 411540dd5a57Smrg ;; 411640dd5a57Smrg 411740dd5a57Smrg osf3* | osf4* | osf5*) 411840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 411940dd5a57Smrg # All OSF/1 code is PIC. 412040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 412140dd5a57Smrg ;; 412240dd5a57Smrg 412340dd5a57Smrg rdos*) 412440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 412540dd5a57Smrg ;; 412640dd5a57Smrg 412740dd5a57Smrg solaris*) 412840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 412940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 413040dd5a57Smrg case $cc_basename in 413140dd5a57Smrg f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) 413240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 413340dd5a57Smrg *) 413440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 413540dd5a57Smrg esac 413640dd5a57Smrg ;; 413740dd5a57Smrg 413840dd5a57Smrg sunos4*) 413940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 414040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 414140dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 414240dd5a57Smrg ;; 414340dd5a57Smrg 414440dd5a57Smrg sysv4 | sysv4.2uw2* | sysv4.3*) 414540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 414640dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 414740dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 414840dd5a57Smrg ;; 414940dd5a57Smrg 415040dd5a57Smrg sysv4*MP*) 415140dd5a57Smrg if test -d /usr/nec ;then 415240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 415340dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 415440dd5a57Smrg fi 415540dd5a57Smrg ;; 415640dd5a57Smrg 415740dd5a57Smrg sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 415840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 415940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 416040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 416140dd5a57Smrg ;; 416240dd5a57Smrg 416340dd5a57Smrg unicos*) 416440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 416540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 416640dd5a57Smrg ;; 416740dd5a57Smrg 416840dd5a57Smrg uts4*) 416940dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 417040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 417140dd5a57Smrg ;; 417240dd5a57Smrg 417340dd5a57Smrg *) 417440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 417540dd5a57Smrg ;; 417640dd5a57Smrg esac 417740dd5a57Smrg fi 417840dd5a57Smrg]) 417940dd5a57Smrgcase $host_os in 418040dd5a57Smrg # For platforms which do not support PIC, -DPIC is meaningless: 418140dd5a57Smrg *djgpp*) 418240dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)= 418340dd5a57Smrg ;; 418440dd5a57Smrg *) 418540dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 418640dd5a57Smrg ;; 418740dd5a57Smrgesac 418840dd5a57SmrgAC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 418940dd5a57Smrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 419040dd5a57Smrg [How to pass a linker flag through the compiler]) 419140dd5a57Smrg 419240dd5a57Smrg# 419340dd5a57Smrg# Check to make sure the PIC flag actually works. 419440dd5a57Smrg# 419540dd5a57Smrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 419640dd5a57Smrg _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 419740dd5a57Smrg [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 419840dd5a57Smrg [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 419940dd5a57Smrg [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 420040dd5a57Smrg "" | " "*) ;; 420140dd5a57Smrg *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 420240dd5a57Smrg esac], 420340dd5a57Smrg [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 420440dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 420540dd5a57Smrgfi 420640dd5a57Smrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 420740dd5a57Smrg [Additional compiler flags for building library objects]) 420840dd5a57Smrg 420940dd5a57Smrg# 421040dd5a57Smrg# Check to make sure the static flag actually works. 421140dd5a57Smrg# 421240dd5a57Smrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 421340dd5a57Smrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 421440dd5a57Smrg _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 421540dd5a57Smrg $lt_tmp_static_flag, 421640dd5a57Smrg [], 421740dd5a57Smrg [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 421840dd5a57Smrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 421940dd5a57Smrg [Compiler flag to prevent dynamic linking]) 422040dd5a57Smrg])# _LT_COMPILER_PIC 422140dd5a57Smrg 422240dd5a57Smrg 422340dd5a57Smrg# _LT_LINKER_SHLIBS([TAGNAME]) 422440dd5a57Smrg# ---------------------------- 422540dd5a57Smrg# See if the linker supports building shared libraries. 422640dd5a57Smrgm4_defun([_LT_LINKER_SHLIBS], 422740dd5a57Smrg[AC_REQUIRE([LT_PATH_LD])dnl 422840dd5a57SmrgAC_REQUIRE([LT_PATH_NM])dnl 422940dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl 423040dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl 423140dd5a57Smrgm4_require([_LT_DECL_SED])dnl 423240dd5a57Smrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 423340dd5a57Smrgm4_require([_LT_TAG_COMPILER])dnl 423440dd5a57SmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 423540dd5a57Smrgm4_if([$1], [CXX], [ 423640dd5a57Smrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 423740dd5a57Smrg case $host_os in 423840dd5a57Smrg aix[[4-9]]*) 423940dd5a57Smrg # If we're using GNU nm, then we don't want the "-C" option. 424040dd5a57Smrg # -C means demangle to AIX nm, but means don't demangle with GNU nm 424140dd5a57Smrg # Also, AIX nm treats weak defined symbols like other global defined 424240dd5a57Smrg # symbols, whereas GNU nm marks them as "W". 424340dd5a57Smrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 424440dd5a57Smrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 424540dd5a57Smrg else 424640dd5a57Smrg _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' 424740dd5a57Smrg fi 424840dd5a57Smrg ;; 424940dd5a57Smrg pw32*) 425040dd5a57Smrg _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" 425140dd5a57Smrg ;; 425240dd5a57Smrg cygwin* | mingw* | cegcc*) 425340dd5a57Smrg _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' 425440dd5a57Smrg ;; 425540dd5a57Smrg *) 425640dd5a57Smrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 425740dd5a57Smrg ;; 425840dd5a57Smrg esac 425940dd5a57Smrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 426040dd5a57Smrg], [ 426140dd5a57Smrg runpath_var= 426240dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)= 426340dd5a57Smrg _LT_TAGVAR(always_export_symbols, $1)=no 426440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)= 426540dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)= 426640dd5a57Smrg _LT_TAGVAR(compiler_needs_object, $1)=no 426740dd5a57Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 426840dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)= 426940dd5a57Smrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 427040dd5a57Smrg _LT_TAGVAR(hardcode_automatic, $1)=no 427140dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=no 427240dd5a57Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=no 427340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 427440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 427540dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 427640dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=no 427740dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 427840dd5a57Smrg _LT_TAGVAR(inherit_rpath, $1)=no 427940dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=unknown 428040dd5a57Smrg _LT_TAGVAR(module_cmds, $1)= 428140dd5a57Smrg _LT_TAGVAR(module_expsym_cmds, $1)= 428240dd5a57Smrg _LT_TAGVAR(old_archive_from_new_cmds, $1)= 428340dd5a57Smrg _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 428440dd5a57Smrg _LT_TAGVAR(thread_safe_flag_spec, $1)= 428540dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 428640dd5a57Smrg # include_expsyms should be a list of space-separated symbols to be *always* 428740dd5a57Smrg # included in the symbol list 428840dd5a57Smrg _LT_TAGVAR(include_expsyms, $1)= 428940dd5a57Smrg # exclude_expsyms can be an extended regexp of symbols to exclude 429040dd5a57Smrg # it will be wrapped by ` (' and `)$', so one must not match beginning or 429140dd5a57Smrg # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', 429240dd5a57Smrg # as well as any symbol that contains `d'. 429340dd5a57Smrg _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 429440dd5a57Smrg # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 429540dd5a57Smrg # platforms (ab)use it in PIC code, but their linkers get confused if 429640dd5a57Smrg # the symbol is explicitly referenced. Since portable code cannot 429740dd5a57Smrg # rely on this symbol name, it's probably fine to never include it in 429840dd5a57Smrg # preloaded symbol tables. 429940dd5a57Smrg # Exclude shared library initialization/finalization symbols. 430040dd5a57Smrgdnl Note also adjust exclude_expsyms for C++ above. 430140dd5a57Smrg extract_expsyms_cmds= 430240dd5a57Smrg 430340dd5a57Smrg case $host_os in 430440dd5a57Smrg cygwin* | mingw* | pw32* | cegcc*) 430540dd5a57Smrg # FIXME: the MSVC++ port hasn't been tested in a loooong time 430640dd5a57Smrg # When not using gcc, we currently assume that we are using 430740dd5a57Smrg # Microsoft Visual C++. 430840dd5a57Smrg if test "$GCC" != yes; then 430940dd5a57Smrg with_gnu_ld=no 431040dd5a57Smrg fi 431140dd5a57Smrg ;; 431240dd5a57Smrg interix*) 431340dd5a57Smrg # we just hope/assume this is gcc and not c89 (= MSVC++) 431440dd5a57Smrg with_gnu_ld=yes 431540dd5a57Smrg ;; 431640dd5a57Smrg openbsd*) 431740dd5a57Smrg with_gnu_ld=no 431840dd5a57Smrg ;; 431940dd5a57Smrg esac 432040dd5a57Smrg 432140dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 432240dd5a57Smrg 432340dd5a57Smrg # On some targets, GNU ld is compatible enough with the native linker 432440dd5a57Smrg # that we're better off using the native interface for both. 432540dd5a57Smrg lt_use_gnu_ld_interface=no 432640dd5a57Smrg if test "$with_gnu_ld" = yes; then 432740dd5a57Smrg case $host_os in 432840dd5a57Smrg aix*) 432940dd5a57Smrg # The AIX port of GNU ld has always aspired to compatibility 433040dd5a57Smrg # with the native linker. However, as the warning in the GNU ld 433140dd5a57Smrg # block says, versions before 2.19.5* couldn't really create working 433240dd5a57Smrg # shared libraries, regardless of the interface used. 433340dd5a57Smrg case `$LD -v 2>&1` in 433440dd5a57Smrg *\ \(GNU\ Binutils\)\ 2.19.5*) ;; 433540dd5a57Smrg *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; 433640dd5a57Smrg *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; 433740dd5a57Smrg *) 433840dd5a57Smrg lt_use_gnu_ld_interface=yes 433940dd5a57Smrg ;; 434040dd5a57Smrg esac 434140dd5a57Smrg ;; 434240dd5a57Smrg *) 434340dd5a57Smrg lt_use_gnu_ld_interface=yes 434440dd5a57Smrg ;; 434540dd5a57Smrg esac 434640dd5a57Smrg fi 434740dd5a57Smrg 434840dd5a57Smrg if test "$lt_use_gnu_ld_interface" = yes; then 434940dd5a57Smrg # If archive_cmds runs LD, not CC, wlarc should be empty 435040dd5a57Smrg wlarc='${wl}' 435140dd5a57Smrg 435240dd5a57Smrg # Set some defaults for GNU ld with shared library support. These 435340dd5a57Smrg # are reset later if shared libraries are not supported. Putting them 435440dd5a57Smrg # here allows them to be overridden if necessary. 435540dd5a57Smrg runpath_var=LD_RUN_PATH 435640dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 435740dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 435840dd5a57Smrg # ancient GNU ld didn't support --whole-archive et. al. 435940dd5a57Smrg if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 436040dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 436140dd5a57Smrg else 436240dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 436340dd5a57Smrg fi 436440dd5a57Smrg supports_anon_versioning=no 436540dd5a57Smrg case `$LD -v 2>&1` in 436640dd5a57Smrg *GNU\ gold*) supports_anon_versioning=yes ;; 436740dd5a57Smrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 436840dd5a57Smrg *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 436940dd5a57Smrg *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 437040dd5a57Smrg *\ 2.11.*) ;; # other 2.11 versions 437140dd5a57Smrg *) supports_anon_versioning=yes ;; 437240dd5a57Smrg esac 437340dd5a57Smrg 437440dd5a57Smrg # See if GNU ld supports shared libraries. 437540dd5a57Smrg case $host_os in 437640dd5a57Smrg aix[[3-9]]*) 437740dd5a57Smrg # On AIX/PPC, the GNU linker is very broken 437840dd5a57Smrg if test "$host_cpu" != ia64; then 437940dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 438040dd5a57Smrg cat <<_LT_EOF 1>&2 438140dd5a57Smrg 438240dd5a57Smrg*** Warning: the GNU linker, at least up to release 2.19, is reported 438340dd5a57Smrg*** to be unable to reliably create shared libraries on AIX. 438440dd5a57Smrg*** Therefore, libtool is disabling shared libraries support. If you 438540dd5a57Smrg*** really care for shared libraries, you may want to install binutils 438640dd5a57Smrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. 438740dd5a57Smrg*** You will then need to restart the configuration process. 438840dd5a57Smrg 438940dd5a57Smrg_LT_EOF 439040dd5a57Smrg fi 439140dd5a57Smrg ;; 439240dd5a57Smrg 439340dd5a57Smrg amigaos*) 439440dd5a57Smrg case $host_cpu in 439540dd5a57Smrg powerpc) 439640dd5a57Smrg # see comment about AmigaOS4 .so support 439740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 439840dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='' 439940dd5a57Smrg ;; 440040dd5a57Smrg m68k) 440140dd5a57Smrg _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)' 440240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 440340dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 440440dd5a57Smrg ;; 440540dd5a57Smrg esac 440640dd5a57Smrg ;; 440740dd5a57Smrg 440840dd5a57Smrg beos*) 440940dd5a57Smrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 441040dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 441140dd5a57Smrg # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 441240dd5a57Smrg # support --undefined. This deserves some investigation. FIXME 441340dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 441440dd5a57Smrg else 441540dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 441640dd5a57Smrg fi 441740dd5a57Smrg ;; 441840dd5a57Smrg 441940dd5a57Smrg cygwin* | mingw* | pw32* | cegcc*) 442040dd5a57Smrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 442140dd5a57Smrg # as there is no search path for DLLs. 442240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 442340dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' 442440dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 442540dd5a57Smrg _LT_TAGVAR(always_export_symbols, $1)=no 442640dd5a57Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 442740dd5a57Smrg _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' 442840dd5a57Smrg 442940dd5a57Smrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 443040dd5a57Smrg _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' 443140dd5a57Smrg # If the export-symbols file already is a .def file (1st line 443240dd5a57Smrg # is EXPORTS), use it as is; otherwise, prepend... 443340dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 443440dd5a57Smrg cp $export_symbols $output_objdir/$soname.def; 443540dd5a57Smrg else 443640dd5a57Smrg echo EXPORTS > $output_objdir/$soname.def; 443740dd5a57Smrg cat $export_symbols >> $output_objdir/$soname.def; 443840dd5a57Smrg fi~ 443940dd5a57Smrg $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 444040dd5a57Smrg else 444140dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 444240dd5a57Smrg fi 444340dd5a57Smrg ;; 444440dd5a57Smrg 444540dd5a57Smrg haiku*) 444640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 444740dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 444840dd5a57Smrg ;; 444940dd5a57Smrg 445040dd5a57Smrg interix[[3-9]]*) 445140dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=no 445240dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 445340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 445440dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 445540dd5a57Smrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 445640dd5a57Smrg # Instead, shared libraries are loaded at an image base (0x10000000 by 445740dd5a57Smrg # default) and relocated if they conflict, which is a slow very memory 445840dd5a57Smrg # consuming and fragmenting process. To avoid this, we pick a random, 445940dd5a57Smrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 446040dd5a57Smrg # time. Moving up from 0x10000000 also allows more sbrk(2) space. 446140dd5a57Smrg _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' 446240dd5a57Smrg _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' 446340dd5a57Smrg ;; 446440dd5a57Smrg 446540dd5a57Smrg gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 446640dd5a57Smrg tmp_diet=no 446740dd5a57Smrg if test "$host_os" = linux-dietlibc; then 446840dd5a57Smrg case $cc_basename in 446940dd5a57Smrg diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 447040dd5a57Smrg esac 447140dd5a57Smrg fi 447240dd5a57Smrg if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 447340dd5a57Smrg && test "$tmp_diet" = no 447440dd5a57Smrg then 447540dd5a57Smrg tmp_addflag= 447640dd5a57Smrg tmp_sharedflag='-shared' 447740dd5a57Smrg case $cc_basename,$host_cpu in 447840dd5a57Smrg pgcc*) # Portland Group C compiler 447940dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' 448040dd5a57Smrg tmp_addflag=' $pic_flag' 448140dd5a57Smrg ;; 448240dd5a57Smrg pgf77* | pgf90* | pgf95* | pgfortran*) 448340dd5a57Smrg # Portland Group f77 and f90 compilers 448440dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' 448540dd5a57Smrg tmp_addflag=' $pic_flag -Mnomain' ;; 448640dd5a57Smrg ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 448740dd5a57Smrg tmp_addflag=' -i_dynamic' ;; 448840dd5a57Smrg efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 448940dd5a57Smrg tmp_addflag=' -i_dynamic -nofor_main' ;; 449040dd5a57Smrg ifc* | ifort*) # Intel Fortran compiler 449140dd5a57Smrg tmp_addflag=' -nofor_main' ;; 449240dd5a57Smrg lf95*) # Lahey Fortran 8.1 449340dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 449440dd5a57Smrg tmp_sharedflag='--shared' ;; 449540dd5a57Smrg xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 449640dd5a57Smrg tmp_sharedflag='-qmkshrobj' 449740dd5a57Smrg tmp_addflag= ;; 449840dd5a57Smrg nvcc*) # Cuda Compiler Driver 2.2 449940dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' 450040dd5a57Smrg _LT_TAGVAR(compiler_needs_object, $1)=yes 450140dd5a57Smrg ;; 450240dd5a57Smrg esac 450340dd5a57Smrg case `$CC -V 2>&1 | sed 5q` in 450440dd5a57Smrg *Sun\ C*) # Sun C 5.9 450540dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' 450640dd5a57Smrg _LT_TAGVAR(compiler_needs_object, $1)=yes 450740dd5a57Smrg tmp_sharedflag='-G' ;; 450840dd5a57Smrg *Sun\ F*) # Sun Fortran 8.3 450940dd5a57Smrg tmp_sharedflag='-G' ;; 451040dd5a57Smrg esac 451140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 451240dd5a57Smrg 451340dd5a57Smrg if test "x$supports_anon_versioning" = xyes; then 451440dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 451540dd5a57Smrg cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 451640dd5a57Smrg echo "local: *; };" >> $output_objdir/$libname.ver~ 451740dd5a57Smrg $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 451840dd5a57Smrg fi 451940dd5a57Smrg 452040dd5a57Smrg case $cc_basename in 452140dd5a57Smrg xlf* | bgf* | bgxlf* | mpixlf*) 452240dd5a57Smrg # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 452340dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 452440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 452540dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' 452640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' 452740dd5a57Smrg if test "x$supports_anon_versioning" = xyes; then 452840dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 452940dd5a57Smrg cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 453040dd5a57Smrg echo "local: *; };" >> $output_objdir/$libname.ver~ 453140dd5a57Smrg $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 453240dd5a57Smrg fi 453340dd5a57Smrg ;; 453440dd5a57Smrg esac 453540dd5a57Smrg else 453640dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 453740dd5a57Smrg fi 453840dd5a57Smrg ;; 453940dd5a57Smrg 454040dd5a57Smrg netbsd*) 454140dd5a57Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 454240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 454340dd5a57Smrg wlarc= 454440dd5a57Smrg else 454540dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 454640dd5a57Smrg _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' 454740dd5a57Smrg fi 454840dd5a57Smrg ;; 454940dd5a57Smrg 455040dd5a57Smrg solaris*) 455140dd5a57Smrg if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 455240dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 455340dd5a57Smrg cat <<_LT_EOF 1>&2 455440dd5a57Smrg 455540dd5a57Smrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably 455640dd5a57Smrg*** create shared libraries on Solaris systems. Therefore, libtool 455740dd5a57Smrg*** is disabling shared libraries support. We urge you to upgrade GNU 455840dd5a57Smrg*** binutils to release 2.9.1 or newer. Another option is to modify 455940dd5a57Smrg*** your PATH or compiler configuration so that the native linker is 456040dd5a57Smrg*** used, and then restart. 456140dd5a57Smrg 456240dd5a57Smrg_LT_EOF 456340dd5a57Smrg elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 456440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 456540dd5a57Smrg _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' 456640dd5a57Smrg else 456740dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 456840dd5a57Smrg fi 456940dd5a57Smrg ;; 457040dd5a57Smrg 457140dd5a57Smrg sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 457240dd5a57Smrg case `$LD -v 2>&1` in 457340dd5a57Smrg *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 457440dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 457540dd5a57Smrg cat <<_LT_EOF 1>&2 457640dd5a57Smrg 457740dd5a57Smrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not 457840dd5a57Smrg*** reliably create shared libraries on SCO systems. Therefore, libtool 457940dd5a57Smrg*** is disabling shared libraries support. We urge you to upgrade GNU 458040dd5a57Smrg*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 458140dd5a57Smrg*** your PATH or compiler configuration so that the native linker is 458240dd5a57Smrg*** used, and then restart. 458340dd5a57Smrg 458440dd5a57Smrg_LT_EOF 458540dd5a57Smrg ;; 458640dd5a57Smrg *) 458740dd5a57Smrg # For security reasons, it is highly recommended that you always 458840dd5a57Smrg # use absolute paths for naming shared libraries, and exclude the 458940dd5a57Smrg # DT_RUNPATH tag from executables and libraries. But doing so 459040dd5a57Smrg # requires that you compile everything twice, which is a pain. 459140dd5a57Smrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 459240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 459340dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 459440dd5a57Smrg _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' 459540dd5a57Smrg else 459640dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 459740dd5a57Smrg fi 459840dd5a57Smrg ;; 459940dd5a57Smrg esac 460040dd5a57Smrg ;; 460140dd5a57Smrg 460240dd5a57Smrg sunos4*) 460340dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 460440dd5a57Smrg wlarc= 460540dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 460640dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 460740dd5a57Smrg ;; 460840dd5a57Smrg 460940dd5a57Smrg *) 461040dd5a57Smrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 461140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 461240dd5a57Smrg _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' 461340dd5a57Smrg else 461440dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 461540dd5a57Smrg fi 461640dd5a57Smrg ;; 461740dd5a57Smrg esac 461840dd5a57Smrg 461940dd5a57Smrg if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then 462040dd5a57Smrg runpath_var= 462140dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 462240dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)= 462340dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 462440dd5a57Smrg fi 462540dd5a57Smrg else 462640dd5a57Smrg # PORTME fill in a description of your system's linker (not GNU ld) 462740dd5a57Smrg case $host_os in 462840dd5a57Smrg aix3*) 462940dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 463040dd5a57Smrg _LT_TAGVAR(always_export_symbols, $1)=yes 463140dd5a57Smrg _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' 463240dd5a57Smrg # Note: this linker hardcodes the directories in LIBPATH if there 463340dd5a57Smrg # are no directories specified by -L. 463440dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 463540dd5a57Smrg if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then 463640dd5a57Smrg # Neither direct hardcoding nor static linking is supported with a 463740dd5a57Smrg # broken collect2. 463840dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 463940dd5a57Smrg fi 464040dd5a57Smrg ;; 464140dd5a57Smrg 464240dd5a57Smrg aix[[4-9]]*) 464340dd5a57Smrg if test "$host_cpu" = ia64; then 464440dd5a57Smrg # On IA64, the linker does run time linking by default, so we don't 464540dd5a57Smrg # have to do anything special. 464640dd5a57Smrg aix_use_runtimelinking=no 464740dd5a57Smrg exp_sym_flag='-Bexport' 464840dd5a57Smrg no_entry_flag="" 464940dd5a57Smrg else 465040dd5a57Smrg # If we're using GNU nm, then we don't want the "-C" option. 465140dd5a57Smrg # -C means demangle to AIX nm, but means don't demangle with GNU nm 465240dd5a57Smrg # Also, AIX nm treats weak defined symbols like other global 465340dd5a57Smrg # defined symbols, whereas GNU nm marks them as "W". 465440dd5a57Smrg if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 465540dd5a57Smrg _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 465640dd5a57Smrg else 465740dd5a57Smrg _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' 465840dd5a57Smrg fi 465940dd5a57Smrg aix_use_runtimelinking=no 466040dd5a57Smrg 466140dd5a57Smrg # Test if we are trying to use run time linking or normal 466240dd5a57Smrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we 466340dd5a57Smrg # need to do runtime linking. 466440dd5a57Smrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 466540dd5a57Smrg for ld_flag in $LDFLAGS; do 466640dd5a57Smrg if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then 466740dd5a57Smrg aix_use_runtimelinking=yes 466840dd5a57Smrg break 466940dd5a57Smrg fi 467040dd5a57Smrg done 467140dd5a57Smrg ;; 467240dd5a57Smrg esac 467340dd5a57Smrg 467440dd5a57Smrg exp_sym_flag='-bexport' 467540dd5a57Smrg no_entry_flag='-bnoentry' 467640dd5a57Smrg fi 467740dd5a57Smrg 467840dd5a57Smrg # When large executables or shared objects are built, AIX ld can 467940dd5a57Smrg # have problems creating the table of contents. If linking a library 468040dd5a57Smrg # or program results in "error TOC overflow" add -mminimal-toc to 468140dd5a57Smrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 468240dd5a57Smrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 468340dd5a57Smrg 468440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='' 468540dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 468640dd5a57Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 468740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 468840dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 468940dd5a57Smrg _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 469040dd5a57Smrg 469140dd5a57Smrg if test "$GCC" = yes; then 469240dd5a57Smrg case $host_os in aix4.[[012]]|aix4.[[012]].*) 469340dd5a57Smrg # We only want to do this on AIX 4.2 and lower, the check 469440dd5a57Smrg # below for broken collect2 doesn't work under 4.3+ 469540dd5a57Smrg collect2name=`${CC} -print-prog-name=collect2` 469640dd5a57Smrg if test -f "$collect2name" && 469740dd5a57Smrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null 469840dd5a57Smrg then 469940dd5a57Smrg # We have reworked collect2 470040dd5a57Smrg : 470140dd5a57Smrg else 470240dd5a57Smrg # We have old collect2 470340dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 470440dd5a57Smrg # It fails to find uninstalled libraries when the uninstalled 470540dd5a57Smrg # path is not listed in the libpath. Setting hardcode_minus_L 470640dd5a57Smrg # to unsupported forces relinking 470740dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 470840dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 470940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 471040dd5a57Smrg fi 471140dd5a57Smrg ;; 471240dd5a57Smrg esac 471340dd5a57Smrg shared_flag='-shared' 471440dd5a57Smrg if test "$aix_use_runtimelinking" = yes; then 471540dd5a57Smrg shared_flag="$shared_flag "'${wl}-G' 471640dd5a57Smrg fi 471740dd5a57Smrg else 471840dd5a57Smrg # not using gcc 471940dd5a57Smrg if test "$host_cpu" = ia64; then 472040dd5a57Smrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 472140dd5a57Smrg # chokes on -Wl,-G. The following line is correct: 472240dd5a57Smrg shared_flag='-G' 472340dd5a57Smrg else 472440dd5a57Smrg if test "$aix_use_runtimelinking" = yes; then 472540dd5a57Smrg shared_flag='${wl}-G' 472640dd5a57Smrg else 472740dd5a57Smrg shared_flag='${wl}-bM:SRE' 472840dd5a57Smrg fi 472940dd5a57Smrg fi 473040dd5a57Smrg fi 473140dd5a57Smrg 473240dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 473340dd5a57Smrg # It seems that -bexpall does not export symbols beginning with 473440dd5a57Smrg # underscore (_), so it is better to generate a list of symbols to export. 473540dd5a57Smrg _LT_TAGVAR(always_export_symbols, $1)=yes 473640dd5a57Smrg if test "$aix_use_runtimelinking" = yes; then 473740dd5a57Smrg # Warning - without using the other runtime loading flags (-brtl), 473840dd5a57Smrg # -berok will link without error, but may produce a broken library. 473940dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 474040dd5a57Smrg # Determine the default libpath from the value encoded in an 474140dd5a57Smrg # empty executable. 474240dd5a57Smrg _LT_SYS_MODULE_PATH_AIX 474340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 474440dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 474540dd5a57Smrg else 474640dd5a57Smrg if test "$host_cpu" = ia64; then 474740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 474840dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 474940dd5a57Smrg _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" 475040dd5a57Smrg else 475140dd5a57Smrg # Determine the default libpath from the value encoded in an 475240dd5a57Smrg # empty executable. 475340dd5a57Smrg _LT_SYS_MODULE_PATH_AIX 475440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 475540dd5a57Smrg # Warning - without using the other run time loading flags, 475640dd5a57Smrg # -berok will link without error, but may produce a broken library. 475740dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 475840dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 475940dd5a57Smrg if test "$with_gnu_ld" = yes; then 476040dd5a57Smrg # We only use this code for GNU lds that support --whole-archive. 476140dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 476240dd5a57Smrg else 476340dd5a57Smrg # Exported symbols can be pulled into shared objects from archives 476440dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 476540dd5a57Smrg fi 476640dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 476740dd5a57Smrg # This is similar to how AIX traditionally builds its shared libraries. 476840dd5a57Smrg _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' 476940dd5a57Smrg fi 477040dd5a57Smrg fi 477140dd5a57Smrg ;; 477240dd5a57Smrg 477340dd5a57Smrg amigaos*) 477440dd5a57Smrg case $host_cpu in 477540dd5a57Smrg powerpc) 477640dd5a57Smrg # see comment about AmigaOS4 .so support 477740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 477840dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='' 477940dd5a57Smrg ;; 478040dd5a57Smrg m68k) 478140dd5a57Smrg _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)' 478240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 478340dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 478440dd5a57Smrg ;; 478540dd5a57Smrg esac 478640dd5a57Smrg ;; 478740dd5a57Smrg 478840dd5a57Smrg bsdi[[45]]*) 478940dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 479040dd5a57Smrg ;; 479140dd5a57Smrg 479240dd5a57Smrg cygwin* | mingw* | pw32* | cegcc*) 479340dd5a57Smrg # When not using gcc, we currently assume that we are using 479440dd5a57Smrg # Microsoft Visual C++. 479540dd5a57Smrg # hardcode_libdir_flag_spec is actually meaningless, as there is 479640dd5a57Smrg # no search path for DLLs. 479740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 479840dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 479940dd5a57Smrg # Tell ltmain to make .lib files, not .a files. 480040dd5a57Smrg libext=lib 480140dd5a57Smrg # Tell ltmain to make .dll files, not .so files. 480240dd5a57Smrg shrext_cmds=".dll" 480340dd5a57Smrg # FIXME: Setting linknames here is a bad hack. 480440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' 480540dd5a57Smrg # The linker will automatically build a .lib file if we build a DLL. 480640dd5a57Smrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 480740dd5a57Smrg # FIXME: Should let the user specify the lib program. 480840dd5a57Smrg _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 480940dd5a57Smrg _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' 481040dd5a57Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 481140dd5a57Smrg ;; 481240dd5a57Smrg 481340dd5a57Smrg darwin* | rhapsody*) 481440dd5a57Smrg _LT_DARWIN_LINKER_FEATURES($1) 481540dd5a57Smrg ;; 481640dd5a57Smrg 481740dd5a57Smrg dgux*) 481840dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 481940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 482040dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 482140dd5a57Smrg ;; 482240dd5a57Smrg 482340dd5a57Smrg freebsd1*) 482440dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 482540dd5a57Smrg ;; 482640dd5a57Smrg 482740dd5a57Smrg # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 482840dd5a57Smrg # support. Future versions do this automatically, but an explicit c++rt0.o 482940dd5a57Smrg # does not break anything, and helps significantly (at the cost of a little 483040dd5a57Smrg # extra space). 483140dd5a57Smrg freebsd2.2*) 483240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 483340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 483440dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 483540dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 483640dd5a57Smrg ;; 483740dd5a57Smrg 483840dd5a57Smrg # Unfortunately, older versions of FreeBSD 2 do not have this feature. 483940dd5a57Smrg freebsd2*) 484040dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 484140dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 484240dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 484340dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 484440dd5a57Smrg ;; 484540dd5a57Smrg 484640dd5a57Smrg # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 484740dd5a57Smrg freebsd* | dragonfly*) 484840dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' 484940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 485040dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 485140dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 485240dd5a57Smrg ;; 485340dd5a57Smrg 485440dd5a57Smrg hpux9*) 485540dd5a57Smrg if test "$GCC" = yes; then 485640dd5a57Smrg _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' 485740dd5a57Smrg else 485840dd5a57Smrg _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' 485940dd5a57Smrg fi 486040dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 486140dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 486240dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 486340dd5a57Smrg 486440dd5a57Smrg # hardcode_minus_L: Not really in the search PATH, 486540dd5a57Smrg # but as the default location of the library. 486640dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 486740dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 486840dd5a57Smrg ;; 486940dd5a57Smrg 487040dd5a57Smrg hpux10*) 487140dd5a57Smrg if test "$GCC" = yes && test "$with_gnu_ld" = no; then 487240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 487340dd5a57Smrg else 487440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 487540dd5a57Smrg fi 487640dd5a57Smrg if test "$with_gnu_ld" = no; then 487740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 487840dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' 487940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 488040dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 488140dd5a57Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 488240dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 488340dd5a57Smrg # hardcode_minus_L: Not really in the search PATH, 488440dd5a57Smrg # but as the default location of the library. 488540dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 488640dd5a57Smrg fi 488740dd5a57Smrg ;; 488840dd5a57Smrg 488940dd5a57Smrg hpux11*) 489040dd5a57Smrg if test "$GCC" = yes && test "$with_gnu_ld" = no; then 489140dd5a57Smrg case $host_cpu in 489240dd5a57Smrg hppa*64*) 489340dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 489440dd5a57Smrg ;; 489540dd5a57Smrg ia64*) 489640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 489740dd5a57Smrg ;; 489840dd5a57Smrg *) 489940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 490040dd5a57Smrg ;; 490140dd5a57Smrg esac 490240dd5a57Smrg else 490340dd5a57Smrg case $host_cpu in 490440dd5a57Smrg hppa*64*) 490540dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 490640dd5a57Smrg ;; 490740dd5a57Smrg ia64*) 490840dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 490940dd5a57Smrg ;; 491040dd5a57Smrg *) 491140dd5a57Smrg m4_if($1, [], [ 491240dd5a57Smrg # Older versions of the 11.00 compiler do not understand -b yet 491340dd5a57Smrg # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) 491440dd5a57Smrg _LT_LINKER_OPTION([if $CC understands -b], 491540dd5a57Smrg _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], 491640dd5a57Smrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], 491740dd5a57Smrg [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], 491840dd5a57Smrg [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) 491940dd5a57Smrg ;; 492040dd5a57Smrg esac 492140dd5a57Smrg fi 492240dd5a57Smrg if test "$with_gnu_ld" = no; then 492340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 492440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 492540dd5a57Smrg 492640dd5a57Smrg case $host_cpu in 492740dd5a57Smrg hppa*64*|ia64*) 492840dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=no 492940dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 493040dd5a57Smrg ;; 493140dd5a57Smrg *) 493240dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 493340dd5a57Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 493440dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 493540dd5a57Smrg 493640dd5a57Smrg # hardcode_minus_L: Not really in the search PATH, 493740dd5a57Smrg # but as the default location of the library. 493840dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 493940dd5a57Smrg ;; 494040dd5a57Smrg esac 494140dd5a57Smrg fi 494240dd5a57Smrg ;; 494340dd5a57Smrg 494440dd5a57Smrg irix5* | irix6* | nonstopux*) 494540dd5a57Smrg if test "$GCC" = yes; then 494640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 494740dd5a57Smrg # Try to use the -exported_symbol ld option, if it does not 494840dd5a57Smrg # work, assume that -exports_file does not work either and 494940dd5a57Smrg # implicitly export all symbols. 495040dd5a57Smrg save_LDFLAGS="$LDFLAGS" 495140dd5a57Smrg LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" 495240dd5a57Smrg AC_LINK_IFELSE(int foo(void) {}, 495340dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' 495440dd5a57Smrg ) 495540dd5a57Smrg LDFLAGS="$save_LDFLAGS" 495640dd5a57Smrg else 495740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' 495840dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' 495940dd5a57Smrg fi 496040dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 496140dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 496240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 496340dd5a57Smrg _LT_TAGVAR(inherit_rpath, $1)=yes 496440dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 496540dd5a57Smrg ;; 496640dd5a57Smrg 496740dd5a57Smrg netbsd*) 496840dd5a57Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 496940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 497040dd5a57Smrg else 497140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 497240dd5a57Smrg fi 497340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 497440dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 497540dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 497640dd5a57Smrg ;; 497740dd5a57Smrg 497840dd5a57Smrg newsos6) 497940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 498040dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 498140dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 498240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 498340dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 498440dd5a57Smrg ;; 498540dd5a57Smrg 498640dd5a57Smrg *nto* | *qnx*) 498740dd5a57Smrg ;; 498840dd5a57Smrg 498940dd5a57Smrg openbsd*) 499040dd5a57Smrg if test -f /usr/libexec/ld.so; then 499140dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 499240dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 499340dd5a57Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 499440dd5a57Smrg if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 499540dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 499640dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' 499740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 499840dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 499940dd5a57Smrg else 500040dd5a57Smrg case $host_os in 500140dd5a57Smrg openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) 500240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 500340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 500440dd5a57Smrg ;; 500540dd5a57Smrg *) 500640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 500740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 500840dd5a57Smrg ;; 500940dd5a57Smrg esac 501040dd5a57Smrg fi 501140dd5a57Smrg else 501240dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 501340dd5a57Smrg fi 501440dd5a57Smrg ;; 501540dd5a57Smrg 501640dd5a57Smrg os2*) 501740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 501840dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 501940dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 502040dd5a57Smrg _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' 502140dd5a57Smrg _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' 502240dd5a57Smrg ;; 502340dd5a57Smrg 502440dd5a57Smrg osf3*) 502540dd5a57Smrg if test "$GCC" = yes; then 502640dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 502740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 502840dd5a57Smrg else 502940dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 503040dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' 503140dd5a57Smrg fi 503240dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 503340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 503440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 503540dd5a57Smrg ;; 503640dd5a57Smrg 503740dd5a57Smrg osf4* | osf5*) # as osf3* with the addition of -msym flag 503840dd5a57Smrg if test "$GCC" = yes; then 503940dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 504040dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 504140dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 504240dd5a57Smrg else 504340dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 504440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' 504540dd5a57Smrg _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~ 504640dd5a57Smrg $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' 504740dd5a57Smrg 504840dd5a57Smrg # Both c and cxx compiler support -rpath directly 504940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 505040dd5a57Smrg fi 505140dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 505240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 505340dd5a57Smrg ;; 505440dd5a57Smrg 505540dd5a57Smrg solaris*) 505640dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 505740dd5a57Smrg if test "$GCC" = yes; then 505840dd5a57Smrg wlarc='${wl}' 505940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 506040dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 506140dd5a57Smrg $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 506240dd5a57Smrg else 506340dd5a57Smrg case `$CC -V 2>&1` in 506440dd5a57Smrg *"Compilers 5.0"*) 506540dd5a57Smrg wlarc='' 506640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 506740dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 506840dd5a57Smrg $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 506940dd5a57Smrg ;; 507040dd5a57Smrg *) 507140dd5a57Smrg wlarc='${wl}' 507240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' 507340dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 507440dd5a57Smrg $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 507540dd5a57Smrg ;; 507640dd5a57Smrg esac 507740dd5a57Smrg fi 507840dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 507940dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 508040dd5a57Smrg case $host_os in 508140dd5a57Smrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 508240dd5a57Smrg *) 508340dd5a57Smrg # The compiler driver will combine and reorder linker options, 508440dd5a57Smrg # but understands `-z linker_flag'. GCC discards it without `$wl', 508540dd5a57Smrg # but is careful enough not to reorder. 508640dd5a57Smrg # Supported since Solaris 2.6 (maybe 2.5.1?) 508740dd5a57Smrg if test "$GCC" = yes; then 508840dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 508940dd5a57Smrg else 509040dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 509140dd5a57Smrg fi 509240dd5a57Smrg ;; 509340dd5a57Smrg esac 509440dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 509540dd5a57Smrg ;; 509640dd5a57Smrg 509740dd5a57Smrg sunos4*) 509840dd5a57Smrg if test "x$host_vendor" = xsequent; then 509940dd5a57Smrg # Use $CC to link under sequent, because it throws in some extra .o 510040dd5a57Smrg # files that make .init and .fini sections work. 510140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' 510240dd5a57Smrg else 510340dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 510440dd5a57Smrg fi 510540dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 510640dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 510740dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 510840dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 510940dd5a57Smrg ;; 511040dd5a57Smrg 511140dd5a57Smrg sysv4) 511240dd5a57Smrg case $host_vendor in 511340dd5a57Smrg sni) 511440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 511540dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 511640dd5a57Smrg ;; 511740dd5a57Smrg siemens) 511840dd5a57Smrg ## LD is ld it makes a PLAMLIB 511940dd5a57Smrg ## CC just makes a GrossModule. 512040dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 512140dd5a57Smrg _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 512240dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=no 512340dd5a57Smrg ;; 512440dd5a57Smrg motorola) 512540dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 512640dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 512740dd5a57Smrg ;; 512840dd5a57Smrg esac 512940dd5a57Smrg runpath_var='LD_RUN_PATH' 513040dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 513140dd5a57Smrg ;; 513240dd5a57Smrg 513340dd5a57Smrg sysv4.3*) 513440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 513540dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 513640dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 513740dd5a57Smrg ;; 513840dd5a57Smrg 513940dd5a57Smrg sysv4*MP*) 514040dd5a57Smrg if test -d /usr/nec; then 514140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 514240dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 514340dd5a57Smrg runpath_var=LD_RUN_PATH 514440dd5a57Smrg hardcode_runpath_var=yes 514540dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 514640dd5a57Smrg fi 514740dd5a57Smrg ;; 514840dd5a57Smrg 514940dd5a57Smrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 515040dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 515140dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 515240dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 515340dd5a57Smrg runpath_var='LD_RUN_PATH' 515440dd5a57Smrg 515540dd5a57Smrg if test "$GCC" = yes; then 515640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 515740dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 515840dd5a57Smrg else 515940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 516040dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 516140dd5a57Smrg fi 516240dd5a57Smrg ;; 516340dd5a57Smrg 516440dd5a57Smrg sysv5* | sco3.2v5* | sco5v6*) 516540dd5a57Smrg # Note: We can NOT use -z defs as we might desire, because we do not 516640dd5a57Smrg # link with -lc, and that would cause any symbols used from libc to 516740dd5a57Smrg # always be unresolved, which means just about no library would 516840dd5a57Smrg # ever link correctly. If we're not using GNU ld we use -z text 516940dd5a57Smrg # though, which does catch some bad symbols but isn't as heavy-handed 517040dd5a57Smrg # as -z defs. 517140dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 517240dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 517340dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 517440dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 517540dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 517640dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 517740dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 517840dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 517940dd5a57Smrg runpath_var='LD_RUN_PATH' 518040dd5a57Smrg 518140dd5a57Smrg if test "$GCC" = yes; then 518240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 518340dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 518440dd5a57Smrg else 518540dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 518640dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 518740dd5a57Smrg fi 518840dd5a57Smrg ;; 518940dd5a57Smrg 519040dd5a57Smrg uts4*) 519140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 519240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 519340dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 519440dd5a57Smrg ;; 519540dd5a57Smrg 519640dd5a57Smrg *) 519740dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 519840dd5a57Smrg ;; 519940dd5a57Smrg esac 520040dd5a57Smrg 520140dd5a57Smrg if test x$host_vendor = xsni; then 520240dd5a57Smrg case $host in 520340dd5a57Smrg sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 520440dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' 520540dd5a57Smrg ;; 520640dd5a57Smrg esac 520740dd5a57Smrg fi 520840dd5a57Smrg fi 520940dd5a57Smrg]) 521040dd5a57SmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 521140dd5a57Smrgtest "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 521240dd5a57Smrg 521340dd5a57Smrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 521440dd5a57Smrg 521540dd5a57Smrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 521640dd5a57Smrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 521740dd5a57Smrg_LT_DECL([], [extract_expsyms_cmds], [2], 521840dd5a57Smrg [The commands to extract the exported symbol list from a shared archive]) 521940dd5a57Smrg 522040dd5a57Smrg# 522140dd5a57Smrg# Do we need to explicitly link libc? 522240dd5a57Smrg# 522340dd5a57Smrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 522440dd5a57Smrgx|xyes) 522540dd5a57Smrg # Assume -lc should be added 522640dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 522740dd5a57Smrg 522840dd5a57Smrg if test "$enable_shared" = yes && test "$GCC" = yes; then 522940dd5a57Smrg case $_LT_TAGVAR(archive_cmds, $1) in 523040dd5a57Smrg *'~'*) 523140dd5a57Smrg # FIXME: we may have to deal with multi-command sequences. 523240dd5a57Smrg ;; 523340dd5a57Smrg '$CC '*) 523440dd5a57Smrg # Test whether the compiler implicitly links with -lc since on some 523540dd5a57Smrg # systems, -lgcc has to come before -lc. If gcc already passes -lc 523640dd5a57Smrg # to ld, don't add -lc before -lgcc. 523740dd5a57Smrg AC_CACHE_CHECK([whether -lc should be explicitly linked in], 523840dd5a57Smrg [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), 523940dd5a57Smrg [$RM conftest* 524040dd5a57Smrg echo "$lt_simple_compile_test_code" > conftest.$ac_ext 524140dd5a57Smrg 524240dd5a57Smrg if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 524340dd5a57Smrg soname=conftest 524440dd5a57Smrg lib=conftest 524540dd5a57Smrg libobjs=conftest.$ac_objext 524640dd5a57Smrg deplibs= 524740dd5a57Smrg wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 524840dd5a57Smrg pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 524940dd5a57Smrg compiler_flags=-v 525040dd5a57Smrg linker_flags=-v 525140dd5a57Smrg verstring= 525240dd5a57Smrg output_objdir=. 525340dd5a57Smrg libname=conftest 525440dd5a57Smrg lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 525540dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)= 525640dd5a57Smrg if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 525740dd5a57Smrg then 525840dd5a57Smrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no 525940dd5a57Smrg else 526040dd5a57Smrg lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes 526140dd5a57Smrg fi 526240dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 526340dd5a57Smrg else 526440dd5a57Smrg cat conftest.err 1>&5 526540dd5a57Smrg fi 526640dd5a57Smrg $RM conftest* 526740dd5a57Smrg ]) 526840dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) 526940dd5a57Smrg ;; 527040dd5a57Smrg esac 527140dd5a57Smrg fi 527240dd5a57Smrg ;; 527340dd5a57Smrgesac 527440dd5a57Smrg 527540dd5a57Smrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 527640dd5a57Smrg [Whether or not to add -lc for building shared libraries]) 527740dd5a57Smrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 527840dd5a57Smrg [enable_shared_with_static_runtimes], [0], 527940dd5a57Smrg [Whether or not to disallow shared libs when runtime libs are static]) 528040dd5a57Smrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 528140dd5a57Smrg [Compiler flag to allow reflexive dlopens]) 528240dd5a57Smrg_LT_TAGDECL([], [whole_archive_flag_spec], [1], 528340dd5a57Smrg [Compiler flag to generate shared objects directly from archives]) 528440dd5a57Smrg_LT_TAGDECL([], [compiler_needs_object], [1], 528540dd5a57Smrg [Whether the compiler copes with passing no objects directly]) 528640dd5a57Smrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 528740dd5a57Smrg [Create an old-style archive from a shared archive]) 528840dd5a57Smrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 528940dd5a57Smrg [Create a temporary old-style archive to link instead of a shared archive]) 529040dd5a57Smrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 529140dd5a57Smrg_LT_TAGDECL([], [archive_expsym_cmds], [2]) 529240dd5a57Smrg_LT_TAGDECL([], [module_cmds], [2], 529340dd5a57Smrg [Commands used to build a loadable module if different from building 529440dd5a57Smrg a shared archive.]) 529540dd5a57Smrg_LT_TAGDECL([], [module_expsym_cmds], [2]) 529640dd5a57Smrg_LT_TAGDECL([], [with_gnu_ld], [1], 529740dd5a57Smrg [Whether we are building with GNU ld or not]) 529840dd5a57Smrg_LT_TAGDECL([], [allow_undefined_flag], [1], 529940dd5a57Smrg [Flag that allows shared libraries with undefined symbols to be built]) 530040dd5a57Smrg_LT_TAGDECL([], [no_undefined_flag], [1], 530140dd5a57Smrg [Flag that enforces no undefined symbols]) 530240dd5a57Smrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 530340dd5a57Smrg [Flag to hardcode $libdir into a binary during linking. 530440dd5a57Smrg This must work even if $libdir does not exist]) 530540dd5a57Smrg_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], 530640dd5a57Smrg [[If ld is used when linking, flag to hardcode $libdir into a binary 530740dd5a57Smrg during linking. This must work even if $libdir does not exist]]) 530840dd5a57Smrg_LT_TAGDECL([], [hardcode_libdir_separator], [1], 530940dd5a57Smrg [Whether we need a single "-rpath" flag with a separated argument]) 531040dd5a57Smrg_LT_TAGDECL([], [hardcode_direct], [0], 531140dd5a57Smrg [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 531240dd5a57Smrg DIR into the resulting binary]) 531340dd5a57Smrg_LT_TAGDECL([], [hardcode_direct_absolute], [0], 531440dd5a57Smrg [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 531540dd5a57Smrg DIR into the resulting binary and the resulting library dependency is 531640dd5a57Smrg "absolute", i.e impossible to change by setting ${shlibpath_var} if the 531740dd5a57Smrg library is relocated]) 531840dd5a57Smrg_LT_TAGDECL([], [hardcode_minus_L], [0], 531940dd5a57Smrg [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 532040dd5a57Smrg into the resulting binary]) 532140dd5a57Smrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 532240dd5a57Smrg [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 532340dd5a57Smrg into the resulting binary]) 532440dd5a57Smrg_LT_TAGDECL([], [hardcode_automatic], [0], 532540dd5a57Smrg [Set to "yes" if building a shared library automatically hardcodes DIR 532640dd5a57Smrg into the library and all subsequent libraries and executables linked 532740dd5a57Smrg against it]) 532840dd5a57Smrg_LT_TAGDECL([], [inherit_rpath], [0], 532940dd5a57Smrg [Set to yes if linker adds runtime paths of dependent libraries 533040dd5a57Smrg to runtime path list]) 533140dd5a57Smrg_LT_TAGDECL([], [link_all_deplibs], [0], 533240dd5a57Smrg [Whether libtool must link a program against all its dependency libraries]) 533340dd5a57Smrg_LT_TAGDECL([], [fix_srcfile_path], [1], 533440dd5a57Smrg [Fix the shell variable $srcfile for the compiler]) 533540dd5a57Smrg_LT_TAGDECL([], [always_export_symbols], [0], 533640dd5a57Smrg [Set to "yes" if exported symbols are required]) 533740dd5a57Smrg_LT_TAGDECL([], [export_symbols_cmds], [2], 533840dd5a57Smrg [The commands to list exported symbols]) 533940dd5a57Smrg_LT_TAGDECL([], [exclude_expsyms], [1], 534040dd5a57Smrg [Symbols that should not be listed in the preloaded symbols]) 534140dd5a57Smrg_LT_TAGDECL([], [include_expsyms], [1], 534240dd5a57Smrg [Symbols that must always be exported]) 534340dd5a57Smrg_LT_TAGDECL([], [prelink_cmds], [2], 534440dd5a57Smrg [Commands necessary for linking programs (against libraries) with templates]) 534540dd5a57Smrg_LT_TAGDECL([], [file_list_spec], [1], 534640dd5a57Smrg [Specify filename containing input files]) 534740dd5a57Smrgdnl FIXME: Not yet implemented 534840dd5a57Smrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 534940dd5a57Smrgdnl [Compiler flag to generate thread safe objects]) 535040dd5a57Smrg])# _LT_LINKER_SHLIBS 535140dd5a57Smrg 535240dd5a57Smrg 535340dd5a57Smrg# _LT_LANG_C_CONFIG([TAG]) 535440dd5a57Smrg# ------------------------ 535540dd5a57Smrg# Ensure that the configuration variables for a C compiler are suitably 535640dd5a57Smrg# defined. These variables are subsequently used by _LT_CONFIG to write 535740dd5a57Smrg# the compiler configuration to `libtool'. 535840dd5a57Smrgm4_defun([_LT_LANG_C_CONFIG], 535940dd5a57Smrg[m4_require([_LT_DECL_EGREP])dnl 536040dd5a57Smrglt_save_CC="$CC" 536140dd5a57SmrgAC_LANG_PUSH(C) 536240dd5a57Smrg 536340dd5a57Smrg# Source file extension for C test sources. 536440dd5a57Smrgac_ext=c 536540dd5a57Smrg 536640dd5a57Smrg# Object file extension for compiled C test sources. 536740dd5a57Smrgobjext=o 536840dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext 536940dd5a57Smrg 537040dd5a57Smrg# Code to be used in simple compile tests 537140dd5a57Smrglt_simple_compile_test_code="int some_variable = 0;" 537240dd5a57Smrg 537340dd5a57Smrg# Code to be used in simple link tests 537440dd5a57Smrglt_simple_link_test_code='int main(){return(0);}' 537540dd5a57Smrg 537640dd5a57Smrg_LT_TAG_COMPILER 537740dd5a57Smrg# Save the default compiler, since it gets overwritten when the other 537840dd5a57Smrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 537940dd5a57Smrgcompiler_DEFAULT=$CC 538040dd5a57Smrg 538140dd5a57Smrg# save warnings/boilerplate of simple test code 538240dd5a57Smrg_LT_COMPILER_BOILERPLATE 538340dd5a57Smrg_LT_LINKER_BOILERPLATE 538440dd5a57Smrg 538540dd5a57Smrgif test -n "$compiler"; then 538640dd5a57Smrg _LT_COMPILER_NO_RTTI($1) 538740dd5a57Smrg _LT_COMPILER_PIC($1) 538840dd5a57Smrg _LT_COMPILER_C_O($1) 538940dd5a57Smrg _LT_COMPILER_FILE_LOCKS($1) 539040dd5a57Smrg _LT_LINKER_SHLIBS($1) 539140dd5a57Smrg _LT_SYS_DYNAMIC_LINKER($1) 539240dd5a57Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 539340dd5a57Smrg LT_SYS_DLOPEN_SELF 539440dd5a57Smrg _LT_CMD_STRIPLIB 539540dd5a57Smrg 539640dd5a57Smrg # Report which library types will actually be built 539740dd5a57Smrg AC_MSG_CHECKING([if libtool supports shared libraries]) 539840dd5a57Smrg AC_MSG_RESULT([$can_build_shared]) 539940dd5a57Smrg 540040dd5a57Smrg AC_MSG_CHECKING([whether to build shared libraries]) 540140dd5a57Smrg test "$can_build_shared" = "no" && enable_shared=no 540240dd5a57Smrg 540340dd5a57Smrg # On AIX, shared libraries and static libraries use the same namespace, and 540440dd5a57Smrg # are all built from PIC. 540540dd5a57Smrg case $host_os in 540640dd5a57Smrg aix3*) 540740dd5a57Smrg test "$enable_shared" = yes && enable_static=no 540840dd5a57Smrg if test -n "$RANLIB"; then 540940dd5a57Smrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 541040dd5a57Smrg postinstall_cmds='$RANLIB $lib' 541140dd5a57Smrg fi 541240dd5a57Smrg ;; 541340dd5a57Smrg 541440dd5a57Smrg aix[[4-9]]*) 541540dd5a57Smrg if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 541640dd5a57Smrg test "$enable_shared" = yes && enable_static=no 541740dd5a57Smrg fi 541840dd5a57Smrg ;; 541940dd5a57Smrg esac 542040dd5a57Smrg AC_MSG_RESULT([$enable_shared]) 542140dd5a57Smrg 542240dd5a57Smrg AC_MSG_CHECKING([whether to build static libraries]) 542340dd5a57Smrg # Make sure either enable_shared or enable_static is yes. 542440dd5a57Smrg test "$enable_shared" = yes || enable_static=yes 542540dd5a57Smrg AC_MSG_RESULT([$enable_static]) 542640dd5a57Smrg 542740dd5a57Smrg _LT_CONFIG($1) 542840dd5a57Smrgfi 542940dd5a57SmrgAC_LANG_POP 543040dd5a57SmrgCC="$lt_save_CC" 543140dd5a57Smrg])# _LT_LANG_C_CONFIG 543240dd5a57Smrg 543340dd5a57Smrg 543440dd5a57Smrg# _LT_LANG_CXX_CONFIG([TAG]) 543540dd5a57Smrg# -------------------------- 543640dd5a57Smrg# Ensure that the configuration variables for a C++ compiler are suitably 543740dd5a57Smrg# defined. These variables are subsequently used by _LT_CONFIG to write 543840dd5a57Smrg# the compiler configuration to `libtool'. 543940dd5a57Smrgm4_defun([_LT_LANG_CXX_CONFIG], 544040dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 544140dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl 544240dd5a57Smrgif test -n "$CXX" && ( test "X$CXX" != "Xno" && 544340dd5a57Smrg ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || 544440dd5a57Smrg (test "X$CXX" != "Xg++"))) ; then 544540dd5a57Smrg AC_PROG_CXXCPP 544640dd5a57Smrgelse 544740dd5a57Smrg _lt_caught_CXX_error=yes 544840dd5a57Smrgfi 544940dd5a57Smrg 545040dd5a57SmrgAC_LANG_PUSH(C++) 545140dd5a57Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 545240dd5a57Smrg_LT_TAGVAR(allow_undefined_flag, $1)= 545340dd5a57Smrg_LT_TAGVAR(always_export_symbols, $1)=no 545440dd5a57Smrg_LT_TAGVAR(archive_expsym_cmds, $1)= 545540dd5a57Smrg_LT_TAGVAR(compiler_needs_object, $1)=no 545640dd5a57Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 545740dd5a57Smrg_LT_TAGVAR(hardcode_direct, $1)=no 545840dd5a57Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 545940dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 546040dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 546140dd5a57Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 546240dd5a57Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no 546340dd5a57Smrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 546440dd5a57Smrg_LT_TAGVAR(hardcode_automatic, $1)=no 546540dd5a57Smrg_LT_TAGVAR(inherit_rpath, $1)=no 546640dd5a57Smrg_LT_TAGVAR(module_cmds, $1)= 546740dd5a57Smrg_LT_TAGVAR(module_expsym_cmds, $1)= 546840dd5a57Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 546940dd5a57Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 547040dd5a57Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 547140dd5a57Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 547240dd5a57Smrg_LT_TAGVAR(no_undefined_flag, $1)= 547340dd5a57Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 547440dd5a57Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 547540dd5a57Smrg 547640dd5a57Smrg# Source file extension for C++ test sources. 547740dd5a57Smrgac_ext=cpp 547840dd5a57Smrg 547940dd5a57Smrg# Object file extension for compiled C++ test sources. 548040dd5a57Smrgobjext=o 548140dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext 548240dd5a57Smrg 548340dd5a57Smrg# No sense in running all these tests if we already determined that 548440dd5a57Smrg# the CXX compiler isn't working. Some variables (like enable_shared) 548540dd5a57Smrg# are currently assumed to apply to all compilers on this platform, 548640dd5a57Smrg# and will be corrupted by setting them based on a non-working compiler. 548740dd5a57Smrgif test "$_lt_caught_CXX_error" != yes; then 548840dd5a57Smrg # Code to be used in simple compile tests 548940dd5a57Smrg lt_simple_compile_test_code="int some_variable = 0;" 549040dd5a57Smrg 549140dd5a57Smrg # Code to be used in simple link tests 549240dd5a57Smrg lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 549340dd5a57Smrg 549440dd5a57Smrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 549540dd5a57Smrg _LT_TAG_COMPILER 549640dd5a57Smrg 549740dd5a57Smrg # save warnings/boilerplate of simple test code 549840dd5a57Smrg _LT_COMPILER_BOILERPLATE 549940dd5a57Smrg _LT_LINKER_BOILERPLATE 550040dd5a57Smrg 550140dd5a57Smrg # Allow CC to be a program name with arguments. 550240dd5a57Smrg lt_save_CC=$CC 550340dd5a57Smrg lt_save_LD=$LD 550440dd5a57Smrg lt_save_GCC=$GCC 550540dd5a57Smrg GCC=$GXX 550640dd5a57Smrg lt_save_with_gnu_ld=$with_gnu_ld 550740dd5a57Smrg lt_save_path_LD=$lt_cv_path_LD 550840dd5a57Smrg if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 550940dd5a57Smrg lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 551040dd5a57Smrg else 551140dd5a57Smrg $as_unset lt_cv_prog_gnu_ld 551240dd5a57Smrg fi 551340dd5a57Smrg if test -n "${lt_cv_path_LDCXX+set}"; then 551440dd5a57Smrg lt_cv_path_LD=$lt_cv_path_LDCXX 551540dd5a57Smrg else 551640dd5a57Smrg $as_unset lt_cv_path_LD 551740dd5a57Smrg fi 551840dd5a57Smrg test -z "${LDCXX+set}" || LD=$LDCXX 551940dd5a57Smrg CC=${CXX-"c++"} 552040dd5a57Smrg compiler=$CC 552140dd5a57Smrg _LT_TAGVAR(compiler, $1)=$CC 552240dd5a57Smrg _LT_CC_BASENAME([$compiler]) 552340dd5a57Smrg 552440dd5a57Smrg if test -n "$compiler"; then 552540dd5a57Smrg # We don't want -fno-exception when compiling C++ code, so set the 552640dd5a57Smrg # no_builtin_flag separately 552740dd5a57Smrg if test "$GXX" = yes; then 552840dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 552940dd5a57Smrg else 553040dd5a57Smrg _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 553140dd5a57Smrg fi 553240dd5a57Smrg 553340dd5a57Smrg if test "$GXX" = yes; then 553440dd5a57Smrg # Set up default GNU C++ configuration 553540dd5a57Smrg 553640dd5a57Smrg LT_PATH_LD 553740dd5a57Smrg 553840dd5a57Smrg # Check if GNU C++ uses GNU ld as the underlying linker, since the 553940dd5a57Smrg # archiving commands below assume that GNU ld is being used. 554040dd5a57Smrg if test "$with_gnu_ld" = yes; then 554140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 554240dd5a57Smrg _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' 554340dd5a57Smrg 554440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 554540dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 554640dd5a57Smrg 554740dd5a57Smrg # If archive_cmds runs LD, not CC, wlarc should be empty 554840dd5a57Smrg # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 554940dd5a57Smrg # investigate it a little bit more. (MM) 555040dd5a57Smrg wlarc='${wl}' 555140dd5a57Smrg 555240dd5a57Smrg # ancient GNU ld didn't support --whole-archive et. al. 555340dd5a57Smrg if eval "`$CC -print-prog-name=ld` --help 2>&1" | 555440dd5a57Smrg $GREP 'no-whole-archive' > /dev/null; then 555540dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 555640dd5a57Smrg else 555740dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)= 555840dd5a57Smrg fi 555940dd5a57Smrg else 556040dd5a57Smrg with_gnu_ld=no 556140dd5a57Smrg wlarc= 556240dd5a57Smrg 556340dd5a57Smrg # A generic and very simple default shared library creation 556440dd5a57Smrg # command for GNU C++ for the case where it uses the native 556540dd5a57Smrg # linker, instead of GNU ld. If possible, this setting should 556640dd5a57Smrg # overridden to take advantage of the native linker features on 556740dd5a57Smrg # the platform it is being used on. 556840dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 556940dd5a57Smrg fi 557040dd5a57Smrg 557140dd5a57Smrg # Commands to make compiler produce verbose output that lists 557240dd5a57Smrg # what "hidden" libraries, object files and flags are used when 557340dd5a57Smrg # linking a shared library. 557440dd5a57Smrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 557540dd5a57Smrg 557640dd5a57Smrg else 557740dd5a57Smrg GXX=no 557840dd5a57Smrg with_gnu_ld=no 557940dd5a57Smrg wlarc= 558040dd5a57Smrg fi 558140dd5a57Smrg 558240dd5a57Smrg # PORTME: fill in a description of your system's C++ link characteristics 558340dd5a57Smrg AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 558440dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 558540dd5a57Smrg case $host_os in 558640dd5a57Smrg aix3*) 558740dd5a57Smrg # FIXME: insert proper C++ library support 558840dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 558940dd5a57Smrg ;; 559040dd5a57Smrg aix[[4-9]]*) 559140dd5a57Smrg if test "$host_cpu" = ia64; then 559240dd5a57Smrg # On IA64, the linker does run time linking by default, so we don't 559340dd5a57Smrg # have to do anything special. 559440dd5a57Smrg aix_use_runtimelinking=no 559540dd5a57Smrg exp_sym_flag='-Bexport' 559640dd5a57Smrg no_entry_flag="" 559740dd5a57Smrg else 559840dd5a57Smrg aix_use_runtimelinking=no 559940dd5a57Smrg 560040dd5a57Smrg # Test if we are trying to use run time linking or normal 560140dd5a57Smrg # AIX style linking. If -brtl is somewhere in LDFLAGS, we 560240dd5a57Smrg # need to do runtime linking. 560340dd5a57Smrg case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 560440dd5a57Smrg for ld_flag in $LDFLAGS; do 560540dd5a57Smrg case $ld_flag in 560640dd5a57Smrg *-brtl*) 560740dd5a57Smrg aix_use_runtimelinking=yes 560840dd5a57Smrg break 560940dd5a57Smrg ;; 561040dd5a57Smrg esac 561140dd5a57Smrg done 561240dd5a57Smrg ;; 561340dd5a57Smrg esac 561440dd5a57Smrg 561540dd5a57Smrg exp_sym_flag='-bexport' 561640dd5a57Smrg no_entry_flag='-bnoentry' 561740dd5a57Smrg fi 561840dd5a57Smrg 561940dd5a57Smrg # When large executables or shared objects are built, AIX ld can 562040dd5a57Smrg # have problems creating the table of contents. If linking a library 562140dd5a57Smrg # or program results in "error TOC overflow" add -mminimal-toc to 562240dd5a57Smrg # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 562340dd5a57Smrg # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 562440dd5a57Smrg 562540dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='' 562640dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 562740dd5a57Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 562840dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 562940dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 563040dd5a57Smrg _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 563140dd5a57Smrg 563240dd5a57Smrg if test "$GXX" = yes; then 563340dd5a57Smrg case $host_os in aix4.[[012]]|aix4.[[012]].*) 563440dd5a57Smrg # We only want to do this on AIX 4.2 and lower, the check 563540dd5a57Smrg # below for broken collect2 doesn't work under 4.3+ 563640dd5a57Smrg collect2name=`${CC} -print-prog-name=collect2` 563740dd5a57Smrg if test -f "$collect2name" && 563840dd5a57Smrg strings "$collect2name" | $GREP resolve_lib_name >/dev/null 563940dd5a57Smrg then 564040dd5a57Smrg # We have reworked collect2 564140dd5a57Smrg : 564240dd5a57Smrg else 564340dd5a57Smrg # We have old collect2 564440dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=unsupported 564540dd5a57Smrg # It fails to find uninstalled libraries when the uninstalled 564640dd5a57Smrg # path is not listed in the libpath. Setting hardcode_minus_L 564740dd5a57Smrg # to unsupported forces relinking 564840dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes 564940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 565040dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)= 565140dd5a57Smrg fi 565240dd5a57Smrg esac 565340dd5a57Smrg shared_flag='-shared' 565440dd5a57Smrg if test "$aix_use_runtimelinking" = yes; then 565540dd5a57Smrg shared_flag="$shared_flag "'${wl}-G' 565640dd5a57Smrg fi 565740dd5a57Smrg else 565840dd5a57Smrg # not using gcc 565940dd5a57Smrg if test "$host_cpu" = ia64; then 566040dd5a57Smrg # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 566140dd5a57Smrg # chokes on -Wl,-G. The following line is correct: 566240dd5a57Smrg shared_flag='-G' 566340dd5a57Smrg else 566440dd5a57Smrg if test "$aix_use_runtimelinking" = yes; then 566540dd5a57Smrg shared_flag='${wl}-G' 566640dd5a57Smrg else 566740dd5a57Smrg shared_flag='${wl}-bM:SRE' 566840dd5a57Smrg fi 566940dd5a57Smrg fi 567040dd5a57Smrg fi 567140dd5a57Smrg 567240dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 567340dd5a57Smrg # It seems that -bexpall does not export symbols beginning with 567440dd5a57Smrg # underscore (_), so it is better to generate a list of symbols to 567540dd5a57Smrg # export. 567640dd5a57Smrg _LT_TAGVAR(always_export_symbols, $1)=yes 567740dd5a57Smrg if test "$aix_use_runtimelinking" = yes; then 567840dd5a57Smrg # Warning - without using the other runtime loading flags (-brtl), 567940dd5a57Smrg # -berok will link without error, but may produce a broken library. 568040dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 568140dd5a57Smrg # Determine the default libpath from the value encoded in an empty 568240dd5a57Smrg # executable. 568340dd5a57Smrg _LT_SYS_MODULE_PATH_AIX 568440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 568540dd5a57Smrg 568640dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 568740dd5a57Smrg else 568840dd5a57Smrg if test "$host_cpu" = ia64; then 568940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 569040dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 569140dd5a57Smrg _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" 569240dd5a57Smrg else 569340dd5a57Smrg # Determine the default libpath from the value encoded in an 569440dd5a57Smrg # empty executable. 569540dd5a57Smrg _LT_SYS_MODULE_PATH_AIX 569640dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 569740dd5a57Smrg # Warning - without using the other run time loading flags, 569840dd5a57Smrg # -berok will link without error, but may produce a broken library. 569940dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 570040dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 570140dd5a57Smrg if test "$with_gnu_ld" = yes; then 570240dd5a57Smrg # We only use this code for GNU lds that support --whole-archive. 570340dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 570440dd5a57Smrg else 570540dd5a57Smrg # Exported symbols can be pulled into shared objects from archives 570640dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 570740dd5a57Smrg fi 570840dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 570940dd5a57Smrg # This is similar to how AIX traditionally builds its shared 571040dd5a57Smrg # libraries. 571140dd5a57Smrg _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' 571240dd5a57Smrg fi 571340dd5a57Smrg fi 571440dd5a57Smrg ;; 571540dd5a57Smrg 571640dd5a57Smrg beos*) 571740dd5a57Smrg if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 571840dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 571940dd5a57Smrg # Joseph Beckenbach <jrb3@best.com> says some releases of gcc 572040dd5a57Smrg # support --undefined. This deserves some investigation. FIXME 572140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 572240dd5a57Smrg else 572340dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 572440dd5a57Smrg fi 572540dd5a57Smrg ;; 572640dd5a57Smrg 572740dd5a57Smrg chorus*) 572840dd5a57Smrg case $cc_basename in 572940dd5a57Smrg *) 573040dd5a57Smrg # FIXME: insert proper C++ library support 573140dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 573240dd5a57Smrg ;; 573340dd5a57Smrg esac 573440dd5a57Smrg ;; 573540dd5a57Smrg 573640dd5a57Smrg cygwin* | mingw* | pw32* | cegcc*) 573740dd5a57Smrg # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 573840dd5a57Smrg # as there is no search path for DLLs. 573940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 574040dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' 574140dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 574240dd5a57Smrg _LT_TAGVAR(always_export_symbols, $1)=no 574340dd5a57Smrg _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 574440dd5a57Smrg 574540dd5a57Smrg if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 574640dd5a57Smrg _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' 574740dd5a57Smrg # If the export-symbols file already is a .def file (1st line 574840dd5a57Smrg # is EXPORTS), use it as is; otherwise, prepend... 574940dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 575040dd5a57Smrg cp $export_symbols $output_objdir/$soname.def; 575140dd5a57Smrg else 575240dd5a57Smrg echo EXPORTS > $output_objdir/$soname.def; 575340dd5a57Smrg cat $export_symbols >> $output_objdir/$soname.def; 575440dd5a57Smrg fi~ 575540dd5a57Smrg $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' 575640dd5a57Smrg else 575740dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 575840dd5a57Smrg fi 575940dd5a57Smrg ;; 576040dd5a57Smrg darwin* | rhapsody*) 576140dd5a57Smrg _LT_DARWIN_LINKER_FEATURES($1) 576240dd5a57Smrg ;; 576340dd5a57Smrg 576440dd5a57Smrg dgux*) 576540dd5a57Smrg case $cc_basename in 576640dd5a57Smrg ec++*) 576740dd5a57Smrg # FIXME: insert proper C++ library support 576840dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 576940dd5a57Smrg ;; 577040dd5a57Smrg ghcx*) 577140dd5a57Smrg # Green Hills C++ Compiler 577240dd5a57Smrg # FIXME: insert proper C++ library support 577340dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 577440dd5a57Smrg ;; 577540dd5a57Smrg *) 577640dd5a57Smrg # FIXME: insert proper C++ library support 577740dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 577840dd5a57Smrg ;; 577940dd5a57Smrg esac 578040dd5a57Smrg ;; 578140dd5a57Smrg 578240dd5a57Smrg freebsd[[12]]*) 578340dd5a57Smrg # C++ shared libraries reported to be fairly broken before 578440dd5a57Smrg # switch to ELF 578540dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 578640dd5a57Smrg ;; 578740dd5a57Smrg 578840dd5a57Smrg freebsd-elf*) 578940dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 579040dd5a57Smrg ;; 579140dd5a57Smrg 579240dd5a57Smrg freebsd* | dragonfly*) 579340dd5a57Smrg # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 579440dd5a57Smrg # conventions 579540dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 579640dd5a57Smrg ;; 579740dd5a57Smrg 579840dd5a57Smrg gnu*) 579940dd5a57Smrg ;; 580040dd5a57Smrg 580140dd5a57Smrg haiku*) 580240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 580340dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 580440dd5a57Smrg ;; 580540dd5a57Smrg 580640dd5a57Smrg hpux9*) 580740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 580840dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 580940dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 581040dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 581140dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 581240dd5a57Smrg # but as the default 581340dd5a57Smrg # location of the library. 581440dd5a57Smrg 581540dd5a57Smrg case $cc_basename in 581640dd5a57Smrg CC*) 581740dd5a57Smrg # FIXME: insert proper C++ library support 581840dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 581940dd5a57Smrg ;; 582040dd5a57Smrg aCC*) 582140dd5a57Smrg _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' 582240dd5a57Smrg # Commands to make compiler produce verbose output that lists 582340dd5a57Smrg # what "hidden" libraries, object files and flags are used when 582440dd5a57Smrg # linking a shared library. 582540dd5a57Smrg # 582640dd5a57Smrg # There doesn't appear to be a way to prevent this compiler from 582740dd5a57Smrg # explicitly linking system object files so we need to strip them 582840dd5a57Smrg # from the output so that they don't get included in the library 582940dd5a57Smrg # dependencies. 583040dd5a57Smrg output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' 583140dd5a57Smrg ;; 583240dd5a57Smrg *) 583340dd5a57Smrg if test "$GXX" = yes; then 583440dd5a57Smrg _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' 583540dd5a57Smrg else 583640dd5a57Smrg # FIXME: insert proper C++ library support 583740dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 583840dd5a57Smrg fi 583940dd5a57Smrg ;; 584040dd5a57Smrg esac 584140dd5a57Smrg ;; 584240dd5a57Smrg 584340dd5a57Smrg hpux10*|hpux11*) 584440dd5a57Smrg if test $with_gnu_ld = no; then 584540dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 584640dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 584740dd5a57Smrg 584840dd5a57Smrg case $host_cpu in 584940dd5a57Smrg hppa*64*|ia64*) 585040dd5a57Smrg ;; 585140dd5a57Smrg *) 585240dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 585340dd5a57Smrg ;; 585440dd5a57Smrg esac 585540dd5a57Smrg fi 585640dd5a57Smrg case $host_cpu in 585740dd5a57Smrg hppa*64*|ia64*) 585840dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=no 585940dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 586040dd5a57Smrg ;; 586140dd5a57Smrg *) 586240dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 586340dd5a57Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 586440dd5a57Smrg _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 586540dd5a57Smrg # but as the default 586640dd5a57Smrg # location of the library. 586740dd5a57Smrg ;; 586840dd5a57Smrg esac 586940dd5a57Smrg 587040dd5a57Smrg case $cc_basename in 587140dd5a57Smrg CC*) 587240dd5a57Smrg # FIXME: insert proper C++ library support 587340dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 587440dd5a57Smrg ;; 587540dd5a57Smrg aCC*) 587640dd5a57Smrg case $host_cpu in 587740dd5a57Smrg hppa*64*) 587840dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 587940dd5a57Smrg ;; 588040dd5a57Smrg ia64*) 588140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 588240dd5a57Smrg ;; 588340dd5a57Smrg *) 588440dd5a57Smrg _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' 588540dd5a57Smrg ;; 588640dd5a57Smrg esac 588740dd5a57Smrg # Commands to make compiler produce verbose output that lists 588840dd5a57Smrg # what "hidden" libraries, object files and flags are used when 588940dd5a57Smrg # linking a shared library. 589040dd5a57Smrg # 589140dd5a57Smrg # There doesn't appear to be a way to prevent this compiler from 589240dd5a57Smrg # explicitly linking system object files so we need to strip them 589340dd5a57Smrg # from the output so that they don't get included in the library 589440dd5a57Smrg # dependencies. 589540dd5a57Smrg output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' 589640dd5a57Smrg ;; 589740dd5a57Smrg *) 589840dd5a57Smrg if test "$GXX" = yes; then 589940dd5a57Smrg if test $with_gnu_ld = no; then 590040dd5a57Smrg case $host_cpu in 590140dd5a57Smrg hppa*64*) 590240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 590340dd5a57Smrg ;; 590440dd5a57Smrg ia64*) 590540dd5a57Smrg _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' 590640dd5a57Smrg ;; 590740dd5a57Smrg *) 590840dd5a57Smrg _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' 590940dd5a57Smrg ;; 591040dd5a57Smrg esac 591140dd5a57Smrg fi 591240dd5a57Smrg else 591340dd5a57Smrg # FIXME: insert proper C++ library support 591440dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 591540dd5a57Smrg fi 591640dd5a57Smrg ;; 591740dd5a57Smrg esac 591840dd5a57Smrg ;; 591940dd5a57Smrg 592040dd5a57Smrg interix[[3-9]]*) 592140dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=no 592240dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 592340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 592440dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 592540dd5a57Smrg # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 592640dd5a57Smrg # Instead, shared libraries are loaded at an image base (0x10000000 by 592740dd5a57Smrg # default) and relocated if they conflict, which is a slow very memory 592840dd5a57Smrg # consuming and fragmenting process. To avoid this, we pick a random, 592940dd5a57Smrg # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 593040dd5a57Smrg # time. Moving up from 0x10000000 also allows more sbrk(2) space. 593140dd5a57Smrg _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' 593240dd5a57Smrg _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' 593340dd5a57Smrg ;; 593440dd5a57Smrg irix5* | irix6*) 593540dd5a57Smrg case $cc_basename in 593640dd5a57Smrg CC*) 593740dd5a57Smrg # SGI C++ 593840dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' 593940dd5a57Smrg 594040dd5a57Smrg # Archives containing C++ object files must be created using 594140dd5a57Smrg # "CC -ar", where "CC" is the IRIX C++ compiler. This is 594240dd5a57Smrg # necessary to make sure instantiated templates are included 594340dd5a57Smrg # in the archive. 594440dd5a57Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 594540dd5a57Smrg ;; 594640dd5a57Smrg *) 594740dd5a57Smrg if test "$GXX" = yes; then 594840dd5a57Smrg if test "$with_gnu_ld" = no; then 594940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 595040dd5a57Smrg else 595140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' 595240dd5a57Smrg fi 595340dd5a57Smrg fi 595440dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 595540dd5a57Smrg ;; 595640dd5a57Smrg esac 595740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 595840dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 595940dd5a57Smrg _LT_TAGVAR(inherit_rpath, $1)=yes 596040dd5a57Smrg ;; 596140dd5a57Smrg 596240dd5a57Smrg linux* | k*bsd*-gnu | kopensolaris*-gnu) 596340dd5a57Smrg case $cc_basename in 596440dd5a57Smrg KCC*) 596540dd5a57Smrg # Kuck and Associates, Inc. (KAI) C++ Compiler 596640dd5a57Smrg 596740dd5a57Smrg # KCC will only create a shared library if the output file 596840dd5a57Smrg # ends with ".so" (or ".sl" for HP-UX), so rename the library 596940dd5a57Smrg # to its proper name (with version) after linking. 597040dd5a57Smrg _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' 597140dd5a57Smrg _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' 597240dd5a57Smrg # Commands to make compiler produce verbose output that lists 597340dd5a57Smrg # what "hidden" libraries, object files and flags are used when 597440dd5a57Smrg # linking a shared library. 597540dd5a57Smrg # 597640dd5a57Smrg # There doesn't appear to be a way to prevent this compiler from 597740dd5a57Smrg # explicitly linking system object files so we need to strip them 597840dd5a57Smrg # from the output so that they don't get included in the library 597940dd5a57Smrg # dependencies. 598040dd5a57Smrg output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' 598140dd5a57Smrg 598240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 598340dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 598440dd5a57Smrg 598540dd5a57Smrg # Archives containing C++ object files must be created using 598640dd5a57Smrg # "CC -Bstatic", where "CC" is the KAI C++ compiler. 598740dd5a57Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 598840dd5a57Smrg ;; 598940dd5a57Smrg icpc* | ecpc* ) 599040dd5a57Smrg # Intel C++ 599140dd5a57Smrg with_gnu_ld=yes 599240dd5a57Smrg # version 8.0 and above of icpc choke on multiply defined symbols 599340dd5a57Smrg # if we add $predep_objects and $postdep_objects, however 7.1 and 599440dd5a57Smrg # earlier do not add the objects themselves. 599540dd5a57Smrg case `$CC -V 2>&1` in 599640dd5a57Smrg *"Version 7."*) 599740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 599840dd5a57Smrg _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' 599940dd5a57Smrg ;; 600040dd5a57Smrg *) # Version 8.0 or newer 600140dd5a57Smrg tmp_idyn= 600240dd5a57Smrg case $host_cpu in 600340dd5a57Smrg ia64*) tmp_idyn=' -i_dynamic';; 600440dd5a57Smrg esac 600540dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 600640dd5a57Smrg _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' 600740dd5a57Smrg ;; 600840dd5a57Smrg esac 600940dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 601040dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 601140dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 601240dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 601340dd5a57Smrg ;; 601440dd5a57Smrg pgCC* | pgcpp*) 601540dd5a57Smrg # Portland Group C++ compiler 601640dd5a57Smrg case `$CC -V` in 601740dd5a57Smrg *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) 601840dd5a57Smrg _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 601940dd5a57Smrg rm -rf $tpldir~ 602040dd5a57Smrg $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 602140dd5a57Smrg compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' 602240dd5a57Smrg _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 602340dd5a57Smrg rm -rf $tpldir~ 602440dd5a57Smrg $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 602540dd5a57Smrg $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ 602640dd5a57Smrg $RANLIB $oldlib' 602740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 602840dd5a57Smrg rm -rf $tpldir~ 602940dd5a57Smrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 603040dd5a57Smrg $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 603140dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 603240dd5a57Smrg rm -rf $tpldir~ 603340dd5a57Smrg $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 603440dd5a57Smrg $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' 603540dd5a57Smrg ;; 603640dd5a57Smrg *) # Version 6 and above use weak symbols 603740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 603840dd5a57Smrg _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' 603940dd5a57Smrg ;; 604040dd5a57Smrg esac 604140dd5a57Smrg 604240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' 604340dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 604440dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' 604540dd5a57Smrg ;; 604640dd5a57Smrg cxx*) 604740dd5a57Smrg # Compaq C++ 604840dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 604940dd5a57Smrg _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' 605040dd5a57Smrg 605140dd5a57Smrg runpath_var=LD_RUN_PATH 605240dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 605340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 605440dd5a57Smrg 605540dd5a57Smrg # Commands to make compiler produce verbose output that lists 605640dd5a57Smrg # what "hidden" libraries, object files and flags are used when 605740dd5a57Smrg # linking a shared library. 605840dd5a57Smrg # 605940dd5a57Smrg # There doesn't appear to be a way to prevent this compiler from 606040dd5a57Smrg # explicitly linking system object files so we need to strip them 606140dd5a57Smrg # from the output so that they don't get included in the library 606240dd5a57Smrg # dependencies. 606340dd5a57Smrg output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' 606440dd5a57Smrg ;; 606540dd5a57Smrg xl* | mpixl* | bgxl*) 606640dd5a57Smrg # IBM XL 8.0 on PPC, with GNU ld 606740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 606840dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 606940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 607040dd5a57Smrg if test "x$supports_anon_versioning" = xyes; then 607140dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 607240dd5a57Smrg cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 607340dd5a57Smrg echo "local: *; };" >> $output_objdir/$libname.ver~ 607440dd5a57Smrg $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 607540dd5a57Smrg fi 607640dd5a57Smrg ;; 607740dd5a57Smrg *) 607840dd5a57Smrg case `$CC -V 2>&1 | sed 5q` in 607940dd5a57Smrg *Sun\ C*) 608040dd5a57Smrg # Sun C++ 5.9 608140dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 608240dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 608340dd5a57Smrg _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' 608440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 608540dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' 608640dd5a57Smrg _LT_TAGVAR(compiler_needs_object, $1)=yes 608740dd5a57Smrg 608840dd5a57Smrg # Not sure whether something based on 608940dd5a57Smrg # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 609040dd5a57Smrg # would be better. 609140dd5a57Smrg output_verbose_link_cmd='func_echo_all' 609240dd5a57Smrg 609340dd5a57Smrg # Archives containing C++ object files must be created using 609440dd5a57Smrg # "CC -xar", where "CC" is the Sun C++ compiler. This is 609540dd5a57Smrg # necessary to make sure instantiated templates are included 609640dd5a57Smrg # in the archive. 609740dd5a57Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 609840dd5a57Smrg ;; 609940dd5a57Smrg esac 610040dd5a57Smrg ;; 610140dd5a57Smrg esac 610240dd5a57Smrg ;; 610340dd5a57Smrg 610440dd5a57Smrg lynxos*) 610540dd5a57Smrg # FIXME: insert proper C++ library support 610640dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 610740dd5a57Smrg ;; 610840dd5a57Smrg 610940dd5a57Smrg m88k*) 611040dd5a57Smrg # FIXME: insert proper C++ library support 611140dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 611240dd5a57Smrg ;; 611340dd5a57Smrg 611440dd5a57Smrg mvs*) 611540dd5a57Smrg case $cc_basename in 611640dd5a57Smrg cxx*) 611740dd5a57Smrg # FIXME: insert proper C++ library support 611840dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 611940dd5a57Smrg ;; 612040dd5a57Smrg *) 612140dd5a57Smrg # FIXME: insert proper C++ library support 612240dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 612340dd5a57Smrg ;; 612440dd5a57Smrg esac 612540dd5a57Smrg ;; 612640dd5a57Smrg 612740dd5a57Smrg netbsd*) 612840dd5a57Smrg if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 612940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 613040dd5a57Smrg wlarc= 613140dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 613240dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 613340dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 613440dd5a57Smrg fi 613540dd5a57Smrg # Workaround some broken pre-1.5 toolchains 613640dd5a57Smrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 613740dd5a57Smrg ;; 613840dd5a57Smrg 613940dd5a57Smrg *nto* | *qnx*) 614040dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=yes 614140dd5a57Smrg ;; 614240dd5a57Smrg 614340dd5a57Smrg openbsd2*) 614440dd5a57Smrg # C++ shared libraries are fairly broken 614540dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 614640dd5a57Smrg ;; 614740dd5a57Smrg 614840dd5a57Smrg openbsd*) 614940dd5a57Smrg if test -f /usr/libexec/ld.so; then 615040dd5a57Smrg _LT_TAGVAR(hardcode_direct, $1)=yes 615140dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 615240dd5a57Smrg _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 615340dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 615440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 615540dd5a57Smrg if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 615640dd5a57Smrg _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' 615740dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 615840dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 615940dd5a57Smrg fi 616040dd5a57Smrg output_verbose_link_cmd=func_echo_all 616140dd5a57Smrg else 616240dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 616340dd5a57Smrg fi 616440dd5a57Smrg ;; 616540dd5a57Smrg 616640dd5a57Smrg osf3* | osf4* | osf5*) 616740dd5a57Smrg case $cc_basename in 616840dd5a57Smrg KCC*) 616940dd5a57Smrg # Kuck and Associates, Inc. (KAI) C++ Compiler 617040dd5a57Smrg 617140dd5a57Smrg # KCC will only create a shared library if the output file 617240dd5a57Smrg # ends with ".so" (or ".sl" for HP-UX), so rename the library 617340dd5a57Smrg # to its proper name (with version) after linking. 617440dd5a57Smrg _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' 617540dd5a57Smrg 617640dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 617740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 617840dd5a57Smrg 617940dd5a57Smrg # Archives containing C++ object files must be created using 618040dd5a57Smrg # the KAI C++ compiler. 618140dd5a57Smrg case $host in 618240dd5a57Smrg osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 618340dd5a57Smrg *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 618440dd5a57Smrg esac 618540dd5a57Smrg ;; 618640dd5a57Smrg RCC*) 618740dd5a57Smrg # Rational C++ 2.4.1 618840dd5a57Smrg # FIXME: insert proper C++ library support 618940dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 619040dd5a57Smrg ;; 619140dd5a57Smrg cxx*) 619240dd5a57Smrg case $host in 619340dd5a57Smrg osf3*) 619440dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 619540dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' 619640dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 619740dd5a57Smrg ;; 619840dd5a57Smrg *) 619940dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 620040dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' 620140dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 620240dd5a57Smrg echo "-hidden">> $lib.exp~ 620340dd5a57Smrg $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ 620440dd5a57Smrg $RM $lib.exp' 620540dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 620640dd5a57Smrg ;; 620740dd5a57Smrg esac 620840dd5a57Smrg 620940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 621040dd5a57Smrg 621140dd5a57Smrg # Commands to make compiler produce verbose output that lists 621240dd5a57Smrg # what "hidden" libraries, object files and flags are used when 621340dd5a57Smrg # linking a shared library. 621440dd5a57Smrg # 621540dd5a57Smrg # There doesn't appear to be a way to prevent this compiler from 621640dd5a57Smrg # explicitly linking system object files so we need to strip them 621740dd5a57Smrg # from the output so that they don't get included in the library 621840dd5a57Smrg # dependencies. 621940dd5a57Smrg output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' 622040dd5a57Smrg ;; 622140dd5a57Smrg *) 622240dd5a57Smrg if test "$GXX" = yes && test "$with_gnu_ld" = no; then 622340dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 622440dd5a57Smrg case $host in 622540dd5a57Smrg osf3*) 622640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 622740dd5a57Smrg ;; 622840dd5a57Smrg *) 622940dd5a57Smrg _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" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 623040dd5a57Smrg ;; 623140dd5a57Smrg esac 623240dd5a57Smrg 623340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 623440dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=: 623540dd5a57Smrg 623640dd5a57Smrg # Commands to make compiler produce verbose output that lists 623740dd5a57Smrg # what "hidden" libraries, object files and flags are used when 623840dd5a57Smrg # linking a shared library. 623940dd5a57Smrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 624040dd5a57Smrg 624140dd5a57Smrg else 624240dd5a57Smrg # FIXME: insert proper C++ library support 624340dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 624440dd5a57Smrg fi 624540dd5a57Smrg ;; 624640dd5a57Smrg esac 624740dd5a57Smrg ;; 624840dd5a57Smrg 624940dd5a57Smrg psos*) 625040dd5a57Smrg # FIXME: insert proper C++ library support 625140dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 625240dd5a57Smrg ;; 625340dd5a57Smrg 625440dd5a57Smrg sunos4*) 625540dd5a57Smrg case $cc_basename in 625640dd5a57Smrg CC*) 625740dd5a57Smrg # Sun C++ 4.x 625840dd5a57Smrg # FIXME: insert proper C++ library support 625940dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 626040dd5a57Smrg ;; 626140dd5a57Smrg lcc*) 626240dd5a57Smrg # Lucid 626340dd5a57Smrg # FIXME: insert proper C++ library support 626440dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 626540dd5a57Smrg ;; 626640dd5a57Smrg *) 626740dd5a57Smrg # FIXME: insert proper C++ library support 626840dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 626940dd5a57Smrg ;; 627040dd5a57Smrg esac 627140dd5a57Smrg ;; 627240dd5a57Smrg 627340dd5a57Smrg solaris*) 627440dd5a57Smrg case $cc_basename in 627540dd5a57Smrg CC* | sunCC*) 627640dd5a57Smrg # Sun C++ 4.2, 5.x and Centerline C++ 627740dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 627840dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 627940dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 628040dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 628140dd5a57Smrg $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' 628240dd5a57Smrg 628340dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 628440dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 628540dd5a57Smrg case $host_os in 628640dd5a57Smrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 628740dd5a57Smrg *) 628840dd5a57Smrg # The compiler driver will combine and reorder linker options, 628940dd5a57Smrg # but understands `-z linker_flag'. 629040dd5a57Smrg # Supported since Solaris 2.6 (maybe 2.5.1?) 629140dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 629240dd5a57Smrg ;; 629340dd5a57Smrg esac 629440dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 629540dd5a57Smrg 629640dd5a57Smrg output_verbose_link_cmd='func_echo_all' 629740dd5a57Smrg 629840dd5a57Smrg # Archives containing C++ object files must be created using 629940dd5a57Smrg # "CC -xar", where "CC" is the Sun C++ compiler. This is 630040dd5a57Smrg # necessary to make sure instantiated templates are included 630140dd5a57Smrg # in the archive. 630240dd5a57Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 630340dd5a57Smrg ;; 630440dd5a57Smrg gcx*) 630540dd5a57Smrg # Green Hills C++ Compiler 630640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 630740dd5a57Smrg 630840dd5a57Smrg # The C++ compiler must be used to create the archive. 630940dd5a57Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 631040dd5a57Smrg ;; 631140dd5a57Smrg *) 631240dd5a57Smrg # GNU C++ compiler with Solaris linker 631340dd5a57Smrg if test "$GXX" = yes && test "$with_gnu_ld" = no; then 631440dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' 631540dd5a57Smrg if $CC --version | $GREP -v '^2\.7' > /dev/null; then 631640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 631740dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 631840dd5a57Smrg $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 631940dd5a57Smrg 632040dd5a57Smrg # Commands to make compiler produce verbose output that lists 632140dd5a57Smrg # what "hidden" libraries, object files and flags are used when 632240dd5a57Smrg # linking a shared library. 632340dd5a57Smrg output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 632440dd5a57Smrg else 632540dd5a57Smrg # g++ 2.7 appears to require `-G' NOT `-shared' on this 632640dd5a57Smrg # platform. 632740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 632840dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 632940dd5a57Smrg $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 633040dd5a57Smrg 633140dd5a57Smrg # Commands to make compiler produce verbose output that lists 633240dd5a57Smrg # what "hidden" libraries, object files and flags are used when 633340dd5a57Smrg # linking a shared library. 633440dd5a57Smrg output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' 633540dd5a57Smrg fi 633640dd5a57Smrg 633740dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' 633840dd5a57Smrg case $host_os in 633940dd5a57Smrg solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 634040dd5a57Smrg *) 634140dd5a57Smrg _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 634240dd5a57Smrg ;; 634340dd5a57Smrg esac 634440dd5a57Smrg fi 634540dd5a57Smrg ;; 634640dd5a57Smrg esac 634740dd5a57Smrg ;; 634840dd5a57Smrg 634940dd5a57Smrg sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 635040dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 635140dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 635240dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 635340dd5a57Smrg runpath_var='LD_RUN_PATH' 635440dd5a57Smrg 635540dd5a57Smrg case $cc_basename in 635640dd5a57Smrg CC*) 635740dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 635840dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 635940dd5a57Smrg ;; 636040dd5a57Smrg *) 636140dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 636240dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 636340dd5a57Smrg ;; 636440dd5a57Smrg esac 636540dd5a57Smrg ;; 636640dd5a57Smrg 636740dd5a57Smrg sysv5* | sco3.2v5* | sco5v6*) 636840dd5a57Smrg # Note: We can NOT use -z defs as we might desire, because we do not 636940dd5a57Smrg # link with -lc, and that would cause any symbols used from libc to 637040dd5a57Smrg # always be unresolved, which means just about no library would 637140dd5a57Smrg # ever link correctly. If we're not using GNU ld we use -z text 637240dd5a57Smrg # though, which does catch some bad symbols but isn't as heavy-handed 637340dd5a57Smrg # as -z defs. 637440dd5a57Smrg _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 637540dd5a57Smrg _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 637640dd5a57Smrg _LT_TAGVAR(archive_cmds_need_lc, $1)=no 637740dd5a57Smrg _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 637840dd5a57Smrg _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 637940dd5a57Smrg _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 638040dd5a57Smrg _LT_TAGVAR(link_all_deplibs, $1)=yes 638140dd5a57Smrg _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 638240dd5a57Smrg runpath_var='LD_RUN_PATH' 638340dd5a57Smrg 638440dd5a57Smrg case $cc_basename in 638540dd5a57Smrg CC*) 638640dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 638740dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 638840dd5a57Smrg _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ 638940dd5a57Smrg '"$_LT_TAGVAR(old_archive_cmds, $1)" 639040dd5a57Smrg _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ 639140dd5a57Smrg '"$_LT_TAGVAR(reload_cmds, $1)" 639240dd5a57Smrg ;; 639340dd5a57Smrg *) 639440dd5a57Smrg _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 639540dd5a57Smrg _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 639640dd5a57Smrg ;; 639740dd5a57Smrg esac 639840dd5a57Smrg ;; 639940dd5a57Smrg 640040dd5a57Smrg tandem*) 640140dd5a57Smrg case $cc_basename in 640240dd5a57Smrg NCC*) 640340dd5a57Smrg # NonStop-UX NCC 3.20 640440dd5a57Smrg # FIXME: insert proper C++ library support 640540dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 640640dd5a57Smrg ;; 640740dd5a57Smrg *) 640840dd5a57Smrg # FIXME: insert proper C++ library support 640940dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 641040dd5a57Smrg ;; 641140dd5a57Smrg esac 641240dd5a57Smrg ;; 641340dd5a57Smrg 641440dd5a57Smrg vxworks*) 641540dd5a57Smrg # FIXME: insert proper C++ library support 641640dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 641740dd5a57Smrg ;; 641840dd5a57Smrg 641940dd5a57Smrg *) 642040dd5a57Smrg # FIXME: insert proper C++ library support 642140dd5a57Smrg _LT_TAGVAR(ld_shlibs, $1)=no 642240dd5a57Smrg ;; 642340dd5a57Smrg esac 642440dd5a57Smrg 642540dd5a57Smrg AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 642640dd5a57Smrg test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 642740dd5a57Smrg 642840dd5a57Smrg _LT_TAGVAR(GCC, $1)="$GXX" 642940dd5a57Smrg _LT_TAGVAR(LD, $1)="$LD" 643040dd5a57Smrg 643140dd5a57Smrg ## CAVEAT EMPTOR: 643240dd5a57Smrg ## There is no encapsulation within the following macros, do not change 643340dd5a57Smrg ## the running order or otherwise move them around unless you know exactly 643440dd5a57Smrg ## what you are doing... 643540dd5a57Smrg _LT_SYS_HIDDEN_LIBDEPS($1) 643640dd5a57Smrg _LT_COMPILER_PIC($1) 643740dd5a57Smrg _LT_COMPILER_C_O($1) 643840dd5a57Smrg _LT_COMPILER_FILE_LOCKS($1) 643940dd5a57Smrg _LT_LINKER_SHLIBS($1) 644040dd5a57Smrg _LT_SYS_DYNAMIC_LINKER($1) 644140dd5a57Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 644240dd5a57Smrg 644340dd5a57Smrg _LT_CONFIG($1) 644440dd5a57Smrg fi # test -n "$compiler" 644540dd5a57Smrg 644640dd5a57Smrg CC=$lt_save_CC 644740dd5a57Smrg LDCXX=$LD 644840dd5a57Smrg LD=$lt_save_LD 644940dd5a57Smrg GCC=$lt_save_GCC 645040dd5a57Smrg with_gnu_ld=$lt_save_with_gnu_ld 645140dd5a57Smrg lt_cv_path_LDCXX=$lt_cv_path_LD 645240dd5a57Smrg lt_cv_path_LD=$lt_save_path_LD 645340dd5a57Smrg lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 645440dd5a57Smrg lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 645540dd5a57Smrgfi # test "$_lt_caught_CXX_error" != yes 645640dd5a57Smrg 645740dd5a57SmrgAC_LANG_POP 645840dd5a57Smrg])# _LT_LANG_CXX_CONFIG 645940dd5a57Smrg 646040dd5a57Smrg 646140dd5a57Smrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 646240dd5a57Smrg# --------------------------------- 646340dd5a57Smrg# Figure out "hidden" library dependencies from verbose 646440dd5a57Smrg# compiler output when linking a shared library. 646540dd5a57Smrg# Parse the compiler output and extract the necessary 646640dd5a57Smrg# objects, libraries and library flags. 646740dd5a57Smrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS], 646840dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 646940dd5a57Smrg# Dependencies to place before and after the object being linked: 647040dd5a57Smrg_LT_TAGVAR(predep_objects, $1)= 647140dd5a57Smrg_LT_TAGVAR(postdep_objects, $1)= 647240dd5a57Smrg_LT_TAGVAR(predeps, $1)= 647340dd5a57Smrg_LT_TAGVAR(postdeps, $1)= 647440dd5a57Smrg_LT_TAGVAR(compiler_lib_search_path, $1)= 647540dd5a57Smrg 647640dd5a57Smrgdnl we can't use the lt_simple_compile_test_code here, 647740dd5a57Smrgdnl because it contains code intended for an executable, 647840dd5a57Smrgdnl not a library. It's possible we should let each 647940dd5a57Smrgdnl tag define a new lt_????_link_test_code variable, 648040dd5a57Smrgdnl but it's only used here... 648140dd5a57Smrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 648240dd5a57Smrgint a; 648340dd5a57Smrgvoid foo (void) { a = 0; } 648440dd5a57Smrg_LT_EOF 648540dd5a57Smrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 648640dd5a57Smrgclass Foo 648740dd5a57Smrg{ 648840dd5a57Smrgpublic: 648940dd5a57Smrg Foo (void) { a = 0; } 649040dd5a57Smrgprivate: 649140dd5a57Smrg int a; 649240dd5a57Smrg}; 649340dd5a57Smrg_LT_EOF 649440dd5a57Smrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 649540dd5a57Smrg subroutine foo 649640dd5a57Smrg implicit none 649740dd5a57Smrg integer*4 a 649840dd5a57Smrg a=0 649940dd5a57Smrg return 650040dd5a57Smrg end 650140dd5a57Smrg_LT_EOF 650240dd5a57Smrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 650340dd5a57Smrg subroutine foo 650440dd5a57Smrg implicit none 650540dd5a57Smrg integer a 650640dd5a57Smrg a=0 650740dd5a57Smrg return 650840dd5a57Smrg end 650940dd5a57Smrg_LT_EOF 651040dd5a57Smrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 651140dd5a57Smrgpublic class foo { 651240dd5a57Smrg private int a; 651340dd5a57Smrg public void bar (void) { 651440dd5a57Smrg a = 0; 651540dd5a57Smrg } 651640dd5a57Smrg}; 651740dd5a57Smrg_LT_EOF 651840dd5a57Smrg]) 651940dd5a57Smrgdnl Parse the compiler output and extract the necessary 652040dd5a57Smrgdnl objects, libraries and library flags. 652140dd5a57Smrgif AC_TRY_EVAL(ac_compile); then 652240dd5a57Smrg # Parse the compiler output and extract the necessary 652340dd5a57Smrg # objects, libraries and library flags. 652440dd5a57Smrg 652540dd5a57Smrg # Sentinel used to keep track of whether or not we are before 652640dd5a57Smrg # the conftest object file. 652740dd5a57Smrg pre_test_object_deps_done=no 652840dd5a57Smrg 652940dd5a57Smrg for p in `eval "$output_verbose_link_cmd"`; do 653040dd5a57Smrg case $p in 653140dd5a57Smrg 653240dd5a57Smrg -L* | -R* | -l*) 653340dd5a57Smrg # Some compilers place space between "-{L,R}" and the path. 653440dd5a57Smrg # Remove the space. 653540dd5a57Smrg if test $p = "-L" || 653640dd5a57Smrg test $p = "-R"; then 653740dd5a57Smrg prev=$p 653840dd5a57Smrg continue 653940dd5a57Smrg else 654040dd5a57Smrg prev= 654140dd5a57Smrg fi 654240dd5a57Smrg 654340dd5a57Smrg if test "$pre_test_object_deps_done" = no; then 654440dd5a57Smrg case $p in 654540dd5a57Smrg -L* | -R*) 654640dd5a57Smrg # Internal compiler library paths should come after those 654740dd5a57Smrg # provided the user. The postdeps already come after the 654840dd5a57Smrg # user supplied libs so there is no need to process them. 654940dd5a57Smrg if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 655040dd5a57Smrg _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" 655140dd5a57Smrg else 655240dd5a57Smrg _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" 655340dd5a57Smrg fi 655440dd5a57Smrg ;; 655540dd5a57Smrg # The "-l" case would never come before the object being 655640dd5a57Smrg # linked, so don't bother handling this case. 655740dd5a57Smrg esac 655840dd5a57Smrg else 655940dd5a57Smrg if test -z "$_LT_TAGVAR(postdeps, $1)"; then 656040dd5a57Smrg _LT_TAGVAR(postdeps, $1)="${prev}${p}" 656140dd5a57Smrg else 656240dd5a57Smrg _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" 656340dd5a57Smrg fi 656440dd5a57Smrg fi 656540dd5a57Smrg ;; 656640dd5a57Smrg 656740dd5a57Smrg *.$objext) 656840dd5a57Smrg # This assumes that the test object file only shows up 656940dd5a57Smrg # once in the compiler output. 657040dd5a57Smrg if test "$p" = "conftest.$objext"; then 657140dd5a57Smrg pre_test_object_deps_done=yes 657240dd5a57Smrg continue 657340dd5a57Smrg fi 657440dd5a57Smrg 657540dd5a57Smrg if test "$pre_test_object_deps_done" = no; then 657640dd5a57Smrg if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 657740dd5a57Smrg _LT_TAGVAR(predep_objects, $1)="$p" 657840dd5a57Smrg else 657940dd5a57Smrg _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 658040dd5a57Smrg fi 658140dd5a57Smrg else 658240dd5a57Smrg if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 658340dd5a57Smrg _LT_TAGVAR(postdep_objects, $1)="$p" 658440dd5a57Smrg else 658540dd5a57Smrg _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 658640dd5a57Smrg fi 658740dd5a57Smrg fi 658840dd5a57Smrg ;; 658940dd5a57Smrg 659040dd5a57Smrg *) ;; # Ignore the rest. 659140dd5a57Smrg 659240dd5a57Smrg esac 659340dd5a57Smrg done 659440dd5a57Smrg 659540dd5a57Smrg # Clean up. 659640dd5a57Smrg rm -f a.out a.exe 659740dd5a57Smrgelse 659840dd5a57Smrg echo "libtool.m4: error: problem compiling $1 test program" 659940dd5a57Smrgfi 660040dd5a57Smrg 660140dd5a57Smrg$RM -f confest.$objext 660240dd5a57Smrg 660340dd5a57Smrg# PORTME: override above test on systems where it is broken 660440dd5a57Smrgm4_if([$1], [CXX], 660540dd5a57Smrg[case $host_os in 660640dd5a57Smrginterix[[3-9]]*) 660740dd5a57Smrg # Interix 3.5 installs completely hosed .la files for C++, so rather than 660840dd5a57Smrg # hack all around it, let's just trust "g++" to DTRT. 660940dd5a57Smrg _LT_TAGVAR(predep_objects,$1)= 661040dd5a57Smrg _LT_TAGVAR(postdep_objects,$1)= 661140dd5a57Smrg _LT_TAGVAR(postdeps,$1)= 661240dd5a57Smrg ;; 661340dd5a57Smrg 661440dd5a57Smrglinux*) 661540dd5a57Smrg case `$CC -V 2>&1 | sed 5q` in 661640dd5a57Smrg *Sun\ C*) 661740dd5a57Smrg # Sun C++ 5.9 661840dd5a57Smrg 661940dd5a57Smrg # The more standards-conforming stlport4 library is 662040dd5a57Smrg # incompatible with the Cstd library. Avoid specifying 662140dd5a57Smrg # it if it's in CXXFLAGS. Ignore libCrun as 662240dd5a57Smrg # -library=stlport4 depends on it. 662340dd5a57Smrg case " $CXX $CXXFLAGS " in 662440dd5a57Smrg *" -library=stlport4 "*) 662540dd5a57Smrg solaris_use_stlport4=yes 662640dd5a57Smrg ;; 662740dd5a57Smrg esac 662840dd5a57Smrg 662940dd5a57Smrg if test "$solaris_use_stlport4" != yes; then 663040dd5a57Smrg _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 663140dd5a57Smrg fi 663240dd5a57Smrg ;; 663340dd5a57Smrg esac 663440dd5a57Smrg ;; 663540dd5a57Smrg 663640dd5a57Smrgsolaris*) 663740dd5a57Smrg case $cc_basename in 663840dd5a57Smrg CC* | sunCC*) 663940dd5a57Smrg # The more standards-conforming stlport4 library is 664040dd5a57Smrg # incompatible with the Cstd library. Avoid specifying 664140dd5a57Smrg # it if it's in CXXFLAGS. Ignore libCrun as 664240dd5a57Smrg # -library=stlport4 depends on it. 664340dd5a57Smrg case " $CXX $CXXFLAGS " in 664440dd5a57Smrg *" -library=stlport4 "*) 664540dd5a57Smrg solaris_use_stlport4=yes 664640dd5a57Smrg ;; 664740dd5a57Smrg esac 664840dd5a57Smrg 664940dd5a57Smrg # Adding this requires a known-good setup of shared libraries for 665040dd5a57Smrg # Sun compiler versions before 5.6, else PIC objects from an old 665140dd5a57Smrg # archive will be linked into the output, leading to subtle bugs. 665240dd5a57Smrg if test "$solaris_use_stlport4" != yes; then 665340dd5a57Smrg _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 665440dd5a57Smrg fi 665540dd5a57Smrg ;; 665640dd5a57Smrg esac 665740dd5a57Smrg ;; 665840dd5a57Smrgesac 665940dd5a57Smrg]) 666040dd5a57Smrg 666140dd5a57Smrgcase " $_LT_TAGVAR(postdeps, $1) " in 666240dd5a57Smrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 666340dd5a57Smrgesac 666440dd5a57Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)= 666540dd5a57Smrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 666640dd5a57Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` 666740dd5a57Smrgfi 666840dd5a57Smrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 666940dd5a57Smrg [The directories searched by this compiler when creating a shared library]) 667040dd5a57Smrg_LT_TAGDECL([], [predep_objects], [1], 667140dd5a57Smrg [Dependencies to place before and after the objects being linked to 667240dd5a57Smrg create a shared library]) 667340dd5a57Smrg_LT_TAGDECL([], [postdep_objects], [1]) 667440dd5a57Smrg_LT_TAGDECL([], [predeps], [1]) 667540dd5a57Smrg_LT_TAGDECL([], [postdeps], [1]) 667640dd5a57Smrg_LT_TAGDECL([], [compiler_lib_search_path], [1], 667740dd5a57Smrg [The library search path used internally by the compiler when linking 667840dd5a57Smrg a shared library]) 667940dd5a57Smrg])# _LT_SYS_HIDDEN_LIBDEPS 668040dd5a57Smrg 668140dd5a57Smrg 668240dd5a57Smrg# _LT_LANG_F77_CONFIG([TAG]) 668340dd5a57Smrg# -------------------------- 668440dd5a57Smrg# Ensure that the configuration variables for a Fortran 77 compiler are 668540dd5a57Smrg# suitably defined. These variables are subsequently used by _LT_CONFIG 668640dd5a57Smrg# to write the compiler configuration to `libtool'. 668740dd5a57Smrgm4_defun([_LT_LANG_F77_CONFIG], 668840dd5a57Smrg[AC_LANG_PUSH(Fortran 77) 668940dd5a57Smrgif test -z "$F77" || test "X$F77" = "Xno"; then 669040dd5a57Smrg _lt_disable_F77=yes 669140dd5a57Smrgfi 669240dd5a57Smrg 669340dd5a57Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 669440dd5a57Smrg_LT_TAGVAR(allow_undefined_flag, $1)= 669540dd5a57Smrg_LT_TAGVAR(always_export_symbols, $1)=no 669640dd5a57Smrg_LT_TAGVAR(archive_expsym_cmds, $1)= 669740dd5a57Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 669840dd5a57Smrg_LT_TAGVAR(hardcode_direct, $1)=no 669940dd5a57Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 670040dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 670140dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 670240dd5a57Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 670340dd5a57Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no 670440dd5a57Smrg_LT_TAGVAR(hardcode_automatic, $1)=no 670540dd5a57Smrg_LT_TAGVAR(inherit_rpath, $1)=no 670640dd5a57Smrg_LT_TAGVAR(module_cmds, $1)= 670740dd5a57Smrg_LT_TAGVAR(module_expsym_cmds, $1)= 670840dd5a57Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 670940dd5a57Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 671040dd5a57Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 671140dd5a57Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 671240dd5a57Smrg_LT_TAGVAR(no_undefined_flag, $1)= 671340dd5a57Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 671440dd5a57Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 671540dd5a57Smrg 671640dd5a57Smrg# Source file extension for f77 test sources. 671740dd5a57Smrgac_ext=f 671840dd5a57Smrg 671940dd5a57Smrg# Object file extension for compiled f77 test sources. 672040dd5a57Smrgobjext=o 672140dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext 672240dd5a57Smrg 672340dd5a57Smrg# No sense in running all these tests if we already determined that 672440dd5a57Smrg# the F77 compiler isn't working. Some variables (like enable_shared) 672540dd5a57Smrg# are currently assumed to apply to all compilers on this platform, 672640dd5a57Smrg# and will be corrupted by setting them based on a non-working compiler. 672740dd5a57Smrgif test "$_lt_disable_F77" != yes; then 672840dd5a57Smrg # Code to be used in simple compile tests 672940dd5a57Smrg lt_simple_compile_test_code="\ 673040dd5a57Smrg subroutine t 673140dd5a57Smrg return 673240dd5a57Smrg end 673340dd5a57Smrg" 673440dd5a57Smrg 673540dd5a57Smrg # Code to be used in simple link tests 673640dd5a57Smrg lt_simple_link_test_code="\ 673740dd5a57Smrg program t 673840dd5a57Smrg end 673940dd5a57Smrg" 674040dd5a57Smrg 674140dd5a57Smrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 674240dd5a57Smrg _LT_TAG_COMPILER 674340dd5a57Smrg 674440dd5a57Smrg # save warnings/boilerplate of simple test code 674540dd5a57Smrg _LT_COMPILER_BOILERPLATE 674640dd5a57Smrg _LT_LINKER_BOILERPLATE 674740dd5a57Smrg 674840dd5a57Smrg # Allow CC to be a program name with arguments. 674940dd5a57Smrg lt_save_CC="$CC" 675040dd5a57Smrg lt_save_GCC=$GCC 675140dd5a57Smrg CC=${F77-"f77"} 675240dd5a57Smrg compiler=$CC 675340dd5a57Smrg _LT_TAGVAR(compiler, $1)=$CC 675440dd5a57Smrg _LT_CC_BASENAME([$compiler]) 675540dd5a57Smrg GCC=$G77 675640dd5a57Smrg if test -n "$compiler"; then 675740dd5a57Smrg AC_MSG_CHECKING([if libtool supports shared libraries]) 675840dd5a57Smrg AC_MSG_RESULT([$can_build_shared]) 675940dd5a57Smrg 676040dd5a57Smrg AC_MSG_CHECKING([whether to build shared libraries]) 676140dd5a57Smrg test "$can_build_shared" = "no" && enable_shared=no 676240dd5a57Smrg 676340dd5a57Smrg # On AIX, shared libraries and static libraries use the same namespace, and 676440dd5a57Smrg # are all built from PIC. 676540dd5a57Smrg case $host_os in 676640dd5a57Smrg aix3*) 676740dd5a57Smrg test "$enable_shared" = yes && enable_static=no 676840dd5a57Smrg if test -n "$RANLIB"; then 676940dd5a57Smrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 677040dd5a57Smrg postinstall_cmds='$RANLIB $lib' 677140dd5a57Smrg fi 677240dd5a57Smrg ;; 677340dd5a57Smrg aix[[4-9]]*) 677440dd5a57Smrg if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 677540dd5a57Smrg test "$enable_shared" = yes && enable_static=no 677640dd5a57Smrg fi 677740dd5a57Smrg ;; 677840dd5a57Smrg esac 677940dd5a57Smrg AC_MSG_RESULT([$enable_shared]) 678040dd5a57Smrg 678140dd5a57Smrg AC_MSG_CHECKING([whether to build static libraries]) 678240dd5a57Smrg # Make sure either enable_shared or enable_static is yes. 678340dd5a57Smrg test "$enable_shared" = yes || enable_static=yes 678440dd5a57Smrg AC_MSG_RESULT([$enable_static]) 678540dd5a57Smrg 678640dd5a57Smrg _LT_TAGVAR(GCC, $1)="$G77" 678740dd5a57Smrg _LT_TAGVAR(LD, $1)="$LD" 678840dd5a57Smrg 678940dd5a57Smrg ## CAVEAT EMPTOR: 679040dd5a57Smrg ## There is no encapsulation within the following macros, do not change 679140dd5a57Smrg ## the running order or otherwise move them around unless you know exactly 679240dd5a57Smrg ## what you are doing... 679340dd5a57Smrg _LT_COMPILER_PIC($1) 679440dd5a57Smrg _LT_COMPILER_C_O($1) 679540dd5a57Smrg _LT_COMPILER_FILE_LOCKS($1) 679640dd5a57Smrg _LT_LINKER_SHLIBS($1) 679740dd5a57Smrg _LT_SYS_DYNAMIC_LINKER($1) 679840dd5a57Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 679940dd5a57Smrg 680040dd5a57Smrg _LT_CONFIG($1) 680140dd5a57Smrg fi # test -n "$compiler" 680240dd5a57Smrg 680340dd5a57Smrg GCC=$lt_save_GCC 680440dd5a57Smrg CC="$lt_save_CC" 680540dd5a57Smrgfi # test "$_lt_disable_F77" != yes 680640dd5a57Smrg 680740dd5a57SmrgAC_LANG_POP 680840dd5a57Smrg])# _LT_LANG_F77_CONFIG 680940dd5a57Smrg 681040dd5a57Smrg 681140dd5a57Smrg# _LT_LANG_FC_CONFIG([TAG]) 681240dd5a57Smrg# ------------------------- 681340dd5a57Smrg# Ensure that the configuration variables for a Fortran compiler are 681440dd5a57Smrg# suitably defined. These variables are subsequently used by _LT_CONFIG 681540dd5a57Smrg# to write the compiler configuration to `libtool'. 681640dd5a57Smrgm4_defun([_LT_LANG_FC_CONFIG], 681740dd5a57Smrg[AC_LANG_PUSH(Fortran) 681840dd5a57Smrg 681940dd5a57Smrgif test -z "$FC" || test "X$FC" = "Xno"; then 682040dd5a57Smrg _lt_disable_FC=yes 682140dd5a57Smrgfi 682240dd5a57Smrg 682340dd5a57Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 682440dd5a57Smrg_LT_TAGVAR(allow_undefined_flag, $1)= 682540dd5a57Smrg_LT_TAGVAR(always_export_symbols, $1)=no 682640dd5a57Smrg_LT_TAGVAR(archive_expsym_cmds, $1)= 682740dd5a57Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)= 682840dd5a57Smrg_LT_TAGVAR(hardcode_direct, $1)=no 682940dd5a57Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no 683040dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 683140dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 683240dd5a57Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)= 683340dd5a57Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no 683440dd5a57Smrg_LT_TAGVAR(hardcode_automatic, $1)=no 683540dd5a57Smrg_LT_TAGVAR(inherit_rpath, $1)=no 683640dd5a57Smrg_LT_TAGVAR(module_cmds, $1)= 683740dd5a57Smrg_LT_TAGVAR(module_expsym_cmds, $1)= 683840dd5a57Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown 683940dd5a57Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 684040dd5a57Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 684140dd5a57Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 684240dd5a57Smrg_LT_TAGVAR(no_undefined_flag, $1)= 684340dd5a57Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)= 684440dd5a57Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 684540dd5a57Smrg 684640dd5a57Smrg# Source file extension for fc test sources. 684740dd5a57Smrgac_ext=${ac_fc_srcext-f} 684840dd5a57Smrg 684940dd5a57Smrg# Object file extension for compiled fc test sources. 685040dd5a57Smrgobjext=o 685140dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext 685240dd5a57Smrg 685340dd5a57Smrg# No sense in running all these tests if we already determined that 685440dd5a57Smrg# the FC compiler isn't working. Some variables (like enable_shared) 685540dd5a57Smrg# are currently assumed to apply to all compilers on this platform, 685640dd5a57Smrg# and will be corrupted by setting them based on a non-working compiler. 685740dd5a57Smrgif test "$_lt_disable_FC" != yes; then 685840dd5a57Smrg # Code to be used in simple compile tests 685940dd5a57Smrg lt_simple_compile_test_code="\ 686040dd5a57Smrg subroutine t 686140dd5a57Smrg return 686240dd5a57Smrg end 686340dd5a57Smrg" 686440dd5a57Smrg 686540dd5a57Smrg # Code to be used in simple link tests 686640dd5a57Smrg lt_simple_link_test_code="\ 686740dd5a57Smrg program t 686840dd5a57Smrg end 686940dd5a57Smrg" 687040dd5a57Smrg 687140dd5a57Smrg # ltmain only uses $CC for tagged configurations so make sure $CC is set. 687240dd5a57Smrg _LT_TAG_COMPILER 687340dd5a57Smrg 687440dd5a57Smrg # save warnings/boilerplate of simple test code 687540dd5a57Smrg _LT_COMPILER_BOILERPLATE 687640dd5a57Smrg _LT_LINKER_BOILERPLATE 687740dd5a57Smrg 687840dd5a57Smrg # Allow CC to be a program name with arguments. 687940dd5a57Smrg lt_save_CC="$CC" 688040dd5a57Smrg lt_save_GCC=$GCC 688140dd5a57Smrg CC=${FC-"f95"} 688240dd5a57Smrg compiler=$CC 688340dd5a57Smrg GCC=$ac_cv_fc_compiler_gnu 688440dd5a57Smrg 688540dd5a57Smrg _LT_TAGVAR(compiler, $1)=$CC 688640dd5a57Smrg _LT_CC_BASENAME([$compiler]) 688740dd5a57Smrg 688840dd5a57Smrg if test -n "$compiler"; then 688940dd5a57Smrg AC_MSG_CHECKING([if libtool supports shared libraries]) 689040dd5a57Smrg AC_MSG_RESULT([$can_build_shared]) 689140dd5a57Smrg 689240dd5a57Smrg AC_MSG_CHECKING([whether to build shared libraries]) 689340dd5a57Smrg test "$can_build_shared" = "no" && enable_shared=no 689440dd5a57Smrg 689540dd5a57Smrg # On AIX, shared libraries and static libraries use the same namespace, and 689640dd5a57Smrg # are all built from PIC. 689740dd5a57Smrg case $host_os in 689840dd5a57Smrg aix3*) 689940dd5a57Smrg test "$enable_shared" = yes && enable_static=no 690040dd5a57Smrg if test -n "$RANLIB"; then 690140dd5a57Smrg archive_cmds="$archive_cmds~\$RANLIB \$lib" 690240dd5a57Smrg postinstall_cmds='$RANLIB $lib' 690340dd5a57Smrg fi 690440dd5a57Smrg ;; 690540dd5a57Smrg aix[[4-9]]*) 690640dd5a57Smrg if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 690740dd5a57Smrg test "$enable_shared" = yes && enable_static=no 690840dd5a57Smrg fi 690940dd5a57Smrg ;; 691040dd5a57Smrg esac 691140dd5a57Smrg AC_MSG_RESULT([$enable_shared]) 691240dd5a57Smrg 691340dd5a57Smrg AC_MSG_CHECKING([whether to build static libraries]) 691440dd5a57Smrg # Make sure either enable_shared or enable_static is yes. 691540dd5a57Smrg test "$enable_shared" = yes || enable_static=yes 691640dd5a57Smrg AC_MSG_RESULT([$enable_static]) 691740dd5a57Smrg 691840dd5a57Smrg _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" 691940dd5a57Smrg _LT_TAGVAR(LD, $1)="$LD" 692040dd5a57Smrg 692140dd5a57Smrg ## CAVEAT EMPTOR: 692240dd5a57Smrg ## There is no encapsulation within the following macros, do not change 692340dd5a57Smrg ## the running order or otherwise move them around unless you know exactly 692440dd5a57Smrg ## what you are doing... 692540dd5a57Smrg _LT_SYS_HIDDEN_LIBDEPS($1) 692640dd5a57Smrg _LT_COMPILER_PIC($1) 692740dd5a57Smrg _LT_COMPILER_C_O($1) 692840dd5a57Smrg _LT_COMPILER_FILE_LOCKS($1) 692940dd5a57Smrg _LT_LINKER_SHLIBS($1) 693040dd5a57Smrg _LT_SYS_DYNAMIC_LINKER($1) 693140dd5a57Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 693240dd5a57Smrg 693340dd5a57Smrg _LT_CONFIG($1) 693440dd5a57Smrg fi # test -n "$compiler" 693540dd5a57Smrg 693640dd5a57Smrg GCC=$lt_save_GCC 693740dd5a57Smrg CC="$lt_save_CC" 693840dd5a57Smrgfi # test "$_lt_disable_FC" != yes 693940dd5a57Smrg 694040dd5a57SmrgAC_LANG_POP 694140dd5a57Smrg])# _LT_LANG_FC_CONFIG 694240dd5a57Smrg 694340dd5a57Smrg 694440dd5a57Smrg# _LT_LANG_GCJ_CONFIG([TAG]) 694540dd5a57Smrg# -------------------------- 694640dd5a57Smrg# Ensure that the configuration variables for the GNU Java Compiler compiler 694740dd5a57Smrg# are suitably defined. These variables are subsequently used by _LT_CONFIG 694840dd5a57Smrg# to write the compiler configuration to `libtool'. 694940dd5a57Smrgm4_defun([_LT_LANG_GCJ_CONFIG], 695040dd5a57Smrg[AC_REQUIRE([LT_PROG_GCJ])dnl 695140dd5a57SmrgAC_LANG_SAVE 695240dd5a57Smrg 695340dd5a57Smrg# Source file extension for Java test sources. 695440dd5a57Smrgac_ext=java 695540dd5a57Smrg 695640dd5a57Smrg# Object file extension for compiled Java test sources. 695740dd5a57Smrgobjext=o 695840dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext 695940dd5a57Smrg 696040dd5a57Smrg# Code to be used in simple compile tests 696140dd5a57Smrglt_simple_compile_test_code="class foo {}" 696240dd5a57Smrg 696340dd5a57Smrg# Code to be used in simple link tests 696440dd5a57Smrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 696540dd5a57Smrg 696640dd5a57Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set. 696740dd5a57Smrg_LT_TAG_COMPILER 696840dd5a57Smrg 696940dd5a57Smrg# save warnings/boilerplate of simple test code 697040dd5a57Smrg_LT_COMPILER_BOILERPLATE 697140dd5a57Smrg_LT_LINKER_BOILERPLATE 697240dd5a57Smrg 697340dd5a57Smrg# Allow CC to be a program name with arguments. 697440dd5a57Smrglt_save_CC="$CC" 697540dd5a57Smrglt_save_GCC=$GCC 697640dd5a57SmrgGCC=yes 697740dd5a57SmrgCC=${GCJ-"gcj"} 697840dd5a57Smrgcompiler=$CC 697940dd5a57Smrg_LT_TAGVAR(compiler, $1)=$CC 698040dd5a57Smrg_LT_TAGVAR(LD, $1)="$LD" 698140dd5a57Smrg_LT_CC_BASENAME([$compiler]) 698240dd5a57Smrg 698340dd5a57Smrg# GCJ did not exist at the time GCC didn't implicitly link libc in. 698440dd5a57Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no 698540dd5a57Smrg 698640dd5a57Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 698740dd5a57Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag 698840dd5a57Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds 698940dd5a57Smrg 699040dd5a57Smrgif test -n "$compiler"; then 699140dd5a57Smrg _LT_COMPILER_NO_RTTI($1) 699240dd5a57Smrg _LT_COMPILER_PIC($1) 699340dd5a57Smrg _LT_COMPILER_C_O($1) 699440dd5a57Smrg _LT_COMPILER_FILE_LOCKS($1) 699540dd5a57Smrg _LT_LINKER_SHLIBS($1) 699640dd5a57Smrg _LT_LINKER_HARDCODE_LIBPATH($1) 699740dd5a57Smrg 699840dd5a57Smrg _LT_CONFIG($1) 699940dd5a57Smrgfi 700040dd5a57Smrg 700140dd5a57SmrgAC_LANG_RESTORE 700240dd5a57Smrg 700340dd5a57SmrgGCC=$lt_save_GCC 700440dd5a57SmrgCC="$lt_save_CC" 700540dd5a57Smrg])# _LT_LANG_GCJ_CONFIG 700640dd5a57Smrg 700740dd5a57Smrg 700840dd5a57Smrg# _LT_LANG_RC_CONFIG([TAG]) 700940dd5a57Smrg# ------------------------- 701040dd5a57Smrg# Ensure that the configuration variables for the Windows resource compiler 701140dd5a57Smrg# are suitably defined. These variables are subsequently used by _LT_CONFIG 701240dd5a57Smrg# to write the compiler configuration to `libtool'. 701340dd5a57Smrgm4_defun([_LT_LANG_RC_CONFIG], 701440dd5a57Smrg[AC_REQUIRE([LT_PROG_RC])dnl 701540dd5a57SmrgAC_LANG_SAVE 701640dd5a57Smrg 701740dd5a57Smrg# Source file extension for RC test sources. 701840dd5a57Smrgac_ext=rc 701940dd5a57Smrg 702040dd5a57Smrg# Object file extension for compiled RC test sources. 702140dd5a57Smrgobjext=o 702240dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext 702340dd5a57Smrg 702440dd5a57Smrg# Code to be used in simple compile tests 702540dd5a57Smrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 702640dd5a57Smrg 702740dd5a57Smrg# Code to be used in simple link tests 702840dd5a57Smrglt_simple_link_test_code="$lt_simple_compile_test_code" 702940dd5a57Smrg 703040dd5a57Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set. 703140dd5a57Smrg_LT_TAG_COMPILER 703240dd5a57Smrg 703340dd5a57Smrg# save warnings/boilerplate of simple test code 703440dd5a57Smrg_LT_COMPILER_BOILERPLATE 703540dd5a57Smrg_LT_LINKER_BOILERPLATE 703640dd5a57Smrg 703740dd5a57Smrg# Allow CC to be a program name with arguments. 703840dd5a57Smrglt_save_CC="$CC" 703940dd5a57Smrglt_save_GCC=$GCC 704040dd5a57SmrgGCC= 704140dd5a57SmrgCC=${RC-"windres"} 704240dd5a57Smrgcompiler=$CC 704340dd5a57Smrg_LT_TAGVAR(compiler, $1)=$CC 704440dd5a57Smrg_LT_CC_BASENAME([$compiler]) 704540dd5a57Smrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 704640dd5a57Smrg 704740dd5a57Smrgif test -n "$compiler"; then 704840dd5a57Smrg : 704940dd5a57Smrg _LT_CONFIG($1) 705040dd5a57Smrgfi 705140dd5a57Smrg 705240dd5a57SmrgGCC=$lt_save_GCC 705340dd5a57SmrgAC_LANG_RESTORE 705440dd5a57SmrgCC="$lt_save_CC" 705540dd5a57Smrg])# _LT_LANG_RC_CONFIG 705640dd5a57Smrg 705740dd5a57Smrg 705840dd5a57Smrg# LT_PROG_GCJ 705940dd5a57Smrg# ----------- 706040dd5a57SmrgAC_DEFUN([LT_PROG_GCJ], 706140dd5a57Smrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 706240dd5a57Smrg [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 706340dd5a57Smrg [AC_CHECK_TOOL(GCJ, gcj,) 706440dd5a57Smrg test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" 706540dd5a57Smrg AC_SUBST(GCJFLAGS)])])[]dnl 706640dd5a57Smrg]) 706740dd5a57Smrg 706840dd5a57Smrg# Old name: 706940dd5a57SmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 707040dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 707140dd5a57Smrgdnl AC_DEFUN([LT_AC_PROG_GCJ], []) 707240dd5a57Smrg 707340dd5a57Smrg 707440dd5a57Smrg# LT_PROG_RC 707540dd5a57Smrg# ---------- 707640dd5a57SmrgAC_DEFUN([LT_PROG_RC], 707740dd5a57Smrg[AC_CHECK_TOOL(RC, windres,) 707840dd5a57Smrg]) 707940dd5a57Smrg 708040dd5a57Smrg# Old name: 708140dd5a57SmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 708240dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 708340dd5a57Smrgdnl AC_DEFUN([LT_AC_PROG_RC], []) 708440dd5a57Smrg 708540dd5a57Smrg 708640dd5a57Smrg# _LT_DECL_EGREP 708740dd5a57Smrg# -------------- 708840dd5a57Smrg# If we don't have a new enough Autoconf to choose the best grep 708940dd5a57Smrg# available, choose the one first in the user's PATH. 709040dd5a57Smrgm4_defun([_LT_DECL_EGREP], 709140dd5a57Smrg[AC_REQUIRE([AC_PROG_EGREP])dnl 709240dd5a57SmrgAC_REQUIRE([AC_PROG_FGREP])dnl 709340dd5a57Smrgtest -z "$GREP" && GREP=grep 709440dd5a57Smrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 709540dd5a57Smrg_LT_DECL([], [EGREP], [1], [An ERE matcher]) 709640dd5a57Smrg_LT_DECL([], [FGREP], [1], [A literal string matcher]) 709740dd5a57Smrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 709840dd5a57SmrgAC_SUBST([GREP]) 709940dd5a57Smrg]) 710040dd5a57Smrg 710140dd5a57Smrg 710240dd5a57Smrg# _LT_DECL_OBJDUMP 710340dd5a57Smrg# -------------- 710440dd5a57Smrg# If we don't have a new enough Autoconf to choose the best objdump 710540dd5a57Smrg# available, choose the one first in the user's PATH. 710640dd5a57Smrgm4_defun([_LT_DECL_OBJDUMP], 710740dd5a57Smrg[AC_CHECK_TOOL(OBJDUMP, objdump, false) 710840dd5a57Smrgtest -z "$OBJDUMP" && OBJDUMP=objdump 710940dd5a57Smrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 711040dd5a57SmrgAC_SUBST([OBJDUMP]) 711140dd5a57Smrg]) 711240dd5a57Smrg 711340dd5a57Smrg 711440dd5a57Smrg# _LT_DECL_SED 711540dd5a57Smrg# ------------ 711640dd5a57Smrg# Check for a fully-functional sed program, that truncates 711740dd5a57Smrg# as few characters as possible. Prefer GNU sed if found. 711840dd5a57Smrgm4_defun([_LT_DECL_SED], 711940dd5a57Smrg[AC_PROG_SED 712040dd5a57Smrgtest -z "$SED" && SED=sed 712140dd5a57SmrgXsed="$SED -e 1s/^X//" 712240dd5a57Smrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 712340dd5a57Smrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 712440dd5a57Smrg [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 712540dd5a57Smrg])# _LT_DECL_SED 712640dd5a57Smrg 712740dd5a57Smrgm4_ifndef([AC_PROG_SED], [ 712840dd5a57Smrg# NOTE: This macro has been submitted for inclusion into # 712940dd5a57Smrg# GNU Autoconf as AC_PROG_SED. When it is available in # 713040dd5a57Smrg# a released version of Autoconf we should remove this # 713140dd5a57Smrg# macro and use it instead. # 713240dd5a57Smrg 713340dd5a57Smrgm4_defun([AC_PROG_SED], 713440dd5a57Smrg[AC_MSG_CHECKING([for a sed that does not truncate output]) 713540dd5a57SmrgAC_CACHE_VAL(lt_cv_path_SED, 713640dd5a57Smrg[# Loop through the user's path and test for sed and gsed. 713740dd5a57Smrg# Then use that list of sed's as ones to test for truncation. 713840dd5a57Smrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 713940dd5a57Smrgfor as_dir in $PATH 714040dd5a57Smrgdo 714140dd5a57Smrg IFS=$as_save_IFS 714240dd5a57Smrg test -z "$as_dir" && as_dir=. 714340dd5a57Smrg for lt_ac_prog in sed gsed; do 714440dd5a57Smrg for ac_exec_ext in '' $ac_executable_extensions; do 714540dd5a57Smrg if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then 714640dd5a57Smrg lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" 714740dd5a57Smrg fi 714840dd5a57Smrg done 714940dd5a57Smrg done 715040dd5a57Smrgdone 715140dd5a57SmrgIFS=$as_save_IFS 715240dd5a57Smrglt_ac_max=0 715340dd5a57Smrglt_ac_count=0 715440dd5a57Smrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris 715540dd5a57Smrg# along with /bin/sed that truncates output. 715640dd5a57Smrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do 715740dd5a57Smrg test ! -f $lt_ac_sed && continue 715840dd5a57Smrg cat /dev/null > conftest.in 715940dd5a57Smrg lt_ac_count=0 716040dd5a57Smrg echo $ECHO_N "0123456789$ECHO_C" >conftest.in 716140dd5a57Smrg # Check for GNU sed and select it if it is found. 716240dd5a57Smrg if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then 716340dd5a57Smrg lt_cv_path_SED=$lt_ac_sed 716440dd5a57Smrg break 716540dd5a57Smrg fi 716640dd5a57Smrg while true; do 716740dd5a57Smrg cat conftest.in conftest.in >conftest.tmp 716840dd5a57Smrg mv conftest.tmp conftest.in 716940dd5a57Smrg cp conftest.in conftest.nl 717040dd5a57Smrg echo >>conftest.nl 717140dd5a57Smrg $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break 717240dd5a57Smrg cmp -s conftest.out conftest.nl || break 717340dd5a57Smrg # 10000 chars as input seems more than enough 717440dd5a57Smrg test $lt_ac_count -gt 10 && break 717540dd5a57Smrg lt_ac_count=`expr $lt_ac_count + 1` 717640dd5a57Smrg if test $lt_ac_count -gt $lt_ac_max; then 717740dd5a57Smrg lt_ac_max=$lt_ac_count 717840dd5a57Smrg lt_cv_path_SED=$lt_ac_sed 717940dd5a57Smrg fi 718040dd5a57Smrg done 718140dd5a57Smrgdone 718240dd5a57Smrg]) 718340dd5a57SmrgSED=$lt_cv_path_SED 718440dd5a57SmrgAC_SUBST([SED]) 718540dd5a57SmrgAC_MSG_RESULT([$SED]) 718640dd5a57Smrg])#AC_PROG_SED 718740dd5a57Smrg])#m4_ifndef 718840dd5a57Smrg 718940dd5a57Smrg# Old name: 719040dd5a57SmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) 719140dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 719240dd5a57Smrgdnl AC_DEFUN([LT_AC_PROG_SED], []) 719340dd5a57Smrg 719440dd5a57Smrg 719540dd5a57Smrg# _LT_CHECK_SHELL_FEATURES 719640dd5a57Smrg# ------------------------ 719740dd5a57Smrg# Find out whether the shell is Bourne or XSI compatible, 719840dd5a57Smrg# or has some other useful features. 719940dd5a57Smrgm4_defun([_LT_CHECK_SHELL_FEATURES], 720040dd5a57Smrg[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) 720140dd5a57Smrg# Try some XSI features 720240dd5a57Smrgxsi_shell=no 720340dd5a57Smrg( _lt_dummy="a/b/c" 720440dd5a57Smrg test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ 720540dd5a57Smrg = c,a/b,, \ 720640dd5a57Smrg && eval 'test $(( 1 + 1 )) -eq 2 \ 720740dd5a57Smrg && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ 720840dd5a57Smrg && xsi_shell=yes 720940dd5a57SmrgAC_MSG_RESULT([$xsi_shell]) 721040dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) 721140dd5a57Smrg 721240dd5a57SmrgAC_MSG_CHECKING([whether the shell understands "+="]) 721340dd5a57Smrglt_shell_append=no 721440dd5a57Smrg( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ 721540dd5a57Smrg >/dev/null 2>&1 \ 721640dd5a57Smrg && lt_shell_append=yes 721740dd5a57SmrgAC_MSG_RESULT([$lt_shell_append]) 721840dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) 721940dd5a57Smrg 722040dd5a57Smrgif ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 722140dd5a57Smrg lt_unset=unset 722240dd5a57Smrgelse 722340dd5a57Smrg lt_unset=false 722440dd5a57Smrgfi 722540dd5a57Smrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 722640dd5a57Smrg 722740dd5a57Smrg# test EBCDIC or ASCII 722840dd5a57Smrgcase `echo X|tr X '\101'` in 722940dd5a57Smrg A) # ASCII based system 723040dd5a57Smrg # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 723140dd5a57Smrg lt_SP2NL='tr \040 \012' 723240dd5a57Smrg lt_NL2SP='tr \015\012 \040\040' 723340dd5a57Smrg ;; 723440dd5a57Smrg *) # EBCDIC based system 723540dd5a57Smrg lt_SP2NL='tr \100 \n' 723640dd5a57Smrg lt_NL2SP='tr \r\n \100\100' 723740dd5a57Smrg ;; 723840dd5a57Smrgesac 723940dd5a57Smrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 724040dd5a57Smrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 724140dd5a57Smrg])# _LT_CHECK_SHELL_FEATURES 724240dd5a57Smrg 724340dd5a57Smrg 724440dd5a57Smrg# _LT_PROG_XSI_SHELLFNS 724540dd5a57Smrg# --------------------- 724640dd5a57Smrg# Bourne and XSI compatible variants of some useful shell functions. 724740dd5a57Smrgm4_defun([_LT_PROG_XSI_SHELLFNS], 724840dd5a57Smrg[case $xsi_shell in 724940dd5a57Smrg yes) 725040dd5a57Smrg cat << \_LT_EOF >> "$cfgfile" 725140dd5a57Smrg 725240dd5a57Smrg# func_dirname file append nondir_replacement 725340dd5a57Smrg# Compute the dirname of FILE. If nonempty, add APPEND to the result, 725440dd5a57Smrg# otherwise set result to NONDIR_REPLACEMENT. 725540dd5a57Smrgfunc_dirname () 725640dd5a57Smrg{ 725740dd5a57Smrg case ${1} in 725840dd5a57Smrg */*) func_dirname_result="${1%/*}${2}" ;; 725940dd5a57Smrg * ) func_dirname_result="${3}" ;; 726040dd5a57Smrg esac 726140dd5a57Smrg} 726240dd5a57Smrg 726340dd5a57Smrg# func_basename file 726440dd5a57Smrgfunc_basename () 726540dd5a57Smrg{ 726640dd5a57Smrg func_basename_result="${1##*/}" 726740dd5a57Smrg} 726840dd5a57Smrg 726940dd5a57Smrg# func_dirname_and_basename file append nondir_replacement 727040dd5a57Smrg# perform func_basename and func_dirname in a single function 727140dd5a57Smrg# call: 727240dd5a57Smrg# dirname: Compute the dirname of FILE. If nonempty, 727340dd5a57Smrg# add APPEND to the result, otherwise set result 727440dd5a57Smrg# to NONDIR_REPLACEMENT. 727540dd5a57Smrg# value returned in "$func_dirname_result" 727640dd5a57Smrg# basename: Compute filename of FILE. 727740dd5a57Smrg# value retuned in "$func_basename_result" 727840dd5a57Smrg# Implementation must be kept synchronized with func_dirname 727940dd5a57Smrg# and func_basename. For efficiency, we do not delegate to 728040dd5a57Smrg# those functions but instead duplicate the functionality here. 728140dd5a57Smrgfunc_dirname_and_basename () 728240dd5a57Smrg{ 728340dd5a57Smrg case ${1} in 728440dd5a57Smrg */*) func_dirname_result="${1%/*}${2}" ;; 728540dd5a57Smrg * ) func_dirname_result="${3}" ;; 728640dd5a57Smrg esac 728740dd5a57Smrg func_basename_result="${1##*/}" 728840dd5a57Smrg} 728940dd5a57Smrg 729040dd5a57Smrg# func_stripname prefix suffix name 729140dd5a57Smrg# strip PREFIX and SUFFIX off of NAME. 729240dd5a57Smrg# PREFIX and SUFFIX must not contain globbing or regex special 729340dd5a57Smrg# characters, hashes, percent signs, but SUFFIX may contain a leading 729440dd5a57Smrg# dot (in which case that matches only a dot). 729540dd5a57Smrgfunc_stripname () 729640dd5a57Smrg{ 729740dd5a57Smrg # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are 729840dd5a57Smrg # positional parameters, so assign one to ordinary parameter first. 729940dd5a57Smrg func_stripname_result=${3} 730040dd5a57Smrg func_stripname_result=${func_stripname_result#"${1}"} 730140dd5a57Smrg func_stripname_result=${func_stripname_result%"${2}"} 730240dd5a57Smrg} 730340dd5a57Smrg 730440dd5a57Smrg# func_opt_split 730540dd5a57Smrgfunc_opt_split () 730640dd5a57Smrg{ 730740dd5a57Smrg func_opt_split_opt=${1%%=*} 730840dd5a57Smrg func_opt_split_arg=${1#*=} 730940dd5a57Smrg} 731040dd5a57Smrg 731140dd5a57Smrg# func_lo2o object 731240dd5a57Smrgfunc_lo2o () 731340dd5a57Smrg{ 731440dd5a57Smrg case ${1} in 731540dd5a57Smrg *.lo) func_lo2o_result=${1%.lo}.${objext} ;; 731640dd5a57Smrg *) func_lo2o_result=${1} ;; 731740dd5a57Smrg esac 731840dd5a57Smrg} 731940dd5a57Smrg 732040dd5a57Smrg# func_xform libobj-or-source 732140dd5a57Smrgfunc_xform () 732240dd5a57Smrg{ 732340dd5a57Smrg func_xform_result=${1%.*}.lo 732440dd5a57Smrg} 732540dd5a57Smrg 732640dd5a57Smrg# func_arith arithmetic-term... 732740dd5a57Smrgfunc_arith () 732840dd5a57Smrg{ 732940dd5a57Smrg func_arith_result=$(( $[*] )) 733040dd5a57Smrg} 733140dd5a57Smrg 733240dd5a57Smrg# func_len string 733340dd5a57Smrg# STRING may not start with a hyphen. 733440dd5a57Smrgfunc_len () 733540dd5a57Smrg{ 733640dd5a57Smrg func_len_result=${#1} 733740dd5a57Smrg} 733840dd5a57Smrg 733940dd5a57Smrg_LT_EOF 734040dd5a57Smrg ;; 734140dd5a57Smrg *) # Bourne compatible functions. 734240dd5a57Smrg cat << \_LT_EOF >> "$cfgfile" 734340dd5a57Smrg 734440dd5a57Smrg# func_dirname file append nondir_replacement 734540dd5a57Smrg# Compute the dirname of FILE. If nonempty, add APPEND to the result, 734640dd5a57Smrg# otherwise set result to NONDIR_REPLACEMENT. 734740dd5a57Smrgfunc_dirname () 734840dd5a57Smrg{ 734940dd5a57Smrg # Extract subdirectory from the argument. 735040dd5a57Smrg func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` 735140dd5a57Smrg if test "X$func_dirname_result" = "X${1}"; then 735240dd5a57Smrg func_dirname_result="${3}" 735340dd5a57Smrg else 735440dd5a57Smrg func_dirname_result="$func_dirname_result${2}" 735540dd5a57Smrg fi 735640dd5a57Smrg} 735740dd5a57Smrg 735840dd5a57Smrg# func_basename file 735940dd5a57Smrgfunc_basename () 736040dd5a57Smrg{ 736140dd5a57Smrg func_basename_result=`$ECHO "${1}" | $SED "$basename"` 736240dd5a57Smrg} 736340dd5a57Smrg 736440dd5a57Smrgdnl func_dirname_and_basename 736540dd5a57Smrgdnl A portable version of this function is already defined in general.m4sh 736640dd5a57Smrgdnl so there is no need for it here. 736740dd5a57Smrg 736840dd5a57Smrg# func_stripname prefix suffix name 736940dd5a57Smrg# strip PREFIX and SUFFIX off of NAME. 737040dd5a57Smrg# PREFIX and SUFFIX must not contain globbing or regex special 737140dd5a57Smrg# characters, hashes, percent signs, but SUFFIX may contain a leading 737240dd5a57Smrg# dot (in which case that matches only a dot). 737340dd5a57Smrg# func_strip_suffix prefix name 737440dd5a57Smrgfunc_stripname () 737540dd5a57Smrg{ 737640dd5a57Smrg case ${2} in 737740dd5a57Smrg .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; 737840dd5a57Smrg *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; 737940dd5a57Smrg esac 738040dd5a57Smrg} 738140dd5a57Smrg 738240dd5a57Smrg# sed scripts: 738340dd5a57Smrgmy_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' 738440dd5a57Smrgmy_sed_long_arg='1s/^-[[^=]]*=//' 738540dd5a57Smrg 738640dd5a57Smrg# func_opt_split 738740dd5a57Smrgfunc_opt_split () 738840dd5a57Smrg{ 738940dd5a57Smrg func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"` 739040dd5a57Smrg func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"` 739140dd5a57Smrg} 739240dd5a57Smrg 739340dd5a57Smrg# func_lo2o object 739440dd5a57Smrgfunc_lo2o () 739540dd5a57Smrg{ 739640dd5a57Smrg func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` 739740dd5a57Smrg} 739840dd5a57Smrg 739940dd5a57Smrg# func_xform libobj-or-source 740040dd5a57Smrgfunc_xform () 740140dd5a57Smrg{ 740240dd5a57Smrg func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'` 740340dd5a57Smrg} 740440dd5a57Smrg 740540dd5a57Smrg# func_arith arithmetic-term... 740640dd5a57Smrgfunc_arith () 740740dd5a57Smrg{ 740840dd5a57Smrg func_arith_result=`expr "$[@]"` 740940dd5a57Smrg} 741040dd5a57Smrg 741140dd5a57Smrg# func_len string 741240dd5a57Smrg# STRING may not start with a hyphen. 741340dd5a57Smrgfunc_len () 741440dd5a57Smrg{ 741540dd5a57Smrg func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` 741640dd5a57Smrg} 741740dd5a57Smrg 741840dd5a57Smrg_LT_EOF 741940dd5a57Smrgesac 742040dd5a57Smrg 742140dd5a57Smrgcase $lt_shell_append in 742240dd5a57Smrg yes) 742340dd5a57Smrg cat << \_LT_EOF >> "$cfgfile" 742440dd5a57Smrg 742540dd5a57Smrg# func_append var value 742640dd5a57Smrg# Append VALUE to the end of shell variable VAR. 742740dd5a57Smrgfunc_append () 742840dd5a57Smrg{ 742940dd5a57Smrg eval "$[1]+=\$[2]" 743040dd5a57Smrg} 743140dd5a57Smrg_LT_EOF 743240dd5a57Smrg ;; 743340dd5a57Smrg *) 743440dd5a57Smrg cat << \_LT_EOF >> "$cfgfile" 743540dd5a57Smrg 743640dd5a57Smrg# func_append var value 743740dd5a57Smrg# Append VALUE to the end of shell variable VAR. 743840dd5a57Smrgfunc_append () 743940dd5a57Smrg{ 744040dd5a57Smrg eval "$[1]=\$$[1]\$[2]" 744140dd5a57Smrg} 744240dd5a57Smrg 744340dd5a57Smrg_LT_EOF 744440dd5a57Smrg ;; 744540dd5a57Smrg esac 744640dd5a57Smrg]) 744740dd5a57Smrg 744840dd5a57Smrg# Helper functions for option handling. -*- Autoconf -*- 744940dd5a57Smrg# 745040dd5a57Smrg# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, 745140dd5a57Smrg# Inc. 745240dd5a57Smrg# Written by Gary V. Vaughan, 2004 745340dd5a57Smrg# 745440dd5a57Smrg# This file is free software; the Free Software Foundation gives 745540dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without 745640dd5a57Smrg# modifications, as long as this notice is preserved. 745740dd5a57Smrg 745840dd5a57Smrg# serial 7 ltoptions.m4 745940dd5a57Smrg 746040dd5a57Smrg# This is to help aclocal find these macros, as it can't see m4_define. 746140dd5a57SmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) 746240dd5a57Smrg 746340dd5a57Smrg 746440dd5a57Smrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) 746540dd5a57Smrg# ------------------------------------------ 746640dd5a57Smrgm4_define([_LT_MANGLE_OPTION], 746740dd5a57Smrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) 746840dd5a57Smrg 746940dd5a57Smrg 747040dd5a57Smrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) 747140dd5a57Smrg# --------------------------------------- 747240dd5a57Smrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a 747340dd5a57Smrg# matching handler defined, dispatch to it. Other OPTION-NAMEs are 747440dd5a57Smrg# saved as a flag. 747540dd5a57Smrgm4_define([_LT_SET_OPTION], 747640dd5a57Smrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl 747740dd5a57Smrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), 747840dd5a57Smrg _LT_MANGLE_DEFUN([$1], [$2]), 747940dd5a57Smrg [m4_warning([Unknown $1 option `$2'])])[]dnl 748040dd5a57Smrg]) 748140dd5a57Smrg 748240dd5a57Smrg 748340dd5a57Smrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) 748440dd5a57Smrg# ------------------------------------------------------------ 748540dd5a57Smrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. 748640dd5a57Smrgm4_define([_LT_IF_OPTION], 748740dd5a57Smrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) 748840dd5a57Smrg 748940dd5a57Smrg 749040dd5a57Smrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) 749140dd5a57Smrg# ------------------------------------------------------- 749240dd5a57Smrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME 749340dd5a57Smrg# are set. 749440dd5a57Smrgm4_define([_LT_UNLESS_OPTIONS], 749540dd5a57Smrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), 749640dd5a57Smrg [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), 749740dd5a57Smrg [m4_define([$0_found])])])[]dnl 749840dd5a57Smrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 749940dd5a57Smrg])[]dnl 750040dd5a57Smrg]) 750140dd5a57Smrg 750240dd5a57Smrg 750340dd5a57Smrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) 750440dd5a57Smrg# ---------------------------------------- 750540dd5a57Smrg# OPTION-LIST is a space-separated list of Libtool options associated 750640dd5a57Smrg# with MACRO-NAME. If any OPTION has a matching handler declared with 750740dd5a57Smrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about 750840dd5a57Smrg# the unknown option and exit. 750940dd5a57Smrgm4_defun([_LT_SET_OPTIONS], 751040dd5a57Smrg[# Set options 751140dd5a57Smrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])), 751240dd5a57Smrg [_LT_SET_OPTION([$1], _LT_Option)]) 751340dd5a57Smrg 751440dd5a57Smrgm4_if([$1],[LT_INIT],[ 751540dd5a57Smrg dnl 751640dd5a57Smrg dnl Simply set some default values (i.e off) if boolean options were not 751740dd5a57Smrg dnl specified: 751840dd5a57Smrg _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no 751940dd5a57Smrg ]) 752040dd5a57Smrg _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no 752140dd5a57Smrg ]) 752240dd5a57Smrg dnl 752340dd5a57Smrg dnl If no reference was made to various pairs of opposing options, then 752440dd5a57Smrg dnl we run the default mode handler for the pair. For example, if neither 752540dd5a57Smrg dnl `shared' nor `disable-shared' was passed, we enable building of shared 752640dd5a57Smrg dnl archives by default: 752740dd5a57Smrg _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) 752840dd5a57Smrg _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) 752940dd5a57Smrg _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) 753040dd5a57Smrg _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], 753140dd5a57Smrg [_LT_ENABLE_FAST_INSTALL]) 753240dd5a57Smrg ]) 753340dd5a57Smrg])# _LT_SET_OPTIONS 753440dd5a57Smrg 753540dd5a57Smrg 753640dd5a57Smrg 753740dd5a57Smrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) 753840dd5a57Smrg# ----------------------------------------- 753940dd5a57Smrgm4_define([_LT_MANGLE_DEFUN], 754040dd5a57Smrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) 754140dd5a57Smrg 754240dd5a57Smrg 754340dd5a57Smrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) 754440dd5a57Smrg# ----------------------------------------------- 754540dd5a57Smrgm4_define([LT_OPTION_DEFINE], 754640dd5a57Smrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl 754740dd5a57Smrg])# LT_OPTION_DEFINE 754840dd5a57Smrg 754940dd5a57Smrg 755040dd5a57Smrg# dlopen 755140dd5a57Smrg# ------ 755240dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes 755340dd5a57Smrg]) 755440dd5a57Smrg 755540dd5a57SmrgAU_DEFUN([AC_LIBTOOL_DLOPEN], 755640dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [dlopen]) 755740dd5a57SmrgAC_DIAGNOSE([obsolete], 755840dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you 755940dd5a57Smrgput the `dlopen' option into LT_INIT's first parameter.]) 756040dd5a57Smrg]) 756140dd5a57Smrg 756240dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 756340dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) 756440dd5a57Smrg 756540dd5a57Smrg 756640dd5a57Smrg# win32-dll 756740dd5a57Smrg# --------- 756840dd5a57Smrg# Declare package support for building win32 dll's. 756940dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll], 757040dd5a57Smrg[enable_win32_dll=yes 757140dd5a57Smrg 757240dd5a57Smrgcase $host in 757340dd5a57Smrg*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) 757440dd5a57Smrg AC_CHECK_TOOL(AS, as, false) 757540dd5a57Smrg AC_CHECK_TOOL(DLLTOOL, dlltool, false) 757640dd5a57Smrg AC_CHECK_TOOL(OBJDUMP, objdump, false) 757740dd5a57Smrg ;; 757840dd5a57Smrgesac 757940dd5a57Smrg 758040dd5a57Smrgtest -z "$AS" && AS=as 758140dd5a57Smrg_LT_DECL([], [AS], [1], [Assembler program])dnl 758240dd5a57Smrg 758340dd5a57Smrgtest -z "$DLLTOOL" && DLLTOOL=dlltool 758440dd5a57Smrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl 758540dd5a57Smrg 758640dd5a57Smrgtest -z "$OBJDUMP" && OBJDUMP=objdump 758740dd5a57Smrg_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl 758840dd5a57Smrg])# win32-dll 758940dd5a57Smrg 759040dd5a57SmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL], 759140dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl 759240dd5a57Smrg_LT_SET_OPTION([LT_INIT], [win32-dll]) 759340dd5a57SmrgAC_DIAGNOSE([obsolete], 759440dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you 759540dd5a57Smrgput the `win32-dll' option into LT_INIT's first parameter.]) 759640dd5a57Smrg]) 759740dd5a57Smrg 759840dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 759940dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) 760040dd5a57Smrg 760140dd5a57Smrg 760240dd5a57Smrg# _LT_ENABLE_SHARED([DEFAULT]) 760340dd5a57Smrg# ---------------------------- 760440dd5a57Smrg# implement the --enable-shared flag, and supports the `shared' and 760540dd5a57Smrg# `disable-shared' LT_INIT options. 760640dd5a57Smrg# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. 760740dd5a57Smrgm4_define([_LT_ENABLE_SHARED], 760840dd5a57Smrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl 760940dd5a57SmrgAC_ARG_ENABLE([shared], 761040dd5a57Smrg [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], 761140dd5a57Smrg [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], 761240dd5a57Smrg [p=${PACKAGE-default} 761340dd5a57Smrg case $enableval in 761440dd5a57Smrg yes) enable_shared=yes ;; 761540dd5a57Smrg no) enable_shared=no ;; 761640dd5a57Smrg *) 761740dd5a57Smrg enable_shared=no 761840dd5a57Smrg # Look at the argument we got. We use all the common list separators. 761940dd5a57Smrg lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," 762040dd5a57Smrg for pkg in $enableval; do 762140dd5a57Smrg IFS="$lt_save_ifs" 762240dd5a57Smrg if test "X$pkg" = "X$p"; then 762340dd5a57Smrg enable_shared=yes 762440dd5a57Smrg fi 762540dd5a57Smrg done 762640dd5a57Smrg IFS="$lt_save_ifs" 762740dd5a57Smrg ;; 762840dd5a57Smrg esac], 762940dd5a57Smrg [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) 763040dd5a57Smrg 763140dd5a57Smrg _LT_DECL([build_libtool_libs], [enable_shared], [0], 763240dd5a57Smrg [Whether or not to build shared libraries]) 763340dd5a57Smrg])# _LT_ENABLE_SHARED 763440dd5a57Smrg 763540dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) 763640dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) 763740dd5a57Smrg 763840dd5a57Smrg# Old names: 763940dd5a57SmrgAC_DEFUN([AC_ENABLE_SHARED], 764040dd5a57Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) 764140dd5a57Smrg]) 764240dd5a57Smrg 764340dd5a57SmrgAC_DEFUN([AC_DISABLE_SHARED], 764440dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [disable-shared]) 764540dd5a57Smrg]) 764640dd5a57Smrg 764740dd5a57SmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) 764840dd5a57SmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) 764940dd5a57Smrg 765040dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 765140dd5a57Smrgdnl AC_DEFUN([AM_ENABLE_SHARED], []) 765240dd5a57Smrgdnl AC_DEFUN([AM_DISABLE_SHARED], []) 765340dd5a57Smrg 765440dd5a57Smrg 765540dd5a57Smrg 765640dd5a57Smrg# _LT_ENABLE_STATIC([DEFAULT]) 765740dd5a57Smrg# ---------------------------- 765840dd5a57Smrg# implement the --enable-static flag, and support the `static' and 765940dd5a57Smrg# `disable-static' LT_INIT options. 766040dd5a57Smrg# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. 766140dd5a57Smrgm4_define([_LT_ENABLE_STATIC], 766240dd5a57Smrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl 766340dd5a57SmrgAC_ARG_ENABLE([static], 766440dd5a57Smrg [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], 766540dd5a57Smrg [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], 766640dd5a57Smrg [p=${PACKAGE-default} 766740dd5a57Smrg case $enableval in 766840dd5a57Smrg yes) enable_static=yes ;; 766940dd5a57Smrg no) enable_static=no ;; 767040dd5a57Smrg *) 767140dd5a57Smrg enable_static=no 767240dd5a57Smrg # Look at the argument we got. We use all the common list separators. 767340dd5a57Smrg lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," 767440dd5a57Smrg for pkg in $enableval; do 767540dd5a57Smrg IFS="$lt_save_ifs" 767640dd5a57Smrg if test "X$pkg" = "X$p"; then 767740dd5a57Smrg enable_static=yes 767840dd5a57Smrg fi 767940dd5a57Smrg done 768040dd5a57Smrg IFS="$lt_save_ifs" 768140dd5a57Smrg ;; 768240dd5a57Smrg esac], 768340dd5a57Smrg [enable_static=]_LT_ENABLE_STATIC_DEFAULT) 768440dd5a57Smrg 768540dd5a57Smrg _LT_DECL([build_old_libs], [enable_static], [0], 768640dd5a57Smrg [Whether or not to build static libraries]) 768740dd5a57Smrg])# _LT_ENABLE_STATIC 768840dd5a57Smrg 768940dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) 769040dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) 769140dd5a57Smrg 769240dd5a57Smrg# Old names: 769340dd5a57SmrgAC_DEFUN([AC_ENABLE_STATIC], 769440dd5a57Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) 769540dd5a57Smrg]) 769640dd5a57Smrg 769740dd5a57SmrgAC_DEFUN([AC_DISABLE_STATIC], 769840dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [disable-static]) 769940dd5a57Smrg]) 770040dd5a57Smrg 770140dd5a57SmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) 770240dd5a57SmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) 770340dd5a57Smrg 770440dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 770540dd5a57Smrgdnl AC_DEFUN([AM_ENABLE_STATIC], []) 770640dd5a57Smrgdnl AC_DEFUN([AM_DISABLE_STATIC], []) 770740dd5a57Smrg 770840dd5a57Smrg 770940dd5a57Smrg 771040dd5a57Smrg# _LT_ENABLE_FAST_INSTALL([DEFAULT]) 771140dd5a57Smrg# ---------------------------------- 771240dd5a57Smrg# implement the --enable-fast-install flag, and support the `fast-install' 771340dd5a57Smrg# and `disable-fast-install' LT_INIT options. 771440dd5a57Smrg# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. 771540dd5a57Smrgm4_define([_LT_ENABLE_FAST_INSTALL], 771640dd5a57Smrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl 771740dd5a57SmrgAC_ARG_ENABLE([fast-install], 771840dd5a57Smrg [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], 771940dd5a57Smrg [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], 772040dd5a57Smrg [p=${PACKAGE-default} 772140dd5a57Smrg case $enableval in 772240dd5a57Smrg yes) enable_fast_install=yes ;; 772340dd5a57Smrg no) enable_fast_install=no ;; 772440dd5a57Smrg *) 772540dd5a57Smrg enable_fast_install=no 772640dd5a57Smrg # Look at the argument we got. We use all the common list separators. 772740dd5a57Smrg lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," 772840dd5a57Smrg for pkg in $enableval; do 772940dd5a57Smrg IFS="$lt_save_ifs" 773040dd5a57Smrg if test "X$pkg" = "X$p"; then 773140dd5a57Smrg enable_fast_install=yes 773240dd5a57Smrg fi 773340dd5a57Smrg done 773440dd5a57Smrg IFS="$lt_save_ifs" 773540dd5a57Smrg ;; 773640dd5a57Smrg esac], 773740dd5a57Smrg [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) 773840dd5a57Smrg 773940dd5a57Smrg_LT_DECL([fast_install], [enable_fast_install], [0], 774040dd5a57Smrg [Whether or not to optimize for fast installation])dnl 774140dd5a57Smrg])# _LT_ENABLE_FAST_INSTALL 774240dd5a57Smrg 774340dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) 774440dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) 774540dd5a57Smrg 774640dd5a57Smrg# Old names: 774740dd5a57SmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL], 774840dd5a57Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) 774940dd5a57SmrgAC_DIAGNOSE([obsolete], 775040dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put 775140dd5a57Smrgthe `fast-install' option into LT_INIT's first parameter.]) 775240dd5a57Smrg]) 775340dd5a57Smrg 775440dd5a57SmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL], 775540dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) 775640dd5a57SmrgAC_DIAGNOSE([obsolete], 775740dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put 775840dd5a57Smrgthe `disable-fast-install' option into LT_INIT's first parameter.]) 775940dd5a57Smrg]) 776040dd5a57Smrg 776140dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 776240dd5a57Smrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) 776340dd5a57Smrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) 776440dd5a57Smrg 776540dd5a57Smrg 776640dd5a57Smrg# _LT_WITH_PIC([MODE]) 776740dd5a57Smrg# -------------------- 776840dd5a57Smrg# implement the --with-pic flag, and support the `pic-only' and `no-pic' 776940dd5a57Smrg# LT_INIT options. 777040dd5a57Smrg# MODE is either `yes' or `no'. If omitted, it defaults to `both'. 777140dd5a57Smrgm4_define([_LT_WITH_PIC], 777240dd5a57Smrg[AC_ARG_WITH([pic], 777340dd5a57Smrg [AS_HELP_STRING([--with-pic], 777440dd5a57Smrg [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], 777540dd5a57Smrg [pic_mode="$withval"], 777640dd5a57Smrg [pic_mode=default]) 777740dd5a57Smrg 777840dd5a57Smrgtest -z "$pic_mode" && pic_mode=m4_default([$1], [default]) 777940dd5a57Smrg 778040dd5a57Smrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl 778140dd5a57Smrg])# _LT_WITH_PIC 778240dd5a57Smrg 778340dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) 778440dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) 778540dd5a57Smrg 778640dd5a57Smrg# Old name: 778740dd5a57SmrgAU_DEFUN([AC_LIBTOOL_PICMODE], 778840dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [pic-only]) 778940dd5a57SmrgAC_DIAGNOSE([obsolete], 779040dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you 779140dd5a57Smrgput the `pic-only' option into LT_INIT's first parameter.]) 779240dd5a57Smrg]) 779340dd5a57Smrg 779440dd5a57Smrgdnl aclocal-1.4 backwards compatibility: 779540dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) 779640dd5a57Smrg 779740dd5a57Smrg 779840dd5a57Smrgm4_define([_LTDL_MODE], []) 779940dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], 780040dd5a57Smrg [m4_define([_LTDL_MODE], [nonrecursive])]) 780140dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive], 780240dd5a57Smrg [m4_define([_LTDL_MODE], [recursive])]) 780340dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject], 780440dd5a57Smrg [m4_define([_LTDL_MODE], [subproject])]) 780540dd5a57Smrg 780640dd5a57Smrgm4_define([_LTDL_TYPE], []) 780740dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [installable], 780840dd5a57Smrg [m4_define([_LTDL_TYPE], [installable])]) 780940dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience], 781040dd5a57Smrg [m4_define([_LTDL_TYPE], [convenience])]) 781140dd5a57Smrg 781240dd5a57Smrg# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- 781340dd5a57Smrg# 781440dd5a57Smrg# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. 781540dd5a57Smrg# Written by Gary V. Vaughan, 2004 781640dd5a57Smrg# 781740dd5a57Smrg# This file is free software; the Free Software Foundation gives 781840dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without 781940dd5a57Smrg# modifications, as long as this notice is preserved. 782040dd5a57Smrg 782140dd5a57Smrg# serial 6 ltsugar.m4 782240dd5a57Smrg 782340dd5a57Smrg# This is to help aclocal find these macros, as it can't see m4_define. 782440dd5a57SmrgAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) 782540dd5a57Smrg 782640dd5a57Smrg 782740dd5a57Smrg# lt_join(SEP, ARG1, [ARG2...]) 782840dd5a57Smrg# ----------------------------- 782940dd5a57Smrg# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their 783040dd5a57Smrg# associated separator. 783140dd5a57Smrg# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier 783240dd5a57Smrg# versions in m4sugar had bugs. 783340dd5a57Smrgm4_define([lt_join], 783440dd5a57Smrg[m4_if([$#], [1], [], 783540dd5a57Smrg [$#], [2], [[$2]], 783640dd5a57Smrg [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) 783740dd5a57Smrgm4_define([_lt_join], 783840dd5a57Smrg[m4_if([$#$2], [2], [], 783940dd5a57Smrg [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) 784040dd5a57Smrg 784140dd5a57Smrg 784240dd5a57Smrg# lt_car(LIST) 784340dd5a57Smrg# lt_cdr(LIST) 784440dd5a57Smrg# ------------ 784540dd5a57Smrg# Manipulate m4 lists. 784640dd5a57Smrg# These macros are necessary as long as will still need to support 784740dd5a57Smrg# Autoconf-2.59 which quotes differently. 784840dd5a57Smrgm4_define([lt_car], [[$1]]) 784940dd5a57Smrgm4_define([lt_cdr], 785040dd5a57Smrg[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], 785140dd5a57Smrg [$#], 1, [], 785240dd5a57Smrg [m4_dquote(m4_shift($@))])]) 785340dd5a57Smrgm4_define([lt_unquote], $1) 785440dd5a57Smrg 785540dd5a57Smrg 785640dd5a57Smrg# lt_append(MACRO-NAME, STRING, [SEPARATOR]) 785740dd5a57Smrg# ------------------------------------------ 785840dd5a57Smrg# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. 785940dd5a57Smrg# Note that neither SEPARATOR nor STRING are expanded; they are appended 786040dd5a57Smrg# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). 786140dd5a57Smrg# No SEPARATOR is output if MACRO-NAME was previously undefined (different 786240dd5a57Smrg# than defined and empty). 786340dd5a57Smrg# 786440dd5a57Smrg# This macro is needed until we can rely on Autoconf 2.62, since earlier 786540dd5a57Smrg# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. 786640dd5a57Smrgm4_define([lt_append], 786740dd5a57Smrg[m4_define([$1], 786840dd5a57Smrg m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) 786940dd5a57Smrg 787040dd5a57Smrg 787140dd5a57Smrg 787240dd5a57Smrg# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) 787340dd5a57Smrg# ---------------------------------------------------------- 787440dd5a57Smrg# Produce a SEP delimited list of all paired combinations of elements of 787540dd5a57Smrg# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list 787640dd5a57Smrg# has the form PREFIXmINFIXSUFFIXn. 787740dd5a57Smrg# Needed until we can rely on m4_combine added in Autoconf 2.62. 787840dd5a57Smrgm4_define([lt_combine], 787940dd5a57Smrg[m4_if(m4_eval([$# > 3]), [1], 788040dd5a57Smrg [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl 788140dd5a57Smrg[[m4_foreach([_Lt_prefix], [$2], 788240dd5a57Smrg [m4_foreach([_Lt_suffix], 788340dd5a57Smrg ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, 788440dd5a57Smrg [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) 788540dd5a57Smrg 788640dd5a57Smrg 788740dd5a57Smrg# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) 788840dd5a57Smrg# ----------------------------------------------------------------------- 788940dd5a57Smrg# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited 789040dd5a57Smrg# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. 789140dd5a57Smrgm4_define([lt_if_append_uniq], 789240dd5a57Smrg[m4_ifdef([$1], 789340dd5a57Smrg [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], 789440dd5a57Smrg [lt_append([$1], [$2], [$3])$4], 789540dd5a57Smrg [$5])], 789640dd5a57Smrg [lt_append([$1], [$2], [$3])$4])]) 789740dd5a57Smrg 789840dd5a57Smrg 789940dd5a57Smrg# lt_dict_add(DICT, KEY, VALUE) 790040dd5a57Smrg# ----------------------------- 790140dd5a57Smrgm4_define([lt_dict_add], 790240dd5a57Smrg[m4_define([$1($2)], [$3])]) 790340dd5a57Smrg 790440dd5a57Smrg 790540dd5a57Smrg# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) 790640dd5a57Smrg# -------------------------------------------- 790740dd5a57Smrgm4_define([lt_dict_add_subkey], 790840dd5a57Smrg[m4_define([$1($2:$3)], [$4])]) 790940dd5a57Smrg 791040dd5a57Smrg 791140dd5a57Smrg# lt_dict_fetch(DICT, KEY, [SUBKEY]) 791240dd5a57Smrg# ---------------------------------- 791340dd5a57Smrgm4_define([lt_dict_fetch], 791440dd5a57Smrg[m4_ifval([$3], 791540dd5a57Smrg m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), 791640dd5a57Smrg m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) 791740dd5a57Smrg 791840dd5a57Smrg 791940dd5a57Smrg# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) 792040dd5a57Smrg# ----------------------------------------------------------------- 792140dd5a57Smrgm4_define([lt_if_dict_fetch], 792240dd5a57Smrg[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], 792340dd5a57Smrg [$5], 792440dd5a57Smrg [$6])]) 792540dd5a57Smrg 792640dd5a57Smrg 792740dd5a57Smrg# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) 792840dd5a57Smrg# -------------------------------------------------------------- 792940dd5a57Smrgm4_define([lt_dict_filter], 793040dd5a57Smrg[m4_if([$5], [], [], 793140dd5a57Smrg [lt_join(m4_quote(m4_default([$4], [[, ]])), 793240dd5a57Smrg lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), 793340dd5a57Smrg [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl 793440dd5a57Smrg]) 793540dd5a57Smrg 793640dd5a57Smrg# ltversion.m4 -- version numbers -*- Autoconf -*- 793740dd5a57Smrg# 793840dd5a57Smrg# Copyright (C) 2004 Free Software Foundation, Inc. 793940dd5a57Smrg# Written by Scott James Remnant, 2004 794040dd5a57Smrg# 794140dd5a57Smrg# This file is free software; the Free Software Foundation gives 794240dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without 794340dd5a57Smrg# modifications, as long as this notice is preserved. 794440dd5a57Smrg 794540dd5a57Smrg# Generated from ltversion.in. 794640dd5a57Smrg 794740dd5a57Smrg# serial 3175 ltversion.m4 794840dd5a57Smrg# This file is part of GNU Libtool 794940dd5a57Smrg 795040dd5a57Smrgm4_define([LT_PACKAGE_VERSION], [2.2.10]) 795140dd5a57Smrgm4_define([LT_PACKAGE_REVISION], [1.3175]) 795240dd5a57Smrg 795340dd5a57SmrgAC_DEFUN([LTVERSION_VERSION], 795440dd5a57Smrg[macro_version='2.2.10' 795540dd5a57Smrgmacro_revision='1.3175' 795640dd5a57Smrg_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) 795740dd5a57Smrg_LT_DECL(, macro_revision, 0) 795840dd5a57Smrg]) 795940dd5a57Smrg 796040dd5a57Smrg# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- 796140dd5a57Smrg# 796240dd5a57Smrg# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. 796340dd5a57Smrg# Written by Scott James Remnant, 2004. 796440dd5a57Smrg# 796540dd5a57Smrg# This file is free software; the Free Software Foundation gives 796640dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without 796740dd5a57Smrg# modifications, as long as this notice is preserved. 796840dd5a57Smrg 796940dd5a57Smrg# serial 5 lt~obsolete.m4 797040dd5a57Smrg 797140dd5a57Smrg# These exist entirely to fool aclocal when bootstrapping libtool. 797240dd5a57Smrg# 797340dd5a57Smrg# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) 797440dd5a57Smrg# which have later been changed to m4_define as they aren't part of the 797540dd5a57Smrg# exported API, or moved to Autoconf or Automake where they belong. 797640dd5a57Smrg# 797740dd5a57Smrg# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN 797840dd5a57Smrg# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us 797940dd5a57Smrg# using a macro with the same name in our local m4/libtool.m4 it'll 798040dd5a57Smrg# pull the old libtool.m4 in (it doesn't see our shiny new m4_define 798140dd5a57Smrg# and doesn't know about Autoconf macros at all.) 798240dd5a57Smrg# 798340dd5a57Smrg# So we provide this file, which has a silly filename so it's always 798440dd5a57Smrg# included after everything else. This provides aclocal with the 798540dd5a57Smrg# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything 798640dd5a57Smrg# because those macros already exist, or will be overwritten later. 798740dd5a57Smrg# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 798840dd5a57Smrg# 798940dd5a57Smrg# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. 799040dd5a57Smrg# Yes, that means every name once taken will need to remain here until 799140dd5a57Smrg# we give up compatibility with versions before 1.7, at which point 799240dd5a57Smrg# we need to keep only those names which we still refer to. 799340dd5a57Smrg 799440dd5a57Smrg# This is to help aclocal find these macros, as it can't see m4_define. 799540dd5a57SmrgAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) 799640dd5a57Smrg 799740dd5a57Smrgm4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) 799840dd5a57Smrgm4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) 799940dd5a57Smrgm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) 800040dd5a57Smrgm4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) 800140dd5a57Smrgm4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) 800240dd5a57Smrgm4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) 800340dd5a57Smrgm4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) 800440dd5a57Smrgm4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) 800540dd5a57Smrgm4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) 800640dd5a57Smrgm4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) 800740dd5a57Smrgm4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) 800840dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) 800940dd5a57Smrgm4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) 801040dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) 801140dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) 801240dd5a57Smrgm4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) 801340dd5a57Smrgm4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) 801440dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) 801540dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) 801640dd5a57Smrgm4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) 801740dd5a57Smrgm4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) 801840dd5a57Smrgm4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) 801940dd5a57Smrgm4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) 802040dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) 802140dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) 802240dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) 802340dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) 802440dd5a57Smrgm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) 802540dd5a57Smrgm4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) 802640dd5a57Smrgm4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) 802740dd5a57Smrgm4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) 802840dd5a57Smrgm4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) 802940dd5a57Smrgm4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) 803040dd5a57Smrgm4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) 803140dd5a57Smrgm4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) 803240dd5a57Smrgm4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) 803340dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) 803440dd5a57Smrgm4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) 803540dd5a57Smrgm4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) 803640dd5a57Smrgm4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) 803740dd5a57Smrgm4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) 803840dd5a57Smrgm4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) 803940dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) 804040dd5a57Smrgm4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) 804140dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) 804240dd5a57Smrgm4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) 804340dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) 804440dd5a57Smrgm4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) 804540dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) 804640dd5a57Smrgm4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) 804740dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) 804840dd5a57Smrgm4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) 804940dd5a57Smrgm4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) 805040dd5a57Smrgm4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) 805140dd5a57Smrgm4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) 805240dd5a57Smrgm4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) 805340dd5a57Smrgm4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) 805440dd5a57Smrgm4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) 805540dd5a57Smrgm4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) 805640dd5a57Smrgm4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) 805740dd5a57Smrgm4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) 805840dd5a57Smrg 805940dd5a57Smrg# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- 806040dd5a57Smrg# serial 1 (pkg-config-0.24) 806140dd5a57Smrg# 806240dd5a57Smrg# Copyright © 2004 Scott James Remnant <scott@netsplit.com>. 806340dd5a57Smrg# 806440dd5a57Smrg# This program is free software; you can redistribute it and/or modify 806540dd5a57Smrg# it under the terms of the GNU General Public License as published by 806640dd5a57Smrg# the Free Software Foundation; either version 2 of the License, or 806740dd5a57Smrg# (at your option) any later version. 806840dd5a57Smrg# 806940dd5a57Smrg# This program is distributed in the hope that it will be useful, but 807040dd5a57Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 807140dd5a57Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 807240dd5a57Smrg# General Public License for more details. 807340dd5a57Smrg# 807440dd5a57Smrg# You should have received a copy of the GNU General Public License 807540dd5a57Smrg# along with this program; if not, write to the Free Software 807640dd5a57Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 807740dd5a57Smrg# 807840dd5a57Smrg# As a special exception to the GNU General Public License, if you 807940dd5a57Smrg# distribute this file as part of a program that contains a 808040dd5a57Smrg# configuration script generated by Autoconf, you may include it under 808140dd5a57Smrg# the same distribution terms that you use for the rest of that program. 808240dd5a57Smrg 808340dd5a57Smrg# PKG_PROG_PKG_CONFIG([MIN-VERSION]) 808440dd5a57Smrg# ---------------------------------- 808540dd5a57SmrgAC_DEFUN([PKG_PROG_PKG_CONFIG], 808640dd5a57Smrg[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) 808740dd5a57Smrgm4_pattern_allow([^PKG_CONFIG(_PATH)?$]) 808840dd5a57SmrgAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) 808940dd5a57SmrgAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) 809040dd5a57SmrgAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) 809140dd5a57Smrg 809240dd5a57Smrgif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then 809340dd5a57Smrg AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) 809440dd5a57Smrgfi 809540dd5a57Smrgif test -n "$PKG_CONFIG"; then 809640dd5a57Smrg _pkg_min_version=m4_default([$1], [0.9.0]) 809740dd5a57Smrg AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) 809840dd5a57Smrg if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then 809940dd5a57Smrg AC_MSG_RESULT([yes]) 810040dd5a57Smrg else 810140dd5a57Smrg AC_MSG_RESULT([no]) 810240dd5a57Smrg PKG_CONFIG="" 810340dd5a57Smrg fi 810440dd5a57Smrgfi[]dnl 810540dd5a57Smrg])# PKG_PROG_PKG_CONFIG 810640dd5a57Smrg 810740dd5a57Smrg# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 810840dd5a57Smrg# 810940dd5a57Smrg# Check to see whether a particular set of modules exists. Similar 811040dd5a57Smrg# to PKG_CHECK_MODULES(), but does not set variables or print errors. 811140dd5a57Smrg# 811240dd5a57Smrg# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 811340dd5a57Smrg# only at the first occurence in configure.ac, so if the first place 811440dd5a57Smrg# it's called might be skipped (such as if it is within an "if", you 811540dd5a57Smrg# have to call PKG_CHECK_EXISTS manually 811640dd5a57Smrg# -------------------------------------------------------------- 811740dd5a57SmrgAC_DEFUN([PKG_CHECK_EXISTS], 811840dd5a57Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 811940dd5a57Smrgif test -n "$PKG_CONFIG" && \ 812040dd5a57Smrg AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then 812140dd5a57Smrg m4_default([$2], [:]) 812240dd5a57Smrgm4_ifvaln([$3], [else 812340dd5a57Smrg $3])dnl 812440dd5a57Smrgfi]) 812540dd5a57Smrg 812640dd5a57Smrg# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) 812740dd5a57Smrg# --------------------------------------------- 812840dd5a57Smrgm4_define([_PKG_CONFIG], 812940dd5a57Smrg[if test -n "$$1"; then 813040dd5a57Smrg pkg_cv_[]$1="$$1" 813140dd5a57Smrg elif test -n "$PKG_CONFIG"; then 813240dd5a57Smrg PKG_CHECK_EXISTS([$3], 813340dd5a57Smrg [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], 813440dd5a57Smrg [pkg_failed=yes]) 813540dd5a57Smrg else 813640dd5a57Smrg pkg_failed=untried 813740dd5a57Smrgfi[]dnl 813840dd5a57Smrg])# _PKG_CONFIG 813940dd5a57Smrg 814040dd5a57Smrg# _PKG_SHORT_ERRORS_SUPPORTED 814140dd5a57Smrg# ----------------------------- 814240dd5a57SmrgAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], 814340dd5a57Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) 814440dd5a57Smrgif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then 814540dd5a57Smrg _pkg_short_errors_supported=yes 814640dd5a57Smrgelse 814740dd5a57Smrg _pkg_short_errors_supported=no 814840dd5a57Smrgfi[]dnl 814940dd5a57Smrg])# _PKG_SHORT_ERRORS_SUPPORTED 815040dd5a57Smrg 815140dd5a57Smrg 815240dd5a57Smrg# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], 815340dd5a57Smrg# [ACTION-IF-NOT-FOUND]) 815440dd5a57Smrg# 815540dd5a57Smrg# 815640dd5a57Smrg# Note that if there is a possibility the first call to 815740dd5a57Smrg# PKG_CHECK_MODULES might not happen, you should be sure to include an 815840dd5a57Smrg# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac 815940dd5a57Smrg# 816040dd5a57Smrg# 816140dd5a57Smrg# -------------------------------------------------------------- 816240dd5a57SmrgAC_DEFUN([PKG_CHECK_MODULES], 816340dd5a57Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl 816440dd5a57SmrgAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl 816540dd5a57SmrgAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl 816640dd5a57Smrg 816740dd5a57Smrgpkg_failed=no 816840dd5a57SmrgAC_MSG_CHECKING([for $1]) 816940dd5a57Smrg 817040dd5a57Smrg_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) 817140dd5a57Smrg_PKG_CONFIG([$1][_LIBS], [libs], [$2]) 817240dd5a57Smrg 817340dd5a57Smrgm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS 817440dd5a57Smrgand $1[]_LIBS to avoid the need to call pkg-config. 817540dd5a57SmrgSee the pkg-config man page for more details.]) 817640dd5a57Smrg 817740dd5a57Smrgif test $pkg_failed = yes; then 817840dd5a57Smrg AC_MSG_RESULT([no]) 817940dd5a57Smrg _PKG_SHORT_ERRORS_SUPPORTED 818040dd5a57Smrg if test $_pkg_short_errors_supported = yes; then 818140dd5a57Smrg $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` 818240dd5a57Smrg else 818340dd5a57Smrg $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` 818440dd5a57Smrg fi 818540dd5a57Smrg # Put the nasty error message in config.log where it belongs 818640dd5a57Smrg echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD 818740dd5a57Smrg 818840dd5a57Smrg m4_default([$4], [AC_MSG_ERROR( 818940dd5a57Smrg[Package requirements ($2) were not met: 819040dd5a57Smrg 819140dd5a57Smrg$$1_PKG_ERRORS 819240dd5a57Smrg 819340dd5a57SmrgConsider adjusting the PKG_CONFIG_PATH environment variable if you 819440dd5a57Smrginstalled software in a non-standard prefix. 819540dd5a57Smrg 819640dd5a57Smrg_PKG_TEXT]) 819740dd5a57Smrg ]) 819840dd5a57Smrgelif test $pkg_failed = untried; then 819940dd5a57Smrg AC_MSG_RESULT([no]) 820040dd5a57Smrg m4_default([$4], [AC_MSG_FAILURE( 820140dd5a57Smrg[The pkg-config script could not be found or is too old. Make sure it 820240dd5a57Smrgis in your PATH or set the PKG_CONFIG environment variable to the full 820340dd5a57Smrgpath to pkg-config. 820440dd5a57Smrg 820540dd5a57Smrg_PKG_TEXT 820640dd5a57Smrg 820740dd5a57SmrgTo get pkg-config, see <http://pkg-config.freedesktop.org/>.]) 820840dd5a57Smrg ]) 820940dd5a57Smrgelse 821040dd5a57Smrg $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS 821140dd5a57Smrg $1[]_LIBS=$pkg_cv_[]$1[]_LIBS 821240dd5a57Smrg AC_MSG_RESULT([yes]) 821340dd5a57Smrg $3 821440dd5a57Smrgfi[]dnl 821540dd5a57Smrg])# PKG_CHECK_MODULES 821640dd5a57Smrg 821740dd5a57Smrg# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 821840dd5a57Smrg# 821940dd5a57Smrg# This file is free software; the Free Software Foundation 822040dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 822140dd5a57Smrg# with or without modifications, as long as this notice is preserved. 822240dd5a57Smrg 822340dd5a57Smrg# AM_AUTOMAKE_VERSION(VERSION) 822440dd5a57Smrg# ---------------------------- 822540dd5a57Smrg# Automake X.Y traces this macro to ensure aclocal.m4 has been 822640dd5a57Smrg# generated from the m4 files accompanying Automake X.Y. 822740dd5a57Smrg# (This private macro should not be called outside this file.) 822840dd5a57SmrgAC_DEFUN([AM_AUTOMAKE_VERSION], 822940dd5a57Smrg[am__api_version='1.11' 823040dd5a57Smrgdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to 823140dd5a57Smrgdnl require some minimum version. Point them to the right macro. 823240dd5a57Smrgm4_if([$1], [1.11.1], [], 823340dd5a57Smrg [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl 823440dd5a57Smrg]) 823540dd5a57Smrg 823640dd5a57Smrg# _AM_AUTOCONF_VERSION(VERSION) 823740dd5a57Smrg# ----------------------------- 823840dd5a57Smrg# aclocal traces this macro to find the Autoconf version. 823940dd5a57Smrg# This is a private macro too. Using m4_define simplifies 824040dd5a57Smrg# the logic in aclocal, which can simply ignore this definition. 824140dd5a57Smrgm4_define([_AM_AUTOCONF_VERSION], []) 824240dd5a57Smrg 824340dd5a57Smrg# AM_SET_CURRENT_AUTOMAKE_VERSION 824440dd5a57Smrg# ------------------------------- 824540dd5a57Smrg# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. 824640dd5a57Smrg# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. 824740dd5a57SmrgAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], 824840dd5a57Smrg[AM_AUTOMAKE_VERSION([1.11.1])dnl 824940dd5a57Smrgm4_ifndef([AC_AUTOCONF_VERSION], 825040dd5a57Smrg [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl 825140dd5a57Smrg_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) 825240dd5a57Smrg 825340dd5a57Smrg# AM_AUX_DIR_EXPAND -*- Autoconf -*- 825440dd5a57Smrg 825540dd5a57Smrg# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. 825640dd5a57Smrg# 825740dd5a57Smrg# This file is free software; the Free Software Foundation 825840dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 825940dd5a57Smrg# with or without modifications, as long as this notice is preserved. 826040dd5a57Smrg 826140dd5a57Smrg# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets 826240dd5a57Smrg# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to 826340dd5a57Smrg# `$srcdir', `$srcdir/..', or `$srcdir/../..'. 826440dd5a57Smrg# 826540dd5a57Smrg# Of course, Automake must honor this variable whenever it calls a 826640dd5a57Smrg# tool from the auxiliary directory. The problem is that $srcdir (and 826740dd5a57Smrg# therefore $ac_aux_dir as well) can be either absolute or relative, 826840dd5a57Smrg# depending on how configure is run. This is pretty annoying, since 826940dd5a57Smrg# it makes $ac_aux_dir quite unusable in subdirectories: in the top 827040dd5a57Smrg# source directory, any form will work fine, but in subdirectories a 827140dd5a57Smrg# relative path needs to be adjusted first. 827240dd5a57Smrg# 827340dd5a57Smrg# $ac_aux_dir/missing 827440dd5a57Smrg# fails when called from a subdirectory if $ac_aux_dir is relative 827540dd5a57Smrg# $top_srcdir/$ac_aux_dir/missing 827640dd5a57Smrg# fails if $ac_aux_dir is absolute, 827740dd5a57Smrg# fails when called from a subdirectory in a VPATH build with 827840dd5a57Smrg# a relative $ac_aux_dir 827940dd5a57Smrg# 828040dd5a57Smrg# The reason of the latter failure is that $top_srcdir and $ac_aux_dir 828140dd5a57Smrg# are both prefixed by $srcdir. In an in-source build this is usually 828240dd5a57Smrg# harmless because $srcdir is `.', but things will broke when you 828340dd5a57Smrg# start a VPATH build or use an absolute $srcdir. 828440dd5a57Smrg# 828540dd5a57Smrg# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, 828640dd5a57Smrg# iff we strip the leading $srcdir from $ac_aux_dir. That would be: 828740dd5a57Smrg# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` 828840dd5a57Smrg# and then we would define $MISSING as 828940dd5a57Smrg# MISSING="\${SHELL} $am_aux_dir/missing" 829040dd5a57Smrg# This will work as long as MISSING is not called from configure, because 829140dd5a57Smrg# unfortunately $(top_srcdir) has no meaning in configure. 829240dd5a57Smrg# However there are other variables, like CC, which are often used in 829340dd5a57Smrg# configure, and could therefore not use this "fixed" $ac_aux_dir. 829440dd5a57Smrg# 829540dd5a57Smrg# Another solution, used here, is to always expand $ac_aux_dir to an 829640dd5a57Smrg# absolute PATH. The drawback is that using absolute paths prevent a 829740dd5a57Smrg# configured tree to be moved without reconfiguration. 829840dd5a57Smrg 829940dd5a57SmrgAC_DEFUN([AM_AUX_DIR_EXPAND], 830040dd5a57Smrg[dnl Rely on autoconf to set up CDPATH properly. 830140dd5a57SmrgAC_PREREQ([2.50])dnl 830240dd5a57Smrg# expand $ac_aux_dir to an absolute path 830340dd5a57Smrgam_aux_dir=`cd $ac_aux_dir && pwd` 830440dd5a57Smrg]) 830540dd5a57Smrg 830640dd5a57Smrg# AM_CONDITIONAL -*- Autoconf -*- 830740dd5a57Smrg 830840dd5a57Smrg# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 830940dd5a57Smrg# Free Software Foundation, Inc. 831040dd5a57Smrg# 831140dd5a57Smrg# This file is free software; the Free Software Foundation 831240dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 831340dd5a57Smrg# with or without modifications, as long as this notice is preserved. 831440dd5a57Smrg 831540dd5a57Smrg# serial 9 831640dd5a57Smrg 831740dd5a57Smrg# AM_CONDITIONAL(NAME, SHELL-CONDITION) 831840dd5a57Smrg# ------------------------------------- 831940dd5a57Smrg# Define a conditional. 832040dd5a57SmrgAC_DEFUN([AM_CONDITIONAL], 832140dd5a57Smrg[AC_PREREQ(2.52)dnl 832240dd5a57Smrg ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], 832340dd5a57Smrg [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl 832440dd5a57SmrgAC_SUBST([$1_TRUE])dnl 832540dd5a57SmrgAC_SUBST([$1_FALSE])dnl 832640dd5a57Smrg_AM_SUBST_NOTMAKE([$1_TRUE])dnl 832740dd5a57Smrg_AM_SUBST_NOTMAKE([$1_FALSE])dnl 832840dd5a57Smrgm4_define([_AM_COND_VALUE_$1], [$2])dnl 832940dd5a57Smrgif $2; then 833040dd5a57Smrg $1_TRUE= 833140dd5a57Smrg $1_FALSE='#' 833240dd5a57Smrgelse 833340dd5a57Smrg $1_TRUE='#' 833440dd5a57Smrg $1_FALSE= 833540dd5a57Smrgfi 833640dd5a57SmrgAC_CONFIG_COMMANDS_PRE( 833740dd5a57Smrg[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then 833840dd5a57Smrg AC_MSG_ERROR([[conditional "$1" was never defined. 833940dd5a57SmrgUsually this means the macro was only invoked conditionally.]]) 834040dd5a57Smrgfi])]) 834140dd5a57Smrg 834240dd5a57Smrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 834340dd5a57Smrg# Free Software Foundation, Inc. 834440dd5a57Smrg# 834540dd5a57Smrg# This file is free software; the Free Software Foundation 834640dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 834740dd5a57Smrg# with or without modifications, as long as this notice is preserved. 834840dd5a57Smrg 834940dd5a57Smrg# serial 10 835040dd5a57Smrg 835140dd5a57Smrg# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be 835240dd5a57Smrg# written in clear, in which case automake, when reading aclocal.m4, 835340dd5a57Smrg# will think it sees a *use*, and therefore will trigger all it's 835440dd5a57Smrg# C support machinery. Also note that it means that autoscan, seeing 835540dd5a57Smrg# CC etc. in the Makefile, will ask for an AC_PROG_CC use... 835640dd5a57Smrg 835740dd5a57Smrg 835840dd5a57Smrg# _AM_DEPENDENCIES(NAME) 835940dd5a57Smrg# ---------------------- 836040dd5a57Smrg# See how the compiler implements dependency checking. 836140dd5a57Smrg# NAME is "CC", "CXX", "GCJ", or "OBJC". 836240dd5a57Smrg# We try a few techniques and use that to set a single cache variable. 836340dd5a57Smrg# 836440dd5a57Smrg# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was 836540dd5a57Smrg# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular 836640dd5a57Smrg# dependency, and given that the user is not expected to run this macro, 836740dd5a57Smrg# just rely on AC_PROG_CC. 836840dd5a57SmrgAC_DEFUN([_AM_DEPENDENCIES], 836940dd5a57Smrg[AC_REQUIRE([AM_SET_DEPDIR])dnl 837040dd5a57SmrgAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl 837140dd5a57SmrgAC_REQUIRE([AM_MAKE_INCLUDE])dnl 837240dd5a57SmrgAC_REQUIRE([AM_DEP_TRACK])dnl 837340dd5a57Smrg 837440dd5a57Smrgifelse([$1], CC, [depcc="$CC" am_compiler_list=], 837540dd5a57Smrg [$1], CXX, [depcc="$CXX" am_compiler_list=], 837640dd5a57Smrg [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], 837740dd5a57Smrg [$1], UPC, [depcc="$UPC" am_compiler_list=], 837840dd5a57Smrg [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], 837940dd5a57Smrg [depcc="$$1" am_compiler_list=]) 838040dd5a57Smrg 838140dd5a57SmrgAC_CACHE_CHECK([dependency style of $depcc], 838240dd5a57Smrg [am_cv_$1_dependencies_compiler_type], 838340dd5a57Smrg[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then 838440dd5a57Smrg # We make a subdir and do the tests there. Otherwise we can end up 838540dd5a57Smrg # making bogus files that we don't know about and never remove. For 838640dd5a57Smrg # instance it was reported that on HP-UX the gcc test will end up 838740dd5a57Smrg # making a dummy file named `D' -- because `-MD' means `put the output 838840dd5a57Smrg # in D'. 838940dd5a57Smrg mkdir conftest.dir 839040dd5a57Smrg # Copy depcomp to subdir because otherwise we won't find it if we're 839140dd5a57Smrg # using a relative directory. 839240dd5a57Smrg cp "$am_depcomp" conftest.dir 839340dd5a57Smrg cd conftest.dir 839440dd5a57Smrg # We will build objects and dependencies in a subdirectory because 839540dd5a57Smrg # it helps to detect inapplicable dependency modes. For instance 839640dd5a57Smrg # both Tru64's cc and ICC support -MD to output dependencies as a 839740dd5a57Smrg # side effect of compilation, but ICC will put the dependencies in 839840dd5a57Smrg # the current directory while Tru64 will put them in the object 839940dd5a57Smrg # directory. 840040dd5a57Smrg mkdir sub 840140dd5a57Smrg 840240dd5a57Smrg am_cv_$1_dependencies_compiler_type=none 840340dd5a57Smrg if test "$am_compiler_list" = ""; then 840440dd5a57Smrg am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` 840540dd5a57Smrg fi 840640dd5a57Smrg am__universal=false 840740dd5a57Smrg m4_case([$1], [CC], 840840dd5a57Smrg [case " $depcc " in #( 840940dd5a57Smrg *\ -arch\ *\ -arch\ *) am__universal=true ;; 841040dd5a57Smrg esac], 841140dd5a57Smrg [CXX], 841240dd5a57Smrg [case " $depcc " in #( 841340dd5a57Smrg *\ -arch\ *\ -arch\ *) am__universal=true ;; 841440dd5a57Smrg esac]) 841540dd5a57Smrg 841640dd5a57Smrg for depmode in $am_compiler_list; do 841740dd5a57Smrg # Setup a source with many dependencies, because some compilers 841840dd5a57Smrg # like to wrap large dependency lists on column 80 (with \), and 841940dd5a57Smrg # we should not choose a depcomp mode which is confused by this. 842040dd5a57Smrg # 842140dd5a57Smrg # We need to recreate these files for each test, as the compiler may 842240dd5a57Smrg # overwrite some of them when testing with obscure command lines. 842340dd5a57Smrg # This happens at least with the AIX C compiler. 842440dd5a57Smrg : > sub/conftest.c 842540dd5a57Smrg for i in 1 2 3 4 5 6; do 842640dd5a57Smrg echo '#include "conftst'$i'.h"' >> sub/conftest.c 842740dd5a57Smrg # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with 842840dd5a57Smrg # Solaris 8's {/usr,}/bin/sh. 842940dd5a57Smrg touch sub/conftst$i.h 843040dd5a57Smrg done 843140dd5a57Smrg echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf 843240dd5a57Smrg 843340dd5a57Smrg # We check with `-c' and `-o' for the sake of the "dashmstdout" 843440dd5a57Smrg # mode. It turns out that the SunPro C++ compiler does not properly 843540dd5a57Smrg # handle `-M -o', and we need to detect this. Also, some Intel 843640dd5a57Smrg # versions had trouble with output in subdirs 843740dd5a57Smrg am__obj=sub/conftest.${OBJEXT-o} 843840dd5a57Smrg am__minus_obj="-o $am__obj" 843940dd5a57Smrg case $depmode in 844040dd5a57Smrg gcc) 844140dd5a57Smrg # This depmode causes a compiler race in universal mode. 844240dd5a57Smrg test "$am__universal" = false || continue 844340dd5a57Smrg ;; 844440dd5a57Smrg nosideeffect) 844540dd5a57Smrg # after this tag, mechanisms are not by side-effect, so they'll 844640dd5a57Smrg # only be used when explicitly requested 844740dd5a57Smrg if test "x$enable_dependency_tracking" = xyes; then 844840dd5a57Smrg continue 844940dd5a57Smrg else 845040dd5a57Smrg break 845140dd5a57Smrg fi 845240dd5a57Smrg ;; 845340dd5a57Smrg msvisualcpp | msvcmsys) 845440dd5a57Smrg # This compiler won't grok `-c -o', but also, the minuso test has 845540dd5a57Smrg # not run yet. These depmodes are late enough in the game, and 845640dd5a57Smrg # so weak that their functioning should not be impacted. 845740dd5a57Smrg am__obj=conftest.${OBJEXT-o} 845840dd5a57Smrg am__minus_obj= 845940dd5a57Smrg ;; 846040dd5a57Smrg none) break ;; 846140dd5a57Smrg esac 846240dd5a57Smrg if depmode=$depmode \ 846340dd5a57Smrg source=sub/conftest.c object=$am__obj \ 846440dd5a57Smrg depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ 846540dd5a57Smrg $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ 846640dd5a57Smrg >/dev/null 2>conftest.err && 846740dd5a57Smrg grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && 846840dd5a57Smrg grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && 846940dd5a57Smrg grep $am__obj sub/conftest.Po > /dev/null 2>&1 && 847040dd5a57Smrg ${MAKE-make} -s -f confmf > /dev/null 2>&1; then 847140dd5a57Smrg # icc doesn't choke on unknown options, it will just issue warnings 847240dd5a57Smrg # or remarks (even with -Werror). So we grep stderr for any message 847340dd5a57Smrg # that says an option was ignored or not supported. 847440dd5a57Smrg # When given -MP, icc 7.0 and 7.1 complain thusly: 847540dd5a57Smrg # icc: Command line warning: ignoring option '-M'; no argument required 847640dd5a57Smrg # The diagnosis changed in icc 8.0: 847740dd5a57Smrg # icc: Command line remark: option '-MP' not supported 847840dd5a57Smrg if (grep 'ignoring option' conftest.err || 847940dd5a57Smrg grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else 848040dd5a57Smrg am_cv_$1_dependencies_compiler_type=$depmode 848140dd5a57Smrg break 848240dd5a57Smrg fi 848340dd5a57Smrg fi 848440dd5a57Smrg done 848540dd5a57Smrg 848640dd5a57Smrg cd .. 848740dd5a57Smrg rm -rf conftest.dir 848840dd5a57Smrgelse 848940dd5a57Smrg am_cv_$1_dependencies_compiler_type=none 849040dd5a57Smrgfi 849140dd5a57Smrg]) 849240dd5a57SmrgAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) 849340dd5a57SmrgAM_CONDITIONAL([am__fastdep$1], [ 849440dd5a57Smrg test "x$enable_dependency_tracking" != xno \ 849540dd5a57Smrg && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) 849640dd5a57Smrg]) 849740dd5a57Smrg 849840dd5a57Smrg 849940dd5a57Smrg# AM_SET_DEPDIR 850040dd5a57Smrg# ------------- 850140dd5a57Smrg# Choose a directory name for dependency files. 850240dd5a57Smrg# This macro is AC_REQUIREd in _AM_DEPENDENCIES 850340dd5a57SmrgAC_DEFUN([AM_SET_DEPDIR], 850440dd5a57Smrg[AC_REQUIRE([AM_SET_LEADING_DOT])dnl 850540dd5a57SmrgAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl 850640dd5a57Smrg]) 850740dd5a57Smrg 850840dd5a57Smrg 850940dd5a57Smrg# AM_DEP_TRACK 851040dd5a57Smrg# ------------ 851140dd5a57SmrgAC_DEFUN([AM_DEP_TRACK], 851240dd5a57Smrg[AC_ARG_ENABLE(dependency-tracking, 851340dd5a57Smrg[ --disable-dependency-tracking speeds up one-time build 851440dd5a57Smrg --enable-dependency-tracking do not reject slow dependency extractors]) 851540dd5a57Smrgif test "x$enable_dependency_tracking" != xno; then 851640dd5a57Smrg am_depcomp="$ac_aux_dir/depcomp" 851740dd5a57Smrg AMDEPBACKSLASH='\' 851840dd5a57Smrgfi 851940dd5a57SmrgAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) 852040dd5a57SmrgAC_SUBST([AMDEPBACKSLASH])dnl 852140dd5a57Smrg_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl 852240dd5a57Smrg]) 852340dd5a57Smrg 852440dd5a57Smrg# Generate code to set up dependency tracking. -*- Autoconf -*- 852540dd5a57Smrg 852640dd5a57Smrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 852740dd5a57Smrg# Free Software Foundation, Inc. 852840dd5a57Smrg# 852940dd5a57Smrg# This file is free software; the Free Software Foundation 853040dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 853140dd5a57Smrg# with or without modifications, as long as this notice is preserved. 853240dd5a57Smrg 853340dd5a57Smrg#serial 5 853440dd5a57Smrg 853540dd5a57Smrg# _AM_OUTPUT_DEPENDENCY_COMMANDS 853640dd5a57Smrg# ------------------------------ 853740dd5a57SmrgAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], 853840dd5a57Smrg[{ 853940dd5a57Smrg # Autoconf 2.62 quotes --file arguments for eval, but not when files 854040dd5a57Smrg # are listed without --file. Let's play safe and only enable the eval 854140dd5a57Smrg # if we detect the quoting. 854240dd5a57Smrg case $CONFIG_FILES in 854340dd5a57Smrg *\'*) eval set x "$CONFIG_FILES" ;; 854440dd5a57Smrg *) set x $CONFIG_FILES ;; 854540dd5a57Smrg esac 854640dd5a57Smrg shift 854740dd5a57Smrg for mf 854840dd5a57Smrg do 854940dd5a57Smrg # Strip MF so we end up with the name of the file. 855040dd5a57Smrg mf=`echo "$mf" | sed -e 's/:.*$//'` 855140dd5a57Smrg # Check whether this is an Automake generated Makefile or not. 855240dd5a57Smrg # We used to match only the files named `Makefile.in', but 855340dd5a57Smrg # some people rename them; so instead we look at the file content. 855440dd5a57Smrg # Grep'ing the first line is not enough: some people post-process 855540dd5a57Smrg # each Makefile.in and add a new line on top of each file to say so. 855640dd5a57Smrg # Grep'ing the whole file is not good either: AIX grep has a line 855740dd5a57Smrg # limit of 2048, but all sed's we know have understand at least 4000. 855840dd5a57Smrg if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then 855940dd5a57Smrg dirpart=`AS_DIRNAME("$mf")` 856040dd5a57Smrg else 856140dd5a57Smrg continue 856240dd5a57Smrg fi 856340dd5a57Smrg # Extract the definition of DEPDIR, am__include, and am__quote 856440dd5a57Smrg # from the Makefile without running `make'. 856540dd5a57Smrg DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` 856640dd5a57Smrg test -z "$DEPDIR" && continue 856740dd5a57Smrg am__include=`sed -n 's/^am__include = //p' < "$mf"` 856840dd5a57Smrg test -z "am__include" && continue 856940dd5a57Smrg am__quote=`sed -n 's/^am__quote = //p' < "$mf"` 857040dd5a57Smrg # When using ansi2knr, U may be empty or an underscore; expand it 857140dd5a57Smrg U=`sed -n 's/^U = //p' < "$mf"` 857240dd5a57Smrg # Find all dependency output files, they are included files with 857340dd5a57Smrg # $(DEPDIR) in their names. We invoke sed twice because it is the 857440dd5a57Smrg # simplest approach to changing $(DEPDIR) to its actual value in the 857540dd5a57Smrg # expansion. 857640dd5a57Smrg for file in `sed -n " 857740dd5a57Smrg s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ 857840dd5a57Smrg sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do 857940dd5a57Smrg # Make sure the directory exists. 858040dd5a57Smrg test -f "$dirpart/$file" && continue 858140dd5a57Smrg fdir=`AS_DIRNAME(["$file"])` 858240dd5a57Smrg AS_MKDIR_P([$dirpart/$fdir]) 858340dd5a57Smrg # echo "creating $dirpart/$file" 858440dd5a57Smrg echo '# dummy' > "$dirpart/$file" 858540dd5a57Smrg done 858640dd5a57Smrg done 858740dd5a57Smrg} 858840dd5a57Smrg])# _AM_OUTPUT_DEPENDENCY_COMMANDS 858940dd5a57Smrg 859040dd5a57Smrg 859140dd5a57Smrg# AM_OUTPUT_DEPENDENCY_COMMANDS 859240dd5a57Smrg# ----------------------------- 859340dd5a57Smrg# This macro should only be invoked once -- use via AC_REQUIRE. 859440dd5a57Smrg# 859540dd5a57Smrg# This code is only required when automatic dependency tracking 859640dd5a57Smrg# is enabled. FIXME. This creates each `.P' file that we will 859740dd5a57Smrg# need in order to bootstrap the dependency handling code. 859840dd5a57SmrgAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], 859940dd5a57Smrg[AC_CONFIG_COMMANDS([depfiles], 860040dd5a57Smrg [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], 860140dd5a57Smrg [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) 860240dd5a57Smrg]) 860340dd5a57Smrg 860440dd5a57Smrg# Do all the work for Automake. -*- Autoconf -*- 860540dd5a57Smrg 860640dd5a57Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 860740dd5a57Smrg# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. 860840dd5a57Smrg# 860940dd5a57Smrg# This file is free software; the Free Software Foundation 861040dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 861140dd5a57Smrg# with or without modifications, as long as this notice is preserved. 861240dd5a57Smrg 861340dd5a57Smrg# serial 16 861440dd5a57Smrg 861540dd5a57Smrg# This macro actually does too much. Some checks are only needed if 861640dd5a57Smrg# your package does certain things. But this isn't really a big deal. 861740dd5a57Smrg 861840dd5a57Smrg# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) 861940dd5a57Smrg# AM_INIT_AUTOMAKE([OPTIONS]) 862040dd5a57Smrg# ----------------------------------------------- 862140dd5a57Smrg# The call with PACKAGE and VERSION arguments is the old style 862240dd5a57Smrg# call (pre autoconf-2.50), which is being phased out. PACKAGE 862340dd5a57Smrg# and VERSION should now be passed to AC_INIT and removed from 862440dd5a57Smrg# the call to AM_INIT_AUTOMAKE. 862540dd5a57Smrg# We support both call styles for the transition. After 862640dd5a57Smrg# the next Automake release, Autoconf can make the AC_INIT 862740dd5a57Smrg# arguments mandatory, and then we can depend on a new Autoconf 862840dd5a57Smrg# release and drop the old call support. 862940dd5a57SmrgAC_DEFUN([AM_INIT_AUTOMAKE], 863040dd5a57Smrg[AC_PREREQ([2.62])dnl 863140dd5a57Smrgdnl Autoconf wants to disallow AM_ names. We explicitly allow 863240dd5a57Smrgdnl the ones we care about. 863340dd5a57Smrgm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl 863440dd5a57SmrgAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl 863540dd5a57SmrgAC_REQUIRE([AC_PROG_INSTALL])dnl 863640dd5a57Smrgif test "`cd $srcdir && pwd`" != "`pwd`"; then 863740dd5a57Smrg # Use -I$(srcdir) only when $(srcdir) != ., so that make's output 863840dd5a57Smrg # is not polluted with repeated "-I." 863940dd5a57Smrg AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl 864040dd5a57Smrg # test to see if srcdir already configured 864140dd5a57Smrg if test -f $srcdir/config.status; then 864240dd5a57Smrg AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) 864340dd5a57Smrg fi 864440dd5a57Smrgfi 864540dd5a57Smrg 864640dd5a57Smrg# test whether we have cygpath 864740dd5a57Smrgif test -z "$CYGPATH_W"; then 864840dd5a57Smrg if (cygpath --version) >/dev/null 2>/dev/null; then 864940dd5a57Smrg CYGPATH_W='cygpath -w' 865040dd5a57Smrg else 865140dd5a57Smrg CYGPATH_W=echo 865240dd5a57Smrg fi 865340dd5a57Smrgfi 865440dd5a57SmrgAC_SUBST([CYGPATH_W]) 865540dd5a57Smrg 865640dd5a57Smrg# Define the identity of the package. 865740dd5a57Smrgdnl Distinguish between old-style and new-style calls. 865840dd5a57Smrgm4_ifval([$2], 865940dd5a57Smrg[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl 866040dd5a57Smrg AC_SUBST([PACKAGE], [$1])dnl 866140dd5a57Smrg AC_SUBST([VERSION], [$2])], 866240dd5a57Smrg[_AM_SET_OPTIONS([$1])dnl 866340dd5a57Smrgdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. 866440dd5a57Smrgm4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, 866540dd5a57Smrg [m4_fatal([AC_INIT should be called with package and version arguments])])dnl 866640dd5a57Smrg AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl 866740dd5a57Smrg AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl 866840dd5a57Smrg 866940dd5a57Smrg_AM_IF_OPTION([no-define],, 867040dd5a57Smrg[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) 867140dd5a57Smrg AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl 867240dd5a57Smrg 867340dd5a57Smrg# Some tools Automake needs. 867440dd5a57SmrgAC_REQUIRE([AM_SANITY_CHECK])dnl 867540dd5a57SmrgAC_REQUIRE([AC_ARG_PROGRAM])dnl 867640dd5a57SmrgAM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) 867740dd5a57SmrgAM_MISSING_PROG(AUTOCONF, autoconf) 867840dd5a57SmrgAM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) 867940dd5a57SmrgAM_MISSING_PROG(AUTOHEADER, autoheader) 868040dd5a57SmrgAM_MISSING_PROG(MAKEINFO, makeinfo) 868140dd5a57SmrgAC_REQUIRE([AM_PROG_INSTALL_SH])dnl 868240dd5a57SmrgAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl 868340dd5a57SmrgAC_REQUIRE([AM_PROG_MKDIR_P])dnl 868440dd5a57Smrg# We need awk for the "check" target. The system "awk" is bad on 868540dd5a57Smrg# some platforms. 868640dd5a57SmrgAC_REQUIRE([AC_PROG_AWK])dnl 868740dd5a57SmrgAC_REQUIRE([AC_PROG_MAKE_SET])dnl 868840dd5a57SmrgAC_REQUIRE([AM_SET_LEADING_DOT])dnl 868940dd5a57Smrg_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], 869040dd5a57Smrg [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], 869140dd5a57Smrg [_AM_PROG_TAR([v7])])]) 869240dd5a57Smrg_AM_IF_OPTION([no-dependencies],, 869340dd5a57Smrg[AC_PROVIDE_IFELSE([AC_PROG_CC], 869440dd5a57Smrg [_AM_DEPENDENCIES(CC)], 869540dd5a57Smrg [define([AC_PROG_CC], 869640dd5a57Smrg defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl 869740dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_CXX], 869840dd5a57Smrg [_AM_DEPENDENCIES(CXX)], 869940dd5a57Smrg [define([AC_PROG_CXX], 870040dd5a57Smrg defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl 870140dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_OBJC], 870240dd5a57Smrg [_AM_DEPENDENCIES(OBJC)], 870340dd5a57Smrg [define([AC_PROG_OBJC], 870440dd5a57Smrg defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl 870540dd5a57Smrg]) 870640dd5a57Smrg_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl 870740dd5a57Smrgdnl The `parallel-tests' driver may need to know about EXEEXT, so add the 870840dd5a57Smrgdnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro 870940dd5a57Smrgdnl is hooked onto _AC_COMPILER_EXEEXT early, see below. 871040dd5a57SmrgAC_CONFIG_COMMANDS_PRE(dnl 871140dd5a57Smrg[m4_provide_if([_AM_COMPILER_EXEEXT], 871240dd5a57Smrg [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl 871340dd5a57Smrg]) 871440dd5a57Smrg 871540dd5a57Smrgdnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not 871640dd5a57Smrgdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further 871740dd5a57Smrgdnl mangled by Autoconf and run in a shell conditional statement. 871840dd5a57Smrgm4_define([_AC_COMPILER_EXEEXT], 871940dd5a57Smrgm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) 872040dd5a57Smrg 872140dd5a57Smrg 872240dd5a57Smrg# When config.status generates a header, we must update the stamp-h file. 872340dd5a57Smrg# This file resides in the same directory as the config header 872440dd5a57Smrg# that is generated. The stamp files are numbered to have different names. 872540dd5a57Smrg 872640dd5a57Smrg# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the 872740dd5a57Smrg# loop where config.status creates the headers, so we can generate 872840dd5a57Smrg# our stamp files there. 872940dd5a57SmrgAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], 873040dd5a57Smrg[# Compute $1's index in $config_headers. 873140dd5a57Smrg_am_arg=$1 873240dd5a57Smrg_am_stamp_count=1 873340dd5a57Smrgfor _am_header in $config_headers :; do 873440dd5a57Smrg case $_am_header in 873540dd5a57Smrg $_am_arg | $_am_arg:* ) 873640dd5a57Smrg break ;; 873740dd5a57Smrg * ) 873840dd5a57Smrg _am_stamp_count=`expr $_am_stamp_count + 1` ;; 873940dd5a57Smrg esac 874040dd5a57Smrgdone 874140dd5a57Smrgecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) 874240dd5a57Smrg 874340dd5a57Smrg# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. 874440dd5a57Smrg# 874540dd5a57Smrg# This file is free software; the Free Software Foundation 874640dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 874740dd5a57Smrg# with or without modifications, as long as this notice is preserved. 874840dd5a57Smrg 874940dd5a57Smrg# AM_PROG_INSTALL_SH 875040dd5a57Smrg# ------------------ 875140dd5a57Smrg# Define $install_sh. 875240dd5a57SmrgAC_DEFUN([AM_PROG_INSTALL_SH], 875340dd5a57Smrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 875440dd5a57Smrgif test x"${install_sh}" != xset; then 875540dd5a57Smrg case $am_aux_dir in 875640dd5a57Smrg *\ * | *\ *) 875740dd5a57Smrg install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; 875840dd5a57Smrg *) 875940dd5a57Smrg install_sh="\${SHELL} $am_aux_dir/install-sh" 876040dd5a57Smrg esac 876140dd5a57Smrgfi 876240dd5a57SmrgAC_SUBST(install_sh)]) 876340dd5a57Smrg 876440dd5a57Smrg# Copyright (C) 2003, 2005 Free Software Foundation, Inc. 876540dd5a57Smrg# 876640dd5a57Smrg# This file is free software; the Free Software Foundation 876740dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 876840dd5a57Smrg# with or without modifications, as long as this notice is preserved. 876940dd5a57Smrg 877040dd5a57Smrg# serial 2 877140dd5a57Smrg 877240dd5a57Smrg# Check whether the underlying file-system supports filenames 877340dd5a57Smrg# with a leading dot. For instance MS-DOS doesn't. 877440dd5a57SmrgAC_DEFUN([AM_SET_LEADING_DOT], 877540dd5a57Smrg[rm -rf .tst 2>/dev/null 877640dd5a57Smrgmkdir .tst 2>/dev/null 877740dd5a57Smrgif test -d .tst; then 877840dd5a57Smrg am__leading_dot=. 877940dd5a57Smrgelse 878040dd5a57Smrg am__leading_dot=_ 878140dd5a57Smrgfi 878240dd5a57Smrgrmdir .tst 2>/dev/null 878340dd5a57SmrgAC_SUBST([am__leading_dot])]) 878440dd5a57Smrg 878540dd5a57Smrg# Check to see how 'make' treats includes. -*- Autoconf -*- 878640dd5a57Smrg 878740dd5a57Smrg# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. 878840dd5a57Smrg# 878940dd5a57Smrg# This file is free software; the Free Software Foundation 879040dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 879140dd5a57Smrg# with or without modifications, as long as this notice is preserved. 879240dd5a57Smrg 879340dd5a57Smrg# serial 4 879440dd5a57Smrg 879540dd5a57Smrg# AM_MAKE_INCLUDE() 879640dd5a57Smrg# ----------------- 879740dd5a57Smrg# Check to see how make treats includes. 879840dd5a57SmrgAC_DEFUN([AM_MAKE_INCLUDE], 879940dd5a57Smrg[am_make=${MAKE-make} 880040dd5a57Smrgcat > confinc << 'END' 880140dd5a57Smrgam__doit: 880240dd5a57Smrg @echo this is the am__doit target 880340dd5a57Smrg.PHONY: am__doit 880440dd5a57SmrgEND 880540dd5a57Smrg# If we don't find an include directive, just comment out the code. 880640dd5a57SmrgAC_MSG_CHECKING([for style of include used by $am_make]) 880740dd5a57Smrgam__include="#" 880840dd5a57Smrgam__quote= 880940dd5a57Smrg_am_result=none 881040dd5a57Smrg# First try GNU make style include. 881140dd5a57Smrgecho "include confinc" > confmf 881240dd5a57Smrg# Ignore all kinds of additional output from `make'. 881340dd5a57Smrgcase `$am_make -s -f confmf 2> /dev/null` in #( 881440dd5a57Smrg*the\ am__doit\ target*) 881540dd5a57Smrg am__include=include 881640dd5a57Smrg am__quote= 881740dd5a57Smrg _am_result=GNU 881840dd5a57Smrg ;; 881940dd5a57Smrgesac 882040dd5a57Smrg# Now try BSD make style include. 882140dd5a57Smrgif test "$am__include" = "#"; then 882240dd5a57Smrg echo '.include "confinc"' > confmf 882340dd5a57Smrg case `$am_make -s -f confmf 2> /dev/null` in #( 882440dd5a57Smrg *the\ am__doit\ target*) 882540dd5a57Smrg am__include=.include 882640dd5a57Smrg am__quote="\"" 882740dd5a57Smrg _am_result=BSD 882840dd5a57Smrg ;; 882940dd5a57Smrg esac 883040dd5a57Smrgfi 883140dd5a57SmrgAC_SUBST([am__include]) 883240dd5a57SmrgAC_SUBST([am__quote]) 883340dd5a57SmrgAC_MSG_RESULT([$_am_result]) 883440dd5a57Smrgrm -f confinc confmf 883540dd5a57Smrg]) 883640dd5a57Smrg 883740dd5a57Smrg# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 883840dd5a57Smrg# Free Software Foundation, Inc. 883940dd5a57Smrg# 884040dd5a57Smrg# This file is free software; the Free Software Foundation 884140dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 884240dd5a57Smrg# with or without modifications, as long as this notice is preserved. 884340dd5a57Smrg 884440dd5a57Smrg# serial 6 884540dd5a57Smrg 884640dd5a57Smrg# AM_PROG_CC_C_O 884740dd5a57Smrg# -------------- 884840dd5a57Smrg# Like AC_PROG_CC_C_O, but changed for automake. 884940dd5a57SmrgAC_DEFUN([AM_PROG_CC_C_O], 885040dd5a57Smrg[AC_REQUIRE([AC_PROG_CC_C_O])dnl 885140dd5a57SmrgAC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 885240dd5a57SmrgAC_REQUIRE_AUX_FILE([compile])dnl 885340dd5a57Smrg# FIXME: we rely on the cache variable name because 885440dd5a57Smrg# there is no other way. 885540dd5a57Smrgset dummy $CC 885640dd5a57Smrgam_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` 885740dd5a57Smrgeval am_t=\$ac_cv_prog_cc_${am_cc}_c_o 885840dd5a57Smrgif test "$am_t" != yes; then 885940dd5a57Smrg # Losing compiler, so override with the script. 886040dd5a57Smrg # FIXME: It is wrong to rewrite CC. 886140dd5a57Smrg # But if we don't then we get into trouble of one sort or another. 886240dd5a57Smrg # A longer-term fix would be to have automake use am__CC in this case, 886340dd5a57Smrg # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" 886440dd5a57Smrg CC="$am_aux_dir/compile $CC" 886540dd5a57Smrgfi 886640dd5a57Smrgdnl Make sure AC_PROG_CC is never called again, or it will override our 886740dd5a57Smrgdnl setting of CC. 886840dd5a57Smrgm4_define([AC_PROG_CC], 886940dd5a57Smrg [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) 887040dd5a57Smrg]) 887140dd5a57Smrg 887240dd5a57Smrg# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- 887340dd5a57Smrg 887440dd5a57Smrg# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 887540dd5a57Smrg# Free Software Foundation, Inc. 887640dd5a57Smrg# 887740dd5a57Smrg# This file is free software; the Free Software Foundation 887840dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 887940dd5a57Smrg# with or without modifications, as long as this notice is preserved. 888040dd5a57Smrg 888140dd5a57Smrg# serial 6 888240dd5a57Smrg 888340dd5a57Smrg# AM_MISSING_PROG(NAME, PROGRAM) 888440dd5a57Smrg# ------------------------------ 888540dd5a57SmrgAC_DEFUN([AM_MISSING_PROG], 888640dd5a57Smrg[AC_REQUIRE([AM_MISSING_HAS_RUN]) 888740dd5a57Smrg$1=${$1-"${am_missing_run}$2"} 888840dd5a57SmrgAC_SUBST($1)]) 888940dd5a57Smrg 889040dd5a57Smrg 889140dd5a57Smrg# AM_MISSING_HAS_RUN 889240dd5a57Smrg# ------------------ 889340dd5a57Smrg# Define MISSING if not defined so far and test if it supports --run. 889440dd5a57Smrg# If it does, set am_missing_run to use it, otherwise, to nothing. 889540dd5a57SmrgAC_DEFUN([AM_MISSING_HAS_RUN], 889640dd5a57Smrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl 889740dd5a57SmrgAC_REQUIRE_AUX_FILE([missing])dnl 889840dd5a57Smrgif test x"${MISSING+set}" != xset; then 889940dd5a57Smrg case $am_aux_dir in 890040dd5a57Smrg *\ * | *\ *) 890140dd5a57Smrg MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; 890240dd5a57Smrg *) 890340dd5a57Smrg MISSING="\${SHELL} $am_aux_dir/missing" ;; 890440dd5a57Smrg esac 890540dd5a57Smrgfi 890640dd5a57Smrg# Use eval to expand $SHELL 890740dd5a57Smrgif eval "$MISSING --run true"; then 890840dd5a57Smrg am_missing_run="$MISSING --run " 890940dd5a57Smrgelse 891040dd5a57Smrg am_missing_run= 891140dd5a57Smrg AC_MSG_WARN([`missing' script is too old or missing]) 891240dd5a57Smrgfi 891340dd5a57Smrg]) 891440dd5a57Smrg 891540dd5a57Smrg# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. 891640dd5a57Smrg# 891740dd5a57Smrg# This file is free software; the Free Software Foundation 891840dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 891940dd5a57Smrg# with or without modifications, as long as this notice is preserved. 892040dd5a57Smrg 892140dd5a57Smrg# AM_PROG_MKDIR_P 892240dd5a57Smrg# --------------- 892340dd5a57Smrg# Check for `mkdir -p'. 892440dd5a57SmrgAC_DEFUN([AM_PROG_MKDIR_P], 892540dd5a57Smrg[AC_PREREQ([2.60])dnl 892640dd5a57SmrgAC_REQUIRE([AC_PROG_MKDIR_P])dnl 892740dd5a57Smrgdnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, 892840dd5a57Smrgdnl while keeping a definition of mkdir_p for backward compatibility. 892940dd5a57Smrgdnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. 893040dd5a57Smrgdnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of 893140dd5a57Smrgdnl Makefile.ins that do not define MKDIR_P, so we do our own 893240dd5a57Smrgdnl adjustment using top_builddir (which is defined more often than 893340dd5a57Smrgdnl MKDIR_P). 893440dd5a57SmrgAC_SUBST([mkdir_p], ["$MKDIR_P"])dnl 893540dd5a57Smrgcase $mkdir_p in 893640dd5a57Smrg [[\\/$]]* | ?:[[\\/]]*) ;; 893740dd5a57Smrg */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; 893840dd5a57Smrgesac 893940dd5a57Smrg]) 894040dd5a57Smrg 894140dd5a57Smrg# Helper functions for option handling. -*- Autoconf -*- 894240dd5a57Smrg 894340dd5a57Smrg# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. 894440dd5a57Smrg# 894540dd5a57Smrg# This file is free software; the Free Software Foundation 894640dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 894740dd5a57Smrg# with or without modifications, as long as this notice is preserved. 894840dd5a57Smrg 894940dd5a57Smrg# serial 4 895040dd5a57Smrg 895140dd5a57Smrg# _AM_MANGLE_OPTION(NAME) 895240dd5a57Smrg# ----------------------- 895340dd5a57SmrgAC_DEFUN([_AM_MANGLE_OPTION], 895440dd5a57Smrg[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) 895540dd5a57Smrg 895640dd5a57Smrg# _AM_SET_OPTION(NAME) 895740dd5a57Smrg# ------------------------------ 895840dd5a57Smrg# Set option NAME. Presently that only means defining a flag for this option. 895940dd5a57SmrgAC_DEFUN([_AM_SET_OPTION], 896040dd5a57Smrg[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) 896140dd5a57Smrg 896240dd5a57Smrg# _AM_SET_OPTIONS(OPTIONS) 896340dd5a57Smrg# ---------------------------------- 896440dd5a57Smrg# OPTIONS is a space-separated list of Automake options. 896540dd5a57SmrgAC_DEFUN([_AM_SET_OPTIONS], 896640dd5a57Smrg[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) 896740dd5a57Smrg 896840dd5a57Smrg# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) 896940dd5a57Smrg# ------------------------------------------- 897040dd5a57Smrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. 897140dd5a57SmrgAC_DEFUN([_AM_IF_OPTION], 897240dd5a57Smrg[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) 897340dd5a57Smrg 897440dd5a57Smrg# Check to make sure that the build environment is sane. -*- Autoconf -*- 897540dd5a57Smrg 897640dd5a57Smrg# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 897740dd5a57Smrg# Free Software Foundation, Inc. 897840dd5a57Smrg# 897940dd5a57Smrg# This file is free software; the Free Software Foundation 898040dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 898140dd5a57Smrg# with or without modifications, as long as this notice is preserved. 898240dd5a57Smrg 898340dd5a57Smrg# serial 5 898440dd5a57Smrg 898540dd5a57Smrg# AM_SANITY_CHECK 898640dd5a57Smrg# --------------- 898740dd5a57SmrgAC_DEFUN([AM_SANITY_CHECK], 898840dd5a57Smrg[AC_MSG_CHECKING([whether build environment is sane]) 898940dd5a57Smrg# Just in case 899040dd5a57Smrgsleep 1 899140dd5a57Smrgecho timestamp > conftest.file 899240dd5a57Smrg# Reject unsafe characters in $srcdir or the absolute working directory 899340dd5a57Smrg# name. Accept space and tab only in the latter. 899440dd5a57Smrgam_lf=' 899540dd5a57Smrg' 899640dd5a57Smrgcase `pwd` in 899740dd5a57Smrg *[[\\\"\#\$\&\'\`$am_lf]]*) 899840dd5a57Smrg AC_MSG_ERROR([unsafe absolute working directory name]);; 899940dd5a57Smrgesac 900040dd5a57Smrgcase $srcdir in 900140dd5a57Smrg *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) 900240dd5a57Smrg AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; 900340dd5a57Smrgesac 900440dd5a57Smrg 900540dd5a57Smrg# Do `set' in a subshell so we don't clobber the current shell's 900640dd5a57Smrg# arguments. Must try -L first in case configure is actually a 900740dd5a57Smrg# symlink; some systems play weird games with the mod time of symlinks 900840dd5a57Smrg# (eg FreeBSD returns the mod time of the symlink's containing 900940dd5a57Smrg# directory). 901040dd5a57Smrgif ( 901140dd5a57Smrg set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` 901240dd5a57Smrg if test "$[*]" = "X"; then 901340dd5a57Smrg # -L didn't work. 901440dd5a57Smrg set X `ls -t "$srcdir/configure" conftest.file` 901540dd5a57Smrg fi 901640dd5a57Smrg rm -f conftest.file 901740dd5a57Smrg if test "$[*]" != "X $srcdir/configure conftest.file" \ 901840dd5a57Smrg && test "$[*]" != "X conftest.file $srcdir/configure"; then 901940dd5a57Smrg 902040dd5a57Smrg # If neither matched, then we have a broken ls. This can happen 902140dd5a57Smrg # if, for instance, CONFIG_SHELL is bash and it inherits a 902240dd5a57Smrg # broken ls alias from the environment. This has actually 902340dd5a57Smrg # happened. Such a system could not be considered "sane". 902440dd5a57Smrg AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken 902540dd5a57Smrgalias in your environment]) 902640dd5a57Smrg fi 902740dd5a57Smrg 902840dd5a57Smrg test "$[2]" = conftest.file 902940dd5a57Smrg ) 903040dd5a57Smrgthen 903140dd5a57Smrg # Ok. 903240dd5a57Smrg : 903340dd5a57Smrgelse 903440dd5a57Smrg AC_MSG_ERROR([newly created file is older than distributed files! 903540dd5a57SmrgCheck your system clock]) 903640dd5a57Smrgfi 903740dd5a57SmrgAC_MSG_RESULT(yes)]) 903840dd5a57Smrg 903940dd5a57Smrg# Copyright (C) 2009 Free Software Foundation, Inc. 904040dd5a57Smrg# 904140dd5a57Smrg# This file is free software; the Free Software Foundation 904240dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 904340dd5a57Smrg# with or without modifications, as long as this notice is preserved. 904440dd5a57Smrg 904540dd5a57Smrg# serial 1 904640dd5a57Smrg 904740dd5a57Smrg# AM_SILENT_RULES([DEFAULT]) 904840dd5a57Smrg# -------------------------- 904940dd5a57Smrg# Enable less verbose build rules; with the default set to DEFAULT 905040dd5a57Smrg# (`yes' being less verbose, `no' or empty being verbose). 905140dd5a57SmrgAC_DEFUN([AM_SILENT_RULES], 905240dd5a57Smrg[AC_ARG_ENABLE([silent-rules], 905340dd5a57Smrg[ --enable-silent-rules less verbose build output (undo: `make V=1') 905440dd5a57Smrg --disable-silent-rules verbose build output (undo: `make V=0')]) 905540dd5a57Smrgcase $enable_silent_rules in 905640dd5a57Smrgyes) AM_DEFAULT_VERBOSITY=0;; 905740dd5a57Smrgno) AM_DEFAULT_VERBOSITY=1;; 905840dd5a57Smrg*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; 905940dd5a57Smrgesac 906040dd5a57SmrgAC_SUBST([AM_DEFAULT_VERBOSITY])dnl 906140dd5a57SmrgAM_BACKSLASH='\' 906240dd5a57SmrgAC_SUBST([AM_BACKSLASH])dnl 906340dd5a57Smrg_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl 906440dd5a57Smrg]) 906540dd5a57Smrg 906640dd5a57Smrg# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. 906740dd5a57Smrg# 906840dd5a57Smrg# This file is free software; the Free Software Foundation 906940dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 907040dd5a57Smrg# with or without modifications, as long as this notice is preserved. 907140dd5a57Smrg 907240dd5a57Smrg# AM_PROG_INSTALL_STRIP 907340dd5a57Smrg# --------------------- 907440dd5a57Smrg# One issue with vendor `install' (even GNU) is that you can't 907540dd5a57Smrg# specify the program used to strip binaries. This is especially 907640dd5a57Smrg# annoying in cross-compiling environments, where the build's strip 907740dd5a57Smrg# is unlikely to handle the host's binaries. 907840dd5a57Smrg# Fortunately install-sh will honor a STRIPPROG variable, so we 907940dd5a57Smrg# always use install-sh in `make install-strip', and initialize 908040dd5a57Smrg# STRIPPROG with the value of the STRIP variable (set by the user). 908140dd5a57SmrgAC_DEFUN([AM_PROG_INSTALL_STRIP], 908240dd5a57Smrg[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl 908340dd5a57Smrg# Installed binaries are usually stripped using `strip' when the user 908440dd5a57Smrg# run `make install-strip'. However `strip' might not be the right 908540dd5a57Smrg# tool to use in cross-compilation environments, therefore Automake 908640dd5a57Smrg# will honor the `STRIP' environment variable to overrule this program. 908740dd5a57Smrgdnl Don't test for $cross_compiling = yes, because it might be `maybe'. 908840dd5a57Smrgif test "$cross_compiling" != no; then 908940dd5a57Smrg AC_CHECK_TOOL([STRIP], [strip], :) 909040dd5a57Smrgfi 909140dd5a57SmrgINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" 909240dd5a57SmrgAC_SUBST([INSTALL_STRIP_PROGRAM])]) 909340dd5a57Smrg 909440dd5a57Smrg# Copyright (C) 2006, 2008 Free Software Foundation, Inc. 909540dd5a57Smrg# 909640dd5a57Smrg# This file is free software; the Free Software Foundation 909740dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 909840dd5a57Smrg# with or without modifications, as long as this notice is preserved. 909940dd5a57Smrg 910040dd5a57Smrg# serial 2 910140dd5a57Smrg 910240dd5a57Smrg# _AM_SUBST_NOTMAKE(VARIABLE) 910340dd5a57Smrg# --------------------------- 910440dd5a57Smrg# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. 910540dd5a57Smrg# This macro is traced by Automake. 910640dd5a57SmrgAC_DEFUN([_AM_SUBST_NOTMAKE]) 910740dd5a57Smrg 910840dd5a57Smrg# AM_SUBST_NOTMAKE(VARIABLE) 910940dd5a57Smrg# --------------------------- 911040dd5a57Smrg# Public sister of _AM_SUBST_NOTMAKE. 911140dd5a57SmrgAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) 911240dd5a57Smrg 911340dd5a57Smrg# Check how to create a tarball. -*- Autoconf -*- 911440dd5a57Smrg 911540dd5a57Smrg# Copyright (C) 2004, 2005 Free Software Foundation, Inc. 911640dd5a57Smrg# 911740dd5a57Smrg# This file is free software; the Free Software Foundation 911840dd5a57Smrg# gives unlimited permission to copy and/or distribute it, 911940dd5a57Smrg# with or without modifications, as long as this notice is preserved. 912040dd5a57Smrg 912140dd5a57Smrg# serial 2 912240dd5a57Smrg 912340dd5a57Smrg# _AM_PROG_TAR(FORMAT) 912440dd5a57Smrg# -------------------- 912540dd5a57Smrg# Check how to create a tarball in format FORMAT. 912640dd5a57Smrg# FORMAT should be one of `v7', `ustar', or `pax'. 912740dd5a57Smrg# 912840dd5a57Smrg# Substitute a variable $(am__tar) that is a command 912940dd5a57Smrg# writing to stdout a FORMAT-tarball containing the directory 913040dd5a57Smrg# $tardir. 913140dd5a57Smrg# tardir=directory && $(am__tar) > result.tar 913240dd5a57Smrg# 913340dd5a57Smrg# Substitute a variable $(am__untar) that extract such 913440dd5a57Smrg# a tarball read from stdin. 913540dd5a57Smrg# $(am__untar) < result.tar 913640dd5a57SmrgAC_DEFUN([_AM_PROG_TAR], 913740dd5a57Smrg[# Always define AMTAR for backward compatibility. 913840dd5a57SmrgAM_MISSING_PROG([AMTAR], [tar]) 913940dd5a57Smrgm4_if([$1], [v7], 914040dd5a57Smrg [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], 914140dd5a57Smrg [m4_case([$1], [ustar],, [pax],, 914240dd5a57Smrg [m4_fatal([Unknown tar format])]) 914340dd5a57SmrgAC_MSG_CHECKING([how to create a $1 tar archive]) 914440dd5a57Smrg# Loop over all known methods to create a tar archive until one works. 914540dd5a57Smrg_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' 914640dd5a57Smrg_am_tools=${am_cv_prog_tar_$1-$_am_tools} 914740dd5a57Smrg# Do not fold the above two line into one, because Tru64 sh and 914840dd5a57Smrg# Solaris sh will not grok spaces in the rhs of `-'. 914940dd5a57Smrgfor _am_tool in $_am_tools 915040dd5a57Smrgdo 915140dd5a57Smrg case $_am_tool in 915240dd5a57Smrg gnutar) 915340dd5a57Smrg for _am_tar in tar gnutar gtar; 915440dd5a57Smrg do 915540dd5a57Smrg AM_RUN_LOG([$_am_tar --version]) && break 915640dd5a57Smrg done 915740dd5a57Smrg am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' 915840dd5a57Smrg am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' 915940dd5a57Smrg am__untar="$_am_tar -xf -" 916040dd5a57Smrg ;; 916140dd5a57Smrg plaintar) 916240dd5a57Smrg # Must skip GNU tar: if it does not support --format= it doesn't create 916340dd5a57Smrg # ustar tarball either. 916440dd5a57Smrg (tar --version) >/dev/null 2>&1 && continue 916540dd5a57Smrg am__tar='tar chf - "$$tardir"' 916640dd5a57Smrg am__tar_='tar chf - "$tardir"' 916740dd5a57Smrg am__untar='tar xf -' 916840dd5a57Smrg ;; 916940dd5a57Smrg pax) 917040dd5a57Smrg am__tar='pax -L -x $1 -w "$$tardir"' 917140dd5a57Smrg am__tar_='pax -L -x $1 -w "$tardir"' 917240dd5a57Smrg am__untar='pax -r' 917340dd5a57Smrg ;; 917440dd5a57Smrg cpio) 917540dd5a57Smrg am__tar='find "$$tardir" -print | cpio -o -H $1 -L' 917640dd5a57Smrg am__tar_='find "$tardir" -print | cpio -o -H $1 -L' 917740dd5a57Smrg am__untar='cpio -i -H $1 -d' 917840dd5a57Smrg ;; 917940dd5a57Smrg none) 918040dd5a57Smrg am__tar=false 918140dd5a57Smrg am__tar_=false 918240dd5a57Smrg am__untar=false 918340dd5a57Smrg ;; 918440dd5a57Smrg esac 918540dd5a57Smrg 918640dd5a57Smrg # If the value was cached, stop now. We just wanted to have am__tar 918740dd5a57Smrg # and am__untar set. 918840dd5a57Smrg test -n "${am_cv_prog_tar_$1}" && break 918940dd5a57Smrg 919040dd5a57Smrg # tar/untar a dummy directory, and stop if the command works 919140dd5a57Smrg rm -rf conftest.dir 919240dd5a57Smrg mkdir conftest.dir 919340dd5a57Smrg echo GrepMe > conftest.dir/file 919440dd5a57Smrg AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) 919540dd5a57Smrg rm -rf conftest.dir 919640dd5a57Smrg if test -s conftest.tar; then 919740dd5a57Smrg AM_RUN_LOG([$am__untar <conftest.tar]) 919840dd5a57Smrg grep GrepMe conftest.dir/file >/dev/null 2>&1 && break 919940dd5a57Smrg fi 920040dd5a57Smrgdone 920140dd5a57Smrgrm -rf conftest.dir 920240dd5a57Smrg 920340dd5a57SmrgAC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) 920440dd5a57SmrgAC_MSG_RESULT([$am_cv_prog_tar_$1])]) 920540dd5a57SmrgAC_SUBST([am__tar]) 920640dd5a57SmrgAC_SUBST([am__untar]) 920740dd5a57Smrg]) # _AM_PROG_TAR 920840dd5a57Smrg 9209