1*9712c20fSFrederick Mayle# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- 2*9712c20fSFrederick Mayle# 3*9712c20fSFrederick Mayle# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 4*9712c20fSFrederick Mayle# 2006, 2007, 2008 Free Software Foundation, Inc. 5*9712c20fSFrederick Mayle# Written by Gordon Matzigkeit, 1996 6*9712c20fSFrederick Mayle# 7*9712c20fSFrederick Mayle# This file is free software; the Free Software Foundation gives 8*9712c20fSFrederick Mayle# unlimited permission to copy and/or distribute it, with or without 9*9712c20fSFrederick Mayle# modifications, as long as this notice is preserved. 10*9712c20fSFrederick Mayle 11*9712c20fSFrederick Maylem4_define([_LT_COPYING], [dnl 12*9712c20fSFrederick Mayle# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 13*9712c20fSFrederick Mayle# 2006, 2007, 2008 Free Software Foundation, Inc. 14*9712c20fSFrederick Mayle# Written by Gordon Matzigkeit, 1996 15*9712c20fSFrederick Mayle# 16*9712c20fSFrederick Mayle# This file is part of GNU Libtool. 17*9712c20fSFrederick Mayle# 18*9712c20fSFrederick Mayle# GNU Libtool is free software; you can redistribute it and/or 19*9712c20fSFrederick Mayle# modify it under the terms of the GNU General Public License as 20*9712c20fSFrederick Mayle# published by the Free Software Foundation; either version 2 of 21*9712c20fSFrederick Mayle# the License, or (at your option) any later version. 22*9712c20fSFrederick Mayle# 23*9712c20fSFrederick Mayle# As a special exception to the GNU General Public License, 24*9712c20fSFrederick Mayle# if you distribute this file as part of a program or library that 25*9712c20fSFrederick Mayle# is built using GNU Libtool, you may include this file under the 26*9712c20fSFrederick Mayle# same distribution terms that you use for the rest of that program. 27*9712c20fSFrederick Mayle# 28*9712c20fSFrederick Mayle# GNU Libtool is distributed in the hope that it will be useful, 29*9712c20fSFrederick Mayle# but WITHOUT ANY WARRANTY; without even the implied warranty of 30*9712c20fSFrederick Mayle# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 31*9712c20fSFrederick Mayle# GNU General Public License for more details. 32*9712c20fSFrederick Mayle# 33*9712c20fSFrederick Mayle# You should have received a copy of the GNU General Public License 34*9712c20fSFrederick Mayle# along with GNU Libtool; see the file COPYING. If not, a copy 35*9712c20fSFrederick Mayle# can be downloaded from http://www.gnu.org/licenses/gpl.html, or 36*9712c20fSFrederick Mayle# obtained by writing to the Free Software Foundation, Inc., 37*9712c20fSFrederick Mayle# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 38*9712c20fSFrederick Mayle]) 39*9712c20fSFrederick Mayle 40*9712c20fSFrederick Mayle# serial 56 LT_INIT 41*9712c20fSFrederick Mayle 42*9712c20fSFrederick Mayle 43*9712c20fSFrederick Mayle# LT_PREREQ(VERSION) 44*9712c20fSFrederick Mayle# ------------------ 45*9712c20fSFrederick Mayle# Complain and exit if this libtool version is less that VERSION. 46*9712c20fSFrederick Maylem4_defun([LT_PREREQ], 47*9712c20fSFrederick Mayle[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, 48*9712c20fSFrederick Mayle [m4_default([$3], 49*9712c20fSFrederick Mayle [m4_fatal([Libtool version $1 or higher is required], 50*9712c20fSFrederick Mayle 63)])], 51*9712c20fSFrederick Mayle [$2])]) 52*9712c20fSFrederick Mayle 53*9712c20fSFrederick Mayle 54*9712c20fSFrederick Mayle# _LT_CHECK_BUILDDIR 55*9712c20fSFrederick Mayle# ------------------ 56*9712c20fSFrederick Mayle# Complain if the absolute build directory name contains unusual characters 57*9712c20fSFrederick Maylem4_defun([_LT_CHECK_BUILDDIR], 58*9712c20fSFrederick Mayle[case `pwd` in 59*9712c20fSFrederick Mayle *\ * | *\ *) 60*9712c20fSFrederick Mayle AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; 61*9712c20fSFrederick Mayleesac 62*9712c20fSFrederick Mayle]) 63*9712c20fSFrederick Mayle 64*9712c20fSFrederick Mayle 65*9712c20fSFrederick Mayle# LT_INIT([OPTIONS]) 66*9712c20fSFrederick Mayle# ------------------ 67*9712c20fSFrederick MayleAC_DEFUN([LT_INIT], 68*9712c20fSFrederick Mayle[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT 69*9712c20fSFrederick MayleAC_BEFORE([$0], [LT_LANG])dnl 70*9712c20fSFrederick MayleAC_BEFORE([$0], [LT_OUTPUT])dnl 71*9712c20fSFrederick MayleAC_BEFORE([$0], [LTDL_INIT])dnl 72*9712c20fSFrederick Maylem4_require([_LT_CHECK_BUILDDIR])dnl 73*9712c20fSFrederick Mayle 74*9712c20fSFrederick Maylednl Autoconf doesn't catch unexpanded LT_ macros by default: 75*9712c20fSFrederick Maylem4_pattern_forbid([^_?LT_[A-Z_]+$])dnl 76*9712c20fSFrederick Maylem4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl 77*9712c20fSFrederick Maylednl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 78*9712c20fSFrederick Maylednl unless we require an AC_DEFUNed macro: 79*9712c20fSFrederick MayleAC_REQUIRE([LTOPTIONS_VERSION])dnl 80*9712c20fSFrederick MayleAC_REQUIRE([LTSUGAR_VERSION])dnl 81*9712c20fSFrederick MayleAC_REQUIRE([LTVERSION_VERSION])dnl 82*9712c20fSFrederick MayleAC_REQUIRE([LTOBSOLETE_VERSION])dnl 83*9712c20fSFrederick Maylem4_require([_LT_PROG_LTMAIN])dnl 84*9712c20fSFrederick Mayle 85*9712c20fSFrederick Maylednl Parse OPTIONS 86*9712c20fSFrederick Mayle_LT_SET_OPTIONS([$0], [$1]) 87*9712c20fSFrederick Mayle 88*9712c20fSFrederick Mayle# This can be used to rebuild libtool when needed 89*9712c20fSFrederick MayleLIBTOOL_DEPS="$ltmain" 90*9712c20fSFrederick Mayle 91*9712c20fSFrederick Mayle# Always use our own libtool. 92*9712c20fSFrederick MayleLIBTOOL='$(SHELL) $(top_builddir)/libtool' 93*9712c20fSFrederick MayleAC_SUBST(LIBTOOL)dnl 94*9712c20fSFrederick Mayle 95*9712c20fSFrederick Mayle_LT_SETUP 96*9712c20fSFrederick Mayle 97*9712c20fSFrederick Mayle# Only expand once: 98*9712c20fSFrederick Maylem4_define([LT_INIT]) 99*9712c20fSFrederick Mayle])# LT_INIT 100*9712c20fSFrederick Mayle 101*9712c20fSFrederick Mayle# Old names: 102*9712c20fSFrederick MayleAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) 103*9712c20fSFrederick MayleAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) 104*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 105*9712c20fSFrederick Maylednl AC_DEFUN([AC_PROG_LIBTOOL], []) 106*9712c20fSFrederick Maylednl AC_DEFUN([AM_PROG_LIBTOOL], []) 107*9712c20fSFrederick Mayle 108*9712c20fSFrederick Mayle 109*9712c20fSFrederick Mayle# _LT_CC_BASENAME(CC) 110*9712c20fSFrederick Mayle# ------------------- 111*9712c20fSFrederick Mayle# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. 112*9712c20fSFrederick Maylem4_defun([_LT_CC_BASENAME], 113*9712c20fSFrederick Mayle[for cc_temp in $1""; do 114*9712c20fSFrederick Mayle case $cc_temp in 115*9712c20fSFrederick Mayle compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; 116*9712c20fSFrederick Mayle distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; 117*9712c20fSFrederick Mayle \-*) ;; 118*9712c20fSFrederick Mayle *) break;; 119*9712c20fSFrederick Mayle esac 120*9712c20fSFrederick Mayledone 121*9712c20fSFrederick Maylecc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 122*9712c20fSFrederick Mayle]) 123*9712c20fSFrederick Mayle 124*9712c20fSFrederick Mayle 125*9712c20fSFrederick Mayle# _LT_FILEUTILS_DEFAULTS 126*9712c20fSFrederick Mayle# ---------------------- 127*9712c20fSFrederick Mayle# It is okay to use these file commands and assume they have been set 128*9712c20fSFrederick Mayle# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. 129*9712c20fSFrederick Maylem4_defun([_LT_FILEUTILS_DEFAULTS], 130*9712c20fSFrederick Mayle[: ${CP="cp -f"} 131*9712c20fSFrederick Mayle: ${MV="mv -f"} 132*9712c20fSFrederick Mayle: ${RM="rm -f"} 133*9712c20fSFrederick Mayle])# _LT_FILEUTILS_DEFAULTS 134*9712c20fSFrederick Mayle 135*9712c20fSFrederick Mayle 136*9712c20fSFrederick Mayle# _LT_SETUP 137*9712c20fSFrederick Mayle# --------- 138*9712c20fSFrederick Maylem4_defun([_LT_SETUP], 139*9712c20fSFrederick Mayle[AC_REQUIRE([AC_CANONICAL_HOST])dnl 140*9712c20fSFrederick MayleAC_REQUIRE([AC_CANONICAL_BUILD])dnl 141*9712c20fSFrederick Mayle_LT_DECL([], [host_alias], [0], [The host system])dnl 142*9712c20fSFrederick Mayle_LT_DECL([], [host], [0])dnl 143*9712c20fSFrederick Mayle_LT_DECL([], [host_os], [0])dnl 144*9712c20fSFrederick Maylednl 145*9712c20fSFrederick Mayle_LT_DECL([], [build_alias], [0], [The build system])dnl 146*9712c20fSFrederick Mayle_LT_DECL([], [build], [0])dnl 147*9712c20fSFrederick Mayle_LT_DECL([], [build_os], [0])dnl 148*9712c20fSFrederick Maylednl 149*9712c20fSFrederick MayleAC_REQUIRE([AC_PROG_CC])dnl 150*9712c20fSFrederick MayleAC_REQUIRE([LT_PATH_LD])dnl 151*9712c20fSFrederick MayleAC_REQUIRE([LT_PATH_NM])dnl 152*9712c20fSFrederick Maylednl 153*9712c20fSFrederick MayleAC_REQUIRE([AC_PROG_LN_S])dnl 154*9712c20fSFrederick Mayletest -z "$LN_S" && LN_S="ln -s" 155*9712c20fSFrederick Mayle_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl 156*9712c20fSFrederick Maylednl 157*9712c20fSFrederick MayleAC_REQUIRE([LT_CMD_MAX_LEN])dnl 158*9712c20fSFrederick Mayle_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl 159*9712c20fSFrederick Mayle_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl 160*9712c20fSFrederick Maylednl 161*9712c20fSFrederick Maylem4_require([_LT_FILEUTILS_DEFAULTS])dnl 162*9712c20fSFrederick Maylem4_require([_LT_CHECK_SHELL_FEATURES])dnl 163*9712c20fSFrederick Maylem4_require([_LT_CMD_RELOAD])dnl 164*9712c20fSFrederick Maylem4_require([_LT_CHECK_MAGIC_METHOD])dnl 165*9712c20fSFrederick Maylem4_require([_LT_CMD_OLD_ARCHIVE])dnl 166*9712c20fSFrederick Maylem4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 167*9712c20fSFrederick Mayle 168*9712c20fSFrederick Mayle_LT_CONFIG_LIBTOOL_INIT([ 169*9712c20fSFrederick Mayle# See if we are running on zsh, and set the options which allow our 170*9712c20fSFrederick Mayle# commands through without removal of \ escapes INIT. 171*9712c20fSFrederick Mayleif test -n "\${ZSH_VERSION+set}" ; then 172*9712c20fSFrederick Mayle setopt NO_GLOB_SUBST 173*9712c20fSFrederick Maylefi 174*9712c20fSFrederick Mayle]) 175*9712c20fSFrederick Mayleif test -n "${ZSH_VERSION+set}" ; then 176*9712c20fSFrederick Mayle setopt NO_GLOB_SUBST 177*9712c20fSFrederick Maylefi 178*9712c20fSFrederick Mayle 179*9712c20fSFrederick Mayle_LT_CHECK_OBJDIR 180*9712c20fSFrederick Mayle 181*9712c20fSFrederick Maylem4_require([_LT_TAG_COMPILER])dnl 182*9712c20fSFrederick Mayle_LT_PROG_ECHO_BACKSLASH 183*9712c20fSFrederick Mayle 184*9712c20fSFrederick Maylecase $host_os in 185*9712c20fSFrederick Mayleaix3*) 186*9712c20fSFrederick Mayle # AIX sometimes has problems with the GCC collect2 program. For some 187*9712c20fSFrederick Mayle # reason, if we set the COLLECT_NAMES environment variable, the problems 188*9712c20fSFrederick Mayle # vanish in a puff of smoke. 189*9712c20fSFrederick Mayle if test "X${COLLECT_NAMES+set}" != Xset; then 190*9712c20fSFrederick Mayle COLLECT_NAMES= 191*9712c20fSFrederick Mayle export COLLECT_NAMES 192*9712c20fSFrederick Mayle fi 193*9712c20fSFrederick Mayle ;; 194*9712c20fSFrederick Mayleesac 195*9712c20fSFrederick Mayle 196*9712c20fSFrederick Mayle# Sed substitution that helps us do robust quoting. It backslashifies 197*9712c20fSFrederick Mayle# metacharacters that are still active within double-quoted strings. 198*9712c20fSFrederick Maylesed_quote_subst='s/\([["`$\\]]\)/\\\1/g' 199*9712c20fSFrederick Mayle 200*9712c20fSFrederick Mayle# Same as above, but do not quote variable references. 201*9712c20fSFrederick Mayledouble_quote_subst='s/\([["`\\]]\)/\\\1/g' 202*9712c20fSFrederick Mayle 203*9712c20fSFrederick Mayle# Sed substitution to delay expansion of an escaped shell variable in a 204*9712c20fSFrederick Mayle# double_quote_subst'ed string. 205*9712c20fSFrederick Mayledelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' 206*9712c20fSFrederick Mayle 207*9712c20fSFrederick Mayle# Sed substitution to delay expansion of an escaped single quote. 208*9712c20fSFrederick Mayledelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' 209*9712c20fSFrederick Mayle 210*9712c20fSFrederick Mayle# Sed substitution to avoid accidental globbing in evaled expressions 211*9712c20fSFrederick Mayleno_glob_subst='s/\*/\\\*/g' 212*9712c20fSFrederick Mayle 213*9712c20fSFrederick Mayle# Global variables: 214*9712c20fSFrederick Mayleofile=libtool 215*9712c20fSFrederick Maylecan_build_shared=yes 216*9712c20fSFrederick Mayle 217*9712c20fSFrederick Mayle# All known linkers require a `.a' archive for static linking (except MSVC, 218*9712c20fSFrederick Mayle# which needs '.lib'). 219*9712c20fSFrederick Maylelibext=a 220*9712c20fSFrederick Mayle 221*9712c20fSFrederick Maylewith_gnu_ld="$lt_cv_prog_gnu_ld" 222*9712c20fSFrederick Mayle 223*9712c20fSFrederick Mayleold_CC="$CC" 224*9712c20fSFrederick Mayleold_CFLAGS="$CFLAGS" 225*9712c20fSFrederick Mayle 226*9712c20fSFrederick Mayle# Set sane defaults for various variables 227*9712c20fSFrederick Mayletest -z "$CC" && CC=cc 228*9712c20fSFrederick Mayletest -z "$LTCC" && LTCC=$CC 229*9712c20fSFrederick Mayletest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS 230*9712c20fSFrederick Mayletest -z "$LD" && LD=ld 231*9712c20fSFrederick Mayletest -z "$ac_objext" && ac_objext=o 232*9712c20fSFrederick Mayle 233*9712c20fSFrederick Mayle_LT_CC_BASENAME([$compiler]) 234*9712c20fSFrederick Mayle 235*9712c20fSFrederick Mayle# Only perform the check for file, if the check method requires it 236*9712c20fSFrederick Mayletest -z "$MAGIC_CMD" && MAGIC_CMD=file 237*9712c20fSFrederick Maylecase $deplibs_check_method in 238*9712c20fSFrederick Maylefile_magic*) 239*9712c20fSFrederick Mayle if test "$file_magic_cmd" = '$MAGIC_CMD'; then 240*9712c20fSFrederick Mayle _LT_PATH_MAGIC 241*9712c20fSFrederick Mayle fi 242*9712c20fSFrederick Mayle ;; 243*9712c20fSFrederick Mayleesac 244*9712c20fSFrederick Mayle 245*9712c20fSFrederick Mayle# Use C for the default configuration in the libtool script 246*9712c20fSFrederick MayleLT_SUPPORTED_TAG([CC]) 247*9712c20fSFrederick Mayle_LT_LANG_C_CONFIG 248*9712c20fSFrederick Mayle_LT_LANG_DEFAULT_CONFIG 249*9712c20fSFrederick Mayle_LT_CONFIG_COMMANDS 250*9712c20fSFrederick Mayle])# _LT_SETUP 251*9712c20fSFrederick Mayle 252*9712c20fSFrederick Mayle 253*9712c20fSFrederick Mayle# _LT_PROG_LTMAIN 254*9712c20fSFrederick Mayle# --------------- 255*9712c20fSFrederick Mayle# Note that this code is called both from `configure', and `config.status' 256*9712c20fSFrederick Mayle# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, 257*9712c20fSFrederick Mayle# `config.status' has no value for ac_aux_dir unless we are using Automake, 258*9712c20fSFrederick Mayle# so we pass a copy along to make sure it has a sensible value anyway. 259*9712c20fSFrederick Maylem4_defun([_LT_PROG_LTMAIN], 260*9712c20fSFrederick Mayle[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl 261*9712c20fSFrederick Mayle_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) 262*9712c20fSFrederick Mayleltmain="$ac_aux_dir/ltmain.sh" 263*9712c20fSFrederick Mayle])# _LT_PROG_LTMAIN 264*9712c20fSFrederick Mayle 265*9712c20fSFrederick Mayle 266*9712c20fSFrederick Mayle## ------------------------------------- ## 267*9712c20fSFrederick Mayle## Accumulate code for creating libtool. ## 268*9712c20fSFrederick Mayle## ------------------------------------- ## 269*9712c20fSFrederick Mayle 270*9712c20fSFrederick Mayle# So that we can recreate a full libtool script including additional 271*9712c20fSFrederick Mayle# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS 272*9712c20fSFrederick Mayle# in macros and then make a single call at the end using the `libtool' 273*9712c20fSFrederick Mayle# label. 274*9712c20fSFrederick Mayle 275*9712c20fSFrederick Mayle 276*9712c20fSFrederick Mayle# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) 277*9712c20fSFrederick Mayle# ---------------------------------------- 278*9712c20fSFrederick Mayle# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. 279*9712c20fSFrederick Maylem4_define([_LT_CONFIG_LIBTOOL_INIT], 280*9712c20fSFrederick Mayle[m4_ifval([$1], 281*9712c20fSFrederick Mayle [m4_append([_LT_OUTPUT_LIBTOOL_INIT], 282*9712c20fSFrederick Mayle [$1 283*9712c20fSFrederick Mayle])])]) 284*9712c20fSFrederick Mayle 285*9712c20fSFrederick Mayle# Initialize. 286*9712c20fSFrederick Maylem4_define([_LT_OUTPUT_LIBTOOL_INIT]) 287*9712c20fSFrederick Mayle 288*9712c20fSFrederick Mayle 289*9712c20fSFrederick Mayle# _LT_CONFIG_LIBTOOL([COMMANDS]) 290*9712c20fSFrederick Mayle# ------------------------------ 291*9712c20fSFrederick Mayle# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. 292*9712c20fSFrederick Maylem4_define([_LT_CONFIG_LIBTOOL], 293*9712c20fSFrederick Mayle[m4_ifval([$1], 294*9712c20fSFrederick Mayle [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], 295*9712c20fSFrederick Mayle [$1 296*9712c20fSFrederick Mayle])])]) 297*9712c20fSFrederick Mayle 298*9712c20fSFrederick Mayle# Initialize. 299*9712c20fSFrederick Maylem4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) 300*9712c20fSFrederick Mayle 301*9712c20fSFrederick Mayle 302*9712c20fSFrederick Mayle# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) 303*9712c20fSFrederick Mayle# ----------------------------------------------------- 304*9712c20fSFrederick Maylem4_defun([_LT_CONFIG_SAVE_COMMANDS], 305*9712c20fSFrederick Mayle[_LT_CONFIG_LIBTOOL([$1]) 306*9712c20fSFrederick Mayle_LT_CONFIG_LIBTOOL_INIT([$2]) 307*9712c20fSFrederick Mayle]) 308*9712c20fSFrederick Mayle 309*9712c20fSFrederick Mayle 310*9712c20fSFrederick Mayle# _LT_FORMAT_COMMENT([COMMENT]) 311*9712c20fSFrederick Mayle# ----------------------------- 312*9712c20fSFrederick Mayle# Add leading comment marks to the start of each line, and a trailing 313*9712c20fSFrederick Mayle# full-stop to the whole comment if one is not present already. 314*9712c20fSFrederick Maylem4_define([_LT_FORMAT_COMMENT], 315*9712c20fSFrederick Mayle[m4_ifval([$1], [ 316*9712c20fSFrederick Maylem4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], 317*9712c20fSFrederick Mayle [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) 318*9712c20fSFrederick Mayle)]) 319*9712c20fSFrederick Mayle 320*9712c20fSFrederick Mayle 321*9712c20fSFrederick Mayle 322*9712c20fSFrederick Mayle## ------------------------ ## 323*9712c20fSFrederick Mayle## FIXME: Eliminate VARNAME ## 324*9712c20fSFrederick Mayle## ------------------------ ## 325*9712c20fSFrederick Mayle 326*9712c20fSFrederick Mayle 327*9712c20fSFrederick Mayle# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) 328*9712c20fSFrederick Mayle# ------------------------------------------------------------------- 329*9712c20fSFrederick Mayle# CONFIGNAME is the name given to the value in the libtool script. 330*9712c20fSFrederick Mayle# VARNAME is the (base) name used in the configure script. 331*9712c20fSFrederick Mayle# VALUE may be 0, 1 or 2 for a computed quote escaped value based on 332*9712c20fSFrederick Mayle# VARNAME. Any other value will be used directly. 333*9712c20fSFrederick Maylem4_define([_LT_DECL], 334*9712c20fSFrederick Mayle[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], 335*9712c20fSFrederick Mayle [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], 336*9712c20fSFrederick Mayle [m4_ifval([$1], [$1], [$2])]) 337*9712c20fSFrederick Mayle lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) 338*9712c20fSFrederick Mayle m4_ifval([$4], 339*9712c20fSFrederick Mayle [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) 340*9712c20fSFrederick Mayle lt_dict_add_subkey([lt_decl_dict], [$2], 341*9712c20fSFrederick Mayle [tagged?], [m4_ifval([$5], [yes], [no])])]) 342*9712c20fSFrederick Mayle]) 343*9712c20fSFrederick Mayle 344*9712c20fSFrederick Mayle 345*9712c20fSFrederick Mayle# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) 346*9712c20fSFrederick Mayle# -------------------------------------------------------- 347*9712c20fSFrederick Maylem4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) 348*9712c20fSFrederick Mayle 349*9712c20fSFrederick Mayle 350*9712c20fSFrederick Mayle# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) 351*9712c20fSFrederick Mayle# ------------------------------------------------ 352*9712c20fSFrederick Maylem4_define([lt_decl_tag_varnames], 353*9712c20fSFrederick Mayle[_lt_decl_filter([tagged?], [yes], $@)]) 354*9712c20fSFrederick Mayle 355*9712c20fSFrederick Mayle 356*9712c20fSFrederick Mayle# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) 357*9712c20fSFrederick Mayle# --------------------------------------------------------- 358*9712c20fSFrederick Maylem4_define([_lt_decl_filter], 359*9712c20fSFrederick Mayle[m4_case([$#], 360*9712c20fSFrederick Mayle [0], [m4_fatal([$0: too few arguments: $#])], 361*9712c20fSFrederick Mayle [1], [m4_fatal([$0: too few arguments: $#: $1])], 362*9712c20fSFrederick Mayle [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], 363*9712c20fSFrederick Mayle [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], 364*9712c20fSFrederick Mayle [lt_dict_filter([lt_decl_dict], $@)])[]dnl 365*9712c20fSFrederick Mayle]) 366*9712c20fSFrederick Mayle 367*9712c20fSFrederick Mayle 368*9712c20fSFrederick Mayle# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) 369*9712c20fSFrederick Mayle# -------------------------------------------------- 370*9712c20fSFrederick Maylem4_define([lt_decl_quote_varnames], 371*9712c20fSFrederick Mayle[_lt_decl_filter([value], [1], $@)]) 372*9712c20fSFrederick Mayle 373*9712c20fSFrederick Mayle 374*9712c20fSFrederick Mayle# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) 375*9712c20fSFrederick Mayle# --------------------------------------------------- 376*9712c20fSFrederick Maylem4_define([lt_decl_dquote_varnames], 377*9712c20fSFrederick Mayle[_lt_decl_filter([value], [2], $@)]) 378*9712c20fSFrederick Mayle 379*9712c20fSFrederick Mayle 380*9712c20fSFrederick Mayle# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) 381*9712c20fSFrederick Mayle# --------------------------------------------------- 382*9712c20fSFrederick Maylem4_define([lt_decl_varnames_tagged], 383*9712c20fSFrederick Mayle[m4_assert([$# <= 2])dnl 384*9712c20fSFrederick Mayle_$0(m4_quote(m4_default([$1], [[, ]])), 385*9712c20fSFrederick Mayle m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), 386*9712c20fSFrederick Mayle m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) 387*9712c20fSFrederick Maylem4_define([_lt_decl_varnames_tagged], 388*9712c20fSFrederick Mayle[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) 389*9712c20fSFrederick Mayle 390*9712c20fSFrederick Mayle 391*9712c20fSFrederick Mayle# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) 392*9712c20fSFrederick Mayle# ------------------------------------------------ 393*9712c20fSFrederick Maylem4_define([lt_decl_all_varnames], 394*9712c20fSFrederick Mayle[_$0(m4_quote(m4_default([$1], [[, ]])), 395*9712c20fSFrederick Mayle m4_if([$2], [], 396*9712c20fSFrederick Mayle m4_quote(lt_decl_varnames), 397*9712c20fSFrederick Mayle m4_quote(m4_shift($@))))[]dnl 398*9712c20fSFrederick Mayle]) 399*9712c20fSFrederick Maylem4_define([_lt_decl_all_varnames], 400*9712c20fSFrederick Mayle[lt_join($@, lt_decl_varnames_tagged([$1], 401*9712c20fSFrederick Mayle lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl 402*9712c20fSFrederick Mayle]) 403*9712c20fSFrederick Mayle 404*9712c20fSFrederick Mayle 405*9712c20fSFrederick Mayle# _LT_CONFIG_STATUS_DECLARE([VARNAME]) 406*9712c20fSFrederick Mayle# ------------------------------------ 407*9712c20fSFrederick Mayle# Quote a variable value, and forward it to `config.status' so that its 408*9712c20fSFrederick Mayle# declaration there will have the same value as in `configure'. VARNAME 409*9712c20fSFrederick Mayle# must have a single quote delimited value for this to work. 410*9712c20fSFrederick Maylem4_define([_LT_CONFIG_STATUS_DECLARE], 411*9712c20fSFrederick Mayle[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) 412*9712c20fSFrederick Mayle 413*9712c20fSFrederick Mayle 414*9712c20fSFrederick Mayle# _LT_CONFIG_STATUS_DECLARATIONS 415*9712c20fSFrederick Mayle# ------------------------------ 416*9712c20fSFrederick Mayle# We delimit libtool config variables with single quotes, so when 417*9712c20fSFrederick Mayle# we write them to config.status, we have to be sure to quote all 418*9712c20fSFrederick Mayle# embedded single quotes properly. In configure, this macro expands 419*9712c20fSFrederick Mayle# each variable declared with _LT_DECL (and _LT_TAGDECL) into: 420*9712c20fSFrederick Mayle# 421*9712c20fSFrederick Mayle# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' 422*9712c20fSFrederick Maylem4_defun([_LT_CONFIG_STATUS_DECLARATIONS], 423*9712c20fSFrederick Mayle[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), 424*9712c20fSFrederick Mayle [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) 425*9712c20fSFrederick Mayle 426*9712c20fSFrederick Mayle 427*9712c20fSFrederick Mayle# _LT_LIBTOOL_TAGS 428*9712c20fSFrederick Mayle# ---------------- 429*9712c20fSFrederick Mayle# Output comment and list of tags supported by the script 430*9712c20fSFrederick Maylem4_defun([_LT_LIBTOOL_TAGS], 431*9712c20fSFrederick Mayle[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl 432*9712c20fSFrederick Mayleavailable_tags="_LT_TAGS"dnl 433*9712c20fSFrederick Mayle]) 434*9712c20fSFrederick Mayle 435*9712c20fSFrederick Mayle 436*9712c20fSFrederick Mayle# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) 437*9712c20fSFrederick Mayle# ----------------------------------- 438*9712c20fSFrederick Mayle# Extract the dictionary values for VARNAME (optionally with TAG) and 439*9712c20fSFrederick Mayle# expand to a commented shell variable setting: 440*9712c20fSFrederick Mayle# 441*9712c20fSFrederick Mayle# # Some comment about what VAR is for. 442*9712c20fSFrederick Mayle# visible_name=$lt_internal_name 443*9712c20fSFrederick Maylem4_define([_LT_LIBTOOL_DECLARE], 444*9712c20fSFrederick Mayle[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], 445*9712c20fSFrederick Mayle [description])))[]dnl 446*9712c20fSFrederick Maylem4_pushdef([_libtool_name], 447*9712c20fSFrederick Mayle m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl 448*9712c20fSFrederick Maylem4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), 449*9712c20fSFrederick Mayle [0], [_libtool_name=[$]$1], 450*9712c20fSFrederick Mayle [1], [_libtool_name=$lt_[]$1], 451*9712c20fSFrederick Mayle [2], [_libtool_name=$lt_[]$1], 452*9712c20fSFrederick Mayle [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl 453*9712c20fSFrederick Maylem4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl 454*9712c20fSFrederick Mayle]) 455*9712c20fSFrederick Mayle 456*9712c20fSFrederick Mayle 457*9712c20fSFrederick Mayle# _LT_LIBTOOL_CONFIG_VARS 458*9712c20fSFrederick Mayle# ----------------------- 459*9712c20fSFrederick Mayle# Produce commented declarations of non-tagged libtool config variables 460*9712c20fSFrederick Mayle# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' 461*9712c20fSFrederick Mayle# script. Tagged libtool config variables (even for the LIBTOOL CONFIG 462*9712c20fSFrederick Mayle# section) are produced by _LT_LIBTOOL_TAG_VARS. 463*9712c20fSFrederick Maylem4_defun([_LT_LIBTOOL_CONFIG_VARS], 464*9712c20fSFrederick Mayle[m4_foreach([_lt_var], 465*9712c20fSFrederick Mayle m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), 466*9712c20fSFrederick Mayle [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) 467*9712c20fSFrederick Mayle 468*9712c20fSFrederick Mayle 469*9712c20fSFrederick Mayle# _LT_LIBTOOL_TAG_VARS(TAG) 470*9712c20fSFrederick Mayle# ------------------------- 471*9712c20fSFrederick Maylem4_define([_LT_LIBTOOL_TAG_VARS], 472*9712c20fSFrederick Mayle[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), 473*9712c20fSFrederick Mayle [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) 474*9712c20fSFrederick Mayle 475*9712c20fSFrederick Mayle 476*9712c20fSFrederick Mayle# _LT_TAGVAR(VARNAME, [TAGNAME]) 477*9712c20fSFrederick Mayle# ------------------------------ 478*9712c20fSFrederick Maylem4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) 479*9712c20fSFrederick Mayle 480*9712c20fSFrederick Mayle 481*9712c20fSFrederick Mayle# _LT_CONFIG_COMMANDS 482*9712c20fSFrederick Mayle# ------------------- 483*9712c20fSFrederick Mayle# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of 484*9712c20fSFrederick Mayle# variables for single and double quote escaping we saved from calls 485*9712c20fSFrederick Mayle# to _LT_DECL, we can put quote escaped variables declarations 486*9712c20fSFrederick Mayle# into `config.status', and then the shell code to quote escape them in 487*9712c20fSFrederick Mayle# for loops in `config.status'. Finally, any additional code accumulated 488*9712c20fSFrederick Mayle# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. 489*9712c20fSFrederick Maylem4_defun([_LT_CONFIG_COMMANDS], 490*9712c20fSFrederick Mayle[AC_PROVIDE_IFELSE([LT_OUTPUT], 491*9712c20fSFrederick Mayle dnl If the libtool generation code has been placed in $CONFIG_LT, 492*9712c20fSFrederick Mayle dnl instead of duplicating it all over again into config.status, 493*9712c20fSFrederick Mayle dnl then we will have config.status run $CONFIG_LT later, so it 494*9712c20fSFrederick Mayle dnl needs to know what name is stored there: 495*9712c20fSFrederick Mayle [AC_CONFIG_COMMANDS([libtool], 496*9712c20fSFrederick Mayle [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], 497*9712c20fSFrederick Mayle dnl If the libtool generation code is destined for config.status, 498*9712c20fSFrederick Mayle dnl expand the accumulated commands and init code now: 499*9712c20fSFrederick Mayle [AC_CONFIG_COMMANDS([libtool], 500*9712c20fSFrederick Mayle [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) 501*9712c20fSFrederick Mayle])#_LT_CONFIG_COMMANDS 502*9712c20fSFrederick Mayle 503*9712c20fSFrederick Mayle 504*9712c20fSFrederick Mayle# Initialize. 505*9712c20fSFrederick Maylem4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], 506*9712c20fSFrederick Mayle[ 507*9712c20fSFrederick Mayle 508*9712c20fSFrederick Mayle# The HP-UX ksh and POSIX shell print the target directory to stdout 509*9712c20fSFrederick Mayle# if CDPATH is set. 510*9712c20fSFrederick Mayle(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 511*9712c20fSFrederick Mayle 512*9712c20fSFrederick Maylesed_quote_subst='$sed_quote_subst' 513*9712c20fSFrederick Mayledouble_quote_subst='$double_quote_subst' 514*9712c20fSFrederick Mayledelay_variable_subst='$delay_variable_subst' 515*9712c20fSFrederick Mayle_LT_CONFIG_STATUS_DECLARATIONS 516*9712c20fSFrederick MayleLTCC='$LTCC' 517*9712c20fSFrederick MayleLTCFLAGS='$LTCFLAGS' 518*9712c20fSFrederick Maylecompiler='$compiler_DEFAULT' 519*9712c20fSFrederick Mayle 520*9712c20fSFrederick Mayle# Quote evaled strings. 521*9712c20fSFrederick Maylefor var in lt_decl_all_varnames([[ \ 522*9712c20fSFrederick Mayle]], lt_decl_quote_varnames); do 523*9712c20fSFrederick Mayle case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in 524*9712c20fSFrederick Mayle *[[\\\\\\\`\\"\\\$]]*) 525*9712c20fSFrederick Mayle eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" 526*9712c20fSFrederick Mayle ;; 527*9712c20fSFrederick Mayle *) 528*9712c20fSFrederick Mayle eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 529*9712c20fSFrederick Mayle ;; 530*9712c20fSFrederick Mayle esac 531*9712c20fSFrederick Mayledone 532*9712c20fSFrederick Mayle 533*9712c20fSFrederick Mayle# Double-quote double-evaled strings. 534*9712c20fSFrederick Maylefor var in lt_decl_all_varnames([[ \ 535*9712c20fSFrederick Mayle]], lt_decl_dquote_varnames); do 536*9712c20fSFrederick Mayle case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in 537*9712c20fSFrederick Mayle *[[\\\\\\\`\\"\\\$]]*) 538*9712c20fSFrederick Mayle eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" 539*9712c20fSFrederick Mayle ;; 540*9712c20fSFrederick Mayle *) 541*9712c20fSFrederick Mayle eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" 542*9712c20fSFrederick Mayle ;; 543*9712c20fSFrederick Mayle esac 544*9712c20fSFrederick Mayledone 545*9712c20fSFrederick Mayle 546*9712c20fSFrederick Mayle# Fix-up fallback echo if it was mangled by the above quoting rules. 547*9712c20fSFrederick Maylecase \$lt_ECHO in 548*9712c20fSFrederick Mayle*'\\\[$]0 --fallback-echo"')dnl " 549*9712c20fSFrederick Mayle lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` 550*9712c20fSFrederick Mayle ;; 551*9712c20fSFrederick Mayleesac 552*9712c20fSFrederick Mayle 553*9712c20fSFrederick Mayle_LT_OUTPUT_LIBTOOL_INIT 554*9712c20fSFrederick Mayle]) 555*9712c20fSFrederick Mayle 556*9712c20fSFrederick Mayle 557*9712c20fSFrederick Mayle# LT_OUTPUT 558*9712c20fSFrederick Mayle# --------- 559*9712c20fSFrederick Mayle# This macro allows early generation of the libtool script (before 560*9712c20fSFrederick Mayle# AC_OUTPUT is called), incase it is used in configure for compilation 561*9712c20fSFrederick Mayle# tests. 562*9712c20fSFrederick MayleAC_DEFUN([LT_OUTPUT], 563*9712c20fSFrederick Mayle[: ${CONFIG_LT=./config.lt} 564*9712c20fSFrederick MayleAC_MSG_NOTICE([creating $CONFIG_LT]) 565*9712c20fSFrederick Maylecat >"$CONFIG_LT" <<_LTEOF 566*9712c20fSFrederick Mayle#! $SHELL 567*9712c20fSFrederick Mayle# Generated by $as_me. 568*9712c20fSFrederick Mayle# Run this file to recreate a libtool stub with the current configuration. 569*9712c20fSFrederick Mayle 570*9712c20fSFrederick Maylelt_cl_silent=false 571*9712c20fSFrederick MayleSHELL=\${CONFIG_SHELL-$SHELL} 572*9712c20fSFrederick Mayle_LTEOF 573*9712c20fSFrederick Mayle 574*9712c20fSFrederick Maylecat >>"$CONFIG_LT" <<\_LTEOF 575*9712c20fSFrederick MayleAS_SHELL_SANITIZE 576*9712c20fSFrederick Mayle_AS_PREPARE 577*9712c20fSFrederick Mayle 578*9712c20fSFrederick Mayleexec AS_MESSAGE_FD>&1 579*9712c20fSFrederick Mayleexec AS_MESSAGE_LOG_FD>>config.log 580*9712c20fSFrederick Mayle{ 581*9712c20fSFrederick Mayle echo 582*9712c20fSFrederick Mayle AS_BOX([Running $as_me.]) 583*9712c20fSFrederick Mayle} >&AS_MESSAGE_LOG_FD 584*9712c20fSFrederick Mayle 585*9712c20fSFrederick Maylelt_cl_help="\ 586*9712c20fSFrederick Mayle\`$as_me' creates a local libtool stub from the current configuration, 587*9712c20fSFrederick Maylefor use in further configure time tests before the real libtool is 588*9712c20fSFrederick Maylegenerated. 589*9712c20fSFrederick Mayle 590*9712c20fSFrederick MayleUsage: $[0] [[OPTIONS]] 591*9712c20fSFrederick Mayle 592*9712c20fSFrederick Mayle -h, --help print this help, then exit 593*9712c20fSFrederick Mayle -V, --version print version number, then exit 594*9712c20fSFrederick Mayle -q, --quiet do not print progress messages 595*9712c20fSFrederick Mayle -d, --debug don't remove temporary files 596*9712c20fSFrederick Mayle 597*9712c20fSFrederick MayleReport bugs to <[email protected]>." 598*9712c20fSFrederick Mayle 599*9712c20fSFrederick Maylelt_cl_version="\ 600*9712c20fSFrederick Maylem4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl 601*9712c20fSFrederick Maylem4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) 602*9712c20fSFrederick Mayleconfigured by $[0], generated by m4_PACKAGE_STRING. 603*9712c20fSFrederick Mayle 604*9712c20fSFrederick MayleCopyright (C) 2008 Free Software Foundation, Inc. 605*9712c20fSFrederick MayleThis config.lt script is free software; the Free Software Foundation 606*9712c20fSFrederick Maylegives unlimited permision to copy, distribute and modify it." 607*9712c20fSFrederick Mayle 608*9712c20fSFrederick Maylewhile test $[#] != 0 609*9712c20fSFrederick Mayledo 610*9712c20fSFrederick Mayle case $[1] in 611*9712c20fSFrederick Mayle --version | --v* | -V ) 612*9712c20fSFrederick Mayle echo "$lt_cl_version"; exit 0 ;; 613*9712c20fSFrederick Mayle --help | --h* | -h ) 614*9712c20fSFrederick Mayle echo "$lt_cl_help"; exit 0 ;; 615*9712c20fSFrederick Mayle --debug | --d* | -d ) 616*9712c20fSFrederick Mayle debug=: ;; 617*9712c20fSFrederick Mayle --quiet | --q* | --silent | --s* | -q ) 618*9712c20fSFrederick Mayle lt_cl_silent=: ;; 619*9712c20fSFrederick Mayle 620*9712c20fSFrederick Mayle -*) AC_MSG_ERROR([unrecognized option: $[1] 621*9712c20fSFrederick MayleTry \`$[0] --help' for more information.]) ;; 622*9712c20fSFrederick Mayle 623*9712c20fSFrederick Mayle *) AC_MSG_ERROR([unrecognized argument: $[1] 624*9712c20fSFrederick MayleTry \`$[0] --help' for more information.]) ;; 625*9712c20fSFrederick Mayle esac 626*9712c20fSFrederick Mayle shift 627*9712c20fSFrederick Mayledone 628*9712c20fSFrederick Mayle 629*9712c20fSFrederick Mayleif $lt_cl_silent; then 630*9712c20fSFrederick Mayle exec AS_MESSAGE_FD>/dev/null 631*9712c20fSFrederick Maylefi 632*9712c20fSFrederick Mayle_LTEOF 633*9712c20fSFrederick Mayle 634*9712c20fSFrederick Maylecat >>"$CONFIG_LT" <<_LTEOF 635*9712c20fSFrederick Mayle_LT_OUTPUT_LIBTOOL_COMMANDS_INIT 636*9712c20fSFrederick Mayle_LTEOF 637*9712c20fSFrederick Mayle 638*9712c20fSFrederick Maylecat >>"$CONFIG_LT" <<\_LTEOF 639*9712c20fSFrederick MayleAC_MSG_NOTICE([creating $ofile]) 640*9712c20fSFrederick Mayle_LT_OUTPUT_LIBTOOL_COMMANDS 641*9712c20fSFrederick MayleAS_EXIT(0) 642*9712c20fSFrederick Mayle_LTEOF 643*9712c20fSFrederick Maylechmod +x "$CONFIG_LT" 644*9712c20fSFrederick Mayle 645*9712c20fSFrederick Mayle# configure is writing to config.log, but config.lt does its own redirection, 646*9712c20fSFrederick Mayle# appending to config.log, which fails on DOS, as config.log is still kept 647*9712c20fSFrederick Mayle# open by configure. Here we exec the FD to /dev/null, effectively closing 648*9712c20fSFrederick Mayle# config.log, so it can be properly (re)opened and appended to by config.lt. 649*9712c20fSFrederick Mayleif test "$no_create" != yes; then 650*9712c20fSFrederick Mayle lt_cl_success=: 651*9712c20fSFrederick Mayle test "$silent" = yes && 652*9712c20fSFrederick Mayle lt_config_lt_args="$lt_config_lt_args --quiet" 653*9712c20fSFrederick Mayle exec AS_MESSAGE_LOG_FD>/dev/null 654*9712c20fSFrederick Mayle $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false 655*9712c20fSFrederick Mayle exec AS_MESSAGE_LOG_FD>>config.log 656*9712c20fSFrederick Mayle $lt_cl_success || AS_EXIT(1) 657*9712c20fSFrederick Maylefi 658*9712c20fSFrederick Mayle])# LT_OUTPUT 659*9712c20fSFrederick Mayle 660*9712c20fSFrederick Mayle 661*9712c20fSFrederick Mayle# _LT_CONFIG(TAG) 662*9712c20fSFrederick Mayle# --------------- 663*9712c20fSFrederick Mayle# If TAG is the built-in tag, create an initial libtool script with a 664*9712c20fSFrederick Mayle# default configuration from the untagged config vars. Otherwise add code 665*9712c20fSFrederick Mayle# to config.status for appending the configuration named by TAG from the 666*9712c20fSFrederick Mayle# matching tagged config vars. 667*9712c20fSFrederick Maylem4_defun([_LT_CONFIG], 668*9712c20fSFrederick Mayle[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 669*9712c20fSFrederick Mayle_LT_CONFIG_SAVE_COMMANDS([ 670*9712c20fSFrederick Mayle m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl 671*9712c20fSFrederick Mayle m4_if(_LT_TAG, [C], [ 672*9712c20fSFrederick Mayle # See if we are running on zsh, and set the options which allow our 673*9712c20fSFrederick Mayle # commands through without removal of \ escapes. 674*9712c20fSFrederick Mayle if test -n "${ZSH_VERSION+set}" ; then 675*9712c20fSFrederick Mayle setopt NO_GLOB_SUBST 676*9712c20fSFrederick Mayle fi 677*9712c20fSFrederick Mayle 678*9712c20fSFrederick Mayle cfgfile="${ofile}T" 679*9712c20fSFrederick Mayle trap "$RM \"$cfgfile\"; exit 1" 1 2 15 680*9712c20fSFrederick Mayle $RM "$cfgfile" 681*9712c20fSFrederick Mayle 682*9712c20fSFrederick Mayle cat <<_LT_EOF >> "$cfgfile" 683*9712c20fSFrederick Mayle#! $SHELL 684*9712c20fSFrederick Mayle 685*9712c20fSFrederick Mayle# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. 686*9712c20fSFrederick Mayle# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION 687*9712c20fSFrederick Mayle# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 688*9712c20fSFrederick Mayle# NOTE: Changes made to this file will be lost: look at ltmain.sh. 689*9712c20fSFrederick Mayle# 690*9712c20fSFrederick Mayle_LT_COPYING 691*9712c20fSFrederick Mayle_LT_LIBTOOL_TAGS 692*9712c20fSFrederick Mayle 693*9712c20fSFrederick Mayle# ### BEGIN LIBTOOL CONFIG 694*9712c20fSFrederick Mayle_LT_LIBTOOL_CONFIG_VARS 695*9712c20fSFrederick Mayle_LT_LIBTOOL_TAG_VARS 696*9712c20fSFrederick Mayle# ### END LIBTOOL CONFIG 697*9712c20fSFrederick Mayle 698*9712c20fSFrederick Mayle_LT_EOF 699*9712c20fSFrederick Mayle 700*9712c20fSFrederick Mayle case $host_os in 701*9712c20fSFrederick Mayle aix3*) 702*9712c20fSFrederick Mayle cat <<\_LT_EOF >> "$cfgfile" 703*9712c20fSFrederick Mayle# AIX sometimes has problems with the GCC collect2 program. For some 704*9712c20fSFrederick Mayle# reason, if we set the COLLECT_NAMES environment variable, the problems 705*9712c20fSFrederick Mayle# vanish in a puff of smoke. 706*9712c20fSFrederick Mayleif test "X${COLLECT_NAMES+set}" != Xset; then 707*9712c20fSFrederick Mayle COLLECT_NAMES= 708*9712c20fSFrederick Mayle export COLLECT_NAMES 709*9712c20fSFrederick Maylefi 710*9712c20fSFrederick Mayle_LT_EOF 711*9712c20fSFrederick Mayle ;; 712*9712c20fSFrederick Mayle esac 713*9712c20fSFrederick Mayle 714*9712c20fSFrederick Mayle _LT_PROG_LTMAIN 715*9712c20fSFrederick Mayle 716*9712c20fSFrederick Mayle # We use sed instead of cat because bash on DJGPP gets confused if 717*9712c20fSFrederick Mayle # if finds mixed CR/LF and LF-only lines. Since sed operates in 718*9712c20fSFrederick Mayle # text mode, it properly converts lines to CR/LF. This bash problem 719*9712c20fSFrederick Mayle # is reportedly fixed, but why not run on old versions too? 720*9712c20fSFrederick Mayle sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ 721*9712c20fSFrederick Mayle || (rm -f "$cfgfile"; exit 1) 722*9712c20fSFrederick Mayle 723*9712c20fSFrederick Mayle _LT_PROG_XSI_SHELLFNS 724*9712c20fSFrederick Mayle 725*9712c20fSFrederick Mayle sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ 726*9712c20fSFrederick Mayle || (rm -f "$cfgfile"; exit 1) 727*9712c20fSFrederick Mayle 728*9712c20fSFrederick Mayle mv -f "$cfgfile" "$ofile" || 729*9712c20fSFrederick Mayle (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") 730*9712c20fSFrederick Mayle chmod +x "$ofile" 731*9712c20fSFrederick Mayle], 732*9712c20fSFrederick Mayle[cat <<_LT_EOF >> "$ofile" 733*9712c20fSFrederick Mayle 734*9712c20fSFrederick Maylednl Unfortunately we have to use $1 here, since _LT_TAG is not expanded 735*9712c20fSFrederick Maylednl in a comment (ie after a #). 736*9712c20fSFrederick Mayle# ### BEGIN LIBTOOL TAG CONFIG: $1 737*9712c20fSFrederick Mayle_LT_LIBTOOL_TAG_VARS(_LT_TAG) 738*9712c20fSFrederick Mayle# ### END LIBTOOL TAG CONFIG: $1 739*9712c20fSFrederick Mayle_LT_EOF 740*9712c20fSFrederick Mayle])dnl /m4_if 741*9712c20fSFrederick Mayle], 742*9712c20fSFrederick Mayle[m4_if([$1], [], [ 743*9712c20fSFrederick Mayle PACKAGE='$PACKAGE' 744*9712c20fSFrederick Mayle VERSION='$VERSION' 745*9712c20fSFrederick Mayle TIMESTAMP='$TIMESTAMP' 746*9712c20fSFrederick Mayle RM='$RM' 747*9712c20fSFrederick Mayle ofile='$ofile'], []) 748*9712c20fSFrederick Mayle])dnl /_LT_CONFIG_SAVE_COMMANDS 749*9712c20fSFrederick Mayle])# _LT_CONFIG 750*9712c20fSFrederick Mayle 751*9712c20fSFrederick Mayle 752*9712c20fSFrederick Mayle# LT_SUPPORTED_TAG(TAG) 753*9712c20fSFrederick Mayle# --------------------- 754*9712c20fSFrederick Mayle# Trace this macro to discover what tags are supported by the libtool 755*9712c20fSFrederick Mayle# --tag option, using: 756*9712c20fSFrederick Mayle# autoconf --trace 'LT_SUPPORTED_TAG:$1' 757*9712c20fSFrederick MayleAC_DEFUN([LT_SUPPORTED_TAG], []) 758*9712c20fSFrederick Mayle 759*9712c20fSFrederick Mayle 760*9712c20fSFrederick Mayle# C support is built-in for now 761*9712c20fSFrederick Maylem4_define([_LT_LANG_C_enabled], []) 762*9712c20fSFrederick Maylem4_define([_LT_TAGS], []) 763*9712c20fSFrederick Mayle 764*9712c20fSFrederick Mayle 765*9712c20fSFrederick Mayle# LT_LANG(LANG) 766*9712c20fSFrederick Mayle# ------------- 767*9712c20fSFrederick Mayle# Enable libtool support for the given language if not already enabled. 768*9712c20fSFrederick MayleAC_DEFUN([LT_LANG], 769*9712c20fSFrederick Mayle[AC_BEFORE([$0], [LT_OUTPUT])dnl 770*9712c20fSFrederick Maylem4_case([$1], 771*9712c20fSFrederick Mayle [C], [_LT_LANG(C)], 772*9712c20fSFrederick Mayle [C++], [_LT_LANG(CXX)], 773*9712c20fSFrederick Mayle [Java], [_LT_LANG(GCJ)], 774*9712c20fSFrederick Mayle [Fortran 77], [_LT_LANG(F77)], 775*9712c20fSFrederick Mayle [Fortran], [_LT_LANG(FC)], 776*9712c20fSFrederick Mayle [Windows Resource], [_LT_LANG(RC)], 777*9712c20fSFrederick Mayle [m4_ifdef([_LT_LANG_]$1[_CONFIG], 778*9712c20fSFrederick Mayle [_LT_LANG($1)], 779*9712c20fSFrederick Mayle [m4_fatal([$0: unsupported language: "$1"])])])dnl 780*9712c20fSFrederick Mayle])# LT_LANG 781*9712c20fSFrederick Mayle 782*9712c20fSFrederick Mayle 783*9712c20fSFrederick Mayle# _LT_LANG(LANGNAME) 784*9712c20fSFrederick Mayle# ------------------ 785*9712c20fSFrederick Maylem4_defun([_LT_LANG], 786*9712c20fSFrederick Mayle[m4_ifdef([_LT_LANG_]$1[_enabled], [], 787*9712c20fSFrederick Mayle [LT_SUPPORTED_TAG([$1])dnl 788*9712c20fSFrederick Mayle m4_append([_LT_TAGS], [$1 ])dnl 789*9712c20fSFrederick Mayle m4_define([_LT_LANG_]$1[_enabled], [])dnl 790*9712c20fSFrederick Mayle _LT_LANG_$1_CONFIG($1)])dnl 791*9712c20fSFrederick Mayle])# _LT_LANG 792*9712c20fSFrederick Mayle 793*9712c20fSFrederick Mayle 794*9712c20fSFrederick Mayle# _LT_LANG_DEFAULT_CONFIG 795*9712c20fSFrederick Mayle# ----------------------- 796*9712c20fSFrederick Maylem4_defun([_LT_LANG_DEFAULT_CONFIG], 797*9712c20fSFrederick Mayle[AC_PROVIDE_IFELSE([AC_PROG_CXX], 798*9712c20fSFrederick Mayle [LT_LANG(CXX)], 799*9712c20fSFrederick Mayle [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) 800*9712c20fSFrederick Mayle 801*9712c20fSFrederick MayleAC_PROVIDE_IFELSE([AC_PROG_F77], 802*9712c20fSFrederick Mayle [LT_LANG(F77)], 803*9712c20fSFrederick Mayle [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) 804*9712c20fSFrederick Mayle 805*9712c20fSFrederick MayleAC_PROVIDE_IFELSE([AC_PROG_FC], 806*9712c20fSFrederick Mayle [LT_LANG(FC)], 807*9712c20fSFrederick Mayle [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) 808*9712c20fSFrederick Mayle 809*9712c20fSFrederick Maylednl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal 810*9712c20fSFrederick Maylednl pulling things in needlessly. 811*9712c20fSFrederick MayleAC_PROVIDE_IFELSE([AC_PROG_GCJ], 812*9712c20fSFrederick Mayle [LT_LANG(GCJ)], 813*9712c20fSFrederick Mayle [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], 814*9712c20fSFrederick Mayle [LT_LANG(GCJ)], 815*9712c20fSFrederick Mayle [AC_PROVIDE_IFELSE([LT_PROG_GCJ], 816*9712c20fSFrederick Mayle [LT_LANG(GCJ)], 817*9712c20fSFrederick Mayle [m4_ifdef([AC_PROG_GCJ], 818*9712c20fSFrederick Mayle [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) 819*9712c20fSFrederick Mayle m4_ifdef([A][M_PROG_GCJ], 820*9712c20fSFrederick Mayle [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) 821*9712c20fSFrederick Mayle m4_ifdef([LT_PROG_GCJ], 822*9712c20fSFrederick Mayle [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) 823*9712c20fSFrederick Mayle 824*9712c20fSFrederick MayleAC_PROVIDE_IFELSE([LT_PROG_RC], 825*9712c20fSFrederick Mayle [LT_LANG(RC)], 826*9712c20fSFrederick Mayle [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) 827*9712c20fSFrederick Mayle])# _LT_LANG_DEFAULT_CONFIG 828*9712c20fSFrederick Mayle 829*9712c20fSFrederick Mayle# Obsolete macros: 830*9712c20fSFrederick MayleAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) 831*9712c20fSFrederick MayleAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) 832*9712c20fSFrederick MayleAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) 833*9712c20fSFrederick MayleAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) 834*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 835*9712c20fSFrederick Maylednl AC_DEFUN([AC_LIBTOOL_CXX], []) 836*9712c20fSFrederick Maylednl AC_DEFUN([AC_LIBTOOL_F77], []) 837*9712c20fSFrederick Maylednl AC_DEFUN([AC_LIBTOOL_FC], []) 838*9712c20fSFrederick Maylednl AC_DEFUN([AC_LIBTOOL_GCJ], []) 839*9712c20fSFrederick Mayle 840*9712c20fSFrederick Mayle 841*9712c20fSFrederick Mayle# _LT_TAG_COMPILER 842*9712c20fSFrederick Mayle# ---------------- 843*9712c20fSFrederick Maylem4_defun([_LT_TAG_COMPILER], 844*9712c20fSFrederick Mayle[AC_REQUIRE([AC_PROG_CC])dnl 845*9712c20fSFrederick Mayle 846*9712c20fSFrederick Mayle_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl 847*9712c20fSFrederick Mayle_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl 848*9712c20fSFrederick Mayle_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl 849*9712c20fSFrederick Mayle_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl 850*9712c20fSFrederick Mayle 851*9712c20fSFrederick Mayle# If no C compiler was specified, use CC. 852*9712c20fSFrederick MayleLTCC=${LTCC-"$CC"} 853*9712c20fSFrederick Mayle 854*9712c20fSFrederick Mayle# If no C compiler flags were specified, use CFLAGS. 855*9712c20fSFrederick MayleLTCFLAGS=${LTCFLAGS-"$CFLAGS"} 856*9712c20fSFrederick Mayle 857*9712c20fSFrederick Mayle# Allow CC to be a program name with arguments. 858*9712c20fSFrederick Maylecompiler=$CC 859*9712c20fSFrederick Mayle])# _LT_TAG_COMPILER 860*9712c20fSFrederick Mayle 861*9712c20fSFrederick Mayle 862*9712c20fSFrederick Mayle# _LT_COMPILER_BOILERPLATE 863*9712c20fSFrederick Mayle# ------------------------ 864*9712c20fSFrederick Mayle# Check for compiler boilerplate output or warnings with 865*9712c20fSFrederick Mayle# the simple compiler test code. 866*9712c20fSFrederick Maylem4_defun([_LT_COMPILER_BOILERPLATE], 867*9712c20fSFrederick Mayle[m4_require([_LT_DECL_SED])dnl 868*9712c20fSFrederick Mayleac_outfile=conftest.$ac_objext 869*9712c20fSFrederick Mayleecho "$lt_simple_compile_test_code" >conftest.$ac_ext 870*9712c20fSFrederick Mayleeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 871*9712c20fSFrederick Mayle_lt_compiler_boilerplate=`cat conftest.err` 872*9712c20fSFrederick Mayle$RM conftest* 873*9712c20fSFrederick Mayle])# _LT_COMPILER_BOILERPLATE 874*9712c20fSFrederick Mayle 875*9712c20fSFrederick Mayle 876*9712c20fSFrederick Mayle# _LT_LINKER_BOILERPLATE 877*9712c20fSFrederick Mayle# ---------------------- 878*9712c20fSFrederick Mayle# Check for linker boilerplate output or warnings with 879*9712c20fSFrederick Mayle# the simple link test code. 880*9712c20fSFrederick Maylem4_defun([_LT_LINKER_BOILERPLATE], 881*9712c20fSFrederick Mayle[m4_require([_LT_DECL_SED])dnl 882*9712c20fSFrederick Mayleac_outfile=conftest.$ac_objext 883*9712c20fSFrederick Mayleecho "$lt_simple_link_test_code" >conftest.$ac_ext 884*9712c20fSFrederick Mayleeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err 885*9712c20fSFrederick Mayle_lt_linker_boilerplate=`cat conftest.err` 886*9712c20fSFrederick Mayle$RM -r conftest* 887*9712c20fSFrederick Mayle])# _LT_LINKER_BOILERPLATE 888*9712c20fSFrederick Mayle 889*9712c20fSFrederick Mayle# _LT_REQUIRED_DARWIN_CHECKS 890*9712c20fSFrederick Mayle# ------------------------- 891*9712c20fSFrederick Maylem4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ 892*9712c20fSFrederick Mayle case $host_os in 893*9712c20fSFrederick Mayle rhapsody* | darwin*) 894*9712c20fSFrederick Mayle AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) 895*9712c20fSFrederick Mayle AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) 896*9712c20fSFrederick Mayle AC_CHECK_TOOL([LIPO], [lipo], [:]) 897*9712c20fSFrederick Mayle AC_CHECK_TOOL([OTOOL], [otool], [:]) 898*9712c20fSFrederick Mayle AC_CHECK_TOOL([OTOOL64], [otool64], [:]) 899*9712c20fSFrederick Mayle _LT_DECL([], [DSYMUTIL], [1], 900*9712c20fSFrederick Mayle [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) 901*9712c20fSFrederick Mayle _LT_DECL([], [NMEDIT], [1], 902*9712c20fSFrederick Mayle [Tool to change global to local symbols on Mac OS X]) 903*9712c20fSFrederick Mayle _LT_DECL([], [LIPO], [1], 904*9712c20fSFrederick Mayle [Tool to manipulate fat objects and archives on Mac OS X]) 905*9712c20fSFrederick Mayle _LT_DECL([], [OTOOL], [1], 906*9712c20fSFrederick Mayle [ldd/readelf like tool for Mach-O binaries on Mac OS X]) 907*9712c20fSFrederick Mayle _LT_DECL([], [OTOOL64], [1], 908*9712c20fSFrederick Mayle [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) 909*9712c20fSFrederick Mayle 910*9712c20fSFrederick Mayle AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], 911*9712c20fSFrederick Mayle [lt_cv_apple_cc_single_mod=no 912*9712c20fSFrederick Mayle if test -z "${LT_MULTI_MODULE}"; then 913*9712c20fSFrederick Mayle # By default we will add the -single_module flag. You can override 914*9712c20fSFrederick Mayle # by either setting the environment variable LT_MULTI_MODULE 915*9712c20fSFrederick Mayle # non-empty at configure time, or by adding -multi_module to the 916*9712c20fSFrederick Mayle # link flags. 917*9712c20fSFrederick Mayle rm -rf libconftest.dylib* 918*9712c20fSFrederick Mayle echo "int foo(void){return 1;}" > conftest.c 919*9712c20fSFrederick Mayle echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 920*9712c20fSFrederick Mayle-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD 921*9712c20fSFrederick Mayle $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ 922*9712c20fSFrederick Mayle -dynamiclib -Wl,-single_module conftest.c 2>conftest.err 923*9712c20fSFrederick Mayle _lt_result=$? 924*9712c20fSFrederick Mayle if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then 925*9712c20fSFrederick Mayle lt_cv_apple_cc_single_mod=yes 926*9712c20fSFrederick Mayle else 927*9712c20fSFrederick Mayle cat conftest.err >&AS_MESSAGE_LOG_FD 928*9712c20fSFrederick Mayle fi 929*9712c20fSFrederick Mayle rm -rf libconftest.dylib* 930*9712c20fSFrederick Mayle rm -f conftest.* 931*9712c20fSFrederick Mayle fi]) 932*9712c20fSFrederick Mayle AC_CACHE_CHECK([for -exported_symbols_list linker flag], 933*9712c20fSFrederick Mayle [lt_cv_ld_exported_symbols_list], 934*9712c20fSFrederick Mayle [lt_cv_ld_exported_symbols_list=no 935*9712c20fSFrederick Mayle save_LDFLAGS=$LDFLAGS 936*9712c20fSFrederick Mayle echo "_main" > conftest.sym 937*9712c20fSFrederick Mayle LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" 938*9712c20fSFrederick Mayle AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 939*9712c20fSFrederick Mayle [lt_cv_ld_exported_symbols_list=yes], 940*9712c20fSFrederick Mayle [lt_cv_ld_exported_symbols_list=no]) 941*9712c20fSFrederick Mayle LDFLAGS="$save_LDFLAGS" 942*9712c20fSFrederick Mayle ]) 943*9712c20fSFrederick Mayle case $host_os in 944*9712c20fSFrederick Mayle rhapsody* | darwin1.[[012]]) 945*9712c20fSFrederick Mayle _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; 946*9712c20fSFrederick Mayle darwin1.*) 947*9712c20fSFrederick Mayle _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 948*9712c20fSFrederick Mayle darwin*) # darwin 5.x on 949*9712c20fSFrederick Mayle # if running on 10.5 or later, the deployment target defaults 950*9712c20fSFrederick Mayle # to the OS version, if on x86, and 10.4, the deployment 951*9712c20fSFrederick Mayle # target defaults to 10.4. Don't you love it? 952*9712c20fSFrederick Mayle case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 953*9712c20fSFrederick Mayle 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) 954*9712c20fSFrederick Mayle _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 955*9712c20fSFrederick Mayle 10.[[012]]*) 956*9712c20fSFrederick Mayle _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 957*9712c20fSFrederick Mayle 10.*) 958*9712c20fSFrederick Mayle _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 959*9712c20fSFrederick Mayle esac 960*9712c20fSFrederick Mayle ;; 961*9712c20fSFrederick Mayle esac 962*9712c20fSFrederick Mayle if test "$lt_cv_apple_cc_single_mod" = "yes"; then 963*9712c20fSFrederick Mayle _lt_dar_single_mod='$single_module' 964*9712c20fSFrederick Mayle fi 965*9712c20fSFrederick Mayle if test "$lt_cv_ld_exported_symbols_list" = "yes"; then 966*9712c20fSFrederick Mayle _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' 967*9712c20fSFrederick Mayle else 968*9712c20fSFrederick Mayle _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' 969*9712c20fSFrederick Mayle fi 970*9712c20fSFrederick Mayle if test "$DSYMUTIL" != ":"; then 971*9712c20fSFrederick Mayle _lt_dsymutil='~$DSYMUTIL $lib || :' 972*9712c20fSFrederick Mayle else 973*9712c20fSFrederick Mayle _lt_dsymutil= 974*9712c20fSFrederick Mayle fi 975*9712c20fSFrederick Mayle ;; 976*9712c20fSFrederick Mayle esac 977*9712c20fSFrederick Mayle]) 978*9712c20fSFrederick Mayle 979*9712c20fSFrederick Mayle 980*9712c20fSFrederick Mayle# _LT_DARWIN_LINKER_FEATURES 981*9712c20fSFrederick Mayle# -------------------------- 982*9712c20fSFrederick Mayle# Checks for linker and compiler features on darwin 983*9712c20fSFrederick Maylem4_defun([_LT_DARWIN_LINKER_FEATURES], 984*9712c20fSFrederick Mayle[ 985*9712c20fSFrederick Mayle m4_require([_LT_REQUIRED_DARWIN_CHECKS]) 986*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=no 987*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=no 988*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_automatic, $1)=yes 989*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 990*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='' 991*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 992*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" 993*9712c20fSFrederick Mayle case $cc_basename in 994*9712c20fSFrederick Mayle ifort*) _lt_dar_can_shared=yes ;; 995*9712c20fSFrederick Mayle *) _lt_dar_can_shared=$GCC ;; 996*9712c20fSFrederick Mayle esac 997*9712c20fSFrederick Mayle if test "$_lt_dar_can_shared" = "yes"; then 998*9712c20fSFrederick Mayle output_verbose_link_cmd=echo 999*9712c20fSFrederick Mayle _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}" 1000*9712c20fSFrederick Mayle _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" 1001*9712c20fSFrederick Mayle _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}" 1002*9712c20fSFrederick Mayle _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}" 1003*9712c20fSFrederick Mayle m4_if([$1], [CXX], 1004*9712c20fSFrederick Mayle[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then 1005*9712c20fSFrederick Mayle _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}" 1006*9712c20fSFrederick Mayle _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}" 1007*9712c20fSFrederick Mayle fi 1008*9712c20fSFrederick Mayle],[]) 1009*9712c20fSFrederick Mayle else 1010*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 1011*9712c20fSFrederick Mayle fi 1012*9712c20fSFrederick Mayle]) 1013*9712c20fSFrederick Mayle 1014*9712c20fSFrederick Mayle# _LT_SYS_MODULE_PATH_AIX 1015*9712c20fSFrederick Mayle# ----------------------- 1016*9712c20fSFrederick Mayle# Links a minimal program and checks the executable 1017*9712c20fSFrederick Mayle# for the system default hardcoded library path. In most cases, 1018*9712c20fSFrederick Mayle# this is /usr/lib:/lib, but when the MPI compilers are used 1019*9712c20fSFrederick Mayle# the location of the communication and MPI libs are included too. 1020*9712c20fSFrederick Mayle# If we don't find anything, use the default library path according 1021*9712c20fSFrederick Mayle# to the aix ld manual. 1022*9712c20fSFrederick Maylem4_defun([_LT_SYS_MODULE_PATH_AIX], 1023*9712c20fSFrederick Mayle[m4_require([_LT_DECL_SED])dnl 1024*9712c20fSFrederick MayleAC_LINK_IFELSE(AC_LANG_PROGRAM,[ 1025*9712c20fSFrederick Maylelt_aix_libpath_sed=' 1026*9712c20fSFrederick Mayle /Import File Strings/,/^$/ { 1027*9712c20fSFrederick Mayle /^0/ { 1028*9712c20fSFrederick Mayle s/^0 *\(.*\)$/\1/ 1029*9712c20fSFrederick Mayle p 1030*9712c20fSFrederick Mayle } 1031*9712c20fSFrederick Mayle }' 1032*9712c20fSFrederick Mayleaix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1033*9712c20fSFrederick Mayle# Check for a 64-bit object if we didn't find anything. 1034*9712c20fSFrederick Mayleif test -z "$aix_libpath"; then 1035*9712c20fSFrederick Mayle aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 1036*9712c20fSFrederick Maylefi],[]) 1037*9712c20fSFrederick Mayleif test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi 1038*9712c20fSFrederick Mayle])# _LT_SYS_MODULE_PATH_AIX 1039*9712c20fSFrederick Mayle 1040*9712c20fSFrederick Mayle 1041*9712c20fSFrederick Mayle# _LT_SHELL_INIT(ARG) 1042*9712c20fSFrederick Mayle# ------------------- 1043*9712c20fSFrederick Maylem4_define([_LT_SHELL_INIT], 1044*9712c20fSFrederick Mayle[ifdef([AC_DIVERSION_NOTICE], 1045*9712c20fSFrederick Mayle [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], 1046*9712c20fSFrederick Mayle [AC_DIVERT_PUSH(NOTICE)]) 1047*9712c20fSFrederick Mayle$1 1048*9712c20fSFrederick MayleAC_DIVERT_POP 1049*9712c20fSFrederick Mayle])# _LT_SHELL_INIT 1050*9712c20fSFrederick Mayle 1051*9712c20fSFrederick Mayle 1052*9712c20fSFrederick Mayle# _LT_PROG_ECHO_BACKSLASH 1053*9712c20fSFrederick Mayle# ----------------------- 1054*9712c20fSFrederick Mayle# Add some code to the start of the generated configure script which 1055*9712c20fSFrederick Mayle# will find an echo command which doesn't interpret backslashes. 1056*9712c20fSFrederick Maylem4_defun([_LT_PROG_ECHO_BACKSLASH], 1057*9712c20fSFrederick Mayle[_LT_SHELL_INIT([ 1058*9712c20fSFrederick Mayle# Check that we are running under the correct shell. 1059*9712c20fSFrederick MayleSHELL=${CONFIG_SHELL-/bin/sh} 1060*9712c20fSFrederick Mayle 1061*9712c20fSFrederick Maylecase X$lt_ECHO in 1062*9712c20fSFrederick MayleX*--fallback-echo) 1063*9712c20fSFrederick Mayle # Remove one level of quotation (which was required for Make). 1064*9712c20fSFrederick Mayle ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` 1065*9712c20fSFrederick Mayle ;; 1066*9712c20fSFrederick Mayleesac 1067*9712c20fSFrederick Mayle 1068*9712c20fSFrederick MayleECHO=${lt_ECHO-echo} 1069*9712c20fSFrederick Mayleif test "X[$]1" = X--no-reexec; then 1070*9712c20fSFrederick Mayle # Discard the --no-reexec flag, and continue. 1071*9712c20fSFrederick Mayle shift 1072*9712c20fSFrederick Mayleelif test "X[$]1" = X--fallback-echo; then 1073*9712c20fSFrederick Mayle # Avoid inline document here, it may be left over 1074*9712c20fSFrederick Mayle : 1075*9712c20fSFrederick Mayleelif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then 1076*9712c20fSFrederick Mayle # Yippee, $ECHO works! 1077*9712c20fSFrederick Mayle : 1078*9712c20fSFrederick Mayleelse 1079*9712c20fSFrederick Mayle # Restart under the correct shell. 1080*9712c20fSFrederick Mayle exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} 1081*9712c20fSFrederick Maylefi 1082*9712c20fSFrederick Mayle 1083*9712c20fSFrederick Mayleif test "X[$]1" = X--fallback-echo; then 1084*9712c20fSFrederick Mayle # used as fallback echo 1085*9712c20fSFrederick Mayle shift 1086*9712c20fSFrederick Mayle cat <<_LT_EOF 1087*9712c20fSFrederick Mayle[$]* 1088*9712c20fSFrederick Mayle_LT_EOF 1089*9712c20fSFrederick Mayle exit 0 1090*9712c20fSFrederick Maylefi 1091*9712c20fSFrederick Mayle 1092*9712c20fSFrederick Mayle# The HP-UX ksh and POSIX shell print the target directory to stdout 1093*9712c20fSFrederick Mayle# if CDPATH is set. 1094*9712c20fSFrederick Mayle(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 1095*9712c20fSFrederick Mayle 1096*9712c20fSFrederick Mayleif test -z "$lt_ECHO"; then 1097*9712c20fSFrederick Mayle if test "X${echo_test_string+set}" != Xset; then 1098*9712c20fSFrederick Mayle # find a string as large as possible, as long as the shell can cope with it 1099*9712c20fSFrederick Mayle for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do 1100*9712c20fSFrederick Mayle # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... 1101*9712c20fSFrederick Mayle if { echo_test_string=`eval $cmd`; } 2>/dev/null && 1102*9712c20fSFrederick Mayle { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null 1103*9712c20fSFrederick Mayle then 1104*9712c20fSFrederick Mayle break 1105*9712c20fSFrederick Mayle fi 1106*9712c20fSFrederick Mayle done 1107*9712c20fSFrederick Mayle fi 1108*9712c20fSFrederick Mayle 1109*9712c20fSFrederick Mayle if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && 1110*9712c20fSFrederick Mayle echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && 1111*9712c20fSFrederick Mayle test "X$echo_testing_string" = "X$echo_test_string"; then 1112*9712c20fSFrederick Mayle : 1113*9712c20fSFrederick Mayle else 1114*9712c20fSFrederick Mayle # The Solaris, AIX, and Digital Unix default echo programs unquote 1115*9712c20fSFrederick Mayle # backslashes. This makes it impossible to quote backslashes using 1116*9712c20fSFrederick Mayle # echo "$something" | sed 's/\\/\\\\/g' 1117*9712c20fSFrederick Mayle # 1118*9712c20fSFrederick Mayle # So, first we look for a working echo in the user's PATH. 1119*9712c20fSFrederick Mayle 1120*9712c20fSFrederick Mayle lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 1121*9712c20fSFrederick Mayle for dir in $PATH /usr/ucb; do 1122*9712c20fSFrederick Mayle IFS="$lt_save_ifs" 1123*9712c20fSFrederick Mayle if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && 1124*9712c20fSFrederick Mayle test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && 1125*9712c20fSFrederick Mayle echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && 1126*9712c20fSFrederick Mayle test "X$echo_testing_string" = "X$echo_test_string"; then 1127*9712c20fSFrederick Mayle ECHO="$dir/echo" 1128*9712c20fSFrederick Mayle break 1129*9712c20fSFrederick Mayle fi 1130*9712c20fSFrederick Mayle done 1131*9712c20fSFrederick Mayle IFS="$lt_save_ifs" 1132*9712c20fSFrederick Mayle 1133*9712c20fSFrederick Mayle if test "X$ECHO" = Xecho; then 1134*9712c20fSFrederick Mayle # We didn't find a better echo, so look for alternatives. 1135*9712c20fSFrederick Mayle if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && 1136*9712c20fSFrederick Mayle echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && 1137*9712c20fSFrederick Mayle test "X$echo_testing_string" = "X$echo_test_string"; then 1138*9712c20fSFrederick Mayle # This shell has a builtin print -r that does the trick. 1139*9712c20fSFrederick Mayle ECHO='print -r' 1140*9712c20fSFrederick Mayle elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && 1141*9712c20fSFrederick Mayle test "X$CONFIG_SHELL" != X/bin/ksh; then 1142*9712c20fSFrederick Mayle # If we have ksh, try running configure again with it. 1143*9712c20fSFrederick Mayle ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} 1144*9712c20fSFrederick Mayle export ORIGINAL_CONFIG_SHELL 1145*9712c20fSFrederick Mayle CONFIG_SHELL=/bin/ksh 1146*9712c20fSFrederick Mayle export CONFIG_SHELL 1147*9712c20fSFrederick Mayle exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} 1148*9712c20fSFrederick Mayle else 1149*9712c20fSFrederick Mayle # Try using printf. 1150*9712c20fSFrederick Mayle ECHO='printf %s\n' 1151*9712c20fSFrederick Mayle if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && 1152*9712c20fSFrederick Mayle echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && 1153*9712c20fSFrederick Mayle test "X$echo_testing_string" = "X$echo_test_string"; then 1154*9712c20fSFrederick Mayle # Cool, printf works 1155*9712c20fSFrederick Mayle : 1156*9712c20fSFrederick Mayle elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 1157*9712c20fSFrederick Mayle test "X$echo_testing_string" = 'X\t' && 1158*9712c20fSFrederick Mayle echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 1159*9712c20fSFrederick Mayle test "X$echo_testing_string" = "X$echo_test_string"; then 1160*9712c20fSFrederick Mayle CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL 1161*9712c20fSFrederick Mayle export CONFIG_SHELL 1162*9712c20fSFrederick Mayle SHELL="$CONFIG_SHELL" 1163*9712c20fSFrederick Mayle export SHELL 1164*9712c20fSFrederick Mayle ECHO="$CONFIG_SHELL [$]0 --fallback-echo" 1165*9712c20fSFrederick Mayle elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && 1166*9712c20fSFrederick Mayle test "X$echo_testing_string" = 'X\t' && 1167*9712c20fSFrederick Mayle echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && 1168*9712c20fSFrederick Mayle test "X$echo_testing_string" = "X$echo_test_string"; then 1169*9712c20fSFrederick Mayle ECHO="$CONFIG_SHELL [$]0 --fallback-echo" 1170*9712c20fSFrederick Mayle else 1171*9712c20fSFrederick Mayle # maybe with a smaller string... 1172*9712c20fSFrederick Mayle prev=: 1173*9712c20fSFrederick Mayle 1174*9712c20fSFrederick Mayle for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do 1175*9712c20fSFrederick Mayle if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null 1176*9712c20fSFrederick Mayle then 1177*9712c20fSFrederick Mayle break 1178*9712c20fSFrederick Mayle fi 1179*9712c20fSFrederick Mayle prev="$cmd" 1180*9712c20fSFrederick Mayle done 1181*9712c20fSFrederick Mayle 1182*9712c20fSFrederick Mayle if test "$prev" != 'sed 50q "[$]0"'; then 1183*9712c20fSFrederick Mayle echo_test_string=`eval $prev` 1184*9712c20fSFrederick Mayle export echo_test_string 1185*9712c20fSFrederick Mayle exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} 1186*9712c20fSFrederick Mayle else 1187*9712c20fSFrederick Mayle # Oops. We lost completely, so just stick with echo. 1188*9712c20fSFrederick Mayle ECHO=echo 1189*9712c20fSFrederick Mayle fi 1190*9712c20fSFrederick Mayle fi 1191*9712c20fSFrederick Mayle fi 1192*9712c20fSFrederick Mayle fi 1193*9712c20fSFrederick Mayle fi 1194*9712c20fSFrederick Maylefi 1195*9712c20fSFrederick Mayle 1196*9712c20fSFrederick Mayle# Copy echo and quote the copy suitably for passing to libtool from 1197*9712c20fSFrederick Mayle# the Makefile, instead of quoting the original, which is used later. 1198*9712c20fSFrederick Maylelt_ECHO=$ECHO 1199*9712c20fSFrederick Mayleif test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then 1200*9712c20fSFrederick Mayle lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" 1201*9712c20fSFrederick Maylefi 1202*9712c20fSFrederick Mayle 1203*9712c20fSFrederick MayleAC_SUBST(lt_ECHO) 1204*9712c20fSFrederick Mayle]) 1205*9712c20fSFrederick Mayle_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) 1206*9712c20fSFrederick Mayle_LT_DECL([], [ECHO], [1], 1207*9712c20fSFrederick Mayle [An echo program that does not interpret backslashes]) 1208*9712c20fSFrederick Mayle])# _LT_PROG_ECHO_BACKSLASH 1209*9712c20fSFrederick Mayle 1210*9712c20fSFrederick Mayle 1211*9712c20fSFrederick Mayle# _LT_ENABLE_LOCK 1212*9712c20fSFrederick Mayle# --------------- 1213*9712c20fSFrederick Maylem4_defun([_LT_ENABLE_LOCK], 1214*9712c20fSFrederick Mayle[AC_ARG_ENABLE([libtool-lock], 1215*9712c20fSFrederick Mayle [AS_HELP_STRING([--disable-libtool-lock], 1216*9712c20fSFrederick Mayle [avoid locking (might break parallel builds)])]) 1217*9712c20fSFrederick Mayletest "x$enable_libtool_lock" != xno && enable_libtool_lock=yes 1218*9712c20fSFrederick Mayle 1219*9712c20fSFrederick Mayle# Some flags need to be propagated to the compiler or linker for good 1220*9712c20fSFrederick Mayle# libtool support. 1221*9712c20fSFrederick Maylecase $host in 1222*9712c20fSFrederick Mayleia64-*-hpux*) 1223*9712c20fSFrederick Mayle # Find out which ABI we are using. 1224*9712c20fSFrederick Mayle echo 'int i;' > conftest.$ac_ext 1225*9712c20fSFrederick Mayle if AC_TRY_EVAL(ac_compile); then 1226*9712c20fSFrederick Mayle case `/usr/bin/file conftest.$ac_objext` in 1227*9712c20fSFrederick Mayle *ELF-32*) 1228*9712c20fSFrederick Mayle HPUX_IA64_MODE="32" 1229*9712c20fSFrederick Mayle ;; 1230*9712c20fSFrederick Mayle *ELF-64*) 1231*9712c20fSFrederick Mayle HPUX_IA64_MODE="64" 1232*9712c20fSFrederick Mayle ;; 1233*9712c20fSFrederick Mayle esac 1234*9712c20fSFrederick Mayle fi 1235*9712c20fSFrederick Mayle rm -rf conftest* 1236*9712c20fSFrederick Mayle ;; 1237*9712c20fSFrederick Mayle*-*-irix6*) 1238*9712c20fSFrederick Mayle # Find out which ABI we are using. 1239*9712c20fSFrederick Mayle echo '[#]line __oline__ "configure"' > conftest.$ac_ext 1240*9712c20fSFrederick Mayle if AC_TRY_EVAL(ac_compile); then 1241*9712c20fSFrederick Mayle if test "$lt_cv_prog_gnu_ld" = yes; then 1242*9712c20fSFrederick Mayle case `/usr/bin/file conftest.$ac_objext` in 1243*9712c20fSFrederick Mayle *32-bit*) 1244*9712c20fSFrederick Mayle LD="${LD-ld} -melf32bsmip" 1245*9712c20fSFrederick Mayle ;; 1246*9712c20fSFrederick Mayle *N32*) 1247*9712c20fSFrederick Mayle LD="${LD-ld} -melf32bmipn32" 1248*9712c20fSFrederick Mayle ;; 1249*9712c20fSFrederick Mayle *64-bit*) 1250*9712c20fSFrederick Mayle LD="${LD-ld} -melf64bmip" 1251*9712c20fSFrederick Mayle ;; 1252*9712c20fSFrederick Mayle esac 1253*9712c20fSFrederick Mayle else 1254*9712c20fSFrederick Mayle case `/usr/bin/file conftest.$ac_objext` in 1255*9712c20fSFrederick Mayle *32-bit*) 1256*9712c20fSFrederick Mayle LD="${LD-ld} -32" 1257*9712c20fSFrederick Mayle ;; 1258*9712c20fSFrederick Mayle *N32*) 1259*9712c20fSFrederick Mayle LD="${LD-ld} -n32" 1260*9712c20fSFrederick Mayle ;; 1261*9712c20fSFrederick Mayle *64-bit*) 1262*9712c20fSFrederick Mayle LD="${LD-ld} -64" 1263*9712c20fSFrederick Mayle ;; 1264*9712c20fSFrederick Mayle esac 1265*9712c20fSFrederick Mayle fi 1266*9712c20fSFrederick Mayle fi 1267*9712c20fSFrederick Mayle rm -rf conftest* 1268*9712c20fSFrederick Mayle ;; 1269*9712c20fSFrederick Mayle 1270*9712c20fSFrederick Maylex86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ 1271*9712c20fSFrederick Mayles390*-*linux*|s390*-*tpf*|sparc*-*linux*) 1272*9712c20fSFrederick Mayle # Find out which ABI we are using. 1273*9712c20fSFrederick Mayle echo 'int i;' > conftest.$ac_ext 1274*9712c20fSFrederick Mayle if AC_TRY_EVAL(ac_compile); then 1275*9712c20fSFrederick Mayle case `/usr/bin/file conftest.o` in 1276*9712c20fSFrederick Mayle *32-bit*) 1277*9712c20fSFrederick Mayle case $host in 1278*9712c20fSFrederick Mayle x86_64-*kfreebsd*-gnu) 1279*9712c20fSFrederick Mayle LD="${LD-ld} -m elf_i386_fbsd" 1280*9712c20fSFrederick Mayle ;; 1281*9712c20fSFrederick Mayle x86_64-*linux*) 1282*9712c20fSFrederick Mayle LD="${LD-ld} -m elf_i386" 1283*9712c20fSFrederick Mayle ;; 1284*9712c20fSFrederick Mayle ppc64-*linux*|powerpc64-*linux*) 1285*9712c20fSFrederick Mayle LD="${LD-ld} -m elf32ppclinux" 1286*9712c20fSFrederick Mayle ;; 1287*9712c20fSFrederick Mayle s390x-*linux*) 1288*9712c20fSFrederick Mayle LD="${LD-ld} -m elf_s390" 1289*9712c20fSFrederick Mayle ;; 1290*9712c20fSFrederick Mayle sparc64-*linux*) 1291*9712c20fSFrederick Mayle LD="${LD-ld} -m elf32_sparc" 1292*9712c20fSFrederick Mayle ;; 1293*9712c20fSFrederick Mayle esac 1294*9712c20fSFrederick Mayle ;; 1295*9712c20fSFrederick Mayle *64-bit*) 1296*9712c20fSFrederick Mayle case $host in 1297*9712c20fSFrederick Mayle x86_64-*kfreebsd*-gnu) 1298*9712c20fSFrederick Mayle LD="${LD-ld} -m elf_x86_64_fbsd" 1299*9712c20fSFrederick Mayle ;; 1300*9712c20fSFrederick Mayle x86_64-*linux*) 1301*9712c20fSFrederick Mayle LD="${LD-ld} -m elf_x86_64" 1302*9712c20fSFrederick Mayle ;; 1303*9712c20fSFrederick Mayle ppc*-*linux*|powerpc*-*linux*) 1304*9712c20fSFrederick Mayle LD="${LD-ld} -m elf64ppc" 1305*9712c20fSFrederick Mayle ;; 1306*9712c20fSFrederick Mayle s390*-*linux*|s390*-*tpf*) 1307*9712c20fSFrederick Mayle LD="${LD-ld} -m elf64_s390" 1308*9712c20fSFrederick Mayle ;; 1309*9712c20fSFrederick Mayle sparc*-*linux*) 1310*9712c20fSFrederick Mayle LD="${LD-ld} -m elf64_sparc" 1311*9712c20fSFrederick Mayle ;; 1312*9712c20fSFrederick Mayle esac 1313*9712c20fSFrederick Mayle ;; 1314*9712c20fSFrederick Mayle esac 1315*9712c20fSFrederick Mayle fi 1316*9712c20fSFrederick Mayle rm -rf conftest* 1317*9712c20fSFrederick Mayle ;; 1318*9712c20fSFrederick Mayle 1319*9712c20fSFrederick Mayle*-*-sco3.2v5*) 1320*9712c20fSFrederick Mayle # On SCO OpenServer 5, we need -belf to get full-featured binaries. 1321*9712c20fSFrederick Mayle SAVE_CFLAGS="$CFLAGS" 1322*9712c20fSFrederick Mayle CFLAGS="$CFLAGS -belf" 1323*9712c20fSFrederick Mayle AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, 1324*9712c20fSFrederick Mayle [AC_LANG_PUSH(C) 1325*9712c20fSFrederick Mayle AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) 1326*9712c20fSFrederick Mayle AC_LANG_POP]) 1327*9712c20fSFrederick Mayle if test x"$lt_cv_cc_needs_belf" != x"yes"; then 1328*9712c20fSFrederick Mayle # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf 1329*9712c20fSFrederick Mayle CFLAGS="$SAVE_CFLAGS" 1330*9712c20fSFrederick Mayle fi 1331*9712c20fSFrederick Mayle ;; 1332*9712c20fSFrederick Maylesparc*-*solaris*) 1333*9712c20fSFrederick Mayle # Find out which ABI we are using. 1334*9712c20fSFrederick Mayle echo 'int i;' > conftest.$ac_ext 1335*9712c20fSFrederick Mayle if AC_TRY_EVAL(ac_compile); then 1336*9712c20fSFrederick Mayle case `/usr/bin/file conftest.o` in 1337*9712c20fSFrederick Mayle *64-bit*) 1338*9712c20fSFrederick Mayle case $lt_cv_prog_gnu_ld in 1339*9712c20fSFrederick Mayle yes*) LD="${LD-ld} -m elf64_sparc" ;; 1340*9712c20fSFrederick Mayle *) 1341*9712c20fSFrederick Mayle if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then 1342*9712c20fSFrederick Mayle LD="${LD-ld} -64" 1343*9712c20fSFrederick Mayle fi 1344*9712c20fSFrederick Mayle ;; 1345*9712c20fSFrederick Mayle esac 1346*9712c20fSFrederick Mayle ;; 1347*9712c20fSFrederick Mayle esac 1348*9712c20fSFrederick Mayle fi 1349*9712c20fSFrederick Mayle rm -rf conftest* 1350*9712c20fSFrederick Mayle ;; 1351*9712c20fSFrederick Mayleesac 1352*9712c20fSFrederick Mayle 1353*9712c20fSFrederick Mayleneed_locks="$enable_libtool_lock" 1354*9712c20fSFrederick Mayle])# _LT_ENABLE_LOCK 1355*9712c20fSFrederick Mayle 1356*9712c20fSFrederick Mayle 1357*9712c20fSFrederick Mayle# _LT_CMD_OLD_ARCHIVE 1358*9712c20fSFrederick Mayle# ------------------- 1359*9712c20fSFrederick Maylem4_defun([_LT_CMD_OLD_ARCHIVE], 1360*9712c20fSFrederick Mayle[AC_CHECK_TOOL(AR, ar, false) 1361*9712c20fSFrederick Mayletest -z "$AR" && AR=ar 1362*9712c20fSFrederick Mayletest -z "$AR_FLAGS" && AR_FLAGS=cru 1363*9712c20fSFrederick Mayle_LT_DECL([], [AR], [1], [The archiver]) 1364*9712c20fSFrederick Mayle_LT_DECL([], [AR_FLAGS], [1]) 1365*9712c20fSFrederick Mayle 1366*9712c20fSFrederick MayleAC_CHECK_TOOL(STRIP, strip, :) 1367*9712c20fSFrederick Mayletest -z "$STRIP" && STRIP=: 1368*9712c20fSFrederick Mayle_LT_DECL([], [STRIP], [1], [A symbol stripping program]) 1369*9712c20fSFrederick Mayle 1370*9712c20fSFrederick MayleAC_CHECK_TOOL(RANLIB, ranlib, :) 1371*9712c20fSFrederick Mayletest -z "$RANLIB" && RANLIB=: 1372*9712c20fSFrederick Mayle_LT_DECL([], [RANLIB], [1], 1373*9712c20fSFrederick Mayle [Commands used to install an old-style archive]) 1374*9712c20fSFrederick Mayle 1375*9712c20fSFrederick Mayle# Determine commands to create old-style static archives. 1376*9712c20fSFrederick Mayleold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' 1377*9712c20fSFrederick Mayleold_postinstall_cmds='chmod 644 $oldlib' 1378*9712c20fSFrederick Mayleold_postuninstall_cmds= 1379*9712c20fSFrederick Mayle 1380*9712c20fSFrederick Mayleif test -n "$RANLIB"; then 1381*9712c20fSFrederick Mayle case $host_os in 1382*9712c20fSFrederick Mayle openbsd*) 1383*9712c20fSFrederick Mayle old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" 1384*9712c20fSFrederick Mayle ;; 1385*9712c20fSFrederick Mayle *) 1386*9712c20fSFrederick Mayle old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" 1387*9712c20fSFrederick Mayle ;; 1388*9712c20fSFrederick Mayle esac 1389*9712c20fSFrederick Mayle old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" 1390*9712c20fSFrederick Maylefi 1391*9712c20fSFrederick Mayle_LT_DECL([], [old_postinstall_cmds], [2]) 1392*9712c20fSFrederick Mayle_LT_DECL([], [old_postuninstall_cmds], [2]) 1393*9712c20fSFrederick Mayle_LT_TAGDECL([], [old_archive_cmds], [2], 1394*9712c20fSFrederick Mayle [Commands used to build an old-style archive]) 1395*9712c20fSFrederick Mayle])# _LT_CMD_OLD_ARCHIVE 1396*9712c20fSFrederick Mayle 1397*9712c20fSFrederick Mayle 1398*9712c20fSFrederick Mayle# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1399*9712c20fSFrederick Mayle# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) 1400*9712c20fSFrederick Mayle# ---------------------------------------------------------------- 1401*9712c20fSFrederick Mayle# Check whether the given compiler option works 1402*9712c20fSFrederick MayleAC_DEFUN([_LT_COMPILER_OPTION], 1403*9712c20fSFrederick Mayle[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1404*9712c20fSFrederick Maylem4_require([_LT_DECL_SED])dnl 1405*9712c20fSFrederick MayleAC_CACHE_CHECK([$1], [$2], 1406*9712c20fSFrederick Mayle [$2=no 1407*9712c20fSFrederick Mayle m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) 1408*9712c20fSFrederick Mayle echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1409*9712c20fSFrederick Mayle lt_compiler_flag="$3" 1410*9712c20fSFrederick Mayle # Insert the option either (1) after the last *FLAGS variable, or 1411*9712c20fSFrederick Mayle # (2) before a word containing "conftest.", or (3) at the end. 1412*9712c20fSFrederick Mayle # Note that $ac_compile itself does not contain backslashes and begins 1413*9712c20fSFrederick Mayle # with a dollar sign (not a hyphen), so the echo should work correctly. 1414*9712c20fSFrederick Mayle # The option is referenced via a variable to avoid confusing sed. 1415*9712c20fSFrederick Mayle lt_compile=`echo "$ac_compile" | $SED \ 1416*9712c20fSFrederick Mayle -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1417*9712c20fSFrederick Mayle -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1418*9712c20fSFrederick Mayle -e 's:$: $lt_compiler_flag:'` 1419*9712c20fSFrederick Mayle (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1420*9712c20fSFrederick Mayle (eval "$lt_compile" 2>conftest.err) 1421*9712c20fSFrederick Mayle ac_status=$? 1422*9712c20fSFrederick Mayle cat conftest.err >&AS_MESSAGE_LOG_FD 1423*9712c20fSFrederick Mayle echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1424*9712c20fSFrederick Mayle if (exit $ac_status) && test -s "$ac_outfile"; then 1425*9712c20fSFrederick Mayle # The compiler can only warn and ignore the option if not recognized 1426*9712c20fSFrederick Mayle # So say no if there are warnings other than the usual output. 1427*9712c20fSFrederick Mayle $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp 1428*9712c20fSFrederick Mayle $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1429*9712c20fSFrederick Mayle if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then 1430*9712c20fSFrederick Mayle $2=yes 1431*9712c20fSFrederick Mayle fi 1432*9712c20fSFrederick Mayle fi 1433*9712c20fSFrederick Mayle $RM conftest* 1434*9712c20fSFrederick Mayle]) 1435*9712c20fSFrederick Mayle 1436*9712c20fSFrederick Mayleif test x"[$]$2" = xyes; then 1437*9712c20fSFrederick Mayle m4_if([$5], , :, [$5]) 1438*9712c20fSFrederick Mayleelse 1439*9712c20fSFrederick Mayle m4_if([$6], , :, [$6]) 1440*9712c20fSFrederick Maylefi 1441*9712c20fSFrederick Mayle])# _LT_COMPILER_OPTION 1442*9712c20fSFrederick Mayle 1443*9712c20fSFrederick Mayle# Old name: 1444*9712c20fSFrederick MayleAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) 1445*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 1446*9712c20fSFrederick Maylednl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) 1447*9712c20fSFrederick Mayle 1448*9712c20fSFrederick Mayle 1449*9712c20fSFrederick Mayle# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, 1450*9712c20fSFrederick Mayle# [ACTION-SUCCESS], [ACTION-FAILURE]) 1451*9712c20fSFrederick Mayle# ---------------------------------------------------- 1452*9712c20fSFrederick Mayle# Check whether the given linker option works 1453*9712c20fSFrederick MayleAC_DEFUN([_LT_LINKER_OPTION], 1454*9712c20fSFrederick Mayle[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 1455*9712c20fSFrederick Maylem4_require([_LT_DECL_SED])dnl 1456*9712c20fSFrederick MayleAC_CACHE_CHECK([$1], [$2], 1457*9712c20fSFrederick Mayle [$2=no 1458*9712c20fSFrederick Mayle save_LDFLAGS="$LDFLAGS" 1459*9712c20fSFrederick Mayle LDFLAGS="$LDFLAGS $3" 1460*9712c20fSFrederick Mayle echo "$lt_simple_link_test_code" > conftest.$ac_ext 1461*9712c20fSFrederick Mayle if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then 1462*9712c20fSFrederick Mayle # The linker can only warn and ignore the option if not recognized 1463*9712c20fSFrederick Mayle # So say no if there are warnings 1464*9712c20fSFrederick Mayle if test -s conftest.err; then 1465*9712c20fSFrederick Mayle # Append any errors to the config.log. 1466*9712c20fSFrederick Mayle cat conftest.err 1>&AS_MESSAGE_LOG_FD 1467*9712c20fSFrederick Mayle $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp 1468*9712c20fSFrederick Mayle $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 1469*9712c20fSFrederick Mayle if diff conftest.exp conftest.er2 >/dev/null; then 1470*9712c20fSFrederick Mayle $2=yes 1471*9712c20fSFrederick Mayle fi 1472*9712c20fSFrederick Mayle else 1473*9712c20fSFrederick Mayle $2=yes 1474*9712c20fSFrederick Mayle fi 1475*9712c20fSFrederick Mayle fi 1476*9712c20fSFrederick Mayle $RM -r conftest* 1477*9712c20fSFrederick Mayle LDFLAGS="$save_LDFLAGS" 1478*9712c20fSFrederick Mayle]) 1479*9712c20fSFrederick Mayle 1480*9712c20fSFrederick Mayleif test x"[$]$2" = xyes; then 1481*9712c20fSFrederick Mayle m4_if([$4], , :, [$4]) 1482*9712c20fSFrederick Mayleelse 1483*9712c20fSFrederick Mayle m4_if([$5], , :, [$5]) 1484*9712c20fSFrederick Maylefi 1485*9712c20fSFrederick Mayle])# _LT_LINKER_OPTION 1486*9712c20fSFrederick Mayle 1487*9712c20fSFrederick Mayle# Old name: 1488*9712c20fSFrederick MayleAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) 1489*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 1490*9712c20fSFrederick Maylednl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) 1491*9712c20fSFrederick Mayle 1492*9712c20fSFrederick Mayle 1493*9712c20fSFrederick Mayle# LT_CMD_MAX_LEN 1494*9712c20fSFrederick Mayle#--------------- 1495*9712c20fSFrederick MayleAC_DEFUN([LT_CMD_MAX_LEN], 1496*9712c20fSFrederick Mayle[AC_REQUIRE([AC_CANONICAL_HOST])dnl 1497*9712c20fSFrederick Mayle# find the maximum length of command line arguments 1498*9712c20fSFrederick MayleAC_MSG_CHECKING([the maximum length of command line arguments]) 1499*9712c20fSFrederick MayleAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl 1500*9712c20fSFrederick Mayle i=0 1501*9712c20fSFrederick Mayle teststring="ABCD" 1502*9712c20fSFrederick Mayle 1503*9712c20fSFrederick Mayle case $build_os in 1504*9712c20fSFrederick Mayle msdosdjgpp*) 1505*9712c20fSFrederick Mayle # On DJGPP, this test can blow up pretty badly due to problems in libc 1506*9712c20fSFrederick Mayle # (any single argument exceeding 2000 bytes causes a buffer overrun 1507*9712c20fSFrederick Mayle # during glob expansion). Even if it were fixed, the result of this 1508*9712c20fSFrederick Mayle # check would be larger than it should be. 1509*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=12288; # 12K is about right 1510*9712c20fSFrederick Mayle ;; 1511*9712c20fSFrederick Mayle 1512*9712c20fSFrederick Mayle gnu*) 1513*9712c20fSFrederick Mayle # Under GNU Hurd, this test is not required because there is 1514*9712c20fSFrederick Mayle # no limit to the length of command line arguments. 1515*9712c20fSFrederick Mayle # Libtool will interpret -1 as no limit whatsoever 1516*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=-1; 1517*9712c20fSFrederick Mayle ;; 1518*9712c20fSFrederick Mayle 1519*9712c20fSFrederick Mayle cygwin* | mingw* | cegcc*) 1520*9712c20fSFrederick Mayle # On Win9x/ME, this test blows up -- it succeeds, but takes 1521*9712c20fSFrederick Mayle # about 5 minutes as the teststring grows exponentially. 1522*9712c20fSFrederick Mayle # Worse, since 9x/ME are not pre-emptively multitasking, 1523*9712c20fSFrederick Mayle # you end up with a "frozen" computer, even though with patience 1524*9712c20fSFrederick Mayle # the test eventually succeeds (with a max line length of 256k). 1525*9712c20fSFrederick Mayle # Instead, let's just punt: use the minimum linelength reported by 1526*9712c20fSFrederick Mayle # all of the supported platforms: 8192 (on NT/2K/XP). 1527*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=8192; 1528*9712c20fSFrederick Mayle ;; 1529*9712c20fSFrederick Mayle 1530*9712c20fSFrederick Mayle amigaos*) 1531*9712c20fSFrederick Mayle # On AmigaOS with pdksh, this test takes hours, literally. 1532*9712c20fSFrederick Mayle # So we just punt and use a minimum line length of 8192. 1533*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=8192; 1534*9712c20fSFrederick Mayle ;; 1535*9712c20fSFrederick Mayle 1536*9712c20fSFrederick Mayle netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) 1537*9712c20fSFrederick Mayle # This has been around since 386BSD, at least. Likely further. 1538*9712c20fSFrederick Mayle if test -x /sbin/sysctl; then 1539*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` 1540*9712c20fSFrederick Mayle elif test -x /usr/sbin/sysctl; then 1541*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` 1542*9712c20fSFrederick Mayle else 1543*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs 1544*9712c20fSFrederick Mayle fi 1545*9712c20fSFrederick Mayle # And add a safety zone 1546*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1547*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1548*9712c20fSFrederick Mayle ;; 1549*9712c20fSFrederick Mayle 1550*9712c20fSFrederick Mayle interix*) 1551*9712c20fSFrederick Mayle # We know the value 262144 and hardcode it with a safety zone (like BSD) 1552*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=196608 1553*9712c20fSFrederick Mayle ;; 1554*9712c20fSFrederick Mayle 1555*9712c20fSFrederick Mayle osf*) 1556*9712c20fSFrederick Mayle # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure 1557*9712c20fSFrederick Mayle # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not 1558*9712c20fSFrederick Mayle # nice to cause kernel panics so lets avoid the loop below. 1559*9712c20fSFrederick Mayle # First set a reasonable default. 1560*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=16384 1561*9712c20fSFrederick Mayle # 1562*9712c20fSFrederick Mayle if test -x /sbin/sysconfig; then 1563*9712c20fSFrederick Mayle case `/sbin/sysconfig -q proc exec_disable_arg_limit` in 1564*9712c20fSFrederick Mayle *1*) lt_cv_sys_max_cmd_len=-1 ;; 1565*9712c20fSFrederick Mayle esac 1566*9712c20fSFrederick Mayle fi 1567*9712c20fSFrederick Mayle ;; 1568*9712c20fSFrederick Mayle sco3.2v5*) 1569*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=102400 1570*9712c20fSFrederick Mayle ;; 1571*9712c20fSFrederick Mayle sysv5* | sco5v6* | sysv4.2uw2*) 1572*9712c20fSFrederick Mayle kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` 1573*9712c20fSFrederick Mayle if test -n "$kargmax"; then 1574*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` 1575*9712c20fSFrederick Mayle else 1576*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=32768 1577*9712c20fSFrederick Mayle fi 1578*9712c20fSFrederick Mayle ;; 1579*9712c20fSFrederick Mayle *) 1580*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` 1581*9712c20fSFrederick Mayle if test -n "$lt_cv_sys_max_cmd_len"; then 1582*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` 1583*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` 1584*9712c20fSFrederick Mayle else 1585*9712c20fSFrederick Mayle # Make teststring a little bigger before we do anything with it. 1586*9712c20fSFrederick Mayle # a 1K string should be a reasonable start. 1587*9712c20fSFrederick Mayle for i in 1 2 3 4 5 6 7 8 ; do 1588*9712c20fSFrederick Mayle teststring=$teststring$teststring 1589*9712c20fSFrederick Mayle done 1590*9712c20fSFrederick Mayle SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} 1591*9712c20fSFrederick Mayle # If test is not a shell built-in, we'll probably end up computing a 1592*9712c20fSFrederick Mayle # maximum length that is only half of the actual maximum length, but 1593*9712c20fSFrederick Mayle # we can't tell. 1594*9712c20fSFrederick Mayle while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ 1595*9712c20fSFrederick Mayle = "XX$teststring$teststring"; } >/dev/null 2>&1 && 1596*9712c20fSFrederick Mayle test $i != 17 # 1/2 MB should be enough 1597*9712c20fSFrederick Mayle do 1598*9712c20fSFrederick Mayle i=`expr $i + 1` 1599*9712c20fSFrederick Mayle teststring=$teststring$teststring 1600*9712c20fSFrederick Mayle done 1601*9712c20fSFrederick Mayle # Only check the string length outside the loop. 1602*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` 1603*9712c20fSFrederick Mayle teststring= 1604*9712c20fSFrederick Mayle # Add a significant safety factor because C++ compilers can tack on 1605*9712c20fSFrederick Mayle # massive amounts of additional arguments before passing them to the 1606*9712c20fSFrederick Mayle # linker. It appears as though 1/2 is a usable value. 1607*9712c20fSFrederick Mayle lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` 1608*9712c20fSFrederick Mayle fi 1609*9712c20fSFrederick Mayle ;; 1610*9712c20fSFrederick Mayle esac 1611*9712c20fSFrederick Mayle]) 1612*9712c20fSFrederick Mayleif test -n $lt_cv_sys_max_cmd_len ; then 1613*9712c20fSFrederick Mayle AC_MSG_RESULT($lt_cv_sys_max_cmd_len) 1614*9712c20fSFrederick Mayleelse 1615*9712c20fSFrederick Mayle AC_MSG_RESULT(none) 1616*9712c20fSFrederick Maylefi 1617*9712c20fSFrederick Maylemax_cmd_len=$lt_cv_sys_max_cmd_len 1618*9712c20fSFrederick Mayle_LT_DECL([], [max_cmd_len], [0], 1619*9712c20fSFrederick Mayle [What is the maximum length of a command?]) 1620*9712c20fSFrederick Mayle])# LT_CMD_MAX_LEN 1621*9712c20fSFrederick Mayle 1622*9712c20fSFrederick Mayle# Old name: 1623*9712c20fSFrederick MayleAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) 1624*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 1625*9712c20fSFrederick Maylednl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) 1626*9712c20fSFrederick Mayle 1627*9712c20fSFrederick Mayle 1628*9712c20fSFrederick Mayle# _LT_HEADER_DLFCN 1629*9712c20fSFrederick Mayle# ---------------- 1630*9712c20fSFrederick Maylem4_defun([_LT_HEADER_DLFCN], 1631*9712c20fSFrederick Mayle[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl 1632*9712c20fSFrederick Mayle])# _LT_HEADER_DLFCN 1633*9712c20fSFrederick Mayle 1634*9712c20fSFrederick Mayle 1635*9712c20fSFrederick Mayle# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, 1636*9712c20fSFrederick Mayle# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) 1637*9712c20fSFrederick Mayle# ---------------------------------------------------------------- 1638*9712c20fSFrederick Maylem4_defun([_LT_TRY_DLOPEN_SELF], 1639*9712c20fSFrederick Mayle[m4_require([_LT_HEADER_DLFCN])dnl 1640*9712c20fSFrederick Mayleif test "$cross_compiling" = yes; then : 1641*9712c20fSFrederick Mayle [$4] 1642*9712c20fSFrederick Mayleelse 1643*9712c20fSFrederick Mayle lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 1644*9712c20fSFrederick Mayle lt_status=$lt_dlunknown 1645*9712c20fSFrederick Mayle cat > conftest.$ac_ext <<_LT_EOF 1646*9712c20fSFrederick Mayle[#line __oline__ "configure" 1647*9712c20fSFrederick Mayle#include "confdefs.h" 1648*9712c20fSFrederick Mayle 1649*9712c20fSFrederick Mayle#if HAVE_DLFCN_H 1650*9712c20fSFrederick Mayle#include <dlfcn.h> 1651*9712c20fSFrederick Mayle#endif 1652*9712c20fSFrederick Mayle 1653*9712c20fSFrederick Mayle#include <stdio.h> 1654*9712c20fSFrederick Mayle 1655*9712c20fSFrederick Mayle#ifdef RTLD_GLOBAL 1656*9712c20fSFrederick Mayle# define LT_DLGLOBAL RTLD_GLOBAL 1657*9712c20fSFrederick Mayle#else 1658*9712c20fSFrederick Mayle# ifdef DL_GLOBAL 1659*9712c20fSFrederick Mayle# define LT_DLGLOBAL DL_GLOBAL 1660*9712c20fSFrederick Mayle# else 1661*9712c20fSFrederick Mayle# define LT_DLGLOBAL 0 1662*9712c20fSFrederick Mayle# endif 1663*9712c20fSFrederick Mayle#endif 1664*9712c20fSFrederick Mayle 1665*9712c20fSFrederick Mayle/* We may have to define LT_DLLAZY_OR_NOW in the command line if we 1666*9712c20fSFrederick Mayle find out it does not work in some platform. */ 1667*9712c20fSFrederick Mayle#ifndef LT_DLLAZY_OR_NOW 1668*9712c20fSFrederick Mayle# ifdef RTLD_LAZY 1669*9712c20fSFrederick Mayle# define LT_DLLAZY_OR_NOW RTLD_LAZY 1670*9712c20fSFrederick Mayle# else 1671*9712c20fSFrederick Mayle# ifdef DL_LAZY 1672*9712c20fSFrederick Mayle# define LT_DLLAZY_OR_NOW DL_LAZY 1673*9712c20fSFrederick Mayle# else 1674*9712c20fSFrederick Mayle# ifdef RTLD_NOW 1675*9712c20fSFrederick Mayle# define LT_DLLAZY_OR_NOW RTLD_NOW 1676*9712c20fSFrederick Mayle# else 1677*9712c20fSFrederick Mayle# ifdef DL_NOW 1678*9712c20fSFrederick Mayle# define LT_DLLAZY_OR_NOW DL_NOW 1679*9712c20fSFrederick Mayle# else 1680*9712c20fSFrederick Mayle# define LT_DLLAZY_OR_NOW 0 1681*9712c20fSFrederick Mayle# endif 1682*9712c20fSFrederick Mayle# endif 1683*9712c20fSFrederick Mayle# endif 1684*9712c20fSFrederick Mayle# endif 1685*9712c20fSFrederick Mayle#endif 1686*9712c20fSFrederick Mayle 1687*9712c20fSFrederick Maylevoid fnord() { int i=42;} 1688*9712c20fSFrederick Mayleint main () 1689*9712c20fSFrederick Mayle{ 1690*9712c20fSFrederick Mayle void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); 1691*9712c20fSFrederick Mayle int status = $lt_dlunknown; 1692*9712c20fSFrederick Mayle 1693*9712c20fSFrederick Mayle if (self) 1694*9712c20fSFrederick Mayle { 1695*9712c20fSFrederick Mayle if (dlsym (self,"fnord")) status = $lt_dlno_uscore; 1696*9712c20fSFrederick Mayle else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; 1697*9712c20fSFrederick Mayle /* dlclose (self); */ 1698*9712c20fSFrederick Mayle } 1699*9712c20fSFrederick Mayle else 1700*9712c20fSFrederick Mayle puts (dlerror ()); 1701*9712c20fSFrederick Mayle 1702*9712c20fSFrederick Mayle return status; 1703*9712c20fSFrederick Mayle}] 1704*9712c20fSFrederick Mayle_LT_EOF 1705*9712c20fSFrederick Mayle if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then 1706*9712c20fSFrederick Mayle (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null 1707*9712c20fSFrederick Mayle lt_status=$? 1708*9712c20fSFrederick Mayle case x$lt_status in 1709*9712c20fSFrederick Mayle x$lt_dlno_uscore) $1 ;; 1710*9712c20fSFrederick Mayle x$lt_dlneed_uscore) $2 ;; 1711*9712c20fSFrederick Mayle x$lt_dlunknown|x*) $3 ;; 1712*9712c20fSFrederick Mayle esac 1713*9712c20fSFrederick Mayle else : 1714*9712c20fSFrederick Mayle # compilation failed 1715*9712c20fSFrederick Mayle $3 1716*9712c20fSFrederick Mayle fi 1717*9712c20fSFrederick Maylefi 1718*9712c20fSFrederick Maylerm -fr conftest* 1719*9712c20fSFrederick Mayle])# _LT_TRY_DLOPEN_SELF 1720*9712c20fSFrederick Mayle 1721*9712c20fSFrederick Mayle 1722*9712c20fSFrederick Mayle# LT_SYS_DLOPEN_SELF 1723*9712c20fSFrederick Mayle# ------------------ 1724*9712c20fSFrederick MayleAC_DEFUN([LT_SYS_DLOPEN_SELF], 1725*9712c20fSFrederick Mayle[m4_require([_LT_HEADER_DLFCN])dnl 1726*9712c20fSFrederick Mayleif test "x$enable_dlopen" != xyes; then 1727*9712c20fSFrederick Mayle enable_dlopen=unknown 1728*9712c20fSFrederick Mayle enable_dlopen_self=unknown 1729*9712c20fSFrederick Mayle enable_dlopen_self_static=unknown 1730*9712c20fSFrederick Mayleelse 1731*9712c20fSFrederick Mayle lt_cv_dlopen=no 1732*9712c20fSFrederick Mayle lt_cv_dlopen_libs= 1733*9712c20fSFrederick Mayle 1734*9712c20fSFrederick Mayle case $host_os in 1735*9712c20fSFrederick Mayle beos*) 1736*9712c20fSFrederick Mayle lt_cv_dlopen="load_add_on" 1737*9712c20fSFrederick Mayle lt_cv_dlopen_libs= 1738*9712c20fSFrederick Mayle lt_cv_dlopen_self=yes 1739*9712c20fSFrederick Mayle ;; 1740*9712c20fSFrederick Mayle 1741*9712c20fSFrederick Mayle mingw* | pw32* | cegcc*) 1742*9712c20fSFrederick Mayle lt_cv_dlopen="LoadLibrary" 1743*9712c20fSFrederick Mayle lt_cv_dlopen_libs= 1744*9712c20fSFrederick Mayle ;; 1745*9712c20fSFrederick Mayle 1746*9712c20fSFrederick Mayle cygwin*) 1747*9712c20fSFrederick Mayle lt_cv_dlopen="dlopen" 1748*9712c20fSFrederick Mayle lt_cv_dlopen_libs= 1749*9712c20fSFrederick Mayle ;; 1750*9712c20fSFrederick Mayle 1751*9712c20fSFrederick Mayle darwin*) 1752*9712c20fSFrederick Mayle # if libdl is installed we need to link against it 1753*9712c20fSFrederick Mayle AC_CHECK_LIB([dl], [dlopen], 1754*9712c20fSFrederick Mayle [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ 1755*9712c20fSFrederick Mayle lt_cv_dlopen="dyld" 1756*9712c20fSFrederick Mayle lt_cv_dlopen_libs= 1757*9712c20fSFrederick Mayle lt_cv_dlopen_self=yes 1758*9712c20fSFrederick Mayle ]) 1759*9712c20fSFrederick Mayle ;; 1760*9712c20fSFrederick Mayle 1761*9712c20fSFrederick Mayle *) 1762*9712c20fSFrederick Mayle AC_CHECK_FUNC([shl_load], 1763*9712c20fSFrederick Mayle [lt_cv_dlopen="shl_load"], 1764*9712c20fSFrederick Mayle [AC_CHECK_LIB([dld], [shl_load], 1765*9712c20fSFrederick Mayle [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], 1766*9712c20fSFrederick Mayle [AC_CHECK_FUNC([dlopen], 1767*9712c20fSFrederick Mayle [lt_cv_dlopen="dlopen"], 1768*9712c20fSFrederick Mayle [AC_CHECK_LIB([dl], [dlopen], 1769*9712c20fSFrederick Mayle [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], 1770*9712c20fSFrederick Mayle [AC_CHECK_LIB([svld], [dlopen], 1771*9712c20fSFrederick Mayle [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], 1772*9712c20fSFrederick Mayle [AC_CHECK_LIB([dld], [dld_link], 1773*9712c20fSFrederick Mayle [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) 1774*9712c20fSFrederick Mayle ]) 1775*9712c20fSFrederick Mayle ]) 1776*9712c20fSFrederick Mayle ]) 1777*9712c20fSFrederick Mayle ]) 1778*9712c20fSFrederick Mayle ]) 1779*9712c20fSFrederick Mayle ;; 1780*9712c20fSFrederick Mayle esac 1781*9712c20fSFrederick Mayle 1782*9712c20fSFrederick Mayle if test "x$lt_cv_dlopen" != xno; then 1783*9712c20fSFrederick Mayle enable_dlopen=yes 1784*9712c20fSFrederick Mayle else 1785*9712c20fSFrederick Mayle enable_dlopen=no 1786*9712c20fSFrederick Mayle fi 1787*9712c20fSFrederick Mayle 1788*9712c20fSFrederick Mayle case $lt_cv_dlopen in 1789*9712c20fSFrederick Mayle dlopen) 1790*9712c20fSFrederick Mayle save_CPPFLAGS="$CPPFLAGS" 1791*9712c20fSFrederick Mayle test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" 1792*9712c20fSFrederick Mayle 1793*9712c20fSFrederick Mayle save_LDFLAGS="$LDFLAGS" 1794*9712c20fSFrederick Mayle wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" 1795*9712c20fSFrederick Mayle 1796*9712c20fSFrederick Mayle save_LIBS="$LIBS" 1797*9712c20fSFrederick Mayle LIBS="$lt_cv_dlopen_libs $LIBS" 1798*9712c20fSFrederick Mayle 1799*9712c20fSFrederick Mayle AC_CACHE_CHECK([whether a program can dlopen itself], 1800*9712c20fSFrederick Mayle lt_cv_dlopen_self, [dnl 1801*9712c20fSFrederick Mayle _LT_TRY_DLOPEN_SELF( 1802*9712c20fSFrederick Mayle lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, 1803*9712c20fSFrederick Mayle lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) 1804*9712c20fSFrederick Mayle ]) 1805*9712c20fSFrederick Mayle 1806*9712c20fSFrederick Mayle if test "x$lt_cv_dlopen_self" = xyes; then 1807*9712c20fSFrederick Mayle wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 1808*9712c20fSFrederick Mayle AC_CACHE_CHECK([whether a statically linked program can dlopen itself], 1809*9712c20fSFrederick Mayle lt_cv_dlopen_self_static, [dnl 1810*9712c20fSFrederick Mayle _LT_TRY_DLOPEN_SELF( 1811*9712c20fSFrederick Mayle lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, 1812*9712c20fSFrederick Mayle lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) 1813*9712c20fSFrederick Mayle ]) 1814*9712c20fSFrederick Mayle fi 1815*9712c20fSFrederick Mayle 1816*9712c20fSFrederick Mayle CPPFLAGS="$save_CPPFLAGS" 1817*9712c20fSFrederick Mayle LDFLAGS="$save_LDFLAGS" 1818*9712c20fSFrederick Mayle LIBS="$save_LIBS" 1819*9712c20fSFrederick Mayle ;; 1820*9712c20fSFrederick Mayle esac 1821*9712c20fSFrederick Mayle 1822*9712c20fSFrederick Mayle case $lt_cv_dlopen_self in 1823*9712c20fSFrederick Mayle yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; 1824*9712c20fSFrederick Mayle *) enable_dlopen_self=unknown ;; 1825*9712c20fSFrederick Mayle esac 1826*9712c20fSFrederick Mayle 1827*9712c20fSFrederick Mayle case $lt_cv_dlopen_self_static in 1828*9712c20fSFrederick Mayle yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; 1829*9712c20fSFrederick Mayle *) enable_dlopen_self_static=unknown ;; 1830*9712c20fSFrederick Mayle esac 1831*9712c20fSFrederick Maylefi 1832*9712c20fSFrederick Mayle_LT_DECL([dlopen_support], [enable_dlopen], [0], 1833*9712c20fSFrederick Mayle [Whether dlopen is supported]) 1834*9712c20fSFrederick Mayle_LT_DECL([dlopen_self], [enable_dlopen_self], [0], 1835*9712c20fSFrederick Mayle [Whether dlopen of programs is supported]) 1836*9712c20fSFrederick Mayle_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], 1837*9712c20fSFrederick Mayle [Whether dlopen of statically linked programs is supported]) 1838*9712c20fSFrederick Mayle])# LT_SYS_DLOPEN_SELF 1839*9712c20fSFrederick Mayle 1840*9712c20fSFrederick Mayle# Old name: 1841*9712c20fSFrederick MayleAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) 1842*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 1843*9712c20fSFrederick Maylednl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) 1844*9712c20fSFrederick Mayle 1845*9712c20fSFrederick Mayle 1846*9712c20fSFrederick Mayle# _LT_COMPILER_C_O([TAGNAME]) 1847*9712c20fSFrederick Mayle# --------------------------- 1848*9712c20fSFrederick Mayle# Check to see if options -c and -o are simultaneously supported by compiler. 1849*9712c20fSFrederick Mayle# This macro does not hard code the compiler like AC_PROG_CC_C_O. 1850*9712c20fSFrederick Maylem4_defun([_LT_COMPILER_C_O], 1851*9712c20fSFrederick Mayle[m4_require([_LT_DECL_SED])dnl 1852*9712c20fSFrederick Maylem4_require([_LT_FILEUTILS_DEFAULTS])dnl 1853*9712c20fSFrederick Maylem4_require([_LT_TAG_COMPILER])dnl 1854*9712c20fSFrederick MayleAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], 1855*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], 1856*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no 1857*9712c20fSFrederick Mayle $RM -r conftest 2>/dev/null 1858*9712c20fSFrederick Mayle mkdir conftest 1859*9712c20fSFrederick Mayle cd conftest 1860*9712c20fSFrederick Mayle mkdir out 1861*9712c20fSFrederick Mayle echo "$lt_simple_compile_test_code" > conftest.$ac_ext 1862*9712c20fSFrederick Mayle 1863*9712c20fSFrederick Mayle lt_compiler_flag="-o out/conftest2.$ac_objext" 1864*9712c20fSFrederick Mayle # Insert the option either (1) after the last *FLAGS variable, or 1865*9712c20fSFrederick Mayle # (2) before a word containing "conftest.", or (3) at the end. 1866*9712c20fSFrederick Mayle # Note that $ac_compile itself does not contain backslashes and begins 1867*9712c20fSFrederick Mayle # with a dollar sign (not a hyphen), so the echo should work correctly. 1868*9712c20fSFrederick Mayle lt_compile=`echo "$ac_compile" | $SED \ 1869*9712c20fSFrederick Mayle -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ 1870*9712c20fSFrederick Mayle -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ 1871*9712c20fSFrederick Mayle -e 's:$: $lt_compiler_flag:'` 1872*9712c20fSFrederick Mayle (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) 1873*9712c20fSFrederick Mayle (eval "$lt_compile" 2>out/conftest.err) 1874*9712c20fSFrederick Mayle ac_status=$? 1875*9712c20fSFrederick Mayle cat out/conftest.err >&AS_MESSAGE_LOG_FD 1876*9712c20fSFrederick Mayle echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD 1877*9712c20fSFrederick Mayle if (exit $ac_status) && test -s out/conftest2.$ac_objext 1878*9712c20fSFrederick Mayle then 1879*9712c20fSFrederick Mayle # The compiler can only warn and ignore the option if not recognized 1880*9712c20fSFrederick Mayle # So say no if there are warnings 1881*9712c20fSFrederick Mayle $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp 1882*9712c20fSFrederick Mayle $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 1883*9712c20fSFrederick Mayle if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then 1884*9712c20fSFrederick Mayle _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 1885*9712c20fSFrederick Mayle fi 1886*9712c20fSFrederick Mayle fi 1887*9712c20fSFrederick Mayle chmod u+w . 2>&AS_MESSAGE_LOG_FD 1888*9712c20fSFrederick Mayle $RM conftest* 1889*9712c20fSFrederick Mayle # SGI C++ compiler will create directory out/ii_files/ for 1890*9712c20fSFrederick Mayle # template instantiation 1891*9712c20fSFrederick Mayle test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files 1892*9712c20fSFrederick Mayle $RM out/* && rmdir out 1893*9712c20fSFrederick Mayle cd .. 1894*9712c20fSFrederick Mayle $RM -r conftest 1895*9712c20fSFrederick Mayle $RM conftest* 1896*9712c20fSFrederick Mayle]) 1897*9712c20fSFrederick Mayle_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], 1898*9712c20fSFrederick Mayle [Does compiler simultaneously support -c and -o options?]) 1899*9712c20fSFrederick Mayle])# _LT_COMPILER_C_O 1900*9712c20fSFrederick Mayle 1901*9712c20fSFrederick Mayle 1902*9712c20fSFrederick Mayle# _LT_COMPILER_FILE_LOCKS([TAGNAME]) 1903*9712c20fSFrederick Mayle# ---------------------------------- 1904*9712c20fSFrederick Mayle# Check to see if we can do hard links to lock some files if needed 1905*9712c20fSFrederick Maylem4_defun([_LT_COMPILER_FILE_LOCKS], 1906*9712c20fSFrederick Mayle[m4_require([_LT_ENABLE_LOCK])dnl 1907*9712c20fSFrederick Maylem4_require([_LT_FILEUTILS_DEFAULTS])dnl 1908*9712c20fSFrederick Mayle_LT_COMPILER_C_O([$1]) 1909*9712c20fSFrederick Mayle 1910*9712c20fSFrederick Maylehard_links="nottested" 1911*9712c20fSFrederick Mayleif test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then 1912*9712c20fSFrederick Mayle # do not overwrite the value of need_locks provided by the user 1913*9712c20fSFrederick Mayle AC_MSG_CHECKING([if we can lock with hard links]) 1914*9712c20fSFrederick Mayle hard_links=yes 1915*9712c20fSFrederick Mayle $RM conftest* 1916*9712c20fSFrederick Mayle ln conftest.a conftest.b 2>/dev/null && hard_links=no 1917*9712c20fSFrederick Mayle touch conftest.a 1918*9712c20fSFrederick Mayle ln conftest.a conftest.b 2>&5 || hard_links=no 1919*9712c20fSFrederick Mayle ln conftest.a conftest.b 2>/dev/null && hard_links=no 1920*9712c20fSFrederick Mayle AC_MSG_RESULT([$hard_links]) 1921*9712c20fSFrederick Mayle if test "$hard_links" = no; then 1922*9712c20fSFrederick Mayle AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) 1923*9712c20fSFrederick Mayle need_locks=warn 1924*9712c20fSFrederick Mayle fi 1925*9712c20fSFrederick Mayleelse 1926*9712c20fSFrederick Mayle need_locks=no 1927*9712c20fSFrederick Maylefi 1928*9712c20fSFrederick Mayle_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) 1929*9712c20fSFrederick Mayle])# _LT_COMPILER_FILE_LOCKS 1930*9712c20fSFrederick Mayle 1931*9712c20fSFrederick Mayle 1932*9712c20fSFrederick Mayle# _LT_CHECK_OBJDIR 1933*9712c20fSFrederick Mayle# ---------------- 1934*9712c20fSFrederick Maylem4_defun([_LT_CHECK_OBJDIR], 1935*9712c20fSFrederick Mayle[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], 1936*9712c20fSFrederick Mayle[rm -f .libs 2>/dev/null 1937*9712c20fSFrederick Maylemkdir .libs 2>/dev/null 1938*9712c20fSFrederick Mayleif test -d .libs; then 1939*9712c20fSFrederick Mayle lt_cv_objdir=.libs 1940*9712c20fSFrederick Mayleelse 1941*9712c20fSFrederick Mayle # MS-DOS does not allow filenames that begin with a dot. 1942*9712c20fSFrederick Mayle lt_cv_objdir=_libs 1943*9712c20fSFrederick Maylefi 1944*9712c20fSFrederick Maylermdir .libs 2>/dev/null]) 1945*9712c20fSFrederick Mayleobjdir=$lt_cv_objdir 1946*9712c20fSFrederick Mayle_LT_DECL([], [objdir], [0], 1947*9712c20fSFrederick Mayle [The name of the directory that contains temporary libtool files])dnl 1948*9712c20fSFrederick Maylem4_pattern_allow([LT_OBJDIR])dnl 1949*9712c20fSFrederick MayleAC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", 1950*9712c20fSFrederick Mayle [Define to the sub-directory in which libtool stores uninstalled libraries.]) 1951*9712c20fSFrederick Mayle])# _LT_CHECK_OBJDIR 1952*9712c20fSFrederick Mayle 1953*9712c20fSFrederick Mayle 1954*9712c20fSFrederick Mayle# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) 1955*9712c20fSFrederick Mayle# -------------------------------------- 1956*9712c20fSFrederick Mayle# Check hardcoding attributes. 1957*9712c20fSFrederick Maylem4_defun([_LT_LINKER_HARDCODE_LIBPATH], 1958*9712c20fSFrederick Mayle[AC_MSG_CHECKING([how to hardcode library paths into programs]) 1959*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_action, $1)= 1960*9712c20fSFrederick Mayleif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || 1961*9712c20fSFrederick Mayle test -n "$_LT_TAGVAR(runpath_var, $1)" || 1962*9712c20fSFrederick Mayle test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then 1963*9712c20fSFrederick Mayle 1964*9712c20fSFrederick Mayle # We can hardcode non-existent directories. 1965*9712c20fSFrederick Mayle if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && 1966*9712c20fSFrederick Mayle # If the only mechanism to avoid hardcoding is shlibpath_var, we 1967*9712c20fSFrederick Mayle # have to relink, otherwise we might link with an installed library 1968*9712c20fSFrederick Mayle # when we should be linking with a yet-to-be-installed one 1969*9712c20fSFrederick Mayle ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && 1970*9712c20fSFrederick Mayle test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then 1971*9712c20fSFrederick Mayle # Linking always hardcodes the temporary library directory. 1972*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_action, $1)=relink 1973*9712c20fSFrederick Mayle else 1974*9712c20fSFrederick Mayle # We can link without hardcoding, and we can hardcode nonexisting dirs. 1975*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_action, $1)=immediate 1976*9712c20fSFrederick Mayle fi 1977*9712c20fSFrederick Mayleelse 1978*9712c20fSFrederick Mayle # We cannot hardcode anything, or else we can only hardcode existing 1979*9712c20fSFrederick Mayle # directories. 1980*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_action, $1)=unsupported 1981*9712c20fSFrederick Maylefi 1982*9712c20fSFrederick MayleAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) 1983*9712c20fSFrederick Mayle 1984*9712c20fSFrederick Mayleif test "$_LT_TAGVAR(hardcode_action, $1)" = relink || 1985*9712c20fSFrederick Mayle test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then 1986*9712c20fSFrederick Mayle # Fast installation is not supported 1987*9712c20fSFrederick Mayle enable_fast_install=no 1988*9712c20fSFrederick Mayleelif test "$shlibpath_overrides_runpath" = yes || 1989*9712c20fSFrederick Mayle test "$enable_shared" = no; then 1990*9712c20fSFrederick Mayle # Fast installation is not necessary 1991*9712c20fSFrederick Mayle enable_fast_install=needless 1992*9712c20fSFrederick Maylefi 1993*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_action], [0], 1994*9712c20fSFrederick Mayle [How to hardcode a shared library path into an executable]) 1995*9712c20fSFrederick Mayle])# _LT_LINKER_HARDCODE_LIBPATH 1996*9712c20fSFrederick Mayle 1997*9712c20fSFrederick Mayle 1998*9712c20fSFrederick Mayle# _LT_CMD_STRIPLIB 1999*9712c20fSFrederick Mayle# ---------------- 2000*9712c20fSFrederick Maylem4_defun([_LT_CMD_STRIPLIB], 2001*9712c20fSFrederick Mayle[m4_require([_LT_DECL_EGREP]) 2002*9712c20fSFrederick Maylestriplib= 2003*9712c20fSFrederick Mayleold_striplib= 2004*9712c20fSFrederick MayleAC_MSG_CHECKING([whether stripping libraries is possible]) 2005*9712c20fSFrederick Mayleif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then 2006*9712c20fSFrederick Mayle test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" 2007*9712c20fSFrederick Mayle test -z "$striplib" && striplib="$STRIP --strip-unneeded" 2008*9712c20fSFrederick Mayle AC_MSG_RESULT([yes]) 2009*9712c20fSFrederick Mayleelse 2010*9712c20fSFrederick Mayle# FIXME - insert some real tests, host_os isn't really good enough 2011*9712c20fSFrederick Mayle case $host_os in 2012*9712c20fSFrederick Mayle darwin*) 2013*9712c20fSFrederick Mayle if test -n "$STRIP" ; then 2014*9712c20fSFrederick Mayle striplib="$STRIP -x" 2015*9712c20fSFrederick Mayle old_striplib="$STRIP -S" 2016*9712c20fSFrederick Mayle AC_MSG_RESULT([yes]) 2017*9712c20fSFrederick Mayle else 2018*9712c20fSFrederick Mayle AC_MSG_RESULT([no]) 2019*9712c20fSFrederick Mayle fi 2020*9712c20fSFrederick Mayle ;; 2021*9712c20fSFrederick Mayle *) 2022*9712c20fSFrederick Mayle AC_MSG_RESULT([no]) 2023*9712c20fSFrederick Mayle ;; 2024*9712c20fSFrederick Mayle esac 2025*9712c20fSFrederick Maylefi 2026*9712c20fSFrederick Mayle_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) 2027*9712c20fSFrederick Mayle_LT_DECL([], [striplib], [1]) 2028*9712c20fSFrederick Mayle])# _LT_CMD_STRIPLIB 2029*9712c20fSFrederick Mayle 2030*9712c20fSFrederick Mayle 2031*9712c20fSFrederick Mayle# _LT_SYS_DYNAMIC_LINKER([TAG]) 2032*9712c20fSFrederick Mayle# ----------------------------- 2033*9712c20fSFrederick Mayle# PORTME Fill in your ld.so characteristics 2034*9712c20fSFrederick Maylem4_defun([_LT_SYS_DYNAMIC_LINKER], 2035*9712c20fSFrederick Mayle[AC_REQUIRE([AC_CANONICAL_HOST])dnl 2036*9712c20fSFrederick Maylem4_require([_LT_DECL_EGREP])dnl 2037*9712c20fSFrederick Maylem4_require([_LT_FILEUTILS_DEFAULTS])dnl 2038*9712c20fSFrederick Maylem4_require([_LT_DECL_OBJDUMP])dnl 2039*9712c20fSFrederick Maylem4_require([_LT_DECL_SED])dnl 2040*9712c20fSFrederick MayleAC_MSG_CHECKING([dynamic linker characteristics]) 2041*9712c20fSFrederick Maylem4_if([$1], 2042*9712c20fSFrederick Mayle [], [ 2043*9712c20fSFrederick Mayleif test "$GCC" = yes; then 2044*9712c20fSFrederick Mayle case $host_os in 2045*9712c20fSFrederick Mayle darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; 2046*9712c20fSFrederick Mayle *) lt_awk_arg="/^libraries:/" ;; 2047*9712c20fSFrederick Mayle esac 2048*9712c20fSFrederick Mayle lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` 2049*9712c20fSFrederick Mayle if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then 2050*9712c20fSFrederick Mayle # if the path contains ";" then we assume it to be the separator 2051*9712c20fSFrederick Mayle # otherwise default to the standard path separator (i.e. ":") - it is 2052*9712c20fSFrederick Mayle # assumed that no part of a normal pathname contains ";" but that should 2053*9712c20fSFrederick Mayle # okay in the real world where ";" in dirpaths is itself problematic. 2054*9712c20fSFrederick Mayle lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` 2055*9712c20fSFrederick Mayle else 2056*9712c20fSFrederick Mayle lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2057*9712c20fSFrederick Mayle fi 2058*9712c20fSFrederick Mayle # Ok, now we have the path, separated by spaces, we can step through it 2059*9712c20fSFrederick Mayle # and add multilib dir if necessary. 2060*9712c20fSFrederick Mayle lt_tmp_lt_search_path_spec= 2061*9712c20fSFrederick Mayle lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` 2062*9712c20fSFrederick Mayle for lt_sys_path in $lt_search_path_spec; do 2063*9712c20fSFrederick Mayle if test -d "$lt_sys_path/$lt_multi_os_dir"; then 2064*9712c20fSFrederick Mayle lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" 2065*9712c20fSFrederick Mayle else 2066*9712c20fSFrederick Mayle test -d "$lt_sys_path" && \ 2067*9712c20fSFrederick Mayle lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" 2068*9712c20fSFrederick Mayle fi 2069*9712c20fSFrederick Mayle done 2070*9712c20fSFrederick Mayle lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' 2071*9712c20fSFrederick MayleBEGIN {RS=" "; FS="/|\n";} { 2072*9712c20fSFrederick Mayle lt_foo=""; 2073*9712c20fSFrederick Mayle lt_count=0; 2074*9712c20fSFrederick Mayle for (lt_i = NF; lt_i > 0; lt_i--) { 2075*9712c20fSFrederick Mayle if ($lt_i != "" && $lt_i != ".") { 2076*9712c20fSFrederick Mayle if ($lt_i == "..") { 2077*9712c20fSFrederick Mayle lt_count++; 2078*9712c20fSFrederick Mayle } else { 2079*9712c20fSFrederick Mayle if (lt_count == 0) { 2080*9712c20fSFrederick Mayle lt_foo="/" $lt_i lt_foo; 2081*9712c20fSFrederick Mayle } else { 2082*9712c20fSFrederick Mayle lt_count--; 2083*9712c20fSFrederick Mayle } 2084*9712c20fSFrederick Mayle } 2085*9712c20fSFrederick Mayle } 2086*9712c20fSFrederick Mayle } 2087*9712c20fSFrederick Mayle if (lt_foo != "") { lt_freq[[lt_foo]]++; } 2088*9712c20fSFrederick Mayle if (lt_freq[[lt_foo]] == 1) { print lt_foo; } 2089*9712c20fSFrederick Mayle}'` 2090*9712c20fSFrederick Mayle sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` 2091*9712c20fSFrederick Mayleelse 2092*9712c20fSFrederick Mayle sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" 2093*9712c20fSFrederick Maylefi]) 2094*9712c20fSFrederick Maylelibrary_names_spec= 2095*9712c20fSFrederick Maylelibname_spec='lib$name' 2096*9712c20fSFrederick Maylesoname_spec= 2097*9712c20fSFrederick Mayleshrext_cmds=".so" 2098*9712c20fSFrederick Maylepostinstall_cmds= 2099*9712c20fSFrederick Maylepostuninstall_cmds= 2100*9712c20fSFrederick Maylefinish_cmds= 2101*9712c20fSFrederick Maylefinish_eval= 2102*9712c20fSFrederick Mayleshlibpath_var= 2103*9712c20fSFrederick Mayleshlibpath_overrides_runpath=unknown 2104*9712c20fSFrederick Mayleversion_type=none 2105*9712c20fSFrederick Mayledynamic_linker="$host_os ld.so" 2106*9712c20fSFrederick Maylesys_lib_dlsearch_path_spec="/lib /usr/lib" 2107*9712c20fSFrederick Mayleneed_lib_prefix=unknown 2108*9712c20fSFrederick Maylehardcode_into_libs=no 2109*9712c20fSFrederick Mayle 2110*9712c20fSFrederick Mayle# when you set need_version to no, make sure it does not cause -set_version 2111*9712c20fSFrederick Mayle# flags to be left without arguments 2112*9712c20fSFrederick Mayleneed_version=unknown 2113*9712c20fSFrederick Mayle 2114*9712c20fSFrederick Maylecase $host_os in 2115*9712c20fSFrederick Mayleaix3*) 2116*9712c20fSFrederick Mayle version_type=linux 2117*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' 2118*9712c20fSFrederick Mayle shlibpath_var=LIBPATH 2119*9712c20fSFrederick Mayle 2120*9712c20fSFrederick Mayle # AIX 3 has no versioning support, so we append a major version to the name. 2121*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2122*9712c20fSFrederick Mayle ;; 2123*9712c20fSFrederick Mayle 2124*9712c20fSFrederick Mayleaix[[4-9]]*) 2125*9712c20fSFrederick Mayle version_type=linux 2126*9712c20fSFrederick Mayle need_lib_prefix=no 2127*9712c20fSFrederick Mayle need_version=no 2128*9712c20fSFrederick Mayle hardcode_into_libs=yes 2129*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 2130*9712c20fSFrederick Mayle # AIX 5 supports IA64 2131*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' 2132*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2133*9712c20fSFrederick Mayle else 2134*9712c20fSFrederick Mayle # With GCC up to 2.95.x, collect2 would create an import file 2135*9712c20fSFrederick Mayle # for dependence libraries. The import file would start with 2136*9712c20fSFrederick Mayle # the line `#! .'. This would cause the generated library to 2137*9712c20fSFrederick Mayle # depend on `.', always an invalid library. This was fixed in 2138*9712c20fSFrederick Mayle # development snapshots of GCC prior to 3.0. 2139*9712c20fSFrederick Mayle case $host_os in 2140*9712c20fSFrederick Mayle aix4 | aix4.[[01]] | aix4.[[01]].*) 2141*9712c20fSFrederick Mayle if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' 2142*9712c20fSFrederick Mayle echo ' yes ' 2143*9712c20fSFrederick Mayle echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then 2144*9712c20fSFrederick Mayle : 2145*9712c20fSFrederick Mayle else 2146*9712c20fSFrederick Mayle can_build_shared=no 2147*9712c20fSFrederick Mayle fi 2148*9712c20fSFrederick Mayle ;; 2149*9712c20fSFrederick Mayle esac 2150*9712c20fSFrederick Mayle # AIX (on Power*) has no versioning support, so currently we can not hardcode correct 2151*9712c20fSFrederick Mayle # soname into executable. Probably we can add versioning support to 2152*9712c20fSFrederick Mayle # collect2, so additional links can be useful in future. 2153*9712c20fSFrederick Mayle if test "$aix_use_runtimelinking" = yes; then 2154*9712c20fSFrederick Mayle # If using run time linking (on AIX 4.2 or later) use lib<name>.so 2155*9712c20fSFrederick Mayle # instead of lib<name>.a to let people know that these are not 2156*9712c20fSFrederick Mayle # typical AIX shared libraries. 2157*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2158*9712c20fSFrederick Mayle else 2159*9712c20fSFrederick Mayle # We preserve .a as extension for shared libraries through AIX4.2 2160*9712c20fSFrederick Mayle # and later when we are not doing run time linking. 2161*9712c20fSFrederick Mayle library_names_spec='${libname}${release}.a $libname.a' 2162*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2163*9712c20fSFrederick Mayle fi 2164*9712c20fSFrederick Mayle shlibpath_var=LIBPATH 2165*9712c20fSFrederick Mayle fi 2166*9712c20fSFrederick Mayle ;; 2167*9712c20fSFrederick Mayle 2168*9712c20fSFrederick Mayleamigaos*) 2169*9712c20fSFrederick Mayle case $host_cpu in 2170*9712c20fSFrederick Mayle powerpc) 2171*9712c20fSFrederick Mayle # Since July 2007 AmigaOS4 officially supports .so libraries. 2172*9712c20fSFrederick Mayle # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. 2173*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2174*9712c20fSFrederick Mayle ;; 2175*9712c20fSFrederick Mayle m68k) 2176*9712c20fSFrederick Mayle library_names_spec='$libname.ixlibrary $libname.a' 2177*9712c20fSFrederick Mayle # Create ${libname}_ixlibrary.a entries in /sys/libs. 2178*9712c20fSFrederick Mayle finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' 2179*9712c20fSFrederick Mayle ;; 2180*9712c20fSFrederick Mayle esac 2181*9712c20fSFrederick Mayle ;; 2182*9712c20fSFrederick Mayle 2183*9712c20fSFrederick Maylebeos*) 2184*9712c20fSFrederick Mayle library_names_spec='${libname}${shared_ext}' 2185*9712c20fSFrederick Mayle dynamic_linker="$host_os ld.so" 2186*9712c20fSFrederick Mayle shlibpath_var=LIBRARY_PATH 2187*9712c20fSFrederick Mayle ;; 2188*9712c20fSFrederick Mayle 2189*9712c20fSFrederick Maylebsdi[[45]]*) 2190*9712c20fSFrederick Mayle version_type=linux 2191*9712c20fSFrederick Mayle need_version=no 2192*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2193*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2194*9712c20fSFrederick Mayle finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' 2195*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2196*9712c20fSFrederick Mayle sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" 2197*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" 2198*9712c20fSFrederick Mayle # the default ld.so.conf also contains /usr/contrib/lib and 2199*9712c20fSFrederick Mayle # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow 2200*9712c20fSFrederick Mayle # libtool to hard-code these into programs 2201*9712c20fSFrederick Mayle ;; 2202*9712c20fSFrederick Mayle 2203*9712c20fSFrederick Maylecygwin* | mingw* | pw32* | cegcc*) 2204*9712c20fSFrederick Mayle version_type=windows 2205*9712c20fSFrederick Mayle shrext_cmds=".dll" 2206*9712c20fSFrederick Mayle need_version=no 2207*9712c20fSFrederick Mayle need_lib_prefix=no 2208*9712c20fSFrederick Mayle 2209*9712c20fSFrederick Mayle case $GCC,$host_os in 2210*9712c20fSFrederick Mayle yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) 2211*9712c20fSFrederick Mayle library_names_spec='$libname.dll.a' 2212*9712c20fSFrederick Mayle # DLL is installed to $(libdir)/../bin by postinstall_cmds 2213*9712c20fSFrederick Mayle postinstall_cmds='base_file=`basename \${file}`~ 2214*9712c20fSFrederick Mayle dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ 2215*9712c20fSFrederick Mayle dldir=$destdir/`dirname \$dlpath`~ 2216*9712c20fSFrederick Mayle test -d \$dldir || mkdir -p \$dldir~ 2217*9712c20fSFrederick Mayle $install_prog $dir/$dlname \$dldir/$dlname~ 2218*9712c20fSFrederick Mayle chmod a+x \$dldir/$dlname~ 2219*9712c20fSFrederick Mayle if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then 2220*9712c20fSFrederick Mayle eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; 2221*9712c20fSFrederick Mayle fi' 2222*9712c20fSFrederick Mayle postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ 2223*9712c20fSFrederick Mayle dlpath=$dir/\$dldll~ 2224*9712c20fSFrederick Mayle $RM \$dlpath' 2225*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2226*9712c20fSFrederick Mayle 2227*9712c20fSFrederick Mayle case $host_os in 2228*9712c20fSFrederick Mayle cygwin*) 2229*9712c20fSFrederick Mayle # Cygwin DLLs use 'cyg' prefix rather than 'lib' 2230*9712c20fSFrederick Mayle soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2231*9712c20fSFrederick Mayle sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" 2232*9712c20fSFrederick Mayle ;; 2233*9712c20fSFrederick Mayle mingw* | cegcc*) 2234*9712c20fSFrederick Mayle # MinGW DLLs use traditional 'lib' prefix 2235*9712c20fSFrederick Mayle soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2236*9712c20fSFrederick Mayle sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` 2237*9712c20fSFrederick Mayle if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then 2238*9712c20fSFrederick Mayle # It is most probably a Windows format PATH printed by 2239*9712c20fSFrederick Mayle # mingw gcc, but we are running on Cygwin. Gcc prints its search 2240*9712c20fSFrederick Mayle # path with ; separators, and with drive letters. We can handle the 2241*9712c20fSFrederick Mayle # drive letters (cygwin fileutils understands them), so leave them, 2242*9712c20fSFrederick Mayle # especially as we might pass files found there to a mingw objdump, 2243*9712c20fSFrederick Mayle # which wouldn't understand a cygwinified path. Ahh. 2244*9712c20fSFrederick Mayle sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` 2245*9712c20fSFrederick Mayle else 2246*9712c20fSFrederick Mayle sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` 2247*9712c20fSFrederick Mayle fi 2248*9712c20fSFrederick Mayle ;; 2249*9712c20fSFrederick Mayle pw32*) 2250*9712c20fSFrederick Mayle # pw32 DLLs use 'pw' prefix rather than 'lib' 2251*9712c20fSFrederick Mayle library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' 2252*9712c20fSFrederick Mayle ;; 2253*9712c20fSFrederick Mayle esac 2254*9712c20fSFrederick Mayle ;; 2255*9712c20fSFrederick Mayle 2256*9712c20fSFrederick Mayle *) 2257*9712c20fSFrederick Mayle library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' 2258*9712c20fSFrederick Mayle ;; 2259*9712c20fSFrederick Mayle esac 2260*9712c20fSFrederick Mayle dynamic_linker='Win32 ld.exe' 2261*9712c20fSFrederick Mayle # FIXME: first we should search . and the directory the executable is in 2262*9712c20fSFrederick Mayle shlibpath_var=PATH 2263*9712c20fSFrederick Mayle ;; 2264*9712c20fSFrederick Mayle 2265*9712c20fSFrederick Mayledarwin* | rhapsody*) 2266*9712c20fSFrederick Mayle dynamic_linker="$host_os dyld" 2267*9712c20fSFrederick Mayle version_type=darwin 2268*9712c20fSFrederick Mayle need_lib_prefix=no 2269*9712c20fSFrederick Mayle need_version=no 2270*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' 2271*9712c20fSFrederick Mayle soname_spec='${libname}${release}${major}$shared_ext' 2272*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2273*9712c20fSFrederick Mayle shlibpath_var=DYLD_LIBRARY_PATH 2274*9712c20fSFrederick Mayle shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' 2275*9712c20fSFrederick Maylem4_if([$1], [],[ 2276*9712c20fSFrederick Mayle sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 2277*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' 2278*9712c20fSFrederick Mayle ;; 2279*9712c20fSFrederick Mayle 2280*9712c20fSFrederick Mayledgux*) 2281*9712c20fSFrederick Mayle version_type=linux 2282*9712c20fSFrederick Mayle need_lib_prefix=no 2283*9712c20fSFrederick Mayle need_version=no 2284*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' 2285*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2286*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2287*9712c20fSFrederick Mayle ;; 2288*9712c20fSFrederick Mayle 2289*9712c20fSFrederick Maylefreebsd1*) 2290*9712c20fSFrederick Mayle dynamic_linker=no 2291*9712c20fSFrederick Mayle ;; 2292*9712c20fSFrederick Mayle 2293*9712c20fSFrederick Maylefreebsd* | dragonfly*) 2294*9712c20fSFrederick Mayle # DragonFly does not have aout. When/if they implement a new 2295*9712c20fSFrederick Mayle # versioning mechanism, adjust this. 2296*9712c20fSFrederick Mayle if test -x /usr/bin/objformat; then 2297*9712c20fSFrederick Mayle objformat=`/usr/bin/objformat` 2298*9712c20fSFrederick Mayle else 2299*9712c20fSFrederick Mayle case $host_os in 2300*9712c20fSFrederick Mayle freebsd[[123]]*) objformat=aout ;; 2301*9712c20fSFrederick Mayle *) objformat=elf ;; 2302*9712c20fSFrederick Mayle esac 2303*9712c20fSFrederick Mayle fi 2304*9712c20fSFrederick Mayle version_type=freebsd-$objformat 2305*9712c20fSFrederick Mayle case $version_type in 2306*9712c20fSFrederick Mayle freebsd-elf*) 2307*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 2308*9712c20fSFrederick Mayle need_version=no 2309*9712c20fSFrederick Mayle need_lib_prefix=no 2310*9712c20fSFrederick Mayle ;; 2311*9712c20fSFrederick Mayle freebsd-*) 2312*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' 2313*9712c20fSFrederick Mayle need_version=yes 2314*9712c20fSFrederick Mayle ;; 2315*9712c20fSFrederick Mayle esac 2316*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2317*9712c20fSFrederick Mayle case $host_os in 2318*9712c20fSFrederick Mayle freebsd2*) 2319*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2320*9712c20fSFrederick Mayle ;; 2321*9712c20fSFrederick Mayle freebsd3.[[01]]* | freebsdelf3.[[01]]*) 2322*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2323*9712c20fSFrederick Mayle hardcode_into_libs=yes 2324*9712c20fSFrederick Mayle ;; 2325*9712c20fSFrederick Mayle freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ 2326*9712c20fSFrederick Mayle freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) 2327*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2328*9712c20fSFrederick Mayle hardcode_into_libs=yes 2329*9712c20fSFrederick Mayle ;; 2330*9712c20fSFrederick Mayle *) # from 4.6 on, and DragonFly 2331*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2332*9712c20fSFrederick Mayle hardcode_into_libs=yes 2333*9712c20fSFrederick Mayle ;; 2334*9712c20fSFrederick Mayle esac 2335*9712c20fSFrederick Mayle ;; 2336*9712c20fSFrederick Mayle 2337*9712c20fSFrederick Maylegnu*) 2338*9712c20fSFrederick Mayle version_type=linux 2339*9712c20fSFrederick Mayle need_lib_prefix=no 2340*9712c20fSFrederick Mayle need_version=no 2341*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' 2342*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2343*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2344*9712c20fSFrederick Mayle hardcode_into_libs=yes 2345*9712c20fSFrederick Mayle ;; 2346*9712c20fSFrederick Mayle 2347*9712c20fSFrederick Maylehpux9* | hpux10* | hpux11*) 2348*9712c20fSFrederick Mayle # Give a soname corresponding to the major version so that dld.sl refuses to 2349*9712c20fSFrederick Mayle # link against other versions. 2350*9712c20fSFrederick Mayle version_type=sunos 2351*9712c20fSFrederick Mayle need_lib_prefix=no 2352*9712c20fSFrederick Mayle need_version=no 2353*9712c20fSFrederick Mayle case $host_cpu in 2354*9712c20fSFrederick Mayle ia64*) 2355*9712c20fSFrederick Mayle shrext_cmds='.so' 2356*9712c20fSFrederick Mayle hardcode_into_libs=yes 2357*9712c20fSFrederick Mayle dynamic_linker="$host_os dld.so" 2358*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2359*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2360*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2361*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2362*9712c20fSFrederick Mayle if test "X$HPUX_IA64_MODE" = X32; then 2363*9712c20fSFrederick Mayle sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" 2364*9712c20fSFrederick Mayle else 2365*9712c20fSFrederick Mayle sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" 2366*9712c20fSFrederick Mayle fi 2367*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2368*9712c20fSFrederick Mayle ;; 2369*9712c20fSFrederick Mayle hppa*64*) 2370*9712c20fSFrederick Mayle shrext_cmds='.sl' 2371*9712c20fSFrederick Mayle hardcode_into_libs=yes 2372*9712c20fSFrederick Mayle dynamic_linker="$host_os dld.sl" 2373*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH 2374*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. 2375*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2376*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2377*9712c20fSFrederick Mayle sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" 2378*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec 2379*9712c20fSFrederick Mayle ;; 2380*9712c20fSFrederick Mayle *) 2381*9712c20fSFrederick Mayle shrext_cmds='.sl' 2382*9712c20fSFrederick Mayle dynamic_linker="$host_os dld.sl" 2383*9712c20fSFrederick Mayle shlibpath_var=SHLIB_PATH 2384*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH 2385*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2386*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2387*9712c20fSFrederick Mayle ;; 2388*9712c20fSFrederick Mayle esac 2389*9712c20fSFrederick Mayle # HP-UX runs *really* slowly unless shared libraries are mode 555. 2390*9712c20fSFrederick Mayle postinstall_cmds='chmod 555 $lib' 2391*9712c20fSFrederick Mayle ;; 2392*9712c20fSFrederick Mayle 2393*9712c20fSFrederick Mayleinterix[[3-9]]*) 2394*9712c20fSFrederick Mayle version_type=linux 2395*9712c20fSFrederick Mayle need_lib_prefix=no 2396*9712c20fSFrederick Mayle need_version=no 2397*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 2398*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2399*9712c20fSFrederick Mayle dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' 2400*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2401*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2402*9712c20fSFrederick Mayle hardcode_into_libs=yes 2403*9712c20fSFrederick Mayle ;; 2404*9712c20fSFrederick Mayle 2405*9712c20fSFrederick Mayleirix5* | irix6* | nonstopux*) 2406*9712c20fSFrederick Mayle case $host_os in 2407*9712c20fSFrederick Mayle nonstopux*) version_type=nonstopux ;; 2408*9712c20fSFrederick Mayle *) 2409*9712c20fSFrederick Mayle if test "$lt_cv_prog_gnu_ld" = yes; then 2410*9712c20fSFrederick Mayle version_type=linux 2411*9712c20fSFrederick Mayle else 2412*9712c20fSFrederick Mayle version_type=irix 2413*9712c20fSFrederick Mayle fi ;; 2414*9712c20fSFrederick Mayle esac 2415*9712c20fSFrederick Mayle need_lib_prefix=no 2416*9712c20fSFrederick Mayle need_version=no 2417*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2418*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' 2419*9712c20fSFrederick Mayle case $host_os in 2420*9712c20fSFrederick Mayle irix5* | nonstopux*) 2421*9712c20fSFrederick Mayle libsuff= shlibsuff= 2422*9712c20fSFrederick Mayle ;; 2423*9712c20fSFrederick Mayle *) 2424*9712c20fSFrederick Mayle case $LD in # libtool.m4 will add one of these switches to LD 2425*9712c20fSFrederick Mayle *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") 2426*9712c20fSFrederick Mayle libsuff= shlibsuff= libmagic=32-bit;; 2427*9712c20fSFrederick Mayle *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") 2428*9712c20fSFrederick Mayle libsuff=32 shlibsuff=N32 libmagic=N32;; 2429*9712c20fSFrederick Mayle *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") 2430*9712c20fSFrederick Mayle libsuff=64 shlibsuff=64 libmagic=64-bit;; 2431*9712c20fSFrederick Mayle *) libsuff= shlibsuff= libmagic=never-match;; 2432*9712c20fSFrederick Mayle esac 2433*9712c20fSFrederick Mayle ;; 2434*9712c20fSFrederick Mayle esac 2435*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY${shlibsuff}_PATH 2436*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2437*9712c20fSFrederick Mayle sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" 2438*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" 2439*9712c20fSFrederick Mayle hardcode_into_libs=yes 2440*9712c20fSFrederick Mayle ;; 2441*9712c20fSFrederick Mayle 2442*9712c20fSFrederick Mayle# No shared lib support for Linux oldld, aout, or coff. 2443*9712c20fSFrederick Maylelinux*oldld* | linux*aout* | linux*coff*) 2444*9712c20fSFrederick Mayle dynamic_linker=no 2445*9712c20fSFrederick Mayle ;; 2446*9712c20fSFrederick Mayle 2447*9712c20fSFrederick Mayle# This must be Linux ELF. 2448*9712c20fSFrederick Maylelinux* | k*bsd*-gnu | kopensolaris*-gnu) 2449*9712c20fSFrederick Mayle version_type=linux 2450*9712c20fSFrederick Mayle need_lib_prefix=no 2451*9712c20fSFrederick Mayle need_version=no 2452*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2453*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2454*9712c20fSFrederick Mayle finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' 2455*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2456*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2457*9712c20fSFrederick Mayle # Some binutils ld are patched to set DT_RUNPATH 2458*9712c20fSFrederick Mayle save_LDFLAGS=$LDFLAGS 2459*9712c20fSFrederick Mayle save_libdir=$libdir 2460*9712c20fSFrederick Mayle eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ 2461*9712c20fSFrederick Mayle LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" 2462*9712c20fSFrederick Mayle AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], 2463*9712c20fSFrederick Mayle [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], 2464*9712c20fSFrederick Mayle [shlibpath_overrides_runpath=yes])]) 2465*9712c20fSFrederick Mayle LDFLAGS=$save_LDFLAGS 2466*9712c20fSFrederick Mayle libdir=$save_libdir 2467*9712c20fSFrederick Mayle 2468*9712c20fSFrederick Mayle # This implies no fast_install, which is unacceptable. 2469*9712c20fSFrederick Mayle # Some rework will be needed to allow for fast_install 2470*9712c20fSFrederick Mayle # before this can be enabled. 2471*9712c20fSFrederick Mayle hardcode_into_libs=yes 2472*9712c20fSFrederick Mayle 2473*9712c20fSFrederick Mayle # Append ld.so.conf contents to the search path 2474*9712c20fSFrederick Mayle if test -f /etc/ld.so.conf; then 2475*9712c20fSFrederick Mayle lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` 2476*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" 2477*9712c20fSFrederick Mayle fi 2478*9712c20fSFrederick Mayle 2479*9712c20fSFrederick Mayle # We used to test for /lib/ld.so.1 and disable shared libraries on 2480*9712c20fSFrederick Mayle # powerpc, because MkLinux only supported shared libraries with the 2481*9712c20fSFrederick Mayle # GNU dynamic linker. Since this was broken with cross compilers, 2482*9712c20fSFrederick Mayle # most powerpc-linux boxes support dynamic linking these days and 2483*9712c20fSFrederick Mayle # people can always --disable-shared, the test was removed, and we 2484*9712c20fSFrederick Mayle # assume the GNU/Linux dynamic linker is in use. 2485*9712c20fSFrederick Mayle dynamic_linker='GNU/Linux ld.so' 2486*9712c20fSFrederick Mayle ;; 2487*9712c20fSFrederick Mayle 2488*9712c20fSFrederick Maylenetbsdelf*-gnu) 2489*9712c20fSFrederick Mayle version_type=linux 2490*9712c20fSFrederick Mayle need_lib_prefix=no 2491*9712c20fSFrederick Mayle need_version=no 2492*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 2493*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2494*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2495*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2496*9712c20fSFrederick Mayle hardcode_into_libs=yes 2497*9712c20fSFrederick Mayle dynamic_linker='NetBSD ld.elf_so' 2498*9712c20fSFrederick Mayle ;; 2499*9712c20fSFrederick Mayle 2500*9712c20fSFrederick Maylenetbsd*) 2501*9712c20fSFrederick Mayle version_type=sunos 2502*9712c20fSFrederick Mayle need_lib_prefix=no 2503*9712c20fSFrederick Mayle need_version=no 2504*9712c20fSFrederick Mayle if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 2505*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 2506*9712c20fSFrederick Mayle finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 2507*9712c20fSFrederick Mayle dynamic_linker='NetBSD (a.out) ld.so' 2508*9712c20fSFrederick Mayle else 2509*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' 2510*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2511*9712c20fSFrederick Mayle dynamic_linker='NetBSD ld.elf_so' 2512*9712c20fSFrederick Mayle fi 2513*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2514*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2515*9712c20fSFrederick Mayle hardcode_into_libs=yes 2516*9712c20fSFrederick Mayle ;; 2517*9712c20fSFrederick Mayle 2518*9712c20fSFrederick Maylenewsos6) 2519*9712c20fSFrederick Mayle version_type=linux 2520*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2521*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2522*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2523*9712c20fSFrederick Mayle ;; 2524*9712c20fSFrederick Mayle 2525*9712c20fSFrederick Mayle*nto* | *qnx*) 2526*9712c20fSFrederick Mayle version_type=qnx 2527*9712c20fSFrederick Mayle need_lib_prefix=no 2528*9712c20fSFrederick Mayle need_version=no 2529*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2530*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2531*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2532*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2533*9712c20fSFrederick Mayle hardcode_into_libs=yes 2534*9712c20fSFrederick Mayle dynamic_linker='ldqnx.so' 2535*9712c20fSFrederick Mayle ;; 2536*9712c20fSFrederick Mayle 2537*9712c20fSFrederick Mayleopenbsd*) 2538*9712c20fSFrederick Mayle version_type=sunos 2539*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec="/usr/lib" 2540*9712c20fSFrederick Mayle need_lib_prefix=no 2541*9712c20fSFrederick Mayle # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. 2542*9712c20fSFrederick Mayle case $host_os in 2543*9712c20fSFrederick Mayle openbsd3.3 | openbsd3.3.*) need_version=yes ;; 2544*9712c20fSFrederick Mayle *) need_version=no ;; 2545*9712c20fSFrederick Mayle esac 2546*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 2547*9712c20fSFrederick Mayle finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' 2548*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2549*9712c20fSFrederick Mayle if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 2550*9712c20fSFrederick Mayle case $host_os in 2551*9712c20fSFrederick Mayle openbsd2.[[89]] | openbsd2.[[89]].*) 2552*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2553*9712c20fSFrederick Mayle ;; 2554*9712c20fSFrederick Mayle *) 2555*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2556*9712c20fSFrederick Mayle ;; 2557*9712c20fSFrederick Mayle esac 2558*9712c20fSFrederick Mayle else 2559*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2560*9712c20fSFrederick Mayle fi 2561*9712c20fSFrederick Mayle ;; 2562*9712c20fSFrederick Mayle 2563*9712c20fSFrederick Mayleos2*) 2564*9712c20fSFrederick Mayle libname_spec='$name' 2565*9712c20fSFrederick Mayle shrext_cmds=".dll" 2566*9712c20fSFrederick Mayle need_lib_prefix=no 2567*9712c20fSFrederick Mayle library_names_spec='$libname${shared_ext} $libname.a' 2568*9712c20fSFrederick Mayle dynamic_linker='OS/2 ld.exe' 2569*9712c20fSFrederick Mayle shlibpath_var=LIBPATH 2570*9712c20fSFrederick Mayle ;; 2571*9712c20fSFrederick Mayle 2572*9712c20fSFrederick Mayleosf3* | osf4* | osf5*) 2573*9712c20fSFrederick Mayle version_type=osf 2574*9712c20fSFrederick Mayle need_lib_prefix=no 2575*9712c20fSFrederick Mayle need_version=no 2576*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2577*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2578*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2579*9712c20fSFrederick Mayle sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" 2580*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" 2581*9712c20fSFrederick Mayle ;; 2582*9712c20fSFrederick Mayle 2583*9712c20fSFrederick Maylerdos*) 2584*9712c20fSFrederick Mayle dynamic_linker=no 2585*9712c20fSFrederick Mayle ;; 2586*9712c20fSFrederick Mayle 2587*9712c20fSFrederick Maylesolaris*) 2588*9712c20fSFrederick Mayle version_type=linux 2589*9712c20fSFrederick Mayle need_lib_prefix=no 2590*9712c20fSFrederick Mayle need_version=no 2591*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2592*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2593*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2594*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2595*9712c20fSFrederick Mayle hardcode_into_libs=yes 2596*9712c20fSFrederick Mayle # ldd complains unless libraries are executable 2597*9712c20fSFrederick Mayle postinstall_cmds='chmod +x $lib' 2598*9712c20fSFrederick Mayle ;; 2599*9712c20fSFrederick Mayle 2600*9712c20fSFrederick Maylesunos4*) 2601*9712c20fSFrederick Mayle version_type=sunos 2602*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' 2603*9712c20fSFrederick Mayle finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' 2604*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2605*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2606*9712c20fSFrederick Mayle if test "$with_gnu_ld" = yes; then 2607*9712c20fSFrederick Mayle need_lib_prefix=no 2608*9712c20fSFrederick Mayle fi 2609*9712c20fSFrederick Mayle need_version=yes 2610*9712c20fSFrederick Mayle ;; 2611*9712c20fSFrederick Mayle 2612*9712c20fSFrederick Maylesysv4 | sysv4.3*) 2613*9712c20fSFrederick Mayle version_type=linux 2614*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2615*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2616*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2617*9712c20fSFrederick Mayle case $host_vendor in 2618*9712c20fSFrederick Mayle sni) 2619*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2620*9712c20fSFrederick Mayle need_lib_prefix=no 2621*9712c20fSFrederick Mayle runpath_var=LD_RUN_PATH 2622*9712c20fSFrederick Mayle ;; 2623*9712c20fSFrederick Mayle siemens) 2624*9712c20fSFrederick Mayle need_lib_prefix=no 2625*9712c20fSFrederick Mayle ;; 2626*9712c20fSFrederick Mayle motorola) 2627*9712c20fSFrederick Mayle need_lib_prefix=no 2628*9712c20fSFrederick Mayle need_version=no 2629*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2630*9712c20fSFrederick Mayle sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' 2631*9712c20fSFrederick Mayle ;; 2632*9712c20fSFrederick Mayle esac 2633*9712c20fSFrederick Mayle ;; 2634*9712c20fSFrederick Mayle 2635*9712c20fSFrederick Maylesysv4*MP*) 2636*9712c20fSFrederick Mayle if test -d /usr/nec ;then 2637*9712c20fSFrederick Mayle version_type=linux 2638*9712c20fSFrederick Mayle library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' 2639*9712c20fSFrederick Mayle soname_spec='$libname${shared_ext}.$major' 2640*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2641*9712c20fSFrederick Mayle fi 2642*9712c20fSFrederick Mayle ;; 2643*9712c20fSFrederick Mayle 2644*9712c20fSFrederick Maylesysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 2645*9712c20fSFrederick Mayle version_type=freebsd-elf 2646*9712c20fSFrederick Mayle need_lib_prefix=no 2647*9712c20fSFrederick Mayle need_version=no 2648*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' 2649*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2650*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2651*9712c20fSFrederick Mayle shlibpath_overrides_runpath=yes 2652*9712c20fSFrederick Mayle hardcode_into_libs=yes 2653*9712c20fSFrederick Mayle if test "$with_gnu_ld" = yes; then 2654*9712c20fSFrederick Mayle sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' 2655*9712c20fSFrederick Mayle else 2656*9712c20fSFrederick Mayle sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' 2657*9712c20fSFrederick Mayle case $host_os in 2658*9712c20fSFrederick Mayle sco3.2v5*) 2659*9712c20fSFrederick Mayle sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" 2660*9712c20fSFrederick Mayle ;; 2661*9712c20fSFrederick Mayle esac 2662*9712c20fSFrederick Mayle fi 2663*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec='/usr/lib' 2664*9712c20fSFrederick Mayle ;; 2665*9712c20fSFrederick Mayle 2666*9712c20fSFrederick Mayletpf*) 2667*9712c20fSFrederick Mayle # TPF is a cross-target only. Preferred cross-host = GNU/Linux. 2668*9712c20fSFrederick Mayle version_type=linux 2669*9712c20fSFrederick Mayle need_lib_prefix=no 2670*9712c20fSFrederick Mayle need_version=no 2671*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2672*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2673*9712c20fSFrederick Mayle shlibpath_overrides_runpath=no 2674*9712c20fSFrederick Mayle hardcode_into_libs=yes 2675*9712c20fSFrederick Mayle ;; 2676*9712c20fSFrederick Mayle 2677*9712c20fSFrederick Mayleuts4*) 2678*9712c20fSFrederick Mayle version_type=linux 2679*9712c20fSFrederick Mayle library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' 2680*9712c20fSFrederick Mayle soname_spec='${libname}${release}${shared_ext}$major' 2681*9712c20fSFrederick Mayle shlibpath_var=LD_LIBRARY_PATH 2682*9712c20fSFrederick Mayle ;; 2683*9712c20fSFrederick Mayle 2684*9712c20fSFrederick Mayle*) 2685*9712c20fSFrederick Mayle dynamic_linker=no 2686*9712c20fSFrederick Mayle ;; 2687*9712c20fSFrederick Mayleesac 2688*9712c20fSFrederick MayleAC_MSG_RESULT([$dynamic_linker]) 2689*9712c20fSFrederick Mayletest "$dynamic_linker" = no && can_build_shared=no 2690*9712c20fSFrederick Mayle 2691*9712c20fSFrederick Maylevariables_saved_for_relink="PATH $shlibpath_var $runpath_var" 2692*9712c20fSFrederick Mayleif test "$GCC" = yes; then 2693*9712c20fSFrederick Mayle variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" 2694*9712c20fSFrederick Maylefi 2695*9712c20fSFrederick Mayle 2696*9712c20fSFrederick Mayleif test "${lt_cv_sys_lib_search_path_spec+set}" = set; then 2697*9712c20fSFrederick Mayle sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" 2698*9712c20fSFrederick Maylefi 2699*9712c20fSFrederick Mayleif test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then 2700*9712c20fSFrederick Mayle sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" 2701*9712c20fSFrederick Maylefi 2702*9712c20fSFrederick Mayle 2703*9712c20fSFrederick Mayle_LT_DECL([], [variables_saved_for_relink], [1], 2704*9712c20fSFrederick Mayle [Variables whose values should be saved in libtool wrapper scripts and 2705*9712c20fSFrederick Mayle restored at link time]) 2706*9712c20fSFrederick Mayle_LT_DECL([], [need_lib_prefix], [0], 2707*9712c20fSFrederick Mayle [Do we need the "lib" prefix for modules?]) 2708*9712c20fSFrederick Mayle_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) 2709*9712c20fSFrederick Mayle_LT_DECL([], [version_type], [0], [Library versioning type]) 2710*9712c20fSFrederick Mayle_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) 2711*9712c20fSFrederick Mayle_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) 2712*9712c20fSFrederick Mayle_LT_DECL([], [shlibpath_overrides_runpath], [0], 2713*9712c20fSFrederick Mayle [Is shlibpath searched before the hard-coded library search path?]) 2714*9712c20fSFrederick Mayle_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) 2715*9712c20fSFrederick Mayle_LT_DECL([], [library_names_spec], [1], 2716*9712c20fSFrederick Mayle [[List of archive names. First name is the real one, the rest are links. 2717*9712c20fSFrederick Mayle The last name is the one that the linker finds with -lNAME]]) 2718*9712c20fSFrederick Mayle_LT_DECL([], [soname_spec], [1], 2719*9712c20fSFrederick Mayle [[The coded name of the library, if different from the real name]]) 2720*9712c20fSFrederick Mayle_LT_DECL([], [postinstall_cmds], [2], 2721*9712c20fSFrederick Mayle [Command to use after installation of a shared archive]) 2722*9712c20fSFrederick Mayle_LT_DECL([], [postuninstall_cmds], [2], 2723*9712c20fSFrederick Mayle [Command to use after uninstallation of a shared archive]) 2724*9712c20fSFrederick Mayle_LT_DECL([], [finish_cmds], [2], 2725*9712c20fSFrederick Mayle [Commands used to finish a libtool library installation in a directory]) 2726*9712c20fSFrederick Mayle_LT_DECL([], [finish_eval], [1], 2727*9712c20fSFrederick Mayle [[As "finish_cmds", except a single script fragment to be evaled but 2728*9712c20fSFrederick Mayle not shown]]) 2729*9712c20fSFrederick Mayle_LT_DECL([], [hardcode_into_libs], [0], 2730*9712c20fSFrederick Mayle [Whether we should hardcode library paths into libraries]) 2731*9712c20fSFrederick Mayle_LT_DECL([], [sys_lib_search_path_spec], [2], 2732*9712c20fSFrederick Mayle [Compile-time system search path for libraries]) 2733*9712c20fSFrederick Mayle_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], 2734*9712c20fSFrederick Mayle [Run-time system search path for libraries]) 2735*9712c20fSFrederick Mayle])# _LT_SYS_DYNAMIC_LINKER 2736*9712c20fSFrederick Mayle 2737*9712c20fSFrederick Mayle 2738*9712c20fSFrederick Mayle# _LT_PATH_TOOL_PREFIX(TOOL) 2739*9712c20fSFrederick Mayle# -------------------------- 2740*9712c20fSFrederick Mayle# find a file program which can recognize shared library 2741*9712c20fSFrederick MayleAC_DEFUN([_LT_PATH_TOOL_PREFIX], 2742*9712c20fSFrederick Mayle[m4_require([_LT_DECL_EGREP])dnl 2743*9712c20fSFrederick MayleAC_MSG_CHECKING([for $1]) 2744*9712c20fSFrederick MayleAC_CACHE_VAL(lt_cv_path_MAGIC_CMD, 2745*9712c20fSFrederick Mayle[case $MAGIC_CMD in 2746*9712c20fSFrederick Mayle[[\\/*] | ?:[\\/]*]) 2747*9712c20fSFrederick Mayle lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. 2748*9712c20fSFrederick Mayle ;; 2749*9712c20fSFrederick Mayle*) 2750*9712c20fSFrederick Mayle lt_save_MAGIC_CMD="$MAGIC_CMD" 2751*9712c20fSFrederick Mayle lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 2752*9712c20fSFrederick Maylednl $ac_dummy forces splitting on constant user-supplied paths. 2753*9712c20fSFrederick Maylednl POSIX.2 word splitting is done only on the output of word expansions, 2754*9712c20fSFrederick Maylednl not every word. This closes a longstanding sh security hole. 2755*9712c20fSFrederick Mayle ac_dummy="m4_if([$2], , $PATH, [$2])" 2756*9712c20fSFrederick Mayle for ac_dir in $ac_dummy; do 2757*9712c20fSFrederick Mayle IFS="$lt_save_ifs" 2758*9712c20fSFrederick Mayle test -z "$ac_dir" && ac_dir=. 2759*9712c20fSFrederick Mayle if test -f $ac_dir/$1; then 2760*9712c20fSFrederick Mayle lt_cv_path_MAGIC_CMD="$ac_dir/$1" 2761*9712c20fSFrederick Mayle if test -n "$file_magic_test_file"; then 2762*9712c20fSFrederick Mayle case $deplibs_check_method in 2763*9712c20fSFrederick Mayle "file_magic "*) 2764*9712c20fSFrederick Mayle file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` 2765*9712c20fSFrederick Mayle MAGIC_CMD="$lt_cv_path_MAGIC_CMD" 2766*9712c20fSFrederick Mayle if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | 2767*9712c20fSFrederick Mayle $EGREP "$file_magic_regex" > /dev/null; then 2768*9712c20fSFrederick Mayle : 2769*9712c20fSFrederick Mayle else 2770*9712c20fSFrederick Mayle cat <<_LT_EOF 1>&2 2771*9712c20fSFrederick Mayle 2772*9712c20fSFrederick Mayle*** Warning: the command libtool uses to detect shared libraries, 2773*9712c20fSFrederick Mayle*** $file_magic_cmd, produces output that libtool cannot recognize. 2774*9712c20fSFrederick Mayle*** The result is that libtool may fail to recognize shared libraries 2775*9712c20fSFrederick Mayle*** as such. This will affect the creation of libtool libraries that 2776*9712c20fSFrederick Mayle*** depend on shared libraries, but programs linked with such libtool 2777*9712c20fSFrederick Mayle*** libraries will work regardless of this problem. Nevertheless, you 2778*9712c20fSFrederick Mayle*** may want to report the problem to your system manager and/or to 2779*9712c20fSFrederick Mayle*** [email protected] 2780*9712c20fSFrederick Mayle 2781*9712c20fSFrederick Mayle_LT_EOF 2782*9712c20fSFrederick Mayle fi ;; 2783*9712c20fSFrederick Mayle esac 2784*9712c20fSFrederick Mayle fi 2785*9712c20fSFrederick Mayle break 2786*9712c20fSFrederick Mayle fi 2787*9712c20fSFrederick Mayle done 2788*9712c20fSFrederick Mayle IFS="$lt_save_ifs" 2789*9712c20fSFrederick Mayle MAGIC_CMD="$lt_save_MAGIC_CMD" 2790*9712c20fSFrederick Mayle ;; 2791*9712c20fSFrederick Mayleesac]) 2792*9712c20fSFrederick MayleMAGIC_CMD="$lt_cv_path_MAGIC_CMD" 2793*9712c20fSFrederick Mayleif test -n "$MAGIC_CMD"; then 2794*9712c20fSFrederick Mayle AC_MSG_RESULT($MAGIC_CMD) 2795*9712c20fSFrederick Mayleelse 2796*9712c20fSFrederick Mayle AC_MSG_RESULT(no) 2797*9712c20fSFrederick Maylefi 2798*9712c20fSFrederick Mayle_LT_DECL([], [MAGIC_CMD], [0], 2799*9712c20fSFrederick Mayle [Used to examine libraries when file_magic_cmd begins with "file"])dnl 2800*9712c20fSFrederick Mayle])# _LT_PATH_TOOL_PREFIX 2801*9712c20fSFrederick Mayle 2802*9712c20fSFrederick Mayle# Old name: 2803*9712c20fSFrederick MayleAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) 2804*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 2805*9712c20fSFrederick Maylednl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) 2806*9712c20fSFrederick Mayle 2807*9712c20fSFrederick Mayle 2808*9712c20fSFrederick Mayle# _LT_PATH_MAGIC 2809*9712c20fSFrederick Mayle# -------------- 2810*9712c20fSFrederick Mayle# find a file program which can recognize a shared library 2811*9712c20fSFrederick Maylem4_defun([_LT_PATH_MAGIC], 2812*9712c20fSFrederick Mayle[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) 2813*9712c20fSFrederick Mayleif test -z "$lt_cv_path_MAGIC_CMD"; then 2814*9712c20fSFrederick Mayle if test -n "$ac_tool_prefix"; then 2815*9712c20fSFrederick Mayle _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) 2816*9712c20fSFrederick Mayle else 2817*9712c20fSFrederick Mayle MAGIC_CMD=: 2818*9712c20fSFrederick Mayle fi 2819*9712c20fSFrederick Maylefi 2820*9712c20fSFrederick Mayle])# _LT_PATH_MAGIC 2821*9712c20fSFrederick Mayle 2822*9712c20fSFrederick Mayle 2823*9712c20fSFrederick Mayle# LT_PATH_LD 2824*9712c20fSFrederick Mayle# ---------- 2825*9712c20fSFrederick Mayle# find the pathname to the GNU or non-GNU linker 2826*9712c20fSFrederick MayleAC_DEFUN([LT_PATH_LD], 2827*9712c20fSFrederick Mayle[AC_REQUIRE([AC_PROG_CC])dnl 2828*9712c20fSFrederick MayleAC_REQUIRE([AC_CANONICAL_HOST])dnl 2829*9712c20fSFrederick MayleAC_REQUIRE([AC_CANONICAL_BUILD])dnl 2830*9712c20fSFrederick Maylem4_require([_LT_DECL_SED])dnl 2831*9712c20fSFrederick Maylem4_require([_LT_DECL_EGREP])dnl 2832*9712c20fSFrederick Mayle 2833*9712c20fSFrederick MayleAC_ARG_WITH([gnu-ld], 2834*9712c20fSFrederick Mayle [AS_HELP_STRING([--with-gnu-ld], 2835*9712c20fSFrederick Mayle [assume the C compiler uses GNU ld @<:@default=no@:>@])], 2836*9712c20fSFrederick Mayle [test "$withval" = no || with_gnu_ld=yes], 2837*9712c20fSFrederick Mayle [with_gnu_ld=no])dnl 2838*9712c20fSFrederick Mayle 2839*9712c20fSFrederick Mayleac_prog=ld 2840*9712c20fSFrederick Mayleif test "$GCC" = yes; then 2841*9712c20fSFrederick Mayle # Check if gcc -print-prog-name=ld gives a path. 2842*9712c20fSFrederick Mayle AC_MSG_CHECKING([for ld used by $CC]) 2843*9712c20fSFrederick Mayle case $host in 2844*9712c20fSFrederick Mayle *-*-mingw*) 2845*9712c20fSFrederick Mayle # gcc leaves a trailing carriage return which upsets mingw 2846*9712c20fSFrederick Mayle ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; 2847*9712c20fSFrederick Mayle *) 2848*9712c20fSFrederick Mayle ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; 2849*9712c20fSFrederick Mayle esac 2850*9712c20fSFrederick Mayle case $ac_prog in 2851*9712c20fSFrederick Mayle # Accept absolute paths. 2852*9712c20fSFrederick Mayle [[\\/]]* | ?:[[\\/]]*) 2853*9712c20fSFrederick Mayle re_direlt='/[[^/]][[^/]]*/\.\./' 2854*9712c20fSFrederick Mayle # Canonicalize the pathname of ld 2855*9712c20fSFrederick Mayle ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` 2856*9712c20fSFrederick Mayle while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do 2857*9712c20fSFrederick Mayle ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` 2858*9712c20fSFrederick Mayle done 2859*9712c20fSFrederick Mayle test -z "$LD" && LD="$ac_prog" 2860*9712c20fSFrederick Mayle ;; 2861*9712c20fSFrederick Mayle "") 2862*9712c20fSFrederick Mayle # If it fails, then pretend we aren't using GCC. 2863*9712c20fSFrederick Mayle ac_prog=ld 2864*9712c20fSFrederick Mayle ;; 2865*9712c20fSFrederick Mayle *) 2866*9712c20fSFrederick Mayle # If it is relative, then search for the first ld in PATH. 2867*9712c20fSFrederick Mayle with_gnu_ld=unknown 2868*9712c20fSFrederick Mayle ;; 2869*9712c20fSFrederick Mayle esac 2870*9712c20fSFrederick Mayleelif test "$with_gnu_ld" = yes; then 2871*9712c20fSFrederick Mayle AC_MSG_CHECKING([for GNU ld]) 2872*9712c20fSFrederick Mayleelse 2873*9712c20fSFrederick Mayle AC_MSG_CHECKING([for non-GNU ld]) 2874*9712c20fSFrederick Maylefi 2875*9712c20fSFrederick MayleAC_CACHE_VAL(lt_cv_path_LD, 2876*9712c20fSFrederick Mayle[if test -z "$LD"; then 2877*9712c20fSFrederick Mayle lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 2878*9712c20fSFrederick Mayle for ac_dir in $PATH; do 2879*9712c20fSFrederick Mayle IFS="$lt_save_ifs" 2880*9712c20fSFrederick Mayle test -z "$ac_dir" && ac_dir=. 2881*9712c20fSFrederick Mayle if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then 2882*9712c20fSFrederick Mayle lt_cv_path_LD="$ac_dir/$ac_prog" 2883*9712c20fSFrederick Mayle # Check to see if the program is GNU ld. I'd rather use --version, 2884*9712c20fSFrederick Mayle # but apparently some variants of GNU ld only accept -v. 2885*9712c20fSFrederick Mayle # Break only if it was the GNU/non-GNU ld that we prefer. 2886*9712c20fSFrederick Mayle case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in 2887*9712c20fSFrederick Mayle *GNU* | *'with BFD'*) 2888*9712c20fSFrederick Mayle test "$with_gnu_ld" != no && break 2889*9712c20fSFrederick Mayle ;; 2890*9712c20fSFrederick Mayle *) 2891*9712c20fSFrederick Mayle test "$with_gnu_ld" != yes && break 2892*9712c20fSFrederick Mayle ;; 2893*9712c20fSFrederick Mayle esac 2894*9712c20fSFrederick Mayle fi 2895*9712c20fSFrederick Mayle done 2896*9712c20fSFrederick Mayle IFS="$lt_save_ifs" 2897*9712c20fSFrederick Mayleelse 2898*9712c20fSFrederick Mayle lt_cv_path_LD="$LD" # Let the user override the test with a path. 2899*9712c20fSFrederick Maylefi]) 2900*9712c20fSFrederick MayleLD="$lt_cv_path_LD" 2901*9712c20fSFrederick Mayleif test -n "$LD"; then 2902*9712c20fSFrederick Mayle AC_MSG_RESULT($LD) 2903*9712c20fSFrederick Mayleelse 2904*9712c20fSFrederick Mayle AC_MSG_RESULT(no) 2905*9712c20fSFrederick Maylefi 2906*9712c20fSFrederick Mayletest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) 2907*9712c20fSFrederick Mayle_LT_PATH_LD_GNU 2908*9712c20fSFrederick MayleAC_SUBST([LD]) 2909*9712c20fSFrederick Mayle 2910*9712c20fSFrederick Mayle_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) 2911*9712c20fSFrederick Mayle])# LT_PATH_LD 2912*9712c20fSFrederick Mayle 2913*9712c20fSFrederick Mayle# Old names: 2914*9712c20fSFrederick MayleAU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) 2915*9712c20fSFrederick MayleAU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) 2916*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 2917*9712c20fSFrederick Maylednl AC_DEFUN([AM_PROG_LD], []) 2918*9712c20fSFrederick Maylednl AC_DEFUN([AC_PROG_LD], []) 2919*9712c20fSFrederick Mayle 2920*9712c20fSFrederick Mayle 2921*9712c20fSFrederick Mayle# _LT_PATH_LD_GNU 2922*9712c20fSFrederick Mayle#- -------------- 2923*9712c20fSFrederick Maylem4_defun([_LT_PATH_LD_GNU], 2924*9712c20fSFrederick Mayle[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, 2925*9712c20fSFrederick Mayle[# I'd rather use --version here, but apparently some GNU lds only accept -v. 2926*9712c20fSFrederick Maylecase `$LD -v 2>&1 </dev/null` in 2927*9712c20fSFrederick Mayle*GNU* | *'with BFD'*) 2928*9712c20fSFrederick Mayle lt_cv_prog_gnu_ld=yes 2929*9712c20fSFrederick Mayle ;; 2930*9712c20fSFrederick Mayle*) 2931*9712c20fSFrederick Mayle lt_cv_prog_gnu_ld=no 2932*9712c20fSFrederick Mayle ;; 2933*9712c20fSFrederick Mayleesac]) 2934*9712c20fSFrederick Maylewith_gnu_ld=$lt_cv_prog_gnu_ld 2935*9712c20fSFrederick Mayle])# _LT_PATH_LD_GNU 2936*9712c20fSFrederick Mayle 2937*9712c20fSFrederick Mayle 2938*9712c20fSFrederick Mayle# _LT_CMD_RELOAD 2939*9712c20fSFrederick Mayle# -------------- 2940*9712c20fSFrederick Mayle# find reload flag for linker 2941*9712c20fSFrederick Mayle# -- PORTME Some linkers may need a different reload flag. 2942*9712c20fSFrederick Maylem4_defun([_LT_CMD_RELOAD], 2943*9712c20fSFrederick Mayle[AC_CACHE_CHECK([for $LD option to reload object files], 2944*9712c20fSFrederick Mayle lt_cv_ld_reload_flag, 2945*9712c20fSFrederick Mayle [lt_cv_ld_reload_flag='-r']) 2946*9712c20fSFrederick Maylereload_flag=$lt_cv_ld_reload_flag 2947*9712c20fSFrederick Maylecase $reload_flag in 2948*9712c20fSFrederick Mayle"" | " "*) ;; 2949*9712c20fSFrederick Mayle*) reload_flag=" $reload_flag" ;; 2950*9712c20fSFrederick Mayleesac 2951*9712c20fSFrederick Maylereload_cmds='$LD$reload_flag -o $output$reload_objs' 2952*9712c20fSFrederick Maylecase $host_os in 2953*9712c20fSFrederick Mayle darwin*) 2954*9712c20fSFrederick Mayle if test "$GCC" = yes; then 2955*9712c20fSFrederick Mayle reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' 2956*9712c20fSFrederick Mayle else 2957*9712c20fSFrederick Mayle reload_cmds='$LD$reload_flag -o $output$reload_objs' 2958*9712c20fSFrederick Mayle fi 2959*9712c20fSFrederick Mayle ;; 2960*9712c20fSFrederick Mayleesac 2961*9712c20fSFrederick Mayle_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl 2962*9712c20fSFrederick Mayle_LT_DECL([], [reload_cmds], [2])dnl 2963*9712c20fSFrederick Mayle])# _LT_CMD_RELOAD 2964*9712c20fSFrederick Mayle 2965*9712c20fSFrederick Mayle 2966*9712c20fSFrederick Mayle# _LT_CHECK_MAGIC_METHOD 2967*9712c20fSFrederick Mayle# ---------------------- 2968*9712c20fSFrederick Mayle# how to check for library dependencies 2969*9712c20fSFrederick Mayle# -- PORTME fill in with the dynamic library characteristics 2970*9712c20fSFrederick Maylem4_defun([_LT_CHECK_MAGIC_METHOD], 2971*9712c20fSFrederick Mayle[m4_require([_LT_DECL_EGREP]) 2972*9712c20fSFrederick Maylem4_require([_LT_DECL_OBJDUMP]) 2973*9712c20fSFrederick MayleAC_CACHE_CHECK([how to recognize dependent libraries], 2974*9712c20fSFrederick Maylelt_cv_deplibs_check_method, 2975*9712c20fSFrederick Mayle[lt_cv_file_magic_cmd='$MAGIC_CMD' 2976*9712c20fSFrederick Maylelt_cv_file_magic_test_file= 2977*9712c20fSFrederick Maylelt_cv_deplibs_check_method='unknown' 2978*9712c20fSFrederick Mayle# Need to set the preceding variable on all platforms that support 2979*9712c20fSFrederick Mayle# interlibrary dependencies. 2980*9712c20fSFrederick Mayle# 'none' -- dependencies not supported. 2981*9712c20fSFrederick Mayle# `unknown' -- same as none, but documents that we really don't know. 2982*9712c20fSFrederick Mayle# 'pass_all' -- all dependencies passed with no checks. 2983*9712c20fSFrederick Mayle# 'test_compile' -- check by making test program. 2984*9712c20fSFrederick Mayle# 'file_magic [[regex]]' -- check by looking for files in library path 2985*9712c20fSFrederick Mayle# which responds to the $file_magic_cmd with a given extended regex. 2986*9712c20fSFrederick Mayle# If you have `file' or equivalent on your system and you're not sure 2987*9712c20fSFrederick Mayle# whether `pass_all' will *always* work, you probably want this one. 2988*9712c20fSFrederick Mayle 2989*9712c20fSFrederick Maylecase $host_os in 2990*9712c20fSFrederick Mayleaix[[4-9]]*) 2991*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 2992*9712c20fSFrederick Mayle ;; 2993*9712c20fSFrederick Mayle 2994*9712c20fSFrederick Maylebeos*) 2995*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 2996*9712c20fSFrederick Mayle ;; 2997*9712c20fSFrederick Mayle 2998*9712c20fSFrederick Maylebsdi[[45]]*) 2999*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' 3000*9712c20fSFrederick Mayle lt_cv_file_magic_cmd='/usr/bin/file -L' 3001*9712c20fSFrederick Mayle lt_cv_file_magic_test_file=/shlib/libc.so 3002*9712c20fSFrederick Mayle ;; 3003*9712c20fSFrederick Mayle 3004*9712c20fSFrederick Maylecygwin*) 3005*9712c20fSFrederick Mayle # func_win32_libid is a shell function defined in ltmain.sh 3006*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3007*9712c20fSFrederick Mayle lt_cv_file_magic_cmd='func_win32_libid' 3008*9712c20fSFrederick Mayle ;; 3009*9712c20fSFrederick Mayle 3010*9712c20fSFrederick Maylemingw* | pw32*) 3011*9712c20fSFrederick Mayle # Base MSYS/MinGW do not provide the 'file' command needed by 3012*9712c20fSFrederick Mayle # func_win32_libid shell function, so use a weaker test based on 'objdump', 3013*9712c20fSFrederick Mayle # unless we find 'file', for example because we are cross-compiling. 3014*9712c20fSFrederick Mayle if ( file / ) >/dev/null 2>&1; then 3015*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' 3016*9712c20fSFrederick Mayle lt_cv_file_magic_cmd='func_win32_libid' 3017*9712c20fSFrederick Mayle else 3018*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' 3019*9712c20fSFrederick Mayle lt_cv_file_magic_cmd='$OBJDUMP -f' 3020*9712c20fSFrederick Mayle fi 3021*9712c20fSFrederick Mayle ;; 3022*9712c20fSFrederick Mayle 3023*9712c20fSFrederick Maylecegcc) 3024*9712c20fSFrederick Mayle # use the weaker test based on 'objdump'. See mingw*. 3025*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' 3026*9712c20fSFrederick Mayle lt_cv_file_magic_cmd='$OBJDUMP -f' 3027*9712c20fSFrederick Mayle ;; 3028*9712c20fSFrederick Mayle 3029*9712c20fSFrederick Mayledarwin* | rhapsody*) 3030*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3031*9712c20fSFrederick Mayle ;; 3032*9712c20fSFrederick Mayle 3033*9712c20fSFrederick Maylefreebsd* | dragonfly*) 3034*9712c20fSFrederick Mayle if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3035*9712c20fSFrederick Mayle case $host_cpu in 3036*9712c20fSFrederick Mayle i*86 ) 3037*9712c20fSFrederick Mayle # Not sure whether the presence of OpenBSD here was a mistake. 3038*9712c20fSFrederick Mayle # Let's accept both of them until this is cleared up. 3039*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' 3040*9712c20fSFrederick Mayle lt_cv_file_magic_cmd=/usr/bin/file 3041*9712c20fSFrederick Mayle lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` 3042*9712c20fSFrederick Mayle ;; 3043*9712c20fSFrederick Mayle esac 3044*9712c20fSFrederick Mayle else 3045*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3046*9712c20fSFrederick Mayle fi 3047*9712c20fSFrederick Mayle ;; 3048*9712c20fSFrederick Mayle 3049*9712c20fSFrederick Maylegnu*) 3050*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3051*9712c20fSFrederick Mayle ;; 3052*9712c20fSFrederick Mayle 3053*9712c20fSFrederick Maylehpux10.20* | hpux11*) 3054*9712c20fSFrederick Mayle lt_cv_file_magic_cmd=/usr/bin/file 3055*9712c20fSFrederick Mayle case $host_cpu in 3056*9712c20fSFrederick Mayle ia64*) 3057*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' 3058*9712c20fSFrederick Mayle lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so 3059*9712c20fSFrederick Mayle ;; 3060*9712c20fSFrederick Mayle hppa*64*) 3061*9712c20fSFrederick Mayle [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] 3062*9712c20fSFrederick Mayle lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl 3063*9712c20fSFrederick Mayle ;; 3064*9712c20fSFrederick Mayle *) 3065*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' 3066*9712c20fSFrederick Mayle lt_cv_file_magic_test_file=/usr/lib/libc.sl 3067*9712c20fSFrederick Mayle ;; 3068*9712c20fSFrederick Mayle esac 3069*9712c20fSFrederick Mayle ;; 3070*9712c20fSFrederick Mayle 3071*9712c20fSFrederick Mayleinterix[[3-9]]*) 3072*9712c20fSFrederick Mayle # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here 3073*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' 3074*9712c20fSFrederick Mayle ;; 3075*9712c20fSFrederick Mayle 3076*9712c20fSFrederick Mayleirix5* | irix6* | nonstopux*) 3077*9712c20fSFrederick Mayle case $LD in 3078*9712c20fSFrederick Mayle *-32|*"-32 ") libmagic=32-bit;; 3079*9712c20fSFrederick Mayle *-n32|*"-n32 ") libmagic=N32;; 3080*9712c20fSFrederick Mayle *-64|*"-64 ") libmagic=64-bit;; 3081*9712c20fSFrederick Mayle *) libmagic=never-match;; 3082*9712c20fSFrederick Mayle esac 3083*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3084*9712c20fSFrederick Mayle ;; 3085*9712c20fSFrederick Mayle 3086*9712c20fSFrederick Mayle# This must be Linux ELF. 3087*9712c20fSFrederick Maylelinux* | k*bsd*-gnu | kopensolaris*-gnu) 3088*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3089*9712c20fSFrederick Mayle ;; 3090*9712c20fSFrederick Mayle 3091*9712c20fSFrederick Maylenetbsd* | netbsdelf*-gnu) 3092*9712c20fSFrederick Mayle if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then 3093*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3094*9712c20fSFrederick Mayle else 3095*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' 3096*9712c20fSFrederick Mayle fi 3097*9712c20fSFrederick Mayle ;; 3098*9712c20fSFrederick Mayle 3099*9712c20fSFrederick Maylenewos6*) 3100*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' 3101*9712c20fSFrederick Mayle lt_cv_file_magic_cmd=/usr/bin/file 3102*9712c20fSFrederick Mayle lt_cv_file_magic_test_file=/usr/lib/libnls.so 3103*9712c20fSFrederick Mayle ;; 3104*9712c20fSFrederick Mayle 3105*9712c20fSFrederick Mayle*nto* | *qnx*) 3106*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3107*9712c20fSFrederick Mayle ;; 3108*9712c20fSFrederick Mayle 3109*9712c20fSFrederick Mayleopenbsd*) 3110*9712c20fSFrederick Mayle if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 3111*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' 3112*9712c20fSFrederick Mayle else 3113*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' 3114*9712c20fSFrederick Mayle fi 3115*9712c20fSFrederick Mayle ;; 3116*9712c20fSFrederick Mayle 3117*9712c20fSFrederick Mayleosf3* | osf4* | osf5*) 3118*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3119*9712c20fSFrederick Mayle ;; 3120*9712c20fSFrederick Mayle 3121*9712c20fSFrederick Maylerdos*) 3122*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3123*9712c20fSFrederick Mayle ;; 3124*9712c20fSFrederick Mayle 3125*9712c20fSFrederick Maylesolaris*) 3126*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3127*9712c20fSFrederick Mayle ;; 3128*9712c20fSFrederick Mayle 3129*9712c20fSFrederick Maylesysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) 3130*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3131*9712c20fSFrederick Mayle ;; 3132*9712c20fSFrederick Mayle 3133*9712c20fSFrederick Maylesysv4 | sysv4.3*) 3134*9712c20fSFrederick Mayle case $host_vendor in 3135*9712c20fSFrederick Mayle motorola) 3136*9712c20fSFrederick Mayle 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]]' 3137*9712c20fSFrederick Mayle lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` 3138*9712c20fSFrederick Mayle ;; 3139*9712c20fSFrederick Mayle ncr) 3140*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3141*9712c20fSFrederick Mayle ;; 3142*9712c20fSFrederick Mayle sequent) 3143*9712c20fSFrederick Mayle lt_cv_file_magic_cmd='/bin/file' 3144*9712c20fSFrederick Mayle lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' 3145*9712c20fSFrederick Mayle ;; 3146*9712c20fSFrederick Mayle sni) 3147*9712c20fSFrederick Mayle lt_cv_file_magic_cmd='/bin/file' 3148*9712c20fSFrederick Mayle lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" 3149*9712c20fSFrederick Mayle lt_cv_file_magic_test_file=/lib/libc.so 3150*9712c20fSFrederick Mayle ;; 3151*9712c20fSFrederick Mayle siemens) 3152*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3153*9712c20fSFrederick Mayle ;; 3154*9712c20fSFrederick Mayle pc) 3155*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3156*9712c20fSFrederick Mayle ;; 3157*9712c20fSFrederick Mayle esac 3158*9712c20fSFrederick Mayle ;; 3159*9712c20fSFrederick Mayle 3160*9712c20fSFrederick Mayletpf*) 3161*9712c20fSFrederick Mayle lt_cv_deplibs_check_method=pass_all 3162*9712c20fSFrederick Mayle ;; 3163*9712c20fSFrederick Mayleesac 3164*9712c20fSFrederick Mayle]) 3165*9712c20fSFrederick Maylefile_magic_cmd=$lt_cv_file_magic_cmd 3166*9712c20fSFrederick Mayledeplibs_check_method=$lt_cv_deplibs_check_method 3167*9712c20fSFrederick Mayletest -z "$deplibs_check_method" && deplibs_check_method=unknown 3168*9712c20fSFrederick Mayle 3169*9712c20fSFrederick Mayle_LT_DECL([], [deplibs_check_method], [1], 3170*9712c20fSFrederick Mayle [Method to check whether dependent libraries are shared objects]) 3171*9712c20fSFrederick Mayle_LT_DECL([], [file_magic_cmd], [1], 3172*9712c20fSFrederick Mayle [Command to use when deplibs_check_method == "file_magic"]) 3173*9712c20fSFrederick Mayle])# _LT_CHECK_MAGIC_METHOD 3174*9712c20fSFrederick Mayle 3175*9712c20fSFrederick Mayle 3176*9712c20fSFrederick Mayle# LT_PATH_NM 3177*9712c20fSFrederick Mayle# ---------- 3178*9712c20fSFrederick Mayle# find the pathname to a BSD- or MS-compatible name lister 3179*9712c20fSFrederick MayleAC_DEFUN([LT_PATH_NM], 3180*9712c20fSFrederick Mayle[AC_REQUIRE([AC_PROG_CC])dnl 3181*9712c20fSFrederick MayleAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, 3182*9712c20fSFrederick Mayle[if test -n "$NM"; then 3183*9712c20fSFrederick Mayle # Let the user override the test. 3184*9712c20fSFrederick Mayle lt_cv_path_NM="$NM" 3185*9712c20fSFrederick Mayleelse 3186*9712c20fSFrederick Mayle lt_nm_to_check="${ac_tool_prefix}nm" 3187*9712c20fSFrederick Mayle if test -n "$ac_tool_prefix" && test "$build" = "$host"; then 3188*9712c20fSFrederick Mayle lt_nm_to_check="$lt_nm_to_check nm" 3189*9712c20fSFrederick Mayle fi 3190*9712c20fSFrederick Mayle for lt_tmp_nm in $lt_nm_to_check; do 3191*9712c20fSFrederick Mayle lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR 3192*9712c20fSFrederick Mayle for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do 3193*9712c20fSFrederick Mayle IFS="$lt_save_ifs" 3194*9712c20fSFrederick Mayle test -z "$ac_dir" && ac_dir=. 3195*9712c20fSFrederick Mayle tmp_nm="$ac_dir/$lt_tmp_nm" 3196*9712c20fSFrederick Mayle if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then 3197*9712c20fSFrederick Mayle # Check to see if the nm accepts a BSD-compat flag. 3198*9712c20fSFrederick Mayle # Adding the `sed 1q' prevents false positives on HP-UX, which says: 3199*9712c20fSFrederick Mayle # nm: unknown option "B" ignored 3200*9712c20fSFrederick Mayle # Tru64's nm complains that /dev/null is an invalid object file 3201*9712c20fSFrederick Mayle case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in 3202*9712c20fSFrederick Mayle */dev/null* | *'Invalid file or object type'*) 3203*9712c20fSFrederick Mayle lt_cv_path_NM="$tmp_nm -B" 3204*9712c20fSFrederick Mayle break 3205*9712c20fSFrederick Mayle ;; 3206*9712c20fSFrederick Mayle *) 3207*9712c20fSFrederick Mayle case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in 3208*9712c20fSFrederick Mayle */dev/null*) 3209*9712c20fSFrederick Mayle lt_cv_path_NM="$tmp_nm -p" 3210*9712c20fSFrederick Mayle break 3211*9712c20fSFrederick Mayle ;; 3212*9712c20fSFrederick Mayle *) 3213*9712c20fSFrederick Mayle lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but 3214*9712c20fSFrederick Mayle continue # so that we can try to find one that supports BSD flags 3215*9712c20fSFrederick Mayle ;; 3216*9712c20fSFrederick Mayle esac 3217*9712c20fSFrederick Mayle ;; 3218*9712c20fSFrederick Mayle esac 3219*9712c20fSFrederick Mayle fi 3220*9712c20fSFrederick Mayle done 3221*9712c20fSFrederick Mayle IFS="$lt_save_ifs" 3222*9712c20fSFrederick Mayle done 3223*9712c20fSFrederick Mayle : ${lt_cv_path_NM=no} 3224*9712c20fSFrederick Maylefi]) 3225*9712c20fSFrederick Mayleif test "$lt_cv_path_NM" != "no"; then 3226*9712c20fSFrederick Mayle NM="$lt_cv_path_NM" 3227*9712c20fSFrederick Mayleelse 3228*9712c20fSFrederick Mayle # Didn't find any BSD compatible name lister, look for dumpbin. 3229*9712c20fSFrederick Mayle AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) 3230*9712c20fSFrederick Mayle AC_SUBST([DUMPBIN]) 3231*9712c20fSFrederick Mayle if test "$DUMPBIN" != ":"; then 3232*9712c20fSFrederick Mayle NM="$DUMPBIN" 3233*9712c20fSFrederick Mayle fi 3234*9712c20fSFrederick Maylefi 3235*9712c20fSFrederick Mayletest -z "$NM" && NM=nm 3236*9712c20fSFrederick MayleAC_SUBST([NM]) 3237*9712c20fSFrederick Mayle_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl 3238*9712c20fSFrederick Mayle 3239*9712c20fSFrederick MayleAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], 3240*9712c20fSFrederick Mayle [lt_cv_nm_interface="BSD nm" 3241*9712c20fSFrederick Mayle echo "int some_variable = 0;" > conftest.$ac_ext 3242*9712c20fSFrederick Mayle (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) 3243*9712c20fSFrederick Mayle (eval "$ac_compile" 2>conftest.err) 3244*9712c20fSFrederick Mayle cat conftest.err >&AS_MESSAGE_LOG_FD 3245*9712c20fSFrederick Mayle (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) 3246*9712c20fSFrederick Mayle (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) 3247*9712c20fSFrederick Mayle cat conftest.err >&AS_MESSAGE_LOG_FD 3248*9712c20fSFrederick Mayle (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) 3249*9712c20fSFrederick Mayle cat conftest.out >&AS_MESSAGE_LOG_FD 3250*9712c20fSFrederick Mayle if $GREP 'External.*some_variable' conftest.out > /dev/null; then 3251*9712c20fSFrederick Mayle lt_cv_nm_interface="MS dumpbin" 3252*9712c20fSFrederick Mayle fi 3253*9712c20fSFrederick Mayle rm -f conftest*]) 3254*9712c20fSFrederick Mayle])# LT_PATH_NM 3255*9712c20fSFrederick Mayle 3256*9712c20fSFrederick Mayle# Old names: 3257*9712c20fSFrederick MayleAU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) 3258*9712c20fSFrederick MayleAU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) 3259*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 3260*9712c20fSFrederick Maylednl AC_DEFUN([AM_PROG_NM], []) 3261*9712c20fSFrederick Maylednl AC_DEFUN([AC_PROG_NM], []) 3262*9712c20fSFrederick Mayle 3263*9712c20fSFrederick Mayle 3264*9712c20fSFrederick Mayle# LT_LIB_M 3265*9712c20fSFrederick Mayle# -------- 3266*9712c20fSFrederick Mayle# check for math library 3267*9712c20fSFrederick MayleAC_DEFUN([LT_LIB_M], 3268*9712c20fSFrederick Mayle[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3269*9712c20fSFrederick MayleLIBM= 3270*9712c20fSFrederick Maylecase $host in 3271*9712c20fSFrederick Mayle*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) 3272*9712c20fSFrederick Mayle # These system don't have libm, or don't need it 3273*9712c20fSFrederick Mayle ;; 3274*9712c20fSFrederick Mayle*-ncr-sysv4.3*) 3275*9712c20fSFrederick Mayle AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") 3276*9712c20fSFrederick Mayle AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") 3277*9712c20fSFrederick Mayle ;; 3278*9712c20fSFrederick Mayle*) 3279*9712c20fSFrederick Mayle AC_CHECK_LIB(m, cos, LIBM="-lm") 3280*9712c20fSFrederick Mayle ;; 3281*9712c20fSFrederick Mayleesac 3282*9712c20fSFrederick MayleAC_SUBST([LIBM]) 3283*9712c20fSFrederick Mayle])# LT_LIB_M 3284*9712c20fSFrederick Mayle 3285*9712c20fSFrederick Mayle# Old name: 3286*9712c20fSFrederick MayleAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) 3287*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 3288*9712c20fSFrederick Maylednl AC_DEFUN([AC_CHECK_LIBM], []) 3289*9712c20fSFrederick Mayle 3290*9712c20fSFrederick Mayle 3291*9712c20fSFrederick Mayle# _LT_COMPILER_NO_RTTI([TAGNAME]) 3292*9712c20fSFrederick Mayle# ------------------------------- 3293*9712c20fSFrederick Maylem4_defun([_LT_COMPILER_NO_RTTI], 3294*9712c20fSFrederick Mayle[m4_require([_LT_TAG_COMPILER])dnl 3295*9712c20fSFrederick Mayle 3296*9712c20fSFrederick Mayle_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 3297*9712c20fSFrederick Mayle 3298*9712c20fSFrederick Mayleif test "$GCC" = yes; then 3299*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 3300*9712c20fSFrederick Mayle 3301*9712c20fSFrederick Mayle _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], 3302*9712c20fSFrederick Mayle lt_cv_prog_compiler_rtti_exceptions, 3303*9712c20fSFrederick Mayle [-fno-rtti -fno-exceptions], [], 3304*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) 3305*9712c20fSFrederick Maylefi 3306*9712c20fSFrederick Mayle_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], 3307*9712c20fSFrederick Mayle [Compiler flag to turn off builtin functions]) 3308*9712c20fSFrederick Mayle])# _LT_COMPILER_NO_RTTI 3309*9712c20fSFrederick Mayle 3310*9712c20fSFrederick Mayle 3311*9712c20fSFrederick Mayle# _LT_CMD_GLOBAL_SYMBOLS 3312*9712c20fSFrederick Mayle# ---------------------- 3313*9712c20fSFrederick Maylem4_defun([_LT_CMD_GLOBAL_SYMBOLS], 3314*9712c20fSFrederick Mayle[AC_REQUIRE([AC_CANONICAL_HOST])dnl 3315*9712c20fSFrederick MayleAC_REQUIRE([AC_PROG_CC])dnl 3316*9712c20fSFrederick MayleAC_REQUIRE([LT_PATH_NM])dnl 3317*9712c20fSFrederick MayleAC_REQUIRE([LT_PATH_LD])dnl 3318*9712c20fSFrederick Maylem4_require([_LT_DECL_SED])dnl 3319*9712c20fSFrederick Maylem4_require([_LT_DECL_EGREP])dnl 3320*9712c20fSFrederick Maylem4_require([_LT_TAG_COMPILER])dnl 3321*9712c20fSFrederick Mayle 3322*9712c20fSFrederick Mayle# Check for command to grab the raw symbol name followed by C symbol from nm. 3323*9712c20fSFrederick MayleAC_MSG_CHECKING([command to parse $NM output from $compiler object]) 3324*9712c20fSFrederick MayleAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], 3325*9712c20fSFrederick Mayle[ 3326*9712c20fSFrederick Mayle# These are sane defaults that work on at least a few old systems. 3327*9712c20fSFrederick Mayle# [They come from Ultrix. What could be older than Ultrix?!! ;)] 3328*9712c20fSFrederick Mayle 3329*9712c20fSFrederick Mayle# Character class describing NM global symbol codes. 3330*9712c20fSFrederick Maylesymcode='[[BCDEGRST]]' 3331*9712c20fSFrederick Mayle 3332*9712c20fSFrederick Mayle# Regexp to match symbols that can be accessed directly from C. 3333*9712c20fSFrederick Maylesympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' 3334*9712c20fSFrederick Mayle 3335*9712c20fSFrederick Mayle# Define system-specific variables. 3336*9712c20fSFrederick Maylecase $host_os in 3337*9712c20fSFrederick Mayleaix*) 3338*9712c20fSFrederick Mayle symcode='[[BCDT]]' 3339*9712c20fSFrederick Mayle ;; 3340*9712c20fSFrederick Maylecygwin* | mingw* | pw32* | cegcc*) 3341*9712c20fSFrederick Mayle symcode='[[ABCDGISTW]]' 3342*9712c20fSFrederick Mayle ;; 3343*9712c20fSFrederick Maylehpux*) 3344*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 3345*9712c20fSFrederick Mayle symcode='[[ABCDEGRST]]' 3346*9712c20fSFrederick Mayle fi 3347*9712c20fSFrederick Mayle ;; 3348*9712c20fSFrederick Mayleirix* | nonstopux*) 3349*9712c20fSFrederick Mayle symcode='[[BCDEGRST]]' 3350*9712c20fSFrederick Mayle ;; 3351*9712c20fSFrederick Mayleosf*) 3352*9712c20fSFrederick Mayle symcode='[[BCDEGQRST]]' 3353*9712c20fSFrederick Mayle ;; 3354*9712c20fSFrederick Maylesolaris*) 3355*9712c20fSFrederick Mayle symcode='[[BDRT]]' 3356*9712c20fSFrederick Mayle ;; 3357*9712c20fSFrederick Maylesco3.2v5*) 3358*9712c20fSFrederick Mayle symcode='[[DT]]' 3359*9712c20fSFrederick Mayle ;; 3360*9712c20fSFrederick Maylesysv4.2uw2*) 3361*9712c20fSFrederick Mayle symcode='[[DT]]' 3362*9712c20fSFrederick Mayle ;; 3363*9712c20fSFrederick Maylesysv5* | sco5v6* | unixware* | OpenUNIX*) 3364*9712c20fSFrederick Mayle symcode='[[ABDT]]' 3365*9712c20fSFrederick Mayle ;; 3366*9712c20fSFrederick Maylesysv4) 3367*9712c20fSFrederick Mayle symcode='[[DFNSTU]]' 3368*9712c20fSFrederick Mayle ;; 3369*9712c20fSFrederick Mayleesac 3370*9712c20fSFrederick Mayle 3371*9712c20fSFrederick Mayle# If we're using GNU nm, then use its standard symbol codes. 3372*9712c20fSFrederick Maylecase `$NM -V 2>&1` in 3373*9712c20fSFrederick Mayle*GNU* | *'with BFD'*) 3374*9712c20fSFrederick Mayle symcode='[[ABCDGIRSTW]]' ;; 3375*9712c20fSFrederick Mayleesac 3376*9712c20fSFrederick Mayle 3377*9712c20fSFrederick Mayle# Transform an extracted symbol line into a proper C declaration. 3378*9712c20fSFrederick Mayle# Some systems (esp. on ia64) link data and code symbols differently, 3379*9712c20fSFrederick Mayle# so use this general approach. 3380*9712c20fSFrederick Maylelt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" 3381*9712c20fSFrederick Mayle 3382*9712c20fSFrederick Mayle# Transform an extracted symbol line into symbol name and symbol address 3383*9712c20fSFrederick Maylelt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" 3384*9712c20fSFrederick Maylelt_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'" 3385*9712c20fSFrederick Mayle 3386*9712c20fSFrederick Mayle# Handle CRLF in mingw tool chain 3387*9712c20fSFrederick Mayleopt_cr= 3388*9712c20fSFrederick Maylecase $build_os in 3389*9712c20fSFrederick Maylemingw*) 3390*9712c20fSFrederick Mayle opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp 3391*9712c20fSFrederick Mayle ;; 3392*9712c20fSFrederick Mayleesac 3393*9712c20fSFrederick Mayle 3394*9712c20fSFrederick Mayle# Try without a prefix underscore, then with it. 3395*9712c20fSFrederick Maylefor ac_symprfx in "" "_"; do 3396*9712c20fSFrederick Mayle 3397*9712c20fSFrederick Mayle # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. 3398*9712c20fSFrederick Mayle symxfrm="\\1 $ac_symprfx\\2 \\2" 3399*9712c20fSFrederick Mayle 3400*9712c20fSFrederick Mayle # Write the raw and C identifiers. 3401*9712c20fSFrederick Mayle if test "$lt_cv_nm_interface" = "MS dumpbin"; then 3402*9712c20fSFrederick Mayle # Fake it for dumpbin and say T for any non-static function 3403*9712c20fSFrederick Mayle # and D for any global variable. 3404*9712c20fSFrederick Mayle # Also find C++ and __fastcall symbols from MSVC++, 3405*9712c20fSFrederick Mayle # which start with @ or ?. 3406*9712c20fSFrederick Mayle lt_cv_sys_global_symbol_pipe="$AWK ['"\ 3407*9712c20fSFrederick Mayle" {last_section=section; section=\$ 3};"\ 3408*9712c20fSFrederick Mayle" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ 3409*9712c20fSFrederick Mayle" \$ 0!~/External *\|/{next};"\ 3410*9712c20fSFrederick Mayle" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ 3411*9712c20fSFrederick Mayle" {if(hide[section]) next};"\ 3412*9712c20fSFrederick Mayle" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ 3413*9712c20fSFrederick Mayle" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ 3414*9712c20fSFrederick Mayle" s[1]~/^[@?]/{print s[1], s[1]; next};"\ 3415*9712c20fSFrederick Mayle" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ 3416*9712c20fSFrederick Mayle" ' prfx=^$ac_symprfx]" 3417*9712c20fSFrederick Mayle else 3418*9712c20fSFrederick Mayle lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" 3419*9712c20fSFrederick Mayle fi 3420*9712c20fSFrederick Mayle 3421*9712c20fSFrederick Mayle # Check to see that the pipe works correctly. 3422*9712c20fSFrederick Mayle pipe_works=no 3423*9712c20fSFrederick Mayle 3424*9712c20fSFrederick Mayle rm -f conftest* 3425*9712c20fSFrederick Mayle cat > conftest.$ac_ext <<_LT_EOF 3426*9712c20fSFrederick Mayle#ifdef __cplusplus 3427*9712c20fSFrederick Mayleextern "C" { 3428*9712c20fSFrederick Mayle#endif 3429*9712c20fSFrederick Maylechar nm_test_var; 3430*9712c20fSFrederick Maylevoid nm_test_func(void); 3431*9712c20fSFrederick Maylevoid nm_test_func(void){} 3432*9712c20fSFrederick Mayle#ifdef __cplusplus 3433*9712c20fSFrederick Mayle} 3434*9712c20fSFrederick Mayle#endif 3435*9712c20fSFrederick Mayleint main(){nm_test_var='a';nm_test_func();return(0);} 3436*9712c20fSFrederick Mayle_LT_EOF 3437*9712c20fSFrederick Mayle 3438*9712c20fSFrederick Mayle if AC_TRY_EVAL(ac_compile); then 3439*9712c20fSFrederick Mayle # Now try to grab the symbols. 3440*9712c20fSFrederick Mayle nlist=conftest.nm 3441*9712c20fSFrederick Mayle if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then 3442*9712c20fSFrederick Mayle # Try sorting and uniquifying the output. 3443*9712c20fSFrederick Mayle if sort "$nlist" | uniq > "$nlist"T; then 3444*9712c20fSFrederick Mayle mv -f "$nlist"T "$nlist" 3445*9712c20fSFrederick Mayle else 3446*9712c20fSFrederick Mayle rm -f "$nlist"T 3447*9712c20fSFrederick Mayle fi 3448*9712c20fSFrederick Mayle 3449*9712c20fSFrederick Mayle # Make sure that we snagged all the symbols we need. 3450*9712c20fSFrederick Mayle if $GREP ' nm_test_var$' "$nlist" >/dev/null; then 3451*9712c20fSFrederick Mayle if $GREP ' nm_test_func$' "$nlist" >/dev/null; then 3452*9712c20fSFrederick Mayle cat <<_LT_EOF > conftest.$ac_ext 3453*9712c20fSFrederick Mayle#ifdef __cplusplus 3454*9712c20fSFrederick Mayleextern "C" { 3455*9712c20fSFrederick Mayle#endif 3456*9712c20fSFrederick Mayle 3457*9712c20fSFrederick Mayle_LT_EOF 3458*9712c20fSFrederick Mayle # Now generate the symbol file. 3459*9712c20fSFrederick Mayle eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' 3460*9712c20fSFrederick Mayle 3461*9712c20fSFrederick Mayle cat <<_LT_EOF >> conftest.$ac_ext 3462*9712c20fSFrederick Mayle 3463*9712c20fSFrederick Mayle/* The mapping between symbol names and symbols. */ 3464*9712c20fSFrederick Mayleconst struct { 3465*9712c20fSFrederick Mayle const char *name; 3466*9712c20fSFrederick Mayle void *address; 3467*9712c20fSFrederick Mayle} 3468*9712c20fSFrederick Maylelt__PROGRAM__LTX_preloaded_symbols[[]] = 3469*9712c20fSFrederick Mayle{ 3470*9712c20fSFrederick Mayle { "@PROGRAM@", (void *) 0 }, 3471*9712c20fSFrederick Mayle_LT_EOF 3472*9712c20fSFrederick Mayle $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext 3473*9712c20fSFrederick Mayle cat <<\_LT_EOF >> conftest.$ac_ext 3474*9712c20fSFrederick Mayle {0, (void *) 0} 3475*9712c20fSFrederick Mayle}; 3476*9712c20fSFrederick Mayle 3477*9712c20fSFrederick Mayle/* This works around a problem in FreeBSD linker */ 3478*9712c20fSFrederick Mayle#ifdef FREEBSD_WORKAROUND 3479*9712c20fSFrederick Maylestatic const void *lt_preloaded_setup() { 3480*9712c20fSFrederick Mayle return lt__PROGRAM__LTX_preloaded_symbols; 3481*9712c20fSFrederick Mayle} 3482*9712c20fSFrederick Mayle#endif 3483*9712c20fSFrederick Mayle 3484*9712c20fSFrederick Mayle#ifdef __cplusplus 3485*9712c20fSFrederick Mayle} 3486*9712c20fSFrederick Mayle#endif 3487*9712c20fSFrederick Mayle_LT_EOF 3488*9712c20fSFrederick Mayle # Now try linking the two files. 3489*9712c20fSFrederick Mayle mv conftest.$ac_objext conftstm.$ac_objext 3490*9712c20fSFrederick Mayle lt_save_LIBS="$LIBS" 3491*9712c20fSFrederick Mayle lt_save_CFLAGS="$CFLAGS" 3492*9712c20fSFrederick Mayle LIBS="conftstm.$ac_objext" 3493*9712c20fSFrederick Mayle CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" 3494*9712c20fSFrederick Mayle if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then 3495*9712c20fSFrederick Mayle pipe_works=yes 3496*9712c20fSFrederick Mayle fi 3497*9712c20fSFrederick Mayle LIBS="$lt_save_LIBS" 3498*9712c20fSFrederick Mayle CFLAGS="$lt_save_CFLAGS" 3499*9712c20fSFrederick Mayle else 3500*9712c20fSFrederick Mayle echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD 3501*9712c20fSFrederick Mayle fi 3502*9712c20fSFrederick Mayle else 3503*9712c20fSFrederick Mayle echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD 3504*9712c20fSFrederick Mayle fi 3505*9712c20fSFrederick Mayle else 3506*9712c20fSFrederick Mayle echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD 3507*9712c20fSFrederick Mayle fi 3508*9712c20fSFrederick Mayle else 3509*9712c20fSFrederick Mayle echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD 3510*9712c20fSFrederick Mayle cat conftest.$ac_ext >&5 3511*9712c20fSFrederick Mayle fi 3512*9712c20fSFrederick Mayle rm -rf conftest* conftst* 3513*9712c20fSFrederick Mayle 3514*9712c20fSFrederick Mayle # Do not use the global_symbol_pipe unless it works. 3515*9712c20fSFrederick Mayle if test "$pipe_works" = yes; then 3516*9712c20fSFrederick Mayle break 3517*9712c20fSFrederick Mayle else 3518*9712c20fSFrederick Mayle lt_cv_sys_global_symbol_pipe= 3519*9712c20fSFrederick Mayle fi 3520*9712c20fSFrederick Mayledone 3521*9712c20fSFrederick Mayle]) 3522*9712c20fSFrederick Mayleif test -z "$lt_cv_sys_global_symbol_pipe"; then 3523*9712c20fSFrederick Mayle lt_cv_sys_global_symbol_to_cdecl= 3524*9712c20fSFrederick Maylefi 3525*9712c20fSFrederick Mayleif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then 3526*9712c20fSFrederick Mayle AC_MSG_RESULT(failed) 3527*9712c20fSFrederick Mayleelse 3528*9712c20fSFrederick Mayle AC_MSG_RESULT(ok) 3529*9712c20fSFrederick Maylefi 3530*9712c20fSFrederick Mayle 3531*9712c20fSFrederick Mayle_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], 3532*9712c20fSFrederick Mayle [Take the output of nm and produce a listing of raw symbols and C names]) 3533*9712c20fSFrederick Mayle_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], 3534*9712c20fSFrederick Mayle [Transform the output of nm in a proper C declaration]) 3535*9712c20fSFrederick Mayle_LT_DECL([global_symbol_to_c_name_address], 3536*9712c20fSFrederick Mayle [lt_cv_sys_global_symbol_to_c_name_address], [1], 3537*9712c20fSFrederick Mayle [Transform the output of nm in a C name address pair]) 3538*9712c20fSFrederick Mayle_LT_DECL([global_symbol_to_c_name_address_lib_prefix], 3539*9712c20fSFrederick Mayle [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], 3540*9712c20fSFrederick Mayle [Transform the output of nm in a C name address pair when lib prefix is needed]) 3541*9712c20fSFrederick Mayle]) # _LT_CMD_GLOBAL_SYMBOLS 3542*9712c20fSFrederick Mayle 3543*9712c20fSFrederick Mayle 3544*9712c20fSFrederick Mayle# _LT_COMPILER_PIC([TAGNAME]) 3545*9712c20fSFrederick Mayle# --------------------------- 3546*9712c20fSFrederick Maylem4_defun([_LT_COMPILER_PIC], 3547*9712c20fSFrederick Mayle[m4_require([_LT_TAG_COMPILER])dnl 3548*9712c20fSFrederick Mayle_LT_TAGVAR(lt_prog_compiler_wl, $1)= 3549*9712c20fSFrederick Mayle_LT_TAGVAR(lt_prog_compiler_pic, $1)= 3550*9712c20fSFrederick Mayle_LT_TAGVAR(lt_prog_compiler_static, $1)= 3551*9712c20fSFrederick Mayle 3552*9712c20fSFrederick MayleAC_MSG_CHECKING([for $compiler option to produce PIC]) 3553*9712c20fSFrederick Maylem4_if([$1], [CXX], [ 3554*9712c20fSFrederick Mayle # C++ specific cases for pic, static, wl, etc. 3555*9712c20fSFrederick Mayle if test "$GXX" = yes; then 3556*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3557*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3558*9712c20fSFrederick Mayle 3559*9712c20fSFrederick Mayle case $host_os in 3560*9712c20fSFrederick Mayle aix*) 3561*9712c20fSFrederick Mayle # All AIX code is PIC. 3562*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 3563*9712c20fSFrederick Mayle # AIX 5 now supports IA64 processor 3564*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3565*9712c20fSFrederick Mayle fi 3566*9712c20fSFrederick Mayle ;; 3567*9712c20fSFrederick Mayle 3568*9712c20fSFrederick Mayle amigaos*) 3569*9712c20fSFrederick Mayle case $host_cpu in 3570*9712c20fSFrederick Mayle powerpc) 3571*9712c20fSFrederick Mayle # see comment about AmigaOS4 .so support 3572*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3573*9712c20fSFrederick Mayle ;; 3574*9712c20fSFrederick Mayle m68k) 3575*9712c20fSFrederick Mayle # FIXME: we need at least 68020 code to build shared libraries, but 3576*9712c20fSFrederick Mayle # adding the `-m68020' flag to GCC prevents building anything better, 3577*9712c20fSFrederick Mayle # like `-m68040'. 3578*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 3579*9712c20fSFrederick Mayle ;; 3580*9712c20fSFrederick Mayle esac 3581*9712c20fSFrederick Mayle ;; 3582*9712c20fSFrederick Mayle 3583*9712c20fSFrederick Mayle beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 3584*9712c20fSFrederick Mayle # PIC is the default for these OSes. 3585*9712c20fSFrederick Mayle ;; 3586*9712c20fSFrederick Mayle mingw* | cygwin* | os2* | pw32* | cegcc*) 3587*9712c20fSFrederick Mayle # This hack is so that the source file can tell whether it is being 3588*9712c20fSFrederick Mayle # built for inclusion in a dll (and should export symbols for example). 3589*9712c20fSFrederick Mayle # Although the cygwin gcc ignores -fPIC, still need this for old-style 3590*9712c20fSFrederick Mayle # (--disable-auto-import) libraries 3591*9712c20fSFrederick Mayle m4_if([$1], [GCJ], [], 3592*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 3593*9712c20fSFrederick Mayle ;; 3594*9712c20fSFrederick Mayle darwin* | rhapsody*) 3595*9712c20fSFrederick Mayle # PIC is the default on this platform 3596*9712c20fSFrederick Mayle # Common symbols not allowed in MH_DYLIB files 3597*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 3598*9712c20fSFrederick Mayle ;; 3599*9712c20fSFrederick Mayle *djgpp*) 3600*9712c20fSFrederick Mayle # DJGPP does not support shared libraries at all 3601*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)= 3602*9712c20fSFrederick Mayle ;; 3603*9712c20fSFrederick Mayle interix[[3-9]]*) 3604*9712c20fSFrederick Mayle # Interix 3.x gcc -fpic/-fPIC options generate broken code. 3605*9712c20fSFrederick Mayle # Instead, we relocate shared libraries at runtime. 3606*9712c20fSFrederick Mayle ;; 3607*9712c20fSFrederick Mayle sysv4*MP*) 3608*9712c20fSFrederick Mayle if test -d /usr/nec; then 3609*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 3610*9712c20fSFrederick Mayle fi 3611*9712c20fSFrederick Mayle ;; 3612*9712c20fSFrederick Mayle hpux*) 3613*9712c20fSFrederick Mayle # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 3614*9712c20fSFrederick Mayle # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 3615*9712c20fSFrederick Mayle # sets the default TLS model and affects inlining. 3616*9712c20fSFrederick Mayle case $host_cpu in 3617*9712c20fSFrederick Mayle hppa*64*) 3618*9712c20fSFrederick Mayle ;; 3619*9712c20fSFrederick Mayle *) 3620*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3621*9712c20fSFrederick Mayle ;; 3622*9712c20fSFrederick Mayle esac 3623*9712c20fSFrederick Mayle ;; 3624*9712c20fSFrederick Mayle *qnx* | *nto*) 3625*9712c20fSFrederick Mayle # QNX uses GNU C++, but need to define -shared option too, otherwise 3626*9712c20fSFrederick Mayle # it will coredump. 3627*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 3628*9712c20fSFrederick Mayle ;; 3629*9712c20fSFrederick Mayle *) 3630*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3631*9712c20fSFrederick Mayle ;; 3632*9712c20fSFrederick Mayle esac 3633*9712c20fSFrederick Mayle else 3634*9712c20fSFrederick Mayle case $host_os in 3635*9712c20fSFrederick Mayle aix[[4-9]]*) 3636*9712c20fSFrederick Mayle # All AIX code is PIC. 3637*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 3638*9712c20fSFrederick Mayle # AIX 5 now supports IA64 processor 3639*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3640*9712c20fSFrederick Mayle else 3641*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 3642*9712c20fSFrederick Mayle fi 3643*9712c20fSFrederick Mayle ;; 3644*9712c20fSFrederick Mayle chorus*) 3645*9712c20fSFrederick Mayle case $cc_basename in 3646*9712c20fSFrederick Mayle cxch68*) 3647*9712c20fSFrederick Mayle # Green Hills C++ Compiler 3648*9712c20fSFrederick Mayle # _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" 3649*9712c20fSFrederick Mayle ;; 3650*9712c20fSFrederick Mayle esac 3651*9712c20fSFrederick Mayle ;; 3652*9712c20fSFrederick Mayle dgux*) 3653*9712c20fSFrederick Mayle case $cc_basename in 3654*9712c20fSFrederick Mayle ec++*) 3655*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3656*9712c20fSFrederick Mayle ;; 3657*9712c20fSFrederick Mayle ghcx*) 3658*9712c20fSFrederick Mayle # Green Hills C++ Compiler 3659*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3660*9712c20fSFrederick Mayle ;; 3661*9712c20fSFrederick Mayle *) 3662*9712c20fSFrederick Mayle ;; 3663*9712c20fSFrederick Mayle esac 3664*9712c20fSFrederick Mayle ;; 3665*9712c20fSFrederick Mayle freebsd* | dragonfly*) 3666*9712c20fSFrederick Mayle # FreeBSD uses GNU C++ 3667*9712c20fSFrederick Mayle ;; 3668*9712c20fSFrederick Mayle hpux9* | hpux10* | hpux11*) 3669*9712c20fSFrederick Mayle case $cc_basename in 3670*9712c20fSFrederick Mayle CC*) 3671*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3672*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 3673*9712c20fSFrederick Mayle if test "$host_cpu" != ia64; then 3674*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 3675*9712c20fSFrederick Mayle fi 3676*9712c20fSFrederick Mayle ;; 3677*9712c20fSFrederick Mayle aCC*) 3678*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3679*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 3680*9712c20fSFrederick Mayle case $host_cpu in 3681*9712c20fSFrederick Mayle hppa*64*|ia64*) 3682*9712c20fSFrederick Mayle # +Z the default 3683*9712c20fSFrederick Mayle ;; 3684*9712c20fSFrederick Mayle *) 3685*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 3686*9712c20fSFrederick Mayle ;; 3687*9712c20fSFrederick Mayle esac 3688*9712c20fSFrederick Mayle ;; 3689*9712c20fSFrederick Mayle *) 3690*9712c20fSFrederick Mayle ;; 3691*9712c20fSFrederick Mayle esac 3692*9712c20fSFrederick Mayle ;; 3693*9712c20fSFrederick Mayle interix*) 3694*9712c20fSFrederick Mayle # This is c89, which is MS Visual C++ (no shared libs) 3695*9712c20fSFrederick Mayle # Anyone wants to do a port? 3696*9712c20fSFrederick Mayle ;; 3697*9712c20fSFrederick Mayle irix5* | irix6* | nonstopux*) 3698*9712c20fSFrederick Mayle case $cc_basename in 3699*9712c20fSFrederick Mayle CC*) 3700*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3701*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 3702*9712c20fSFrederick Mayle # CC pic flag -KPIC is the default. 3703*9712c20fSFrederick Mayle ;; 3704*9712c20fSFrederick Mayle *) 3705*9712c20fSFrederick Mayle ;; 3706*9712c20fSFrederick Mayle esac 3707*9712c20fSFrederick Mayle ;; 3708*9712c20fSFrederick Mayle linux* | k*bsd*-gnu | kopensolaris*-gnu) 3709*9712c20fSFrederick Mayle case $cc_basename in 3710*9712c20fSFrederick Mayle KCC*) 3711*9712c20fSFrederick Mayle # KAI C++ Compiler 3712*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 3713*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3714*9712c20fSFrederick Mayle ;; 3715*9712c20fSFrederick Mayle ecpc* ) 3716*9712c20fSFrederick Mayle # old Intel C++ for x86_64 which still supported -KPIC. 3717*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3718*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3719*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3720*9712c20fSFrederick Mayle ;; 3721*9712c20fSFrederick Mayle icpc* ) 3722*9712c20fSFrederick Mayle # Intel C++, used to be incompatible with GCC. 3723*9712c20fSFrederick Mayle # ICC 10 doesn't accept -KPIC any more. 3724*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3725*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3726*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3727*9712c20fSFrederick Mayle ;; 3728*9712c20fSFrederick Mayle pgCC* | pgcpp*) 3729*9712c20fSFrederick Mayle # Portland Group C++ compiler 3730*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3731*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 3732*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3733*9712c20fSFrederick Mayle ;; 3734*9712c20fSFrederick Mayle cxx*) 3735*9712c20fSFrederick Mayle # Compaq C++ 3736*9712c20fSFrederick Mayle # Make sure the PIC flag is empty. It appears that all Alpha 3737*9712c20fSFrederick Mayle # Linux and Compaq Tru64 Unix objects are PIC. 3738*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)= 3739*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 3740*9712c20fSFrederick Mayle ;; 3741*9712c20fSFrederick Mayle xlc* | xlC*) 3742*9712c20fSFrederick Mayle # IBM XL 8.0 on PPC 3743*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3744*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 3745*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 3746*9712c20fSFrederick Mayle ;; 3747*9712c20fSFrederick Mayle *) 3748*9712c20fSFrederick Mayle case `$CC -V 2>&1 | sed 5q` in 3749*9712c20fSFrederick Mayle *Sun\ C*) 3750*9712c20fSFrederick Mayle # Sun C++ 5.9 3751*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3752*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3753*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 3754*9712c20fSFrederick Mayle ;; 3755*9712c20fSFrederick Mayle esac 3756*9712c20fSFrederick Mayle ;; 3757*9712c20fSFrederick Mayle esac 3758*9712c20fSFrederick Mayle ;; 3759*9712c20fSFrederick Mayle lynxos*) 3760*9712c20fSFrederick Mayle ;; 3761*9712c20fSFrederick Mayle m88k*) 3762*9712c20fSFrederick Mayle ;; 3763*9712c20fSFrederick Mayle mvs*) 3764*9712c20fSFrederick Mayle case $cc_basename in 3765*9712c20fSFrederick Mayle cxx*) 3766*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' 3767*9712c20fSFrederick Mayle ;; 3768*9712c20fSFrederick Mayle *) 3769*9712c20fSFrederick Mayle ;; 3770*9712c20fSFrederick Mayle esac 3771*9712c20fSFrederick Mayle ;; 3772*9712c20fSFrederick Mayle netbsd* | netbsdelf*-gnu) 3773*9712c20fSFrederick Mayle ;; 3774*9712c20fSFrederick Mayle *qnx* | *nto*) 3775*9712c20fSFrederick Mayle # QNX uses GNU C++, but need to define -shared option too, otherwise 3776*9712c20fSFrederick Mayle # it will coredump. 3777*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 3778*9712c20fSFrederick Mayle ;; 3779*9712c20fSFrederick Mayle osf3* | osf4* | osf5*) 3780*9712c20fSFrederick Mayle case $cc_basename in 3781*9712c20fSFrederick Mayle KCC*) 3782*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' 3783*9712c20fSFrederick Mayle ;; 3784*9712c20fSFrederick Mayle RCC*) 3785*9712c20fSFrederick Mayle # Rational C++ 2.4.1 3786*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3787*9712c20fSFrederick Mayle ;; 3788*9712c20fSFrederick Mayle cxx*) 3789*9712c20fSFrederick Mayle # Digital/Compaq C++ 3790*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3791*9712c20fSFrederick Mayle # Make sure the PIC flag is empty. It appears that all Alpha 3792*9712c20fSFrederick Mayle # Linux and Compaq Tru64 Unix objects are PIC. 3793*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)= 3794*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 3795*9712c20fSFrederick Mayle ;; 3796*9712c20fSFrederick Mayle *) 3797*9712c20fSFrederick Mayle ;; 3798*9712c20fSFrederick Mayle esac 3799*9712c20fSFrederick Mayle ;; 3800*9712c20fSFrederick Mayle psos*) 3801*9712c20fSFrederick Mayle ;; 3802*9712c20fSFrederick Mayle solaris*) 3803*9712c20fSFrederick Mayle case $cc_basename in 3804*9712c20fSFrederick Mayle CC*) 3805*9712c20fSFrederick Mayle # Sun C++ 4.2, 5.x and Centerline C++ 3806*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3807*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3808*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 3809*9712c20fSFrederick Mayle ;; 3810*9712c20fSFrederick Mayle gcx*) 3811*9712c20fSFrederick Mayle # Green Hills C++ Compiler 3812*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 3813*9712c20fSFrederick Mayle ;; 3814*9712c20fSFrederick Mayle *) 3815*9712c20fSFrederick Mayle ;; 3816*9712c20fSFrederick Mayle esac 3817*9712c20fSFrederick Mayle ;; 3818*9712c20fSFrederick Mayle sunos4*) 3819*9712c20fSFrederick Mayle case $cc_basename in 3820*9712c20fSFrederick Mayle CC*) 3821*9712c20fSFrederick Mayle # Sun C++ 4.x 3822*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3823*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3824*9712c20fSFrederick Mayle ;; 3825*9712c20fSFrederick Mayle lcc*) 3826*9712c20fSFrederick Mayle # Lucid 3827*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 3828*9712c20fSFrederick Mayle ;; 3829*9712c20fSFrederick Mayle *) 3830*9712c20fSFrederick Mayle ;; 3831*9712c20fSFrederick Mayle esac 3832*9712c20fSFrederick Mayle ;; 3833*9712c20fSFrederick Mayle sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 3834*9712c20fSFrederick Mayle case $cc_basename in 3835*9712c20fSFrederick Mayle CC*) 3836*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3837*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3838*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3839*9712c20fSFrederick Mayle ;; 3840*9712c20fSFrederick Mayle esac 3841*9712c20fSFrederick Mayle ;; 3842*9712c20fSFrederick Mayle tandem*) 3843*9712c20fSFrederick Mayle case $cc_basename in 3844*9712c20fSFrederick Mayle NCC*) 3845*9712c20fSFrederick Mayle # NonStop-UX NCC 3.20 3846*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3847*9712c20fSFrederick Mayle ;; 3848*9712c20fSFrederick Mayle *) 3849*9712c20fSFrederick Mayle ;; 3850*9712c20fSFrederick Mayle esac 3851*9712c20fSFrederick Mayle ;; 3852*9712c20fSFrederick Mayle vxworks*) 3853*9712c20fSFrederick Mayle ;; 3854*9712c20fSFrederick Mayle *) 3855*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 3856*9712c20fSFrederick Mayle ;; 3857*9712c20fSFrederick Mayle esac 3858*9712c20fSFrederick Mayle fi 3859*9712c20fSFrederick Mayle], 3860*9712c20fSFrederick Mayle[ 3861*9712c20fSFrederick Mayle if test "$GCC" = yes; then 3862*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3863*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3864*9712c20fSFrederick Mayle 3865*9712c20fSFrederick Mayle case $host_os in 3866*9712c20fSFrederick Mayle aix*) 3867*9712c20fSFrederick Mayle # All AIX code is PIC. 3868*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 3869*9712c20fSFrederick Mayle # AIX 5 now supports IA64 processor 3870*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3871*9712c20fSFrederick Mayle fi 3872*9712c20fSFrederick Mayle ;; 3873*9712c20fSFrederick Mayle 3874*9712c20fSFrederick Mayle amigaos*) 3875*9712c20fSFrederick Mayle case $host_cpu in 3876*9712c20fSFrederick Mayle powerpc) 3877*9712c20fSFrederick Mayle # see comment about AmigaOS4 .so support 3878*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3879*9712c20fSFrederick Mayle ;; 3880*9712c20fSFrederick Mayle m68k) 3881*9712c20fSFrederick Mayle # FIXME: we need at least 68020 code to build shared libraries, but 3882*9712c20fSFrederick Mayle # adding the `-m68020' flag to GCC prevents building anything better, 3883*9712c20fSFrederick Mayle # like `-m68040'. 3884*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' 3885*9712c20fSFrederick Mayle ;; 3886*9712c20fSFrederick Mayle esac 3887*9712c20fSFrederick Mayle ;; 3888*9712c20fSFrederick Mayle 3889*9712c20fSFrederick Mayle beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) 3890*9712c20fSFrederick Mayle # PIC is the default for these OSes. 3891*9712c20fSFrederick Mayle ;; 3892*9712c20fSFrederick Mayle 3893*9712c20fSFrederick Mayle mingw* | cygwin* | pw32* | os2* | cegcc*) 3894*9712c20fSFrederick Mayle # This hack is so that the source file can tell whether it is being 3895*9712c20fSFrederick Mayle # built for inclusion in a dll (and should export symbols for example). 3896*9712c20fSFrederick Mayle # Although the cygwin gcc ignores -fPIC, still need this for old-style 3897*9712c20fSFrederick Mayle # (--disable-auto-import) libraries 3898*9712c20fSFrederick Mayle m4_if([$1], [GCJ], [], 3899*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 3900*9712c20fSFrederick Mayle ;; 3901*9712c20fSFrederick Mayle 3902*9712c20fSFrederick Mayle darwin* | rhapsody*) 3903*9712c20fSFrederick Mayle # PIC is the default on this platform 3904*9712c20fSFrederick Mayle # Common symbols not allowed in MH_DYLIB files 3905*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' 3906*9712c20fSFrederick Mayle ;; 3907*9712c20fSFrederick Mayle 3908*9712c20fSFrederick Mayle hpux*) 3909*9712c20fSFrederick Mayle # PIC is the default for 64-bit PA HP-UX, but not for 32-bit 3910*9712c20fSFrederick Mayle # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag 3911*9712c20fSFrederick Mayle # sets the default TLS model and affects inlining. 3912*9712c20fSFrederick Mayle case $host_cpu in 3913*9712c20fSFrederick Mayle hppa*64*) 3914*9712c20fSFrederick Mayle # +Z the default 3915*9712c20fSFrederick Mayle ;; 3916*9712c20fSFrederick Mayle *) 3917*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3918*9712c20fSFrederick Mayle ;; 3919*9712c20fSFrederick Mayle esac 3920*9712c20fSFrederick Mayle ;; 3921*9712c20fSFrederick Mayle 3922*9712c20fSFrederick Mayle interix[[3-9]]*) 3923*9712c20fSFrederick Mayle # Interix 3.x gcc -fpic/-fPIC options generate broken code. 3924*9712c20fSFrederick Mayle # Instead, we relocate shared libraries at runtime. 3925*9712c20fSFrederick Mayle ;; 3926*9712c20fSFrederick Mayle 3927*9712c20fSFrederick Mayle msdosdjgpp*) 3928*9712c20fSFrederick Mayle # Just because we use GCC doesn't mean we suddenly get shared libraries 3929*9712c20fSFrederick Mayle # on systems that don't support them. 3930*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 3931*9712c20fSFrederick Mayle enable_shared=no 3932*9712c20fSFrederick Mayle ;; 3933*9712c20fSFrederick Mayle 3934*9712c20fSFrederick Mayle *nto* | *qnx*) 3935*9712c20fSFrederick Mayle # QNX uses GNU C++, but need to define -shared option too, otherwise 3936*9712c20fSFrederick Mayle # it will coredump. 3937*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 3938*9712c20fSFrederick Mayle ;; 3939*9712c20fSFrederick Mayle 3940*9712c20fSFrederick Mayle sysv4*MP*) 3941*9712c20fSFrederick Mayle if test -d /usr/nec; then 3942*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic 3943*9712c20fSFrederick Mayle fi 3944*9712c20fSFrederick Mayle ;; 3945*9712c20fSFrederick Mayle 3946*9712c20fSFrederick Mayle *) 3947*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 3948*9712c20fSFrederick Mayle ;; 3949*9712c20fSFrederick Mayle esac 3950*9712c20fSFrederick Mayle else 3951*9712c20fSFrederick Mayle # PORTME Check for flag to pass linker flags through the system compiler. 3952*9712c20fSFrederick Mayle case $host_os in 3953*9712c20fSFrederick Mayle aix*) 3954*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3955*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 3956*9712c20fSFrederick Mayle # AIX 5 now supports IA64 processor 3957*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 3958*9712c20fSFrederick Mayle else 3959*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' 3960*9712c20fSFrederick Mayle fi 3961*9712c20fSFrederick Mayle ;; 3962*9712c20fSFrederick Mayle 3963*9712c20fSFrederick Mayle mingw* | cygwin* | pw32* | os2* | cegcc*) 3964*9712c20fSFrederick Mayle # This hack is so that the source file can tell whether it is being 3965*9712c20fSFrederick Mayle # built for inclusion in a dll (and should export symbols for example). 3966*9712c20fSFrederick Mayle m4_if([$1], [GCJ], [], 3967*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) 3968*9712c20fSFrederick Mayle ;; 3969*9712c20fSFrederick Mayle 3970*9712c20fSFrederick Mayle hpux9* | hpux10* | hpux11*) 3971*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3972*9712c20fSFrederick Mayle # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but 3973*9712c20fSFrederick Mayle # not for PA HP-UX. 3974*9712c20fSFrederick Mayle case $host_cpu in 3975*9712c20fSFrederick Mayle hppa*64*|ia64*) 3976*9712c20fSFrederick Mayle # +Z the default 3977*9712c20fSFrederick Mayle ;; 3978*9712c20fSFrederick Mayle *) 3979*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' 3980*9712c20fSFrederick Mayle ;; 3981*9712c20fSFrederick Mayle esac 3982*9712c20fSFrederick Mayle # Is there a better lt_prog_compiler_static that works with the bundled CC? 3983*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' 3984*9712c20fSFrederick Mayle ;; 3985*9712c20fSFrederick Mayle 3986*9712c20fSFrederick Mayle irix5* | irix6* | nonstopux*) 3987*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3988*9712c20fSFrederick Mayle # PIC (with -KPIC) is the default. 3989*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 3990*9712c20fSFrederick Mayle ;; 3991*9712c20fSFrederick Mayle 3992*9712c20fSFrederick Mayle linux* | k*bsd*-gnu | kopensolaris*-gnu) 3993*9712c20fSFrederick Mayle case $cc_basename in 3994*9712c20fSFrederick Mayle # old Intel for x86_64 which still supported -KPIC. 3995*9712c20fSFrederick Mayle ecc*) 3996*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 3997*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 3998*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 3999*9712c20fSFrederick Mayle ;; 4000*9712c20fSFrederick Mayle # icc used to be incompatible with GCC. 4001*9712c20fSFrederick Mayle # ICC 10 doesn't accept -KPIC any more. 4002*9712c20fSFrederick Mayle icc* | ifort*) 4003*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4004*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' 4005*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' 4006*9712c20fSFrederick Mayle ;; 4007*9712c20fSFrederick Mayle # Lahey Fortran 8.1. 4008*9712c20fSFrederick Mayle lf95*) 4009*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4010*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' 4011*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' 4012*9712c20fSFrederick Mayle ;; 4013*9712c20fSFrederick Mayle pgcc* | pgf77* | pgf90* | pgf95*) 4014*9712c20fSFrederick Mayle # Portland Group compilers (*not* the Pentium gcc compiler, 4015*9712c20fSFrederick Mayle # which looks to be a dead project) 4016*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4017*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' 4018*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4019*9712c20fSFrederick Mayle ;; 4020*9712c20fSFrederick Mayle ccc*) 4021*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4022*9712c20fSFrederick Mayle # All Alpha code is PIC. 4023*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4024*9712c20fSFrederick Mayle ;; 4025*9712c20fSFrederick Mayle xl*) 4026*9712c20fSFrederick Mayle # IBM XL C 8.0/Fortran 10.1 on PPC 4027*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4028*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' 4029*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' 4030*9712c20fSFrederick Mayle ;; 4031*9712c20fSFrederick Mayle *) 4032*9712c20fSFrederick Mayle case `$CC -V 2>&1 | sed 5q` in 4033*9712c20fSFrederick Mayle *Sun\ C*) 4034*9712c20fSFrederick Mayle # Sun C 5.9 4035*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4036*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4037*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4038*9712c20fSFrederick Mayle ;; 4039*9712c20fSFrederick Mayle *Sun\ F*) 4040*9712c20fSFrederick Mayle # Sun Fortran 8.3 passes all unrecognized flags to the linker 4041*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4042*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4043*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='' 4044*9712c20fSFrederick Mayle ;; 4045*9712c20fSFrederick Mayle esac 4046*9712c20fSFrederick Mayle ;; 4047*9712c20fSFrederick Mayle esac 4048*9712c20fSFrederick Mayle ;; 4049*9712c20fSFrederick Mayle 4050*9712c20fSFrederick Mayle newsos6) 4051*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4052*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4053*9712c20fSFrederick Mayle ;; 4054*9712c20fSFrederick Mayle 4055*9712c20fSFrederick Mayle *nto* | *qnx*) 4056*9712c20fSFrederick Mayle # QNX uses GNU C++, but need to define -shared option too, otherwise 4057*9712c20fSFrederick Mayle # it will coredump. 4058*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' 4059*9712c20fSFrederick Mayle ;; 4060*9712c20fSFrederick Mayle 4061*9712c20fSFrederick Mayle osf3* | osf4* | osf5*) 4062*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4063*9712c20fSFrederick Mayle # All OSF/1 code is PIC. 4064*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4065*9712c20fSFrederick Mayle ;; 4066*9712c20fSFrederick Mayle 4067*9712c20fSFrederick Mayle rdos*) 4068*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' 4069*9712c20fSFrederick Mayle ;; 4070*9712c20fSFrederick Mayle 4071*9712c20fSFrederick Mayle solaris*) 4072*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4073*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4074*9712c20fSFrederick Mayle case $cc_basename in 4075*9712c20fSFrederick Mayle f77* | f90* | f95*) 4076*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; 4077*9712c20fSFrederick Mayle *) 4078*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; 4079*9712c20fSFrederick Mayle esac 4080*9712c20fSFrederick Mayle ;; 4081*9712c20fSFrederick Mayle 4082*9712c20fSFrederick Mayle sunos4*) 4083*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' 4084*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' 4085*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4086*9712c20fSFrederick Mayle ;; 4087*9712c20fSFrederick Mayle 4088*9712c20fSFrederick Mayle sysv4 | sysv4.2uw2* | sysv4.3*) 4089*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4090*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4091*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4092*9712c20fSFrederick Mayle ;; 4093*9712c20fSFrederick Mayle 4094*9712c20fSFrederick Mayle sysv4*MP*) 4095*9712c20fSFrederick Mayle if test -d /usr/nec ;then 4096*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' 4097*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4098*9712c20fSFrederick Mayle fi 4099*9712c20fSFrederick Mayle ;; 4100*9712c20fSFrederick Mayle 4101*9712c20fSFrederick Mayle sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) 4102*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4103*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' 4104*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4105*9712c20fSFrederick Mayle ;; 4106*9712c20fSFrederick Mayle 4107*9712c20fSFrederick Mayle unicos*) 4108*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' 4109*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4110*9712c20fSFrederick Mayle ;; 4111*9712c20fSFrederick Mayle 4112*9712c20fSFrederick Mayle uts4*) 4113*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' 4114*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' 4115*9712c20fSFrederick Mayle ;; 4116*9712c20fSFrederick Mayle 4117*9712c20fSFrederick Mayle *) 4118*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no 4119*9712c20fSFrederick Mayle ;; 4120*9712c20fSFrederick Mayle esac 4121*9712c20fSFrederick Mayle fi 4122*9712c20fSFrederick Mayle]) 4123*9712c20fSFrederick Maylecase $host_os in 4124*9712c20fSFrederick Mayle # For platforms which do not support PIC, -DPIC is meaningless: 4125*9712c20fSFrederick Mayle *djgpp*) 4126*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)= 4127*9712c20fSFrederick Mayle ;; 4128*9712c20fSFrederick Mayle *) 4129*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" 4130*9712c20fSFrederick Mayle ;; 4131*9712c20fSFrederick Mayleesac 4132*9712c20fSFrederick MayleAC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) 4133*9712c20fSFrederick Mayle_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], 4134*9712c20fSFrederick Mayle [How to pass a linker flag through the compiler]) 4135*9712c20fSFrederick Mayle 4136*9712c20fSFrederick Mayle# 4137*9712c20fSFrederick Mayle# Check to make sure the PIC flag actually works. 4138*9712c20fSFrederick Mayle# 4139*9712c20fSFrederick Mayleif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then 4140*9712c20fSFrederick Mayle _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], 4141*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], 4142*9712c20fSFrederick Mayle [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], 4143*9712c20fSFrederick Mayle [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in 4144*9712c20fSFrederick Mayle "" | " "*) ;; 4145*9712c20fSFrederick Mayle *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; 4146*9712c20fSFrederick Mayle esac], 4147*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_prog_compiler_pic, $1)= 4148*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) 4149*9712c20fSFrederick Maylefi 4150*9712c20fSFrederick Mayle_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], 4151*9712c20fSFrederick Mayle [Additional compiler flags for building library objects]) 4152*9712c20fSFrederick Mayle 4153*9712c20fSFrederick Mayle# 4154*9712c20fSFrederick Mayle# Check to make sure the static flag actually works. 4155*9712c20fSFrederick Mayle# 4156*9712c20fSFrederick Maylewl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" 4157*9712c20fSFrederick Mayle_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], 4158*9712c20fSFrederick Mayle _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), 4159*9712c20fSFrederick Mayle $lt_tmp_static_flag, 4160*9712c20fSFrederick Mayle [], 4161*9712c20fSFrederick Mayle [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) 4162*9712c20fSFrederick Mayle_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], 4163*9712c20fSFrederick Mayle [Compiler flag to prevent dynamic linking]) 4164*9712c20fSFrederick Mayle])# _LT_COMPILER_PIC 4165*9712c20fSFrederick Mayle 4166*9712c20fSFrederick Mayle 4167*9712c20fSFrederick Mayle# _LT_LINKER_SHLIBS([TAGNAME]) 4168*9712c20fSFrederick Mayle# ---------------------------- 4169*9712c20fSFrederick Mayle# See if the linker supports building shared libraries. 4170*9712c20fSFrederick Maylem4_defun([_LT_LINKER_SHLIBS], 4171*9712c20fSFrederick Mayle[AC_REQUIRE([LT_PATH_LD])dnl 4172*9712c20fSFrederick MayleAC_REQUIRE([LT_PATH_NM])dnl 4173*9712c20fSFrederick Maylem4_require([_LT_FILEUTILS_DEFAULTS])dnl 4174*9712c20fSFrederick Maylem4_require([_LT_DECL_EGREP])dnl 4175*9712c20fSFrederick Maylem4_require([_LT_DECL_SED])dnl 4176*9712c20fSFrederick Maylem4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl 4177*9712c20fSFrederick Maylem4_require([_LT_TAG_COMPILER])dnl 4178*9712c20fSFrederick MayleAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 4179*9712c20fSFrederick Maylem4_if([$1], [CXX], [ 4180*9712c20fSFrederick Mayle _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4181*9712c20fSFrederick Mayle case $host_os in 4182*9712c20fSFrederick Mayle aix[[4-9]]*) 4183*9712c20fSFrederick Mayle # If we're using GNU nm, then we don't want the "-C" option. 4184*9712c20fSFrederick Mayle # -C means demangle to AIX nm, but means don't demangle with GNU nm 4185*9712c20fSFrederick Mayle if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4186*9712c20fSFrederick Mayle _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 4187*9712c20fSFrederick Mayle else 4188*9712c20fSFrederick Mayle _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' 4189*9712c20fSFrederick Mayle fi 4190*9712c20fSFrederick Mayle ;; 4191*9712c20fSFrederick Mayle pw32*) 4192*9712c20fSFrederick Mayle _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" 4193*9712c20fSFrederick Mayle ;; 4194*9712c20fSFrederick Mayle cygwin* | mingw* | cegcc*) 4195*9712c20fSFrederick Mayle _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' 4196*9712c20fSFrederick Mayle ;; 4197*9712c20fSFrederick Mayle linux* | k*bsd*-gnu) 4198*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=no 4199*9712c20fSFrederick Mayle ;; 4200*9712c20fSFrederick Mayle *) 4201*9712c20fSFrederick Mayle _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4202*9712c20fSFrederick Mayle ;; 4203*9712c20fSFrederick Mayle esac 4204*9712c20fSFrederick Mayle _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 4205*9712c20fSFrederick Mayle], [ 4206*9712c20fSFrederick Mayle runpath_var= 4207*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)= 4208*9712c20fSFrederick Mayle _LT_TAGVAR(always_export_symbols, $1)=no 4209*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)= 4210*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)= 4211*9712c20fSFrederick Mayle _LT_TAGVAR(compiler_needs_object, $1)=no 4212*9712c20fSFrederick Mayle _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 4213*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)= 4214*9712c20fSFrederick Mayle _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' 4215*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_automatic, $1)=no 4216*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=no 4217*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct_absolute, $1)=no 4218*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4219*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 4220*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)= 4221*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=no 4222*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 4223*9712c20fSFrederick Mayle _LT_TAGVAR(inherit_rpath, $1)=no 4224*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=unknown 4225*9712c20fSFrederick Mayle _LT_TAGVAR(module_cmds, $1)= 4226*9712c20fSFrederick Mayle _LT_TAGVAR(module_expsym_cmds, $1)= 4227*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_from_new_cmds, $1)= 4228*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= 4229*9712c20fSFrederick Mayle _LT_TAGVAR(thread_safe_flag_spec, $1)= 4230*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)= 4231*9712c20fSFrederick Mayle # include_expsyms should be a list of space-separated symbols to be *always* 4232*9712c20fSFrederick Mayle # included in the symbol list 4233*9712c20fSFrederick Mayle _LT_TAGVAR(include_expsyms, $1)= 4234*9712c20fSFrederick Mayle # exclude_expsyms can be an extended regexp of symbols to exclude 4235*9712c20fSFrederick Mayle # it will be wrapped by ` (' and `)$', so one must not match beginning or 4236*9712c20fSFrederick Mayle # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', 4237*9712c20fSFrederick Mayle # as well as any symbol that contains `d'. 4238*9712c20fSFrederick Mayle _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] 4239*9712c20fSFrederick Mayle # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out 4240*9712c20fSFrederick Mayle # platforms (ab)use it in PIC code, but their linkers get confused if 4241*9712c20fSFrederick Mayle # the symbol is explicitly referenced. Since portable code cannot 4242*9712c20fSFrederick Mayle # rely on this symbol name, it's probably fine to never include it in 4243*9712c20fSFrederick Mayle # preloaded symbol tables. 4244*9712c20fSFrederick Mayle # Exclude shared library initialization/finalization symbols. 4245*9712c20fSFrederick Maylednl Note also adjust exclude_expsyms for C++ above. 4246*9712c20fSFrederick Mayle extract_expsyms_cmds= 4247*9712c20fSFrederick Mayle 4248*9712c20fSFrederick Mayle case $host_os in 4249*9712c20fSFrederick Mayle cygwin* | mingw* | pw32* | cegcc*) 4250*9712c20fSFrederick Mayle # FIXME: the MSVC++ port hasn't been tested in a loooong time 4251*9712c20fSFrederick Mayle # When not using gcc, we currently assume that we are using 4252*9712c20fSFrederick Mayle # Microsoft Visual C++. 4253*9712c20fSFrederick Mayle if test "$GCC" != yes; then 4254*9712c20fSFrederick Mayle with_gnu_ld=no 4255*9712c20fSFrederick Mayle fi 4256*9712c20fSFrederick Mayle ;; 4257*9712c20fSFrederick Mayle interix*) 4258*9712c20fSFrederick Mayle # we just hope/assume this is gcc and not c89 (= MSVC++) 4259*9712c20fSFrederick Mayle with_gnu_ld=yes 4260*9712c20fSFrederick Mayle ;; 4261*9712c20fSFrederick Mayle openbsd*) 4262*9712c20fSFrederick Mayle with_gnu_ld=no 4263*9712c20fSFrederick Mayle ;; 4264*9712c20fSFrederick Mayle linux* | k*bsd*-gnu) 4265*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=no 4266*9712c20fSFrederick Mayle ;; 4267*9712c20fSFrederick Mayle esac 4268*9712c20fSFrederick Mayle 4269*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=yes 4270*9712c20fSFrederick Mayle if test "$with_gnu_ld" = yes; then 4271*9712c20fSFrederick Mayle # If archive_cmds runs LD, not CC, wlarc should be empty 4272*9712c20fSFrederick Mayle wlarc='${wl}' 4273*9712c20fSFrederick Mayle 4274*9712c20fSFrederick Mayle # Set some defaults for GNU ld with shared library support. These 4275*9712c20fSFrederick Mayle # are reset later if shared libraries are not supported. Putting them 4276*9712c20fSFrederick Mayle # here allows them to be overridden if necessary. 4277*9712c20fSFrederick Mayle runpath_var=LD_RUN_PATH 4278*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4279*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 4280*9712c20fSFrederick Mayle # ancient GNU ld didn't support --whole-archive et. al. 4281*9712c20fSFrederick Mayle if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then 4282*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 4283*9712c20fSFrederick Mayle else 4284*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)= 4285*9712c20fSFrederick Mayle fi 4286*9712c20fSFrederick Mayle supports_anon_versioning=no 4287*9712c20fSFrederick Mayle case `$LD -v 2>&1` in 4288*9712c20fSFrederick Mayle *GNU\ gold*) supports_anon_versioning=yes ;; 4289*9712c20fSFrederick Mayle *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 4290*9712c20fSFrederick Mayle *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... 4291*9712c20fSFrederick Mayle *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... 4292*9712c20fSFrederick Mayle *\ 2.11.*) ;; # other 2.11 versions 4293*9712c20fSFrederick Mayle *) supports_anon_versioning=yes ;; 4294*9712c20fSFrederick Mayle esac 4295*9712c20fSFrederick Mayle 4296*9712c20fSFrederick Mayle # See if GNU ld supports shared libraries. 4297*9712c20fSFrederick Mayle case $host_os in 4298*9712c20fSFrederick Mayle aix[[3-9]]*) 4299*9712c20fSFrederick Mayle # On AIX/PPC, the GNU linker is very broken 4300*9712c20fSFrederick Mayle if test "$host_cpu" != ia64; then 4301*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4302*9712c20fSFrederick Mayle cat <<_LT_EOF 1>&2 4303*9712c20fSFrederick Mayle 4304*9712c20fSFrederick Mayle*** Warning: the GNU linker, at least up to release 2.9.1, is reported 4305*9712c20fSFrederick Mayle*** to be unable to reliably create shared libraries on AIX. 4306*9712c20fSFrederick Mayle*** Therefore, libtool is disabling shared libraries support. If you 4307*9712c20fSFrederick Mayle*** really care for shared libraries, you may want to modify your PATH 4308*9712c20fSFrederick Mayle*** so that a non-GNU linker is found, and then restart. 4309*9712c20fSFrederick Mayle 4310*9712c20fSFrederick Mayle_LT_EOF 4311*9712c20fSFrederick Mayle fi 4312*9712c20fSFrederick Mayle ;; 4313*9712c20fSFrederick Mayle 4314*9712c20fSFrederick Mayle amigaos*) 4315*9712c20fSFrederick Mayle case $host_cpu in 4316*9712c20fSFrederick Mayle powerpc) 4317*9712c20fSFrederick Mayle # see comment about AmigaOS4 .so support 4318*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4319*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='' 4320*9712c20fSFrederick Mayle ;; 4321*9712c20fSFrederick Mayle m68k) 4322*9712c20fSFrederick Mayle _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)' 4323*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4324*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4325*9712c20fSFrederick Mayle ;; 4326*9712c20fSFrederick Mayle esac 4327*9712c20fSFrederick Mayle ;; 4328*9712c20fSFrederick Mayle 4329*9712c20fSFrederick Mayle beos*) 4330*9712c20fSFrederick Mayle if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4331*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4332*9712c20fSFrederick Mayle # Joseph Beckenbach <[email protected]> says some releases of gcc 4333*9712c20fSFrederick Mayle # support --undefined. This deserves some investigation. FIXME 4334*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4335*9712c20fSFrederick Mayle else 4336*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4337*9712c20fSFrederick Mayle fi 4338*9712c20fSFrederick Mayle ;; 4339*9712c20fSFrederick Mayle 4340*9712c20fSFrederick Mayle cygwin* | mingw* | pw32* | cegcc*) 4341*9712c20fSFrederick Mayle # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 4342*9712c20fSFrederick Mayle # as there is no search path for DLLs. 4343*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4344*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4345*9712c20fSFrederick Mayle _LT_TAGVAR(always_export_symbols, $1)=no 4346*9712c20fSFrederick Mayle _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 4347*9712c20fSFrederick Mayle _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' 4348*9712c20fSFrederick Mayle 4349*9712c20fSFrederick Mayle if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 4350*9712c20fSFrederick Mayle _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' 4351*9712c20fSFrederick Mayle # If the export-symbols file already is a .def file (1st line 4352*9712c20fSFrederick Mayle # is EXPORTS), use it as is; otherwise, prepend... 4353*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 4354*9712c20fSFrederick Mayle cp $export_symbols $output_objdir/$soname.def; 4355*9712c20fSFrederick Mayle else 4356*9712c20fSFrederick Mayle echo EXPORTS > $output_objdir/$soname.def; 4357*9712c20fSFrederick Mayle cat $export_symbols >> $output_objdir/$soname.def; 4358*9712c20fSFrederick Mayle fi~ 4359*9712c20fSFrederick Mayle $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' 4360*9712c20fSFrederick Mayle else 4361*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4362*9712c20fSFrederick Mayle fi 4363*9712c20fSFrederick Mayle ;; 4364*9712c20fSFrederick Mayle 4365*9712c20fSFrederick Mayle interix[[3-9]]*) 4366*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=no 4367*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4368*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4369*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4370*9712c20fSFrederick Mayle # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 4371*9712c20fSFrederick Mayle # Instead, shared libraries are loaded at an image base (0x10000000 by 4372*9712c20fSFrederick Mayle # default) and relocated if they conflict, which is a slow very memory 4373*9712c20fSFrederick Mayle # consuming and fragmenting process. To avoid this, we pick a random, 4374*9712c20fSFrederick Mayle # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 4375*9712c20fSFrederick Mayle # time. Moving up from 0x10000000 also allows more sbrk(2) space. 4376*9712c20fSFrederick Mayle _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' 4377*9712c20fSFrederick Mayle _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' 4378*9712c20fSFrederick Mayle ;; 4379*9712c20fSFrederick Mayle 4380*9712c20fSFrederick Mayle gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) 4381*9712c20fSFrederick Mayle tmp_diet=no 4382*9712c20fSFrederick Mayle if test "$host_os" = linux-dietlibc; then 4383*9712c20fSFrederick Mayle case $cc_basename in 4384*9712c20fSFrederick Mayle diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) 4385*9712c20fSFrederick Mayle esac 4386*9712c20fSFrederick Mayle fi 4387*9712c20fSFrederick Mayle if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ 4388*9712c20fSFrederick Mayle && test "$tmp_diet" = no 4389*9712c20fSFrederick Mayle then 4390*9712c20fSFrederick Mayle tmp_addflag= 4391*9712c20fSFrederick Mayle tmp_sharedflag='-shared' 4392*9712c20fSFrederick Mayle case $cc_basename,$host_cpu in 4393*9712c20fSFrederick Mayle pgcc*) # Portland Group C compiler 4394*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 4395*9712c20fSFrederick Mayle tmp_addflag=' $pic_flag' 4396*9712c20fSFrederick Mayle ;; 4397*9712c20fSFrederick Mayle pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers 4398*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 4399*9712c20fSFrederick Mayle tmp_addflag=' $pic_flag -Mnomain' ;; 4400*9712c20fSFrederick Mayle ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 4401*9712c20fSFrederick Mayle tmp_addflag=' -i_dynamic' ;; 4402*9712c20fSFrederick Mayle efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 4403*9712c20fSFrederick Mayle tmp_addflag=' -i_dynamic -nofor_main' ;; 4404*9712c20fSFrederick Mayle ifc* | ifort*) # Intel Fortran compiler 4405*9712c20fSFrederick Mayle tmp_addflag=' -nofor_main' ;; 4406*9712c20fSFrederick Mayle lf95*) # Lahey Fortran 8.1 4407*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)= 4408*9712c20fSFrederick Mayle tmp_sharedflag='--shared' ;; 4409*9712c20fSFrederick Mayle xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) 4410*9712c20fSFrederick Mayle tmp_sharedflag='-qmkshrobj' 4411*9712c20fSFrederick Mayle tmp_addflag= ;; 4412*9712c20fSFrederick Mayle esac 4413*9712c20fSFrederick Mayle case `$CC -V 2>&1 | sed 5q` in 4414*9712c20fSFrederick Mayle *Sun\ C*) # Sun C 5.9 4415*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 4416*9712c20fSFrederick Mayle _LT_TAGVAR(compiler_needs_object, $1)=yes 4417*9712c20fSFrederick Mayle tmp_sharedflag='-G' ;; 4418*9712c20fSFrederick Mayle *Sun\ F*) # Sun Fortran 8.3 4419*9712c20fSFrederick Mayle tmp_sharedflag='-G' ;; 4420*9712c20fSFrederick Mayle esac 4421*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4422*9712c20fSFrederick Mayle 4423*9712c20fSFrederick Mayle if test "x$supports_anon_versioning" = xyes; then 4424*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 4425*9712c20fSFrederick Mayle cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 4426*9712c20fSFrederick Mayle echo "local: *; };" >> $output_objdir/$libname.ver~ 4427*9712c20fSFrederick Mayle $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 4428*9712c20fSFrederick Mayle fi 4429*9712c20fSFrederick Mayle 4430*9712c20fSFrederick Mayle case $cc_basename in 4431*9712c20fSFrederick Mayle xlf*) 4432*9712c20fSFrederick Mayle # IBM XL Fortran 10.1 on PPC cannot create shared libs itself 4433*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' 4434*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4435*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' 4436*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' 4437*9712c20fSFrederick Mayle if test "x$supports_anon_versioning" = xyes; then 4438*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 4439*9712c20fSFrederick Mayle cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 4440*9712c20fSFrederick Mayle echo "local: *; };" >> $output_objdir/$libname.ver~ 4441*9712c20fSFrederick Mayle $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' 4442*9712c20fSFrederick Mayle fi 4443*9712c20fSFrederick Mayle ;; 4444*9712c20fSFrederick Mayle esac 4445*9712c20fSFrederick Mayle else 4446*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4447*9712c20fSFrederick Mayle fi 4448*9712c20fSFrederick Mayle ;; 4449*9712c20fSFrederick Mayle 4450*9712c20fSFrederick Mayle netbsd* | netbsdelf*-gnu) 4451*9712c20fSFrederick Mayle if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 4452*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' 4453*9712c20fSFrederick Mayle wlarc= 4454*9712c20fSFrederick Mayle else 4455*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4456*9712c20fSFrederick Mayle _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' 4457*9712c20fSFrederick Mayle fi 4458*9712c20fSFrederick Mayle ;; 4459*9712c20fSFrederick Mayle 4460*9712c20fSFrederick Mayle solaris*) 4461*9712c20fSFrederick Mayle if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then 4462*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4463*9712c20fSFrederick Mayle cat <<_LT_EOF 1>&2 4464*9712c20fSFrederick Mayle 4465*9712c20fSFrederick Mayle*** Warning: The releases 2.8.* of the GNU linker cannot reliably 4466*9712c20fSFrederick Mayle*** create shared libraries on Solaris systems. Therefore, libtool 4467*9712c20fSFrederick Mayle*** is disabling shared libraries support. We urge you to upgrade GNU 4468*9712c20fSFrederick Mayle*** binutils to release 2.9.1 or newer. Another option is to modify 4469*9712c20fSFrederick Mayle*** your PATH or compiler configuration so that the native linker is 4470*9712c20fSFrederick Mayle*** used, and then restart. 4471*9712c20fSFrederick Mayle 4472*9712c20fSFrederick Mayle_LT_EOF 4473*9712c20fSFrederick Mayle elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4474*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4475*9712c20fSFrederick Mayle _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' 4476*9712c20fSFrederick Mayle else 4477*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4478*9712c20fSFrederick Mayle fi 4479*9712c20fSFrederick Mayle ;; 4480*9712c20fSFrederick Mayle 4481*9712c20fSFrederick Mayle sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) 4482*9712c20fSFrederick Mayle case `$LD -v 2>&1` in 4483*9712c20fSFrederick Mayle *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) 4484*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4485*9712c20fSFrederick Mayle cat <<_LT_EOF 1>&2 4486*9712c20fSFrederick Mayle 4487*9712c20fSFrederick Mayle*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not 4488*9712c20fSFrederick Mayle*** reliably create shared libraries on SCO systems. Therefore, libtool 4489*9712c20fSFrederick Mayle*** is disabling shared libraries support. We urge you to upgrade GNU 4490*9712c20fSFrederick Mayle*** binutils to release 2.16.91.0.3 or newer. Another option is to modify 4491*9712c20fSFrederick Mayle*** your PATH or compiler configuration so that the native linker is 4492*9712c20fSFrederick Mayle*** used, and then restart. 4493*9712c20fSFrederick Mayle 4494*9712c20fSFrederick Mayle_LT_EOF 4495*9712c20fSFrederick Mayle ;; 4496*9712c20fSFrederick Mayle *) 4497*9712c20fSFrederick Mayle # For security reasons, it is highly recommended that you always 4498*9712c20fSFrederick Mayle # use absolute paths for naming shared libraries, and exclude the 4499*9712c20fSFrederick Mayle # DT_RUNPATH tag from executables and libraries. But doing so 4500*9712c20fSFrederick Mayle # requires that you compile everything twice, which is a pain. 4501*9712c20fSFrederick Mayle if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4502*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4503*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4504*9712c20fSFrederick Mayle _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' 4505*9712c20fSFrederick Mayle else 4506*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4507*9712c20fSFrederick Mayle fi 4508*9712c20fSFrederick Mayle ;; 4509*9712c20fSFrederick Mayle esac 4510*9712c20fSFrederick Mayle ;; 4511*9712c20fSFrederick Mayle 4512*9712c20fSFrederick Mayle sunos4*) 4513*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4514*9712c20fSFrederick Mayle wlarc= 4515*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4516*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4517*9712c20fSFrederick Mayle ;; 4518*9712c20fSFrederick Mayle 4519*9712c20fSFrederick Mayle *) 4520*9712c20fSFrederick Mayle if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 4521*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4522*9712c20fSFrederick Mayle _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' 4523*9712c20fSFrederick Mayle else 4524*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4525*9712c20fSFrederick Mayle fi 4526*9712c20fSFrederick Mayle ;; 4527*9712c20fSFrederick Mayle esac 4528*9712c20fSFrederick Mayle 4529*9712c20fSFrederick Mayle if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then 4530*9712c20fSFrederick Mayle runpath_var= 4531*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 4532*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)= 4533*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)= 4534*9712c20fSFrederick Mayle fi 4535*9712c20fSFrederick Mayle else 4536*9712c20fSFrederick Mayle # PORTME fill in a description of your system's linker (not GNU ld) 4537*9712c20fSFrederick Mayle case $host_os in 4538*9712c20fSFrederick Mayle aix3*) 4539*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4540*9712c20fSFrederick Mayle _LT_TAGVAR(always_export_symbols, $1)=yes 4541*9712c20fSFrederick Mayle _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' 4542*9712c20fSFrederick Mayle # Note: this linker hardcodes the directories in LIBPATH if there 4543*9712c20fSFrederick Mayle # are no directories specified by -L. 4544*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4545*9712c20fSFrederick Mayle if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then 4546*9712c20fSFrederick Mayle # Neither direct hardcoding nor static linking is supported with a 4547*9712c20fSFrederick Mayle # broken collect2. 4548*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=unsupported 4549*9712c20fSFrederick Mayle fi 4550*9712c20fSFrederick Mayle ;; 4551*9712c20fSFrederick Mayle 4552*9712c20fSFrederick Mayle aix[[4-9]]*) 4553*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 4554*9712c20fSFrederick Mayle # On IA64, the linker does run time linking by default, so we don't 4555*9712c20fSFrederick Mayle # have to do anything special. 4556*9712c20fSFrederick Mayle aix_use_runtimelinking=no 4557*9712c20fSFrederick Mayle exp_sym_flag='-Bexport' 4558*9712c20fSFrederick Mayle no_entry_flag="" 4559*9712c20fSFrederick Mayle else 4560*9712c20fSFrederick Mayle # If we're using GNU nm, then we don't want the "-C" option. 4561*9712c20fSFrederick Mayle # -C means demangle to AIX nm, but means don't demangle with GNU nm 4562*9712c20fSFrederick Mayle if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then 4563*9712c20fSFrederick Mayle _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' 4564*9712c20fSFrederick Mayle else 4565*9712c20fSFrederick Mayle _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' 4566*9712c20fSFrederick Mayle fi 4567*9712c20fSFrederick Mayle aix_use_runtimelinking=no 4568*9712c20fSFrederick Mayle 4569*9712c20fSFrederick Mayle # Test if we are trying to use run time linking or normal 4570*9712c20fSFrederick Mayle # AIX style linking. If -brtl is somewhere in LDFLAGS, we 4571*9712c20fSFrederick Mayle # need to do runtime linking. 4572*9712c20fSFrederick Mayle case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 4573*9712c20fSFrederick Mayle for ld_flag in $LDFLAGS; do 4574*9712c20fSFrederick Mayle if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then 4575*9712c20fSFrederick Mayle aix_use_runtimelinking=yes 4576*9712c20fSFrederick Mayle break 4577*9712c20fSFrederick Mayle fi 4578*9712c20fSFrederick Mayle done 4579*9712c20fSFrederick Mayle ;; 4580*9712c20fSFrederick Mayle esac 4581*9712c20fSFrederick Mayle 4582*9712c20fSFrederick Mayle exp_sym_flag='-bexport' 4583*9712c20fSFrederick Mayle no_entry_flag='-bnoentry' 4584*9712c20fSFrederick Mayle fi 4585*9712c20fSFrederick Mayle 4586*9712c20fSFrederick Mayle # When large executables or shared objects are built, AIX ld can 4587*9712c20fSFrederick Mayle # have problems creating the table of contents. If linking a library 4588*9712c20fSFrederick Mayle # or program results in "error TOC overflow" add -mminimal-toc to 4589*9712c20fSFrederick Mayle # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 4590*9712c20fSFrederick Mayle # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 4591*9712c20fSFrederick Mayle 4592*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='' 4593*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4594*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 4595*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 4596*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 4597*9712c20fSFrederick Mayle _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 4598*9712c20fSFrederick Mayle 4599*9712c20fSFrederick Mayle if test "$GCC" = yes; then 4600*9712c20fSFrederick Mayle case $host_os in aix4.[[012]]|aix4.[[012]].*) 4601*9712c20fSFrederick Mayle # We only want to do this on AIX 4.2 and lower, the check 4602*9712c20fSFrederick Mayle # below for broken collect2 doesn't work under 4.3+ 4603*9712c20fSFrederick Mayle collect2name=`${CC} -print-prog-name=collect2` 4604*9712c20fSFrederick Mayle if test -f "$collect2name" && 4605*9712c20fSFrederick Mayle strings "$collect2name" | $GREP resolve_lib_name >/dev/null 4606*9712c20fSFrederick Mayle then 4607*9712c20fSFrederick Mayle # We have reworked collect2 4608*9712c20fSFrederick Mayle : 4609*9712c20fSFrederick Mayle else 4610*9712c20fSFrederick Mayle # We have old collect2 4611*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=unsupported 4612*9712c20fSFrederick Mayle # It fails to find uninstalled libraries when the uninstalled 4613*9712c20fSFrederick Mayle # path is not listed in the libpath. Setting hardcode_minus_L 4614*9712c20fSFrederick Mayle # to unsupported forces relinking 4615*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4616*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4617*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)= 4618*9712c20fSFrederick Mayle fi 4619*9712c20fSFrederick Mayle ;; 4620*9712c20fSFrederick Mayle esac 4621*9712c20fSFrederick Mayle shared_flag='-shared' 4622*9712c20fSFrederick Mayle if test "$aix_use_runtimelinking" = yes; then 4623*9712c20fSFrederick Mayle shared_flag="$shared_flag "'${wl}-G' 4624*9712c20fSFrederick Mayle fi 4625*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=no 4626*9712c20fSFrederick Mayle else 4627*9712c20fSFrederick Mayle # not using gcc 4628*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 4629*9712c20fSFrederick Mayle # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 4630*9712c20fSFrederick Mayle # chokes on -Wl,-G. The following line is correct: 4631*9712c20fSFrederick Mayle shared_flag='-G' 4632*9712c20fSFrederick Mayle else 4633*9712c20fSFrederick Mayle if test "$aix_use_runtimelinking" = yes; then 4634*9712c20fSFrederick Mayle shared_flag='${wl}-G' 4635*9712c20fSFrederick Mayle else 4636*9712c20fSFrederick Mayle shared_flag='${wl}-bM:SRE' 4637*9712c20fSFrederick Mayle fi 4638*9712c20fSFrederick Mayle fi 4639*9712c20fSFrederick Mayle fi 4640*9712c20fSFrederick Mayle 4641*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 4642*9712c20fSFrederick Mayle # It seems that -bexpall does not export symbols beginning with 4643*9712c20fSFrederick Mayle # underscore (_), so it is better to generate a list of symbols to export. 4644*9712c20fSFrederick Mayle _LT_TAGVAR(always_export_symbols, $1)=yes 4645*9712c20fSFrederick Mayle if test "$aix_use_runtimelinking" = yes; then 4646*9712c20fSFrederick Mayle # Warning - without using the other runtime loading flags (-brtl), 4647*9712c20fSFrederick Mayle # -berok will link without error, but may produce a broken library. 4648*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 4649*9712c20fSFrederick Mayle # Determine the default libpath from the value encoded in an 4650*9712c20fSFrederick Mayle # empty executable. 4651*9712c20fSFrederick Mayle _LT_SYS_MODULE_PATH_AIX 4652*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 4653*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 4654*9712c20fSFrederick Mayle else 4655*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 4656*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 4657*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 4658*9712c20fSFrederick Mayle _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" 4659*9712c20fSFrederick Mayle else 4660*9712c20fSFrederick Mayle # Determine the default libpath from the value encoded in an 4661*9712c20fSFrederick Mayle # empty executable. 4662*9712c20fSFrederick Mayle _LT_SYS_MODULE_PATH_AIX 4663*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 4664*9712c20fSFrederick Mayle # Warning - without using the other run time loading flags, 4665*9712c20fSFrederick Mayle # -berok will link without error, but may produce a broken library. 4666*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 4667*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 4668*9712c20fSFrederick Mayle # Exported symbols can be pulled into shared objects from archives 4669*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 4670*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 4671*9712c20fSFrederick Mayle # This is similar to how AIX traditionally builds its shared libraries. 4672*9712c20fSFrederick Mayle _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' 4673*9712c20fSFrederick Mayle fi 4674*9712c20fSFrederick Mayle fi 4675*9712c20fSFrederick Mayle ;; 4676*9712c20fSFrederick Mayle 4677*9712c20fSFrederick Mayle amigaos*) 4678*9712c20fSFrederick Mayle case $host_cpu in 4679*9712c20fSFrederick Mayle powerpc) 4680*9712c20fSFrederick Mayle # see comment about AmigaOS4 .so support 4681*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 4682*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='' 4683*9712c20fSFrederick Mayle ;; 4684*9712c20fSFrederick Mayle m68k) 4685*9712c20fSFrederick Mayle _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)' 4686*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4687*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4688*9712c20fSFrederick Mayle ;; 4689*9712c20fSFrederick Mayle esac 4690*9712c20fSFrederick Mayle ;; 4691*9712c20fSFrederick Mayle 4692*9712c20fSFrederick Mayle bsdi[[45]]*) 4693*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic 4694*9712c20fSFrederick Mayle ;; 4695*9712c20fSFrederick Mayle 4696*9712c20fSFrederick Mayle cygwin* | mingw* | pw32* | cegcc*) 4697*9712c20fSFrederick Mayle # When not using gcc, we currently assume that we are using 4698*9712c20fSFrederick Mayle # Microsoft Visual C++. 4699*9712c20fSFrederick Mayle # hardcode_libdir_flag_spec is actually meaningless, as there is 4700*9712c20fSFrederick Mayle # no search path for DLLs. 4701*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' 4702*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4703*9712c20fSFrederick Mayle # Tell ltmain to make .lib files, not .a files. 4704*9712c20fSFrederick Mayle libext=lib 4705*9712c20fSFrederick Mayle # Tell ltmain to make .dll files, not .so files. 4706*9712c20fSFrederick Mayle shrext_cmds=".dll" 4707*9712c20fSFrederick Mayle # FIXME: Setting linknames here is a bad hack. 4708*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' 4709*9712c20fSFrederick Mayle # The linker will automatically build a .lib file if we build a DLL. 4710*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' 4711*9712c20fSFrederick Mayle # FIXME: Should let the user specify the lib program. 4712*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' 4713*9712c20fSFrederick Mayle _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' 4714*9712c20fSFrederick Mayle _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 4715*9712c20fSFrederick Mayle ;; 4716*9712c20fSFrederick Mayle 4717*9712c20fSFrederick Mayle darwin* | rhapsody*) 4718*9712c20fSFrederick Mayle _LT_DARWIN_LINKER_FEATURES($1) 4719*9712c20fSFrederick Mayle ;; 4720*9712c20fSFrederick Mayle 4721*9712c20fSFrederick Mayle dgux*) 4722*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4723*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4724*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4725*9712c20fSFrederick Mayle ;; 4726*9712c20fSFrederick Mayle 4727*9712c20fSFrederick Mayle freebsd1*) 4728*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4729*9712c20fSFrederick Mayle ;; 4730*9712c20fSFrederick Mayle 4731*9712c20fSFrederick Mayle # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor 4732*9712c20fSFrederick Mayle # support. Future versions do this automatically, but an explicit c++rt0.o 4733*9712c20fSFrederick Mayle # does not break anything, and helps significantly (at the cost of a little 4734*9712c20fSFrederick Mayle # extra space). 4735*9712c20fSFrederick Mayle freebsd2.2*) 4736*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' 4737*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4738*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4739*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4740*9712c20fSFrederick Mayle ;; 4741*9712c20fSFrederick Mayle 4742*9712c20fSFrederick Mayle # Unfortunately, older versions of FreeBSD 2 do not have this feature. 4743*9712c20fSFrederick Mayle freebsd2*) 4744*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4745*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4746*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4747*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4748*9712c20fSFrederick Mayle ;; 4749*9712c20fSFrederick Mayle 4750*9712c20fSFrederick Mayle # FreeBSD 3 and greater uses gcc -shared to do shared libraries. 4751*9712c20fSFrederick Mayle freebsd* | dragonfly*) 4752*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' 4753*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4754*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4755*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4756*9712c20fSFrederick Mayle ;; 4757*9712c20fSFrederick Mayle 4758*9712c20fSFrederick Mayle hpux9*) 4759*9712c20fSFrederick Mayle if test "$GCC" = yes; then 4760*9712c20fSFrederick Mayle _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' 4761*9712c20fSFrederick Mayle else 4762*9712c20fSFrederick Mayle _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' 4763*9712c20fSFrederick Mayle fi 4764*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 4765*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4766*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4767*9712c20fSFrederick Mayle 4768*9712c20fSFrederick Mayle # hardcode_minus_L: Not really in the search PATH, 4769*9712c20fSFrederick Mayle # but as the default location of the library. 4770*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4771*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4772*9712c20fSFrederick Mayle ;; 4773*9712c20fSFrederick Mayle 4774*9712c20fSFrederick Mayle hpux10*) 4775*9712c20fSFrederick Mayle if test "$GCC" = yes -a "$with_gnu_ld" = no; then 4776*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 4777*9712c20fSFrederick Mayle else 4778*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' 4779*9712c20fSFrederick Mayle fi 4780*9712c20fSFrederick Mayle if test "$with_gnu_ld" = no; then 4781*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 4782*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' 4783*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4784*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4785*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 4786*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4787*9712c20fSFrederick Mayle # hardcode_minus_L: Not really in the search PATH, 4788*9712c20fSFrederick Mayle # but as the default location of the library. 4789*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4790*9712c20fSFrederick Mayle fi 4791*9712c20fSFrederick Mayle ;; 4792*9712c20fSFrederick Mayle 4793*9712c20fSFrederick Mayle hpux11*) 4794*9712c20fSFrederick Mayle if test "$GCC" = yes -a "$with_gnu_ld" = no; then 4795*9712c20fSFrederick Mayle case $host_cpu in 4796*9712c20fSFrederick Mayle hppa*64*) 4797*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 4798*9712c20fSFrederick Mayle ;; 4799*9712c20fSFrederick Mayle ia64*) 4800*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 4801*9712c20fSFrederick Mayle ;; 4802*9712c20fSFrederick Mayle *) 4803*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 4804*9712c20fSFrederick Mayle ;; 4805*9712c20fSFrederick Mayle esac 4806*9712c20fSFrederick Mayle else 4807*9712c20fSFrederick Mayle case $host_cpu in 4808*9712c20fSFrederick Mayle hppa*64*) 4809*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 4810*9712c20fSFrederick Mayle ;; 4811*9712c20fSFrederick Mayle ia64*) 4812*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' 4813*9712c20fSFrederick Mayle ;; 4814*9712c20fSFrederick Mayle *) 4815*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' 4816*9712c20fSFrederick Mayle ;; 4817*9712c20fSFrederick Mayle esac 4818*9712c20fSFrederick Mayle fi 4819*9712c20fSFrederick Mayle if test "$with_gnu_ld" = no; then 4820*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 4821*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4822*9712c20fSFrederick Mayle 4823*9712c20fSFrederick Mayle case $host_cpu in 4824*9712c20fSFrederick Mayle hppa*64*|ia64*) 4825*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=no 4826*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4827*9712c20fSFrederick Mayle ;; 4828*9712c20fSFrederick Mayle *) 4829*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4830*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 4831*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4832*9712c20fSFrederick Mayle 4833*9712c20fSFrederick Mayle # hardcode_minus_L: Not really in the search PATH, 4834*9712c20fSFrederick Mayle # but as the default location of the library. 4835*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4836*9712c20fSFrederick Mayle ;; 4837*9712c20fSFrederick Mayle esac 4838*9712c20fSFrederick Mayle fi 4839*9712c20fSFrederick Mayle ;; 4840*9712c20fSFrederick Mayle 4841*9712c20fSFrederick Mayle irix5* | irix6* | nonstopux*) 4842*9712c20fSFrederick Mayle if test "$GCC" = yes; then 4843*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 4844*9712c20fSFrederick Mayle # Try to use the -exported_symbol ld option, if it does not 4845*9712c20fSFrederick Mayle # work, assume that -exports_file does not work either and 4846*9712c20fSFrederick Mayle # implicitly export all symbols. 4847*9712c20fSFrederick Mayle save_LDFLAGS="$LDFLAGS" 4848*9712c20fSFrederick Mayle LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" 4849*9712c20fSFrederick Mayle AC_LINK_IFELSE(int foo(void) {}, 4850*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' 4851*9712c20fSFrederick Mayle ) 4852*9712c20fSFrederick Mayle LDFLAGS="$save_LDFLAGS" 4853*9712c20fSFrederick Mayle else 4854*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 4855*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' 4856*9712c20fSFrederick Mayle fi 4857*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 4858*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4859*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4860*9712c20fSFrederick Mayle _LT_TAGVAR(inherit_rpath, $1)=yes 4861*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 4862*9712c20fSFrederick Mayle ;; 4863*9712c20fSFrederick Mayle 4864*9712c20fSFrederick Mayle netbsd* | netbsdelf*-gnu) 4865*9712c20fSFrederick Mayle if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 4866*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out 4867*9712c20fSFrederick Mayle else 4868*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF 4869*9712c20fSFrederick Mayle fi 4870*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4871*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4872*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4873*9712c20fSFrederick Mayle ;; 4874*9712c20fSFrederick Mayle 4875*9712c20fSFrederick Mayle newsos6) 4876*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 4877*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4878*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4879*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4880*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4881*9712c20fSFrederick Mayle ;; 4882*9712c20fSFrederick Mayle 4883*9712c20fSFrederick Mayle *nto* | *qnx*) 4884*9712c20fSFrederick Mayle ;; 4885*9712c20fSFrederick Mayle 4886*9712c20fSFrederick Mayle openbsd*) 4887*9712c20fSFrederick Mayle if test -f /usr/libexec/ld.so; then 4888*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 4889*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4890*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 4891*9712c20fSFrederick Mayle if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 4892*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 4893*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' 4894*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4895*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 4896*9712c20fSFrederick Mayle else 4897*9712c20fSFrederick Mayle case $host_os in 4898*9712c20fSFrederick Mayle openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) 4899*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' 4900*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4901*9712c20fSFrederick Mayle ;; 4902*9712c20fSFrederick Mayle *) 4903*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' 4904*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 4905*9712c20fSFrederick Mayle ;; 4906*9712c20fSFrederick Mayle esac 4907*9712c20fSFrederick Mayle fi 4908*9712c20fSFrederick Mayle else 4909*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 4910*9712c20fSFrederick Mayle fi 4911*9712c20fSFrederick Mayle ;; 4912*9712c20fSFrederick Mayle 4913*9712c20fSFrederick Mayle os2*) 4914*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 4915*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 4916*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 4917*9712c20fSFrederick Mayle _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' 4918*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' 4919*9712c20fSFrederick Mayle ;; 4920*9712c20fSFrederick Mayle 4921*9712c20fSFrederick Mayle osf3*) 4922*9712c20fSFrederick Mayle if test "$GCC" = yes; then 4923*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 4924*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 4925*9712c20fSFrederick Mayle else 4926*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 4927*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 4928*9712c20fSFrederick Mayle fi 4929*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 4930*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4931*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4932*9712c20fSFrederick Mayle ;; 4933*9712c20fSFrederick Mayle 4934*9712c20fSFrederick Mayle osf4* | osf5*) # as osf3* with the addition of -msym flag 4935*9712c20fSFrederick Mayle if test "$GCC" = yes; then 4936*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 4937*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 4938*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 4939*9712c20fSFrederick Mayle else 4940*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 4941*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 4942*9712c20fSFrederick Mayle _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~ 4943*9712c20fSFrederick Mayle $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' 4944*9712c20fSFrederick Mayle 4945*9712c20fSFrederick Mayle # Both c and cxx compiler support -rpath directly 4946*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 4947*9712c20fSFrederick Mayle fi 4948*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)='no' 4949*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 4950*9712c20fSFrederick Mayle ;; 4951*9712c20fSFrederick Mayle 4952*9712c20fSFrederick Mayle solaris*) 4953*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' 4954*9712c20fSFrederick Mayle if test "$GCC" = yes; then 4955*9712c20fSFrederick Mayle wlarc='${wl}' 4956*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' 4957*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 4958*9712c20fSFrederick Mayle $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 4959*9712c20fSFrederick Mayle else 4960*9712c20fSFrederick Mayle case `$CC -V 2>&1` in 4961*9712c20fSFrederick Mayle *"Compilers 5.0"*) 4962*9712c20fSFrederick Mayle wlarc='' 4963*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' 4964*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 4965*9712c20fSFrederick Mayle $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' 4966*9712c20fSFrederick Mayle ;; 4967*9712c20fSFrederick Mayle *) 4968*9712c20fSFrederick Mayle wlarc='${wl}' 4969*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' 4970*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 4971*9712c20fSFrederick Mayle $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' 4972*9712c20fSFrederick Mayle ;; 4973*9712c20fSFrederick Mayle esac 4974*9712c20fSFrederick Mayle fi 4975*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 4976*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 4977*9712c20fSFrederick Mayle case $host_os in 4978*9712c20fSFrederick Mayle solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 4979*9712c20fSFrederick Mayle *) 4980*9712c20fSFrederick Mayle # The compiler driver will combine and reorder linker options, 4981*9712c20fSFrederick Mayle # but understands `-z linker_flag'. GCC discards it without `$wl', 4982*9712c20fSFrederick Mayle # but is careful enough not to reorder. 4983*9712c20fSFrederick Mayle # Supported since Solaris 2.6 (maybe 2.5.1?) 4984*9712c20fSFrederick Mayle if test "$GCC" = yes; then 4985*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 4986*9712c20fSFrederick Mayle else 4987*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 4988*9712c20fSFrederick Mayle fi 4989*9712c20fSFrederick Mayle ;; 4990*9712c20fSFrederick Mayle esac 4991*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 4992*9712c20fSFrederick Mayle ;; 4993*9712c20fSFrederick Mayle 4994*9712c20fSFrederick Mayle sunos4*) 4995*9712c20fSFrederick Mayle if test "x$host_vendor" = xsequent; then 4996*9712c20fSFrederick Mayle # Use $CC to link under sequent, because it throws in some extra .o 4997*9712c20fSFrederick Mayle # files that make .init and .fini sections work. 4998*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' 4999*9712c20fSFrederick Mayle else 5000*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' 5001*9712c20fSFrederick Mayle fi 5002*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5003*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 5004*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 5005*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5006*9712c20fSFrederick Mayle ;; 5007*9712c20fSFrederick Mayle 5008*9712c20fSFrederick Mayle sysv4) 5009*9712c20fSFrederick Mayle case $host_vendor in 5010*9712c20fSFrederick Mayle sni) 5011*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5012*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? 5013*9712c20fSFrederick Mayle ;; 5014*9712c20fSFrederick Mayle siemens) 5015*9712c20fSFrederick Mayle ## LD is ld it makes a PLAMLIB 5016*9712c20fSFrederick Mayle ## CC just makes a GrossModule. 5017*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' 5018*9712c20fSFrederick Mayle _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' 5019*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=no 5020*9712c20fSFrederick Mayle ;; 5021*9712c20fSFrederick Mayle motorola) 5022*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5023*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie 5024*9712c20fSFrederick Mayle ;; 5025*9712c20fSFrederick Mayle esac 5026*9712c20fSFrederick Mayle runpath_var='LD_RUN_PATH' 5027*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5028*9712c20fSFrederick Mayle ;; 5029*9712c20fSFrederick Mayle 5030*9712c20fSFrederick Mayle sysv4.3*) 5031*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5032*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5033*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' 5034*9712c20fSFrederick Mayle ;; 5035*9712c20fSFrederick Mayle 5036*9712c20fSFrederick Mayle sysv4*MP*) 5037*9712c20fSFrederick Mayle if test -d /usr/nec; then 5038*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5039*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5040*9712c20fSFrederick Mayle runpath_var=LD_RUN_PATH 5041*9712c20fSFrederick Mayle hardcode_runpath_var=yes 5042*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=yes 5043*9712c20fSFrederick Mayle fi 5044*9712c20fSFrederick Mayle ;; 5045*9712c20fSFrederick Mayle 5046*9712c20fSFrederick Mayle sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 5047*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 5048*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5049*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5050*9712c20fSFrederick Mayle runpath_var='LD_RUN_PATH' 5051*9712c20fSFrederick Mayle 5052*9712c20fSFrederick Mayle if test "$GCC" = yes; then 5053*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5054*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5055*9712c20fSFrederick Mayle else 5056*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5057*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5058*9712c20fSFrederick Mayle fi 5059*9712c20fSFrederick Mayle ;; 5060*9712c20fSFrederick Mayle 5061*9712c20fSFrederick Mayle sysv5* | sco3.2v5* | sco5v6*) 5062*9712c20fSFrederick Mayle # Note: We can NOT use -z defs as we might desire, because we do not 5063*9712c20fSFrederick Mayle # link with -lc, and that would cause any symbols used from libc to 5064*9712c20fSFrederick Mayle # always be unresolved, which means just about no library would 5065*9712c20fSFrederick Mayle # ever link correctly. If we're not using GNU ld we use -z text 5066*9712c20fSFrederick Mayle # though, which does catch some bad symbols but isn't as heavy-handed 5067*9712c20fSFrederick Mayle # as -z defs. 5068*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 5069*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 5070*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5071*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5072*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 5073*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 5074*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 5075*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 5076*9712c20fSFrederick Mayle runpath_var='LD_RUN_PATH' 5077*9712c20fSFrederick Mayle 5078*9712c20fSFrederick Mayle if test "$GCC" = yes; then 5079*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5080*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5081*9712c20fSFrederick Mayle else 5082*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5083*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 5084*9712c20fSFrederick Mayle fi 5085*9712c20fSFrederick Mayle ;; 5086*9712c20fSFrederick Mayle 5087*9712c20fSFrederick Mayle uts4*) 5088*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' 5089*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5090*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5091*9712c20fSFrederick Mayle ;; 5092*9712c20fSFrederick Mayle 5093*9712c20fSFrederick Mayle *) 5094*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5095*9712c20fSFrederick Mayle ;; 5096*9712c20fSFrederick Mayle esac 5097*9712c20fSFrederick Mayle 5098*9712c20fSFrederick Mayle if test x$host_vendor = xsni; then 5099*9712c20fSFrederick Mayle case $host in 5100*9712c20fSFrederick Mayle sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) 5101*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' 5102*9712c20fSFrederick Mayle ;; 5103*9712c20fSFrederick Mayle esac 5104*9712c20fSFrederick Mayle fi 5105*9712c20fSFrederick Mayle fi 5106*9712c20fSFrederick Mayle]) 5107*9712c20fSFrederick MayleAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 5108*9712c20fSFrederick Mayletest "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 5109*9712c20fSFrederick Mayle 5110*9712c20fSFrederick Mayle_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld 5111*9712c20fSFrederick Mayle 5112*9712c20fSFrederick Mayle_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl 5113*9712c20fSFrederick Mayle_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl 5114*9712c20fSFrederick Mayle_LT_DECL([], [extract_expsyms_cmds], [2], 5115*9712c20fSFrederick Mayle [The commands to extract the exported symbol list from a shared archive]) 5116*9712c20fSFrederick Mayle 5117*9712c20fSFrederick Mayle# 5118*9712c20fSFrederick Mayle# Do we need to explicitly link libc? 5119*9712c20fSFrederick Mayle# 5120*9712c20fSFrederick Maylecase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in 5121*9712c20fSFrederick Maylex|xyes) 5122*9712c20fSFrederick Mayle # Assume -lc should be added 5123*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5124*9712c20fSFrederick Mayle 5125*9712c20fSFrederick Mayle if test "$enable_shared" = yes && test "$GCC" = yes; then 5126*9712c20fSFrederick Mayle case $_LT_TAGVAR(archive_cmds, $1) in 5127*9712c20fSFrederick Mayle *'~'*) 5128*9712c20fSFrederick Mayle # FIXME: we may have to deal with multi-command sequences. 5129*9712c20fSFrederick Mayle ;; 5130*9712c20fSFrederick Mayle '$CC '*) 5131*9712c20fSFrederick Mayle # Test whether the compiler implicitly links with -lc since on some 5132*9712c20fSFrederick Mayle # systems, -lgcc has to come before -lc. If gcc already passes -lc 5133*9712c20fSFrederick Mayle # to ld, don't add -lc before -lgcc. 5134*9712c20fSFrederick Mayle AC_MSG_CHECKING([whether -lc should be explicitly linked in]) 5135*9712c20fSFrederick Mayle $RM conftest* 5136*9712c20fSFrederick Mayle echo "$lt_simple_compile_test_code" > conftest.$ac_ext 5137*9712c20fSFrederick Mayle 5138*9712c20fSFrederick Mayle if AC_TRY_EVAL(ac_compile) 2>conftest.err; then 5139*9712c20fSFrederick Mayle soname=conftest 5140*9712c20fSFrederick Mayle lib=conftest 5141*9712c20fSFrederick Mayle libobjs=conftest.$ac_objext 5142*9712c20fSFrederick Mayle deplibs= 5143*9712c20fSFrederick Mayle wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) 5144*9712c20fSFrederick Mayle pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) 5145*9712c20fSFrederick Mayle compiler_flags=-v 5146*9712c20fSFrederick Mayle linker_flags=-v 5147*9712c20fSFrederick Mayle verstring= 5148*9712c20fSFrederick Mayle output_objdir=. 5149*9712c20fSFrederick Mayle libname=conftest 5150*9712c20fSFrederick Mayle lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) 5151*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)= 5152*9712c20fSFrederick Mayle if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 5153*9712c20fSFrederick Mayle then 5154*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5155*9712c20fSFrederick Mayle else 5156*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5157*9712c20fSFrederick Mayle fi 5158*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag 5159*9712c20fSFrederick Mayle else 5160*9712c20fSFrederick Mayle cat conftest.err 1>&5 5161*9712c20fSFrederick Mayle fi 5162*9712c20fSFrederick Mayle $RM conftest* 5163*9712c20fSFrederick Mayle AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) 5164*9712c20fSFrederick Mayle ;; 5165*9712c20fSFrederick Mayle esac 5166*9712c20fSFrederick Mayle fi 5167*9712c20fSFrederick Mayle ;; 5168*9712c20fSFrederick Mayleesac 5169*9712c20fSFrederick Mayle 5170*9712c20fSFrederick Mayle_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], 5171*9712c20fSFrederick Mayle [Whether or not to add -lc for building shared libraries]) 5172*9712c20fSFrederick Mayle_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], 5173*9712c20fSFrederick Mayle [enable_shared_with_static_runtimes], [0], 5174*9712c20fSFrederick Mayle [Whether or not to disallow shared libs when runtime libs are static]) 5175*9712c20fSFrederick Mayle_LT_TAGDECL([], [export_dynamic_flag_spec], [1], 5176*9712c20fSFrederick Mayle [Compiler flag to allow reflexive dlopens]) 5177*9712c20fSFrederick Mayle_LT_TAGDECL([], [whole_archive_flag_spec], [1], 5178*9712c20fSFrederick Mayle [Compiler flag to generate shared objects directly from archives]) 5179*9712c20fSFrederick Mayle_LT_TAGDECL([], [compiler_needs_object], [1], 5180*9712c20fSFrederick Mayle [Whether the compiler copes with passing no objects directly]) 5181*9712c20fSFrederick Mayle_LT_TAGDECL([], [old_archive_from_new_cmds], [2], 5182*9712c20fSFrederick Mayle [Create an old-style archive from a shared archive]) 5183*9712c20fSFrederick Mayle_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], 5184*9712c20fSFrederick Mayle [Create a temporary old-style archive to link instead of a shared archive]) 5185*9712c20fSFrederick Mayle_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) 5186*9712c20fSFrederick Mayle_LT_TAGDECL([], [archive_expsym_cmds], [2]) 5187*9712c20fSFrederick Mayle_LT_TAGDECL([], [module_cmds], [2], 5188*9712c20fSFrederick Mayle [Commands used to build a loadable module if different from building 5189*9712c20fSFrederick Mayle a shared archive.]) 5190*9712c20fSFrederick Mayle_LT_TAGDECL([], [module_expsym_cmds], [2]) 5191*9712c20fSFrederick Mayle_LT_TAGDECL([], [with_gnu_ld], [1], 5192*9712c20fSFrederick Mayle [Whether we are building with GNU ld or not]) 5193*9712c20fSFrederick Mayle_LT_TAGDECL([], [allow_undefined_flag], [1], 5194*9712c20fSFrederick Mayle [Flag that allows shared libraries with undefined symbols to be built]) 5195*9712c20fSFrederick Mayle_LT_TAGDECL([], [no_undefined_flag], [1], 5196*9712c20fSFrederick Mayle [Flag that enforces no undefined symbols]) 5197*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], 5198*9712c20fSFrederick Mayle [Flag to hardcode $libdir into a binary during linking. 5199*9712c20fSFrederick Mayle This must work even if $libdir does not exist]) 5200*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], 5201*9712c20fSFrederick Mayle [[If ld is used when linking, flag to hardcode $libdir into a binary 5202*9712c20fSFrederick Mayle during linking. This must work even if $libdir does not exist]]) 5203*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_libdir_separator], [1], 5204*9712c20fSFrederick Mayle [Whether we need a single "-rpath" flag with a separated argument]) 5205*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_direct], [0], 5206*9712c20fSFrederick Mayle [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 5207*9712c20fSFrederick Mayle DIR into the resulting binary]) 5208*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_direct_absolute], [0], 5209*9712c20fSFrederick Mayle [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes 5210*9712c20fSFrederick Mayle DIR into the resulting binary and the resulting library dependency is 5211*9712c20fSFrederick Mayle "absolute", i.e impossible to change by setting ${shlibpath_var} if the 5212*9712c20fSFrederick Mayle library is relocated]) 5213*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_minus_L], [0], 5214*9712c20fSFrederick Mayle [Set to "yes" if using the -LDIR flag during linking hardcodes DIR 5215*9712c20fSFrederick Mayle into the resulting binary]) 5216*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_shlibpath_var], [0], 5217*9712c20fSFrederick Mayle [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR 5218*9712c20fSFrederick Mayle into the resulting binary]) 5219*9712c20fSFrederick Mayle_LT_TAGDECL([], [hardcode_automatic], [0], 5220*9712c20fSFrederick Mayle [Set to "yes" if building a shared library automatically hardcodes DIR 5221*9712c20fSFrederick Mayle into the library and all subsequent libraries and executables linked 5222*9712c20fSFrederick Mayle against it]) 5223*9712c20fSFrederick Mayle_LT_TAGDECL([], [inherit_rpath], [0], 5224*9712c20fSFrederick Mayle [Set to yes if linker adds runtime paths of dependent libraries 5225*9712c20fSFrederick Mayle to runtime path list]) 5226*9712c20fSFrederick Mayle_LT_TAGDECL([], [link_all_deplibs], [0], 5227*9712c20fSFrederick Mayle [Whether libtool must link a program against all its dependency libraries]) 5228*9712c20fSFrederick Mayle_LT_TAGDECL([], [fix_srcfile_path], [1], 5229*9712c20fSFrederick Mayle [Fix the shell variable $srcfile for the compiler]) 5230*9712c20fSFrederick Mayle_LT_TAGDECL([], [always_export_symbols], [0], 5231*9712c20fSFrederick Mayle [Set to "yes" if exported symbols are required]) 5232*9712c20fSFrederick Mayle_LT_TAGDECL([], [export_symbols_cmds], [2], 5233*9712c20fSFrederick Mayle [The commands to list exported symbols]) 5234*9712c20fSFrederick Mayle_LT_TAGDECL([], [exclude_expsyms], [1], 5235*9712c20fSFrederick Mayle [Symbols that should not be listed in the preloaded symbols]) 5236*9712c20fSFrederick Mayle_LT_TAGDECL([], [include_expsyms], [1], 5237*9712c20fSFrederick Mayle [Symbols that must always be exported]) 5238*9712c20fSFrederick Mayle_LT_TAGDECL([], [prelink_cmds], [2], 5239*9712c20fSFrederick Mayle [Commands necessary for linking programs (against libraries) with templates]) 5240*9712c20fSFrederick Mayle_LT_TAGDECL([], [file_list_spec], [1], 5241*9712c20fSFrederick Mayle [Specify filename containing input files]) 5242*9712c20fSFrederick Maylednl FIXME: Not yet implemented 5243*9712c20fSFrederick Maylednl _LT_TAGDECL([], [thread_safe_flag_spec], [1], 5244*9712c20fSFrederick Maylednl [Compiler flag to generate thread safe objects]) 5245*9712c20fSFrederick Mayle])# _LT_LINKER_SHLIBS 5246*9712c20fSFrederick Mayle 5247*9712c20fSFrederick Mayle 5248*9712c20fSFrederick Mayle# _LT_LANG_C_CONFIG([TAG]) 5249*9712c20fSFrederick Mayle# ------------------------ 5250*9712c20fSFrederick Mayle# Ensure that the configuration variables for a C compiler are suitably 5251*9712c20fSFrederick Mayle# defined. These variables are subsequently used by _LT_CONFIG to write 5252*9712c20fSFrederick Mayle# the compiler configuration to `libtool'. 5253*9712c20fSFrederick Maylem4_defun([_LT_LANG_C_CONFIG], 5254*9712c20fSFrederick Mayle[m4_require([_LT_DECL_EGREP])dnl 5255*9712c20fSFrederick Maylelt_save_CC="$CC" 5256*9712c20fSFrederick MayleAC_LANG_PUSH(C) 5257*9712c20fSFrederick Mayle 5258*9712c20fSFrederick Mayle# Source file extension for C test sources. 5259*9712c20fSFrederick Mayleac_ext=c 5260*9712c20fSFrederick Mayle 5261*9712c20fSFrederick Mayle# Object file extension for compiled C test sources. 5262*9712c20fSFrederick Mayleobjext=o 5263*9712c20fSFrederick Mayle_LT_TAGVAR(objext, $1)=$objext 5264*9712c20fSFrederick Mayle 5265*9712c20fSFrederick Mayle# Code to be used in simple compile tests 5266*9712c20fSFrederick Maylelt_simple_compile_test_code="int some_variable = 0;" 5267*9712c20fSFrederick Mayle 5268*9712c20fSFrederick Mayle# Code to be used in simple link tests 5269*9712c20fSFrederick Maylelt_simple_link_test_code='int main(){return(0);}' 5270*9712c20fSFrederick Mayle 5271*9712c20fSFrederick Mayle_LT_TAG_COMPILER 5272*9712c20fSFrederick Mayle# Save the default compiler, since it gets overwritten when the other 5273*9712c20fSFrederick Mayle# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. 5274*9712c20fSFrederick Maylecompiler_DEFAULT=$CC 5275*9712c20fSFrederick Mayle 5276*9712c20fSFrederick Mayle# save warnings/boilerplate of simple test code 5277*9712c20fSFrederick Mayle_LT_COMPILER_BOILERPLATE 5278*9712c20fSFrederick Mayle_LT_LINKER_BOILERPLATE 5279*9712c20fSFrederick Mayle 5280*9712c20fSFrederick Mayle## CAVEAT EMPTOR: 5281*9712c20fSFrederick Mayle## There is no encapsulation within the following macros, do not change 5282*9712c20fSFrederick Mayle## the running order or otherwise move them around unless you know exactly 5283*9712c20fSFrederick Mayle## what you are doing... 5284*9712c20fSFrederick Mayleif test -n "$compiler"; then 5285*9712c20fSFrederick Mayle _LT_COMPILER_NO_RTTI($1) 5286*9712c20fSFrederick Mayle _LT_COMPILER_PIC($1) 5287*9712c20fSFrederick Mayle _LT_COMPILER_C_O($1) 5288*9712c20fSFrederick Mayle _LT_COMPILER_FILE_LOCKS($1) 5289*9712c20fSFrederick Mayle _LT_LINKER_SHLIBS($1) 5290*9712c20fSFrederick Mayle _LT_SYS_DYNAMIC_LINKER($1) 5291*9712c20fSFrederick Mayle _LT_LINKER_HARDCODE_LIBPATH($1) 5292*9712c20fSFrederick Mayle LT_SYS_DLOPEN_SELF 5293*9712c20fSFrederick Mayle _LT_CMD_STRIPLIB 5294*9712c20fSFrederick Mayle 5295*9712c20fSFrederick Mayle # Report which library types will actually be built 5296*9712c20fSFrederick Mayle AC_MSG_CHECKING([if libtool supports shared libraries]) 5297*9712c20fSFrederick Mayle AC_MSG_RESULT([$can_build_shared]) 5298*9712c20fSFrederick Mayle 5299*9712c20fSFrederick Mayle AC_MSG_CHECKING([whether to build shared libraries]) 5300*9712c20fSFrederick Mayle test "$can_build_shared" = "no" && enable_shared=no 5301*9712c20fSFrederick Mayle 5302*9712c20fSFrederick Mayle # On AIX, shared libraries and static libraries use the same namespace, and 5303*9712c20fSFrederick Mayle # are all built from PIC. 5304*9712c20fSFrederick Mayle case $host_os in 5305*9712c20fSFrederick Mayle aix3*) 5306*9712c20fSFrederick Mayle test "$enable_shared" = yes && enable_static=no 5307*9712c20fSFrederick Mayle if test -n "$RANLIB"; then 5308*9712c20fSFrederick Mayle archive_cmds="$archive_cmds~\$RANLIB \$lib" 5309*9712c20fSFrederick Mayle postinstall_cmds='$RANLIB $lib' 5310*9712c20fSFrederick Mayle fi 5311*9712c20fSFrederick Mayle ;; 5312*9712c20fSFrederick Mayle 5313*9712c20fSFrederick Mayle aix[[4-9]]*) 5314*9712c20fSFrederick Mayle if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 5315*9712c20fSFrederick Mayle test "$enable_shared" = yes && enable_static=no 5316*9712c20fSFrederick Mayle fi 5317*9712c20fSFrederick Mayle ;; 5318*9712c20fSFrederick Mayle esac 5319*9712c20fSFrederick Mayle AC_MSG_RESULT([$enable_shared]) 5320*9712c20fSFrederick Mayle 5321*9712c20fSFrederick Mayle AC_MSG_CHECKING([whether to build static libraries]) 5322*9712c20fSFrederick Mayle # Make sure either enable_shared or enable_static is yes. 5323*9712c20fSFrederick Mayle test "$enable_shared" = yes || enable_static=yes 5324*9712c20fSFrederick Mayle AC_MSG_RESULT([$enable_static]) 5325*9712c20fSFrederick Mayle 5326*9712c20fSFrederick Mayle _LT_CONFIG($1) 5327*9712c20fSFrederick Maylefi 5328*9712c20fSFrederick MayleAC_LANG_POP 5329*9712c20fSFrederick MayleCC="$lt_save_CC" 5330*9712c20fSFrederick Mayle])# _LT_LANG_C_CONFIG 5331*9712c20fSFrederick Mayle 5332*9712c20fSFrederick Mayle 5333*9712c20fSFrederick Mayle# _LT_PROG_CXX 5334*9712c20fSFrederick Mayle# ------------ 5335*9712c20fSFrederick Mayle# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ 5336*9712c20fSFrederick Mayle# compiler, we have our own version here. 5337*9712c20fSFrederick Maylem4_defun([_LT_PROG_CXX], 5338*9712c20fSFrederick Mayle[ 5339*9712c20fSFrederick Maylepushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) 5340*9712c20fSFrederick MayleAC_PROG_CXX 5341*9712c20fSFrederick Mayleif test -n "$CXX" && ( test "X$CXX" != "Xno" && 5342*9712c20fSFrederick Mayle ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || 5343*9712c20fSFrederick Mayle (test "X$CXX" != "Xg++"))) ; then 5344*9712c20fSFrederick Mayle AC_PROG_CXXCPP 5345*9712c20fSFrederick Mayleelse 5346*9712c20fSFrederick Mayle _lt_caught_CXX_error=yes 5347*9712c20fSFrederick Maylefi 5348*9712c20fSFrederick Maylepopdef([AC_MSG_ERROR]) 5349*9712c20fSFrederick Mayle])# _LT_PROG_CXX 5350*9712c20fSFrederick Mayle 5351*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 5352*9712c20fSFrederick Maylednl AC_DEFUN([_LT_PROG_CXX], []) 5353*9712c20fSFrederick Mayle 5354*9712c20fSFrederick Mayle 5355*9712c20fSFrederick Mayle# _LT_LANG_CXX_CONFIG([TAG]) 5356*9712c20fSFrederick Mayle# -------------------------- 5357*9712c20fSFrederick Mayle# Ensure that the configuration variables for a C++ compiler are suitably 5358*9712c20fSFrederick Mayle# defined. These variables are subsequently used by _LT_CONFIG to write 5359*9712c20fSFrederick Mayle# the compiler configuration to `libtool'. 5360*9712c20fSFrederick Maylem4_defun([_LT_LANG_CXX_CONFIG], 5361*9712c20fSFrederick Mayle[AC_REQUIRE([_LT_PROG_CXX])dnl 5362*9712c20fSFrederick Maylem4_require([_LT_FILEUTILS_DEFAULTS])dnl 5363*9712c20fSFrederick Maylem4_require([_LT_DECL_EGREP])dnl 5364*9712c20fSFrederick Mayle 5365*9712c20fSFrederick MayleAC_LANG_PUSH(C++) 5366*9712c20fSFrederick Mayle_LT_TAGVAR(archive_cmds_need_lc, $1)=no 5367*9712c20fSFrederick Mayle_LT_TAGVAR(allow_undefined_flag, $1)= 5368*9712c20fSFrederick Mayle_LT_TAGVAR(always_export_symbols, $1)=no 5369*9712c20fSFrederick Mayle_LT_TAGVAR(archive_expsym_cmds, $1)= 5370*9712c20fSFrederick Mayle_LT_TAGVAR(compiler_needs_object, $1)=no 5371*9712c20fSFrederick Mayle_LT_TAGVAR(export_dynamic_flag_spec, $1)= 5372*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_direct, $1)=no 5373*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_direct_absolute, $1)=no 5374*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 5375*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 5376*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_separator, $1)= 5377*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_minus_L, $1)=no 5378*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported 5379*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_automatic, $1)=no 5380*9712c20fSFrederick Mayle_LT_TAGVAR(inherit_rpath, $1)=no 5381*9712c20fSFrederick Mayle_LT_TAGVAR(module_cmds, $1)= 5382*9712c20fSFrederick Mayle_LT_TAGVAR(module_expsym_cmds, $1)= 5383*9712c20fSFrederick Mayle_LT_TAGVAR(link_all_deplibs, $1)=unknown 5384*9712c20fSFrederick Mayle_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 5385*9712c20fSFrederick Mayle_LT_TAGVAR(no_undefined_flag, $1)= 5386*9712c20fSFrederick Mayle_LT_TAGVAR(whole_archive_flag_spec, $1)= 5387*9712c20fSFrederick Mayle_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 5388*9712c20fSFrederick Mayle 5389*9712c20fSFrederick Mayle# Source file extension for C++ test sources. 5390*9712c20fSFrederick Mayleac_ext=cpp 5391*9712c20fSFrederick Mayle 5392*9712c20fSFrederick Mayle# Object file extension for compiled C++ test sources. 5393*9712c20fSFrederick Mayleobjext=o 5394*9712c20fSFrederick Mayle_LT_TAGVAR(objext, $1)=$objext 5395*9712c20fSFrederick Mayle 5396*9712c20fSFrederick Mayle# No sense in running all these tests if we already determined that 5397*9712c20fSFrederick Mayle# the CXX compiler isn't working. Some variables (like enable_shared) 5398*9712c20fSFrederick Mayle# are currently assumed to apply to all compilers on this platform, 5399*9712c20fSFrederick Mayle# and will be corrupted by setting them based on a non-working compiler. 5400*9712c20fSFrederick Mayleif test "$_lt_caught_CXX_error" != yes; then 5401*9712c20fSFrederick Mayle # Code to be used in simple compile tests 5402*9712c20fSFrederick Mayle lt_simple_compile_test_code="int some_variable = 0;" 5403*9712c20fSFrederick Mayle 5404*9712c20fSFrederick Mayle # Code to be used in simple link tests 5405*9712c20fSFrederick Mayle lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' 5406*9712c20fSFrederick Mayle 5407*9712c20fSFrederick Mayle # ltmain only uses $CC for tagged configurations so make sure $CC is set. 5408*9712c20fSFrederick Mayle _LT_TAG_COMPILER 5409*9712c20fSFrederick Mayle 5410*9712c20fSFrederick Mayle # save warnings/boilerplate of simple test code 5411*9712c20fSFrederick Mayle _LT_COMPILER_BOILERPLATE 5412*9712c20fSFrederick Mayle _LT_LINKER_BOILERPLATE 5413*9712c20fSFrederick Mayle 5414*9712c20fSFrederick Mayle # Allow CC to be a program name with arguments. 5415*9712c20fSFrederick Mayle lt_save_CC=$CC 5416*9712c20fSFrederick Mayle lt_save_LD=$LD 5417*9712c20fSFrederick Mayle lt_save_GCC=$GCC 5418*9712c20fSFrederick Mayle GCC=$GXX 5419*9712c20fSFrederick Mayle lt_save_with_gnu_ld=$with_gnu_ld 5420*9712c20fSFrederick Mayle lt_save_path_LD=$lt_cv_path_LD 5421*9712c20fSFrederick Mayle if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then 5422*9712c20fSFrederick Mayle lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx 5423*9712c20fSFrederick Mayle else 5424*9712c20fSFrederick Mayle $as_unset lt_cv_prog_gnu_ld 5425*9712c20fSFrederick Mayle fi 5426*9712c20fSFrederick Mayle if test -n "${lt_cv_path_LDCXX+set}"; then 5427*9712c20fSFrederick Mayle lt_cv_path_LD=$lt_cv_path_LDCXX 5428*9712c20fSFrederick Mayle else 5429*9712c20fSFrederick Mayle $as_unset lt_cv_path_LD 5430*9712c20fSFrederick Mayle fi 5431*9712c20fSFrederick Mayle test -z "${LDCXX+set}" || LD=$LDCXX 5432*9712c20fSFrederick Mayle CC=${CXX-"c++"} 5433*9712c20fSFrederick Mayle compiler=$CC 5434*9712c20fSFrederick Mayle _LT_TAGVAR(compiler, $1)=$CC 5435*9712c20fSFrederick Mayle _LT_CC_BASENAME([$compiler]) 5436*9712c20fSFrederick Mayle 5437*9712c20fSFrederick Mayle if test -n "$compiler"; then 5438*9712c20fSFrederick Mayle # We don't want -fno-exception when compiling C++ code, so set the 5439*9712c20fSFrederick Mayle # no_builtin_flag separately 5440*9712c20fSFrederick Mayle if test "$GXX" = yes; then 5441*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' 5442*9712c20fSFrederick Mayle else 5443*9712c20fSFrederick Mayle _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= 5444*9712c20fSFrederick Mayle fi 5445*9712c20fSFrederick Mayle 5446*9712c20fSFrederick Mayle if test "$GXX" = yes; then 5447*9712c20fSFrederick Mayle # Set up default GNU C++ configuration 5448*9712c20fSFrederick Mayle 5449*9712c20fSFrederick Mayle LT_PATH_LD 5450*9712c20fSFrederick Mayle 5451*9712c20fSFrederick Mayle # Check if GNU C++ uses GNU ld as the underlying linker, since the 5452*9712c20fSFrederick Mayle # archiving commands below assume that GNU ld is being used. 5453*9712c20fSFrederick Mayle if test "$with_gnu_ld" = yes; then 5454*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 5455*9712c20fSFrederick Mayle _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' 5456*9712c20fSFrederick Mayle 5457*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5458*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5459*9712c20fSFrederick Mayle 5460*9712c20fSFrederick Mayle # If archive_cmds runs LD, not CC, wlarc should be empty 5461*9712c20fSFrederick Mayle # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to 5462*9712c20fSFrederick Mayle # investigate it a little bit more. (MM) 5463*9712c20fSFrederick Mayle wlarc='${wl}' 5464*9712c20fSFrederick Mayle 5465*9712c20fSFrederick Mayle # ancient GNU ld didn't support --whole-archive et. al. 5466*9712c20fSFrederick Mayle if eval "`$CC -print-prog-name=ld` --help 2>&1" | 5467*9712c20fSFrederick Mayle $GREP 'no-whole-archive' > /dev/null; then 5468*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 5469*9712c20fSFrederick Mayle else 5470*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)= 5471*9712c20fSFrederick Mayle fi 5472*9712c20fSFrederick Mayle else 5473*9712c20fSFrederick Mayle with_gnu_ld=no 5474*9712c20fSFrederick Mayle wlarc= 5475*9712c20fSFrederick Mayle 5476*9712c20fSFrederick Mayle # A generic and very simple default shared library creation 5477*9712c20fSFrederick Mayle # command for GNU C++ for the case where it uses the native 5478*9712c20fSFrederick Mayle # linker, instead of GNU ld. If possible, this setting should 5479*9712c20fSFrederick Mayle # overridden to take advantage of the native linker features on 5480*9712c20fSFrederick Mayle # the platform it is being used on. 5481*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 5482*9712c20fSFrederick Mayle fi 5483*9712c20fSFrederick Mayle 5484*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 5485*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 5486*9712c20fSFrederick Mayle # linking a shared library. 5487*9712c20fSFrederick Mayle output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 5488*9712c20fSFrederick Mayle 5489*9712c20fSFrederick Mayle else 5490*9712c20fSFrederick Mayle GXX=no 5491*9712c20fSFrederick Mayle with_gnu_ld=no 5492*9712c20fSFrederick Mayle wlarc= 5493*9712c20fSFrederick Mayle fi 5494*9712c20fSFrederick Mayle 5495*9712c20fSFrederick Mayle # PORTME: fill in a description of your system's C++ link characteristics 5496*9712c20fSFrederick Mayle AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) 5497*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=yes 5498*9712c20fSFrederick Mayle case $host_os in 5499*9712c20fSFrederick Mayle aix3*) 5500*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5501*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5502*9712c20fSFrederick Mayle ;; 5503*9712c20fSFrederick Mayle aix[[4-9]]*) 5504*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 5505*9712c20fSFrederick Mayle # On IA64, the linker does run time linking by default, so we don't 5506*9712c20fSFrederick Mayle # have to do anything special. 5507*9712c20fSFrederick Mayle aix_use_runtimelinking=no 5508*9712c20fSFrederick Mayle exp_sym_flag='-Bexport' 5509*9712c20fSFrederick Mayle no_entry_flag="" 5510*9712c20fSFrederick Mayle else 5511*9712c20fSFrederick Mayle aix_use_runtimelinking=no 5512*9712c20fSFrederick Mayle 5513*9712c20fSFrederick Mayle # Test if we are trying to use run time linking or normal 5514*9712c20fSFrederick Mayle # AIX style linking. If -brtl is somewhere in LDFLAGS, we 5515*9712c20fSFrederick Mayle # need to do runtime linking. 5516*9712c20fSFrederick Mayle case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) 5517*9712c20fSFrederick Mayle for ld_flag in $LDFLAGS; do 5518*9712c20fSFrederick Mayle case $ld_flag in 5519*9712c20fSFrederick Mayle *-brtl*) 5520*9712c20fSFrederick Mayle aix_use_runtimelinking=yes 5521*9712c20fSFrederick Mayle break 5522*9712c20fSFrederick Mayle ;; 5523*9712c20fSFrederick Mayle esac 5524*9712c20fSFrederick Mayle done 5525*9712c20fSFrederick Mayle ;; 5526*9712c20fSFrederick Mayle esac 5527*9712c20fSFrederick Mayle 5528*9712c20fSFrederick Mayle exp_sym_flag='-bexport' 5529*9712c20fSFrederick Mayle no_entry_flag='-bnoentry' 5530*9712c20fSFrederick Mayle fi 5531*9712c20fSFrederick Mayle 5532*9712c20fSFrederick Mayle # When large executables or shared objects are built, AIX ld can 5533*9712c20fSFrederick Mayle # have problems creating the table of contents. If linking a library 5534*9712c20fSFrederick Mayle # or program results in "error TOC overflow" add -mminimal-toc to 5535*9712c20fSFrederick Mayle # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not 5536*9712c20fSFrederick Mayle # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. 5537*9712c20fSFrederick Mayle 5538*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='' 5539*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 5540*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5541*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 5542*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 5543*9712c20fSFrederick Mayle _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' 5544*9712c20fSFrederick Mayle 5545*9712c20fSFrederick Mayle if test "$GXX" = yes; then 5546*9712c20fSFrederick Mayle case $host_os in aix4.[[012]]|aix4.[[012]].*) 5547*9712c20fSFrederick Mayle # We only want to do this on AIX 4.2 and lower, the check 5548*9712c20fSFrederick Mayle # below for broken collect2 doesn't work under 4.3+ 5549*9712c20fSFrederick Mayle collect2name=`${CC} -print-prog-name=collect2` 5550*9712c20fSFrederick Mayle if test -f "$collect2name" && 5551*9712c20fSFrederick Mayle strings "$collect2name" | $GREP resolve_lib_name >/dev/null 5552*9712c20fSFrederick Mayle then 5553*9712c20fSFrederick Mayle # We have reworked collect2 5554*9712c20fSFrederick Mayle : 5555*9712c20fSFrederick Mayle else 5556*9712c20fSFrederick Mayle # We have old collect2 5557*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=unsupported 5558*9712c20fSFrederick Mayle # It fails to find uninstalled libraries when the uninstalled 5559*9712c20fSFrederick Mayle # path is not listed in the libpath. Setting hardcode_minus_L 5560*9712c20fSFrederick Mayle # to unsupported forces relinking 5561*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes 5562*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5563*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)= 5564*9712c20fSFrederick Mayle fi 5565*9712c20fSFrederick Mayle esac 5566*9712c20fSFrederick Mayle shared_flag='-shared' 5567*9712c20fSFrederick Mayle if test "$aix_use_runtimelinking" = yes; then 5568*9712c20fSFrederick Mayle shared_flag="$shared_flag "'${wl}-G' 5569*9712c20fSFrederick Mayle fi 5570*9712c20fSFrederick Mayle else 5571*9712c20fSFrederick Mayle # not using gcc 5572*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 5573*9712c20fSFrederick Mayle # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release 5574*9712c20fSFrederick Mayle # chokes on -Wl,-G. The following line is correct: 5575*9712c20fSFrederick Mayle shared_flag='-G' 5576*9712c20fSFrederick Mayle else 5577*9712c20fSFrederick Mayle if test "$aix_use_runtimelinking" = yes; then 5578*9712c20fSFrederick Mayle shared_flag='${wl}-G' 5579*9712c20fSFrederick Mayle else 5580*9712c20fSFrederick Mayle shared_flag='${wl}-bM:SRE' 5581*9712c20fSFrederick Mayle fi 5582*9712c20fSFrederick Mayle fi 5583*9712c20fSFrederick Mayle fi 5584*9712c20fSFrederick Mayle 5585*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' 5586*9712c20fSFrederick Mayle # It seems that -bexpall does not export symbols beginning with 5587*9712c20fSFrederick Mayle # underscore (_), so it is better to generate a list of symbols to 5588*9712c20fSFrederick Mayle # export. 5589*9712c20fSFrederick Mayle _LT_TAGVAR(always_export_symbols, $1)=yes 5590*9712c20fSFrederick Mayle if test "$aix_use_runtimelinking" = yes; then 5591*9712c20fSFrederick Mayle # Warning - without using the other runtime loading flags (-brtl), 5592*9712c20fSFrederick Mayle # -berok will link without error, but may produce a broken library. 5593*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)='-berok' 5594*9712c20fSFrederick Mayle # Determine the default libpath from the value encoded in an empty 5595*9712c20fSFrederick Mayle # executable. 5596*9712c20fSFrederick Mayle _LT_SYS_MODULE_PATH_AIX 5597*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 5598*9712c20fSFrederick Mayle 5599*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" 5600*9712c20fSFrederick Mayle else 5601*9712c20fSFrederick Mayle if test "$host_cpu" = ia64; then 5602*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' 5603*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" 5604*9712c20fSFrederick Mayle _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" 5605*9712c20fSFrederick Mayle else 5606*9712c20fSFrederick Mayle # Determine the default libpath from the value encoded in an 5607*9712c20fSFrederick Mayle # empty executable. 5608*9712c20fSFrederick Mayle _LT_SYS_MODULE_PATH_AIX 5609*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" 5610*9712c20fSFrederick Mayle # Warning - without using the other run time loading flags, 5611*9712c20fSFrederick Mayle # -berok will link without error, but may produce a broken library. 5612*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' 5613*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' 5614*9712c20fSFrederick Mayle # Exported symbols can be pulled into shared objects from archives 5615*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' 5616*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=yes 5617*9712c20fSFrederick Mayle # This is similar to how AIX traditionally builds its shared 5618*9712c20fSFrederick Mayle # libraries. 5619*9712c20fSFrederick Mayle _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' 5620*9712c20fSFrederick Mayle fi 5621*9712c20fSFrederick Mayle fi 5622*9712c20fSFrederick Mayle ;; 5623*9712c20fSFrederick Mayle 5624*9712c20fSFrederick Mayle beos*) 5625*9712c20fSFrederick Mayle if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then 5626*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5627*9712c20fSFrederick Mayle # Joseph Beckenbach <[email protected]> says some releases of gcc 5628*9712c20fSFrederick Mayle # support --undefined. This deserves some investigation. FIXME 5629*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 5630*9712c20fSFrederick Mayle else 5631*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5632*9712c20fSFrederick Mayle fi 5633*9712c20fSFrederick Mayle ;; 5634*9712c20fSFrederick Mayle 5635*9712c20fSFrederick Mayle chorus*) 5636*9712c20fSFrederick Mayle case $cc_basename in 5637*9712c20fSFrederick Mayle *) 5638*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5639*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5640*9712c20fSFrederick Mayle ;; 5641*9712c20fSFrederick Mayle esac 5642*9712c20fSFrederick Mayle ;; 5643*9712c20fSFrederick Mayle 5644*9712c20fSFrederick Mayle cygwin* | mingw* | pw32* | cegcc*) 5645*9712c20fSFrederick Mayle # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, 5646*9712c20fSFrederick Mayle # as there is no search path for DLLs. 5647*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' 5648*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=unsupported 5649*9712c20fSFrederick Mayle _LT_TAGVAR(always_export_symbols, $1)=no 5650*9712c20fSFrederick Mayle _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes 5651*9712c20fSFrederick Mayle 5652*9712c20fSFrederick Mayle if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then 5653*9712c20fSFrederick Mayle _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' 5654*9712c20fSFrederick Mayle # If the export-symbols file already is a .def file (1st line 5655*9712c20fSFrederick Mayle # is EXPORTS), use it as is; otherwise, prepend... 5656*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then 5657*9712c20fSFrederick Mayle cp $export_symbols $output_objdir/$soname.def; 5658*9712c20fSFrederick Mayle else 5659*9712c20fSFrederick Mayle echo EXPORTS > $output_objdir/$soname.def; 5660*9712c20fSFrederick Mayle cat $export_symbols >> $output_objdir/$soname.def; 5661*9712c20fSFrederick Mayle fi~ 5662*9712c20fSFrederick Mayle $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' 5663*9712c20fSFrederick Mayle else 5664*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5665*9712c20fSFrederick Mayle fi 5666*9712c20fSFrederick Mayle ;; 5667*9712c20fSFrederick Mayle darwin* | rhapsody*) 5668*9712c20fSFrederick Mayle _LT_DARWIN_LINKER_FEATURES($1) 5669*9712c20fSFrederick Mayle ;; 5670*9712c20fSFrederick Mayle 5671*9712c20fSFrederick Mayle dgux*) 5672*9712c20fSFrederick Mayle case $cc_basename in 5673*9712c20fSFrederick Mayle ec++*) 5674*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5675*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5676*9712c20fSFrederick Mayle ;; 5677*9712c20fSFrederick Mayle ghcx*) 5678*9712c20fSFrederick Mayle # Green Hills C++ Compiler 5679*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5680*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5681*9712c20fSFrederick Mayle ;; 5682*9712c20fSFrederick Mayle *) 5683*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5684*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5685*9712c20fSFrederick Mayle ;; 5686*9712c20fSFrederick Mayle esac 5687*9712c20fSFrederick Mayle ;; 5688*9712c20fSFrederick Mayle 5689*9712c20fSFrederick Mayle freebsd[[12]]*) 5690*9712c20fSFrederick Mayle # C++ shared libraries reported to be fairly broken before 5691*9712c20fSFrederick Mayle # switch to ELF 5692*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5693*9712c20fSFrederick Mayle ;; 5694*9712c20fSFrederick Mayle 5695*9712c20fSFrederick Mayle freebsd-elf*) 5696*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5697*9712c20fSFrederick Mayle ;; 5698*9712c20fSFrederick Mayle 5699*9712c20fSFrederick Mayle freebsd* | dragonfly*) 5700*9712c20fSFrederick Mayle # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF 5701*9712c20fSFrederick Mayle # conventions 5702*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=yes 5703*9712c20fSFrederick Mayle ;; 5704*9712c20fSFrederick Mayle 5705*9712c20fSFrederick Mayle gnu*) 5706*9712c20fSFrederick Mayle ;; 5707*9712c20fSFrederick Mayle 5708*9712c20fSFrederick Mayle hpux9*) 5709*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 5710*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5711*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5712*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 5713*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 5714*9712c20fSFrederick Mayle # but as the default 5715*9712c20fSFrederick Mayle # location of the library. 5716*9712c20fSFrederick Mayle 5717*9712c20fSFrederick Mayle case $cc_basename in 5718*9712c20fSFrederick Mayle CC*) 5719*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5720*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5721*9712c20fSFrederick Mayle ;; 5722*9712c20fSFrederick Mayle aCC*) 5723*9712c20fSFrederick Mayle _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' 5724*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 5725*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 5726*9712c20fSFrederick Mayle # linking a shared library. 5727*9712c20fSFrederick Mayle # 5728*9712c20fSFrederick Mayle # There doesn't appear to be a way to prevent this compiler from 5729*9712c20fSFrederick Mayle # explicitly linking system object files so we need to strip them 5730*9712c20fSFrederick Mayle # from the output so that they don't get included in the library 5731*9712c20fSFrederick Mayle # dependencies. 5732*9712c20fSFrederick Mayle output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 5733*9712c20fSFrederick Mayle ;; 5734*9712c20fSFrederick Mayle *) 5735*9712c20fSFrederick Mayle if test "$GXX" = yes; then 5736*9712c20fSFrederick Mayle _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' 5737*9712c20fSFrederick Mayle else 5738*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5739*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5740*9712c20fSFrederick Mayle fi 5741*9712c20fSFrederick Mayle ;; 5742*9712c20fSFrederick Mayle esac 5743*9712c20fSFrederick Mayle ;; 5744*9712c20fSFrederick Mayle 5745*9712c20fSFrederick Mayle hpux10*|hpux11*) 5746*9712c20fSFrederick Mayle if test $with_gnu_ld = no; then 5747*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' 5748*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5749*9712c20fSFrederick Mayle 5750*9712c20fSFrederick Mayle case $host_cpu in 5751*9712c20fSFrederick Mayle hppa*64*|ia64*) 5752*9712c20fSFrederick Mayle ;; 5753*9712c20fSFrederick Mayle *) 5754*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5755*9712c20fSFrederick Mayle ;; 5756*9712c20fSFrederick Mayle esac 5757*9712c20fSFrederick Mayle fi 5758*9712c20fSFrederick Mayle case $host_cpu in 5759*9712c20fSFrederick Mayle hppa*64*|ia64*) 5760*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=no 5761*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5762*9712c20fSFrederick Mayle ;; 5763*9712c20fSFrederick Mayle *) 5764*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 5765*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 5766*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, 5767*9712c20fSFrederick Mayle # but as the default 5768*9712c20fSFrederick Mayle # location of the library. 5769*9712c20fSFrederick Mayle ;; 5770*9712c20fSFrederick Mayle esac 5771*9712c20fSFrederick Mayle 5772*9712c20fSFrederick Mayle case $cc_basename in 5773*9712c20fSFrederick Mayle CC*) 5774*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5775*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5776*9712c20fSFrederick Mayle ;; 5777*9712c20fSFrederick Mayle aCC*) 5778*9712c20fSFrederick Mayle case $host_cpu in 5779*9712c20fSFrederick Mayle hppa*64*) 5780*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 5781*9712c20fSFrederick Mayle ;; 5782*9712c20fSFrederick Mayle ia64*) 5783*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 5784*9712c20fSFrederick Mayle ;; 5785*9712c20fSFrederick Mayle *) 5786*9712c20fSFrederick Mayle _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' 5787*9712c20fSFrederick Mayle ;; 5788*9712c20fSFrederick Mayle esac 5789*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 5790*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 5791*9712c20fSFrederick Mayle # linking a shared library. 5792*9712c20fSFrederick Mayle # 5793*9712c20fSFrederick Mayle # There doesn't appear to be a way to prevent this compiler from 5794*9712c20fSFrederick Mayle # explicitly linking system object files so we need to strip them 5795*9712c20fSFrederick Mayle # from the output so that they don't get included in the library 5796*9712c20fSFrederick Mayle # dependencies. 5797*9712c20fSFrederick Mayle output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 5798*9712c20fSFrederick Mayle ;; 5799*9712c20fSFrederick Mayle *) 5800*9712c20fSFrederick Mayle if test "$GXX" = yes; then 5801*9712c20fSFrederick Mayle if test $with_gnu_ld = no; then 5802*9712c20fSFrederick Mayle case $host_cpu in 5803*9712c20fSFrederick Mayle hppa*64*) 5804*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 5805*9712c20fSFrederick Mayle ;; 5806*9712c20fSFrederick Mayle ia64*) 5807*9712c20fSFrederick Mayle _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' 5808*9712c20fSFrederick Mayle ;; 5809*9712c20fSFrederick Mayle *) 5810*9712c20fSFrederick Mayle _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' 5811*9712c20fSFrederick Mayle ;; 5812*9712c20fSFrederick Mayle esac 5813*9712c20fSFrederick Mayle fi 5814*9712c20fSFrederick Mayle else 5815*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 5816*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 5817*9712c20fSFrederick Mayle fi 5818*9712c20fSFrederick Mayle ;; 5819*9712c20fSFrederick Mayle esac 5820*9712c20fSFrederick Mayle ;; 5821*9712c20fSFrederick Mayle 5822*9712c20fSFrederick Mayle interix[[3-9]]*) 5823*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=no 5824*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 5825*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 5826*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 5827*9712c20fSFrederick Mayle # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. 5828*9712c20fSFrederick Mayle # Instead, shared libraries are loaded at an image base (0x10000000 by 5829*9712c20fSFrederick Mayle # default) and relocated if they conflict, which is a slow very memory 5830*9712c20fSFrederick Mayle # consuming and fragmenting process. To avoid this, we pick a random, 5831*9712c20fSFrederick Mayle # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link 5832*9712c20fSFrederick Mayle # time. Moving up from 0x10000000 also allows more sbrk(2) space. 5833*9712c20fSFrederick Mayle _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' 5834*9712c20fSFrederick Mayle _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' 5835*9712c20fSFrederick Mayle ;; 5836*9712c20fSFrederick Mayle irix5* | irix6*) 5837*9712c20fSFrederick Mayle case $cc_basename in 5838*9712c20fSFrederick Mayle CC*) 5839*9712c20fSFrederick Mayle # SGI C++ 5840*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 5841*9712c20fSFrederick Mayle 5842*9712c20fSFrederick Mayle # Archives containing C++ object files must be created using 5843*9712c20fSFrederick Mayle # "CC -ar", where "CC" is the IRIX C++ compiler. This is 5844*9712c20fSFrederick Mayle # necessary to make sure instantiated templates are included 5845*9712c20fSFrederick Mayle # in the archive. 5846*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' 5847*9712c20fSFrederick Mayle ;; 5848*9712c20fSFrederick Mayle *) 5849*9712c20fSFrederick Mayle if test "$GXX" = yes; then 5850*9712c20fSFrederick Mayle if test "$with_gnu_ld" = no; then 5851*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 5852*9712c20fSFrederick Mayle else 5853*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' 5854*9712c20fSFrederick Mayle fi 5855*9712c20fSFrederick Mayle fi 5856*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 5857*9712c20fSFrederick Mayle ;; 5858*9712c20fSFrederick Mayle esac 5859*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5860*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5861*9712c20fSFrederick Mayle _LT_TAGVAR(inherit_rpath, $1)=yes 5862*9712c20fSFrederick Mayle ;; 5863*9712c20fSFrederick Mayle 5864*9712c20fSFrederick Mayle linux* | k*bsd*-gnu | kopensolaris*-gnu) 5865*9712c20fSFrederick Mayle case $cc_basename in 5866*9712c20fSFrederick Mayle KCC*) 5867*9712c20fSFrederick Mayle # Kuck and Associates, Inc. (KAI) C++ Compiler 5868*9712c20fSFrederick Mayle 5869*9712c20fSFrederick Mayle # KCC will only create a shared library if the output file 5870*9712c20fSFrederick Mayle # ends with ".so" (or ".sl" for HP-UX), so rename the library 5871*9712c20fSFrederick Mayle # to its proper name (with version) after linking. 5872*9712c20fSFrederick Mayle _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' 5873*9712c20fSFrederick Mayle _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' 5874*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 5875*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 5876*9712c20fSFrederick Mayle # linking a shared library. 5877*9712c20fSFrederick Mayle # 5878*9712c20fSFrederick Mayle # There doesn't appear to be a way to prevent this compiler from 5879*9712c20fSFrederick Mayle # explicitly linking system object files so we need to strip them 5880*9712c20fSFrederick Mayle # from the output so that they don't get included in the library 5881*9712c20fSFrederick Mayle # dependencies. 5882*9712c20fSFrederick Mayle output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 5883*9712c20fSFrederick Mayle 5884*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 5885*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5886*9712c20fSFrederick Mayle 5887*9712c20fSFrederick Mayle # Archives containing C++ object files must be created using 5888*9712c20fSFrederick Mayle # "CC -Bstatic", where "CC" is the KAI C++ compiler. 5889*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' 5890*9712c20fSFrederick Mayle ;; 5891*9712c20fSFrederick Mayle icpc* | ecpc* ) 5892*9712c20fSFrederick Mayle # Intel C++ 5893*9712c20fSFrederick Mayle with_gnu_ld=yes 5894*9712c20fSFrederick Mayle # version 8.0 and above of icpc choke on multiply defined symbols 5895*9712c20fSFrederick Mayle # if we add $predep_objects and $postdep_objects, however 7.1 and 5896*9712c20fSFrederick Mayle # earlier do not add the objects themselves. 5897*9712c20fSFrederick Mayle case `$CC -V 2>&1` in 5898*9712c20fSFrederick Mayle *"Version 7."*) 5899*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 5900*9712c20fSFrederick Mayle _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' 5901*9712c20fSFrederick Mayle ;; 5902*9712c20fSFrederick Mayle *) # Version 8.0 or newer 5903*9712c20fSFrederick Mayle tmp_idyn= 5904*9712c20fSFrederick Mayle case $host_cpu in 5905*9712c20fSFrederick Mayle ia64*) tmp_idyn=' -i_dynamic';; 5906*9712c20fSFrederick Mayle esac 5907*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 5908*9712c20fSFrederick Mayle _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' 5909*9712c20fSFrederick Mayle ;; 5910*9712c20fSFrederick Mayle esac 5911*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=no 5912*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 5913*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5914*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' 5915*9712c20fSFrederick Mayle ;; 5916*9712c20fSFrederick Mayle pgCC* | pgcpp*) 5917*9712c20fSFrederick Mayle # Portland Group C++ compiler 5918*9712c20fSFrederick Mayle case `$CC -V` in 5919*9712c20fSFrederick Mayle *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) 5920*9712c20fSFrederick Mayle _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ 5921*9712c20fSFrederick Mayle rm -rf $tpldir~ 5922*9712c20fSFrederick Mayle $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ 5923*9712c20fSFrederick Mayle compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' 5924*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ 5925*9712c20fSFrederick Mayle rm -rf $tpldir~ 5926*9712c20fSFrederick Mayle $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ 5927*9712c20fSFrederick Mayle $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ 5928*9712c20fSFrederick Mayle $RANLIB $oldlib' 5929*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ 5930*9712c20fSFrederick Mayle rm -rf $tpldir~ 5931*9712c20fSFrederick Mayle $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 5932*9712c20fSFrederick Mayle $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 5933*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ 5934*9712c20fSFrederick Mayle rm -rf $tpldir~ 5935*9712c20fSFrederick Mayle $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ 5936*9712c20fSFrederick Mayle $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' 5937*9712c20fSFrederick Mayle ;; 5938*9712c20fSFrederick Mayle *) # Version 6 will use weak symbols 5939*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' 5940*9712c20fSFrederick Mayle _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' 5941*9712c20fSFrederick Mayle ;; 5942*9712c20fSFrederick Mayle esac 5943*9712c20fSFrederick Mayle 5944*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' 5945*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5946*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 5947*9712c20fSFrederick Mayle ;; 5948*9712c20fSFrederick Mayle cxx*) 5949*9712c20fSFrederick Mayle # Compaq C++ 5950*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' 5951*9712c20fSFrederick Mayle _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' 5952*9712c20fSFrederick Mayle 5953*9712c20fSFrederick Mayle runpath_var=LD_RUN_PATH 5954*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 5955*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 5956*9712c20fSFrederick Mayle 5957*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 5958*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 5959*9712c20fSFrederick Mayle # linking a shared library. 5960*9712c20fSFrederick Mayle # 5961*9712c20fSFrederick Mayle # There doesn't appear to be a way to prevent this compiler from 5962*9712c20fSFrederick Mayle # explicitly linking system object files so we need to strip them 5963*9712c20fSFrederick Mayle # from the output so that they don't get included in the library 5964*9712c20fSFrederick Mayle # dependencies. 5965*9712c20fSFrederick Mayle output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 5966*9712c20fSFrederick Mayle ;; 5967*9712c20fSFrederick Mayle xl*) 5968*9712c20fSFrederick Mayle # IBM XL 8.0 on PPC, with GNU ld 5969*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 5970*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' 5971*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' 5972*9712c20fSFrederick Mayle if test "x$supports_anon_versioning" = xyes; then 5973*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ 5974*9712c20fSFrederick Mayle cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ 5975*9712c20fSFrederick Mayle echo "local: *; };" >> $output_objdir/$libname.ver~ 5976*9712c20fSFrederick Mayle $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' 5977*9712c20fSFrederick Mayle fi 5978*9712c20fSFrederick Mayle ;; 5979*9712c20fSFrederick Mayle *) 5980*9712c20fSFrederick Mayle case `$CC -V 2>&1 | sed 5q` in 5981*9712c20fSFrederick Mayle *Sun\ C*) 5982*9712c20fSFrederick Mayle # Sun C++ 5.9 5983*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 5984*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 5985*9712c20fSFrederick Mayle _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' 5986*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 5987*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' 5988*9712c20fSFrederick Mayle _LT_TAGVAR(compiler_needs_object, $1)=yes 5989*9712c20fSFrederick Mayle 5990*9712c20fSFrederick Mayle # Not sure whether something based on 5991*9712c20fSFrederick Mayle # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 5992*9712c20fSFrederick Mayle # would be better. 5993*9712c20fSFrederick Mayle output_verbose_link_cmd='echo' 5994*9712c20fSFrederick Mayle 5995*9712c20fSFrederick Mayle # Archives containing C++ object files must be created using 5996*9712c20fSFrederick Mayle # "CC -xar", where "CC" is the Sun C++ compiler. This is 5997*9712c20fSFrederick Mayle # necessary to make sure instantiated templates are included 5998*9712c20fSFrederick Mayle # in the archive. 5999*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 6000*9712c20fSFrederick Mayle ;; 6001*9712c20fSFrederick Mayle esac 6002*9712c20fSFrederick Mayle ;; 6003*9712c20fSFrederick Mayle esac 6004*9712c20fSFrederick Mayle ;; 6005*9712c20fSFrederick Mayle 6006*9712c20fSFrederick Mayle lynxos*) 6007*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6008*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6009*9712c20fSFrederick Mayle ;; 6010*9712c20fSFrederick Mayle 6011*9712c20fSFrederick Mayle m88k*) 6012*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6013*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6014*9712c20fSFrederick Mayle ;; 6015*9712c20fSFrederick Mayle 6016*9712c20fSFrederick Mayle mvs*) 6017*9712c20fSFrederick Mayle case $cc_basename in 6018*9712c20fSFrederick Mayle cxx*) 6019*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6020*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6021*9712c20fSFrederick Mayle ;; 6022*9712c20fSFrederick Mayle *) 6023*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6024*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6025*9712c20fSFrederick Mayle ;; 6026*9712c20fSFrederick Mayle esac 6027*9712c20fSFrederick Mayle ;; 6028*9712c20fSFrederick Mayle 6029*9712c20fSFrederick Mayle netbsd*) 6030*9712c20fSFrederick Mayle if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then 6031*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' 6032*9712c20fSFrederick Mayle wlarc= 6033*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6034*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 6035*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6036*9712c20fSFrederick Mayle fi 6037*9712c20fSFrederick Mayle # Workaround some broken pre-1.5 toolchains 6038*9712c20fSFrederick Mayle output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' 6039*9712c20fSFrederick Mayle ;; 6040*9712c20fSFrederick Mayle 6041*9712c20fSFrederick Mayle *nto* | *qnx*) 6042*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=yes 6043*9712c20fSFrederick Mayle ;; 6044*9712c20fSFrederick Mayle 6045*9712c20fSFrederick Mayle openbsd2*) 6046*9712c20fSFrederick Mayle # C++ shared libraries are fairly broken 6047*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6048*9712c20fSFrederick Mayle ;; 6049*9712c20fSFrederick Mayle 6050*9712c20fSFrederick Mayle openbsd*) 6051*9712c20fSFrederick Mayle if test -f /usr/libexec/ld.so; then 6052*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct, $1)=yes 6053*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6054*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_direct_absolute, $1)=yes 6055*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' 6056*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6057*9712c20fSFrederick Mayle if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then 6058*9712c20fSFrederick Mayle _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' 6059*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' 6060*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' 6061*9712c20fSFrederick Mayle fi 6062*9712c20fSFrederick Mayle output_verbose_link_cmd=echo 6063*9712c20fSFrederick Mayle else 6064*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6065*9712c20fSFrederick Mayle fi 6066*9712c20fSFrederick Mayle ;; 6067*9712c20fSFrederick Mayle 6068*9712c20fSFrederick Mayle osf3* | osf4* | osf5*) 6069*9712c20fSFrederick Mayle case $cc_basename in 6070*9712c20fSFrederick Mayle KCC*) 6071*9712c20fSFrederick Mayle # Kuck and Associates, Inc. (KAI) C++ Compiler 6072*9712c20fSFrederick Mayle 6073*9712c20fSFrederick Mayle # KCC will only create a shared library if the output file 6074*9712c20fSFrederick Mayle # ends with ".so" (or ".sl" for HP-UX), so rename the library 6075*9712c20fSFrederick Mayle # to its proper name (with version) after linking. 6076*9712c20fSFrederick Mayle _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' 6077*9712c20fSFrederick Mayle 6078*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' 6079*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6080*9712c20fSFrederick Mayle 6081*9712c20fSFrederick Mayle # Archives containing C++ object files must be created using 6082*9712c20fSFrederick Mayle # the KAI C++ compiler. 6083*9712c20fSFrederick Mayle case $host in 6084*9712c20fSFrederick Mayle osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; 6085*9712c20fSFrederick Mayle *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; 6086*9712c20fSFrederick Mayle esac 6087*9712c20fSFrederick Mayle ;; 6088*9712c20fSFrederick Mayle RCC*) 6089*9712c20fSFrederick Mayle # Rational C++ 2.4.1 6090*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6091*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6092*9712c20fSFrederick Mayle ;; 6093*9712c20fSFrederick Mayle cxx*) 6094*9712c20fSFrederick Mayle case $host in 6095*9712c20fSFrederick Mayle osf3*) 6096*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 6097*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 6098*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6099*9712c20fSFrederick Mayle ;; 6100*9712c20fSFrederick Mayle *) 6101*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' 6102*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' 6103*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ 6104*9712c20fSFrederick Mayle echo "-hidden">> $lib.exp~ 6105*9712c20fSFrederick Mayle $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ 6106*9712c20fSFrederick Mayle $RM $lib.exp' 6107*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' 6108*9712c20fSFrederick Mayle ;; 6109*9712c20fSFrederick Mayle esac 6110*9712c20fSFrederick Mayle 6111*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6112*9712c20fSFrederick Mayle 6113*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 6114*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 6115*9712c20fSFrederick Mayle # linking a shared library. 6116*9712c20fSFrederick Mayle # 6117*9712c20fSFrederick Mayle # There doesn't appear to be a way to prevent this compiler from 6118*9712c20fSFrederick Mayle # explicitly linking system object files so we need to strip them 6119*9712c20fSFrederick Mayle # from the output so that they don't get included in the library 6120*9712c20fSFrederick Mayle # dependencies. 6121*9712c20fSFrederick Mayle output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' 6122*9712c20fSFrederick Mayle ;; 6123*9712c20fSFrederick Mayle *) 6124*9712c20fSFrederick Mayle if test "$GXX" = yes && test "$with_gnu_ld" = no; then 6125*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' 6126*9712c20fSFrederick Mayle case $host in 6127*9712c20fSFrederick Mayle osf3*) 6128*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 6129*9712c20fSFrederick Mayle ;; 6130*9712c20fSFrederick Mayle *) 6131*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' 6132*9712c20fSFrederick Mayle ;; 6133*9712c20fSFrederick Mayle esac 6134*9712c20fSFrederick Mayle 6135*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' 6136*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=: 6137*9712c20fSFrederick Mayle 6138*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 6139*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 6140*9712c20fSFrederick Mayle # linking a shared library. 6141*9712c20fSFrederick Mayle output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6142*9712c20fSFrederick Mayle 6143*9712c20fSFrederick Mayle else 6144*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6145*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6146*9712c20fSFrederick Mayle fi 6147*9712c20fSFrederick Mayle ;; 6148*9712c20fSFrederick Mayle esac 6149*9712c20fSFrederick Mayle ;; 6150*9712c20fSFrederick Mayle 6151*9712c20fSFrederick Mayle psos*) 6152*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6153*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6154*9712c20fSFrederick Mayle ;; 6155*9712c20fSFrederick Mayle 6156*9712c20fSFrederick Mayle sunos4*) 6157*9712c20fSFrederick Mayle case $cc_basename in 6158*9712c20fSFrederick Mayle CC*) 6159*9712c20fSFrederick Mayle # Sun C++ 4.x 6160*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6161*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6162*9712c20fSFrederick Mayle ;; 6163*9712c20fSFrederick Mayle lcc*) 6164*9712c20fSFrederick Mayle # Lucid 6165*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6166*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6167*9712c20fSFrederick Mayle ;; 6168*9712c20fSFrederick Mayle *) 6169*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6170*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6171*9712c20fSFrederick Mayle ;; 6172*9712c20fSFrederick Mayle esac 6173*9712c20fSFrederick Mayle ;; 6174*9712c20fSFrederick Mayle 6175*9712c20fSFrederick Mayle solaris*) 6176*9712c20fSFrederick Mayle case $cc_basename in 6177*9712c20fSFrederick Mayle CC*) 6178*9712c20fSFrederick Mayle # Sun C++ 4.2, 5.x and Centerline C++ 6179*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc,$1)=yes 6180*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' 6181*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' 6182*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6183*9712c20fSFrederick Mayle $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' 6184*9712c20fSFrederick Mayle 6185*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' 6186*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6187*9712c20fSFrederick Mayle case $host_os in 6188*9712c20fSFrederick Mayle solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 6189*9712c20fSFrederick Mayle *) 6190*9712c20fSFrederick Mayle # The compiler driver will combine and reorder linker options, 6191*9712c20fSFrederick Mayle # but understands `-z linker_flag'. 6192*9712c20fSFrederick Mayle # Supported since Solaris 2.6 (maybe 2.5.1?) 6193*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' 6194*9712c20fSFrederick Mayle ;; 6195*9712c20fSFrederick Mayle esac 6196*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 6197*9712c20fSFrederick Mayle 6198*9712c20fSFrederick Mayle output_verbose_link_cmd='echo' 6199*9712c20fSFrederick Mayle 6200*9712c20fSFrederick Mayle # Archives containing C++ object files must be created using 6201*9712c20fSFrederick Mayle # "CC -xar", where "CC" is the Sun C++ compiler. This is 6202*9712c20fSFrederick Mayle # necessary to make sure instantiated templates are included 6203*9712c20fSFrederick Mayle # in the archive. 6204*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' 6205*9712c20fSFrederick Mayle ;; 6206*9712c20fSFrederick Mayle gcx*) 6207*9712c20fSFrederick Mayle # Green Hills C++ Compiler 6208*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6209*9712c20fSFrederick Mayle 6210*9712c20fSFrederick Mayle # The C++ compiler must be used to create the archive. 6211*9712c20fSFrederick Mayle _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' 6212*9712c20fSFrederick Mayle ;; 6213*9712c20fSFrederick Mayle *) 6214*9712c20fSFrederick Mayle # GNU C++ compiler with Solaris linker 6215*9712c20fSFrederick Mayle if test "$GXX" = yes && test "$with_gnu_ld" = no; then 6216*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' 6217*9712c20fSFrederick Mayle if $CC --version | $GREP -v '^2\.7' > /dev/null; then 6218*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6219*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6220*9712c20fSFrederick Mayle $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 6221*9712c20fSFrederick Mayle 6222*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 6223*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 6224*9712c20fSFrederick Mayle # linking a shared library. 6225*9712c20fSFrederick Mayle output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6226*9712c20fSFrederick Mayle else 6227*9712c20fSFrederick Mayle # g++ 2.7 appears to require `-G' NOT `-shared' on this 6228*9712c20fSFrederick Mayle # platform. 6229*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' 6230*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ 6231*9712c20fSFrederick Mayle $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' 6232*9712c20fSFrederick Mayle 6233*9712c20fSFrederick Mayle # Commands to make compiler produce verbose output that lists 6234*9712c20fSFrederick Mayle # what "hidden" libraries, object files and flags are used when 6235*9712c20fSFrederick Mayle # linking a shared library. 6236*9712c20fSFrederick Mayle output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' 6237*9712c20fSFrederick Mayle fi 6238*9712c20fSFrederick Mayle 6239*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' 6240*9712c20fSFrederick Mayle case $host_os in 6241*9712c20fSFrederick Mayle solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; 6242*9712c20fSFrederick Mayle *) 6243*9712c20fSFrederick Mayle _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' 6244*9712c20fSFrederick Mayle ;; 6245*9712c20fSFrederick Mayle esac 6246*9712c20fSFrederick Mayle fi 6247*9712c20fSFrederick Mayle ;; 6248*9712c20fSFrederick Mayle esac 6249*9712c20fSFrederick Mayle ;; 6250*9712c20fSFrederick Mayle 6251*9712c20fSFrederick Mayle sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) 6252*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 6253*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6254*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6255*9712c20fSFrederick Mayle runpath_var='LD_RUN_PATH' 6256*9712c20fSFrederick Mayle 6257*9712c20fSFrederick Mayle case $cc_basename in 6258*9712c20fSFrederick Mayle CC*) 6259*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6260*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6261*9712c20fSFrederick Mayle ;; 6262*9712c20fSFrederick Mayle *) 6263*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6264*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6265*9712c20fSFrederick Mayle ;; 6266*9712c20fSFrederick Mayle esac 6267*9712c20fSFrederick Mayle ;; 6268*9712c20fSFrederick Mayle 6269*9712c20fSFrederick Mayle sysv5* | sco3.2v5* | sco5v6*) 6270*9712c20fSFrederick Mayle # Note: We can NOT use -z defs as we might desire, because we do not 6271*9712c20fSFrederick Mayle # link with -lc, and that would cause any symbols used from libc to 6272*9712c20fSFrederick Mayle # always be unresolved, which means just about no library would 6273*9712c20fSFrederick Mayle # ever link correctly. If we're not using GNU ld we use -z text 6274*9712c20fSFrederick Mayle # though, which does catch some bad symbols but isn't as heavy-handed 6275*9712c20fSFrederick Mayle # as -z defs. 6276*9712c20fSFrederick Mayle _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' 6277*9712c20fSFrederick Mayle _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' 6278*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds_need_lc, $1)=no 6279*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_shlibpath_var, $1)=no 6280*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' 6281*9712c20fSFrederick Mayle _LT_TAGVAR(hardcode_libdir_separator, $1)=':' 6282*9712c20fSFrederick Mayle _LT_TAGVAR(link_all_deplibs, $1)=yes 6283*9712c20fSFrederick Mayle _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' 6284*9712c20fSFrederick Mayle runpath_var='LD_RUN_PATH' 6285*9712c20fSFrederick Mayle 6286*9712c20fSFrederick Mayle case $cc_basename in 6287*9712c20fSFrederick Mayle CC*) 6288*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6289*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6290*9712c20fSFrederick Mayle ;; 6291*9712c20fSFrederick Mayle *) 6292*9712c20fSFrederick Mayle _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6293*9712c20fSFrederick Mayle _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' 6294*9712c20fSFrederick Mayle ;; 6295*9712c20fSFrederick Mayle esac 6296*9712c20fSFrederick Mayle ;; 6297*9712c20fSFrederick Mayle 6298*9712c20fSFrederick Mayle tandem*) 6299*9712c20fSFrederick Mayle case $cc_basename in 6300*9712c20fSFrederick Mayle NCC*) 6301*9712c20fSFrederick Mayle # NonStop-UX NCC 3.20 6302*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6303*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6304*9712c20fSFrederick Mayle ;; 6305*9712c20fSFrederick Mayle *) 6306*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6307*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6308*9712c20fSFrederick Mayle ;; 6309*9712c20fSFrederick Mayle esac 6310*9712c20fSFrederick Mayle ;; 6311*9712c20fSFrederick Mayle 6312*9712c20fSFrederick Mayle vxworks*) 6313*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6314*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6315*9712c20fSFrederick Mayle ;; 6316*9712c20fSFrederick Mayle 6317*9712c20fSFrederick Mayle *) 6318*9712c20fSFrederick Mayle # FIXME: insert proper C++ library support 6319*9712c20fSFrederick Mayle _LT_TAGVAR(ld_shlibs, $1)=no 6320*9712c20fSFrederick Mayle ;; 6321*9712c20fSFrederick Mayle esac 6322*9712c20fSFrederick Mayle 6323*9712c20fSFrederick Mayle AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) 6324*9712c20fSFrederick Mayle test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no 6325*9712c20fSFrederick Mayle 6326*9712c20fSFrederick Mayle _LT_TAGVAR(GCC, $1)="$GXX" 6327*9712c20fSFrederick Mayle _LT_TAGVAR(LD, $1)="$LD" 6328*9712c20fSFrederick Mayle 6329*9712c20fSFrederick Mayle ## CAVEAT EMPTOR: 6330*9712c20fSFrederick Mayle ## There is no encapsulation within the following macros, do not change 6331*9712c20fSFrederick Mayle ## the running order or otherwise move them around unless you know exactly 6332*9712c20fSFrederick Mayle ## what you are doing... 6333*9712c20fSFrederick Mayle _LT_SYS_HIDDEN_LIBDEPS($1) 6334*9712c20fSFrederick Mayle _LT_COMPILER_PIC($1) 6335*9712c20fSFrederick Mayle _LT_COMPILER_C_O($1) 6336*9712c20fSFrederick Mayle _LT_COMPILER_FILE_LOCKS($1) 6337*9712c20fSFrederick Mayle _LT_LINKER_SHLIBS($1) 6338*9712c20fSFrederick Mayle _LT_SYS_DYNAMIC_LINKER($1) 6339*9712c20fSFrederick Mayle _LT_LINKER_HARDCODE_LIBPATH($1) 6340*9712c20fSFrederick Mayle 6341*9712c20fSFrederick Mayle _LT_CONFIG($1) 6342*9712c20fSFrederick Mayle fi # test -n "$compiler" 6343*9712c20fSFrederick Mayle 6344*9712c20fSFrederick Mayle CC=$lt_save_CC 6345*9712c20fSFrederick Mayle LDCXX=$LD 6346*9712c20fSFrederick Mayle LD=$lt_save_LD 6347*9712c20fSFrederick Mayle GCC=$lt_save_GCC 6348*9712c20fSFrederick Mayle with_gnu_ld=$lt_save_with_gnu_ld 6349*9712c20fSFrederick Mayle lt_cv_path_LDCXX=$lt_cv_path_LD 6350*9712c20fSFrederick Mayle lt_cv_path_LD=$lt_save_path_LD 6351*9712c20fSFrederick Mayle lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld 6352*9712c20fSFrederick Mayle lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld 6353*9712c20fSFrederick Maylefi # test "$_lt_caught_CXX_error" != yes 6354*9712c20fSFrederick Mayle 6355*9712c20fSFrederick MayleAC_LANG_POP 6356*9712c20fSFrederick Mayle])# _LT_LANG_CXX_CONFIG 6357*9712c20fSFrederick Mayle 6358*9712c20fSFrederick Mayle 6359*9712c20fSFrederick Mayle# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) 6360*9712c20fSFrederick Mayle# --------------------------------- 6361*9712c20fSFrederick Mayle# Figure out "hidden" library dependencies from verbose 6362*9712c20fSFrederick Mayle# compiler output when linking a shared library. 6363*9712c20fSFrederick Mayle# Parse the compiler output and extract the necessary 6364*9712c20fSFrederick Mayle# objects, libraries and library flags. 6365*9712c20fSFrederick Maylem4_defun([_LT_SYS_HIDDEN_LIBDEPS], 6366*9712c20fSFrederick Mayle[m4_require([_LT_FILEUTILS_DEFAULTS])dnl 6367*9712c20fSFrederick Mayle# Dependencies to place before and after the object being linked: 6368*9712c20fSFrederick Mayle_LT_TAGVAR(predep_objects, $1)= 6369*9712c20fSFrederick Mayle_LT_TAGVAR(postdep_objects, $1)= 6370*9712c20fSFrederick Mayle_LT_TAGVAR(predeps, $1)= 6371*9712c20fSFrederick Mayle_LT_TAGVAR(postdeps, $1)= 6372*9712c20fSFrederick Mayle_LT_TAGVAR(compiler_lib_search_path, $1)= 6373*9712c20fSFrederick Mayle 6374*9712c20fSFrederick Maylednl we can't use the lt_simple_compile_test_code here, 6375*9712c20fSFrederick Maylednl because it contains code intended for an executable, 6376*9712c20fSFrederick Maylednl not a library. It's possible we should let each 6377*9712c20fSFrederick Maylednl tag define a new lt_????_link_test_code variable, 6378*9712c20fSFrederick Maylednl but it's only used here... 6379*9712c20fSFrederick Maylem4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF 6380*9712c20fSFrederick Mayleint a; 6381*9712c20fSFrederick Maylevoid foo (void) { a = 0; } 6382*9712c20fSFrederick Mayle_LT_EOF 6383*9712c20fSFrederick Mayle], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF 6384*9712c20fSFrederick Mayleclass Foo 6385*9712c20fSFrederick Mayle{ 6386*9712c20fSFrederick Maylepublic: 6387*9712c20fSFrederick Mayle Foo (void) { a = 0; } 6388*9712c20fSFrederick Mayleprivate: 6389*9712c20fSFrederick Mayle int a; 6390*9712c20fSFrederick Mayle}; 6391*9712c20fSFrederick Mayle_LT_EOF 6392*9712c20fSFrederick Mayle], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF 6393*9712c20fSFrederick Mayle subroutine foo 6394*9712c20fSFrederick Mayle implicit none 6395*9712c20fSFrederick Mayle integer*4 a 6396*9712c20fSFrederick Mayle a=0 6397*9712c20fSFrederick Mayle return 6398*9712c20fSFrederick Mayle end 6399*9712c20fSFrederick Mayle_LT_EOF 6400*9712c20fSFrederick Mayle], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF 6401*9712c20fSFrederick Mayle subroutine foo 6402*9712c20fSFrederick Mayle implicit none 6403*9712c20fSFrederick Mayle integer a 6404*9712c20fSFrederick Mayle a=0 6405*9712c20fSFrederick Mayle return 6406*9712c20fSFrederick Mayle end 6407*9712c20fSFrederick Mayle_LT_EOF 6408*9712c20fSFrederick Mayle], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF 6409*9712c20fSFrederick Maylepublic class foo { 6410*9712c20fSFrederick Mayle private int a; 6411*9712c20fSFrederick Mayle public void bar (void) { 6412*9712c20fSFrederick Mayle a = 0; 6413*9712c20fSFrederick Mayle } 6414*9712c20fSFrederick Mayle}; 6415*9712c20fSFrederick Mayle_LT_EOF 6416*9712c20fSFrederick Mayle]) 6417*9712c20fSFrederick Maylednl Parse the compiler output and extract the necessary 6418*9712c20fSFrederick Maylednl objects, libraries and library flags. 6419*9712c20fSFrederick Mayleif AC_TRY_EVAL(ac_compile); then 6420*9712c20fSFrederick Mayle # Parse the compiler output and extract the necessary 6421*9712c20fSFrederick Mayle # objects, libraries and library flags. 6422*9712c20fSFrederick Mayle 6423*9712c20fSFrederick Mayle # Sentinel used to keep track of whether or not we are before 6424*9712c20fSFrederick Mayle # the conftest object file. 6425*9712c20fSFrederick Mayle pre_test_object_deps_done=no 6426*9712c20fSFrederick Mayle 6427*9712c20fSFrederick Mayle for p in `eval "$output_verbose_link_cmd"`; do 6428*9712c20fSFrederick Mayle case $p in 6429*9712c20fSFrederick Mayle 6430*9712c20fSFrederick Mayle -L* | -R* | -l*) 6431*9712c20fSFrederick Mayle # Some compilers place space between "-{L,R}" and the path. 6432*9712c20fSFrederick Mayle # Remove the space. 6433*9712c20fSFrederick Mayle if test $p = "-L" || 6434*9712c20fSFrederick Mayle test $p = "-R"; then 6435*9712c20fSFrederick Mayle prev=$p 6436*9712c20fSFrederick Mayle continue 6437*9712c20fSFrederick Mayle else 6438*9712c20fSFrederick Mayle prev= 6439*9712c20fSFrederick Mayle fi 6440*9712c20fSFrederick Mayle 6441*9712c20fSFrederick Mayle if test "$pre_test_object_deps_done" = no; then 6442*9712c20fSFrederick Mayle case $p in 6443*9712c20fSFrederick Mayle -L* | -R*) 6444*9712c20fSFrederick Mayle # Internal compiler library paths should come after those 6445*9712c20fSFrederick Mayle # provided the user. The postdeps already come after the 6446*9712c20fSFrederick Mayle # user supplied libs so there is no need to process them. 6447*9712c20fSFrederick Mayle if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then 6448*9712c20fSFrederick Mayle _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" 6449*9712c20fSFrederick Mayle else 6450*9712c20fSFrederick Mayle _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" 6451*9712c20fSFrederick Mayle fi 6452*9712c20fSFrederick Mayle ;; 6453*9712c20fSFrederick Mayle # The "-l" case would never come before the object being 6454*9712c20fSFrederick Mayle # linked, so don't bother handling this case. 6455*9712c20fSFrederick Mayle esac 6456*9712c20fSFrederick Mayle else 6457*9712c20fSFrederick Mayle if test -z "$_LT_TAGVAR(postdeps, $1)"; then 6458*9712c20fSFrederick Mayle _LT_TAGVAR(postdeps, $1)="${prev}${p}" 6459*9712c20fSFrederick Mayle else 6460*9712c20fSFrederick Mayle _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" 6461*9712c20fSFrederick Mayle fi 6462*9712c20fSFrederick Mayle fi 6463*9712c20fSFrederick Mayle ;; 6464*9712c20fSFrederick Mayle 6465*9712c20fSFrederick Mayle *.$objext) 6466*9712c20fSFrederick Mayle # This assumes that the test object file only shows up 6467*9712c20fSFrederick Mayle # once in the compiler output. 6468*9712c20fSFrederick Mayle if test "$p" = "conftest.$objext"; then 6469*9712c20fSFrederick Mayle pre_test_object_deps_done=yes 6470*9712c20fSFrederick Mayle continue 6471*9712c20fSFrederick Mayle fi 6472*9712c20fSFrederick Mayle 6473*9712c20fSFrederick Mayle if test "$pre_test_object_deps_done" = no; then 6474*9712c20fSFrederick Mayle if test -z "$_LT_TAGVAR(predep_objects, $1)"; then 6475*9712c20fSFrederick Mayle _LT_TAGVAR(predep_objects, $1)="$p" 6476*9712c20fSFrederick Mayle else 6477*9712c20fSFrederick Mayle _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" 6478*9712c20fSFrederick Mayle fi 6479*9712c20fSFrederick Mayle else 6480*9712c20fSFrederick Mayle if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then 6481*9712c20fSFrederick Mayle _LT_TAGVAR(postdep_objects, $1)="$p" 6482*9712c20fSFrederick Mayle else 6483*9712c20fSFrederick Mayle _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" 6484*9712c20fSFrederick Mayle fi 6485*9712c20fSFrederick Mayle fi 6486*9712c20fSFrederick Mayle ;; 6487*9712c20fSFrederick Mayle 6488*9712c20fSFrederick Mayle *) ;; # Ignore the rest. 6489*9712c20fSFrederick Mayle 6490*9712c20fSFrederick Mayle esac 6491*9712c20fSFrederick Mayle done 6492*9712c20fSFrederick Mayle 6493*9712c20fSFrederick Mayle # Clean up. 6494*9712c20fSFrederick Mayle rm -f a.out a.exe 6495*9712c20fSFrederick Mayleelse 6496*9712c20fSFrederick Mayle echo "libtool.m4: error: problem compiling $1 test program" 6497*9712c20fSFrederick Maylefi 6498*9712c20fSFrederick Mayle 6499*9712c20fSFrederick Mayle$RM -f confest.$objext 6500*9712c20fSFrederick Mayle 6501*9712c20fSFrederick Mayle# PORTME: override above test on systems where it is broken 6502*9712c20fSFrederick Maylem4_if([$1], [CXX], 6503*9712c20fSFrederick Mayle[case $host_os in 6504*9712c20fSFrederick Mayleinterix[[3-9]]*) 6505*9712c20fSFrederick Mayle # Interix 3.5 installs completely hosed .la files for C++, so rather than 6506*9712c20fSFrederick Mayle # hack all around it, let's just trust "g++" to DTRT. 6507*9712c20fSFrederick Mayle _LT_TAGVAR(predep_objects,$1)= 6508*9712c20fSFrederick Mayle _LT_TAGVAR(postdep_objects,$1)= 6509*9712c20fSFrederick Mayle _LT_TAGVAR(postdeps,$1)= 6510*9712c20fSFrederick Mayle ;; 6511*9712c20fSFrederick Mayle 6512*9712c20fSFrederick Maylelinux*) 6513*9712c20fSFrederick Mayle case `$CC -V 2>&1 | sed 5q` in 6514*9712c20fSFrederick Mayle *Sun\ C*) 6515*9712c20fSFrederick Mayle # Sun C++ 5.9 6516*9712c20fSFrederick Mayle 6517*9712c20fSFrederick Mayle # The more standards-conforming stlport4 library is 6518*9712c20fSFrederick Mayle # incompatible with the Cstd library. Avoid specifying 6519*9712c20fSFrederick Mayle # it if it's in CXXFLAGS. Ignore libCrun as 6520*9712c20fSFrederick Mayle # -library=stlport4 depends on it. 6521*9712c20fSFrederick Mayle case " $CXX $CXXFLAGS " in 6522*9712c20fSFrederick Mayle *" -library=stlport4 "*) 6523*9712c20fSFrederick Mayle solaris_use_stlport4=yes 6524*9712c20fSFrederick Mayle ;; 6525*9712c20fSFrederick Mayle esac 6526*9712c20fSFrederick Mayle 6527*9712c20fSFrederick Mayle if test "$solaris_use_stlport4" != yes; then 6528*9712c20fSFrederick Mayle _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 6529*9712c20fSFrederick Mayle fi 6530*9712c20fSFrederick Mayle ;; 6531*9712c20fSFrederick Mayle esac 6532*9712c20fSFrederick Mayle ;; 6533*9712c20fSFrederick Mayle 6534*9712c20fSFrederick Maylesolaris*) 6535*9712c20fSFrederick Mayle case $cc_basename in 6536*9712c20fSFrederick Mayle CC*) 6537*9712c20fSFrederick Mayle # The more standards-conforming stlport4 library is 6538*9712c20fSFrederick Mayle # incompatible with the Cstd library. Avoid specifying 6539*9712c20fSFrederick Mayle # it if it's in CXXFLAGS. Ignore libCrun as 6540*9712c20fSFrederick Mayle # -library=stlport4 depends on it. 6541*9712c20fSFrederick Mayle case " $CXX $CXXFLAGS " in 6542*9712c20fSFrederick Mayle *" -library=stlport4 "*) 6543*9712c20fSFrederick Mayle solaris_use_stlport4=yes 6544*9712c20fSFrederick Mayle ;; 6545*9712c20fSFrederick Mayle esac 6546*9712c20fSFrederick Mayle 6547*9712c20fSFrederick Mayle # Adding this requires a known-good setup of shared libraries for 6548*9712c20fSFrederick Mayle # Sun compiler versions before 5.6, else PIC objects from an old 6549*9712c20fSFrederick Mayle # archive will be linked into the output, leading to subtle bugs. 6550*9712c20fSFrederick Mayle if test "$solaris_use_stlport4" != yes; then 6551*9712c20fSFrederick Mayle _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' 6552*9712c20fSFrederick Mayle fi 6553*9712c20fSFrederick Mayle ;; 6554*9712c20fSFrederick Mayle esac 6555*9712c20fSFrederick Mayle ;; 6556*9712c20fSFrederick Mayleesac 6557*9712c20fSFrederick Mayle]) 6558*9712c20fSFrederick Mayle 6559*9712c20fSFrederick Maylecase " $_LT_TAGVAR(postdeps, $1) " in 6560*9712c20fSFrederick Mayle*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; 6561*9712c20fSFrederick Mayleesac 6562*9712c20fSFrederick Mayle _LT_TAGVAR(compiler_lib_search_dirs, $1)= 6563*9712c20fSFrederick Mayleif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then 6564*9712c20fSFrederick Mayle _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` 6565*9712c20fSFrederick Maylefi 6566*9712c20fSFrederick Mayle_LT_TAGDECL([], [compiler_lib_search_dirs], [1], 6567*9712c20fSFrederick Mayle [The directories searched by this compiler when creating a shared library]) 6568*9712c20fSFrederick Mayle_LT_TAGDECL([], [predep_objects], [1], 6569*9712c20fSFrederick Mayle [Dependencies to place before and after the objects being linked to 6570*9712c20fSFrederick Mayle create a shared library]) 6571*9712c20fSFrederick Mayle_LT_TAGDECL([], [postdep_objects], [1]) 6572*9712c20fSFrederick Mayle_LT_TAGDECL([], [predeps], [1]) 6573*9712c20fSFrederick Mayle_LT_TAGDECL([], [postdeps], [1]) 6574*9712c20fSFrederick Mayle_LT_TAGDECL([], [compiler_lib_search_path], [1], 6575*9712c20fSFrederick Mayle [The library search path used internally by the compiler when linking 6576*9712c20fSFrederick Mayle a shared library]) 6577*9712c20fSFrederick Mayle])# _LT_SYS_HIDDEN_LIBDEPS 6578*9712c20fSFrederick Mayle 6579*9712c20fSFrederick Mayle 6580*9712c20fSFrederick Mayle# _LT_PROG_F77 6581*9712c20fSFrederick Mayle# ------------ 6582*9712c20fSFrederick Mayle# Since AC_PROG_F77 is broken, in that it returns the empty string 6583*9712c20fSFrederick Mayle# if there is no fortran compiler, we have our own version here. 6584*9712c20fSFrederick Maylem4_defun([_LT_PROG_F77], 6585*9712c20fSFrederick Mayle[ 6586*9712c20fSFrederick Maylepushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) 6587*9712c20fSFrederick MayleAC_PROG_F77 6588*9712c20fSFrederick Mayleif test -z "$F77" || test "X$F77" = "Xno"; then 6589*9712c20fSFrederick Mayle _lt_disable_F77=yes 6590*9712c20fSFrederick Maylefi 6591*9712c20fSFrederick Maylepopdef([AC_MSG_ERROR]) 6592*9712c20fSFrederick Mayle])# _LT_PROG_F77 6593*9712c20fSFrederick Mayle 6594*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 6595*9712c20fSFrederick Maylednl AC_DEFUN([_LT_PROG_F77], []) 6596*9712c20fSFrederick Mayle 6597*9712c20fSFrederick Mayle 6598*9712c20fSFrederick Mayle# _LT_LANG_F77_CONFIG([TAG]) 6599*9712c20fSFrederick Mayle# -------------------------- 6600*9712c20fSFrederick Mayle# Ensure that the configuration variables for a Fortran 77 compiler are 6601*9712c20fSFrederick Mayle# suitably defined. These variables are subsequently used by _LT_CONFIG 6602*9712c20fSFrederick Mayle# to write the compiler configuration to `libtool'. 6603*9712c20fSFrederick Maylem4_defun([_LT_LANG_F77_CONFIG], 6604*9712c20fSFrederick Mayle[AC_REQUIRE([_LT_PROG_F77])dnl 6605*9712c20fSFrederick MayleAC_LANG_PUSH(Fortran 77) 6606*9712c20fSFrederick Mayle 6607*9712c20fSFrederick Mayle_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6608*9712c20fSFrederick Mayle_LT_TAGVAR(allow_undefined_flag, $1)= 6609*9712c20fSFrederick Mayle_LT_TAGVAR(always_export_symbols, $1)=no 6610*9712c20fSFrederick Mayle_LT_TAGVAR(archive_expsym_cmds, $1)= 6611*9712c20fSFrederick Mayle_LT_TAGVAR(export_dynamic_flag_spec, $1)= 6612*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_direct, $1)=no 6613*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_direct_absolute, $1)=no 6614*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 6615*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 6616*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_separator, $1)= 6617*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_minus_L, $1)=no 6618*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_automatic, $1)=no 6619*9712c20fSFrederick Mayle_LT_TAGVAR(inherit_rpath, $1)=no 6620*9712c20fSFrederick Mayle_LT_TAGVAR(module_cmds, $1)= 6621*9712c20fSFrederick Mayle_LT_TAGVAR(module_expsym_cmds, $1)= 6622*9712c20fSFrederick Mayle_LT_TAGVAR(link_all_deplibs, $1)=unknown 6623*9712c20fSFrederick Mayle_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 6624*9712c20fSFrederick Mayle_LT_TAGVAR(no_undefined_flag, $1)= 6625*9712c20fSFrederick Mayle_LT_TAGVAR(whole_archive_flag_spec, $1)= 6626*9712c20fSFrederick Mayle_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 6627*9712c20fSFrederick Mayle 6628*9712c20fSFrederick Mayle# Source file extension for f77 test sources. 6629*9712c20fSFrederick Mayleac_ext=f 6630*9712c20fSFrederick Mayle 6631*9712c20fSFrederick Mayle# Object file extension for compiled f77 test sources. 6632*9712c20fSFrederick Mayleobjext=o 6633*9712c20fSFrederick Mayle_LT_TAGVAR(objext, $1)=$objext 6634*9712c20fSFrederick Mayle 6635*9712c20fSFrederick Mayle# No sense in running all these tests if we already determined that 6636*9712c20fSFrederick Mayle# the F77 compiler isn't working. Some variables (like enable_shared) 6637*9712c20fSFrederick Mayle# are currently assumed to apply to all compilers on this platform, 6638*9712c20fSFrederick Mayle# and will be corrupted by setting them based on a non-working compiler. 6639*9712c20fSFrederick Mayleif test "$_lt_disable_F77" != yes; then 6640*9712c20fSFrederick Mayle # Code to be used in simple compile tests 6641*9712c20fSFrederick Mayle lt_simple_compile_test_code="\ 6642*9712c20fSFrederick Mayle subroutine t 6643*9712c20fSFrederick Mayle return 6644*9712c20fSFrederick Mayle end 6645*9712c20fSFrederick Mayle" 6646*9712c20fSFrederick Mayle 6647*9712c20fSFrederick Mayle # Code to be used in simple link tests 6648*9712c20fSFrederick Mayle lt_simple_link_test_code="\ 6649*9712c20fSFrederick Mayle program t 6650*9712c20fSFrederick Mayle end 6651*9712c20fSFrederick Mayle" 6652*9712c20fSFrederick Mayle 6653*9712c20fSFrederick Mayle # ltmain only uses $CC for tagged configurations so make sure $CC is set. 6654*9712c20fSFrederick Mayle _LT_TAG_COMPILER 6655*9712c20fSFrederick Mayle 6656*9712c20fSFrederick Mayle # save warnings/boilerplate of simple test code 6657*9712c20fSFrederick Mayle _LT_COMPILER_BOILERPLATE 6658*9712c20fSFrederick Mayle _LT_LINKER_BOILERPLATE 6659*9712c20fSFrederick Mayle 6660*9712c20fSFrederick Mayle # Allow CC to be a program name with arguments. 6661*9712c20fSFrederick Mayle lt_save_CC="$CC" 6662*9712c20fSFrederick Mayle lt_save_GCC=$GCC 6663*9712c20fSFrederick Mayle CC=${F77-"f77"} 6664*9712c20fSFrederick Mayle compiler=$CC 6665*9712c20fSFrederick Mayle _LT_TAGVAR(compiler, $1)=$CC 6666*9712c20fSFrederick Mayle _LT_CC_BASENAME([$compiler]) 6667*9712c20fSFrederick Mayle GCC=$G77 6668*9712c20fSFrederick Mayle if test -n "$compiler"; then 6669*9712c20fSFrederick Mayle AC_MSG_CHECKING([if libtool supports shared libraries]) 6670*9712c20fSFrederick Mayle AC_MSG_RESULT([$can_build_shared]) 6671*9712c20fSFrederick Mayle 6672*9712c20fSFrederick Mayle AC_MSG_CHECKING([whether to build shared libraries]) 6673*9712c20fSFrederick Mayle test "$can_build_shared" = "no" && enable_shared=no 6674*9712c20fSFrederick Mayle 6675*9712c20fSFrederick Mayle # On AIX, shared libraries and static libraries use the same namespace, and 6676*9712c20fSFrederick Mayle # are all built from PIC. 6677*9712c20fSFrederick Mayle case $host_os in 6678*9712c20fSFrederick Mayle aix3*) 6679*9712c20fSFrederick Mayle test "$enable_shared" = yes && enable_static=no 6680*9712c20fSFrederick Mayle if test -n "$RANLIB"; then 6681*9712c20fSFrederick Mayle archive_cmds="$archive_cmds~\$RANLIB \$lib" 6682*9712c20fSFrederick Mayle postinstall_cmds='$RANLIB $lib' 6683*9712c20fSFrederick Mayle fi 6684*9712c20fSFrederick Mayle ;; 6685*9712c20fSFrederick Mayle aix[[4-9]]*) 6686*9712c20fSFrederick Mayle if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 6687*9712c20fSFrederick Mayle test "$enable_shared" = yes && enable_static=no 6688*9712c20fSFrederick Mayle fi 6689*9712c20fSFrederick Mayle ;; 6690*9712c20fSFrederick Mayle esac 6691*9712c20fSFrederick Mayle AC_MSG_RESULT([$enable_shared]) 6692*9712c20fSFrederick Mayle 6693*9712c20fSFrederick Mayle AC_MSG_CHECKING([whether to build static libraries]) 6694*9712c20fSFrederick Mayle # Make sure either enable_shared or enable_static is yes. 6695*9712c20fSFrederick Mayle test "$enable_shared" = yes || enable_static=yes 6696*9712c20fSFrederick Mayle AC_MSG_RESULT([$enable_static]) 6697*9712c20fSFrederick Mayle 6698*9712c20fSFrederick Mayle _LT_TAGVAR(GCC, $1)="$G77" 6699*9712c20fSFrederick Mayle _LT_TAGVAR(LD, $1)="$LD" 6700*9712c20fSFrederick Mayle 6701*9712c20fSFrederick Mayle ## CAVEAT EMPTOR: 6702*9712c20fSFrederick Mayle ## There is no encapsulation within the following macros, do not change 6703*9712c20fSFrederick Mayle ## the running order or otherwise move them around unless you know exactly 6704*9712c20fSFrederick Mayle ## what you are doing... 6705*9712c20fSFrederick Mayle _LT_COMPILER_PIC($1) 6706*9712c20fSFrederick Mayle _LT_COMPILER_C_O($1) 6707*9712c20fSFrederick Mayle _LT_COMPILER_FILE_LOCKS($1) 6708*9712c20fSFrederick Mayle _LT_LINKER_SHLIBS($1) 6709*9712c20fSFrederick Mayle _LT_SYS_DYNAMIC_LINKER($1) 6710*9712c20fSFrederick Mayle _LT_LINKER_HARDCODE_LIBPATH($1) 6711*9712c20fSFrederick Mayle 6712*9712c20fSFrederick Mayle _LT_CONFIG($1) 6713*9712c20fSFrederick Mayle fi # test -n "$compiler" 6714*9712c20fSFrederick Mayle 6715*9712c20fSFrederick Mayle GCC=$lt_save_GCC 6716*9712c20fSFrederick Mayle CC="$lt_save_CC" 6717*9712c20fSFrederick Maylefi # test "$_lt_disable_F77" != yes 6718*9712c20fSFrederick Mayle 6719*9712c20fSFrederick MayleAC_LANG_POP 6720*9712c20fSFrederick Mayle])# _LT_LANG_F77_CONFIG 6721*9712c20fSFrederick Mayle 6722*9712c20fSFrederick Mayle 6723*9712c20fSFrederick Mayle# _LT_PROG_FC 6724*9712c20fSFrederick Mayle# ----------- 6725*9712c20fSFrederick Mayle# Since AC_PROG_FC is broken, in that it returns the empty string 6726*9712c20fSFrederick Mayle# if there is no fortran compiler, we have our own version here. 6727*9712c20fSFrederick Maylem4_defun([_LT_PROG_FC], 6728*9712c20fSFrederick Mayle[ 6729*9712c20fSFrederick Maylepushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) 6730*9712c20fSFrederick MayleAC_PROG_FC 6731*9712c20fSFrederick Mayleif test -z "$FC" || test "X$FC" = "Xno"; then 6732*9712c20fSFrederick Mayle _lt_disable_FC=yes 6733*9712c20fSFrederick Maylefi 6734*9712c20fSFrederick Maylepopdef([AC_MSG_ERROR]) 6735*9712c20fSFrederick Mayle])# _LT_PROG_FC 6736*9712c20fSFrederick Mayle 6737*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 6738*9712c20fSFrederick Maylednl AC_DEFUN([_LT_PROG_FC], []) 6739*9712c20fSFrederick Mayle 6740*9712c20fSFrederick Mayle 6741*9712c20fSFrederick Mayle# _LT_LANG_FC_CONFIG([TAG]) 6742*9712c20fSFrederick Mayle# ------------------------- 6743*9712c20fSFrederick Mayle# Ensure that the configuration variables for a Fortran compiler are 6744*9712c20fSFrederick Mayle# suitably defined. These variables are subsequently used by _LT_CONFIG 6745*9712c20fSFrederick Mayle# to write the compiler configuration to `libtool'. 6746*9712c20fSFrederick Maylem4_defun([_LT_LANG_FC_CONFIG], 6747*9712c20fSFrederick Mayle[AC_REQUIRE([_LT_PROG_FC])dnl 6748*9712c20fSFrederick MayleAC_LANG_PUSH(Fortran) 6749*9712c20fSFrederick Mayle 6750*9712c20fSFrederick Mayle_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6751*9712c20fSFrederick Mayle_LT_TAGVAR(allow_undefined_flag, $1)= 6752*9712c20fSFrederick Mayle_LT_TAGVAR(always_export_symbols, $1)=no 6753*9712c20fSFrederick Mayle_LT_TAGVAR(archive_expsym_cmds, $1)= 6754*9712c20fSFrederick Mayle_LT_TAGVAR(export_dynamic_flag_spec, $1)= 6755*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_direct, $1)=no 6756*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_direct_absolute, $1)=no 6757*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= 6758*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= 6759*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_libdir_separator, $1)= 6760*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_minus_L, $1)=no 6761*9712c20fSFrederick Mayle_LT_TAGVAR(hardcode_automatic, $1)=no 6762*9712c20fSFrederick Mayle_LT_TAGVAR(inherit_rpath, $1)=no 6763*9712c20fSFrederick Mayle_LT_TAGVAR(module_cmds, $1)= 6764*9712c20fSFrederick Mayle_LT_TAGVAR(module_expsym_cmds, $1)= 6765*9712c20fSFrederick Mayle_LT_TAGVAR(link_all_deplibs, $1)=unknown 6766*9712c20fSFrederick Mayle_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 6767*9712c20fSFrederick Mayle_LT_TAGVAR(no_undefined_flag, $1)= 6768*9712c20fSFrederick Mayle_LT_TAGVAR(whole_archive_flag_spec, $1)= 6769*9712c20fSFrederick Mayle_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no 6770*9712c20fSFrederick Mayle 6771*9712c20fSFrederick Mayle# Source file extension for fc test sources. 6772*9712c20fSFrederick Mayleac_ext=${ac_fc_srcext-f} 6773*9712c20fSFrederick Mayle 6774*9712c20fSFrederick Mayle# Object file extension for compiled fc test sources. 6775*9712c20fSFrederick Mayleobjext=o 6776*9712c20fSFrederick Mayle_LT_TAGVAR(objext, $1)=$objext 6777*9712c20fSFrederick Mayle 6778*9712c20fSFrederick Mayle# No sense in running all these tests if we already determined that 6779*9712c20fSFrederick Mayle# the FC compiler isn't working. Some variables (like enable_shared) 6780*9712c20fSFrederick Mayle# are currently assumed to apply to all compilers on this platform, 6781*9712c20fSFrederick Mayle# and will be corrupted by setting them based on a non-working compiler. 6782*9712c20fSFrederick Mayleif test "$_lt_disable_FC" != yes; then 6783*9712c20fSFrederick Mayle # Code to be used in simple compile tests 6784*9712c20fSFrederick Mayle lt_simple_compile_test_code="\ 6785*9712c20fSFrederick Mayle subroutine t 6786*9712c20fSFrederick Mayle return 6787*9712c20fSFrederick Mayle end 6788*9712c20fSFrederick Mayle" 6789*9712c20fSFrederick Mayle 6790*9712c20fSFrederick Mayle # Code to be used in simple link tests 6791*9712c20fSFrederick Mayle lt_simple_link_test_code="\ 6792*9712c20fSFrederick Mayle program t 6793*9712c20fSFrederick Mayle end 6794*9712c20fSFrederick Mayle" 6795*9712c20fSFrederick Mayle 6796*9712c20fSFrederick Mayle # ltmain only uses $CC for tagged configurations so make sure $CC is set. 6797*9712c20fSFrederick Mayle _LT_TAG_COMPILER 6798*9712c20fSFrederick Mayle 6799*9712c20fSFrederick Mayle # save warnings/boilerplate of simple test code 6800*9712c20fSFrederick Mayle _LT_COMPILER_BOILERPLATE 6801*9712c20fSFrederick Mayle _LT_LINKER_BOILERPLATE 6802*9712c20fSFrederick Mayle 6803*9712c20fSFrederick Mayle # Allow CC to be a program name with arguments. 6804*9712c20fSFrederick Mayle lt_save_CC="$CC" 6805*9712c20fSFrederick Mayle lt_save_GCC=$GCC 6806*9712c20fSFrederick Mayle CC=${FC-"f95"} 6807*9712c20fSFrederick Mayle compiler=$CC 6808*9712c20fSFrederick Mayle GCC=$ac_cv_fc_compiler_gnu 6809*9712c20fSFrederick Mayle 6810*9712c20fSFrederick Mayle _LT_TAGVAR(compiler, $1)=$CC 6811*9712c20fSFrederick Mayle _LT_CC_BASENAME([$compiler]) 6812*9712c20fSFrederick Mayle 6813*9712c20fSFrederick Mayle if test -n "$compiler"; then 6814*9712c20fSFrederick Mayle AC_MSG_CHECKING([if libtool supports shared libraries]) 6815*9712c20fSFrederick Mayle AC_MSG_RESULT([$can_build_shared]) 6816*9712c20fSFrederick Mayle 6817*9712c20fSFrederick Mayle AC_MSG_CHECKING([whether to build shared libraries]) 6818*9712c20fSFrederick Mayle test "$can_build_shared" = "no" && enable_shared=no 6819*9712c20fSFrederick Mayle 6820*9712c20fSFrederick Mayle # On AIX, shared libraries and static libraries use the same namespace, and 6821*9712c20fSFrederick Mayle # are all built from PIC. 6822*9712c20fSFrederick Mayle case $host_os in 6823*9712c20fSFrederick Mayle aix3*) 6824*9712c20fSFrederick Mayle test "$enable_shared" = yes && enable_static=no 6825*9712c20fSFrederick Mayle if test -n "$RANLIB"; then 6826*9712c20fSFrederick Mayle archive_cmds="$archive_cmds~\$RANLIB \$lib" 6827*9712c20fSFrederick Mayle postinstall_cmds='$RANLIB $lib' 6828*9712c20fSFrederick Mayle fi 6829*9712c20fSFrederick Mayle ;; 6830*9712c20fSFrederick Mayle aix[[4-9]]*) 6831*9712c20fSFrederick Mayle if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then 6832*9712c20fSFrederick Mayle test "$enable_shared" = yes && enable_static=no 6833*9712c20fSFrederick Mayle fi 6834*9712c20fSFrederick Mayle ;; 6835*9712c20fSFrederick Mayle esac 6836*9712c20fSFrederick Mayle AC_MSG_RESULT([$enable_shared]) 6837*9712c20fSFrederick Mayle 6838*9712c20fSFrederick Mayle AC_MSG_CHECKING([whether to build static libraries]) 6839*9712c20fSFrederick Mayle # Make sure either enable_shared or enable_static is yes. 6840*9712c20fSFrederick Mayle test "$enable_shared" = yes || enable_static=yes 6841*9712c20fSFrederick Mayle AC_MSG_RESULT([$enable_static]) 6842*9712c20fSFrederick Mayle 6843*9712c20fSFrederick Mayle _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" 6844*9712c20fSFrederick Mayle _LT_TAGVAR(LD, $1)="$LD" 6845*9712c20fSFrederick Mayle 6846*9712c20fSFrederick Mayle ## CAVEAT EMPTOR: 6847*9712c20fSFrederick Mayle ## There is no encapsulation within the following macros, do not change 6848*9712c20fSFrederick Mayle ## the running order or otherwise move them around unless you know exactly 6849*9712c20fSFrederick Mayle ## what you are doing... 6850*9712c20fSFrederick Mayle _LT_SYS_HIDDEN_LIBDEPS($1) 6851*9712c20fSFrederick Mayle _LT_COMPILER_PIC($1) 6852*9712c20fSFrederick Mayle _LT_COMPILER_C_O($1) 6853*9712c20fSFrederick Mayle _LT_COMPILER_FILE_LOCKS($1) 6854*9712c20fSFrederick Mayle _LT_LINKER_SHLIBS($1) 6855*9712c20fSFrederick Mayle _LT_SYS_DYNAMIC_LINKER($1) 6856*9712c20fSFrederick Mayle _LT_LINKER_HARDCODE_LIBPATH($1) 6857*9712c20fSFrederick Mayle 6858*9712c20fSFrederick Mayle _LT_CONFIG($1) 6859*9712c20fSFrederick Mayle fi # test -n "$compiler" 6860*9712c20fSFrederick Mayle 6861*9712c20fSFrederick Mayle GCC=$lt_save_GCC 6862*9712c20fSFrederick Mayle CC="$lt_save_CC" 6863*9712c20fSFrederick Maylefi # test "$_lt_disable_FC" != yes 6864*9712c20fSFrederick Mayle 6865*9712c20fSFrederick MayleAC_LANG_POP 6866*9712c20fSFrederick Mayle])# _LT_LANG_FC_CONFIG 6867*9712c20fSFrederick Mayle 6868*9712c20fSFrederick Mayle 6869*9712c20fSFrederick Mayle# _LT_LANG_GCJ_CONFIG([TAG]) 6870*9712c20fSFrederick Mayle# -------------------------- 6871*9712c20fSFrederick Mayle# Ensure that the configuration variables for the GNU Java Compiler compiler 6872*9712c20fSFrederick Mayle# are suitably defined. These variables are subsequently used by _LT_CONFIG 6873*9712c20fSFrederick Mayle# to write the compiler configuration to `libtool'. 6874*9712c20fSFrederick Maylem4_defun([_LT_LANG_GCJ_CONFIG], 6875*9712c20fSFrederick Mayle[AC_REQUIRE([LT_PROG_GCJ])dnl 6876*9712c20fSFrederick MayleAC_LANG_SAVE 6877*9712c20fSFrederick Mayle 6878*9712c20fSFrederick Mayle# Source file extension for Java test sources. 6879*9712c20fSFrederick Mayleac_ext=java 6880*9712c20fSFrederick Mayle 6881*9712c20fSFrederick Mayle# Object file extension for compiled Java test sources. 6882*9712c20fSFrederick Mayleobjext=o 6883*9712c20fSFrederick Mayle_LT_TAGVAR(objext, $1)=$objext 6884*9712c20fSFrederick Mayle 6885*9712c20fSFrederick Mayle# Code to be used in simple compile tests 6886*9712c20fSFrederick Maylelt_simple_compile_test_code="class foo {}" 6887*9712c20fSFrederick Mayle 6888*9712c20fSFrederick Mayle# Code to be used in simple link tests 6889*9712c20fSFrederick Maylelt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' 6890*9712c20fSFrederick Mayle 6891*9712c20fSFrederick Mayle# ltmain only uses $CC for tagged configurations so make sure $CC is set. 6892*9712c20fSFrederick Mayle_LT_TAG_COMPILER 6893*9712c20fSFrederick Mayle 6894*9712c20fSFrederick Mayle# save warnings/boilerplate of simple test code 6895*9712c20fSFrederick Mayle_LT_COMPILER_BOILERPLATE 6896*9712c20fSFrederick Mayle_LT_LINKER_BOILERPLATE 6897*9712c20fSFrederick Mayle 6898*9712c20fSFrederick Mayle# Allow CC to be a program name with arguments. 6899*9712c20fSFrederick Maylelt_save_CC="$CC" 6900*9712c20fSFrederick Maylelt_save_GCC=$GCC 6901*9712c20fSFrederick MayleGCC=yes 6902*9712c20fSFrederick MayleCC=${GCJ-"gcj"} 6903*9712c20fSFrederick Maylecompiler=$CC 6904*9712c20fSFrederick Mayle_LT_TAGVAR(compiler, $1)=$CC 6905*9712c20fSFrederick Mayle_LT_TAGVAR(LD, $1)="$LD" 6906*9712c20fSFrederick Mayle_LT_CC_BASENAME([$compiler]) 6907*9712c20fSFrederick Mayle 6908*9712c20fSFrederick Mayle# GCJ did not exist at the time GCC didn't implicitly link libc in. 6909*9712c20fSFrederick Mayle_LT_TAGVAR(archive_cmds_need_lc, $1)=no 6910*9712c20fSFrederick Mayle 6911*9712c20fSFrederick Mayle_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 6912*9712c20fSFrederick Mayle 6913*9712c20fSFrederick Mayle## CAVEAT EMPTOR: 6914*9712c20fSFrederick Mayle## There is no encapsulation within the following macros, do not change 6915*9712c20fSFrederick Mayle## the running order or otherwise move them around unless you know exactly 6916*9712c20fSFrederick Mayle## what you are doing... 6917*9712c20fSFrederick Mayleif test -n "$compiler"; then 6918*9712c20fSFrederick Mayle _LT_COMPILER_NO_RTTI($1) 6919*9712c20fSFrederick Mayle _LT_COMPILER_PIC($1) 6920*9712c20fSFrederick Mayle _LT_COMPILER_C_O($1) 6921*9712c20fSFrederick Mayle _LT_COMPILER_FILE_LOCKS($1) 6922*9712c20fSFrederick Mayle _LT_LINKER_SHLIBS($1) 6923*9712c20fSFrederick Mayle _LT_LINKER_HARDCODE_LIBPATH($1) 6924*9712c20fSFrederick Mayle 6925*9712c20fSFrederick Mayle _LT_CONFIG($1) 6926*9712c20fSFrederick Maylefi 6927*9712c20fSFrederick Mayle 6928*9712c20fSFrederick MayleAC_LANG_RESTORE 6929*9712c20fSFrederick Mayle 6930*9712c20fSFrederick MayleGCC=$lt_save_GCC 6931*9712c20fSFrederick MayleCC="$lt_save_CC" 6932*9712c20fSFrederick Mayle])# _LT_LANG_GCJ_CONFIG 6933*9712c20fSFrederick Mayle 6934*9712c20fSFrederick Mayle 6935*9712c20fSFrederick Mayle# _LT_LANG_RC_CONFIG([TAG]) 6936*9712c20fSFrederick Mayle# ------------------------- 6937*9712c20fSFrederick Mayle# Ensure that the configuration variables for the Windows resource compiler 6938*9712c20fSFrederick Mayle# are suitably defined. These variables are subsequently used by _LT_CONFIG 6939*9712c20fSFrederick Mayle# to write the compiler configuration to `libtool'. 6940*9712c20fSFrederick Maylem4_defun([_LT_LANG_RC_CONFIG], 6941*9712c20fSFrederick Mayle[AC_REQUIRE([LT_PROG_RC])dnl 6942*9712c20fSFrederick MayleAC_LANG_SAVE 6943*9712c20fSFrederick Mayle 6944*9712c20fSFrederick Mayle# Source file extension for RC test sources. 6945*9712c20fSFrederick Mayleac_ext=rc 6946*9712c20fSFrederick Mayle 6947*9712c20fSFrederick Mayle# Object file extension for compiled RC test sources. 6948*9712c20fSFrederick Mayleobjext=o 6949*9712c20fSFrederick Mayle_LT_TAGVAR(objext, $1)=$objext 6950*9712c20fSFrederick Mayle 6951*9712c20fSFrederick Mayle# Code to be used in simple compile tests 6952*9712c20fSFrederick Maylelt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' 6953*9712c20fSFrederick Mayle 6954*9712c20fSFrederick Mayle# Code to be used in simple link tests 6955*9712c20fSFrederick Maylelt_simple_link_test_code="$lt_simple_compile_test_code" 6956*9712c20fSFrederick Mayle 6957*9712c20fSFrederick Mayle# ltmain only uses $CC for tagged configurations so make sure $CC is set. 6958*9712c20fSFrederick Mayle_LT_TAG_COMPILER 6959*9712c20fSFrederick Mayle 6960*9712c20fSFrederick Mayle# save warnings/boilerplate of simple test code 6961*9712c20fSFrederick Mayle_LT_COMPILER_BOILERPLATE 6962*9712c20fSFrederick Mayle_LT_LINKER_BOILERPLATE 6963*9712c20fSFrederick Mayle 6964*9712c20fSFrederick Mayle# Allow CC to be a program name with arguments. 6965*9712c20fSFrederick Maylelt_save_CC="$CC" 6966*9712c20fSFrederick Maylelt_save_GCC=$GCC 6967*9712c20fSFrederick MayleGCC= 6968*9712c20fSFrederick MayleCC=${RC-"windres"} 6969*9712c20fSFrederick Maylecompiler=$CC 6970*9712c20fSFrederick Mayle_LT_TAGVAR(compiler, $1)=$CC 6971*9712c20fSFrederick Mayle_LT_CC_BASENAME([$compiler]) 6972*9712c20fSFrederick Mayle_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes 6973*9712c20fSFrederick Mayle 6974*9712c20fSFrederick Mayleif test -n "$compiler"; then 6975*9712c20fSFrederick Mayle : 6976*9712c20fSFrederick Mayle _LT_CONFIG($1) 6977*9712c20fSFrederick Maylefi 6978*9712c20fSFrederick Mayle 6979*9712c20fSFrederick MayleGCC=$lt_save_GCC 6980*9712c20fSFrederick MayleAC_LANG_RESTORE 6981*9712c20fSFrederick MayleCC="$lt_save_CC" 6982*9712c20fSFrederick Mayle])# _LT_LANG_RC_CONFIG 6983*9712c20fSFrederick Mayle 6984*9712c20fSFrederick Mayle 6985*9712c20fSFrederick Mayle# LT_PROG_GCJ 6986*9712c20fSFrederick Mayle# ----------- 6987*9712c20fSFrederick MayleAC_DEFUN([LT_PROG_GCJ], 6988*9712c20fSFrederick Mayle[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], 6989*9712c20fSFrederick Mayle [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], 6990*9712c20fSFrederick Mayle [AC_CHECK_TOOL(GCJ, gcj,) 6991*9712c20fSFrederick Mayle test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" 6992*9712c20fSFrederick Mayle AC_SUBST(GCJFLAGS)])])[]dnl 6993*9712c20fSFrederick Mayle]) 6994*9712c20fSFrederick Mayle 6995*9712c20fSFrederick Mayle# Old name: 6996*9712c20fSFrederick MayleAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) 6997*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 6998*9712c20fSFrederick Maylednl AC_DEFUN([LT_AC_PROG_GCJ], []) 6999*9712c20fSFrederick Mayle 7000*9712c20fSFrederick Mayle 7001*9712c20fSFrederick Mayle# LT_PROG_RC 7002*9712c20fSFrederick Mayle# ---------- 7003*9712c20fSFrederick MayleAC_DEFUN([LT_PROG_RC], 7004*9712c20fSFrederick Mayle[AC_CHECK_TOOL(RC, windres,) 7005*9712c20fSFrederick Mayle]) 7006*9712c20fSFrederick Mayle 7007*9712c20fSFrederick Mayle# Old name: 7008*9712c20fSFrederick MayleAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) 7009*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 7010*9712c20fSFrederick Maylednl AC_DEFUN([LT_AC_PROG_RC], []) 7011*9712c20fSFrederick Mayle 7012*9712c20fSFrederick Mayle 7013*9712c20fSFrederick Mayle# _LT_DECL_EGREP 7014*9712c20fSFrederick Mayle# -------------- 7015*9712c20fSFrederick Mayle# If we don't have a new enough Autoconf to choose the best grep 7016*9712c20fSFrederick Mayle# available, choose the one first in the user's PATH. 7017*9712c20fSFrederick Maylem4_defun([_LT_DECL_EGREP], 7018*9712c20fSFrederick Mayle[AC_REQUIRE([AC_PROG_EGREP])dnl 7019*9712c20fSFrederick MayleAC_REQUIRE([AC_PROG_FGREP])dnl 7020*9712c20fSFrederick Mayletest -z "$GREP" && GREP=grep 7021*9712c20fSFrederick Mayle_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) 7022*9712c20fSFrederick Mayle_LT_DECL([], [EGREP], [1], [An ERE matcher]) 7023*9712c20fSFrederick Mayle_LT_DECL([], [FGREP], [1], [A literal string matcher]) 7024*9712c20fSFrederick Maylednl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too 7025*9712c20fSFrederick MayleAC_SUBST([GREP]) 7026*9712c20fSFrederick Mayle]) 7027*9712c20fSFrederick Mayle 7028*9712c20fSFrederick Mayle 7029*9712c20fSFrederick Mayle# _LT_DECL_OBJDUMP 7030*9712c20fSFrederick Mayle# -------------- 7031*9712c20fSFrederick Mayle# If we don't have a new enough Autoconf to choose the best objdump 7032*9712c20fSFrederick Mayle# available, choose the one first in the user's PATH. 7033*9712c20fSFrederick Maylem4_defun([_LT_DECL_OBJDUMP], 7034*9712c20fSFrederick Mayle[AC_CHECK_TOOL(OBJDUMP, objdump, false) 7035*9712c20fSFrederick Mayletest -z "$OBJDUMP" && OBJDUMP=objdump 7036*9712c20fSFrederick Mayle_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) 7037*9712c20fSFrederick MayleAC_SUBST([OBJDUMP]) 7038*9712c20fSFrederick Mayle]) 7039*9712c20fSFrederick Mayle 7040*9712c20fSFrederick Mayle 7041*9712c20fSFrederick Mayle# _LT_DECL_SED 7042*9712c20fSFrederick Mayle# ------------ 7043*9712c20fSFrederick Mayle# Check for a fully-functional sed program, that truncates 7044*9712c20fSFrederick Mayle# as few characters as possible. Prefer GNU sed if found. 7045*9712c20fSFrederick Maylem4_defun([_LT_DECL_SED], 7046*9712c20fSFrederick Mayle[AC_PROG_SED 7047*9712c20fSFrederick Mayletest -z "$SED" && SED=sed 7048*9712c20fSFrederick MayleXsed="$SED -e 1s/^X//" 7049*9712c20fSFrederick Mayle_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) 7050*9712c20fSFrederick Mayle_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], 7051*9712c20fSFrederick Mayle [Sed that helps us avoid accidentally triggering echo(1) options like -n]) 7052*9712c20fSFrederick Mayle])# _LT_DECL_SED 7053*9712c20fSFrederick Mayle 7054*9712c20fSFrederick Maylem4_ifndef([AC_PROG_SED], [ 7055*9712c20fSFrederick Mayle############################################################ 7056*9712c20fSFrederick Mayle# NOTE: This macro has been submitted for inclusion into # 7057*9712c20fSFrederick Mayle# GNU Autoconf as AC_PROG_SED. When it is available in # 7058*9712c20fSFrederick Mayle# a released version of Autoconf we should remove this # 7059*9712c20fSFrederick Mayle# macro and use it instead. # 7060*9712c20fSFrederick Mayle############################################################ 7061*9712c20fSFrederick Mayle 7062*9712c20fSFrederick Maylem4_defun([AC_PROG_SED], 7063*9712c20fSFrederick Mayle[AC_MSG_CHECKING([for a sed that does not truncate output]) 7064*9712c20fSFrederick MayleAC_CACHE_VAL(lt_cv_path_SED, 7065*9712c20fSFrederick Mayle[# Loop through the user's path and test for sed and gsed. 7066*9712c20fSFrederick Mayle# Then use that list of sed's as ones to test for truncation. 7067*9712c20fSFrederick Mayleas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 7068*9712c20fSFrederick Maylefor as_dir in $PATH 7069*9712c20fSFrederick Mayledo 7070*9712c20fSFrederick Mayle IFS=$as_save_IFS 7071*9712c20fSFrederick Mayle test -z "$as_dir" && as_dir=. 7072*9712c20fSFrederick Mayle for lt_ac_prog in sed gsed; do 7073*9712c20fSFrederick Mayle for ac_exec_ext in '' $ac_executable_extensions; do 7074*9712c20fSFrederick Mayle if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then 7075*9712c20fSFrederick Mayle lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" 7076*9712c20fSFrederick Mayle fi 7077*9712c20fSFrederick Mayle done 7078*9712c20fSFrederick Mayle done 7079*9712c20fSFrederick Mayledone 7080*9712c20fSFrederick MayleIFS=$as_save_IFS 7081*9712c20fSFrederick Maylelt_ac_max=0 7082*9712c20fSFrederick Maylelt_ac_count=0 7083*9712c20fSFrederick Mayle# Add /usr/xpg4/bin/sed as it is typically found on Solaris 7084*9712c20fSFrederick Mayle# along with /bin/sed that truncates output. 7085*9712c20fSFrederick Maylefor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do 7086*9712c20fSFrederick Mayle test ! -f $lt_ac_sed && continue 7087*9712c20fSFrederick Mayle cat /dev/null > conftest.in 7088*9712c20fSFrederick Mayle lt_ac_count=0 7089*9712c20fSFrederick Mayle echo $ECHO_N "0123456789$ECHO_C" >conftest.in 7090*9712c20fSFrederick Mayle # Check for GNU sed and select it if it is found. 7091*9712c20fSFrederick Mayle if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then 7092*9712c20fSFrederick Mayle lt_cv_path_SED=$lt_ac_sed 7093*9712c20fSFrederick Mayle break 7094*9712c20fSFrederick Mayle fi 7095*9712c20fSFrederick Mayle while true; do 7096*9712c20fSFrederick Mayle cat conftest.in conftest.in >conftest.tmp 7097*9712c20fSFrederick Mayle mv conftest.tmp conftest.in 7098*9712c20fSFrederick Mayle cp conftest.in conftest.nl 7099*9712c20fSFrederick Mayle echo >>conftest.nl 7100*9712c20fSFrederick Mayle $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break 7101*9712c20fSFrederick Mayle cmp -s conftest.out conftest.nl || break 7102*9712c20fSFrederick Mayle # 10000 chars as input seems more than enough 7103*9712c20fSFrederick Mayle test $lt_ac_count -gt 10 && break 7104*9712c20fSFrederick Mayle lt_ac_count=`expr $lt_ac_count + 1` 7105*9712c20fSFrederick Mayle if test $lt_ac_count -gt $lt_ac_max; then 7106*9712c20fSFrederick Mayle lt_ac_max=$lt_ac_count 7107*9712c20fSFrederick Mayle lt_cv_path_SED=$lt_ac_sed 7108*9712c20fSFrederick Mayle fi 7109*9712c20fSFrederick Mayle done 7110*9712c20fSFrederick Mayledone 7111*9712c20fSFrederick Mayle]) 7112*9712c20fSFrederick MayleSED=$lt_cv_path_SED 7113*9712c20fSFrederick MayleAC_SUBST([SED]) 7114*9712c20fSFrederick MayleAC_MSG_RESULT([$SED]) 7115*9712c20fSFrederick Mayle])#AC_PROG_SED 7116*9712c20fSFrederick Mayle])#m4_ifndef 7117*9712c20fSFrederick Mayle 7118*9712c20fSFrederick Mayle# Old name: 7119*9712c20fSFrederick MayleAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) 7120*9712c20fSFrederick Maylednl aclocal-1.4 backwards compatibility: 7121*9712c20fSFrederick Maylednl AC_DEFUN([LT_AC_PROG_SED], []) 7122*9712c20fSFrederick Mayle 7123*9712c20fSFrederick Mayle 7124*9712c20fSFrederick Mayle# _LT_CHECK_SHELL_FEATURES 7125*9712c20fSFrederick Mayle# ------------------------ 7126*9712c20fSFrederick Mayle# Find out whether the shell is Bourne or XSI compatible, 7127*9712c20fSFrederick Mayle# or has some other useful features. 7128*9712c20fSFrederick Maylem4_defun([_LT_CHECK_SHELL_FEATURES], 7129*9712c20fSFrederick Mayle[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) 7130*9712c20fSFrederick Mayle# Try some XSI features 7131*9712c20fSFrederick Maylexsi_shell=no 7132*9712c20fSFrederick Mayle( _lt_dummy="a/b/c" 7133*9712c20fSFrederick Mayle test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ 7134*9712c20fSFrederick Mayle = c,a/b,, \ 7135*9712c20fSFrederick Mayle && eval 'test $(( 1 + 1 )) -eq 2 \ 7136*9712c20fSFrederick Mayle && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ 7137*9712c20fSFrederick Mayle && xsi_shell=yes 7138*9712c20fSFrederick MayleAC_MSG_RESULT([$xsi_shell]) 7139*9712c20fSFrederick Mayle_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) 7140*9712c20fSFrederick Mayle 7141*9712c20fSFrederick MayleAC_MSG_CHECKING([whether the shell understands "+="]) 7142*9712c20fSFrederick Maylelt_shell_append=no 7143*9712c20fSFrederick Mayle( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ 7144*9712c20fSFrederick Mayle >/dev/null 2>&1 \ 7145*9712c20fSFrederick Mayle && lt_shell_append=yes 7146*9712c20fSFrederick MayleAC_MSG_RESULT([$lt_shell_append]) 7147*9712c20fSFrederick Mayle_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) 7148*9712c20fSFrederick Mayle 7149*9712c20fSFrederick Mayleif ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then 7150*9712c20fSFrederick Mayle lt_unset=unset 7151*9712c20fSFrederick Mayleelse 7152*9712c20fSFrederick Mayle lt_unset=false 7153*9712c20fSFrederick Maylefi 7154*9712c20fSFrederick Mayle_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl 7155*9712c20fSFrederick Mayle 7156*9712c20fSFrederick Mayle# test EBCDIC or ASCII 7157*9712c20fSFrederick Maylecase `echo X|tr X '\101'` in 7158*9712c20fSFrederick Mayle A) # ASCII based system 7159*9712c20fSFrederick Mayle # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr 7160*9712c20fSFrederick Mayle lt_SP2NL='tr \040 \012' 7161*9712c20fSFrederick Mayle lt_NL2SP='tr \015\012 \040\040' 7162*9712c20fSFrederick Mayle ;; 7163*9712c20fSFrederick Mayle *) # EBCDIC based system 7164*9712c20fSFrederick Mayle lt_SP2NL='tr \100 \n' 7165*9712c20fSFrederick Mayle lt_NL2SP='tr \r\n \100\100' 7166*9712c20fSFrederick Mayle ;; 7167*9712c20fSFrederick Mayleesac 7168*9712c20fSFrederick Mayle_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl 7169*9712c20fSFrederick Mayle_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl 7170*9712c20fSFrederick Mayle])# _LT_CHECK_SHELL_FEATURES 7171*9712c20fSFrederick Mayle 7172*9712c20fSFrederick Mayle 7173*9712c20fSFrederick Mayle# _LT_PROG_XSI_SHELLFNS 7174*9712c20fSFrederick Mayle# --------------------- 7175*9712c20fSFrederick Mayle# Bourne and XSI compatible variants of some useful shell functions. 7176*9712c20fSFrederick Maylem4_defun([_LT_PROG_XSI_SHELLFNS], 7177*9712c20fSFrederick Mayle[case $xsi_shell in 7178*9712c20fSFrederick Mayle yes) 7179*9712c20fSFrederick Mayle cat << \_LT_EOF >> "$cfgfile" 7180*9712c20fSFrederick Mayle 7181*9712c20fSFrederick Mayle# func_dirname file append nondir_replacement 7182*9712c20fSFrederick Mayle# Compute the dirname of FILE. If nonempty, add APPEND to the result, 7183*9712c20fSFrederick Mayle# otherwise set result to NONDIR_REPLACEMENT. 7184*9712c20fSFrederick Maylefunc_dirname () 7185*9712c20fSFrederick Mayle{ 7186*9712c20fSFrederick Mayle case ${1} in 7187*9712c20fSFrederick Mayle */*) func_dirname_result="${1%/*}${2}" ;; 7188*9712c20fSFrederick Mayle * ) func_dirname_result="${3}" ;; 7189*9712c20fSFrederick Mayle esac 7190*9712c20fSFrederick Mayle} 7191*9712c20fSFrederick Mayle 7192*9712c20fSFrederick Mayle# func_basename file 7193*9712c20fSFrederick Maylefunc_basename () 7194*9712c20fSFrederick Mayle{ 7195*9712c20fSFrederick Mayle func_basename_result="${1##*/}" 7196*9712c20fSFrederick Mayle} 7197*9712c20fSFrederick Mayle 7198*9712c20fSFrederick Mayle# func_dirname_and_basename file append nondir_replacement 7199*9712c20fSFrederick Mayle# perform func_basename and func_dirname in a single function 7200*9712c20fSFrederick Mayle# call: 7201*9712c20fSFrederick Mayle# dirname: Compute the dirname of FILE. If nonempty, 7202*9712c20fSFrederick Mayle# add APPEND to the result, otherwise set result 7203*9712c20fSFrederick Mayle# to NONDIR_REPLACEMENT. 7204*9712c20fSFrederick Mayle# value returned in "$func_dirname_result" 7205*9712c20fSFrederick Mayle# basename: Compute filename of FILE. 7206*9712c20fSFrederick Mayle# value retuned in "$func_basename_result" 7207*9712c20fSFrederick Mayle# Implementation must be kept synchronized with func_dirname 7208*9712c20fSFrederick Mayle# and func_basename. For efficiency, we do not delegate to 7209*9712c20fSFrederick Mayle# those functions but instead duplicate the functionality here. 7210*9712c20fSFrederick Maylefunc_dirname_and_basename () 7211*9712c20fSFrederick Mayle{ 7212*9712c20fSFrederick Mayle case ${1} in 7213*9712c20fSFrederick Mayle */*) func_dirname_result="${1%/*}${2}" ;; 7214*9712c20fSFrederick Mayle * ) func_dirname_result="${3}" ;; 7215*9712c20fSFrederick Mayle esac 7216*9712c20fSFrederick Mayle func_basename_result="${1##*/}" 7217*9712c20fSFrederick Mayle} 7218*9712c20fSFrederick Mayle 7219*9712c20fSFrederick Mayle# func_stripname prefix suffix name 7220*9712c20fSFrederick Mayle# strip PREFIX and SUFFIX off of NAME. 7221*9712c20fSFrederick Mayle# PREFIX and SUFFIX must not contain globbing or regex special 7222*9712c20fSFrederick Mayle# characters, hashes, percent signs, but SUFFIX may contain a leading 7223*9712c20fSFrederick Mayle# dot (in which case that matches only a dot). 7224*9712c20fSFrederick Maylefunc_stripname () 7225*9712c20fSFrederick Mayle{ 7226*9712c20fSFrederick Mayle # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are 7227*9712c20fSFrederick Mayle # positional parameters, so assign one to ordinary parameter first. 7228*9712c20fSFrederick Mayle func_stripname_result=${3} 7229*9712c20fSFrederick Mayle func_stripname_result=${func_stripname_result#"${1}"} 7230*9712c20fSFrederick Mayle func_stripname_result=${func_stripname_result%"${2}"} 7231*9712c20fSFrederick Mayle} 7232*9712c20fSFrederick Mayle 7233*9712c20fSFrederick Mayle# func_opt_split 7234*9712c20fSFrederick Maylefunc_opt_split () 7235*9712c20fSFrederick Mayle{ 7236*9712c20fSFrederick Mayle func_opt_split_opt=${1%%=*} 7237*9712c20fSFrederick Mayle func_opt_split_arg=${1#*=} 7238*9712c20fSFrederick Mayle} 7239*9712c20fSFrederick Mayle 7240*9712c20fSFrederick Mayle# func_lo2o object 7241*9712c20fSFrederick Maylefunc_lo2o () 7242*9712c20fSFrederick Mayle{ 7243*9712c20fSFrederick Mayle case ${1} in 7244*9712c20fSFrederick Mayle *.lo) func_lo2o_result=${1%.lo}.${objext} ;; 7245*9712c20fSFrederick Mayle *) func_lo2o_result=${1} ;; 7246*9712c20fSFrederick Mayle esac 7247*9712c20fSFrederick Mayle} 7248*9712c20fSFrederick Mayle 7249*9712c20fSFrederick Mayle# func_xform libobj-or-source 7250*9712c20fSFrederick Maylefunc_xform () 7251*9712c20fSFrederick Mayle{ 7252*9712c20fSFrederick Mayle func_xform_result=${1%.*}.lo 7253*9712c20fSFrederick Mayle} 7254*9712c20fSFrederick Mayle 7255*9712c20fSFrederick Mayle# func_arith arithmetic-term... 7256*9712c20fSFrederick Maylefunc_arith () 7257*9712c20fSFrederick Mayle{ 7258*9712c20fSFrederick Mayle func_arith_result=$(( $[*] )) 7259*9712c20fSFrederick Mayle} 7260*9712c20fSFrederick Mayle 7261*9712c20fSFrederick Mayle# func_len string 7262*9712c20fSFrederick Mayle# STRING may not start with a hyphen. 7263*9712c20fSFrederick Maylefunc_len () 7264*9712c20fSFrederick Mayle{ 7265*9712c20fSFrederick Mayle func_len_result=${#1} 7266*9712c20fSFrederick Mayle} 7267*9712c20fSFrederick Mayle 7268*9712c20fSFrederick Mayle_LT_EOF 7269*9712c20fSFrederick Mayle ;; 7270*9712c20fSFrederick Mayle *) # Bourne compatible functions. 7271*9712c20fSFrederick Mayle cat << \_LT_EOF >> "$cfgfile" 7272*9712c20fSFrederick Mayle 7273*9712c20fSFrederick Mayle# func_dirname file append nondir_replacement 7274*9712c20fSFrederick Mayle# Compute the dirname of FILE. If nonempty, add APPEND to the result, 7275*9712c20fSFrederick Mayle# otherwise set result to NONDIR_REPLACEMENT. 7276*9712c20fSFrederick Maylefunc_dirname () 7277*9712c20fSFrederick Mayle{ 7278*9712c20fSFrederick Mayle # Extract subdirectory from the argument. 7279*9712c20fSFrederick Mayle func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` 7280*9712c20fSFrederick Mayle if test "X$func_dirname_result" = "X${1}"; then 7281*9712c20fSFrederick Mayle func_dirname_result="${3}" 7282*9712c20fSFrederick Mayle else 7283*9712c20fSFrederick Mayle func_dirname_result="$func_dirname_result${2}" 7284*9712c20fSFrederick Mayle fi 7285*9712c20fSFrederick Mayle} 7286*9712c20fSFrederick Mayle 7287*9712c20fSFrederick Mayle# func_basename file 7288*9712c20fSFrederick Maylefunc_basename () 7289*9712c20fSFrederick Mayle{ 7290*9712c20fSFrederick Mayle func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` 7291*9712c20fSFrederick Mayle} 7292*9712c20fSFrederick Mayle 7293*9712c20fSFrederick Maylednl func_dirname_and_basename 7294*9712c20fSFrederick Maylednl A portable version of this function is already defined in general.m4sh 7295*9712c20fSFrederick Maylednl so there is no need for it here. 7296*9712c20fSFrederick Mayle 7297*9712c20fSFrederick Mayle# func_stripname prefix suffix name 7298*9712c20fSFrederick Mayle# strip PREFIX and SUFFIX off of NAME. 7299*9712c20fSFrederick Mayle# PREFIX and SUFFIX must not contain globbing or regex special 7300*9712c20fSFrederick Mayle# characters, hashes, percent signs, but SUFFIX may contain a leading 7301*9712c20fSFrederick Mayle# dot (in which case that matches only a dot). 7302*9712c20fSFrederick Mayle# func_strip_suffix prefix name 7303*9712c20fSFrederick Maylefunc_stripname () 7304*9712c20fSFrederick Mayle{ 7305*9712c20fSFrederick Mayle case ${2} in 7306*9712c20fSFrederick Mayle .*) func_stripname_result=`$ECHO "X${3}" \ 7307*9712c20fSFrederick Mayle | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; 7308*9712c20fSFrederick Mayle *) func_stripname_result=`$ECHO "X${3}" \ 7309*9712c20fSFrederick Mayle | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; 7310*9712c20fSFrederick Mayle esac 7311*9712c20fSFrederick Mayle} 7312*9712c20fSFrederick Mayle 7313*9712c20fSFrederick Mayle# sed scripts: 7314*9712c20fSFrederick Maylemy_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' 7315*9712c20fSFrederick Maylemy_sed_long_arg='1s/^-[[^=]]*=//' 7316*9712c20fSFrederick Mayle 7317*9712c20fSFrederick Mayle# func_opt_split 7318*9712c20fSFrederick Maylefunc_opt_split () 7319*9712c20fSFrederick Mayle{ 7320*9712c20fSFrederick Mayle func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` 7321*9712c20fSFrederick Mayle func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` 7322*9712c20fSFrederick Mayle} 7323*9712c20fSFrederick Mayle 7324*9712c20fSFrederick Mayle# func_lo2o object 7325*9712c20fSFrederick Maylefunc_lo2o () 7326*9712c20fSFrederick Mayle{ 7327*9712c20fSFrederick Mayle func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` 7328*9712c20fSFrederick Mayle} 7329*9712c20fSFrederick Mayle 7330*9712c20fSFrederick Mayle# func_xform libobj-or-source 7331*9712c20fSFrederick Maylefunc_xform () 7332*9712c20fSFrederick Mayle{ 7333*9712c20fSFrederick Mayle func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` 7334*9712c20fSFrederick Mayle} 7335*9712c20fSFrederick Mayle 7336*9712c20fSFrederick Mayle# func_arith arithmetic-term... 7337*9712c20fSFrederick Maylefunc_arith () 7338*9712c20fSFrederick Mayle{ 7339*9712c20fSFrederick Mayle func_arith_result=`expr "$[@]"` 7340*9712c20fSFrederick Mayle} 7341*9712c20fSFrederick Mayle 7342*9712c20fSFrederick Mayle# func_len string 7343*9712c20fSFrederick Mayle# STRING may not start with a hyphen. 7344*9712c20fSFrederick Maylefunc_len () 7345*9712c20fSFrederick Mayle{ 7346*9712c20fSFrederick Mayle func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` 7347*9712c20fSFrederick Mayle} 7348*9712c20fSFrederick Mayle 7349*9712c20fSFrederick Mayle_LT_EOF 7350*9712c20fSFrederick Mayleesac 7351*9712c20fSFrederick Mayle 7352*9712c20fSFrederick Maylecase $lt_shell_append in 7353*9712c20fSFrederick Mayle yes) 7354*9712c20fSFrederick Mayle cat << \_LT_EOF >> "$cfgfile" 7355*9712c20fSFrederick Mayle 7356*9712c20fSFrederick Mayle# func_append var value 7357*9712c20fSFrederick Mayle# Append VALUE to the end of shell variable VAR. 7358*9712c20fSFrederick Maylefunc_append () 7359*9712c20fSFrederick Mayle{ 7360*9712c20fSFrederick Mayle eval "$[1]+=\$[2]" 7361*9712c20fSFrederick Mayle} 7362*9712c20fSFrederick Mayle_LT_EOF 7363*9712c20fSFrederick Mayle ;; 7364*9712c20fSFrederick Mayle *) 7365*9712c20fSFrederick Mayle cat << \_LT_EOF >> "$cfgfile" 7366*9712c20fSFrederick Mayle 7367*9712c20fSFrederick Mayle# func_append var value 7368*9712c20fSFrederick Mayle# Append VALUE to the end of shell variable VAR. 7369*9712c20fSFrederick Maylefunc_append () 7370*9712c20fSFrederick Mayle{ 7371*9712c20fSFrederick Mayle eval "$[1]=\$$[1]\$[2]" 7372*9712c20fSFrederick Mayle} 7373*9712c20fSFrederick Mayle 7374*9712c20fSFrederick Mayle_LT_EOF 7375*9712c20fSFrederick Mayle ;; 7376*9712c20fSFrederick Mayle esac 7377*9712c20fSFrederick Mayle]) 7378