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