13aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
23aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
33aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
43aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#                 2006, 2007, 2008 Free Software Foundation, Inc.
53aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   Written by Gordon Matzigkeit, 1996
63aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
73aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This file is free software; the Free Software Foundation gives
83aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# unlimited permission to copy and/or distribute it, with or without
93aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# modifications, as long as this notice is preserved.
103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_COPYING], [dnl
123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#                 2006, 2007, 2008 Free Software Foundation, Inc.
143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   Written by Gordon Matzigkeit, 1996
153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   This file is part of GNU Libtool.
173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GNU Libtool is free software; you can redistribute it and/or
193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# modify it under the terms of the GNU General Public License as
203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# published by the Free Software Foundation; either version 2 of
213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the License, or (at your option) any later version.
223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# As a special exception to the GNU General Public License,
243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if you distribute this file as part of a program or library that
253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# is built using GNU Libtool, you may include this file under the
263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# same distribution terms that you use for the rest of that program.
273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GNU Libtool is distributed in the hope that it will be useful,
293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# but WITHOUT ANY WARRANTY; without even the implied warranty of
303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GNU General Public License for more details.
323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# You should have received a copy of the GNU General Public License
343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# along with GNU Libtool; see the file COPYING.  If not, a copy
353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# obtained by writing to the Free Software Foundation, Inc.,
373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# serial 56 LT_INIT
413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PREREQ(VERSION)
443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------
453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Complain and exit if this libtool version is less that VERSION.
463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([LT_PREREQ],
473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       [m4_default([$3],
493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		   [m4_fatal([Libtool version $1 or higher is required],
503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		             63)])],
513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       [$2])])
523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CHECK_BUILDDIR
553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------
563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Complain if the absolute build directory name contains unusual characters
573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CHECK_BUILDDIR],
583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[case `pwd` in
593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *\ * | *\	*)
603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_INIT([OPTIONS])
663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------
673aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_INIT],
683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
693aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_BEFORE([$0], [LT_LANG])dnl
703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_BEFORE([$0], [LT_OUTPUT])dnl
713aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_BEFORE([$0], [LTDL_INIT])dnl
723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CHECK_BUILDDIR])dnl
733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Autoconf doesn't catch unexpanded LT_ macros by default:
753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl unless we require an AC_DEFUNed macro:
793aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LTOPTIONS_VERSION])dnl
803aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LTSUGAR_VERSION])dnl
813aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LTVERSION_VERSION])dnl
823aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LTOBSOLETE_VERSION])dnl
833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_PROG_LTMAIN])dnl
843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Parse OPTIONS
863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_SET_OPTIONS([$0], [$1])
873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This can be used to rebuild libtool when needed
893aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLIBTOOL_DEPS="$ltmain"
903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Always use our own libtool.
923aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLIBTOOL='$(SHELL) $(top_builddir)/libtool'
933aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST(LIBTOOL)dnl
943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_SETUP
963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Only expand once:
983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([LT_INIT])
993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_INIT
1003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old names:
1023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
1033aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
1043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
1053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
1063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
1073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CC_BASENAME(CC)
1103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------
1113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
1123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CC_BASENAME],
1133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[for cc_temp in $1""; do
1143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $cc_temp in
1153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
1163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
1173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    \-*) ;;
1183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *) break;;
1193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
1203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone
1213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
1223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
1233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_FILEUTILS_DEFAULTS
1263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------
1273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# It is okay to use these file commands and assume they have been set
1283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
1293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_FILEUTILS_DEFAULTS],
1303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[: ${CP="cp -f"}
1313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev: ${MV="mv -f"}
1323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev: ${RM="rm -f"}
1333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_FILEUTILS_DEFAULTS
1343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SETUP
1373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------
1383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_SETUP],
1393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1403aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_CANONICAL_BUILD])dnl
1413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [host_alias], [0], [The host system])dnl
1423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [host], [0])dnl
1433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [host_os], [0])dnl
1443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl
1453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [build_alias], [0], [The build system])dnl
1463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [build], [0])dnl
1473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [build_os], [0])dnl
1483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl
1493aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_PROG_CC])dnl
1503aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_LD])dnl
1513aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_NM])dnl
1523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl
1533aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_PROG_LN_S])dnl
1543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LN_S" && LN_S="ln -s"
1553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
1563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl
1573aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_CMD_MAX_LEN])dnl
1583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
1593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
1603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl
1613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl
1623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CHECK_SHELL_FEATURES])dnl
1633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CMD_RELOAD])dnl
1643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CHECK_MAGIC_METHOD])dnl
1653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CMD_OLD_ARCHIVE])dnl
1663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
1673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([
1693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# See if we are running on zsh, and set the options which allow our
1703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# commands through without removal of \ escapes INIT.
1713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "\${ZSH_VERSION+set}" ; then
1723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   setopt NO_GLOB_SUBST
1733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
1743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
1753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "${ZSH_VERSION+set}" ; then
1763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   setopt NO_GLOB_SUBST
1773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
1783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CHECK_OBJDIR
1803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_TAG_COMPILER])dnl
1823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_PROG_ECHO_BACKSLASH
1833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in
1853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix3*)
1863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # AIX sometimes has problems with the GCC collect2 program.  For some
1873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # reason, if we set the COLLECT_NAMES environment variable, the problems
1883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # vanish in a puff of smoke.
1893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "X${COLLECT_NAMES+set}" != Xset; then
1903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    COLLECT_NAMES=
1913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    export COLLECT_NAMES
1923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
1933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
1943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
1953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
1963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Sed substitution that helps us do robust quoting.  It backslashifies
1973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# metacharacters that are still active within double-quoted strings.
1983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
1993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Same as above, but do not quote variable references.
2013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
2023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Sed substitution to delay expansion of an escaped shell variable in a
2043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# double_quote_subst'ed string.
2053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
2063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Sed substitution to delay expansion of an escaped single quote.
2083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
2093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Sed substitution to avoid accidental globbing in evaled expressions
2113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevno_glob_subst='s/\*/\\\*/g'
2123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Global variables:
2143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevofile=libtool
2153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcan_build_shared=yes
2163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# All known linkers require a `.a' archive for static linking (except MSVC,
2183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# which needs '.lib').
2193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlibext=a
2203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwith_gnu_ld="$lt_cv_prog_gnu_ld"
2223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_CC="$CC"
2243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_CFLAGS="$CFLAGS"
2253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Set sane defaults for various variables
2273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$CC" && CC=cc
2283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LTCC" && LTCC=$CC
2293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
2303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LD" && LD=ld
2313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$ac_objext" && ac_objext=o
2323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CC_BASENAME([$compiler])
2343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Only perform the check for file, if the check method requires it
2363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$MAGIC_CMD" && MAGIC_CMD=file
2373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $deplibs_check_method in
2383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfile_magic*)
2393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
2403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_PATH_MAGIC
2413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
2423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
2433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
2443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Use C for the default configuration in the libtool script
2463aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLT_SUPPORTED_TAG([CC])
2473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LANG_C_CONFIG
2483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LANG_DEFAULT_CONFIG
2493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_COMMANDS
2503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SETUP
2513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_LTMAIN
2543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------
2553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Note that this code is called both from `configure', and `config.status'
2563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
2573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# `config.status' has no value for ac_aux_dir unless we are using Automake,
2583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# so we pass a copy along to make sure it has a sensible value anyway.
2593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_LTMAIN],
2603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
2613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
2623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevltmain="$ac_aux_dir/ltmain.sh"
2633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_LTMAIN
2643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## ------------------------------------- ##
2673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## Accumulate code for creating libtool. ##
2683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## ------------------------------------- ##
2693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# So that we can recreate a full libtool script including additional
2713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
2723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# in macros and then make a single call at the end using the `libtool'
2733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# label.
2743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
2773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------------------
2783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
2793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_CONFIG_LIBTOOL_INIT],
2803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifval([$1],
2813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
2823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                     [$1
2833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])])])
2843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Initialize.
2863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_OUTPUT_LIBTOOL_INIT])
2873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_LIBTOOL([COMMANDS])
2903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------
2913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
2923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_CONFIG_LIBTOOL],
2933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifval([$1],
2943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
2953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev                     [$1
2963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])])])
2973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
2983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Initialize.
2993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
3003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
3033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------------------------------------------------
3043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CONFIG_SAVE_COMMANDS],
3053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_CONFIG_LIBTOOL([$1])
3063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([$2])
3073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
3083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_FORMAT_COMMENT([COMMENT])
3113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------------------------
3123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Add leading comment marks to the start of each line, and a trailing
3133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# full-stop to the whole comment if one is not present already.
3143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_FORMAT_COMMENT],
3153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifval([$1], [
3163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
3173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
3183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev)])
3193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## ------------------------ ##
3233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## FIXME: Eliminate VARNAME ##
3243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## ------------------------ ##
3253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
3283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------------------------------------------------
3293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# CONFIGNAME is the name given to the value in the libtool script.
3303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# VARNAME is the (base) name used in the configure script.
3313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
3323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# VARNAME.  Any other value will be used directly.
3333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_DECL],
3343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
3353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
3363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[m4_ifval([$1], [$1], [$2])])
3373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
3383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_ifval([$4],
3393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
3403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_dict_add_subkey([lt_decl_dict], [$2],
3413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[tagged?], [m4_ifval([$5], [yes], [no])])])
3423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
3433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
3463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------------------------------------
3473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
3483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
3513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------------------------
3523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_tag_varnames],
3533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_lt_decl_filter([tagged?], [yes], $@)])
3543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
3573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------------------------------
3583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_lt_decl_filter],
3593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_case([$#],
3603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [0], [m4_fatal([$0: too few arguments: $#])],
3613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [1], [m4_fatal([$0: too few arguments: $#: $1])],
3623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
3633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
3643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
3653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
3663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
3693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------------------------------
3703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_quote_varnames],
3713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_lt_decl_filter([value], [1], $@)])
3723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
3753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------------------------
3763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_dquote_varnames],
3773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_lt_decl_filter([value], [2], $@)])
3783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
3813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------------------------
3823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_varnames_tagged],
3833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_assert([$# <= 2])dnl
3843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_$0(m4_quote(m4_default([$1], [[, ]])),
3853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
3863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
3873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_lt_decl_varnames_tagged],
3883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
3893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
3913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
3923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------------------------
3933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([lt_decl_all_varnames],
3943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_$0(m4_quote(m4_default([$1], [[, ]])),
3953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     m4_if([$2], [],
3963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   m4_quote(lt_decl_varnames),
3973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	m4_quote(m4_shift($@))))[]dnl
3983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
3993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_lt_decl_all_varnames],
4003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[lt_join($@, lt_decl_varnames_tagged([$1],
4013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
4023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
4033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_STATUS_DECLARE([VARNAME])
4063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------------
4073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Quote a variable value, and forward it to `config.status' so that its
4083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# declaration there will have the same value as in `configure'.  VARNAME
4093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# must have a single quote delimited value for this to work.
4103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_CONFIG_STATUS_DECLARE],
4113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
4123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_STATUS_DECLARATIONS
4153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------
4163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# We delimit libtool config variables with single quotes, so when
4173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# we write them to config.status, we have to be sure to quote all
4183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# embedded single quotes properly.  In configure, this macro expands
4193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
4203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
4213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
4223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
4233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
4243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
4253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LIBTOOL_TAGS
4283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------
4293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Output comment and list of tags supported by the script
4303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LIBTOOL_TAGS],
4313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
4323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevavailable_tags="_LT_TAGS"dnl
4333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
4343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
4373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------------------------------
4383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Extract the dictionary values for VARNAME (optionally with TAG) and
4393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# expand to a commented shell variable setting:
4403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
4413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    # Some comment about what VAR is for.
4423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    visible_name=$lt_internal_name
4433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_LIBTOOL_DECLARE],
4443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
4453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev					   [description])))[]dnl
4463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_pushdef([_libtool_name],
4473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
4483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
4493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [0], [_libtool_name=[$]$1],
4503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [1], [_libtool_name=$lt_[]$1],
4513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [2], [_libtool_name=$lt_[]$1],
4523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
4533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
4543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
4553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LIBTOOL_CONFIG_VARS
4583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------------------
4593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Produce commented declarations of non-tagged libtool config variables
4603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
4613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
4623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# section) are produced by _LT_LIBTOOL_TAG_VARS.
4633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LIBTOOL_CONFIG_VARS],
4643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_foreach([_lt_var],
4653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
4663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
4673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LIBTOOL_TAG_VARS(TAG)
4703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------
4713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_LIBTOOL_TAG_VARS],
4723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
4733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
4743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_TAGVAR(VARNAME, [TAGNAME])
4773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------------
4783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
4793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
4813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG_COMMANDS
4823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------
4833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
4843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# variables for single and double quote escaping we saved from calls
4853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to _LT_DECL, we can put quote escaped variables declarations
4863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# into `config.status', and then the shell code to quote escape them in
4873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# for loops in `config.status'.  Finally, any additional code accumulated
4883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
4893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CONFIG_COMMANDS],
4903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_PROVIDE_IFELSE([LT_OUTPUT],
4913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	dnl If the libtool generation code has been placed in $CONFIG_LT,
4923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	dnl instead of duplicating it all over again into config.status,
4933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	dnl then we will have config.status run $CONFIG_LT later, so it
4943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	dnl needs to know what name is stored there:
4953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        [AC_CONFIG_COMMANDS([libtool],
4963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
4973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    dnl If the libtool generation code is destined for config.status,
4983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    dnl expand the accumulated commands and init code now:
4993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [AC_CONFIG_COMMANDS([libtool],
5003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
5013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])#_LT_CONFIG_COMMANDS
5023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Initialize.
5053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
5063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[
5073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# The HP-UX ksh and POSIX shell print the target directory to stdout
5093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if CDPATH is set.
5103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
5113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsed_quote_subst='$sed_quote_subst'
5133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdouble_quote_subst='$double_quote_subst'
5143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdelay_variable_subst='$delay_variable_subst'
5153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_STATUS_DECLARATIONS
5163aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLTCC='$LTCC'
5173aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLTCFLAGS='$LTCFLAGS'
5183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler='$compiler_DEFAULT'
5193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Quote evaled strings.
5213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor var in lt_decl_all_varnames([[ \
5223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]], lt_decl_quote_varnames); do
5233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
5243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *[[\\\\\\\`\\"\\\$]]*)
5253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
5263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
5273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)
5283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
5293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
5303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
5313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone
5323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Double-quote double-evaled strings.
5343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor var in lt_decl_all_varnames([[ \
5353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]], lt_decl_dquote_varnames); do
5363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
5373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *[[\\\\\\\`\\"\\\$]]*)
5383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
5393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
5403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)
5413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
5423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
5433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
5443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone
5453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Fix-up fallback echo if it was mangled by the above quoting rules.
5473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase \$lt_ECHO in
5483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*'\\\[$]0 --fallback-echo"')dnl "
5493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
5503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
5513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
5523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_OUTPUT_LIBTOOL_INIT
5543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
5553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_OUTPUT
5583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------
5593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This macro allows early generation of the libtool script (before
5603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# AC_OUTPUT is called), incase it is used in configure for compilation
5613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# tests.
5623aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_OUTPUT],
5633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[: ${CONFIG_LT=./config.lt}
5643aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_NOTICE([creating $CONFIG_LT])
5653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >"$CONFIG_LT" <<_LTEOF
5663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#! $SHELL
5673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Generated by $as_me.
5683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Run this file to recreate a libtool stub with the current configuration.
5693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cl_silent=false
5713aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevSHELL=\${CONFIG_SHELL-$SHELL}
5723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LTEOF
5733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >>"$CONFIG_LT" <<\_LTEOF
5753aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAS_SHELL_SANITIZE
5763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_AS_PREPARE
5773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevexec AS_MESSAGE_FD>&1
5793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevexec AS_MESSAGE_LOG_FD>>config.log
5803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
5813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo
5823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AS_BOX([Running $as_me.])
5833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev} >&AS_MESSAGE_LOG_FD
5843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cl_help="\
5863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev\`$as_me' creates a local libtool stub from the current configuration,
5873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor use in further configure time tests before the real libtool is
5883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevgenerated.
5893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5903aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevUsage: $[0] [[OPTIONS]]
5913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  -h, --help      print this help, then exit
5933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  -V, --version   print version number, then exit
5943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  -q, --quiet     do not print progress messages
5953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  -d, --debug     don't remove temporary files
5963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5973aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevReport bugs to <bug-libtool@gnu.org>."
5983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
5993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cl_version="\
6003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
6013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
6023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevconfigured by $[0], generated by m4_PACKAGE_STRING.
6033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6043aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCopyright (C) 2008 Free Software Foundation, Inc.
6053aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevThis config.lt script is free software; the Free Software Foundation
6063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevgives unlimited permision to copy, distribute and modify it."
6073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwhile test $[#] != 0
6093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdo
6103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $[1] in
6113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    --version | --v* | -V )
6123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      echo "$lt_cl_version"; exit 0 ;;
6133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    --help | --h* | -h )
6143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      echo "$lt_cl_help"; exit 0 ;;
6153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    --debug | --d* | -d )
6163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      debug=: ;;
6173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    --quiet | --q* | --silent | --s* | -q )
6183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cl_silent=: ;;
6193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    -*) AC_MSG_ERROR([unrecognized option: $[1]
6213aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevTry \`$[0] --help' for more information.]) ;;
6223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *) AC_MSG_ERROR([unrecognized argument: $[1]
6243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevTry \`$[0] --help' for more information.]) ;;
6253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
6263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shift
6273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone
6283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif $lt_cl_silent; then
6303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  exec AS_MESSAGE_FD>/dev/null
6313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
6323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LTEOF
6333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >>"$CONFIG_LT" <<_LTEOF
6353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
6363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LTEOF
6373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcat >>"$CONFIG_LT" <<\_LTEOF
6393aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_NOTICE([creating $ofile])
6403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_OUTPUT_LIBTOOL_COMMANDS
6413aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAS_EXIT(0)
6423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LTEOF
6433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevchmod +x "$CONFIG_LT"
6443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# configure is writing to config.log, but config.lt does its own redirection,
6463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# appending to config.log, which fails on DOS, as config.log is still kept
6473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# open by configure.  Here we exec the FD to /dev/null, effectively closing
6483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# config.log, so it can be properly (re)opened and appended to by config.lt.
6493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$no_create" != yes; then
6503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cl_success=:
6513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test "$silent" = yes &&
6523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_config_lt_args="$lt_config_lt_args --quiet"
6533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  exec AS_MESSAGE_LOG_FD>/dev/null
6543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
6553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  exec AS_MESSAGE_LOG_FD>>config.log
6563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  $lt_cl_success || AS_EXIT(1)
6573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
6583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_OUTPUT
6593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CONFIG(TAG)
6623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------
6633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If TAG is the built-in tag, create an initial libtool script with a
6643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# default configuration from the untagged config vars.  Otherwise add code
6653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to config.status for appending the configuration named by TAG from the
6663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# matching tagged config vars.
6673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CONFIG],
6683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_SAVE_COMMANDS([
6703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
6713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  m4_if(_LT_TAG, [C], [
6723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # See if we are running on zsh, and set the options which allow our
6733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # commands through without removal of \ escapes.
6743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -n "${ZSH_VERSION+set}" ; then
6753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      setopt NO_GLOB_SUBST
6763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
6773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cfgfile="${ofile}T"
6793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
6803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    $RM "$cfgfile"
6813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cat <<_LT_EOF >> "$cfgfile"
6833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#! $SHELL
6843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
6863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
6873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
6883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# NOTE: Changes made to this file will be lost: look at ltmain.sh.
6893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
6903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COPYING
6913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LIBTOOL_TAGS
6923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ### BEGIN LIBTOOL CONFIG
6943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LIBTOOL_CONFIG_VARS
6953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LIBTOOL_TAG_VARS
6963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ### END LIBTOOL CONFIG
6973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
6983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
6993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
7013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  aix3*)
7023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cat <<\_LT_EOF >> "$cfgfile"
7033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# AIX sometimes has problems with the GCC collect2 program.  For some
7043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# reason, if we set the COLLECT_NAMES environment variable, the problems
7053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# vanish in a puff of smoke.
7063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "X${COLLECT_NAMES+set}" != Xset; then
7073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  COLLECT_NAMES=
7083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  export COLLECT_NAMES
7093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
7103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
7113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
7123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
7133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_PROG_LTMAIN
7153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # We use sed instead of cat because bash on DJGPP gets confused if
7173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
7183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # text mode, it properly converts lines to CR/LF.  This bash problem
7193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # is reportedly fixed, but why not run on old versions too?
7203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
7213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    || (rm -f "$cfgfile"; exit 1)
7223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_PROG_XSI_SHELLFNS
7243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
7263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    || (rm -f "$cfgfile"; exit 1)
7273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  mv -f "$cfgfile" "$ofile" ||
7293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
7303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  chmod +x "$ofile"
7313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev],
7323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[cat <<_LT_EOF >> "$ofile"
7333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
7353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl in a comment (ie after a #).
7363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ### BEGIN LIBTOOL TAG CONFIG: $1
7373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LIBTOOL_TAG_VARS(_LT_TAG)
7383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ### END LIBTOOL TAG CONFIG: $1
7393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
7403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])dnl /m4_if
7413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev],
7423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_if([$1], [], [
7433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    PACKAGE='$PACKAGE'
7443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    VERSION='$VERSION'
7453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    TIMESTAMP='$TIMESTAMP'
7463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    RM='$RM'
7473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ofile='$ofile'], [])
7483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])dnl /_LT_CONFIG_SAVE_COMMANDS
7493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CONFIG
7503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_SUPPORTED_TAG(TAG)
7533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------
7543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Trace this macro to discover what tags are supported by the libtool
7553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --tag option, using:
7563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
7573aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_SUPPORTED_TAG], [])
7583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# C support is built-in for now
7613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_LANG_C_enabled], [])
7623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_TAGS], [])
7633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_LANG(LANG)
7663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------
7673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Enable libtool support for the given language if not already enabled.
7683aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_LANG],
7693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_BEFORE([$0], [LT_OUTPUT])dnl
7703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_case([$1],
7713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [C],			[_LT_LANG(C)],
7723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [C++],		[_LT_LANG(CXX)],
7733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [Java],		[_LT_LANG(GCJ)],
7743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [Fortran 77],		[_LT_LANG(F77)],
7753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [Fortran],		[_LT_LANG(FC)],
7763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [Windows Resource],	[_LT_LANG(RC)],
7773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
7783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [_LT_LANG($1)],
7793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [m4_fatal([$0: unsupported language: "$1"])])])dnl
7803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_LANG
7813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG(LANGNAME)
7843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------
7853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG],
7863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifdef([_LT_LANG_]$1[_enabled], [],
7873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [LT_SUPPORTED_TAG([$1])dnl
7883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  m4_append([_LT_TAGS], [$1 ])dnl
7893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  m4_define([_LT_LANG_]$1[_enabled], [])dnl
7903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_LANG_$1_CONFIG($1)])dnl
7913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG
7923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
7943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_DEFAULT_CONFIG
7953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------------------
7963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_DEFAULT_CONFIG],
7973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_PROVIDE_IFELSE([AC_PROG_CXX],
7983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [LT_LANG(CXX)],
7993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
8003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8013aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROVIDE_IFELSE([AC_PROG_F77],
8023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [LT_LANG(F77)],
8033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
8043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8053aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROVIDE_IFELSE([AC_PROG_FC],
8063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [LT_LANG(FC)],
8073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
8083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
8103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl pulling things in needlessly.
8113aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROVIDE_IFELSE([AC_PROG_GCJ],
8123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [LT_LANG(GCJ)],
8133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
8143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [LT_LANG(GCJ)],
8153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
8163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [LT_LANG(GCJ)],
8173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [m4_ifdef([AC_PROG_GCJ],
8183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
8193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       m4_ifdef([A][M_PROG_GCJ],
8203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
8213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       m4_ifdef([LT_PROG_GCJ],
8223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
8233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROVIDE_IFELSE([LT_PROG_RC],
8253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [LT_LANG(RC)],
8263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
8273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_DEFAULT_CONFIG
8283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Obsolete macros:
8303aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
8313aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
8323aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
8333aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
8343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
8353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
8363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_F77], [])
8373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_FC], [])
8383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
8393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_TAG_COMPILER
8423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------
8433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_TAG_COMPILER],
8443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_PROG_CC])dnl
8453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
8473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
8483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
8493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
8503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If no C compiler was specified, use CC.
8523aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLTCC=${LTCC-"$CC"}
8533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If no C compiler flags were specified, use CFLAGS.
8553aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
8563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Allow CC to be a program name with arguments.
8583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler=$CC
8593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_TAG_COMPILER
8603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_BOILERPLATE
8633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------
8643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for compiler boilerplate output or warnings with
8653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the simple compiler test code.
8663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_BOILERPLATE],
8673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_SED])dnl
8683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_outfile=conftest.$ac_objext
8693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevecho "$lt_simple_compile_test_code" >conftest.$ac_ext
8703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulisheveval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
8713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_lt_compiler_boilerplate=`cat conftest.err`
8723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$RM conftest*
8733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_BOILERPLATE
8743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LINKER_BOILERPLATE
8773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------
8783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for linker boilerplate output or warnings with
8793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the simple link test code.
8803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LINKER_BOILERPLATE],
8813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_SED])dnl
8823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_outfile=conftest.$ac_objext
8833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevecho "$lt_simple_link_test_code" >conftest.$ac_ext
8843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulisheveval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
8853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_lt_linker_boilerplate=`cat conftest.err`
8863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$RM -r conftest*
8873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LINKER_BOILERPLATE
8883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
8893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_REQUIRED_DARWIN_CHECKS
8903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------
8913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
8923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
8933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    rhapsody* | darwin*)
8943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
8953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
8963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CHECK_TOOL([LIPO], [lipo], [:])
8973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CHECK_TOOL([OTOOL], [otool], [:])
8983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
8993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_DECL([], [DSYMUTIL], [1],
9003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
9013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_DECL([], [NMEDIT], [1],
9023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [Tool to change global to local symbols on Mac OS X])
9033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_DECL([], [LIPO], [1],
9043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [Tool to manipulate fat objects and archives on Mac OS X])
9053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_DECL([], [OTOOL], [1],
9063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
9073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_DECL([], [OTOOL64], [1],
9083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
9093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
9103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
9113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [lt_cv_apple_cc_single_mod=no
9123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -z "${LT_MULTI_MODULE}"; then
9133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# By default we will add the -single_module flag. You can override
9143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# by either setting the environment variable LT_MULTI_MODULE
9153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# non-empty at configure time, or by adding -multi_module to the
9163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# link flags.
9173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	rm -rf libconftest.dylib*
9183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo "int foo(void){return 1;}" > conftest.c
9193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
9203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
9213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
9223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
9233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _lt_result=$?
9243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
9253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  lt_cv_apple_cc_single_mod=yes
9263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
9273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cat conftest.err >&AS_MESSAGE_LOG_FD
9283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
9293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	rm -rf libconftest.dylib*
9303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	rm -f conftest.*
9313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi])
9323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
9333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [lt_cv_ld_exported_symbols_list],
9343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [lt_cv_ld_exported_symbols_list=no
9353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      save_LDFLAGS=$LDFLAGS
9363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      echo "_main" > conftest.sym
9373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
9383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
9393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[lt_cv_ld_exported_symbols_list=yes],
9403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[lt_cv_ld_exported_symbols_list=no])
9413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	LDFLAGS="$save_LDFLAGS"
9423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ])
9433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
9443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    rhapsody* | darwin1.[[012]])
9453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
9463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    darwin1.*)
9473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
9483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    darwin*) # darwin 5.x on
9493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # if running on 10.5 or later, the deployment target defaults
9503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # to the OS version, if on x86, and 10.4, the deployment
9513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # target defaults to 10.4. Don't you love it?
9523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
9533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
9543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
9553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	10.[[012]]*)
9563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
9573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	10.*)
9583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
9593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
9603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
9613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
9623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
9633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _lt_dar_single_mod='$single_module'
9643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
9653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
9663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
9673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
9683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
9693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
9703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$DSYMUTIL" != ":"; then
9713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _lt_dsymutil='~$DSYMUTIL $lib || :'
9723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
9733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _lt_dsymutil=
9743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
9753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
9763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
9773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
9783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
9793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
9803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DARWIN_LINKER_FEATURES
9813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------
9823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Checks for linker and compiler features on darwin
9833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_DARWIN_LINKER_FEATURES],
9843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[
9853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
9863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
9873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_direct, $1)=no
9883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_automatic, $1)=yes
9893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
9903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
9913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(link_all_deplibs, $1)=yes
9923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
9933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $cc_basename in
9943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     ifort*) _lt_dar_can_shared=yes ;;
9953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     *) _lt_dar_can_shared=$GCC ;;
9963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
9973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$_lt_dar_can_shared" = "yes"; then
9983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    output_verbose_link_cmd=echo
9993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _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}"
10003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
10013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _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}"
10023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _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}"
10033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_if([$1], [CXX],
10043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
10053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _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}"
10063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _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}"
10073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
10083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev],[])
10093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
10103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(ld_shlibs, $1)=no
10113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
10123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
10133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SYS_MODULE_PATH_AIX
10153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------------------
10163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Links a minimal program and checks the executable
10173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# for the system default hardcoded library path. In most cases,
10183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# this is /usr/lib:/lib, but when the MPI compilers are used
10193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the location of the communication and MPI libs are included too.
10203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If we don't find anything, use the default library path according
10213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to the aix ld manual.
10223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_SYS_MODULE_PATH_AIX],
10233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_SED])dnl
10243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LINK_IFELSE(AC_LANG_PROGRAM,[
10253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_aix_libpath_sed='
10263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    /Import File Strings/,/^$/ {
10273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	/^0/ {
10283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    s/^0  *\(.*\)$/\1/
10293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    p
10303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	}
10313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    }'
10323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
10333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for a 64-bit object if we didn't find anything.
10343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$aix_libpath"; then
10353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
10363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi],[])
10373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
10383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SYS_MODULE_PATH_AIX
10393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SHELL_INIT(ARG)
10423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------
10433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_define([_LT_SHELL_INIT],
10443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[ifdef([AC_DIVERSION_NOTICE],
10453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
10463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 [AC_DIVERT_PUSH(NOTICE)])
10473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$1
10483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DIVERT_POP
10493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SHELL_INIT
10503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_ECHO_BACKSLASH
10533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------------------
10543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Add some code to the start of the generated configure script which
10553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# will find an echo command which doesn't interpret backslashes.
10563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_ECHO_BACKSLASH],
10573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_SHELL_INIT([
10583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check that we are running under the correct shell.
10593aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevSHELL=${CONFIG_SHELL-/bin/sh}
10603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase X$lt_ECHO in
10623aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevX*--fallback-echo)
10633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Remove one level of quotation (which was required for Make).
10643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
10653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
10663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
10673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10683aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevECHO=${lt_ECHO-echo}
10693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "X[$]1" = X--no-reexec; then
10703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Discard the --no-reexec flag, and continue.
10713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shift
10723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelif test "X[$]1" = X--fallback-echo; then
10733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Avoid inline document here, it may be left over
10743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  :
10753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
10763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Yippee, $ECHO works!
10773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  :
10783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
10793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Restart under the correct shell.
10803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
10813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
10823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "X[$]1" = X--fallback-echo; then
10843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # used as fallback echo
10853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shift
10863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cat <<_LT_EOF
10873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[$]*
10883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
10893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  exit 0
10903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
10913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# The HP-UX ksh and POSIX shell print the target directory to stdout
10933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if CDPATH is set.
10943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
10953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
10963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$lt_ECHO"; then
10973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "X${echo_test_string+set}" != Xset; then
10983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # find a string as large as possible, as long as the shell can cope with it
10993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
11003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
11013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
11023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
11033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      then
11043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        break
11053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
11063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    done
11073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
11083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
11093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
11103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
11113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     test "X$echo_testing_string" = "X$echo_test_string"; then
11123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    :
11133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
11143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # The Solaris, AIX, and Digital Unix default echo programs unquote
11153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # backslashes.  This makes it impossible to quote backslashes using
11163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    #   echo "$something" | sed 's/\\/\\\\/g'
11173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    #
11183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # So, first we look for a working echo in the user's PATH.
11193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
11203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
11213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    for dir in $PATH /usr/ucb; do
11223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      IFS="$lt_save_ifs"
11233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
11243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
11253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
11263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev         test "X$echo_testing_string" = "X$echo_test_string"; then
11273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ECHO="$dir/echo"
11283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        break
11293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
11303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    done
11313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    IFS="$lt_save_ifs"
11323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
11333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "X$ECHO" = Xecho; then
11343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # We didn't find a better echo, so look for alternatives.
11353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
11363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
11373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev         test "X$echo_testing_string" = "X$echo_test_string"; then
11383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # This shell has a builtin print -r that does the trick.
11393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ECHO='print -r'
11403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
11413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   test "X$CONFIG_SHELL" != X/bin/ksh; then
11423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # If we have ksh, try running configure again with it.
11433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
11443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        export ORIGINAL_CONFIG_SHELL
11453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        CONFIG_SHELL=/bin/ksh
11463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        export CONFIG_SHELL
11473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
11483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
11493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # Try using printf.
11503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ECHO='printf %s\n'
11513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
11523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
11533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   test "X$echo_testing_string" = "X$echo_test_string"; then
11543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Cool, printf works
11553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  :
11563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
11573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     test "X$echo_testing_string" = 'X\t' &&
11583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
11593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     test "X$echo_testing_string" = "X$echo_test_string"; then
11603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
11613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  export CONFIG_SHELL
11623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  SHELL="$CONFIG_SHELL"
11633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  export SHELL
11643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
11653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
11663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     test "X$echo_testing_string" = 'X\t' &&
11673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
11683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     test "X$echo_testing_string" = "X$echo_test_string"; then
11693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
11703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        else
11713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # maybe with a smaller string...
11723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  prev=:
11733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
11743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
11753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
11763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    then
11773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      break
11783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
11793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    prev="$cmd"
11803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  done
11813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
11823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if test "$prev" != 'sed 50q "[$]0"'; then
11833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    echo_test_string=`eval $prev`
11843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    export echo_test_string
11853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
11863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  else
11873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Oops.  We lost completely, so just stick with echo.
11883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ECHO=echo
11893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
11903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
11913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
11923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
11933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
11943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
11953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
11963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Copy echo and quote the copy suitably for passing to libtool from
11973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the Makefile, instead of quoting the original, which is used later.
11983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_ECHO=$ECHO
11993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
12003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
12013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
12023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
12033aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST(lt_ECHO)
12043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
12053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
12063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [ECHO], [1],
12073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [An echo program that does not interpret backslashes])
12083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_ECHO_BACKSLASH
12093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
12103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
12113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_ENABLE_LOCK
12123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------
12133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_ENABLE_LOCK],
12143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_ARG_ENABLE([libtool-lock],
12153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [AS_HELP_STRING([--disable-libtool-lock],
12163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [avoid locking (might break parallel builds)])])
12173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
12183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
12193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Some flags need to be propagated to the compiler or linker for good
12203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# libtool support.
12213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host in
12223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevia64-*-hpux*)
12233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Find out which ABI we are using.
12243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo 'int i;' > conftest.$ac_ext
12253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if AC_TRY_EVAL(ac_compile); then
12263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case `/usr/bin/file conftest.$ac_objext` in
12273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *ELF-32*)
12283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	HPUX_IA64_MODE="32"
12293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
12303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *ELF-64*)
12313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	HPUX_IA64_MODE="64"
12323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
12333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
12343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
12353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  rm -rf conftest*
12363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
12373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*-*-irix6*)
12383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Find out which ABI we are using.
12393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
12403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if AC_TRY_EVAL(ac_compile); then
12413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$lt_cv_prog_gnu_ld" = yes; then
12423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case `/usr/bin/file conftest.$ac_objext` in
12433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*32-bit*)
12443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LD="${LD-ld} -melf32bsmip"
12453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
12463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*N32*)
12473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LD="${LD-ld} -melf32bmipn32"
12483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
12493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*64-bit*)
12503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LD="${LD-ld} -melf64bmip"
12513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
12523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
12533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
12543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case `/usr/bin/file conftest.$ac_objext` in
12553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*32-bit*)
12563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LD="${LD-ld} -32"
12573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
12583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*N32*)
12593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LD="${LD-ld} -n32"
12603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
12613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*64-bit*)
12623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LD="${LD-ld} -64"
12633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
12643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
12653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
12663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
12673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  rm -rf conftest*
12683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
12693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
12703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevx86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
12713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
12723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Find out which ABI we are using.
12733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo 'int i;' > conftest.$ac_ext
12743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if AC_TRY_EVAL(ac_compile); then
12753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case `/usr/bin/file conftest.o` in
12763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *32-bit*)
12773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $host in
12783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  x86_64-*kfreebsd*-gnu)
12793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf_i386_fbsd"
12803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
12813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  x86_64-*linux*)
12823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf_i386"
12833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
12843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ppc64-*linux*|powerpc64-*linux*)
12853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf32ppclinux"
12863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
12873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  s390x-*linux*)
12883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf_s390"
12893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
12903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  sparc64-*linux*)
12913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf32_sparc"
12923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
12933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
12943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
12953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *64-bit*)
12963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $host in
12973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  x86_64-*kfreebsd*-gnu)
12983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf_x86_64_fbsd"
12993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
13003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  x86_64-*linux*)
13013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf_x86_64"
13023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
13033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ppc*-*linux*|powerpc*-*linux*)
13043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf64ppc"
13053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
13063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  s390*-*linux*|s390*-*tpf*)
13073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf64_s390"
13083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
13093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  sparc*-*linux*)
13103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    LD="${LD-ld} -m elf64_sparc"
13113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
13123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
13133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
13143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
13153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
13163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  rm -rf conftest*
13173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
13183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*-*-sco3.2v5*)
13203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
13213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  SAVE_CFLAGS="$CFLAGS"
13223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  CFLAGS="$CFLAGS -belf"
13233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
13243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [AC_LANG_PUSH(C)
13253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
13263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     AC_LANG_POP])
13273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
13283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
13293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    CFLAGS="$SAVE_CFLAGS"
13303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
13313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
13323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsparc*-*solaris*)
13333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Find out which ABI we are using.
13343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo 'int i;' > conftest.$ac_ext
13353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if AC_TRY_EVAL(ac_compile); then
13363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case `/usr/bin/file conftest.o` in
13373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *64-bit*)
13383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $lt_cv_prog_gnu_ld in
13393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      yes*) LD="${LD-ld} -m elf64_sparc" ;;
13403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
13413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
13423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LD="${LD-ld} -64"
13433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
13443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
13453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
13463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
13473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
13483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
13493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  rm -rf conftest*
13503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
13513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
13523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevneed_locks="$enable_libtool_lock"
13543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_ENABLE_LOCK
13553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CMD_OLD_ARCHIVE
13583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------
13593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CMD_OLD_ARCHIVE],
13603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CHECK_TOOL(AR, ar, false)
13613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$AR" && AR=ar
13623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$AR_FLAGS" && AR_FLAGS=cru
13633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [AR], [1], [The archiver])
13643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [AR_FLAGS], [1])
13653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13663aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CHECK_TOOL(STRIP, strip, :)
13673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$STRIP" && STRIP=:
13683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [STRIP], [1], [A symbol stripping program])
13693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CHECK_TOOL(RANLIB, ranlib, :)
13713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$RANLIB" && RANLIB=:
13723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [RANLIB], [1],
13733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Commands used to install an old-style archive])
13743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Determine commands to create old-style static archives.
13763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
13773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_postinstall_cmds='chmod 644 $oldlib'
13783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_postuninstall_cmds=
13793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$RANLIB"; then
13813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
13823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  openbsd*)
13833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
13843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
13853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
13863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
13873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
13883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
13893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
13903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
13913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [old_postinstall_cmds], [2])
13923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [old_postuninstall_cmds], [2])
13933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [old_archive_cmds], [2],
13943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Commands used to build an old-style archive])
13953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CMD_OLD_ARCHIVE
13963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
13983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
13993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
14003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------------------------------------------
14013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check whether the given compiler option works
14023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([_LT_COMPILER_OPTION],
14033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
14043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl
14053aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([$1], [$2],
14063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [$2=no
14073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
14083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
14093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   lt_compiler_flag="$3"
14103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # Insert the option either (1) after the last *FLAGS variable, or
14113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # (2) before a word containing "conftest.", or (3) at the end.
14123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # Note that $ac_compile itself does not contain backslashes and begins
14133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # with a dollar sign (not a hyphen), so the echo should work correctly.
14143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # The option is referenced via a variable to avoid confusing sed.
14153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   lt_compile=`echo "$ac_compile" | $SED \
14163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
14173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
14183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   -e 's:$: $lt_compiler_flag:'`
14193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
14203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   (eval "$lt_compile" 2>conftest.err)
14213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   ac_status=$?
14223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   cat conftest.err >&AS_MESSAGE_LOG_FD
14233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
14243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   if (exit $ac_status) && test -s "$ac_outfile"; then
14253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # The compiler can only warn and ignore the option if not recognized
14263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # So say no if there are warnings other than the usual output.
14273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
14283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
14293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
14303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       $2=yes
14313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     fi
14323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   fi
14333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   $RM conftest*
14343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
14353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test x"[$]$2" = xyes; then
14373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_if([$5], , :, [$5])
14383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
14393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_if([$6], , :, [$6])
14403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
14413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_OPTION
14423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
14443aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
14453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
14463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
14473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
14503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#                  [ACTION-SUCCESS], [ACTION-FAILURE])
14513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------------------------------
14523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check whether the given linker option works
14533aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([_LT_LINKER_OPTION],
14543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
14553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl
14563aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([$1], [$2],
14573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [$2=no
14583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   save_LDFLAGS="$LDFLAGS"
14593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   LDFLAGS="$LDFLAGS $3"
14603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   echo "$lt_simple_link_test_code" > conftest.$ac_ext
14613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
14623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # The linker can only warn and ignore the option if not recognized
14633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # So say no if there are warnings
14643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     if test -s conftest.err; then
14653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       # Append any errors to the config.log.
14663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       cat conftest.err 1>&AS_MESSAGE_LOG_FD
14673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
14683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
14693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       if diff conftest.exp conftest.er2 >/dev/null; then
14703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev         $2=yes
14713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       fi
14723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     else
14733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       $2=yes
14743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     fi
14753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   fi
14763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   $RM -r conftest*
14773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   LDFLAGS="$save_LDFLAGS"
14783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
14793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test x"[$]$2" = xyes; then
14813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_if([$4], , :, [$4])
14823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
14833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    m4_if([$5], , :, [$5])
14843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
14853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LINKER_OPTION
14863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
14883aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
14893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
14903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
14913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
14933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_CMD_MAX_LEN
14943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#---------------
14953aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_CMD_MAX_LEN],
14963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl
14973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find the maximum length of command line arguments
14983aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([the maximum length of command line arguments])
14993aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
15003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  i=0
15013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  teststring="ABCD"
15023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $build_os in
15043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  msdosdjgpp*)
15053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # On DJGPP, this test can blow up pretty badly due to problems in libc
15063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # (any single argument exceeding 2000 bytes causes a buffer overrun
15073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # during glob expansion).  Even if it were fixed, the result of this
15083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # check would be larger than it should be.
15093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
15103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  gnu*)
15133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Under GNU Hurd, this test is not required because there is
15143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # no limit to the length of command line arguments.
15153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Libtool will interpret -1 as no limit whatsoever
15163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=-1;
15173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cygwin* | mingw* | cegcc*)
15203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # On Win9x/ME, this test blows up -- it succeeds, but takes
15213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # about 5 minutes as the teststring grows exponentially.
15223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Worse, since 9x/ME are not pre-emptively multitasking,
15233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # you end up with a "frozen" computer, even though with patience
15243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # the test eventually succeeds (with a max line length of 256k).
15253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Instead, let's just punt: use the minimum linelength reported by
15263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # all of the supported platforms: 8192 (on NT/2K/XP).
15273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=8192;
15283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  amigaos*)
15313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # On AmigaOS with pdksh, this test takes hours, literally.
15323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # So we just punt and use a minimum line length of 8192.
15333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=8192;
15343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
15373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # This has been around since 386BSD, at least.  Likely further.
15383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -x /sbin/sysctl; then
15393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
15403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    elif test -x /usr/sbin/sysctl; then
15413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
15423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
15433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
15443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
15453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # And add a safety zone
15463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
15473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
15483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  interix*)
15513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # We know the value 262144 and hardcode it with a safety zone (like BSD)
15523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=196608
15533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
15553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  osf*)
15563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
15573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
15583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # nice to cause kernel panics so lets avoid the loop below.
15593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # First set a reasonable default.
15603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=16384
15613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    #
15623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -x /sbin/sysconfig; then
15633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
15643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        *1*) lt_cv_sys_max_cmd_len=-1 ;;
15653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
15663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
15673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sco3.2v5*)
15693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=102400
15703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sysv5* | sco5v6* | sysv4.2uw2*)
15723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
15733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -n "$kargmax"; then
15743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
15753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
15763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=32768
15773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
15783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
15793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
15803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
15813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -n "$lt_cv_sys_max_cmd_len"; then
15823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
15833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
15843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
15853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Make teststring a little bigger before we do anything with it.
15863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # a 1K string should be a reasonable start.
15873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      for i in 1 2 3 4 5 6 7 8 ; do
15883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        teststring=$teststring$teststring
15893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      done
15903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
15913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # If test is not a shell built-in, we'll probably end up computing a
15923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # maximum length that is only half of the actual maximum length, but
15933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # we can't tell.
15943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
15953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
15963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      test $i != 17 # 1/2 MB should be enough
15973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      do
15983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        i=`expr $i + 1`
15993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        teststring=$teststring$teststring
16003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      done
16013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Only check the string length outside the loop.
16023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
16033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      teststring=
16043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Add a significant safety factor because C++ compilers can tack on
16053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # massive amounts of additional arguments before passing them to the
16063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # linker.  It appears as though 1/2 is a usable value.
16073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
16083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
16093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
16103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
16113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
16123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n $lt_cv_sys_max_cmd_len ; then
16133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
16143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
16153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT(none)
16163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
16173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmax_cmd_len=$lt_cv_sys_max_cmd_len
16183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [max_cmd_len], [0],
16193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [What is the maximum length of a command?])
16203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_CMD_MAX_LEN
16213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
16233aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
16243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
16253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
16263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_HEADER_DLFCN
16293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------
16303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_HEADER_DLFCN],
16313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
16323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_HEADER_DLFCN
16333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
16363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
16373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------------------------------------------
16383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_TRY_DLOPEN_SELF],
16393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_HEADER_DLFCN])dnl
16403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$cross_compiling" = yes; then :
16413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [$4]
16423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
16433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
16443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_status=$lt_dlunknown
16453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cat > conftest.$ac_ext <<_LT_EOF
16463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[#line __oline__ "configure"
16473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#include "confdefs.h"
16483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#if HAVE_DLFCN_H
16503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#include <dlfcn.h>
16513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
16523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#include <stdio.h>
16543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef RTLD_GLOBAL
16563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  define LT_DLGLOBAL		RTLD_GLOBAL
16573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#else
16583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  ifdef DL_GLOBAL
16593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    define LT_DLGLOBAL		DL_GLOBAL
16603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  else
16613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    define LT_DLGLOBAL		0
16623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  endif
16633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
16643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
16663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   find out it does not work in some platform. */
16673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifndef LT_DLLAZY_OR_NOW
16683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  ifdef RTLD_LAZY
16693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
16703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  else
16713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    ifdef DL_LAZY
16723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#      define LT_DLLAZY_OR_NOW		DL_LAZY
16733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    else
16743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#      ifdef RTLD_NOW
16753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#        define LT_DLLAZY_OR_NOW	RTLD_NOW
16763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#      else
16773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#        ifdef DL_NOW
16783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#          define LT_DLLAZY_OR_NOW	DL_NOW
16793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#        else
16803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#          define LT_DLLAZY_OR_NOW	0
16813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#        endif
16823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#      endif
16833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#    endif
16843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  endif
16853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
16863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvoid fnord() { int i=42;}
16883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevint main ()
16893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
16903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
16913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  int status = $lt_dlunknown;
16923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
16933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if (self)
16943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    {
16953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
16963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
16973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      /* dlclose (self); */
16983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    }
16993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
17003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    puts (dlerror ());
17013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  return status;
17033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}]
17043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
17053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
17063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
17073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_status=$?
17083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case x$lt_status in
17093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      x$lt_dlno_uscore) $1 ;;
17103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      x$lt_dlneed_uscore) $2 ;;
17113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      x$lt_dlunknown|x*) $3 ;;
17123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
17133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else :
17143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # compilation failed
17153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    $3
17163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
17173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
17183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevrm -fr conftest*
17193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_TRY_DLOPEN_SELF
17203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_SYS_DLOPEN_SELF
17233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------
17243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_SYS_DLOPEN_SELF],
17253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_HEADER_DLFCN])dnl
17263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "x$enable_dlopen" != xyes; then
17273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  enable_dlopen=unknown
17283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  enable_dlopen_self=unknown
17293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  enable_dlopen_self_static=unknown
17303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
17313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_dlopen=no
17323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_dlopen_libs=
17333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
17353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  beos*)
17363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen="load_add_on"
17373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen_libs=
17383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen_self=yes
17393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
17403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  mingw* | pw32* | cegcc*)
17423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen="LoadLibrary"
17433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen_libs=
17443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
17453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cygwin*)
17473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen="dlopen"
17483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen_libs=
17493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
17503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  darwin*)
17523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # if libdl is installed we need to link against it
17533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CHECK_LIB([dl], [dlopen],
17543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
17553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen="dyld"
17563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen_libs=
17573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_dlopen_self=yes
17583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ])
17593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
17603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
17623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CHECK_FUNC([shl_load],
17633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  [lt_cv_dlopen="shl_load"],
17643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      [AC_CHECK_LIB([dld], [shl_load],
17653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
17663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[AC_CHECK_FUNC([dlopen],
17673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      [lt_cv_dlopen="dlopen"],
17683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  [AC_CHECK_LIB([dl], [dlopen],
17693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
17703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    [AC_CHECK_LIB([svld], [dlopen],
17713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
17723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      [AC_CHECK_LIB([dld], [dld_link],
17733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
17743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      ])
17753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ])
17763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ])
17773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	])
17783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ])
17793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
17803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
17813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "x$lt_cv_dlopen" != xno; then
17833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    enable_dlopen=yes
17843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
17853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    enable_dlopen=no
17863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
17873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $lt_cv_dlopen in
17893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dlopen)
17903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    save_CPPFLAGS="$CPPFLAGS"
17913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
17923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    save_LDFLAGS="$LDFLAGS"
17943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
17953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    save_LIBS="$LIBS"
17973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    LIBS="$lt_cv_dlopen_libs $LIBS"
17983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
17993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_CACHE_CHECK([whether a program can dlopen itself],
18003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  lt_cv_dlopen_self, [dnl
18013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TRY_DLOPEN_SELF(
18023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
18033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
18043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ])
18053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
18063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "x$lt_cv_dlopen_self" = xyes; then
18073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
18083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
18093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  lt_cv_dlopen_self_static, [dnl
18103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TRY_DLOPEN_SELF(
18113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
18123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
18133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ])
18143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
18153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
18163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    CPPFLAGS="$save_CPPFLAGS"
18173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    LDFLAGS="$save_LDFLAGS"
18183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    LIBS="$save_LIBS"
18193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
18203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
18213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
18223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $lt_cv_dlopen_self in
18233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
18243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *) enable_dlopen_self=unknown ;;
18253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
18263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
18273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $lt_cv_dlopen_self_static in
18283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
18293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *) enable_dlopen_self_static=unknown ;;
18303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
18313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
18323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([dlopen_support], [enable_dlopen], [0],
18333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 [Whether dlopen is supported])
18343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
18353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 [Whether dlopen of programs is supported])
18363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
18373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 [Whether dlopen of statically linked programs is supported])
18383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_SYS_DLOPEN_SELF
18393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
18403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
18413aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
18423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
18433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
18443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
18453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
18463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_C_O([TAGNAME])
18473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------
18483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check to see if options -c and -o are simultaneously supported by compiler.
18493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This macro does not hard code the compiler like AC_PROG_CC_C_O.
18503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_C_O],
18513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_SED])dnl
18523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl
18533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_TAG_COMPILER])dnl
18543aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
18553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
18563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
18573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   $RM -r conftest 2>/dev/null
18583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   mkdir conftest
18593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   cd conftest
18603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   mkdir out
18613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
18623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
18633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   lt_compiler_flag="-o out/conftest2.$ac_objext"
18643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # Insert the option either (1) after the last *FLAGS variable, or
18653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # (2) before a word containing "conftest.", or (3) at the end.
18663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # Note that $ac_compile itself does not contain backslashes and begins
18673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # with a dollar sign (not a hyphen), so the echo should work correctly.
18683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   lt_compile=`echo "$ac_compile" | $SED \
18693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
18703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
18713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   -e 's:$: $lt_compiler_flag:'`
18723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
18733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   (eval "$lt_compile" 2>out/conftest.err)
18743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   ac_status=$?
18753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   cat out/conftest.err >&AS_MESSAGE_LOG_FD
18763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
18773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   if (exit $ac_status) && test -s out/conftest2.$ac_objext
18783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   then
18793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # The compiler can only warn and ignore the option if not recognized
18803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # So say no if there are warnings
18813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
18823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
18833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
18843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
18853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     fi
18863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   fi
18873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   chmod u+w . 2>&AS_MESSAGE_LOG_FD
18883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   $RM conftest*
18893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # SGI C++ compiler will create directory out/ii_files/ for
18903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   # template instantiation
18913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
18923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   $RM out/* && rmdir out
18933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   cd ..
18943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   $RM -r conftest
18953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   $RM conftest*
18963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
18973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
18983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[Does compiler simultaneously support -c and -o options?])
18993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_C_O
19003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_FILE_LOCKS([TAGNAME])
19033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------------
19043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check to see if we can do hard links to lock some files if needed
19053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_FILE_LOCKS],
19063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_ENABLE_LOCK])dnl
19073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl
19083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COMPILER_C_O([$1])
19093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhard_links="nottested"
19113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
19123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # do not overwrite the value of need_locks provided by the user
19133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_CHECKING([if we can lock with hard links])
19143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hard_links=yes
19153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  $RM conftest*
19163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ln conftest.a conftest.b 2>/dev/null && hard_links=no
19173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  touch conftest.a
19183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ln conftest.a conftest.b 2>&5 || hard_links=no
19193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ln conftest.a conftest.b 2>/dev/null && hard_links=no
19203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT([$hard_links])
19213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$hard_links" = no; then
19223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
19233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    need_locks=warn
19243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
19253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
19263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_locks=no
19273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
19283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
19293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_FILE_LOCKS
19303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CHECK_OBJDIR
19333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------
19343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CHECK_OBJDIR],
19353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
19363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[rm -f .libs 2>/dev/null
19373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmkdir .libs 2>/dev/null
19383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -d .libs; then
19393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_objdir=.libs
19403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
19413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # MS-DOS does not allow filenames that begin with a dot.
19423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_objdir=_libs
19433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
19443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevrmdir .libs 2>/dev/null])
19453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjdir=$lt_cv_objdir
19463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [objdir], [0],
19473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev         [The name of the directory that contains temporary libtool files])dnl
19483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_pattern_allow([LT_OBJDIR])dnl
19493aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
19503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [Define to the sub-directory in which libtool stores uninstalled libraries.])
19513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CHECK_OBJDIR
19523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
19553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------------------
19563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check hardcoding attributes.
19573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
19583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_MSG_CHECKING([how to hardcode library paths into programs])
19593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_action, $1)=
19603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
19613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
19623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
19633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # We can hardcode non-existent directories.
19653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
19663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # If the only mechanism to avoid hardcoding is shlibpath_var, we
19673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # have to relink, otherwise we might link with an installed library
19683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     # when we should be linking with a yet-to-be-installed one
19693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
19703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
19713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Linking always hardcodes the temporary library directory.
19723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(hardcode_action, $1)=relink
19733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
19743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # We can link without hardcoding, and we can hardcode nonexisting dirs.
19753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(hardcode_action, $1)=immediate
19763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
19773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
19783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # We cannot hardcode anything, or else we can only hardcode existing
19793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # directories.
19803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_action, $1)=unsupported
19813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
19823aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
19833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
19853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
19863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Fast installation is not supported
19873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  enable_fast_install=no
19883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelif test "$shlibpath_overrides_runpath" = yes ||
19893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     test "$enable_shared" = no; then
19903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Fast installation is not necessary
19913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  enable_fast_install=needless
19923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
19933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_action], [0],
19943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [How to hardcode a shared library path into an executable])
19953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LINKER_HARDCODE_LIBPATH
19963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
19983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CMD_STRIPLIB
19993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------
20003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CMD_STRIPLIB],
20013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_EGREP])
20023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevstriplib=
20033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevold_striplib=
20043aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([whether stripping libraries is possible])
20053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
20063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
20073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
20083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT([yes])
20093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
20103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# FIXME - insert some real tests, host_os isn't really good enough
20113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
20123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  darwin*)
20133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -n "$STRIP" ; then
20143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      striplib="$STRIP -x"
20153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      old_striplib="$STRIP -S"
20163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      AC_MSG_RESULT([yes])
20173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
20183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      AC_MSG_RESULT([no])
20193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
20203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
20213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
20223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_RESULT([no])
20233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
20243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
20253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
20263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
20273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [striplib], [1])
20283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CMD_STRIPLIB
20293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
20303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
20313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SYS_DYNAMIC_LINKER([TAG])
20323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------------------------
20333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# PORTME Fill in your ld.so characteristics
20343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_SYS_DYNAMIC_LINKER],
20353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl
20363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl
20373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl
20383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_OBJDUMP])dnl
20393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl
20403aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([dynamic linker characteristics])
20413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1],
20423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[], [
20433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$GCC" = yes; then
20443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
20453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
20463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *) lt_awk_arg="/^libraries:/" ;;
20473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
20483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
20493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
20503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # if the path contains ";" then we assume it to be the separator
20513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # otherwise default to the standard path separator (i.e. ":") - it is
20523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # assumed that no part of a normal pathname contains ";" but that should
20533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # okay in the real world where ";" in dirpaths is itself problematic.
20543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
20553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
20563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
20573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
20583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Ok, now we have the path, separated by spaces, we can step through it
20593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # and add multilib dir if necessary.
20603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_tmp_lt_search_path_spec=
20613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
20623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  for lt_sys_path in $lt_search_path_spec; do
20633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
20643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
20653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
20663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      test -d "$lt_sys_path" && \
20673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
20683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
20693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  done
20703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
20713aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevBEGIN {RS=" "; FS="/|\n";} {
20723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_foo="";
20733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_count=0;
20743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  for (lt_i = NF; lt_i > 0; lt_i--) {
20753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if ($lt_i != "" && $lt_i != ".") {
20763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if ($lt_i == "..") {
20773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        lt_count++;
20783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      } else {
20793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if (lt_count == 0) {
20803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          lt_foo="/" $lt_i lt_foo;
20813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        } else {
20823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          lt_count--;
20833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        }
20843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      }
20853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    }
20863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  }
20873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
20883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
20893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}'`
20903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
20913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
20923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
20933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi])
20943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlibrary_names_spec=
20953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlibname_spec='lib$name'
20963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsoname_spec=
20973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevshrext_cmds=".so"
20983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpostinstall_cmds=
20993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpostuninstall_cmds=
21003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfinish_cmds=
21013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfinish_eval=
21023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevshlibpath_var=
21033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevshlibpath_overrides_runpath=unknown
21043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevversion_type=none
21053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdynamic_linker="$host_os ld.so"
21063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsys_lib_dlsearch_path_spec="/lib /usr/lib"
21073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevneed_lib_prefix=unknown
21083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhardcode_into_libs=no
21093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
21103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# when you set need_version to no, make sure it does not cause -set_version
21113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# flags to be left without arguments
21123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevneed_version=unknown
21133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
21143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in
21153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix3*)
21163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
21173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
21183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LIBPATH
21193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
21203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # AIX 3 has no versioning support, so we append a major version to the name.
21213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
21223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
21233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
21243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix[[4-9]]*)
21253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
21263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
21273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
21283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
21293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$host_cpu" = ia64; then
21303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # AIX 5 supports IA64
21313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
21323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_var=LD_LIBRARY_PATH
21333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
21343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # With GCC up to 2.95.x, collect2 would create an import file
21353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # for dependence libraries.  The import file would start with
21363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # the line `#! .'.  This would cause the generated library to
21373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # depend on `.', always an invalid library.  This was fixed in
21383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # development snapshots of GCC prior to 3.0.
21393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
21403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix4 | aix4.[[01]] | aix4.[[01]].*)
21413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
21423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   echo ' yes '
21433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
21443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	:
21453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
21463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	can_build_shared=no
21473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
21483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
21493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
21503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
21513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # soname into executable. Probably we can add versioning support to
21523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # collect2, so additional links can be useful in future.
21533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$aix_use_runtimelinking" = yes; then
21543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
21553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # instead of lib<name>.a to let people know that these are not
21563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # typical AIX shared libraries.
21573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
21583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
21593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # We preserve .a as extension for shared libraries through AIX4.2
21603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # and later when we are not doing run time linking.
21613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      library_names_spec='${libname}${release}.a $libname.a'
21623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      soname_spec='${libname}${release}${shared_ext}$major'
21633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
21643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_var=LIBPATH
21653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
21663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
21673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
21683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevamigaos*)
21693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_cpu in
21703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  powerpc)
21713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Since July 2007 AmigaOS4 officially supports .so libraries.
21723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
21733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
21743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
21753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  m68k)
21763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='$libname.ixlibrary $libname.a'
21773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Create ${libname}_ixlibrary.a entries in /sys/libs.
21783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
21793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
21803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
21813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
21823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
21833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevbeos*)
21843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${shared_ext}'
21853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker="$host_os ld.so"
21863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LIBRARY_PATH
21873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
21883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
21893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevbsdi[[45]]*)
21903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
21913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
21923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
21933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
21943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
21953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
21963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
21973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
21983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # the default ld.so.conf also contains /usr/contrib/lib and
21993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
22003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # libtool to hard-code these into programs
22013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
22023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
22033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcygwin* | mingw* | pw32* | cegcc*)
22043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=windows
22053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shrext_cmds=".dll"
22063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
22073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
22083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
22093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $GCC,$host_os in
22103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
22113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='$libname.dll.a'
22123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # DLL is installed to $(libdir)/../bin by postinstall_cmds
22133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    postinstall_cmds='base_file=`basename \${file}`~
22143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
22153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      dldir=$destdir/`dirname \$dlpath`~
22163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      test -d \$dldir || mkdir -p \$dldir~
22173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      $install_prog $dir/$dlname \$dldir/$dlname~
22183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      chmod a+x \$dldir/$dlname~
22193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
22203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
22213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi'
22223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
22233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      dlpath=$dir/\$dldll~
22243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       $RM \$dlpath'
22253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=yes
22263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
22273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
22283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cygwin*)
22293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
22303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
22313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
22323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
22333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mingw* | cegcc*)
22343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # MinGW DLLs use traditional 'lib' prefix
22353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
22363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
22373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
22383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # It is most probably a Windows format PATH printed by
22393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # mingw gcc, but we are running on Cygwin. Gcc prints its search
22403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # path with ; separators, and with drive letters. We can handle the
22413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # drive letters (cygwin fileutils understands them), so leave them,
22423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # especially as we might pass files found there to a mingw objdump,
22433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # which wouldn't understand a cygwinified path. Ahh.
22443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
22453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
22463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
22473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
22483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
22493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    pw32*)
22503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # pw32 DLLs use 'pw' prefix rather than 'lib'
22513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
22523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
22533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
22543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
22553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
22563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
22573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
22583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
22593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
22603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker='Win32 ld.exe'
22613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # FIXME: first we should search . and the directory the executable is in
22623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=PATH
22633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
22643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
22653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdarwin* | rhapsody*)
22663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker="$host_os dyld"
22673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=darwin
22683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
22693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
22703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
22713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${major}$shared_ext'
22723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=yes
22733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=DYLD_LIBRARY_PATH
22743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
22753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [],[
22763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
22773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
22783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
22793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
22803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdgux*)
22813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
22823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
22833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
22843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
22853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
22863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
22873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
22883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
22893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfreebsd1*)
22903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker=no
22913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
22923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
22933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfreebsd* | dragonfly*)
22943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # DragonFly does not have aout.  When/if they implement a new
22953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # versioning mechanism, adjust this.
22963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -x /usr/bin/objformat; then
22973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    objformat=`/usr/bin/objformat`
22983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
22993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
23003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    freebsd[[123]]*) objformat=aout ;;
23013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *) objformat=elf ;;
23023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
23033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
23043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=freebsd-$objformat
23053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $version_type in
23063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    freebsd-elf*)
23073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
23083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      need_version=no
23093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      need_lib_prefix=no
23103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
23113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    freebsd-*)
23123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
23133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      need_version=yes
23143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
23153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
23163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
23173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
23183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  freebsd2*)
23193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=yes
23203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
23213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
23223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=yes
23233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hardcode_into_libs=yes
23243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
23253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
23263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
23273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=no
23283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hardcode_into_libs=yes
23293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
23303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *) # from 4.6 on, and DragonFly
23313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=yes
23323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hardcode_into_libs=yes
23333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
23343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
23353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
23363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
23373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevgnu*)
23383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
23393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
23403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
23413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
23423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
23433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
23443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
23453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
23463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
23473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhpux9* | hpux10* | hpux11*)
23483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Give a soname corresponding to the major version so that dld.sl refuses to
23493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # link against other versions.
23503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=sunos
23513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
23523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
23533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_cpu in
23543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ia64*)
23553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shrext_cmds='.so'
23563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hardcode_into_libs=yes
23573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    dynamic_linker="$host_os dld.so"
23583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_var=LD_LIBRARY_PATH
23593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
23603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
23613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    soname_spec='${libname}${release}${shared_ext}$major'
23623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "X$HPUX_IA64_MODE" = X32; then
23633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
23643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
23653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
23663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
23673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
23683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
23693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hppa*64*)
23703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shrext_cmds='.sl'
23713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hardcode_into_libs=yes
23723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    dynamic_linker="$host_os dld.sl"
23733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
23743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
23753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
23763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    soname_spec='${libname}${release}${shared_ext}$major'
23773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
23783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
23793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
23803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
23813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shrext_cmds='.sl'
23823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    dynamic_linker="$host_os dld.sl"
23833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_var=SHLIB_PATH
23843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
23853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
23863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    soname_spec='${libname}${release}${shared_ext}$major'
23873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
23883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
23893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # HP-UX runs *really* slowly unless shared libraries are mode 555.
23903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  postinstall_cmds='chmod 555 $lib'
23913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
23923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
23933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevinterix[[3-9]]*)
23943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
23953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
23963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
23973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
23983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
23993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
24003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
24013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=no
24023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
24033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
24043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
24053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevirix5* | irix6* | nonstopux*)
24063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
24073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    nonstopux*) version_type=nonstopux ;;
24083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)
24093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$lt_cv_prog_gnu_ld" = yes; then
24103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		version_type=linux
24113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
24123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		version_type=irix
24133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi ;;
24143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
24153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
24163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
24173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
24183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
24193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
24203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  irix5* | nonstopux*)
24213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    libsuff= shlibsuff=
24223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
24233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
24243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $LD in # libtool.m4 will add one of these switches to LD
24253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
24263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      libsuff= shlibsuff= libmagic=32-bit;;
24273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
24283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      libsuff=32 shlibsuff=N32 libmagic=N32;;
24293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
24303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      libsuff=64 shlibsuff=64 libmagic=64-bit;;
24313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *) libsuff= shlibsuff= libmagic=never-match;;
24323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
24333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
24343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
24353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
24363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=no
24373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
24383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
24393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
24403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
24413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
24423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# No shared lib support for Linux oldld, aout, or coff.
24433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlinux*oldld* | linux*aout* | linux*coff*)
24443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker=no
24453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
24463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
24473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This must be Linux ELF.
24483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlinux* | k*bsd*-gnu)
24493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
24503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
24513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
24523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
24533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
24543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
24553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
24563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=no
24573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Some binutils ld are patched to set DT_RUNPATH
24583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  save_LDFLAGS=$LDFLAGS
24593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  save_libdir=$libdir
24603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
24613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
24623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
24633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
24643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       [shlibpath_overrides_runpath=yes])])
24653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  LDFLAGS=$save_LDFLAGS
24663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  libdir=$save_libdir
24673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
24683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # This implies no fast_install, which is unacceptable.
24693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Some rework will be needed to allow for fast_install
24703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # before this can be enabled.
24713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
24723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
24733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Add ABI-specific directories to the system library path.
24743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
24753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
24763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Append ld.so.conf contents to the search path
24773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -f /etc/ld.so.conf; then
24783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
24793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
24803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
24813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
24823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # We used to test for /lib/ld.so.1 and disable shared libraries on
24833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # powerpc, because MkLinux only supported shared libraries with the
24843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # GNU dynamic linker.  Since this was broken with cross compilers,
24853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # most powerpc-linux boxes support dynamic linking these days and
24863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # people can always --disable-shared, the test was removed, and we
24873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # assume the GNU/Linux dynamic linker is in use.
24883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker='GNU/Linux ld.so'
24893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
24903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
24913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevnetbsd*)
24923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=sunos
24933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
24943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
24953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
24963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
24973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
24983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    dynamic_linker='NetBSD (a.out) ld.so'
24993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
25003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
25013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    soname_spec='${libname}${release}${shared_ext}$major'
25023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    dynamic_linker='NetBSD ld.elf_so'
25033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
25043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
25053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=yes
25063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
25073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
25083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
25093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevnewsos6)
25103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
25113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
25123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
25133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=yes
25143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
25153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
25163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*nto* | *qnx*)
25173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=qnx
25183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
25193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
25203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
25213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
25223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
25233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=no
25243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
25253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker='ldqnx.so'
25263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
25273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
25283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevopenbsd*)
25293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=sunos
25303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_dlsearch_path_spec="/usr/lib"
25313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
25323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
25333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
25343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
25353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)				need_version=no  ;;
25363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
25373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
25383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
25393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
25403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
25413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
25423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      openbsd2.[[89]] | openbsd2.[[89]].*)
25433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	shlibpath_overrides_runpath=no
25443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
25453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
25463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	shlibpath_overrides_runpath=yes
25473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
25483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
25493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
25503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_overrides_runpath=yes
25513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
25523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
25533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
25543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevos2*)
25553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  libname_spec='$name'
25563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shrext_cmds=".dll"
25573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
25583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='$libname${shared_ext} $libname.a'
25593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker='OS/2 ld.exe'
25603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LIBPATH
25613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
25623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
25633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevosf3* | osf4* | osf5*)
25643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=osf
25653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
25663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
25673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
25683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
25693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
25703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
25713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
25723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
25733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
25743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevrdos*)
25753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker=no
25763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
25773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
25783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsolaris*)
25793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
25803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
25813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
25823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
25833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
25843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
25853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=yes
25863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
25873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # ldd complains unless libraries are executable
25883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  postinstall_cmds='chmod +x $lib'
25893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
25903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
25913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsunos4*)
25923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=sunos
25933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
25943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
25953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
25963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=yes
25973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$with_gnu_ld" = yes; then
25983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    need_lib_prefix=no
25993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
26003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=yes
26013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
26023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4 | sysv4.3*)
26043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
26053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
26063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
26073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
26083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_vendor in
26093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sni)
26103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      shlibpath_overrides_runpath=no
26113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      need_lib_prefix=no
26123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      runpath_var=LD_RUN_PATH
26133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
26143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    siemens)
26153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      need_lib_prefix=no
26163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
26173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    motorola)
26183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      need_lib_prefix=no
26193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      need_version=no
26203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      shlibpath_overrides_runpath=no
26213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
26223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
26233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
26243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
26253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4*MP*)
26273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -d /usr/nec ;then
26283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    version_type=linux
26293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
26303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    soname_spec='$libname${shared_ext}.$major'
26313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    shlibpath_var=LD_LIBRARY_PATH
26323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
26333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
26343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
26363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=freebsd-elf
26373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
26383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
26393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
26403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
26413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
26423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=yes
26433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
26443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$with_gnu_ld" = yes; then
26453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
26463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
26473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
26483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
26493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sco3.2v5*)
26503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
26513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
26523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
26533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
26543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_dlsearch_path_spec='/usr/lib'
26553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
26563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtpf*)
26583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
26593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
26603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_lib_prefix=no
26613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  need_version=no
26623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
26633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
26643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_overrides_runpath=no
26653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hardcode_into_libs=yes
26663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
26673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevuts4*)
26693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  version_type=linux
26703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
26713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  soname_spec='${libname}${release}${shared_ext}$major'
26723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  shlibpath_var=LD_LIBRARY_PATH
26733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
26743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*)
26763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  dynamic_linker=no
26773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
26783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
26793aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$dynamic_linker])
26803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest "$dynamic_linker" = no && can_build_shared=no
26813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
26833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$GCC" = yes; then
26843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
26853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
26863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
26883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
26893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
26903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
26913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
26923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
26933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
26943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [variables_saved_for_relink], [1],
26953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Variables whose values should be saved in libtool wrapper scripts and
26963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    restored at link time])
26973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [need_lib_prefix], [0],
26983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Do we need the "lib" prefix for modules?])
26993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
27003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [version_type], [0], [Library versioning type])
27013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
27023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
27033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [shlibpath_overrides_runpath], [0],
27043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Is shlibpath searched before the hard-coded library search path?])
27053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
27063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [library_names_spec], [1],
27073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [[List of archive names.  First name is the real one, the rest are links.
27083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    The last name is the one that the linker finds with -lNAME]])
27093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [soname_spec], [1],
27103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [[The coded name of the library, if different from the real name]])
27113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [postinstall_cmds], [2],
27123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Command to use after installation of a shared archive])
27133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [postuninstall_cmds], [2],
27143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Command to use after uninstallation of a shared archive])
27153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [finish_cmds], [2],
27163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Commands used to finish a libtool library installation in a directory])
27173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [finish_eval], [1],
27183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [[As "finish_cmds", except a single script fragment to be evaled but
27193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    not shown]])
27203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [hardcode_into_libs], [0],
27213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Whether we should hardcode library paths into libraries])
27223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [sys_lib_search_path_spec], [2],
27233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Compile-time system search path for libraries])
27243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
27253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Run-time system search path for libraries])
27263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SYS_DYNAMIC_LINKER
27273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
27283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
27293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PATH_TOOL_PREFIX(TOOL)
27303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------
27313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find a file program which can recognize shared library
27323aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([_LT_PATH_TOOL_PREFIX],
27333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_EGREP])dnl
27343aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([for $1])
27353aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
27363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[case $MAGIC_CMD in
27373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[[\\/*] |  ?:[\\/]*])
27383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
27393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
27403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*)
27413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_MAGIC_CMD="$MAGIC_CMD"
27423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
27433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl $ac_dummy forces splitting on constant user-supplied paths.
27443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl POSIX.2 word splitting is done only on the output of word expansions,
27453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl not every word.  This closes a longstanding sh security hole.
27463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ac_dummy="m4_if([$2], , $PATH, [$2])"
27473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  for ac_dir in $ac_dummy; do
27483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    IFS="$lt_save_ifs"
27493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test -z "$ac_dir" && ac_dir=.
27503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -f $ac_dir/$1; then
27513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
27523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -n "$file_magic_test_file"; then
27533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $deplibs_check_method in
27543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	"file_magic "*)
27553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
27563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
27573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
27583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    $EGREP "$file_magic_regex" > /dev/null; then
27593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    :
27603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  else
27613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    cat <<_LT_EOF 1>&2
27623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
27633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Warning: the command libtool uses to detect shared libraries,
27643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** $file_magic_cmd, produces output that libtool cannot recognize.
27653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** The result is that libtool may fail to recognize shared libraries
27663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** as such.  This will affect the creation of libtool libraries that
27673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** depend on shared libraries, but programs linked with such libtool
27683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** libraries will work regardless of this problem.  Nevertheless, you
27693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** may want to report the problem to your system manager and/or to
27703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** bug-libtool@gnu.org
27713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
27723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
27733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi ;;
27743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
27753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
27763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      break
27773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
27783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  done
27793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  IFS="$lt_save_ifs"
27803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  MAGIC_CMD="$lt_save_MAGIC_CMD"
27813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
27823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac])
27833aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevMAGIC_CMD="$lt_cv_path_MAGIC_CMD"
27843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$MAGIC_CMD"; then
27853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT($MAGIC_CMD)
27863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
27873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT(no)
27883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
27893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [MAGIC_CMD], [0],
27903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
27913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PATH_TOOL_PREFIX
27923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
27933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
27943aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
27953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
27963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
27973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
27983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
27993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PATH_MAGIC
28003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------
28013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find a file program which can recognize a shared library
28023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PATH_MAGIC],
28033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
28043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$lt_cv_path_MAGIC_CMD"; then
28053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -n "$ac_tool_prefix"; then
28063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
28073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
28083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    MAGIC_CMD=:
28093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
28103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
28113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PATH_MAGIC
28123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
28133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
28143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PATH_LD
28153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------
28163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find the pathname to the GNU or non-GNU linker
28173aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_PATH_LD],
28183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_PROG_CC])dnl
28193aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_CANONICAL_HOST])dnl
28203aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_CANONICAL_BUILD])dnl
28213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl
28223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl
28233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
28243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_ARG_WITH([gnu-ld],
28253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [AS_HELP_STRING([--with-gnu-ld],
28263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
28273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [test "$withval" = no || with_gnu_ld=yes],
28283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [with_gnu_ld=no])dnl
28293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
28303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_prog=ld
28313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$GCC" = yes; then
28323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Check if gcc -print-prog-name=ld gives a path.
28333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_CHECKING([for ld used by $CC])
28343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host in
28353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *-*-mingw*)
28363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # gcc leaves a trailing carriage return which upsets mingw
28373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
28383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
28393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
28403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
28413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $ac_prog in
28423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Accept absolute paths.
28433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [[\\/]]* | ?:[[\\/]]*)
28443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      re_direlt='/[[^/]][[^/]]*/\.\./'
28453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Canonicalize the pathname of ld
28463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
28473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
28483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
28493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      done
28503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      test -z "$LD" && LD="$ac_prog"
28513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
28523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  "")
28533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # If it fails, then pretend we aren't using GCC.
28543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ac_prog=ld
28553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
28563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
28573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # If it is relative, then search for the first ld in PATH.
28583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    with_gnu_ld=unknown
28593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
28603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
28613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelif test "$with_gnu_ld" = yes; then
28623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_CHECKING([for GNU ld])
28633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
28643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_CHECKING([for non-GNU ld])
28653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
28663aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL(lt_cv_path_LD,
28673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[if test -z "$LD"; then
28683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
28693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  for ac_dir in $PATH; do
28703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    IFS="$lt_save_ifs"
28713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test -z "$ac_dir" && ac_dir=.
28723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
28733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_path_LD="$ac_dir/$ac_prog"
28743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Check to see if the program is GNU ld.  I'd rather use --version,
28753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # but apparently some variants of GNU ld only accept -v.
28763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Break only if it was the GNU/non-GNU ld that we prefer.
28773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
28783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *GNU* | *'with BFD'*)
28793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test "$with_gnu_ld" != no && break
28803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
28813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
28823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	test "$with_gnu_ld" != yes && break
28833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
28843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
28853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
28863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  done
28873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  IFS="$lt_save_ifs"
28883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
28893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_path_LD="$LD" # Let the user override the test with a path.
28903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi])
28913aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLD="$lt_cv_path_LD"
28923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$LD"; then
28933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT($LD)
28943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
28953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT(no)
28963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
28973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
28983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_PATH_LD_GNU
28993aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([LD])
29003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
29023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_PATH_LD
29033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old names:
29053aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
29063aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
29073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
29083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AM_PROG_LD], [])
29093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_PROG_LD], [])
29103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PATH_LD_GNU
29133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#- --------------
29143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PATH_LD_GNU],
29153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
29163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[# I'd rather use --version here, but apparently some GNU lds only accept -v.
29173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase `$LD -v 2>&1 </dev/null` in
29183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*GNU* | *'with BFD'*)
29193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_prog_gnu_ld=yes
29203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
29213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*)
29223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_prog_gnu_ld=no
29233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
29243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac])
29253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwith_gnu_ld=$lt_cv_prog_gnu_ld
29263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PATH_LD_GNU
29273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CMD_RELOAD
29303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------
29313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find reload flag for linker
29323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   -- PORTME Some linkers may need a different reload flag.
29333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CMD_RELOAD],
29343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CACHE_CHECK([for $LD option to reload object files],
29353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_ld_reload_flag,
29363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [lt_cv_ld_reload_flag='-r'])
29373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevreload_flag=$lt_cv_ld_reload_flag
29383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $reload_flag in
29393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"" | " "*) ;;
29403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*) reload_flag=" $reload_flag" ;;
29413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
29423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevreload_cmds='$LD$reload_flag -o $output$reload_objs'
29433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in
29443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  darwin*)
29453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$GCC" = yes; then
29463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
29473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
29483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      reload_cmds='$LD$reload_flag -o $output$reload_objs'
29493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
29503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
29513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
29523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
29533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [reload_cmds], [2])dnl
29543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CMD_RELOAD
29553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CHECK_MAGIC_METHOD
29583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------
29593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# how to check for library dependencies
29603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  -- PORTME fill in with the dynamic library characteristics
29613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CHECK_MAGIC_METHOD],
29623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_EGREP])
29633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_OBJDUMP])
29643aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([how to recognize dependent libraries],
29653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_deplibs_check_method,
29663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[lt_cv_file_magic_cmd='$MAGIC_CMD'
29673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_file_magic_test_file=
29683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_deplibs_check_method='unknown'
29693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Need to set the preceding variable on all platforms that support
29703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# interlibrary dependencies.
29713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 'none' -- dependencies not supported.
29723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# `unknown' -- same as none, but documents that we really don't know.
29733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 'pass_all' -- all dependencies passed with no checks.
29743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 'test_compile' -- check by making test program.
29753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# 'file_magic [[regex]]' -- check by looking for files in library path
29763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# which responds to the $file_magic_cmd with a given extended regex.
29773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If you have `file' or equivalent on your system and you're not sure
29783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# whether `pass_all' will *always* work, you probably want this one.
29793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in
29813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix[[4-9]]*)
29823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
29833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
29843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevbeos*)
29863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
29873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
29883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevbsdi[[45]]*)
29903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
29913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_file_magic_cmd='/usr/bin/file -L'
29923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_file_magic_test_file=/shlib/libc.so
29933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
29943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
29953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcygwin*)
29963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # func_win32_libid is a shell function defined in ltmain.sh
29973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
29983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_file_magic_cmd='func_win32_libid'
29993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmingw* | pw32*)
30023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Base MSYS/MinGW do not provide the 'file' command needed by
30033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # func_win32_libid shell function, so use a weaker test based on 'objdump',
30043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # unless we find 'file', for example because we are cross-compiling.
30053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if ( file / ) >/dev/null 2>&1; then
30063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
30073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_cmd='func_win32_libid'
30083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
30093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
30103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_cmd='$OBJDUMP -f'
30113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
30123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcegcc)
30153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # use the weaker test based on 'objdump'. See mingw*.
30163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
30173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_file_magic_cmd='$OBJDUMP -f'
30183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdarwin* | rhapsody*)
30213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
30223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfreebsd* | dragonfly*)
30253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
30263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_cpu in
30273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    i*86 )
30283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Not sure whether the presence of OpenBSD here was a mistake.
30293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Let's accept both of them until this is cleared up.
30303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
30313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_file_magic_cmd=/usr/bin/file
30323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
30333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
30343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
30353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
30363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method=pass_all
30373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
30383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevgnu*)
30413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
30423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhpux10.20* | hpux11*)
30453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_file_magic_cmd=/usr/bin/file
30463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_cpu in
30473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ia64*)
30483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
30493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
30503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
30513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  hppa*64*)
30523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
30533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
30543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
30553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
30563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
30573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_test_file=/usr/lib/libc.sl
30583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
30593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
30603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevinterix[[3-9]]*)
30633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
30643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
30653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevirix5* | irix6* | nonstopux*)
30683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $LD in
30693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *-32|*"-32 ") libmagic=32-bit;;
30703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *-n32|*"-n32 ") libmagic=N32;;
30713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *-64|*"-64 ") libmagic=64-bit;;
30723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *) libmagic=never-match;;
30733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
30743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
30753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# This must be Linux ELF.
30783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlinux* | k*bsd*-gnu)
30793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
30803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevnetbsd*)
30833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
30843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
30853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
30863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
30873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
30883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevnewos6*)
30913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
30923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_file_magic_cmd=/usr/bin/file
30933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_file_magic_test_file=/usr/lib/libnls.so
30943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
30963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*nto* | *qnx*)
30973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
30983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
30993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevopenbsd*)
31013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
31023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
31033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
31043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
31053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
31063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
31073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevosf3* | osf4* | osf5*)
31093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
31103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
31113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevrdos*)
31133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
31143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
31153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsolaris*)
31173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
31183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
31193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
31213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
31223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
31233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4 | sysv4.3*)
31253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_vendor in
31263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  motorola)
31273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    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]]'
31283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
31293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
31303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ncr)
31313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method=pass_all
31323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
31333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sequent)
31343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_cmd='/bin/file'
31353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
31363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
31373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  sni)
31383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_cmd='/bin/file'
31393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
31403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_file_magic_test_file=/lib/libc.so
31413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
31423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  siemens)
31433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method=pass_all
31443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
31453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  pc)
31463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_deplibs_check_method=pass_all
31473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
31483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
31493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
31503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtpf*)
31523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_deplibs_check_method=pass_all
31533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
31543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
31553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
31563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfile_magic_cmd=$lt_cv_file_magic_cmd
31573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdeplibs_check_method=$lt_cv_deplibs_check_method
31583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$deplibs_check_method" && deplibs_check_method=unknown
31593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [deplibs_check_method], [1],
31613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Method to check whether dependent libraries are shared objects])
31623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [file_magic_cmd], [1],
31633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Command to use when deplibs_check_method == "file_magic"])
31643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CHECK_MAGIC_METHOD
31653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
31673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PATH_NM
31683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------
31693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# find the pathname to a BSD- or MS-compatible name lister
31703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_PATH_NM],
31713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_PROG_CC])dnl
31723aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
31733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[if test -n "$NM"; then
31743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Let the user override the test.
31753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_path_NM="$NM"
31763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
31773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_nm_to_check="${ac_tool_prefix}nm"
31783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
31793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_nm_to_check="$lt_nm_to_check nm"
31803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
31813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  for lt_tmp_nm in $lt_nm_to_check; do
31823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
31833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
31843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      IFS="$lt_save_ifs"
31853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      test -z "$ac_dir" && ac_dir=.
31863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      tmp_nm="$ac_dir/$lt_tmp_nm"
31873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
31883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Check to see if the nm accepts a BSD-compat flag.
31893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
31903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	#   nm: unknown option "B" ignored
31913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Tru64's nm complains that /dev/null is an invalid object file
31923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
31933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*/dev/null* | *'Invalid file or object type'*)
31943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  lt_cv_path_NM="$tmp_nm -B"
31953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  break
31963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
31973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*)
31983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
31993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  */dev/null*)
32003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    lt_cv_path_NM="$tmp_nm -p"
32013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    break
32023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
32033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
32043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
32053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    continue # so that we can try to find one that supports BSD flags
32063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
32073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  esac
32083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
32093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
32103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
32113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    done
32123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    IFS="$lt_save_ifs"
32133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  done
32143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  : ${lt_cv_path_NM=no}
32153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi])
32163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$lt_cv_path_NM" != "no"; then
32173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  NM="$lt_cv_path_NM"
32183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
32193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Didn't find any BSD compatible name lister, look for dumpbin.
32203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
32213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_SUBST([DUMPBIN])
32223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$DUMPBIN" != ":"; then
32233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    NM="$DUMPBIN"
32243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
32253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
32263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$NM" && NM=nm
32273aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([NM])
32283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
32293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32303aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
32313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [lt_cv_nm_interface="BSD nm"
32323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo "int some_variable = 0;" > conftest.$ac_ext
32333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
32343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  (eval "$ac_compile" 2>conftest.err)
32353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cat conftest.err >&AS_MESSAGE_LOG_FD
32363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
32373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
32383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cat conftest.err >&AS_MESSAGE_LOG_FD
32393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
32403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cat conftest.out >&AS_MESSAGE_LOG_FD
32413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
32423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_nm_interface="MS dumpbin"
32433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
32443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  rm -f conftest*])
32453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_PATH_NM
32463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old names:
32483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
32493aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
32503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
32513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AM_PROG_NM], [])
32523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_PROG_NM], [])
32533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_LIB_M
32563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------
32573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# check for math library
32583aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_LIB_M],
32593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl
32603aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevLIBM=
32613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host in
32623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
32633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # These system don't have libm, or don't need it
32643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
32653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*-ncr-sysv4.3*)
32663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
32673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
32683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
32693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*)
32703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_CHECK_LIB(m, cos, LIBM="-lm")
32713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
32723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
32733aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([LIBM])
32743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# LT_LIB_M
32753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
32773aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
32783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
32793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([AC_CHECK_LIBM], [])
32803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_NO_RTTI([TAGNAME])
32833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------------
32843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_NO_RTTI],
32853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_TAG_COMPILER])dnl
32863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
32883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$GCC" = yes; then
32903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
32913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
32923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
32933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_prog_compiler_rtti_exceptions,
32943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [-fno-rtti -fno-exceptions], [],
32953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
32963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
32973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
32983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[Compiler flag to turn off builtin functions])
32993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_NO_RTTI
33003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CMD_GLOBAL_SYMBOLS
33033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------
33043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
33053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_CANONICAL_HOST])dnl
33063aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_PROG_CC])dnl
33073aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_NM])dnl
33083aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_LD])dnl
33093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl
33103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl
33113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_TAG_COMPILER])dnl
33123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for command to grab the raw symbol name followed by C symbol from nm.
33143aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([command to parse $NM output from $compiler object])
33153aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
33163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[
33173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# These are sane defaults that work on at least a few old systems.
33183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
33193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Character class describing NM global symbol codes.
33213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsymcode='[[BCDEGRST]]'
33223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Regexp to match symbols that can be accessed directly from C.
33243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
33253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Define system-specific variables.
33273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in
33283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevaix*)
33293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[BCDT]]'
33303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcygwin* | mingw* | pw32* | cegcc*)
33323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[ABCDGISTW]]'
33333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevhpux*)
33353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$host_cpu" = ia64; then
33363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    symcode='[[ABCDEGRST]]'
33373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
33383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevirix* | nonstopux*)
33403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[BCDEGRST]]'
33413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevosf*)
33433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[BCDEGQRST]]'
33443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsolaris*)
33463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[BDRT]]'
33473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsco3.2v5*)
33493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[DT]]'
33503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4.2uw2*)
33523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[DT]]'
33533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv5* | sco5v6* | unixware* | OpenUNIX*)
33553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[ABDT]]'
33563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsysv4)
33583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[DFNSTU]]'
33593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
33613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If we're using GNU nm, then use its standard symbol codes.
33633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase `$NM -V 2>&1` in
33643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*GNU* | *'with BFD'*)
33653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symcode='[[ABCDGIRSTW]]' ;;
33663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
33673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Transform an extracted symbol line into a proper C declaration.
33693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Some systems (esp. on ia64) link data and code symbols differently,
33703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# so use this general approach.
33713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
33723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Transform an extracted symbol line into symbol name and symbol address
33743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
33753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_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'"
33763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Handle CRLF in mingw tool chain
33783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevopt_cr=
33793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $build_os in
33803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmingw*)
33813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
33823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
33833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
33843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Try without a prefix underscore, then with it.
33863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor ac_symprfx in "" "_"; do
33873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
33893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  symxfrm="\\1 $ac_symprfx\\2 \\2"
33903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
33913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Write the raw and C identifiers.
33923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
33933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Fake it for dumpbin and say T for any non-static function
33943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # and D for any global variable.
33953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Also find C++ and __fastcall symbols from MSVC++,
33963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # which start with @ or ?.
33973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_global_symbol_pipe="$AWK ['"\
33983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     {last_section=section; section=\$ 3};"\
33993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
34003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     \$ 0!~/External *\|/{next};"\
34013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
34023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     {if(hide[section]) next};"\
34033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
34043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
34053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
34063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
34073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"     ' prfx=^$ac_symprfx]"
34083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
34093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
34103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
34113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Check to see that the pipe works correctly.
34133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  pipe_works=no
34143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  rm -f conftest*
34163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cat > conftest.$ac_ext <<_LT_EOF
34173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus
34183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevextern "C" {
34193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
34203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevchar nm_test_var;
34213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvoid nm_test_func(void);
34223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvoid nm_test_func(void){}
34233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus
34243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
34253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
34263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevint main(){nm_test_var='a';nm_test_func();return(0);}
34273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
34283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if AC_TRY_EVAL(ac_compile); then
34303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Now try to grab the symbols.
34313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    nlist=conftest.nm
34323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
34333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Try sorting and uniquifying the output.
34343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if sort "$nlist" | uniq > "$nlist"T; then
34353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	mv -f "$nlist"T "$nlist"
34363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
34373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	rm -f "$nlist"T
34383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
34393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Make sure that we snagged all the symbols we need.
34413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
34423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
34433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cat <<_LT_EOF > conftest.$ac_ext
34443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus
34453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevextern "C" {
34463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
34473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
34493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Now generate the symbol file.
34503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
34513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cat <<_LT_EOF >> conftest.$ac_ext
34533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/* The mapping between symbol names and symbols.  */
34553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevconst struct {
34563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  const char *name;
34573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  void       *address;
34583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
34593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt__PROGRAM__LTX_preloaded_symbols[[]] =
34603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
34613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  { "@PROGRAM@", (void *) 0 },
34623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
34633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
34643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cat <<\_LT_EOF >> conftest.$ac_ext
34653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  {0, (void *) 0}
34663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev};
34673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev/* This works around a problem in FreeBSD linker */
34693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef FREEBSD_WORKAROUND
34703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevstatic const void *lt_preloaded_setup() {
34713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  return lt__PROGRAM__LTX_preloaded_symbols;
34723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
34733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
34743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
34753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#ifdef __cplusplus
34763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
34773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#endif
34783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
34793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Now try linking the two files.
34803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  mv conftest.$ac_objext conftstm.$ac_objext
34813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  lt_save_LIBS="$LIBS"
34823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  lt_save_CFLAGS="$CFLAGS"
34833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LIBS="conftstm.$ac_objext"
34843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
34853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
34863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    pipe_works=yes
34873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
34883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  LIBS="$lt_save_LIBS"
34893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CFLAGS="$lt_save_CFLAGS"
34903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
34913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
34923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
34933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
34943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
34953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
34963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
34973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
34983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
34993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
35003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
35013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cat conftest.$ac_ext >&5
35023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
35033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  rm -rf conftest* conftst*
35043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
35053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Do not use the global_symbol_pipe unless it works.
35063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$pipe_works" = yes; then
35073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    break
35083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
35093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_sys_global_symbol_pipe=
35103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
35113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone
35123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
35133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$lt_cv_sys_global_symbol_pipe"; then
35143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_sys_global_symbol_to_cdecl=
35153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
35163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
35173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT(failed)
35183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
35193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT(ok)
35203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
35213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
35223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
35233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Take the output of nm and produce a listing of raw symbols and C names])
35243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
35253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Transform the output of nm in a proper C declaration])
35263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([global_symbol_to_c_name_address],
35273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [lt_cv_sys_global_symbol_to_c_name_address], [1],
35283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Transform the output of nm in a C name address pair])
35293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
35303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
35313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Transform the output of nm in a C name address pair when lib prefix is needed])
35323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev]) # _LT_CMD_GLOBAL_SYMBOLS
35333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
35343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
35353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_COMPILER_PIC([TAGNAME])
35363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------
35373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_COMPILER_PIC],
35383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_TAG_COMPILER])dnl
35393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_prog_compiler_wl, $1)=
35403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_prog_compiler_pic, $1)=
35413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_prog_compiler_static, $1)=
35423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
35433aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([for $compiler option to produce PIC])
35443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [CXX], [
35453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # C++ specific cases for pic, static, wl, etc.
35463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$GXX" = yes; then
35473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
35483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
35493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
35503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
35513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    aix*)
35523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # All AIX code is PIC.
35533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$host_cpu" = ia64; then
35543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# AIX 5 now supports IA64 processor
35553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
35563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
35573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
35583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
35593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    amigaos*)
35603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_cpu in
35613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      powerpc)
35623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # see comment about AmigaOS4 .so support
35633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
35643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
35653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m68k)
35663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # FIXME: we need at least 68020 code to build shared libraries, but
35673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # adding the `-m68020' flag to GCC prevents building anything better,
35683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # like `-m68040'.
35693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
35703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
35713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
35723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
35733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
35743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
35753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PIC is the default for these OSes.
35763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
35773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mingw* | cygwin* | os2* | pw32* | cegcc*)
35783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # This hack is so that the source file can tell whether it is being
35793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # built for inclusion in a dll (and should export symbols for example).
35803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Although the cygwin gcc ignores -fPIC, still need this for old-style
35813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # (--disable-auto-import) libraries
35823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m4_if([$1], [GCJ], [],
35833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
35843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
35853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    darwin* | rhapsody*)
35863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PIC is the default on this platform
35873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Common symbols not allowed in MH_DYLIB files
35883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
35893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
35903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *djgpp*)
35913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # DJGPP does not support shared libraries at all
35923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
35933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
35943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    interix[[3-9]]*)
35953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
35963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Instead, we relocate shared libraries at runtime.
35973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
35983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4*MP*)
35993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -d /usr/nec; then
36003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
36013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
36023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
36033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hpux*)
36043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
36053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
36063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # sets the default TLS model and affects inlining.
36073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_cpu in
36083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      hppa*64*)
36093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
36113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
36123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
36143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
36153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *qnx* | *nto*)
36163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # QNX uses GNU C++, but need to define -shared option too, otherwise
36173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # it will coredump.
36183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
36193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
36203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)
36213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
36223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
36233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
36243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
36253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
36263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix[[4-9]]*)
36273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# All AIX code is PIC.
36283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$host_cpu" = ia64; then
36293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # AIX 5 now supports IA64 processor
36303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
36313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
36323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
36333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
36343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      chorus*)
36363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
36373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	cxch68*)
36383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Green Hills C++ Compiler
36393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # _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"
36403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
36413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
36423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      dgux*)
36443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
36453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ec++*)
36463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
36473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
36483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ghcx*)
36493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Green Hills C++ Compiler
36503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
36513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
36523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
36533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
36543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
36553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      freebsd* | dragonfly*)
36573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# FreeBSD uses GNU C++
36583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      hpux9* | hpux10* | hpux11*)
36603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
36613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CC*)
36623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
36633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
36643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if test "$host_cpu" != ia64; then
36653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
36663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
36673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
36683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  aCC*)
36693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
36703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
36713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case $host_cpu in
36723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    hppa*64*|ia64*)
36733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # +Z the default
36743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      ;;
36753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *)
36763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
36773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      ;;
36783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
36793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
36803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
36813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
36823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
36833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      interix*)
36853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# This is c89, which is MS Visual C++ (no shared libs)
36863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Anyone wants to do a port?
36873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      irix5* | irix6* | nonstopux*)
36893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
36903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CC*)
36913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
36923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
36933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # CC pic flag -KPIC is the default.
36943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
36953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
36963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
36973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
36983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
36993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      linux* | k*bsd*-gnu)
37003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
37013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  KCC*)
37023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # KAI C++ Compiler
37033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
37043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
37053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ecpc* )
37073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # old Intel C++ for x86_64 which still supported -KPIC.
37083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
37093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
37103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
37113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  icpc* )
37133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Intel C++, used to be incompatible with GCC.
37143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # ICC 10 doesn't accept -KPIC any more.
37153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
37163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
37173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
37183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  pgCC* | pgcpp*)
37203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Portland Group C++ compiler
37213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
37223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
37233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
37243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cxx*)
37263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Compaq C++
37273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Make sure the PIC flag is empty.  It appears that all Alpha
37283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Linux and Compaq Tru64 Unix objects are PIC.
37293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
37303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
37313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  xlc* | xlC*)
37333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # IBM XL 8.0 on PPC
37343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
37353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
37363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
37373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
37393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case `$CC -V 2>&1 | sed 5q` in
37403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *Sun\ C*)
37413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # Sun C++ 5.9
37423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
37433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
37443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
37453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      ;;
37463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
37473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
37493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
37503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lynxos*)
37513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
37523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m88k*)
37533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
37543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      mvs*)
37553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
37563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cxx*)
37573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
37583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
37603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
37623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
37633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      netbsd*)
37643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
37653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *qnx* | *nto*)
37663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # QNX uses GNU C++, but need to define -shared option too, otherwise
37673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # it will coredump.
37683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
37693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
37703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      osf3* | osf4* | osf5*)
37713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
37723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  KCC*)
37733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
37743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  RCC*)
37763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Rational C++ 2.4.1
37773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
37783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cxx*)
37803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Digital/Compaq C++
37813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
37823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Make sure the PIC flag is empty.  It appears that all Alpha
37833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Linux and Compaq Tru64 Unix objects are PIC.
37843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
37853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
37863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
37883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
37893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
37903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
37913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      psos*)
37923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
37933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      solaris*)
37943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
37953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CC*)
37963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Sun C++ 4.2, 5.x and Centerline C++
37973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
37983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
37993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
38003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  gcx*)
38023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Green Hills C++ Compiler
38033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
38043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
38063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
38083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
38093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sunos4*)
38103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
38113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CC*)
38123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Sun C++ 4.x
38133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
38143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
38153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  lcc*)
38173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Lucid
38183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
38193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
38213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
38233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
38243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
38253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
38263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  CC*)
38273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
38283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
38293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
38303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
38323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
38333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      tandem*)
38343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
38353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  NCC*)
38363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # NonStop-UX NCC 3.20
38373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
38383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
38403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
38413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
38423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
38433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      vxworks*)
38443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
38453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
38463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
38473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
38483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
38493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
38503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev],
38513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[
38523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$GCC" = yes; then
38533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
38543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
38553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
38563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
38573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix*)
38583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # All AIX code is PIC.
38593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$host_cpu" = ia64; then
38603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# AIX 5 now supports IA64 processor
38613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
38623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
38633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
38643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
38653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    amigaos*)
38663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_cpu in
38673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      powerpc)
38683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # see comment about AmigaOS4 .so support
38693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
38703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
38713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m68k)
38723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # FIXME: we need at least 68020 code to build shared libraries, but
38733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # adding the `-m68020' flag to GCC prevents building anything better,
38743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # like `-m68040'.
38753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
38763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
38773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
38783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
38793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
38803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
38813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PIC is the default for these OSes.
38823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
38833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
38843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mingw* | cygwin* | pw32* | os2* | cegcc*)
38853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # This hack is so that the source file can tell whether it is being
38863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # built for inclusion in a dll (and should export symbols for example).
38873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Although the cygwin gcc ignores -fPIC, still need this for old-style
38883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # (--disable-auto-import) libraries
38893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m4_if([$1], [GCJ], [],
38903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
38913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
38923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
38933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    darwin* | rhapsody*)
38943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PIC is the default on this platform
38953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Common symbols not allowed in MH_DYLIB files
38963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
38973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
38983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
38993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hpux*)
39003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
39013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
39023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # sets the default TLS model and affects inlining.
39033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_cpu in
39043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      hppa*64*)
39053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# +Z the default
39063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
39073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
39083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
39093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
39103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
39113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    interix[[3-9]]*)
39143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
39153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Instead, we relocate shared libraries at runtime.
39163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    msdosdjgpp*)
39193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Just because we use GCC doesn't mean we suddenly get shared libraries
39203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # on systems that don't support them.
39213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
39223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      enable_shared=no
39233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *nto* | *qnx*)
39263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # QNX uses GNU C++, but need to define -shared option too, otherwise
39273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # it will coredump.
39283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
39293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4*MP*)
39323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -d /usr/nec; then
39333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
39343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
39353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)
39383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
39393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
39413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
39423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # PORTME Check for flag to pass linker flags through the system compiler.
39433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
39443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    aix*)
39453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
39463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$host_cpu" = ia64; then
39473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# AIX 5 now supports IA64 processor
39483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
39493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
39503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
39513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
39523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mingw* | cygwin* | pw32* | os2* | cegcc*)
39553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # This hack is so that the source file can tell whether it is being
39563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # built for inclusion in a dll (and should export symbols for example).
39573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m4_if([$1], [GCJ], [],
39583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
39593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hpux9* | hpux10* | hpux11*)
39623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
39633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
39643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # not for PA HP-UX.
39653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_cpu in
39663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      hppa*64*|ia64*)
39673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# +Z the default
39683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
39693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
39703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
39713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
39723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
39733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Is there a better lt_prog_compiler_static that works with the bundled CC?
39743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
39753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    irix5* | irix6* | nonstopux*)
39783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
39793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # PIC (with -KPIC) is the default.
39803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
39813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
39823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
39833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    linux* | k*bsd*-gnu)
39843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $cc_basename in
39853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # old Intel for x86_64 which still supported -KPIC.
39863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ecc*)
39873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
39883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
39893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
39903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
39913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # icc used to be incompatible with GCC.
39923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # ICC 10 doesn't accept -KPIC any more.
39933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      icc* | ifort*)
39943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
39953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
39963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
39973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
39983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Lahey Fortran 8.1.
39993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lf95*)
40003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
40013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
40023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
40033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
40043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      pgcc* | pgf77* | pgf90* | pgf95*)
40053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # Portland Group compilers (*not* the Pentium gcc compiler,
40063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# which looks to be a dead project)
40073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
40083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
40093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
40113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ccc*)
40123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
40133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # All Alpha code is PIC.
40143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
40153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
40163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      xl*)
40173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# IBM XL C 8.0/Fortran 10.1 on PPC
40183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
40193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
40203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
40213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
40223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
40233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case `$CC -V 2>&1 | sed 5q` in
40243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*Sun\ C*)
40253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Sun C 5.9
40263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
40273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
40293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
40303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*Sun\ F*)
40313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
40323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
40333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
40353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
40363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
40373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
40383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
40393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    newsos6)
40423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
40433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *nto* | *qnx*)
40473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # QNX uses GNU C++, but need to define -shared option too, otherwise
40483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # it will coredump.
40493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
40503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    osf3* | osf4* | osf5*)
40533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
40543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # All OSF/1 code is PIC.
40553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
40563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    rdos*)
40593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
40603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    solaris*)
40633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
40643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $cc_basename in
40663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      f77* | f90* | f95*)
40673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
40683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
40693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
40703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
40713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sunos4*)
40743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
40753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
40763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4 | sysv4.2uw2* | sysv4.3*)
40803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
40813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
40823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4*MP*)
40863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -d /usr/nec ;then
40873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
40883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
40903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
40933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
40943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
40953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
40963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
40973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
40983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    unicos*)
40993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
41003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
41013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
41023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
41033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    uts4*)
41043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
41053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
41063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
41073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
41083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)
41093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
41103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
41113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
41123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
41133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
41143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $host_os in
41153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # For platforms which do not support PIC, -DPIC is meaningless:
41163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *djgpp*)
41173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
41183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
41193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
41203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
41213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
41223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
41233aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
41243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
41253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[How to pass a linker flag through the compiler])
41263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
41273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
41283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check to make sure the PIC flag actually works.
41293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
41303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
41313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
41323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
41333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
41343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
41353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     "" | " "*) ;;
41363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
41373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     esac],
41383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
41393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
41403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
41413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
41423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[Additional compiler flags for building library objects])
41433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
41443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
41453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check to make sure the static flag actually works.
41463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
41473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
41483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
41493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
41503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  $lt_tmp_static_flag,
41513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [],
41523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
41533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
41543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	[Compiler flag to prevent dynamic linking])
41553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_COMPILER_PIC
41563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
41573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
41583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LINKER_SHLIBS([TAGNAME])
41593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------------------------
41603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# See if the linker supports building shared libraries.
41613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LINKER_SHLIBS],
41623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([LT_PATH_LD])dnl
41633aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([LT_PATH_NM])dnl
41643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl
41653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl
41663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_SED])dnl
41673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
41683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_TAG_COMPILER])dnl
41693aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
41703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [CXX], [
41713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
41723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
41733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  aix[[4-9]]*)
41743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # If we're using GNU nm, then we don't want the "-C" option.
41753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # -C means demangle to AIX nm, but means don't demangle with GNU nm
41763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
41773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
41783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
41793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _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'
41803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
41813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
41823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  pw32*)
41833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
41843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
41853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cygwin* | mingw* | cegcc*)
41863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _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'
41873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
41883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
41893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
41903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
41913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
41923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
41933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [
41943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  runpath_var=
41953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(allow_undefined_flag, $1)=
41963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(always_export_symbols, $1)=no
41973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(archive_cmds, $1)=
41983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(archive_expsym_cmds, $1)=
41993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(compiler_needs_object, $1)=no
42003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
42013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
42023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
42033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_automatic, $1)=no
42043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_direct, $1)=no
42053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
42063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
42073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
42083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_libdir_separator, $1)=
42093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_minus_L, $1)=no
42103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
42113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(inherit_rpath, $1)=no
42123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(link_all_deplibs, $1)=unknown
42133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(module_cmds, $1)=
42143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(module_expsym_cmds, $1)=
42153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
42163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
42173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(thread_safe_flag_spec, $1)=
42183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(whole_archive_flag_spec, $1)=
42193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # include_expsyms should be a list of space-separated symbols to be *always*
42203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # included in the symbol list
42213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(include_expsyms, $1)=
42223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # exclude_expsyms can be an extended regexp of symbols to exclude
42233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # it will be wrapped by ` (' and `)$', so one must not match beginning or
42243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
42253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # as well as any symbol that contains `d'.
42263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
42273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
42283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # platforms (ab)use it in PIC code, but their linkers get confused if
42293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # the symbol is explicitly referenced.  Since portable code cannot
42303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # rely on this symbol name, it's probably fine to never include it in
42313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # preloaded symbol tables.
42323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Exclude shared library initialization/finalization symbols.
42333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Note also adjust exclude_expsyms for C++ above.
42343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  extract_expsyms_cmds=
42353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
42363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
42373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cygwin* | mingw* | pw32* | cegcc*)
42383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # FIXME: the MSVC++ port hasn't been tested in a loooong time
42393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # When not using gcc, we currently assume that we are using
42403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Microsoft Visual C++.
42413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$GCC" != yes; then
42423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      with_gnu_ld=no
42433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
42443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
42453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  interix*)
42463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # we just hope/assume this is gcc and not c89 (= MSVC++)
42473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    with_gnu_ld=yes
42483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
42493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  openbsd*)
42503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    with_gnu_ld=no
42513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
42523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
42533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
42543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(ld_shlibs, $1)=yes
42553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$with_gnu_ld" = yes; then
42563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # If archive_cmds runs LD, not CC, wlarc should be empty
42573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    wlarc='${wl}'
42583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
42593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Set some defaults for GNU ld with shared library support. These
42603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # are reset later if shared libraries are not supported. Putting them
42613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # here allows them to be overridden if necessary.
42623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    runpath_var=LD_RUN_PATH
42633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
42643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
42653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # ancient GNU ld didn't support --whole-archive et. al.
42663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
42673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
42683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
42693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(whole_archive_flag_spec, $1)=
42703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
42713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    supports_anon_versioning=no
42723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case `$LD -v 2>&1` in
42733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
42743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
42753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
42763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *\ 2.11.*) ;; # other 2.11 versions
42773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *) supports_anon_versioning=yes ;;
42783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
42793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
42803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # See if GNU ld supports shared libraries.
42813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
42823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    aix[[3-9]]*)
42833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # On AIX/PPC, the GNU linker is very broken
42843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$host_cpu" != ia64; then
42853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
42863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	cat <<_LT_EOF 1>&2
42873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
42883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Warning: the GNU linker, at least up to release 2.9.1, is reported
42893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** to be unable to reliably create shared libraries on AIX.
42903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Therefore, libtool is disabling shared libraries support.  If you
42913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** really care for shared libraries, you may want to modify your PATH
42923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** so that a non-GNU linker is found, and then restart.
42933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
42943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
42953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
42963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
42973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
42983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    amigaos*)
42993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_cpu in
43003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      powerpc)
43013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # see comment about AmigaOS4 .so support
43023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
43033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(archive_expsym_cmds, $1)=''
43043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
43053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m68k)
43063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _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)'
43073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
43083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_minus_L, $1)=yes
43093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
43103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
43113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
43123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
43133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    beos*)
43143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
43153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
43163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
43173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# support --undefined.  This deserves some investigation.  FIXME
43183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
43193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
43203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
43213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
43223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
43233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
43243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cygwin* | mingw* | pw32* | cegcc*)
43253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
43263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # as there is no search path for DLLs.
43273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
43283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
43293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(always_export_symbols, $1)=no
43303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
43313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _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'
43323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
43333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
43343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _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'
43353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# If the export-symbols file already is a .def file (1st line
43363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# is EXPORTS), use it as is; otherwise, prepend...
43373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
43383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cp $export_symbols $output_objdir/$soname.def;
43393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
43403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  echo EXPORTS > $output_objdir/$soname.def;
43413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cat $export_symbols >> $output_objdir/$soname.def;
43423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi~
43433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
43443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
43453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
43463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
43473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
43483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
43493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    interix[[3-9]]*)
43503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=no
43513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
43523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
43533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
43543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
43553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Instead, shared libraries are loaded at an image base (0x10000000 by
43563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # default) and relocated if they conflict, which is a slow very memory
43573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # consuming and fragmenting process.  To avoid this, we pick a random,
43583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
43593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
43603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _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'
43613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _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'
43623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
43633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
43643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    gnu* | linux* | tpf* | k*bsd*-gnu)
43653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      tmp_diet=no
43663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$host_os" = linux-dietlibc; then
43673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
43683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
43693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
43703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
43713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
43723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 && test "$tmp_diet" = no
43733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      then
43743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	tmp_addflag=
43753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	tmp_sharedflag='-shared'
43763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename,$host_cpu in
43773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        pgcc*)				# Portland Group C compiler
43783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
43793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_addflag=' $pic_flag'
43803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
43813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
43823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
43833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_addflag=' $pic_flag -Mnomain' ;;
43843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
43853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_addflag=' -i_dynamic' ;;
43863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
43873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_addflag=' -i_dynamic -nofor_main' ;;
43883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	ifc* | ifort*)			# Intel Fortran compiler
43893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_addflag=' -nofor_main' ;;
43903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	lf95*)				# Lahey Fortran 8.1
43913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
43923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_sharedflag='--shared' ;;
43933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
43943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_sharedflag='-qmkshrobj'
43953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_addflag= ;;
43963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
43973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case `$CC -V 2>&1 | sed 5q` in
43983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*Sun\ C*)			# Sun C 5.9
43993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
44003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(compiler_needs_object, $1)=yes
44013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_sharedflag='-G' ;;
44023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*Sun\ F*)			# Sun Fortran 8.3
44033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  tmp_sharedflag='-G' ;;
44043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
44053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
44063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if test "x$supports_anon_versioning" = xyes; then
44083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
44093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
44103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    echo "local: *; };" >> $output_objdir/$libname.ver~
44113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
44123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
44133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
44153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	xlf*)
44163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
44173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
44183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
44193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
44203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
44213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if test "x$supports_anon_versioning" = xyes; then
44223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
44233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
44243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      echo "local: *; };" >> $output_objdir/$libname.ver~
44253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
44263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
44273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
44283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
44293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
44303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=no
44313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
44323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
44333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    netbsd*)
44353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
44363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
44373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	wlarc=
44383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
44393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
44403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_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'
44413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
44423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
44433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    solaris*)
44453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
44463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
44473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	cat <<_LT_EOF 1>&2
44483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Warning: The releases 2.8.* of the GNU linker cannot reliably
44503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** create shared libraries on Solaris systems.  Therefore, libtool
44513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** is disabling shared libraries support.  We urge you to upgrade GNU
44523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** binutils to release 2.9.1 or newer.  Another option is to modify
44533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** your PATH or compiler configuration so that the native linker is
44543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** used, and then restart.
44553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
44573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
44583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
44593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_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'
44603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
44613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
44623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
44633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
44643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
44663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case `$LD -v 2>&1` in
44673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
44683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
44693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	cat <<_LT_EOF 1>&2
44703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
44723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** reliably create shared libraries on SCO systems.  Therefore, libtool
44733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** is disabling shared libraries support.  We urge you to upgrade GNU
44743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
44753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** your PATH or compiler configuration so that the native linker is
44763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*** used, and then restart.
44773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
44793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
44803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*)
44813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # For security reasons, it is highly recommended that you always
44823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # use absolute paths for naming shared libraries, and exclude the
44833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # DT_RUNPATH tag from executables and libraries.  But doing so
44843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # requires that you compile everything twice, which is a pain.
44853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
44863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
44873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
44883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _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'
44893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  else
44903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
44913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
44923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
44933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
44943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
44953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
44963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sunos4*)
44973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
44983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      wlarc=
44993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
45003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
45013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
45023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
45033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)
45043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
45053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
45063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_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'
45073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
45083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
45093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
45103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
45113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
45123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
45133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
45143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      runpath_var=
45153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
45163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
45173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(whole_archive_flag_spec, $1)=
45183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
45193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
45203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # PORTME fill in a description of your system's linker (not GNU ld)
45213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
45223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    aix3*)
45233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
45243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(always_export_symbols, $1)=yes
45253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _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'
45263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Note: this linker hardcodes the directories in LIBPATH if there
45273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # are no directories specified by -L.
45283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_minus_L, $1)=yes
45293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
45303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Neither direct hardcoding nor static linking is supported with a
45313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# broken collect2.
45323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_direct, $1)=unsupported
45333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
45343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
45353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
45363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    aix[[4-9]]*)
45373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$host_cpu" = ia64; then
45383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# On IA64, the linker does run time linking by default, so we don't
45393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# have to do anything special.
45403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	aix_use_runtimelinking=no
45413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exp_sym_flag='-Bexport'
45423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	no_entry_flag=""
45433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
45443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# If we're using GNU nm, then we don't want the "-C" option.
45453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# -C means demangle to AIX nm, but means don't demangle with GNU nm
45463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
45473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
45483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
45493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _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'
45503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
45513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	aix_use_runtimelinking=no
45523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
45533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Test if we are trying to use run time linking or normal
45543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
45553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# need to do runtime linking.
45563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
45573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  for ld_flag in $LDFLAGS; do
45583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
45593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    aix_use_runtimelinking=yes
45603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    break
45613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
45623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  done
45633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
45643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
45653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
45663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	exp_sym_flag='-bexport'
45673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	no_entry_flag='-bnoentry'
45683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
45693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
45703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # When large executables or shared objects are built, AIX ld can
45713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # have problems creating the table of contents.  If linking a library
45723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # or program results in "error TOC overflow" add -mminimal-toc to
45733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
45743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
45753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
45763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)=''
45773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
45783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
45793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
45803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(link_all_deplibs, $1)=yes
45813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
45823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
45833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes; then
45843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $host_os in aix4.[[012]]|aix4.[[012]].*)
45853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# We only want to do this on AIX 4.2 and lower, the check
45863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# below for broken collect2 doesn't work under 4.3+
45873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  collect2name=`${CC} -print-prog-name=collect2`
45883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if test -f "$collect2name" &&
45893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
45903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  then
45913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # We have reworked collect2
45923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  :
45933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  else
45943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # We have old collect2
45953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
45963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # It fails to find uninstalled libraries when the uninstalled
45973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # path is not listed in the libpath.  Setting hardcode_minus_L
45983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # to unsupported forces relinking
45993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
46003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
46013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
46023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
46033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
46043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
46053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	shared_flag='-shared'
46063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$aix_use_runtimelinking" = yes; then
46073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  shared_flag="$shared_flag "'${wl}-G'
46083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
46093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
46103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# not using gcc
46113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$host_cpu" = ia64; then
46123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
46133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# chokes on -Wl,-G. The following line is correct:
46143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  shared_flag='-G'
46153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
46163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if test "$aix_use_runtimelinking" = yes; then
46173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    shared_flag='${wl}-G'
46183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  else
46193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    shared_flag='${wl}-bM:SRE'
46203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
46213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
46223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
46233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
46243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
46253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # It seems that -bexpall does not export symbols beginning with
46263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # underscore (_), so it is better to generate a list of symbols to export.
46273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(always_export_symbols, $1)=yes
46283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$aix_use_runtimelinking" = yes; then
46293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Warning - without using the other runtime loading flags (-brtl),
46303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# -berok will link without error, but may produce a broken library.
46313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
46323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # Determine the default libpath from the value encoded in an
46333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # empty executable.
46343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_SYS_MODULE_PATH_AIX
46353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
46363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
46373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
46383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$host_cpu" = ia64; then
46393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
46403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
46413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _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"
46423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
46433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 # Determine the default libpath from the value encoded in an
46443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 # empty executable.
46453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 _LT_SYS_MODULE_PATH_AIX
46463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
46473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Warning - without using the other run time loading flags,
46483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # -berok will link without error, but may produce a broken library.
46493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
46503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
46513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Exported symbols can be pulled into shared objects from archives
46523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
46533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
46543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # This is similar to how AIX traditionally builds its shared libraries.
46553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _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'
46563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
46573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
46583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
46593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
46603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    amigaos*)
46613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_cpu in
46623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      powerpc)
46633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # see comment about AmigaOS4 .so support
46643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
46653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(archive_expsym_cmds, $1)=''
46663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
46673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m68k)
46683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _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)'
46693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
46703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_minus_L, $1)=yes
46713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
46723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
46733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
46743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
46753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    bsdi[[45]]*)
46763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
46773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
46783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
46793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cygwin* | mingw* | pw32* | cegcc*)
46803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # When not using gcc, we currently assume that we are using
46813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Microsoft Visual C++.
46823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # hardcode_libdir_flag_spec is actually meaningless, as there is
46833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # no search path for DLLs.
46843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
46853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
46863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Tell ltmain to make .lib files, not .a files.
46873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      libext=lib
46883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Tell ltmain to make .dll files, not .so files.
46893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      shrext_cmds=".dll"
46903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # FIXME: Setting linknames here is a bad hack.
46913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
46923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # The linker will automatically build a .lib file if we build a DLL.
46933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
46943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # FIXME: Should let the user specify the lib program.
46953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
46963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
46973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
46983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
46993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    darwin* | rhapsody*)
47013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_DARWIN_LINKER_FEATURES($1)
47023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
47033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    dgux*)
47053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
47063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
47073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
47083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
47093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    freebsd1*)
47113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(ld_shlibs, $1)=no
47123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
47133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
47153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # support.  Future versions do this automatically, but an explicit c++rt0.o
47163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # does not break anything, and helps significantly (at the cost of a little
47173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # extra space).
47183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    freebsd2.2*)
47193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
47203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
47213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
47223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
47233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
47243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
47263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    freebsd2*)
47273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
47283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
47293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_minus_L, $1)=yes
47303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
47313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
47323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
47343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    freebsd* | dragonfly*)
47353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
47363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
47373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
47383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
47393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
47403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hpux9*)
47423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes; then
47433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_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'
47443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
47453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_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'
47463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
47473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
47483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
47493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
47503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # hardcode_minus_L: Not really in the search PATH,
47523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # but as the default location of the library.
47533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_minus_L, $1)=yes
47543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
47553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
47563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hpux10*)
47583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
47593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
47603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
47613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
47623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
47633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$with_gnu_ld" = no; then
47643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
47653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
47663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
47673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_direct, $1)=yes
47683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
47693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
47703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# hardcode_minus_L: Not really in the search PATH,
47713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# but as the default location of the library.
47723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_minus_L, $1)=yes
47733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
47743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
47753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
47763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    hpux11*)
47773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
47783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $host_cpu in
47793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	hppa*64*)
47803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
47813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
47823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	ia64*)
47833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
47843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
47853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*)
47863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
47873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
47883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
47893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
47903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $host_cpu in
47913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	hppa*64*)
47923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
47933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
47943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	ia64*)
47953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
47963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
47973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*)
47983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
47993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
48003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
48013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
48023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$with_gnu_ld" = no; then
48033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
48043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
48053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
48063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $host_cpu in
48073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	hppa*64*|ia64*)
48083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct, $1)=no
48093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
48103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
48113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*)
48123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct, $1)=yes
48133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
48143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
48153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
48163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # hardcode_minus_L: Not really in the search PATH,
48173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # but as the default location of the library.
48183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
48193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
48203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
48213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
48223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
48233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
48243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    irix5* | irix6* | nonstopux*)
48253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes; then
48263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
48273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Try to use the -exported_symbol ld option, if it does not
48283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# work, assume that -exports_file does not work either and
48293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# implicitly export all symbols.
48303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        save_LDFLAGS="$LDFLAGS"
48313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
48323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        AC_LINK_IFELSE(int foo(void) {},
48333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
48343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        )
48353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        LDFLAGS="$save_LDFLAGS"
48363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
48373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
48383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
48393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
48403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
48413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
48423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
48433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(inherit_rpath, $1)=yes
48443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(link_all_deplibs, $1)=yes
48453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
48463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
48473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    netbsd*)
48483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
48493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
48503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
48513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
48523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
48533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
48543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
48553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
48563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
48573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
48583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    newsos6)
48593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
48603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
48613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
48623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
48633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
48643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
48653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
48663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *nto* | *qnx*)
48673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
48683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
48693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    openbsd*)
48703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -f /usr/libexec/ld.so; then
48713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_direct, $1)=yes
48723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
48733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
48743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
48753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
48763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
48773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
48783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
48793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
48803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  case $host_os in
48813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
48823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
48833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
48843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     ;;
48853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   *)
48863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
48873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
48883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     ;;
48893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  esac
48903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
48913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
48923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
48933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
48943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
48953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
48963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    os2*)
48973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
48983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_minus_L, $1)=yes
48993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
49003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _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'
49013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
49023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
49033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
49043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    osf3*)
49053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes; then
49063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
49073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
49083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
49093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
49103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
49113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
49123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
49133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
49143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
49153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
49163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
49173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    osf4* | osf5*)	# as osf3* with the addition of -msym flag
49183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes; then
49193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
49203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
49213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
49223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
49233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
49243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
49253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_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~
49263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
49273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
49283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Both c and cxx compiler support -rpath directly
49293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
49303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
49313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
49323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
49333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
49343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
49353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    solaris*)
49363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
49373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes; then
49383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	wlarc='${wl}'
49393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
49403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
49413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
49423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
49433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case `$CC -V 2>&1` in
49443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*"Compilers 5.0"*)
49453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  wlarc=''
49463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
49473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
49483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
49493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
49503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*)
49513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  wlarc='${wl}'
49523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
49533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
49543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
49553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
49563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
49573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
49583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
49593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
49603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_os in
49613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
49623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
49633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# The compiler driver will combine and reorder linker options,
49643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# but understands `-z linker_flag'.  GCC discards it without `$wl',
49653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# but is careful enough not to reorder.
49663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Supported since Solaris 2.6 (maybe 2.5.1?)
49673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$GCC" = yes; then
49683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
49693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
49703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
49713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
49723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
49733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
49743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(link_all_deplibs, $1)=yes
49753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
49763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
49773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sunos4*)
49783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "x$host_vendor" = xsequent; then
49793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Use $CC to link under sequent, because it throws in some extra .o
49803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# files that make .init and .fini sections work.
49813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
49823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
49833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
49843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
49853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
49863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_direct, $1)=yes
49873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_minus_L, $1)=yes
49883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
49893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
49903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
49913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4)
49923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host_vendor in
49933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	sni)
49943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
49953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
49963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
49973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	siemens)
49983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ## LD is ld it makes a PLAMLIB
49993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ## CC just makes a GrossModule.
50003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
50013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
50023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct, $1)=no
50033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
50043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	motorola)
50053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
50063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
50073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
50083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
50093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      runpath_var='LD_RUN_PATH'
50103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
50113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
50123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4.3*)
50143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
50153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
50163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
50173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
50183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4*MP*)
50203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test -d /usr/nec; then
50213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
50223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
50233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	runpath_var=LD_RUN_PATH
50243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	hardcode_runpath_var=yes
50253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=yes
50263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
50273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
50283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
50303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
50313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
50323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
50333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      runpath_var='LD_RUN_PATH'
50343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes; then
50363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
50373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
50383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
50393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
50403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
50413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
50423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
50433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv5* | sco3.2v5* | sco5v6*)
50453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Note: We can NOT use -z defs as we might desire, because we do not
50463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # link with -lc, and that would cause any symbols used from libc to
50473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # always be unresolved, which means just about no library would
50483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # ever link correctly.  If we're not using GNU ld we use -z text
50493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # though, which does catch some bad symbols but isn't as heavy-handed
50503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # as -z defs.
50513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
50523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
50533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
50543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
50553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
50563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
50573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(link_all_deplibs, $1)=yes
50583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
50593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      runpath_var='LD_RUN_PATH'
50603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$GCC" = yes; then
50623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
50633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
50643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
50653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
50663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
50673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
50683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
50693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    uts4*)
50713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
50723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
50733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
50743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
50753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)
50773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(ld_shlibs, $1)=no
50783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
50793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
50803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test x$host_vendor = xsni; then
50823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $host in
50833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
50843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
50853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
50863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
50873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
50883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
50893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
50903aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
50913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
50923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
50943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
50953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
50963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
50973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [extract_expsyms_cmds], [2],
50983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [The commands to extract the exported symbol list from a shared archive])
50993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
51003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
51013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Do we need to explicitly link libc?
51023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#
51033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
51043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevx|xyes)
51053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Assume -lc should be added
51063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
51073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
51083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "$enable_shared" = yes && test "$GCC" = yes; then
51093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $_LT_TAGVAR(archive_cmds, $1) in
51103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *'~'*)
51113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # FIXME: we may have to deal with multi-command sequences.
51123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
51133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    '$CC '*)
51143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Test whether the compiler implicitly links with -lc since on some
51153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # systems, -lgcc has to come before -lc. If gcc already passes -lc
51163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # to ld, don't add -lc before -lgcc.
51173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
51183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      $RM conftest*
51193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
51203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
51213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
51223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        soname=conftest
51233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        lib=conftest
51243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        libobjs=conftest.$ac_objext
51253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        deplibs=
51263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
51273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
51283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        compiler_flags=-v
51293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        linker_flags=-v
51303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        verstring=
51313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        output_objdir=.
51323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        libname=conftest
51333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
51343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(allow_undefined_flag, $1)=
51353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
51363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        then
51373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
51383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        else
51393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
51403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
51413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
51423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
51433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        cat conftest.err 1>&5
51443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
51453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      $RM conftest*
51463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
51473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
51483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
51493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
51503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
51513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
51523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
51533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
51543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Whether or not to add -lc for building shared libraries])
51553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
51563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [enable_shared_with_static_runtimes], [0],
51573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Whether or not to disallow shared libs when runtime libs are static])
51583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
51593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Compiler flag to allow reflexive dlopens])
51603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [whole_archive_flag_spec], [1],
51613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Compiler flag to generate shared objects directly from archives])
51623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [compiler_needs_object], [1],
51633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Whether the compiler copes with passing no objects directly])
51643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
51653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Create an old-style archive from a shared archive])
51663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
51673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Create a temporary old-style archive to link instead of a shared archive])
51683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
51693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [archive_expsym_cmds], [2])
51703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [module_cmds], [2],
51713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Commands used to build a loadable module if different from building
51723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    a shared archive.])
51733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [module_expsym_cmds], [2])
51743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [with_gnu_ld], [1],
51753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Whether we are building with GNU ld or not])
51763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [allow_undefined_flag], [1],
51773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Flag that allows shared libraries with undefined symbols to be built])
51783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [no_undefined_flag], [1],
51793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Flag that enforces no undefined symbols])
51803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
51813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Flag to hardcode $libdir into a binary during linking.
51823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    This must work even if $libdir does not exist])
51833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
51843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [[If ld is used when linking, flag to hardcode $libdir into a binary
51853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    during linking.  This must work even if $libdir does not exist]])
51863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_libdir_separator], [1],
51873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Whether we need a single "-rpath" flag with a separated argument])
51883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_direct], [0],
51893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
51903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    DIR into the resulting binary])
51913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_direct_absolute], [0],
51923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
51933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    DIR into the resulting binary and the resulting library dependency is
51943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
51953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    library is relocated])
51963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_minus_L], [0],
51973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
51983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    into the resulting binary])
51993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
52003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
52013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    into the resulting binary])
52023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [hardcode_automatic], [0],
52033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Set to "yes" if building a shared library automatically hardcodes DIR
52043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    into the library and all subsequent libraries and executables linked
52053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    against it])
52063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [inherit_rpath], [0],
52073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Set to yes if linker adds runtime paths of dependent libraries
52083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    to runtime path list])
52093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [link_all_deplibs], [0],
52103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Whether libtool must link a program against all its dependency libraries])
52113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [fix_srcfile_path], [1],
52123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Fix the shell variable $srcfile for the compiler])
52133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [always_export_symbols], [0],
52143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Set to "yes" if exported symbols are required])
52153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [export_symbols_cmds], [2],
52163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [The commands to list exported symbols])
52173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [exclude_expsyms], [1],
52183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Symbols that should not be listed in the preloaded symbols])
52193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [include_expsyms], [1],
52203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Symbols that must always be exported])
52213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [prelink_cmds], [2],
52223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Commands necessary for linking programs (against libraries) with templates])
52233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [file_list_spec], [1],
52243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Specify filename containing input files])
52253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl FIXME: Not yet implemented
52263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
52273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl    [Compiler flag to generate thread safe objects])
52283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LINKER_SHLIBS
52293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_C_CONFIG([TAG])
52323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------
52333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for a C compiler are suitably
52343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# defined.  These variables are subsequently used by _LT_CONFIG to write
52353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the compiler configuration to `libtool'.
52363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_C_CONFIG],
52373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_DECL_EGREP])dnl
52383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_CC="$CC"
52393aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_PUSH(C)
52403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for C test sources.
52423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=c
52433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled C test sources.
52453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o
52463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext
52473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple compile tests
52493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_compile_test_code="int some_variable = 0;"
52503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple link tests
52523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_link_test_code='int main(){return(0);}'
52533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAG_COMPILER
52553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Save the default compiler, since it gets overwritten when the other
52563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
52573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler_DEFAULT=$CC
52583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# save warnings/boilerplate of simple test code
52603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COMPILER_BOILERPLATE
52613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LINKER_BOILERPLATE
52623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## CAVEAT EMPTOR:
52643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## There is no encapsulation within the following macros, do not change
52653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## the running order or otherwise move them around unless you know exactly
52663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## what you are doing...
52673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$compiler"; then
52683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_NO_RTTI($1)
52693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_PIC($1)
52703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_C_O($1)
52713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_FILE_LOCKS($1)
52723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_LINKER_SHLIBS($1)
52733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_SYS_DYNAMIC_LINKER($1)
52743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_LINKER_HARDCODE_LIBPATH($1)
52753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  LT_SYS_DLOPEN_SELF
52763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_CMD_STRIPLIB
52773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Report which library types will actually be built
52793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_CHECKING([if libtool supports shared libraries])
52803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT([$can_build_shared])
52813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_CHECKING([whether to build shared libraries])
52833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test "$can_build_shared" = "no" && enable_shared=no
52843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # On AIX, shared libraries and static libraries use the same namespace, and
52863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # are all built from PIC.
52873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $host_os in
52883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  aix3*)
52893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test "$enable_shared" = yes && enable_static=no
52903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test -n "$RANLIB"; then
52913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      archive_cmds="$archive_cmds~\$RANLIB \$lib"
52923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      postinstall_cmds='$RANLIB $lib'
52933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
52943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
52953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
52963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  aix[[4-9]]*)
52973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
52983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      test "$enable_shared" = yes && enable_static=no
52993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
53003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
53013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
53023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT([$enable_shared])
53033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_CHECKING([whether to build static libraries])
53053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Make sure either enable_shared or enable_static is yes.
53063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test "$enable_shared" = yes || enable_static=yes
53073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_MSG_RESULT([$enable_static])
53083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_CONFIG($1)
53103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
53113aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_POP
53123aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC="$lt_save_CC"
53133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_C_CONFIG
53143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_CXX
53173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------
53183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
53193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# compiler, we have our own version here.
53203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_CXX],
53213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[
53223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
53233aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROG_CXX
53243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$CXX" && ( test "X$CXX" != "Xno" &&
53253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
53263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    (test "X$CXX" != "Xg++"))) ; then
53273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  AC_PROG_CXXCPP
53283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
53293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _lt_caught_CXX_error=yes
53303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
53313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpopdef([AC_MSG_ERROR])
53323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_CXX
53333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
53353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([_LT_PROG_CXX], [])
53363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_CXX_CONFIG([TAG])
53393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------
53403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for a C++ compiler are suitably
53413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# defined.  These variables are subsequently used by _LT_CONFIG to write
53423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the compiler configuration to `libtool'.
53433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_CXX_CONFIG],
53443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([_LT_PROG_CXX])dnl
53453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_FILEUTILS_DEFAULTS])dnl
53463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_require([_LT_DECL_EGREP])dnl
53473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_PUSH(C++)
53493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_cmds_need_lc, $1)=no
53503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(allow_undefined_flag, $1)=
53513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(always_export_symbols, $1)=no
53523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_expsym_cmds, $1)=
53533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(compiler_needs_object, $1)=no
53543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(export_dynamic_flag_spec, $1)=
53553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct, $1)=no
53563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct_absolute, $1)=no
53573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
53583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
53593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_separator, $1)=
53603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_minus_L, $1)=no
53613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
53623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_automatic, $1)=no
53633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(inherit_rpath, $1)=no
53643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_cmds, $1)=
53653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_expsym_cmds, $1)=
53663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(link_all_deplibs, $1)=unknown
53673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
53683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(no_undefined_flag, $1)=
53693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(whole_archive_flag_spec, $1)=
53703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
53713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for C++ test sources.
53733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=cpp
53743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled C++ test sources.
53763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o
53773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext
53783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# No sense in running all these tests if we already determined that
53803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the CXX compiler isn't working.  Some variables (like enable_shared)
53813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are currently assumed to apply to all compilers on this platform,
53823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# and will be corrupted by setting them based on a non-working compiler.
53833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_lt_caught_CXX_error" != yes; then
53843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Code to be used in simple compile tests
53853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_simple_compile_test_code="int some_variable = 0;"
53863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Code to be used in simple link tests
53883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
53893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
53913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAG_COMPILER
53923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # save warnings/boilerplate of simple test code
53943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_BOILERPLATE
53953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_LINKER_BOILERPLATE
53963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
53973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Allow CC to be a program name with arguments.
53983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_CC=$CC
53993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_LD=$LD
54003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_GCC=$GCC
54013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  GCC=$GXX
54023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_with_gnu_ld=$with_gnu_ld
54033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_path_LD=$lt_cv_path_LD
54043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
54053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
54063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
54073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    $as_unset lt_cv_prog_gnu_ld
54083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
54093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -n "${lt_cv_path_LDCXX+set}"; then
54103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_path_LD=$lt_cv_path_LDCXX
54113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
54123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    $as_unset lt_cv_path_LD
54133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
54143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test -z "${LDCXX+set}" || LD=$LDCXX
54153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  CC=${CXX-"c++"}
54163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  compiler=$CC
54173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(compiler, $1)=$CC
54183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_CC_BASENAME([$compiler])
54193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -n "$compiler"; then
54213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # We don't want -fno-exception when compiling C++ code, so set the
54223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # no_builtin_flag separately
54233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$GXX" = yes; then
54243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
54253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
54263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
54273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
54283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$GXX" = yes; then
54303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Set up default GNU C++ configuration
54313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      LT_PATH_LD
54333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Check if GNU C++ uses GNU ld as the underlying linker, since the
54353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # archiving commands below assume that GNU ld is being used.
54363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if test "$with_gnu_ld" = yes; then
54373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
54383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _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'
54393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
54413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
54423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # If archive_cmds runs LD, not CC, wlarc should be empty
54443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
54453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        #     investigate it a little bit more. (MM)
54463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        wlarc='${wl}'
54473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # ancient GNU ld didn't support --whole-archive et. al.
54493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
54503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  $GREP 'no-whole-archive' > /dev/null; then
54513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
54523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        else
54533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(whole_archive_flag_spec, $1)=
54543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
54553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      else
54563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        with_gnu_ld=no
54573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        wlarc=
54583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # A generic and very simple default shared library creation
54603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # command for GNU C++ for the case where it uses the native
54613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # linker, instead of GNU ld.  If possible, this setting should
54623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # overridden to take advantage of the native linker features on
54633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # the platform it is being used on.
54643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
54653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
54663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # Commands to make compiler produce verbose output that lists
54683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # what "hidden" libraries, object files and flags are used when
54693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      # linking a shared library.
54703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
54713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    else
54733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      GXX=no
54743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      with_gnu_ld=no
54753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      wlarc=
54763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
54773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # PORTME: fill in a description of your system's C++ link characteristics
54793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
54803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(ld_shlibs, $1)=yes
54813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
54823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix3*)
54833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # FIXME: insert proper C++ library support
54843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=no
54853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
54863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix[[4-9]]*)
54873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if test "$host_cpu" = ia64; then
54883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # On IA64, the linker does run time linking by default, so we don't
54893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # have to do anything special.
54903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          aix_use_runtimelinking=no
54913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          exp_sym_flag='-Bexport'
54923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          no_entry_flag=""
54933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        else
54943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          aix_use_runtimelinking=no
54953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
54963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # Test if we are trying to use run time linking or normal
54973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
54983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # need to do runtime linking.
54993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
55003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    for ld_flag in $LDFLAGS; do
55013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      case $ld_flag in
55023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      *-brtl*)
55033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        aix_use_runtimelinking=yes
55043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        break
55053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        ;;
55063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      esac
55073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    done
55083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
55093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          esac
55103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
55113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          exp_sym_flag='-bexport'
55123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          no_entry_flag='-bnoentry'
55133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
55143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
55153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # When large executables or shared objects are built, AIX ld can
55163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # have problems creating the table of contents.  If linking a library
55173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # or program results in "error TOC overflow" add -mminimal-toc to
55183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
55193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
55203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
55213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(archive_cmds, $1)=''
55223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_direct, $1)=yes
55233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
55243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
55253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(link_all_deplibs, $1)=yes
55263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
55273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
55283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if test "$GXX" = yes; then
55293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          case $host_os in aix4.[[012]]|aix4.[[012]].*)
55303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # We only want to do this on AIX 4.2 and lower, the check
55313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # below for broken collect2 doesn't work under 4.3+
55323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  collect2name=`${CC} -print-prog-name=collect2`
55333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if test -f "$collect2name" &&
55343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
55353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  then
55363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # We have reworked collect2
55373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    :
55383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  else
55393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # We have old collect2
55403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
55413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # It fails to find uninstalled libraries when the uninstalled
55423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # path is not listed in the libpath.  Setting hardcode_minus_L
55433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # to unsupported forces relinking
55443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
55453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
55463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
55473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
55483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          esac
55493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          shared_flag='-shared'
55503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if test "$aix_use_runtimelinking" = yes; then
55513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    shared_flag="$shared_flag "'${wl}-G'
55523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
55533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        else
55543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # not using gcc
55553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          if test "$host_cpu" = ia64; then
55563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
55573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # chokes on -Wl,-G. The following line is correct:
55583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  shared_flag='-G'
55593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          else
55603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if test "$aix_use_runtimelinking" = yes; then
55613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      shared_flag='${wl}-G'
55623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    else
55633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      shared_flag='${wl}-bM:SRE'
55643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
55653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          fi
55663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
55673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
55683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
55693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # It seems that -bexpall does not export symbols beginning with
55703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # underscore (_), so it is better to generate a list of symbols to
55713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# export.
55723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(always_export_symbols, $1)=yes
55733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if test "$aix_use_runtimelinking" = yes; then
55743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # Warning - without using the other runtime loading flags (-brtl),
55753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # -berok will link without error, but may produce a broken library.
55763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
55773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # Determine the default libpath from the value encoded in an empty
55783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # executable.
55793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_SYS_MODULE_PATH_AIX
55803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
55813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
55823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
55833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        else
55843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          if test "$host_cpu" = ia64; then
55853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
55863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
55873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _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"
55883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          else
55893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Determine the default libpath from the value encoded in an
55903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # empty executable.
55913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_SYS_MODULE_PATH_AIX
55923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
55933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Warning - without using the other run time loading flags,
55943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # -berok will link without error, but may produce a broken library.
55953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
55963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
55973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Exported symbols can be pulled into shared objects from archives
55983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
55993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
56003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # This is similar to how AIX traditionally builds its shared
56013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # libraries.
56023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _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'
56033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          fi
56043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
56053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
56063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      beos*)
56083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
56093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
56103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
56113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # support --undefined.  This deserves some investigation.  FIXME
56123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
56133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
56143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(ld_shlibs, $1)=no
56153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
56163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
56173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      chorus*)
56193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
56203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
56213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  # FIXME: insert proper C++ library support
56223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(ld_shlibs, $1)=no
56233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
56243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
56253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
56263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      cygwin* | mingw* | pw32* | cegcc*)
56283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
56293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # as there is no search path for DLLs.
56303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
56313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
56323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(always_export_symbols, $1)=no
56333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
56343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
56363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _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'
56373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # If the export-symbols file already is a .def file (1st line
56383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          # is EXPORTS), use it as is; otherwise, prepend...
56393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
56403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    cp $export_symbols $output_objdir/$soname.def;
56413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          else
56423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    echo EXPORTS > $output_objdir/$soname.def;
56433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    cat $export_symbols >> $output_objdir/$soname.def;
56443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          fi~
56453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          $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'
56463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        else
56473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          _LT_TAGVAR(ld_shlibs, $1)=no
56483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
56493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
56503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      darwin* | rhapsody*)
56513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_DARWIN_LINKER_FEATURES($1)
56523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
56533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      dgux*)
56553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
56563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          ec++*)
56573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
56583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
56593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
56603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          ghcx*)
56613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Green Hills C++ Compiler
56623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
56633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
56643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
56653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
56663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
56673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
56683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
56693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
56703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
56713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      freebsd[[12]]*)
56733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # C++ shared libraries reported to be fairly broken before
56743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# switch to ELF
56753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=no
56763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
56773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      freebsd-elf*)
56793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
56803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
56813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      freebsd* | dragonfly*)
56833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
56843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # conventions
56853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=yes
56863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
56873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      gnu*)
56893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
56903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
56913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      hpux9*)
56923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
56933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
56943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
56953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_direct, $1)=yes
56963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
56973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev				             # but as the default
56983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev				             # location of the library.
56993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
57003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
57013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          CC*)
57023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # FIXME: insert proper C++ library support
57033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(ld_shlibs, $1)=no
57043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            ;;
57053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          aCC*)
57063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _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'
57073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # Commands to make compiler produce verbose output that lists
57083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # what "hidden" libraries, object files and flags are used when
57093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # linking a shared library.
57103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            #
57113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # There doesn't appear to be a way to prevent this compiler from
57123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # explicitly linking system object files so we need to strip them
57133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # from the output so that they don't get included in the library
57143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # dependencies.
57153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
57163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            ;;
57173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
57183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            if test "$GXX" = yes; then
57193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              _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'
57203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            else
57213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              # FIXME: insert proper C++ library support
57223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              _LT_TAGVAR(ld_shlibs, $1)=no
57233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            fi
57243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            ;;
57253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
57263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
57273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
57283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      hpux10*|hpux11*)
57293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if test $with_gnu_ld = no; then
57303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
57313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
57323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
57333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          case $host_cpu in
57343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            hppa*64*|ia64*)
57353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              ;;
57363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            *)
57373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
57383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev              ;;
57393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          esac
57403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
57413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $host_cpu in
57423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          hppa*64*|ia64*)
57433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_direct, $1)=no
57443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
57453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            ;;
57463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
57473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_direct, $1)=yes
57483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
57493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
57503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev					         # but as the default
57513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev					         # location of the library.
57523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            ;;
57533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
57543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
57553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
57563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          CC*)
57573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
57583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
57593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
57603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          aCC*)
57613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case $host_cpu in
57623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      hppa*64*)
57633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
57643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        ;;
57653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      ia64*)
57663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
57673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        ;;
57683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      *)
57693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _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'
57703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        ;;
57713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
57723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Commands to make compiler produce verbose output that lists
57733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # what "hidden" libraries, object files and flags are used when
57743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # linking a shared library.
57753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    #
57763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # There doesn't appear to be a way to prevent this compiler from
57773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # explicitly linking system object files so we need to strip them
57783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # from the output so that they don't get included in the library
57793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # dependencies.
57803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
57813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
57823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
57833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if test "$GXX" = yes; then
57843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      if test $with_gnu_ld = no; then
57853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        case $host_cpu in
57863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	          hppa*64*)
57873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
57883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	            ;;
57893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	          ia64*)
57903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	            _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'
57913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	            ;;
57923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	          *)
57933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	            _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'
57943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	            ;;
57953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        esac
57963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      fi
57973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    else
57983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # FIXME: insert proper C++ library support
57993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(ld_shlibs, $1)=no
58003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
58013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
58023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
58033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
58043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
58053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      interix[[3-9]]*)
58063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_direct, $1)=no
58073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
58083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
58093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
58103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
58113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Instead, shared libraries are loaded at an image base (0x10000000 by
58123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# default) and relocated if they conflict, which is a slow very memory
58133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# consuming and fragmenting process.  To avoid this, we pick a random,
58143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
58153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
58163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_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'
58173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_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'
58183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
58193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      irix5* | irix6*)
58203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
58213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          CC*)
58223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # SGI C++
58233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
58243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
58253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Archives containing C++ object files must be created using
58263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
58273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # necessary to make sure instantiated templates are included
58283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # in the archive.
58293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
58303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
58313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
58323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if test "$GXX" = yes; then
58333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      if test "$with_gnu_ld" = no; then
58343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
58353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      else
58363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
58373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      fi
58383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
58393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(link_all_deplibs, $1)=yes
58403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
58413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
58423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
58433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
58443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(inherit_rpath, $1)=yes
58453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
58463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
58473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      linux* | k*bsd*-gnu)
58483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
58493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          KCC*)
58503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Kuck and Associates, Inc. (KAI) C++ Compiler
58513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
58523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # KCC will only create a shared library if the output file
58533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
58543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # to its proper name (with version) after linking.
58553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _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'
58563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _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'
58573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Commands to make compiler produce verbose output that lists
58583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # what "hidden" libraries, object files and flags are used when
58593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # linking a shared library.
58603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    #
58613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # There doesn't appear to be a way to prevent this compiler from
58623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # explicitly linking system object files so we need to strip them
58633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # from the output so that they don't get included in the library
58643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # dependencies.
58653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
58663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
58673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
58683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
58693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
58703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Archives containing C++ object files must be created using
58713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
58723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
58733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
58743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  icpc* | ecpc* )
58753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Intel C++
58763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    with_gnu_ld=yes
58773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # version 8.0 and above of icpc choke on multiply defined symbols
58783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # if we add $predep_objects and $postdep_objects, however 7.1 and
58793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # earlier do not add the objects themselves.
58803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case `$CC -V 2>&1` in
58813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      *"Version 7."*)
58823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
58833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		_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'
58843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
58853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      *)  # Version 8.0 or newer
58863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        tmp_idyn=
58873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        case $host_cpu in
58883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  ia64*) tmp_idyn=' -i_dynamic';;
58893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		esac
58903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
58913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		_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'
58923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
58933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
58943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
58953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
58963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
58973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
58983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
58993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          pgCC* | pgcpp*)
59003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            # Portland Group C++ compiler
59013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case `$CC -V` in
59023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
59033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
59043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		rm -rf $tpldir~
59053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
59063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
59073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
59083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		rm -rf $tpldir~
59093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
59103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
59113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$RANLIB $oldlib'
59123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
59133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		rm -rf $tpldir~
59143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
59153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
59163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
59173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		rm -rf $tpldir~
59183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
59193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
59203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      ;;
59213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *) # Version 6 will use weak symbols
59223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
59233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _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'
59243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      ;;
59253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
59263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
59273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
59283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
59293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
59303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            ;;
59313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  cxx*)
59323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Compaq C++
59333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
59343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _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'
59353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
59363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    runpath_var=LD_RUN_PATH
59373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
59383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
59393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
59403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Commands to make compiler produce verbose output that lists
59413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # what "hidden" libraries, object files and flags are used when
59423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # linking a shared library.
59433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    #
59443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # There doesn't appear to be a way to prevent this compiler from
59453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # explicitly linking system object files so we need to strip them
59463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # from the output so that they don't get included in the library
59473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # dependencies.
59483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
59493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
59503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  xl*)
59513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # IBM XL 8.0 on PPC, with GNU ld
59523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
59533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
59543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
59553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if test "x$supports_anon_versioning" = xyes; then
59563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
59573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
59583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		echo "local: *; };" >> $output_objdir/$libname.ver~
59593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
59603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
59613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
59623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
59633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case `$CC -V 2>&1 | sed 5q` in
59643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    *Sun\ C*)
59653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # Sun C++ 5.9
59663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
59673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
59683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _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'
59693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
59703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
59713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(compiler_needs_object, $1)=yes
59723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
59733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # Not sure whether something based on
59743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
59753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # would be better.
59763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      output_verbose_link_cmd='echo'
59773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
59783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # Archives containing C++ object files must be created using
59793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
59803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # necessary to make sure instantiated templates are included
59813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # in the archive.
59823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
59833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      ;;
59843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
59853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
59863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
59873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
59883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
59893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lynxos*)
59903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # FIXME: insert proper C++ library support
59913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
59923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
59933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
59943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      m88k*)
59953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # FIXME: insert proper C++ library support
59963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=no
59973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
59983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
59993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      mvs*)
60003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
60013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          cxx*)
60023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
60033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
60043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
60053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
60063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
60073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
60083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
60093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
60103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
60113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      netbsd*)
60133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
60143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
60153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  wlarc=
60163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
60173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct, $1)=yes
60183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
60193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
60203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Workaround some broken pre-1.5 toolchains
60213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
60223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
60233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *nto* | *qnx*)
60253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=yes
60263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
60273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      openbsd2*)
60293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # C++ shared libraries are fairly broken
60303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(ld_shlibs, $1)=no
60313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
60323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      openbsd*)
60343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test -f /usr/libexec/ld.so; then
60353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct, $1)=yes
60363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
60373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
60383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
60393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
60403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
60413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _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'
60423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
60433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
60443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  fi
60453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  output_verbose_link_cmd=echo
60463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	else
60473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(ld_shlibs, $1)=no
60483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
60493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	;;
60503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      osf3* | osf4* | osf5*)
60523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
60533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          KCC*)
60543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Kuck and Associates, Inc. (KAI) C++ Compiler
60553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # KCC will only create a shared library if the output file
60573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
60583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # to its proper name (with version) after linking.
60593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _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'
60603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
60623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
60633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Archives containing C++ object files must be created using
60653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # the KAI C++ compiler.
60663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case $host in
60673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
60683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
60693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
60703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
60713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          RCC*)
60723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Rational C++ 2.4.1
60733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
60743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
60753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
60763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          cxx*)
60773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case $host in
60783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      osf3*)
60793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
60803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
60813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
60823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
60833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      *)
60843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
60853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
60863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
60873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	          echo "-hidden">> $lib.exp~
60883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
60893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	          $RM $lib.exp'
60903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
60913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		;;
60923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
60933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
60953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
60963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Commands to make compiler produce verbose output that lists
60973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # what "hidden" libraries, object files and flags are used when
60983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # linking a shared library.
60993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    #
61003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # There doesn't appear to be a way to prevent this compiler from
61013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # explicitly linking system object files so we need to strip them
61023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # from the output so that they don't get included in the library
61033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # dependencies.
61043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
61053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
61063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
61073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
61083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
61093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      case $host in
61103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        osf3*)
61113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
61123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  ;;
61133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        *)
61143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
61153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  ;;
61163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      esac
61173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
61193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
61203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # Commands to make compiler produce verbose output that lists
61223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # what "hidden" libraries, object files and flags are used when
61233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # linking a shared library.
61243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
61253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    else
61273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      # FIXME: insert proper C++ library support
61283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(ld_shlibs, $1)=no
61293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
61303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
61313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
61323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
61333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      psos*)
61353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # FIXME: insert proper C++ library support
61363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=no
61373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
61383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sunos4*)
61403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
61413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          CC*)
61423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Sun C++ 4.x
61433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
61443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
61453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
61463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          lcc*)
61473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Lucid
61483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
61493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
61503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
61513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
61523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
61533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
61543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
61553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
61563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
61573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      solaris*)
61593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
61603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          CC*)
61613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Sun C++ 4.2, 5.x and Centerline C++
61623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
61633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
61643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
61653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
61663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      $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'
61673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
61693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
61703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    case $host_os in
61713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
61723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      *)
61733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		# The compiler driver will combine and reorder linker options,
61743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		# but understands `-z linker_flag'.
61753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # Supported since Solaris 2.6 (maybe 2.5.1?)
61763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
61773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        ;;
61783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    esac
61793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(link_all_deplibs, $1)=yes
61803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    output_verbose_link_cmd='echo'
61823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Archives containing C++ object files must be created using
61843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
61853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # necessary to make sure instantiated templates are included
61863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # in the archive.
61873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
61883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
61893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          gcx*)
61903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # Green Hills C++ Compiler
61913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
61923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
61933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # The C++ compiler must be used to create the archive.
61943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
61953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
61963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
61973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # GNU C++ compiler with Solaris linker
61983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
61993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
62003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
62013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
62023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
62033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
62043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # Commands to make compiler produce verbose output that lists
62063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # what "hidden" libraries, object files and flags are used when
62073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # linking a shared library.
62083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
62093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      else
62103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
62113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # platform.
62123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
62133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
62143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
62153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # Commands to make compiler produce verbose output that lists
62173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # what "hidden" libraries, object files and flags are used when
62183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        # linking a shared library.
62193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
62203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      fi
62213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
62233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      case $host_os in
62243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
62253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		*)
62263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
62273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev		  ;;
62283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	      esac
62293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    fi
62303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
62313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
62323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
62333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
62353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
62363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
62373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
62383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      runpath_var='LD_RUN_PATH'
62393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      case $cc_basename in
62413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        CC*)
62423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
62453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	*)
62463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  ;;
62493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      esac
62503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
62513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      sysv5* | sco3.2v5* | sco5v6*)
62533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# Note: We can NOT use -z defs as we might desire, because we do not
62543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# link with -lc, and that would cause any symbols used from libc to
62553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# always be unresolved, which means just about no library would
62563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# ever link correctly.  If we're not using GNU ld we use -z text
62573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# though, which does catch some bad symbols but isn't as heavy-handed
62583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	# as -z defs.
62593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
62603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
62613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
62623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
62633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
62643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
62653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(link_all_deplibs, $1)=yes
62663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
62673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	runpath_var='LD_RUN_PATH'
62683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	case $cc_basename in
62703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          CC*)
62713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
62743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  *)
62753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
62773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
62783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	esac
62793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
62803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      tandem*)
62823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        case $cc_basename in
62833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          NCC*)
62843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # NonStop-UX NCC 3.20
62853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
62863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
62873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
62883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          *)
62893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    # FIXME: insert proper C++ library support
62903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    _LT_TAGVAR(ld_shlibs, $1)=no
62913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	    ;;
62923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        esac
62933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
62943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
62953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      vxworks*)
62963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # FIXME: insert proper C++ library support
62973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=no
62983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
62993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      *)
63013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        # FIXME: insert proper C++ library support
63023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        _LT_TAGVAR(ld_shlibs, $1)=no
63033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
63043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
63053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
63073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
63083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(GCC, $1)="$GXX"
63103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(LD, $1)="$LD"
63113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## CAVEAT EMPTOR:
63133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## There is no encapsulation within the following macros, do not change
63143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## the running order or otherwise move them around unless you know exactly
63153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## what you are doing...
63163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_SYS_HIDDEN_LIBDEPS($1)
63173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_PIC($1)
63183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_C_O($1)
63193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_FILE_LOCKS($1)
63203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_LINKER_SHLIBS($1)
63213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_SYS_DYNAMIC_LINKER($1)
63223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_LINKER_HARDCODE_LIBPATH($1)
63233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_CONFIG($1)
63253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi # test -n "$compiler"
63263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  CC=$lt_save_CC
63283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  LDCXX=$LD
63293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  LD=$lt_save_LD
63303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  GCC=$lt_save_GCC
63313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  with_gnu_ld=$lt_save_with_gnu_ld
63323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_path_LDCXX=$lt_cv_path_LD
63333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_path_LD=$lt_save_path_LD
63343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
63353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
63363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi # test "$_lt_caught_CXX_error" != yes
63373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63383aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_POP
63393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_CXX_CONFIG
63403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
63433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------------------
63443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Figure out "hidden" library dependencies from verbose
63453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# compiler output when linking a shared library.
63463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Parse the compiler output and extract the necessary
63473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# objects, libraries and library flags.
63483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
63493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
63503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Dependencies to place before and after the object being linked:
63513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(predep_objects, $1)=
63523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(postdep_objects, $1)=
63533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(predeps, $1)=
63543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(postdeps, $1)=
63553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(compiler_lib_search_path, $1)=
63563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
63573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl we can't use the lt_simple_compile_test_code here,
63583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl because it contains code intended for an executable,
63593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl not a library.  It's possible we should let each
63603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl tag define a new lt_????_link_test_code variable,
63613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl but it's only used here...
63623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
63633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevint a;
63643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevvoid foo (void) { a = 0; }
63653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
63663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
63673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevclass Foo
63683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
63693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpublic:
63703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  Foo (void) { a = 0; }
63713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevprivate:
63723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  int a;
63733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev};
63743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
63753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
63763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      subroutine foo
63773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      implicit none
63783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      integer*4 a
63793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      a=0
63803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      return
63813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      end
63823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
63833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
63843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      subroutine foo
63853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      implicit none
63863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      integer a
63873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      a=0
63883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      return
63893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      end
63903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
63913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
63923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpublic class foo {
63933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  private int a;
63943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  public void bar (void) {
63953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    a = 0;
63963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  }
63973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev};
63983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
63993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
64003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Parse the compiler output and extract the necessary
64013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl objects, libraries and library flags.
64023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif AC_TRY_EVAL(ac_compile); then
64033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Parse the compiler output and extract the necessary
64043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # objects, libraries and library flags.
64053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Sentinel used to keep track of whether or not we are before
64073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # the conftest object file.
64083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  pre_test_object_deps_done=no
64093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  for p in `eval "$output_verbose_link_cmd"`; do
64113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $p in
64123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    -L* | -R* | -l*)
64143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       # Some compilers place space between "-{L,R}" and the path.
64153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       # Remove the space.
64163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       if test $p = "-L" ||
64173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          test $p = "-R"; then
64183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 prev=$p
64193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 continue
64203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       else
64213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 prev=
64223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       fi
64233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       if test "$pre_test_object_deps_done" = no; then
64253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 case $p in
64263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 -L* | -R*)
64273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   # Internal compiler library paths should come after those
64283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   # provided the user.  The postdeps already come after the
64293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   # user supplied libs so there is no need to process them.
64303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
64313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
64323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   else
64333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
64343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   fi
64353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   ;;
64363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 # The "-l" case would never come before the object being
64373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 # linked, so don't bother handling this case.
64383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 esac
64393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       else
64403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
64413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
64423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 else
64433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
64443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 fi
64453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       fi
64463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       ;;
64473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *.$objext)
64493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       # This assumes that the test object file only shows up
64503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       # once in the compiler output.
64513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       if test "$p" = "conftest.$objext"; then
64523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 pre_test_object_deps_done=yes
64533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 continue
64543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       fi
64553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       if test "$pre_test_object_deps_done" = no; then
64573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
64583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   _LT_TAGVAR(predep_objects, $1)="$p"
64593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 else
64603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
64613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 fi
64623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       else
64633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
64643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   _LT_TAGVAR(postdep_objects, $1)="$p"
64653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 else
64663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
64673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	 fi
64683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       fi
64693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev       ;;
64703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *) ;; # Ignore the rest.
64723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
64743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  done
64753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Clean up.
64773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  rm -f a.out a.exe
64783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
64793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo "libtool.m4: error: problem compiling $1 test program"
64803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
64813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev$RM -f confest.$objext
64833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# PORTME: override above test on systems where it is broken
64853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_if([$1], [CXX],
64863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[case $host_os in
64873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevinterix[[3-9]]*)
64883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Interix 3.5 installs completely hosed .la files for C++, so rather than
64893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # hack all around it, let's just trust "g++" to DTRT.
64903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(predep_objects,$1)=
64913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(postdep_objects,$1)=
64923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(postdeps,$1)=
64933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
64943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
64953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlinux*)
64963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case `$CC -V 2>&1 | sed 5q` in
64973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *Sun\ C*)
64983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Sun C++ 5.9
64993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # The more standards-conforming stlport4 library is
65013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # incompatible with the Cstd library. Avoid specifying
65023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # it if it's in CXXFLAGS. Ignore libCrun as
65033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # -library=stlport4 depends on it.
65043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case " $CXX $CXXFLAGS " in
65053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *" -library=stlport4 "*)
65063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      solaris_use_stlport4=yes
65073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
65083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
65093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$solaris_use_stlport4" != yes; then
65113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
65123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
65133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
65143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
65153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
65163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevsolaris*)
65183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case $cc_basename in
65193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  CC*)
65203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # The more standards-conforming stlport4 library is
65213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # incompatible with the Cstd library. Avoid specifying
65223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # it if it's in CXXFLAGS. Ignore libCrun as
65233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # -library=stlport4 depends on it.
65243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case " $CXX $CXXFLAGS " in
65253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *" -library=stlport4 "*)
65263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      solaris_use_stlport4=yes
65273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      ;;
65283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
65293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Adding this requires a known-good setup of shared libraries for
65313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Sun compiler versions before 5.6, else PIC objects from an old
65323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # archive will be linked into the output, leading to subtle bugs.
65333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test "$solaris_use_stlport4" != yes; then
65343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
65353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
65363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
65373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
65383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
65393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
65403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
65413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase " $_LT_TAGVAR(postdeps, $1) " in
65433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
65443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
65453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_lib_search_dirs, $1)=
65463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
65473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
65483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
65493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
65503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [The directories searched by this compiler when creating a shared library])
65513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [predep_objects], [1],
65523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Dependencies to place before and after the objects being linked to
65533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    create a shared library])
65543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [postdep_objects], [1])
65553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [predeps], [1])
65563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [postdeps], [1])
65573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGDECL([], [compiler_lib_search_path], [1],
65583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [The library search path used internally by the compiler when linking
65593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    a shared library])
65603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_SYS_HIDDEN_LIBDEPS
65613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_F77
65643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------
65653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Since AC_PROG_F77 is broken, in that it returns the empty string
65663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if there is no fortran compiler, we have our own version here.
65673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_F77],
65683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[
65693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
65703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROG_F77
65713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$F77" || test "X$F77" = "Xno"; then
65723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _lt_disable_F77=yes
65733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
65743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpopdef([AC_MSG_ERROR])
65753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_F77
65763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
65783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([_LT_PROG_F77], [])
65793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_F77_CONFIG([TAG])
65823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------
65833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for a Fortran 77 compiler are
65843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# suitably defined.  These variables are subsequently used by _LT_CONFIG
65853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to write the compiler configuration to `libtool'.
65863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_F77_CONFIG],
65873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([_LT_PROG_F77])dnl
65883aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_PUSH(Fortran 77)
65893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
65903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_cmds_need_lc, $1)=no
65913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(allow_undefined_flag, $1)=
65923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(always_export_symbols, $1)=no
65933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_expsym_cmds, $1)=
65943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(export_dynamic_flag_spec, $1)=
65953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct, $1)=no
65963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct_absolute, $1)=no
65973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
65983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
65993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_separator, $1)=
66003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_minus_L, $1)=no
66013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_automatic, $1)=no
66023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(inherit_rpath, $1)=no
66033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_cmds, $1)=
66043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_expsym_cmds, $1)=
66053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(link_all_deplibs, $1)=unknown
66063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
66073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(no_undefined_flag, $1)=
66083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(whole_archive_flag_spec, $1)=
66093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
66103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for f77 test sources.
66123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=f
66133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled f77 test sources.
66153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o
66163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext
66173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# No sense in running all these tests if we already determined that
66193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the F77 compiler isn't working.  Some variables (like enable_shared)
66203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are currently assumed to apply to all compilers on this platform,
66213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# and will be corrupted by setting them based on a non-working compiler.
66223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_lt_disable_F77" != yes; then
66233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Code to be used in simple compile tests
66243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_simple_compile_test_code="\
66253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      subroutine t
66263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      return
66273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      end
66283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"
66293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Code to be used in simple link tests
66313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_simple_link_test_code="\
66323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      program t
66333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      end
66343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"
66353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
66373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAG_COMPILER
66383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # save warnings/boilerplate of simple test code
66403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_BOILERPLATE
66413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_LINKER_BOILERPLATE
66423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Allow CC to be a program name with arguments.
66443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_CC="$CC"
66453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_GCC=$GCC
66463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  CC=${F77-"f77"}
66473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  compiler=$CC
66483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(compiler, $1)=$CC
66493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_CC_BASENAME([$compiler])
66503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  GCC=$G77
66513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -n "$compiler"; then
66523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_CHECKING([if libtool supports shared libraries])
66533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_RESULT([$can_build_shared])
66543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_CHECKING([whether to build shared libraries])
66563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test "$can_build_shared" = "no" && enable_shared=no
66573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # On AIX, shared libraries and static libraries use the same namespace, and
66593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # are all built from PIC.
66603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
66613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix3*)
66623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        test "$enable_shared" = yes && enable_static=no
66633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if test -n "$RANLIB"; then
66643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          archive_cmds="$archive_cmds~\$RANLIB \$lib"
66653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          postinstall_cmds='$RANLIB $lib'
66663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
66673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
66683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix[[4-9]]*)
66693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
66703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  test "$enable_shared" = yes && enable_static=no
66713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
66723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
66733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
66743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_RESULT([$enable_shared])
66753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_CHECKING([whether to build static libraries])
66773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Make sure either enable_shared or enable_static is yes.
66783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test "$enable_shared" = yes || enable_static=yes
66793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_RESULT([$enable_static])
66803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(GCC, $1)="$G77"
66823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(LD, $1)="$LD"
66833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## CAVEAT EMPTOR:
66853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## There is no encapsulation within the following macros, do not change
66863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## the running order or otherwise move them around unless you know exactly
66873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## what you are doing...
66883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_PIC($1)
66893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_C_O($1)
66903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_FILE_LOCKS($1)
66913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_LINKER_SHLIBS($1)
66923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_SYS_DYNAMIC_LINKER($1)
66933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_LINKER_HARDCODE_LIBPATH($1)
66943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_CONFIG($1)
66963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi # test -n "$compiler"
66973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
66983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  GCC=$lt_save_GCC
66993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  CC="$lt_save_CC"
67003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi # test "$_lt_disable_F77" != yes
67013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_POP
67033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_F77_CONFIG
67043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_FC
67073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------
67083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Since AC_PROG_FC is broken, in that it returns the empty string
67093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# if there is no fortran compiler, we have our own version here.
67103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_FC],
67113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[
67123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
67133aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_PROG_FC
67143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -z "$FC" || test "X$FC" = "Xno"; then
67153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _lt_disable_FC=yes
67163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
67173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevpopdef([AC_MSG_ERROR])
67183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_PROG_FC
67193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
67213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([_LT_PROG_FC], [])
67223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_FC_CONFIG([TAG])
67253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------
67263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for a Fortran compiler are
67273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# suitably defined.  These variables are subsequently used by _LT_CONFIG
67283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to write the compiler configuration to `libtool'.
67293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_FC_CONFIG],
67303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([_LT_PROG_FC])dnl
67313aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_PUSH(Fortran)
67323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_cmds_need_lc, $1)=no
67343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(allow_undefined_flag, $1)=
67353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(always_export_symbols, $1)=no
67363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_expsym_cmds, $1)=
67373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(export_dynamic_flag_spec, $1)=
67383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct, $1)=no
67393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_direct_absolute, $1)=no
67403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
67413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
67423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_libdir_separator, $1)=
67433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_minus_L, $1)=no
67443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(hardcode_automatic, $1)=no
67453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(inherit_rpath, $1)=no
67463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_cmds, $1)=
67473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(module_expsym_cmds, $1)=
67483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(link_all_deplibs, $1)=unknown
67493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
67503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(no_undefined_flag, $1)=
67513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(whole_archive_flag_spec, $1)=
67523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
67533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for fc test sources.
67553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=${ac_fc_srcext-f}
67563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled fc test sources.
67583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o
67593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext
67603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# No sense in running all these tests if we already determined that
67623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# the FC compiler isn't working.  Some variables (like enable_shared)
67633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are currently assumed to apply to all compilers on this platform,
67643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# and will be corrupted by setting them based on a non-working compiler.
67653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test "$_lt_disable_FC" != yes; then
67663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Code to be used in simple compile tests
67673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_simple_compile_test_code="\
67683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      subroutine t
67693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      return
67703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      end
67713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"
67723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Code to be used in simple link tests
67743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_simple_link_test_code="\
67753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      program t
67763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      end
67773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev"
67783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
67803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAG_COMPILER
67813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # save warnings/boilerplate of simple test code
67833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_BOILERPLATE
67843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_LINKER_BOILERPLATE
67853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Allow CC to be a program name with arguments.
67873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_CC="$CC"
67883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_save_GCC=$GCC
67893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  CC=${FC-"f95"}
67903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  compiler=$CC
67913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  GCC=$ac_cv_fc_compiler_gnu
67923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_TAGVAR(compiler, $1)=$CC
67943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_CC_BASENAME([$compiler])
67953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
67963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test -n "$compiler"; then
67973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_CHECKING([if libtool supports shared libraries])
67983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_RESULT([$can_build_shared])
67993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_CHECKING([whether to build shared libraries])
68013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test "$can_build_shared" = "no" && enable_shared=no
68023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # On AIX, shared libraries and static libraries use the same namespace, and
68043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # are all built from PIC.
68053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    case $host_os in
68063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix3*)
68073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        test "$enable_shared" = yes && enable_static=no
68083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        if test -n "$RANLIB"; then
68093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          archive_cmds="$archive_cmds~\$RANLIB \$lib"
68103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev          postinstall_cmds='$RANLIB $lib'
68113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        fi
68123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
68133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      aix[[4-9]]*)
68143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
68153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	  test "$enable_shared" = yes && enable_static=no
68163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev	fi
68173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        ;;
68183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    esac
68193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_RESULT([$enable_shared])
68203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_CHECKING([whether to build static libraries])
68223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # Make sure either enable_shared or enable_static is yes.
68233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test "$enable_shared" = yes || enable_static=yes
68243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    AC_MSG_RESULT([$enable_static])
68253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
68273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_TAGVAR(LD, $1)="$LD"
68283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## CAVEAT EMPTOR:
68303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## There is no encapsulation within the following macros, do not change
68313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## the running order or otherwise move them around unless you know exactly
68323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ## what you are doing...
68333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_SYS_HIDDEN_LIBDEPS($1)
68343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_PIC($1)
68353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_C_O($1)
68363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_COMPILER_FILE_LOCKS($1)
68373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_LINKER_SHLIBS($1)
68383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_SYS_DYNAMIC_LINKER($1)
68393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_LINKER_HARDCODE_LIBPATH($1)
68403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    _LT_CONFIG($1)
68423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi # test -n "$compiler"
68433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  GCC=$lt_save_GCC
68453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  CC="$lt_save_CC"
68463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi # test "$_lt_disable_FC" != yes
68473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68483aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_POP
68493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_FC_CONFIG
68503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_GCJ_CONFIG([TAG])
68533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------------------
68543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for the GNU Java Compiler compiler
68553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are suitably defined.  These variables are subsequently used by _LT_CONFIG
68563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to write the compiler configuration to `libtool'.
68573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_GCJ_CONFIG],
68583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([LT_PROG_GCJ])dnl
68593aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_SAVE
68603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for Java test sources.
68623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=java
68633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled Java test sources.
68653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o
68663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext
68673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple compile tests
68693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_compile_test_code="class foo {}"
68703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple link tests
68723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
68733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ltmain only uses $CC for tagged configurations so make sure $CC is set.
68753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAG_COMPILER
68763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# save warnings/boilerplate of simple test code
68783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COMPILER_BOILERPLATE
68793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LINKER_BOILERPLATE
68803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Allow CC to be a program name with arguments.
68823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_CC="$CC"
68833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_GCC=$GCC
68843aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGCC=yes
68853aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC=${GCJ-"gcj"}
68863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler=$CC
68873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(compiler, $1)=$CC
68883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(LD, $1)="$LD"
68893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CC_BASENAME([$compiler])
68903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# GCJ did not exist at the time GCC didn't implicitly link libc in.
68923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(archive_cmds_need_lc, $1)=no
68933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
68953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
68963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## CAVEAT EMPTOR:
68973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## There is no encapsulation within the following macros, do not change
68983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## the running order or otherwise move them around unless you know exactly
68993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev## what you are doing...
69003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$compiler"; then
69013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_NO_RTTI($1)
69023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_PIC($1)
69033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_C_O($1)
69043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_COMPILER_FILE_LOCKS($1)
69053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_LINKER_SHLIBS($1)
69063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_LINKER_HARDCODE_LIBPATH($1)
69073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_CONFIG($1)
69093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
69103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69113aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_RESTORE
69123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69133aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGCC=$lt_save_GCC
69143aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC="$lt_save_CC"
69153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_GCJ_CONFIG
69163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_LANG_RC_CONFIG([TAG])
69193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -------------------------
69203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Ensure that the configuration variables for the Windows resource compiler
69213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# are suitably defined.  These variables are subsequently used by _LT_CONFIG
69223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# to write the compiler configuration to `libtool'.
69233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_LANG_RC_CONFIG],
69243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([LT_PROG_RC])dnl
69253aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_SAVE
69263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Source file extension for RC test sources.
69283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevac_ext=rc
69293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Object file extension for compiled RC test sources.
69313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevobjext=o
69323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(objext, $1)=$objext
69333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple compile tests
69353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
69363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Code to be used in simple link tests
69383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_simple_link_test_code="$lt_simple_compile_test_code"
69393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ltmain only uses $CC for tagged configurations so make sure $CC is set.
69413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAG_COMPILER
69423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# save warnings/boilerplate of simple test code
69443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_COMPILER_BOILERPLATE
69453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_LINKER_BOILERPLATE
69463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Allow CC to be a program name with arguments.
69483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_CC="$CC"
69493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_save_GCC=$GCC
69503aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGCC=
69513aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC=${RC-"windres"}
69523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcompiler=$CC
69533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(compiler, $1)=$CC
69543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CC_BASENAME([$compiler])
69553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
69563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif test -n "$compiler"; then
69583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  :
69593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  _LT_CONFIG($1)
69603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
69613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69623aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevGCC=$lt_save_GCC
69633aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_LANG_RESTORE
69643aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevCC="$lt_save_CC"
69653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_LANG_RC_CONFIG
69663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PROG_GCJ
69693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# -----------
69703aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_PROG_GCJ],
69713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
69723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
69733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [AC_CHECK_TOOL(GCJ, gcj,)
69743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
69753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      AC_SUBST(GCJFLAGS)])])[]dnl
69763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
69773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
69793aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
69803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
69813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
69823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# LT_PROG_RC
69853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ----------
69863aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_DEFUN([LT_PROG_RC],
69873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CHECK_TOOL(RC, windres,)
69883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
69893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
69913aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
69923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
69933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([LT_AC_PROG_RC], [])
69943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
69963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DECL_EGREP
69973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------
69983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If we don't have a new enough Autoconf to choose the best grep
69993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# available, choose the one first in the user's PATH.
70003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_DECL_EGREP],
70013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_REQUIRE([AC_PROG_EGREP])dnl
70023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_REQUIRE([AC_PROG_FGREP])dnl
70033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$GREP" && GREP=grep
70043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
70053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [EGREP], [1], [An ERE matcher])
70063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [FGREP], [1], [A literal string matcher])
70073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
70083aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([GREP])
70093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
70103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
70113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
70123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DECL_OBJDUMP
70133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# --------------
70143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# If we don't have a new enough Autoconf to choose the best objdump
70153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# available, choose the one first in the user's PATH.
70163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_DECL_OBJDUMP],
70173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_CHECK_TOOL(OBJDUMP, objdump, false)
70183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$OBJDUMP" && OBJDUMP=objdump
70193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
70203aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([OBJDUMP])
70213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
70223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
70233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
70243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_DECL_SED
70253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------
70263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Check for a fully-functional sed program, that truncates
70273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# as few characters as possible.  Prefer GNU sed if found.
70283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_DECL_SED],
70293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_PROG_SED
70303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevtest -z "$SED" && SED=sed
70313aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevXsed="$SED -e 1s/^X//"
70323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
70333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
70343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
70353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_DECL_SED
70363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
70373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_ifndef([AC_PROG_SED], [
70383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev############################################################
70393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# NOTE: This macro has been submitted for inclusion into   #
70403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
70413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  a released version of Autoconf we should remove this    #
70423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#  macro and use it instead.                               #
70433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev############################################################
70443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
70453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([AC_PROG_SED],
70463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_MSG_CHECKING([for a sed that does not truncate output])
70473aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_CACHE_VAL(lt_cv_path_SED,
70483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[# Loop through the user's path and test for sed and gsed.
70493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Then use that list of sed's as ones to test for truncation.
70503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
70513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor as_dir in $PATH
70523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdo
70533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  IFS=$as_save_IFS
70543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test -z "$as_dir" && as_dir=.
70553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  for lt_ac_prog in sed gsed; do
70563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    for ac_exec_ext in '' $ac_executable_extensions; do
70573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
70583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
70593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      fi
70603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    done
70613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  done
70623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone
70633aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevIFS=$as_save_IFS
70643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_ac_max=0
70653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_ac_count=0
70663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Add /usr/xpg4/bin/sed as it is typically found on Solaris
70673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# along with /bin/sed that truncates output.
70683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
70693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test ! -f $lt_ac_sed && continue
70703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  cat /dev/null > conftest.in
70713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_ac_count=0
70723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
70733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Check for GNU sed and select it if it is found.
70743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
70753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_cv_path_SED=$lt_ac_sed
70763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    break
70773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
70783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  while true; do
70793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cat conftest.in conftest.in >conftest.tmp
70803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    mv conftest.tmp conftest.in
70813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cp conftest.in conftest.nl
70823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    echo >>conftest.nl
70833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
70843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cmp -s conftest.out conftest.nl || break
70853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # 10000 chars as input seems more than enough
70863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    test $lt_ac_count -gt 10 && break
70873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    lt_ac_count=`expr $lt_ac_count + 1`
70883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    if test $lt_ac_count -gt $lt_ac_max; then
70893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_ac_max=$lt_ac_count
70903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      lt_cv_path_SED=$lt_ac_sed
70913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    fi
70923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  done
70933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdone
70943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
70953aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevSED=$lt_cv_path_SED
70963aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_SUBST([SED])
70973aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$SED])
70983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])#AC_PROG_SED
70993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])#m4_ifndef
71003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Old name:
71023aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
71033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl aclocal-1.4 backwards compatibility:
71043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl AC_DEFUN([LT_AC_PROG_SED], [])
71053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_CHECK_SHELL_FEATURES
71083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ------------------------
71093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Find out whether the shell is Bourne or XSI compatible,
71103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# or has some other useful features.
71113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_CHECK_SHELL_FEATURES],
71123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
71133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Try some XSI features
71143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevxsi_shell=no
71153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev( _lt_dummy="a/b/c"
71163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
71173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev      = c,a/b,, \
71183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    && eval 'test $(( 1 + 1 )) -eq 2 \
71193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
71203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  && xsi_shell=yes
71213aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$xsi_shell])
71223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
71233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71243aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_CHECKING([whether the shell understands "+="])
71253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevlt_shell_append=no
71263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
71273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    >/dev/null 2>&1 \
71283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  && lt_shell_append=yes
71293aa430dc5437a98734b36f996f9b17081a589143Yavor GoulishevAC_MSG_RESULT([$lt_shell_append])
71303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
71313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevif ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
71333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_unset=unset
71343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevelse
71353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_unset=false
71363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfi
71373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
71383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# test EBCDIC or ASCII
71403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase `echo X|tr X '\101'` in
71413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev A) # ASCII based system
71423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
71433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_SP2NL='tr \040 \012'
71443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_NL2SP='tr \015\012 \040\040'
71453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
71463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev *) # EBCDIC based system
71473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_SP2NL='tr \100 \n'
71483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  lt_NL2SP='tr \r\n \100\100'
71493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  ;;
71503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
71513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
71523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
71533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])# _LT_CHECK_SHELL_FEATURES
71543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# _LT_PROG_XSI_SHELLFNS
71573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# ---------------------
71583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Bourne and XSI compatible variants of some useful shell functions.
71593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevm4_defun([_LT_PROG_XSI_SHELLFNS],
71603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev[case $xsi_shell in
71613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  yes)
71623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cat << \_LT_EOF >> "$cfgfile"
71633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_dirname file append nondir_replacement
71653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
71663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# otherwise set result to NONDIR_REPLACEMENT.
71673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_dirname ()
71683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
71693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case ${1} in
71703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    */*) func_dirname_result="${1%/*}${2}" ;;
71713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *  ) func_dirname_result="${3}" ;;
71723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
71733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
71743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_basename file
71763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_basename ()
71773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
71783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_basename_result="${1##*/}"
71793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
71803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
71813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_dirname_and_basename file append nondir_replacement
71823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# perform func_basename and func_dirname in a single function
71833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# call:
71843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   dirname:  Compute the dirname of FILE.  If nonempty,
71853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#             add APPEND to the result, otherwise set result
71863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#             to NONDIR_REPLACEMENT.
71873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#             value returned in "$func_dirname_result"
71883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#   basename: Compute filename of FILE.
71893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev#             value retuned in "$func_basename_result"
71903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Implementation must be kept synchronized with func_dirname
71913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# and func_basename. For efficiency, we do not delegate to
71923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# those functions but instead duplicate the functionality here.
71933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_dirname_and_basename ()
71943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
71953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case ${1} in
71963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    */*) func_dirname_result="${1%/*}${2}" ;;
71973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *  ) func_dirname_result="${3}" ;;
71983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
71993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_basename_result="${1##*/}"
72003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_stripname prefix suffix name
72033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# strip PREFIX and SUFFIX off of NAME.
72043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# PREFIX and SUFFIX must not contain globbing or regex special
72053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# characters, hashes, percent signs, but SUFFIX may contain a leading
72063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# dot (in which case that matches only a dot).
72073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_stripname ()
72083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
72103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # positional parameters, so assign one to ordinary parameter first.
72113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_stripname_result=${3}
72123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_stripname_result=${func_stripname_result#"${1}"}
72133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_stripname_result=${func_stripname_result%"${2}"}
72143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_opt_split
72173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_opt_split ()
72183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_opt_split_opt=${1%%=*}
72203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_opt_split_arg=${1#*=}
72213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_lo2o object
72243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_lo2o ()
72253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case ${1} in
72273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
72283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)    func_lo2o_result=${1} ;;
72293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
72303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_xform libobj-or-source
72333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_xform ()
72343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_xform_result=${1%.*}.lo
72363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_arith arithmetic-term...
72393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_arith ()
72403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_arith_result=$(( $[*] ))
72423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_len string
72453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# STRING may not start with a hyphen.
72463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_len ()
72473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_len_result=${#1}
72493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
72523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
72533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *) # Bourne compatible functions.
72543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cat << \_LT_EOF >> "$cfgfile"
72553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_dirname file append nondir_replacement
72573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
72583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# otherwise set result to NONDIR_REPLACEMENT.
72593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_dirname ()
72603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72613aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  # Extract subdirectory from the argument.
72623aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
72633aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  if test "X$func_dirname_result" = "X${1}"; then
72643aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    func_dirname_result="${3}"
72653aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  else
72663aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    func_dirname_result="$func_dirname_result${2}"
72673aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  fi
72683aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72693aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72703aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_basename file
72713aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_basename ()
72723aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72733aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
72743aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72753aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72763aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl func_dirname_and_basename
72773aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl A portable version of this function is already defined in general.m4sh
72783aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevdnl so there is no need for it here.
72793aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72803aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_stripname prefix suffix name
72813aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# strip PREFIX and SUFFIX off of NAME.
72823aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# PREFIX and SUFFIX must not contain globbing or regex special
72833aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# characters, hashes, percent signs, but SUFFIX may contain a leading
72843aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# dot (in which case that matches only a dot).
72853aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_strip_suffix prefix name
72863aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_stripname ()
72873aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
72883aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  case ${2} in
72893aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    .*) func_stripname_result=`$ECHO "X${3}" \
72903aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
72913aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    *)  func_stripname_result=`$ECHO "X${3}" \
72923aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
72933aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
72943aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
72953aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
72963aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# sed scripts:
72973aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmy_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
72983aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevmy_sed_long_arg='1s/^-[[^=]]*=//'
72993aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73003aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_opt_split
73013aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_opt_split ()
73023aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
73033aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
73043aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
73053aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
73063aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73073aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_lo2o object
73083aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_lo2o ()
73093aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
73103aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
73113aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
73123aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73133aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_xform libobj-or-source
73143aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_xform ()
73153aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
73163aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
73173aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
73183aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73193aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_arith arithmetic-term...
73203aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_arith ()
73213aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
73223aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_arith_result=`expr "$[@]"`
73233aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
73243aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73253aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_len string
73263aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# STRING may not start with a hyphen.
73273aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_len ()
73283aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
73293aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
73303aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
73313aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73323aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
73333aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevesac
73343aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73353aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevcase $lt_shell_append in
73363aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  yes)
73373aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cat << \_LT_EOF >> "$cfgfile"
73383aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73393aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_append var value
73403aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Append VALUE to the end of shell variable VAR.
73413aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_append ()
73423aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
73433aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  eval "$[1]+=\$[2]"
73443aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
73453aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
73463aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
73473aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  *)
73483aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    cat << \_LT_EOF >> "$cfgfile"
73493aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73503aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# func_append var value
73513aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev# Append VALUE to the end of shell variable VAR.
73523aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishevfunc_append ()
73533aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev{
73543aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  eval "$[1]=\$$[1]\$[2]"
73553aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev}
73563aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev
73573aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev_LT_EOF
73583aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev    ;;
73593aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev  esac
73603aa430dc5437a98734b36f996f9b17081a589143Yavor Goulishev])
7361