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