140dd5a57Smrg# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
240dd5a57Smrg
340dd5a57Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
440dd5a57Smrg# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
540dd5a57Smrg# This file is free software; the Free Software Foundation
640dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
740dd5a57Smrg# with or without modifications, as long as this notice is preserved.
840dd5a57Smrg
940dd5a57Smrg# This program is distributed in the hope that it will be useful,
1040dd5a57Smrg# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
1140dd5a57Smrg# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
1240dd5a57Smrg# PARTICULAR PURPOSE.
1340dd5a57Smrg
1440dd5a57Smrgm4_ifndef([AC_AUTOCONF_VERSION],
1540dd5a57Smrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
1640dd5a57Smrgm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.66],,
1740dd5a57Smrg[m4_warning([this file was generated for autoconf 2.66.
1840dd5a57SmrgYou have another version of autoconf.  It may work, but is not guaranteed to.
1940dd5a57SmrgIf you have problems, you may need to regenerate the build system entirely.
2040dd5a57SmrgTo do so, use the procedure documented by the package, typically `autoreconf'.])])
2140dd5a57Smrg
2240dd5a57Smrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2340dd5a57Smrg#
2440dd5a57Smrg#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
2540dd5a57Smrg#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
2640dd5a57Smrg#                 Inc.
2740dd5a57Smrg#   Written by Gordon Matzigkeit, 1996
2840dd5a57Smrg#
2940dd5a57Smrg# This file is free software; the Free Software Foundation gives
3040dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without
3140dd5a57Smrg# modifications, as long as this notice is preserved.
3240dd5a57Smrg
3340dd5a57Smrgm4_define([_LT_COPYING], [dnl
3440dd5a57Smrg#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
3540dd5a57Smrg#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
3640dd5a57Smrg#                 Inc.
3740dd5a57Smrg#   Written by Gordon Matzigkeit, 1996
3840dd5a57Smrg#
3940dd5a57Smrg#   This file is part of GNU Libtool.
4040dd5a57Smrg#
4140dd5a57Smrg# GNU Libtool is free software; you can redistribute it and/or
4240dd5a57Smrg# modify it under the terms of the GNU General Public License as
4340dd5a57Smrg# published by the Free Software Foundation; either version 2 of
4440dd5a57Smrg# the License, or (at your option) any later version.
4540dd5a57Smrg#
4640dd5a57Smrg# As a special exception to the GNU General Public License,
4740dd5a57Smrg# if you distribute this file as part of a program or library that
4840dd5a57Smrg# is built using GNU Libtool, you may include this file under the
4940dd5a57Smrg# same distribution terms that you use for the rest of that program.
5040dd5a57Smrg#
5140dd5a57Smrg# GNU Libtool is distributed in the hope that it will be useful,
5240dd5a57Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
5340dd5a57Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5440dd5a57Smrg# GNU General Public License for more details.
5540dd5a57Smrg#
5640dd5a57Smrg# You should have received a copy of the GNU General Public License
5740dd5a57Smrg# along with GNU Libtool; see the file COPYING.  If not, a copy
5840dd5a57Smrg# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
5940dd5a57Smrg# obtained by writing to the Free Software Foundation, Inc.,
6040dd5a57Smrg# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
6140dd5a57Smrg])
6240dd5a57Smrg
6340dd5a57Smrg# serial 57 LT_INIT
6440dd5a57Smrg
6540dd5a57Smrg
6640dd5a57Smrg# LT_PREREQ(VERSION)
6740dd5a57Smrg# ------------------
6840dd5a57Smrg# Complain and exit if this libtool version is less that VERSION.
6940dd5a57Smrgm4_defun([LT_PREREQ],
7040dd5a57Smrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
7140dd5a57Smrg       [m4_default([$3],
7240dd5a57Smrg		   [m4_fatal([Libtool version $1 or higher is required],
7340dd5a57Smrg		             63)])],
7440dd5a57Smrg       [$2])])
7540dd5a57Smrg
7640dd5a57Smrg
7740dd5a57Smrg# _LT_CHECK_BUILDDIR
7840dd5a57Smrg# ------------------
7940dd5a57Smrg# Complain if the absolute build directory name contains unusual characters
8040dd5a57Smrgm4_defun([_LT_CHECK_BUILDDIR],
8140dd5a57Smrg[case `pwd` in
8240dd5a57Smrg  *\ * | *\	*)
8340dd5a57Smrg    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
8440dd5a57Smrgesac
8540dd5a57Smrg])
8640dd5a57Smrg
8740dd5a57Smrg
8840dd5a57Smrg# LT_INIT([OPTIONS])
8940dd5a57Smrg# ------------------
9040dd5a57SmrgAC_DEFUN([LT_INIT],
9140dd5a57Smrg[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
9240dd5a57SmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
9340dd5a57SmrgAC_BEFORE([$0], [LT_LANG])dnl
9440dd5a57SmrgAC_BEFORE([$0], [LT_OUTPUT])dnl
9540dd5a57SmrgAC_BEFORE([$0], [LTDL_INIT])dnl
9640dd5a57Smrgm4_require([_LT_CHECK_BUILDDIR])dnl
9740dd5a57Smrg
9840dd5a57Smrgdnl Autoconf doesn't catch unexpanded LT_ macros by default:
9940dd5a57Smrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
10040dd5a57Smrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
10140dd5a57Smrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
10240dd5a57Smrgdnl unless we require an AC_DEFUNed macro:
10340dd5a57SmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl
10440dd5a57SmrgAC_REQUIRE([LTSUGAR_VERSION])dnl
10540dd5a57SmrgAC_REQUIRE([LTVERSION_VERSION])dnl
10640dd5a57SmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl
10740dd5a57Smrgm4_require([_LT_PROG_LTMAIN])dnl
10840dd5a57Smrg
10940dd5a57Smrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
11040dd5a57Smrg
11140dd5a57Smrgdnl Parse OPTIONS
11240dd5a57Smrg_LT_SET_OPTIONS([$0], [$1])
11340dd5a57Smrg
11440dd5a57Smrg# This can be used to rebuild libtool when needed
11540dd5a57SmrgLIBTOOL_DEPS="$ltmain"
11640dd5a57Smrg
11740dd5a57Smrg# Always use our own libtool.
11840dd5a57SmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool'
11940dd5a57SmrgAC_SUBST(LIBTOOL)dnl
12040dd5a57Smrg
12140dd5a57Smrg_LT_SETUP
12240dd5a57Smrg
12340dd5a57Smrg# Only expand once:
12440dd5a57Smrgm4_define([LT_INIT])
12540dd5a57Smrg])# LT_INIT
12640dd5a57Smrg
12740dd5a57Smrg# Old names:
12840dd5a57SmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
12940dd5a57SmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
13040dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
13140dd5a57Smrgdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
13240dd5a57Smrgdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
13340dd5a57Smrg
13440dd5a57Smrg
13540dd5a57Smrg# _LT_CC_BASENAME(CC)
13640dd5a57Smrg# -------------------
13740dd5a57Smrg# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
13840dd5a57Smrgm4_defun([_LT_CC_BASENAME],
13940dd5a57Smrg[for cc_temp in $1""; do
14040dd5a57Smrg  case $cc_temp in
14140dd5a57Smrg    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
14240dd5a57Smrg    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
14340dd5a57Smrg    \-*) ;;
14440dd5a57Smrg    *) break;;
14540dd5a57Smrg  esac
14640dd5a57Smrgdone
14740dd5a57Smrgcc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
14840dd5a57Smrg])
14940dd5a57Smrg
15040dd5a57Smrg
15140dd5a57Smrg# _LT_FILEUTILS_DEFAULTS
15240dd5a57Smrg# ----------------------
15340dd5a57Smrg# It is okay to use these file commands and assume they have been set
15440dd5a57Smrg# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
15540dd5a57Smrgm4_defun([_LT_FILEUTILS_DEFAULTS],
15640dd5a57Smrg[: ${CP="cp -f"}
15740dd5a57Smrg: ${MV="mv -f"}
15840dd5a57Smrg: ${RM="rm -f"}
15940dd5a57Smrg])# _LT_FILEUTILS_DEFAULTS
16040dd5a57Smrg
16140dd5a57Smrg
16240dd5a57Smrg# _LT_SETUP
16340dd5a57Smrg# ---------
16440dd5a57Smrgm4_defun([_LT_SETUP],
16540dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
16640dd5a57SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
16740dd5a57SmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
16840dd5a57SmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
16940dd5a57Smrg
17040dd5a57Smrg_LT_DECL([], [host_alias], [0], [The host system])dnl
17140dd5a57Smrg_LT_DECL([], [host], [0])dnl
17240dd5a57Smrg_LT_DECL([], [host_os], [0])dnl
17340dd5a57Smrgdnl
17440dd5a57Smrg_LT_DECL([], [build_alias], [0], [The build system])dnl
17540dd5a57Smrg_LT_DECL([], [build], [0])dnl
17640dd5a57Smrg_LT_DECL([], [build_os], [0])dnl
17740dd5a57Smrgdnl
17840dd5a57SmrgAC_REQUIRE([AC_PROG_CC])dnl
17940dd5a57SmrgAC_REQUIRE([LT_PATH_LD])dnl
18040dd5a57SmrgAC_REQUIRE([LT_PATH_NM])dnl
18140dd5a57Smrgdnl
18240dd5a57SmrgAC_REQUIRE([AC_PROG_LN_S])dnl
18340dd5a57Smrgtest -z "$LN_S" && LN_S="ln -s"
18440dd5a57Smrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
18540dd5a57Smrgdnl
18640dd5a57SmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl
18740dd5a57Smrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
18840dd5a57Smrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
18940dd5a57Smrgdnl
19040dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
19140dd5a57Smrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
19240dd5a57Smrgm4_require([_LT_CMD_RELOAD])dnl
19340dd5a57Smrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl
19440dd5a57Smrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl
19540dd5a57Smrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
19640dd5a57Smrg
19740dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([
19840dd5a57Smrg# See if we are running on zsh, and set the options which allow our
19940dd5a57Smrg# commands through without removal of \ escapes INIT.
20040dd5a57Smrgif test -n "\${ZSH_VERSION+set}" ; then
20140dd5a57Smrg   setopt NO_GLOB_SUBST
20240dd5a57Smrgfi
20340dd5a57Smrg])
20440dd5a57Smrgif test -n "${ZSH_VERSION+set}" ; then
20540dd5a57Smrg   setopt NO_GLOB_SUBST
20640dd5a57Smrgfi
20740dd5a57Smrg
20840dd5a57Smrg_LT_CHECK_OBJDIR
20940dd5a57Smrg
21040dd5a57Smrgm4_require([_LT_TAG_COMPILER])dnl
21140dd5a57Smrg
21240dd5a57Smrgcase $host_os in
21340dd5a57Smrgaix3*)
21440dd5a57Smrg  # AIX sometimes has problems with the GCC collect2 program.  For some
21540dd5a57Smrg  # reason, if we set the COLLECT_NAMES environment variable, the problems
21640dd5a57Smrg  # vanish in a puff of smoke.
21740dd5a57Smrg  if test "X${COLLECT_NAMES+set}" != Xset; then
21840dd5a57Smrg    COLLECT_NAMES=
21940dd5a57Smrg    export COLLECT_NAMES
22040dd5a57Smrg  fi
22140dd5a57Smrg  ;;
22240dd5a57Smrgesac
22340dd5a57Smrg
22440dd5a57Smrg# Global variables:
22540dd5a57Smrgofile=libtool
22640dd5a57Smrgcan_build_shared=yes
22740dd5a57Smrg
22840dd5a57Smrg# All known linkers require a `.a' archive for static linking (except MSVC,
22940dd5a57Smrg# which needs '.lib').
23040dd5a57Smrglibext=a
23140dd5a57Smrg
23240dd5a57Smrgwith_gnu_ld="$lt_cv_prog_gnu_ld"
23340dd5a57Smrg
23440dd5a57Smrgold_CC="$CC"
23540dd5a57Smrgold_CFLAGS="$CFLAGS"
23640dd5a57Smrg
23740dd5a57Smrg# Set sane defaults for various variables
23840dd5a57Smrgtest -z "$CC" && CC=cc
23940dd5a57Smrgtest -z "$LTCC" && LTCC=$CC
24040dd5a57Smrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
24140dd5a57Smrgtest -z "$LD" && LD=ld
24240dd5a57Smrgtest -z "$ac_objext" && ac_objext=o
24340dd5a57Smrg
24440dd5a57Smrg_LT_CC_BASENAME([$compiler])
24540dd5a57Smrg
24640dd5a57Smrg# Only perform the check for file, if the check method requires it
24740dd5a57Smrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file
24840dd5a57Smrgcase $deplibs_check_method in
24940dd5a57Smrgfile_magic*)
25040dd5a57Smrg  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
25140dd5a57Smrg    _LT_PATH_MAGIC
25240dd5a57Smrg  fi
25340dd5a57Smrg  ;;
25440dd5a57Smrgesac
25540dd5a57Smrg
25640dd5a57Smrg# Use C for the default configuration in the libtool script
25740dd5a57SmrgLT_SUPPORTED_TAG([CC])
25840dd5a57Smrg_LT_LANG_C_CONFIG
25940dd5a57Smrg_LT_LANG_DEFAULT_CONFIG
26040dd5a57Smrg_LT_CONFIG_COMMANDS
26140dd5a57Smrg])# _LT_SETUP
26240dd5a57Smrg
26340dd5a57Smrg
26440dd5a57Smrg# _LT_PREPARE_SED_QUOTE_VARS
26540dd5a57Smrg# --------------------------
26640dd5a57Smrg# Define a few sed substitution that help us do robust quoting.
26740dd5a57Smrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS],
26840dd5a57Smrg[# Backslashify metacharacters that are still active within
26940dd5a57Smrg# double-quoted strings.
27040dd5a57Smrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
27140dd5a57Smrg
27240dd5a57Smrg# Same as above, but do not quote variable references.
27340dd5a57Smrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
27440dd5a57Smrg
27540dd5a57Smrg# Sed substitution to delay expansion of an escaped shell variable in a
27640dd5a57Smrg# double_quote_subst'ed string.
27740dd5a57Smrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
27840dd5a57Smrg
27940dd5a57Smrg# Sed substitution to delay expansion of an escaped single quote.
28040dd5a57Smrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
28140dd5a57Smrg
28240dd5a57Smrg# Sed substitution to avoid accidental globbing in evaled expressions
28340dd5a57Smrgno_glob_subst='s/\*/\\\*/g'
28440dd5a57Smrg])
28540dd5a57Smrg
28640dd5a57Smrg# _LT_PROG_LTMAIN
28740dd5a57Smrg# ---------------
28840dd5a57Smrg# Note that this code is called both from `configure', and `config.status'
28940dd5a57Smrg# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
29040dd5a57Smrg# `config.status' has no value for ac_aux_dir unless we are using Automake,
29140dd5a57Smrg# so we pass a copy along to make sure it has a sensible value anyway.
29240dd5a57Smrgm4_defun([_LT_PROG_LTMAIN],
29340dd5a57Smrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
29440dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
29540dd5a57Smrgltmain="$ac_aux_dir/ltmain.sh"
29640dd5a57Smrg])# _LT_PROG_LTMAIN
29740dd5a57Smrg
29840dd5a57Smrg
29940dd5a57Smrg
30040dd5a57Smrg# So that we can recreate a full libtool script including additional
30140dd5a57Smrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
30240dd5a57Smrg# in macros and then make a single call at the end using the `libtool'
30340dd5a57Smrg# label.
30440dd5a57Smrg
30540dd5a57Smrg
30640dd5a57Smrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
30740dd5a57Smrg# ----------------------------------------
30840dd5a57Smrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
30940dd5a57Smrgm4_define([_LT_CONFIG_LIBTOOL_INIT],
31040dd5a57Smrg[m4_ifval([$1],
31140dd5a57Smrg          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
31240dd5a57Smrg                     [$1
31340dd5a57Smrg])])])
31440dd5a57Smrg
31540dd5a57Smrg# Initialize.
31640dd5a57Smrgm4_define([_LT_OUTPUT_LIBTOOL_INIT])
31740dd5a57Smrg
31840dd5a57Smrg
31940dd5a57Smrg# _LT_CONFIG_LIBTOOL([COMMANDS])
32040dd5a57Smrg# ------------------------------
32140dd5a57Smrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
32240dd5a57Smrgm4_define([_LT_CONFIG_LIBTOOL],
32340dd5a57Smrg[m4_ifval([$1],
32440dd5a57Smrg          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
32540dd5a57Smrg                     [$1
32640dd5a57Smrg])])])
32740dd5a57Smrg
32840dd5a57Smrg# Initialize.
32940dd5a57Smrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
33040dd5a57Smrg
33140dd5a57Smrg
33240dd5a57Smrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
33340dd5a57Smrg# -----------------------------------------------------
33440dd5a57Smrgm4_defun([_LT_CONFIG_SAVE_COMMANDS],
33540dd5a57Smrg[_LT_CONFIG_LIBTOOL([$1])
33640dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([$2])
33740dd5a57Smrg])
33840dd5a57Smrg
33940dd5a57Smrg
34040dd5a57Smrg# _LT_FORMAT_COMMENT([COMMENT])
34140dd5a57Smrg# -----------------------------
34240dd5a57Smrg# Add leading comment marks to the start of each line, and a trailing
34340dd5a57Smrg# full-stop to the whole comment if one is not present already.
34440dd5a57Smrgm4_define([_LT_FORMAT_COMMENT],
34540dd5a57Smrg[m4_ifval([$1], [
34640dd5a57Smrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
34740dd5a57Smrg              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
34840dd5a57Smrg)])
34940dd5a57Smrg
35040dd5a57Smrg
35140dd5a57Smrg
35240dd5a57Smrg
35340dd5a57Smrg
35440dd5a57Smrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
35540dd5a57Smrg# -------------------------------------------------------------------
35640dd5a57Smrg# CONFIGNAME is the name given to the value in the libtool script.
35740dd5a57Smrg# VARNAME is the (base) name used in the configure script.
35840dd5a57Smrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
35940dd5a57Smrg# VARNAME.  Any other value will be used directly.
36040dd5a57Smrgm4_define([_LT_DECL],
36140dd5a57Smrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
36240dd5a57Smrg    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
36340dd5a57Smrg	[m4_ifval([$1], [$1], [$2])])
36440dd5a57Smrg    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
36540dd5a57Smrg    m4_ifval([$4],
36640dd5a57Smrg	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
36740dd5a57Smrg    lt_dict_add_subkey([lt_decl_dict], [$2],
36840dd5a57Smrg	[tagged?], [m4_ifval([$5], [yes], [no])])])
36940dd5a57Smrg])
37040dd5a57Smrg
37140dd5a57Smrg
37240dd5a57Smrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
37340dd5a57Smrg# --------------------------------------------------------
37440dd5a57Smrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
37540dd5a57Smrg
37640dd5a57Smrg
37740dd5a57Smrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
37840dd5a57Smrg# ------------------------------------------------
37940dd5a57Smrgm4_define([lt_decl_tag_varnames],
38040dd5a57Smrg[_lt_decl_filter([tagged?], [yes], $@)])
38140dd5a57Smrg
38240dd5a57Smrg
38340dd5a57Smrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
38440dd5a57Smrg# ---------------------------------------------------------
38540dd5a57Smrgm4_define([_lt_decl_filter],
38640dd5a57Smrg[m4_case([$#],
38740dd5a57Smrg  [0], [m4_fatal([$0: too few arguments: $#])],
38840dd5a57Smrg  [1], [m4_fatal([$0: too few arguments: $#: $1])],
38940dd5a57Smrg  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
39040dd5a57Smrg  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
39140dd5a57Smrg  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
39240dd5a57Smrg])
39340dd5a57Smrg
39440dd5a57Smrg
39540dd5a57Smrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
39640dd5a57Smrg# --------------------------------------------------
39740dd5a57Smrgm4_define([lt_decl_quote_varnames],
39840dd5a57Smrg[_lt_decl_filter([value], [1], $@)])
39940dd5a57Smrg
40040dd5a57Smrg
40140dd5a57Smrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
40240dd5a57Smrg# ---------------------------------------------------
40340dd5a57Smrgm4_define([lt_decl_dquote_varnames],
40440dd5a57Smrg[_lt_decl_filter([value], [2], $@)])
40540dd5a57Smrg
40640dd5a57Smrg
40740dd5a57Smrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
40840dd5a57Smrg# ---------------------------------------------------
40940dd5a57Smrgm4_define([lt_decl_varnames_tagged],
41040dd5a57Smrg[m4_assert([$# <= 2])dnl
41140dd5a57Smrg_$0(m4_quote(m4_default([$1], [[, ]])),
41240dd5a57Smrg    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
41340dd5a57Smrg    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
41440dd5a57Smrgm4_define([_lt_decl_varnames_tagged],
41540dd5a57Smrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
41640dd5a57Smrg
41740dd5a57Smrg
41840dd5a57Smrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
41940dd5a57Smrg# ------------------------------------------------
42040dd5a57Smrgm4_define([lt_decl_all_varnames],
42140dd5a57Smrg[_$0(m4_quote(m4_default([$1], [[, ]])),
42240dd5a57Smrg     m4_if([$2], [],
42340dd5a57Smrg	   m4_quote(lt_decl_varnames),
42440dd5a57Smrg	m4_quote(m4_shift($@))))[]dnl
42540dd5a57Smrg])
42640dd5a57Smrgm4_define([_lt_decl_all_varnames],
42740dd5a57Smrg[lt_join($@, lt_decl_varnames_tagged([$1],
42840dd5a57Smrg			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
42940dd5a57Smrg])
43040dd5a57Smrg
43140dd5a57Smrg
43240dd5a57Smrg# _LT_CONFIG_STATUS_DECLARE([VARNAME])
43340dd5a57Smrg# ------------------------------------
43440dd5a57Smrg# Quote a variable value, and forward it to `config.status' so that its
43540dd5a57Smrg# declaration there will have the same value as in `configure'.  VARNAME
43640dd5a57Smrg# must have a single quote delimited value for this to work.
43740dd5a57Smrgm4_define([_LT_CONFIG_STATUS_DECLARE],
43840dd5a57Smrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
43940dd5a57Smrg
44040dd5a57Smrg
44140dd5a57Smrg# _LT_CONFIG_STATUS_DECLARATIONS
44240dd5a57Smrg# ------------------------------
44340dd5a57Smrg# We delimit libtool config variables with single quotes, so when
44440dd5a57Smrg# we write them to config.status, we have to be sure to quote all
44540dd5a57Smrg# embedded single quotes properly.  In configure, this macro expands
44640dd5a57Smrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
44740dd5a57Smrg#
44840dd5a57Smrg#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
44940dd5a57Smrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
45040dd5a57Smrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
45140dd5a57Smrg    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
45240dd5a57Smrg
45340dd5a57Smrg
45440dd5a57Smrg# _LT_LIBTOOL_TAGS
45540dd5a57Smrg# ----------------
45640dd5a57Smrg# Output comment and list of tags supported by the script
45740dd5a57Smrgm4_defun([_LT_LIBTOOL_TAGS],
45840dd5a57Smrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
45940dd5a57Smrgavailable_tags="_LT_TAGS"dnl
46040dd5a57Smrg])
46140dd5a57Smrg
46240dd5a57Smrg
46340dd5a57Smrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
46440dd5a57Smrg# -----------------------------------
46540dd5a57Smrg# Extract the dictionary values for VARNAME (optionally with TAG) and
46640dd5a57Smrg# expand to a commented shell variable setting:
46740dd5a57Smrg#
46840dd5a57Smrg#    # Some comment about what VAR is for.
46940dd5a57Smrg#    visible_name=$lt_internal_name
47040dd5a57Smrgm4_define([_LT_LIBTOOL_DECLARE],
47140dd5a57Smrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
47240dd5a57Smrg					   [description])))[]dnl
47340dd5a57Smrgm4_pushdef([_libtool_name],
47440dd5a57Smrg    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
47540dd5a57Smrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
47640dd5a57Smrg    [0], [_libtool_name=[$]$1],
47740dd5a57Smrg    [1], [_libtool_name=$lt_[]$1],
47840dd5a57Smrg    [2], [_libtool_name=$lt_[]$1],
47940dd5a57Smrg    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
48040dd5a57Smrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
48140dd5a57Smrg])
48240dd5a57Smrg
48340dd5a57Smrg
48440dd5a57Smrg# _LT_LIBTOOL_CONFIG_VARS
48540dd5a57Smrg# -----------------------
48640dd5a57Smrg# Produce commented declarations of non-tagged libtool config variables
48740dd5a57Smrg# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
48840dd5a57Smrg# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
48940dd5a57Smrg# section) are produced by _LT_LIBTOOL_TAG_VARS.
49040dd5a57Smrgm4_defun([_LT_LIBTOOL_CONFIG_VARS],
49140dd5a57Smrg[m4_foreach([_lt_var],
49240dd5a57Smrg    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
49340dd5a57Smrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
49440dd5a57Smrg
49540dd5a57Smrg
49640dd5a57Smrg# _LT_LIBTOOL_TAG_VARS(TAG)
49740dd5a57Smrg# -------------------------
49840dd5a57Smrgm4_define([_LT_LIBTOOL_TAG_VARS],
49940dd5a57Smrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
50040dd5a57Smrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
50140dd5a57Smrg
50240dd5a57Smrg
50340dd5a57Smrg# _LT_TAGVAR(VARNAME, [TAGNAME])
50440dd5a57Smrg# ------------------------------
50540dd5a57Smrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
50640dd5a57Smrg
50740dd5a57Smrg
50840dd5a57Smrg# _LT_CONFIG_COMMANDS
50940dd5a57Smrg# -------------------
51040dd5a57Smrg# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
51140dd5a57Smrg# variables for single and double quote escaping we saved from calls
51240dd5a57Smrg# to _LT_DECL, we can put quote escaped variables declarations
51340dd5a57Smrg# into `config.status', and then the shell code to quote escape them in
51440dd5a57Smrg# for loops in `config.status'.  Finally, any additional code accumulated
51540dd5a57Smrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
51640dd5a57Smrgm4_defun([_LT_CONFIG_COMMANDS],
51740dd5a57Smrg[AC_PROVIDE_IFELSE([LT_OUTPUT],
51840dd5a57Smrg	dnl If the libtool generation code has been placed in $CONFIG_LT,
51940dd5a57Smrg	dnl instead of duplicating it all over again into config.status,
52040dd5a57Smrg	dnl then we will have config.status run $CONFIG_LT later, so it
52140dd5a57Smrg	dnl needs to know what name is stored there:
52240dd5a57Smrg        [AC_CONFIG_COMMANDS([libtool],
52340dd5a57Smrg            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
52440dd5a57Smrg    dnl If the libtool generation code is destined for config.status,
52540dd5a57Smrg    dnl expand the accumulated commands and init code now:
52640dd5a57Smrg    [AC_CONFIG_COMMANDS([libtool],
52740dd5a57Smrg        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
52840dd5a57Smrg])#_LT_CONFIG_COMMANDS
52940dd5a57Smrg
53040dd5a57Smrg
53140dd5a57Smrg# Initialize.
53240dd5a57Smrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
53340dd5a57Smrg[
53440dd5a57Smrg
53540dd5a57Smrg# The HP-UX ksh and POSIX shell print the target directory to stdout
53640dd5a57Smrg# if CDPATH is set.
53740dd5a57Smrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
53840dd5a57Smrg
53940dd5a57Smrgsed_quote_subst='$sed_quote_subst'
54040dd5a57Smrgdouble_quote_subst='$double_quote_subst'
54140dd5a57Smrgdelay_variable_subst='$delay_variable_subst'
54240dd5a57Smrg_LT_CONFIG_STATUS_DECLARATIONS
54340dd5a57SmrgLTCC='$LTCC'
54440dd5a57SmrgLTCFLAGS='$LTCFLAGS'
54540dd5a57Smrgcompiler='$compiler_DEFAULT'
54640dd5a57Smrg
54740dd5a57Smrg# A function that is used when there is no print builtin or printf.
54840dd5a57Smrgfunc_fallback_echo ()
54940dd5a57Smrg{
55040dd5a57Smrg  eval 'cat <<_LTECHO_EOF
55140dd5a57Smrg\$[]1
55240dd5a57Smrg_LTECHO_EOF'
55340dd5a57Smrg}
55440dd5a57Smrg
55540dd5a57Smrg# Quote evaled strings.
55640dd5a57Smrgfor var in lt_decl_all_varnames([[ \
55740dd5a57Smrg]], lt_decl_quote_varnames); do
55840dd5a57Smrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
55940dd5a57Smrg    *[[\\\\\\\`\\"\\\$]]*)
56040dd5a57Smrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
56140dd5a57Smrg      ;;
56240dd5a57Smrg    *)
56340dd5a57Smrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
56440dd5a57Smrg      ;;
56540dd5a57Smrg    esac
56640dd5a57Smrgdone
56740dd5a57Smrg
56840dd5a57Smrg# Double-quote double-evaled strings.
56940dd5a57Smrgfor var in lt_decl_all_varnames([[ \
57040dd5a57Smrg]], lt_decl_dquote_varnames); do
57140dd5a57Smrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
57240dd5a57Smrg    *[[\\\\\\\`\\"\\\$]]*)
57340dd5a57Smrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
57440dd5a57Smrg      ;;
57540dd5a57Smrg    *)
57640dd5a57Smrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
57740dd5a57Smrg      ;;
57840dd5a57Smrg    esac
57940dd5a57Smrgdone
58040dd5a57Smrg
58140dd5a57Smrg_LT_OUTPUT_LIBTOOL_INIT
58240dd5a57Smrg])
58340dd5a57Smrg
58440dd5a57Smrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
58540dd5a57Smrg# ------------------------------------
58640dd5a57Smrg# Generate a child script FILE with all initialization necessary to
58740dd5a57Smrg# reuse the environment learned by the parent script, and make the
58840dd5a57Smrg# file executable.  If COMMENT is supplied, it is inserted after the
58940dd5a57Smrg# `#!' sequence but before initialization text begins.  After this
59040dd5a57Smrg# macro, additional text can be appended to FILE to form the body of
59140dd5a57Smrg# the child script.  The macro ends with non-zero status if the
59240dd5a57Smrg# file could not be fully written (such as if the disk is full).
59340dd5a57Smrgm4_ifdef([AS_INIT_GENERATED],
59440dd5a57Smrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
59540dd5a57Smrg[m4_defun([_LT_GENERATED_FILE_INIT],
59640dd5a57Smrg[m4_require([AS_PREPARE])]dnl
59740dd5a57Smrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
59840dd5a57Smrg[lt_write_fail=0
59940dd5a57Smrgcat >$1 <<_ASEOF || lt_write_fail=1
60040dd5a57Smrg#! $SHELL
60140dd5a57Smrg# Generated by $as_me.
60240dd5a57Smrg$2
60340dd5a57SmrgSHELL=\${CONFIG_SHELL-$SHELL}
60440dd5a57Smrgexport SHELL
60540dd5a57Smrg_ASEOF
60640dd5a57Smrgcat >>$1 <<\_ASEOF || lt_write_fail=1
60740dd5a57SmrgAS_SHELL_SANITIZE
60840dd5a57Smrg_AS_PREPARE
60940dd5a57Smrgexec AS_MESSAGE_FD>&1
61040dd5a57Smrg_ASEOF
61140dd5a57Smrgtest $lt_write_fail = 0 && chmod +x $1[]dnl
61240dd5a57Smrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
61340dd5a57Smrg
61440dd5a57Smrg# LT_OUTPUT
61540dd5a57Smrg# ---------
61640dd5a57Smrg# This macro allows early generation of the libtool script (before
61740dd5a57Smrg# AC_OUTPUT is called), incase it is used in configure for compilation
61840dd5a57Smrg# tests.
61940dd5a57SmrgAC_DEFUN([LT_OUTPUT],
62040dd5a57Smrg[: ${CONFIG_LT=./config.lt}
62140dd5a57SmrgAC_MSG_NOTICE([creating $CONFIG_LT])
62240dd5a57Smrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
62340dd5a57Smrg[# Run this file to recreate a libtool stub with the current configuration.])
62440dd5a57Smrg
62540dd5a57Smrgcat >>"$CONFIG_LT" <<\_LTEOF
62640dd5a57Smrglt_cl_silent=false
62740dd5a57Smrgexec AS_MESSAGE_LOG_FD>>config.log
62840dd5a57Smrg{
62940dd5a57Smrg  echo
63040dd5a57Smrg  AS_BOX([Running $as_me.])
63140dd5a57Smrg} >&AS_MESSAGE_LOG_FD
63240dd5a57Smrg
63340dd5a57Smrglt_cl_help="\
63440dd5a57Smrg\`$as_me' creates a local libtool stub from the current configuration,
63540dd5a57Smrgfor use in further configure time tests before the real libtool is
63640dd5a57Smrggenerated.
63740dd5a57Smrg
63840dd5a57SmrgUsage: $[0] [[OPTIONS]]
63940dd5a57Smrg
64040dd5a57Smrg  -h, --help      print this help, then exit
64140dd5a57Smrg  -V, --version   print version number, then exit
64240dd5a57Smrg  -q, --quiet     do not print progress messages
64340dd5a57Smrg  -d, --debug     don't remove temporary files
64440dd5a57Smrg
64540dd5a57SmrgReport bugs to <bug-libtool@gnu.org>."
64640dd5a57Smrg
64740dd5a57Smrglt_cl_version="\
64840dd5a57Smrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
64940dd5a57Smrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
65040dd5a57Smrgconfigured by $[0], generated by m4_PACKAGE_STRING.
65140dd5a57Smrg
65240dd5a57SmrgCopyright (C) 2010 Free Software Foundation, Inc.
65340dd5a57SmrgThis config.lt script is free software; the Free Software Foundation
65440dd5a57Smrggives unlimited permision to copy, distribute and modify it."
65540dd5a57Smrg
65640dd5a57Smrgwhile test $[#] != 0
65740dd5a57Smrgdo
65840dd5a57Smrg  case $[1] in
65940dd5a57Smrg    --version | --v* | -V )
66040dd5a57Smrg      echo "$lt_cl_version"; exit 0 ;;
66140dd5a57Smrg    --help | --h* | -h )
66240dd5a57Smrg      echo "$lt_cl_help"; exit 0 ;;
66340dd5a57Smrg    --debug | --d* | -d )
66440dd5a57Smrg      debug=: ;;
66540dd5a57Smrg    --quiet | --q* | --silent | --s* | -q )
66640dd5a57Smrg      lt_cl_silent=: ;;
66740dd5a57Smrg
66840dd5a57Smrg    -*) AC_MSG_ERROR([unrecognized option: $[1]
66940dd5a57SmrgTry \`$[0] --help' for more information.]) ;;
67040dd5a57Smrg
67140dd5a57Smrg    *) AC_MSG_ERROR([unrecognized argument: $[1]
67240dd5a57SmrgTry \`$[0] --help' for more information.]) ;;
67340dd5a57Smrg  esac
67440dd5a57Smrg  shift
67540dd5a57Smrgdone
67640dd5a57Smrg
67740dd5a57Smrgif $lt_cl_silent; then
67840dd5a57Smrg  exec AS_MESSAGE_FD>/dev/null
67940dd5a57Smrgfi
68040dd5a57Smrg_LTEOF
68140dd5a57Smrg
68240dd5a57Smrgcat >>"$CONFIG_LT" <<_LTEOF
68340dd5a57Smrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
68440dd5a57Smrg_LTEOF
68540dd5a57Smrg
68640dd5a57Smrgcat >>"$CONFIG_LT" <<\_LTEOF
68740dd5a57SmrgAC_MSG_NOTICE([creating $ofile])
68840dd5a57Smrg_LT_OUTPUT_LIBTOOL_COMMANDS
68940dd5a57SmrgAS_EXIT(0)
69040dd5a57Smrg_LTEOF
69140dd5a57Smrgchmod +x "$CONFIG_LT"
69240dd5a57Smrg
69340dd5a57Smrg# configure is writing to config.log, but config.lt does its own redirection,
69440dd5a57Smrg# appending to config.log, which fails on DOS, as config.log is still kept
69540dd5a57Smrg# open by configure.  Here we exec the FD to /dev/null, effectively closing
69640dd5a57Smrg# config.log, so it can be properly (re)opened and appended to by config.lt.
69740dd5a57Smrglt_cl_success=:
69840dd5a57Smrgtest "$silent" = yes &&
69940dd5a57Smrg  lt_config_lt_args="$lt_config_lt_args --quiet"
70040dd5a57Smrgexec AS_MESSAGE_LOG_FD>/dev/null
70140dd5a57Smrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
70240dd5a57Smrgexec AS_MESSAGE_LOG_FD>>config.log
70340dd5a57Smrg$lt_cl_success || AS_EXIT(1)
70440dd5a57Smrg])# LT_OUTPUT
70540dd5a57Smrg
70640dd5a57Smrg
70740dd5a57Smrg# _LT_CONFIG(TAG)
70840dd5a57Smrg# ---------------
70940dd5a57Smrg# If TAG is the built-in tag, create an initial libtool script with a
71040dd5a57Smrg# default configuration from the untagged config vars.  Otherwise add code
71140dd5a57Smrg# to config.status for appending the configuration named by TAG from the
71240dd5a57Smrg# matching tagged config vars.
71340dd5a57Smrgm4_defun([_LT_CONFIG],
71440dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
71540dd5a57Smrg_LT_CONFIG_SAVE_COMMANDS([
71640dd5a57Smrg  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
71740dd5a57Smrg  m4_if(_LT_TAG, [C], [
71840dd5a57Smrg    # See if we are running on zsh, and set the options which allow our
71940dd5a57Smrg    # commands through without removal of \ escapes.
72040dd5a57Smrg    if test -n "${ZSH_VERSION+set}" ; then
72140dd5a57Smrg      setopt NO_GLOB_SUBST
72240dd5a57Smrg    fi
72340dd5a57Smrg
72440dd5a57Smrg    cfgfile="${ofile}T"
72540dd5a57Smrg    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
72640dd5a57Smrg    $RM "$cfgfile"
72740dd5a57Smrg
72840dd5a57Smrg    cat <<_LT_EOF >> "$cfgfile"
72940dd5a57Smrg#! $SHELL
73040dd5a57Smrg
73140dd5a57Smrg# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
73240dd5a57Smrg# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
73340dd5a57Smrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
73440dd5a57Smrg# NOTE: Changes made to this file will be lost: look at ltmain.sh.
73540dd5a57Smrg#
73640dd5a57Smrg_LT_COPYING
73740dd5a57Smrg_LT_LIBTOOL_TAGS
73840dd5a57Smrg
73940dd5a57Smrg# ### BEGIN LIBTOOL CONFIG
74040dd5a57Smrg_LT_LIBTOOL_CONFIG_VARS
74140dd5a57Smrg_LT_LIBTOOL_TAG_VARS
74240dd5a57Smrg# ### END LIBTOOL CONFIG
74340dd5a57Smrg
74440dd5a57Smrg_LT_EOF
74540dd5a57Smrg
74640dd5a57Smrg  case $host_os in
74740dd5a57Smrg  aix3*)
74840dd5a57Smrg    cat <<\_LT_EOF >> "$cfgfile"
74940dd5a57Smrg# AIX sometimes has problems with the GCC collect2 program.  For some
75040dd5a57Smrg# reason, if we set the COLLECT_NAMES environment variable, the problems
75140dd5a57Smrg# vanish in a puff of smoke.
75240dd5a57Smrgif test "X${COLLECT_NAMES+set}" != Xset; then
75340dd5a57Smrg  COLLECT_NAMES=
75440dd5a57Smrg  export COLLECT_NAMES
75540dd5a57Smrgfi
75640dd5a57Smrg_LT_EOF
75740dd5a57Smrg    ;;
75840dd5a57Smrg  esac
75940dd5a57Smrg
76040dd5a57Smrg  _LT_PROG_LTMAIN
76140dd5a57Smrg
76240dd5a57Smrg  # We use sed instead of cat because bash on DJGPP gets confused if
76340dd5a57Smrg  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
76440dd5a57Smrg  # text mode, it properly converts lines to CR/LF.  This bash problem
76540dd5a57Smrg  # is reportedly fixed, but why not run on old versions too?
76640dd5a57Smrg  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
76740dd5a57Smrg    || (rm -f "$cfgfile"; exit 1)
76840dd5a57Smrg
76940dd5a57Smrg  _LT_PROG_XSI_SHELLFNS
77040dd5a57Smrg
77140dd5a57Smrg  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
77240dd5a57Smrg    || (rm -f "$cfgfile"; exit 1)
77340dd5a57Smrg
77440dd5a57Smrg  mv -f "$cfgfile" "$ofile" ||
77540dd5a57Smrg    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
77640dd5a57Smrg  chmod +x "$ofile"
77740dd5a57Smrg],
77840dd5a57Smrg[cat <<_LT_EOF >> "$ofile"
77940dd5a57Smrg
78040dd5a57Smrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
78140dd5a57Smrgdnl in a comment (ie after a #).
78240dd5a57Smrg# ### BEGIN LIBTOOL TAG CONFIG: $1
78340dd5a57Smrg_LT_LIBTOOL_TAG_VARS(_LT_TAG)
78440dd5a57Smrg# ### END LIBTOOL TAG CONFIG: $1
78540dd5a57Smrg_LT_EOF
78640dd5a57Smrg])dnl /m4_if
78740dd5a57Smrg],
78840dd5a57Smrg[m4_if([$1], [], [
78940dd5a57Smrg    PACKAGE='$PACKAGE'
79040dd5a57Smrg    VERSION='$VERSION'
79140dd5a57Smrg    TIMESTAMP='$TIMESTAMP'
79240dd5a57Smrg    RM='$RM'
79340dd5a57Smrg    ofile='$ofile'], [])
79440dd5a57Smrg])dnl /_LT_CONFIG_SAVE_COMMANDS
79540dd5a57Smrg])# _LT_CONFIG
79640dd5a57Smrg
79740dd5a57Smrg
79840dd5a57Smrg# LT_SUPPORTED_TAG(TAG)
79940dd5a57Smrg# ---------------------
80040dd5a57Smrg# Trace this macro to discover what tags are supported by the libtool
80140dd5a57Smrg# --tag option, using:
80240dd5a57Smrg#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
80340dd5a57SmrgAC_DEFUN([LT_SUPPORTED_TAG], [])
80440dd5a57Smrg
80540dd5a57Smrg
80640dd5a57Smrg# C support is built-in for now
80740dd5a57Smrgm4_define([_LT_LANG_C_enabled], [])
80840dd5a57Smrgm4_define([_LT_TAGS], [])
80940dd5a57Smrg
81040dd5a57Smrg
81140dd5a57Smrg# LT_LANG(LANG)
81240dd5a57Smrg# -------------
81340dd5a57Smrg# Enable libtool support for the given language if not already enabled.
81440dd5a57SmrgAC_DEFUN([LT_LANG],
81540dd5a57Smrg[AC_BEFORE([$0], [LT_OUTPUT])dnl
81640dd5a57Smrgm4_case([$1],
81740dd5a57Smrg  [C],			[_LT_LANG(C)],
81840dd5a57Smrg  [C++],		[_LT_LANG(CXX)],
81940dd5a57Smrg  [Java],		[_LT_LANG(GCJ)],
82040dd5a57Smrg  [Fortran 77],		[_LT_LANG(F77)],
82140dd5a57Smrg  [Fortran],		[_LT_LANG(FC)],
82240dd5a57Smrg  [Windows Resource],	[_LT_LANG(RC)],
82340dd5a57Smrg  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
82440dd5a57Smrg    [_LT_LANG($1)],
82540dd5a57Smrg    [m4_fatal([$0: unsupported language: "$1"])])])dnl
82640dd5a57Smrg])# LT_LANG
82740dd5a57Smrg
82840dd5a57Smrg
82940dd5a57Smrg# _LT_LANG(LANGNAME)
83040dd5a57Smrg# ------------------
83140dd5a57Smrgm4_defun([_LT_LANG],
83240dd5a57Smrg[m4_ifdef([_LT_LANG_]$1[_enabled], [],
83340dd5a57Smrg  [LT_SUPPORTED_TAG([$1])dnl
83440dd5a57Smrg  m4_append([_LT_TAGS], [$1 ])dnl
83540dd5a57Smrg  m4_define([_LT_LANG_]$1[_enabled], [])dnl
83640dd5a57Smrg  _LT_LANG_$1_CONFIG($1)])dnl
83740dd5a57Smrg])# _LT_LANG
83840dd5a57Smrg
83940dd5a57Smrg
84040dd5a57Smrg# _LT_LANG_DEFAULT_CONFIG
84140dd5a57Smrg# -----------------------
84240dd5a57Smrgm4_defun([_LT_LANG_DEFAULT_CONFIG],
84340dd5a57Smrg[AC_PROVIDE_IFELSE([AC_PROG_CXX],
84440dd5a57Smrg  [LT_LANG(CXX)],
84540dd5a57Smrg  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
84640dd5a57Smrg
84740dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_F77],
84840dd5a57Smrg  [LT_LANG(F77)],
84940dd5a57Smrg  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
85040dd5a57Smrg
85140dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_FC],
85240dd5a57Smrg  [LT_LANG(FC)],
85340dd5a57Smrg  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
85440dd5a57Smrg
85540dd5a57Smrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
85640dd5a57Smrgdnl pulling things in needlessly.
85740dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ],
85840dd5a57Smrg  [LT_LANG(GCJ)],
85940dd5a57Smrg  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
86040dd5a57Smrg    [LT_LANG(GCJ)],
86140dd5a57Smrg    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
86240dd5a57Smrg      [LT_LANG(GCJ)],
86340dd5a57Smrg      [m4_ifdef([AC_PROG_GCJ],
86440dd5a57Smrg	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
86540dd5a57Smrg       m4_ifdef([A][M_PROG_GCJ],
86640dd5a57Smrg	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
86740dd5a57Smrg       m4_ifdef([LT_PROG_GCJ],
86840dd5a57Smrg	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
86940dd5a57Smrg
87040dd5a57SmrgAC_PROVIDE_IFELSE([LT_PROG_RC],
87140dd5a57Smrg  [LT_LANG(RC)],
87240dd5a57Smrg  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
87340dd5a57Smrg])# _LT_LANG_DEFAULT_CONFIG
87440dd5a57Smrg
87540dd5a57Smrg# Obsolete macros:
87640dd5a57SmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
87740dd5a57SmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
87840dd5a57SmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
87940dd5a57SmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
88040dd5a57SmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
88140dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
88240dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
88340dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_F77], [])
88440dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_FC], [])
88540dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
88640dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_RC], [])
88740dd5a57Smrg
88840dd5a57Smrg
88940dd5a57Smrg# _LT_TAG_COMPILER
89040dd5a57Smrg# ----------------
89140dd5a57Smrgm4_defun([_LT_TAG_COMPILER],
89240dd5a57Smrg[AC_REQUIRE([AC_PROG_CC])dnl
89340dd5a57Smrg
89440dd5a57Smrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
89540dd5a57Smrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
89640dd5a57Smrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
89740dd5a57Smrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
89840dd5a57Smrg
89940dd5a57Smrg# If no C compiler was specified, use CC.
90040dd5a57SmrgLTCC=${LTCC-"$CC"}
90140dd5a57Smrg
90240dd5a57Smrg# If no C compiler flags were specified, use CFLAGS.
90340dd5a57SmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
90440dd5a57Smrg
90540dd5a57Smrg# Allow CC to be a program name with arguments.
90640dd5a57Smrgcompiler=$CC
90740dd5a57Smrg])# _LT_TAG_COMPILER
90840dd5a57Smrg
90940dd5a57Smrg
91040dd5a57Smrg# _LT_COMPILER_BOILERPLATE
91140dd5a57Smrg# ------------------------
91240dd5a57Smrg# Check for compiler boilerplate output or warnings with
91340dd5a57Smrg# the simple compiler test code.
91440dd5a57Smrgm4_defun([_LT_COMPILER_BOILERPLATE],
91540dd5a57Smrg[m4_require([_LT_DECL_SED])dnl
91640dd5a57Smrgac_outfile=conftest.$ac_objext
91740dd5a57Smrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext
91840dd5a57Smrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
91940dd5a57Smrg_lt_compiler_boilerplate=`cat conftest.err`
92040dd5a57Smrg$RM conftest*
92140dd5a57Smrg])# _LT_COMPILER_BOILERPLATE
92240dd5a57Smrg
92340dd5a57Smrg
92440dd5a57Smrg# _LT_LINKER_BOILERPLATE
92540dd5a57Smrg# ----------------------
92640dd5a57Smrg# Check for linker boilerplate output or warnings with
92740dd5a57Smrg# the simple link test code.
92840dd5a57Smrgm4_defun([_LT_LINKER_BOILERPLATE],
92940dd5a57Smrg[m4_require([_LT_DECL_SED])dnl
93040dd5a57Smrgac_outfile=conftest.$ac_objext
93140dd5a57Smrgecho "$lt_simple_link_test_code" >conftest.$ac_ext
93240dd5a57Smrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
93340dd5a57Smrg_lt_linker_boilerplate=`cat conftest.err`
93440dd5a57Smrg$RM -r conftest*
93540dd5a57Smrg])# _LT_LINKER_BOILERPLATE
93640dd5a57Smrg
93740dd5a57Smrg# _LT_REQUIRED_DARWIN_CHECKS
93840dd5a57Smrg# -------------------------
93940dd5a57Smrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
94040dd5a57Smrg  case $host_os in
94140dd5a57Smrg    rhapsody* | darwin*)
94240dd5a57Smrg    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
94340dd5a57Smrg    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
94440dd5a57Smrg    AC_CHECK_TOOL([LIPO], [lipo], [:])
94540dd5a57Smrg    AC_CHECK_TOOL([OTOOL], [otool], [:])
94640dd5a57Smrg    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
94740dd5a57Smrg    _LT_DECL([], [DSYMUTIL], [1],
94840dd5a57Smrg      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
94940dd5a57Smrg    _LT_DECL([], [NMEDIT], [1],
95040dd5a57Smrg      [Tool to change global to local symbols on Mac OS X])
95140dd5a57Smrg    _LT_DECL([], [LIPO], [1],
95240dd5a57Smrg      [Tool to manipulate fat objects and archives on Mac OS X])
95340dd5a57Smrg    _LT_DECL([], [OTOOL], [1],
95440dd5a57Smrg      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
95540dd5a57Smrg    _LT_DECL([], [OTOOL64], [1],
95640dd5a57Smrg      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
95740dd5a57Smrg
95840dd5a57Smrg    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
95940dd5a57Smrg      [lt_cv_apple_cc_single_mod=no
96040dd5a57Smrg      if test -z "${LT_MULTI_MODULE}"; then
96140dd5a57Smrg	# By default we will add the -single_module flag. You can override
96240dd5a57Smrg	# by either setting the environment variable LT_MULTI_MODULE
96340dd5a57Smrg	# non-empty at configure time, or by adding -multi_module to the
96440dd5a57Smrg	# link flags.
96540dd5a57Smrg	rm -rf libconftest.dylib*
96640dd5a57Smrg	echo "int foo(void){return 1;}" > conftest.c
96740dd5a57Smrg	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
96840dd5a57Smrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
96940dd5a57Smrg	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
97040dd5a57Smrg	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
97140dd5a57Smrg        _lt_result=$?
97240dd5a57Smrg	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
97340dd5a57Smrg	  lt_cv_apple_cc_single_mod=yes
97440dd5a57Smrg	else
97540dd5a57Smrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
97640dd5a57Smrg	fi
97740dd5a57Smrg	rm -rf libconftest.dylib*
97840dd5a57Smrg	rm -f conftest.*
97940dd5a57Smrg      fi])
98040dd5a57Smrg    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
98140dd5a57Smrg      [lt_cv_ld_exported_symbols_list],
98240dd5a57Smrg      [lt_cv_ld_exported_symbols_list=no
98340dd5a57Smrg      save_LDFLAGS=$LDFLAGS
98440dd5a57Smrg      echo "_main" > conftest.sym
98540dd5a57Smrg      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
98640dd5a57Smrg      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
98740dd5a57Smrg	[lt_cv_ld_exported_symbols_list=yes],
98840dd5a57Smrg	[lt_cv_ld_exported_symbols_list=no])
98940dd5a57Smrg	LDFLAGS="$save_LDFLAGS"
99040dd5a57Smrg    ])
99140dd5a57Smrg    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
99240dd5a57Smrg      [lt_cv_ld_force_load=no
99340dd5a57Smrg      cat > conftest.c << _LT_EOF
99440dd5a57Smrgint forced_loaded() { return 2;}
99540dd5a57Smrg_LT_EOF
99640dd5a57Smrg      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
99740dd5a57Smrg      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
99840dd5a57Smrg      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
99940dd5a57Smrg      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
100040dd5a57Smrg      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
100140dd5a57Smrg      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
100240dd5a57Smrg      cat > conftest.c << _LT_EOF
100340dd5a57Smrgint main() { return 0;}
100440dd5a57Smrg_LT_EOF
100540dd5a57Smrg      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
100640dd5a57Smrg      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
100740dd5a57Smrg      _lt_result=$?
100840dd5a57Smrg      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
100940dd5a57Smrg	lt_cv_ld_force_load=yes
101040dd5a57Smrg      else
101140dd5a57Smrg	cat conftest.err >&AS_MESSAGE_LOG_FD
101240dd5a57Smrg      fi
101340dd5a57Smrg        rm -f conftest.err libconftest.a conftest conftest.c
101440dd5a57Smrg        rm -rf conftest.dSYM
101540dd5a57Smrg    ])
101640dd5a57Smrg    case $host_os in
101740dd5a57Smrg    rhapsody* | darwin1.[[012]])
101840dd5a57Smrg      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
101940dd5a57Smrg    darwin1.*)
102040dd5a57Smrg      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
102140dd5a57Smrg    darwin*) # darwin 5.x on
102240dd5a57Smrg      # if running on 10.5 or later, the deployment target defaults
102340dd5a57Smrg      # to the OS version, if on x86, and 10.4, the deployment
102440dd5a57Smrg      # target defaults to 10.4. Don't you love it?
102540dd5a57Smrg      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
102640dd5a57Smrg	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
102740dd5a57Smrg	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
102840dd5a57Smrg	10.[[012]]*)
102940dd5a57Smrg	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
103040dd5a57Smrg	10.*)
103140dd5a57Smrg	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
103240dd5a57Smrg      esac
103340dd5a57Smrg    ;;
103440dd5a57Smrg  esac
103540dd5a57Smrg    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
103640dd5a57Smrg      _lt_dar_single_mod='$single_module'
103740dd5a57Smrg    fi
103840dd5a57Smrg    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
103940dd5a57Smrg      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
104040dd5a57Smrg    else
104140dd5a57Smrg      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
104240dd5a57Smrg    fi
104340dd5a57Smrg    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
104440dd5a57Smrg      _lt_dsymutil='~$DSYMUTIL $lib || :'
104540dd5a57Smrg    else
104640dd5a57Smrg      _lt_dsymutil=
104740dd5a57Smrg    fi
104840dd5a57Smrg    ;;
104940dd5a57Smrg  esac
105040dd5a57Smrg])
105140dd5a57Smrg
105240dd5a57Smrg
105340dd5a57Smrg# _LT_DARWIN_LINKER_FEATURES
105440dd5a57Smrg# --------------------------
105540dd5a57Smrg# Checks for linker and compiler features on darwin
105640dd5a57Smrgm4_defun([_LT_DARWIN_LINKER_FEATURES],
105740dd5a57Smrg[
105840dd5a57Smrg  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
105940dd5a57Smrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
106040dd5a57Smrg  _LT_TAGVAR(hardcode_direct, $1)=no
106140dd5a57Smrg  _LT_TAGVAR(hardcode_automatic, $1)=yes
106240dd5a57Smrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
106340dd5a57Smrg  if test "$lt_cv_ld_force_load" = "yes"; then
106440dd5a57Smrg    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
106540dd5a57Smrg  else
106640dd5a57Smrg    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
106740dd5a57Smrg  fi
106840dd5a57Smrg  _LT_TAGVAR(link_all_deplibs, $1)=yes
106940dd5a57Smrg  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
107040dd5a57Smrg  case $cc_basename in
107140dd5a57Smrg     ifort*) _lt_dar_can_shared=yes ;;
107240dd5a57Smrg     *) _lt_dar_can_shared=$GCC ;;
107340dd5a57Smrg  esac
107440dd5a57Smrg  if test "$_lt_dar_can_shared" = "yes"; then
107540dd5a57Smrg    output_verbose_link_cmd=func_echo_all
107640dd5a57Smrg    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
107740dd5a57Smrg    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
107840dd5a57Smrg    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
107940dd5a57Smrg    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
108040dd5a57Smrg    m4_if([$1], [CXX],
108140dd5a57Smrg[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
108240dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
108340dd5a57Smrg      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
108440dd5a57Smrg    fi
108540dd5a57Smrg],[])
108640dd5a57Smrg  else
108740dd5a57Smrg  _LT_TAGVAR(ld_shlibs, $1)=no
108840dd5a57Smrg  fi
108940dd5a57Smrg])
109040dd5a57Smrg
109140dd5a57Smrg# _LT_SYS_MODULE_PATH_AIX
109240dd5a57Smrg# -----------------------
109340dd5a57Smrg# Links a minimal program and checks the executable
109440dd5a57Smrg# for the system default hardcoded library path. In most cases,
109540dd5a57Smrg# this is /usr/lib:/lib, but when the MPI compilers are used
109640dd5a57Smrg# the location of the communication and MPI libs are included too.
109740dd5a57Smrg# If we don't find anything, use the default library path according
109840dd5a57Smrg# to the aix ld manual.
109940dd5a57Smrgm4_defun([_LT_SYS_MODULE_PATH_AIX],
110040dd5a57Smrg[m4_require([_LT_DECL_SED])dnl
110140dd5a57SmrgAC_LINK_IFELSE(AC_LANG_PROGRAM,[
110240dd5a57Smrglt_aix_libpath_sed='
110340dd5a57Smrg    /Import File Strings/,/^$/ {
110440dd5a57Smrg	/^0/ {
110540dd5a57Smrg	    s/^0  *\(.*\)$/\1/
110640dd5a57Smrg	    p
110740dd5a57Smrg	}
110840dd5a57Smrg    }'
110940dd5a57Smrgaix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
111040dd5a57Smrg# Check for a 64-bit object if we didn't find anything.
111140dd5a57Smrgif test -z "$aix_libpath"; then
111240dd5a57Smrg  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
111340dd5a57Smrgfi],[])
111440dd5a57Smrgif test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
111540dd5a57Smrg])# _LT_SYS_MODULE_PATH_AIX
111640dd5a57Smrg
111740dd5a57Smrg
111840dd5a57Smrg# _LT_SHELL_INIT(ARG)
111940dd5a57Smrg# -------------------
112040dd5a57Smrgm4_define([_LT_SHELL_INIT],
112140dd5a57Smrg[m4_divert_text([M4SH-INIT], [$1
112240dd5a57Smrg])])# _LT_SHELL_INIT
112340dd5a57Smrg
112440dd5a57Smrg
112540dd5a57Smrg
112640dd5a57Smrg# _LT_PROG_ECHO_BACKSLASH
112740dd5a57Smrg# -----------------------
112840dd5a57Smrg# Find how we can fake an echo command that does not interpret backslash.
112940dd5a57Smrg# In particular, with Autoconf 2.60 or later we add some code to the start
113040dd5a57Smrg# of the generated configure script which will find a shell with a builtin
113140dd5a57Smrg# printf (which we can use as an echo command).
113240dd5a57Smrgm4_defun([_LT_PROG_ECHO_BACKSLASH],
113340dd5a57Smrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
113440dd5a57SmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
113540dd5a57SmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
113640dd5a57Smrg
113740dd5a57SmrgAC_MSG_CHECKING([how to print strings])
113840dd5a57Smrg# Test print first, because it will be a builtin if present.
113940dd5a57Smrgif test "X`print -r -- -n 2>/dev/null`" = X-n && \
114040dd5a57Smrg   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
114140dd5a57Smrg  ECHO='print -r --'
114240dd5a57Smrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
114340dd5a57Smrg  ECHO='printf %s\n'
114440dd5a57Smrgelse
114540dd5a57Smrg  # Use this function as a fallback that always works.
114640dd5a57Smrg  func_fallback_echo ()
114740dd5a57Smrg  {
114840dd5a57Smrg    eval 'cat <<_LTECHO_EOF
114940dd5a57Smrg$[]1
115040dd5a57Smrg_LTECHO_EOF'
115140dd5a57Smrg  }
115240dd5a57Smrg  ECHO='func_fallback_echo'
115340dd5a57Smrgfi
115440dd5a57Smrg
115540dd5a57Smrg# func_echo_all arg...
115640dd5a57Smrg# Invoke $ECHO with all args, space-separated.
115740dd5a57Smrgfunc_echo_all ()
115840dd5a57Smrg{
115940dd5a57Smrg    $ECHO "$*" 
116040dd5a57Smrg}
116140dd5a57Smrg
116240dd5a57Smrgcase "$ECHO" in
116340dd5a57Smrg  printf*) AC_MSG_RESULT([printf]) ;;
116440dd5a57Smrg  print*) AC_MSG_RESULT([print -r]) ;;
116540dd5a57Smrg  *) AC_MSG_RESULT([cat]) ;;
116640dd5a57Smrgesac
116740dd5a57Smrg
116840dd5a57Smrgm4_ifdef([_AS_DETECT_SUGGESTED],
116940dd5a57Smrg[_AS_DETECT_SUGGESTED([
117040dd5a57Smrg  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
117140dd5a57Smrg    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
117240dd5a57Smrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
117340dd5a57Smrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
117440dd5a57Smrg    PATH=/empty FPATH=/empty; export PATH FPATH
117540dd5a57Smrg    test "X`printf %s $ECHO`" = "X$ECHO" \
117640dd5a57Smrg      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
117740dd5a57Smrg
117840dd5a57Smrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
117940dd5a57Smrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
118040dd5a57Smrg])# _LT_PROG_ECHO_BACKSLASH
118140dd5a57Smrg
118240dd5a57Smrg
118340dd5a57Smrg# _LT_ENABLE_LOCK
118440dd5a57Smrg# ---------------
118540dd5a57Smrgm4_defun([_LT_ENABLE_LOCK],
118640dd5a57Smrg[AC_ARG_ENABLE([libtool-lock],
118740dd5a57Smrg  [AS_HELP_STRING([--disable-libtool-lock],
118840dd5a57Smrg    [avoid locking (might break parallel builds)])])
118940dd5a57Smrgtest "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
119040dd5a57Smrg
119140dd5a57Smrg# Some flags need to be propagated to the compiler or linker for good
119240dd5a57Smrg# libtool support.
119340dd5a57Smrgcase $host in
119440dd5a57Smrgia64-*-hpux*)
119540dd5a57Smrg  # Find out which ABI we are using.
119640dd5a57Smrg  echo 'int i;' > conftest.$ac_ext
119740dd5a57Smrg  if AC_TRY_EVAL(ac_compile); then
119840dd5a57Smrg    case `/usr/bin/file conftest.$ac_objext` in
119940dd5a57Smrg      *ELF-32*)
120040dd5a57Smrg	HPUX_IA64_MODE="32"
120140dd5a57Smrg	;;
120240dd5a57Smrg      *ELF-64*)
120340dd5a57Smrg	HPUX_IA64_MODE="64"
120440dd5a57Smrg	;;
120540dd5a57Smrg    esac
120640dd5a57Smrg  fi
120740dd5a57Smrg  rm -rf conftest*
120840dd5a57Smrg  ;;
120940dd5a57Smrg*-*-irix6*)
121040dd5a57Smrg  # Find out which ABI we are using.
121140dd5a57Smrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
121240dd5a57Smrg  if AC_TRY_EVAL(ac_compile); then
121340dd5a57Smrg    if test "$lt_cv_prog_gnu_ld" = yes; then
121440dd5a57Smrg      case `/usr/bin/file conftest.$ac_objext` in
121540dd5a57Smrg	*32-bit*)
121640dd5a57Smrg	  LD="${LD-ld} -melf32bsmip"
121740dd5a57Smrg	  ;;
121840dd5a57Smrg	*N32*)
121940dd5a57Smrg	  LD="${LD-ld} -melf32bmipn32"
122040dd5a57Smrg	  ;;
122140dd5a57Smrg	*64-bit*)
122240dd5a57Smrg	  LD="${LD-ld} -melf64bmip"
122340dd5a57Smrg	;;
122440dd5a57Smrg      esac
122540dd5a57Smrg    else
122640dd5a57Smrg      case `/usr/bin/file conftest.$ac_objext` in
122740dd5a57Smrg	*32-bit*)
122840dd5a57Smrg	  LD="${LD-ld} -32"
122940dd5a57Smrg	  ;;
123040dd5a57Smrg	*N32*)
123140dd5a57Smrg	  LD="${LD-ld} -n32"
123240dd5a57Smrg	  ;;
123340dd5a57Smrg	*64-bit*)
123440dd5a57Smrg	  LD="${LD-ld} -64"
123540dd5a57Smrg	  ;;
123640dd5a57Smrg      esac
123740dd5a57Smrg    fi
123840dd5a57Smrg  fi
123940dd5a57Smrg  rm -rf conftest*
124040dd5a57Smrg  ;;
124140dd5a57Smrg
124240dd5a57Smrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
124340dd5a57Smrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
124440dd5a57Smrg  # Find out which ABI we are using.
124540dd5a57Smrg  echo 'int i;' > conftest.$ac_ext
124640dd5a57Smrg  if AC_TRY_EVAL(ac_compile); then
124740dd5a57Smrg    case `/usr/bin/file conftest.o` in
124840dd5a57Smrg      *32-bit*)
124940dd5a57Smrg	case $host in
125040dd5a57Smrg	  x86_64-*kfreebsd*-gnu)
125140dd5a57Smrg	    LD="${LD-ld} -m elf_i386_fbsd"
125240dd5a57Smrg	    ;;
125340dd5a57Smrg	  x86_64-*linux*)
125440dd5a57Smrg	    LD="${LD-ld} -m elf_i386"
125540dd5a57Smrg	    ;;
125640dd5a57Smrg	  ppc64-*linux*|powerpc64-*linux*)
125740dd5a57Smrg	    LD="${LD-ld} -m elf32ppclinux"
125840dd5a57Smrg	    ;;
125940dd5a57Smrg	  s390x-*linux*)
126040dd5a57Smrg	    LD="${LD-ld} -m elf_s390"
126140dd5a57Smrg	    ;;
126240dd5a57Smrg	  sparc64-*linux*)
126340dd5a57Smrg	    LD="${LD-ld} -m elf32_sparc"
126440dd5a57Smrg	    ;;
126540dd5a57Smrg	esac
126640dd5a57Smrg	;;
126740dd5a57Smrg      *64-bit*)
126840dd5a57Smrg	case $host in
126940dd5a57Smrg	  x86_64-*kfreebsd*-gnu)
127040dd5a57Smrg	    LD="${LD-ld} -m elf_x86_64_fbsd"
127140dd5a57Smrg	    ;;
127240dd5a57Smrg	  x86_64-*linux*)
127340dd5a57Smrg	    LD="${LD-ld} -m elf_x86_64"
127440dd5a57Smrg	    ;;
127540dd5a57Smrg	  ppc*-*linux*|powerpc*-*linux*)
127640dd5a57Smrg	    LD="${LD-ld} -m elf64ppc"
127740dd5a57Smrg	    ;;
127840dd5a57Smrg	  s390*-*linux*|s390*-*tpf*)
127940dd5a57Smrg	    LD="${LD-ld} -m elf64_s390"
128040dd5a57Smrg	    ;;
128140dd5a57Smrg	  sparc*-*linux*)
128240dd5a57Smrg	    LD="${LD-ld} -m elf64_sparc"
128340dd5a57Smrg	    ;;
128440dd5a57Smrg	esac
128540dd5a57Smrg	;;
128640dd5a57Smrg    esac
128740dd5a57Smrg  fi
128840dd5a57Smrg  rm -rf conftest*
128940dd5a57Smrg  ;;
129040dd5a57Smrg
129140dd5a57Smrg*-*-sco3.2v5*)
129240dd5a57Smrg  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
129340dd5a57Smrg  SAVE_CFLAGS="$CFLAGS"
129440dd5a57Smrg  CFLAGS="$CFLAGS -belf"
129540dd5a57Smrg  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
129640dd5a57Smrg    [AC_LANG_PUSH(C)
129740dd5a57Smrg     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
129840dd5a57Smrg     AC_LANG_POP])
129940dd5a57Smrg  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
130040dd5a57Smrg    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
130140dd5a57Smrg    CFLAGS="$SAVE_CFLAGS"
130240dd5a57Smrg  fi
130340dd5a57Smrg  ;;
130440dd5a57Smrgsparc*-*solaris*)
130540dd5a57Smrg  # Find out which ABI we are using.
130640dd5a57Smrg  echo 'int i;' > conftest.$ac_ext
130740dd5a57Smrg  if AC_TRY_EVAL(ac_compile); then
130840dd5a57Smrg    case `/usr/bin/file conftest.o` in
130940dd5a57Smrg    *64-bit*)
131040dd5a57Smrg      case $lt_cv_prog_gnu_ld in
131140dd5a57Smrg      yes*) LD="${LD-ld} -m elf64_sparc" ;;
131240dd5a57Smrg      *)
131340dd5a57Smrg	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
131440dd5a57Smrg	  LD="${LD-ld} -64"
131540dd5a57Smrg	fi
131640dd5a57Smrg	;;
131740dd5a57Smrg      esac
131840dd5a57Smrg      ;;
131940dd5a57Smrg    esac
132040dd5a57Smrg  fi
132140dd5a57Smrg  rm -rf conftest*
132240dd5a57Smrg  ;;
132340dd5a57Smrgesac
132440dd5a57Smrg
132540dd5a57Smrgneed_locks="$enable_libtool_lock"
132640dd5a57Smrg])# _LT_ENABLE_LOCK
132740dd5a57Smrg
132840dd5a57Smrg
132940dd5a57Smrg# _LT_CMD_OLD_ARCHIVE
133040dd5a57Smrg# -------------------
133140dd5a57Smrgm4_defun([_LT_CMD_OLD_ARCHIVE],
133240dd5a57Smrg[AC_CHECK_TOOL(AR, ar, false)
133340dd5a57Smrgtest -z "$AR" && AR=ar
133440dd5a57Smrgtest -z "$AR_FLAGS" && AR_FLAGS=cru
133540dd5a57Smrg_LT_DECL([], [AR], [1], [The archiver])
133640dd5a57Smrg_LT_DECL([], [AR_FLAGS], [1])
133740dd5a57Smrg
133840dd5a57SmrgAC_CHECK_TOOL(STRIP, strip, :)
133940dd5a57Smrgtest -z "$STRIP" && STRIP=:
134040dd5a57Smrg_LT_DECL([], [STRIP], [1], [A symbol stripping program])
134140dd5a57Smrg
134240dd5a57SmrgAC_CHECK_TOOL(RANLIB, ranlib, :)
134340dd5a57Smrgtest -z "$RANLIB" && RANLIB=:
134440dd5a57Smrg_LT_DECL([], [RANLIB], [1],
134540dd5a57Smrg    [Commands used to install an old-style archive])
134640dd5a57Smrg
134740dd5a57Smrg# Determine commands to create old-style static archives.
134840dd5a57Smrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
134940dd5a57Smrgold_postinstall_cmds='chmod 644 $oldlib'
135040dd5a57Smrgold_postuninstall_cmds=
135140dd5a57Smrg
135240dd5a57Smrgif test -n "$RANLIB"; then
135340dd5a57Smrg  case $host_os in
135440dd5a57Smrg  openbsd*)
135540dd5a57Smrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
135640dd5a57Smrg    ;;
135740dd5a57Smrg  *)
135840dd5a57Smrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
135940dd5a57Smrg    ;;
136040dd5a57Smrg  esac
136140dd5a57Smrg  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
136240dd5a57Smrgfi
136340dd5a57Smrg
136440dd5a57Smrgcase $host_os in
136540dd5a57Smrg  darwin*)
136640dd5a57Smrg    lock_old_archive_extraction=yes ;;
136740dd5a57Smrg  *)
136840dd5a57Smrg    lock_old_archive_extraction=no ;;
136940dd5a57Smrgesac
137040dd5a57Smrg_LT_DECL([], [old_postinstall_cmds], [2])
137140dd5a57Smrg_LT_DECL([], [old_postuninstall_cmds], [2])
137240dd5a57Smrg_LT_TAGDECL([], [old_archive_cmds], [2],
137340dd5a57Smrg    [Commands used to build an old-style archive])
137440dd5a57Smrg_LT_DECL([], [lock_old_archive_extraction], [0],
137540dd5a57Smrg    [Whether to use a lock for old archive extraction])
137640dd5a57Smrg])# _LT_CMD_OLD_ARCHIVE
137740dd5a57Smrg
137840dd5a57Smrg
137940dd5a57Smrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
138040dd5a57Smrg#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
138140dd5a57Smrg# ----------------------------------------------------------------
138240dd5a57Smrg# Check whether the given compiler option works
138340dd5a57SmrgAC_DEFUN([_LT_COMPILER_OPTION],
138440dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
138540dd5a57Smrgm4_require([_LT_DECL_SED])dnl
138640dd5a57SmrgAC_CACHE_CHECK([$1], [$2],
138740dd5a57Smrg  [$2=no
138840dd5a57Smrg   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
138940dd5a57Smrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
139040dd5a57Smrg   lt_compiler_flag="$3"
139140dd5a57Smrg   # Insert the option either (1) after the last *FLAGS variable, or
139240dd5a57Smrg   # (2) before a word containing "conftest.", or (3) at the end.
139340dd5a57Smrg   # Note that $ac_compile itself does not contain backslashes and begins
139440dd5a57Smrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
139540dd5a57Smrg   # The option is referenced via a variable to avoid confusing sed.
139640dd5a57Smrg   lt_compile=`echo "$ac_compile" | $SED \
139740dd5a57Smrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
139840dd5a57Smrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
139940dd5a57Smrg   -e 's:$: $lt_compiler_flag:'`
140040dd5a57Smrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
140140dd5a57Smrg   (eval "$lt_compile" 2>conftest.err)
140240dd5a57Smrg   ac_status=$?
140340dd5a57Smrg   cat conftest.err >&AS_MESSAGE_LOG_FD
140440dd5a57Smrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
140540dd5a57Smrg   if (exit $ac_status) && test -s "$ac_outfile"; then
140640dd5a57Smrg     # The compiler can only warn and ignore the option if not recognized
140740dd5a57Smrg     # So say no if there are warnings other than the usual output.
140840dd5a57Smrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
140940dd5a57Smrg     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
141040dd5a57Smrg     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
141140dd5a57Smrg       $2=yes
141240dd5a57Smrg     fi
141340dd5a57Smrg   fi
141440dd5a57Smrg   $RM conftest*
141540dd5a57Smrg])
141640dd5a57Smrg
141740dd5a57Smrgif test x"[$]$2" = xyes; then
141840dd5a57Smrg    m4_if([$5], , :, [$5])
141940dd5a57Smrgelse
142040dd5a57Smrg    m4_if([$6], , :, [$6])
142140dd5a57Smrgfi
142240dd5a57Smrg])# _LT_COMPILER_OPTION
142340dd5a57Smrg
142440dd5a57Smrg# Old name:
142540dd5a57SmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
142640dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
142740dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
142840dd5a57Smrg
142940dd5a57Smrg
143040dd5a57Smrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
143140dd5a57Smrg#                  [ACTION-SUCCESS], [ACTION-FAILURE])
143240dd5a57Smrg# ----------------------------------------------------
143340dd5a57Smrg# Check whether the given linker option works
143440dd5a57SmrgAC_DEFUN([_LT_LINKER_OPTION],
143540dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
143640dd5a57Smrgm4_require([_LT_DECL_SED])dnl
143740dd5a57SmrgAC_CACHE_CHECK([$1], [$2],
143840dd5a57Smrg  [$2=no
143940dd5a57Smrg   save_LDFLAGS="$LDFLAGS"
144040dd5a57Smrg   LDFLAGS="$LDFLAGS $3"
144140dd5a57Smrg   echo "$lt_simple_link_test_code" > conftest.$ac_ext
144240dd5a57Smrg   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
144340dd5a57Smrg     # The linker can only warn and ignore the option if not recognized
144440dd5a57Smrg     # So say no if there are warnings
144540dd5a57Smrg     if test -s conftest.err; then
144640dd5a57Smrg       # Append any errors to the config.log.
144740dd5a57Smrg       cat conftest.err 1>&AS_MESSAGE_LOG_FD
144840dd5a57Smrg       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
144940dd5a57Smrg       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
145040dd5a57Smrg       if diff conftest.exp conftest.er2 >/dev/null; then
145140dd5a57Smrg         $2=yes
145240dd5a57Smrg       fi
145340dd5a57Smrg     else
145440dd5a57Smrg       $2=yes
145540dd5a57Smrg     fi
145640dd5a57Smrg   fi
145740dd5a57Smrg   $RM -r conftest*
145840dd5a57Smrg   LDFLAGS="$save_LDFLAGS"
145940dd5a57Smrg])
146040dd5a57Smrg
146140dd5a57Smrgif test x"[$]$2" = xyes; then
146240dd5a57Smrg    m4_if([$4], , :, [$4])
146340dd5a57Smrgelse
146440dd5a57Smrg    m4_if([$5], , :, [$5])
146540dd5a57Smrgfi
146640dd5a57Smrg])# _LT_LINKER_OPTION
146740dd5a57Smrg
146840dd5a57Smrg# Old name:
146940dd5a57SmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
147040dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
147140dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
147240dd5a57Smrg
147340dd5a57Smrg
147440dd5a57Smrg# LT_CMD_MAX_LEN
147540dd5a57Smrg#---------------
147640dd5a57SmrgAC_DEFUN([LT_CMD_MAX_LEN],
147740dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
147840dd5a57Smrg# find the maximum length of command line arguments
147940dd5a57SmrgAC_MSG_CHECKING([the maximum length of command line arguments])
148040dd5a57SmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
148140dd5a57Smrg  i=0
148240dd5a57Smrg  teststring="ABCD"
148340dd5a57Smrg
148440dd5a57Smrg  case $build_os in
148540dd5a57Smrg  msdosdjgpp*)
148640dd5a57Smrg    # On DJGPP, this test can blow up pretty badly due to problems in libc
148740dd5a57Smrg    # (any single argument exceeding 2000 bytes causes a buffer overrun
148840dd5a57Smrg    # during glob expansion).  Even if it were fixed, the result of this
148940dd5a57Smrg    # check would be larger than it should be.
149040dd5a57Smrg    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
149140dd5a57Smrg    ;;
149240dd5a57Smrg
149340dd5a57Smrg  gnu*)
149440dd5a57Smrg    # Under GNU Hurd, this test is not required because there is
149540dd5a57Smrg    # no limit to the length of command line arguments.
149640dd5a57Smrg    # Libtool will interpret -1 as no limit whatsoever
149740dd5a57Smrg    lt_cv_sys_max_cmd_len=-1;
149840dd5a57Smrg    ;;
149940dd5a57Smrg
150040dd5a57Smrg  cygwin* | mingw* | cegcc*)
150140dd5a57Smrg    # On Win9x/ME, this test blows up -- it succeeds, but takes
150240dd5a57Smrg    # about 5 minutes as the teststring grows exponentially.
150340dd5a57Smrg    # Worse, since 9x/ME are not pre-emptively multitasking,
150440dd5a57Smrg    # you end up with a "frozen" computer, even though with patience
150540dd5a57Smrg    # the test eventually succeeds (with a max line length of 256k).
150640dd5a57Smrg    # Instead, let's just punt: use the minimum linelength reported by
150740dd5a57Smrg    # all of the supported platforms: 8192 (on NT/2K/XP).
150840dd5a57Smrg    lt_cv_sys_max_cmd_len=8192;
150940dd5a57Smrg    ;;
151040dd5a57Smrg
151140dd5a57Smrg  mint*)
151240dd5a57Smrg    # On MiNT this can take a long time and run out of memory.
151340dd5a57Smrg    lt_cv_sys_max_cmd_len=8192;
151440dd5a57Smrg    ;;
151540dd5a57Smrg
151640dd5a57Smrg  amigaos*)
151740dd5a57Smrg    # On AmigaOS with pdksh, this test takes hours, literally.
151840dd5a57Smrg    # So we just punt and use a minimum line length of 8192.
151940dd5a57Smrg    lt_cv_sys_max_cmd_len=8192;
152040dd5a57Smrg    ;;
152140dd5a57Smrg
152240dd5a57Smrg  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
152340dd5a57Smrg    # This has been around since 386BSD, at least.  Likely further.
152440dd5a57Smrg    if test -x /sbin/sysctl; then
152540dd5a57Smrg      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
152640dd5a57Smrg    elif test -x /usr/sbin/sysctl; then
152740dd5a57Smrg      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
152840dd5a57Smrg    else
152940dd5a57Smrg      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
153040dd5a57Smrg    fi
153140dd5a57Smrg    # And add a safety zone
153240dd5a57Smrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
153340dd5a57Smrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
153440dd5a57Smrg    ;;
153540dd5a57Smrg
153640dd5a57Smrg  interix*)
153740dd5a57Smrg    # We know the value 262144 and hardcode it with a safety zone (like BSD)
153840dd5a57Smrg    lt_cv_sys_max_cmd_len=196608
153940dd5a57Smrg    ;;
154040dd5a57Smrg
154140dd5a57Smrg  osf*)
154240dd5a57Smrg    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
154340dd5a57Smrg    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
154440dd5a57Smrg    # nice to cause kernel panics so lets avoid the loop below.
154540dd5a57Smrg    # First set a reasonable default.
154640dd5a57Smrg    lt_cv_sys_max_cmd_len=16384
154740dd5a57Smrg    #
154840dd5a57Smrg    if test -x /sbin/sysconfig; then
154940dd5a57Smrg      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
155040dd5a57Smrg        *1*) lt_cv_sys_max_cmd_len=-1 ;;
155140dd5a57Smrg      esac
155240dd5a57Smrg    fi
155340dd5a57Smrg    ;;
155440dd5a57Smrg  sco3.2v5*)
155540dd5a57Smrg    lt_cv_sys_max_cmd_len=102400
155640dd5a57Smrg    ;;
155740dd5a57Smrg  sysv5* | sco5v6* | sysv4.2uw2*)
155840dd5a57Smrg    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
155940dd5a57Smrg    if test -n "$kargmax"; then
156040dd5a57Smrg      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
156140dd5a57Smrg    else
156240dd5a57Smrg      lt_cv_sys_max_cmd_len=32768
156340dd5a57Smrg    fi
156440dd5a57Smrg    ;;
156540dd5a57Smrg  *)
156640dd5a57Smrg    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
156740dd5a57Smrg    if test -n "$lt_cv_sys_max_cmd_len"; then
156840dd5a57Smrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
156940dd5a57Smrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
157040dd5a57Smrg    else
157140dd5a57Smrg      # Make teststring a little bigger before we do anything with it.
157240dd5a57Smrg      # a 1K string should be a reasonable start.
157340dd5a57Smrg      for i in 1 2 3 4 5 6 7 8 ; do
157440dd5a57Smrg        teststring=$teststring$teststring
157540dd5a57Smrg      done
157640dd5a57Smrg      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
157740dd5a57Smrg      # If test is not a shell built-in, we'll probably end up computing a
157840dd5a57Smrg      # maximum length that is only half of the actual maximum length, but
157940dd5a57Smrg      # we can't tell.
158040dd5a57Smrg      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
158140dd5a57Smrg	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
158240dd5a57Smrg	      test $i != 17 # 1/2 MB should be enough
158340dd5a57Smrg      do
158440dd5a57Smrg        i=`expr $i + 1`
158540dd5a57Smrg        teststring=$teststring$teststring
158640dd5a57Smrg      done
158740dd5a57Smrg      # Only check the string length outside the loop.
158840dd5a57Smrg      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
158940dd5a57Smrg      teststring=
159040dd5a57Smrg      # Add a significant safety factor because C++ compilers can tack on
159140dd5a57Smrg      # massive amounts of additional arguments before passing them to the
159240dd5a57Smrg      # linker.  It appears as though 1/2 is a usable value.
159340dd5a57Smrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
159440dd5a57Smrg    fi
159540dd5a57Smrg    ;;
159640dd5a57Smrg  esac
159740dd5a57Smrg])
159840dd5a57Smrgif test -n $lt_cv_sys_max_cmd_len ; then
159940dd5a57Smrg  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
160040dd5a57Smrgelse
160140dd5a57Smrg  AC_MSG_RESULT(none)
160240dd5a57Smrgfi
160340dd5a57Smrgmax_cmd_len=$lt_cv_sys_max_cmd_len
160440dd5a57Smrg_LT_DECL([], [max_cmd_len], [0],
160540dd5a57Smrg    [What is the maximum length of a command?])
160640dd5a57Smrg])# LT_CMD_MAX_LEN
160740dd5a57Smrg
160840dd5a57Smrg# Old name:
160940dd5a57SmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
161040dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
161140dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
161240dd5a57Smrg
161340dd5a57Smrg
161440dd5a57Smrg# _LT_HEADER_DLFCN
161540dd5a57Smrg# ----------------
161640dd5a57Smrgm4_defun([_LT_HEADER_DLFCN],
161740dd5a57Smrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
161840dd5a57Smrg])# _LT_HEADER_DLFCN
161940dd5a57Smrg
162040dd5a57Smrg
162140dd5a57Smrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
162240dd5a57Smrg#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
162340dd5a57Smrg# ----------------------------------------------------------------
162440dd5a57Smrgm4_defun([_LT_TRY_DLOPEN_SELF],
162540dd5a57Smrg[m4_require([_LT_HEADER_DLFCN])dnl
162640dd5a57Smrgif test "$cross_compiling" = yes; then :
162740dd5a57Smrg  [$4]
162840dd5a57Smrgelse
162940dd5a57Smrg  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
163040dd5a57Smrg  lt_status=$lt_dlunknown
163140dd5a57Smrg  cat > conftest.$ac_ext <<_LT_EOF
163240dd5a57Smrg[#line $LINENO "configure"
163340dd5a57Smrg#include "confdefs.h"
163440dd5a57Smrg
163540dd5a57Smrg#if HAVE_DLFCN_H
163640dd5a57Smrg#include <dlfcn.h>
163740dd5a57Smrg#endif
163840dd5a57Smrg
163940dd5a57Smrg#include <stdio.h>
164040dd5a57Smrg
164140dd5a57Smrg#ifdef RTLD_GLOBAL
164240dd5a57Smrg#  define LT_DLGLOBAL		RTLD_GLOBAL
164340dd5a57Smrg#else
164440dd5a57Smrg#  ifdef DL_GLOBAL
164540dd5a57Smrg#    define LT_DLGLOBAL		DL_GLOBAL
164640dd5a57Smrg#  else
164740dd5a57Smrg#    define LT_DLGLOBAL		0
164840dd5a57Smrg#  endif
164940dd5a57Smrg#endif
165040dd5a57Smrg
165140dd5a57Smrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
165240dd5a57Smrg   find out it does not work in some platform. */
165340dd5a57Smrg#ifndef LT_DLLAZY_OR_NOW
165440dd5a57Smrg#  ifdef RTLD_LAZY
165540dd5a57Smrg#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
165640dd5a57Smrg#  else
165740dd5a57Smrg#    ifdef DL_LAZY
165840dd5a57Smrg#      define LT_DLLAZY_OR_NOW		DL_LAZY
165940dd5a57Smrg#    else
166040dd5a57Smrg#      ifdef RTLD_NOW
166140dd5a57Smrg#        define LT_DLLAZY_OR_NOW	RTLD_NOW
166240dd5a57Smrg#      else
166340dd5a57Smrg#        ifdef DL_NOW
166440dd5a57Smrg#          define LT_DLLAZY_OR_NOW	DL_NOW
166540dd5a57Smrg#        else
166640dd5a57Smrg#          define LT_DLLAZY_OR_NOW	0
166740dd5a57Smrg#        endif
166840dd5a57Smrg#      endif
166940dd5a57Smrg#    endif
167040dd5a57Smrg#  endif
167140dd5a57Smrg#endif
167240dd5a57Smrg
167340dd5a57Smrg/* When -fvisbility=hidden is used, assume the code has been annotated
167440dd5a57Smrg   correspondingly for the symbols needed.  */
167540dd5a57Smrg#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
167640dd5a57Smrgvoid fnord () __attribute__((visibility("default")));
167740dd5a57Smrg#endif
167840dd5a57Smrg
167940dd5a57Smrgvoid fnord () { int i=42; }
168040dd5a57Smrgint main ()
168140dd5a57Smrg{
168240dd5a57Smrg  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
168340dd5a57Smrg  int status = $lt_dlunknown;
168440dd5a57Smrg
168540dd5a57Smrg  if (self)
168640dd5a57Smrg    {
168740dd5a57Smrg      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
168840dd5a57Smrg      else
168940dd5a57Smrg        {
169040dd5a57Smrg	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
169140dd5a57Smrg          else puts (dlerror ());
169240dd5a57Smrg	}
169340dd5a57Smrg      /* dlclose (self); */
169440dd5a57Smrg    }
169540dd5a57Smrg  else
169640dd5a57Smrg    puts (dlerror ());
169740dd5a57Smrg
169840dd5a57Smrg  return status;
169940dd5a57Smrg}]
170040dd5a57Smrg_LT_EOF
170140dd5a57Smrg  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
170240dd5a57Smrg    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
170340dd5a57Smrg    lt_status=$?
170440dd5a57Smrg    case x$lt_status in
170540dd5a57Smrg      x$lt_dlno_uscore) $1 ;;
170640dd5a57Smrg      x$lt_dlneed_uscore) $2 ;;
170740dd5a57Smrg      x$lt_dlunknown|x*) $3 ;;
170840dd5a57Smrg    esac
170940dd5a57Smrg  else :
171040dd5a57Smrg    # compilation failed
171140dd5a57Smrg    $3
171240dd5a57Smrg  fi
171340dd5a57Smrgfi
171440dd5a57Smrgrm -fr conftest*
171540dd5a57Smrg])# _LT_TRY_DLOPEN_SELF
171640dd5a57Smrg
171740dd5a57Smrg
171840dd5a57Smrg# LT_SYS_DLOPEN_SELF
171940dd5a57Smrg# ------------------
172040dd5a57SmrgAC_DEFUN([LT_SYS_DLOPEN_SELF],
172140dd5a57Smrg[m4_require([_LT_HEADER_DLFCN])dnl
172240dd5a57Smrgif test "x$enable_dlopen" != xyes; then
172340dd5a57Smrg  enable_dlopen=unknown
172440dd5a57Smrg  enable_dlopen_self=unknown
172540dd5a57Smrg  enable_dlopen_self_static=unknown
172640dd5a57Smrgelse
172740dd5a57Smrg  lt_cv_dlopen=no
172840dd5a57Smrg  lt_cv_dlopen_libs=
172940dd5a57Smrg
173040dd5a57Smrg  case $host_os in
173140dd5a57Smrg  beos*)
173240dd5a57Smrg    lt_cv_dlopen="load_add_on"
173340dd5a57Smrg    lt_cv_dlopen_libs=
173440dd5a57Smrg    lt_cv_dlopen_self=yes
173540dd5a57Smrg    ;;
173640dd5a57Smrg
173740dd5a57Smrg  mingw* | pw32* | cegcc*)
173840dd5a57Smrg    lt_cv_dlopen="LoadLibrary"
173940dd5a57Smrg    lt_cv_dlopen_libs=
174040dd5a57Smrg    ;;
174140dd5a57Smrg
174240dd5a57Smrg  cygwin*)
174340dd5a57Smrg    lt_cv_dlopen="dlopen"
174440dd5a57Smrg    lt_cv_dlopen_libs=
174540dd5a57Smrg    ;;
174640dd5a57Smrg
174740dd5a57Smrg  darwin*)
174840dd5a57Smrg  # if libdl is installed we need to link against it
174940dd5a57Smrg    AC_CHECK_LIB([dl], [dlopen],
175040dd5a57Smrg		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
175140dd5a57Smrg    lt_cv_dlopen="dyld"
175240dd5a57Smrg    lt_cv_dlopen_libs=
175340dd5a57Smrg    lt_cv_dlopen_self=yes
175440dd5a57Smrg    ])
175540dd5a57Smrg    ;;
175640dd5a57Smrg
175740dd5a57Smrg  *)
175840dd5a57Smrg    AC_CHECK_FUNC([shl_load],
175940dd5a57Smrg	  [lt_cv_dlopen="shl_load"],
176040dd5a57Smrg      [AC_CHECK_LIB([dld], [shl_load],
176140dd5a57Smrg	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
176240dd5a57Smrg	[AC_CHECK_FUNC([dlopen],
176340dd5a57Smrg	      [lt_cv_dlopen="dlopen"],
176440dd5a57Smrg	  [AC_CHECK_LIB([dl], [dlopen],
176540dd5a57Smrg		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
176640dd5a57Smrg	    [AC_CHECK_LIB([svld], [dlopen],
176740dd5a57Smrg		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
176840dd5a57Smrg	      [AC_CHECK_LIB([dld], [dld_link],
176940dd5a57Smrg		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
177040dd5a57Smrg	      ])
177140dd5a57Smrg	    ])
177240dd5a57Smrg	  ])
177340dd5a57Smrg	])
177440dd5a57Smrg      ])
177540dd5a57Smrg    ;;
177640dd5a57Smrg  esac
177740dd5a57Smrg
177840dd5a57Smrg  if test "x$lt_cv_dlopen" != xno; then
177940dd5a57Smrg    enable_dlopen=yes
178040dd5a57Smrg  else
178140dd5a57Smrg    enable_dlopen=no
178240dd5a57Smrg  fi
178340dd5a57Smrg
178440dd5a57Smrg  case $lt_cv_dlopen in
178540dd5a57Smrg  dlopen)
178640dd5a57Smrg    save_CPPFLAGS="$CPPFLAGS"
178740dd5a57Smrg    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
178840dd5a57Smrg
178940dd5a57Smrg    save_LDFLAGS="$LDFLAGS"
179040dd5a57Smrg    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
179140dd5a57Smrg
179240dd5a57Smrg    save_LIBS="$LIBS"
179340dd5a57Smrg    LIBS="$lt_cv_dlopen_libs $LIBS"
179440dd5a57Smrg
179540dd5a57Smrg    AC_CACHE_CHECK([whether a program can dlopen itself],
179640dd5a57Smrg	  lt_cv_dlopen_self, [dnl
179740dd5a57Smrg	  _LT_TRY_DLOPEN_SELF(
179840dd5a57Smrg	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
179940dd5a57Smrg	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
180040dd5a57Smrg    ])
180140dd5a57Smrg
180240dd5a57Smrg    if test "x$lt_cv_dlopen_self" = xyes; then
180340dd5a57Smrg      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
180440dd5a57Smrg      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
180540dd5a57Smrg	  lt_cv_dlopen_self_static, [dnl
180640dd5a57Smrg	  _LT_TRY_DLOPEN_SELF(
180740dd5a57Smrg	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
180840dd5a57Smrg	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
180940dd5a57Smrg      ])
181040dd5a57Smrg    fi
181140dd5a57Smrg
181240dd5a57Smrg    CPPFLAGS="$save_CPPFLAGS"
181340dd5a57Smrg    LDFLAGS="$save_LDFLAGS"
181440dd5a57Smrg    LIBS="$save_LIBS"
181540dd5a57Smrg    ;;
181640dd5a57Smrg  esac
181740dd5a57Smrg
181840dd5a57Smrg  case $lt_cv_dlopen_self in
181940dd5a57Smrg  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
182040dd5a57Smrg  *) enable_dlopen_self=unknown ;;
182140dd5a57Smrg  esac
182240dd5a57Smrg
182340dd5a57Smrg  case $lt_cv_dlopen_self_static in
182440dd5a57Smrg  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
182540dd5a57Smrg  *) enable_dlopen_self_static=unknown ;;
182640dd5a57Smrg  esac
182740dd5a57Smrgfi
182840dd5a57Smrg_LT_DECL([dlopen_support], [enable_dlopen], [0],
182940dd5a57Smrg	 [Whether dlopen is supported])
183040dd5a57Smrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
183140dd5a57Smrg	 [Whether dlopen of programs is supported])
183240dd5a57Smrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
183340dd5a57Smrg	 [Whether dlopen of statically linked programs is supported])
183440dd5a57Smrg])# LT_SYS_DLOPEN_SELF
183540dd5a57Smrg
183640dd5a57Smrg# Old name:
183740dd5a57SmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
183840dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
183940dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
184040dd5a57Smrg
184140dd5a57Smrg
184240dd5a57Smrg# _LT_COMPILER_C_O([TAGNAME])
184340dd5a57Smrg# ---------------------------
184440dd5a57Smrg# Check to see if options -c and -o are simultaneously supported by compiler.
184540dd5a57Smrg# This macro does not hard code the compiler like AC_PROG_CC_C_O.
184640dd5a57Smrgm4_defun([_LT_COMPILER_C_O],
184740dd5a57Smrg[m4_require([_LT_DECL_SED])dnl
184840dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
184940dd5a57Smrgm4_require([_LT_TAG_COMPILER])dnl
185040dd5a57SmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
185140dd5a57Smrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
185240dd5a57Smrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
185340dd5a57Smrg   $RM -r conftest 2>/dev/null
185440dd5a57Smrg   mkdir conftest
185540dd5a57Smrg   cd conftest
185640dd5a57Smrg   mkdir out
185740dd5a57Smrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
185840dd5a57Smrg
185940dd5a57Smrg   lt_compiler_flag="-o out/conftest2.$ac_objext"
186040dd5a57Smrg   # Insert the option either (1) after the last *FLAGS variable, or
186140dd5a57Smrg   # (2) before a word containing "conftest.", or (3) at the end.
186240dd5a57Smrg   # Note that $ac_compile itself does not contain backslashes and begins
186340dd5a57Smrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
186440dd5a57Smrg   lt_compile=`echo "$ac_compile" | $SED \
186540dd5a57Smrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
186640dd5a57Smrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
186740dd5a57Smrg   -e 's:$: $lt_compiler_flag:'`
186840dd5a57Smrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
186940dd5a57Smrg   (eval "$lt_compile" 2>out/conftest.err)
187040dd5a57Smrg   ac_status=$?
187140dd5a57Smrg   cat out/conftest.err >&AS_MESSAGE_LOG_FD
187240dd5a57Smrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
187340dd5a57Smrg   if (exit $ac_status) && test -s out/conftest2.$ac_objext
187440dd5a57Smrg   then
187540dd5a57Smrg     # The compiler can only warn and ignore the option if not recognized
187640dd5a57Smrg     # So say no if there are warnings
187740dd5a57Smrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
187840dd5a57Smrg     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
187940dd5a57Smrg     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
188040dd5a57Smrg       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
188140dd5a57Smrg     fi
188240dd5a57Smrg   fi
188340dd5a57Smrg   chmod u+w . 2>&AS_MESSAGE_LOG_FD
188440dd5a57Smrg   $RM conftest*
188540dd5a57Smrg   # SGI C++ compiler will create directory out/ii_files/ for
188640dd5a57Smrg   # template instantiation
188740dd5a57Smrg   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
188840dd5a57Smrg   $RM out/* && rmdir out
188940dd5a57Smrg   cd ..
189040dd5a57Smrg   $RM -r conftest
189140dd5a57Smrg   $RM conftest*
189240dd5a57Smrg])
189340dd5a57Smrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
189440dd5a57Smrg	[Does compiler simultaneously support -c and -o options?])
189540dd5a57Smrg])# _LT_COMPILER_C_O
189640dd5a57Smrg
189740dd5a57Smrg
189840dd5a57Smrg# _LT_COMPILER_FILE_LOCKS([TAGNAME])
189940dd5a57Smrg# ----------------------------------
190040dd5a57Smrg# Check to see if we can do hard links to lock some files if needed
190140dd5a57Smrgm4_defun([_LT_COMPILER_FILE_LOCKS],
190240dd5a57Smrg[m4_require([_LT_ENABLE_LOCK])dnl
190340dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
190440dd5a57Smrg_LT_COMPILER_C_O([$1])
190540dd5a57Smrg
190640dd5a57Smrghard_links="nottested"
190740dd5a57Smrgif test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
190840dd5a57Smrg  # do not overwrite the value of need_locks provided by the user
190940dd5a57Smrg  AC_MSG_CHECKING([if we can lock with hard links])
191040dd5a57Smrg  hard_links=yes
191140dd5a57Smrg  $RM conftest*
191240dd5a57Smrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
191340dd5a57Smrg  touch conftest.a
191440dd5a57Smrg  ln conftest.a conftest.b 2>&5 || hard_links=no
191540dd5a57Smrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
191640dd5a57Smrg  AC_MSG_RESULT([$hard_links])
191740dd5a57Smrg  if test "$hard_links" = no; then
191840dd5a57Smrg    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
191940dd5a57Smrg    need_locks=warn
192040dd5a57Smrg  fi
192140dd5a57Smrgelse
192240dd5a57Smrg  need_locks=no
192340dd5a57Smrgfi
192440dd5a57Smrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
192540dd5a57Smrg])# _LT_COMPILER_FILE_LOCKS
192640dd5a57Smrg
192740dd5a57Smrg
192840dd5a57Smrg# _LT_CHECK_OBJDIR
192940dd5a57Smrg# ----------------
193040dd5a57Smrgm4_defun([_LT_CHECK_OBJDIR],
193140dd5a57Smrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
193240dd5a57Smrg[rm -f .libs 2>/dev/null
193340dd5a57Smrgmkdir .libs 2>/dev/null
193440dd5a57Smrgif test -d .libs; then
193540dd5a57Smrg  lt_cv_objdir=.libs
193640dd5a57Smrgelse
193740dd5a57Smrg  # MS-DOS does not allow filenames that begin with a dot.
193840dd5a57Smrg  lt_cv_objdir=_libs
193940dd5a57Smrgfi
194040dd5a57Smrgrmdir .libs 2>/dev/null])
194140dd5a57Smrgobjdir=$lt_cv_objdir
194240dd5a57Smrg_LT_DECL([], [objdir], [0],
194340dd5a57Smrg         [The name of the directory that contains temporary libtool files])dnl
194440dd5a57Smrgm4_pattern_allow([LT_OBJDIR])dnl
194540dd5a57SmrgAC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
194640dd5a57Smrg  [Define to the sub-directory in which libtool stores uninstalled libraries.])
194740dd5a57Smrg])# _LT_CHECK_OBJDIR
194840dd5a57Smrg
194940dd5a57Smrg
195040dd5a57Smrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
195140dd5a57Smrg# --------------------------------------
195240dd5a57Smrg# Check hardcoding attributes.
195340dd5a57Smrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
195440dd5a57Smrg[AC_MSG_CHECKING([how to hardcode library paths into programs])
195540dd5a57Smrg_LT_TAGVAR(hardcode_action, $1)=
195640dd5a57Smrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
195740dd5a57Smrg   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
195840dd5a57Smrg   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
195940dd5a57Smrg
196040dd5a57Smrg  # We can hardcode non-existent directories.
196140dd5a57Smrg  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
196240dd5a57Smrg     # If the only mechanism to avoid hardcoding is shlibpath_var, we
196340dd5a57Smrg     # have to relink, otherwise we might link with an installed library
196440dd5a57Smrg     # when we should be linking with a yet-to-be-installed one
196540dd5a57Smrg     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
196640dd5a57Smrg     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
196740dd5a57Smrg    # Linking always hardcodes the temporary library directory.
196840dd5a57Smrg    _LT_TAGVAR(hardcode_action, $1)=relink
196940dd5a57Smrg  else
197040dd5a57Smrg    # We can link without hardcoding, and we can hardcode nonexisting dirs.
197140dd5a57Smrg    _LT_TAGVAR(hardcode_action, $1)=immediate
197240dd5a57Smrg  fi
197340dd5a57Smrgelse
197440dd5a57Smrg  # We cannot hardcode anything, or else we can only hardcode existing
197540dd5a57Smrg  # directories.
197640dd5a57Smrg  _LT_TAGVAR(hardcode_action, $1)=unsupported
197740dd5a57Smrgfi
197840dd5a57SmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
197940dd5a57Smrg
198040dd5a57Smrgif test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
198140dd5a57Smrg   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
198240dd5a57Smrg  # Fast installation is not supported
198340dd5a57Smrg  enable_fast_install=no
198440dd5a57Smrgelif test "$shlibpath_overrides_runpath" = yes ||
198540dd5a57Smrg     test "$enable_shared" = no; then
198640dd5a57Smrg  # Fast installation is not necessary
198740dd5a57Smrg  enable_fast_install=needless
198840dd5a57Smrgfi
198940dd5a57Smrg_LT_TAGDECL([], [hardcode_action], [0],
199040dd5a57Smrg    [How to hardcode a shared library path into an executable])
199140dd5a57Smrg])# _LT_LINKER_HARDCODE_LIBPATH
199240dd5a57Smrg
199340dd5a57Smrg
199440dd5a57Smrg# _LT_CMD_STRIPLIB
199540dd5a57Smrg# ----------------
199640dd5a57Smrgm4_defun([_LT_CMD_STRIPLIB],
199740dd5a57Smrg[m4_require([_LT_DECL_EGREP])
199840dd5a57Smrgstriplib=
199940dd5a57Smrgold_striplib=
200040dd5a57SmrgAC_MSG_CHECKING([whether stripping libraries is possible])
200140dd5a57Smrgif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
200240dd5a57Smrg  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
200340dd5a57Smrg  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
200440dd5a57Smrg  AC_MSG_RESULT([yes])
200540dd5a57Smrgelse
200640dd5a57Smrg# FIXME - insert some real tests, host_os isn't really good enough
200740dd5a57Smrg  case $host_os in
200840dd5a57Smrg  darwin*)
200940dd5a57Smrg    if test -n "$STRIP" ; then
201040dd5a57Smrg      striplib="$STRIP -x"
201140dd5a57Smrg      old_striplib="$STRIP -S"
201240dd5a57Smrg      AC_MSG_RESULT([yes])
201340dd5a57Smrg    else
201440dd5a57Smrg      AC_MSG_RESULT([no])
201540dd5a57Smrg    fi
201640dd5a57Smrg    ;;
201740dd5a57Smrg  *)
201840dd5a57Smrg    AC_MSG_RESULT([no])
201940dd5a57Smrg    ;;
202040dd5a57Smrg  esac
202140dd5a57Smrgfi
202240dd5a57Smrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
202340dd5a57Smrg_LT_DECL([], [striplib], [1])
202440dd5a57Smrg])# _LT_CMD_STRIPLIB
202540dd5a57Smrg
202640dd5a57Smrg
202740dd5a57Smrg# _LT_SYS_DYNAMIC_LINKER([TAG])
202840dd5a57Smrg# -----------------------------
202940dd5a57Smrg# PORTME Fill in your ld.so characteristics
203040dd5a57Smrgm4_defun([_LT_SYS_DYNAMIC_LINKER],
203140dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
203240dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl
203340dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
203440dd5a57Smrgm4_require([_LT_DECL_OBJDUMP])dnl
203540dd5a57Smrgm4_require([_LT_DECL_SED])dnl
203640dd5a57Smrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
203740dd5a57SmrgAC_MSG_CHECKING([dynamic linker characteristics])
203840dd5a57Smrgm4_if([$1],
203940dd5a57Smrg	[], [
204040dd5a57Smrgif test "$GCC" = yes; then
204140dd5a57Smrg  case $host_os in
204240dd5a57Smrg    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
204340dd5a57Smrg    *) lt_awk_arg="/^libraries:/" ;;
204440dd5a57Smrg  esac
204540dd5a57Smrg  case $host_os in
204640dd5a57Smrg    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
204740dd5a57Smrg    *) lt_sed_strip_eq="s,=/,/,g" ;;
204840dd5a57Smrg  esac
204940dd5a57Smrg  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
205040dd5a57Smrg  case $lt_search_path_spec in
205140dd5a57Smrg  *\;*)
205240dd5a57Smrg    # if the path contains ";" then we assume it to be the separator
205340dd5a57Smrg    # otherwise default to the standard path separator (i.e. ":") - it is
205440dd5a57Smrg    # assumed that no part of a normal pathname contains ";" but that should
205540dd5a57Smrg    # okay in the real world where ";" in dirpaths is itself problematic.
205640dd5a57Smrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
205740dd5a57Smrg    ;;
205840dd5a57Smrg  *)
205940dd5a57Smrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
206040dd5a57Smrg    ;;
206140dd5a57Smrg  esac
206240dd5a57Smrg  # Ok, now we have the path, separated by spaces, we can step through it
206340dd5a57Smrg  # and add multilib dir if necessary.
206440dd5a57Smrg  lt_tmp_lt_search_path_spec=
206540dd5a57Smrg  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
206640dd5a57Smrg  for lt_sys_path in $lt_search_path_spec; do
206740dd5a57Smrg    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
206840dd5a57Smrg      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
206940dd5a57Smrg    else
207040dd5a57Smrg      test -d "$lt_sys_path" && \
207140dd5a57Smrg	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
207240dd5a57Smrg    fi
207340dd5a57Smrg  done
207440dd5a57Smrg  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
207540dd5a57SmrgBEGIN {RS=" "; FS="/|\n";} {
207640dd5a57Smrg  lt_foo="";
207740dd5a57Smrg  lt_count=0;
207840dd5a57Smrg  for (lt_i = NF; lt_i > 0; lt_i--) {
207940dd5a57Smrg    if ($lt_i != "" && $lt_i != ".") {
208040dd5a57Smrg      if ($lt_i == "..") {
208140dd5a57Smrg        lt_count++;
208240dd5a57Smrg      } else {
208340dd5a57Smrg        if (lt_count == 0) {
208440dd5a57Smrg          lt_foo="/" $lt_i lt_foo;
208540dd5a57Smrg        } else {
208640dd5a57Smrg          lt_count--;
208740dd5a57Smrg        }
208840dd5a57Smrg      }
208940dd5a57Smrg    }
209040dd5a57Smrg  }
209140dd5a57Smrg  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
209240dd5a57Smrg  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
209340dd5a57Smrg}'`
209440dd5a57Smrg  # AWK program above erroneously prepends '/' to C:/dos/paths
209540dd5a57Smrg  # for these hosts.
209640dd5a57Smrg  case $host_os in
209740dd5a57Smrg    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
209840dd5a57Smrg      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
209940dd5a57Smrg  esac
210040dd5a57Smrg  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
210140dd5a57Smrgelse
210240dd5a57Smrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
210340dd5a57Smrgfi])
210440dd5a57Smrglibrary_names_spec=
210540dd5a57Smrglibname_spec='lib$name'
210640dd5a57Smrgsoname_spec=
210740dd5a57Smrgshrext_cmds=".so"
210840dd5a57Smrgpostinstall_cmds=
210940dd5a57Smrgpostuninstall_cmds=
211040dd5a57Smrgfinish_cmds=
211140dd5a57Smrgfinish_eval=
211240dd5a57Smrgshlibpath_var=
211340dd5a57Smrgshlibpath_overrides_runpath=unknown
211440dd5a57Smrgversion_type=none
211540dd5a57Smrgdynamic_linker="$host_os ld.so"
211640dd5a57Smrgsys_lib_dlsearch_path_spec="/lib /usr/lib"
211740dd5a57Smrgneed_lib_prefix=unknown
211840dd5a57Smrghardcode_into_libs=no
211940dd5a57Smrg
212040dd5a57Smrg# when you set need_version to no, make sure it does not cause -set_version
212140dd5a57Smrg# flags to be left without arguments
212240dd5a57Smrgneed_version=unknown
212340dd5a57Smrg
212440dd5a57Smrgcase $host_os in
212540dd5a57Smrgaix3*)
212640dd5a57Smrg  version_type=linux
212740dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
212840dd5a57Smrg  shlibpath_var=LIBPATH
212940dd5a57Smrg
213040dd5a57Smrg  # AIX 3 has no versioning support, so we append a major version to the name.
213140dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
213240dd5a57Smrg  ;;
213340dd5a57Smrg
213440dd5a57Smrgaix[[4-9]]*)
213540dd5a57Smrg  version_type=linux
213640dd5a57Smrg  need_lib_prefix=no
213740dd5a57Smrg  need_version=no
213840dd5a57Smrg  hardcode_into_libs=yes
213940dd5a57Smrg  if test "$host_cpu" = ia64; then
214040dd5a57Smrg    # AIX 5 supports IA64
214140dd5a57Smrg    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
214240dd5a57Smrg    shlibpath_var=LD_LIBRARY_PATH
214340dd5a57Smrg  else
214440dd5a57Smrg    # With GCC up to 2.95.x, collect2 would create an import file
214540dd5a57Smrg    # for dependence libraries.  The import file would start with
214640dd5a57Smrg    # the line `#! .'.  This would cause the generated library to
214740dd5a57Smrg    # depend on `.', always an invalid library.  This was fixed in
214840dd5a57Smrg    # development snapshots of GCC prior to 3.0.
214940dd5a57Smrg    case $host_os in
215040dd5a57Smrg      aix4 | aix4.[[01]] | aix4.[[01]].*)
215140dd5a57Smrg      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
215240dd5a57Smrg	   echo ' yes '
215340dd5a57Smrg	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
215440dd5a57Smrg	:
215540dd5a57Smrg      else
215640dd5a57Smrg	can_build_shared=no
215740dd5a57Smrg      fi
215840dd5a57Smrg      ;;
215940dd5a57Smrg    esac
216040dd5a57Smrg    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
216140dd5a57Smrg    # soname into executable. Probably we can add versioning support to
216240dd5a57Smrg    # collect2, so additional links can be useful in future.
216340dd5a57Smrg    if test "$aix_use_runtimelinking" = yes; then
216440dd5a57Smrg      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
216540dd5a57Smrg      # instead of lib<name>.a to let people know that these are not
216640dd5a57Smrg      # typical AIX shared libraries.
216740dd5a57Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
216840dd5a57Smrg    else
216940dd5a57Smrg      # We preserve .a as extension for shared libraries through AIX4.2
217040dd5a57Smrg      # and later when we are not doing run time linking.
217140dd5a57Smrg      library_names_spec='${libname}${release}.a $libname.a'
217240dd5a57Smrg      soname_spec='${libname}${release}${shared_ext}$major'
217340dd5a57Smrg    fi
217440dd5a57Smrg    shlibpath_var=LIBPATH
217540dd5a57Smrg  fi
217640dd5a57Smrg  ;;
217740dd5a57Smrg
217840dd5a57Smrgamigaos*)
217940dd5a57Smrg  case $host_cpu in
218040dd5a57Smrg  powerpc)
218140dd5a57Smrg    # Since July 2007 AmigaOS4 officially supports .so libraries.
218240dd5a57Smrg    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
218340dd5a57Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
218440dd5a57Smrg    ;;
218540dd5a57Smrg  m68k)
218640dd5a57Smrg    library_names_spec='$libname.ixlibrary $libname.a'
218740dd5a57Smrg    # Create ${libname}_ixlibrary.a entries in /sys/libs.
218840dd5a57Smrg    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
218940dd5a57Smrg    ;;
219040dd5a57Smrg  esac
219140dd5a57Smrg  ;;
219240dd5a57Smrg
219340dd5a57Smrgbeos*)
219440dd5a57Smrg  library_names_spec='${libname}${shared_ext}'
219540dd5a57Smrg  dynamic_linker="$host_os ld.so"
219640dd5a57Smrg  shlibpath_var=LIBRARY_PATH
219740dd5a57Smrg  ;;
219840dd5a57Smrg
219940dd5a57Smrgbsdi[[45]]*)
220040dd5a57Smrg  version_type=linux
220140dd5a57Smrg  need_version=no
220240dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
220340dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
220440dd5a57Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
220540dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
220640dd5a57Smrg  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
220740dd5a57Smrg  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
220840dd5a57Smrg  # the default ld.so.conf also contains /usr/contrib/lib and
220940dd5a57Smrg  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
221040dd5a57Smrg  # libtool to hard-code these into programs
221140dd5a57Smrg  ;;
221240dd5a57Smrg
221340dd5a57Smrgcygwin* | mingw* | pw32* | cegcc*)
221440dd5a57Smrg  version_type=windows
221540dd5a57Smrg  shrext_cmds=".dll"
221640dd5a57Smrg  need_version=no
221740dd5a57Smrg  need_lib_prefix=no
221840dd5a57Smrg
221940dd5a57Smrg  case $GCC,$host_os in
222040dd5a57Smrg  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
222140dd5a57Smrg    library_names_spec='$libname.dll.a'
222240dd5a57Smrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
222340dd5a57Smrg    postinstall_cmds='base_file=`basename \${file}`~
222440dd5a57Smrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
222540dd5a57Smrg      dldir=$destdir/`dirname \$dlpath`~
222640dd5a57Smrg      test -d \$dldir || mkdir -p \$dldir~
222740dd5a57Smrg      $install_prog $dir/$dlname \$dldir/$dlname~
222840dd5a57Smrg      chmod a+x \$dldir/$dlname~
222940dd5a57Smrg      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
223040dd5a57Smrg        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
223140dd5a57Smrg      fi'
223240dd5a57Smrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
223340dd5a57Smrg      dlpath=$dir/\$dldll~
223440dd5a57Smrg       $RM \$dlpath'
223540dd5a57Smrg    shlibpath_overrides_runpath=yes
223640dd5a57Smrg
223740dd5a57Smrg    case $host_os in
223840dd5a57Smrg    cygwin*)
223940dd5a57Smrg      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
224040dd5a57Smrg      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
224140dd5a57Smrgm4_if([$1], [],[
224240dd5a57Smrg      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
224340dd5a57Smrg      ;;
224440dd5a57Smrg    mingw* | cegcc*)
224540dd5a57Smrg      # MinGW DLLs use traditional 'lib' prefix
224640dd5a57Smrg      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
224740dd5a57Smrg      ;;
224840dd5a57Smrg    pw32*)
224940dd5a57Smrg      # pw32 DLLs use 'pw' prefix rather than 'lib'
225040dd5a57Smrg      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
225140dd5a57Smrg      ;;
225240dd5a57Smrg    esac
225340dd5a57Smrg    ;;
225440dd5a57Smrg
225540dd5a57Smrg  *)
225640dd5a57Smrg    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
225740dd5a57Smrg    ;;
225840dd5a57Smrg  esac
225940dd5a57Smrg  dynamic_linker='Win32 ld.exe'
226040dd5a57Smrg  # FIXME: first we should search . and the directory the executable is in
226140dd5a57Smrg  shlibpath_var=PATH
226240dd5a57Smrg  ;;
226340dd5a57Smrg
226440dd5a57Smrgdarwin* | rhapsody*)
226540dd5a57Smrg  dynamic_linker="$host_os dyld"
226640dd5a57Smrg  version_type=darwin
226740dd5a57Smrg  need_lib_prefix=no
226840dd5a57Smrg  need_version=no
226940dd5a57Smrg  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
227040dd5a57Smrg  soname_spec='${libname}${release}${major}$shared_ext'
227140dd5a57Smrg  shlibpath_overrides_runpath=yes
227240dd5a57Smrg  shlibpath_var=DYLD_LIBRARY_PATH
227340dd5a57Smrg  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
227440dd5a57Smrgm4_if([$1], [],[
227540dd5a57Smrg  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
227640dd5a57Smrg  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
227740dd5a57Smrg  ;;
227840dd5a57Smrg
227940dd5a57Smrgdgux*)
228040dd5a57Smrg  version_type=linux
228140dd5a57Smrg  need_lib_prefix=no
228240dd5a57Smrg  need_version=no
228340dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
228440dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
228540dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
228640dd5a57Smrg  ;;
228740dd5a57Smrg
228840dd5a57Smrgfreebsd1*)
228940dd5a57Smrg  dynamic_linker=no
229040dd5a57Smrg  ;;
229140dd5a57Smrg
229240dd5a57Smrgfreebsd* | dragonfly*)
229340dd5a57Smrg  # DragonFly does not have aout.  When/if they implement a new
229440dd5a57Smrg  # versioning mechanism, adjust this.
229540dd5a57Smrg  if test -x /usr/bin/objformat; then
229640dd5a57Smrg    objformat=`/usr/bin/objformat`
229740dd5a57Smrg  else
229840dd5a57Smrg    case $host_os in
229940dd5a57Smrg    freebsd[[123]]*) objformat=aout ;;
230040dd5a57Smrg    *) objformat=elf ;;
230140dd5a57Smrg    esac
230240dd5a57Smrg  fi
230340dd5a57Smrg  version_type=freebsd-$objformat
230440dd5a57Smrg  case $version_type in
230540dd5a57Smrg    freebsd-elf*)
230640dd5a57Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
230740dd5a57Smrg      need_version=no
230840dd5a57Smrg      need_lib_prefix=no
230940dd5a57Smrg      ;;
231040dd5a57Smrg    freebsd-*)
231140dd5a57Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
231240dd5a57Smrg      need_version=yes
231340dd5a57Smrg      ;;
231440dd5a57Smrg  esac
231540dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
231640dd5a57Smrg  case $host_os in
231740dd5a57Smrg  freebsd2*)
231840dd5a57Smrg    shlibpath_overrides_runpath=yes
231940dd5a57Smrg    ;;
232040dd5a57Smrg  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
232140dd5a57Smrg    shlibpath_overrides_runpath=yes
232240dd5a57Smrg    hardcode_into_libs=yes
232340dd5a57Smrg    ;;
232440dd5a57Smrg  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
232540dd5a57Smrg  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
232640dd5a57Smrg    shlibpath_overrides_runpath=no
232740dd5a57Smrg    hardcode_into_libs=yes
232840dd5a57Smrg    ;;
232940dd5a57Smrg  *) # from 4.6 on, and DragonFly
233040dd5a57Smrg    shlibpath_overrides_runpath=yes
233140dd5a57Smrg    hardcode_into_libs=yes
233240dd5a57Smrg    ;;
233340dd5a57Smrg  esac
233440dd5a57Smrg  ;;
233540dd5a57Smrg
233640dd5a57Smrggnu*)
233740dd5a57Smrg  version_type=linux
233840dd5a57Smrg  need_lib_prefix=no
233940dd5a57Smrg  need_version=no
234040dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
234140dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
234240dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
234340dd5a57Smrg  hardcode_into_libs=yes
234440dd5a57Smrg  ;;
234540dd5a57Smrg
234640dd5a57Smrghaiku*)
234740dd5a57Smrg  version_type=linux
234840dd5a57Smrg  need_lib_prefix=no
234940dd5a57Smrg  need_version=no
235040dd5a57Smrg  dynamic_linker="$host_os runtime_loader"
235140dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
235240dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
235340dd5a57Smrg  shlibpath_var=LIBRARY_PATH
235440dd5a57Smrg  shlibpath_overrides_runpath=yes
235540dd5a57Smrg  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
235640dd5a57Smrg  hardcode_into_libs=yes
235740dd5a57Smrg  ;;
235840dd5a57Smrg
235940dd5a57Smrghpux9* | hpux10* | hpux11*)
236040dd5a57Smrg  # Give a soname corresponding to the major version so that dld.sl refuses to
236140dd5a57Smrg  # link against other versions.
236240dd5a57Smrg  version_type=sunos
236340dd5a57Smrg  need_lib_prefix=no
236440dd5a57Smrg  need_version=no
236540dd5a57Smrg  case $host_cpu in
236640dd5a57Smrg  ia64*)
236740dd5a57Smrg    shrext_cmds='.so'
236840dd5a57Smrg    hardcode_into_libs=yes
236940dd5a57Smrg    dynamic_linker="$host_os dld.so"
237040dd5a57Smrg    shlibpath_var=LD_LIBRARY_PATH
237140dd5a57Smrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
237240dd5a57Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
237340dd5a57Smrg    soname_spec='${libname}${release}${shared_ext}$major'
237440dd5a57Smrg    if test "X$HPUX_IA64_MODE" = X32; then
237540dd5a57Smrg      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
237640dd5a57Smrg    else
237740dd5a57Smrg      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
237840dd5a57Smrg    fi
237940dd5a57Smrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
238040dd5a57Smrg    ;;
238140dd5a57Smrg  hppa*64*)
238240dd5a57Smrg    shrext_cmds='.sl'
238340dd5a57Smrg    hardcode_into_libs=yes
238440dd5a57Smrg    dynamic_linker="$host_os dld.sl"
238540dd5a57Smrg    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
238640dd5a57Smrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
238740dd5a57Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
238840dd5a57Smrg    soname_spec='${libname}${release}${shared_ext}$major'
238940dd5a57Smrg    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
239040dd5a57Smrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
239140dd5a57Smrg    ;;
239240dd5a57Smrg  *)
239340dd5a57Smrg    shrext_cmds='.sl'
239440dd5a57Smrg    dynamic_linker="$host_os dld.sl"
239540dd5a57Smrg    shlibpath_var=SHLIB_PATH
239640dd5a57Smrg    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
239740dd5a57Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
239840dd5a57Smrg    soname_spec='${libname}${release}${shared_ext}$major'
239940dd5a57Smrg    ;;
240040dd5a57Smrg  esac
240140dd5a57Smrg  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
240240dd5a57Smrg  postinstall_cmds='chmod 555 $lib'
240340dd5a57Smrg  # or fails outright, so override atomically:
240440dd5a57Smrg  install_override_mode=555
240540dd5a57Smrg  ;;
240640dd5a57Smrg
240740dd5a57Smrginterix[[3-9]]*)
240840dd5a57Smrg  version_type=linux
240940dd5a57Smrg  need_lib_prefix=no
241040dd5a57Smrg  need_version=no
241140dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
241240dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
241340dd5a57Smrg  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
241440dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
241540dd5a57Smrg  shlibpath_overrides_runpath=no
241640dd5a57Smrg  hardcode_into_libs=yes
241740dd5a57Smrg  ;;
241840dd5a57Smrg
241940dd5a57Smrgirix5* | irix6* | nonstopux*)
242040dd5a57Smrg  case $host_os in
242140dd5a57Smrg    nonstopux*) version_type=nonstopux ;;
242240dd5a57Smrg    *)
242340dd5a57Smrg	if test "$lt_cv_prog_gnu_ld" = yes; then
242440dd5a57Smrg		version_type=linux
242540dd5a57Smrg	else
242640dd5a57Smrg		version_type=irix
242740dd5a57Smrg	fi ;;
242840dd5a57Smrg  esac
242940dd5a57Smrg  need_lib_prefix=no
243040dd5a57Smrg  need_version=no
243140dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
243240dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
243340dd5a57Smrg  case $host_os in
243440dd5a57Smrg  irix5* | nonstopux*)
243540dd5a57Smrg    libsuff= shlibsuff=
243640dd5a57Smrg    ;;
243740dd5a57Smrg  *)
243840dd5a57Smrg    case $LD in # libtool.m4 will add one of these switches to LD
243940dd5a57Smrg    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
244040dd5a57Smrg      libsuff= shlibsuff= libmagic=32-bit;;
244140dd5a57Smrg    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
244240dd5a57Smrg      libsuff=32 shlibsuff=N32 libmagic=N32;;
244340dd5a57Smrg    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
244440dd5a57Smrg      libsuff=64 shlibsuff=64 libmagic=64-bit;;
244540dd5a57Smrg    *) libsuff= shlibsuff= libmagic=never-match;;
244640dd5a57Smrg    esac
244740dd5a57Smrg    ;;
244840dd5a57Smrg  esac
244940dd5a57Smrg  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
245040dd5a57Smrg  shlibpath_overrides_runpath=no
245140dd5a57Smrg  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
245240dd5a57Smrg  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
245340dd5a57Smrg  hardcode_into_libs=yes
245440dd5a57Smrg  ;;
245540dd5a57Smrg
245640dd5a57Smrg# No shared lib support for Linux oldld, aout, or coff.
245740dd5a57Smrglinux*oldld* | linux*aout* | linux*coff*)
245840dd5a57Smrg  dynamic_linker=no
245940dd5a57Smrg  ;;
246040dd5a57Smrg
246140dd5a57Smrg# This must be Linux ELF.
246240dd5a57Smrglinux* | k*bsd*-gnu | kopensolaris*-gnu)
246340dd5a57Smrg  version_type=linux
246440dd5a57Smrg  need_lib_prefix=no
246540dd5a57Smrg  need_version=no
246640dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
246740dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
246840dd5a57Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
246940dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
247040dd5a57Smrg  shlibpath_overrides_runpath=no
247140dd5a57Smrg
247240dd5a57Smrg  # Some binutils ld are patched to set DT_RUNPATH
247340dd5a57Smrg  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
247440dd5a57Smrg    [lt_cv_shlibpath_overrides_runpath=no
247540dd5a57Smrg    save_LDFLAGS=$LDFLAGS
247640dd5a57Smrg    save_libdir=$libdir
247740dd5a57Smrg    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
247840dd5a57Smrg	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
247940dd5a57Smrg    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
248040dd5a57Smrg      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
248140dd5a57Smrg	 [lt_cv_shlibpath_overrides_runpath=yes])])
248240dd5a57Smrg    LDFLAGS=$save_LDFLAGS
248340dd5a57Smrg    libdir=$save_libdir
248440dd5a57Smrg    ])
248540dd5a57Smrg  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
248640dd5a57Smrg
248740dd5a57Smrg  # This implies no fast_install, which is unacceptable.
248840dd5a57Smrg  # Some rework will be needed to allow for fast_install
248940dd5a57Smrg  # before this can be enabled.
249040dd5a57Smrg  hardcode_into_libs=yes
249140dd5a57Smrg
249240dd5a57Smrg  # Add ABI-specific directories to the system library path.
249340dd5a57Smrg  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
249440dd5a57Smrg
249540dd5a57Smrg  # Append ld.so.conf contents to the search path
249640dd5a57Smrg  if test -f /etc/ld.so.conf; then
249740dd5a57Smrg    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
249840dd5a57Smrg    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
249940dd5a57Smrg
250040dd5a57Smrg  fi
250140dd5a57Smrg
250240dd5a57Smrg  # We used to test for /lib/ld.so.1 and disable shared libraries on
250340dd5a57Smrg  # powerpc, because MkLinux only supported shared libraries with the
250440dd5a57Smrg  # GNU dynamic linker.  Since this was broken with cross compilers,
250540dd5a57Smrg  # most powerpc-linux boxes support dynamic linking these days and
250640dd5a57Smrg  # people can always --disable-shared, the test was removed, and we
250740dd5a57Smrg  # assume the GNU/Linux dynamic linker is in use.
250840dd5a57Smrg  dynamic_linker='GNU/Linux ld.so'
250940dd5a57Smrg  ;;
251040dd5a57Smrg
251140dd5a57Smrgnetbsd*)
251240dd5a57Smrg  version_type=sunos
251340dd5a57Smrg  need_lib_prefix=no
251440dd5a57Smrg  need_version=no
251540dd5a57Smrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
251640dd5a57Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
251740dd5a57Smrg    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
251840dd5a57Smrg    dynamic_linker='NetBSD (a.out) ld.so'
251940dd5a57Smrg  else
252040dd5a57Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
252140dd5a57Smrg    soname_spec='${libname}${release}${shared_ext}$major'
252240dd5a57Smrg    dynamic_linker='NetBSD ld.elf_so'
252340dd5a57Smrg  fi
252440dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
252540dd5a57Smrg  shlibpath_overrides_runpath=yes
252640dd5a57Smrg  hardcode_into_libs=yes
252740dd5a57Smrg  ;;
252840dd5a57Smrg
252940dd5a57Smrgnewsos6)
253040dd5a57Smrg  version_type=linux
253140dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
253240dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
253340dd5a57Smrg  shlibpath_overrides_runpath=yes
253440dd5a57Smrg  ;;
253540dd5a57Smrg
253640dd5a57Smrg*nto* | *qnx*)
253740dd5a57Smrg  version_type=qnx
253840dd5a57Smrg  need_lib_prefix=no
253940dd5a57Smrg  need_version=no
254040dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
254140dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
254240dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
254340dd5a57Smrg  shlibpath_overrides_runpath=no
254440dd5a57Smrg  hardcode_into_libs=yes
254540dd5a57Smrg  dynamic_linker='ldqnx.so'
254640dd5a57Smrg  ;;
254740dd5a57Smrg
254840dd5a57Smrgopenbsd*)
254940dd5a57Smrg  version_type=sunos
255040dd5a57Smrg  sys_lib_dlsearch_path_spec="/usr/lib"
255140dd5a57Smrg  need_lib_prefix=no
255240dd5a57Smrg  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
255340dd5a57Smrg  case $host_os in
255440dd5a57Smrg    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
255540dd5a57Smrg    *)				need_version=no  ;;
255640dd5a57Smrg  esac
255740dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
255840dd5a57Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
255940dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
256040dd5a57Smrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
256140dd5a57Smrg    case $host_os in
256240dd5a57Smrg      openbsd2.[[89]] | openbsd2.[[89]].*)
256340dd5a57Smrg	shlibpath_overrides_runpath=no
256440dd5a57Smrg	;;
256540dd5a57Smrg      *)
256640dd5a57Smrg	shlibpath_overrides_runpath=yes
256740dd5a57Smrg	;;
256840dd5a57Smrg      esac
256940dd5a57Smrg  else
257040dd5a57Smrg    shlibpath_overrides_runpath=yes
257140dd5a57Smrg  fi
257240dd5a57Smrg  ;;
257340dd5a57Smrg
257440dd5a57Smrgos2*)
257540dd5a57Smrg  libname_spec='$name'
257640dd5a57Smrg  shrext_cmds=".dll"
257740dd5a57Smrg  need_lib_prefix=no
257840dd5a57Smrg  library_names_spec='$libname${shared_ext} $libname.a'
257940dd5a57Smrg  dynamic_linker='OS/2 ld.exe'
258040dd5a57Smrg  shlibpath_var=LIBPATH
258140dd5a57Smrg  ;;
258240dd5a57Smrg
258340dd5a57Smrgosf3* | osf4* | osf5*)
258440dd5a57Smrg  version_type=osf
258540dd5a57Smrg  need_lib_prefix=no
258640dd5a57Smrg  need_version=no
258740dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
258840dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
258940dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
259040dd5a57Smrg  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
259140dd5a57Smrg  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
259240dd5a57Smrg  ;;
259340dd5a57Smrg
259440dd5a57Smrgrdos*)
259540dd5a57Smrg  dynamic_linker=no
259640dd5a57Smrg  ;;
259740dd5a57Smrg
259840dd5a57Smrgsolaris*)
259940dd5a57Smrg  version_type=linux
260040dd5a57Smrg  need_lib_prefix=no
260140dd5a57Smrg  need_version=no
260240dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
260340dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
260440dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
260540dd5a57Smrg  shlibpath_overrides_runpath=yes
260640dd5a57Smrg  hardcode_into_libs=yes
260740dd5a57Smrg  # ldd complains unless libraries are executable
260840dd5a57Smrg  postinstall_cmds='chmod +x $lib'
260940dd5a57Smrg  ;;
261040dd5a57Smrg
261140dd5a57Smrgsunos4*)
261240dd5a57Smrg  version_type=sunos
261340dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
261440dd5a57Smrg  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
261540dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
261640dd5a57Smrg  shlibpath_overrides_runpath=yes
261740dd5a57Smrg  if test "$with_gnu_ld" = yes; then
261840dd5a57Smrg    need_lib_prefix=no
261940dd5a57Smrg  fi
262040dd5a57Smrg  need_version=yes
262140dd5a57Smrg  ;;
262240dd5a57Smrg
262340dd5a57Smrgsysv4 | sysv4.3*)
262440dd5a57Smrg  version_type=linux
262540dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
262640dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
262740dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
262840dd5a57Smrg  case $host_vendor in
262940dd5a57Smrg    sni)
263040dd5a57Smrg      shlibpath_overrides_runpath=no
263140dd5a57Smrg      need_lib_prefix=no
263240dd5a57Smrg      runpath_var=LD_RUN_PATH
263340dd5a57Smrg      ;;
263440dd5a57Smrg    siemens)
263540dd5a57Smrg      need_lib_prefix=no
263640dd5a57Smrg      ;;
263740dd5a57Smrg    motorola)
263840dd5a57Smrg      need_lib_prefix=no
263940dd5a57Smrg      need_version=no
264040dd5a57Smrg      shlibpath_overrides_runpath=no
264140dd5a57Smrg      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
264240dd5a57Smrg      ;;
264340dd5a57Smrg  esac
264440dd5a57Smrg  ;;
264540dd5a57Smrg
264640dd5a57Smrgsysv4*MP*)
264740dd5a57Smrg  if test -d /usr/nec ;then
264840dd5a57Smrg    version_type=linux
264940dd5a57Smrg    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
265040dd5a57Smrg    soname_spec='$libname${shared_ext}.$major'
265140dd5a57Smrg    shlibpath_var=LD_LIBRARY_PATH
265240dd5a57Smrg  fi
265340dd5a57Smrg  ;;
265440dd5a57Smrg
265540dd5a57Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
265640dd5a57Smrg  version_type=freebsd-elf
265740dd5a57Smrg  need_lib_prefix=no
265840dd5a57Smrg  need_version=no
265940dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
266040dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
266140dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
266240dd5a57Smrg  shlibpath_overrides_runpath=yes
266340dd5a57Smrg  hardcode_into_libs=yes
266440dd5a57Smrg  if test "$with_gnu_ld" = yes; then
266540dd5a57Smrg    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
266640dd5a57Smrg  else
266740dd5a57Smrg    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
266840dd5a57Smrg    case $host_os in
266940dd5a57Smrg      sco3.2v5*)
267040dd5a57Smrg        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
267140dd5a57Smrg	;;
267240dd5a57Smrg    esac
267340dd5a57Smrg  fi
267440dd5a57Smrg  sys_lib_dlsearch_path_spec='/usr/lib'
267540dd5a57Smrg  ;;
267640dd5a57Smrg
267740dd5a57Smrgtpf*)
267840dd5a57Smrg  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
267940dd5a57Smrg  version_type=linux
268040dd5a57Smrg  need_lib_prefix=no
268140dd5a57Smrg  need_version=no
268240dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
268340dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
268440dd5a57Smrg  shlibpath_overrides_runpath=no
268540dd5a57Smrg  hardcode_into_libs=yes
268640dd5a57Smrg  ;;
268740dd5a57Smrg
268840dd5a57Smrguts4*)
268940dd5a57Smrg  version_type=linux
269040dd5a57Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
269140dd5a57Smrg  soname_spec='${libname}${release}${shared_ext}$major'
269240dd5a57Smrg  shlibpath_var=LD_LIBRARY_PATH
269340dd5a57Smrg  ;;
269440dd5a57Smrg
269540dd5a57Smrg*)
269640dd5a57Smrg  dynamic_linker=no
269740dd5a57Smrg  ;;
269840dd5a57Smrgesac
269940dd5a57SmrgAC_MSG_RESULT([$dynamic_linker])
270040dd5a57Smrgtest "$dynamic_linker" = no && can_build_shared=no
270140dd5a57Smrg
270240dd5a57Smrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
270340dd5a57Smrgif test "$GCC" = yes; then
270440dd5a57Smrg  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
270540dd5a57Smrgfi
270640dd5a57Smrg
270740dd5a57Smrgif test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
270840dd5a57Smrg  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
270940dd5a57Smrgfi
271040dd5a57Smrgif test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
271140dd5a57Smrg  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
271240dd5a57Smrgfi
271340dd5a57Smrg
271440dd5a57Smrg_LT_DECL([], [variables_saved_for_relink], [1],
271540dd5a57Smrg    [Variables whose values should be saved in libtool wrapper scripts and
271640dd5a57Smrg    restored at link time])
271740dd5a57Smrg_LT_DECL([], [need_lib_prefix], [0],
271840dd5a57Smrg    [Do we need the "lib" prefix for modules?])
271940dd5a57Smrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
272040dd5a57Smrg_LT_DECL([], [version_type], [0], [Library versioning type])
272140dd5a57Smrg_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
272240dd5a57Smrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
272340dd5a57Smrg_LT_DECL([], [shlibpath_overrides_runpath], [0],
272440dd5a57Smrg    [Is shlibpath searched before the hard-coded library search path?])
272540dd5a57Smrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
272640dd5a57Smrg_LT_DECL([], [library_names_spec], [1],
272740dd5a57Smrg    [[List of archive names.  First name is the real one, the rest are links.
272840dd5a57Smrg    The last name is the one that the linker finds with -lNAME]])
272940dd5a57Smrg_LT_DECL([], [soname_spec], [1],
273040dd5a57Smrg    [[The coded name of the library, if different from the real name]])
273140dd5a57Smrg_LT_DECL([], [install_override_mode], [1],
273240dd5a57Smrg    [Permission mode override for installation of shared libraries])
273340dd5a57Smrg_LT_DECL([], [postinstall_cmds], [2],
273440dd5a57Smrg    [Command to use after installation of a shared archive])
273540dd5a57Smrg_LT_DECL([], [postuninstall_cmds], [2],
273640dd5a57Smrg    [Command to use after uninstallation of a shared archive])
273740dd5a57Smrg_LT_DECL([], [finish_cmds], [2],
273840dd5a57Smrg    [Commands used to finish a libtool library installation in a directory])
273940dd5a57Smrg_LT_DECL([], [finish_eval], [1],
274040dd5a57Smrg    [[As "finish_cmds", except a single script fragment to be evaled but
274140dd5a57Smrg    not shown]])
274240dd5a57Smrg_LT_DECL([], [hardcode_into_libs], [0],
274340dd5a57Smrg    [Whether we should hardcode library paths into libraries])
274440dd5a57Smrg_LT_DECL([], [sys_lib_search_path_spec], [2],
274540dd5a57Smrg    [Compile-time system search path for libraries])
274640dd5a57Smrg_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
274740dd5a57Smrg    [Run-time system search path for libraries])
274840dd5a57Smrg])# _LT_SYS_DYNAMIC_LINKER
274940dd5a57Smrg
275040dd5a57Smrg
275140dd5a57Smrg# _LT_PATH_TOOL_PREFIX(TOOL)
275240dd5a57Smrg# --------------------------
275340dd5a57Smrg# find a file program which can recognize shared library
275440dd5a57SmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX],
275540dd5a57Smrg[m4_require([_LT_DECL_EGREP])dnl
275640dd5a57SmrgAC_MSG_CHECKING([for $1])
275740dd5a57SmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
275840dd5a57Smrg[case $MAGIC_CMD in
275940dd5a57Smrg[[\\/*] |  ?:[\\/]*])
276040dd5a57Smrg  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
276140dd5a57Smrg  ;;
276240dd5a57Smrg*)
276340dd5a57Smrg  lt_save_MAGIC_CMD="$MAGIC_CMD"
276440dd5a57Smrg  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
276540dd5a57Smrgdnl $ac_dummy forces splitting on constant user-supplied paths.
276640dd5a57Smrgdnl POSIX.2 word splitting is done only on the output of word expansions,
276740dd5a57Smrgdnl not every word.  This closes a longstanding sh security hole.
276840dd5a57Smrg  ac_dummy="m4_if([$2], , $PATH, [$2])"
276940dd5a57Smrg  for ac_dir in $ac_dummy; do
277040dd5a57Smrg    IFS="$lt_save_ifs"
277140dd5a57Smrg    test -z "$ac_dir" && ac_dir=.
277240dd5a57Smrg    if test -f $ac_dir/$1; then
277340dd5a57Smrg      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
277440dd5a57Smrg      if test -n "$file_magic_test_file"; then
277540dd5a57Smrg	case $deplibs_check_method in
277640dd5a57Smrg	"file_magic "*)
277740dd5a57Smrg	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
277840dd5a57Smrg	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
277940dd5a57Smrg	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
278040dd5a57Smrg	    $EGREP "$file_magic_regex" > /dev/null; then
278140dd5a57Smrg	    :
278240dd5a57Smrg	  else
278340dd5a57Smrg	    cat <<_LT_EOF 1>&2
278440dd5a57Smrg
278540dd5a57Smrg*** Warning: the command libtool uses to detect shared libraries,
278640dd5a57Smrg*** $file_magic_cmd, produces output that libtool cannot recognize.
278740dd5a57Smrg*** The result is that libtool may fail to recognize shared libraries
278840dd5a57Smrg*** as such.  This will affect the creation of libtool libraries that
278940dd5a57Smrg*** depend on shared libraries, but programs linked with such libtool
279040dd5a57Smrg*** libraries will work regardless of this problem.  Nevertheless, you
279140dd5a57Smrg*** may want to report the problem to your system manager and/or to
279240dd5a57Smrg*** bug-libtool@gnu.org
279340dd5a57Smrg
279440dd5a57Smrg_LT_EOF
279540dd5a57Smrg	  fi ;;
279640dd5a57Smrg	esac
279740dd5a57Smrg      fi
279840dd5a57Smrg      break
279940dd5a57Smrg    fi
280040dd5a57Smrg  done
280140dd5a57Smrg  IFS="$lt_save_ifs"
280240dd5a57Smrg  MAGIC_CMD="$lt_save_MAGIC_CMD"
280340dd5a57Smrg  ;;
280440dd5a57Smrgesac])
280540dd5a57SmrgMAGIC_CMD="$lt_cv_path_MAGIC_CMD"
280640dd5a57Smrgif test -n "$MAGIC_CMD"; then
280740dd5a57Smrg  AC_MSG_RESULT($MAGIC_CMD)
280840dd5a57Smrgelse
280940dd5a57Smrg  AC_MSG_RESULT(no)
281040dd5a57Smrgfi
281140dd5a57Smrg_LT_DECL([], [MAGIC_CMD], [0],
281240dd5a57Smrg	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
281340dd5a57Smrg])# _LT_PATH_TOOL_PREFIX
281440dd5a57Smrg
281540dd5a57Smrg# Old name:
281640dd5a57SmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
281740dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
281840dd5a57Smrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
281940dd5a57Smrg
282040dd5a57Smrg
282140dd5a57Smrg# _LT_PATH_MAGIC
282240dd5a57Smrg# --------------
282340dd5a57Smrg# find a file program which can recognize a shared library
282440dd5a57Smrgm4_defun([_LT_PATH_MAGIC],
282540dd5a57Smrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
282640dd5a57Smrgif test -z "$lt_cv_path_MAGIC_CMD"; then
282740dd5a57Smrg  if test -n "$ac_tool_prefix"; then
282840dd5a57Smrg    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
282940dd5a57Smrg  else
283040dd5a57Smrg    MAGIC_CMD=:
283140dd5a57Smrg  fi
283240dd5a57Smrgfi
283340dd5a57Smrg])# _LT_PATH_MAGIC
283440dd5a57Smrg
283540dd5a57Smrg
283640dd5a57Smrg# LT_PATH_LD
283740dd5a57Smrg# ----------
283840dd5a57Smrg# find the pathname to the GNU or non-GNU linker
283940dd5a57SmrgAC_DEFUN([LT_PATH_LD],
284040dd5a57Smrg[AC_REQUIRE([AC_PROG_CC])dnl
284140dd5a57SmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl
284240dd5a57SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
284340dd5a57Smrgm4_require([_LT_DECL_SED])dnl
284440dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl
284540dd5a57Smrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl
284640dd5a57Smrg
284740dd5a57SmrgAC_ARG_WITH([gnu-ld],
284840dd5a57Smrg    [AS_HELP_STRING([--with-gnu-ld],
284940dd5a57Smrg	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
285040dd5a57Smrg    [test "$withval" = no || with_gnu_ld=yes],
285140dd5a57Smrg    [with_gnu_ld=no])dnl
285240dd5a57Smrg
285340dd5a57Smrgac_prog=ld
285440dd5a57Smrgif test "$GCC" = yes; then
285540dd5a57Smrg  # Check if gcc -print-prog-name=ld gives a path.
285640dd5a57Smrg  AC_MSG_CHECKING([for ld used by $CC])
285740dd5a57Smrg  case $host in
285840dd5a57Smrg  *-*-mingw*)
285940dd5a57Smrg    # gcc leaves a trailing carriage return which upsets mingw
286040dd5a57Smrg    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
286140dd5a57Smrg  *)
286240dd5a57Smrg    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
286340dd5a57Smrg  esac
286440dd5a57Smrg  case $ac_prog in
286540dd5a57Smrg    # Accept absolute paths.
286640dd5a57Smrg    [[\\/]]* | ?:[[\\/]]*)
286740dd5a57Smrg      re_direlt='/[[^/]][[^/]]*/\.\./'
286840dd5a57Smrg      # Canonicalize the pathname of ld
286940dd5a57Smrg      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
287040dd5a57Smrg      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
287140dd5a57Smrg	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
287240dd5a57Smrg      done
287340dd5a57Smrg      test -z "$LD" && LD="$ac_prog"
287440dd5a57Smrg      ;;
287540dd5a57Smrg  "")
287640dd5a57Smrg    # If it fails, then pretend we aren't using GCC.
287740dd5a57Smrg    ac_prog=ld
287840dd5a57Smrg    ;;
287940dd5a57Smrg  *)
288040dd5a57Smrg    # If it is relative, then search for the first ld in PATH.
288140dd5a57Smrg    with_gnu_ld=unknown
288240dd5a57Smrg    ;;
288340dd5a57Smrg  esac
288440dd5a57Smrgelif test "$with_gnu_ld" = yes; then
288540dd5a57Smrg  AC_MSG_CHECKING([for GNU ld])
288640dd5a57Smrgelse
288740dd5a57Smrg  AC_MSG_CHECKING([for non-GNU ld])
288840dd5a57Smrgfi
288940dd5a57SmrgAC_CACHE_VAL(lt_cv_path_LD,
289040dd5a57Smrg[if test -z "$LD"; then
289140dd5a57Smrg  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
289240dd5a57Smrg  for ac_dir in $PATH; do
289340dd5a57Smrg    IFS="$lt_save_ifs"
289440dd5a57Smrg    test -z "$ac_dir" && ac_dir=.
289540dd5a57Smrg    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
289640dd5a57Smrg      lt_cv_path_LD="$ac_dir/$ac_prog"
289740dd5a57Smrg      # Check to see if the program is GNU ld.  I'd rather use --version,
289840dd5a57Smrg      # but apparently some variants of GNU ld only accept -v.
289940dd5a57Smrg      # Break only if it was the GNU/non-GNU ld that we prefer.
290040dd5a57Smrg      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
290140dd5a57Smrg      *GNU* | *'with BFD'*)
290240dd5a57Smrg	test "$with_gnu_ld" != no && break
290340dd5a57Smrg	;;
290440dd5a57Smrg      *)
290540dd5a57Smrg	test "$with_gnu_ld" != yes && break
290640dd5a57Smrg	;;
290740dd5a57Smrg      esac
290840dd5a57Smrg    fi
290940dd5a57Smrg  done
291040dd5a57Smrg  IFS="$lt_save_ifs"
291140dd5a57Smrgelse
291240dd5a57Smrg  lt_cv_path_LD="$LD" # Let the user override the test with a path.
291340dd5a57Smrgfi])
291440dd5a57SmrgLD="$lt_cv_path_LD"
291540dd5a57Smrgif test -n "$LD"; then
291640dd5a57Smrg  AC_MSG_RESULT($LD)
291740dd5a57Smrgelse
291840dd5a57Smrg  AC_MSG_RESULT(no)
291940dd5a57Smrgfi
292040dd5a57Smrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
292140dd5a57Smrg_LT_PATH_LD_GNU
292240dd5a57SmrgAC_SUBST([LD])
292340dd5a57Smrg
292440dd5a57Smrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
292540dd5a57Smrg])# LT_PATH_LD
292640dd5a57Smrg
292740dd5a57Smrg# Old names:
292840dd5a57SmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
292940dd5a57SmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
293040dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
293140dd5a57Smrgdnl AC_DEFUN([AM_PROG_LD], [])
293240dd5a57Smrgdnl AC_DEFUN([AC_PROG_LD], [])
293340dd5a57Smrg
293440dd5a57Smrg
293540dd5a57Smrg# _LT_PATH_LD_GNU
293640dd5a57Smrg#- --------------
293740dd5a57Smrgm4_defun([_LT_PATH_LD_GNU],
293840dd5a57Smrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
293940dd5a57Smrg[# I'd rather use --version here, but apparently some GNU lds only accept -v.
294040dd5a57Smrgcase `$LD -v 2>&1 </dev/null` in
294140dd5a57Smrg*GNU* | *'with BFD'*)
294240dd5a57Smrg  lt_cv_prog_gnu_ld=yes
294340dd5a57Smrg  ;;
294440dd5a57Smrg*)
294540dd5a57Smrg  lt_cv_prog_gnu_ld=no
294640dd5a57Smrg  ;;
294740dd5a57Smrgesac])
294840dd5a57Smrgwith_gnu_ld=$lt_cv_prog_gnu_ld
294940dd5a57Smrg])# _LT_PATH_LD_GNU
295040dd5a57Smrg
295140dd5a57Smrg
295240dd5a57Smrg# _LT_CMD_RELOAD
295340dd5a57Smrg# --------------
295440dd5a57Smrg# find reload flag for linker
295540dd5a57Smrg#   -- PORTME Some linkers may need a different reload flag.
295640dd5a57Smrgm4_defun([_LT_CMD_RELOAD],
295740dd5a57Smrg[AC_CACHE_CHECK([for $LD option to reload object files],
295840dd5a57Smrg  lt_cv_ld_reload_flag,
295940dd5a57Smrg  [lt_cv_ld_reload_flag='-r'])
296040dd5a57Smrgreload_flag=$lt_cv_ld_reload_flag
296140dd5a57Smrgcase $reload_flag in
296240dd5a57Smrg"" | " "*) ;;
296340dd5a57Smrg*) reload_flag=" $reload_flag" ;;
296440dd5a57Smrgesac
296540dd5a57Smrgreload_cmds='$LD$reload_flag -o $output$reload_objs'
296640dd5a57Smrgcase $host_os in
296740dd5a57Smrg  darwin*)
296840dd5a57Smrg    if test "$GCC" = yes; then
296940dd5a57Smrg      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
297040dd5a57Smrg    else
297140dd5a57Smrg      reload_cmds='$LD$reload_flag -o $output$reload_objs'
297240dd5a57Smrg    fi
297340dd5a57Smrg    ;;
297440dd5a57Smrgesac
297540dd5a57Smrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
297640dd5a57Smrg_LT_TAGDECL([], [reload_cmds], [2])dnl
297740dd5a57Smrg])# _LT_CMD_RELOAD
297840dd5a57Smrg
297940dd5a57Smrg
298040dd5a57Smrg# _LT_CHECK_MAGIC_METHOD
298140dd5a57Smrg# ----------------------
298240dd5a57Smrg# how to check for library dependencies
298340dd5a57Smrg#  -- PORTME fill in with the dynamic library characteristics
298440dd5a57Smrgm4_defun([_LT_CHECK_MAGIC_METHOD],
298540dd5a57Smrg[m4_require([_LT_DECL_EGREP])
298640dd5a57Smrgm4_require([_LT_DECL_OBJDUMP])
298740dd5a57SmrgAC_CACHE_CHECK([how to recognize dependent libraries],
298840dd5a57Smrglt_cv_deplibs_check_method,
298940dd5a57Smrg[lt_cv_file_magic_cmd='$MAGIC_CMD'
299040dd5a57Smrglt_cv_file_magic_test_file=
299140dd5a57Smrglt_cv_deplibs_check_method='unknown'
299240dd5a57Smrg# Need to set the preceding variable on all platforms that support
299340dd5a57Smrg# interlibrary dependencies.
299440dd5a57Smrg# 'none' -- dependencies not supported.
299540dd5a57Smrg# `unknown' -- same as none, but documents that we really don't know.
299640dd5a57Smrg# 'pass_all' -- all dependencies passed with no checks.
299740dd5a57Smrg# 'test_compile' -- check by making test program.
299840dd5a57Smrg# 'file_magic [[regex]]' -- check by looking for files in library path
299940dd5a57Smrg# which responds to the $file_magic_cmd with a given extended regex.
300040dd5a57Smrg# If you have `file' or equivalent on your system and you're not sure
300140dd5a57Smrg# whether `pass_all' will *always* work, you probably want this one.
300240dd5a57Smrg
300340dd5a57Smrgcase $host_os in
300440dd5a57Smrgaix[[4-9]]*)
300540dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
300640dd5a57Smrg  ;;
300740dd5a57Smrg
300840dd5a57Smrgbeos*)
300940dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
301040dd5a57Smrg  ;;
301140dd5a57Smrg
301240dd5a57Smrgbsdi[[45]]*)
301340dd5a57Smrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
301440dd5a57Smrg  lt_cv_file_magic_cmd='/usr/bin/file -L'
301540dd5a57Smrg  lt_cv_file_magic_test_file=/shlib/libc.so
301640dd5a57Smrg  ;;
301740dd5a57Smrg
301840dd5a57Smrgcygwin*)
301940dd5a57Smrg  # func_win32_libid is a shell function defined in ltmain.sh
302040dd5a57Smrg  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
302140dd5a57Smrg  lt_cv_file_magic_cmd='func_win32_libid'
302240dd5a57Smrg  ;;
302340dd5a57Smrg
302440dd5a57Smrgmingw* | pw32*)
302540dd5a57Smrg  # Base MSYS/MinGW do not provide the 'file' command needed by
302640dd5a57Smrg  # func_win32_libid shell function, so use a weaker test based on 'objdump',
302740dd5a57Smrg  # unless we find 'file', for example because we are cross-compiling.
302840dd5a57Smrg  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
302940dd5a57Smrg  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
303040dd5a57Smrg    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
303140dd5a57Smrg    lt_cv_file_magic_cmd='func_win32_libid'
303240dd5a57Smrg  else
303340dd5a57Smrg    # Keep this pattern in sync with the one in func_win32_libid.
303440dd5a57Smrg    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
303540dd5a57Smrg    lt_cv_file_magic_cmd='$OBJDUMP -f'
303640dd5a57Smrg  fi
303740dd5a57Smrg  ;;
303840dd5a57Smrg
303940dd5a57Smrgcegcc*)
304040dd5a57Smrg  # use the weaker test based on 'objdump'. See mingw*.
304140dd5a57Smrg  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
304240dd5a57Smrg  lt_cv_file_magic_cmd='$OBJDUMP -f'
304340dd5a57Smrg  ;;
304440dd5a57Smrg
304540dd5a57Smrgdarwin* | rhapsody*)
304640dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
304740dd5a57Smrg  ;;
304840dd5a57Smrg
304940dd5a57Smrgfreebsd* | dragonfly*)
305040dd5a57Smrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
305140dd5a57Smrg    case $host_cpu in
305240dd5a57Smrg    i*86 )
305340dd5a57Smrg      # Not sure whether the presence of OpenBSD here was a mistake.
305440dd5a57Smrg      # Let's accept both of them until this is cleared up.
305540dd5a57Smrg      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
305640dd5a57Smrg      lt_cv_file_magic_cmd=/usr/bin/file
305740dd5a57Smrg      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
305840dd5a57Smrg      ;;
305940dd5a57Smrg    esac
306040dd5a57Smrg  else
306140dd5a57Smrg    lt_cv_deplibs_check_method=pass_all
306240dd5a57Smrg  fi
306340dd5a57Smrg  ;;
306440dd5a57Smrg
306540dd5a57Smrggnu*)
306640dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
306740dd5a57Smrg  ;;
306840dd5a57Smrg
306940dd5a57Smrghaiku*)
307040dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
307140dd5a57Smrg  ;;
307240dd5a57Smrg
307340dd5a57Smrghpux10.20* | hpux11*)
307440dd5a57Smrg  lt_cv_file_magic_cmd=/usr/bin/file
307540dd5a57Smrg  case $host_cpu in
307640dd5a57Smrg  ia64*)
307740dd5a57Smrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
307840dd5a57Smrg    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
307940dd5a57Smrg    ;;
308040dd5a57Smrg  hppa*64*)
308140dd5a57Smrg    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
308240dd5a57Smrg    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
308340dd5a57Smrg    ;;
308440dd5a57Smrg  *)
308540dd5a57Smrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
308640dd5a57Smrg    lt_cv_file_magic_test_file=/usr/lib/libc.sl
308740dd5a57Smrg    ;;
308840dd5a57Smrg  esac
308940dd5a57Smrg  ;;
309040dd5a57Smrg
309140dd5a57Smrginterix[[3-9]]*)
309240dd5a57Smrg  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
309340dd5a57Smrg  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
309440dd5a57Smrg  ;;
309540dd5a57Smrg
309640dd5a57Smrgirix5* | irix6* | nonstopux*)
309740dd5a57Smrg  case $LD in
309840dd5a57Smrg  *-32|*"-32 ") libmagic=32-bit;;
309940dd5a57Smrg  *-n32|*"-n32 ") libmagic=N32;;
310040dd5a57Smrg  *-64|*"-64 ") libmagic=64-bit;;
310140dd5a57Smrg  *) libmagic=never-match;;
310240dd5a57Smrg  esac
310340dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
310440dd5a57Smrg  ;;
310540dd5a57Smrg
310640dd5a57Smrg# This must be Linux ELF.
310740dd5a57Smrglinux* | k*bsd*-gnu | kopensolaris*-gnu)
310840dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
310940dd5a57Smrg  ;;
311040dd5a57Smrg
311140dd5a57Smrgnetbsd*)
311240dd5a57Smrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
311340dd5a57Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
311440dd5a57Smrg  else
311540dd5a57Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
311640dd5a57Smrg  fi
311740dd5a57Smrg  ;;
311840dd5a57Smrg
311940dd5a57Smrgnewos6*)
312040dd5a57Smrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
312140dd5a57Smrg  lt_cv_file_magic_cmd=/usr/bin/file
312240dd5a57Smrg  lt_cv_file_magic_test_file=/usr/lib/libnls.so
312340dd5a57Smrg  ;;
312440dd5a57Smrg
312540dd5a57Smrg*nto* | *qnx*)
312640dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
312740dd5a57Smrg  ;;
312840dd5a57Smrg
312940dd5a57Smrgopenbsd*)
313040dd5a57Smrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
313140dd5a57Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
313240dd5a57Smrg  else
313340dd5a57Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
313440dd5a57Smrg  fi
313540dd5a57Smrg  ;;
313640dd5a57Smrg
313740dd5a57Smrgosf3* | osf4* | osf5*)
313840dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
313940dd5a57Smrg  ;;
314040dd5a57Smrg
314140dd5a57Smrgrdos*)
314240dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
314340dd5a57Smrg  ;;
314440dd5a57Smrg
314540dd5a57Smrgsolaris*)
314640dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
314740dd5a57Smrg  ;;
314840dd5a57Smrg
314940dd5a57Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
315040dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
315140dd5a57Smrg  ;;
315240dd5a57Smrg
315340dd5a57Smrgsysv4 | sysv4.3*)
315440dd5a57Smrg  case $host_vendor in
315540dd5a57Smrg  motorola)
315640dd5a57Smrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
315740dd5a57Smrg    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
315840dd5a57Smrg    ;;
315940dd5a57Smrg  ncr)
316040dd5a57Smrg    lt_cv_deplibs_check_method=pass_all
316140dd5a57Smrg    ;;
316240dd5a57Smrg  sequent)
316340dd5a57Smrg    lt_cv_file_magic_cmd='/bin/file'
316440dd5a57Smrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
316540dd5a57Smrg    ;;
316640dd5a57Smrg  sni)
316740dd5a57Smrg    lt_cv_file_magic_cmd='/bin/file'
316840dd5a57Smrg    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
316940dd5a57Smrg    lt_cv_file_magic_test_file=/lib/libc.so
317040dd5a57Smrg    ;;
317140dd5a57Smrg  siemens)
317240dd5a57Smrg    lt_cv_deplibs_check_method=pass_all
317340dd5a57Smrg    ;;
317440dd5a57Smrg  pc)
317540dd5a57Smrg    lt_cv_deplibs_check_method=pass_all
317640dd5a57Smrg    ;;
317740dd5a57Smrg  esac
317840dd5a57Smrg  ;;
317940dd5a57Smrg
318040dd5a57Smrgtpf*)
318140dd5a57Smrg  lt_cv_deplibs_check_method=pass_all
318240dd5a57Smrg  ;;
318340dd5a57Smrgesac
318440dd5a57Smrg])
318540dd5a57Smrgfile_magic_cmd=$lt_cv_file_magic_cmd
318640dd5a57Smrgdeplibs_check_method=$lt_cv_deplibs_check_method
318740dd5a57Smrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown
318840dd5a57Smrg
318940dd5a57Smrg_LT_DECL([], [deplibs_check_method], [1],
319040dd5a57Smrg    [Method to check whether dependent libraries are shared objects])
319140dd5a57Smrg_LT_DECL([], [file_magic_cmd], [1],
319240dd5a57Smrg    [Command to use when deplibs_check_method == "file_magic"])
319340dd5a57Smrg])# _LT_CHECK_MAGIC_METHOD
319440dd5a57Smrg
319540dd5a57Smrg
319640dd5a57Smrg# LT_PATH_NM
319740dd5a57Smrg# ----------
319840dd5a57Smrg# find the pathname to a BSD- or MS-compatible name lister
319940dd5a57SmrgAC_DEFUN([LT_PATH_NM],
320040dd5a57Smrg[AC_REQUIRE([AC_PROG_CC])dnl
320140dd5a57SmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
320240dd5a57Smrg[if test -n "$NM"; then
320340dd5a57Smrg  # Let the user override the test.
320440dd5a57Smrg  lt_cv_path_NM="$NM"
320540dd5a57Smrgelse
320640dd5a57Smrg  lt_nm_to_check="${ac_tool_prefix}nm"
320740dd5a57Smrg  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
320840dd5a57Smrg    lt_nm_to_check="$lt_nm_to_check nm"
320940dd5a57Smrg  fi
321040dd5a57Smrg  for lt_tmp_nm in $lt_nm_to_check; do
321140dd5a57Smrg    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
321240dd5a57Smrg    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
321340dd5a57Smrg      IFS="$lt_save_ifs"
321440dd5a57Smrg      test -z "$ac_dir" && ac_dir=.
321540dd5a57Smrg      tmp_nm="$ac_dir/$lt_tmp_nm"
321640dd5a57Smrg      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
321740dd5a57Smrg	# Check to see if the nm accepts a BSD-compat flag.
321840dd5a57Smrg	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
321940dd5a57Smrg	#   nm: unknown option "B" ignored
322040dd5a57Smrg	# Tru64's nm complains that /dev/null is an invalid object file
322140dd5a57Smrg	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
322240dd5a57Smrg	*/dev/null* | *'Invalid file or object type'*)
322340dd5a57Smrg	  lt_cv_path_NM="$tmp_nm -B"
322440dd5a57Smrg	  break
322540dd5a57Smrg	  ;;
322640dd5a57Smrg	*)
322740dd5a57Smrg	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
322840dd5a57Smrg	  */dev/null*)
322940dd5a57Smrg	    lt_cv_path_NM="$tmp_nm -p"
323040dd5a57Smrg	    break
323140dd5a57Smrg	    ;;
323240dd5a57Smrg	  *)
323340dd5a57Smrg	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
323440dd5a57Smrg	    continue # so that we can try to find one that supports BSD flags
323540dd5a57Smrg	    ;;
323640dd5a57Smrg	  esac
323740dd5a57Smrg	  ;;
323840dd5a57Smrg	esac
323940dd5a57Smrg      fi
324040dd5a57Smrg    done
324140dd5a57Smrg    IFS="$lt_save_ifs"
324240dd5a57Smrg  done
324340dd5a57Smrg  : ${lt_cv_path_NM=no}
324440dd5a57Smrgfi])
324540dd5a57Smrgif test "$lt_cv_path_NM" != "no"; then
324640dd5a57Smrg  NM="$lt_cv_path_NM"
324740dd5a57Smrgelse
324840dd5a57Smrg  # Didn't find any BSD compatible name lister, look for dumpbin.
324940dd5a57Smrg  if test -n "$DUMPBIN"; then :
325040dd5a57Smrg    # Let the user override the test.
325140dd5a57Smrg  else
325240dd5a57Smrg    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
325340dd5a57Smrg    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
325440dd5a57Smrg    *COFF*)
325540dd5a57Smrg      DUMPBIN="$DUMPBIN -symbols"
325640dd5a57Smrg      ;;
325740dd5a57Smrg    *)
325840dd5a57Smrg      DUMPBIN=:
325940dd5a57Smrg      ;;
326040dd5a57Smrg    esac
326140dd5a57Smrg  fi
326240dd5a57Smrg  AC_SUBST([DUMPBIN])
326340dd5a57Smrg  if test "$DUMPBIN" != ":"; then
326440dd5a57Smrg    NM="$DUMPBIN"
326540dd5a57Smrg  fi
326640dd5a57Smrgfi
326740dd5a57Smrgtest -z "$NM" && NM=nm
326840dd5a57SmrgAC_SUBST([NM])
326940dd5a57Smrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
327040dd5a57Smrg
327140dd5a57SmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
327240dd5a57Smrg  [lt_cv_nm_interface="BSD nm"
327340dd5a57Smrg  echo "int some_variable = 0;" > conftest.$ac_ext
327440dd5a57Smrg  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
327540dd5a57Smrg  (eval "$ac_compile" 2>conftest.err)
327640dd5a57Smrg  cat conftest.err >&AS_MESSAGE_LOG_FD
327740dd5a57Smrg  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
327840dd5a57Smrg  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
327940dd5a57Smrg  cat conftest.err >&AS_MESSAGE_LOG_FD
328040dd5a57Smrg  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
328140dd5a57Smrg  cat conftest.out >&AS_MESSAGE_LOG_FD
328240dd5a57Smrg  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
328340dd5a57Smrg    lt_cv_nm_interface="MS dumpbin"
328440dd5a57Smrg  fi
328540dd5a57Smrg  rm -f conftest*])
328640dd5a57Smrg])# LT_PATH_NM
328740dd5a57Smrg
328840dd5a57Smrg# Old names:
328940dd5a57SmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
329040dd5a57SmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
329140dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
329240dd5a57Smrgdnl AC_DEFUN([AM_PROG_NM], [])
329340dd5a57Smrgdnl AC_DEFUN([AC_PROG_NM], [])
329440dd5a57Smrg
329540dd5a57Smrg
329640dd5a57Smrg# LT_LIB_M
329740dd5a57Smrg# --------
329840dd5a57Smrg# check for math library
329940dd5a57SmrgAC_DEFUN([LT_LIB_M],
330040dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
330140dd5a57SmrgLIBM=
330240dd5a57Smrgcase $host in
330340dd5a57Smrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
330440dd5a57Smrg  # These system don't have libm, or don't need it
330540dd5a57Smrg  ;;
330640dd5a57Smrg*-ncr-sysv4.3*)
330740dd5a57Smrg  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
330840dd5a57Smrg  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
330940dd5a57Smrg  ;;
331040dd5a57Smrg*)
331140dd5a57Smrg  AC_CHECK_LIB(m, cos, LIBM="-lm")
331240dd5a57Smrg  ;;
331340dd5a57Smrgesac
331440dd5a57SmrgAC_SUBST([LIBM])
331540dd5a57Smrg])# LT_LIB_M
331640dd5a57Smrg
331740dd5a57Smrg# Old name:
331840dd5a57SmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
331940dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
332040dd5a57Smrgdnl AC_DEFUN([AC_CHECK_LIBM], [])
332140dd5a57Smrg
332240dd5a57Smrg
332340dd5a57Smrg# _LT_COMPILER_NO_RTTI([TAGNAME])
332440dd5a57Smrg# -------------------------------
332540dd5a57Smrgm4_defun([_LT_COMPILER_NO_RTTI],
332640dd5a57Smrg[m4_require([_LT_TAG_COMPILER])dnl
332740dd5a57Smrg
332840dd5a57Smrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
332940dd5a57Smrg
333040dd5a57Smrgif test "$GCC" = yes; then
333140dd5a57Smrg  case $cc_basename in
333240dd5a57Smrg  nvcc*)
333340dd5a57Smrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
333440dd5a57Smrg  *)
333540dd5a57Smrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
333640dd5a57Smrg  esac
333740dd5a57Smrg
333840dd5a57Smrg  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
333940dd5a57Smrg    lt_cv_prog_compiler_rtti_exceptions,
334040dd5a57Smrg    [-fno-rtti -fno-exceptions], [],
334140dd5a57Smrg    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
334240dd5a57Smrgfi
334340dd5a57Smrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
334440dd5a57Smrg	[Compiler flag to turn off builtin functions])
334540dd5a57Smrg])# _LT_COMPILER_NO_RTTI
334640dd5a57Smrg
334740dd5a57Smrg
334840dd5a57Smrg# _LT_CMD_GLOBAL_SYMBOLS
334940dd5a57Smrg# ----------------------
335040dd5a57Smrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
335140dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
335240dd5a57SmrgAC_REQUIRE([AC_PROG_CC])dnl
335340dd5a57SmrgAC_REQUIRE([AC_PROG_AWK])dnl
335440dd5a57SmrgAC_REQUIRE([LT_PATH_NM])dnl
335540dd5a57SmrgAC_REQUIRE([LT_PATH_LD])dnl
335640dd5a57Smrgm4_require([_LT_DECL_SED])dnl
335740dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl
335840dd5a57Smrgm4_require([_LT_TAG_COMPILER])dnl
335940dd5a57Smrg
336040dd5a57Smrg# Check for command to grab the raw symbol name followed by C symbol from nm.
336140dd5a57SmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object])
336240dd5a57SmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
336340dd5a57Smrg[
336440dd5a57Smrg# These are sane defaults that work on at least a few old systems.
336540dd5a57Smrg# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
336640dd5a57Smrg
336740dd5a57Smrg# Character class describing NM global symbol codes.
336840dd5a57Smrgsymcode='[[BCDEGRST]]'
336940dd5a57Smrg
337040dd5a57Smrg# Regexp to match symbols that can be accessed directly from C.
337140dd5a57Smrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
337240dd5a57Smrg
337340dd5a57Smrg# Define system-specific variables.
337440dd5a57Smrgcase $host_os in
337540dd5a57Smrgaix*)
337640dd5a57Smrg  symcode='[[BCDT]]'
337740dd5a57Smrg  ;;
337840dd5a57Smrgcygwin* | mingw* | pw32* | cegcc*)
337940dd5a57Smrg  symcode='[[ABCDGISTW]]'
338040dd5a57Smrg  ;;
338140dd5a57Smrghpux*)
338240dd5a57Smrg  if test "$host_cpu" = ia64; then
338340dd5a57Smrg    symcode='[[ABCDEGRST]]'
338440dd5a57Smrg  fi
338540dd5a57Smrg  ;;
338640dd5a57Smrgirix* | nonstopux*)
338740dd5a57Smrg  symcode='[[BCDEGRST]]'
338840dd5a57Smrg  ;;
338940dd5a57Smrgosf*)
339040dd5a57Smrg  symcode='[[BCDEGQRST]]'
339140dd5a57Smrg  ;;
339240dd5a57Smrgsolaris*)
339340dd5a57Smrg  symcode='[[BDRT]]'
339440dd5a57Smrg  ;;
339540dd5a57Smrgsco3.2v5*)
339640dd5a57Smrg  symcode='[[DT]]'
339740dd5a57Smrg  ;;
339840dd5a57Smrgsysv4.2uw2*)
339940dd5a57Smrg  symcode='[[DT]]'
340040dd5a57Smrg  ;;
340140dd5a57Smrgsysv5* | sco5v6* | unixware* | OpenUNIX*)
340240dd5a57Smrg  symcode='[[ABDT]]'
340340dd5a57Smrg  ;;
340440dd5a57Smrgsysv4)
340540dd5a57Smrg  symcode='[[DFNSTU]]'
340640dd5a57Smrg  ;;
340740dd5a57Smrgesac
340840dd5a57Smrg
340940dd5a57Smrg# If we're using GNU nm, then use its standard symbol codes.
341040dd5a57Smrgcase `$NM -V 2>&1` in
341140dd5a57Smrg*GNU* | *'with BFD'*)
341240dd5a57Smrg  symcode='[[ABCDGIRSTW]]' ;;
341340dd5a57Smrgesac
341440dd5a57Smrg
341540dd5a57Smrg# Transform an extracted symbol line into a proper C declaration.
341640dd5a57Smrg# Some systems (esp. on ia64) link data and code symbols differently,
341740dd5a57Smrg# so use this general approach.
341840dd5a57Smrglt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
341940dd5a57Smrg
342040dd5a57Smrg# Transform an extracted symbol line into symbol name and symbol address
342140dd5a57Smrglt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
342240dd5a57Smrglt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
342340dd5a57Smrg
342440dd5a57Smrg# Handle CRLF in mingw tool chain
342540dd5a57Smrgopt_cr=
342640dd5a57Smrgcase $build_os in
342740dd5a57Smrgmingw*)
342840dd5a57Smrg  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
342940dd5a57Smrg  ;;
343040dd5a57Smrgesac
343140dd5a57Smrg
343240dd5a57Smrg# Try without a prefix underscore, then with it.
343340dd5a57Smrgfor ac_symprfx in "" "_"; do
343440dd5a57Smrg
343540dd5a57Smrg  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
343640dd5a57Smrg  symxfrm="\\1 $ac_symprfx\\2 \\2"
343740dd5a57Smrg
343840dd5a57Smrg  # Write the raw and C identifiers.
343940dd5a57Smrg  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
344040dd5a57Smrg    # Fake it for dumpbin and say T for any non-static function
344140dd5a57Smrg    # and D for any global variable.
344240dd5a57Smrg    # Also find C++ and __fastcall symbols from MSVC++,
344340dd5a57Smrg    # which start with @ or ?.
344440dd5a57Smrg    lt_cv_sys_global_symbol_pipe="$AWK ['"\
344540dd5a57Smrg"     {last_section=section; section=\$ 3};"\
344640dd5a57Smrg"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
344740dd5a57Smrg"     \$ 0!~/External *\|/{next};"\
344840dd5a57Smrg"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
344940dd5a57Smrg"     {if(hide[section]) next};"\
345040dd5a57Smrg"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
345140dd5a57Smrg"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
345240dd5a57Smrg"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
345340dd5a57Smrg"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
345440dd5a57Smrg"     ' prfx=^$ac_symprfx]"
345540dd5a57Smrg  else
345640dd5a57Smrg    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
345740dd5a57Smrg  fi
345840dd5a57Smrg
345940dd5a57Smrg  # Check to see that the pipe works correctly.
346040dd5a57Smrg  pipe_works=no
346140dd5a57Smrg
346240dd5a57Smrg  rm -f conftest*
346340dd5a57Smrg  cat > conftest.$ac_ext <<_LT_EOF
346440dd5a57Smrg#ifdef __cplusplus
346540dd5a57Smrgextern "C" {
346640dd5a57Smrg#endif
346740dd5a57Smrgchar nm_test_var;
346840dd5a57Smrgvoid nm_test_func(void);
346940dd5a57Smrgvoid nm_test_func(void){}
347040dd5a57Smrg#ifdef __cplusplus
347140dd5a57Smrg}
347240dd5a57Smrg#endif
347340dd5a57Smrgint main(){nm_test_var='a';nm_test_func();return(0);}
347440dd5a57Smrg_LT_EOF
347540dd5a57Smrg
347640dd5a57Smrg  if AC_TRY_EVAL(ac_compile); then
347740dd5a57Smrg    # Now try to grab the symbols.
347840dd5a57Smrg    nlist=conftest.nm
347940dd5a57Smrg    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
348040dd5a57Smrg      # Try sorting and uniquifying the output.
348140dd5a57Smrg      if sort "$nlist" | uniq > "$nlist"T; then
348240dd5a57Smrg	mv -f "$nlist"T "$nlist"
348340dd5a57Smrg      else
348440dd5a57Smrg	rm -f "$nlist"T
348540dd5a57Smrg      fi
348640dd5a57Smrg
348740dd5a57Smrg      # Make sure that we snagged all the symbols we need.
348840dd5a57Smrg      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
348940dd5a57Smrg	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
349040dd5a57Smrg	  cat <<_LT_EOF > conftest.$ac_ext
349140dd5a57Smrg#ifdef __cplusplus
349240dd5a57Smrgextern "C" {
349340dd5a57Smrg#endif
349440dd5a57Smrg
349540dd5a57Smrg_LT_EOF
349640dd5a57Smrg	  # Now generate the symbol file.
349740dd5a57Smrg	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
349840dd5a57Smrg
349940dd5a57Smrg	  cat <<_LT_EOF >> conftest.$ac_ext
350040dd5a57Smrg
350140dd5a57Smrg/* The mapping between symbol names and symbols.  */
350240dd5a57Smrgconst struct {
350340dd5a57Smrg  const char *name;
350440dd5a57Smrg  void       *address;
350540dd5a57Smrg}
350640dd5a57Smrglt__PROGRAM__LTX_preloaded_symbols[[]] =
350740dd5a57Smrg{
350840dd5a57Smrg  { "@PROGRAM@", (void *) 0 },
350940dd5a57Smrg_LT_EOF
351040dd5a57Smrg	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
351140dd5a57Smrg	  cat <<\_LT_EOF >> conftest.$ac_ext
351240dd5a57Smrg  {0, (void *) 0}
351340dd5a57Smrg};
351440dd5a57Smrg
351540dd5a57Smrg/* This works around a problem in FreeBSD linker */
351640dd5a57Smrg#ifdef FREEBSD_WORKAROUND
351740dd5a57Smrgstatic const void *lt_preloaded_setup() {
351840dd5a57Smrg  return lt__PROGRAM__LTX_preloaded_symbols;
351940dd5a57Smrg}
352040dd5a57Smrg#endif
352140dd5a57Smrg
352240dd5a57Smrg#ifdef __cplusplus
352340dd5a57Smrg}
352440dd5a57Smrg#endif
352540dd5a57Smrg_LT_EOF
352640dd5a57Smrg	  # Now try linking the two files.
352740dd5a57Smrg	  mv conftest.$ac_objext conftstm.$ac_objext
352840dd5a57Smrg	  lt_save_LIBS="$LIBS"
352940dd5a57Smrg	  lt_save_CFLAGS="$CFLAGS"
353040dd5a57Smrg	  LIBS="conftstm.$ac_objext"
353140dd5a57Smrg	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
353240dd5a57Smrg	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
353340dd5a57Smrg	    pipe_works=yes
353440dd5a57Smrg	  fi
353540dd5a57Smrg	  LIBS="$lt_save_LIBS"
353640dd5a57Smrg	  CFLAGS="$lt_save_CFLAGS"
353740dd5a57Smrg	else
353840dd5a57Smrg	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
353940dd5a57Smrg	fi
354040dd5a57Smrg      else
354140dd5a57Smrg	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
354240dd5a57Smrg      fi
354340dd5a57Smrg    else
354440dd5a57Smrg      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
354540dd5a57Smrg    fi
354640dd5a57Smrg  else
354740dd5a57Smrg    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
354840dd5a57Smrg    cat conftest.$ac_ext >&5
354940dd5a57Smrg  fi
355040dd5a57Smrg  rm -rf conftest* conftst*
355140dd5a57Smrg
355240dd5a57Smrg  # Do not use the global_symbol_pipe unless it works.
355340dd5a57Smrg  if test "$pipe_works" = yes; then
355440dd5a57Smrg    break
355540dd5a57Smrg  else
355640dd5a57Smrg    lt_cv_sys_global_symbol_pipe=
355740dd5a57Smrg  fi
355840dd5a57Smrgdone
355940dd5a57Smrg])
356040dd5a57Smrgif test -z "$lt_cv_sys_global_symbol_pipe"; then
356140dd5a57Smrg  lt_cv_sys_global_symbol_to_cdecl=
356240dd5a57Smrgfi
356340dd5a57Smrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
356440dd5a57Smrg  AC_MSG_RESULT(failed)
356540dd5a57Smrgelse
356640dd5a57Smrg  AC_MSG_RESULT(ok)
356740dd5a57Smrgfi
356840dd5a57Smrg
356940dd5a57Smrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
357040dd5a57Smrg    [Take the output of nm and produce a listing of raw symbols and C names])
357140dd5a57Smrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
357240dd5a57Smrg    [Transform the output of nm in a proper C declaration])
357340dd5a57Smrg_LT_DECL([global_symbol_to_c_name_address],
357440dd5a57Smrg    [lt_cv_sys_global_symbol_to_c_name_address], [1],
357540dd5a57Smrg    [Transform the output of nm in a C name address pair])
357640dd5a57Smrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
357740dd5a57Smrg    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
357840dd5a57Smrg    [Transform the output of nm in a C name address pair when lib prefix is needed])
357940dd5a57Smrg]) # _LT_CMD_GLOBAL_SYMBOLS
358040dd5a57Smrg
358140dd5a57Smrg
358240dd5a57Smrg# _LT_COMPILER_PIC([TAGNAME])
358340dd5a57Smrg# ---------------------------
358440dd5a57Smrgm4_defun([_LT_COMPILER_PIC],
358540dd5a57Smrg[m4_require([_LT_TAG_COMPILER])dnl
358640dd5a57Smrg_LT_TAGVAR(lt_prog_compiler_wl, $1)=
358740dd5a57Smrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=
358840dd5a57Smrg_LT_TAGVAR(lt_prog_compiler_static, $1)=
358940dd5a57Smrg
359040dd5a57SmrgAC_MSG_CHECKING([for $compiler option to produce PIC])
359140dd5a57Smrgm4_if([$1], [CXX], [
359240dd5a57Smrg  # C++ specific cases for pic, static, wl, etc.
359340dd5a57Smrg  if test "$GXX" = yes; then
359440dd5a57Smrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
359540dd5a57Smrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
359640dd5a57Smrg
359740dd5a57Smrg    case $host_os in
359840dd5a57Smrg    aix*)
359940dd5a57Smrg      # All AIX code is PIC.
360040dd5a57Smrg      if test "$host_cpu" = ia64; then
360140dd5a57Smrg	# AIX 5 now supports IA64 processor
360240dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
360340dd5a57Smrg      fi
360440dd5a57Smrg      ;;
360540dd5a57Smrg
360640dd5a57Smrg    amigaos*)
360740dd5a57Smrg      case $host_cpu in
360840dd5a57Smrg      powerpc)
360940dd5a57Smrg            # see comment about AmigaOS4 .so support
361040dd5a57Smrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
361140dd5a57Smrg        ;;
361240dd5a57Smrg      m68k)
361340dd5a57Smrg            # FIXME: we need at least 68020 code to build shared libraries, but
361440dd5a57Smrg            # adding the `-m68020' flag to GCC prevents building anything better,
361540dd5a57Smrg            # like `-m68040'.
361640dd5a57Smrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
361740dd5a57Smrg        ;;
361840dd5a57Smrg      esac
361940dd5a57Smrg      ;;
362040dd5a57Smrg
362140dd5a57Smrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
362240dd5a57Smrg      # PIC is the default for these OSes.
362340dd5a57Smrg      ;;
362440dd5a57Smrg    mingw* | cygwin* | os2* | pw32* | cegcc*)
362540dd5a57Smrg      # This hack is so that the source file can tell whether it is being
362640dd5a57Smrg      # built for inclusion in a dll (and should export symbols for example).
362740dd5a57Smrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
362840dd5a57Smrg      # (--disable-auto-import) libraries
362940dd5a57Smrg      m4_if([$1], [GCJ], [],
363040dd5a57Smrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
363140dd5a57Smrg      ;;
363240dd5a57Smrg    darwin* | rhapsody*)
363340dd5a57Smrg      # PIC is the default on this platform
363440dd5a57Smrg      # Common symbols not allowed in MH_DYLIB files
363540dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
363640dd5a57Smrg      ;;
363740dd5a57Smrg    *djgpp*)
363840dd5a57Smrg      # DJGPP does not support shared libraries at all
363940dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
364040dd5a57Smrg      ;;
364140dd5a57Smrg    haiku*)
364240dd5a57Smrg      # PIC is the default for Haiku.
364340dd5a57Smrg      # The "-static" flag exists, but is broken.
364440dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
364540dd5a57Smrg      ;;
364640dd5a57Smrg    interix[[3-9]]*)
364740dd5a57Smrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
364840dd5a57Smrg      # Instead, we relocate shared libraries at runtime.
364940dd5a57Smrg      ;;
365040dd5a57Smrg    sysv4*MP*)
365140dd5a57Smrg      if test -d /usr/nec; then
365240dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
365340dd5a57Smrg      fi
365440dd5a57Smrg      ;;
365540dd5a57Smrg    hpux*)
365640dd5a57Smrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
365740dd5a57Smrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
365840dd5a57Smrg      # sets the default TLS model and affects inlining.
365940dd5a57Smrg      case $host_cpu in
366040dd5a57Smrg      hppa*64*)
366140dd5a57Smrg	;;
366240dd5a57Smrg      *)
366340dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
366440dd5a57Smrg	;;
366540dd5a57Smrg      esac
366640dd5a57Smrg      ;;
366740dd5a57Smrg    *qnx* | *nto*)
366840dd5a57Smrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
366940dd5a57Smrg      # it will coredump.
367040dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
367140dd5a57Smrg      ;;
367240dd5a57Smrg    *)
367340dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
367440dd5a57Smrg      ;;
367540dd5a57Smrg    esac
367640dd5a57Smrg  else
367740dd5a57Smrg    case $host_os in
367840dd5a57Smrg      aix[[4-9]]*)
367940dd5a57Smrg	# All AIX code is PIC.
368040dd5a57Smrg	if test "$host_cpu" = ia64; then
368140dd5a57Smrg	  # AIX 5 now supports IA64 processor
368240dd5a57Smrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
368340dd5a57Smrg	else
368440dd5a57Smrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
368540dd5a57Smrg	fi
368640dd5a57Smrg	;;
368740dd5a57Smrg      chorus*)
368840dd5a57Smrg	case $cc_basename in
368940dd5a57Smrg	cxch68*)
369040dd5a57Smrg	  # Green Hills C++ Compiler
369140dd5a57Smrg	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
369240dd5a57Smrg	  ;;
369340dd5a57Smrg	esac
369440dd5a57Smrg	;;
369540dd5a57Smrg      dgux*)
369640dd5a57Smrg	case $cc_basename in
369740dd5a57Smrg	  ec++*)
369840dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
369940dd5a57Smrg	    ;;
370040dd5a57Smrg	  ghcx*)
370140dd5a57Smrg	    # Green Hills C++ Compiler
370240dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
370340dd5a57Smrg	    ;;
370440dd5a57Smrg	  *)
370540dd5a57Smrg	    ;;
370640dd5a57Smrg	esac
370740dd5a57Smrg	;;
370840dd5a57Smrg      freebsd* | dragonfly*)
370940dd5a57Smrg	# FreeBSD uses GNU C++
371040dd5a57Smrg	;;
371140dd5a57Smrg      hpux9* | hpux10* | hpux11*)
371240dd5a57Smrg	case $cc_basename in
371340dd5a57Smrg	  CC*)
371440dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
371540dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
371640dd5a57Smrg	    if test "$host_cpu" != ia64; then
371740dd5a57Smrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
371840dd5a57Smrg	    fi
371940dd5a57Smrg	    ;;
372040dd5a57Smrg	  aCC*)
372140dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
372240dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
372340dd5a57Smrg	    case $host_cpu in
372440dd5a57Smrg	    hppa*64*|ia64*)
372540dd5a57Smrg	      # +Z the default
372640dd5a57Smrg	      ;;
372740dd5a57Smrg	    *)
372840dd5a57Smrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
372940dd5a57Smrg	      ;;
373040dd5a57Smrg	    esac
373140dd5a57Smrg	    ;;
373240dd5a57Smrg	  *)
373340dd5a57Smrg	    ;;
373440dd5a57Smrg	esac
373540dd5a57Smrg	;;
373640dd5a57Smrg      interix*)
373740dd5a57Smrg	# This is c89, which is MS Visual C++ (no shared libs)
373840dd5a57Smrg	# Anyone wants to do a port?
373940dd5a57Smrg	;;
374040dd5a57Smrg      irix5* | irix6* | nonstopux*)
374140dd5a57Smrg	case $cc_basename in
374240dd5a57Smrg	  CC*)
374340dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
374440dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
374540dd5a57Smrg	    # CC pic flag -KPIC is the default.
374640dd5a57Smrg	    ;;
374740dd5a57Smrg	  *)
374840dd5a57Smrg	    ;;
374940dd5a57Smrg	esac
375040dd5a57Smrg	;;
375140dd5a57Smrg      linux* | k*bsd*-gnu | kopensolaris*-gnu)
375240dd5a57Smrg	case $cc_basename in
375340dd5a57Smrg	  KCC*)
375440dd5a57Smrg	    # KAI C++ Compiler
375540dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
375640dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
375740dd5a57Smrg	    ;;
375840dd5a57Smrg	  ecpc* )
375940dd5a57Smrg	    # old Intel C++ for x86_64 which still supported -KPIC.
376040dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
376140dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
376240dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
376340dd5a57Smrg	    ;;
376440dd5a57Smrg	  icpc* )
376540dd5a57Smrg	    # Intel C++, used to be incompatible with GCC.
376640dd5a57Smrg	    # ICC 10 doesn't accept -KPIC any more.
376740dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
376840dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
376940dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
377040dd5a57Smrg	    ;;
377140dd5a57Smrg	  pgCC* | pgcpp*)
377240dd5a57Smrg	    # Portland Group C++ compiler
377340dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
377440dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
377540dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
377640dd5a57Smrg	    ;;
377740dd5a57Smrg	  cxx*)
377840dd5a57Smrg	    # Compaq C++
377940dd5a57Smrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
378040dd5a57Smrg	    # Linux and Compaq Tru64 Unix objects are PIC.
378140dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
378240dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
378340dd5a57Smrg	    ;;
378440dd5a57Smrg	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
378540dd5a57Smrg	    # IBM XL 8.0, 9.0 on PPC and BlueGene
378640dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
378740dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
378840dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
378940dd5a57Smrg	    ;;
379040dd5a57Smrg	  *)
379140dd5a57Smrg	    case `$CC -V 2>&1 | sed 5q` in
379240dd5a57Smrg	    *Sun\ C*)
379340dd5a57Smrg	      # Sun C++ 5.9
379440dd5a57Smrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
379540dd5a57Smrg	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
379640dd5a57Smrg	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
379740dd5a57Smrg	      ;;
379840dd5a57Smrg	    esac
379940dd5a57Smrg	    ;;
380040dd5a57Smrg	esac
380140dd5a57Smrg	;;
380240dd5a57Smrg      lynxos*)
380340dd5a57Smrg	;;
380440dd5a57Smrg      m88k*)
380540dd5a57Smrg	;;
380640dd5a57Smrg      mvs*)
380740dd5a57Smrg	case $cc_basename in
380840dd5a57Smrg	  cxx*)
380940dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
381040dd5a57Smrg	    ;;
381140dd5a57Smrg	  *)
381240dd5a57Smrg	    ;;
381340dd5a57Smrg	esac
381440dd5a57Smrg	;;
381540dd5a57Smrg      netbsd*)
381640dd5a57Smrg	;;
381740dd5a57Smrg      *qnx* | *nto*)
381840dd5a57Smrg        # QNX uses GNU C++, but need to define -shared option too, otherwise
381940dd5a57Smrg        # it will coredump.
382040dd5a57Smrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
382140dd5a57Smrg        ;;
382240dd5a57Smrg      osf3* | osf4* | osf5*)
382340dd5a57Smrg	case $cc_basename in
382440dd5a57Smrg	  KCC*)
382540dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
382640dd5a57Smrg	    ;;
382740dd5a57Smrg	  RCC*)
382840dd5a57Smrg	    # Rational C++ 2.4.1
382940dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
383040dd5a57Smrg	    ;;
383140dd5a57Smrg	  cxx*)
383240dd5a57Smrg	    # Digital/Compaq C++
383340dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
383440dd5a57Smrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
383540dd5a57Smrg	    # Linux and Compaq Tru64 Unix objects are PIC.
383640dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
383740dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
383840dd5a57Smrg	    ;;
383940dd5a57Smrg	  *)
384040dd5a57Smrg	    ;;
384140dd5a57Smrg	esac
384240dd5a57Smrg	;;
384340dd5a57Smrg      psos*)
384440dd5a57Smrg	;;
384540dd5a57Smrg      solaris*)
384640dd5a57Smrg	case $cc_basename in
384740dd5a57Smrg	  CC* | sunCC*)
384840dd5a57Smrg	    # Sun C++ 4.2, 5.x and Centerline C++
384940dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
385040dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
385140dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
385240dd5a57Smrg	    ;;
385340dd5a57Smrg	  gcx*)
385440dd5a57Smrg	    # Green Hills C++ Compiler
385540dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
385640dd5a57Smrg	    ;;
385740dd5a57Smrg	  *)
385840dd5a57Smrg	    ;;
385940dd5a57Smrg	esac
386040dd5a57Smrg	;;
386140dd5a57Smrg      sunos4*)
386240dd5a57Smrg	case $cc_basename in
386340dd5a57Smrg	  CC*)
386440dd5a57Smrg	    # Sun C++ 4.x
386540dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
386640dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
386740dd5a57Smrg	    ;;
386840dd5a57Smrg	  lcc*)
386940dd5a57Smrg	    # Lucid
387040dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
387140dd5a57Smrg	    ;;
387240dd5a57Smrg	  *)
387340dd5a57Smrg	    ;;
387440dd5a57Smrg	esac
387540dd5a57Smrg	;;
387640dd5a57Smrg      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
387740dd5a57Smrg	case $cc_basename in
387840dd5a57Smrg	  CC*)
387940dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
388040dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
388140dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
388240dd5a57Smrg	    ;;
388340dd5a57Smrg	esac
388440dd5a57Smrg	;;
388540dd5a57Smrg      tandem*)
388640dd5a57Smrg	case $cc_basename in
388740dd5a57Smrg	  NCC*)
388840dd5a57Smrg	    # NonStop-UX NCC 3.20
388940dd5a57Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
389040dd5a57Smrg	    ;;
389140dd5a57Smrg	  *)
389240dd5a57Smrg	    ;;
389340dd5a57Smrg	esac
389440dd5a57Smrg	;;
389540dd5a57Smrg      vxworks*)
389640dd5a57Smrg	;;
389740dd5a57Smrg      *)
389840dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
389940dd5a57Smrg	;;
390040dd5a57Smrg    esac
390140dd5a57Smrg  fi
390240dd5a57Smrg],
390340dd5a57Smrg[
390440dd5a57Smrg  if test "$GCC" = yes; then
390540dd5a57Smrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
390640dd5a57Smrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
390740dd5a57Smrg
390840dd5a57Smrg    case $host_os in
390940dd5a57Smrg      aix*)
391040dd5a57Smrg      # All AIX code is PIC.
391140dd5a57Smrg      if test "$host_cpu" = ia64; then
391240dd5a57Smrg	# AIX 5 now supports IA64 processor
391340dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
391440dd5a57Smrg      fi
391540dd5a57Smrg      ;;
391640dd5a57Smrg
391740dd5a57Smrg    amigaos*)
391840dd5a57Smrg      case $host_cpu in
391940dd5a57Smrg      powerpc)
392040dd5a57Smrg            # see comment about AmigaOS4 .so support
392140dd5a57Smrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
392240dd5a57Smrg        ;;
392340dd5a57Smrg      m68k)
392440dd5a57Smrg            # FIXME: we need at least 68020 code to build shared libraries, but
392540dd5a57Smrg            # adding the `-m68020' flag to GCC prevents building anything better,
392640dd5a57Smrg            # like `-m68040'.
392740dd5a57Smrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
392840dd5a57Smrg        ;;
392940dd5a57Smrg      esac
393040dd5a57Smrg      ;;
393140dd5a57Smrg
393240dd5a57Smrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
393340dd5a57Smrg      # PIC is the default for these OSes.
393440dd5a57Smrg      ;;
393540dd5a57Smrg
393640dd5a57Smrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
393740dd5a57Smrg      # This hack is so that the source file can tell whether it is being
393840dd5a57Smrg      # built for inclusion in a dll (and should export symbols for example).
393940dd5a57Smrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
394040dd5a57Smrg      # (--disable-auto-import) libraries
394140dd5a57Smrg      m4_if([$1], [GCJ], [],
394240dd5a57Smrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
394340dd5a57Smrg      ;;
394440dd5a57Smrg
394540dd5a57Smrg    darwin* | rhapsody*)
394640dd5a57Smrg      # PIC is the default on this platform
394740dd5a57Smrg      # Common symbols not allowed in MH_DYLIB files
394840dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
394940dd5a57Smrg      ;;
395040dd5a57Smrg
395140dd5a57Smrg    haiku*)
395240dd5a57Smrg      # PIC is the default for Haiku.
395340dd5a57Smrg      # The "-static" flag exists, but is broken.
395440dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
395540dd5a57Smrg      ;;
395640dd5a57Smrg
395740dd5a57Smrg    hpux*)
395840dd5a57Smrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
395940dd5a57Smrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
396040dd5a57Smrg      # sets the default TLS model and affects inlining.
396140dd5a57Smrg      case $host_cpu in
396240dd5a57Smrg      hppa*64*)
396340dd5a57Smrg	# +Z the default
396440dd5a57Smrg	;;
396540dd5a57Smrg      *)
396640dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
396740dd5a57Smrg	;;
396840dd5a57Smrg      esac
396940dd5a57Smrg      ;;
397040dd5a57Smrg
397140dd5a57Smrg    interix[[3-9]]*)
397240dd5a57Smrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
397340dd5a57Smrg      # Instead, we relocate shared libraries at runtime.
397440dd5a57Smrg      ;;
397540dd5a57Smrg
397640dd5a57Smrg    msdosdjgpp*)
397740dd5a57Smrg      # Just because we use GCC doesn't mean we suddenly get shared libraries
397840dd5a57Smrg      # on systems that don't support them.
397940dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
398040dd5a57Smrg      enable_shared=no
398140dd5a57Smrg      ;;
398240dd5a57Smrg
398340dd5a57Smrg    *nto* | *qnx*)
398440dd5a57Smrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
398540dd5a57Smrg      # it will coredump.
398640dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
398740dd5a57Smrg      ;;
398840dd5a57Smrg
398940dd5a57Smrg    sysv4*MP*)
399040dd5a57Smrg      if test -d /usr/nec; then
399140dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
399240dd5a57Smrg      fi
399340dd5a57Smrg      ;;
399440dd5a57Smrg
399540dd5a57Smrg    *)
399640dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
399740dd5a57Smrg      ;;
399840dd5a57Smrg    esac
399940dd5a57Smrg
400040dd5a57Smrg    case $cc_basename in
400140dd5a57Smrg    nvcc*) # Cuda Compiler Driver 2.2
400240dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
400340dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
400440dd5a57Smrg      ;;
400540dd5a57Smrg    esac
400640dd5a57Smrg  else
400740dd5a57Smrg    # PORTME Check for flag to pass linker flags through the system compiler.
400840dd5a57Smrg    case $host_os in
400940dd5a57Smrg    aix*)
401040dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
401140dd5a57Smrg      if test "$host_cpu" = ia64; then
401240dd5a57Smrg	# AIX 5 now supports IA64 processor
401340dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
401440dd5a57Smrg      else
401540dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
401640dd5a57Smrg      fi
401740dd5a57Smrg      ;;
401840dd5a57Smrg
401940dd5a57Smrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
402040dd5a57Smrg      # This hack is so that the source file can tell whether it is being
402140dd5a57Smrg      # built for inclusion in a dll (and should export symbols for example).
402240dd5a57Smrg      m4_if([$1], [GCJ], [],
402340dd5a57Smrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
402440dd5a57Smrg      ;;
402540dd5a57Smrg
402640dd5a57Smrg    hpux9* | hpux10* | hpux11*)
402740dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
402840dd5a57Smrg      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
402940dd5a57Smrg      # not for PA HP-UX.
403040dd5a57Smrg      case $host_cpu in
403140dd5a57Smrg      hppa*64*|ia64*)
403240dd5a57Smrg	# +Z the default
403340dd5a57Smrg	;;
403440dd5a57Smrg      *)
403540dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
403640dd5a57Smrg	;;
403740dd5a57Smrg      esac
403840dd5a57Smrg      # Is there a better lt_prog_compiler_static that works with the bundled CC?
403940dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
404040dd5a57Smrg      ;;
404140dd5a57Smrg
404240dd5a57Smrg    irix5* | irix6* | nonstopux*)
404340dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
404440dd5a57Smrg      # PIC (with -KPIC) is the default.
404540dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
404640dd5a57Smrg      ;;
404740dd5a57Smrg
404840dd5a57Smrg    linux* | k*bsd*-gnu | kopensolaris*-gnu)
404940dd5a57Smrg      case $cc_basename in
405040dd5a57Smrg      # old Intel for x86_64 which still supported -KPIC.
405140dd5a57Smrg      ecc*)
405240dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
405340dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
405440dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
405540dd5a57Smrg        ;;
405640dd5a57Smrg      # icc used to be incompatible with GCC.
405740dd5a57Smrg      # ICC 10 doesn't accept -KPIC any more.
405840dd5a57Smrg      icc* | ifort*)
405940dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
406040dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
406140dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
406240dd5a57Smrg        ;;
406340dd5a57Smrg      # Lahey Fortran 8.1.
406440dd5a57Smrg      lf95*)
406540dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
406640dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
406740dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
406840dd5a57Smrg	;;
406940dd5a57Smrg      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
407040dd5a57Smrg        # Portland Group compilers (*not* the Pentium gcc compiler,
407140dd5a57Smrg	# which looks to be a dead project)
407240dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
407340dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
407440dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
407540dd5a57Smrg        ;;
407640dd5a57Smrg      ccc*)
407740dd5a57Smrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
407840dd5a57Smrg        # All Alpha code is PIC.
407940dd5a57Smrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
408040dd5a57Smrg        ;;
408140dd5a57Smrg      xl* | bgxl* | bgf* | mpixl*)
408240dd5a57Smrg	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
408340dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
408440dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
408540dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
408640dd5a57Smrg	;;
408740dd5a57Smrg      *)
408840dd5a57Smrg	case `$CC -V 2>&1 | sed 5q` in
408940dd5a57Smrg	*Sun\ F* | *Sun*Fortran*)
409040dd5a57Smrg	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
409140dd5a57Smrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
409240dd5a57Smrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
409340dd5a57Smrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
409440dd5a57Smrg	  ;;
409540dd5a57Smrg	*Sun\ C*)
409640dd5a57Smrg	  # Sun C 5.9
409740dd5a57Smrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
409840dd5a57Smrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
409940dd5a57Smrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
410040dd5a57Smrg	  ;;
410140dd5a57Smrg	esac
410240dd5a57Smrg	;;
410340dd5a57Smrg      esac
410440dd5a57Smrg      ;;
410540dd5a57Smrg
410640dd5a57Smrg    newsos6)
410740dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
410840dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
410940dd5a57Smrg      ;;
411040dd5a57Smrg
411140dd5a57Smrg    *nto* | *qnx*)
411240dd5a57Smrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
411340dd5a57Smrg      # it will coredump.
411440dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
411540dd5a57Smrg      ;;
411640dd5a57Smrg
411740dd5a57Smrg    osf3* | osf4* | osf5*)
411840dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
411940dd5a57Smrg      # All OSF/1 code is PIC.
412040dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
412140dd5a57Smrg      ;;
412240dd5a57Smrg
412340dd5a57Smrg    rdos*)
412440dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
412540dd5a57Smrg      ;;
412640dd5a57Smrg
412740dd5a57Smrg    solaris*)
412840dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
412940dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
413040dd5a57Smrg      case $cc_basename in
413140dd5a57Smrg      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
413240dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
413340dd5a57Smrg      *)
413440dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
413540dd5a57Smrg      esac
413640dd5a57Smrg      ;;
413740dd5a57Smrg
413840dd5a57Smrg    sunos4*)
413940dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
414040dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
414140dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
414240dd5a57Smrg      ;;
414340dd5a57Smrg
414440dd5a57Smrg    sysv4 | sysv4.2uw2* | sysv4.3*)
414540dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
414640dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
414740dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
414840dd5a57Smrg      ;;
414940dd5a57Smrg
415040dd5a57Smrg    sysv4*MP*)
415140dd5a57Smrg      if test -d /usr/nec ;then
415240dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
415340dd5a57Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
415440dd5a57Smrg      fi
415540dd5a57Smrg      ;;
415640dd5a57Smrg
415740dd5a57Smrg    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
415840dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
415940dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
416040dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
416140dd5a57Smrg      ;;
416240dd5a57Smrg
416340dd5a57Smrg    unicos*)
416440dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
416540dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
416640dd5a57Smrg      ;;
416740dd5a57Smrg
416840dd5a57Smrg    uts4*)
416940dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
417040dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
417140dd5a57Smrg      ;;
417240dd5a57Smrg
417340dd5a57Smrg    *)
417440dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
417540dd5a57Smrg      ;;
417640dd5a57Smrg    esac
417740dd5a57Smrg  fi
417840dd5a57Smrg])
417940dd5a57Smrgcase $host_os in
418040dd5a57Smrg  # For platforms which do not support PIC, -DPIC is meaningless:
418140dd5a57Smrg  *djgpp*)
418240dd5a57Smrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
418340dd5a57Smrg    ;;
418440dd5a57Smrg  *)
418540dd5a57Smrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
418640dd5a57Smrg    ;;
418740dd5a57Smrgesac
418840dd5a57SmrgAC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
418940dd5a57Smrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
419040dd5a57Smrg	[How to pass a linker flag through the compiler])
419140dd5a57Smrg
419240dd5a57Smrg#
419340dd5a57Smrg# Check to make sure the PIC flag actually works.
419440dd5a57Smrg#
419540dd5a57Smrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
419640dd5a57Smrg  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
419740dd5a57Smrg    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
419840dd5a57Smrg    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
419940dd5a57Smrg    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
420040dd5a57Smrg     "" | " "*) ;;
420140dd5a57Smrg     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
420240dd5a57Smrg     esac],
420340dd5a57Smrg    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
420440dd5a57Smrg     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
420540dd5a57Smrgfi
420640dd5a57Smrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
420740dd5a57Smrg	[Additional compiler flags for building library objects])
420840dd5a57Smrg
420940dd5a57Smrg#
421040dd5a57Smrg# Check to make sure the static flag actually works.
421140dd5a57Smrg#
421240dd5a57Smrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
421340dd5a57Smrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
421440dd5a57Smrg  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
421540dd5a57Smrg  $lt_tmp_static_flag,
421640dd5a57Smrg  [],
421740dd5a57Smrg  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
421840dd5a57Smrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
421940dd5a57Smrg	[Compiler flag to prevent dynamic linking])
422040dd5a57Smrg])# _LT_COMPILER_PIC
422140dd5a57Smrg
422240dd5a57Smrg
422340dd5a57Smrg# _LT_LINKER_SHLIBS([TAGNAME])
422440dd5a57Smrg# ----------------------------
422540dd5a57Smrg# See if the linker supports building shared libraries.
422640dd5a57Smrgm4_defun([_LT_LINKER_SHLIBS],
422740dd5a57Smrg[AC_REQUIRE([LT_PATH_LD])dnl
422840dd5a57SmrgAC_REQUIRE([LT_PATH_NM])dnl
422940dd5a57Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
423040dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl
423140dd5a57Smrgm4_require([_LT_DECL_SED])dnl
423240dd5a57Smrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
423340dd5a57Smrgm4_require([_LT_TAG_COMPILER])dnl
423440dd5a57SmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
423540dd5a57Smrgm4_if([$1], [CXX], [
423640dd5a57Smrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
423740dd5a57Smrg  case $host_os in
423840dd5a57Smrg  aix[[4-9]]*)
423940dd5a57Smrg    # If we're using GNU nm, then we don't want the "-C" option.
424040dd5a57Smrg    # -C means demangle to AIX nm, but means don't demangle with GNU nm
424140dd5a57Smrg    # Also, AIX nm treats weak defined symbols like other global defined
424240dd5a57Smrg    # symbols, whereas GNU nm marks them as "W".
424340dd5a57Smrg    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
424440dd5a57Smrg      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
424540dd5a57Smrg    else
424640dd5a57Smrg      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
424740dd5a57Smrg    fi
424840dd5a57Smrg    ;;
424940dd5a57Smrg  pw32*)
425040dd5a57Smrg    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
425140dd5a57Smrg  ;;
425240dd5a57Smrg  cygwin* | mingw* | cegcc*)
425340dd5a57Smrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
425440dd5a57Smrg  ;;
425540dd5a57Smrg  *)
425640dd5a57Smrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
425740dd5a57Smrg  ;;
425840dd5a57Smrg  esac
425940dd5a57Smrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
426040dd5a57Smrg], [
426140dd5a57Smrg  runpath_var=
426240dd5a57Smrg  _LT_TAGVAR(allow_undefined_flag, $1)=
426340dd5a57Smrg  _LT_TAGVAR(always_export_symbols, $1)=no
426440dd5a57Smrg  _LT_TAGVAR(archive_cmds, $1)=
426540dd5a57Smrg  _LT_TAGVAR(archive_expsym_cmds, $1)=
426640dd5a57Smrg  _LT_TAGVAR(compiler_needs_object, $1)=no
426740dd5a57Smrg  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
426840dd5a57Smrg  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
426940dd5a57Smrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
427040dd5a57Smrg  _LT_TAGVAR(hardcode_automatic, $1)=no
427140dd5a57Smrg  _LT_TAGVAR(hardcode_direct, $1)=no
427240dd5a57Smrg  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
427340dd5a57Smrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
427440dd5a57Smrg  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
427540dd5a57Smrg  _LT_TAGVAR(hardcode_libdir_separator, $1)=
427640dd5a57Smrg  _LT_TAGVAR(hardcode_minus_L, $1)=no
427740dd5a57Smrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
427840dd5a57Smrg  _LT_TAGVAR(inherit_rpath, $1)=no
427940dd5a57Smrg  _LT_TAGVAR(link_all_deplibs, $1)=unknown
428040dd5a57Smrg  _LT_TAGVAR(module_cmds, $1)=
428140dd5a57Smrg  _LT_TAGVAR(module_expsym_cmds, $1)=
428240dd5a57Smrg  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
428340dd5a57Smrg  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
428440dd5a57Smrg  _LT_TAGVAR(thread_safe_flag_spec, $1)=
428540dd5a57Smrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=
428640dd5a57Smrg  # include_expsyms should be a list of space-separated symbols to be *always*
428740dd5a57Smrg  # included in the symbol list
428840dd5a57Smrg  _LT_TAGVAR(include_expsyms, $1)=
428940dd5a57Smrg  # exclude_expsyms can be an extended regexp of symbols to exclude
429040dd5a57Smrg  # it will be wrapped by ` (' and `)$', so one must not match beginning or
429140dd5a57Smrg  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
429240dd5a57Smrg  # as well as any symbol that contains `d'.
429340dd5a57Smrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
429440dd5a57Smrg  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
429540dd5a57Smrg  # platforms (ab)use it in PIC code, but their linkers get confused if
429640dd5a57Smrg  # the symbol is explicitly referenced.  Since portable code cannot
429740dd5a57Smrg  # rely on this symbol name, it's probably fine to never include it in
429840dd5a57Smrg  # preloaded symbol tables.
429940dd5a57Smrg  # Exclude shared library initialization/finalization symbols.
430040dd5a57Smrgdnl Note also adjust exclude_expsyms for C++ above.
430140dd5a57Smrg  extract_expsyms_cmds=
430240dd5a57Smrg
430340dd5a57Smrg  case $host_os in
430440dd5a57Smrg  cygwin* | mingw* | pw32* | cegcc*)
430540dd5a57Smrg    # FIXME: the MSVC++ port hasn't been tested in a loooong time
430640dd5a57Smrg    # When not using gcc, we currently assume that we are using
430740dd5a57Smrg    # Microsoft Visual C++.
430840dd5a57Smrg    if test "$GCC" != yes; then
430940dd5a57Smrg      with_gnu_ld=no
431040dd5a57Smrg    fi
431140dd5a57Smrg    ;;
431240dd5a57Smrg  interix*)
431340dd5a57Smrg    # we just hope/assume this is gcc and not c89 (= MSVC++)
431440dd5a57Smrg    with_gnu_ld=yes
431540dd5a57Smrg    ;;
431640dd5a57Smrg  openbsd*)
431740dd5a57Smrg    with_gnu_ld=no
431840dd5a57Smrg    ;;
431940dd5a57Smrg  esac
432040dd5a57Smrg
432140dd5a57Smrg  _LT_TAGVAR(ld_shlibs, $1)=yes
432240dd5a57Smrg
432340dd5a57Smrg  # On some targets, GNU ld is compatible enough with the native linker
432440dd5a57Smrg  # that we're better off using the native interface for both.
432540dd5a57Smrg  lt_use_gnu_ld_interface=no
432640dd5a57Smrg  if test "$with_gnu_ld" = yes; then
432740dd5a57Smrg    case $host_os in
432840dd5a57Smrg      aix*)
432940dd5a57Smrg	# The AIX port of GNU ld has always aspired to compatibility
433040dd5a57Smrg	# with the native linker.  However, as the warning in the GNU ld
433140dd5a57Smrg	# block says, versions before 2.19.5* couldn't really create working
433240dd5a57Smrg	# shared libraries, regardless of the interface used.
433340dd5a57Smrg	case `$LD -v 2>&1` in
433440dd5a57Smrg	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
433540dd5a57Smrg	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
433640dd5a57Smrg	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
433740dd5a57Smrg	  *)
433840dd5a57Smrg	    lt_use_gnu_ld_interface=yes
433940dd5a57Smrg	    ;;
434040dd5a57Smrg	esac
434140dd5a57Smrg	;;
434240dd5a57Smrg      *)
434340dd5a57Smrg	lt_use_gnu_ld_interface=yes
434440dd5a57Smrg	;;
434540dd5a57Smrg    esac
434640dd5a57Smrg  fi
434740dd5a57Smrg
434840dd5a57Smrg  if test "$lt_use_gnu_ld_interface" = yes; then
434940dd5a57Smrg    # If archive_cmds runs LD, not CC, wlarc should be empty
435040dd5a57Smrg    wlarc='${wl}'
435140dd5a57Smrg
435240dd5a57Smrg    # Set some defaults for GNU ld with shared library support. These
435340dd5a57Smrg    # are reset later if shared libraries are not supported. Putting them
435440dd5a57Smrg    # here allows them to be overridden if necessary.
435540dd5a57Smrg    runpath_var=LD_RUN_PATH
435640dd5a57Smrg    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
435740dd5a57Smrg    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
435840dd5a57Smrg    # ancient GNU ld didn't support --whole-archive et. al.
435940dd5a57Smrg    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
436040dd5a57Smrg      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
436140dd5a57Smrg    else
436240dd5a57Smrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
436340dd5a57Smrg    fi
436440dd5a57Smrg    supports_anon_versioning=no
436540dd5a57Smrg    case `$LD -v 2>&1` in
436640dd5a57Smrg      *GNU\ gold*) supports_anon_versioning=yes ;;
436740dd5a57Smrg      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
436840dd5a57Smrg      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
436940dd5a57Smrg      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
437040dd5a57Smrg      *\ 2.11.*) ;; # other 2.11 versions
437140dd5a57Smrg      *) supports_anon_versioning=yes ;;
437240dd5a57Smrg    esac
437340dd5a57Smrg
437440dd5a57Smrg    # See if GNU ld supports shared libraries.
437540dd5a57Smrg    case $host_os in
437640dd5a57Smrg    aix[[3-9]]*)
437740dd5a57Smrg      # On AIX/PPC, the GNU linker is very broken
437840dd5a57Smrg      if test "$host_cpu" != ia64; then
437940dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
438040dd5a57Smrg	cat <<_LT_EOF 1>&2
438140dd5a57Smrg
438240dd5a57Smrg*** Warning: the GNU linker, at least up to release 2.19, is reported
438340dd5a57Smrg*** to be unable to reliably create shared libraries on AIX.
438440dd5a57Smrg*** Therefore, libtool is disabling shared libraries support.  If you
438540dd5a57Smrg*** really care for shared libraries, you may want to install binutils
438640dd5a57Smrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
438740dd5a57Smrg*** You will then need to restart the configuration process.
438840dd5a57Smrg
438940dd5a57Smrg_LT_EOF
439040dd5a57Smrg      fi
439140dd5a57Smrg      ;;
439240dd5a57Smrg
439340dd5a57Smrg    amigaos*)
439440dd5a57Smrg      case $host_cpu in
439540dd5a57Smrg      powerpc)
439640dd5a57Smrg            # see comment about AmigaOS4 .so support
439740dd5a57Smrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
439840dd5a57Smrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
439940dd5a57Smrg        ;;
440040dd5a57Smrg      m68k)
440140dd5a57Smrg            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
440240dd5a57Smrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
440340dd5a57Smrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
440440dd5a57Smrg        ;;
440540dd5a57Smrg      esac
440640dd5a57Smrg      ;;
440740dd5a57Smrg
440840dd5a57Smrg    beos*)
440940dd5a57Smrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
441040dd5a57Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
441140dd5a57Smrg	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
441240dd5a57Smrg	# support --undefined.  This deserves some investigation.  FIXME
441340dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
441440dd5a57Smrg      else
441540dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
441640dd5a57Smrg      fi
441740dd5a57Smrg      ;;
441840dd5a57Smrg
441940dd5a57Smrg    cygwin* | mingw* | pw32* | cegcc*)
442040dd5a57Smrg      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
442140dd5a57Smrg      # as there is no search path for DLLs.
442240dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
442340dd5a57Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
442440dd5a57Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
442540dd5a57Smrg      _LT_TAGVAR(always_export_symbols, $1)=no
442640dd5a57Smrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
442740dd5a57Smrg      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
442840dd5a57Smrg
442940dd5a57Smrg      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
443040dd5a57Smrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
443140dd5a57Smrg	# If the export-symbols file already is a .def file (1st line
443240dd5a57Smrg	# is EXPORTS), use it as is; otherwise, prepend...
443340dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
443440dd5a57Smrg	  cp $export_symbols $output_objdir/$soname.def;
443540dd5a57Smrg	else
443640dd5a57Smrg	  echo EXPORTS > $output_objdir/$soname.def;
443740dd5a57Smrg	  cat $export_symbols >> $output_objdir/$soname.def;
443840dd5a57Smrg	fi~
443940dd5a57Smrg	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
444040dd5a57Smrg      else
444140dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
444240dd5a57Smrg      fi
444340dd5a57Smrg      ;;
444440dd5a57Smrg
444540dd5a57Smrg    haiku*)
444640dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
444740dd5a57Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
444840dd5a57Smrg      ;;
444940dd5a57Smrg
445040dd5a57Smrg    interix[[3-9]]*)
445140dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=no
445240dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
445340dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
445440dd5a57Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
445540dd5a57Smrg      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
445640dd5a57Smrg      # Instead, shared libraries are loaded at an image base (0x10000000 by
445740dd5a57Smrg      # default) and relocated if they conflict, which is a slow very memory
445840dd5a57Smrg      # consuming and fragmenting process.  To avoid this, we pick a random,
445940dd5a57Smrg      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
446040dd5a57Smrg      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
446140dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
446240dd5a57Smrg      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
446340dd5a57Smrg      ;;
446440dd5a57Smrg
446540dd5a57Smrg    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
446640dd5a57Smrg      tmp_diet=no
446740dd5a57Smrg      if test "$host_os" = linux-dietlibc; then
446840dd5a57Smrg	case $cc_basename in
446940dd5a57Smrg	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
447040dd5a57Smrg	esac
447140dd5a57Smrg      fi
447240dd5a57Smrg      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
447340dd5a57Smrg	 && test "$tmp_diet" = no
447440dd5a57Smrg      then
447540dd5a57Smrg	tmp_addflag=
447640dd5a57Smrg	tmp_sharedflag='-shared'
447740dd5a57Smrg	case $cc_basename,$host_cpu in
447840dd5a57Smrg        pgcc*)				# Portland Group C compiler
447940dd5a57Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
448040dd5a57Smrg	  tmp_addflag=' $pic_flag'
448140dd5a57Smrg	  ;;
448240dd5a57Smrg	pgf77* | pgf90* | pgf95* | pgfortran*)
448340dd5a57Smrg					# Portland Group f77 and f90 compilers
448440dd5a57Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
448540dd5a57Smrg	  tmp_addflag=' $pic_flag -Mnomain' ;;
448640dd5a57Smrg	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
448740dd5a57Smrg	  tmp_addflag=' -i_dynamic' ;;
448840dd5a57Smrg	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
448940dd5a57Smrg	  tmp_addflag=' -i_dynamic -nofor_main' ;;
449040dd5a57Smrg	ifc* | ifort*)			# Intel Fortran compiler
449140dd5a57Smrg	  tmp_addflag=' -nofor_main' ;;
449240dd5a57Smrg	lf95*)				# Lahey Fortran 8.1
449340dd5a57Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
449440dd5a57Smrg	  tmp_sharedflag='--shared' ;;
449540dd5a57Smrg	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
449640dd5a57Smrg	  tmp_sharedflag='-qmkshrobj'
449740dd5a57Smrg	  tmp_addflag= ;;
449840dd5a57Smrg	nvcc*)	# Cuda Compiler Driver 2.2
449940dd5a57Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
450040dd5a57Smrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
450140dd5a57Smrg	  ;;
450240dd5a57Smrg	esac
450340dd5a57Smrg	case `$CC -V 2>&1 | sed 5q` in
450440dd5a57Smrg	*Sun\ C*)			# Sun C 5.9
450540dd5a57Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
450640dd5a57Smrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
450740dd5a57Smrg	  tmp_sharedflag='-G' ;;
450840dd5a57Smrg	*Sun\ F*)			# Sun Fortran 8.3
450940dd5a57Smrg	  tmp_sharedflag='-G' ;;
451040dd5a57Smrg	esac
451140dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
451240dd5a57Smrg
451340dd5a57Smrg        if test "x$supports_anon_versioning" = xyes; then
451440dd5a57Smrg          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
451540dd5a57Smrg	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
451640dd5a57Smrg	    echo "local: *; };" >> $output_objdir/$libname.ver~
451740dd5a57Smrg	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
451840dd5a57Smrg        fi
451940dd5a57Smrg
452040dd5a57Smrg	case $cc_basename in
452140dd5a57Smrg	xlf* | bgf* | bgxlf* | mpixlf*)
452240dd5a57Smrg	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
452340dd5a57Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
452440dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
452540dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
452640dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
452740dd5a57Smrg	  if test "x$supports_anon_versioning" = xyes; then
452840dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
452940dd5a57Smrg	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
453040dd5a57Smrg	      echo "local: *; };" >> $output_objdir/$libname.ver~
453140dd5a57Smrg	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
453240dd5a57Smrg	  fi
453340dd5a57Smrg	  ;;
453440dd5a57Smrg	esac
453540dd5a57Smrg      else
453640dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
453740dd5a57Smrg      fi
453840dd5a57Smrg      ;;
453940dd5a57Smrg
454040dd5a57Smrg    netbsd*)
454140dd5a57Smrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
454240dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
454340dd5a57Smrg	wlarc=
454440dd5a57Smrg      else
454540dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
454640dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
454740dd5a57Smrg      fi
454840dd5a57Smrg      ;;
454940dd5a57Smrg
455040dd5a57Smrg    solaris*)
455140dd5a57Smrg      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
455240dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
455340dd5a57Smrg	cat <<_LT_EOF 1>&2
455440dd5a57Smrg
455540dd5a57Smrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably
455640dd5a57Smrg*** create shared libraries on Solaris systems.  Therefore, libtool
455740dd5a57Smrg*** is disabling shared libraries support.  We urge you to upgrade GNU
455840dd5a57Smrg*** binutils to release 2.9.1 or newer.  Another option is to modify
455940dd5a57Smrg*** your PATH or compiler configuration so that the native linker is
456040dd5a57Smrg*** used, and then restart.
456140dd5a57Smrg
456240dd5a57Smrg_LT_EOF
456340dd5a57Smrg      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
456440dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
456540dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
456640dd5a57Smrg      else
456740dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
456840dd5a57Smrg      fi
456940dd5a57Smrg      ;;
457040dd5a57Smrg
457140dd5a57Smrg    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
457240dd5a57Smrg      case `$LD -v 2>&1` in
457340dd5a57Smrg        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
457440dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
457540dd5a57Smrg	cat <<_LT_EOF 1>&2
457640dd5a57Smrg
457740dd5a57Smrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
457840dd5a57Smrg*** reliably create shared libraries on SCO systems.  Therefore, libtool
457940dd5a57Smrg*** is disabling shared libraries support.  We urge you to upgrade GNU
458040dd5a57Smrg*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
458140dd5a57Smrg*** your PATH or compiler configuration so that the native linker is
458240dd5a57Smrg*** used, and then restart.
458340dd5a57Smrg
458440dd5a57Smrg_LT_EOF
458540dd5a57Smrg	;;
458640dd5a57Smrg	*)
458740dd5a57Smrg	  # For security reasons, it is highly recommended that you always
458840dd5a57Smrg	  # use absolute paths for naming shared libraries, and exclude the
458940dd5a57Smrg	  # DT_RUNPATH tag from executables and libraries.  But doing so
459040dd5a57Smrg	  # requires that you compile everything twice, which is a pain.
459140dd5a57Smrg	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
459240dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
459340dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
459440dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
459540dd5a57Smrg	  else
459640dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
459740dd5a57Smrg	  fi
459840dd5a57Smrg	;;
459940dd5a57Smrg      esac
460040dd5a57Smrg      ;;
460140dd5a57Smrg
460240dd5a57Smrg    sunos4*)
460340dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
460440dd5a57Smrg      wlarc=
460540dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
460640dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
460740dd5a57Smrg      ;;
460840dd5a57Smrg
460940dd5a57Smrg    *)
461040dd5a57Smrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
461140dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
461240dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
461340dd5a57Smrg      else
461440dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
461540dd5a57Smrg      fi
461640dd5a57Smrg      ;;
461740dd5a57Smrg    esac
461840dd5a57Smrg
461940dd5a57Smrg    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
462040dd5a57Smrg      runpath_var=
462140dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
462240dd5a57Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
462340dd5a57Smrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
462440dd5a57Smrg    fi
462540dd5a57Smrg  else
462640dd5a57Smrg    # PORTME fill in a description of your system's linker (not GNU ld)
462740dd5a57Smrg    case $host_os in
462840dd5a57Smrg    aix3*)
462940dd5a57Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
463040dd5a57Smrg      _LT_TAGVAR(always_export_symbols, $1)=yes
463140dd5a57Smrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
463240dd5a57Smrg      # Note: this linker hardcodes the directories in LIBPATH if there
463340dd5a57Smrg      # are no directories specified by -L.
463440dd5a57Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
463540dd5a57Smrg      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
463640dd5a57Smrg	# Neither direct hardcoding nor static linking is supported with a
463740dd5a57Smrg	# broken collect2.
463840dd5a57Smrg	_LT_TAGVAR(hardcode_direct, $1)=unsupported
463940dd5a57Smrg      fi
464040dd5a57Smrg      ;;
464140dd5a57Smrg
464240dd5a57Smrg    aix[[4-9]]*)
464340dd5a57Smrg      if test "$host_cpu" = ia64; then
464440dd5a57Smrg	# On IA64, the linker does run time linking by default, so we don't
464540dd5a57Smrg	# have to do anything special.
464640dd5a57Smrg	aix_use_runtimelinking=no
464740dd5a57Smrg	exp_sym_flag='-Bexport'
464840dd5a57Smrg	no_entry_flag=""
464940dd5a57Smrg      else
465040dd5a57Smrg	# If we're using GNU nm, then we don't want the "-C" option.
465140dd5a57Smrg	# -C means demangle to AIX nm, but means don't demangle with GNU nm
465240dd5a57Smrg	# Also, AIX nm treats weak defined symbols like other global
465340dd5a57Smrg	# defined symbols, whereas GNU nm marks them as "W".
465440dd5a57Smrg	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
465540dd5a57Smrg	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
465640dd5a57Smrg	else
465740dd5a57Smrg	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
465840dd5a57Smrg	fi
465940dd5a57Smrg	aix_use_runtimelinking=no
466040dd5a57Smrg
466140dd5a57Smrg	# Test if we are trying to use run time linking or normal
466240dd5a57Smrg	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
466340dd5a57Smrg	# need to do runtime linking.
466440dd5a57Smrg	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
466540dd5a57Smrg	  for ld_flag in $LDFLAGS; do
466640dd5a57Smrg	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
466740dd5a57Smrg	    aix_use_runtimelinking=yes
466840dd5a57Smrg	    break
466940dd5a57Smrg	  fi
467040dd5a57Smrg	  done
467140dd5a57Smrg	  ;;
467240dd5a57Smrg	esac
467340dd5a57Smrg
467440dd5a57Smrg	exp_sym_flag='-bexport'
467540dd5a57Smrg	no_entry_flag='-bnoentry'
467640dd5a57Smrg      fi
467740dd5a57Smrg
467840dd5a57Smrg      # When large executables or shared objects are built, AIX ld can
467940dd5a57Smrg      # have problems creating the table of contents.  If linking a library
468040dd5a57Smrg      # or program results in "error TOC overflow" add -mminimal-toc to
468140dd5a57Smrg      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
468240dd5a57Smrg      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
468340dd5a57Smrg
468440dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)=''
468540dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
468640dd5a57Smrg      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
468740dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
468840dd5a57Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
468940dd5a57Smrg      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
469040dd5a57Smrg
469140dd5a57Smrg      if test "$GCC" = yes; then
469240dd5a57Smrg	case $host_os in aix4.[[012]]|aix4.[[012]].*)
469340dd5a57Smrg	# We only want to do this on AIX 4.2 and lower, the check
469440dd5a57Smrg	# below for broken collect2 doesn't work under 4.3+
469540dd5a57Smrg	  collect2name=`${CC} -print-prog-name=collect2`
469640dd5a57Smrg	  if test -f "$collect2name" &&
469740dd5a57Smrg	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
469840dd5a57Smrg	  then
469940dd5a57Smrg	  # We have reworked collect2
470040dd5a57Smrg	  :
470140dd5a57Smrg	  else
470240dd5a57Smrg	  # We have old collect2
470340dd5a57Smrg	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
470440dd5a57Smrg	  # It fails to find uninstalled libraries when the uninstalled
470540dd5a57Smrg	  # path is not listed in the libpath.  Setting hardcode_minus_L
470640dd5a57Smrg	  # to unsupported forces relinking
470740dd5a57Smrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
470840dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
470940dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
471040dd5a57Smrg	  fi
471140dd5a57Smrg	  ;;
471240dd5a57Smrg	esac
471340dd5a57Smrg	shared_flag='-shared'
471440dd5a57Smrg	if test "$aix_use_runtimelinking" = yes; then
471540dd5a57Smrg	  shared_flag="$shared_flag "'${wl}-G'
471640dd5a57Smrg	fi
471740dd5a57Smrg      else
471840dd5a57Smrg	# not using gcc
471940dd5a57Smrg	if test "$host_cpu" = ia64; then
472040dd5a57Smrg	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
472140dd5a57Smrg	# chokes on -Wl,-G. The following line is correct:
472240dd5a57Smrg	  shared_flag='-G'
472340dd5a57Smrg	else
472440dd5a57Smrg	  if test "$aix_use_runtimelinking" = yes; then
472540dd5a57Smrg	    shared_flag='${wl}-G'
472640dd5a57Smrg	  else
472740dd5a57Smrg	    shared_flag='${wl}-bM:SRE'
472840dd5a57Smrg	  fi
472940dd5a57Smrg	fi
473040dd5a57Smrg      fi
473140dd5a57Smrg
473240dd5a57Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
473340dd5a57Smrg      # It seems that -bexpall does not export symbols beginning with
473440dd5a57Smrg      # underscore (_), so it is better to generate a list of symbols to export.
473540dd5a57Smrg      _LT_TAGVAR(always_export_symbols, $1)=yes
473640dd5a57Smrg      if test "$aix_use_runtimelinking" = yes; then
473740dd5a57Smrg	# Warning - without using the other runtime loading flags (-brtl),
473840dd5a57Smrg	# -berok will link without error, but may produce a broken library.
473940dd5a57Smrg	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
474040dd5a57Smrg        # Determine the default libpath from the value encoded in an
474140dd5a57Smrg        # empty executable.
474240dd5a57Smrg        _LT_SYS_MODULE_PATH_AIX
474340dd5a57Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
474440dd5a57Smrg        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
474540dd5a57Smrg      else
474640dd5a57Smrg	if test "$host_cpu" = ia64; then
474740dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
474840dd5a57Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
474940dd5a57Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
475040dd5a57Smrg	else
475140dd5a57Smrg	 # Determine the default libpath from the value encoded in an
475240dd5a57Smrg	 # empty executable.
475340dd5a57Smrg	 _LT_SYS_MODULE_PATH_AIX
475440dd5a57Smrg	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
475540dd5a57Smrg	  # Warning - without using the other run time loading flags,
475640dd5a57Smrg	  # -berok will link without error, but may produce a broken library.
475740dd5a57Smrg	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
475840dd5a57Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
475940dd5a57Smrg	  if test "$with_gnu_ld" = yes; then
476040dd5a57Smrg	    # We only use this code for GNU lds that support --whole-archive.
476140dd5a57Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
476240dd5a57Smrg	  else
476340dd5a57Smrg	    # Exported symbols can be pulled into shared objects from archives
476440dd5a57Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
476540dd5a57Smrg	  fi
476640dd5a57Smrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
476740dd5a57Smrg	  # This is similar to how AIX traditionally builds its shared libraries.
476840dd5a57Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
476940dd5a57Smrg	fi
477040dd5a57Smrg      fi
477140dd5a57Smrg      ;;
477240dd5a57Smrg
477340dd5a57Smrg    amigaos*)
477440dd5a57Smrg      case $host_cpu in
477540dd5a57Smrg      powerpc)
477640dd5a57Smrg            # see comment about AmigaOS4 .so support
477740dd5a57Smrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
477840dd5a57Smrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
477940dd5a57Smrg        ;;
478040dd5a57Smrg      m68k)
478140dd5a57Smrg            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
478240dd5a57Smrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
478340dd5a57Smrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
478440dd5a57Smrg        ;;
478540dd5a57Smrg      esac
478640dd5a57Smrg      ;;
478740dd5a57Smrg
478840dd5a57Smrg    bsdi[[45]]*)
478940dd5a57Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
479040dd5a57Smrg      ;;
479140dd5a57Smrg
479240dd5a57Smrg    cygwin* | mingw* | pw32* | cegcc*)
479340dd5a57Smrg      # When not using gcc, we currently assume that we are using
479440dd5a57Smrg      # Microsoft Visual C++.
479540dd5a57Smrg      # hardcode_libdir_flag_spec is actually meaningless, as there is
479640dd5a57Smrg      # no search path for DLLs.
479740dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
479840dd5a57Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
479940dd5a57Smrg      # Tell ltmain to make .lib files, not .a files.
480040dd5a57Smrg      libext=lib
480140dd5a57Smrg      # Tell ltmain to make .dll files, not .so files.
480240dd5a57Smrg      shrext_cmds=".dll"
480340dd5a57Smrg      # FIXME: Setting linknames here is a bad hack.
480440dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
480540dd5a57Smrg      # The linker will automatically build a .lib file if we build a DLL.
480640dd5a57Smrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
480740dd5a57Smrg      # FIXME: Should let the user specify the lib program.
480840dd5a57Smrg      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
480940dd5a57Smrg      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
481040dd5a57Smrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
481140dd5a57Smrg      ;;
481240dd5a57Smrg
481340dd5a57Smrg    darwin* | rhapsody*)
481440dd5a57Smrg      _LT_DARWIN_LINKER_FEATURES($1)
481540dd5a57Smrg      ;;
481640dd5a57Smrg
481740dd5a57Smrg    dgux*)
481840dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
481940dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
482040dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
482140dd5a57Smrg      ;;
482240dd5a57Smrg
482340dd5a57Smrg    freebsd1*)
482440dd5a57Smrg      _LT_TAGVAR(ld_shlibs, $1)=no
482540dd5a57Smrg      ;;
482640dd5a57Smrg
482740dd5a57Smrg    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
482840dd5a57Smrg    # support.  Future versions do this automatically, but an explicit c++rt0.o
482940dd5a57Smrg    # does not break anything, and helps significantly (at the cost of a little
483040dd5a57Smrg    # extra space).
483140dd5a57Smrg    freebsd2.2*)
483240dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
483340dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
483440dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
483540dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
483640dd5a57Smrg      ;;
483740dd5a57Smrg
483840dd5a57Smrg    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
483940dd5a57Smrg    freebsd2*)
484040dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
484140dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
484240dd5a57Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
484340dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
484440dd5a57Smrg      ;;
484540dd5a57Smrg
484640dd5a57Smrg    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
484740dd5a57Smrg    freebsd* | dragonfly*)
484840dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
484940dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
485040dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
485140dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
485240dd5a57Smrg      ;;
485340dd5a57Smrg
485440dd5a57Smrg    hpux9*)
485540dd5a57Smrg      if test "$GCC" = yes; then
485640dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
485740dd5a57Smrg      else
485840dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
485940dd5a57Smrg      fi
486040dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
486140dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
486240dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
486340dd5a57Smrg
486440dd5a57Smrg      # hardcode_minus_L: Not really in the search PATH,
486540dd5a57Smrg      # but as the default location of the library.
486640dd5a57Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
486740dd5a57Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
486840dd5a57Smrg      ;;
486940dd5a57Smrg
487040dd5a57Smrg    hpux10*)
487140dd5a57Smrg      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
487240dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
487340dd5a57Smrg      else
487440dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
487540dd5a57Smrg      fi
487640dd5a57Smrg      if test "$with_gnu_ld" = no; then
487740dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
487840dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
487940dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
488040dd5a57Smrg	_LT_TAGVAR(hardcode_direct, $1)=yes
488140dd5a57Smrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
488240dd5a57Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
488340dd5a57Smrg	# hardcode_minus_L: Not really in the search PATH,
488440dd5a57Smrg	# but as the default location of the library.
488540dd5a57Smrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
488640dd5a57Smrg      fi
488740dd5a57Smrg      ;;
488840dd5a57Smrg
488940dd5a57Smrg    hpux11*)
489040dd5a57Smrg      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
489140dd5a57Smrg	case $host_cpu in
489240dd5a57Smrg	hppa*64*)
489340dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
489440dd5a57Smrg	  ;;
489540dd5a57Smrg	ia64*)
489640dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
489740dd5a57Smrg	  ;;
489840dd5a57Smrg	*)
489940dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
490040dd5a57Smrg	  ;;
490140dd5a57Smrg	esac
490240dd5a57Smrg      else
490340dd5a57Smrg	case $host_cpu in
490440dd5a57Smrg	hppa*64*)
490540dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
490640dd5a57Smrg	  ;;
490740dd5a57Smrg	ia64*)
490840dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
490940dd5a57Smrg	  ;;
491040dd5a57Smrg	*)
491140dd5a57Smrg	m4_if($1, [], [
491240dd5a57Smrg	  # Older versions of the 11.00 compiler do not understand -b yet
491340dd5a57Smrg	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
491440dd5a57Smrg	  _LT_LINKER_OPTION([if $CC understands -b],
491540dd5a57Smrg	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
491640dd5a57Smrg	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
491740dd5a57Smrg	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
491840dd5a57Smrg	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
491940dd5a57Smrg	  ;;
492040dd5a57Smrg	esac
492140dd5a57Smrg      fi
492240dd5a57Smrg      if test "$with_gnu_ld" = no; then
492340dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
492440dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
492540dd5a57Smrg
492640dd5a57Smrg	case $host_cpu in
492740dd5a57Smrg	hppa*64*|ia64*)
492840dd5a57Smrg	  _LT_TAGVAR(hardcode_direct, $1)=no
492940dd5a57Smrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
493040dd5a57Smrg	  ;;
493140dd5a57Smrg	*)
493240dd5a57Smrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
493340dd5a57Smrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
493440dd5a57Smrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
493540dd5a57Smrg
493640dd5a57Smrg	  # hardcode_minus_L: Not really in the search PATH,
493740dd5a57Smrg	  # but as the default location of the library.
493840dd5a57Smrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
493940dd5a57Smrg	  ;;
494040dd5a57Smrg	esac
494140dd5a57Smrg      fi
494240dd5a57Smrg      ;;
494340dd5a57Smrg
494440dd5a57Smrg    irix5* | irix6* | nonstopux*)
494540dd5a57Smrg      if test "$GCC" = yes; then
494640dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
494740dd5a57Smrg	# Try to use the -exported_symbol ld option, if it does not
494840dd5a57Smrg	# work, assume that -exports_file does not work either and
494940dd5a57Smrg	# implicitly export all symbols.
495040dd5a57Smrg        save_LDFLAGS="$LDFLAGS"
495140dd5a57Smrg        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
495240dd5a57Smrg        AC_LINK_IFELSE(int foo(void) {},
495340dd5a57Smrg          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
495440dd5a57Smrg        )
495540dd5a57Smrg        LDFLAGS="$save_LDFLAGS"
495640dd5a57Smrg      else
495740dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
495840dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
495940dd5a57Smrg      fi
496040dd5a57Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
496140dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
496240dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
496340dd5a57Smrg      _LT_TAGVAR(inherit_rpath, $1)=yes
496440dd5a57Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
496540dd5a57Smrg      ;;
496640dd5a57Smrg
496740dd5a57Smrg    netbsd*)
496840dd5a57Smrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
496940dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
497040dd5a57Smrg      else
497140dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
497240dd5a57Smrg      fi
497340dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
497440dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
497540dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
497640dd5a57Smrg      ;;
497740dd5a57Smrg
497840dd5a57Smrg    newsos6)
497940dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
498040dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
498140dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
498240dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
498340dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
498440dd5a57Smrg      ;;
498540dd5a57Smrg
498640dd5a57Smrg    *nto* | *qnx*)
498740dd5a57Smrg      ;;
498840dd5a57Smrg
498940dd5a57Smrg    openbsd*)
499040dd5a57Smrg      if test -f /usr/libexec/ld.so; then
499140dd5a57Smrg	_LT_TAGVAR(hardcode_direct, $1)=yes
499240dd5a57Smrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
499340dd5a57Smrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
499440dd5a57Smrg	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
499540dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
499640dd5a57Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
499740dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
499840dd5a57Smrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
499940dd5a57Smrg	else
500040dd5a57Smrg	  case $host_os in
500140dd5a57Smrg	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
500240dd5a57Smrg	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
500340dd5a57Smrg	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
500440dd5a57Smrg	     ;;
500540dd5a57Smrg	   *)
500640dd5a57Smrg	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
500740dd5a57Smrg	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
500840dd5a57Smrg	     ;;
500940dd5a57Smrg	  esac
501040dd5a57Smrg	fi
501140dd5a57Smrg      else
501240dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
501340dd5a57Smrg      fi
501440dd5a57Smrg      ;;
501540dd5a57Smrg
501640dd5a57Smrg    os2*)
501740dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
501840dd5a57Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
501940dd5a57Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
502040dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
502140dd5a57Smrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
502240dd5a57Smrg      ;;
502340dd5a57Smrg
502440dd5a57Smrg    osf3*)
502540dd5a57Smrg      if test "$GCC" = yes; then
502640dd5a57Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
502740dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
502840dd5a57Smrg      else
502940dd5a57Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
503040dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
503140dd5a57Smrg      fi
503240dd5a57Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
503340dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
503440dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
503540dd5a57Smrg      ;;
503640dd5a57Smrg
503740dd5a57Smrg    osf4* | osf5*)	# as osf3* with the addition of -msym flag
503840dd5a57Smrg      if test "$GCC" = yes; then
503940dd5a57Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
504040dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
504140dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
504240dd5a57Smrg      else
504340dd5a57Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
504440dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
504540dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
504640dd5a57Smrg	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
504740dd5a57Smrg
504840dd5a57Smrg	# Both c and cxx compiler support -rpath directly
504940dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
505040dd5a57Smrg      fi
505140dd5a57Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
505240dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
505340dd5a57Smrg      ;;
505440dd5a57Smrg
505540dd5a57Smrg    solaris*)
505640dd5a57Smrg      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
505740dd5a57Smrg      if test "$GCC" = yes; then
505840dd5a57Smrg	wlarc='${wl}'
505940dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
506040dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
506140dd5a57Smrg	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
506240dd5a57Smrg      else
506340dd5a57Smrg	case `$CC -V 2>&1` in
506440dd5a57Smrg	*"Compilers 5.0"*)
506540dd5a57Smrg	  wlarc=''
506640dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
506740dd5a57Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
506840dd5a57Smrg	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
506940dd5a57Smrg	  ;;
507040dd5a57Smrg	*)
507140dd5a57Smrg	  wlarc='${wl}'
507240dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
507340dd5a57Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
507440dd5a57Smrg	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
507540dd5a57Smrg	  ;;
507640dd5a57Smrg	esac
507740dd5a57Smrg      fi
507840dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
507940dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
508040dd5a57Smrg      case $host_os in
508140dd5a57Smrg      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
508240dd5a57Smrg      *)
508340dd5a57Smrg	# The compiler driver will combine and reorder linker options,
508440dd5a57Smrg	# but understands `-z linker_flag'.  GCC discards it without `$wl',
508540dd5a57Smrg	# but is careful enough not to reorder.
508640dd5a57Smrg	# Supported since Solaris 2.6 (maybe 2.5.1?)
508740dd5a57Smrg	if test "$GCC" = yes; then
508840dd5a57Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
508940dd5a57Smrg	else
509040dd5a57Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
509140dd5a57Smrg	fi
509240dd5a57Smrg	;;
509340dd5a57Smrg      esac
509440dd5a57Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
509540dd5a57Smrg      ;;
509640dd5a57Smrg
509740dd5a57Smrg    sunos4*)
509840dd5a57Smrg      if test "x$host_vendor" = xsequent; then
509940dd5a57Smrg	# Use $CC to link under sequent, because it throws in some extra .o
510040dd5a57Smrg	# files that make .init and .fini sections work.
510140dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
510240dd5a57Smrg      else
510340dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
510440dd5a57Smrg      fi
510540dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
510640dd5a57Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
510740dd5a57Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
510840dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
510940dd5a57Smrg      ;;
511040dd5a57Smrg
511140dd5a57Smrg    sysv4)
511240dd5a57Smrg      case $host_vendor in
511340dd5a57Smrg	sni)
511440dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
511540dd5a57Smrg	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
511640dd5a57Smrg	;;
511740dd5a57Smrg	siemens)
511840dd5a57Smrg	  ## LD is ld it makes a PLAMLIB
511940dd5a57Smrg	  ## CC just makes a GrossModule.
512040dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
512140dd5a57Smrg	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
512240dd5a57Smrg	  _LT_TAGVAR(hardcode_direct, $1)=no
512340dd5a57Smrg        ;;
512440dd5a57Smrg	motorola)
512540dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
512640dd5a57Smrg	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
512740dd5a57Smrg	;;
512840dd5a57Smrg      esac
512940dd5a57Smrg      runpath_var='LD_RUN_PATH'
513040dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
513140dd5a57Smrg      ;;
513240dd5a57Smrg
513340dd5a57Smrg    sysv4.3*)
513440dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
513540dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
513640dd5a57Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
513740dd5a57Smrg      ;;
513840dd5a57Smrg
513940dd5a57Smrg    sysv4*MP*)
514040dd5a57Smrg      if test -d /usr/nec; then
514140dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
514240dd5a57Smrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
514340dd5a57Smrg	runpath_var=LD_RUN_PATH
514440dd5a57Smrg	hardcode_runpath_var=yes
514540dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=yes
514640dd5a57Smrg      fi
514740dd5a57Smrg      ;;
514840dd5a57Smrg
514940dd5a57Smrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
515040dd5a57Smrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
515140dd5a57Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
515240dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
515340dd5a57Smrg      runpath_var='LD_RUN_PATH'
515440dd5a57Smrg
515540dd5a57Smrg      if test "$GCC" = yes; then
515640dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
515740dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
515840dd5a57Smrg      else
515940dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
516040dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
516140dd5a57Smrg      fi
516240dd5a57Smrg      ;;
516340dd5a57Smrg
516440dd5a57Smrg    sysv5* | sco3.2v5* | sco5v6*)
516540dd5a57Smrg      # Note: We can NOT use -z defs as we might desire, because we do not
516640dd5a57Smrg      # link with -lc, and that would cause any symbols used from libc to
516740dd5a57Smrg      # always be unresolved, which means just about no library would
516840dd5a57Smrg      # ever link correctly.  If we're not using GNU ld we use -z text
516940dd5a57Smrg      # though, which does catch some bad symbols but isn't as heavy-handed
517040dd5a57Smrg      # as -z defs.
517140dd5a57Smrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
517240dd5a57Smrg      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
517340dd5a57Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
517440dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
517540dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
517640dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
517740dd5a57Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
517840dd5a57Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
517940dd5a57Smrg      runpath_var='LD_RUN_PATH'
518040dd5a57Smrg
518140dd5a57Smrg      if test "$GCC" = yes; then
518240dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
518340dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
518440dd5a57Smrg      else
518540dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
518640dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
518740dd5a57Smrg      fi
518840dd5a57Smrg      ;;
518940dd5a57Smrg
519040dd5a57Smrg    uts4*)
519140dd5a57Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
519240dd5a57Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
519340dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
519440dd5a57Smrg      ;;
519540dd5a57Smrg
519640dd5a57Smrg    *)
519740dd5a57Smrg      _LT_TAGVAR(ld_shlibs, $1)=no
519840dd5a57Smrg      ;;
519940dd5a57Smrg    esac
520040dd5a57Smrg
520140dd5a57Smrg    if test x$host_vendor = xsni; then
520240dd5a57Smrg      case $host in
520340dd5a57Smrg      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
520440dd5a57Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
520540dd5a57Smrg	;;
520640dd5a57Smrg      esac
520740dd5a57Smrg    fi
520840dd5a57Smrg  fi
520940dd5a57Smrg])
521040dd5a57SmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
521140dd5a57Smrgtest "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
521240dd5a57Smrg
521340dd5a57Smrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
521440dd5a57Smrg
521540dd5a57Smrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
521640dd5a57Smrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
521740dd5a57Smrg_LT_DECL([], [extract_expsyms_cmds], [2],
521840dd5a57Smrg    [The commands to extract the exported symbol list from a shared archive])
521940dd5a57Smrg
522040dd5a57Smrg#
522140dd5a57Smrg# Do we need to explicitly link libc?
522240dd5a57Smrg#
522340dd5a57Smrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
522440dd5a57Smrgx|xyes)
522540dd5a57Smrg  # Assume -lc should be added
522640dd5a57Smrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
522740dd5a57Smrg
522840dd5a57Smrg  if test "$enable_shared" = yes && test "$GCC" = yes; then
522940dd5a57Smrg    case $_LT_TAGVAR(archive_cmds, $1) in
523040dd5a57Smrg    *'~'*)
523140dd5a57Smrg      # FIXME: we may have to deal with multi-command sequences.
523240dd5a57Smrg      ;;
523340dd5a57Smrg    '$CC '*)
523440dd5a57Smrg      # Test whether the compiler implicitly links with -lc since on some
523540dd5a57Smrg      # systems, -lgcc has to come before -lc. If gcc already passes -lc
523640dd5a57Smrg      # to ld, don't add -lc before -lgcc.
523740dd5a57Smrg      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
523840dd5a57Smrg	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
523940dd5a57Smrg	[$RM conftest*
524040dd5a57Smrg	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
524140dd5a57Smrg
524240dd5a57Smrg	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
524340dd5a57Smrg	  soname=conftest
524440dd5a57Smrg	  lib=conftest
524540dd5a57Smrg	  libobjs=conftest.$ac_objext
524640dd5a57Smrg	  deplibs=
524740dd5a57Smrg	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
524840dd5a57Smrg	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
524940dd5a57Smrg	  compiler_flags=-v
525040dd5a57Smrg	  linker_flags=-v
525140dd5a57Smrg	  verstring=
525240dd5a57Smrg	  output_objdir=.
525340dd5a57Smrg	  libname=conftest
525440dd5a57Smrg	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
525540dd5a57Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)=
525640dd5a57Smrg	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
525740dd5a57Smrg	  then
525840dd5a57Smrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
525940dd5a57Smrg	  else
526040dd5a57Smrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
526140dd5a57Smrg	  fi
526240dd5a57Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
526340dd5a57Smrg	else
526440dd5a57Smrg	  cat conftest.err 1>&5
526540dd5a57Smrg	fi
526640dd5a57Smrg	$RM conftest*
526740dd5a57Smrg	])
526840dd5a57Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
526940dd5a57Smrg      ;;
527040dd5a57Smrg    esac
527140dd5a57Smrg  fi
527240dd5a57Smrg  ;;
527340dd5a57Smrgesac
527440dd5a57Smrg
527540dd5a57Smrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
527640dd5a57Smrg    [Whether or not to add -lc for building shared libraries])
527740dd5a57Smrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
527840dd5a57Smrg    [enable_shared_with_static_runtimes], [0],
527940dd5a57Smrg    [Whether or not to disallow shared libs when runtime libs are static])
528040dd5a57Smrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
528140dd5a57Smrg    [Compiler flag to allow reflexive dlopens])
528240dd5a57Smrg_LT_TAGDECL([], [whole_archive_flag_spec], [1],
528340dd5a57Smrg    [Compiler flag to generate shared objects directly from archives])
528440dd5a57Smrg_LT_TAGDECL([], [compiler_needs_object], [1],
528540dd5a57Smrg    [Whether the compiler copes with passing no objects directly])
528640dd5a57Smrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
528740dd5a57Smrg    [Create an old-style archive from a shared archive])
528840dd5a57Smrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
528940dd5a57Smrg    [Create a temporary old-style archive to link instead of a shared archive])
529040dd5a57Smrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
529140dd5a57Smrg_LT_TAGDECL([], [archive_expsym_cmds], [2])
529240dd5a57Smrg_LT_TAGDECL([], [module_cmds], [2],
529340dd5a57Smrg    [Commands used to build a loadable module if different from building
529440dd5a57Smrg    a shared archive.])
529540dd5a57Smrg_LT_TAGDECL([], [module_expsym_cmds], [2])
529640dd5a57Smrg_LT_TAGDECL([], [with_gnu_ld], [1],
529740dd5a57Smrg    [Whether we are building with GNU ld or not])
529840dd5a57Smrg_LT_TAGDECL([], [allow_undefined_flag], [1],
529940dd5a57Smrg    [Flag that allows shared libraries with undefined symbols to be built])
530040dd5a57Smrg_LT_TAGDECL([], [no_undefined_flag], [1],
530140dd5a57Smrg    [Flag that enforces no undefined symbols])
530240dd5a57Smrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
530340dd5a57Smrg    [Flag to hardcode $libdir into a binary during linking.
530440dd5a57Smrg    This must work even if $libdir does not exist])
530540dd5a57Smrg_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
530640dd5a57Smrg    [[If ld is used when linking, flag to hardcode $libdir into a binary
530740dd5a57Smrg    during linking.  This must work even if $libdir does not exist]])
530840dd5a57Smrg_LT_TAGDECL([], [hardcode_libdir_separator], [1],
530940dd5a57Smrg    [Whether we need a single "-rpath" flag with a separated argument])
531040dd5a57Smrg_LT_TAGDECL([], [hardcode_direct], [0],
531140dd5a57Smrg    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
531240dd5a57Smrg    DIR into the resulting binary])
531340dd5a57Smrg_LT_TAGDECL([], [hardcode_direct_absolute], [0],
531440dd5a57Smrg    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
531540dd5a57Smrg    DIR into the resulting binary and the resulting library dependency is
531640dd5a57Smrg    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
531740dd5a57Smrg    library is relocated])
531840dd5a57Smrg_LT_TAGDECL([], [hardcode_minus_L], [0],
531940dd5a57Smrg    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
532040dd5a57Smrg    into the resulting binary])
532140dd5a57Smrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
532240dd5a57Smrg    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
532340dd5a57Smrg    into the resulting binary])
532440dd5a57Smrg_LT_TAGDECL([], [hardcode_automatic], [0],
532540dd5a57Smrg    [Set to "yes" if building a shared library automatically hardcodes DIR
532640dd5a57Smrg    into the library and all subsequent libraries and executables linked
532740dd5a57Smrg    against it])
532840dd5a57Smrg_LT_TAGDECL([], [inherit_rpath], [0],
532940dd5a57Smrg    [Set to yes if linker adds runtime paths of dependent libraries
533040dd5a57Smrg    to runtime path list])
533140dd5a57Smrg_LT_TAGDECL([], [link_all_deplibs], [0],
533240dd5a57Smrg    [Whether libtool must link a program against all its dependency libraries])
533340dd5a57Smrg_LT_TAGDECL([], [fix_srcfile_path], [1],
533440dd5a57Smrg    [Fix the shell variable $srcfile for the compiler])
533540dd5a57Smrg_LT_TAGDECL([], [always_export_symbols], [0],
533640dd5a57Smrg    [Set to "yes" if exported symbols are required])
533740dd5a57Smrg_LT_TAGDECL([], [export_symbols_cmds], [2],
533840dd5a57Smrg    [The commands to list exported symbols])
533940dd5a57Smrg_LT_TAGDECL([], [exclude_expsyms], [1],
534040dd5a57Smrg    [Symbols that should not be listed in the preloaded symbols])
534140dd5a57Smrg_LT_TAGDECL([], [include_expsyms], [1],
534240dd5a57Smrg    [Symbols that must always be exported])
534340dd5a57Smrg_LT_TAGDECL([], [prelink_cmds], [2],
534440dd5a57Smrg    [Commands necessary for linking programs (against libraries) with templates])
534540dd5a57Smrg_LT_TAGDECL([], [file_list_spec], [1],
534640dd5a57Smrg    [Specify filename containing input files])
534740dd5a57Smrgdnl FIXME: Not yet implemented
534840dd5a57Smrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
534940dd5a57Smrgdnl    [Compiler flag to generate thread safe objects])
535040dd5a57Smrg])# _LT_LINKER_SHLIBS
535140dd5a57Smrg
535240dd5a57Smrg
535340dd5a57Smrg# _LT_LANG_C_CONFIG([TAG])
535440dd5a57Smrg# ------------------------
535540dd5a57Smrg# Ensure that the configuration variables for a C compiler are suitably
535640dd5a57Smrg# defined.  These variables are subsequently used by _LT_CONFIG to write
535740dd5a57Smrg# the compiler configuration to `libtool'.
535840dd5a57Smrgm4_defun([_LT_LANG_C_CONFIG],
535940dd5a57Smrg[m4_require([_LT_DECL_EGREP])dnl
536040dd5a57Smrglt_save_CC="$CC"
536140dd5a57SmrgAC_LANG_PUSH(C)
536240dd5a57Smrg
536340dd5a57Smrg# Source file extension for C test sources.
536440dd5a57Smrgac_ext=c
536540dd5a57Smrg
536640dd5a57Smrg# Object file extension for compiled C test sources.
536740dd5a57Smrgobjext=o
536840dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext
536940dd5a57Smrg
537040dd5a57Smrg# Code to be used in simple compile tests
537140dd5a57Smrglt_simple_compile_test_code="int some_variable = 0;"
537240dd5a57Smrg
537340dd5a57Smrg# Code to be used in simple link tests
537440dd5a57Smrglt_simple_link_test_code='int main(){return(0);}'
537540dd5a57Smrg
537640dd5a57Smrg_LT_TAG_COMPILER
537740dd5a57Smrg# Save the default compiler, since it gets overwritten when the other
537840dd5a57Smrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
537940dd5a57Smrgcompiler_DEFAULT=$CC
538040dd5a57Smrg
538140dd5a57Smrg# save warnings/boilerplate of simple test code
538240dd5a57Smrg_LT_COMPILER_BOILERPLATE
538340dd5a57Smrg_LT_LINKER_BOILERPLATE
538440dd5a57Smrg
538540dd5a57Smrgif test -n "$compiler"; then
538640dd5a57Smrg  _LT_COMPILER_NO_RTTI($1)
538740dd5a57Smrg  _LT_COMPILER_PIC($1)
538840dd5a57Smrg  _LT_COMPILER_C_O($1)
538940dd5a57Smrg  _LT_COMPILER_FILE_LOCKS($1)
539040dd5a57Smrg  _LT_LINKER_SHLIBS($1)
539140dd5a57Smrg  _LT_SYS_DYNAMIC_LINKER($1)
539240dd5a57Smrg  _LT_LINKER_HARDCODE_LIBPATH($1)
539340dd5a57Smrg  LT_SYS_DLOPEN_SELF
539440dd5a57Smrg  _LT_CMD_STRIPLIB
539540dd5a57Smrg
539640dd5a57Smrg  # Report which library types will actually be built
539740dd5a57Smrg  AC_MSG_CHECKING([if libtool supports shared libraries])
539840dd5a57Smrg  AC_MSG_RESULT([$can_build_shared])
539940dd5a57Smrg
540040dd5a57Smrg  AC_MSG_CHECKING([whether to build shared libraries])
540140dd5a57Smrg  test "$can_build_shared" = "no" && enable_shared=no
540240dd5a57Smrg
540340dd5a57Smrg  # On AIX, shared libraries and static libraries use the same namespace, and
540440dd5a57Smrg  # are all built from PIC.
540540dd5a57Smrg  case $host_os in
540640dd5a57Smrg  aix3*)
540740dd5a57Smrg    test "$enable_shared" = yes && enable_static=no
540840dd5a57Smrg    if test -n "$RANLIB"; then
540940dd5a57Smrg      archive_cmds="$archive_cmds~\$RANLIB \$lib"
541040dd5a57Smrg      postinstall_cmds='$RANLIB $lib'
541140dd5a57Smrg    fi
541240dd5a57Smrg    ;;
541340dd5a57Smrg
541440dd5a57Smrg  aix[[4-9]]*)
541540dd5a57Smrg    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
541640dd5a57Smrg      test "$enable_shared" = yes && enable_static=no
541740dd5a57Smrg    fi
541840dd5a57Smrg    ;;
541940dd5a57Smrg  esac
542040dd5a57Smrg  AC_MSG_RESULT([$enable_shared])
542140dd5a57Smrg
542240dd5a57Smrg  AC_MSG_CHECKING([whether to build static libraries])
542340dd5a57Smrg  # Make sure either enable_shared or enable_static is yes.
542440dd5a57Smrg  test "$enable_shared" = yes || enable_static=yes
542540dd5a57Smrg  AC_MSG_RESULT([$enable_static])
542640dd5a57Smrg
542740dd5a57Smrg  _LT_CONFIG($1)
542840dd5a57Smrgfi
542940dd5a57SmrgAC_LANG_POP
543040dd5a57SmrgCC="$lt_save_CC"
543140dd5a57Smrg])# _LT_LANG_C_CONFIG
543240dd5a57Smrg
543340dd5a57Smrg
543440dd5a57Smrg# _LT_LANG_CXX_CONFIG([TAG])
543540dd5a57Smrg# --------------------------
543640dd5a57Smrg# Ensure that the configuration variables for a C++ compiler are suitably
543740dd5a57Smrg# defined.  These variables are subsequently used by _LT_CONFIG to write
543840dd5a57Smrg# the compiler configuration to `libtool'.
543940dd5a57Smrgm4_defun([_LT_LANG_CXX_CONFIG],
544040dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
544140dd5a57Smrgm4_require([_LT_DECL_EGREP])dnl
544240dd5a57Smrgif test -n "$CXX" && ( test "X$CXX" != "Xno" &&
544340dd5a57Smrg    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
544440dd5a57Smrg    (test "X$CXX" != "Xg++"))) ; then
544540dd5a57Smrg  AC_PROG_CXXCPP
544640dd5a57Smrgelse
544740dd5a57Smrg  _lt_caught_CXX_error=yes
544840dd5a57Smrgfi
544940dd5a57Smrg
545040dd5a57SmrgAC_LANG_PUSH(C++)
545140dd5a57Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
545240dd5a57Smrg_LT_TAGVAR(allow_undefined_flag, $1)=
545340dd5a57Smrg_LT_TAGVAR(always_export_symbols, $1)=no
545440dd5a57Smrg_LT_TAGVAR(archive_expsym_cmds, $1)=
545540dd5a57Smrg_LT_TAGVAR(compiler_needs_object, $1)=no
545640dd5a57Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
545740dd5a57Smrg_LT_TAGVAR(hardcode_direct, $1)=no
545840dd5a57Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
545940dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
546040dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
546140dd5a57Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
546240dd5a57Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no
546340dd5a57Smrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
546440dd5a57Smrg_LT_TAGVAR(hardcode_automatic, $1)=no
546540dd5a57Smrg_LT_TAGVAR(inherit_rpath, $1)=no
546640dd5a57Smrg_LT_TAGVAR(module_cmds, $1)=
546740dd5a57Smrg_LT_TAGVAR(module_expsym_cmds, $1)=
546840dd5a57Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
546940dd5a57Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
547040dd5a57Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
547140dd5a57Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
547240dd5a57Smrg_LT_TAGVAR(no_undefined_flag, $1)=
547340dd5a57Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
547440dd5a57Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
547540dd5a57Smrg
547640dd5a57Smrg# Source file extension for C++ test sources.
547740dd5a57Smrgac_ext=cpp
547840dd5a57Smrg
547940dd5a57Smrg# Object file extension for compiled C++ test sources.
548040dd5a57Smrgobjext=o
548140dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext
548240dd5a57Smrg
548340dd5a57Smrg# No sense in running all these tests if we already determined that
548440dd5a57Smrg# the CXX compiler isn't working.  Some variables (like enable_shared)
548540dd5a57Smrg# are currently assumed to apply to all compilers on this platform,
548640dd5a57Smrg# and will be corrupted by setting them based on a non-working compiler.
548740dd5a57Smrgif test "$_lt_caught_CXX_error" != yes; then
548840dd5a57Smrg  # Code to be used in simple compile tests
548940dd5a57Smrg  lt_simple_compile_test_code="int some_variable = 0;"
549040dd5a57Smrg
549140dd5a57Smrg  # Code to be used in simple link tests
549240dd5a57Smrg  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
549340dd5a57Smrg
549440dd5a57Smrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
549540dd5a57Smrg  _LT_TAG_COMPILER
549640dd5a57Smrg
549740dd5a57Smrg  # save warnings/boilerplate of simple test code
549840dd5a57Smrg  _LT_COMPILER_BOILERPLATE
549940dd5a57Smrg  _LT_LINKER_BOILERPLATE
550040dd5a57Smrg
550140dd5a57Smrg  # Allow CC to be a program name with arguments.
550240dd5a57Smrg  lt_save_CC=$CC
550340dd5a57Smrg  lt_save_LD=$LD
550440dd5a57Smrg  lt_save_GCC=$GCC
550540dd5a57Smrg  GCC=$GXX
550640dd5a57Smrg  lt_save_with_gnu_ld=$with_gnu_ld
550740dd5a57Smrg  lt_save_path_LD=$lt_cv_path_LD
550840dd5a57Smrg  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
550940dd5a57Smrg    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
551040dd5a57Smrg  else
551140dd5a57Smrg    $as_unset lt_cv_prog_gnu_ld
551240dd5a57Smrg  fi
551340dd5a57Smrg  if test -n "${lt_cv_path_LDCXX+set}"; then
551440dd5a57Smrg    lt_cv_path_LD=$lt_cv_path_LDCXX
551540dd5a57Smrg  else
551640dd5a57Smrg    $as_unset lt_cv_path_LD
551740dd5a57Smrg  fi
551840dd5a57Smrg  test -z "${LDCXX+set}" || LD=$LDCXX
551940dd5a57Smrg  CC=${CXX-"c++"}
552040dd5a57Smrg  compiler=$CC
552140dd5a57Smrg  _LT_TAGVAR(compiler, $1)=$CC
552240dd5a57Smrg  _LT_CC_BASENAME([$compiler])
552340dd5a57Smrg
552440dd5a57Smrg  if test -n "$compiler"; then
552540dd5a57Smrg    # We don't want -fno-exception when compiling C++ code, so set the
552640dd5a57Smrg    # no_builtin_flag separately
552740dd5a57Smrg    if test "$GXX" = yes; then
552840dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
552940dd5a57Smrg    else
553040dd5a57Smrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
553140dd5a57Smrg    fi
553240dd5a57Smrg
553340dd5a57Smrg    if test "$GXX" = yes; then
553440dd5a57Smrg      # Set up default GNU C++ configuration
553540dd5a57Smrg
553640dd5a57Smrg      LT_PATH_LD
553740dd5a57Smrg
553840dd5a57Smrg      # Check if GNU C++ uses GNU ld as the underlying linker, since the
553940dd5a57Smrg      # archiving commands below assume that GNU ld is being used.
554040dd5a57Smrg      if test "$with_gnu_ld" = yes; then
554140dd5a57Smrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
554240dd5a57Smrg        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
554340dd5a57Smrg
554440dd5a57Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
554540dd5a57Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
554640dd5a57Smrg
554740dd5a57Smrg        # If archive_cmds runs LD, not CC, wlarc should be empty
554840dd5a57Smrg        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
554940dd5a57Smrg        #     investigate it a little bit more. (MM)
555040dd5a57Smrg        wlarc='${wl}'
555140dd5a57Smrg
555240dd5a57Smrg        # ancient GNU ld didn't support --whole-archive et. al.
555340dd5a57Smrg        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
555440dd5a57Smrg	  $GREP 'no-whole-archive' > /dev/null; then
555540dd5a57Smrg          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
555640dd5a57Smrg        else
555740dd5a57Smrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=
555840dd5a57Smrg        fi
555940dd5a57Smrg      else
556040dd5a57Smrg        with_gnu_ld=no
556140dd5a57Smrg        wlarc=
556240dd5a57Smrg
556340dd5a57Smrg        # A generic and very simple default shared library creation
556440dd5a57Smrg        # command for GNU C++ for the case where it uses the native
556540dd5a57Smrg        # linker, instead of GNU ld.  If possible, this setting should
556640dd5a57Smrg        # overridden to take advantage of the native linker features on
556740dd5a57Smrg        # the platform it is being used on.
556840dd5a57Smrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
556940dd5a57Smrg      fi
557040dd5a57Smrg
557140dd5a57Smrg      # Commands to make compiler produce verbose output that lists
557240dd5a57Smrg      # what "hidden" libraries, object files and flags are used when
557340dd5a57Smrg      # linking a shared library.
557440dd5a57Smrg      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
557540dd5a57Smrg
557640dd5a57Smrg    else
557740dd5a57Smrg      GXX=no
557840dd5a57Smrg      with_gnu_ld=no
557940dd5a57Smrg      wlarc=
558040dd5a57Smrg    fi
558140dd5a57Smrg
558240dd5a57Smrg    # PORTME: fill in a description of your system's C++ link characteristics
558340dd5a57Smrg    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
558440dd5a57Smrg    _LT_TAGVAR(ld_shlibs, $1)=yes
558540dd5a57Smrg    case $host_os in
558640dd5a57Smrg      aix3*)
558740dd5a57Smrg        # FIXME: insert proper C++ library support
558840dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
558940dd5a57Smrg        ;;
559040dd5a57Smrg      aix[[4-9]]*)
559140dd5a57Smrg        if test "$host_cpu" = ia64; then
559240dd5a57Smrg          # On IA64, the linker does run time linking by default, so we don't
559340dd5a57Smrg          # have to do anything special.
559440dd5a57Smrg          aix_use_runtimelinking=no
559540dd5a57Smrg          exp_sym_flag='-Bexport'
559640dd5a57Smrg          no_entry_flag=""
559740dd5a57Smrg        else
559840dd5a57Smrg          aix_use_runtimelinking=no
559940dd5a57Smrg
560040dd5a57Smrg          # Test if we are trying to use run time linking or normal
560140dd5a57Smrg          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
560240dd5a57Smrg          # need to do runtime linking.
560340dd5a57Smrg          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
560440dd5a57Smrg	    for ld_flag in $LDFLAGS; do
560540dd5a57Smrg	      case $ld_flag in
560640dd5a57Smrg	      *-brtl*)
560740dd5a57Smrg	        aix_use_runtimelinking=yes
560840dd5a57Smrg	        break
560940dd5a57Smrg	        ;;
561040dd5a57Smrg	      esac
561140dd5a57Smrg	    done
561240dd5a57Smrg	    ;;
561340dd5a57Smrg          esac
561440dd5a57Smrg
561540dd5a57Smrg          exp_sym_flag='-bexport'
561640dd5a57Smrg          no_entry_flag='-bnoentry'
561740dd5a57Smrg        fi
561840dd5a57Smrg
561940dd5a57Smrg        # When large executables or shared objects are built, AIX ld can
562040dd5a57Smrg        # have problems creating the table of contents.  If linking a library
562140dd5a57Smrg        # or program results in "error TOC overflow" add -mminimal-toc to
562240dd5a57Smrg        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
562340dd5a57Smrg        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
562440dd5a57Smrg
562540dd5a57Smrg        _LT_TAGVAR(archive_cmds, $1)=''
562640dd5a57Smrg        _LT_TAGVAR(hardcode_direct, $1)=yes
562740dd5a57Smrg        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
562840dd5a57Smrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
562940dd5a57Smrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
563040dd5a57Smrg        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
563140dd5a57Smrg
563240dd5a57Smrg        if test "$GXX" = yes; then
563340dd5a57Smrg          case $host_os in aix4.[[012]]|aix4.[[012]].*)
563440dd5a57Smrg          # We only want to do this on AIX 4.2 and lower, the check
563540dd5a57Smrg          # below for broken collect2 doesn't work under 4.3+
563640dd5a57Smrg	  collect2name=`${CC} -print-prog-name=collect2`
563740dd5a57Smrg	  if test -f "$collect2name" &&
563840dd5a57Smrg	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
563940dd5a57Smrg	  then
564040dd5a57Smrg	    # We have reworked collect2
564140dd5a57Smrg	    :
564240dd5a57Smrg	  else
564340dd5a57Smrg	    # We have old collect2
564440dd5a57Smrg	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
564540dd5a57Smrg	    # It fails to find uninstalled libraries when the uninstalled
564640dd5a57Smrg	    # path is not listed in the libpath.  Setting hardcode_minus_L
564740dd5a57Smrg	    # to unsupported forces relinking
564840dd5a57Smrg	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
564940dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
565040dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
565140dd5a57Smrg	  fi
565240dd5a57Smrg          esac
565340dd5a57Smrg          shared_flag='-shared'
565440dd5a57Smrg	  if test "$aix_use_runtimelinking" = yes; then
565540dd5a57Smrg	    shared_flag="$shared_flag "'${wl}-G'
565640dd5a57Smrg	  fi
565740dd5a57Smrg        else
565840dd5a57Smrg          # not using gcc
565940dd5a57Smrg          if test "$host_cpu" = ia64; then
566040dd5a57Smrg	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
566140dd5a57Smrg	  # chokes on -Wl,-G. The following line is correct:
566240dd5a57Smrg	  shared_flag='-G'
566340dd5a57Smrg          else
566440dd5a57Smrg	    if test "$aix_use_runtimelinking" = yes; then
566540dd5a57Smrg	      shared_flag='${wl}-G'
566640dd5a57Smrg	    else
566740dd5a57Smrg	      shared_flag='${wl}-bM:SRE'
566840dd5a57Smrg	    fi
566940dd5a57Smrg          fi
567040dd5a57Smrg        fi
567140dd5a57Smrg
567240dd5a57Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
567340dd5a57Smrg        # It seems that -bexpall does not export symbols beginning with
567440dd5a57Smrg        # underscore (_), so it is better to generate a list of symbols to
567540dd5a57Smrg	# export.
567640dd5a57Smrg        _LT_TAGVAR(always_export_symbols, $1)=yes
567740dd5a57Smrg        if test "$aix_use_runtimelinking" = yes; then
567840dd5a57Smrg          # Warning - without using the other runtime loading flags (-brtl),
567940dd5a57Smrg          # -berok will link without error, but may produce a broken library.
568040dd5a57Smrg          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
568140dd5a57Smrg          # Determine the default libpath from the value encoded in an empty
568240dd5a57Smrg          # executable.
568340dd5a57Smrg          _LT_SYS_MODULE_PATH_AIX
568440dd5a57Smrg          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
568540dd5a57Smrg
568640dd5a57Smrg          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
568740dd5a57Smrg        else
568840dd5a57Smrg          if test "$host_cpu" = ia64; then
568940dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
569040dd5a57Smrg	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
569140dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
569240dd5a57Smrg          else
569340dd5a57Smrg	    # Determine the default libpath from the value encoded in an
569440dd5a57Smrg	    # empty executable.
569540dd5a57Smrg	    _LT_SYS_MODULE_PATH_AIX
569640dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
569740dd5a57Smrg	    # Warning - without using the other run time loading flags,
569840dd5a57Smrg	    # -berok will link without error, but may produce a broken library.
569940dd5a57Smrg	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
570040dd5a57Smrg	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
570140dd5a57Smrg	    if test "$with_gnu_ld" = yes; then
570240dd5a57Smrg	      # We only use this code for GNU lds that support --whole-archive.
570340dd5a57Smrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
570440dd5a57Smrg	    else
570540dd5a57Smrg	      # Exported symbols can be pulled into shared objects from archives
570640dd5a57Smrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
570740dd5a57Smrg	    fi
570840dd5a57Smrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
570940dd5a57Smrg	    # This is similar to how AIX traditionally builds its shared
571040dd5a57Smrg	    # libraries.
571140dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
571240dd5a57Smrg          fi
571340dd5a57Smrg        fi
571440dd5a57Smrg        ;;
571540dd5a57Smrg
571640dd5a57Smrg      beos*)
571740dd5a57Smrg	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
571840dd5a57Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
571940dd5a57Smrg	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
572040dd5a57Smrg	  # support --undefined.  This deserves some investigation.  FIXME
572140dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
572240dd5a57Smrg	else
572340dd5a57Smrg	  _LT_TAGVAR(ld_shlibs, $1)=no
572440dd5a57Smrg	fi
572540dd5a57Smrg	;;
572640dd5a57Smrg
572740dd5a57Smrg      chorus*)
572840dd5a57Smrg        case $cc_basename in
572940dd5a57Smrg          *)
573040dd5a57Smrg	  # FIXME: insert proper C++ library support
573140dd5a57Smrg	  _LT_TAGVAR(ld_shlibs, $1)=no
573240dd5a57Smrg	  ;;
573340dd5a57Smrg        esac
573440dd5a57Smrg        ;;
573540dd5a57Smrg
573640dd5a57Smrg      cygwin* | mingw* | pw32* | cegcc*)
573740dd5a57Smrg        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
573840dd5a57Smrg        # as there is no search path for DLLs.
573940dd5a57Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
574040dd5a57Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
574140dd5a57Smrg        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
574240dd5a57Smrg        _LT_TAGVAR(always_export_symbols, $1)=no
574340dd5a57Smrg        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
574440dd5a57Smrg
574540dd5a57Smrg        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
574640dd5a57Smrg          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
574740dd5a57Smrg          # If the export-symbols file already is a .def file (1st line
574840dd5a57Smrg          # is EXPORTS), use it as is; otherwise, prepend...
574940dd5a57Smrg          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
575040dd5a57Smrg	    cp $export_symbols $output_objdir/$soname.def;
575140dd5a57Smrg          else
575240dd5a57Smrg	    echo EXPORTS > $output_objdir/$soname.def;
575340dd5a57Smrg	    cat $export_symbols >> $output_objdir/$soname.def;
575440dd5a57Smrg          fi~
575540dd5a57Smrg          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
575640dd5a57Smrg        else
575740dd5a57Smrg          _LT_TAGVAR(ld_shlibs, $1)=no
575840dd5a57Smrg        fi
575940dd5a57Smrg        ;;
576040dd5a57Smrg      darwin* | rhapsody*)
576140dd5a57Smrg        _LT_DARWIN_LINKER_FEATURES($1)
576240dd5a57Smrg	;;
576340dd5a57Smrg
576440dd5a57Smrg      dgux*)
576540dd5a57Smrg        case $cc_basename in
576640dd5a57Smrg          ec++*)
576740dd5a57Smrg	    # FIXME: insert proper C++ library support
576840dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
576940dd5a57Smrg	    ;;
577040dd5a57Smrg          ghcx*)
577140dd5a57Smrg	    # Green Hills C++ Compiler
577240dd5a57Smrg	    # FIXME: insert proper C++ library support
577340dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
577440dd5a57Smrg	    ;;
577540dd5a57Smrg          *)
577640dd5a57Smrg	    # FIXME: insert proper C++ library support
577740dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
577840dd5a57Smrg	    ;;
577940dd5a57Smrg        esac
578040dd5a57Smrg        ;;
578140dd5a57Smrg
578240dd5a57Smrg      freebsd[[12]]*)
578340dd5a57Smrg        # C++ shared libraries reported to be fairly broken before
578440dd5a57Smrg	# switch to ELF
578540dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
578640dd5a57Smrg        ;;
578740dd5a57Smrg
578840dd5a57Smrg      freebsd-elf*)
578940dd5a57Smrg        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
579040dd5a57Smrg        ;;
579140dd5a57Smrg
579240dd5a57Smrg      freebsd* | dragonfly*)
579340dd5a57Smrg        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
579440dd5a57Smrg        # conventions
579540dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=yes
579640dd5a57Smrg        ;;
579740dd5a57Smrg
579840dd5a57Smrg      gnu*)
579940dd5a57Smrg        ;;
580040dd5a57Smrg
580140dd5a57Smrg      haiku*)
580240dd5a57Smrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
580340dd5a57Smrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
580440dd5a57Smrg        ;;
580540dd5a57Smrg
580640dd5a57Smrg      hpux9*)
580740dd5a57Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
580840dd5a57Smrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
580940dd5a57Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
581040dd5a57Smrg        _LT_TAGVAR(hardcode_direct, $1)=yes
581140dd5a57Smrg        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
581240dd5a57Smrg				             # but as the default
581340dd5a57Smrg				             # location of the library.
581440dd5a57Smrg
581540dd5a57Smrg        case $cc_basename in
581640dd5a57Smrg          CC*)
581740dd5a57Smrg            # FIXME: insert proper C++ library support
581840dd5a57Smrg            _LT_TAGVAR(ld_shlibs, $1)=no
581940dd5a57Smrg            ;;
582040dd5a57Smrg          aCC*)
582140dd5a57Smrg            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
582240dd5a57Smrg            # Commands to make compiler produce verbose output that lists
582340dd5a57Smrg            # what "hidden" libraries, object files and flags are used when
582440dd5a57Smrg            # linking a shared library.
582540dd5a57Smrg            #
582640dd5a57Smrg            # There doesn't appear to be a way to prevent this compiler from
582740dd5a57Smrg            # explicitly linking system object files so we need to strip them
582840dd5a57Smrg            # from the output so that they don't get included in the library
582940dd5a57Smrg            # dependencies.
583040dd5a57Smrg            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
583140dd5a57Smrg            ;;
583240dd5a57Smrg          *)
583340dd5a57Smrg            if test "$GXX" = yes; then
583440dd5a57Smrg              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
583540dd5a57Smrg            else
583640dd5a57Smrg              # FIXME: insert proper C++ library support
583740dd5a57Smrg              _LT_TAGVAR(ld_shlibs, $1)=no
583840dd5a57Smrg            fi
583940dd5a57Smrg            ;;
584040dd5a57Smrg        esac
584140dd5a57Smrg        ;;
584240dd5a57Smrg
584340dd5a57Smrg      hpux10*|hpux11*)
584440dd5a57Smrg        if test $with_gnu_ld = no; then
584540dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
584640dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
584740dd5a57Smrg
584840dd5a57Smrg          case $host_cpu in
584940dd5a57Smrg            hppa*64*|ia64*)
585040dd5a57Smrg              ;;
585140dd5a57Smrg            *)
585240dd5a57Smrg	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
585340dd5a57Smrg              ;;
585440dd5a57Smrg          esac
585540dd5a57Smrg        fi
585640dd5a57Smrg        case $host_cpu in
585740dd5a57Smrg          hppa*64*|ia64*)
585840dd5a57Smrg            _LT_TAGVAR(hardcode_direct, $1)=no
585940dd5a57Smrg            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
586040dd5a57Smrg            ;;
586140dd5a57Smrg          *)
586240dd5a57Smrg            _LT_TAGVAR(hardcode_direct, $1)=yes
586340dd5a57Smrg            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
586440dd5a57Smrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
586540dd5a57Smrg					         # but as the default
586640dd5a57Smrg					         # location of the library.
586740dd5a57Smrg            ;;
586840dd5a57Smrg        esac
586940dd5a57Smrg
587040dd5a57Smrg        case $cc_basename in
587140dd5a57Smrg          CC*)
587240dd5a57Smrg	    # FIXME: insert proper C++ library support
587340dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
587440dd5a57Smrg	    ;;
587540dd5a57Smrg          aCC*)
587640dd5a57Smrg	    case $host_cpu in
587740dd5a57Smrg	      hppa*64*)
587840dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
587940dd5a57Smrg	        ;;
588040dd5a57Smrg	      ia64*)
588140dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
588240dd5a57Smrg	        ;;
588340dd5a57Smrg	      *)
588440dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
588540dd5a57Smrg	        ;;
588640dd5a57Smrg	    esac
588740dd5a57Smrg	    # Commands to make compiler produce verbose output that lists
588840dd5a57Smrg	    # what "hidden" libraries, object files and flags are used when
588940dd5a57Smrg	    # linking a shared library.
589040dd5a57Smrg	    #
589140dd5a57Smrg	    # There doesn't appear to be a way to prevent this compiler from
589240dd5a57Smrg	    # explicitly linking system object files so we need to strip them
589340dd5a57Smrg	    # from the output so that they don't get included in the library
589440dd5a57Smrg	    # dependencies.
589540dd5a57Smrg	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
589640dd5a57Smrg	    ;;
589740dd5a57Smrg          *)
589840dd5a57Smrg	    if test "$GXX" = yes; then
589940dd5a57Smrg	      if test $with_gnu_ld = no; then
590040dd5a57Smrg	        case $host_cpu in
590140dd5a57Smrg	          hppa*64*)
590240dd5a57Smrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
590340dd5a57Smrg	            ;;
590440dd5a57Smrg	          ia64*)
590540dd5a57Smrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
590640dd5a57Smrg	            ;;
590740dd5a57Smrg	          *)
590840dd5a57Smrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
590940dd5a57Smrg	            ;;
591040dd5a57Smrg	        esac
591140dd5a57Smrg	      fi
591240dd5a57Smrg	    else
591340dd5a57Smrg	      # FIXME: insert proper C++ library support
591440dd5a57Smrg	      _LT_TAGVAR(ld_shlibs, $1)=no
591540dd5a57Smrg	    fi
591640dd5a57Smrg	    ;;
591740dd5a57Smrg        esac
591840dd5a57Smrg        ;;
591940dd5a57Smrg
592040dd5a57Smrg      interix[[3-9]]*)
592140dd5a57Smrg	_LT_TAGVAR(hardcode_direct, $1)=no
592240dd5a57Smrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
592340dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
592440dd5a57Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
592540dd5a57Smrg	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
592640dd5a57Smrg	# Instead, shared libraries are loaded at an image base (0x10000000 by
592740dd5a57Smrg	# default) and relocated if they conflict, which is a slow very memory
592840dd5a57Smrg	# consuming and fragmenting process.  To avoid this, we pick a random,
592940dd5a57Smrg	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
593040dd5a57Smrg	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
593140dd5a57Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
593240dd5a57Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
593340dd5a57Smrg	;;
593440dd5a57Smrg      irix5* | irix6*)
593540dd5a57Smrg        case $cc_basename in
593640dd5a57Smrg          CC*)
593740dd5a57Smrg	    # SGI C++
593840dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
593940dd5a57Smrg
594040dd5a57Smrg	    # Archives containing C++ object files must be created using
594140dd5a57Smrg	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
594240dd5a57Smrg	    # necessary to make sure instantiated templates are included
594340dd5a57Smrg	    # in the archive.
594440dd5a57Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
594540dd5a57Smrg	    ;;
594640dd5a57Smrg          *)
594740dd5a57Smrg	    if test "$GXX" = yes; then
594840dd5a57Smrg	      if test "$with_gnu_ld" = no; then
594940dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
595040dd5a57Smrg	      else
595140dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
595240dd5a57Smrg	      fi
595340dd5a57Smrg	    fi
595440dd5a57Smrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
595540dd5a57Smrg	    ;;
595640dd5a57Smrg        esac
595740dd5a57Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
595840dd5a57Smrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
595940dd5a57Smrg        _LT_TAGVAR(inherit_rpath, $1)=yes
596040dd5a57Smrg        ;;
596140dd5a57Smrg
596240dd5a57Smrg      linux* | k*bsd*-gnu | kopensolaris*-gnu)
596340dd5a57Smrg        case $cc_basename in
596440dd5a57Smrg          KCC*)
596540dd5a57Smrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
596640dd5a57Smrg
596740dd5a57Smrg	    # KCC will only create a shared library if the output file
596840dd5a57Smrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
596940dd5a57Smrg	    # to its proper name (with version) after linking.
597040dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
597140dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
597240dd5a57Smrg	    # Commands to make compiler produce verbose output that lists
597340dd5a57Smrg	    # what "hidden" libraries, object files and flags are used when
597440dd5a57Smrg	    # linking a shared library.
597540dd5a57Smrg	    #
597640dd5a57Smrg	    # There doesn't appear to be a way to prevent this compiler from
597740dd5a57Smrg	    # explicitly linking system object files so we need to strip them
597840dd5a57Smrg	    # from the output so that they don't get included in the library
597940dd5a57Smrg	    # dependencies.
598040dd5a57Smrg	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
598140dd5a57Smrg
598240dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
598340dd5a57Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
598440dd5a57Smrg
598540dd5a57Smrg	    # Archives containing C++ object files must be created using
598640dd5a57Smrg	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
598740dd5a57Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
598840dd5a57Smrg	    ;;
598940dd5a57Smrg	  icpc* | ecpc* )
599040dd5a57Smrg	    # Intel C++
599140dd5a57Smrg	    with_gnu_ld=yes
599240dd5a57Smrg	    # version 8.0 and above of icpc choke on multiply defined symbols
599340dd5a57Smrg	    # if we add $predep_objects and $postdep_objects, however 7.1 and
599440dd5a57Smrg	    # earlier do not add the objects themselves.
599540dd5a57Smrg	    case `$CC -V 2>&1` in
599640dd5a57Smrg	      *"Version 7."*)
599740dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
599840dd5a57Smrg		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
599940dd5a57Smrg		;;
600040dd5a57Smrg	      *)  # Version 8.0 or newer
600140dd5a57Smrg	        tmp_idyn=
600240dd5a57Smrg	        case $host_cpu in
600340dd5a57Smrg		  ia64*) tmp_idyn=' -i_dynamic';;
600440dd5a57Smrg		esac
600540dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
600640dd5a57Smrg		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
600740dd5a57Smrg		;;
600840dd5a57Smrg	    esac
600940dd5a57Smrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
601040dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
601140dd5a57Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
601240dd5a57Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
601340dd5a57Smrg	    ;;
601440dd5a57Smrg          pgCC* | pgcpp*)
601540dd5a57Smrg            # Portland Group C++ compiler
601640dd5a57Smrg	    case `$CC -V` in
601740dd5a57Smrg	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
601840dd5a57Smrg	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
601940dd5a57Smrg		rm -rf $tpldir~
602040dd5a57Smrg		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
602140dd5a57Smrg		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
602240dd5a57Smrg	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
602340dd5a57Smrg		rm -rf $tpldir~
602440dd5a57Smrg		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
602540dd5a57Smrg		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
602640dd5a57Smrg		$RANLIB $oldlib'
602740dd5a57Smrg	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
602840dd5a57Smrg		rm -rf $tpldir~
602940dd5a57Smrg		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
603040dd5a57Smrg		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
603140dd5a57Smrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
603240dd5a57Smrg		rm -rf $tpldir~
603340dd5a57Smrg		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
603440dd5a57Smrg		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
603540dd5a57Smrg	      ;;
603640dd5a57Smrg	    *) # Version 6 and above use weak symbols
603740dd5a57Smrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
603840dd5a57Smrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
603940dd5a57Smrg	      ;;
604040dd5a57Smrg	    esac
604140dd5a57Smrg
604240dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
604340dd5a57Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
604440dd5a57Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
604540dd5a57Smrg            ;;
604640dd5a57Smrg	  cxx*)
604740dd5a57Smrg	    # Compaq C++
604840dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
604940dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
605040dd5a57Smrg
605140dd5a57Smrg	    runpath_var=LD_RUN_PATH
605240dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
605340dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
605440dd5a57Smrg
605540dd5a57Smrg	    # Commands to make compiler produce verbose output that lists
605640dd5a57Smrg	    # what "hidden" libraries, object files and flags are used when
605740dd5a57Smrg	    # linking a shared library.
605840dd5a57Smrg	    #
605940dd5a57Smrg	    # There doesn't appear to be a way to prevent this compiler from
606040dd5a57Smrg	    # explicitly linking system object files so we need to strip them
606140dd5a57Smrg	    # from the output so that they don't get included in the library
606240dd5a57Smrg	    # dependencies.
606340dd5a57Smrg	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
606440dd5a57Smrg	    ;;
606540dd5a57Smrg	  xl* | mpixl* | bgxl*)
606640dd5a57Smrg	    # IBM XL 8.0 on PPC, with GNU ld
606740dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
606840dd5a57Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
606940dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
607040dd5a57Smrg	    if test "x$supports_anon_versioning" = xyes; then
607140dd5a57Smrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
607240dd5a57Smrg		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
607340dd5a57Smrg		echo "local: *; };" >> $output_objdir/$libname.ver~
607440dd5a57Smrg		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
607540dd5a57Smrg	    fi
607640dd5a57Smrg	    ;;
607740dd5a57Smrg	  *)
607840dd5a57Smrg	    case `$CC -V 2>&1 | sed 5q` in
607940dd5a57Smrg	    *Sun\ C*)
608040dd5a57Smrg	      # Sun C++ 5.9
608140dd5a57Smrg	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
608240dd5a57Smrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
608340dd5a57Smrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
608440dd5a57Smrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
608540dd5a57Smrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
608640dd5a57Smrg	      _LT_TAGVAR(compiler_needs_object, $1)=yes
608740dd5a57Smrg
608840dd5a57Smrg	      # Not sure whether something based on
608940dd5a57Smrg	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
609040dd5a57Smrg	      # would be better.
609140dd5a57Smrg	      output_verbose_link_cmd='func_echo_all'
609240dd5a57Smrg
609340dd5a57Smrg	      # Archives containing C++ object files must be created using
609440dd5a57Smrg	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
609540dd5a57Smrg	      # necessary to make sure instantiated templates are included
609640dd5a57Smrg	      # in the archive.
609740dd5a57Smrg	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
609840dd5a57Smrg	      ;;
609940dd5a57Smrg	    esac
610040dd5a57Smrg	    ;;
610140dd5a57Smrg	esac
610240dd5a57Smrg	;;
610340dd5a57Smrg
610440dd5a57Smrg      lynxos*)
610540dd5a57Smrg        # FIXME: insert proper C++ library support
610640dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
610740dd5a57Smrg	;;
610840dd5a57Smrg
610940dd5a57Smrg      m88k*)
611040dd5a57Smrg        # FIXME: insert proper C++ library support
611140dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
611240dd5a57Smrg	;;
611340dd5a57Smrg
611440dd5a57Smrg      mvs*)
611540dd5a57Smrg        case $cc_basename in
611640dd5a57Smrg          cxx*)
611740dd5a57Smrg	    # FIXME: insert proper C++ library support
611840dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
611940dd5a57Smrg	    ;;
612040dd5a57Smrg	  *)
612140dd5a57Smrg	    # FIXME: insert proper C++ library support
612240dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
612340dd5a57Smrg	    ;;
612440dd5a57Smrg	esac
612540dd5a57Smrg	;;
612640dd5a57Smrg
612740dd5a57Smrg      netbsd*)
612840dd5a57Smrg        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
612940dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
613040dd5a57Smrg	  wlarc=
613140dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
613240dd5a57Smrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
613340dd5a57Smrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
613440dd5a57Smrg	fi
613540dd5a57Smrg	# Workaround some broken pre-1.5 toolchains
613640dd5a57Smrg	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
613740dd5a57Smrg	;;
613840dd5a57Smrg
613940dd5a57Smrg      *nto* | *qnx*)
614040dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=yes
614140dd5a57Smrg	;;
614240dd5a57Smrg
614340dd5a57Smrg      openbsd2*)
614440dd5a57Smrg        # C++ shared libraries are fairly broken
614540dd5a57Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
614640dd5a57Smrg	;;
614740dd5a57Smrg
614840dd5a57Smrg      openbsd*)
614940dd5a57Smrg	if test -f /usr/libexec/ld.so; then
615040dd5a57Smrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
615140dd5a57Smrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
615240dd5a57Smrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
615340dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
615440dd5a57Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
615540dd5a57Smrg	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
615640dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
615740dd5a57Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
615840dd5a57Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
615940dd5a57Smrg	  fi
616040dd5a57Smrg	  output_verbose_link_cmd=func_echo_all
616140dd5a57Smrg	else
616240dd5a57Smrg	  _LT_TAGVAR(ld_shlibs, $1)=no
616340dd5a57Smrg	fi
616440dd5a57Smrg	;;
616540dd5a57Smrg
616640dd5a57Smrg      osf3* | osf4* | osf5*)
616740dd5a57Smrg        case $cc_basename in
616840dd5a57Smrg          KCC*)
616940dd5a57Smrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
617040dd5a57Smrg
617140dd5a57Smrg	    # KCC will only create a shared library if the output file
617240dd5a57Smrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
617340dd5a57Smrg	    # to its proper name (with version) after linking.
617440dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
617540dd5a57Smrg
617640dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
617740dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
617840dd5a57Smrg
617940dd5a57Smrg	    # Archives containing C++ object files must be created using
618040dd5a57Smrg	    # the KAI C++ compiler.
618140dd5a57Smrg	    case $host in
618240dd5a57Smrg	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
618340dd5a57Smrg	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
618440dd5a57Smrg	    esac
618540dd5a57Smrg	    ;;
618640dd5a57Smrg          RCC*)
618740dd5a57Smrg	    # Rational C++ 2.4.1
618840dd5a57Smrg	    # FIXME: insert proper C++ library support
618940dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
619040dd5a57Smrg	    ;;
619140dd5a57Smrg          cxx*)
619240dd5a57Smrg	    case $host in
619340dd5a57Smrg	      osf3*)
619440dd5a57Smrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
619540dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
619640dd5a57Smrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
619740dd5a57Smrg		;;
619840dd5a57Smrg	      *)
619940dd5a57Smrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
620040dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
620140dd5a57Smrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
620240dd5a57Smrg	          echo "-hidden">> $lib.exp~
620340dd5a57Smrg	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
620440dd5a57Smrg	          $RM $lib.exp'
620540dd5a57Smrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
620640dd5a57Smrg		;;
620740dd5a57Smrg	    esac
620840dd5a57Smrg
620940dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
621040dd5a57Smrg
621140dd5a57Smrg	    # Commands to make compiler produce verbose output that lists
621240dd5a57Smrg	    # what "hidden" libraries, object files and flags are used when
621340dd5a57Smrg	    # linking a shared library.
621440dd5a57Smrg	    #
621540dd5a57Smrg	    # There doesn't appear to be a way to prevent this compiler from
621640dd5a57Smrg	    # explicitly linking system object files so we need to strip them
621740dd5a57Smrg	    # from the output so that they don't get included in the library
621840dd5a57Smrg	    # dependencies.
621940dd5a57Smrg	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
622040dd5a57Smrg	    ;;
622140dd5a57Smrg	  *)
622240dd5a57Smrg	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
622340dd5a57Smrg	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
622440dd5a57Smrg	      case $host in
622540dd5a57Smrg	        osf3*)
622640dd5a57Smrg	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
622740dd5a57Smrg		  ;;
622840dd5a57Smrg	        *)
622940dd5a57Smrg	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
623040dd5a57Smrg		  ;;
623140dd5a57Smrg	      esac
623240dd5a57Smrg
623340dd5a57Smrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
623440dd5a57Smrg	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
623540dd5a57Smrg
623640dd5a57Smrg	      # Commands to make compiler produce verbose output that lists
623740dd5a57Smrg	      # what "hidden" libraries, object files and flags are used when
623840dd5a57Smrg	      # linking a shared library.
623940dd5a57Smrg	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
624040dd5a57Smrg
624140dd5a57Smrg	    else
624240dd5a57Smrg	      # FIXME: insert proper C++ library support
624340dd5a57Smrg	      _LT_TAGVAR(ld_shlibs, $1)=no
624440dd5a57Smrg	    fi
624540dd5a57Smrg	    ;;
624640dd5a57Smrg        esac
624740dd5a57Smrg        ;;
624840dd5a57Smrg
624940dd5a57Smrg      psos*)
625040dd5a57Smrg        # FIXME: insert proper C++ library support
625140dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
625240dd5a57Smrg        ;;
625340dd5a57Smrg
625440dd5a57Smrg      sunos4*)
625540dd5a57Smrg        case $cc_basename in
625640dd5a57Smrg          CC*)
625740dd5a57Smrg	    # Sun C++ 4.x
625840dd5a57Smrg	    # FIXME: insert proper C++ library support
625940dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
626040dd5a57Smrg	    ;;
626140dd5a57Smrg          lcc*)
626240dd5a57Smrg	    # Lucid
626340dd5a57Smrg	    # FIXME: insert proper C++ library support
626440dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
626540dd5a57Smrg	    ;;
626640dd5a57Smrg          *)
626740dd5a57Smrg	    # FIXME: insert proper C++ library support
626840dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
626940dd5a57Smrg	    ;;
627040dd5a57Smrg        esac
627140dd5a57Smrg        ;;
627240dd5a57Smrg
627340dd5a57Smrg      solaris*)
627440dd5a57Smrg        case $cc_basename in
627540dd5a57Smrg          CC* | sunCC*)
627640dd5a57Smrg	    # Sun C++ 4.2, 5.x and Centerline C++
627740dd5a57Smrg            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
627840dd5a57Smrg	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
627940dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
628040dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
628140dd5a57Smrg	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
628240dd5a57Smrg
628340dd5a57Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
628440dd5a57Smrg	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
628540dd5a57Smrg	    case $host_os in
628640dd5a57Smrg	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
628740dd5a57Smrg	      *)
628840dd5a57Smrg		# The compiler driver will combine and reorder linker options,
628940dd5a57Smrg		# but understands `-z linker_flag'.
629040dd5a57Smrg	        # Supported since Solaris 2.6 (maybe 2.5.1?)
629140dd5a57Smrg		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
629240dd5a57Smrg	        ;;
629340dd5a57Smrg	    esac
629440dd5a57Smrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
629540dd5a57Smrg
629640dd5a57Smrg	    output_verbose_link_cmd='func_echo_all'
629740dd5a57Smrg
629840dd5a57Smrg	    # Archives containing C++ object files must be created using
629940dd5a57Smrg	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
630040dd5a57Smrg	    # necessary to make sure instantiated templates are included
630140dd5a57Smrg	    # in the archive.
630240dd5a57Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
630340dd5a57Smrg	    ;;
630440dd5a57Smrg          gcx*)
630540dd5a57Smrg	    # Green Hills C++ Compiler
630640dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
630740dd5a57Smrg
630840dd5a57Smrg	    # The C++ compiler must be used to create the archive.
630940dd5a57Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
631040dd5a57Smrg	    ;;
631140dd5a57Smrg          *)
631240dd5a57Smrg	    # GNU C++ compiler with Solaris linker
631340dd5a57Smrg	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
631440dd5a57Smrg	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
631540dd5a57Smrg	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
631640dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
631740dd5a57Smrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
631840dd5a57Smrg		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
631940dd5a57Smrg
632040dd5a57Smrg	        # Commands to make compiler produce verbose output that lists
632140dd5a57Smrg	        # what "hidden" libraries, object files and flags are used when
632240dd5a57Smrg	        # linking a shared library.
632340dd5a57Smrg	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
632440dd5a57Smrg	      else
632540dd5a57Smrg	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
632640dd5a57Smrg	        # platform.
632740dd5a57Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
632840dd5a57Smrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
632940dd5a57Smrg		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
633040dd5a57Smrg
633140dd5a57Smrg	        # Commands to make compiler produce verbose output that lists
633240dd5a57Smrg	        # what "hidden" libraries, object files and flags are used when
633340dd5a57Smrg	        # linking a shared library.
633440dd5a57Smrg	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
633540dd5a57Smrg	      fi
633640dd5a57Smrg
633740dd5a57Smrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
633840dd5a57Smrg	      case $host_os in
633940dd5a57Smrg		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
634040dd5a57Smrg		*)
634140dd5a57Smrg		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
634240dd5a57Smrg		  ;;
634340dd5a57Smrg	      esac
634440dd5a57Smrg	    fi
634540dd5a57Smrg	    ;;
634640dd5a57Smrg        esac
634740dd5a57Smrg        ;;
634840dd5a57Smrg
634940dd5a57Smrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
635040dd5a57Smrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
635140dd5a57Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
635240dd5a57Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
635340dd5a57Smrg      runpath_var='LD_RUN_PATH'
635440dd5a57Smrg
635540dd5a57Smrg      case $cc_basename in
635640dd5a57Smrg        CC*)
635740dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
635840dd5a57Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
635940dd5a57Smrg	  ;;
636040dd5a57Smrg	*)
636140dd5a57Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
636240dd5a57Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
636340dd5a57Smrg	  ;;
636440dd5a57Smrg      esac
636540dd5a57Smrg      ;;
636640dd5a57Smrg
636740dd5a57Smrg      sysv5* | sco3.2v5* | sco5v6*)
636840dd5a57Smrg	# Note: We can NOT use -z defs as we might desire, because we do not
636940dd5a57Smrg	# link with -lc, and that would cause any symbols used from libc to
637040dd5a57Smrg	# always be unresolved, which means just about no library would
637140dd5a57Smrg	# ever link correctly.  If we're not using GNU ld we use -z text
637240dd5a57Smrg	# though, which does catch some bad symbols but isn't as heavy-handed
637340dd5a57Smrg	# as -z defs.
637440dd5a57Smrg	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
637540dd5a57Smrg	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
637640dd5a57Smrg	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
637740dd5a57Smrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
637840dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
637940dd5a57Smrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
638040dd5a57Smrg	_LT_TAGVAR(link_all_deplibs, $1)=yes
638140dd5a57Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
638240dd5a57Smrg	runpath_var='LD_RUN_PATH'
638340dd5a57Smrg
638440dd5a57Smrg	case $cc_basename in
638540dd5a57Smrg          CC*)
638640dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
638740dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
638840dd5a57Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
638940dd5a57Smrg	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
639040dd5a57Smrg	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
639140dd5a57Smrg	      '"$_LT_TAGVAR(reload_cmds, $1)"
639240dd5a57Smrg	    ;;
639340dd5a57Smrg	  *)
639440dd5a57Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
639540dd5a57Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
639640dd5a57Smrg	    ;;
639740dd5a57Smrg	esac
639840dd5a57Smrg      ;;
639940dd5a57Smrg
640040dd5a57Smrg      tandem*)
640140dd5a57Smrg        case $cc_basename in
640240dd5a57Smrg          NCC*)
640340dd5a57Smrg	    # NonStop-UX NCC 3.20
640440dd5a57Smrg	    # FIXME: insert proper C++ library support
640540dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
640640dd5a57Smrg	    ;;
640740dd5a57Smrg          *)
640840dd5a57Smrg	    # FIXME: insert proper C++ library support
640940dd5a57Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
641040dd5a57Smrg	    ;;
641140dd5a57Smrg        esac
641240dd5a57Smrg        ;;
641340dd5a57Smrg
641440dd5a57Smrg      vxworks*)
641540dd5a57Smrg        # FIXME: insert proper C++ library support
641640dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
641740dd5a57Smrg        ;;
641840dd5a57Smrg
641940dd5a57Smrg      *)
642040dd5a57Smrg        # FIXME: insert proper C++ library support
642140dd5a57Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
642240dd5a57Smrg        ;;
642340dd5a57Smrg    esac
642440dd5a57Smrg
642540dd5a57Smrg    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
642640dd5a57Smrg    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
642740dd5a57Smrg
642840dd5a57Smrg    _LT_TAGVAR(GCC, $1)="$GXX"
642940dd5a57Smrg    _LT_TAGVAR(LD, $1)="$LD"
643040dd5a57Smrg
643140dd5a57Smrg    ## CAVEAT EMPTOR:
643240dd5a57Smrg    ## There is no encapsulation within the following macros, do not change
643340dd5a57Smrg    ## the running order or otherwise move them around unless you know exactly
643440dd5a57Smrg    ## what you are doing...
643540dd5a57Smrg    _LT_SYS_HIDDEN_LIBDEPS($1)
643640dd5a57Smrg    _LT_COMPILER_PIC($1)
643740dd5a57Smrg    _LT_COMPILER_C_O($1)
643840dd5a57Smrg    _LT_COMPILER_FILE_LOCKS($1)
643940dd5a57Smrg    _LT_LINKER_SHLIBS($1)
644040dd5a57Smrg    _LT_SYS_DYNAMIC_LINKER($1)
644140dd5a57Smrg    _LT_LINKER_HARDCODE_LIBPATH($1)
644240dd5a57Smrg
644340dd5a57Smrg    _LT_CONFIG($1)
644440dd5a57Smrg  fi # test -n "$compiler"
644540dd5a57Smrg
644640dd5a57Smrg  CC=$lt_save_CC
644740dd5a57Smrg  LDCXX=$LD
644840dd5a57Smrg  LD=$lt_save_LD
644940dd5a57Smrg  GCC=$lt_save_GCC
645040dd5a57Smrg  with_gnu_ld=$lt_save_with_gnu_ld
645140dd5a57Smrg  lt_cv_path_LDCXX=$lt_cv_path_LD
645240dd5a57Smrg  lt_cv_path_LD=$lt_save_path_LD
645340dd5a57Smrg  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
645440dd5a57Smrg  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
645540dd5a57Smrgfi # test "$_lt_caught_CXX_error" != yes
645640dd5a57Smrg
645740dd5a57SmrgAC_LANG_POP
645840dd5a57Smrg])# _LT_LANG_CXX_CONFIG
645940dd5a57Smrg
646040dd5a57Smrg
646140dd5a57Smrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
646240dd5a57Smrg# ---------------------------------
646340dd5a57Smrg# Figure out "hidden" library dependencies from verbose
646440dd5a57Smrg# compiler output when linking a shared library.
646540dd5a57Smrg# Parse the compiler output and extract the necessary
646640dd5a57Smrg# objects, libraries and library flags.
646740dd5a57Smrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
646840dd5a57Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
646940dd5a57Smrg# Dependencies to place before and after the object being linked:
647040dd5a57Smrg_LT_TAGVAR(predep_objects, $1)=
647140dd5a57Smrg_LT_TAGVAR(postdep_objects, $1)=
647240dd5a57Smrg_LT_TAGVAR(predeps, $1)=
647340dd5a57Smrg_LT_TAGVAR(postdeps, $1)=
647440dd5a57Smrg_LT_TAGVAR(compiler_lib_search_path, $1)=
647540dd5a57Smrg
647640dd5a57Smrgdnl we can't use the lt_simple_compile_test_code here,
647740dd5a57Smrgdnl because it contains code intended for an executable,
647840dd5a57Smrgdnl not a library.  It's possible we should let each
647940dd5a57Smrgdnl tag define a new lt_????_link_test_code variable,
648040dd5a57Smrgdnl but it's only used here...
648140dd5a57Smrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
648240dd5a57Smrgint a;
648340dd5a57Smrgvoid foo (void) { a = 0; }
648440dd5a57Smrg_LT_EOF
648540dd5a57Smrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
648640dd5a57Smrgclass Foo
648740dd5a57Smrg{
648840dd5a57Smrgpublic:
648940dd5a57Smrg  Foo (void) { a = 0; }
649040dd5a57Smrgprivate:
649140dd5a57Smrg  int a;
649240dd5a57Smrg};
649340dd5a57Smrg_LT_EOF
649440dd5a57Smrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
649540dd5a57Smrg      subroutine foo
649640dd5a57Smrg      implicit none
649740dd5a57Smrg      integer*4 a
649840dd5a57Smrg      a=0
649940dd5a57Smrg      return
650040dd5a57Smrg      end
650140dd5a57Smrg_LT_EOF
650240dd5a57Smrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
650340dd5a57Smrg      subroutine foo
650440dd5a57Smrg      implicit none
650540dd5a57Smrg      integer a
650640dd5a57Smrg      a=0
650740dd5a57Smrg      return
650840dd5a57Smrg      end
650940dd5a57Smrg_LT_EOF
651040dd5a57Smrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
651140dd5a57Smrgpublic class foo {
651240dd5a57Smrg  private int a;
651340dd5a57Smrg  public void bar (void) {
651440dd5a57Smrg    a = 0;
651540dd5a57Smrg  }
651640dd5a57Smrg};
651740dd5a57Smrg_LT_EOF
651840dd5a57Smrg])
651940dd5a57Smrgdnl Parse the compiler output and extract the necessary
652040dd5a57Smrgdnl objects, libraries and library flags.
652140dd5a57Smrgif AC_TRY_EVAL(ac_compile); then
652240dd5a57Smrg  # Parse the compiler output and extract the necessary
652340dd5a57Smrg  # objects, libraries and library flags.
652440dd5a57Smrg
652540dd5a57Smrg  # Sentinel used to keep track of whether or not we are before
652640dd5a57Smrg  # the conftest object file.
652740dd5a57Smrg  pre_test_object_deps_done=no
652840dd5a57Smrg
652940dd5a57Smrg  for p in `eval "$output_verbose_link_cmd"`; do
653040dd5a57Smrg    case $p in
653140dd5a57Smrg
653240dd5a57Smrg    -L* | -R* | -l*)
653340dd5a57Smrg       # Some compilers place space between "-{L,R}" and the path.
653440dd5a57Smrg       # Remove the space.
653540dd5a57Smrg       if test $p = "-L" ||
653640dd5a57Smrg          test $p = "-R"; then
653740dd5a57Smrg	 prev=$p
653840dd5a57Smrg	 continue
653940dd5a57Smrg       else
654040dd5a57Smrg	 prev=
654140dd5a57Smrg       fi
654240dd5a57Smrg
654340dd5a57Smrg       if test "$pre_test_object_deps_done" = no; then
654440dd5a57Smrg	 case $p in
654540dd5a57Smrg	 -L* | -R*)
654640dd5a57Smrg	   # Internal compiler library paths should come after those
654740dd5a57Smrg	   # provided the user.  The postdeps already come after the
654840dd5a57Smrg	   # user supplied libs so there is no need to process them.
654940dd5a57Smrg	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
655040dd5a57Smrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
655140dd5a57Smrg	   else
655240dd5a57Smrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
655340dd5a57Smrg	   fi
655440dd5a57Smrg	   ;;
655540dd5a57Smrg	 # The "-l" case would never come before the object being
655640dd5a57Smrg	 # linked, so don't bother handling this case.
655740dd5a57Smrg	 esac
655840dd5a57Smrg       else
655940dd5a57Smrg	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
656040dd5a57Smrg	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
656140dd5a57Smrg	 else
656240dd5a57Smrg	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
656340dd5a57Smrg	 fi
656440dd5a57Smrg       fi
656540dd5a57Smrg       ;;
656640dd5a57Smrg
656740dd5a57Smrg    *.$objext)
656840dd5a57Smrg       # This assumes that the test object file only shows up
656940dd5a57Smrg       # once in the compiler output.
657040dd5a57Smrg       if test "$p" = "conftest.$objext"; then
657140dd5a57Smrg	 pre_test_object_deps_done=yes
657240dd5a57Smrg	 continue
657340dd5a57Smrg       fi
657440dd5a57Smrg
657540dd5a57Smrg       if test "$pre_test_object_deps_done" = no; then
657640dd5a57Smrg	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
657740dd5a57Smrg	   _LT_TAGVAR(predep_objects, $1)="$p"
657840dd5a57Smrg	 else
657940dd5a57Smrg	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
658040dd5a57Smrg	 fi
658140dd5a57Smrg       else
658240dd5a57Smrg	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
658340dd5a57Smrg	   _LT_TAGVAR(postdep_objects, $1)="$p"
658440dd5a57Smrg	 else
658540dd5a57Smrg	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
658640dd5a57Smrg	 fi
658740dd5a57Smrg       fi
658840dd5a57Smrg       ;;
658940dd5a57Smrg
659040dd5a57Smrg    *) ;; # Ignore the rest.
659140dd5a57Smrg
659240dd5a57Smrg    esac
659340dd5a57Smrg  done
659440dd5a57Smrg
659540dd5a57Smrg  # Clean up.
659640dd5a57Smrg  rm -f a.out a.exe
659740dd5a57Smrgelse
659840dd5a57Smrg  echo "libtool.m4: error: problem compiling $1 test program"
659940dd5a57Smrgfi
660040dd5a57Smrg
660140dd5a57Smrg$RM -f confest.$objext
660240dd5a57Smrg
660340dd5a57Smrg# PORTME: override above test on systems where it is broken
660440dd5a57Smrgm4_if([$1], [CXX],
660540dd5a57Smrg[case $host_os in
660640dd5a57Smrginterix[[3-9]]*)
660740dd5a57Smrg  # Interix 3.5 installs completely hosed .la files for C++, so rather than
660840dd5a57Smrg  # hack all around it, let's just trust "g++" to DTRT.
660940dd5a57Smrg  _LT_TAGVAR(predep_objects,$1)=
661040dd5a57Smrg  _LT_TAGVAR(postdep_objects,$1)=
661140dd5a57Smrg  _LT_TAGVAR(postdeps,$1)=
661240dd5a57Smrg  ;;
661340dd5a57Smrg
661440dd5a57Smrglinux*)
661540dd5a57Smrg  case `$CC -V 2>&1 | sed 5q` in
661640dd5a57Smrg  *Sun\ C*)
661740dd5a57Smrg    # Sun C++ 5.9
661840dd5a57Smrg
661940dd5a57Smrg    # The more standards-conforming stlport4 library is
662040dd5a57Smrg    # incompatible with the Cstd library. Avoid specifying
662140dd5a57Smrg    # it if it's in CXXFLAGS. Ignore libCrun as
662240dd5a57Smrg    # -library=stlport4 depends on it.
662340dd5a57Smrg    case " $CXX $CXXFLAGS " in
662440dd5a57Smrg    *" -library=stlport4 "*)
662540dd5a57Smrg      solaris_use_stlport4=yes
662640dd5a57Smrg      ;;
662740dd5a57Smrg    esac
662840dd5a57Smrg
662940dd5a57Smrg    if test "$solaris_use_stlport4" != yes; then
663040dd5a57Smrg      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
663140dd5a57Smrg    fi
663240dd5a57Smrg    ;;
663340dd5a57Smrg  esac
663440dd5a57Smrg  ;;
663540dd5a57Smrg
663640dd5a57Smrgsolaris*)
663740dd5a57Smrg  case $cc_basename in
663840dd5a57Smrg  CC* | sunCC*)
663940dd5a57Smrg    # The more standards-conforming stlport4 library is
664040dd5a57Smrg    # incompatible with the Cstd library. Avoid specifying
664140dd5a57Smrg    # it if it's in CXXFLAGS. Ignore libCrun as
664240dd5a57Smrg    # -library=stlport4 depends on it.
664340dd5a57Smrg    case " $CXX $CXXFLAGS " in
664440dd5a57Smrg    *" -library=stlport4 "*)
664540dd5a57Smrg      solaris_use_stlport4=yes
664640dd5a57Smrg      ;;
664740dd5a57Smrg    esac
664840dd5a57Smrg
664940dd5a57Smrg    # Adding this requires a known-good setup of shared libraries for
665040dd5a57Smrg    # Sun compiler versions before 5.6, else PIC objects from an old
665140dd5a57Smrg    # archive will be linked into the output, leading to subtle bugs.
665240dd5a57Smrg    if test "$solaris_use_stlport4" != yes; then
665340dd5a57Smrg      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
665440dd5a57Smrg    fi
665540dd5a57Smrg    ;;
665640dd5a57Smrg  esac
665740dd5a57Smrg  ;;
665840dd5a57Smrgesac
665940dd5a57Smrg])
666040dd5a57Smrg
666140dd5a57Smrgcase " $_LT_TAGVAR(postdeps, $1) " in
666240dd5a57Smrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
666340dd5a57Smrgesac
666440dd5a57Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
666540dd5a57Smrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
666640dd5a57Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
666740dd5a57Smrgfi
666840dd5a57Smrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
666940dd5a57Smrg    [The directories searched by this compiler when creating a shared library])
667040dd5a57Smrg_LT_TAGDECL([], [predep_objects], [1],
667140dd5a57Smrg    [Dependencies to place before and after the objects being linked to
667240dd5a57Smrg    create a shared library])
667340dd5a57Smrg_LT_TAGDECL([], [postdep_objects], [1])
667440dd5a57Smrg_LT_TAGDECL([], [predeps], [1])
667540dd5a57Smrg_LT_TAGDECL([], [postdeps], [1])
667640dd5a57Smrg_LT_TAGDECL([], [compiler_lib_search_path], [1],
667740dd5a57Smrg    [The library search path used internally by the compiler when linking
667840dd5a57Smrg    a shared library])
667940dd5a57Smrg])# _LT_SYS_HIDDEN_LIBDEPS
668040dd5a57Smrg
668140dd5a57Smrg
668240dd5a57Smrg# _LT_LANG_F77_CONFIG([TAG])
668340dd5a57Smrg# --------------------------
668440dd5a57Smrg# Ensure that the configuration variables for a Fortran 77 compiler are
668540dd5a57Smrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
668640dd5a57Smrg# to write the compiler configuration to `libtool'.
668740dd5a57Smrgm4_defun([_LT_LANG_F77_CONFIG],
668840dd5a57Smrg[AC_LANG_PUSH(Fortran 77)
668940dd5a57Smrgif test -z "$F77" || test "X$F77" = "Xno"; then
669040dd5a57Smrg  _lt_disable_F77=yes
669140dd5a57Smrgfi
669240dd5a57Smrg
669340dd5a57Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
669440dd5a57Smrg_LT_TAGVAR(allow_undefined_flag, $1)=
669540dd5a57Smrg_LT_TAGVAR(always_export_symbols, $1)=no
669640dd5a57Smrg_LT_TAGVAR(archive_expsym_cmds, $1)=
669740dd5a57Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
669840dd5a57Smrg_LT_TAGVAR(hardcode_direct, $1)=no
669940dd5a57Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
670040dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
670140dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
670240dd5a57Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
670340dd5a57Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no
670440dd5a57Smrg_LT_TAGVAR(hardcode_automatic, $1)=no
670540dd5a57Smrg_LT_TAGVAR(inherit_rpath, $1)=no
670640dd5a57Smrg_LT_TAGVAR(module_cmds, $1)=
670740dd5a57Smrg_LT_TAGVAR(module_expsym_cmds, $1)=
670840dd5a57Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
670940dd5a57Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
671040dd5a57Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
671140dd5a57Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
671240dd5a57Smrg_LT_TAGVAR(no_undefined_flag, $1)=
671340dd5a57Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
671440dd5a57Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
671540dd5a57Smrg
671640dd5a57Smrg# Source file extension for f77 test sources.
671740dd5a57Smrgac_ext=f
671840dd5a57Smrg
671940dd5a57Smrg# Object file extension for compiled f77 test sources.
672040dd5a57Smrgobjext=o
672140dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext
672240dd5a57Smrg
672340dd5a57Smrg# No sense in running all these tests if we already determined that
672440dd5a57Smrg# the F77 compiler isn't working.  Some variables (like enable_shared)
672540dd5a57Smrg# are currently assumed to apply to all compilers on this platform,
672640dd5a57Smrg# and will be corrupted by setting them based on a non-working compiler.
672740dd5a57Smrgif test "$_lt_disable_F77" != yes; then
672840dd5a57Smrg  # Code to be used in simple compile tests
672940dd5a57Smrg  lt_simple_compile_test_code="\
673040dd5a57Smrg      subroutine t
673140dd5a57Smrg      return
673240dd5a57Smrg      end
673340dd5a57Smrg"
673440dd5a57Smrg
673540dd5a57Smrg  # Code to be used in simple link tests
673640dd5a57Smrg  lt_simple_link_test_code="\
673740dd5a57Smrg      program t
673840dd5a57Smrg      end
673940dd5a57Smrg"
674040dd5a57Smrg
674140dd5a57Smrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
674240dd5a57Smrg  _LT_TAG_COMPILER
674340dd5a57Smrg
674440dd5a57Smrg  # save warnings/boilerplate of simple test code
674540dd5a57Smrg  _LT_COMPILER_BOILERPLATE
674640dd5a57Smrg  _LT_LINKER_BOILERPLATE
674740dd5a57Smrg
674840dd5a57Smrg  # Allow CC to be a program name with arguments.
674940dd5a57Smrg  lt_save_CC="$CC"
675040dd5a57Smrg  lt_save_GCC=$GCC
675140dd5a57Smrg  CC=${F77-"f77"}
675240dd5a57Smrg  compiler=$CC
675340dd5a57Smrg  _LT_TAGVAR(compiler, $1)=$CC
675440dd5a57Smrg  _LT_CC_BASENAME([$compiler])
675540dd5a57Smrg  GCC=$G77
675640dd5a57Smrg  if test -n "$compiler"; then
675740dd5a57Smrg    AC_MSG_CHECKING([if libtool supports shared libraries])
675840dd5a57Smrg    AC_MSG_RESULT([$can_build_shared])
675940dd5a57Smrg
676040dd5a57Smrg    AC_MSG_CHECKING([whether to build shared libraries])
676140dd5a57Smrg    test "$can_build_shared" = "no" && enable_shared=no
676240dd5a57Smrg
676340dd5a57Smrg    # On AIX, shared libraries and static libraries use the same namespace, and
676440dd5a57Smrg    # are all built from PIC.
676540dd5a57Smrg    case $host_os in
676640dd5a57Smrg      aix3*)
676740dd5a57Smrg        test "$enable_shared" = yes && enable_static=no
676840dd5a57Smrg        if test -n "$RANLIB"; then
676940dd5a57Smrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
677040dd5a57Smrg          postinstall_cmds='$RANLIB $lib'
677140dd5a57Smrg        fi
677240dd5a57Smrg        ;;
677340dd5a57Smrg      aix[[4-9]]*)
677440dd5a57Smrg	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
677540dd5a57Smrg	  test "$enable_shared" = yes && enable_static=no
677640dd5a57Smrg	fi
677740dd5a57Smrg        ;;
677840dd5a57Smrg    esac
677940dd5a57Smrg    AC_MSG_RESULT([$enable_shared])
678040dd5a57Smrg
678140dd5a57Smrg    AC_MSG_CHECKING([whether to build static libraries])
678240dd5a57Smrg    # Make sure either enable_shared or enable_static is yes.
678340dd5a57Smrg    test "$enable_shared" = yes || enable_static=yes
678440dd5a57Smrg    AC_MSG_RESULT([$enable_static])
678540dd5a57Smrg
678640dd5a57Smrg    _LT_TAGVAR(GCC, $1)="$G77"
678740dd5a57Smrg    _LT_TAGVAR(LD, $1)="$LD"
678840dd5a57Smrg
678940dd5a57Smrg    ## CAVEAT EMPTOR:
679040dd5a57Smrg    ## There is no encapsulation within the following macros, do not change
679140dd5a57Smrg    ## the running order or otherwise move them around unless you know exactly
679240dd5a57Smrg    ## what you are doing...
679340dd5a57Smrg    _LT_COMPILER_PIC($1)
679440dd5a57Smrg    _LT_COMPILER_C_O($1)
679540dd5a57Smrg    _LT_COMPILER_FILE_LOCKS($1)
679640dd5a57Smrg    _LT_LINKER_SHLIBS($1)
679740dd5a57Smrg    _LT_SYS_DYNAMIC_LINKER($1)
679840dd5a57Smrg    _LT_LINKER_HARDCODE_LIBPATH($1)
679940dd5a57Smrg
680040dd5a57Smrg    _LT_CONFIG($1)
680140dd5a57Smrg  fi # test -n "$compiler"
680240dd5a57Smrg
680340dd5a57Smrg  GCC=$lt_save_GCC
680440dd5a57Smrg  CC="$lt_save_CC"
680540dd5a57Smrgfi # test "$_lt_disable_F77" != yes
680640dd5a57Smrg
680740dd5a57SmrgAC_LANG_POP
680840dd5a57Smrg])# _LT_LANG_F77_CONFIG
680940dd5a57Smrg
681040dd5a57Smrg
681140dd5a57Smrg# _LT_LANG_FC_CONFIG([TAG])
681240dd5a57Smrg# -------------------------
681340dd5a57Smrg# Ensure that the configuration variables for a Fortran compiler are
681440dd5a57Smrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
681540dd5a57Smrg# to write the compiler configuration to `libtool'.
681640dd5a57Smrgm4_defun([_LT_LANG_FC_CONFIG],
681740dd5a57Smrg[AC_LANG_PUSH(Fortran)
681840dd5a57Smrg
681940dd5a57Smrgif test -z "$FC" || test "X$FC" = "Xno"; then
682040dd5a57Smrg  _lt_disable_FC=yes
682140dd5a57Smrgfi
682240dd5a57Smrg
682340dd5a57Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
682440dd5a57Smrg_LT_TAGVAR(allow_undefined_flag, $1)=
682540dd5a57Smrg_LT_TAGVAR(always_export_symbols, $1)=no
682640dd5a57Smrg_LT_TAGVAR(archive_expsym_cmds, $1)=
682740dd5a57Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
682840dd5a57Smrg_LT_TAGVAR(hardcode_direct, $1)=no
682940dd5a57Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
683040dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
683140dd5a57Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
683240dd5a57Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
683340dd5a57Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no
683440dd5a57Smrg_LT_TAGVAR(hardcode_automatic, $1)=no
683540dd5a57Smrg_LT_TAGVAR(inherit_rpath, $1)=no
683640dd5a57Smrg_LT_TAGVAR(module_cmds, $1)=
683740dd5a57Smrg_LT_TAGVAR(module_expsym_cmds, $1)=
683840dd5a57Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
683940dd5a57Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
684040dd5a57Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
684140dd5a57Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
684240dd5a57Smrg_LT_TAGVAR(no_undefined_flag, $1)=
684340dd5a57Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
684440dd5a57Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
684540dd5a57Smrg
684640dd5a57Smrg# Source file extension for fc test sources.
684740dd5a57Smrgac_ext=${ac_fc_srcext-f}
684840dd5a57Smrg
684940dd5a57Smrg# Object file extension for compiled fc test sources.
685040dd5a57Smrgobjext=o
685140dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext
685240dd5a57Smrg
685340dd5a57Smrg# No sense in running all these tests if we already determined that
685440dd5a57Smrg# the FC compiler isn't working.  Some variables (like enable_shared)
685540dd5a57Smrg# are currently assumed to apply to all compilers on this platform,
685640dd5a57Smrg# and will be corrupted by setting them based on a non-working compiler.
685740dd5a57Smrgif test "$_lt_disable_FC" != yes; then
685840dd5a57Smrg  # Code to be used in simple compile tests
685940dd5a57Smrg  lt_simple_compile_test_code="\
686040dd5a57Smrg      subroutine t
686140dd5a57Smrg      return
686240dd5a57Smrg      end
686340dd5a57Smrg"
686440dd5a57Smrg
686540dd5a57Smrg  # Code to be used in simple link tests
686640dd5a57Smrg  lt_simple_link_test_code="\
686740dd5a57Smrg      program t
686840dd5a57Smrg      end
686940dd5a57Smrg"
687040dd5a57Smrg
687140dd5a57Smrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
687240dd5a57Smrg  _LT_TAG_COMPILER
687340dd5a57Smrg
687440dd5a57Smrg  # save warnings/boilerplate of simple test code
687540dd5a57Smrg  _LT_COMPILER_BOILERPLATE
687640dd5a57Smrg  _LT_LINKER_BOILERPLATE
687740dd5a57Smrg
687840dd5a57Smrg  # Allow CC to be a program name with arguments.
687940dd5a57Smrg  lt_save_CC="$CC"
688040dd5a57Smrg  lt_save_GCC=$GCC
688140dd5a57Smrg  CC=${FC-"f95"}
688240dd5a57Smrg  compiler=$CC
688340dd5a57Smrg  GCC=$ac_cv_fc_compiler_gnu
688440dd5a57Smrg
688540dd5a57Smrg  _LT_TAGVAR(compiler, $1)=$CC
688640dd5a57Smrg  _LT_CC_BASENAME([$compiler])
688740dd5a57Smrg
688840dd5a57Smrg  if test -n "$compiler"; then
688940dd5a57Smrg    AC_MSG_CHECKING([if libtool supports shared libraries])
689040dd5a57Smrg    AC_MSG_RESULT([$can_build_shared])
689140dd5a57Smrg
689240dd5a57Smrg    AC_MSG_CHECKING([whether to build shared libraries])
689340dd5a57Smrg    test "$can_build_shared" = "no" && enable_shared=no
689440dd5a57Smrg
689540dd5a57Smrg    # On AIX, shared libraries and static libraries use the same namespace, and
689640dd5a57Smrg    # are all built from PIC.
689740dd5a57Smrg    case $host_os in
689840dd5a57Smrg      aix3*)
689940dd5a57Smrg        test "$enable_shared" = yes && enable_static=no
690040dd5a57Smrg        if test -n "$RANLIB"; then
690140dd5a57Smrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
690240dd5a57Smrg          postinstall_cmds='$RANLIB $lib'
690340dd5a57Smrg        fi
690440dd5a57Smrg        ;;
690540dd5a57Smrg      aix[[4-9]]*)
690640dd5a57Smrg	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
690740dd5a57Smrg	  test "$enable_shared" = yes && enable_static=no
690840dd5a57Smrg	fi
690940dd5a57Smrg        ;;
691040dd5a57Smrg    esac
691140dd5a57Smrg    AC_MSG_RESULT([$enable_shared])
691240dd5a57Smrg
691340dd5a57Smrg    AC_MSG_CHECKING([whether to build static libraries])
691440dd5a57Smrg    # Make sure either enable_shared or enable_static is yes.
691540dd5a57Smrg    test "$enable_shared" = yes || enable_static=yes
691640dd5a57Smrg    AC_MSG_RESULT([$enable_static])
691740dd5a57Smrg
691840dd5a57Smrg    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
691940dd5a57Smrg    _LT_TAGVAR(LD, $1)="$LD"
692040dd5a57Smrg
692140dd5a57Smrg    ## CAVEAT EMPTOR:
692240dd5a57Smrg    ## There is no encapsulation within the following macros, do not change
692340dd5a57Smrg    ## the running order or otherwise move them around unless you know exactly
692440dd5a57Smrg    ## what you are doing...
692540dd5a57Smrg    _LT_SYS_HIDDEN_LIBDEPS($1)
692640dd5a57Smrg    _LT_COMPILER_PIC($1)
692740dd5a57Smrg    _LT_COMPILER_C_O($1)
692840dd5a57Smrg    _LT_COMPILER_FILE_LOCKS($1)
692940dd5a57Smrg    _LT_LINKER_SHLIBS($1)
693040dd5a57Smrg    _LT_SYS_DYNAMIC_LINKER($1)
693140dd5a57Smrg    _LT_LINKER_HARDCODE_LIBPATH($1)
693240dd5a57Smrg
693340dd5a57Smrg    _LT_CONFIG($1)
693440dd5a57Smrg  fi # test -n "$compiler"
693540dd5a57Smrg
693640dd5a57Smrg  GCC=$lt_save_GCC
693740dd5a57Smrg  CC="$lt_save_CC"
693840dd5a57Smrgfi # test "$_lt_disable_FC" != yes
693940dd5a57Smrg
694040dd5a57SmrgAC_LANG_POP
694140dd5a57Smrg])# _LT_LANG_FC_CONFIG
694240dd5a57Smrg
694340dd5a57Smrg
694440dd5a57Smrg# _LT_LANG_GCJ_CONFIG([TAG])
694540dd5a57Smrg# --------------------------
694640dd5a57Smrg# Ensure that the configuration variables for the GNU Java Compiler compiler
694740dd5a57Smrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
694840dd5a57Smrg# to write the compiler configuration to `libtool'.
694940dd5a57Smrgm4_defun([_LT_LANG_GCJ_CONFIG],
695040dd5a57Smrg[AC_REQUIRE([LT_PROG_GCJ])dnl
695140dd5a57SmrgAC_LANG_SAVE
695240dd5a57Smrg
695340dd5a57Smrg# Source file extension for Java test sources.
695440dd5a57Smrgac_ext=java
695540dd5a57Smrg
695640dd5a57Smrg# Object file extension for compiled Java test sources.
695740dd5a57Smrgobjext=o
695840dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext
695940dd5a57Smrg
696040dd5a57Smrg# Code to be used in simple compile tests
696140dd5a57Smrglt_simple_compile_test_code="class foo {}"
696240dd5a57Smrg
696340dd5a57Smrg# Code to be used in simple link tests
696440dd5a57Smrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
696540dd5a57Smrg
696640dd5a57Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
696740dd5a57Smrg_LT_TAG_COMPILER
696840dd5a57Smrg
696940dd5a57Smrg# save warnings/boilerplate of simple test code
697040dd5a57Smrg_LT_COMPILER_BOILERPLATE
697140dd5a57Smrg_LT_LINKER_BOILERPLATE
697240dd5a57Smrg
697340dd5a57Smrg# Allow CC to be a program name with arguments.
697440dd5a57Smrglt_save_CC="$CC"
697540dd5a57Smrglt_save_GCC=$GCC
697640dd5a57SmrgGCC=yes
697740dd5a57SmrgCC=${GCJ-"gcj"}
697840dd5a57Smrgcompiler=$CC
697940dd5a57Smrg_LT_TAGVAR(compiler, $1)=$CC
698040dd5a57Smrg_LT_TAGVAR(LD, $1)="$LD"
698140dd5a57Smrg_LT_CC_BASENAME([$compiler])
698240dd5a57Smrg
698340dd5a57Smrg# GCJ did not exist at the time GCC didn't implicitly link libc in.
698440dd5a57Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
698540dd5a57Smrg
698640dd5a57Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
698740dd5a57Smrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
698840dd5a57Smrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
698940dd5a57Smrg
699040dd5a57Smrgif test -n "$compiler"; then
699140dd5a57Smrg  _LT_COMPILER_NO_RTTI($1)
699240dd5a57Smrg  _LT_COMPILER_PIC($1)
699340dd5a57Smrg  _LT_COMPILER_C_O($1)
699440dd5a57Smrg  _LT_COMPILER_FILE_LOCKS($1)
699540dd5a57Smrg  _LT_LINKER_SHLIBS($1)
699640dd5a57Smrg  _LT_LINKER_HARDCODE_LIBPATH($1)
699740dd5a57Smrg
699840dd5a57Smrg  _LT_CONFIG($1)
699940dd5a57Smrgfi
700040dd5a57Smrg
700140dd5a57SmrgAC_LANG_RESTORE
700240dd5a57Smrg
700340dd5a57SmrgGCC=$lt_save_GCC
700440dd5a57SmrgCC="$lt_save_CC"
700540dd5a57Smrg])# _LT_LANG_GCJ_CONFIG
700640dd5a57Smrg
700740dd5a57Smrg
700840dd5a57Smrg# _LT_LANG_RC_CONFIG([TAG])
700940dd5a57Smrg# -------------------------
701040dd5a57Smrg# Ensure that the configuration variables for the Windows resource compiler
701140dd5a57Smrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
701240dd5a57Smrg# to write the compiler configuration to `libtool'.
701340dd5a57Smrgm4_defun([_LT_LANG_RC_CONFIG],
701440dd5a57Smrg[AC_REQUIRE([LT_PROG_RC])dnl
701540dd5a57SmrgAC_LANG_SAVE
701640dd5a57Smrg
701740dd5a57Smrg# Source file extension for RC test sources.
701840dd5a57Smrgac_ext=rc
701940dd5a57Smrg
702040dd5a57Smrg# Object file extension for compiled RC test sources.
702140dd5a57Smrgobjext=o
702240dd5a57Smrg_LT_TAGVAR(objext, $1)=$objext
702340dd5a57Smrg
702440dd5a57Smrg# Code to be used in simple compile tests
702540dd5a57Smrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
702640dd5a57Smrg
702740dd5a57Smrg# Code to be used in simple link tests
702840dd5a57Smrglt_simple_link_test_code="$lt_simple_compile_test_code"
702940dd5a57Smrg
703040dd5a57Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
703140dd5a57Smrg_LT_TAG_COMPILER
703240dd5a57Smrg
703340dd5a57Smrg# save warnings/boilerplate of simple test code
703440dd5a57Smrg_LT_COMPILER_BOILERPLATE
703540dd5a57Smrg_LT_LINKER_BOILERPLATE
703640dd5a57Smrg
703740dd5a57Smrg# Allow CC to be a program name with arguments.
703840dd5a57Smrglt_save_CC="$CC"
703940dd5a57Smrglt_save_GCC=$GCC
704040dd5a57SmrgGCC=
704140dd5a57SmrgCC=${RC-"windres"}
704240dd5a57Smrgcompiler=$CC
704340dd5a57Smrg_LT_TAGVAR(compiler, $1)=$CC
704440dd5a57Smrg_LT_CC_BASENAME([$compiler])
704540dd5a57Smrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
704640dd5a57Smrg
704740dd5a57Smrgif test -n "$compiler"; then
704840dd5a57Smrg  :
704940dd5a57Smrg  _LT_CONFIG($1)
705040dd5a57Smrgfi
705140dd5a57Smrg
705240dd5a57SmrgGCC=$lt_save_GCC
705340dd5a57SmrgAC_LANG_RESTORE
705440dd5a57SmrgCC="$lt_save_CC"
705540dd5a57Smrg])# _LT_LANG_RC_CONFIG
705640dd5a57Smrg
705740dd5a57Smrg
705840dd5a57Smrg# LT_PROG_GCJ
705940dd5a57Smrg# -----------
706040dd5a57SmrgAC_DEFUN([LT_PROG_GCJ],
706140dd5a57Smrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
706240dd5a57Smrg  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
706340dd5a57Smrg    [AC_CHECK_TOOL(GCJ, gcj,)
706440dd5a57Smrg      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
706540dd5a57Smrg      AC_SUBST(GCJFLAGS)])])[]dnl
706640dd5a57Smrg])
706740dd5a57Smrg
706840dd5a57Smrg# Old name:
706940dd5a57SmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
707040dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
707140dd5a57Smrgdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
707240dd5a57Smrg
707340dd5a57Smrg
707440dd5a57Smrg# LT_PROG_RC
707540dd5a57Smrg# ----------
707640dd5a57SmrgAC_DEFUN([LT_PROG_RC],
707740dd5a57Smrg[AC_CHECK_TOOL(RC, windres,)
707840dd5a57Smrg])
707940dd5a57Smrg
708040dd5a57Smrg# Old name:
708140dd5a57SmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
708240dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
708340dd5a57Smrgdnl AC_DEFUN([LT_AC_PROG_RC], [])
708440dd5a57Smrg
708540dd5a57Smrg
708640dd5a57Smrg# _LT_DECL_EGREP
708740dd5a57Smrg# --------------
708840dd5a57Smrg# If we don't have a new enough Autoconf to choose the best grep
708940dd5a57Smrg# available, choose the one first in the user's PATH.
709040dd5a57Smrgm4_defun([_LT_DECL_EGREP],
709140dd5a57Smrg[AC_REQUIRE([AC_PROG_EGREP])dnl
709240dd5a57SmrgAC_REQUIRE([AC_PROG_FGREP])dnl
709340dd5a57Smrgtest -z "$GREP" && GREP=grep
709440dd5a57Smrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
709540dd5a57Smrg_LT_DECL([], [EGREP], [1], [An ERE matcher])
709640dd5a57Smrg_LT_DECL([], [FGREP], [1], [A literal string matcher])
709740dd5a57Smrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
709840dd5a57SmrgAC_SUBST([GREP])
709940dd5a57Smrg])
710040dd5a57Smrg
710140dd5a57Smrg
710240dd5a57Smrg# _LT_DECL_OBJDUMP
710340dd5a57Smrg# --------------
710440dd5a57Smrg# If we don't have a new enough Autoconf to choose the best objdump
710540dd5a57Smrg# available, choose the one first in the user's PATH.
710640dd5a57Smrgm4_defun([_LT_DECL_OBJDUMP],
710740dd5a57Smrg[AC_CHECK_TOOL(OBJDUMP, objdump, false)
710840dd5a57Smrgtest -z "$OBJDUMP" && OBJDUMP=objdump
710940dd5a57Smrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
711040dd5a57SmrgAC_SUBST([OBJDUMP])
711140dd5a57Smrg])
711240dd5a57Smrg
711340dd5a57Smrg
711440dd5a57Smrg# _LT_DECL_SED
711540dd5a57Smrg# ------------
711640dd5a57Smrg# Check for a fully-functional sed program, that truncates
711740dd5a57Smrg# as few characters as possible.  Prefer GNU sed if found.
711840dd5a57Smrgm4_defun([_LT_DECL_SED],
711940dd5a57Smrg[AC_PROG_SED
712040dd5a57Smrgtest -z "$SED" && SED=sed
712140dd5a57SmrgXsed="$SED -e 1s/^X//"
712240dd5a57Smrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
712340dd5a57Smrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
712440dd5a57Smrg    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
712540dd5a57Smrg])# _LT_DECL_SED
712640dd5a57Smrg
712740dd5a57Smrgm4_ifndef([AC_PROG_SED], [
712840dd5a57Smrg# NOTE: This macro has been submitted for inclusion into   #
712940dd5a57Smrg#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
713040dd5a57Smrg#  a released version of Autoconf we should remove this    #
713140dd5a57Smrg#  macro and use it instead.                               #
713240dd5a57Smrg
713340dd5a57Smrgm4_defun([AC_PROG_SED],
713440dd5a57Smrg[AC_MSG_CHECKING([for a sed that does not truncate output])
713540dd5a57SmrgAC_CACHE_VAL(lt_cv_path_SED,
713640dd5a57Smrg[# Loop through the user's path and test for sed and gsed.
713740dd5a57Smrg# Then use that list of sed's as ones to test for truncation.
713840dd5a57Smrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
713940dd5a57Smrgfor as_dir in $PATH
714040dd5a57Smrgdo
714140dd5a57Smrg  IFS=$as_save_IFS
714240dd5a57Smrg  test -z "$as_dir" && as_dir=.
714340dd5a57Smrg  for lt_ac_prog in sed gsed; do
714440dd5a57Smrg    for ac_exec_ext in '' $ac_executable_extensions; do
714540dd5a57Smrg      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
714640dd5a57Smrg        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
714740dd5a57Smrg      fi
714840dd5a57Smrg    done
714940dd5a57Smrg  done
715040dd5a57Smrgdone
715140dd5a57SmrgIFS=$as_save_IFS
715240dd5a57Smrglt_ac_max=0
715340dd5a57Smrglt_ac_count=0
715440dd5a57Smrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris
715540dd5a57Smrg# along with /bin/sed that truncates output.
715640dd5a57Smrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
715740dd5a57Smrg  test ! -f $lt_ac_sed && continue
715840dd5a57Smrg  cat /dev/null > conftest.in
715940dd5a57Smrg  lt_ac_count=0
716040dd5a57Smrg  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
716140dd5a57Smrg  # Check for GNU sed and select it if it is found.
716240dd5a57Smrg  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
716340dd5a57Smrg    lt_cv_path_SED=$lt_ac_sed
716440dd5a57Smrg    break
716540dd5a57Smrg  fi
716640dd5a57Smrg  while true; do
716740dd5a57Smrg    cat conftest.in conftest.in >conftest.tmp
716840dd5a57Smrg    mv conftest.tmp conftest.in
716940dd5a57Smrg    cp conftest.in conftest.nl
717040dd5a57Smrg    echo >>conftest.nl
717140dd5a57Smrg    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
717240dd5a57Smrg    cmp -s conftest.out conftest.nl || break
717340dd5a57Smrg    # 10000 chars as input seems more than enough
717440dd5a57Smrg    test $lt_ac_count -gt 10 && break
717540dd5a57Smrg    lt_ac_count=`expr $lt_ac_count + 1`
717640dd5a57Smrg    if test $lt_ac_count -gt $lt_ac_max; then
717740dd5a57Smrg      lt_ac_max=$lt_ac_count
717840dd5a57Smrg      lt_cv_path_SED=$lt_ac_sed
717940dd5a57Smrg    fi
718040dd5a57Smrg  done
718140dd5a57Smrgdone
718240dd5a57Smrg])
718340dd5a57SmrgSED=$lt_cv_path_SED
718440dd5a57SmrgAC_SUBST([SED])
718540dd5a57SmrgAC_MSG_RESULT([$SED])
718640dd5a57Smrg])#AC_PROG_SED
718740dd5a57Smrg])#m4_ifndef
718840dd5a57Smrg
718940dd5a57Smrg# Old name:
719040dd5a57SmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
719140dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
719240dd5a57Smrgdnl AC_DEFUN([LT_AC_PROG_SED], [])
719340dd5a57Smrg
719440dd5a57Smrg
719540dd5a57Smrg# _LT_CHECK_SHELL_FEATURES
719640dd5a57Smrg# ------------------------
719740dd5a57Smrg# Find out whether the shell is Bourne or XSI compatible,
719840dd5a57Smrg# or has some other useful features.
719940dd5a57Smrgm4_defun([_LT_CHECK_SHELL_FEATURES],
720040dd5a57Smrg[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
720140dd5a57Smrg# Try some XSI features
720240dd5a57Smrgxsi_shell=no
720340dd5a57Smrg( _lt_dummy="a/b/c"
720440dd5a57Smrg  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
720540dd5a57Smrg      = c,a/b,, \
720640dd5a57Smrg    && eval 'test $(( 1 + 1 )) -eq 2 \
720740dd5a57Smrg    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
720840dd5a57Smrg  && xsi_shell=yes
720940dd5a57SmrgAC_MSG_RESULT([$xsi_shell])
721040dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
721140dd5a57Smrg
721240dd5a57SmrgAC_MSG_CHECKING([whether the shell understands "+="])
721340dd5a57Smrglt_shell_append=no
721440dd5a57Smrg( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
721540dd5a57Smrg    >/dev/null 2>&1 \
721640dd5a57Smrg  && lt_shell_append=yes
721740dd5a57SmrgAC_MSG_RESULT([$lt_shell_append])
721840dd5a57Smrg_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
721940dd5a57Smrg
722040dd5a57Smrgif ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
722140dd5a57Smrg  lt_unset=unset
722240dd5a57Smrgelse
722340dd5a57Smrg  lt_unset=false
722440dd5a57Smrgfi
722540dd5a57Smrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
722640dd5a57Smrg
722740dd5a57Smrg# test EBCDIC or ASCII
722840dd5a57Smrgcase `echo X|tr X '\101'` in
722940dd5a57Smrg A) # ASCII based system
723040dd5a57Smrg    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
723140dd5a57Smrg  lt_SP2NL='tr \040 \012'
723240dd5a57Smrg  lt_NL2SP='tr \015\012 \040\040'
723340dd5a57Smrg  ;;
723440dd5a57Smrg *) # EBCDIC based system
723540dd5a57Smrg  lt_SP2NL='tr \100 \n'
723640dd5a57Smrg  lt_NL2SP='tr \r\n \100\100'
723740dd5a57Smrg  ;;
723840dd5a57Smrgesac
723940dd5a57Smrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
724040dd5a57Smrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
724140dd5a57Smrg])# _LT_CHECK_SHELL_FEATURES
724240dd5a57Smrg
724340dd5a57Smrg
724440dd5a57Smrg# _LT_PROG_XSI_SHELLFNS
724540dd5a57Smrg# ---------------------
724640dd5a57Smrg# Bourne and XSI compatible variants of some useful shell functions.
724740dd5a57Smrgm4_defun([_LT_PROG_XSI_SHELLFNS],
724840dd5a57Smrg[case $xsi_shell in
724940dd5a57Smrg  yes)
725040dd5a57Smrg    cat << \_LT_EOF >> "$cfgfile"
725140dd5a57Smrg
725240dd5a57Smrg# func_dirname file append nondir_replacement
725340dd5a57Smrg# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
725440dd5a57Smrg# otherwise set result to NONDIR_REPLACEMENT.
725540dd5a57Smrgfunc_dirname ()
725640dd5a57Smrg{
725740dd5a57Smrg  case ${1} in
725840dd5a57Smrg    */*) func_dirname_result="${1%/*}${2}" ;;
725940dd5a57Smrg    *  ) func_dirname_result="${3}" ;;
726040dd5a57Smrg  esac
726140dd5a57Smrg}
726240dd5a57Smrg
726340dd5a57Smrg# func_basename file
726440dd5a57Smrgfunc_basename ()
726540dd5a57Smrg{
726640dd5a57Smrg  func_basename_result="${1##*/}"
726740dd5a57Smrg}
726840dd5a57Smrg
726940dd5a57Smrg# func_dirname_and_basename file append nondir_replacement
727040dd5a57Smrg# perform func_basename and func_dirname in a single function
727140dd5a57Smrg# call:
727240dd5a57Smrg#   dirname:  Compute the dirname of FILE.  If nonempty,
727340dd5a57Smrg#             add APPEND to the result, otherwise set result
727440dd5a57Smrg#             to NONDIR_REPLACEMENT.
727540dd5a57Smrg#             value returned in "$func_dirname_result"
727640dd5a57Smrg#   basename: Compute filename of FILE.
727740dd5a57Smrg#             value retuned in "$func_basename_result"
727840dd5a57Smrg# Implementation must be kept synchronized with func_dirname
727940dd5a57Smrg# and func_basename. For efficiency, we do not delegate to
728040dd5a57Smrg# those functions but instead duplicate the functionality here.
728140dd5a57Smrgfunc_dirname_and_basename ()
728240dd5a57Smrg{
728340dd5a57Smrg  case ${1} in
728440dd5a57Smrg    */*) func_dirname_result="${1%/*}${2}" ;;
728540dd5a57Smrg    *  ) func_dirname_result="${3}" ;;
728640dd5a57Smrg  esac
728740dd5a57Smrg  func_basename_result="${1##*/}"
728840dd5a57Smrg}
728940dd5a57Smrg
729040dd5a57Smrg# func_stripname prefix suffix name
729140dd5a57Smrg# strip PREFIX and SUFFIX off of NAME.
729240dd5a57Smrg# PREFIX and SUFFIX must not contain globbing or regex special
729340dd5a57Smrg# characters, hashes, percent signs, but SUFFIX may contain a leading
729440dd5a57Smrg# dot (in which case that matches only a dot).
729540dd5a57Smrgfunc_stripname ()
729640dd5a57Smrg{
729740dd5a57Smrg  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
729840dd5a57Smrg  # positional parameters, so assign one to ordinary parameter first.
729940dd5a57Smrg  func_stripname_result=${3}
730040dd5a57Smrg  func_stripname_result=${func_stripname_result#"${1}"}
730140dd5a57Smrg  func_stripname_result=${func_stripname_result%"${2}"}
730240dd5a57Smrg}
730340dd5a57Smrg
730440dd5a57Smrg# func_opt_split
730540dd5a57Smrgfunc_opt_split ()
730640dd5a57Smrg{
730740dd5a57Smrg  func_opt_split_opt=${1%%=*}
730840dd5a57Smrg  func_opt_split_arg=${1#*=}
730940dd5a57Smrg}
731040dd5a57Smrg
731140dd5a57Smrg# func_lo2o object
731240dd5a57Smrgfunc_lo2o ()
731340dd5a57Smrg{
731440dd5a57Smrg  case ${1} in
731540dd5a57Smrg    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
731640dd5a57Smrg    *)    func_lo2o_result=${1} ;;
731740dd5a57Smrg  esac
731840dd5a57Smrg}
731940dd5a57Smrg
732040dd5a57Smrg# func_xform libobj-or-source
732140dd5a57Smrgfunc_xform ()
732240dd5a57Smrg{
732340dd5a57Smrg  func_xform_result=${1%.*}.lo
732440dd5a57Smrg}
732540dd5a57Smrg
732640dd5a57Smrg# func_arith arithmetic-term...
732740dd5a57Smrgfunc_arith ()
732840dd5a57Smrg{
732940dd5a57Smrg  func_arith_result=$(( $[*] ))
733040dd5a57Smrg}
733140dd5a57Smrg
733240dd5a57Smrg# func_len string
733340dd5a57Smrg# STRING may not start with a hyphen.
733440dd5a57Smrgfunc_len ()
733540dd5a57Smrg{
733640dd5a57Smrg  func_len_result=${#1}
733740dd5a57Smrg}
733840dd5a57Smrg
733940dd5a57Smrg_LT_EOF
734040dd5a57Smrg    ;;
734140dd5a57Smrg  *) # Bourne compatible functions.
734240dd5a57Smrg    cat << \_LT_EOF >> "$cfgfile"
734340dd5a57Smrg
734440dd5a57Smrg# func_dirname file append nondir_replacement
734540dd5a57Smrg# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
734640dd5a57Smrg# otherwise set result to NONDIR_REPLACEMENT.
734740dd5a57Smrgfunc_dirname ()
734840dd5a57Smrg{
734940dd5a57Smrg  # Extract subdirectory from the argument.
735040dd5a57Smrg  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
735140dd5a57Smrg  if test "X$func_dirname_result" = "X${1}"; then
735240dd5a57Smrg    func_dirname_result="${3}"
735340dd5a57Smrg  else
735440dd5a57Smrg    func_dirname_result="$func_dirname_result${2}"
735540dd5a57Smrg  fi
735640dd5a57Smrg}
735740dd5a57Smrg
735840dd5a57Smrg# func_basename file
735940dd5a57Smrgfunc_basename ()
736040dd5a57Smrg{
736140dd5a57Smrg  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
736240dd5a57Smrg}
736340dd5a57Smrg
736440dd5a57Smrgdnl func_dirname_and_basename
736540dd5a57Smrgdnl A portable version of this function is already defined in general.m4sh
736640dd5a57Smrgdnl so there is no need for it here.
736740dd5a57Smrg
736840dd5a57Smrg# func_stripname prefix suffix name
736940dd5a57Smrg# strip PREFIX and SUFFIX off of NAME.
737040dd5a57Smrg# PREFIX and SUFFIX must not contain globbing or regex special
737140dd5a57Smrg# characters, hashes, percent signs, but SUFFIX may contain a leading
737240dd5a57Smrg# dot (in which case that matches only a dot).
737340dd5a57Smrg# func_strip_suffix prefix name
737440dd5a57Smrgfunc_stripname ()
737540dd5a57Smrg{
737640dd5a57Smrg  case ${2} in
737740dd5a57Smrg    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
737840dd5a57Smrg    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
737940dd5a57Smrg  esac
738040dd5a57Smrg}
738140dd5a57Smrg
738240dd5a57Smrg# sed scripts:
738340dd5a57Smrgmy_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
738440dd5a57Smrgmy_sed_long_arg='1s/^-[[^=]]*=//'
738540dd5a57Smrg
738640dd5a57Smrg# func_opt_split
738740dd5a57Smrgfunc_opt_split ()
738840dd5a57Smrg{
738940dd5a57Smrg  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
739040dd5a57Smrg  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
739140dd5a57Smrg}
739240dd5a57Smrg
739340dd5a57Smrg# func_lo2o object
739440dd5a57Smrgfunc_lo2o ()
739540dd5a57Smrg{
739640dd5a57Smrg  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
739740dd5a57Smrg}
739840dd5a57Smrg
739940dd5a57Smrg# func_xform libobj-or-source
740040dd5a57Smrgfunc_xform ()
740140dd5a57Smrg{
740240dd5a57Smrg  func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
740340dd5a57Smrg}
740440dd5a57Smrg
740540dd5a57Smrg# func_arith arithmetic-term...
740640dd5a57Smrgfunc_arith ()
740740dd5a57Smrg{
740840dd5a57Smrg  func_arith_result=`expr "$[@]"`
740940dd5a57Smrg}
741040dd5a57Smrg
741140dd5a57Smrg# func_len string
741240dd5a57Smrg# STRING may not start with a hyphen.
741340dd5a57Smrgfunc_len ()
741440dd5a57Smrg{
741540dd5a57Smrg  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
741640dd5a57Smrg}
741740dd5a57Smrg
741840dd5a57Smrg_LT_EOF
741940dd5a57Smrgesac
742040dd5a57Smrg
742140dd5a57Smrgcase $lt_shell_append in
742240dd5a57Smrg  yes)
742340dd5a57Smrg    cat << \_LT_EOF >> "$cfgfile"
742440dd5a57Smrg
742540dd5a57Smrg# func_append var value
742640dd5a57Smrg# Append VALUE to the end of shell variable VAR.
742740dd5a57Smrgfunc_append ()
742840dd5a57Smrg{
742940dd5a57Smrg  eval "$[1]+=\$[2]"
743040dd5a57Smrg}
743140dd5a57Smrg_LT_EOF
743240dd5a57Smrg    ;;
743340dd5a57Smrg  *)
743440dd5a57Smrg    cat << \_LT_EOF >> "$cfgfile"
743540dd5a57Smrg
743640dd5a57Smrg# func_append var value
743740dd5a57Smrg# Append VALUE to the end of shell variable VAR.
743840dd5a57Smrgfunc_append ()
743940dd5a57Smrg{
744040dd5a57Smrg  eval "$[1]=\$$[1]\$[2]"
744140dd5a57Smrg}
744240dd5a57Smrg
744340dd5a57Smrg_LT_EOF
744440dd5a57Smrg    ;;
744540dd5a57Smrg  esac
744640dd5a57Smrg])
744740dd5a57Smrg
744840dd5a57Smrg# Helper functions for option handling.                    -*- Autoconf -*-
744940dd5a57Smrg#
745040dd5a57Smrg#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
745140dd5a57Smrg#   Inc.
745240dd5a57Smrg#   Written by Gary V. Vaughan, 2004
745340dd5a57Smrg#
745440dd5a57Smrg# This file is free software; the Free Software Foundation gives
745540dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without
745640dd5a57Smrg# modifications, as long as this notice is preserved.
745740dd5a57Smrg
745840dd5a57Smrg# serial 7 ltoptions.m4
745940dd5a57Smrg
746040dd5a57Smrg# This is to help aclocal find these macros, as it can't see m4_define.
746140dd5a57SmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
746240dd5a57Smrg
746340dd5a57Smrg
746440dd5a57Smrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
746540dd5a57Smrg# ------------------------------------------
746640dd5a57Smrgm4_define([_LT_MANGLE_OPTION],
746740dd5a57Smrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
746840dd5a57Smrg
746940dd5a57Smrg
747040dd5a57Smrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
747140dd5a57Smrg# ---------------------------------------
747240dd5a57Smrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
747340dd5a57Smrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
747440dd5a57Smrg# saved as a flag.
747540dd5a57Smrgm4_define([_LT_SET_OPTION],
747640dd5a57Smrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
747740dd5a57Smrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
747840dd5a57Smrg        _LT_MANGLE_DEFUN([$1], [$2]),
747940dd5a57Smrg    [m4_warning([Unknown $1 option `$2'])])[]dnl
748040dd5a57Smrg])
748140dd5a57Smrg
748240dd5a57Smrg
748340dd5a57Smrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
748440dd5a57Smrg# ------------------------------------------------------------
748540dd5a57Smrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
748640dd5a57Smrgm4_define([_LT_IF_OPTION],
748740dd5a57Smrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
748840dd5a57Smrg
748940dd5a57Smrg
749040dd5a57Smrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
749140dd5a57Smrg# -------------------------------------------------------
749240dd5a57Smrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
749340dd5a57Smrg# are set.
749440dd5a57Smrgm4_define([_LT_UNLESS_OPTIONS],
749540dd5a57Smrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
749640dd5a57Smrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
749740dd5a57Smrg		      [m4_define([$0_found])])])[]dnl
749840dd5a57Smrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
749940dd5a57Smrg])[]dnl
750040dd5a57Smrg])
750140dd5a57Smrg
750240dd5a57Smrg
750340dd5a57Smrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
750440dd5a57Smrg# ----------------------------------------
750540dd5a57Smrg# OPTION-LIST is a space-separated list of Libtool options associated
750640dd5a57Smrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
750740dd5a57Smrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
750840dd5a57Smrg# the unknown option and exit.
750940dd5a57Smrgm4_defun([_LT_SET_OPTIONS],
751040dd5a57Smrg[# Set options
751140dd5a57Smrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
751240dd5a57Smrg    [_LT_SET_OPTION([$1], _LT_Option)])
751340dd5a57Smrg
751440dd5a57Smrgm4_if([$1],[LT_INIT],[
751540dd5a57Smrg  dnl
751640dd5a57Smrg  dnl Simply set some default values (i.e off) if boolean options were not
751740dd5a57Smrg  dnl specified:
751840dd5a57Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
751940dd5a57Smrg  ])
752040dd5a57Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
752140dd5a57Smrg  ])
752240dd5a57Smrg  dnl
752340dd5a57Smrg  dnl If no reference was made to various pairs of opposing options, then
752440dd5a57Smrg  dnl we run the default mode handler for the pair.  For example, if neither
752540dd5a57Smrg  dnl `shared' nor `disable-shared' was passed, we enable building of shared
752640dd5a57Smrg  dnl archives by default:
752740dd5a57Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
752840dd5a57Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
752940dd5a57Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
753040dd5a57Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
753140dd5a57Smrg  		   [_LT_ENABLE_FAST_INSTALL])
753240dd5a57Smrg  ])
753340dd5a57Smrg])# _LT_SET_OPTIONS
753440dd5a57Smrg
753540dd5a57Smrg
753640dd5a57Smrg
753740dd5a57Smrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
753840dd5a57Smrg# -----------------------------------------
753940dd5a57Smrgm4_define([_LT_MANGLE_DEFUN],
754040dd5a57Smrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
754140dd5a57Smrg
754240dd5a57Smrg
754340dd5a57Smrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
754440dd5a57Smrg# -----------------------------------------------
754540dd5a57Smrgm4_define([LT_OPTION_DEFINE],
754640dd5a57Smrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
754740dd5a57Smrg])# LT_OPTION_DEFINE
754840dd5a57Smrg
754940dd5a57Smrg
755040dd5a57Smrg# dlopen
755140dd5a57Smrg# ------
755240dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
755340dd5a57Smrg])
755440dd5a57Smrg
755540dd5a57SmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
755640dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [dlopen])
755740dd5a57SmrgAC_DIAGNOSE([obsolete],
755840dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
755940dd5a57Smrgput the `dlopen' option into LT_INIT's first parameter.])
756040dd5a57Smrg])
756140dd5a57Smrg
756240dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
756340dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
756440dd5a57Smrg
756540dd5a57Smrg
756640dd5a57Smrg# win32-dll
756740dd5a57Smrg# ---------
756840dd5a57Smrg# Declare package support for building win32 dll's.
756940dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
757040dd5a57Smrg[enable_win32_dll=yes
757140dd5a57Smrg
757240dd5a57Smrgcase $host in
757340dd5a57Smrg*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
757440dd5a57Smrg  AC_CHECK_TOOL(AS, as, false)
757540dd5a57Smrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
757640dd5a57Smrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
757740dd5a57Smrg  ;;
757840dd5a57Smrgesac
757940dd5a57Smrg
758040dd5a57Smrgtest -z "$AS" && AS=as
758140dd5a57Smrg_LT_DECL([], [AS],      [1], [Assembler program])dnl
758240dd5a57Smrg
758340dd5a57Smrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
758440dd5a57Smrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
758540dd5a57Smrg
758640dd5a57Smrgtest -z "$OBJDUMP" && OBJDUMP=objdump
758740dd5a57Smrg_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
758840dd5a57Smrg])# win32-dll
758940dd5a57Smrg
759040dd5a57SmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
759140dd5a57Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
759240dd5a57Smrg_LT_SET_OPTION([LT_INIT], [win32-dll])
759340dd5a57SmrgAC_DIAGNOSE([obsolete],
759440dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
759540dd5a57Smrgput the `win32-dll' option into LT_INIT's first parameter.])
759640dd5a57Smrg])
759740dd5a57Smrg
759840dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
759940dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
760040dd5a57Smrg
760140dd5a57Smrg
760240dd5a57Smrg# _LT_ENABLE_SHARED([DEFAULT])
760340dd5a57Smrg# ----------------------------
760440dd5a57Smrg# implement the --enable-shared flag, and supports the `shared' and
760540dd5a57Smrg# `disable-shared' LT_INIT options.
760640dd5a57Smrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
760740dd5a57Smrgm4_define([_LT_ENABLE_SHARED],
760840dd5a57Smrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
760940dd5a57SmrgAC_ARG_ENABLE([shared],
761040dd5a57Smrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
761140dd5a57Smrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
761240dd5a57Smrg    [p=${PACKAGE-default}
761340dd5a57Smrg    case $enableval in
761440dd5a57Smrg    yes) enable_shared=yes ;;
761540dd5a57Smrg    no) enable_shared=no ;;
761640dd5a57Smrg    *)
761740dd5a57Smrg      enable_shared=no
761840dd5a57Smrg      # Look at the argument we got.  We use all the common list separators.
761940dd5a57Smrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
762040dd5a57Smrg      for pkg in $enableval; do
762140dd5a57Smrg	IFS="$lt_save_ifs"
762240dd5a57Smrg	if test "X$pkg" = "X$p"; then
762340dd5a57Smrg	  enable_shared=yes
762440dd5a57Smrg	fi
762540dd5a57Smrg      done
762640dd5a57Smrg      IFS="$lt_save_ifs"
762740dd5a57Smrg      ;;
762840dd5a57Smrg    esac],
762940dd5a57Smrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
763040dd5a57Smrg
763140dd5a57Smrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
763240dd5a57Smrg	[Whether or not to build shared libraries])
763340dd5a57Smrg])# _LT_ENABLE_SHARED
763440dd5a57Smrg
763540dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
763640dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
763740dd5a57Smrg
763840dd5a57Smrg# Old names:
763940dd5a57SmrgAC_DEFUN([AC_ENABLE_SHARED],
764040dd5a57Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
764140dd5a57Smrg])
764240dd5a57Smrg
764340dd5a57SmrgAC_DEFUN([AC_DISABLE_SHARED],
764440dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
764540dd5a57Smrg])
764640dd5a57Smrg
764740dd5a57SmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
764840dd5a57SmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
764940dd5a57Smrg
765040dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
765140dd5a57Smrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
765240dd5a57Smrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
765340dd5a57Smrg
765440dd5a57Smrg
765540dd5a57Smrg
765640dd5a57Smrg# _LT_ENABLE_STATIC([DEFAULT])
765740dd5a57Smrg# ----------------------------
765840dd5a57Smrg# implement the --enable-static flag, and support the `static' and
765940dd5a57Smrg# `disable-static' LT_INIT options.
766040dd5a57Smrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
766140dd5a57Smrgm4_define([_LT_ENABLE_STATIC],
766240dd5a57Smrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
766340dd5a57SmrgAC_ARG_ENABLE([static],
766440dd5a57Smrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
766540dd5a57Smrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
766640dd5a57Smrg    [p=${PACKAGE-default}
766740dd5a57Smrg    case $enableval in
766840dd5a57Smrg    yes) enable_static=yes ;;
766940dd5a57Smrg    no) enable_static=no ;;
767040dd5a57Smrg    *)
767140dd5a57Smrg     enable_static=no
767240dd5a57Smrg      # Look at the argument we got.  We use all the common list separators.
767340dd5a57Smrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
767440dd5a57Smrg      for pkg in $enableval; do
767540dd5a57Smrg	IFS="$lt_save_ifs"
767640dd5a57Smrg	if test "X$pkg" = "X$p"; then
767740dd5a57Smrg	  enable_static=yes
767840dd5a57Smrg	fi
767940dd5a57Smrg      done
768040dd5a57Smrg      IFS="$lt_save_ifs"
768140dd5a57Smrg      ;;
768240dd5a57Smrg    esac],
768340dd5a57Smrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
768440dd5a57Smrg
768540dd5a57Smrg    _LT_DECL([build_old_libs], [enable_static], [0],
768640dd5a57Smrg	[Whether or not to build static libraries])
768740dd5a57Smrg])# _LT_ENABLE_STATIC
768840dd5a57Smrg
768940dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
769040dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
769140dd5a57Smrg
769240dd5a57Smrg# Old names:
769340dd5a57SmrgAC_DEFUN([AC_ENABLE_STATIC],
769440dd5a57Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
769540dd5a57Smrg])
769640dd5a57Smrg
769740dd5a57SmrgAC_DEFUN([AC_DISABLE_STATIC],
769840dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [disable-static])
769940dd5a57Smrg])
770040dd5a57Smrg
770140dd5a57SmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
770240dd5a57SmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
770340dd5a57Smrg
770440dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
770540dd5a57Smrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
770640dd5a57Smrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
770740dd5a57Smrg
770840dd5a57Smrg
770940dd5a57Smrg
771040dd5a57Smrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
771140dd5a57Smrg# ----------------------------------
771240dd5a57Smrg# implement the --enable-fast-install flag, and support the `fast-install'
771340dd5a57Smrg# and `disable-fast-install' LT_INIT options.
771440dd5a57Smrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
771540dd5a57Smrgm4_define([_LT_ENABLE_FAST_INSTALL],
771640dd5a57Smrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
771740dd5a57SmrgAC_ARG_ENABLE([fast-install],
771840dd5a57Smrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
771940dd5a57Smrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
772040dd5a57Smrg    [p=${PACKAGE-default}
772140dd5a57Smrg    case $enableval in
772240dd5a57Smrg    yes) enable_fast_install=yes ;;
772340dd5a57Smrg    no) enable_fast_install=no ;;
772440dd5a57Smrg    *)
772540dd5a57Smrg      enable_fast_install=no
772640dd5a57Smrg      # Look at the argument we got.  We use all the common list separators.
772740dd5a57Smrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
772840dd5a57Smrg      for pkg in $enableval; do
772940dd5a57Smrg	IFS="$lt_save_ifs"
773040dd5a57Smrg	if test "X$pkg" = "X$p"; then
773140dd5a57Smrg	  enable_fast_install=yes
773240dd5a57Smrg	fi
773340dd5a57Smrg      done
773440dd5a57Smrg      IFS="$lt_save_ifs"
773540dd5a57Smrg      ;;
773640dd5a57Smrg    esac],
773740dd5a57Smrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
773840dd5a57Smrg
773940dd5a57Smrg_LT_DECL([fast_install], [enable_fast_install], [0],
774040dd5a57Smrg	 [Whether or not to optimize for fast installation])dnl
774140dd5a57Smrg])# _LT_ENABLE_FAST_INSTALL
774240dd5a57Smrg
774340dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
774440dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
774540dd5a57Smrg
774640dd5a57Smrg# Old names:
774740dd5a57SmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
774840dd5a57Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
774940dd5a57SmrgAC_DIAGNOSE([obsolete],
775040dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
775140dd5a57Smrgthe `fast-install' option into LT_INIT's first parameter.])
775240dd5a57Smrg])
775340dd5a57Smrg
775440dd5a57SmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
775540dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
775640dd5a57SmrgAC_DIAGNOSE([obsolete],
775740dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
775840dd5a57Smrgthe `disable-fast-install' option into LT_INIT's first parameter.])
775940dd5a57Smrg])
776040dd5a57Smrg
776140dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
776240dd5a57Smrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
776340dd5a57Smrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
776440dd5a57Smrg
776540dd5a57Smrg
776640dd5a57Smrg# _LT_WITH_PIC([MODE])
776740dd5a57Smrg# --------------------
776840dd5a57Smrg# implement the --with-pic flag, and support the `pic-only' and `no-pic'
776940dd5a57Smrg# LT_INIT options.
777040dd5a57Smrg# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
777140dd5a57Smrgm4_define([_LT_WITH_PIC],
777240dd5a57Smrg[AC_ARG_WITH([pic],
777340dd5a57Smrg    [AS_HELP_STRING([--with-pic],
777440dd5a57Smrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
777540dd5a57Smrg    [pic_mode="$withval"],
777640dd5a57Smrg    [pic_mode=default])
777740dd5a57Smrg
777840dd5a57Smrgtest -z "$pic_mode" && pic_mode=m4_default([$1], [default])
777940dd5a57Smrg
778040dd5a57Smrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
778140dd5a57Smrg])# _LT_WITH_PIC
778240dd5a57Smrg
778340dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
778440dd5a57SmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
778540dd5a57Smrg
778640dd5a57Smrg# Old name:
778740dd5a57SmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
778840dd5a57Smrg[_LT_SET_OPTION([LT_INIT], [pic-only])
778940dd5a57SmrgAC_DIAGNOSE([obsolete],
779040dd5a57Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
779140dd5a57Smrgput the `pic-only' option into LT_INIT's first parameter.])
779240dd5a57Smrg])
779340dd5a57Smrg
779440dd5a57Smrgdnl aclocal-1.4 backwards compatibility:
779540dd5a57Smrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
779640dd5a57Smrg
779740dd5a57Smrg
779840dd5a57Smrgm4_define([_LTDL_MODE], [])
779940dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
780040dd5a57Smrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
780140dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
780240dd5a57Smrg		 [m4_define([_LTDL_MODE], [recursive])])
780340dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
780440dd5a57Smrg		 [m4_define([_LTDL_MODE], [subproject])])
780540dd5a57Smrg
780640dd5a57Smrgm4_define([_LTDL_TYPE], [])
780740dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
780840dd5a57Smrg		 [m4_define([_LTDL_TYPE], [installable])])
780940dd5a57SmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
781040dd5a57Smrg		 [m4_define([_LTDL_TYPE], [convenience])])
781140dd5a57Smrg
781240dd5a57Smrg# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
781340dd5a57Smrg#
781440dd5a57Smrg# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
781540dd5a57Smrg# Written by Gary V. Vaughan, 2004
781640dd5a57Smrg#
781740dd5a57Smrg# This file is free software; the Free Software Foundation gives
781840dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without
781940dd5a57Smrg# modifications, as long as this notice is preserved.
782040dd5a57Smrg
782140dd5a57Smrg# serial 6 ltsugar.m4
782240dd5a57Smrg
782340dd5a57Smrg# This is to help aclocal find these macros, as it can't see m4_define.
782440dd5a57SmrgAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
782540dd5a57Smrg
782640dd5a57Smrg
782740dd5a57Smrg# lt_join(SEP, ARG1, [ARG2...])
782840dd5a57Smrg# -----------------------------
782940dd5a57Smrg# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
783040dd5a57Smrg# associated separator.
783140dd5a57Smrg# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
783240dd5a57Smrg# versions in m4sugar had bugs.
783340dd5a57Smrgm4_define([lt_join],
783440dd5a57Smrg[m4_if([$#], [1], [],
783540dd5a57Smrg       [$#], [2], [[$2]],
783640dd5a57Smrg       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
783740dd5a57Smrgm4_define([_lt_join],
783840dd5a57Smrg[m4_if([$#$2], [2], [],
783940dd5a57Smrg       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
784040dd5a57Smrg
784140dd5a57Smrg
784240dd5a57Smrg# lt_car(LIST)
784340dd5a57Smrg# lt_cdr(LIST)
784440dd5a57Smrg# ------------
784540dd5a57Smrg# Manipulate m4 lists.
784640dd5a57Smrg# These macros are necessary as long as will still need to support
784740dd5a57Smrg# Autoconf-2.59 which quotes differently.
784840dd5a57Smrgm4_define([lt_car], [[$1]])
784940dd5a57Smrgm4_define([lt_cdr],
785040dd5a57Smrg[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
785140dd5a57Smrg       [$#], 1, [],
785240dd5a57Smrg       [m4_dquote(m4_shift($@))])])
785340dd5a57Smrgm4_define([lt_unquote], $1)
785440dd5a57Smrg
785540dd5a57Smrg
785640dd5a57Smrg# lt_append(MACRO-NAME, STRING, [SEPARATOR])
785740dd5a57Smrg# ------------------------------------------
785840dd5a57Smrg# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
785940dd5a57Smrg# Note that neither SEPARATOR nor STRING are expanded; they are appended
786040dd5a57Smrg# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
786140dd5a57Smrg# No SEPARATOR is output if MACRO-NAME was previously undefined (different
786240dd5a57Smrg# than defined and empty).
786340dd5a57Smrg#
786440dd5a57Smrg# This macro is needed until we can rely on Autoconf 2.62, since earlier
786540dd5a57Smrg# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
786640dd5a57Smrgm4_define([lt_append],
786740dd5a57Smrg[m4_define([$1],
786840dd5a57Smrg	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
786940dd5a57Smrg
787040dd5a57Smrg
787140dd5a57Smrg
787240dd5a57Smrg# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
787340dd5a57Smrg# ----------------------------------------------------------
787440dd5a57Smrg# Produce a SEP delimited list of all paired combinations of elements of
787540dd5a57Smrg# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
787640dd5a57Smrg# has the form PREFIXmINFIXSUFFIXn.
787740dd5a57Smrg# Needed until we can rely on m4_combine added in Autoconf 2.62.
787840dd5a57Smrgm4_define([lt_combine],
787940dd5a57Smrg[m4_if(m4_eval([$# > 3]), [1],
788040dd5a57Smrg       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
788140dd5a57Smrg[[m4_foreach([_Lt_prefix], [$2],
788240dd5a57Smrg	     [m4_foreach([_Lt_suffix],
788340dd5a57Smrg		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
788440dd5a57Smrg	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
788540dd5a57Smrg
788640dd5a57Smrg
788740dd5a57Smrg# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
788840dd5a57Smrg# -----------------------------------------------------------------------
788940dd5a57Smrg# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
789040dd5a57Smrg# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
789140dd5a57Smrgm4_define([lt_if_append_uniq],
789240dd5a57Smrg[m4_ifdef([$1],
789340dd5a57Smrg	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
789440dd5a57Smrg		 [lt_append([$1], [$2], [$3])$4],
789540dd5a57Smrg		 [$5])],
789640dd5a57Smrg	  [lt_append([$1], [$2], [$3])$4])])
789740dd5a57Smrg
789840dd5a57Smrg
789940dd5a57Smrg# lt_dict_add(DICT, KEY, VALUE)
790040dd5a57Smrg# -----------------------------
790140dd5a57Smrgm4_define([lt_dict_add],
790240dd5a57Smrg[m4_define([$1($2)], [$3])])
790340dd5a57Smrg
790440dd5a57Smrg
790540dd5a57Smrg# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
790640dd5a57Smrg# --------------------------------------------
790740dd5a57Smrgm4_define([lt_dict_add_subkey],
790840dd5a57Smrg[m4_define([$1($2:$3)], [$4])])
790940dd5a57Smrg
791040dd5a57Smrg
791140dd5a57Smrg# lt_dict_fetch(DICT, KEY, [SUBKEY])
791240dd5a57Smrg# ----------------------------------
791340dd5a57Smrgm4_define([lt_dict_fetch],
791440dd5a57Smrg[m4_ifval([$3],
791540dd5a57Smrg	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
791640dd5a57Smrg    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
791740dd5a57Smrg
791840dd5a57Smrg
791940dd5a57Smrg# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
792040dd5a57Smrg# -----------------------------------------------------------------
792140dd5a57Smrgm4_define([lt_if_dict_fetch],
792240dd5a57Smrg[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
792340dd5a57Smrg	[$5],
792440dd5a57Smrg    [$6])])
792540dd5a57Smrg
792640dd5a57Smrg
792740dd5a57Smrg# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
792840dd5a57Smrg# --------------------------------------------------------------
792940dd5a57Smrgm4_define([lt_dict_filter],
793040dd5a57Smrg[m4_if([$5], [], [],
793140dd5a57Smrg  [lt_join(m4_quote(m4_default([$4], [[, ]])),
793240dd5a57Smrg           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
793340dd5a57Smrg		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
793440dd5a57Smrg])
793540dd5a57Smrg
793640dd5a57Smrg# ltversion.m4 -- version numbers			-*- Autoconf -*-
793740dd5a57Smrg#
793840dd5a57Smrg#   Copyright (C) 2004 Free Software Foundation, Inc.
793940dd5a57Smrg#   Written by Scott James Remnant, 2004
794040dd5a57Smrg#
794140dd5a57Smrg# This file is free software; the Free Software Foundation gives
794240dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without
794340dd5a57Smrg# modifications, as long as this notice is preserved.
794440dd5a57Smrg
794540dd5a57Smrg# Generated from ltversion.in.
794640dd5a57Smrg
794740dd5a57Smrg# serial 3175 ltversion.m4
794840dd5a57Smrg# This file is part of GNU Libtool
794940dd5a57Smrg
795040dd5a57Smrgm4_define([LT_PACKAGE_VERSION], [2.2.10])
795140dd5a57Smrgm4_define([LT_PACKAGE_REVISION], [1.3175])
795240dd5a57Smrg
795340dd5a57SmrgAC_DEFUN([LTVERSION_VERSION],
795440dd5a57Smrg[macro_version='2.2.10'
795540dd5a57Smrgmacro_revision='1.3175'
795640dd5a57Smrg_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
795740dd5a57Smrg_LT_DECL(, macro_revision, 0)
795840dd5a57Smrg])
795940dd5a57Smrg
796040dd5a57Smrg# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
796140dd5a57Smrg#
796240dd5a57Smrg#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
796340dd5a57Smrg#   Written by Scott James Remnant, 2004.
796440dd5a57Smrg#
796540dd5a57Smrg# This file is free software; the Free Software Foundation gives
796640dd5a57Smrg# unlimited permission to copy and/or distribute it, with or without
796740dd5a57Smrg# modifications, as long as this notice is preserved.
796840dd5a57Smrg
796940dd5a57Smrg# serial 5 lt~obsolete.m4
797040dd5a57Smrg
797140dd5a57Smrg# These exist entirely to fool aclocal when bootstrapping libtool.
797240dd5a57Smrg#
797340dd5a57Smrg# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
797440dd5a57Smrg# which have later been changed to m4_define as they aren't part of the
797540dd5a57Smrg# exported API, or moved to Autoconf or Automake where they belong.
797640dd5a57Smrg#
797740dd5a57Smrg# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
797840dd5a57Smrg# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
797940dd5a57Smrg# using a macro with the same name in our local m4/libtool.m4 it'll
798040dd5a57Smrg# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
798140dd5a57Smrg# and doesn't know about Autoconf macros at all.)
798240dd5a57Smrg#
798340dd5a57Smrg# So we provide this file, which has a silly filename so it's always
798440dd5a57Smrg# included after everything else.  This provides aclocal with the
798540dd5a57Smrg# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
798640dd5a57Smrg# because those macros already exist, or will be overwritten later.
798740dd5a57Smrg# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
798840dd5a57Smrg#
798940dd5a57Smrg# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
799040dd5a57Smrg# Yes, that means every name once taken will need to remain here until
799140dd5a57Smrg# we give up compatibility with versions before 1.7, at which point
799240dd5a57Smrg# we need to keep only those names which we still refer to.
799340dd5a57Smrg
799440dd5a57Smrg# This is to help aclocal find these macros, as it can't see m4_define.
799540dd5a57SmrgAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
799640dd5a57Smrg
799740dd5a57Smrgm4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
799840dd5a57Smrgm4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
799940dd5a57Smrgm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
800040dd5a57Smrgm4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
800140dd5a57Smrgm4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
800240dd5a57Smrgm4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
800340dd5a57Smrgm4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
800440dd5a57Smrgm4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
800540dd5a57Smrgm4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
800640dd5a57Smrgm4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
800740dd5a57Smrgm4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
800840dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
800940dd5a57Smrgm4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
801040dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
801140dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
801240dd5a57Smrgm4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
801340dd5a57Smrgm4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
801440dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
801540dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
801640dd5a57Smrgm4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
801740dd5a57Smrgm4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
801840dd5a57Smrgm4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
801940dd5a57Smrgm4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
802040dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
802140dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
802240dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
802340dd5a57Smrgm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
802440dd5a57Smrgm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
802540dd5a57Smrgm4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
802640dd5a57Smrgm4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
802740dd5a57Smrgm4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
802840dd5a57Smrgm4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
802940dd5a57Smrgm4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
803040dd5a57Smrgm4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
803140dd5a57Smrgm4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
803240dd5a57Smrgm4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
803340dd5a57Smrgm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
803440dd5a57Smrgm4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
803540dd5a57Smrgm4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
803640dd5a57Smrgm4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
803740dd5a57Smrgm4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
803840dd5a57Smrgm4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
803940dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
804040dd5a57Smrgm4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
804140dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
804240dd5a57Smrgm4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
804340dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
804440dd5a57Smrgm4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
804540dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
804640dd5a57Smrgm4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
804740dd5a57Smrgm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
804840dd5a57Smrgm4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
804940dd5a57Smrgm4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
805040dd5a57Smrgm4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
805140dd5a57Smrgm4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
805240dd5a57Smrgm4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
805340dd5a57Smrgm4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
805440dd5a57Smrgm4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
805540dd5a57Smrgm4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
805640dd5a57Smrgm4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
805740dd5a57Smrgm4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
805840dd5a57Smrg
805940dd5a57Smrg# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
806040dd5a57Smrg# serial 1 (pkg-config-0.24)
806140dd5a57Smrg# 
806240dd5a57Smrg# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
806340dd5a57Smrg#
806440dd5a57Smrg# This program is free software; you can redistribute it and/or modify
806540dd5a57Smrg# it under the terms of the GNU General Public License as published by
806640dd5a57Smrg# the Free Software Foundation; either version 2 of the License, or
806740dd5a57Smrg# (at your option) any later version.
806840dd5a57Smrg#
806940dd5a57Smrg# This program is distributed in the hope that it will be useful, but
807040dd5a57Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
807140dd5a57Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
807240dd5a57Smrg# General Public License for more details.
807340dd5a57Smrg#
807440dd5a57Smrg# You should have received a copy of the GNU General Public License
807540dd5a57Smrg# along with this program; if not, write to the Free Software
807640dd5a57Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
807740dd5a57Smrg#
807840dd5a57Smrg# As a special exception to the GNU General Public License, if you
807940dd5a57Smrg# distribute this file as part of a program that contains a
808040dd5a57Smrg# configuration script generated by Autoconf, you may include it under
808140dd5a57Smrg# the same distribution terms that you use for the rest of that program.
808240dd5a57Smrg
808340dd5a57Smrg# PKG_PROG_PKG_CONFIG([MIN-VERSION])
808440dd5a57Smrg# ----------------------------------
808540dd5a57SmrgAC_DEFUN([PKG_PROG_PKG_CONFIG],
808640dd5a57Smrg[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
808740dd5a57Smrgm4_pattern_allow([^PKG_CONFIG(_PATH)?$])
808840dd5a57SmrgAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
808940dd5a57SmrgAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
809040dd5a57SmrgAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
809140dd5a57Smrg
809240dd5a57Smrgif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
809340dd5a57Smrg	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
809440dd5a57Smrgfi
809540dd5a57Smrgif test -n "$PKG_CONFIG"; then
809640dd5a57Smrg	_pkg_min_version=m4_default([$1], [0.9.0])
809740dd5a57Smrg	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
809840dd5a57Smrg	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
809940dd5a57Smrg		AC_MSG_RESULT([yes])
810040dd5a57Smrg	else
810140dd5a57Smrg		AC_MSG_RESULT([no])
810240dd5a57Smrg		PKG_CONFIG=""
810340dd5a57Smrg	fi
810440dd5a57Smrgfi[]dnl
810540dd5a57Smrg])# PKG_PROG_PKG_CONFIG
810640dd5a57Smrg
810740dd5a57Smrg# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
810840dd5a57Smrg#
810940dd5a57Smrg# Check to see whether a particular set of modules exists.  Similar
811040dd5a57Smrg# to PKG_CHECK_MODULES(), but does not set variables or print errors.
811140dd5a57Smrg#
811240dd5a57Smrg# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
811340dd5a57Smrg# only at the first occurence in configure.ac, so if the first place
811440dd5a57Smrg# it's called might be skipped (such as if it is within an "if", you
811540dd5a57Smrg# have to call PKG_CHECK_EXISTS manually
811640dd5a57Smrg# --------------------------------------------------------------
811740dd5a57SmrgAC_DEFUN([PKG_CHECK_EXISTS],
811840dd5a57Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
811940dd5a57Smrgif test -n "$PKG_CONFIG" && \
812040dd5a57Smrg    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
812140dd5a57Smrg  m4_default([$2], [:])
812240dd5a57Smrgm4_ifvaln([$3], [else
812340dd5a57Smrg  $3])dnl
812440dd5a57Smrgfi])
812540dd5a57Smrg
812640dd5a57Smrg# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
812740dd5a57Smrg# ---------------------------------------------
812840dd5a57Smrgm4_define([_PKG_CONFIG],
812940dd5a57Smrg[if test -n "$$1"; then
813040dd5a57Smrg    pkg_cv_[]$1="$$1"
813140dd5a57Smrg elif test -n "$PKG_CONFIG"; then
813240dd5a57Smrg    PKG_CHECK_EXISTS([$3],
813340dd5a57Smrg                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
813440dd5a57Smrg		     [pkg_failed=yes])
813540dd5a57Smrg else
813640dd5a57Smrg    pkg_failed=untried
813740dd5a57Smrgfi[]dnl
813840dd5a57Smrg])# _PKG_CONFIG
813940dd5a57Smrg
814040dd5a57Smrg# _PKG_SHORT_ERRORS_SUPPORTED
814140dd5a57Smrg# -----------------------------
814240dd5a57SmrgAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
814340dd5a57Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
814440dd5a57Smrgif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
814540dd5a57Smrg        _pkg_short_errors_supported=yes
814640dd5a57Smrgelse
814740dd5a57Smrg        _pkg_short_errors_supported=no
814840dd5a57Smrgfi[]dnl
814940dd5a57Smrg])# _PKG_SHORT_ERRORS_SUPPORTED
815040dd5a57Smrg
815140dd5a57Smrg
815240dd5a57Smrg# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
815340dd5a57Smrg# [ACTION-IF-NOT-FOUND])
815440dd5a57Smrg#
815540dd5a57Smrg#
815640dd5a57Smrg# Note that if there is a possibility the first call to
815740dd5a57Smrg# PKG_CHECK_MODULES might not happen, you should be sure to include an
815840dd5a57Smrg# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
815940dd5a57Smrg#
816040dd5a57Smrg#
816140dd5a57Smrg# --------------------------------------------------------------
816240dd5a57SmrgAC_DEFUN([PKG_CHECK_MODULES],
816340dd5a57Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
816440dd5a57SmrgAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
816540dd5a57SmrgAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
816640dd5a57Smrg
816740dd5a57Smrgpkg_failed=no
816840dd5a57SmrgAC_MSG_CHECKING([for $1])
816940dd5a57Smrg
817040dd5a57Smrg_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
817140dd5a57Smrg_PKG_CONFIG([$1][_LIBS], [libs], [$2])
817240dd5a57Smrg
817340dd5a57Smrgm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
817440dd5a57Smrgand $1[]_LIBS to avoid the need to call pkg-config.
817540dd5a57SmrgSee the pkg-config man page for more details.])
817640dd5a57Smrg
817740dd5a57Smrgif test $pkg_failed = yes; then
817840dd5a57Smrg   	AC_MSG_RESULT([no])
817940dd5a57Smrg        _PKG_SHORT_ERRORS_SUPPORTED
818040dd5a57Smrg        if test $_pkg_short_errors_supported = yes; then
818140dd5a57Smrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
818240dd5a57Smrg        else 
818340dd5a57Smrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
818440dd5a57Smrg        fi
818540dd5a57Smrg	# Put the nasty error message in config.log where it belongs
818640dd5a57Smrg	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
818740dd5a57Smrg
818840dd5a57Smrg	m4_default([$4], [AC_MSG_ERROR(
818940dd5a57Smrg[Package requirements ($2) were not met:
819040dd5a57Smrg
819140dd5a57Smrg$$1_PKG_ERRORS
819240dd5a57Smrg
819340dd5a57SmrgConsider adjusting the PKG_CONFIG_PATH environment variable if you
819440dd5a57Smrginstalled software in a non-standard prefix.
819540dd5a57Smrg
819640dd5a57Smrg_PKG_TEXT])
819740dd5a57Smrg        ])
819840dd5a57Smrgelif test $pkg_failed = untried; then
819940dd5a57Smrg     	AC_MSG_RESULT([no])
820040dd5a57Smrg	m4_default([$4], [AC_MSG_FAILURE(
820140dd5a57Smrg[The pkg-config script could not be found or is too old.  Make sure it
820240dd5a57Smrgis in your PATH or set the PKG_CONFIG environment variable to the full
820340dd5a57Smrgpath to pkg-config.
820440dd5a57Smrg
820540dd5a57Smrg_PKG_TEXT
820640dd5a57Smrg
820740dd5a57SmrgTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])
820840dd5a57Smrg        ])
820940dd5a57Smrgelse
821040dd5a57Smrg	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
821140dd5a57Smrg	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
821240dd5a57Smrg        AC_MSG_RESULT([yes])
821340dd5a57Smrg	$3
821440dd5a57Smrgfi[]dnl
821540dd5a57Smrg])# PKG_CHECK_MODULES
821640dd5a57Smrg
821740dd5a57Smrg# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
821840dd5a57Smrg#
821940dd5a57Smrg# This file is free software; the Free Software Foundation
822040dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
822140dd5a57Smrg# with or without modifications, as long as this notice is preserved.
822240dd5a57Smrg
822340dd5a57Smrg# AM_AUTOMAKE_VERSION(VERSION)
822440dd5a57Smrg# ----------------------------
822540dd5a57Smrg# Automake X.Y traces this macro to ensure aclocal.m4 has been
822640dd5a57Smrg# generated from the m4 files accompanying Automake X.Y.
822740dd5a57Smrg# (This private macro should not be called outside this file.)
822840dd5a57SmrgAC_DEFUN([AM_AUTOMAKE_VERSION],
822940dd5a57Smrg[am__api_version='1.11'
823040dd5a57Smrgdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
823140dd5a57Smrgdnl require some minimum version.  Point them to the right macro.
823240dd5a57Smrgm4_if([$1], [1.11.1], [],
823340dd5a57Smrg      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
823440dd5a57Smrg])
823540dd5a57Smrg
823640dd5a57Smrg# _AM_AUTOCONF_VERSION(VERSION)
823740dd5a57Smrg# -----------------------------
823840dd5a57Smrg# aclocal traces this macro to find the Autoconf version.
823940dd5a57Smrg# This is a private macro too.  Using m4_define simplifies
824040dd5a57Smrg# the logic in aclocal, which can simply ignore this definition.
824140dd5a57Smrgm4_define([_AM_AUTOCONF_VERSION], [])
824240dd5a57Smrg
824340dd5a57Smrg# AM_SET_CURRENT_AUTOMAKE_VERSION
824440dd5a57Smrg# -------------------------------
824540dd5a57Smrg# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
824640dd5a57Smrg# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
824740dd5a57SmrgAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
824840dd5a57Smrg[AM_AUTOMAKE_VERSION([1.11.1])dnl
824940dd5a57Smrgm4_ifndef([AC_AUTOCONF_VERSION],
825040dd5a57Smrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
825140dd5a57Smrg_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
825240dd5a57Smrg
825340dd5a57Smrg# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
825440dd5a57Smrg
825540dd5a57Smrg# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
825640dd5a57Smrg#
825740dd5a57Smrg# This file is free software; the Free Software Foundation
825840dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
825940dd5a57Smrg# with or without modifications, as long as this notice is preserved.
826040dd5a57Smrg
826140dd5a57Smrg# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
826240dd5a57Smrg# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
826340dd5a57Smrg# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
826440dd5a57Smrg#
826540dd5a57Smrg# Of course, Automake must honor this variable whenever it calls a
826640dd5a57Smrg# tool from the auxiliary directory.  The problem is that $srcdir (and
826740dd5a57Smrg# therefore $ac_aux_dir as well) can be either absolute or relative,
826840dd5a57Smrg# depending on how configure is run.  This is pretty annoying, since
826940dd5a57Smrg# it makes $ac_aux_dir quite unusable in subdirectories: in the top
827040dd5a57Smrg# source directory, any form will work fine, but in subdirectories a
827140dd5a57Smrg# relative path needs to be adjusted first.
827240dd5a57Smrg#
827340dd5a57Smrg# $ac_aux_dir/missing
827440dd5a57Smrg#    fails when called from a subdirectory if $ac_aux_dir is relative
827540dd5a57Smrg# $top_srcdir/$ac_aux_dir/missing
827640dd5a57Smrg#    fails if $ac_aux_dir is absolute,
827740dd5a57Smrg#    fails when called from a subdirectory in a VPATH build with
827840dd5a57Smrg#          a relative $ac_aux_dir
827940dd5a57Smrg#
828040dd5a57Smrg# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
828140dd5a57Smrg# are both prefixed by $srcdir.  In an in-source build this is usually
828240dd5a57Smrg# harmless because $srcdir is `.', but things will broke when you
828340dd5a57Smrg# start a VPATH build or use an absolute $srcdir.
828440dd5a57Smrg#
828540dd5a57Smrg# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
828640dd5a57Smrg# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
828740dd5a57Smrg#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
828840dd5a57Smrg# and then we would define $MISSING as
828940dd5a57Smrg#   MISSING="\${SHELL} $am_aux_dir/missing"
829040dd5a57Smrg# This will work as long as MISSING is not called from configure, because
829140dd5a57Smrg# unfortunately $(top_srcdir) has no meaning in configure.
829240dd5a57Smrg# However there are other variables, like CC, which are often used in
829340dd5a57Smrg# configure, and could therefore not use this "fixed" $ac_aux_dir.
829440dd5a57Smrg#
829540dd5a57Smrg# Another solution, used here, is to always expand $ac_aux_dir to an
829640dd5a57Smrg# absolute PATH.  The drawback is that using absolute paths prevent a
829740dd5a57Smrg# configured tree to be moved without reconfiguration.
829840dd5a57Smrg
829940dd5a57SmrgAC_DEFUN([AM_AUX_DIR_EXPAND],
830040dd5a57Smrg[dnl Rely on autoconf to set up CDPATH properly.
830140dd5a57SmrgAC_PREREQ([2.50])dnl
830240dd5a57Smrg# expand $ac_aux_dir to an absolute path
830340dd5a57Smrgam_aux_dir=`cd $ac_aux_dir && pwd`
830440dd5a57Smrg])
830540dd5a57Smrg
830640dd5a57Smrg# AM_CONDITIONAL                                            -*- Autoconf -*-
830740dd5a57Smrg
830840dd5a57Smrg# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
830940dd5a57Smrg# Free Software Foundation, Inc.
831040dd5a57Smrg#
831140dd5a57Smrg# This file is free software; the Free Software Foundation
831240dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
831340dd5a57Smrg# with or without modifications, as long as this notice is preserved.
831440dd5a57Smrg
831540dd5a57Smrg# serial 9
831640dd5a57Smrg
831740dd5a57Smrg# AM_CONDITIONAL(NAME, SHELL-CONDITION)
831840dd5a57Smrg# -------------------------------------
831940dd5a57Smrg# Define a conditional.
832040dd5a57SmrgAC_DEFUN([AM_CONDITIONAL],
832140dd5a57Smrg[AC_PREREQ(2.52)dnl
832240dd5a57Smrg ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
832340dd5a57Smrg	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
832440dd5a57SmrgAC_SUBST([$1_TRUE])dnl
832540dd5a57SmrgAC_SUBST([$1_FALSE])dnl
832640dd5a57Smrg_AM_SUBST_NOTMAKE([$1_TRUE])dnl
832740dd5a57Smrg_AM_SUBST_NOTMAKE([$1_FALSE])dnl
832840dd5a57Smrgm4_define([_AM_COND_VALUE_$1], [$2])dnl
832940dd5a57Smrgif $2; then
833040dd5a57Smrg  $1_TRUE=
833140dd5a57Smrg  $1_FALSE='#'
833240dd5a57Smrgelse
833340dd5a57Smrg  $1_TRUE='#'
833440dd5a57Smrg  $1_FALSE=
833540dd5a57Smrgfi
833640dd5a57SmrgAC_CONFIG_COMMANDS_PRE(
833740dd5a57Smrg[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
833840dd5a57Smrg  AC_MSG_ERROR([[conditional "$1" was never defined.
833940dd5a57SmrgUsually this means the macro was only invoked conditionally.]])
834040dd5a57Smrgfi])])
834140dd5a57Smrg
834240dd5a57Smrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
834340dd5a57Smrg# Free Software Foundation, Inc.
834440dd5a57Smrg#
834540dd5a57Smrg# This file is free software; the Free Software Foundation
834640dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
834740dd5a57Smrg# with or without modifications, as long as this notice is preserved.
834840dd5a57Smrg
834940dd5a57Smrg# serial 10
835040dd5a57Smrg
835140dd5a57Smrg# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
835240dd5a57Smrg# written in clear, in which case automake, when reading aclocal.m4,
835340dd5a57Smrg# will think it sees a *use*, and therefore will trigger all it's
835440dd5a57Smrg# C support machinery.  Also note that it means that autoscan, seeing
835540dd5a57Smrg# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
835640dd5a57Smrg
835740dd5a57Smrg
835840dd5a57Smrg# _AM_DEPENDENCIES(NAME)
835940dd5a57Smrg# ----------------------
836040dd5a57Smrg# See how the compiler implements dependency checking.
836140dd5a57Smrg# NAME is "CC", "CXX", "GCJ", or "OBJC".
836240dd5a57Smrg# We try a few techniques and use that to set a single cache variable.
836340dd5a57Smrg#
836440dd5a57Smrg# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
836540dd5a57Smrg# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
836640dd5a57Smrg# dependency, and given that the user is not expected to run this macro,
836740dd5a57Smrg# just rely on AC_PROG_CC.
836840dd5a57SmrgAC_DEFUN([_AM_DEPENDENCIES],
836940dd5a57Smrg[AC_REQUIRE([AM_SET_DEPDIR])dnl
837040dd5a57SmrgAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
837140dd5a57SmrgAC_REQUIRE([AM_MAKE_INCLUDE])dnl
837240dd5a57SmrgAC_REQUIRE([AM_DEP_TRACK])dnl
837340dd5a57Smrg
837440dd5a57Smrgifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
837540dd5a57Smrg       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
837640dd5a57Smrg       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
837740dd5a57Smrg       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
837840dd5a57Smrg       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
837940dd5a57Smrg                   [depcc="$$1"   am_compiler_list=])
838040dd5a57Smrg
838140dd5a57SmrgAC_CACHE_CHECK([dependency style of $depcc],
838240dd5a57Smrg               [am_cv_$1_dependencies_compiler_type],
838340dd5a57Smrg[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
838440dd5a57Smrg  # We make a subdir and do the tests there.  Otherwise we can end up
838540dd5a57Smrg  # making bogus files that we don't know about and never remove.  For
838640dd5a57Smrg  # instance it was reported that on HP-UX the gcc test will end up
838740dd5a57Smrg  # making a dummy file named `D' -- because `-MD' means `put the output
838840dd5a57Smrg  # in D'.
838940dd5a57Smrg  mkdir conftest.dir
839040dd5a57Smrg  # Copy depcomp to subdir because otherwise we won't find it if we're
839140dd5a57Smrg  # using a relative directory.
839240dd5a57Smrg  cp "$am_depcomp" conftest.dir
839340dd5a57Smrg  cd conftest.dir
839440dd5a57Smrg  # We will build objects and dependencies in a subdirectory because
839540dd5a57Smrg  # it helps to detect inapplicable dependency modes.  For instance
839640dd5a57Smrg  # both Tru64's cc and ICC support -MD to output dependencies as a
839740dd5a57Smrg  # side effect of compilation, but ICC will put the dependencies in
839840dd5a57Smrg  # the current directory while Tru64 will put them in the object
839940dd5a57Smrg  # directory.
840040dd5a57Smrg  mkdir sub
840140dd5a57Smrg
840240dd5a57Smrg  am_cv_$1_dependencies_compiler_type=none
840340dd5a57Smrg  if test "$am_compiler_list" = ""; then
840440dd5a57Smrg     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
840540dd5a57Smrg  fi
840640dd5a57Smrg  am__universal=false
840740dd5a57Smrg  m4_case([$1], [CC],
840840dd5a57Smrg    [case " $depcc " in #(
840940dd5a57Smrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
841040dd5a57Smrg     esac],
841140dd5a57Smrg    [CXX],
841240dd5a57Smrg    [case " $depcc " in #(
841340dd5a57Smrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
841440dd5a57Smrg     esac])
841540dd5a57Smrg
841640dd5a57Smrg  for depmode in $am_compiler_list; do
841740dd5a57Smrg    # Setup a source with many dependencies, because some compilers
841840dd5a57Smrg    # like to wrap large dependency lists on column 80 (with \), and
841940dd5a57Smrg    # we should not choose a depcomp mode which is confused by this.
842040dd5a57Smrg    #
842140dd5a57Smrg    # We need to recreate these files for each test, as the compiler may
842240dd5a57Smrg    # overwrite some of them when testing with obscure command lines.
842340dd5a57Smrg    # This happens at least with the AIX C compiler.
842440dd5a57Smrg    : > sub/conftest.c
842540dd5a57Smrg    for i in 1 2 3 4 5 6; do
842640dd5a57Smrg      echo '#include "conftst'$i'.h"' >> sub/conftest.c
842740dd5a57Smrg      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
842840dd5a57Smrg      # Solaris 8's {/usr,}/bin/sh.
842940dd5a57Smrg      touch sub/conftst$i.h
843040dd5a57Smrg    done
843140dd5a57Smrg    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
843240dd5a57Smrg
843340dd5a57Smrg    # We check with `-c' and `-o' for the sake of the "dashmstdout"
843440dd5a57Smrg    # mode.  It turns out that the SunPro C++ compiler does not properly
843540dd5a57Smrg    # handle `-M -o', and we need to detect this.  Also, some Intel
843640dd5a57Smrg    # versions had trouble with output in subdirs
843740dd5a57Smrg    am__obj=sub/conftest.${OBJEXT-o}
843840dd5a57Smrg    am__minus_obj="-o $am__obj"
843940dd5a57Smrg    case $depmode in
844040dd5a57Smrg    gcc)
844140dd5a57Smrg      # This depmode causes a compiler race in universal mode.
844240dd5a57Smrg      test "$am__universal" = false || continue
844340dd5a57Smrg      ;;
844440dd5a57Smrg    nosideeffect)
844540dd5a57Smrg      # after this tag, mechanisms are not by side-effect, so they'll
844640dd5a57Smrg      # only be used when explicitly requested
844740dd5a57Smrg      if test "x$enable_dependency_tracking" = xyes; then
844840dd5a57Smrg	continue
844940dd5a57Smrg      else
845040dd5a57Smrg	break
845140dd5a57Smrg      fi
845240dd5a57Smrg      ;;
845340dd5a57Smrg    msvisualcpp | msvcmsys)
845440dd5a57Smrg      # This compiler won't grok `-c -o', but also, the minuso test has
845540dd5a57Smrg      # not run yet.  These depmodes are late enough in the game, and
845640dd5a57Smrg      # so weak that their functioning should not be impacted.
845740dd5a57Smrg      am__obj=conftest.${OBJEXT-o}
845840dd5a57Smrg      am__minus_obj=
845940dd5a57Smrg      ;;
846040dd5a57Smrg    none) break ;;
846140dd5a57Smrg    esac
846240dd5a57Smrg    if depmode=$depmode \
846340dd5a57Smrg       source=sub/conftest.c object=$am__obj \
846440dd5a57Smrg       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
846540dd5a57Smrg       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
846640dd5a57Smrg         >/dev/null 2>conftest.err &&
846740dd5a57Smrg       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
846840dd5a57Smrg       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
846940dd5a57Smrg       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
847040dd5a57Smrg       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
847140dd5a57Smrg      # icc doesn't choke on unknown options, it will just issue warnings
847240dd5a57Smrg      # or remarks (even with -Werror).  So we grep stderr for any message
847340dd5a57Smrg      # that says an option was ignored or not supported.
847440dd5a57Smrg      # When given -MP, icc 7.0 and 7.1 complain thusly:
847540dd5a57Smrg      #   icc: Command line warning: ignoring option '-M'; no argument required
847640dd5a57Smrg      # The diagnosis changed in icc 8.0:
847740dd5a57Smrg      #   icc: Command line remark: option '-MP' not supported
847840dd5a57Smrg      if (grep 'ignoring option' conftest.err ||
847940dd5a57Smrg          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
848040dd5a57Smrg        am_cv_$1_dependencies_compiler_type=$depmode
848140dd5a57Smrg        break
848240dd5a57Smrg      fi
848340dd5a57Smrg    fi
848440dd5a57Smrg  done
848540dd5a57Smrg
848640dd5a57Smrg  cd ..
848740dd5a57Smrg  rm -rf conftest.dir
848840dd5a57Smrgelse
848940dd5a57Smrg  am_cv_$1_dependencies_compiler_type=none
849040dd5a57Smrgfi
849140dd5a57Smrg])
849240dd5a57SmrgAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
849340dd5a57SmrgAM_CONDITIONAL([am__fastdep$1], [
849440dd5a57Smrg  test "x$enable_dependency_tracking" != xno \
849540dd5a57Smrg  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
849640dd5a57Smrg])
849740dd5a57Smrg
849840dd5a57Smrg
849940dd5a57Smrg# AM_SET_DEPDIR
850040dd5a57Smrg# -------------
850140dd5a57Smrg# Choose a directory name for dependency files.
850240dd5a57Smrg# This macro is AC_REQUIREd in _AM_DEPENDENCIES
850340dd5a57SmrgAC_DEFUN([AM_SET_DEPDIR],
850440dd5a57Smrg[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
850540dd5a57SmrgAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
850640dd5a57Smrg])
850740dd5a57Smrg
850840dd5a57Smrg
850940dd5a57Smrg# AM_DEP_TRACK
851040dd5a57Smrg# ------------
851140dd5a57SmrgAC_DEFUN([AM_DEP_TRACK],
851240dd5a57Smrg[AC_ARG_ENABLE(dependency-tracking,
851340dd5a57Smrg[  --disable-dependency-tracking  speeds up one-time build
851440dd5a57Smrg  --enable-dependency-tracking   do not reject slow dependency extractors])
851540dd5a57Smrgif test "x$enable_dependency_tracking" != xno; then
851640dd5a57Smrg  am_depcomp="$ac_aux_dir/depcomp"
851740dd5a57Smrg  AMDEPBACKSLASH='\'
851840dd5a57Smrgfi
851940dd5a57SmrgAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
852040dd5a57SmrgAC_SUBST([AMDEPBACKSLASH])dnl
852140dd5a57Smrg_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
852240dd5a57Smrg])
852340dd5a57Smrg
852440dd5a57Smrg# Generate code to set up dependency tracking.              -*- Autoconf -*-
852540dd5a57Smrg
852640dd5a57Smrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
852740dd5a57Smrg# Free Software Foundation, Inc.
852840dd5a57Smrg#
852940dd5a57Smrg# This file is free software; the Free Software Foundation
853040dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
853140dd5a57Smrg# with or without modifications, as long as this notice is preserved.
853240dd5a57Smrg
853340dd5a57Smrg#serial 5
853440dd5a57Smrg
853540dd5a57Smrg# _AM_OUTPUT_DEPENDENCY_COMMANDS
853640dd5a57Smrg# ------------------------------
853740dd5a57SmrgAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
853840dd5a57Smrg[{
853940dd5a57Smrg  # Autoconf 2.62 quotes --file arguments for eval, but not when files
854040dd5a57Smrg  # are listed without --file.  Let's play safe and only enable the eval
854140dd5a57Smrg  # if we detect the quoting.
854240dd5a57Smrg  case $CONFIG_FILES in
854340dd5a57Smrg  *\'*) eval set x "$CONFIG_FILES" ;;
854440dd5a57Smrg  *)   set x $CONFIG_FILES ;;
854540dd5a57Smrg  esac
854640dd5a57Smrg  shift
854740dd5a57Smrg  for mf
854840dd5a57Smrg  do
854940dd5a57Smrg    # Strip MF so we end up with the name of the file.
855040dd5a57Smrg    mf=`echo "$mf" | sed -e 's/:.*$//'`
855140dd5a57Smrg    # Check whether this is an Automake generated Makefile or not.
855240dd5a57Smrg    # We used to match only the files named `Makefile.in', but
855340dd5a57Smrg    # some people rename them; so instead we look at the file content.
855440dd5a57Smrg    # Grep'ing the first line is not enough: some people post-process
855540dd5a57Smrg    # each Makefile.in and add a new line on top of each file to say so.
855640dd5a57Smrg    # Grep'ing the whole file is not good either: AIX grep has a line
855740dd5a57Smrg    # limit of 2048, but all sed's we know have understand at least 4000.
855840dd5a57Smrg    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
855940dd5a57Smrg      dirpart=`AS_DIRNAME("$mf")`
856040dd5a57Smrg    else
856140dd5a57Smrg      continue
856240dd5a57Smrg    fi
856340dd5a57Smrg    # Extract the definition of DEPDIR, am__include, and am__quote
856440dd5a57Smrg    # from the Makefile without running `make'.
856540dd5a57Smrg    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
856640dd5a57Smrg    test -z "$DEPDIR" && continue
856740dd5a57Smrg    am__include=`sed -n 's/^am__include = //p' < "$mf"`
856840dd5a57Smrg    test -z "am__include" && continue
856940dd5a57Smrg    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
857040dd5a57Smrg    # When using ansi2knr, U may be empty or an underscore; expand it
857140dd5a57Smrg    U=`sed -n 's/^U = //p' < "$mf"`
857240dd5a57Smrg    # Find all dependency output files, they are included files with
857340dd5a57Smrg    # $(DEPDIR) in their names.  We invoke sed twice because it is the
857440dd5a57Smrg    # simplest approach to changing $(DEPDIR) to its actual value in the
857540dd5a57Smrg    # expansion.
857640dd5a57Smrg    for file in `sed -n "
857740dd5a57Smrg      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
857840dd5a57Smrg	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
857940dd5a57Smrg      # Make sure the directory exists.
858040dd5a57Smrg      test -f "$dirpart/$file" && continue
858140dd5a57Smrg      fdir=`AS_DIRNAME(["$file"])`
858240dd5a57Smrg      AS_MKDIR_P([$dirpart/$fdir])
858340dd5a57Smrg      # echo "creating $dirpart/$file"
858440dd5a57Smrg      echo '# dummy' > "$dirpart/$file"
858540dd5a57Smrg    done
858640dd5a57Smrg  done
858740dd5a57Smrg}
858840dd5a57Smrg])# _AM_OUTPUT_DEPENDENCY_COMMANDS
858940dd5a57Smrg
859040dd5a57Smrg
859140dd5a57Smrg# AM_OUTPUT_DEPENDENCY_COMMANDS
859240dd5a57Smrg# -----------------------------
859340dd5a57Smrg# This macro should only be invoked once -- use via AC_REQUIRE.
859440dd5a57Smrg#
859540dd5a57Smrg# This code is only required when automatic dependency tracking
859640dd5a57Smrg# is enabled.  FIXME.  This creates each `.P' file that we will
859740dd5a57Smrg# need in order to bootstrap the dependency handling code.
859840dd5a57SmrgAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
859940dd5a57Smrg[AC_CONFIG_COMMANDS([depfiles],
860040dd5a57Smrg     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
860140dd5a57Smrg     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
860240dd5a57Smrg])
860340dd5a57Smrg
860440dd5a57Smrg# Do all the work for Automake.                             -*- Autoconf -*-
860540dd5a57Smrg
860640dd5a57Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
860740dd5a57Smrg# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
860840dd5a57Smrg#
860940dd5a57Smrg# This file is free software; the Free Software Foundation
861040dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
861140dd5a57Smrg# with or without modifications, as long as this notice is preserved.
861240dd5a57Smrg
861340dd5a57Smrg# serial 16
861440dd5a57Smrg
861540dd5a57Smrg# This macro actually does too much.  Some checks are only needed if
861640dd5a57Smrg# your package does certain things.  But this isn't really a big deal.
861740dd5a57Smrg
861840dd5a57Smrg# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
861940dd5a57Smrg# AM_INIT_AUTOMAKE([OPTIONS])
862040dd5a57Smrg# -----------------------------------------------
862140dd5a57Smrg# The call with PACKAGE and VERSION arguments is the old style
862240dd5a57Smrg# call (pre autoconf-2.50), which is being phased out.  PACKAGE
862340dd5a57Smrg# and VERSION should now be passed to AC_INIT and removed from
862440dd5a57Smrg# the call to AM_INIT_AUTOMAKE.
862540dd5a57Smrg# We support both call styles for the transition.  After
862640dd5a57Smrg# the next Automake release, Autoconf can make the AC_INIT
862740dd5a57Smrg# arguments mandatory, and then we can depend on a new Autoconf
862840dd5a57Smrg# release and drop the old call support.
862940dd5a57SmrgAC_DEFUN([AM_INIT_AUTOMAKE],
863040dd5a57Smrg[AC_PREREQ([2.62])dnl
863140dd5a57Smrgdnl Autoconf wants to disallow AM_ names.  We explicitly allow
863240dd5a57Smrgdnl the ones we care about.
863340dd5a57Smrgm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
863440dd5a57SmrgAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
863540dd5a57SmrgAC_REQUIRE([AC_PROG_INSTALL])dnl
863640dd5a57Smrgif test "`cd $srcdir && pwd`" != "`pwd`"; then
863740dd5a57Smrg  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
863840dd5a57Smrg  # is not polluted with repeated "-I."
863940dd5a57Smrg  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
864040dd5a57Smrg  # test to see if srcdir already configured
864140dd5a57Smrg  if test -f $srcdir/config.status; then
864240dd5a57Smrg    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
864340dd5a57Smrg  fi
864440dd5a57Smrgfi
864540dd5a57Smrg
864640dd5a57Smrg# test whether we have cygpath
864740dd5a57Smrgif test -z "$CYGPATH_W"; then
864840dd5a57Smrg  if (cygpath --version) >/dev/null 2>/dev/null; then
864940dd5a57Smrg    CYGPATH_W='cygpath -w'
865040dd5a57Smrg  else
865140dd5a57Smrg    CYGPATH_W=echo
865240dd5a57Smrg  fi
865340dd5a57Smrgfi
865440dd5a57SmrgAC_SUBST([CYGPATH_W])
865540dd5a57Smrg
865640dd5a57Smrg# Define the identity of the package.
865740dd5a57Smrgdnl Distinguish between old-style and new-style calls.
865840dd5a57Smrgm4_ifval([$2],
865940dd5a57Smrg[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
866040dd5a57Smrg AC_SUBST([PACKAGE], [$1])dnl
866140dd5a57Smrg AC_SUBST([VERSION], [$2])],
866240dd5a57Smrg[_AM_SET_OPTIONS([$1])dnl
866340dd5a57Smrgdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
866440dd5a57Smrgm4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
866540dd5a57Smrg  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
866640dd5a57Smrg AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
866740dd5a57Smrg AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
866840dd5a57Smrg
866940dd5a57Smrg_AM_IF_OPTION([no-define],,
867040dd5a57Smrg[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
867140dd5a57Smrg AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
867240dd5a57Smrg
867340dd5a57Smrg# Some tools Automake needs.
867440dd5a57SmrgAC_REQUIRE([AM_SANITY_CHECK])dnl
867540dd5a57SmrgAC_REQUIRE([AC_ARG_PROGRAM])dnl
867640dd5a57SmrgAM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
867740dd5a57SmrgAM_MISSING_PROG(AUTOCONF, autoconf)
867840dd5a57SmrgAM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
867940dd5a57SmrgAM_MISSING_PROG(AUTOHEADER, autoheader)
868040dd5a57SmrgAM_MISSING_PROG(MAKEINFO, makeinfo)
868140dd5a57SmrgAC_REQUIRE([AM_PROG_INSTALL_SH])dnl
868240dd5a57SmrgAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
868340dd5a57SmrgAC_REQUIRE([AM_PROG_MKDIR_P])dnl
868440dd5a57Smrg# We need awk for the "check" target.  The system "awk" is bad on
868540dd5a57Smrg# some platforms.
868640dd5a57SmrgAC_REQUIRE([AC_PROG_AWK])dnl
868740dd5a57SmrgAC_REQUIRE([AC_PROG_MAKE_SET])dnl
868840dd5a57SmrgAC_REQUIRE([AM_SET_LEADING_DOT])dnl
868940dd5a57Smrg_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
869040dd5a57Smrg	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
869140dd5a57Smrg			     [_AM_PROG_TAR([v7])])])
869240dd5a57Smrg_AM_IF_OPTION([no-dependencies],,
869340dd5a57Smrg[AC_PROVIDE_IFELSE([AC_PROG_CC],
869440dd5a57Smrg		  [_AM_DEPENDENCIES(CC)],
869540dd5a57Smrg		  [define([AC_PROG_CC],
869640dd5a57Smrg			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
869740dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_CXX],
869840dd5a57Smrg		  [_AM_DEPENDENCIES(CXX)],
869940dd5a57Smrg		  [define([AC_PROG_CXX],
870040dd5a57Smrg			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
870140dd5a57SmrgAC_PROVIDE_IFELSE([AC_PROG_OBJC],
870240dd5a57Smrg		  [_AM_DEPENDENCIES(OBJC)],
870340dd5a57Smrg		  [define([AC_PROG_OBJC],
870440dd5a57Smrg			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
870540dd5a57Smrg])
870640dd5a57Smrg_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
870740dd5a57Smrgdnl The `parallel-tests' driver may need to know about EXEEXT, so add the
870840dd5a57Smrgdnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
870940dd5a57Smrgdnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
871040dd5a57SmrgAC_CONFIG_COMMANDS_PRE(dnl
871140dd5a57Smrg[m4_provide_if([_AM_COMPILER_EXEEXT],
871240dd5a57Smrg  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
871340dd5a57Smrg])
871440dd5a57Smrg
871540dd5a57Smrgdnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
871640dd5a57Smrgdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
871740dd5a57Smrgdnl mangled by Autoconf and run in a shell conditional statement.
871840dd5a57Smrgm4_define([_AC_COMPILER_EXEEXT],
871940dd5a57Smrgm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
872040dd5a57Smrg
872140dd5a57Smrg
872240dd5a57Smrg# When config.status generates a header, we must update the stamp-h file.
872340dd5a57Smrg# This file resides in the same directory as the config header
872440dd5a57Smrg# that is generated.  The stamp files are numbered to have different names.
872540dd5a57Smrg
872640dd5a57Smrg# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
872740dd5a57Smrg# loop where config.status creates the headers, so we can generate
872840dd5a57Smrg# our stamp files there.
872940dd5a57SmrgAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
873040dd5a57Smrg[# Compute $1's index in $config_headers.
873140dd5a57Smrg_am_arg=$1
873240dd5a57Smrg_am_stamp_count=1
873340dd5a57Smrgfor _am_header in $config_headers :; do
873440dd5a57Smrg  case $_am_header in
873540dd5a57Smrg    $_am_arg | $_am_arg:* )
873640dd5a57Smrg      break ;;
873740dd5a57Smrg    * )
873840dd5a57Smrg      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
873940dd5a57Smrg  esac
874040dd5a57Smrgdone
874140dd5a57Smrgecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
874240dd5a57Smrg
874340dd5a57Smrg# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
874440dd5a57Smrg#
874540dd5a57Smrg# This file is free software; the Free Software Foundation
874640dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
874740dd5a57Smrg# with or without modifications, as long as this notice is preserved.
874840dd5a57Smrg
874940dd5a57Smrg# AM_PROG_INSTALL_SH
875040dd5a57Smrg# ------------------
875140dd5a57Smrg# Define $install_sh.
875240dd5a57SmrgAC_DEFUN([AM_PROG_INSTALL_SH],
875340dd5a57Smrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
875440dd5a57Smrgif test x"${install_sh}" != xset; then
875540dd5a57Smrg  case $am_aux_dir in
875640dd5a57Smrg  *\ * | *\	*)
875740dd5a57Smrg    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
875840dd5a57Smrg  *)
875940dd5a57Smrg    install_sh="\${SHELL} $am_aux_dir/install-sh"
876040dd5a57Smrg  esac
876140dd5a57Smrgfi
876240dd5a57SmrgAC_SUBST(install_sh)])
876340dd5a57Smrg
876440dd5a57Smrg# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
876540dd5a57Smrg#
876640dd5a57Smrg# This file is free software; the Free Software Foundation
876740dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
876840dd5a57Smrg# with or without modifications, as long as this notice is preserved.
876940dd5a57Smrg
877040dd5a57Smrg# serial 2
877140dd5a57Smrg
877240dd5a57Smrg# Check whether the underlying file-system supports filenames
877340dd5a57Smrg# with a leading dot.  For instance MS-DOS doesn't.
877440dd5a57SmrgAC_DEFUN([AM_SET_LEADING_DOT],
877540dd5a57Smrg[rm -rf .tst 2>/dev/null
877640dd5a57Smrgmkdir .tst 2>/dev/null
877740dd5a57Smrgif test -d .tst; then
877840dd5a57Smrg  am__leading_dot=.
877940dd5a57Smrgelse
878040dd5a57Smrg  am__leading_dot=_
878140dd5a57Smrgfi
878240dd5a57Smrgrmdir .tst 2>/dev/null
878340dd5a57SmrgAC_SUBST([am__leading_dot])])
878440dd5a57Smrg
878540dd5a57Smrg# Check to see how 'make' treats includes.	            -*- Autoconf -*-
878640dd5a57Smrg
878740dd5a57Smrg# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
878840dd5a57Smrg#
878940dd5a57Smrg# This file is free software; the Free Software Foundation
879040dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
879140dd5a57Smrg# with or without modifications, as long as this notice is preserved.
879240dd5a57Smrg
879340dd5a57Smrg# serial 4
879440dd5a57Smrg
879540dd5a57Smrg# AM_MAKE_INCLUDE()
879640dd5a57Smrg# -----------------
879740dd5a57Smrg# Check to see how make treats includes.
879840dd5a57SmrgAC_DEFUN([AM_MAKE_INCLUDE],
879940dd5a57Smrg[am_make=${MAKE-make}
880040dd5a57Smrgcat > confinc << 'END'
880140dd5a57Smrgam__doit:
880240dd5a57Smrg	@echo this is the am__doit target
880340dd5a57Smrg.PHONY: am__doit
880440dd5a57SmrgEND
880540dd5a57Smrg# If we don't find an include directive, just comment out the code.
880640dd5a57SmrgAC_MSG_CHECKING([for style of include used by $am_make])
880740dd5a57Smrgam__include="#"
880840dd5a57Smrgam__quote=
880940dd5a57Smrg_am_result=none
881040dd5a57Smrg# First try GNU make style include.
881140dd5a57Smrgecho "include confinc" > confmf
881240dd5a57Smrg# Ignore all kinds of additional output from `make'.
881340dd5a57Smrgcase `$am_make -s -f confmf 2> /dev/null` in #(
881440dd5a57Smrg*the\ am__doit\ target*)
881540dd5a57Smrg  am__include=include
881640dd5a57Smrg  am__quote=
881740dd5a57Smrg  _am_result=GNU
881840dd5a57Smrg  ;;
881940dd5a57Smrgesac
882040dd5a57Smrg# Now try BSD make style include.
882140dd5a57Smrgif test "$am__include" = "#"; then
882240dd5a57Smrg   echo '.include "confinc"' > confmf
882340dd5a57Smrg   case `$am_make -s -f confmf 2> /dev/null` in #(
882440dd5a57Smrg   *the\ am__doit\ target*)
882540dd5a57Smrg     am__include=.include
882640dd5a57Smrg     am__quote="\""
882740dd5a57Smrg     _am_result=BSD
882840dd5a57Smrg     ;;
882940dd5a57Smrg   esac
883040dd5a57Smrgfi
883140dd5a57SmrgAC_SUBST([am__include])
883240dd5a57SmrgAC_SUBST([am__quote])
883340dd5a57SmrgAC_MSG_RESULT([$_am_result])
883440dd5a57Smrgrm -f confinc confmf
883540dd5a57Smrg])
883640dd5a57Smrg
883740dd5a57Smrg# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
883840dd5a57Smrg# Free Software Foundation, Inc.
883940dd5a57Smrg#
884040dd5a57Smrg# This file is free software; the Free Software Foundation
884140dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
884240dd5a57Smrg# with or without modifications, as long as this notice is preserved.
884340dd5a57Smrg
884440dd5a57Smrg# serial 6
884540dd5a57Smrg
884640dd5a57Smrg# AM_PROG_CC_C_O
884740dd5a57Smrg# --------------
884840dd5a57Smrg# Like AC_PROG_CC_C_O, but changed for automake.
884940dd5a57SmrgAC_DEFUN([AM_PROG_CC_C_O],
885040dd5a57Smrg[AC_REQUIRE([AC_PROG_CC_C_O])dnl
885140dd5a57SmrgAC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
885240dd5a57SmrgAC_REQUIRE_AUX_FILE([compile])dnl
885340dd5a57Smrg# FIXME: we rely on the cache variable name because
885440dd5a57Smrg# there is no other way.
885540dd5a57Smrgset dummy $CC
885640dd5a57Smrgam_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
885740dd5a57Smrgeval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
885840dd5a57Smrgif test "$am_t" != yes; then
885940dd5a57Smrg   # Losing compiler, so override with the script.
886040dd5a57Smrg   # FIXME: It is wrong to rewrite CC.
886140dd5a57Smrg   # But if we don't then we get into trouble of one sort or another.
886240dd5a57Smrg   # A longer-term fix would be to have automake use am__CC in this case,
886340dd5a57Smrg   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
886440dd5a57Smrg   CC="$am_aux_dir/compile $CC"
886540dd5a57Smrgfi
886640dd5a57Smrgdnl Make sure AC_PROG_CC is never called again, or it will override our
886740dd5a57Smrgdnl setting of CC.
886840dd5a57Smrgm4_define([AC_PROG_CC],
886940dd5a57Smrg          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
887040dd5a57Smrg])
887140dd5a57Smrg
887240dd5a57Smrg# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
887340dd5a57Smrg
887440dd5a57Smrg# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
887540dd5a57Smrg# Free Software Foundation, Inc.
887640dd5a57Smrg#
887740dd5a57Smrg# This file is free software; the Free Software Foundation
887840dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
887940dd5a57Smrg# with or without modifications, as long as this notice is preserved.
888040dd5a57Smrg
888140dd5a57Smrg# serial 6
888240dd5a57Smrg
888340dd5a57Smrg# AM_MISSING_PROG(NAME, PROGRAM)
888440dd5a57Smrg# ------------------------------
888540dd5a57SmrgAC_DEFUN([AM_MISSING_PROG],
888640dd5a57Smrg[AC_REQUIRE([AM_MISSING_HAS_RUN])
888740dd5a57Smrg$1=${$1-"${am_missing_run}$2"}
888840dd5a57SmrgAC_SUBST($1)])
888940dd5a57Smrg
889040dd5a57Smrg
889140dd5a57Smrg# AM_MISSING_HAS_RUN
889240dd5a57Smrg# ------------------
889340dd5a57Smrg# Define MISSING if not defined so far and test if it supports --run.
889440dd5a57Smrg# If it does, set am_missing_run to use it, otherwise, to nothing.
889540dd5a57SmrgAC_DEFUN([AM_MISSING_HAS_RUN],
889640dd5a57Smrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
889740dd5a57SmrgAC_REQUIRE_AUX_FILE([missing])dnl
889840dd5a57Smrgif test x"${MISSING+set}" != xset; then
889940dd5a57Smrg  case $am_aux_dir in
890040dd5a57Smrg  *\ * | *\	*)
890140dd5a57Smrg    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
890240dd5a57Smrg  *)
890340dd5a57Smrg    MISSING="\${SHELL} $am_aux_dir/missing" ;;
890440dd5a57Smrg  esac
890540dd5a57Smrgfi
890640dd5a57Smrg# Use eval to expand $SHELL
890740dd5a57Smrgif eval "$MISSING --run true"; then
890840dd5a57Smrg  am_missing_run="$MISSING --run "
890940dd5a57Smrgelse
891040dd5a57Smrg  am_missing_run=
891140dd5a57Smrg  AC_MSG_WARN([`missing' script is too old or missing])
891240dd5a57Smrgfi
891340dd5a57Smrg])
891440dd5a57Smrg
891540dd5a57Smrg# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
891640dd5a57Smrg#
891740dd5a57Smrg# This file is free software; the Free Software Foundation
891840dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
891940dd5a57Smrg# with or without modifications, as long as this notice is preserved.
892040dd5a57Smrg
892140dd5a57Smrg# AM_PROG_MKDIR_P
892240dd5a57Smrg# ---------------
892340dd5a57Smrg# Check for `mkdir -p'.
892440dd5a57SmrgAC_DEFUN([AM_PROG_MKDIR_P],
892540dd5a57Smrg[AC_PREREQ([2.60])dnl
892640dd5a57SmrgAC_REQUIRE([AC_PROG_MKDIR_P])dnl
892740dd5a57Smrgdnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
892840dd5a57Smrgdnl while keeping a definition of mkdir_p for backward compatibility.
892940dd5a57Smrgdnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
893040dd5a57Smrgdnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
893140dd5a57Smrgdnl Makefile.ins that do not define MKDIR_P, so we do our own
893240dd5a57Smrgdnl adjustment using top_builddir (which is defined more often than
893340dd5a57Smrgdnl MKDIR_P).
893440dd5a57SmrgAC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
893540dd5a57Smrgcase $mkdir_p in
893640dd5a57Smrg  [[\\/$]]* | ?:[[\\/]]*) ;;
893740dd5a57Smrg  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
893840dd5a57Smrgesac
893940dd5a57Smrg])
894040dd5a57Smrg
894140dd5a57Smrg# Helper functions for option handling.                     -*- Autoconf -*-
894240dd5a57Smrg
894340dd5a57Smrg# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
894440dd5a57Smrg#
894540dd5a57Smrg# This file is free software; the Free Software Foundation
894640dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
894740dd5a57Smrg# with or without modifications, as long as this notice is preserved.
894840dd5a57Smrg
894940dd5a57Smrg# serial 4
895040dd5a57Smrg
895140dd5a57Smrg# _AM_MANGLE_OPTION(NAME)
895240dd5a57Smrg# -----------------------
895340dd5a57SmrgAC_DEFUN([_AM_MANGLE_OPTION],
895440dd5a57Smrg[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
895540dd5a57Smrg
895640dd5a57Smrg# _AM_SET_OPTION(NAME)
895740dd5a57Smrg# ------------------------------
895840dd5a57Smrg# Set option NAME.  Presently that only means defining a flag for this option.
895940dd5a57SmrgAC_DEFUN([_AM_SET_OPTION],
896040dd5a57Smrg[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
896140dd5a57Smrg
896240dd5a57Smrg# _AM_SET_OPTIONS(OPTIONS)
896340dd5a57Smrg# ----------------------------------
896440dd5a57Smrg# OPTIONS is a space-separated list of Automake options.
896540dd5a57SmrgAC_DEFUN([_AM_SET_OPTIONS],
896640dd5a57Smrg[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
896740dd5a57Smrg
896840dd5a57Smrg# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
896940dd5a57Smrg# -------------------------------------------
897040dd5a57Smrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
897140dd5a57SmrgAC_DEFUN([_AM_IF_OPTION],
897240dd5a57Smrg[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
897340dd5a57Smrg
897440dd5a57Smrg# Check to make sure that the build environment is sane.    -*- Autoconf -*-
897540dd5a57Smrg
897640dd5a57Smrg# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
897740dd5a57Smrg# Free Software Foundation, Inc.
897840dd5a57Smrg#
897940dd5a57Smrg# This file is free software; the Free Software Foundation
898040dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
898140dd5a57Smrg# with or without modifications, as long as this notice is preserved.
898240dd5a57Smrg
898340dd5a57Smrg# serial 5
898440dd5a57Smrg
898540dd5a57Smrg# AM_SANITY_CHECK
898640dd5a57Smrg# ---------------
898740dd5a57SmrgAC_DEFUN([AM_SANITY_CHECK],
898840dd5a57Smrg[AC_MSG_CHECKING([whether build environment is sane])
898940dd5a57Smrg# Just in case
899040dd5a57Smrgsleep 1
899140dd5a57Smrgecho timestamp > conftest.file
899240dd5a57Smrg# Reject unsafe characters in $srcdir or the absolute working directory
899340dd5a57Smrg# name.  Accept space and tab only in the latter.
899440dd5a57Smrgam_lf='
899540dd5a57Smrg'
899640dd5a57Smrgcase `pwd` in
899740dd5a57Smrg  *[[\\\"\#\$\&\'\`$am_lf]]*)
899840dd5a57Smrg    AC_MSG_ERROR([unsafe absolute working directory name]);;
899940dd5a57Smrgesac
900040dd5a57Smrgcase $srcdir in
900140dd5a57Smrg  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
900240dd5a57Smrg    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
900340dd5a57Smrgesac
900440dd5a57Smrg
900540dd5a57Smrg# Do `set' in a subshell so we don't clobber the current shell's
900640dd5a57Smrg# arguments.  Must try -L first in case configure is actually a
900740dd5a57Smrg# symlink; some systems play weird games with the mod time of symlinks
900840dd5a57Smrg# (eg FreeBSD returns the mod time of the symlink's containing
900940dd5a57Smrg# directory).
901040dd5a57Smrgif (
901140dd5a57Smrg   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
901240dd5a57Smrg   if test "$[*]" = "X"; then
901340dd5a57Smrg      # -L didn't work.
901440dd5a57Smrg      set X `ls -t "$srcdir/configure" conftest.file`
901540dd5a57Smrg   fi
901640dd5a57Smrg   rm -f conftest.file
901740dd5a57Smrg   if test "$[*]" != "X $srcdir/configure conftest.file" \
901840dd5a57Smrg      && test "$[*]" != "X conftest.file $srcdir/configure"; then
901940dd5a57Smrg
902040dd5a57Smrg      # If neither matched, then we have a broken ls.  This can happen
902140dd5a57Smrg      # if, for instance, CONFIG_SHELL is bash and it inherits a
902240dd5a57Smrg      # broken ls alias from the environment.  This has actually
902340dd5a57Smrg      # happened.  Such a system could not be considered "sane".
902440dd5a57Smrg      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
902540dd5a57Smrgalias in your environment])
902640dd5a57Smrg   fi
902740dd5a57Smrg
902840dd5a57Smrg   test "$[2]" = conftest.file
902940dd5a57Smrg   )
903040dd5a57Smrgthen
903140dd5a57Smrg   # Ok.
903240dd5a57Smrg   :
903340dd5a57Smrgelse
903440dd5a57Smrg   AC_MSG_ERROR([newly created file is older than distributed files!
903540dd5a57SmrgCheck your system clock])
903640dd5a57Smrgfi
903740dd5a57SmrgAC_MSG_RESULT(yes)])
903840dd5a57Smrg
903940dd5a57Smrg# Copyright (C) 2009  Free Software Foundation, Inc.
904040dd5a57Smrg#
904140dd5a57Smrg# This file is free software; the Free Software Foundation
904240dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
904340dd5a57Smrg# with or without modifications, as long as this notice is preserved.
904440dd5a57Smrg
904540dd5a57Smrg# serial 1
904640dd5a57Smrg
904740dd5a57Smrg# AM_SILENT_RULES([DEFAULT])
904840dd5a57Smrg# --------------------------
904940dd5a57Smrg# Enable less verbose build rules; with the default set to DEFAULT
905040dd5a57Smrg# (`yes' being less verbose, `no' or empty being verbose).
905140dd5a57SmrgAC_DEFUN([AM_SILENT_RULES],
905240dd5a57Smrg[AC_ARG_ENABLE([silent-rules],
905340dd5a57Smrg[  --enable-silent-rules          less verbose build output (undo: `make V=1')
905440dd5a57Smrg  --disable-silent-rules         verbose build output (undo: `make V=0')])
905540dd5a57Smrgcase $enable_silent_rules in
905640dd5a57Smrgyes) AM_DEFAULT_VERBOSITY=0;;
905740dd5a57Smrgno)  AM_DEFAULT_VERBOSITY=1;;
905840dd5a57Smrg*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
905940dd5a57Smrgesac
906040dd5a57SmrgAC_SUBST([AM_DEFAULT_VERBOSITY])dnl
906140dd5a57SmrgAM_BACKSLASH='\'
906240dd5a57SmrgAC_SUBST([AM_BACKSLASH])dnl
906340dd5a57Smrg_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
906440dd5a57Smrg])
906540dd5a57Smrg
906640dd5a57Smrg# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
906740dd5a57Smrg#
906840dd5a57Smrg# This file is free software; the Free Software Foundation
906940dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
907040dd5a57Smrg# with or without modifications, as long as this notice is preserved.
907140dd5a57Smrg
907240dd5a57Smrg# AM_PROG_INSTALL_STRIP
907340dd5a57Smrg# ---------------------
907440dd5a57Smrg# One issue with vendor `install' (even GNU) is that you can't
907540dd5a57Smrg# specify the program used to strip binaries.  This is especially
907640dd5a57Smrg# annoying in cross-compiling environments, where the build's strip
907740dd5a57Smrg# is unlikely to handle the host's binaries.
907840dd5a57Smrg# Fortunately install-sh will honor a STRIPPROG variable, so we
907940dd5a57Smrg# always use install-sh in `make install-strip', and initialize
908040dd5a57Smrg# STRIPPROG with the value of the STRIP variable (set by the user).
908140dd5a57SmrgAC_DEFUN([AM_PROG_INSTALL_STRIP],
908240dd5a57Smrg[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
908340dd5a57Smrg# Installed binaries are usually stripped using `strip' when the user
908440dd5a57Smrg# run `make install-strip'.  However `strip' might not be the right
908540dd5a57Smrg# tool to use in cross-compilation environments, therefore Automake
908640dd5a57Smrg# will honor the `STRIP' environment variable to overrule this program.
908740dd5a57Smrgdnl Don't test for $cross_compiling = yes, because it might be `maybe'.
908840dd5a57Smrgif test "$cross_compiling" != no; then
908940dd5a57Smrg  AC_CHECK_TOOL([STRIP], [strip], :)
909040dd5a57Smrgfi
909140dd5a57SmrgINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
909240dd5a57SmrgAC_SUBST([INSTALL_STRIP_PROGRAM])])
909340dd5a57Smrg
909440dd5a57Smrg# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
909540dd5a57Smrg#
909640dd5a57Smrg# This file is free software; the Free Software Foundation
909740dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
909840dd5a57Smrg# with or without modifications, as long as this notice is preserved.
909940dd5a57Smrg
910040dd5a57Smrg# serial 2
910140dd5a57Smrg
910240dd5a57Smrg# _AM_SUBST_NOTMAKE(VARIABLE)
910340dd5a57Smrg# ---------------------------
910440dd5a57Smrg# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
910540dd5a57Smrg# This macro is traced by Automake.
910640dd5a57SmrgAC_DEFUN([_AM_SUBST_NOTMAKE])
910740dd5a57Smrg
910840dd5a57Smrg# AM_SUBST_NOTMAKE(VARIABLE)
910940dd5a57Smrg# ---------------------------
911040dd5a57Smrg# Public sister of _AM_SUBST_NOTMAKE.
911140dd5a57SmrgAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
911240dd5a57Smrg
911340dd5a57Smrg# Check how to create a tarball.                            -*- Autoconf -*-
911440dd5a57Smrg
911540dd5a57Smrg# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
911640dd5a57Smrg#
911740dd5a57Smrg# This file is free software; the Free Software Foundation
911840dd5a57Smrg# gives unlimited permission to copy and/or distribute it,
911940dd5a57Smrg# with or without modifications, as long as this notice is preserved.
912040dd5a57Smrg
912140dd5a57Smrg# serial 2
912240dd5a57Smrg
912340dd5a57Smrg# _AM_PROG_TAR(FORMAT)
912440dd5a57Smrg# --------------------
912540dd5a57Smrg# Check how to create a tarball in format FORMAT.
912640dd5a57Smrg# FORMAT should be one of `v7', `ustar', or `pax'.
912740dd5a57Smrg#
912840dd5a57Smrg# Substitute a variable $(am__tar) that is a command
912940dd5a57Smrg# writing to stdout a FORMAT-tarball containing the directory
913040dd5a57Smrg# $tardir.
913140dd5a57Smrg#     tardir=directory && $(am__tar) > result.tar
913240dd5a57Smrg#
913340dd5a57Smrg# Substitute a variable $(am__untar) that extract such
913440dd5a57Smrg# a tarball read from stdin.
913540dd5a57Smrg#     $(am__untar) < result.tar
913640dd5a57SmrgAC_DEFUN([_AM_PROG_TAR],
913740dd5a57Smrg[# Always define AMTAR for backward compatibility.
913840dd5a57SmrgAM_MISSING_PROG([AMTAR], [tar])
913940dd5a57Smrgm4_if([$1], [v7],
914040dd5a57Smrg     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
914140dd5a57Smrg     [m4_case([$1], [ustar],, [pax],,
914240dd5a57Smrg              [m4_fatal([Unknown tar format])])
914340dd5a57SmrgAC_MSG_CHECKING([how to create a $1 tar archive])
914440dd5a57Smrg# Loop over all known methods to create a tar archive until one works.
914540dd5a57Smrg_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
914640dd5a57Smrg_am_tools=${am_cv_prog_tar_$1-$_am_tools}
914740dd5a57Smrg# Do not fold the above two line into one, because Tru64 sh and
914840dd5a57Smrg# Solaris sh will not grok spaces in the rhs of `-'.
914940dd5a57Smrgfor _am_tool in $_am_tools
915040dd5a57Smrgdo
915140dd5a57Smrg  case $_am_tool in
915240dd5a57Smrg  gnutar)
915340dd5a57Smrg    for _am_tar in tar gnutar gtar;
915440dd5a57Smrg    do
915540dd5a57Smrg      AM_RUN_LOG([$_am_tar --version]) && break
915640dd5a57Smrg    done
915740dd5a57Smrg    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
915840dd5a57Smrg    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
915940dd5a57Smrg    am__untar="$_am_tar -xf -"
916040dd5a57Smrg    ;;
916140dd5a57Smrg  plaintar)
916240dd5a57Smrg    # Must skip GNU tar: if it does not support --format= it doesn't create
916340dd5a57Smrg    # ustar tarball either.
916440dd5a57Smrg    (tar --version) >/dev/null 2>&1 && continue
916540dd5a57Smrg    am__tar='tar chf - "$$tardir"'
916640dd5a57Smrg    am__tar_='tar chf - "$tardir"'
916740dd5a57Smrg    am__untar='tar xf -'
916840dd5a57Smrg    ;;
916940dd5a57Smrg  pax)
917040dd5a57Smrg    am__tar='pax -L -x $1 -w "$$tardir"'
917140dd5a57Smrg    am__tar_='pax -L -x $1 -w "$tardir"'
917240dd5a57Smrg    am__untar='pax -r'
917340dd5a57Smrg    ;;
917440dd5a57Smrg  cpio)
917540dd5a57Smrg    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
917640dd5a57Smrg    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
917740dd5a57Smrg    am__untar='cpio -i -H $1 -d'
917840dd5a57Smrg    ;;
917940dd5a57Smrg  none)
918040dd5a57Smrg    am__tar=false
918140dd5a57Smrg    am__tar_=false
918240dd5a57Smrg    am__untar=false
918340dd5a57Smrg    ;;
918440dd5a57Smrg  esac
918540dd5a57Smrg
918640dd5a57Smrg  # If the value was cached, stop now.  We just wanted to have am__tar
918740dd5a57Smrg  # and am__untar set.
918840dd5a57Smrg  test -n "${am_cv_prog_tar_$1}" && break
918940dd5a57Smrg
919040dd5a57Smrg  # tar/untar a dummy directory, and stop if the command works
919140dd5a57Smrg  rm -rf conftest.dir
919240dd5a57Smrg  mkdir conftest.dir
919340dd5a57Smrg  echo GrepMe > conftest.dir/file
919440dd5a57Smrg  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
919540dd5a57Smrg  rm -rf conftest.dir
919640dd5a57Smrg  if test -s conftest.tar; then
919740dd5a57Smrg    AM_RUN_LOG([$am__untar <conftest.tar])
919840dd5a57Smrg    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
919940dd5a57Smrg  fi
920040dd5a57Smrgdone
920140dd5a57Smrgrm -rf conftest.dir
920240dd5a57Smrg
920340dd5a57SmrgAC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
920440dd5a57SmrgAC_MSG_RESULT([$am_cv_prog_tar_$1])])
920540dd5a57SmrgAC_SUBST([am__tar])
920640dd5a57SmrgAC_SUBST([am__untar])
920740dd5a57Smrg]) # _AM_PROG_TAR
920840dd5a57Smrg
9209