aclocal.m4 revision 6086d97e
16086d97eSmrg# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
2fc5a983dSmrg
3fc5a983dSmrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
471ba42d0Smrg# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
5fc5a983dSmrg# This file is free software; the Free Software Foundation
6fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
7fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
8fc5a983dSmrg
9fc5a983dSmrg# This program is distributed in the hope that it will be useful,
10fc5a983dSmrg# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11fc5a983dSmrg# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12fc5a983dSmrg# PARTICULAR PURPOSE.
13fc5a983dSmrg
14fc5a983dSmrgm4_ifndef([AC_AUTOCONF_VERSION],
15fc5a983dSmrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
166086d97eSmrgm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
176086d97eSmrg[m4_warning([this file was generated for autoconf 2.65.
18fc5a983dSmrgYou have another version of autoconf.  It may work, but is not guaranteed to.
19fc5a983dSmrgIf you have problems, you may need to regenerate the build system entirely.
20fc5a983dSmrgTo do so, use the procedure documented by the package, typically `autoreconf'.])])
21fc5a983dSmrg
22fc5a983dSmrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
23f3561b8bSmrg#
24f3561b8bSmrg#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
25f3561b8bSmrg#                 2006, 2007, 2008 Free Software Foundation, Inc.
26f3561b8bSmrg#   Written by Gordon Matzigkeit, 1996
27f3561b8bSmrg#
28f3561b8bSmrg# This file is free software; the Free Software Foundation gives
29f3561b8bSmrg# unlimited permission to copy and/or distribute it, with or without
30f3561b8bSmrg# modifications, as long as this notice is preserved.
31f3561b8bSmrg
32f3561b8bSmrgm4_define([_LT_COPYING], [dnl
33f3561b8bSmrg#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
34f3561b8bSmrg#                 2006, 2007, 2008 Free Software Foundation, Inc.
35f3561b8bSmrg#   Written by Gordon Matzigkeit, 1996
36f3561b8bSmrg#
37f3561b8bSmrg#   This file is part of GNU Libtool.
38f3561b8bSmrg#
39f3561b8bSmrg# GNU Libtool is free software; you can redistribute it and/or
40f3561b8bSmrg# modify it under the terms of the GNU General Public License as
41f3561b8bSmrg# published by the Free Software Foundation; either version 2 of
42f3561b8bSmrg# the License, or (at your option) any later version.
43f3561b8bSmrg#
44f3561b8bSmrg# As a special exception to the GNU General Public License,
45f3561b8bSmrg# if you distribute this file as part of a program or library that
46f3561b8bSmrg# is built using GNU Libtool, you may include this file under the
47f3561b8bSmrg# same distribution terms that you use for the rest of that program.
48f3561b8bSmrg#
49f3561b8bSmrg# GNU Libtool is distributed in the hope that it will be useful,
50f3561b8bSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
51f3561b8bSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
52f3561b8bSmrg# GNU General Public License for more details.
53f3561b8bSmrg#
54f3561b8bSmrg# You should have received a copy of the GNU General Public License
55f3561b8bSmrg# along with GNU Libtool; see the file COPYING.  If not, a copy
56f3561b8bSmrg# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
57f3561b8bSmrg# obtained by writing to the Free Software Foundation, Inc.,
58f3561b8bSmrg# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
59f3561b8bSmrg])
60fc5a983dSmrg
61f3561b8bSmrg# serial 56 LT_INIT
62fc5a983dSmrg
63fc5a983dSmrg
64f3561b8bSmrg# LT_PREREQ(VERSION)
65f3561b8bSmrg# ------------------
66f3561b8bSmrg# Complain and exit if this libtool version is less that VERSION.
67f3561b8bSmrgm4_defun([LT_PREREQ],
68f3561b8bSmrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
69f3561b8bSmrg       [m4_default([$3],
70f3561b8bSmrg		   [m4_fatal([Libtool version $1 or higher is required],
71f3561b8bSmrg		             63)])],
72f3561b8bSmrg       [$2])])
73fc5a983dSmrg
74fc5a983dSmrg
75f3561b8bSmrg# _LT_CHECK_BUILDDIR
76f3561b8bSmrg# ------------------
77f3561b8bSmrg# Complain if the absolute build directory name contains unusual characters
78f3561b8bSmrgm4_defun([_LT_CHECK_BUILDDIR],
79f3561b8bSmrg[case `pwd` in
80f3561b8bSmrg  *\ * | *\	*)
81f3561b8bSmrg    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
82f3561b8bSmrgesac
83f3561b8bSmrg])
84f3561b8bSmrg
85f3561b8bSmrg
86f3561b8bSmrg# LT_INIT([OPTIONS])
87f3561b8bSmrg# ------------------
88f3561b8bSmrgAC_DEFUN([LT_INIT],
89f3561b8bSmrg[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
90f3561b8bSmrgAC_BEFORE([$0], [LT_LANG])dnl
91f3561b8bSmrgAC_BEFORE([$0], [LT_OUTPUT])dnl
92f3561b8bSmrgAC_BEFORE([$0], [LTDL_INIT])dnl
93f3561b8bSmrgm4_require([_LT_CHECK_BUILDDIR])dnl
94f3561b8bSmrg
95f3561b8bSmrgdnl Autoconf doesn't catch unexpanded LT_ macros by default:
96f3561b8bSmrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
97f3561b8bSmrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
98f3561b8bSmrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
99f3561b8bSmrgdnl unless we require an AC_DEFUNed macro:
100f3561b8bSmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl
101f3561b8bSmrgAC_REQUIRE([LTSUGAR_VERSION])dnl
102f3561b8bSmrgAC_REQUIRE([LTVERSION_VERSION])dnl
103f3561b8bSmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl
104f3561b8bSmrgm4_require([_LT_PROG_LTMAIN])dnl
105f3561b8bSmrg
106f3561b8bSmrgdnl Parse OPTIONS
107f3561b8bSmrg_LT_SET_OPTIONS([$0], [$1])
108fc5a983dSmrg
109fc5a983dSmrg# This can be used to rebuild libtool when needed
110f3561b8bSmrgLIBTOOL_DEPS="$ltmain"
111fc5a983dSmrg
112fc5a983dSmrg# Always use our own libtool.
113fc5a983dSmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool'
114fc5a983dSmrgAC_SUBST(LIBTOOL)dnl
115fc5a983dSmrg
116f3561b8bSmrg_LT_SETUP
117fc5a983dSmrg
118f3561b8bSmrg# Only expand once:
119f3561b8bSmrgm4_define([LT_INIT])
120f3561b8bSmrg])# LT_INIT
121fc5a983dSmrg
122f3561b8bSmrg# Old names:
123f3561b8bSmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
124f3561b8bSmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
125f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
126f3561b8bSmrgdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
127f3561b8bSmrgdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
128f3561b8bSmrg
129f3561b8bSmrg
130f3561b8bSmrg# _LT_CC_BASENAME(CC)
131f3561b8bSmrg# -------------------
132f3561b8bSmrg# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
133f3561b8bSmrgm4_defun([_LT_CC_BASENAME],
134f3561b8bSmrg[for cc_temp in $1""; do
135f3561b8bSmrg  case $cc_temp in
136f3561b8bSmrg    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
137f3561b8bSmrg    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
138f3561b8bSmrg    \-*) ;;
139f3561b8bSmrg    *) break;;
140f3561b8bSmrg  esac
141f3561b8bSmrgdone
142f3561b8bSmrgcc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
143f3561b8bSmrg])
144f3561b8bSmrg
145f3561b8bSmrg
146f3561b8bSmrg# _LT_FILEUTILS_DEFAULTS
147f3561b8bSmrg# ----------------------
148f3561b8bSmrg# It is okay to use these file commands and assume they have been set
149f3561b8bSmrg# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
150f3561b8bSmrgm4_defun([_LT_FILEUTILS_DEFAULTS],
151f3561b8bSmrg[: ${CP="cp -f"}
152f3561b8bSmrg: ${MV="mv -f"}
153f3561b8bSmrg: ${RM="rm -f"}
154f3561b8bSmrg])# _LT_FILEUTILS_DEFAULTS
155f3561b8bSmrg
156f3561b8bSmrg
157f3561b8bSmrg# _LT_SETUP
158f3561b8bSmrg# ---------
159f3561b8bSmrgm4_defun([_LT_SETUP],
160f3561b8bSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
161fc5a983dSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
162f3561b8bSmrg_LT_DECL([], [host_alias], [0], [The host system])dnl
163f3561b8bSmrg_LT_DECL([], [host], [0])dnl
164f3561b8bSmrg_LT_DECL([], [host_os], [0])dnl
165f3561b8bSmrgdnl
166f3561b8bSmrg_LT_DECL([], [build_alias], [0], [The build system])dnl
167f3561b8bSmrg_LT_DECL([], [build], [0])dnl
168f3561b8bSmrg_LT_DECL([], [build_os], [0])dnl
169f3561b8bSmrgdnl
170fc5a983dSmrgAC_REQUIRE([AC_PROG_CC])dnl
171f3561b8bSmrgAC_REQUIRE([LT_PATH_LD])dnl
172f3561b8bSmrgAC_REQUIRE([LT_PATH_NM])dnl
173f3561b8bSmrgdnl
174fc5a983dSmrgAC_REQUIRE([AC_PROG_LN_S])dnl
175f3561b8bSmrgtest -z "$LN_S" && LN_S="ln -s"
176f3561b8bSmrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
177f3561b8bSmrgdnl
178f3561b8bSmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl
179f3561b8bSmrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
180f3561b8bSmrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
181fc5a983dSmrgdnl
182f3561b8bSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
183f3561b8bSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
184f3561b8bSmrgm4_require([_LT_CMD_RELOAD])dnl
185f3561b8bSmrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl
186f3561b8bSmrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl
187f3561b8bSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
188f3561b8bSmrg
189f3561b8bSmrg_LT_CONFIG_LIBTOOL_INIT([
190f3561b8bSmrg# See if we are running on zsh, and set the options which allow our
191f3561b8bSmrg# commands through without removal of \ escapes INIT.
192f3561b8bSmrgif test -n "\${ZSH_VERSION+set}" ; then
193f3561b8bSmrg   setopt NO_GLOB_SUBST
194f3561b8bSmrgfi
195f3561b8bSmrg])
196f3561b8bSmrgif test -n "${ZSH_VERSION+set}" ; then
197f3561b8bSmrg   setopt NO_GLOB_SUBST
198f3561b8bSmrgfi
199f3561b8bSmrg
200f3561b8bSmrg_LT_CHECK_OBJDIR
201fc5a983dSmrg
202f3561b8bSmrgm4_require([_LT_TAG_COMPILER])dnl
203f3561b8bSmrg_LT_PROG_ECHO_BACKSLASH
204fc5a983dSmrg
205fc5a983dSmrgcase $host_os in
206fc5a983dSmrgaix3*)
207fc5a983dSmrg  # AIX sometimes has problems with the GCC collect2 program.  For some
208fc5a983dSmrg  # reason, if we set the COLLECT_NAMES environment variable, the problems
209fc5a983dSmrg  # vanish in a puff of smoke.
210fc5a983dSmrg  if test "X${COLLECT_NAMES+set}" != Xset; then
211fc5a983dSmrg    COLLECT_NAMES=
212fc5a983dSmrg    export COLLECT_NAMES
213fc5a983dSmrg  fi
214fc5a983dSmrg  ;;
215fc5a983dSmrgesac
216fc5a983dSmrg
217fc5a983dSmrg# Sed substitution that helps us do robust quoting.  It backslashifies
218fc5a983dSmrg# metacharacters that are still active within double-quoted strings.
219f3561b8bSmrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
220fc5a983dSmrg
221fc5a983dSmrg# Same as above, but do not quote variable references.
222f3561b8bSmrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
223fc5a983dSmrg
224fc5a983dSmrg# Sed substitution to delay expansion of an escaped shell variable in a
225fc5a983dSmrg# double_quote_subst'ed string.
226fc5a983dSmrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
227fc5a983dSmrg
228f3561b8bSmrg# Sed substitution to delay expansion of an escaped single quote.
229f3561b8bSmrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
230f3561b8bSmrg
231fc5a983dSmrg# Sed substitution to avoid accidental globbing in evaled expressions
232fc5a983dSmrgno_glob_subst='s/\*/\\\*/g'
233fc5a983dSmrg
234fc5a983dSmrg# Global variables:
235f3561b8bSmrgofile=libtool
236fc5a983dSmrgcan_build_shared=yes
237fc5a983dSmrg
238fc5a983dSmrg# All known linkers require a `.a' archive for static linking (except MSVC,
239fc5a983dSmrg# which needs '.lib').
240fc5a983dSmrglibext=a
241fc5a983dSmrg
242f3561b8bSmrgwith_gnu_ld="$lt_cv_prog_gnu_ld"
243fc5a983dSmrg
244fc5a983dSmrgold_CC="$CC"
245fc5a983dSmrgold_CFLAGS="$CFLAGS"
246fc5a983dSmrg
247fc5a983dSmrg# Set sane defaults for various variables
248fc5a983dSmrgtest -z "$CC" && CC=cc
249fc5a983dSmrgtest -z "$LTCC" && LTCC=$CC
250fc5a983dSmrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
251fc5a983dSmrgtest -z "$LD" && LD=ld
252fc5a983dSmrgtest -z "$ac_objext" && ac_objext=o
253fc5a983dSmrg
254fc5a983dSmrg_LT_CC_BASENAME([$compiler])
255fc5a983dSmrg
256fc5a983dSmrg# Only perform the check for file, if the check method requires it
257f3561b8bSmrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file
258fc5a983dSmrgcase $deplibs_check_method in
259fc5a983dSmrgfile_magic*)
260fc5a983dSmrg  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
261f3561b8bSmrg    _LT_PATH_MAGIC
262fc5a983dSmrg  fi
263fc5a983dSmrg  ;;
264fc5a983dSmrgesac
265fc5a983dSmrg
266f3561b8bSmrg# Use C for the default configuration in the libtool script
267f3561b8bSmrgLT_SUPPORTED_TAG([CC])
268f3561b8bSmrg_LT_LANG_C_CONFIG
269f3561b8bSmrg_LT_LANG_DEFAULT_CONFIG
270f3561b8bSmrg_LT_CONFIG_COMMANDS
271f3561b8bSmrg])# _LT_SETUP
272fc5a983dSmrg
273fc5a983dSmrg
274f3561b8bSmrg# _LT_PROG_LTMAIN
275f3561b8bSmrg# ---------------
276f3561b8bSmrg# Note that this code is called both from `configure', and `config.status'
277f3561b8bSmrg# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
278f3561b8bSmrg# `config.status' has no value for ac_aux_dir unless we are using Automake,
279f3561b8bSmrg# so we pass a copy along to make sure it has a sensible value anyway.
280f3561b8bSmrgm4_defun([_LT_PROG_LTMAIN],
281f3561b8bSmrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
282f3561b8bSmrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
283f3561b8bSmrgltmain="$ac_aux_dir/ltmain.sh"
284f3561b8bSmrg])# _LT_PROG_LTMAIN
285fc5a983dSmrg
286fc5a983dSmrg
287f3561b8bSmrg
288f3561b8bSmrg# So that we can recreate a full libtool script including additional
289f3561b8bSmrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
290f3561b8bSmrg# in macros and then make a single call at the end using the `libtool'
291f3561b8bSmrg# label.
292f3561b8bSmrg
293f3561b8bSmrg
294f3561b8bSmrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
295f3561b8bSmrg# ----------------------------------------
296f3561b8bSmrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
297f3561b8bSmrgm4_define([_LT_CONFIG_LIBTOOL_INIT],
298f3561b8bSmrg[m4_ifval([$1],
299f3561b8bSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
300f3561b8bSmrg                     [$1
301f3561b8bSmrg])])])
302f3561b8bSmrg
303f3561b8bSmrg# Initialize.
304f3561b8bSmrgm4_define([_LT_OUTPUT_LIBTOOL_INIT])
305f3561b8bSmrg
306f3561b8bSmrg
307f3561b8bSmrg# _LT_CONFIG_LIBTOOL([COMMANDS])
308f3561b8bSmrg# ------------------------------
309f3561b8bSmrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
310f3561b8bSmrgm4_define([_LT_CONFIG_LIBTOOL],
311f3561b8bSmrg[m4_ifval([$1],
312f3561b8bSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
313f3561b8bSmrg                     [$1
314f3561b8bSmrg])])])
315f3561b8bSmrg
316f3561b8bSmrg# Initialize.
317f3561b8bSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
318f3561b8bSmrg
319f3561b8bSmrg
320f3561b8bSmrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
321f3561b8bSmrg# -----------------------------------------------------
322f3561b8bSmrgm4_defun([_LT_CONFIG_SAVE_COMMANDS],
323f3561b8bSmrg[_LT_CONFIG_LIBTOOL([$1])
324f3561b8bSmrg_LT_CONFIG_LIBTOOL_INIT([$2])
325f3561b8bSmrg])
326f3561b8bSmrg
327f3561b8bSmrg
328f3561b8bSmrg# _LT_FORMAT_COMMENT([COMMENT])
329f3561b8bSmrg# -----------------------------
330f3561b8bSmrg# Add leading comment marks to the start of each line, and a trailing
331f3561b8bSmrg# full-stop to the whole comment if one is not present already.
332f3561b8bSmrgm4_define([_LT_FORMAT_COMMENT],
333f3561b8bSmrg[m4_ifval([$1], [
334f3561b8bSmrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
335f3561b8bSmrg              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
336f3561b8bSmrg)])
337f3561b8bSmrg
338f3561b8bSmrg
339f3561b8bSmrg
340f3561b8bSmrg
341f3561b8bSmrg
342f3561b8bSmrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
343f3561b8bSmrg# -------------------------------------------------------------------
344f3561b8bSmrg# CONFIGNAME is the name given to the value in the libtool script.
345f3561b8bSmrg# VARNAME is the (base) name used in the configure script.
346f3561b8bSmrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
347f3561b8bSmrg# VARNAME.  Any other value will be used directly.
348f3561b8bSmrgm4_define([_LT_DECL],
349f3561b8bSmrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
350f3561b8bSmrg    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
351f3561b8bSmrg	[m4_ifval([$1], [$1], [$2])])
352f3561b8bSmrg    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
353f3561b8bSmrg    m4_ifval([$4],
354f3561b8bSmrg	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
355f3561b8bSmrg    lt_dict_add_subkey([lt_decl_dict], [$2],
356f3561b8bSmrg	[tagged?], [m4_ifval([$5], [yes], [no])])])
357f3561b8bSmrg])
358f3561b8bSmrg
359f3561b8bSmrg
360f3561b8bSmrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
361f3561b8bSmrg# --------------------------------------------------------
362f3561b8bSmrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
363f3561b8bSmrg
364f3561b8bSmrg
365f3561b8bSmrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
366f3561b8bSmrg# ------------------------------------------------
367f3561b8bSmrgm4_define([lt_decl_tag_varnames],
368f3561b8bSmrg[_lt_decl_filter([tagged?], [yes], $@)])
369f3561b8bSmrg
370f3561b8bSmrg
371f3561b8bSmrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
372f3561b8bSmrg# ---------------------------------------------------------
373f3561b8bSmrgm4_define([_lt_decl_filter],
374f3561b8bSmrg[m4_case([$#],
375f3561b8bSmrg  [0], [m4_fatal([$0: too few arguments: $#])],
376f3561b8bSmrg  [1], [m4_fatal([$0: too few arguments: $#: $1])],
377f3561b8bSmrg  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
378f3561b8bSmrg  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
379f3561b8bSmrg  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
380f3561b8bSmrg])
381f3561b8bSmrg
382f3561b8bSmrg
383f3561b8bSmrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
384f3561b8bSmrg# --------------------------------------------------
385f3561b8bSmrgm4_define([lt_decl_quote_varnames],
386f3561b8bSmrg[_lt_decl_filter([value], [1], $@)])
387f3561b8bSmrg
388f3561b8bSmrg
389f3561b8bSmrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
390f3561b8bSmrg# ---------------------------------------------------
391f3561b8bSmrgm4_define([lt_decl_dquote_varnames],
392f3561b8bSmrg[_lt_decl_filter([value], [2], $@)])
393f3561b8bSmrg
394f3561b8bSmrg
395f3561b8bSmrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
396f3561b8bSmrg# ---------------------------------------------------
397f3561b8bSmrgm4_define([lt_decl_varnames_tagged],
398f3561b8bSmrg[m4_assert([$# <= 2])dnl
399f3561b8bSmrg_$0(m4_quote(m4_default([$1], [[, ]])),
400f3561b8bSmrg    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
401f3561b8bSmrg    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
402f3561b8bSmrgm4_define([_lt_decl_varnames_tagged],
403f3561b8bSmrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
404f3561b8bSmrg
405f3561b8bSmrg
406f3561b8bSmrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
407f3561b8bSmrg# ------------------------------------------------
408f3561b8bSmrgm4_define([lt_decl_all_varnames],
409f3561b8bSmrg[_$0(m4_quote(m4_default([$1], [[, ]])),
410f3561b8bSmrg     m4_if([$2], [],
411f3561b8bSmrg	   m4_quote(lt_decl_varnames),
412f3561b8bSmrg	m4_quote(m4_shift($@))))[]dnl
413f3561b8bSmrg])
414f3561b8bSmrgm4_define([_lt_decl_all_varnames],
415f3561b8bSmrg[lt_join($@, lt_decl_varnames_tagged([$1],
416f3561b8bSmrg			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
417f3561b8bSmrg])
418f3561b8bSmrg
419f3561b8bSmrg
420f3561b8bSmrg# _LT_CONFIG_STATUS_DECLARE([VARNAME])
421f3561b8bSmrg# ------------------------------------
422f3561b8bSmrg# Quote a variable value, and forward it to `config.status' so that its
423f3561b8bSmrg# declaration there will have the same value as in `configure'.  VARNAME
424f3561b8bSmrg# must have a single quote delimited value for this to work.
425f3561b8bSmrgm4_define([_LT_CONFIG_STATUS_DECLARE],
426f3561b8bSmrg[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
427f3561b8bSmrg
428f3561b8bSmrg
429f3561b8bSmrg# _LT_CONFIG_STATUS_DECLARATIONS
430f3561b8bSmrg# ------------------------------
431f3561b8bSmrg# We delimit libtool config variables with single quotes, so when
432f3561b8bSmrg# we write them to config.status, we have to be sure to quote all
433f3561b8bSmrg# embedded single quotes properly.  In configure, this macro expands
434f3561b8bSmrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
435fc5a983dSmrg#
436f3561b8bSmrg#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
437f3561b8bSmrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
438f3561b8bSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
439f3561b8bSmrg    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
440f3561b8bSmrg
441f3561b8bSmrg
442f3561b8bSmrg# _LT_LIBTOOL_TAGS
443f3561b8bSmrg# ----------------
444f3561b8bSmrg# Output comment and list of tags supported by the script
445f3561b8bSmrgm4_defun([_LT_LIBTOOL_TAGS],
446f3561b8bSmrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
447f3561b8bSmrgavailable_tags="_LT_TAGS"dnl
448f3561b8bSmrg])
449f3561b8bSmrg
450f3561b8bSmrg
451f3561b8bSmrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
452f3561b8bSmrg# -----------------------------------
453f3561b8bSmrg# Extract the dictionary values for VARNAME (optionally with TAG) and
454f3561b8bSmrg# expand to a commented shell variable setting:
455fc5a983dSmrg#
456f3561b8bSmrg#    # Some comment about what VAR is for.
457f3561b8bSmrg#    visible_name=$lt_internal_name
458f3561b8bSmrgm4_define([_LT_LIBTOOL_DECLARE],
459f3561b8bSmrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
460f3561b8bSmrg					   [description])))[]dnl
461f3561b8bSmrgm4_pushdef([_libtool_name],
462f3561b8bSmrg    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
463f3561b8bSmrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
464f3561b8bSmrg    [0], [_libtool_name=[$]$1],
465f3561b8bSmrg    [1], [_libtool_name=$lt_[]$1],
466f3561b8bSmrg    [2], [_libtool_name=$lt_[]$1],
467f3561b8bSmrg    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
468f3561b8bSmrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
469f3561b8bSmrg])
470fc5a983dSmrg
471f3561b8bSmrg
472f3561b8bSmrg# _LT_LIBTOOL_CONFIG_VARS
473f3561b8bSmrg# -----------------------
474f3561b8bSmrg# Produce commented declarations of non-tagged libtool config variables
475f3561b8bSmrg# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
476f3561b8bSmrg# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
477f3561b8bSmrg# section) are produced by _LT_LIBTOOL_TAG_VARS.
478f3561b8bSmrgm4_defun([_LT_LIBTOOL_CONFIG_VARS],
479f3561b8bSmrg[m4_foreach([_lt_var],
480f3561b8bSmrg    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
481f3561b8bSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
482fc5a983dSmrg
483fc5a983dSmrg
484f3561b8bSmrg# _LT_LIBTOOL_TAG_VARS(TAG)
485f3561b8bSmrg# -------------------------
486f3561b8bSmrgm4_define([_LT_LIBTOOL_TAG_VARS],
487f3561b8bSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
488f3561b8bSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
489f3561b8bSmrg
490f3561b8bSmrg
491f3561b8bSmrg# _LT_TAGVAR(VARNAME, [TAGNAME])
492f3561b8bSmrg# ------------------------------
493f3561b8bSmrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
494f3561b8bSmrg
495f3561b8bSmrg
496f3561b8bSmrg# _LT_CONFIG_COMMANDS
497f3561b8bSmrg# -------------------
498f3561b8bSmrg# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
499f3561b8bSmrg# variables for single and double quote escaping we saved from calls
500f3561b8bSmrg# to _LT_DECL, we can put quote escaped variables declarations
501f3561b8bSmrg# into `config.status', and then the shell code to quote escape them in
502f3561b8bSmrg# for loops in `config.status'.  Finally, any additional code accumulated
503f3561b8bSmrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
504f3561b8bSmrgm4_defun([_LT_CONFIG_COMMANDS],
505f3561b8bSmrg[AC_PROVIDE_IFELSE([LT_OUTPUT],
506f3561b8bSmrg	dnl If the libtool generation code has been placed in $CONFIG_LT,
507f3561b8bSmrg	dnl instead of duplicating it all over again into config.status,
508f3561b8bSmrg	dnl then we will have config.status run $CONFIG_LT later, so it
509f3561b8bSmrg	dnl needs to know what name is stored there:
510f3561b8bSmrg        [AC_CONFIG_COMMANDS([libtool],
511f3561b8bSmrg            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
512f3561b8bSmrg    dnl If the libtool generation code is destined for config.status,
513f3561b8bSmrg    dnl expand the accumulated commands and init code now:
514f3561b8bSmrg    [AC_CONFIG_COMMANDS([libtool],
515f3561b8bSmrg        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
516f3561b8bSmrg])#_LT_CONFIG_COMMANDS
517f3561b8bSmrg
518f3561b8bSmrg
519f3561b8bSmrg# Initialize.
520f3561b8bSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
521f3561b8bSmrg[
522f3561b8bSmrg
523f3561b8bSmrg# The HP-UX ksh and POSIX shell print the target directory to stdout
524f3561b8bSmrg# if CDPATH is set.
525f3561b8bSmrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
526f3561b8bSmrg
527f3561b8bSmrgsed_quote_subst='$sed_quote_subst'
528f3561b8bSmrgdouble_quote_subst='$double_quote_subst'
529f3561b8bSmrgdelay_variable_subst='$delay_variable_subst'
530f3561b8bSmrg_LT_CONFIG_STATUS_DECLARATIONS
531f3561b8bSmrgLTCC='$LTCC'
532f3561b8bSmrgLTCFLAGS='$LTCFLAGS'
533f3561b8bSmrgcompiler='$compiler_DEFAULT'
534f3561b8bSmrg
535f3561b8bSmrg# Quote evaled strings.
536f3561b8bSmrgfor var in lt_decl_all_varnames([[ \
537f3561b8bSmrg]], lt_decl_quote_varnames); do
538f3561b8bSmrg    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
539f3561b8bSmrg    *[[\\\\\\\`\\"\\\$]]*)
540f3561b8bSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
541f3561b8bSmrg      ;;
542f3561b8bSmrg    *)
543f3561b8bSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
544f3561b8bSmrg      ;;
545f3561b8bSmrg    esac
546f3561b8bSmrgdone
547f3561b8bSmrg
548f3561b8bSmrg# Double-quote double-evaled strings.
549f3561b8bSmrgfor var in lt_decl_all_varnames([[ \
550f3561b8bSmrg]], lt_decl_dquote_varnames); do
551f3561b8bSmrg    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
552f3561b8bSmrg    *[[\\\\\\\`\\"\\\$]]*)
553f3561b8bSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
554f3561b8bSmrg      ;;
555f3561b8bSmrg    *)
556f3561b8bSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
557f3561b8bSmrg      ;;
558f3561b8bSmrg    esac
559f3561b8bSmrgdone
560f3561b8bSmrg
561f3561b8bSmrg# Fix-up fallback echo if it was mangled by the above quoting rules.
562f3561b8bSmrgcase \$lt_ECHO in
563f3561b8bSmrg*'\\\[$]0 --fallback-echo"')dnl "
564f3561b8bSmrg  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
565f3561b8bSmrg  ;;
566f3561b8bSmrgesac
567fc5a983dSmrg
568f3561b8bSmrg_LT_OUTPUT_LIBTOOL_INIT
569fc5a983dSmrg])
570f3561b8bSmrg
571f3561b8bSmrg
572f3561b8bSmrg# LT_OUTPUT
573f3561b8bSmrg# ---------
574f3561b8bSmrg# This macro allows early generation of the libtool script (before
575f3561b8bSmrg# AC_OUTPUT is called), incase it is used in configure for compilation
576f3561b8bSmrg# tests.
577f3561b8bSmrgAC_DEFUN([LT_OUTPUT],
578f3561b8bSmrg[: ${CONFIG_LT=./config.lt}
579f3561b8bSmrgAC_MSG_NOTICE([creating $CONFIG_LT])
580f3561b8bSmrgcat >"$CONFIG_LT" <<_LTEOF
581f3561b8bSmrg#! $SHELL
582f3561b8bSmrg# Generated by $as_me.
583f3561b8bSmrg# Run this file to recreate a libtool stub with the current configuration.
584f3561b8bSmrg
585f3561b8bSmrglt_cl_silent=false
586f3561b8bSmrgSHELL=\${CONFIG_SHELL-$SHELL}
587f3561b8bSmrg_LTEOF
588f3561b8bSmrg
589f3561b8bSmrgcat >>"$CONFIG_LT" <<\_LTEOF
590f3561b8bSmrgAS_SHELL_SANITIZE
591f3561b8bSmrg_AS_PREPARE
592f3561b8bSmrg
593f3561b8bSmrgexec AS_MESSAGE_FD>&1
594f3561b8bSmrgexec AS_MESSAGE_LOG_FD>>config.log
595f3561b8bSmrg{
596f3561b8bSmrg  echo
597f3561b8bSmrg  AS_BOX([Running $as_me.])
598f3561b8bSmrg} >&AS_MESSAGE_LOG_FD
599f3561b8bSmrg
600f3561b8bSmrglt_cl_help="\
601f3561b8bSmrg\`$as_me' creates a local libtool stub from the current configuration,
602f3561b8bSmrgfor use in further configure time tests before the real libtool is
603f3561b8bSmrggenerated.
604f3561b8bSmrg
605f3561b8bSmrgUsage: $[0] [[OPTIONS]]
606f3561b8bSmrg
607f3561b8bSmrg  -h, --help      print this help, then exit
608f3561b8bSmrg  -V, --version   print version number, then exit
609f3561b8bSmrg  -q, --quiet     do not print progress messages
610f3561b8bSmrg  -d, --debug     don't remove temporary files
611f3561b8bSmrg
612f3561b8bSmrgReport bugs to <bug-libtool@gnu.org>."
613f3561b8bSmrg
614f3561b8bSmrglt_cl_version="\
615f3561b8bSmrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
616f3561b8bSmrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
617f3561b8bSmrgconfigured by $[0], generated by m4_PACKAGE_STRING.
618f3561b8bSmrg
619f3561b8bSmrgCopyright (C) 2008 Free Software Foundation, Inc.
620f3561b8bSmrgThis config.lt script is free software; the Free Software Foundation
621f3561b8bSmrggives unlimited permision to copy, distribute and modify it."
622f3561b8bSmrg
623f3561b8bSmrgwhile test $[#] != 0
624f3561b8bSmrgdo
625f3561b8bSmrg  case $[1] in
626f3561b8bSmrg    --version | --v* | -V )
627f3561b8bSmrg      echo "$lt_cl_version"; exit 0 ;;
628f3561b8bSmrg    --help | --h* | -h )
629f3561b8bSmrg      echo "$lt_cl_help"; exit 0 ;;
630f3561b8bSmrg    --debug | --d* | -d )
631f3561b8bSmrg      debug=: ;;
632f3561b8bSmrg    --quiet | --q* | --silent | --s* | -q )
633f3561b8bSmrg      lt_cl_silent=: ;;
634f3561b8bSmrg
635f3561b8bSmrg    -*) AC_MSG_ERROR([unrecognized option: $[1]
636f3561b8bSmrgTry \`$[0] --help' for more information.]) ;;
637f3561b8bSmrg
638f3561b8bSmrg    *) AC_MSG_ERROR([unrecognized argument: $[1]
639f3561b8bSmrgTry \`$[0] --help' for more information.]) ;;
640f3561b8bSmrg  esac
641f3561b8bSmrg  shift
642f3561b8bSmrgdone
643f3561b8bSmrg
644f3561b8bSmrgif $lt_cl_silent; then
645f3561b8bSmrg  exec AS_MESSAGE_FD>/dev/null
646fc5a983dSmrgfi
647f3561b8bSmrg_LTEOF
648f3561b8bSmrg
649f3561b8bSmrgcat >>"$CONFIG_LT" <<_LTEOF
650f3561b8bSmrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
651f3561b8bSmrg_LTEOF
652f3561b8bSmrg
653f3561b8bSmrgcat >>"$CONFIG_LT" <<\_LTEOF
654f3561b8bSmrgAC_MSG_NOTICE([creating $ofile])
655f3561b8bSmrg_LT_OUTPUT_LIBTOOL_COMMANDS
656f3561b8bSmrgAS_EXIT(0)
657f3561b8bSmrg_LTEOF
658f3561b8bSmrgchmod +x "$CONFIG_LT"
659f3561b8bSmrg
660f3561b8bSmrg# configure is writing to config.log, but config.lt does its own redirection,
661f3561b8bSmrg# appending to config.log, which fails on DOS, as config.log is still kept
662f3561b8bSmrg# open by configure.  Here we exec the FD to /dev/null, effectively closing
663f3561b8bSmrg# config.log, so it can be properly (re)opened and appended to by config.lt.
664f3561b8bSmrgif test "$no_create" != yes; then
665f3561b8bSmrg  lt_cl_success=:
666f3561b8bSmrg  test "$silent" = yes &&
667f3561b8bSmrg    lt_config_lt_args="$lt_config_lt_args --quiet"
668f3561b8bSmrg  exec AS_MESSAGE_LOG_FD>/dev/null
669f3561b8bSmrg  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
670f3561b8bSmrg  exec AS_MESSAGE_LOG_FD>>config.log
671f3561b8bSmrg  $lt_cl_success || AS_EXIT(1)
672f3561b8bSmrgfi
673f3561b8bSmrg])# LT_OUTPUT
674f3561b8bSmrg
675fc5a983dSmrg
676f3561b8bSmrg# _LT_CONFIG(TAG)
677f3561b8bSmrg# ---------------
678f3561b8bSmrg# If TAG is the built-in tag, create an initial libtool script with a
679f3561b8bSmrg# default configuration from the untagged config vars.  Otherwise add code
680f3561b8bSmrg# to config.status for appending the configuration named by TAG from the
681f3561b8bSmrg# matching tagged config vars.
682f3561b8bSmrgm4_defun([_LT_CONFIG],
683f3561b8bSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
684f3561b8bSmrg_LT_CONFIG_SAVE_COMMANDS([
685f3561b8bSmrg  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
686f3561b8bSmrg  m4_if(_LT_TAG, [C], [
687f3561b8bSmrg    # See if we are running on zsh, and set the options which allow our
688f3561b8bSmrg    # commands through without removal of \ escapes.
689f3561b8bSmrg    if test -n "${ZSH_VERSION+set}" ; then
690f3561b8bSmrg      setopt NO_GLOB_SUBST
691f3561b8bSmrg    fi
692fc5a983dSmrg
693f3561b8bSmrg    cfgfile="${ofile}T"
694f3561b8bSmrg    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
695f3561b8bSmrg    $RM "$cfgfile"
696fc5a983dSmrg
697f3561b8bSmrg    cat <<_LT_EOF >> "$cfgfile"
698f3561b8bSmrg#! $SHELL
699fc5a983dSmrg
700f3561b8bSmrg# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
701f3561b8bSmrg# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
702f3561b8bSmrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
703f3561b8bSmrg# NOTE: Changes made to this file will be lost: look at ltmain.sh.
704f3561b8bSmrg#
705f3561b8bSmrg_LT_COPYING
706f3561b8bSmrg_LT_LIBTOOL_TAGS
707f3561b8bSmrg
708f3561b8bSmrg# ### BEGIN LIBTOOL CONFIG
709f3561b8bSmrg_LT_LIBTOOL_CONFIG_VARS
710f3561b8bSmrg_LT_LIBTOOL_TAG_VARS
711f3561b8bSmrg# ### END LIBTOOL CONFIG
712f3561b8bSmrg
713f3561b8bSmrg_LT_EOF
714f3561b8bSmrg
715f3561b8bSmrg  case $host_os in
716f3561b8bSmrg  aix3*)
717f3561b8bSmrg    cat <<\_LT_EOF >> "$cfgfile"
718f3561b8bSmrg# AIX sometimes has problems with the GCC collect2 program.  For some
719f3561b8bSmrg# reason, if we set the COLLECT_NAMES environment variable, the problems
720f3561b8bSmrg# vanish in a puff of smoke.
721f3561b8bSmrgif test "X${COLLECT_NAMES+set}" != Xset; then
722f3561b8bSmrg  COLLECT_NAMES=
723f3561b8bSmrg  export COLLECT_NAMES
724fc5a983dSmrgfi
725f3561b8bSmrg_LT_EOF
726f3561b8bSmrg    ;;
727f3561b8bSmrg  esac
728fc5a983dSmrg
729f3561b8bSmrg  _LT_PROG_LTMAIN
730fc5a983dSmrg
731f3561b8bSmrg  # We use sed instead of cat because bash on DJGPP gets confused if
732f3561b8bSmrg  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
733f3561b8bSmrg  # text mode, it properly converts lines to CR/LF.  This bash problem
734f3561b8bSmrg  # is reportedly fixed, but why not run on old versions too?
735f3561b8bSmrg  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
736f3561b8bSmrg    || (rm -f "$cfgfile"; exit 1)
737f3561b8bSmrg
738f3561b8bSmrg  _LT_PROG_XSI_SHELLFNS
739f3561b8bSmrg
740f3561b8bSmrg  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
741f3561b8bSmrg    || (rm -f "$cfgfile"; exit 1)
742f3561b8bSmrg
743f3561b8bSmrg  mv -f "$cfgfile" "$ofile" ||
744f3561b8bSmrg    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
745f3561b8bSmrg  chmod +x "$ofile"
746f3561b8bSmrg],
747f3561b8bSmrg[cat <<_LT_EOF >> "$ofile"
748f3561b8bSmrg
749f3561b8bSmrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
750f3561b8bSmrgdnl in a comment (ie after a #).
751f3561b8bSmrg# ### BEGIN LIBTOOL TAG CONFIG: $1
752f3561b8bSmrg_LT_LIBTOOL_TAG_VARS(_LT_TAG)
753f3561b8bSmrg# ### END LIBTOOL TAG CONFIG: $1
754f3561b8bSmrg_LT_EOF
755f3561b8bSmrg])dnl /m4_if
756f3561b8bSmrg],
757f3561b8bSmrg[m4_if([$1], [], [
758f3561b8bSmrg    PACKAGE='$PACKAGE'
759f3561b8bSmrg    VERSION='$VERSION'
760f3561b8bSmrg    TIMESTAMP='$TIMESTAMP'
761f3561b8bSmrg    RM='$RM'
762f3561b8bSmrg    ofile='$ofile'], [])
763f3561b8bSmrg])dnl /_LT_CONFIG_SAVE_COMMANDS
764f3561b8bSmrg])# _LT_CONFIG
765f3561b8bSmrg
766f3561b8bSmrg
767f3561b8bSmrg# LT_SUPPORTED_TAG(TAG)
768f3561b8bSmrg# ---------------------
769f3561b8bSmrg# Trace this macro to discover what tags are supported by the libtool
770f3561b8bSmrg# --tag option, using:
771f3561b8bSmrg#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
772f3561b8bSmrgAC_DEFUN([LT_SUPPORTED_TAG], [])
773f3561b8bSmrg
774f3561b8bSmrg
775f3561b8bSmrg# C support is built-in for now
776f3561b8bSmrgm4_define([_LT_LANG_C_enabled], [])
777f3561b8bSmrgm4_define([_LT_TAGS], [])
778f3561b8bSmrg
779f3561b8bSmrg
780f3561b8bSmrg# LT_LANG(LANG)
781f3561b8bSmrg# -------------
782f3561b8bSmrg# Enable libtool support for the given language if not already enabled.
783f3561b8bSmrgAC_DEFUN([LT_LANG],
784f3561b8bSmrg[AC_BEFORE([$0], [LT_OUTPUT])dnl
785f3561b8bSmrgm4_case([$1],
786f3561b8bSmrg  [C],			[_LT_LANG(C)],
787f3561b8bSmrg  [C++],		[_LT_LANG(CXX)],
788f3561b8bSmrg  [Java],		[_LT_LANG(GCJ)],
789f3561b8bSmrg  [Fortran 77],		[_LT_LANG(F77)],
790f3561b8bSmrg  [Fortran],		[_LT_LANG(FC)],
791f3561b8bSmrg  [Windows Resource],	[_LT_LANG(RC)],
792f3561b8bSmrg  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
793f3561b8bSmrg    [_LT_LANG($1)],
794f3561b8bSmrg    [m4_fatal([$0: unsupported language: "$1"])])])dnl
795f3561b8bSmrg])# LT_LANG
796f3561b8bSmrg
797f3561b8bSmrg
798f3561b8bSmrg# _LT_LANG(LANGNAME)
799f3561b8bSmrg# ------------------
800f3561b8bSmrgm4_defun([_LT_LANG],
801f3561b8bSmrg[m4_ifdef([_LT_LANG_]$1[_enabled], [],
802f3561b8bSmrg  [LT_SUPPORTED_TAG([$1])dnl
803f3561b8bSmrg  m4_append([_LT_TAGS], [$1 ])dnl
804f3561b8bSmrg  m4_define([_LT_LANG_]$1[_enabled], [])dnl
805f3561b8bSmrg  _LT_LANG_$1_CONFIG($1)])dnl
806f3561b8bSmrg])# _LT_LANG
807f3561b8bSmrg
808f3561b8bSmrg
809f3561b8bSmrg# _LT_LANG_DEFAULT_CONFIG
810f3561b8bSmrg# -----------------------
811f3561b8bSmrgm4_defun([_LT_LANG_DEFAULT_CONFIG],
812f3561b8bSmrg[AC_PROVIDE_IFELSE([AC_PROG_CXX],
813f3561b8bSmrg  [LT_LANG(CXX)],
814f3561b8bSmrg  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
815f3561b8bSmrg
816f3561b8bSmrgAC_PROVIDE_IFELSE([AC_PROG_F77],
817f3561b8bSmrg  [LT_LANG(F77)],
818f3561b8bSmrg  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
819f3561b8bSmrg
820f3561b8bSmrgAC_PROVIDE_IFELSE([AC_PROG_FC],
821f3561b8bSmrg  [LT_LANG(FC)],
822f3561b8bSmrg  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
823f3561b8bSmrg
824f3561b8bSmrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
825f3561b8bSmrgdnl pulling things in needlessly.
826f3561b8bSmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ],
827f3561b8bSmrg  [LT_LANG(GCJ)],
828f3561b8bSmrg  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
829f3561b8bSmrg    [LT_LANG(GCJ)],
830f3561b8bSmrg    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
831f3561b8bSmrg      [LT_LANG(GCJ)],
832f3561b8bSmrg      [m4_ifdef([AC_PROG_GCJ],
833f3561b8bSmrg	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
834f3561b8bSmrg       m4_ifdef([A][M_PROG_GCJ],
835f3561b8bSmrg	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
836f3561b8bSmrg       m4_ifdef([LT_PROG_GCJ],
837f3561b8bSmrg	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
838f3561b8bSmrg
839f3561b8bSmrgAC_PROVIDE_IFELSE([LT_PROG_RC],
840f3561b8bSmrg  [LT_LANG(RC)],
841f3561b8bSmrg  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
842f3561b8bSmrg])# _LT_LANG_DEFAULT_CONFIG
843f3561b8bSmrg
844f3561b8bSmrg# Obsolete macros:
845f3561b8bSmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
846f3561b8bSmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
847f3561b8bSmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
848f3561b8bSmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
849f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
850f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
851f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_F77], [])
852f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_FC], [])
853f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
854f3561b8bSmrg
855f3561b8bSmrg
856f3561b8bSmrg# _LT_TAG_COMPILER
857f3561b8bSmrg# ----------------
858f3561b8bSmrgm4_defun([_LT_TAG_COMPILER],
859fc5a983dSmrg[AC_REQUIRE([AC_PROG_CC])dnl
860fc5a983dSmrg
861f3561b8bSmrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
862f3561b8bSmrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
863f3561b8bSmrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
864f3561b8bSmrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
865f3561b8bSmrg
866fc5a983dSmrg# If no C compiler was specified, use CC.
867fc5a983dSmrgLTCC=${LTCC-"$CC"}
868fc5a983dSmrg
869fc5a983dSmrg# If no C compiler flags were specified, use CFLAGS.
870fc5a983dSmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
871fc5a983dSmrg
872fc5a983dSmrg# Allow CC to be a program name with arguments.
873fc5a983dSmrgcompiler=$CC
874f3561b8bSmrg])# _LT_TAG_COMPILER
875fc5a983dSmrg
876fc5a983dSmrg
877fc5a983dSmrg# _LT_COMPILER_BOILERPLATE
878fc5a983dSmrg# ------------------------
879fc5a983dSmrg# Check for compiler boilerplate output or warnings with
880fc5a983dSmrg# the simple compiler test code.
881f3561b8bSmrgm4_defun([_LT_COMPILER_BOILERPLATE],
882f3561b8bSmrg[m4_require([_LT_DECL_SED])dnl
883fc5a983dSmrgac_outfile=conftest.$ac_objext
884fc5a983dSmrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext
885fc5a983dSmrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
886fc5a983dSmrg_lt_compiler_boilerplate=`cat conftest.err`
887f3561b8bSmrg$RM conftest*
888fc5a983dSmrg])# _LT_COMPILER_BOILERPLATE
889fc5a983dSmrg
890fc5a983dSmrg
891fc5a983dSmrg# _LT_LINKER_BOILERPLATE
892fc5a983dSmrg# ----------------------
893fc5a983dSmrg# Check for linker boilerplate output or warnings with
894fc5a983dSmrg# the simple link test code.
895f3561b8bSmrgm4_defun([_LT_LINKER_BOILERPLATE],
896f3561b8bSmrg[m4_require([_LT_DECL_SED])dnl
897fc5a983dSmrgac_outfile=conftest.$ac_objext
898fc5a983dSmrgecho "$lt_simple_link_test_code" >conftest.$ac_ext
899fc5a983dSmrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
900fc5a983dSmrg_lt_linker_boilerplate=`cat conftest.err`
901f3561b8bSmrg$RM -r conftest*
902fc5a983dSmrg])# _LT_LINKER_BOILERPLATE
903fc5a983dSmrg
904fc5a983dSmrg# _LT_REQUIRED_DARWIN_CHECKS
905f3561b8bSmrg# -------------------------
906f3561b8bSmrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
907fc5a983dSmrg  case $host_os in
908fc5a983dSmrg    rhapsody* | darwin*)
909fc5a983dSmrg    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
910fc5a983dSmrg    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
911f3561b8bSmrg    AC_CHECK_TOOL([LIPO], [lipo], [:])
912f3561b8bSmrg    AC_CHECK_TOOL([OTOOL], [otool], [:])
913f3561b8bSmrg    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
914f3561b8bSmrg    _LT_DECL([], [DSYMUTIL], [1],
915f3561b8bSmrg      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
916f3561b8bSmrg    _LT_DECL([], [NMEDIT], [1],
917f3561b8bSmrg      [Tool to change global to local symbols on Mac OS X])
918f3561b8bSmrg    _LT_DECL([], [LIPO], [1],
919f3561b8bSmrg      [Tool to manipulate fat objects and archives on Mac OS X])
920f3561b8bSmrg    _LT_DECL([], [OTOOL], [1],
921f3561b8bSmrg      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
922f3561b8bSmrg    _LT_DECL([], [OTOOL64], [1],
923f3561b8bSmrg      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
924fc5a983dSmrg
925fc5a983dSmrg    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
926fc5a983dSmrg      [lt_cv_apple_cc_single_mod=no
927fc5a983dSmrg      if test -z "${LT_MULTI_MODULE}"; then
928f3561b8bSmrg	# By default we will add the -single_module flag. You can override
929f3561b8bSmrg	# by either setting the environment variable LT_MULTI_MODULE
930f3561b8bSmrg	# non-empty at configure time, or by adding -multi_module to the
931f3561b8bSmrg	# link flags.
932f3561b8bSmrg	rm -rf libconftest.dylib*
933f3561b8bSmrg	echo "int foo(void){return 1;}" > conftest.c
934f3561b8bSmrg	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
935f3561b8bSmrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
936f3561b8bSmrg	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
937f3561b8bSmrg	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
938f3561b8bSmrg        _lt_result=$?
939f3561b8bSmrg	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
940f3561b8bSmrg	  lt_cv_apple_cc_single_mod=yes
941f3561b8bSmrg	else
942f3561b8bSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
943f3561b8bSmrg	fi
944f3561b8bSmrg	rm -rf libconftest.dylib*
945f3561b8bSmrg	rm -f conftest.*
946fc5a983dSmrg      fi])
947fc5a983dSmrg    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
948fc5a983dSmrg      [lt_cv_ld_exported_symbols_list],
949fc5a983dSmrg      [lt_cv_ld_exported_symbols_list=no
950fc5a983dSmrg      save_LDFLAGS=$LDFLAGS
951fc5a983dSmrg      echo "_main" > conftest.sym
952fc5a983dSmrg      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
953fc5a983dSmrg      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
954f3561b8bSmrg	[lt_cv_ld_exported_symbols_list=yes],
955f3561b8bSmrg	[lt_cv_ld_exported_symbols_list=no])
956f3561b8bSmrg	LDFLAGS="$save_LDFLAGS"
957fc5a983dSmrg    ])
958fc5a983dSmrg    case $host_os in
959f3561b8bSmrg    rhapsody* | darwin1.[[012]])
960fc5a983dSmrg      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
961fc5a983dSmrg    darwin1.*)
962f3561b8bSmrg      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
963f3561b8bSmrg    darwin*) # darwin 5.x on
964fc5a983dSmrg      # if running on 10.5 or later, the deployment target defaults
965fc5a983dSmrg      # to the OS version, if on x86, and 10.4, the deployment
966fc5a983dSmrg      # target defaults to 10.4. Don't you love it?
967fc5a983dSmrg      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
968f3561b8bSmrg	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
969f3561b8bSmrg	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
970f3561b8bSmrg	10.[[012]]*)
971f3561b8bSmrg	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
972f3561b8bSmrg	10.*)
973f3561b8bSmrg	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
974fc5a983dSmrg      esac
975fc5a983dSmrg    ;;
976fc5a983dSmrg  esac
977fc5a983dSmrg    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
978fc5a983dSmrg      _lt_dar_single_mod='$single_module'
979fc5a983dSmrg    fi
980fc5a983dSmrg    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
981fc5a983dSmrg      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
982fc5a983dSmrg    else
983f3561b8bSmrg      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
984fc5a983dSmrg    fi
985fc5a983dSmrg    if test "$DSYMUTIL" != ":"; then
986f3561b8bSmrg      _lt_dsymutil='~$DSYMUTIL $lib || :'
987fc5a983dSmrg    else
988fc5a983dSmrg      _lt_dsymutil=
989fc5a983dSmrg    fi
990fc5a983dSmrg    ;;
991fc5a983dSmrg  esac
992fc5a983dSmrg])
993fc5a983dSmrg
994f3561b8bSmrg
995f3561b8bSmrg# _LT_DARWIN_LINKER_FEATURES
996f3561b8bSmrg# --------------------------
997f3561b8bSmrg# Checks for linker and compiler features on darwin
998f3561b8bSmrgm4_defun([_LT_DARWIN_LINKER_FEATURES],
999f3561b8bSmrg[
1000f3561b8bSmrg  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1001f3561b8bSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1002f3561b8bSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
1003f3561b8bSmrg  _LT_TAGVAR(hardcode_automatic, $1)=yes
1004f3561b8bSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1005f3561b8bSmrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1006f3561b8bSmrg  _LT_TAGVAR(link_all_deplibs, $1)=yes
1007f3561b8bSmrg  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1008f3561b8bSmrg  case $cc_basename in
1009f3561b8bSmrg     ifort*) _lt_dar_can_shared=yes ;;
1010f3561b8bSmrg     *) _lt_dar_can_shared=$GCC ;;
1011f3561b8bSmrg  esac
1012f3561b8bSmrg  if test "$_lt_dar_can_shared" = "yes"; then
1013f3561b8bSmrg    output_verbose_link_cmd=echo
1014f3561b8bSmrg    _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}"
1015f3561b8bSmrg    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1016f3561b8bSmrg    _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}"
1017f3561b8bSmrg    _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}"
1018f3561b8bSmrg    m4_if([$1], [CXX],
1019f3561b8bSmrg[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1020f3561b8bSmrg      _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}"
1021f3561b8bSmrg      _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}"
1022f3561b8bSmrg    fi
1023f3561b8bSmrg],[])
1024f3561b8bSmrg  else
1025f3561b8bSmrg  _LT_TAGVAR(ld_shlibs, $1)=no
1026f3561b8bSmrg  fi
1027f3561b8bSmrg])
1028f3561b8bSmrg
1029f3561b8bSmrg# _LT_SYS_MODULE_PATH_AIX
1030f3561b8bSmrg# -----------------------
1031f3561b8bSmrg# Links a minimal program and checks the executable
1032f3561b8bSmrg# for the system default hardcoded library path. In most cases,
1033fc5a983dSmrg# this is /usr/lib:/lib, but when the MPI compilers are used
1034fc5a983dSmrg# the location of the communication and MPI libs are included too.
1035fc5a983dSmrg# If we don't find anything, use the default library path according
1036fc5a983dSmrg# to the aix ld manual.
1037f3561b8bSmrgm4_defun([_LT_SYS_MODULE_PATH_AIX],
1038f3561b8bSmrg[m4_require([_LT_DECL_SED])dnl
1039fc5a983dSmrgAC_LINK_IFELSE(AC_LANG_PROGRAM,[
1040fc5a983dSmrglt_aix_libpath_sed='
1041fc5a983dSmrg    /Import File Strings/,/^$/ {
1042fc5a983dSmrg	/^0/ {
1043fc5a983dSmrg	    s/^0  *\(.*\)$/\1/
1044fc5a983dSmrg	    p
1045fc5a983dSmrg	}
1046fc5a983dSmrg    }'
1047fc5a983dSmrgaix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1048fc5a983dSmrg# Check for a 64-bit object if we didn't find anything.
1049fc5a983dSmrgif test -z "$aix_libpath"; then
1050fc5a983dSmrg  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1051fc5a983dSmrgfi],[])
1052fc5a983dSmrgif test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1053f3561b8bSmrg])# _LT_SYS_MODULE_PATH_AIX
1054fc5a983dSmrg
1055fc5a983dSmrg
1056f3561b8bSmrg# _LT_SHELL_INIT(ARG)
1057f3561b8bSmrg# -------------------
1058f3561b8bSmrgm4_define([_LT_SHELL_INIT],
1059fc5a983dSmrg[ifdef([AC_DIVERSION_NOTICE],
1060fc5a983dSmrg	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1061fc5a983dSmrg	 [AC_DIVERT_PUSH(NOTICE)])
1062fc5a983dSmrg$1
1063fc5a983dSmrgAC_DIVERT_POP
1064f3561b8bSmrg])# _LT_SHELL_INIT
1065fc5a983dSmrg
1066fc5a983dSmrg
1067f3561b8bSmrg# _LT_PROG_ECHO_BACKSLASH
1068f3561b8bSmrg# -----------------------
1069fc5a983dSmrg# Add some code to the start of the generated configure script which
1070fc5a983dSmrg# will find an echo command which doesn't interpret backslashes.
1071f3561b8bSmrgm4_defun([_LT_PROG_ECHO_BACKSLASH],
1072f3561b8bSmrg[_LT_SHELL_INIT([
1073fc5a983dSmrg# Check that we are running under the correct shell.
1074fc5a983dSmrgSHELL=${CONFIG_SHELL-/bin/sh}
1075fc5a983dSmrg
1076f3561b8bSmrgcase X$lt_ECHO in
1077fc5a983dSmrgX*--fallback-echo)
1078fc5a983dSmrg  # Remove one level of quotation (which was required for Make).
1079f3561b8bSmrg  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1080fc5a983dSmrg  ;;
1081fc5a983dSmrgesac
1082fc5a983dSmrg
1083f3561b8bSmrgECHO=${lt_ECHO-echo}
1084fc5a983dSmrgif test "X[$]1" = X--no-reexec; then
1085fc5a983dSmrg  # Discard the --no-reexec flag, and continue.
1086fc5a983dSmrg  shift
1087fc5a983dSmrgelif test "X[$]1" = X--fallback-echo; then
1088fc5a983dSmrg  # Avoid inline document here, it may be left over
1089fc5a983dSmrg  :
1090f3561b8bSmrgelif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1091f3561b8bSmrg  # Yippee, $ECHO works!
1092fc5a983dSmrg  :
1093fc5a983dSmrgelse
1094fc5a983dSmrg  # Restart under the correct shell.
1095fc5a983dSmrg  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1096fc5a983dSmrgfi
1097fc5a983dSmrg
1098fc5a983dSmrgif test "X[$]1" = X--fallback-echo; then
1099fc5a983dSmrg  # used as fallback echo
1100fc5a983dSmrg  shift
1101f3561b8bSmrg  cat <<_LT_EOF
1102fc5a983dSmrg[$]*
1103f3561b8bSmrg_LT_EOF
1104fc5a983dSmrg  exit 0
1105fc5a983dSmrgfi
1106fc5a983dSmrg
1107fc5a983dSmrg# The HP-UX ksh and POSIX shell print the target directory to stdout
1108fc5a983dSmrg# if CDPATH is set.
1109fc5a983dSmrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1110fc5a983dSmrg
1111f3561b8bSmrgif test -z "$lt_ECHO"; then
1112f3561b8bSmrg  if test "X${echo_test_string+set}" != Xset; then
1113f3561b8bSmrg    # find a string as large as possible, as long as the shell can cope with it
1114f3561b8bSmrg    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1115f3561b8bSmrg      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1116f3561b8bSmrg      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1117f3561b8bSmrg	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1118f3561b8bSmrg      then
1119f3561b8bSmrg        break
1120f3561b8bSmrg      fi
1121f3561b8bSmrg    done
1122f3561b8bSmrg  fi
1123fc5a983dSmrg
1124f3561b8bSmrg  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1125f3561b8bSmrg     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1126f3561b8bSmrg     test "X$echo_testing_string" = "X$echo_test_string"; then
1127f3561b8bSmrg    :
1128f3561b8bSmrg  else
1129f3561b8bSmrg    # The Solaris, AIX, and Digital Unix default echo programs unquote
1130f3561b8bSmrg    # backslashes.  This makes it impossible to quote backslashes using
1131f3561b8bSmrg    #   echo "$something" | sed 's/\\/\\\\/g'
1132f3561b8bSmrg    #
1133f3561b8bSmrg    # So, first we look for a working echo in the user's PATH.
1134fc5a983dSmrg
1135f3561b8bSmrg    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1136f3561b8bSmrg    for dir in $PATH /usr/ucb; do
1137f3561b8bSmrg      IFS="$lt_save_ifs"
1138f3561b8bSmrg      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1139f3561b8bSmrg         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1140f3561b8bSmrg         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1141f3561b8bSmrg         test "X$echo_testing_string" = "X$echo_test_string"; then
1142f3561b8bSmrg        ECHO="$dir/echo"
1143f3561b8bSmrg        break
1144f3561b8bSmrg      fi
1145f3561b8bSmrg    done
1146fc5a983dSmrg    IFS="$lt_save_ifs"
1147fc5a983dSmrg
1148f3561b8bSmrg    if test "X$ECHO" = Xecho; then
1149f3561b8bSmrg      # We didn't find a better echo, so look for alternatives.
1150f3561b8bSmrg      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1151f3561b8bSmrg         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1152f3561b8bSmrg         test "X$echo_testing_string" = "X$echo_test_string"; then
1153f3561b8bSmrg        # This shell has a builtin print -r that does the trick.
1154f3561b8bSmrg        ECHO='print -r'
1155f3561b8bSmrg      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1156f3561b8bSmrg	   test "X$CONFIG_SHELL" != X/bin/ksh; then
1157f3561b8bSmrg        # If we have ksh, try running configure again with it.
1158f3561b8bSmrg        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1159f3561b8bSmrg        export ORIGINAL_CONFIG_SHELL
1160f3561b8bSmrg        CONFIG_SHELL=/bin/ksh
1161f3561b8bSmrg        export CONFIG_SHELL
1162f3561b8bSmrg        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1163fc5a983dSmrg      else
1164f3561b8bSmrg        # Try using printf.
1165f3561b8bSmrg        ECHO='printf %s\n'
1166f3561b8bSmrg        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1167f3561b8bSmrg	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1168f3561b8bSmrg	   test "X$echo_testing_string" = "X$echo_test_string"; then
1169f3561b8bSmrg	  # Cool, printf works
1170f3561b8bSmrg	  :
1171f3561b8bSmrg        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1172f3561b8bSmrg	     test "X$echo_testing_string" = 'X\t' &&
1173f3561b8bSmrg	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1174f3561b8bSmrg	     test "X$echo_testing_string" = "X$echo_test_string"; then
1175f3561b8bSmrg	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1176f3561b8bSmrg	  export CONFIG_SHELL
1177f3561b8bSmrg	  SHELL="$CONFIG_SHELL"
1178f3561b8bSmrg	  export SHELL
1179f3561b8bSmrg	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1180f3561b8bSmrg        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1181f3561b8bSmrg	     test "X$echo_testing_string" = 'X\t' &&
1182f3561b8bSmrg	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1183f3561b8bSmrg	     test "X$echo_testing_string" = "X$echo_test_string"; then
1184f3561b8bSmrg	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1185f3561b8bSmrg        else
1186f3561b8bSmrg	  # maybe with a smaller string...
1187f3561b8bSmrg	  prev=:
1188fc5a983dSmrg
1189f3561b8bSmrg	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1190f3561b8bSmrg	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1191f3561b8bSmrg	    then
1192f3561b8bSmrg	      break
1193f3561b8bSmrg	    fi
1194f3561b8bSmrg	    prev="$cmd"
1195f3561b8bSmrg	  done
1196fc5a983dSmrg
1197f3561b8bSmrg	  if test "$prev" != 'sed 50q "[$]0"'; then
1198f3561b8bSmrg	    echo_test_string=`eval $prev`
1199f3561b8bSmrg	    export echo_test_string
1200f3561b8bSmrg	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1201f3561b8bSmrg	  else
1202f3561b8bSmrg	    # Oops.  We lost completely, so just stick with echo.
1203f3561b8bSmrg	    ECHO=echo
1204f3561b8bSmrg	  fi
1205f3561b8bSmrg        fi
1206fc5a983dSmrg      fi
1207fc5a983dSmrg    fi
1208fc5a983dSmrg  fi
1209fc5a983dSmrgfi
1210fc5a983dSmrg
1211fc5a983dSmrg# Copy echo and quote the copy suitably for passing to libtool from
1212fc5a983dSmrg# the Makefile, instead of quoting the original, which is used later.
1213f3561b8bSmrglt_ECHO=$ECHO
1214f3561b8bSmrgif test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1215f3561b8bSmrg   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1216fc5a983dSmrgfi
1217fc5a983dSmrg
1218f3561b8bSmrgAC_SUBST(lt_ECHO)
1219f3561b8bSmrg])
1220f3561b8bSmrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1221f3561b8bSmrg_LT_DECL([], [ECHO], [1],
1222f3561b8bSmrg    [An echo program that does not interpret backslashes])
1223f3561b8bSmrg])# _LT_PROG_ECHO_BACKSLASH
1224fc5a983dSmrg
1225fc5a983dSmrg
1226f3561b8bSmrg# _LT_ENABLE_LOCK
1227f3561b8bSmrg# ---------------
1228f3561b8bSmrgm4_defun([_LT_ENABLE_LOCK],
1229fc5a983dSmrg[AC_ARG_ENABLE([libtool-lock],
1230f3561b8bSmrg  [AS_HELP_STRING([--disable-libtool-lock],
1231f3561b8bSmrg    [avoid locking (might break parallel builds)])])
1232fc5a983dSmrgtest "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1233fc5a983dSmrg
1234fc5a983dSmrg# Some flags need to be propagated to the compiler or linker for good
1235fc5a983dSmrg# libtool support.
1236fc5a983dSmrgcase $host in
1237fc5a983dSmrgia64-*-hpux*)
1238fc5a983dSmrg  # Find out which ABI we are using.
1239fc5a983dSmrg  echo 'int i;' > conftest.$ac_ext
1240fc5a983dSmrg  if AC_TRY_EVAL(ac_compile); then
1241fc5a983dSmrg    case `/usr/bin/file conftest.$ac_objext` in
1242f3561b8bSmrg      *ELF-32*)
1243f3561b8bSmrg	HPUX_IA64_MODE="32"
1244f3561b8bSmrg	;;
1245f3561b8bSmrg      *ELF-64*)
1246f3561b8bSmrg	HPUX_IA64_MODE="64"
1247f3561b8bSmrg	;;
1248fc5a983dSmrg    esac
1249fc5a983dSmrg  fi
1250fc5a983dSmrg  rm -rf conftest*
1251fc5a983dSmrg  ;;
1252fc5a983dSmrg*-*-irix6*)
1253fc5a983dSmrg  # Find out which ABI we are using.
1254fc5a983dSmrg  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1255fc5a983dSmrg  if AC_TRY_EVAL(ac_compile); then
1256f3561b8bSmrg    if test "$lt_cv_prog_gnu_ld" = yes; then
1257f3561b8bSmrg      case `/usr/bin/file conftest.$ac_objext` in
1258f3561b8bSmrg	*32-bit*)
1259f3561b8bSmrg	  LD="${LD-ld} -melf32bsmip"
1260f3561b8bSmrg	  ;;
1261f3561b8bSmrg	*N32*)
1262f3561b8bSmrg	  LD="${LD-ld} -melf32bmipn32"
1263f3561b8bSmrg	  ;;
1264f3561b8bSmrg	*64-bit*)
1265f3561b8bSmrg	  LD="${LD-ld} -melf64bmip"
1266f3561b8bSmrg	;;
1267f3561b8bSmrg      esac
1268f3561b8bSmrg    else
1269f3561b8bSmrg      case `/usr/bin/file conftest.$ac_objext` in
1270f3561b8bSmrg	*32-bit*)
1271f3561b8bSmrg	  LD="${LD-ld} -32"
1272f3561b8bSmrg	  ;;
1273f3561b8bSmrg	*N32*)
1274f3561b8bSmrg	  LD="${LD-ld} -n32"
1275f3561b8bSmrg	  ;;
1276f3561b8bSmrg	*64-bit*)
1277f3561b8bSmrg	  LD="${LD-ld} -64"
1278f3561b8bSmrg	  ;;
1279f3561b8bSmrg      esac
1280f3561b8bSmrg    fi
1281fc5a983dSmrg  fi
1282fc5a983dSmrg  rm -rf conftest*
1283fc5a983dSmrg  ;;
1284fc5a983dSmrg
1285fc5a983dSmrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1286f3561b8bSmrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1287fc5a983dSmrg  # Find out which ABI we are using.
1288fc5a983dSmrg  echo 'int i;' > conftest.$ac_ext
1289fc5a983dSmrg  if AC_TRY_EVAL(ac_compile); then
1290fc5a983dSmrg    case `/usr/bin/file conftest.o` in
1291f3561b8bSmrg      *32-bit*)
1292f3561b8bSmrg	case $host in
1293f3561b8bSmrg	  x86_64-*kfreebsd*-gnu)
1294f3561b8bSmrg	    LD="${LD-ld} -m elf_i386_fbsd"
1295f3561b8bSmrg	    ;;
1296f3561b8bSmrg	  x86_64-*linux*)
1297f3561b8bSmrg	    LD="${LD-ld} -m elf_i386"
1298f3561b8bSmrg	    ;;
1299f3561b8bSmrg	  ppc64-*linux*|powerpc64-*linux*)
1300f3561b8bSmrg	    LD="${LD-ld} -m elf32ppclinux"
1301f3561b8bSmrg	    ;;
1302f3561b8bSmrg	  s390x-*linux*)
1303f3561b8bSmrg	    LD="${LD-ld} -m elf_s390"
1304f3561b8bSmrg	    ;;
1305f3561b8bSmrg	  sparc64-*linux*)
1306f3561b8bSmrg	    LD="${LD-ld} -m elf32_sparc"
1307f3561b8bSmrg	    ;;
1308f3561b8bSmrg	esac
1309f3561b8bSmrg	;;
1310f3561b8bSmrg      *64-bit*)
1311f3561b8bSmrg	case $host in
1312f3561b8bSmrg	  x86_64-*kfreebsd*-gnu)
1313f3561b8bSmrg	    LD="${LD-ld} -m elf_x86_64_fbsd"
1314f3561b8bSmrg	    ;;
1315f3561b8bSmrg	  x86_64-*linux*)
1316f3561b8bSmrg	    LD="${LD-ld} -m elf_x86_64"
1317f3561b8bSmrg	    ;;
1318f3561b8bSmrg	  ppc*-*linux*|powerpc*-*linux*)
1319f3561b8bSmrg	    LD="${LD-ld} -m elf64ppc"
1320f3561b8bSmrg	    ;;
1321f3561b8bSmrg	  s390*-*linux*|s390*-*tpf*)
1322f3561b8bSmrg	    LD="${LD-ld} -m elf64_s390"
1323f3561b8bSmrg	    ;;
1324f3561b8bSmrg	  sparc*-*linux*)
1325f3561b8bSmrg	    LD="${LD-ld} -m elf64_sparc"
1326f3561b8bSmrg	    ;;
1327f3561b8bSmrg	esac
1328f3561b8bSmrg	;;
1329fc5a983dSmrg    esac
1330fc5a983dSmrg  fi
1331fc5a983dSmrg  rm -rf conftest*
1332fc5a983dSmrg  ;;
1333fc5a983dSmrg
1334fc5a983dSmrg*-*-sco3.2v5*)
1335fc5a983dSmrg  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1336fc5a983dSmrg  SAVE_CFLAGS="$CFLAGS"
1337fc5a983dSmrg  CFLAGS="$CFLAGS -belf"
1338fc5a983dSmrg  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1339fc5a983dSmrg    [AC_LANG_PUSH(C)
1340f3561b8bSmrg     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1341fc5a983dSmrg     AC_LANG_POP])
1342fc5a983dSmrg  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1343fc5a983dSmrg    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1344fc5a983dSmrg    CFLAGS="$SAVE_CFLAGS"
1345fc5a983dSmrg  fi
1346fc5a983dSmrg  ;;
1347fc5a983dSmrgsparc*-*solaris*)
1348fc5a983dSmrg  # Find out which ABI we are using.
1349fc5a983dSmrg  echo 'int i;' > conftest.$ac_ext
1350fc5a983dSmrg  if AC_TRY_EVAL(ac_compile); then
1351fc5a983dSmrg    case `/usr/bin/file conftest.o` in
1352fc5a983dSmrg    *64-bit*)
1353fc5a983dSmrg      case $lt_cv_prog_gnu_ld in
1354fc5a983dSmrg      yes*) LD="${LD-ld} -m elf64_sparc" ;;
1355fc5a983dSmrg      *)
1356f3561b8bSmrg	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1357fc5a983dSmrg	  LD="${LD-ld} -64"
1358fc5a983dSmrg	fi
1359fc5a983dSmrg	;;
1360fc5a983dSmrg      esac
1361fc5a983dSmrg      ;;
1362fc5a983dSmrg    esac
1363fc5a983dSmrg  fi
1364fc5a983dSmrg  rm -rf conftest*
1365fc5a983dSmrg  ;;
1366fc5a983dSmrgesac
1367fc5a983dSmrg
1368fc5a983dSmrgneed_locks="$enable_libtool_lock"
1369f3561b8bSmrg])# _LT_ENABLE_LOCK
1370f3561b8bSmrg
1371f3561b8bSmrg
1372f3561b8bSmrg# _LT_CMD_OLD_ARCHIVE
1373f3561b8bSmrg# -------------------
1374f3561b8bSmrgm4_defun([_LT_CMD_OLD_ARCHIVE],
1375f3561b8bSmrg[AC_CHECK_TOOL(AR, ar, false)
1376f3561b8bSmrgtest -z "$AR" && AR=ar
1377f3561b8bSmrgtest -z "$AR_FLAGS" && AR_FLAGS=cru
1378f3561b8bSmrg_LT_DECL([], [AR], [1], [The archiver])
1379f3561b8bSmrg_LT_DECL([], [AR_FLAGS], [1])
1380f3561b8bSmrg
1381f3561b8bSmrgAC_CHECK_TOOL(STRIP, strip, :)
1382f3561b8bSmrgtest -z "$STRIP" && STRIP=:
1383f3561b8bSmrg_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1384f3561b8bSmrg
1385f3561b8bSmrgAC_CHECK_TOOL(RANLIB, ranlib, :)
1386f3561b8bSmrgtest -z "$RANLIB" && RANLIB=:
1387f3561b8bSmrg_LT_DECL([], [RANLIB], [1],
1388f3561b8bSmrg    [Commands used to install an old-style archive])
1389f3561b8bSmrg
1390f3561b8bSmrg# Determine commands to create old-style static archives.
1391f3561b8bSmrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1392f3561b8bSmrgold_postinstall_cmds='chmod 644 $oldlib'
1393f3561b8bSmrgold_postuninstall_cmds=
1394fc5a983dSmrg
1395f3561b8bSmrgif test -n "$RANLIB"; then
1396f3561b8bSmrg  case $host_os in
1397f3561b8bSmrg  openbsd*)
1398f3561b8bSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1399f3561b8bSmrg    ;;
1400f3561b8bSmrg  *)
1401f3561b8bSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1402f3561b8bSmrg    ;;
1403f3561b8bSmrg  esac
1404f3561b8bSmrg  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1405f3561b8bSmrgfi
1406f3561b8bSmrg_LT_DECL([], [old_postinstall_cmds], [2])
1407f3561b8bSmrg_LT_DECL([], [old_postuninstall_cmds], [2])
1408f3561b8bSmrg_LT_TAGDECL([], [old_archive_cmds], [2],
1409f3561b8bSmrg    [Commands used to build an old-style archive])
1410f3561b8bSmrg])# _LT_CMD_OLD_ARCHIVE
1411fc5a983dSmrg
1412fc5a983dSmrg
1413f3561b8bSmrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1414fc5a983dSmrg#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1415fc5a983dSmrg# ----------------------------------------------------------------
1416fc5a983dSmrg# Check whether the given compiler option works
1417f3561b8bSmrgAC_DEFUN([_LT_COMPILER_OPTION],
1418f3561b8bSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1419f3561b8bSmrgm4_require([_LT_DECL_SED])dnl
1420fc5a983dSmrgAC_CACHE_CHECK([$1], [$2],
1421fc5a983dSmrg  [$2=no
1422f3561b8bSmrg   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1423fc5a983dSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1424fc5a983dSmrg   lt_compiler_flag="$3"
1425fc5a983dSmrg   # Insert the option either (1) after the last *FLAGS variable, or
1426fc5a983dSmrg   # (2) before a word containing "conftest.", or (3) at the end.
1427fc5a983dSmrg   # Note that $ac_compile itself does not contain backslashes and begins
1428fc5a983dSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
1429fc5a983dSmrg   # The option is referenced via a variable to avoid confusing sed.
1430fc5a983dSmrg   lt_compile=`echo "$ac_compile" | $SED \
1431fc5a983dSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1432fc5a983dSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1433fc5a983dSmrg   -e 's:$: $lt_compiler_flag:'`
1434fc5a983dSmrg   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1435fc5a983dSmrg   (eval "$lt_compile" 2>conftest.err)
1436fc5a983dSmrg   ac_status=$?
1437fc5a983dSmrg   cat conftest.err >&AS_MESSAGE_LOG_FD
1438fc5a983dSmrg   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1439fc5a983dSmrg   if (exit $ac_status) && test -s "$ac_outfile"; then
1440fc5a983dSmrg     # The compiler can only warn and ignore the option if not recognized
1441fc5a983dSmrg     # So say no if there are warnings other than the usual output.
1442f3561b8bSmrg     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
1443fc5a983dSmrg     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1444fc5a983dSmrg     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1445fc5a983dSmrg       $2=yes
1446fc5a983dSmrg     fi
1447fc5a983dSmrg   fi
1448f3561b8bSmrg   $RM conftest*
1449fc5a983dSmrg])
1450fc5a983dSmrg
1451fc5a983dSmrgif test x"[$]$2" = xyes; then
1452f3561b8bSmrg    m4_if([$5], , :, [$5])
1453fc5a983dSmrgelse
1454f3561b8bSmrg    m4_if([$6], , :, [$6])
1455fc5a983dSmrgfi
1456f3561b8bSmrg])# _LT_COMPILER_OPTION
1457fc5a983dSmrg
1458f3561b8bSmrg# Old name:
1459f3561b8bSmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1460f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
1461f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1462fc5a983dSmrg
1463f3561b8bSmrg
1464f3561b8bSmrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1465f3561b8bSmrg#                  [ACTION-SUCCESS], [ACTION-FAILURE])
1466f3561b8bSmrg# ----------------------------------------------------
1467f3561b8bSmrg# Check whether the given linker option works
1468f3561b8bSmrgAC_DEFUN([_LT_LINKER_OPTION],
1469f3561b8bSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1470f3561b8bSmrgm4_require([_LT_DECL_SED])dnl
1471fc5a983dSmrgAC_CACHE_CHECK([$1], [$2],
1472fc5a983dSmrg  [$2=no
1473fc5a983dSmrg   save_LDFLAGS="$LDFLAGS"
1474fc5a983dSmrg   LDFLAGS="$LDFLAGS $3"
1475fc5a983dSmrg   echo "$lt_simple_link_test_code" > conftest.$ac_ext
1476fc5a983dSmrg   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1477fc5a983dSmrg     # The linker can only warn and ignore the option if not recognized
1478fc5a983dSmrg     # So say no if there are warnings
1479fc5a983dSmrg     if test -s conftest.err; then
1480fc5a983dSmrg       # Append any errors to the config.log.
1481fc5a983dSmrg       cat conftest.err 1>&AS_MESSAGE_LOG_FD
1482f3561b8bSmrg       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
1483fc5a983dSmrg       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1484fc5a983dSmrg       if diff conftest.exp conftest.er2 >/dev/null; then
1485fc5a983dSmrg         $2=yes
1486fc5a983dSmrg       fi
1487fc5a983dSmrg     else
1488fc5a983dSmrg       $2=yes
1489fc5a983dSmrg     fi
1490fc5a983dSmrg   fi
1491f3561b8bSmrg   $RM -r conftest*
1492fc5a983dSmrg   LDFLAGS="$save_LDFLAGS"
1493fc5a983dSmrg])
1494fc5a983dSmrg
1495fc5a983dSmrgif test x"[$]$2" = xyes; then
1496f3561b8bSmrg    m4_if([$4], , :, [$4])
1497fc5a983dSmrgelse
1498f3561b8bSmrg    m4_if([$5], , :, [$5])
1499fc5a983dSmrgfi
1500f3561b8bSmrg])# _LT_LINKER_OPTION
1501fc5a983dSmrg
1502f3561b8bSmrg# Old name:
1503f3561b8bSmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1504f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
1505f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1506fc5a983dSmrg
1507f3561b8bSmrg
1508f3561b8bSmrg# LT_CMD_MAX_LEN
1509f3561b8bSmrg#---------------
1510f3561b8bSmrgAC_DEFUN([LT_CMD_MAX_LEN],
1511f3561b8bSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1512f3561b8bSmrg# find the maximum length of command line arguments
1513fc5a983dSmrgAC_MSG_CHECKING([the maximum length of command line arguments])
1514fc5a983dSmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1515fc5a983dSmrg  i=0
1516fc5a983dSmrg  teststring="ABCD"
1517fc5a983dSmrg
1518fc5a983dSmrg  case $build_os in
1519fc5a983dSmrg  msdosdjgpp*)
1520fc5a983dSmrg    # On DJGPP, this test can blow up pretty badly due to problems in libc
1521fc5a983dSmrg    # (any single argument exceeding 2000 bytes causes a buffer overrun
1522fc5a983dSmrg    # during glob expansion).  Even if it were fixed, the result of this
1523fc5a983dSmrg    # check would be larger than it should be.
1524fc5a983dSmrg    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
1525fc5a983dSmrg    ;;
1526fc5a983dSmrg
1527fc5a983dSmrg  gnu*)
1528fc5a983dSmrg    # Under GNU Hurd, this test is not required because there is
1529fc5a983dSmrg    # no limit to the length of command line arguments.
1530fc5a983dSmrg    # Libtool will interpret -1 as no limit whatsoever
1531fc5a983dSmrg    lt_cv_sys_max_cmd_len=-1;
1532fc5a983dSmrg    ;;
1533fc5a983dSmrg
1534f3561b8bSmrg  cygwin* | mingw* | cegcc*)
1535fc5a983dSmrg    # On Win9x/ME, this test blows up -- it succeeds, but takes
1536fc5a983dSmrg    # about 5 minutes as the teststring grows exponentially.
1537fc5a983dSmrg    # Worse, since 9x/ME are not pre-emptively multitasking,
1538fc5a983dSmrg    # you end up with a "frozen" computer, even though with patience
1539fc5a983dSmrg    # the test eventually succeeds (with a max line length of 256k).
1540fc5a983dSmrg    # Instead, let's just punt: use the minimum linelength reported by
1541fc5a983dSmrg    # all of the supported platforms: 8192 (on NT/2K/XP).
1542fc5a983dSmrg    lt_cv_sys_max_cmd_len=8192;
1543fc5a983dSmrg    ;;
1544fc5a983dSmrg
1545fc5a983dSmrg  amigaos*)
1546fc5a983dSmrg    # On AmigaOS with pdksh, this test takes hours, literally.
1547fc5a983dSmrg    # So we just punt and use a minimum line length of 8192.
1548fc5a983dSmrg    lt_cv_sys_max_cmd_len=8192;
1549fc5a983dSmrg    ;;
1550fc5a983dSmrg
1551fc5a983dSmrg  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1552fc5a983dSmrg    # This has been around since 386BSD, at least.  Likely further.
1553fc5a983dSmrg    if test -x /sbin/sysctl; then
1554fc5a983dSmrg      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1555fc5a983dSmrg    elif test -x /usr/sbin/sysctl; then
1556fc5a983dSmrg      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1557fc5a983dSmrg    else
1558fc5a983dSmrg      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
1559fc5a983dSmrg    fi
1560fc5a983dSmrg    # And add a safety zone
1561fc5a983dSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1562fc5a983dSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1563fc5a983dSmrg    ;;
1564fc5a983dSmrg
1565fc5a983dSmrg  interix*)
1566fc5a983dSmrg    # We know the value 262144 and hardcode it with a safety zone (like BSD)
1567fc5a983dSmrg    lt_cv_sys_max_cmd_len=196608
1568fc5a983dSmrg    ;;
1569fc5a983dSmrg
1570fc5a983dSmrg  osf*)
1571fc5a983dSmrg    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1572fc5a983dSmrg    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1573fc5a983dSmrg    # nice to cause kernel panics so lets avoid the loop below.
1574fc5a983dSmrg    # First set a reasonable default.
1575fc5a983dSmrg    lt_cv_sys_max_cmd_len=16384
1576fc5a983dSmrg    #
1577fc5a983dSmrg    if test -x /sbin/sysconfig; then
1578fc5a983dSmrg      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1579fc5a983dSmrg        *1*) lt_cv_sys_max_cmd_len=-1 ;;
1580fc5a983dSmrg      esac
1581fc5a983dSmrg    fi
1582fc5a983dSmrg    ;;
1583fc5a983dSmrg  sco3.2v5*)
1584fc5a983dSmrg    lt_cv_sys_max_cmd_len=102400
1585fc5a983dSmrg    ;;
1586fc5a983dSmrg  sysv5* | sco5v6* | sysv4.2uw2*)
1587fc5a983dSmrg    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1588fc5a983dSmrg    if test -n "$kargmax"; then
1589f3561b8bSmrg      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
1590fc5a983dSmrg    else
1591fc5a983dSmrg      lt_cv_sys_max_cmd_len=32768
1592fc5a983dSmrg    fi
1593fc5a983dSmrg    ;;
1594fc5a983dSmrg  *)
1595fc5a983dSmrg    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1596fc5a983dSmrg    if test -n "$lt_cv_sys_max_cmd_len"; then
1597fc5a983dSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1598fc5a983dSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1599fc5a983dSmrg    else
1600f3561b8bSmrg      # Make teststring a little bigger before we do anything with it.
1601f3561b8bSmrg      # a 1K string should be a reasonable start.
1602f3561b8bSmrg      for i in 1 2 3 4 5 6 7 8 ; do
1603f3561b8bSmrg        teststring=$teststring$teststring
1604f3561b8bSmrg      done
1605fc5a983dSmrg      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1606f3561b8bSmrg      # If test is not a shell built-in, we'll probably end up computing a
1607f3561b8bSmrg      # maximum length that is only half of the actual maximum length, but
1608f3561b8bSmrg      # we can't tell.
1609f3561b8bSmrg      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1610f3561b8bSmrg	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
1611fc5a983dSmrg	      test $i != 17 # 1/2 MB should be enough
1612fc5a983dSmrg      do
1613fc5a983dSmrg        i=`expr $i + 1`
1614fc5a983dSmrg        teststring=$teststring$teststring
1615fc5a983dSmrg      done
1616f3561b8bSmrg      # Only check the string length outside the loop.
1617f3561b8bSmrg      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1618fc5a983dSmrg      teststring=
1619f3561b8bSmrg      # Add a significant safety factor because C++ compilers can tack on
1620f3561b8bSmrg      # massive amounts of additional arguments before passing them to the
1621f3561b8bSmrg      # linker.  It appears as though 1/2 is a usable value.
1622fc5a983dSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1623fc5a983dSmrg    fi
1624fc5a983dSmrg    ;;
1625fc5a983dSmrg  esac
1626fc5a983dSmrg])
1627fc5a983dSmrgif test -n $lt_cv_sys_max_cmd_len ; then
1628fc5a983dSmrg  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1629fc5a983dSmrgelse
1630fc5a983dSmrg  AC_MSG_RESULT(none)
1631fc5a983dSmrgfi
1632f3561b8bSmrgmax_cmd_len=$lt_cv_sys_max_cmd_len
1633f3561b8bSmrg_LT_DECL([], [max_cmd_len], [0],
1634f3561b8bSmrg    [What is the maximum length of a command?])
1635f3561b8bSmrg])# LT_CMD_MAX_LEN
1636fc5a983dSmrg
1637f3561b8bSmrg# Old name:
1638f3561b8bSmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1639f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
1640f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1641fc5a983dSmrg
1642f3561b8bSmrg
1643f3561b8bSmrg# _LT_HEADER_DLFCN
1644f3561b8bSmrg# ----------------
1645f3561b8bSmrgm4_defun([_LT_HEADER_DLFCN],
1646f3561b8bSmrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1647f3561b8bSmrg])# _LT_HEADER_DLFCN
1648fc5a983dSmrg
1649fc5a983dSmrg
1650f3561b8bSmrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1651f3561b8bSmrg#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1652f3561b8bSmrg# ----------------------------------------------------------------
1653f3561b8bSmrgm4_defun([_LT_TRY_DLOPEN_SELF],
1654f3561b8bSmrg[m4_require([_LT_HEADER_DLFCN])dnl
1655fc5a983dSmrgif test "$cross_compiling" = yes; then :
1656fc5a983dSmrg  [$4]
1657fc5a983dSmrgelse
1658fc5a983dSmrg  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1659fc5a983dSmrg  lt_status=$lt_dlunknown
1660f3561b8bSmrg  cat > conftest.$ac_ext <<_LT_EOF
1661fc5a983dSmrg[#line __oline__ "configure"
1662fc5a983dSmrg#include "confdefs.h"
1663fc5a983dSmrg
1664fc5a983dSmrg#if HAVE_DLFCN_H
1665fc5a983dSmrg#include <dlfcn.h>
1666fc5a983dSmrg#endif
1667fc5a983dSmrg
1668fc5a983dSmrg#include <stdio.h>
1669fc5a983dSmrg
1670fc5a983dSmrg#ifdef RTLD_GLOBAL
1671fc5a983dSmrg#  define LT_DLGLOBAL		RTLD_GLOBAL
1672fc5a983dSmrg#else
1673fc5a983dSmrg#  ifdef DL_GLOBAL
1674fc5a983dSmrg#    define LT_DLGLOBAL		DL_GLOBAL
1675fc5a983dSmrg#  else
1676fc5a983dSmrg#    define LT_DLGLOBAL		0
1677fc5a983dSmrg#  endif
1678fc5a983dSmrg#endif
1679fc5a983dSmrg
1680fc5a983dSmrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1681fc5a983dSmrg   find out it does not work in some platform. */
1682fc5a983dSmrg#ifndef LT_DLLAZY_OR_NOW
1683fc5a983dSmrg#  ifdef RTLD_LAZY
1684fc5a983dSmrg#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
1685fc5a983dSmrg#  else
1686fc5a983dSmrg#    ifdef DL_LAZY
1687fc5a983dSmrg#      define LT_DLLAZY_OR_NOW		DL_LAZY
1688fc5a983dSmrg#    else
1689fc5a983dSmrg#      ifdef RTLD_NOW
1690fc5a983dSmrg#        define LT_DLLAZY_OR_NOW	RTLD_NOW
1691fc5a983dSmrg#      else
1692fc5a983dSmrg#        ifdef DL_NOW
1693fc5a983dSmrg#          define LT_DLLAZY_OR_NOW	DL_NOW
1694fc5a983dSmrg#        else
1695fc5a983dSmrg#          define LT_DLLAZY_OR_NOW	0
1696fc5a983dSmrg#        endif
1697fc5a983dSmrg#      endif
1698fc5a983dSmrg#    endif
1699fc5a983dSmrg#  endif
1700fc5a983dSmrg#endif
1701fc5a983dSmrg
1702fc5a983dSmrgvoid fnord() { int i=42;}
1703fc5a983dSmrgint main ()
1704fc5a983dSmrg{
1705fc5a983dSmrg  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1706fc5a983dSmrg  int status = $lt_dlunknown;
1707fc5a983dSmrg
1708fc5a983dSmrg  if (self)
1709fc5a983dSmrg    {
1710fc5a983dSmrg      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
1711fc5a983dSmrg      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1712fc5a983dSmrg      /* dlclose (self); */
1713fc5a983dSmrg    }
1714fc5a983dSmrg  else
1715fc5a983dSmrg    puts (dlerror ());
1716fc5a983dSmrg
1717f3561b8bSmrg  return status;
1718fc5a983dSmrg}]
1719f3561b8bSmrg_LT_EOF
1720fc5a983dSmrg  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1721fc5a983dSmrg    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1722fc5a983dSmrg    lt_status=$?
1723fc5a983dSmrg    case x$lt_status in
1724fc5a983dSmrg      x$lt_dlno_uscore) $1 ;;
1725fc5a983dSmrg      x$lt_dlneed_uscore) $2 ;;
1726fc5a983dSmrg      x$lt_dlunknown|x*) $3 ;;
1727fc5a983dSmrg    esac
1728fc5a983dSmrg  else :
1729fc5a983dSmrg    # compilation failed
1730fc5a983dSmrg    $3
1731fc5a983dSmrg  fi
1732fc5a983dSmrgfi
1733fc5a983dSmrgrm -fr conftest*
1734f3561b8bSmrg])# _LT_TRY_DLOPEN_SELF
1735fc5a983dSmrg
1736fc5a983dSmrg
1737f3561b8bSmrg# LT_SYS_DLOPEN_SELF
1738f3561b8bSmrg# ------------------
1739f3561b8bSmrgAC_DEFUN([LT_SYS_DLOPEN_SELF],
1740f3561b8bSmrg[m4_require([_LT_HEADER_DLFCN])dnl
1741fc5a983dSmrgif test "x$enable_dlopen" != xyes; then
1742fc5a983dSmrg  enable_dlopen=unknown
1743fc5a983dSmrg  enable_dlopen_self=unknown
1744fc5a983dSmrg  enable_dlopen_self_static=unknown
1745fc5a983dSmrgelse
1746fc5a983dSmrg  lt_cv_dlopen=no
1747fc5a983dSmrg  lt_cv_dlopen_libs=
1748fc5a983dSmrg
1749fc5a983dSmrg  case $host_os in
1750fc5a983dSmrg  beos*)
1751fc5a983dSmrg    lt_cv_dlopen="load_add_on"
1752fc5a983dSmrg    lt_cv_dlopen_libs=
1753fc5a983dSmrg    lt_cv_dlopen_self=yes
1754fc5a983dSmrg    ;;
1755fc5a983dSmrg
1756f3561b8bSmrg  mingw* | pw32* | cegcc*)
1757fc5a983dSmrg    lt_cv_dlopen="LoadLibrary"
1758fc5a983dSmrg    lt_cv_dlopen_libs=
1759f3561b8bSmrg    ;;
1760fc5a983dSmrg
1761fc5a983dSmrg  cygwin*)
1762fc5a983dSmrg    lt_cv_dlopen="dlopen"
1763fc5a983dSmrg    lt_cv_dlopen_libs=
1764f3561b8bSmrg    ;;
1765fc5a983dSmrg
1766fc5a983dSmrg  darwin*)
1767fc5a983dSmrg  # if libdl is installed we need to link against it
1768fc5a983dSmrg    AC_CHECK_LIB([dl], [dlopen],
1769fc5a983dSmrg		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1770fc5a983dSmrg    lt_cv_dlopen="dyld"
1771fc5a983dSmrg    lt_cv_dlopen_libs=
1772fc5a983dSmrg    lt_cv_dlopen_self=yes
1773fc5a983dSmrg    ])
1774f3561b8bSmrg    ;;
1775fc5a983dSmrg
1776fc5a983dSmrg  *)
1777fc5a983dSmrg    AC_CHECK_FUNC([shl_load],
1778fc5a983dSmrg	  [lt_cv_dlopen="shl_load"],
1779fc5a983dSmrg      [AC_CHECK_LIB([dld], [shl_load],
1780fc5a983dSmrg	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1781fc5a983dSmrg	[AC_CHECK_FUNC([dlopen],
1782fc5a983dSmrg	      [lt_cv_dlopen="dlopen"],
1783fc5a983dSmrg	  [AC_CHECK_LIB([dl], [dlopen],
1784fc5a983dSmrg		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1785fc5a983dSmrg	    [AC_CHECK_LIB([svld], [dlopen],
1786fc5a983dSmrg		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1787fc5a983dSmrg	      [AC_CHECK_LIB([dld], [dld_link],
1788fc5a983dSmrg		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1789fc5a983dSmrg	      ])
1790fc5a983dSmrg	    ])
1791fc5a983dSmrg	  ])
1792fc5a983dSmrg	])
1793fc5a983dSmrg      ])
1794fc5a983dSmrg    ;;
1795fc5a983dSmrg  esac
1796fc5a983dSmrg
1797fc5a983dSmrg  if test "x$lt_cv_dlopen" != xno; then
1798fc5a983dSmrg    enable_dlopen=yes
1799fc5a983dSmrg  else
1800fc5a983dSmrg    enable_dlopen=no
1801fc5a983dSmrg  fi
1802fc5a983dSmrg
1803fc5a983dSmrg  case $lt_cv_dlopen in
1804fc5a983dSmrg  dlopen)
1805fc5a983dSmrg    save_CPPFLAGS="$CPPFLAGS"
1806fc5a983dSmrg    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1807fc5a983dSmrg
1808fc5a983dSmrg    save_LDFLAGS="$LDFLAGS"
1809fc5a983dSmrg    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1810fc5a983dSmrg
1811fc5a983dSmrg    save_LIBS="$LIBS"
1812fc5a983dSmrg    LIBS="$lt_cv_dlopen_libs $LIBS"
1813fc5a983dSmrg
1814fc5a983dSmrg    AC_CACHE_CHECK([whether a program can dlopen itself],
1815fc5a983dSmrg	  lt_cv_dlopen_self, [dnl
1816f3561b8bSmrg	  _LT_TRY_DLOPEN_SELF(
1817fc5a983dSmrg	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1818fc5a983dSmrg	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1819fc5a983dSmrg    ])
1820fc5a983dSmrg
1821fc5a983dSmrg    if test "x$lt_cv_dlopen_self" = xyes; then
1822fc5a983dSmrg      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1823fc5a983dSmrg      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1824f3561b8bSmrg	  lt_cv_dlopen_self_static, [dnl
1825f3561b8bSmrg	  _LT_TRY_DLOPEN_SELF(
1826fc5a983dSmrg	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1827fc5a983dSmrg	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
1828fc5a983dSmrg      ])
1829fc5a983dSmrg    fi
1830fc5a983dSmrg
1831fc5a983dSmrg    CPPFLAGS="$save_CPPFLAGS"
1832fc5a983dSmrg    LDFLAGS="$save_LDFLAGS"
1833fc5a983dSmrg    LIBS="$save_LIBS"
1834fc5a983dSmrg    ;;
1835fc5a983dSmrg  esac
1836fc5a983dSmrg
1837fc5a983dSmrg  case $lt_cv_dlopen_self in
1838fc5a983dSmrg  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1839fc5a983dSmrg  *) enable_dlopen_self=unknown ;;
1840fc5a983dSmrg  esac
1841fc5a983dSmrg
1842fc5a983dSmrg  case $lt_cv_dlopen_self_static in
1843fc5a983dSmrg  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1844fc5a983dSmrg  *) enable_dlopen_self_static=unknown ;;
1845fc5a983dSmrg  esac
1846fc5a983dSmrgfi
1847f3561b8bSmrg_LT_DECL([dlopen_support], [enable_dlopen], [0],
1848f3561b8bSmrg	 [Whether dlopen is supported])
1849f3561b8bSmrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1850f3561b8bSmrg	 [Whether dlopen of programs is supported])
1851f3561b8bSmrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1852f3561b8bSmrg	 [Whether dlopen of statically linked programs is supported])
1853f3561b8bSmrg])# LT_SYS_DLOPEN_SELF
1854fc5a983dSmrg
1855f3561b8bSmrg# Old name:
1856f3561b8bSmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1857f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
1858f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1859fc5a983dSmrg
1860f3561b8bSmrg
1861f3561b8bSmrg# _LT_COMPILER_C_O([TAGNAME])
1862f3561b8bSmrg# ---------------------------
1863f3561b8bSmrg# Check to see if options -c and -o are simultaneously supported by compiler.
1864f3561b8bSmrg# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1865f3561b8bSmrgm4_defun([_LT_COMPILER_C_O],
1866f3561b8bSmrg[m4_require([_LT_DECL_SED])dnl
1867f3561b8bSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
1868f3561b8bSmrgm4_require([_LT_TAG_COMPILER])dnl
1869fc5a983dSmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1870f3561b8bSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1871f3561b8bSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1872f3561b8bSmrg   $RM -r conftest 2>/dev/null
1873fc5a983dSmrg   mkdir conftest
1874fc5a983dSmrg   cd conftest
1875fc5a983dSmrg   mkdir out
1876fc5a983dSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1877fc5a983dSmrg
1878fc5a983dSmrg   lt_compiler_flag="-o out/conftest2.$ac_objext"
1879fc5a983dSmrg   # Insert the option either (1) after the last *FLAGS variable, or
1880fc5a983dSmrg   # (2) before a word containing "conftest.", or (3) at the end.
1881fc5a983dSmrg   # Note that $ac_compile itself does not contain backslashes and begins
1882fc5a983dSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
1883fc5a983dSmrg   lt_compile=`echo "$ac_compile" | $SED \
1884fc5a983dSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1885fc5a983dSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1886fc5a983dSmrg   -e 's:$: $lt_compiler_flag:'`
1887fc5a983dSmrg   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1888fc5a983dSmrg   (eval "$lt_compile" 2>out/conftest.err)
1889fc5a983dSmrg   ac_status=$?
1890fc5a983dSmrg   cat out/conftest.err >&AS_MESSAGE_LOG_FD
1891fc5a983dSmrg   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1892fc5a983dSmrg   if (exit $ac_status) && test -s out/conftest2.$ac_objext
1893fc5a983dSmrg   then
1894fc5a983dSmrg     # The compiler can only warn and ignore the option if not recognized
1895fc5a983dSmrg     # So say no if there are warnings
1896f3561b8bSmrg     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
1897fc5a983dSmrg     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1898fc5a983dSmrg     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1899f3561b8bSmrg       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
1900fc5a983dSmrg     fi
1901fc5a983dSmrg   fi
1902fc5a983dSmrg   chmod u+w . 2>&AS_MESSAGE_LOG_FD
1903f3561b8bSmrg   $RM conftest*
1904fc5a983dSmrg   # SGI C++ compiler will create directory out/ii_files/ for
1905fc5a983dSmrg   # template instantiation
1906f3561b8bSmrg   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1907f3561b8bSmrg   $RM out/* && rmdir out
1908fc5a983dSmrg   cd ..
1909f3561b8bSmrg   $RM -r conftest
1910f3561b8bSmrg   $RM conftest*
1911fc5a983dSmrg])
1912f3561b8bSmrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1913f3561b8bSmrg	[Does compiler simultaneously support -c and -o options?])
1914f3561b8bSmrg])# _LT_COMPILER_C_O
1915fc5a983dSmrg
1916fc5a983dSmrg
1917f3561b8bSmrg# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1918f3561b8bSmrg# ----------------------------------
1919fc5a983dSmrg# Check to see if we can do hard links to lock some files if needed
1920f3561b8bSmrgm4_defun([_LT_COMPILER_FILE_LOCKS],
1921f3561b8bSmrg[m4_require([_LT_ENABLE_LOCK])dnl
1922f3561b8bSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
1923f3561b8bSmrg_LT_COMPILER_C_O([$1])
1924fc5a983dSmrg
1925fc5a983dSmrghard_links="nottested"
1926f3561b8bSmrgif test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
1927fc5a983dSmrg  # do not overwrite the value of need_locks provided by the user
1928fc5a983dSmrg  AC_MSG_CHECKING([if we can lock with hard links])
1929fc5a983dSmrg  hard_links=yes
1930f3561b8bSmrg  $RM conftest*
1931fc5a983dSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
1932fc5a983dSmrg  touch conftest.a
1933fc5a983dSmrg  ln conftest.a conftest.b 2>&5 || hard_links=no
1934fc5a983dSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
1935fc5a983dSmrg  AC_MSG_RESULT([$hard_links])
1936fc5a983dSmrg  if test "$hard_links" = no; then
1937fc5a983dSmrg    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1938fc5a983dSmrg    need_locks=warn
1939fc5a983dSmrg  fi
1940fc5a983dSmrgelse
1941fc5a983dSmrg  need_locks=no
1942fc5a983dSmrgfi
1943f3561b8bSmrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1944f3561b8bSmrg])# _LT_COMPILER_FILE_LOCKS
1945fc5a983dSmrg
1946fc5a983dSmrg
1947f3561b8bSmrg# _LT_CHECK_OBJDIR
1948f3561b8bSmrg# ----------------
1949f3561b8bSmrgm4_defun([_LT_CHECK_OBJDIR],
1950fc5a983dSmrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1951fc5a983dSmrg[rm -f .libs 2>/dev/null
1952fc5a983dSmrgmkdir .libs 2>/dev/null
1953fc5a983dSmrgif test -d .libs; then
1954fc5a983dSmrg  lt_cv_objdir=.libs
1955fc5a983dSmrgelse
1956fc5a983dSmrg  # MS-DOS does not allow filenames that begin with a dot.
1957fc5a983dSmrg  lt_cv_objdir=_libs
1958fc5a983dSmrgfi
1959fc5a983dSmrgrmdir .libs 2>/dev/null])
1960fc5a983dSmrgobjdir=$lt_cv_objdir
1961f3561b8bSmrg_LT_DECL([], [objdir], [0],
1962f3561b8bSmrg         [The name of the directory that contains temporary libtool files])dnl
1963f3561b8bSmrgm4_pattern_allow([LT_OBJDIR])dnl
1964f3561b8bSmrgAC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1965f3561b8bSmrg  [Define to the sub-directory in which libtool stores uninstalled libraries.])
1966f3561b8bSmrg])# _LT_CHECK_OBJDIR
1967fc5a983dSmrg
1968fc5a983dSmrg
1969f3561b8bSmrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
1970f3561b8bSmrg# --------------------------------------
1971fc5a983dSmrg# Check hardcoding attributes.
1972f3561b8bSmrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
1973fc5a983dSmrg[AC_MSG_CHECKING([how to hardcode library paths into programs])
1974f3561b8bSmrg_LT_TAGVAR(hardcode_action, $1)=
1975f3561b8bSmrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
1976f3561b8bSmrg   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
1977f3561b8bSmrg   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
1978fc5a983dSmrg
1979f3561b8bSmrg  # We can hardcode non-existent directories.
1980f3561b8bSmrg  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
1981fc5a983dSmrg     # If the only mechanism to avoid hardcoding is shlibpath_var, we
1982fc5a983dSmrg     # have to relink, otherwise we might link with an installed library
1983fc5a983dSmrg     # when we should be linking with a yet-to-be-installed one
1984f3561b8bSmrg     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1985f3561b8bSmrg     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
1986fc5a983dSmrg    # Linking always hardcodes the temporary library directory.
1987f3561b8bSmrg    _LT_TAGVAR(hardcode_action, $1)=relink
1988fc5a983dSmrg  else
1989fc5a983dSmrg    # We can link without hardcoding, and we can hardcode nonexisting dirs.
1990f3561b8bSmrg    _LT_TAGVAR(hardcode_action, $1)=immediate
1991fc5a983dSmrg  fi
1992fc5a983dSmrgelse
1993fc5a983dSmrg  # We cannot hardcode anything, or else we can only hardcode existing
1994fc5a983dSmrg  # directories.
1995f3561b8bSmrg  _LT_TAGVAR(hardcode_action, $1)=unsupported
1996fc5a983dSmrgfi
1997f3561b8bSmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
1998fc5a983dSmrg
1999f3561b8bSmrgif test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2000f3561b8bSmrg   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2001fc5a983dSmrg  # Fast installation is not supported
2002fc5a983dSmrg  enable_fast_install=no
2003fc5a983dSmrgelif test "$shlibpath_overrides_runpath" = yes ||
2004fc5a983dSmrg     test "$enable_shared" = no; then
2005fc5a983dSmrg  # Fast installation is not necessary
2006fc5a983dSmrg  enable_fast_install=needless
2007fc5a983dSmrgfi
2008f3561b8bSmrg_LT_TAGDECL([], [hardcode_action], [0],
2009f3561b8bSmrg    [How to hardcode a shared library path into an executable])
2010f3561b8bSmrg])# _LT_LINKER_HARDCODE_LIBPATH
2011fc5a983dSmrg
2012fc5a983dSmrg
2013f3561b8bSmrg# _LT_CMD_STRIPLIB
2014f3561b8bSmrg# ----------------
2015f3561b8bSmrgm4_defun([_LT_CMD_STRIPLIB],
2016f3561b8bSmrg[m4_require([_LT_DECL_EGREP])
2017f3561b8bSmrgstriplib=
2018fc5a983dSmrgold_striplib=
2019fc5a983dSmrgAC_MSG_CHECKING([whether stripping libraries is possible])
2020f3561b8bSmrgif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2021fc5a983dSmrg  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2022fc5a983dSmrg  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2023fc5a983dSmrg  AC_MSG_RESULT([yes])
2024fc5a983dSmrgelse
2025fc5a983dSmrg# FIXME - insert some real tests, host_os isn't really good enough
2026fc5a983dSmrg  case $host_os in
2027f3561b8bSmrg  darwin*)
2028f3561b8bSmrg    if test -n "$STRIP" ; then
2029f3561b8bSmrg      striplib="$STRIP -x"
2030f3561b8bSmrg      old_striplib="$STRIP -S"
2031f3561b8bSmrg      AC_MSG_RESULT([yes])
2032f3561b8bSmrg    else
2033f3561b8bSmrg      AC_MSG_RESULT([no])
2034f3561b8bSmrg    fi
2035f3561b8bSmrg    ;;
2036f3561b8bSmrg  *)
2037f3561b8bSmrg    AC_MSG_RESULT([no])
2038fc5a983dSmrg    ;;
2039fc5a983dSmrg  esac
2040fc5a983dSmrgfi
2041f3561b8bSmrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2042f3561b8bSmrg_LT_DECL([], [striplib], [1])
2043f3561b8bSmrg])# _LT_CMD_STRIPLIB
2044fc5a983dSmrg
2045fc5a983dSmrg
2046f3561b8bSmrg# _LT_SYS_DYNAMIC_LINKER([TAG])
2047fc5a983dSmrg# -----------------------------
2048fc5a983dSmrg# PORTME Fill in your ld.so characteristics
2049f3561b8bSmrgm4_defun([_LT_SYS_DYNAMIC_LINKER],
2050f3561b8bSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2051f3561b8bSmrgm4_require([_LT_DECL_EGREP])dnl
2052f3561b8bSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
2053f3561b8bSmrgm4_require([_LT_DECL_OBJDUMP])dnl
2054f3561b8bSmrgm4_require([_LT_DECL_SED])dnl
2055fc5a983dSmrgAC_MSG_CHECKING([dynamic linker characteristics])
2056f3561b8bSmrgm4_if([$1],
2057f3561b8bSmrg	[], [
2058fc5a983dSmrgif test "$GCC" = yes; then
2059fc5a983dSmrg  case $host_os in
2060fc5a983dSmrg    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2061fc5a983dSmrg    *) lt_awk_arg="/^libraries:/" ;;
2062fc5a983dSmrg  esac
2063fc5a983dSmrg  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2064f3561b8bSmrg  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
2065fc5a983dSmrg    # if the path contains ";" then we assume it to be the separator
2066fc5a983dSmrg    # otherwise default to the standard path separator (i.e. ":") - it is
2067fc5a983dSmrg    # assumed that no part of a normal pathname contains ";" but that should
2068fc5a983dSmrg    # okay in the real world where ";" in dirpaths is itself problematic.
2069f3561b8bSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2070fc5a983dSmrg  else
2071f3561b8bSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
2072fc5a983dSmrg  fi
2073fc5a983dSmrg  # Ok, now we have the path, separated by spaces, we can step through it
2074fc5a983dSmrg  # and add multilib dir if necessary.
2075fc5a983dSmrg  lt_tmp_lt_search_path_spec=
2076fc5a983dSmrg  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2077fc5a983dSmrg  for lt_sys_path in $lt_search_path_spec; do
2078fc5a983dSmrg    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2079fc5a983dSmrg      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2080fc5a983dSmrg    else
2081fc5a983dSmrg      test -d "$lt_sys_path" && \
2082fc5a983dSmrg	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2083fc5a983dSmrg    fi
2084fc5a983dSmrg  done
2085f3561b8bSmrg  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
2086fc5a983dSmrgBEGIN {RS=" "; FS="/|\n";} {
2087fc5a983dSmrg  lt_foo="";
2088fc5a983dSmrg  lt_count=0;
2089fc5a983dSmrg  for (lt_i = NF; lt_i > 0; lt_i--) {
2090fc5a983dSmrg    if ($lt_i != "" && $lt_i != ".") {
2091fc5a983dSmrg      if ($lt_i == "..") {
2092fc5a983dSmrg        lt_count++;
2093fc5a983dSmrg      } else {
2094fc5a983dSmrg        if (lt_count == 0) {
2095fc5a983dSmrg          lt_foo="/" $lt_i lt_foo;
2096fc5a983dSmrg        } else {
2097fc5a983dSmrg          lt_count--;
2098fc5a983dSmrg        }
2099fc5a983dSmrg      }
2100fc5a983dSmrg    }
2101fc5a983dSmrg  }
2102fc5a983dSmrg  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2103fc5a983dSmrg  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2104fc5a983dSmrg}'`
2105f3561b8bSmrg  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
2106fc5a983dSmrgelse
2107fc5a983dSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2108fc5a983dSmrgfi])
2109f3561b8bSmrglibrary_names_spec=
2110f3561b8bSmrglibname_spec='lib$name'
2111f3561b8bSmrgsoname_spec=
2112f3561b8bSmrgshrext_cmds=".so"
2113f3561b8bSmrgpostinstall_cmds=
2114f3561b8bSmrgpostuninstall_cmds=
2115f3561b8bSmrgfinish_cmds=
2116f3561b8bSmrgfinish_eval=
2117f3561b8bSmrgshlibpath_var=
2118f3561b8bSmrgshlibpath_overrides_runpath=unknown
2119f3561b8bSmrgversion_type=none
2120f3561b8bSmrgdynamic_linker="$host_os ld.so"
2121f3561b8bSmrgsys_lib_dlsearch_path_spec="/lib /usr/lib"
2122fc5a983dSmrgneed_lib_prefix=unknown
2123fc5a983dSmrghardcode_into_libs=no
2124fc5a983dSmrg
2125fc5a983dSmrg# when you set need_version to no, make sure it does not cause -set_version
2126fc5a983dSmrg# flags to be left without arguments
2127fc5a983dSmrgneed_version=unknown
2128fc5a983dSmrg
2129fc5a983dSmrgcase $host_os in
2130fc5a983dSmrgaix3*)
2131fc5a983dSmrg  version_type=linux
2132fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2133fc5a983dSmrg  shlibpath_var=LIBPATH
2134fc5a983dSmrg
2135fc5a983dSmrg  # AIX 3 has no versioning support, so we append a major version to the name.
2136fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2137fc5a983dSmrg  ;;
2138fc5a983dSmrg
2139fc5a983dSmrgaix[[4-9]]*)
2140fc5a983dSmrg  version_type=linux
2141fc5a983dSmrg  need_lib_prefix=no
2142fc5a983dSmrg  need_version=no
2143fc5a983dSmrg  hardcode_into_libs=yes
2144fc5a983dSmrg  if test "$host_cpu" = ia64; then
2145fc5a983dSmrg    # AIX 5 supports IA64
2146fc5a983dSmrg    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2147fc5a983dSmrg    shlibpath_var=LD_LIBRARY_PATH
2148fc5a983dSmrg  else
2149fc5a983dSmrg    # With GCC up to 2.95.x, collect2 would create an import file
2150fc5a983dSmrg    # for dependence libraries.  The import file would start with
2151fc5a983dSmrg    # the line `#! .'.  This would cause the generated library to
2152fc5a983dSmrg    # depend on `.', always an invalid library.  This was fixed in
2153fc5a983dSmrg    # development snapshots of GCC prior to 3.0.
2154fc5a983dSmrg    case $host_os in
2155fc5a983dSmrg      aix4 | aix4.[[01]] | aix4.[[01]].*)
2156fc5a983dSmrg      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2157fc5a983dSmrg	   echo ' yes '
2158f3561b8bSmrg	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2159fc5a983dSmrg	:
2160fc5a983dSmrg      else
2161fc5a983dSmrg	can_build_shared=no
2162fc5a983dSmrg      fi
2163fc5a983dSmrg      ;;
2164fc5a983dSmrg    esac
2165fc5a983dSmrg    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2166fc5a983dSmrg    # soname into executable. Probably we can add versioning support to
2167fc5a983dSmrg    # collect2, so additional links can be useful in future.
2168fc5a983dSmrg    if test "$aix_use_runtimelinking" = yes; then
2169fc5a983dSmrg      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2170fc5a983dSmrg      # instead of lib<name>.a to let people know that these are not
2171fc5a983dSmrg      # typical AIX shared libraries.
2172fc5a983dSmrg      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2173fc5a983dSmrg    else
2174fc5a983dSmrg      # We preserve .a as extension for shared libraries through AIX4.2
2175fc5a983dSmrg      # and later when we are not doing run time linking.
2176fc5a983dSmrg      library_names_spec='${libname}${release}.a $libname.a'
2177fc5a983dSmrg      soname_spec='${libname}${release}${shared_ext}$major'
2178fc5a983dSmrg    fi
2179fc5a983dSmrg    shlibpath_var=LIBPATH
2180fc5a983dSmrg  fi
2181fc5a983dSmrg  ;;
2182fc5a983dSmrg
2183fc5a983dSmrgamigaos*)
2184f3561b8bSmrg  case $host_cpu in
2185f3561b8bSmrg  powerpc)
2186f3561b8bSmrg    # Since July 2007 AmigaOS4 officially supports .so libraries.
2187f3561b8bSmrg    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2188f3561b8bSmrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2189f3561b8bSmrg    ;;
2190f3561b8bSmrg  m68k)
2191f3561b8bSmrg    library_names_spec='$libname.ixlibrary $libname.a'
2192f3561b8bSmrg    # Create ${libname}_ixlibrary.a entries in /sys/libs.
2193f3561b8bSmrg    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'
2194f3561b8bSmrg    ;;
2195f3561b8bSmrg  esac
2196fc5a983dSmrg  ;;
2197fc5a983dSmrg
2198fc5a983dSmrgbeos*)
2199fc5a983dSmrg  library_names_spec='${libname}${shared_ext}'
2200fc5a983dSmrg  dynamic_linker="$host_os ld.so"
2201fc5a983dSmrg  shlibpath_var=LIBRARY_PATH
2202fc5a983dSmrg  ;;
2203fc5a983dSmrg
2204fc5a983dSmrgbsdi[[45]]*)
2205fc5a983dSmrg  version_type=linux
2206fc5a983dSmrg  need_version=no
2207fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2208fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2209fc5a983dSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2210fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2211fc5a983dSmrg  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2212fc5a983dSmrg  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2213fc5a983dSmrg  # the default ld.so.conf also contains /usr/contrib/lib and
2214fc5a983dSmrg  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2215fc5a983dSmrg  # libtool to hard-code these into programs
2216fc5a983dSmrg  ;;
2217fc5a983dSmrg
2218f3561b8bSmrgcygwin* | mingw* | pw32* | cegcc*)
2219fc5a983dSmrg  version_type=windows
2220fc5a983dSmrg  shrext_cmds=".dll"
2221fc5a983dSmrg  need_version=no
2222fc5a983dSmrg  need_lib_prefix=no
2223fc5a983dSmrg
2224fc5a983dSmrg  case $GCC,$host_os in
2225f3561b8bSmrg  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
2226fc5a983dSmrg    library_names_spec='$libname.dll.a'
2227fc5a983dSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2228fc5a983dSmrg    postinstall_cmds='base_file=`basename \${file}`~
2229f3561b8bSmrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2230fc5a983dSmrg      dldir=$destdir/`dirname \$dlpath`~
2231fc5a983dSmrg      test -d \$dldir || mkdir -p \$dldir~
2232fc5a983dSmrg      $install_prog $dir/$dlname \$dldir/$dlname~
2233f3561b8bSmrg      chmod a+x \$dldir/$dlname~
2234f3561b8bSmrg      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2235f3561b8bSmrg        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2236f3561b8bSmrg      fi'
2237fc5a983dSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2238fc5a983dSmrg      dlpath=$dir/\$dldll~
2239f3561b8bSmrg       $RM \$dlpath'
2240fc5a983dSmrg    shlibpath_overrides_runpath=yes
2241fc5a983dSmrg
2242fc5a983dSmrg    case $host_os in
2243fc5a983dSmrg    cygwin*)
2244fc5a983dSmrg      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2245fc5a983dSmrg      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2246fc5a983dSmrg      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2247fc5a983dSmrg      ;;
2248f3561b8bSmrg    mingw* | cegcc*)
2249fc5a983dSmrg      # MinGW DLLs use traditional 'lib' prefix
2250fc5a983dSmrg      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2251f3561b8bSmrg      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2252f3561b8bSmrg      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2253fc5a983dSmrg        # It is most probably a Windows format PATH printed by
2254fc5a983dSmrg        # mingw gcc, but we are running on Cygwin. Gcc prints its search
2255fc5a983dSmrg        # path with ; separators, and with drive letters. We can handle the
2256fc5a983dSmrg        # drive letters (cygwin fileutils understands them), so leave them,
2257fc5a983dSmrg        # especially as we might pass files found there to a mingw objdump,
2258fc5a983dSmrg        # which wouldn't understand a cygwinified path. Ahh.
2259f3561b8bSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2260fc5a983dSmrg      else
2261f3561b8bSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
2262fc5a983dSmrg      fi
2263fc5a983dSmrg      ;;
2264fc5a983dSmrg    pw32*)
2265fc5a983dSmrg      # pw32 DLLs use 'pw' prefix rather than 'lib'
2266fc5a983dSmrg      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2267fc5a983dSmrg      ;;
2268fc5a983dSmrg    esac
2269fc5a983dSmrg    ;;
2270fc5a983dSmrg
2271fc5a983dSmrg  *)
2272fc5a983dSmrg    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2273fc5a983dSmrg    ;;
2274fc5a983dSmrg  esac
2275fc5a983dSmrg  dynamic_linker='Win32 ld.exe'
2276fc5a983dSmrg  # FIXME: first we should search . and the directory the executable is in
2277fc5a983dSmrg  shlibpath_var=PATH
2278fc5a983dSmrg  ;;
2279fc5a983dSmrg
2280fc5a983dSmrgdarwin* | rhapsody*)
2281fc5a983dSmrg  dynamic_linker="$host_os dyld"
2282fc5a983dSmrg  version_type=darwin
2283fc5a983dSmrg  need_lib_prefix=no
2284fc5a983dSmrg  need_version=no
2285f3561b8bSmrg  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2286fc5a983dSmrg  soname_spec='${libname}${release}${major}$shared_ext'
2287fc5a983dSmrg  shlibpath_overrides_runpath=yes
2288fc5a983dSmrg  shlibpath_var=DYLD_LIBRARY_PATH
2289fc5a983dSmrg  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2290f3561b8bSmrgm4_if([$1], [],[
2291f3561b8bSmrg  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2292fc5a983dSmrg  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2293fc5a983dSmrg  ;;
2294fc5a983dSmrg
2295fc5a983dSmrgdgux*)
2296fc5a983dSmrg  version_type=linux
2297fc5a983dSmrg  need_lib_prefix=no
2298fc5a983dSmrg  need_version=no
2299fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2300fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2301fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2302fc5a983dSmrg  ;;
2303fc5a983dSmrg
2304fc5a983dSmrgfreebsd1*)
2305fc5a983dSmrg  dynamic_linker=no
2306fc5a983dSmrg  ;;
2307fc5a983dSmrg
2308fc5a983dSmrgfreebsd* | dragonfly*)
2309fc5a983dSmrg  # DragonFly does not have aout.  When/if they implement a new
2310fc5a983dSmrg  # versioning mechanism, adjust this.
2311fc5a983dSmrg  if test -x /usr/bin/objformat; then
2312fc5a983dSmrg    objformat=`/usr/bin/objformat`
2313fc5a983dSmrg  else
2314fc5a983dSmrg    case $host_os in
2315fc5a983dSmrg    freebsd[[123]]*) objformat=aout ;;
2316fc5a983dSmrg    *) objformat=elf ;;
2317fc5a983dSmrg    esac
2318fc5a983dSmrg  fi
2319f3561b8bSmrg  version_type=freebsd-$objformat
2320fc5a983dSmrg  case $version_type in
2321fc5a983dSmrg    freebsd-elf*)
2322fc5a983dSmrg      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2323fc5a983dSmrg      need_version=no
2324fc5a983dSmrg      need_lib_prefix=no
2325fc5a983dSmrg      ;;
2326fc5a983dSmrg    freebsd-*)
2327fc5a983dSmrg      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2328fc5a983dSmrg      need_version=yes
2329fc5a983dSmrg      ;;
2330fc5a983dSmrg  esac
2331fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2332fc5a983dSmrg  case $host_os in
2333fc5a983dSmrg  freebsd2*)
2334fc5a983dSmrg    shlibpath_overrides_runpath=yes
2335fc5a983dSmrg    ;;
2336fc5a983dSmrg  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2337fc5a983dSmrg    shlibpath_overrides_runpath=yes
2338fc5a983dSmrg    hardcode_into_libs=yes
2339fc5a983dSmrg    ;;
2340fc5a983dSmrg  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2341fc5a983dSmrg  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2342fc5a983dSmrg    shlibpath_overrides_runpath=no
2343fc5a983dSmrg    hardcode_into_libs=yes
2344fc5a983dSmrg    ;;
2345fc5a983dSmrg  *) # from 4.6 on, and DragonFly
2346fc5a983dSmrg    shlibpath_overrides_runpath=yes
2347fc5a983dSmrg    hardcode_into_libs=yes
2348fc5a983dSmrg    ;;
2349fc5a983dSmrg  esac
2350fc5a983dSmrg  ;;
2351fc5a983dSmrg
2352fc5a983dSmrggnu*)
2353fc5a983dSmrg  version_type=linux
2354fc5a983dSmrg  need_lib_prefix=no
2355fc5a983dSmrg  need_version=no
2356fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2357fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2358fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2359fc5a983dSmrg  hardcode_into_libs=yes
2360fc5a983dSmrg  ;;
2361fc5a983dSmrg
2362fc5a983dSmrghpux9* | hpux10* | hpux11*)
2363fc5a983dSmrg  # Give a soname corresponding to the major version so that dld.sl refuses to
2364fc5a983dSmrg  # link against other versions.
2365fc5a983dSmrg  version_type=sunos
2366fc5a983dSmrg  need_lib_prefix=no
2367fc5a983dSmrg  need_version=no
2368fc5a983dSmrg  case $host_cpu in
2369fc5a983dSmrg  ia64*)
2370fc5a983dSmrg    shrext_cmds='.so'
2371fc5a983dSmrg    hardcode_into_libs=yes
2372fc5a983dSmrg    dynamic_linker="$host_os dld.so"
2373fc5a983dSmrg    shlibpath_var=LD_LIBRARY_PATH
2374fc5a983dSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2375fc5a983dSmrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2376fc5a983dSmrg    soname_spec='${libname}${release}${shared_ext}$major'
2377fc5a983dSmrg    if test "X$HPUX_IA64_MODE" = X32; then
2378fc5a983dSmrg      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2379fc5a983dSmrg    else
2380fc5a983dSmrg      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2381fc5a983dSmrg    fi
2382fc5a983dSmrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2383fc5a983dSmrg    ;;
2384f3561b8bSmrg  hppa*64*)
2385f3561b8bSmrg    shrext_cmds='.sl'
2386f3561b8bSmrg    hardcode_into_libs=yes
2387f3561b8bSmrg    dynamic_linker="$host_os dld.sl"
2388f3561b8bSmrg    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2389f3561b8bSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2390f3561b8bSmrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2391f3561b8bSmrg    soname_spec='${libname}${release}${shared_ext}$major'
2392f3561b8bSmrg    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2393f3561b8bSmrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2394f3561b8bSmrg    ;;
2395f3561b8bSmrg  *)
2396fc5a983dSmrg    shrext_cmds='.sl'
2397fc5a983dSmrg    dynamic_linker="$host_os dld.sl"
2398fc5a983dSmrg    shlibpath_var=SHLIB_PATH
2399fc5a983dSmrg    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2400fc5a983dSmrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2401fc5a983dSmrg    soname_spec='${libname}${release}${shared_ext}$major'
2402fc5a983dSmrg    ;;
2403fc5a983dSmrg  esac
2404fc5a983dSmrg  # HP-UX runs *really* slowly unless shared libraries are mode 555.
2405fc5a983dSmrg  postinstall_cmds='chmod 555 $lib'
2406fc5a983dSmrg  ;;
2407fc5a983dSmrg
2408fc5a983dSmrginterix[[3-9]]*)
2409fc5a983dSmrg  version_type=linux
2410fc5a983dSmrg  need_lib_prefix=no
2411fc5a983dSmrg  need_version=no
2412fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2413fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2414fc5a983dSmrg  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2415fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2416fc5a983dSmrg  shlibpath_overrides_runpath=no
2417fc5a983dSmrg  hardcode_into_libs=yes
2418fc5a983dSmrg  ;;
2419fc5a983dSmrg
2420fc5a983dSmrgirix5* | irix6* | nonstopux*)
2421fc5a983dSmrg  case $host_os in
2422fc5a983dSmrg    nonstopux*) version_type=nonstopux ;;
2423fc5a983dSmrg    *)
2424fc5a983dSmrg	if test "$lt_cv_prog_gnu_ld" = yes; then
2425fc5a983dSmrg		version_type=linux
2426fc5a983dSmrg	else
2427fc5a983dSmrg		version_type=irix
2428fc5a983dSmrg	fi ;;
2429fc5a983dSmrg  esac
2430fc5a983dSmrg  need_lib_prefix=no
2431fc5a983dSmrg  need_version=no
2432fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2433fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2434fc5a983dSmrg  case $host_os in
2435fc5a983dSmrg  irix5* | nonstopux*)
2436fc5a983dSmrg    libsuff= shlibsuff=
2437fc5a983dSmrg    ;;
2438fc5a983dSmrg  *)
2439fc5a983dSmrg    case $LD in # libtool.m4 will add one of these switches to LD
2440fc5a983dSmrg    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2441fc5a983dSmrg      libsuff= shlibsuff= libmagic=32-bit;;
2442fc5a983dSmrg    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2443fc5a983dSmrg      libsuff=32 shlibsuff=N32 libmagic=N32;;
2444fc5a983dSmrg    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2445fc5a983dSmrg      libsuff=64 shlibsuff=64 libmagic=64-bit;;
2446fc5a983dSmrg    *) libsuff= shlibsuff= libmagic=never-match;;
2447fc5a983dSmrg    esac
2448fc5a983dSmrg    ;;
2449fc5a983dSmrg  esac
2450fc5a983dSmrg  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2451fc5a983dSmrg  shlibpath_overrides_runpath=no
2452fc5a983dSmrg  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2453fc5a983dSmrg  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2454fc5a983dSmrg  hardcode_into_libs=yes
2455fc5a983dSmrg  ;;
2456fc5a983dSmrg
2457fc5a983dSmrg# No shared lib support for Linux oldld, aout, or coff.
2458fc5a983dSmrglinux*oldld* | linux*aout* | linux*coff*)
2459fc5a983dSmrg  dynamic_linker=no
2460fc5a983dSmrg  ;;
2461fc5a983dSmrg
2462fc5a983dSmrg# This must be Linux ELF.
24636086d97eSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu)
2464fc5a983dSmrg  version_type=linux
2465fc5a983dSmrg  need_lib_prefix=no
2466fc5a983dSmrg  need_version=no
2467fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2468fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2469fc5a983dSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2470fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2471fc5a983dSmrg  shlibpath_overrides_runpath=no
2472f3561b8bSmrg  # Some binutils ld are patched to set DT_RUNPATH
2473f3561b8bSmrg  save_LDFLAGS=$LDFLAGS
2474f3561b8bSmrg  save_libdir=$libdir
2475f3561b8bSmrg  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2476f3561b8bSmrg       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2477f3561b8bSmrg  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2478f3561b8bSmrg    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2479f3561b8bSmrg       [shlibpath_overrides_runpath=yes])])
2480f3561b8bSmrg  LDFLAGS=$save_LDFLAGS
2481f3561b8bSmrg  libdir=$save_libdir
2482f3561b8bSmrg
2483fc5a983dSmrg  # This implies no fast_install, which is unacceptable.
2484fc5a983dSmrg  # Some rework will be needed to allow for fast_install
2485fc5a983dSmrg  # before this can be enabled.
2486fc5a983dSmrg  hardcode_into_libs=yes
2487fc5a983dSmrg
2488fc5a983dSmrg  # Append ld.so.conf contents to the search path
2489fc5a983dSmrg  if test -f /etc/ld.so.conf; then
2490f3561b8bSmrg    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' ' '`
2491bd2f6fc9Smrg    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2492fc5a983dSmrg  fi
2493fc5a983dSmrg
2494fc5a983dSmrg  # We used to test for /lib/ld.so.1 and disable shared libraries on
2495fc5a983dSmrg  # powerpc, because MkLinux only supported shared libraries with the
2496fc5a983dSmrg  # GNU dynamic linker.  Since this was broken with cross compilers,
2497fc5a983dSmrg  # most powerpc-linux boxes support dynamic linking these days and
2498fc5a983dSmrg  # people can always --disable-shared, the test was removed, and we
2499fc5a983dSmrg  # assume the GNU/Linux dynamic linker is in use.
2500fc5a983dSmrg  dynamic_linker='GNU/Linux ld.so'
2501fc5a983dSmrg  ;;
2502fc5a983dSmrg
2503bd2f6fc9Smrgnetbsdelf*-gnu)
2504bd2f6fc9Smrg  version_type=linux
2505bd2f6fc9Smrg  need_lib_prefix=no
2506bd2f6fc9Smrg  need_version=no
2507bd2f6fc9Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2508bd2f6fc9Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2509bd2f6fc9Smrg  shlibpath_var=LD_LIBRARY_PATH
2510bd2f6fc9Smrg  shlibpath_overrides_runpath=no
2511bd2f6fc9Smrg  hardcode_into_libs=yes
2512bd2f6fc9Smrg  dynamic_linker='NetBSD ld.elf_so'
2513bd2f6fc9Smrg  ;;
2514bd2f6fc9Smrg
2515fc5a983dSmrgnetbsd*)
2516fc5a983dSmrg  version_type=sunos
2517fc5a983dSmrg  need_lib_prefix=no
2518fc5a983dSmrg  need_version=no
2519f3561b8bSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2520fc5a983dSmrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2521fc5a983dSmrg    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2522fc5a983dSmrg    dynamic_linker='NetBSD (a.out) ld.so'
2523fc5a983dSmrg  else
2524fc5a983dSmrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2525fc5a983dSmrg    soname_spec='${libname}${release}${shared_ext}$major'
2526fc5a983dSmrg    dynamic_linker='NetBSD ld.elf_so'
2527fc5a983dSmrg  fi
2528fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2529fc5a983dSmrg  shlibpath_overrides_runpath=yes
2530fc5a983dSmrg  hardcode_into_libs=yes
2531fc5a983dSmrg  ;;
2532fc5a983dSmrg
2533fc5a983dSmrgnewsos6)
2534fc5a983dSmrg  version_type=linux
2535fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2536fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2537fc5a983dSmrg  shlibpath_overrides_runpath=yes
2538fc5a983dSmrg  ;;
2539fc5a983dSmrg
2540f3561b8bSmrg*nto* | *qnx*)
2541f3561b8bSmrg  version_type=qnx
2542fc5a983dSmrg  need_lib_prefix=no
2543fc5a983dSmrg  need_version=no
2544fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2545fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2546fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2547f3561b8bSmrg  shlibpath_overrides_runpath=no
2548f3561b8bSmrg  hardcode_into_libs=yes
2549f3561b8bSmrg  dynamic_linker='ldqnx.so'
2550fc5a983dSmrg  ;;
2551fc5a983dSmrg
2552fc5a983dSmrgopenbsd*)
2553fc5a983dSmrg  version_type=sunos
2554fc5a983dSmrg  sys_lib_dlsearch_path_spec="/usr/lib"
2555fc5a983dSmrg  need_lib_prefix=no
2556fc5a983dSmrg  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2557fc5a983dSmrg  case $host_os in
2558f3561b8bSmrg    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
2559f3561b8bSmrg    *)				need_version=no  ;;
2560fc5a983dSmrg  esac
2561fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2562fc5a983dSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2563fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2564f3561b8bSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2565fc5a983dSmrg    case $host_os in
2566fc5a983dSmrg      openbsd2.[[89]] | openbsd2.[[89]].*)
2567fc5a983dSmrg	shlibpath_overrides_runpath=no
2568fc5a983dSmrg	;;
2569fc5a983dSmrg      *)
2570fc5a983dSmrg	shlibpath_overrides_runpath=yes
2571fc5a983dSmrg	;;
2572fc5a983dSmrg      esac
2573fc5a983dSmrg  else
2574fc5a983dSmrg    shlibpath_overrides_runpath=yes
2575fc5a983dSmrg  fi
2576fc5a983dSmrg  ;;
2577fc5a983dSmrg
2578fc5a983dSmrgos2*)
2579fc5a983dSmrg  libname_spec='$name'
2580fc5a983dSmrg  shrext_cmds=".dll"
2581fc5a983dSmrg  need_lib_prefix=no
2582fc5a983dSmrg  library_names_spec='$libname${shared_ext} $libname.a'
2583fc5a983dSmrg  dynamic_linker='OS/2 ld.exe'
2584fc5a983dSmrg  shlibpath_var=LIBPATH
2585fc5a983dSmrg  ;;
2586fc5a983dSmrg
2587fc5a983dSmrgosf3* | osf4* | osf5*)
2588fc5a983dSmrg  version_type=osf
2589fc5a983dSmrg  need_lib_prefix=no
2590fc5a983dSmrg  need_version=no
2591fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2592fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2593fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2594fc5a983dSmrg  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2595fc5a983dSmrg  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2596fc5a983dSmrg  ;;
2597fc5a983dSmrg
2598fc5a983dSmrgrdos*)
2599fc5a983dSmrg  dynamic_linker=no
2600fc5a983dSmrg  ;;
2601fc5a983dSmrg
2602fc5a983dSmrgsolaris*)
2603fc5a983dSmrg  version_type=linux
2604fc5a983dSmrg  need_lib_prefix=no
2605fc5a983dSmrg  need_version=no
2606fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2607fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2608fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2609fc5a983dSmrg  shlibpath_overrides_runpath=yes
2610fc5a983dSmrg  hardcode_into_libs=yes
2611fc5a983dSmrg  # ldd complains unless libraries are executable
2612fc5a983dSmrg  postinstall_cmds='chmod +x $lib'
2613fc5a983dSmrg  ;;
2614fc5a983dSmrg
2615fc5a983dSmrgsunos4*)
2616fc5a983dSmrg  version_type=sunos
2617fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2618fc5a983dSmrg  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2619fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2620fc5a983dSmrg  shlibpath_overrides_runpath=yes
2621fc5a983dSmrg  if test "$with_gnu_ld" = yes; then
2622fc5a983dSmrg    need_lib_prefix=no
2623fc5a983dSmrg  fi
2624fc5a983dSmrg  need_version=yes
2625fc5a983dSmrg  ;;
2626fc5a983dSmrg
2627fc5a983dSmrgsysv4 | sysv4.3*)
2628fc5a983dSmrg  version_type=linux
2629fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2630fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2631fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2632fc5a983dSmrg  case $host_vendor in
2633fc5a983dSmrg    sni)
2634fc5a983dSmrg      shlibpath_overrides_runpath=no
2635fc5a983dSmrg      need_lib_prefix=no
2636fc5a983dSmrg      runpath_var=LD_RUN_PATH
2637fc5a983dSmrg      ;;
2638fc5a983dSmrg    siemens)
2639fc5a983dSmrg      need_lib_prefix=no
2640fc5a983dSmrg      ;;
2641fc5a983dSmrg    motorola)
2642fc5a983dSmrg      need_lib_prefix=no
2643fc5a983dSmrg      need_version=no
2644fc5a983dSmrg      shlibpath_overrides_runpath=no
2645fc5a983dSmrg      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2646fc5a983dSmrg      ;;
2647fc5a983dSmrg  esac
2648fc5a983dSmrg  ;;
2649fc5a983dSmrg
2650fc5a983dSmrgsysv4*MP*)
2651fc5a983dSmrg  if test -d /usr/nec ;then
2652fc5a983dSmrg    version_type=linux
2653fc5a983dSmrg    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2654fc5a983dSmrg    soname_spec='$libname${shared_ext}.$major'
2655fc5a983dSmrg    shlibpath_var=LD_LIBRARY_PATH
2656fc5a983dSmrg  fi
2657fc5a983dSmrg  ;;
2658fc5a983dSmrg
2659fc5a983dSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2660fc5a983dSmrg  version_type=freebsd-elf
2661fc5a983dSmrg  need_lib_prefix=no
2662fc5a983dSmrg  need_version=no
2663fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2664fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2665fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2666f3561b8bSmrg  shlibpath_overrides_runpath=yes
2667fc5a983dSmrg  hardcode_into_libs=yes
2668fc5a983dSmrg  if test "$with_gnu_ld" = yes; then
2669fc5a983dSmrg    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2670fc5a983dSmrg  else
2671fc5a983dSmrg    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2672fc5a983dSmrg    case $host_os in
2673fc5a983dSmrg      sco3.2v5*)
2674fc5a983dSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2675fc5a983dSmrg	;;
2676fc5a983dSmrg    esac
2677fc5a983dSmrg  fi
2678fc5a983dSmrg  sys_lib_dlsearch_path_spec='/usr/lib'
2679fc5a983dSmrg  ;;
2680fc5a983dSmrg
2681f3561b8bSmrgtpf*)
2682f3561b8bSmrg  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
2683f3561b8bSmrg  version_type=linux
2684f3561b8bSmrg  need_lib_prefix=no
2685f3561b8bSmrg  need_version=no
2686f3561b8bSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2687f3561b8bSmrg  shlibpath_var=LD_LIBRARY_PATH
2688f3561b8bSmrg  shlibpath_overrides_runpath=no
2689f3561b8bSmrg  hardcode_into_libs=yes
2690f3561b8bSmrg  ;;
2691f3561b8bSmrg
2692fc5a983dSmrguts4*)
2693fc5a983dSmrg  version_type=linux
2694fc5a983dSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2695fc5a983dSmrg  soname_spec='${libname}${release}${shared_ext}$major'
2696fc5a983dSmrg  shlibpath_var=LD_LIBRARY_PATH
2697fc5a983dSmrg  ;;
2698fc5a983dSmrg
2699fc5a983dSmrg*)
2700fc5a983dSmrg  dynamic_linker=no
2701fc5a983dSmrg  ;;
2702fc5a983dSmrgesac
2703fc5a983dSmrgAC_MSG_RESULT([$dynamic_linker])
2704fc5a983dSmrgtest "$dynamic_linker" = no && can_build_shared=no
2705fc5a983dSmrg
2706fc5a983dSmrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2707fc5a983dSmrgif test "$GCC" = yes; then
2708fc5a983dSmrg  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2709fc5a983dSmrgfi
2710fc5a983dSmrg
2711f3561b8bSmrgif test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2712f3561b8bSmrg  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2713f3561b8bSmrgfi
2714f3561b8bSmrgif test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2715f3561b8bSmrg  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2716f3561b8bSmrgfi
2717fc5a983dSmrg
2718f3561b8bSmrg_LT_DECL([], [variables_saved_for_relink], [1],
2719f3561b8bSmrg    [Variables whose values should be saved in libtool wrapper scripts and
2720f3561b8bSmrg    restored at link time])
2721f3561b8bSmrg_LT_DECL([], [need_lib_prefix], [0],
2722f3561b8bSmrg    [Do we need the "lib" prefix for modules?])
2723f3561b8bSmrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2724f3561b8bSmrg_LT_DECL([], [version_type], [0], [Library versioning type])
2725f3561b8bSmrg_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
2726f3561b8bSmrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2727f3561b8bSmrg_LT_DECL([], [shlibpath_overrides_runpath], [0],
2728f3561b8bSmrg    [Is shlibpath searched before the hard-coded library search path?])
2729f3561b8bSmrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2730f3561b8bSmrg_LT_DECL([], [library_names_spec], [1],
2731f3561b8bSmrg    [[List of archive names.  First name is the real one, the rest are links.
2732f3561b8bSmrg    The last name is the one that the linker finds with -lNAME]])
2733f3561b8bSmrg_LT_DECL([], [soname_spec], [1],
2734f3561b8bSmrg    [[The coded name of the library, if different from the real name]])
2735f3561b8bSmrg_LT_DECL([], [postinstall_cmds], [2],
2736f3561b8bSmrg    [Command to use after installation of a shared archive])
2737f3561b8bSmrg_LT_DECL([], [postuninstall_cmds], [2],
2738f3561b8bSmrg    [Command to use after uninstallation of a shared archive])
2739f3561b8bSmrg_LT_DECL([], [finish_cmds], [2],
2740f3561b8bSmrg    [Commands used to finish a libtool library installation in a directory])
2741f3561b8bSmrg_LT_DECL([], [finish_eval], [1],
2742f3561b8bSmrg    [[As "finish_cmds", except a single script fragment to be evaled but
2743f3561b8bSmrg    not shown]])
2744f3561b8bSmrg_LT_DECL([], [hardcode_into_libs], [0],
2745f3561b8bSmrg    [Whether we should hardcode library paths into libraries])
2746f3561b8bSmrg_LT_DECL([], [sys_lib_search_path_spec], [2],
2747f3561b8bSmrg    [Compile-time system search path for libraries])
2748f3561b8bSmrg_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2749f3561b8bSmrg    [Run-time system search path for libraries])
2750f3561b8bSmrg])# _LT_SYS_DYNAMIC_LINKER
2751f3561b8bSmrg
2752f3561b8bSmrg
2753f3561b8bSmrg# _LT_PATH_TOOL_PREFIX(TOOL)
2754fc5a983dSmrg# --------------------------
2755fc5a983dSmrg# find a file program which can recognize shared library
2756f3561b8bSmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX],
2757f3561b8bSmrg[m4_require([_LT_DECL_EGREP])dnl
2758fc5a983dSmrgAC_MSG_CHECKING([for $1])
2759fc5a983dSmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2760fc5a983dSmrg[case $MAGIC_CMD in
2761fc5a983dSmrg[[\\/*] |  ?:[\\/]*])
2762fc5a983dSmrg  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2763fc5a983dSmrg  ;;
2764fc5a983dSmrg*)
2765fc5a983dSmrg  lt_save_MAGIC_CMD="$MAGIC_CMD"
2766fc5a983dSmrg  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2767fc5a983dSmrgdnl $ac_dummy forces splitting on constant user-supplied paths.
2768fc5a983dSmrgdnl POSIX.2 word splitting is done only on the output of word expansions,
2769fc5a983dSmrgdnl not every word.  This closes a longstanding sh security hole.
2770f3561b8bSmrg  ac_dummy="m4_if([$2], , $PATH, [$2])"
2771fc5a983dSmrg  for ac_dir in $ac_dummy; do
2772fc5a983dSmrg    IFS="$lt_save_ifs"
2773fc5a983dSmrg    test -z "$ac_dir" && ac_dir=.
2774fc5a983dSmrg    if test -f $ac_dir/$1; then
2775fc5a983dSmrg      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2776fc5a983dSmrg      if test -n "$file_magic_test_file"; then
2777fc5a983dSmrg	case $deplibs_check_method in
2778fc5a983dSmrg	"file_magic "*)
2779fc5a983dSmrg	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2780fc5a983dSmrg	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2781fc5a983dSmrg	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2782fc5a983dSmrg	    $EGREP "$file_magic_regex" > /dev/null; then
2783fc5a983dSmrg	    :
2784fc5a983dSmrg	  else
2785f3561b8bSmrg	    cat <<_LT_EOF 1>&2
2786fc5a983dSmrg
2787fc5a983dSmrg*** Warning: the command libtool uses to detect shared libraries,
2788fc5a983dSmrg*** $file_magic_cmd, produces output that libtool cannot recognize.
2789fc5a983dSmrg*** The result is that libtool may fail to recognize shared libraries
2790fc5a983dSmrg*** as such.  This will affect the creation of libtool libraries that
2791fc5a983dSmrg*** depend on shared libraries, but programs linked with such libtool
2792fc5a983dSmrg*** libraries will work regardless of this problem.  Nevertheless, you
2793fc5a983dSmrg*** may want to report the problem to your system manager and/or to
2794fc5a983dSmrg*** bug-libtool@gnu.org
2795fc5a983dSmrg
2796f3561b8bSmrg_LT_EOF
2797fc5a983dSmrg	  fi ;;
2798fc5a983dSmrg	esac
2799fc5a983dSmrg      fi
2800fc5a983dSmrg      break
2801fc5a983dSmrg    fi
2802fc5a983dSmrg  done
2803fc5a983dSmrg  IFS="$lt_save_ifs"
2804fc5a983dSmrg  MAGIC_CMD="$lt_save_MAGIC_CMD"
2805fc5a983dSmrg  ;;
2806fc5a983dSmrgesac])
2807fc5a983dSmrgMAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2808fc5a983dSmrgif test -n "$MAGIC_CMD"; then
2809fc5a983dSmrg  AC_MSG_RESULT($MAGIC_CMD)
2810fc5a983dSmrgelse
2811fc5a983dSmrg  AC_MSG_RESULT(no)
2812fc5a983dSmrgfi
2813f3561b8bSmrg_LT_DECL([], [MAGIC_CMD], [0],
2814f3561b8bSmrg	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2815f3561b8bSmrg])# _LT_PATH_TOOL_PREFIX
2816fc5a983dSmrg
2817f3561b8bSmrg# Old name:
2818f3561b8bSmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2819f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
2820f3561b8bSmrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
2821fc5a983dSmrg
2822f3561b8bSmrg
2823f3561b8bSmrg# _LT_PATH_MAGIC
2824f3561b8bSmrg# --------------
2825fc5a983dSmrg# find a file program which can recognize a shared library
2826f3561b8bSmrgm4_defun([_LT_PATH_MAGIC],
2827f3561b8bSmrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2828fc5a983dSmrgif test -z "$lt_cv_path_MAGIC_CMD"; then
2829fc5a983dSmrg  if test -n "$ac_tool_prefix"; then
2830f3561b8bSmrg    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2831fc5a983dSmrg  else
2832fc5a983dSmrg    MAGIC_CMD=:
2833fc5a983dSmrg  fi
2834fc5a983dSmrgfi
2835f3561b8bSmrg])# _LT_PATH_MAGIC
2836fc5a983dSmrg
2837fc5a983dSmrg
2838f3561b8bSmrg# LT_PATH_LD
2839fc5a983dSmrg# ----------
2840fc5a983dSmrg# find the pathname to the GNU or non-GNU linker
2841f3561b8bSmrgAC_DEFUN([LT_PATH_LD],
2842f3561b8bSmrg[AC_REQUIRE([AC_PROG_CC])dnl
2843fc5a983dSmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl
2844fc5a983dSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
2845f3561b8bSmrgm4_require([_LT_DECL_SED])dnl
2846f3561b8bSmrgm4_require([_LT_DECL_EGREP])dnl
2847f3561b8bSmrg
2848f3561b8bSmrgAC_ARG_WITH([gnu-ld],
2849f3561b8bSmrg    [AS_HELP_STRING([--with-gnu-ld],
2850f3561b8bSmrg	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
2851f3561b8bSmrg    [test "$withval" = no || with_gnu_ld=yes],
2852f3561b8bSmrg    [with_gnu_ld=no])dnl
2853f3561b8bSmrg
2854fc5a983dSmrgac_prog=ld
2855fc5a983dSmrgif test "$GCC" = yes; then
2856fc5a983dSmrg  # Check if gcc -print-prog-name=ld gives a path.
2857fc5a983dSmrg  AC_MSG_CHECKING([for ld used by $CC])
2858fc5a983dSmrg  case $host in
2859fc5a983dSmrg  *-*-mingw*)
2860fc5a983dSmrg    # gcc leaves a trailing carriage return which upsets mingw
2861fc5a983dSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2862fc5a983dSmrg  *)
2863fc5a983dSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2864fc5a983dSmrg  esac
2865fc5a983dSmrg  case $ac_prog in
2866fc5a983dSmrg    # Accept absolute paths.
2867fc5a983dSmrg    [[\\/]]* | ?:[[\\/]]*)
2868fc5a983dSmrg      re_direlt='/[[^/]][[^/]]*/\.\./'
2869fc5a983dSmrg      # Canonicalize the pathname of ld
2870f3561b8bSmrg      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2871f3561b8bSmrg      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2872f3561b8bSmrg	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
2873fc5a983dSmrg      done
2874fc5a983dSmrg      test -z "$LD" && LD="$ac_prog"
2875fc5a983dSmrg      ;;
2876fc5a983dSmrg  "")
2877fc5a983dSmrg    # If it fails, then pretend we aren't using GCC.
2878fc5a983dSmrg    ac_prog=ld
2879fc5a983dSmrg    ;;
2880fc5a983dSmrg  *)
2881fc5a983dSmrg    # If it is relative, then search for the first ld in PATH.
2882fc5a983dSmrg    with_gnu_ld=unknown
2883fc5a983dSmrg    ;;
2884fc5a983dSmrg  esac
2885fc5a983dSmrgelif test "$with_gnu_ld" = yes; then
2886fc5a983dSmrg  AC_MSG_CHECKING([for GNU ld])
2887fc5a983dSmrgelse
2888fc5a983dSmrg  AC_MSG_CHECKING([for non-GNU ld])
2889fc5a983dSmrgfi
2890fc5a983dSmrgAC_CACHE_VAL(lt_cv_path_LD,
2891fc5a983dSmrg[if test -z "$LD"; then
2892fc5a983dSmrg  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2893fc5a983dSmrg  for ac_dir in $PATH; do
2894fc5a983dSmrg    IFS="$lt_save_ifs"
2895fc5a983dSmrg    test -z "$ac_dir" && ac_dir=.
2896fc5a983dSmrg    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2897fc5a983dSmrg      lt_cv_path_LD="$ac_dir/$ac_prog"
2898fc5a983dSmrg      # Check to see if the program is GNU ld.  I'd rather use --version,
2899fc5a983dSmrg      # but apparently some variants of GNU ld only accept -v.
2900fc5a983dSmrg      # Break only if it was the GNU/non-GNU ld that we prefer.
2901fc5a983dSmrg      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2902fc5a983dSmrg      *GNU* | *'with BFD'*)
2903fc5a983dSmrg	test "$with_gnu_ld" != no && break
2904fc5a983dSmrg	;;
2905fc5a983dSmrg      *)
2906fc5a983dSmrg	test "$with_gnu_ld" != yes && break
2907fc5a983dSmrg	;;
2908fc5a983dSmrg      esac
2909fc5a983dSmrg    fi
2910fc5a983dSmrg  done
2911fc5a983dSmrg  IFS="$lt_save_ifs"
2912fc5a983dSmrgelse
2913fc5a983dSmrg  lt_cv_path_LD="$LD" # Let the user override the test with a path.
2914fc5a983dSmrgfi])
2915fc5a983dSmrgLD="$lt_cv_path_LD"
2916fc5a983dSmrgif test -n "$LD"; then
2917fc5a983dSmrg  AC_MSG_RESULT($LD)
2918fc5a983dSmrgelse
2919fc5a983dSmrg  AC_MSG_RESULT(no)
2920fc5a983dSmrgfi
2921fc5a983dSmrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2922f3561b8bSmrg_LT_PATH_LD_GNU
2923f3561b8bSmrgAC_SUBST([LD])
2924fc5a983dSmrg
2925f3561b8bSmrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2926f3561b8bSmrg])# LT_PATH_LD
2927fc5a983dSmrg
2928f3561b8bSmrg# Old names:
2929f3561b8bSmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2930f3561b8bSmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2931f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
2932f3561b8bSmrgdnl AC_DEFUN([AM_PROG_LD], [])
2933f3561b8bSmrgdnl AC_DEFUN([AC_PROG_LD], [])
2934f3561b8bSmrg
2935f3561b8bSmrg
2936f3561b8bSmrg# _LT_PATH_LD_GNU
2937f3561b8bSmrg#- --------------
2938f3561b8bSmrgm4_defun([_LT_PATH_LD_GNU],
2939f3561b8bSmrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2940fc5a983dSmrg[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2941fc5a983dSmrgcase `$LD -v 2>&1 </dev/null` in
2942fc5a983dSmrg*GNU* | *'with BFD'*)
2943fc5a983dSmrg  lt_cv_prog_gnu_ld=yes
2944fc5a983dSmrg  ;;
2945fc5a983dSmrg*)
2946fc5a983dSmrg  lt_cv_prog_gnu_ld=no
2947fc5a983dSmrg  ;;
2948fc5a983dSmrgesac])
2949fc5a983dSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld
2950f3561b8bSmrg])# _LT_PATH_LD_GNU
2951fc5a983dSmrg
2952fc5a983dSmrg
2953f3561b8bSmrg# _LT_CMD_RELOAD
2954f3561b8bSmrg# --------------
2955fc5a983dSmrg# find reload flag for linker
2956fc5a983dSmrg#   -- PORTME Some linkers may need a different reload flag.
2957f3561b8bSmrgm4_defun([_LT_CMD_RELOAD],
2958fc5a983dSmrg[AC_CACHE_CHECK([for $LD option to reload object files],
2959fc5a983dSmrg  lt_cv_ld_reload_flag,
2960fc5a983dSmrg  [lt_cv_ld_reload_flag='-r'])
2961fc5a983dSmrgreload_flag=$lt_cv_ld_reload_flag
2962fc5a983dSmrgcase $reload_flag in
2963fc5a983dSmrg"" | " "*) ;;
2964fc5a983dSmrg*) reload_flag=" $reload_flag" ;;
2965fc5a983dSmrgesac
2966fc5a983dSmrgreload_cmds='$LD$reload_flag -o $output$reload_objs'
2967fc5a983dSmrgcase $host_os in
2968fc5a983dSmrg  darwin*)
2969fc5a983dSmrg    if test "$GCC" = yes; then
2970fc5a983dSmrg      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2971fc5a983dSmrg    else
2972fc5a983dSmrg      reload_cmds='$LD$reload_flag -o $output$reload_objs'
2973fc5a983dSmrg    fi
2974fc5a983dSmrg    ;;
2975fc5a983dSmrgesac
2976f3561b8bSmrg_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2977f3561b8bSmrg_LT_DECL([], [reload_cmds], [2])dnl
2978f3561b8bSmrg])# _LT_CMD_RELOAD
2979fc5a983dSmrg
2980fc5a983dSmrg
2981f3561b8bSmrg# _LT_CHECK_MAGIC_METHOD
2982f3561b8bSmrg# ----------------------
2983fc5a983dSmrg# how to check for library dependencies
2984fc5a983dSmrg#  -- PORTME fill in with the dynamic library characteristics
2985f3561b8bSmrgm4_defun([_LT_CHECK_MAGIC_METHOD],
2986f3561b8bSmrg[m4_require([_LT_DECL_EGREP])
2987f3561b8bSmrgm4_require([_LT_DECL_OBJDUMP])
2988f3561b8bSmrgAC_CACHE_CHECK([how to recognize dependent libraries],
2989fc5a983dSmrglt_cv_deplibs_check_method,
2990fc5a983dSmrg[lt_cv_file_magic_cmd='$MAGIC_CMD'
2991fc5a983dSmrglt_cv_file_magic_test_file=
2992fc5a983dSmrglt_cv_deplibs_check_method='unknown'
2993fc5a983dSmrg# Need to set the preceding variable on all platforms that support
2994fc5a983dSmrg# interlibrary dependencies.
2995fc5a983dSmrg# 'none' -- dependencies not supported.
2996fc5a983dSmrg# `unknown' -- same as none, but documents that we really don't know.
2997fc5a983dSmrg# 'pass_all' -- all dependencies passed with no checks.
2998fc5a983dSmrg# 'test_compile' -- check by making test program.
2999fc5a983dSmrg# 'file_magic [[regex]]' -- check by looking for files in library path
3000fc5a983dSmrg# which responds to the $file_magic_cmd with a given extended regex.
3001fc5a983dSmrg# If you have `file' or equivalent on your system and you're not sure
3002fc5a983dSmrg# whether `pass_all' will *always* work, you probably want this one.
3003fc5a983dSmrg
3004fc5a983dSmrgcase $host_os in
3005fc5a983dSmrgaix[[4-9]]*)
3006fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3007fc5a983dSmrg  ;;
3008fc5a983dSmrg
3009fc5a983dSmrgbeos*)
3010fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3011fc5a983dSmrg  ;;
3012fc5a983dSmrg
3013fc5a983dSmrgbsdi[[45]]*)
3014fc5a983dSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3015fc5a983dSmrg  lt_cv_file_magic_cmd='/usr/bin/file -L'
3016fc5a983dSmrg  lt_cv_file_magic_test_file=/shlib/libc.so
3017fc5a983dSmrg  ;;
3018fc5a983dSmrg
3019fc5a983dSmrgcygwin*)
3020fc5a983dSmrg  # func_win32_libid is a shell function defined in ltmain.sh
3021fc5a983dSmrg  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3022fc5a983dSmrg  lt_cv_file_magic_cmd='func_win32_libid'
3023fc5a983dSmrg  ;;
3024fc5a983dSmrg
3025fc5a983dSmrgmingw* | pw32*)
3026fc5a983dSmrg  # Base MSYS/MinGW do not provide the 'file' command needed by
3027fc5a983dSmrg  # func_win32_libid shell function, so use a weaker test based on 'objdump',
3028fc5a983dSmrg  # unless we find 'file', for example because we are cross-compiling.
3029fc5a983dSmrg  if ( file / ) >/dev/null 2>&1; then
3030fc5a983dSmrg    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3031fc5a983dSmrg    lt_cv_file_magic_cmd='func_win32_libid'
3032fc5a983dSmrg  else
3033fc5a983dSmrg    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3034fc5a983dSmrg    lt_cv_file_magic_cmd='$OBJDUMP -f'
3035fc5a983dSmrg  fi
3036fc5a983dSmrg  ;;
3037fc5a983dSmrg
3038f3561b8bSmrgcegcc)
3039f3561b8bSmrg  # use the weaker test based on 'objdump'. See mingw*.
3040f3561b8bSmrg  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3041f3561b8bSmrg  lt_cv_file_magic_cmd='$OBJDUMP -f'
3042f3561b8bSmrg  ;;
3043f3561b8bSmrg
3044fc5a983dSmrgdarwin* | rhapsody*)
3045fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3046fc5a983dSmrg  ;;
3047fc5a983dSmrg
3048fc5a983dSmrgfreebsd* | dragonfly*)
3049f3561b8bSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3050fc5a983dSmrg    case $host_cpu in
3051fc5a983dSmrg    i*86 )
3052fc5a983dSmrg      # Not sure whether the presence of OpenBSD here was a mistake.
3053fc5a983dSmrg      # Let's accept both of them until this is cleared up.
3054fc5a983dSmrg      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3055fc5a983dSmrg      lt_cv_file_magic_cmd=/usr/bin/file
3056fc5a983dSmrg      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3057fc5a983dSmrg      ;;
3058fc5a983dSmrg    esac
3059fc5a983dSmrg  else
3060fc5a983dSmrg    lt_cv_deplibs_check_method=pass_all
3061fc5a983dSmrg  fi
3062fc5a983dSmrg  ;;
3063fc5a983dSmrg
3064fc5a983dSmrggnu*)
3065fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3066fc5a983dSmrg  ;;
3067fc5a983dSmrg
3068fc5a983dSmrghpux10.20* | hpux11*)
3069fc5a983dSmrg  lt_cv_file_magic_cmd=/usr/bin/file
3070fc5a983dSmrg  case $host_cpu in
3071fc5a983dSmrg  ia64*)
3072fc5a983dSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3073fc5a983dSmrg    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3074fc5a983dSmrg    ;;
3075fc5a983dSmrg  hppa*64*)
3076fc5a983dSmrg    [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]']
3077fc5a983dSmrg    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3078fc5a983dSmrg    ;;
3079fc5a983dSmrg  *)
3080fc5a983dSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3081fc5a983dSmrg    lt_cv_file_magic_test_file=/usr/lib/libc.sl
3082fc5a983dSmrg    ;;
3083fc5a983dSmrg  esac
3084fc5a983dSmrg  ;;
3085fc5a983dSmrg
3086fc5a983dSmrginterix[[3-9]]*)
3087fc5a983dSmrg  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3088fc5a983dSmrg  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3089fc5a983dSmrg  ;;
3090fc5a983dSmrg
3091fc5a983dSmrgirix5* | irix6* | nonstopux*)
3092fc5a983dSmrg  case $LD in
3093fc5a983dSmrg  *-32|*"-32 ") libmagic=32-bit;;
3094fc5a983dSmrg  *-n32|*"-n32 ") libmagic=N32;;
3095fc5a983dSmrg  *-64|*"-64 ") libmagic=64-bit;;
3096fc5a983dSmrg  *) libmagic=never-match;;
3097fc5a983dSmrg  esac
3098fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3099fc5a983dSmrg  ;;
3100fc5a983dSmrg
3101fc5a983dSmrg# This must be Linux ELF.
31026086d97eSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu)
3103fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3104fc5a983dSmrg  ;;
3105fc5a983dSmrg
3106bd2f6fc9Smrgnetbsd* | netbsdelf*-gnu)
3107f3561b8bSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3108fc5a983dSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3109fc5a983dSmrg  else
3110fc5a983dSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3111fc5a983dSmrg  fi
3112fc5a983dSmrg  ;;
3113fc5a983dSmrg
3114fc5a983dSmrgnewos6*)
3115fc5a983dSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3116fc5a983dSmrg  lt_cv_file_magic_cmd=/usr/bin/file
3117fc5a983dSmrg  lt_cv_file_magic_test_file=/usr/lib/libnls.so
3118fc5a983dSmrg  ;;
3119fc5a983dSmrg
3120f3561b8bSmrg*nto* | *qnx*)
3121f3561b8bSmrg  lt_cv_deplibs_check_method=pass_all
3122fc5a983dSmrg  ;;
3123fc5a983dSmrg
3124fc5a983dSmrgopenbsd*)
3125f3561b8bSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3126fc5a983dSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3127fc5a983dSmrg  else
3128fc5a983dSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3129fc5a983dSmrg  fi
3130fc5a983dSmrg  ;;
3131fc5a983dSmrg
3132fc5a983dSmrgosf3* | osf4* | osf5*)
3133fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3134fc5a983dSmrg  ;;
3135fc5a983dSmrg
3136fc5a983dSmrgrdos*)
3137fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3138fc5a983dSmrg  ;;
3139fc5a983dSmrg
3140fc5a983dSmrgsolaris*)
3141fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3142fc5a983dSmrg  ;;
3143fc5a983dSmrg
3144f3561b8bSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3145f3561b8bSmrg  lt_cv_deplibs_check_method=pass_all
3146f3561b8bSmrg  ;;
3147f3561b8bSmrg
3148fc5a983dSmrgsysv4 | sysv4.3*)
3149fc5a983dSmrg  case $host_vendor in
3150fc5a983dSmrg  motorola)
3151fc5a983dSmrg    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]]'
3152fc5a983dSmrg    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3153fc5a983dSmrg    ;;
3154fc5a983dSmrg  ncr)
3155fc5a983dSmrg    lt_cv_deplibs_check_method=pass_all
3156fc5a983dSmrg    ;;
3157fc5a983dSmrg  sequent)
3158fc5a983dSmrg    lt_cv_file_magic_cmd='/bin/file'
3159fc5a983dSmrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3160fc5a983dSmrg    ;;
3161fc5a983dSmrg  sni)
3162fc5a983dSmrg    lt_cv_file_magic_cmd='/bin/file'
3163fc5a983dSmrg    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3164fc5a983dSmrg    lt_cv_file_magic_test_file=/lib/libc.so
3165fc5a983dSmrg    ;;
3166fc5a983dSmrg  siemens)
3167fc5a983dSmrg    lt_cv_deplibs_check_method=pass_all
3168fc5a983dSmrg    ;;
3169fc5a983dSmrg  pc)
3170fc5a983dSmrg    lt_cv_deplibs_check_method=pass_all
3171fc5a983dSmrg    ;;
3172fc5a983dSmrg  esac
3173fc5a983dSmrg  ;;
3174fc5a983dSmrg
3175f3561b8bSmrgtpf*)
3176fc5a983dSmrg  lt_cv_deplibs_check_method=pass_all
3177fc5a983dSmrg  ;;
3178fc5a983dSmrgesac
3179fc5a983dSmrg])
3180fc5a983dSmrgfile_magic_cmd=$lt_cv_file_magic_cmd
3181fc5a983dSmrgdeplibs_check_method=$lt_cv_deplibs_check_method
3182fc5a983dSmrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown
3183fc5a983dSmrg
3184f3561b8bSmrg_LT_DECL([], [deplibs_check_method], [1],
3185f3561b8bSmrg    [Method to check whether dependent libraries are shared objects])
3186f3561b8bSmrg_LT_DECL([], [file_magic_cmd], [1],
3187f3561b8bSmrg    [Command to use when deplibs_check_method == "file_magic"])
3188f3561b8bSmrg])# _LT_CHECK_MAGIC_METHOD
3189fc5a983dSmrg
3190f3561b8bSmrg
3191f3561b8bSmrg# LT_PATH_NM
3192fc5a983dSmrg# ----------
3193f3561b8bSmrg# find the pathname to a BSD- or MS-compatible name lister
3194f3561b8bSmrgAC_DEFUN([LT_PATH_NM],
3195f3561b8bSmrg[AC_REQUIRE([AC_PROG_CC])dnl
3196f3561b8bSmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3197fc5a983dSmrg[if test -n "$NM"; then
3198fc5a983dSmrg  # Let the user override the test.
3199fc5a983dSmrg  lt_cv_path_NM="$NM"
3200fc5a983dSmrgelse
3201fc5a983dSmrg  lt_nm_to_check="${ac_tool_prefix}nm"
3202fc5a983dSmrg  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3203fc5a983dSmrg    lt_nm_to_check="$lt_nm_to_check nm"
3204fc5a983dSmrg  fi
3205fc5a983dSmrg  for lt_tmp_nm in $lt_nm_to_check; do
3206fc5a983dSmrg    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3207fc5a983dSmrg    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3208fc5a983dSmrg      IFS="$lt_save_ifs"
3209fc5a983dSmrg      test -z "$ac_dir" && ac_dir=.
3210fc5a983dSmrg      tmp_nm="$ac_dir/$lt_tmp_nm"
3211fc5a983dSmrg      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3212fc5a983dSmrg	# Check to see if the nm accepts a BSD-compat flag.
3213fc5a983dSmrg	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
3214fc5a983dSmrg	#   nm: unknown option "B" ignored
3215fc5a983dSmrg	# Tru64's nm complains that /dev/null is an invalid object file
3216fc5a983dSmrg	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3217fc5a983dSmrg	*/dev/null* | *'Invalid file or object type'*)
3218fc5a983dSmrg	  lt_cv_path_NM="$tmp_nm -B"
3219fc5a983dSmrg	  break
3220fc5a983dSmrg	  ;;
3221fc5a983dSmrg	*)
3222fc5a983dSmrg	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3223fc5a983dSmrg	  */dev/null*)
3224fc5a983dSmrg	    lt_cv_path_NM="$tmp_nm -p"
3225fc5a983dSmrg	    break
3226fc5a983dSmrg	    ;;
3227fc5a983dSmrg	  *)
3228fc5a983dSmrg	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3229fc5a983dSmrg	    continue # so that we can try to find one that supports BSD flags
3230fc5a983dSmrg	    ;;
3231fc5a983dSmrg	  esac
3232fc5a983dSmrg	  ;;
3233fc5a983dSmrg	esac
3234fc5a983dSmrg      fi
3235fc5a983dSmrg    done
3236fc5a983dSmrg    IFS="$lt_save_ifs"
3237fc5a983dSmrg  done
3238f3561b8bSmrg  : ${lt_cv_path_NM=no}
3239fc5a983dSmrgfi])
3240f3561b8bSmrgif test "$lt_cv_path_NM" != "no"; then
3241f3561b8bSmrg  NM="$lt_cv_path_NM"
3242f3561b8bSmrgelse
3243f3561b8bSmrg  # Didn't find any BSD compatible name lister, look for dumpbin.
3244f3561b8bSmrg  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
3245f3561b8bSmrg  AC_SUBST([DUMPBIN])
3246f3561b8bSmrg  if test "$DUMPBIN" != ":"; then
3247f3561b8bSmrg    NM="$DUMPBIN"
3248f3561b8bSmrg  fi
3249f3561b8bSmrgfi
3250f3561b8bSmrgtest -z "$NM" && NM=nm
3251f3561b8bSmrgAC_SUBST([NM])
3252f3561b8bSmrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3253f3561b8bSmrg
3254f3561b8bSmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3255f3561b8bSmrg  [lt_cv_nm_interface="BSD nm"
3256f3561b8bSmrg  echo "int some_variable = 0;" > conftest.$ac_ext
3257f3561b8bSmrg  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3258f3561b8bSmrg  (eval "$ac_compile" 2>conftest.err)
3259f3561b8bSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
3260f3561b8bSmrg  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3261f3561b8bSmrg  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3262f3561b8bSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
3263f3561b8bSmrg  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
3264f3561b8bSmrg  cat conftest.out >&AS_MESSAGE_LOG_FD
3265f3561b8bSmrg  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3266f3561b8bSmrg    lt_cv_nm_interface="MS dumpbin"
3267f3561b8bSmrg  fi
3268f3561b8bSmrg  rm -f conftest*])
3269f3561b8bSmrg])# LT_PATH_NM
3270fc5a983dSmrg
3271f3561b8bSmrg# Old names:
3272f3561b8bSmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3273f3561b8bSmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3274f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
3275f3561b8bSmrgdnl AC_DEFUN([AM_PROG_NM], [])
3276f3561b8bSmrgdnl AC_DEFUN([AC_PROG_NM], [])
3277fc5a983dSmrg
3278f3561b8bSmrg
3279f3561b8bSmrg# LT_LIB_M
3280f3561b8bSmrg# --------
3281fc5a983dSmrg# check for math library
3282f3561b8bSmrgAC_DEFUN([LT_LIB_M],
3283fc5a983dSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3284fc5a983dSmrgLIBM=
3285fc5a983dSmrgcase $host in
3286fc5a983dSmrg*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3287fc5a983dSmrg  # These system don't have libm, or don't need it
3288fc5a983dSmrg  ;;
3289fc5a983dSmrg*-ncr-sysv4.3*)
3290fc5a983dSmrg  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3291fc5a983dSmrg  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3292fc5a983dSmrg  ;;
3293fc5a983dSmrg*)
3294fc5a983dSmrg  AC_CHECK_LIB(m, cos, LIBM="-lm")
3295fc5a983dSmrg  ;;
3296fc5a983dSmrgesac
3297f3561b8bSmrgAC_SUBST([LIBM])
3298f3561b8bSmrg])# LT_LIB_M
3299fc5a983dSmrg
3300f3561b8bSmrg# Old name:
3301f3561b8bSmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3302f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
3303f3561b8bSmrgdnl AC_DEFUN([AC_CHECK_LIBM], [])
3304fc5a983dSmrg
3305fc5a983dSmrg
3306f3561b8bSmrg# _LT_COMPILER_NO_RTTI([TAGNAME])
3307f3561b8bSmrg# -------------------------------
3308f3561b8bSmrgm4_defun([_LT_COMPILER_NO_RTTI],
3309f3561b8bSmrg[m4_require([_LT_TAG_COMPILER])dnl
3310fc5a983dSmrg
3311f3561b8bSmrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3312fc5a983dSmrg
3313f3561b8bSmrgif test "$GCC" = yes; then
3314f3561b8bSmrg  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3315fc5a983dSmrg
3316f3561b8bSmrg  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3317f3561b8bSmrg    lt_cv_prog_compiler_rtti_exceptions,
3318f3561b8bSmrg    [-fno-rtti -fno-exceptions], [],
3319f3561b8bSmrg    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3320f3561b8bSmrgfi
3321f3561b8bSmrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3322f3561b8bSmrg	[Compiler flag to turn off builtin functions])
3323f3561b8bSmrg])# _LT_COMPILER_NO_RTTI
3324fc5a983dSmrg
3325fc5a983dSmrg
3326f3561b8bSmrg# _LT_CMD_GLOBAL_SYMBOLS
3327f3561b8bSmrg# ----------------------
3328f3561b8bSmrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3329f3561b8bSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3330f3561b8bSmrgAC_REQUIRE([AC_PROG_CC])dnl
3331f3561b8bSmrgAC_REQUIRE([LT_PATH_NM])dnl
3332f3561b8bSmrgAC_REQUIRE([LT_PATH_LD])dnl
3333f3561b8bSmrgm4_require([_LT_DECL_SED])dnl
3334f3561b8bSmrgm4_require([_LT_DECL_EGREP])dnl
3335f3561b8bSmrgm4_require([_LT_TAG_COMPILER])dnl
3336fc5a983dSmrg
3337f3561b8bSmrg# Check for command to grab the raw symbol name followed by C symbol from nm.
3338f3561b8bSmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object])
3339f3561b8bSmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3340fc5a983dSmrg[
3341f3561b8bSmrg# These are sane defaults that work on at least a few old systems.
3342f3561b8bSmrg# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
3343fc5a983dSmrg
3344f3561b8bSmrg# Character class describing NM global symbol codes.
3345f3561b8bSmrgsymcode='[[BCDEGRST]]'
3346fc5a983dSmrg
3347f3561b8bSmrg# Regexp to match symbols that can be accessed directly from C.
3348f3561b8bSmrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3349fc5a983dSmrg
3350f3561b8bSmrg# Define system-specific variables.
3351f3561b8bSmrgcase $host_os in
3352f3561b8bSmrgaix*)
3353f3561b8bSmrg  symcode='[[BCDT]]'
3354f3561b8bSmrg  ;;
3355f3561b8bSmrgcygwin* | mingw* | pw32* | cegcc*)
3356f3561b8bSmrg  symcode='[[ABCDGISTW]]'
3357f3561b8bSmrg  ;;
3358f3561b8bSmrghpux*)
3359f3561b8bSmrg  if test "$host_cpu" = ia64; then
3360f3561b8bSmrg    symcode='[[ABCDEGRST]]'
3361f3561b8bSmrg  fi
3362f3561b8bSmrg  ;;
3363f3561b8bSmrgirix* | nonstopux*)
3364f3561b8bSmrg  symcode='[[BCDEGRST]]'
3365f3561b8bSmrg  ;;
3366f3561b8bSmrgosf*)
3367f3561b8bSmrg  symcode='[[BCDEGQRST]]'
3368f3561b8bSmrg  ;;
3369f3561b8bSmrgsolaris*)
3370f3561b8bSmrg  symcode='[[BDRT]]'
3371f3561b8bSmrg  ;;
3372f3561b8bSmrgsco3.2v5*)
3373f3561b8bSmrg  symcode='[[DT]]'
3374f3561b8bSmrg  ;;
3375f3561b8bSmrgsysv4.2uw2*)
3376f3561b8bSmrg  symcode='[[DT]]'
3377f3561b8bSmrg  ;;
3378f3561b8bSmrgsysv5* | sco5v6* | unixware* | OpenUNIX*)
3379f3561b8bSmrg  symcode='[[ABDT]]'
3380f3561b8bSmrg  ;;
3381f3561b8bSmrgsysv4)
3382f3561b8bSmrg  symcode='[[DFNSTU]]'
3383f3561b8bSmrg  ;;
3384f3561b8bSmrgesac
3385fc5a983dSmrg
3386f3561b8bSmrg# If we're using GNU nm, then use its standard symbol codes.
3387f3561b8bSmrgcase `$NM -V 2>&1` in
3388f3561b8bSmrg*GNU* | *'with BFD'*)
3389f3561b8bSmrg  symcode='[[ABCDGIRSTW]]' ;;
3390f3561b8bSmrgesac
3391fc5a983dSmrg
3392f3561b8bSmrg# Transform an extracted symbol line into a proper C declaration.
3393f3561b8bSmrg# Some systems (esp. on ia64) link data and code symbols differently,
3394f3561b8bSmrg# so use this general approach.
3395f3561b8bSmrglt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3396fc5a983dSmrg
3397f3561b8bSmrg# Transform an extracted symbol line into symbol name and symbol address
3398f3561b8bSmrglt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
3399f3561b8bSmrglt_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'"
3400fc5a983dSmrg
3401f3561b8bSmrg# Handle CRLF in mingw tool chain
3402f3561b8bSmrgopt_cr=
3403f3561b8bSmrgcase $build_os in
3404f3561b8bSmrgmingw*)
3405f3561b8bSmrg  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3406f3561b8bSmrg  ;;
3407f3561b8bSmrgesac
3408fc5a983dSmrg
3409f3561b8bSmrg# Try without a prefix underscore, then with it.
3410f3561b8bSmrgfor ac_symprfx in "" "_"; do
3411fc5a983dSmrg
3412f3561b8bSmrg  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3413f3561b8bSmrg  symxfrm="\\1 $ac_symprfx\\2 \\2"
3414fc5a983dSmrg
3415f3561b8bSmrg  # Write the raw and C identifiers.
3416f3561b8bSmrg  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3417f3561b8bSmrg    # Fake it for dumpbin and say T for any non-static function
3418f3561b8bSmrg    # and D for any global variable.
3419f3561b8bSmrg    # Also find C++ and __fastcall symbols from MSVC++,
3420f3561b8bSmrg    # which start with @ or ?.
3421f3561b8bSmrg    lt_cv_sys_global_symbol_pipe="$AWK ['"\
3422f3561b8bSmrg"     {last_section=section; section=\$ 3};"\
3423f3561b8bSmrg"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3424f3561b8bSmrg"     \$ 0!~/External *\|/{next};"\
3425f3561b8bSmrg"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3426f3561b8bSmrg"     {if(hide[section]) next};"\
3427f3561b8bSmrg"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3428f3561b8bSmrg"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3429f3561b8bSmrg"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
3430f3561b8bSmrg"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3431f3561b8bSmrg"     ' prfx=^$ac_symprfx]"
3432f3561b8bSmrg  else
3433f3561b8bSmrg    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3434fc5a983dSmrg  fi
3435fc5a983dSmrg
3436f3561b8bSmrg  # Check to see that the pipe works correctly.
3437f3561b8bSmrg  pipe_works=no
3438fc5a983dSmrg
3439f3561b8bSmrg  rm -f conftest*
3440f3561b8bSmrg  cat > conftest.$ac_ext <<_LT_EOF
3441f3561b8bSmrg#ifdef __cplusplus
3442f3561b8bSmrgextern "C" {
3443f3561b8bSmrg#endif
3444f3561b8bSmrgchar nm_test_var;
3445f3561b8bSmrgvoid nm_test_func(void);
3446f3561b8bSmrgvoid nm_test_func(void){}
3447f3561b8bSmrg#ifdef __cplusplus
3448f3561b8bSmrg}
3449f3561b8bSmrg#endif
3450f3561b8bSmrgint main(){nm_test_var='a';nm_test_func();return(0);}
3451f3561b8bSmrg_LT_EOF
3452fc5a983dSmrg
3453f3561b8bSmrg  if AC_TRY_EVAL(ac_compile); then
3454f3561b8bSmrg    # Now try to grab the symbols.
3455f3561b8bSmrg    nlist=conftest.nm
3456f3561b8bSmrg    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3457f3561b8bSmrg      # Try sorting and uniquifying the output.
3458f3561b8bSmrg      if sort "$nlist" | uniq > "$nlist"T; then
3459f3561b8bSmrg	mv -f "$nlist"T "$nlist"
3460f3561b8bSmrg      else
3461f3561b8bSmrg	rm -f "$nlist"T
3462f3561b8bSmrg      fi
3463fc5a983dSmrg
3464f3561b8bSmrg      # Make sure that we snagged all the symbols we need.
3465f3561b8bSmrg      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3466f3561b8bSmrg	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3467f3561b8bSmrg	  cat <<_LT_EOF > conftest.$ac_ext
3468f3561b8bSmrg#ifdef __cplusplus
3469f3561b8bSmrgextern "C" {
3470f3561b8bSmrg#endif
3471fc5a983dSmrg
3472f3561b8bSmrg_LT_EOF
3473f3561b8bSmrg	  # Now generate the symbol file.
3474f3561b8bSmrg	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3475fc5a983dSmrg
3476f3561b8bSmrg	  cat <<_LT_EOF >> conftest.$ac_ext
3477fc5a983dSmrg
3478f3561b8bSmrg/* The mapping between symbol names and symbols.  */
3479f3561b8bSmrgconst struct {
3480f3561b8bSmrg  const char *name;
3481f3561b8bSmrg  void       *address;
3482f3561b8bSmrg}
3483f3561b8bSmrglt__PROGRAM__LTX_preloaded_symbols[[]] =
3484f3561b8bSmrg{
3485f3561b8bSmrg  { "@PROGRAM@", (void *) 0 },
3486f3561b8bSmrg_LT_EOF
3487f3561b8bSmrg	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3488f3561b8bSmrg	  cat <<\_LT_EOF >> conftest.$ac_ext
3489f3561b8bSmrg  {0, (void *) 0}
3490f3561b8bSmrg};
3491fc5a983dSmrg
3492f3561b8bSmrg/* This works around a problem in FreeBSD linker */
3493f3561b8bSmrg#ifdef FREEBSD_WORKAROUND
3494f3561b8bSmrgstatic const void *lt_preloaded_setup() {
3495f3561b8bSmrg  return lt__PROGRAM__LTX_preloaded_symbols;
3496f3561b8bSmrg}
3497f3561b8bSmrg#endif
3498fc5a983dSmrg
3499f3561b8bSmrg#ifdef __cplusplus
3500f3561b8bSmrg}
3501f3561b8bSmrg#endif
3502f3561b8bSmrg_LT_EOF
3503f3561b8bSmrg	  # Now try linking the two files.
3504f3561b8bSmrg	  mv conftest.$ac_objext conftstm.$ac_objext
3505f3561b8bSmrg	  lt_save_LIBS="$LIBS"
3506f3561b8bSmrg	  lt_save_CFLAGS="$CFLAGS"
3507f3561b8bSmrg	  LIBS="conftstm.$ac_objext"
3508f3561b8bSmrg	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3509f3561b8bSmrg	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3510f3561b8bSmrg	    pipe_works=yes
3511f3561b8bSmrg	  fi
3512f3561b8bSmrg	  LIBS="$lt_save_LIBS"
3513f3561b8bSmrg	  CFLAGS="$lt_save_CFLAGS"
3514f3561b8bSmrg	else
3515f3561b8bSmrg	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3516f3561b8bSmrg	fi
3517f3561b8bSmrg      else
3518f3561b8bSmrg	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3519f3561b8bSmrg      fi
3520fc5a983dSmrg    else
3521f3561b8bSmrg      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3522fc5a983dSmrg    fi
3523fc5a983dSmrg  else
3524f3561b8bSmrg    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3525f3561b8bSmrg    cat conftest.$ac_ext >&5
3526fc5a983dSmrg  fi
3527f3561b8bSmrg  rm -rf conftest* conftst*
3528fc5a983dSmrg
3529f3561b8bSmrg  # Do not use the global_symbol_pipe unless it works.
3530f3561b8bSmrg  if test "$pipe_works" = yes; then
3531f3561b8bSmrg    break
3532f3561b8bSmrg  else
3533f3561b8bSmrg    lt_cv_sys_global_symbol_pipe=
3534f3561b8bSmrg  fi
3535f3561b8bSmrgdone
3536f3561b8bSmrg])
3537f3561b8bSmrgif test -z "$lt_cv_sys_global_symbol_pipe"; then
3538f3561b8bSmrg  lt_cv_sys_global_symbol_to_cdecl=
3539f3561b8bSmrgfi
3540f3561b8bSmrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3541f3561b8bSmrg  AC_MSG_RESULT(failed)
3542fc5a983dSmrgelse
3543f3561b8bSmrg  AC_MSG_RESULT(ok)
3544fc5a983dSmrgfi
3545fc5a983dSmrg
3546f3561b8bSmrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3547f3561b8bSmrg    [Take the output of nm and produce a listing of raw symbols and C names])
3548f3561b8bSmrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3549f3561b8bSmrg    [Transform the output of nm in a proper C declaration])
3550f3561b8bSmrg_LT_DECL([global_symbol_to_c_name_address],
3551f3561b8bSmrg    [lt_cv_sys_global_symbol_to_c_name_address], [1],
3552f3561b8bSmrg    [Transform the output of nm in a C name address pair])
3553f3561b8bSmrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3554f3561b8bSmrg    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3555f3561b8bSmrg    [Transform the output of nm in a C name address pair when lib prefix is needed])
3556f3561b8bSmrg]) # _LT_CMD_GLOBAL_SYMBOLS
3557fc5a983dSmrg
3558fc5a983dSmrg
3559f3561b8bSmrg# _LT_COMPILER_PIC([TAGNAME])
3560f3561b8bSmrg# ---------------------------
3561f3561b8bSmrgm4_defun([_LT_COMPILER_PIC],
3562f3561b8bSmrg[m4_require([_LT_TAG_COMPILER])dnl
3563f3561b8bSmrg_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3564f3561b8bSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3565f3561b8bSmrg_LT_TAGVAR(lt_prog_compiler_static, $1)=
3566fc5a983dSmrg
3567f3561b8bSmrgAC_MSG_CHECKING([for $compiler option to produce PIC])
3568f3561b8bSmrgm4_if([$1], [CXX], [
3569f3561b8bSmrg  # C++ specific cases for pic, static, wl, etc.
3570f3561b8bSmrg  if test "$GXX" = yes; then
3571f3561b8bSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3572f3561b8bSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3573fc5a983dSmrg
3574f3561b8bSmrg    case $host_os in
3575f3561b8bSmrg    aix*)
3576f3561b8bSmrg      # All AIX code is PIC.
3577fc5a983dSmrg      if test "$host_cpu" = ia64; then
3578f3561b8bSmrg	# AIX 5 now supports IA64 processor
3579f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3580fc5a983dSmrg      fi
3581fc5a983dSmrg      ;;
3582fc5a983dSmrg
3583f3561b8bSmrg    amigaos*)
3584fc5a983dSmrg      case $host_cpu in
3585f3561b8bSmrg      powerpc)
3586f3561b8bSmrg            # see comment about AmigaOS4 .so support
3587f3561b8bSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3588f3561b8bSmrg        ;;
3589f3561b8bSmrg      m68k)
3590f3561b8bSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
3591f3561b8bSmrg            # adding the `-m68020' flag to GCC prevents building anything better,
3592f3561b8bSmrg            # like `-m68040'.
3593f3561b8bSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3594fc5a983dSmrg        ;;
3595fc5a983dSmrg      esac
3596fc5a983dSmrg      ;;
3597fc5a983dSmrg
3598f3561b8bSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3599f3561b8bSmrg      # PIC is the default for these OSes.
3600f3561b8bSmrg      ;;
3601f3561b8bSmrg    mingw* | cygwin* | os2* | pw32* | cegcc*)
3602f3561b8bSmrg      # This hack is so that the source file can tell whether it is being
3603f3561b8bSmrg      # built for inclusion in a dll (and should export symbols for example).
3604f3561b8bSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
3605f3561b8bSmrg      # (--disable-auto-import) libraries
3606f3561b8bSmrg      m4_if([$1], [GCJ], [],
3607f3561b8bSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3608f3561b8bSmrg      ;;
3609f3561b8bSmrg    darwin* | rhapsody*)
3610f3561b8bSmrg      # PIC is the default on this platform
3611f3561b8bSmrg      # Common symbols not allowed in MH_DYLIB files
3612f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3613f3561b8bSmrg      ;;
3614f3561b8bSmrg    *djgpp*)
3615f3561b8bSmrg      # DJGPP does not support shared libraries at all
3616f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3617f3561b8bSmrg      ;;
3618f3561b8bSmrg    interix[[3-9]]*)
3619f3561b8bSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3620f3561b8bSmrg      # Instead, we relocate shared libraries at runtime.
3621f3561b8bSmrg      ;;
3622f3561b8bSmrg    sysv4*MP*)
3623f3561b8bSmrg      if test -d /usr/nec; then
3624f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3625f3561b8bSmrg      fi
3626f3561b8bSmrg      ;;
3627f3561b8bSmrg    hpux*)
3628f3561b8bSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3629f3561b8bSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
3630f3561b8bSmrg      # sets the default TLS model and affects inlining.
3631f3561b8bSmrg      case $host_cpu in
3632f3561b8bSmrg      hppa*64*)
3633fc5a983dSmrg	;;
3634fc5a983dSmrg      *)
3635f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3636fc5a983dSmrg	;;
3637f3561b8bSmrg      esac
3638f3561b8bSmrg      ;;
3639f3561b8bSmrg    *qnx* | *nto*)
3640f3561b8bSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
3641f3561b8bSmrg      # it will coredump.
3642f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3643f3561b8bSmrg      ;;
3644f3561b8bSmrg    *)
3645f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3646f3561b8bSmrg      ;;
3647fc5a983dSmrg    esac
3648f3561b8bSmrg  else
3649f3561b8bSmrg    case $host_os in
3650f3561b8bSmrg      aix[[4-9]]*)
3651f3561b8bSmrg	# All AIX code is PIC.
3652f3561b8bSmrg	if test "$host_cpu" = ia64; then
3653f3561b8bSmrg	  # AIX 5 now supports IA64 processor
3654f3561b8bSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3655f3561b8bSmrg	else
3656f3561b8bSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3657fc5a983dSmrg	fi
3658fc5a983dSmrg	;;
3659f3561b8bSmrg      chorus*)
3660f3561b8bSmrg	case $cc_basename in
3661f3561b8bSmrg	cxch68*)
3662f3561b8bSmrg	  # Green Hills C++ Compiler
3663f3561b8bSmrg	  # _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"
3664fc5a983dSmrg	  ;;
3665fc5a983dSmrg	esac
3666fc5a983dSmrg	;;
3667f3561b8bSmrg      dgux*)
3668f3561b8bSmrg	case $cc_basename in
3669f3561b8bSmrg	  ec++*)
3670f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3671f3561b8bSmrg	    ;;
3672f3561b8bSmrg	  ghcx*)
3673f3561b8bSmrg	    # Green Hills C++ Compiler
3674f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3675f3561b8bSmrg	    ;;
3676f3561b8bSmrg	  *)
3677f3561b8bSmrg	    ;;
3678fc5a983dSmrg	esac
3679fc5a983dSmrg	;;
3680f3561b8bSmrg      freebsd* | dragonfly*)
3681f3561b8bSmrg	# FreeBSD uses GNU C++
3682fc5a983dSmrg	;;
3683f3561b8bSmrg      hpux9* | hpux10* | hpux11*)
3684f3561b8bSmrg	case $cc_basename in
3685f3561b8bSmrg	  CC*)
3686f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3687f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3688f3561b8bSmrg	    if test "$host_cpu" != ia64; then
3689f3561b8bSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3690f3561b8bSmrg	    fi
3691f3561b8bSmrg	    ;;
3692f3561b8bSmrg	  aCC*)
3693f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3694f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3695f3561b8bSmrg	    case $host_cpu in
3696f3561b8bSmrg	    hppa*64*|ia64*)
3697f3561b8bSmrg	      # +Z the default
3698f3561b8bSmrg	      ;;
3699f3561b8bSmrg	    *)
3700f3561b8bSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3701f3561b8bSmrg	      ;;
3702f3561b8bSmrg	    esac
3703f3561b8bSmrg	    ;;
3704f3561b8bSmrg	  *)
3705f3561b8bSmrg	    ;;
3706f3561b8bSmrg	esac
3707fc5a983dSmrg	;;
3708f3561b8bSmrg      interix*)
3709f3561b8bSmrg	# This is c89, which is MS Visual C++ (no shared libs)
3710f3561b8bSmrg	# Anyone wants to do a port?
3711fc5a983dSmrg	;;
3712f3561b8bSmrg      irix5* | irix6* | nonstopux*)
3713f3561b8bSmrg	case $cc_basename in
3714f3561b8bSmrg	  CC*)
3715f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3716f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3717f3561b8bSmrg	    # CC pic flag -KPIC is the default.
3718f3561b8bSmrg	    ;;
3719f3561b8bSmrg	  *)
3720f3561b8bSmrg	    ;;
3721f3561b8bSmrg	esac
3722fc5a983dSmrg	;;
37236086d97eSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu)
3724f3561b8bSmrg	case $cc_basename in
3725f3561b8bSmrg	  KCC*)
3726f3561b8bSmrg	    # KAI C++ Compiler
3727f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3728f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3729f3561b8bSmrg	    ;;
3730f3561b8bSmrg	  ecpc* )
3731f3561b8bSmrg	    # old Intel C++ for x86_64 which still supported -KPIC.
3732f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3733f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3734f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3735f3561b8bSmrg	    ;;
3736f3561b8bSmrg	  icpc* )
3737f3561b8bSmrg	    # Intel C++, used to be incompatible with GCC.
3738f3561b8bSmrg	    # ICC 10 doesn't accept -KPIC any more.
3739f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3740f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3741f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3742f3561b8bSmrg	    ;;
3743f3561b8bSmrg	  pgCC* | pgcpp*)
3744f3561b8bSmrg	    # Portland Group C++ compiler
3745f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3746f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3747f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3748f3561b8bSmrg	    ;;
3749f3561b8bSmrg	  cxx*)
3750f3561b8bSmrg	    # Compaq C++
3751f3561b8bSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
3752f3561b8bSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
3753f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3754f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3755f3561b8bSmrg	    ;;
3756f3561b8bSmrg	  xlc* | xlC*)
3757f3561b8bSmrg	    # IBM XL 8.0 on PPC
3758f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3759f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3760f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
3761f3561b8bSmrg	    ;;
3762f3561b8bSmrg	  *)
3763f3561b8bSmrg	    case `$CC -V 2>&1 | sed 5q` in
3764f3561b8bSmrg	    *Sun\ C*)
3765f3561b8bSmrg	      # Sun C++ 5.9
3766f3561b8bSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3767f3561b8bSmrg	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3768f3561b8bSmrg	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3769f3561b8bSmrg	      ;;
3770f3561b8bSmrg	    esac
3771f3561b8bSmrg	    ;;
3772f3561b8bSmrg	esac
3773fc5a983dSmrg	;;
3774f3561b8bSmrg      lynxos*)
3775fc5a983dSmrg	;;
3776f3561b8bSmrg      m88k*)
3777fc5a983dSmrg	;;
3778f3561b8bSmrg      mvs*)
3779f3561b8bSmrg	case $cc_basename in
3780f3561b8bSmrg	  cxx*)
3781f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
3782f3561b8bSmrg	    ;;
3783f3561b8bSmrg	  *)
3784f3561b8bSmrg	    ;;
3785f3561b8bSmrg	esac
3786fc5a983dSmrg	;;
3787bd2f6fc9Smrg      netbsd* | netbsdelf*-gnu)
3788fc5a983dSmrg	;;
3789f3561b8bSmrg      *qnx* | *nto*)
3790f3561b8bSmrg        # QNX uses GNU C++, but need to define -shared option too, otherwise
3791f3561b8bSmrg        # it will coredump.
3792f3561b8bSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3793f3561b8bSmrg        ;;
3794f3561b8bSmrg      osf3* | osf4* | osf5*)
3795f3561b8bSmrg	case $cc_basename in
3796f3561b8bSmrg	  KCC*)
3797f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3798f3561b8bSmrg	    ;;
3799f3561b8bSmrg	  RCC*)
3800f3561b8bSmrg	    # Rational C++ 2.4.1
3801f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3802f3561b8bSmrg	    ;;
3803f3561b8bSmrg	  cxx*)
3804f3561b8bSmrg	    # Digital/Compaq C++
3805f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3806f3561b8bSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
3807f3561b8bSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
3808f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3809f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3810f3561b8bSmrg	    ;;
3811f3561b8bSmrg	  *)
3812f3561b8bSmrg	    ;;
3813f3561b8bSmrg	esac
3814fc5a983dSmrg	;;
3815f3561b8bSmrg      psos*)
3816fc5a983dSmrg	;;
3817f3561b8bSmrg      solaris*)
3818f3561b8bSmrg	case $cc_basename in
3819f3561b8bSmrg	  CC*)
3820f3561b8bSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
3821f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3822f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3823f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3824f3561b8bSmrg	    ;;
3825f3561b8bSmrg	  gcx*)
3826f3561b8bSmrg	    # Green Hills C++ Compiler
3827f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
3828f3561b8bSmrg	    ;;
3829f3561b8bSmrg	  *)
3830f3561b8bSmrg	    ;;
3831f3561b8bSmrg	esac
3832fc5a983dSmrg	;;
3833f3561b8bSmrg      sunos4*)
3834f3561b8bSmrg	case $cc_basename in
3835f3561b8bSmrg	  CC*)
3836f3561b8bSmrg	    # Sun C++ 4.x
3837f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3838f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3839f3561b8bSmrg	    ;;
3840f3561b8bSmrg	  lcc*)
3841f3561b8bSmrg	    # Lucid
3842f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3843f3561b8bSmrg	    ;;
3844fc5a983dSmrg	  *)
3845fc5a983dSmrg	    ;;
3846fc5a983dSmrg	esac
3847fc5a983dSmrg	;;
3848f3561b8bSmrg      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3849f3561b8bSmrg	case $cc_basename in
3850f3561b8bSmrg	  CC*)
3851f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3852f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3853f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3854f3561b8bSmrg	    ;;
3855f3561b8bSmrg	esac
3856fc5a983dSmrg	;;
3857f3561b8bSmrg      tandem*)
3858f3561b8bSmrg	case $cc_basename in
3859f3561b8bSmrg	  NCC*)
3860f3561b8bSmrg	    # NonStop-UX NCC 3.20
3861f3561b8bSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3862f3561b8bSmrg	    ;;
3863fc5a983dSmrg	  *)
3864fc5a983dSmrg	    ;;
3865f3561b8bSmrg	esac
3866fc5a983dSmrg	;;
3867f3561b8bSmrg      vxworks*)
3868fc5a983dSmrg	;;
3869fc5a983dSmrg      *)
3870f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3871fc5a983dSmrg	;;
3872fc5a983dSmrg    esac
3873f3561b8bSmrg  fi
3874f3561b8bSmrg],
3875f3561b8bSmrg[
3876f3561b8bSmrg  if test "$GCC" = yes; then
3877f3561b8bSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3878f3561b8bSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3879f3561b8bSmrg
3880f3561b8bSmrg    case $host_os in
3881f3561b8bSmrg      aix*)
3882f3561b8bSmrg      # All AIX code is PIC.
3883f3561b8bSmrg      if test "$host_cpu" = ia64; then
3884f3561b8bSmrg	# AIX 5 now supports IA64 processor
3885f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3886f3561b8bSmrg      fi
3887f3561b8bSmrg      ;;
3888f3561b8bSmrg
3889f3561b8bSmrg    amigaos*)
3890f3561b8bSmrg      case $host_cpu in
3891f3561b8bSmrg      powerpc)
3892f3561b8bSmrg            # see comment about AmigaOS4 .so support
3893f3561b8bSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3894f3561b8bSmrg        ;;
3895f3561b8bSmrg      m68k)
3896f3561b8bSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
3897f3561b8bSmrg            # adding the `-m68020' flag to GCC prevents building anything better,
3898f3561b8bSmrg            # like `-m68040'.
3899f3561b8bSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3900f3561b8bSmrg        ;;
3901f3561b8bSmrg      esac
3902f3561b8bSmrg      ;;
3903f3561b8bSmrg
3904f3561b8bSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3905f3561b8bSmrg      # PIC is the default for these OSes.
3906f3561b8bSmrg      ;;
3907f3561b8bSmrg
3908f3561b8bSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
3909f3561b8bSmrg      # This hack is so that the source file can tell whether it is being
3910f3561b8bSmrg      # built for inclusion in a dll (and should export symbols for example).
3911f3561b8bSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
3912f3561b8bSmrg      # (--disable-auto-import) libraries
3913f3561b8bSmrg      m4_if([$1], [GCJ], [],
3914f3561b8bSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3915f3561b8bSmrg      ;;
3916f3561b8bSmrg
3917f3561b8bSmrg    darwin* | rhapsody*)
3918f3561b8bSmrg      # PIC is the default on this platform
3919f3561b8bSmrg      # Common symbols not allowed in MH_DYLIB files
3920f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3921f3561b8bSmrg      ;;
3922f3561b8bSmrg
3923f3561b8bSmrg    hpux*)
3924f3561b8bSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3925f3561b8bSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
3926f3561b8bSmrg      # sets the default TLS model and affects inlining.
3927f3561b8bSmrg      case $host_cpu in
3928f3561b8bSmrg      hppa*64*)
3929f3561b8bSmrg	# +Z the default
3930fc5a983dSmrg	;;
3931fc5a983dSmrg      *)
3932f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3933fc5a983dSmrg	;;
3934f3561b8bSmrg      esac
3935f3561b8bSmrg      ;;
3936f3561b8bSmrg
3937f3561b8bSmrg    interix[[3-9]]*)
3938f3561b8bSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3939f3561b8bSmrg      # Instead, we relocate shared libraries at runtime.
3940f3561b8bSmrg      ;;
3941f3561b8bSmrg
3942f3561b8bSmrg    msdosdjgpp*)
3943f3561b8bSmrg      # Just because we use GCC doesn't mean we suddenly get shared libraries
3944f3561b8bSmrg      # on systems that don't support them.
3945f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3946f3561b8bSmrg      enable_shared=no
3947f3561b8bSmrg      ;;
3948f3561b8bSmrg
3949f3561b8bSmrg    *nto* | *qnx*)
3950f3561b8bSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
3951f3561b8bSmrg      # it will coredump.
3952f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3953f3561b8bSmrg      ;;
3954f3561b8bSmrg
3955f3561b8bSmrg    sysv4*MP*)
3956f3561b8bSmrg      if test -d /usr/nec; then
3957f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3958f3561b8bSmrg      fi
3959f3561b8bSmrg      ;;
3960f3561b8bSmrg
3961f3561b8bSmrg    *)
3962f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3963f3561b8bSmrg      ;;
3964fc5a983dSmrg    esac
3965f3561b8bSmrg  else
3966f3561b8bSmrg    # PORTME Check for flag to pass linker flags through the system compiler.
3967f3561b8bSmrg    case $host_os in
3968f3561b8bSmrg    aix*)
3969f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3970f3561b8bSmrg      if test "$host_cpu" = ia64; then
3971f3561b8bSmrg	# AIX 5 now supports IA64 processor
3972f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3973f3561b8bSmrg      else
3974f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3975f3561b8bSmrg      fi
3976f3561b8bSmrg      ;;
3977f3561b8bSmrg
3978f3561b8bSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
3979f3561b8bSmrg      # This hack is so that the source file can tell whether it is being
3980f3561b8bSmrg      # built for inclusion in a dll (and should export symbols for example).
3981f3561b8bSmrg      m4_if([$1], [GCJ], [],
3982f3561b8bSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3983f3561b8bSmrg      ;;
3984f3561b8bSmrg
3985f3561b8bSmrg    hpux9* | hpux10* | hpux11*)
3986f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3987f3561b8bSmrg      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3988f3561b8bSmrg      # not for PA HP-UX.
3989f3561b8bSmrg      case $host_cpu in
3990f3561b8bSmrg      hppa*64*|ia64*)
3991f3561b8bSmrg	# +Z the default
3992fc5a983dSmrg	;;
3993fc5a983dSmrg      *)
3994f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3995fc5a983dSmrg	;;
3996f3561b8bSmrg      esac
3997f3561b8bSmrg      # Is there a better lt_prog_compiler_static that works with the bundled CC?
3998f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3999f3561b8bSmrg      ;;
4000fc5a983dSmrg
4001f3561b8bSmrg    irix5* | irix6* | nonstopux*)
4002f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4003f3561b8bSmrg      # PIC (with -KPIC) is the default.
4004f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4005f3561b8bSmrg      ;;
4006fc5a983dSmrg
40076086d97eSmrg    linux* | k*bsd*-gnu | kopensolaris*-gnu)
4008f3561b8bSmrg      case $cc_basename in
4009f3561b8bSmrg      # old Intel for x86_64 which still supported -KPIC.
4010f3561b8bSmrg      ecc*)
4011f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4012f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4013f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4014f3561b8bSmrg        ;;
4015f3561b8bSmrg      # icc used to be incompatible with GCC.
4016f3561b8bSmrg      # ICC 10 doesn't accept -KPIC any more.
4017f3561b8bSmrg      icc* | ifort*)
4018f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4019f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4020f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4021f3561b8bSmrg        ;;
4022f3561b8bSmrg      # Lahey Fortran 8.1.
4023f3561b8bSmrg      lf95*)
4024f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4025f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4026f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4027f3561b8bSmrg	;;
4028f3561b8bSmrg      pgcc* | pgf77* | pgf90* | pgf95*)
4029f3561b8bSmrg        # Portland Group compilers (*not* the Pentium gcc compiler,
4030f3561b8bSmrg	# which looks to be a dead project)
4031f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4032f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4033f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4034f3561b8bSmrg        ;;
4035f3561b8bSmrg      ccc*)
4036f3561b8bSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4037f3561b8bSmrg        # All Alpha code is PIC.
4038f3561b8bSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4039f3561b8bSmrg        ;;
4040f3561b8bSmrg      xl*)
4041f3561b8bSmrg	# IBM XL C 8.0/Fortran 10.1 on PPC
4042f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4043f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4044f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4045f3561b8bSmrg	;;
4046f3561b8bSmrg      *)
4047f3561b8bSmrg	case `$CC -V 2>&1 | sed 5q` in
4048f3561b8bSmrg	*Sun\ C*)
4049f3561b8bSmrg	  # Sun C 5.9
4050f3561b8bSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4051f3561b8bSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4052f3561b8bSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4053f3561b8bSmrg	  ;;
4054f3561b8bSmrg	*Sun\ F*)
4055f3561b8bSmrg	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
4056f3561b8bSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4057f3561b8bSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4058f3561b8bSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4059f3561b8bSmrg	  ;;
4060f3561b8bSmrg	esac
4061f3561b8bSmrg	;;
4062f3561b8bSmrg      esac
4063f3561b8bSmrg      ;;
4064fc5a983dSmrg
4065f3561b8bSmrg    newsos6)
4066f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4067f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4068f3561b8bSmrg      ;;
4069fc5a983dSmrg
4070f3561b8bSmrg    *nto* | *qnx*)
4071f3561b8bSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
4072f3561b8bSmrg      # it will coredump.
4073f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4074f3561b8bSmrg      ;;
4075fc5a983dSmrg
4076f3561b8bSmrg    osf3* | osf4* | osf5*)
4077f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4078f3561b8bSmrg      # All OSF/1 code is PIC.
4079f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4080f3561b8bSmrg      ;;
4081fc5a983dSmrg
4082f3561b8bSmrg    rdos*)
4083f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4084f3561b8bSmrg      ;;
4085fc5a983dSmrg
4086f3561b8bSmrg    solaris*)
4087f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4088f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4089f3561b8bSmrg      case $cc_basename in
4090f3561b8bSmrg      f77* | f90* | f95*)
4091f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4092f3561b8bSmrg      *)
4093f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4094f3561b8bSmrg      esac
4095f3561b8bSmrg      ;;
4096fc5a983dSmrg
4097f3561b8bSmrg    sunos4*)
4098f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4099f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4100f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4101f3561b8bSmrg      ;;
4102fc5a983dSmrg
4103f3561b8bSmrg    sysv4 | sysv4.2uw2* | sysv4.3*)
4104f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4105f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4106f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4107f3561b8bSmrg      ;;
4108fc5a983dSmrg
4109f3561b8bSmrg    sysv4*MP*)
4110f3561b8bSmrg      if test -d /usr/nec ;then
4111f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4112f3561b8bSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4113f3561b8bSmrg      fi
4114f3561b8bSmrg      ;;
4115fc5a983dSmrg
4116f3561b8bSmrg    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4117f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4118f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4119f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4120f3561b8bSmrg      ;;
4121fc5a983dSmrg
4122f3561b8bSmrg    unicos*)
4123f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4124f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4125f3561b8bSmrg      ;;
4126fc5a983dSmrg
4127f3561b8bSmrg    uts4*)
4128f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4129f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4130f3561b8bSmrg      ;;
4131fc5a983dSmrg
4132f3561b8bSmrg    *)
4133f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4134f3561b8bSmrg      ;;
4135f3561b8bSmrg    esac
4136f3561b8bSmrg  fi
4137f3561b8bSmrg])
4138f3561b8bSmrgcase $host_os in
4139f3561b8bSmrg  # For platforms which do not support PIC, -DPIC is meaningless:
4140f3561b8bSmrg  *djgpp*)
4141f3561b8bSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4142f3561b8bSmrg    ;;
4143f3561b8bSmrg  *)
4144f3561b8bSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4145f3561b8bSmrg    ;;
4146f3561b8bSmrgesac
4147f3561b8bSmrgAC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4148f3561b8bSmrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4149f3561b8bSmrg	[How to pass a linker flag through the compiler])
4150fc5a983dSmrg
4151f3561b8bSmrg#
4152f3561b8bSmrg# Check to make sure the PIC flag actually works.
4153f3561b8bSmrg#
4154f3561b8bSmrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4155f3561b8bSmrg  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4156f3561b8bSmrg    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4157f3561b8bSmrg    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4158f3561b8bSmrg    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4159f3561b8bSmrg     "" | " "*) ;;
4160f3561b8bSmrg     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4161f3561b8bSmrg     esac],
4162f3561b8bSmrg    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4163f3561b8bSmrg     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4164f3561b8bSmrgfi
4165f3561b8bSmrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4166f3561b8bSmrg	[Additional compiler flags for building library objects])
4167fc5a983dSmrg
4168f3561b8bSmrg#
4169f3561b8bSmrg# Check to make sure the static flag actually works.
4170f3561b8bSmrg#
4171f3561b8bSmrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4172f3561b8bSmrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4173f3561b8bSmrg  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4174f3561b8bSmrg  $lt_tmp_static_flag,
4175f3561b8bSmrg  [],
4176f3561b8bSmrg  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4177f3561b8bSmrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4178f3561b8bSmrg	[Compiler flag to prevent dynamic linking])
4179f3561b8bSmrg])# _LT_COMPILER_PIC
4180fc5a983dSmrg
4181f3561b8bSmrg
4182f3561b8bSmrg# _LT_LINKER_SHLIBS([TAGNAME])
4183f3561b8bSmrg# ----------------------------
4184f3561b8bSmrg# See if the linker supports building shared libraries.
4185f3561b8bSmrgm4_defun([_LT_LINKER_SHLIBS],
4186f3561b8bSmrg[AC_REQUIRE([LT_PATH_LD])dnl
4187f3561b8bSmrgAC_REQUIRE([LT_PATH_NM])dnl
4188f3561b8bSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
4189f3561b8bSmrgm4_require([_LT_DECL_EGREP])dnl
4190f3561b8bSmrgm4_require([_LT_DECL_SED])dnl
4191f3561b8bSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4192f3561b8bSmrgm4_require([_LT_TAG_COMPILER])dnl
4193f3561b8bSmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4194f3561b8bSmrgm4_if([$1], [CXX], [
4195f3561b8bSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4196f3561b8bSmrg  case $host_os in
4197f3561b8bSmrg  aix[[4-9]]*)
4198f3561b8bSmrg    # If we're using GNU nm, then we don't want the "-C" option.
4199f3561b8bSmrg    # -C means demangle to AIX nm, but means don't demangle with GNU nm
4200f3561b8bSmrg    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4201f3561b8bSmrg      _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'
4202f3561b8bSmrg    else
4203f3561b8bSmrg      _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'
4204fc5a983dSmrg    fi
4205fc5a983dSmrg    ;;
4206f3561b8bSmrg  pw32*)
4207f3561b8bSmrg    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4208fc5a983dSmrg  ;;
4209f3561b8bSmrg  cygwin* | mingw* | cegcc*)
4210f3561b8bSmrg    _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'
4211f3561b8bSmrg  ;;
4212bd2f6fc9Smrg  linux* | k*bsd*-gnu)
4213bd2f6fc9Smrg    _LT_TAGVAR(link_all_deplibs, $1)=no
4214bd2f6fc9Smrg  ;;
4215f3561b8bSmrg  *)
4216f3561b8bSmrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4217f3561b8bSmrg  ;;
4218f3561b8bSmrg  esac
4219f3561b8bSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4220f3561b8bSmrg], [
4221f3561b8bSmrg  runpath_var=
4222f3561b8bSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=
4223f3561b8bSmrg  _LT_TAGVAR(always_export_symbols, $1)=no
4224f3561b8bSmrg  _LT_TAGVAR(archive_cmds, $1)=
4225f3561b8bSmrg  _LT_TAGVAR(archive_expsym_cmds, $1)=
4226f3561b8bSmrg  _LT_TAGVAR(compiler_needs_object, $1)=no
4227f3561b8bSmrg  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4228f3561b8bSmrg  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4229f3561b8bSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4230f3561b8bSmrg  _LT_TAGVAR(hardcode_automatic, $1)=no
4231f3561b8bSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
4232f3561b8bSmrg  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4233f3561b8bSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4234f3561b8bSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4235f3561b8bSmrg  _LT_TAGVAR(hardcode_libdir_separator, $1)=
4236f3561b8bSmrg  _LT_TAGVAR(hardcode_minus_L, $1)=no
4237f3561b8bSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4238f3561b8bSmrg  _LT_TAGVAR(inherit_rpath, $1)=no
4239f3561b8bSmrg  _LT_TAGVAR(link_all_deplibs, $1)=unknown
4240f3561b8bSmrg  _LT_TAGVAR(module_cmds, $1)=
4241f3561b8bSmrg  _LT_TAGVAR(module_expsym_cmds, $1)=
4242f3561b8bSmrg  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4243f3561b8bSmrg  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4244f3561b8bSmrg  _LT_TAGVAR(thread_safe_flag_spec, $1)=
4245f3561b8bSmrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4246f3561b8bSmrg  # include_expsyms should be a list of space-separated symbols to be *always*
4247f3561b8bSmrg  # included in the symbol list
4248f3561b8bSmrg  _LT_TAGVAR(include_expsyms, $1)=
4249f3561b8bSmrg  # exclude_expsyms can be an extended regexp of symbols to exclude
4250f3561b8bSmrg  # it will be wrapped by ` (' and `)$', so one must not match beginning or
4251f3561b8bSmrg  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4252f3561b8bSmrg  # as well as any symbol that contains `d'.
4253f3561b8bSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4254f3561b8bSmrg  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4255f3561b8bSmrg  # platforms (ab)use it in PIC code, but their linkers get confused if
4256f3561b8bSmrg  # the symbol is explicitly referenced.  Since portable code cannot
4257f3561b8bSmrg  # rely on this symbol name, it's probably fine to never include it in
4258f3561b8bSmrg  # preloaded symbol tables.
4259f3561b8bSmrg  # Exclude shared library initialization/finalization symbols.
4260f3561b8bSmrgdnl Note also adjust exclude_expsyms for C++ above.
4261f3561b8bSmrg  extract_expsyms_cmds=
4262fc5a983dSmrg
4263f3561b8bSmrg  case $host_os in
4264f3561b8bSmrg  cygwin* | mingw* | pw32* | cegcc*)
4265f3561b8bSmrg    # FIXME: the MSVC++ port hasn't been tested in a loooong time
4266f3561b8bSmrg    # When not using gcc, we currently assume that we are using
4267f3561b8bSmrg    # Microsoft Visual C++.
4268f3561b8bSmrg    if test "$GCC" != yes; then
4269f3561b8bSmrg      with_gnu_ld=no
4270fc5a983dSmrg    fi
4271fc5a983dSmrg    ;;
4272f3561b8bSmrg  interix*)
4273f3561b8bSmrg    # we just hope/assume this is gcc and not c89 (= MSVC++)
4274f3561b8bSmrg    with_gnu_ld=yes
4275f3561b8bSmrg    ;;
4276f3561b8bSmrg  openbsd*)
4277f3561b8bSmrg    with_gnu_ld=no
4278f3561b8bSmrg    ;;
427971ba42d0Smrg  linux* | k*bsd*-gnu)
428071ba42d0Smrg    _LT_TAGVAR(link_all_deplibs, $1)=no
428171ba42d0Smrg    ;;
4282fc5a983dSmrg  esac
4283fc5a983dSmrg
4284f3561b8bSmrg  _LT_TAGVAR(ld_shlibs, $1)=yes
4285f3561b8bSmrg  if test "$with_gnu_ld" = yes; then
4286f3561b8bSmrg    # If archive_cmds runs LD, not CC, wlarc should be empty
4287f3561b8bSmrg    wlarc='${wl}'
4288fc5a983dSmrg
4289f3561b8bSmrg    # Set some defaults for GNU ld with shared library support. These
4290f3561b8bSmrg    # are reset later if shared libraries are not supported. Putting them
4291f3561b8bSmrg    # here allows them to be overridden if necessary.
4292f3561b8bSmrg    runpath_var=LD_RUN_PATH
4293f3561b8bSmrg    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4294f3561b8bSmrg    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4295f3561b8bSmrg    # ancient GNU ld didn't support --whole-archive et. al.
4296f3561b8bSmrg    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4297f3561b8bSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4298f3561b8bSmrg    else
4299f3561b8bSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
4300f3561b8bSmrg    fi
4301f3561b8bSmrg    supports_anon_versioning=no
4302f3561b8bSmrg    case `$LD -v 2>&1` in
43036086d97eSmrg      *GNU\ gold*) supports_anon_versioning=yes ;;
4304f3561b8bSmrg      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4305f3561b8bSmrg      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4306f3561b8bSmrg      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4307f3561b8bSmrg      *\ 2.11.*) ;; # other 2.11 versions
4308f3561b8bSmrg      *) supports_anon_versioning=yes ;;
4309f3561b8bSmrg    esac
4310fc5a983dSmrg
4311f3561b8bSmrg    # See if GNU ld supports shared libraries.
4312f3561b8bSmrg    case $host_os in
4313f3561b8bSmrg    aix[[3-9]]*)
4314f3561b8bSmrg      # On AIX/PPC, the GNU linker is very broken
4315f3561b8bSmrg      if test "$host_cpu" != ia64; then
4316f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
4317f3561b8bSmrg	cat <<_LT_EOF 1>&2
4318fc5a983dSmrg
4319f3561b8bSmrg*** Warning: the GNU linker, at least up to release 2.9.1, is reported
4320f3561b8bSmrg*** to be unable to reliably create shared libraries on AIX.
4321f3561b8bSmrg*** Therefore, libtool is disabling shared libraries support.  If you
4322f3561b8bSmrg*** really care for shared libraries, you may want to modify your PATH
4323f3561b8bSmrg*** so that a non-GNU linker is found, and then restart.
4324fc5a983dSmrg
4325f3561b8bSmrg_LT_EOF
4326f3561b8bSmrg      fi
4327f3561b8bSmrg      ;;
4328fc5a983dSmrg
4329f3561b8bSmrg    amigaos*)
4330f3561b8bSmrg      case $host_cpu in
4331f3561b8bSmrg      powerpc)
4332f3561b8bSmrg            # see comment about AmigaOS4 .so support
4333f3561b8bSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4334f3561b8bSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
4335f3561b8bSmrg        ;;
4336f3561b8bSmrg      m68k)
4337f3561b8bSmrg            _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)'
4338f3561b8bSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4339f3561b8bSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
4340f3561b8bSmrg        ;;
4341f3561b8bSmrg      esac
4342f3561b8bSmrg      ;;
4343fc5a983dSmrg
4344f3561b8bSmrg    beos*)
4345f3561b8bSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4346f3561b8bSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4347f3561b8bSmrg	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4348f3561b8bSmrg	# support --undefined.  This deserves some investigation.  FIXME
4349f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4350f3561b8bSmrg      else
4351f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
4352f3561b8bSmrg      fi
4353f3561b8bSmrg      ;;
4354fc5a983dSmrg
4355f3561b8bSmrg    cygwin* | mingw* | pw32* | cegcc*)
4356f3561b8bSmrg      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4357f3561b8bSmrg      # as there is no search path for DLLs.
4358f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4359f3561b8bSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4360f3561b8bSmrg      _LT_TAGVAR(always_export_symbols, $1)=no
4361f3561b8bSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4362f3561b8bSmrg      _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'
4363f3561b8bSmrg
4364f3561b8bSmrg      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4365f3561b8bSmrg        _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'
4366f3561b8bSmrg	# If the export-symbols file already is a .def file (1st line
4367f3561b8bSmrg	# is EXPORTS), use it as is; otherwise, prepend...
4368f3561b8bSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4369f3561b8bSmrg	  cp $export_symbols $output_objdir/$soname.def;
4370f3561b8bSmrg	else
4371f3561b8bSmrg	  echo EXPORTS > $output_objdir/$soname.def;
4372f3561b8bSmrg	  cat $export_symbols >> $output_objdir/$soname.def;
4373f3561b8bSmrg	fi~
4374f3561b8bSmrg	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4375f3561b8bSmrg      else
4376f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
4377f3561b8bSmrg      fi
4378f3561b8bSmrg      ;;
4379fc5a983dSmrg
4380f3561b8bSmrg    interix[[3-9]]*)
4381f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=no
4382f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4383f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4384f3561b8bSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4385f3561b8bSmrg      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4386f3561b8bSmrg      # Instead, shared libraries are loaded at an image base (0x10000000 by
4387f3561b8bSmrg      # default) and relocated if they conflict, which is a slow very memory
4388f3561b8bSmrg      # consuming and fragmenting process.  To avoid this, we pick a random,
4389f3561b8bSmrg      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4390f3561b8bSmrg      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
4391f3561b8bSmrg      _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'
4392f3561b8bSmrg      _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'
4393f3561b8bSmrg      ;;
4394fc5a983dSmrg
43956086d97eSmrg    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
4396f3561b8bSmrg      tmp_diet=no
4397f3561b8bSmrg      if test "$host_os" = linux-dietlibc; then
4398f3561b8bSmrg	case $cc_basename in
4399f3561b8bSmrg	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
4400f3561b8bSmrg	esac
4401f3561b8bSmrg      fi
4402f3561b8bSmrg      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4403f3561b8bSmrg	 && test "$tmp_diet" = no
4404f3561b8bSmrg      then
4405f3561b8bSmrg	tmp_addflag=
4406f3561b8bSmrg	tmp_sharedflag='-shared'
4407f3561b8bSmrg	case $cc_basename,$host_cpu in
4408f3561b8bSmrg        pgcc*)				# Portland Group C compiler
4409f3561b8bSmrg	  _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'
4410f3561b8bSmrg	  tmp_addflag=' $pic_flag'
4411f3561b8bSmrg	  ;;
4412f3561b8bSmrg	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
4413f3561b8bSmrg	  _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'
4414f3561b8bSmrg	  tmp_addflag=' $pic_flag -Mnomain' ;;
4415f3561b8bSmrg	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
4416f3561b8bSmrg	  tmp_addflag=' -i_dynamic' ;;
4417f3561b8bSmrg	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
4418f3561b8bSmrg	  tmp_addflag=' -i_dynamic -nofor_main' ;;
4419f3561b8bSmrg	ifc* | ifort*)			# Intel Fortran compiler
4420f3561b8bSmrg	  tmp_addflag=' -nofor_main' ;;
4421f3561b8bSmrg	lf95*)				# Lahey Fortran 8.1
4422f3561b8bSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4423f3561b8bSmrg	  tmp_sharedflag='--shared' ;;
4424f3561b8bSmrg	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
4425f3561b8bSmrg	  tmp_sharedflag='-qmkshrobj'
4426f3561b8bSmrg	  tmp_addflag= ;;
4427f3561b8bSmrg	esac
4428f3561b8bSmrg	case `$CC -V 2>&1 | sed 5q` in
4429f3561b8bSmrg	*Sun\ C*)			# Sun C 5.9
4430f3561b8bSmrg	  _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'
4431f3561b8bSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
4432f3561b8bSmrg	  tmp_sharedflag='-G' ;;
4433f3561b8bSmrg	*Sun\ F*)			# Sun Fortran 8.3
4434f3561b8bSmrg	  tmp_sharedflag='-G' ;;
4435f3561b8bSmrg	esac
4436f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4437fc5a983dSmrg
4438f3561b8bSmrg        if test "x$supports_anon_versioning" = xyes; then
4439f3561b8bSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4440f3561b8bSmrg	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4441f3561b8bSmrg	    echo "local: *; };" >> $output_objdir/$libname.ver~
4442f3561b8bSmrg	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4443f3561b8bSmrg        fi
4444fc5a983dSmrg
4445f3561b8bSmrg	case $cc_basename in
4446f3561b8bSmrg	xlf*)
4447f3561b8bSmrg	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4448f3561b8bSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4449f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4450f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4451f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
4452f3561b8bSmrg	  if test "x$supports_anon_versioning" = xyes; then
4453f3561b8bSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4454f3561b8bSmrg	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4455f3561b8bSmrg	      echo "local: *; };" >> $output_objdir/$libname.ver~
4456f3561b8bSmrg	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4457f3561b8bSmrg	  fi
4458f3561b8bSmrg	  ;;
4459f3561b8bSmrg	esac
4460f3561b8bSmrg      else
4461f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
4462f3561b8bSmrg      fi
4463f3561b8bSmrg      ;;
4464fc5a983dSmrg
4465bd2f6fc9Smrg    netbsd* | netbsdelf*-gnu)
4466f3561b8bSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4467f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4468f3561b8bSmrg	wlarc=
4469f3561b8bSmrg      else
4470f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4471f3561b8bSmrg	_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'
4472f3561b8bSmrg      fi
4473f3561b8bSmrg      ;;
4474fc5a983dSmrg
4475f3561b8bSmrg    solaris*)
4476f3561b8bSmrg      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4477f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
4478f3561b8bSmrg	cat <<_LT_EOF 1>&2
4479fc5a983dSmrg
4480f3561b8bSmrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4481f3561b8bSmrg*** create shared libraries on Solaris systems.  Therefore, libtool
4482f3561b8bSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
4483f3561b8bSmrg*** binutils to release 2.9.1 or newer.  Another option is to modify
4484f3561b8bSmrg*** your PATH or compiler configuration so that the native linker is
4485f3561b8bSmrg*** used, and then restart.
4486fc5a983dSmrg
4487f3561b8bSmrg_LT_EOF
4488f3561b8bSmrg      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4489f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4490f3561b8bSmrg	_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'
4491f3561b8bSmrg      else
4492f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
4493f3561b8bSmrg      fi
4494f3561b8bSmrg      ;;
4495fc5a983dSmrg
4496f3561b8bSmrg    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4497f3561b8bSmrg      case `$LD -v 2>&1` in
4498f3561b8bSmrg        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4499f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
4500f3561b8bSmrg	cat <<_LT_EOF 1>&2
4501fc5a983dSmrg
4502f3561b8bSmrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4503f3561b8bSmrg*** reliably create shared libraries on SCO systems.  Therefore, libtool
4504f3561b8bSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
4505f3561b8bSmrg*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
4506f3561b8bSmrg*** your PATH or compiler configuration so that the native linker is
4507f3561b8bSmrg*** used, and then restart.
4508fc5a983dSmrg
4509f3561b8bSmrg_LT_EOF
4510f3561b8bSmrg	;;
4511f3561b8bSmrg	*)
4512f3561b8bSmrg	  # For security reasons, it is highly recommended that you always
4513f3561b8bSmrg	  # use absolute paths for naming shared libraries, and exclude the
4514f3561b8bSmrg	  # DT_RUNPATH tag from executables and libraries.  But doing so
4515f3561b8bSmrg	  # requires that you compile everything twice, which is a pain.
4516f3561b8bSmrg	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4517f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4518f3561b8bSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4519f3561b8bSmrg	    _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'
4520f3561b8bSmrg	  else
4521f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
4522f3561b8bSmrg	  fi
4523f3561b8bSmrg	;;
4524f3561b8bSmrg      esac
4525f3561b8bSmrg      ;;
4526fc5a983dSmrg
4527f3561b8bSmrg    sunos4*)
4528f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4529f3561b8bSmrg      wlarc=
4530f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4531f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4532f3561b8bSmrg      ;;
4533fc5a983dSmrg
4534f3561b8bSmrg    *)
4535f3561b8bSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4536f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4537f3561b8bSmrg	_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'
4538f3561b8bSmrg      else
4539f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
4540f3561b8bSmrg      fi
4541f3561b8bSmrg      ;;
4542f3561b8bSmrg    esac
4543fc5a983dSmrg
4544f3561b8bSmrg    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4545f3561b8bSmrg      runpath_var=
4546f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4547f3561b8bSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4548f3561b8bSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
4549f3561b8bSmrg    fi
4550f3561b8bSmrg  else
4551f3561b8bSmrg    # PORTME fill in a description of your system's linker (not GNU ld)
4552f3561b8bSmrg    case $host_os in
4553f3561b8bSmrg    aix3*)
4554f3561b8bSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4555f3561b8bSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
4556f3561b8bSmrg      _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'
4557f3561b8bSmrg      # Note: this linker hardcodes the directories in LIBPATH if there
4558f3561b8bSmrg      # are no directories specified by -L.
4559f3561b8bSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4560f3561b8bSmrg      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4561f3561b8bSmrg	# Neither direct hardcoding nor static linking is supported with a
4562f3561b8bSmrg	# broken collect2.
4563f3561b8bSmrg	_LT_TAGVAR(hardcode_direct, $1)=unsupported
4564f3561b8bSmrg      fi
4565f3561b8bSmrg      ;;
4566fc5a983dSmrg
4567f3561b8bSmrg    aix[[4-9]]*)
4568f3561b8bSmrg      if test "$host_cpu" = ia64; then
4569f3561b8bSmrg	# On IA64, the linker does run time linking by default, so we don't
4570f3561b8bSmrg	# have to do anything special.
4571f3561b8bSmrg	aix_use_runtimelinking=no
4572f3561b8bSmrg	exp_sym_flag='-Bexport'
4573f3561b8bSmrg	no_entry_flag=""
4574f3561b8bSmrg      else
4575f3561b8bSmrg	# If we're using GNU nm, then we don't want the "-C" option.
4576f3561b8bSmrg	# -C means demangle to AIX nm, but means don't demangle with GNU nm
4577f3561b8bSmrg	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4578f3561b8bSmrg	  _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'
4579f3561b8bSmrg	else
4580f3561b8bSmrg	  _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'
4581f3561b8bSmrg	fi
4582f3561b8bSmrg	aix_use_runtimelinking=no
4583fc5a983dSmrg
4584f3561b8bSmrg	# Test if we are trying to use run time linking or normal
4585f3561b8bSmrg	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
4586f3561b8bSmrg	# need to do runtime linking.
4587f3561b8bSmrg	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
4588f3561b8bSmrg	  for ld_flag in $LDFLAGS; do
4589f3561b8bSmrg	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4590f3561b8bSmrg	    aix_use_runtimelinking=yes
4591f3561b8bSmrg	    break
4592f3561b8bSmrg	  fi
4593f3561b8bSmrg	  done
4594f3561b8bSmrg	  ;;
4595f3561b8bSmrg	esac
4596fc5a983dSmrg
4597f3561b8bSmrg	exp_sym_flag='-bexport'
4598f3561b8bSmrg	no_entry_flag='-bnoentry'
4599f3561b8bSmrg      fi
4600f3561b8bSmrg
4601f3561b8bSmrg      # When large executables or shared objects are built, AIX ld can
4602f3561b8bSmrg      # have problems creating the table of contents.  If linking a library
4603f3561b8bSmrg      # or program results in "error TOC overflow" add -mminimal-toc to
4604f3561b8bSmrg      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
4605f3561b8bSmrg      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4606fc5a983dSmrg
4607f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)=''
4608f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4609f3561b8bSmrg      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4610f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4611f3561b8bSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
4612f3561b8bSmrg      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
4613fc5a983dSmrg
4614f3561b8bSmrg      if test "$GCC" = yes; then
4615f3561b8bSmrg	case $host_os in aix4.[[012]]|aix4.[[012]].*)
4616f3561b8bSmrg	# We only want to do this on AIX 4.2 and lower, the check
4617f3561b8bSmrg	# below for broken collect2 doesn't work under 4.3+
4618f3561b8bSmrg	  collect2name=`${CC} -print-prog-name=collect2`
4619f3561b8bSmrg	  if test -f "$collect2name" &&
4620f3561b8bSmrg	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
4621f3561b8bSmrg	  then
4622f3561b8bSmrg	  # We have reworked collect2
4623f3561b8bSmrg	  :
4624f3561b8bSmrg	  else
4625f3561b8bSmrg	  # We have old collect2
4626f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
4627f3561b8bSmrg	  # It fails to find uninstalled libraries when the uninstalled
4628f3561b8bSmrg	  # path is not listed in the libpath.  Setting hardcode_minus_L
4629f3561b8bSmrg	  # to unsupported forces relinking
4630f3561b8bSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
4631f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4632f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
4633f3561b8bSmrg	  fi
4634f3561b8bSmrg	  ;;
4635f3561b8bSmrg	esac
4636f3561b8bSmrg	shared_flag='-shared'
4637f3561b8bSmrg	if test "$aix_use_runtimelinking" = yes; then
4638f3561b8bSmrg	  shared_flag="$shared_flag "'${wl}-G'
4639f3561b8bSmrg	fi
4640bd2f6fc9Smrg	_LT_TAGVAR(link_all_deplibs, $1)=no
4641f3561b8bSmrg      else
4642f3561b8bSmrg	# not using gcc
4643f3561b8bSmrg	if test "$host_cpu" = ia64; then
4644f3561b8bSmrg	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4645f3561b8bSmrg	# chokes on -Wl,-G. The following line is correct:
4646f3561b8bSmrg	  shared_flag='-G'
4647f3561b8bSmrg	else
4648f3561b8bSmrg	  if test "$aix_use_runtimelinking" = yes; then
4649f3561b8bSmrg	    shared_flag='${wl}-G'
4650f3561b8bSmrg	  else
4651f3561b8bSmrg	    shared_flag='${wl}-bM:SRE'
4652f3561b8bSmrg	  fi
4653f3561b8bSmrg	fi
4654f3561b8bSmrg      fi
4655fc5a983dSmrg
4656f3561b8bSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
4657f3561b8bSmrg      # It seems that -bexpall does not export symbols beginning with
4658f3561b8bSmrg      # underscore (_), so it is better to generate a list of symbols to export.
4659f3561b8bSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
4660f3561b8bSmrg      if test "$aix_use_runtimelinking" = yes; then
4661f3561b8bSmrg	# Warning - without using the other runtime loading flags (-brtl),
4662f3561b8bSmrg	# -berok will link without error, but may produce a broken library.
4663f3561b8bSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4664f3561b8bSmrg        # Determine the default libpath from the value encoded in an
4665f3561b8bSmrg        # empty executable.
4666f3561b8bSmrg        _LT_SYS_MODULE_PATH_AIX
4667f3561b8bSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4668f3561b8bSmrg        _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"
4669f3561b8bSmrg      else
4670f3561b8bSmrg	if test "$host_cpu" = ia64; then
4671f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4672f3561b8bSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4673f3561b8bSmrg	  _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"
4674f3561b8bSmrg	else
4675f3561b8bSmrg	 # Determine the default libpath from the value encoded in an
4676f3561b8bSmrg	 # empty executable.
4677f3561b8bSmrg	 _LT_SYS_MODULE_PATH_AIX
4678f3561b8bSmrg	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4679f3561b8bSmrg	  # Warning - without using the other run time loading flags,
4680f3561b8bSmrg	  # -berok will link without error, but may produce a broken library.
4681f3561b8bSmrg	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4682f3561b8bSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4683f3561b8bSmrg	  # Exported symbols can be pulled into shared objects from archives
4684f3561b8bSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4685f3561b8bSmrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
4686f3561b8bSmrg	  # This is similar to how AIX traditionally builds its shared libraries.
4687f3561b8bSmrg	  _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'
4688f3561b8bSmrg	fi
4689f3561b8bSmrg      fi
4690f3561b8bSmrg      ;;
4691fc5a983dSmrg
4692f3561b8bSmrg    amigaos*)
4693f3561b8bSmrg      case $host_cpu in
4694f3561b8bSmrg      powerpc)
4695f3561b8bSmrg            # see comment about AmigaOS4 .so support
4696f3561b8bSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4697f3561b8bSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
4698f3561b8bSmrg        ;;
4699f3561b8bSmrg      m68k)
4700f3561b8bSmrg            _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)'
4701f3561b8bSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4702f3561b8bSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
4703f3561b8bSmrg        ;;
4704f3561b8bSmrg      esac
4705f3561b8bSmrg      ;;
4706fc5a983dSmrg
4707f3561b8bSmrg    bsdi[[45]]*)
4708f3561b8bSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
4709f3561b8bSmrg      ;;
4710fc5a983dSmrg
4711f3561b8bSmrg    cygwin* | mingw* | pw32* | cegcc*)
4712f3561b8bSmrg      # When not using gcc, we currently assume that we are using
4713f3561b8bSmrg      # Microsoft Visual C++.
4714f3561b8bSmrg      # hardcode_libdir_flag_spec is actually meaningless, as there is
4715f3561b8bSmrg      # no search path for DLLs.
4716f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4717f3561b8bSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4718f3561b8bSmrg      # Tell ltmain to make .lib files, not .a files.
4719f3561b8bSmrg      libext=lib
4720f3561b8bSmrg      # Tell ltmain to make .dll files, not .so files.
4721f3561b8bSmrg      shrext_cmds=".dll"
4722f3561b8bSmrg      # FIXME: Setting linknames here is a bad hack.
4723f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4724f3561b8bSmrg      # The linker will automatically build a .lib file if we build a DLL.
4725f3561b8bSmrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
4726f3561b8bSmrg      # FIXME: Should let the user specify the lib program.
4727f3561b8bSmrg      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4728f3561b8bSmrg      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4729f3561b8bSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4730f3561b8bSmrg      ;;
4731fc5a983dSmrg
4732f3561b8bSmrg    darwin* | rhapsody*)
4733f3561b8bSmrg      _LT_DARWIN_LINKER_FEATURES($1)
4734f3561b8bSmrg      ;;
4735fc5a983dSmrg
4736f3561b8bSmrg    dgux*)
4737f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4738f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4739f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4740f3561b8bSmrg      ;;
4741fc5a983dSmrg
4742f3561b8bSmrg    freebsd1*)
4743f3561b8bSmrg      _LT_TAGVAR(ld_shlibs, $1)=no
4744f3561b8bSmrg      ;;
4745fc5a983dSmrg
4746f3561b8bSmrg    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4747f3561b8bSmrg    # support.  Future versions do this automatically, but an explicit c++rt0.o
4748f3561b8bSmrg    # does not break anything, and helps significantly (at the cost of a little
4749f3561b8bSmrg    # extra space).
4750f3561b8bSmrg    freebsd2.2*)
4751f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4752f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4753f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4754f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4755f3561b8bSmrg      ;;
4756fc5a983dSmrg
4757f3561b8bSmrg    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4758f3561b8bSmrg    freebsd2*)
4759f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4760f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4761f3561b8bSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4762f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4763f3561b8bSmrg      ;;
4764fc5a983dSmrg
4765f3561b8bSmrg    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4766f3561b8bSmrg    freebsd* | dragonfly*)
4767f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4768f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4769f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4770f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4771f3561b8bSmrg      ;;
4772fc5a983dSmrg
4773f3561b8bSmrg    hpux9*)
4774f3561b8bSmrg      if test "$GCC" = yes; then
4775f3561b8bSmrg	_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'
4776f3561b8bSmrg      else
4777f3561b8bSmrg	_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'
4778f3561b8bSmrg      fi
4779f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4780f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4781f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4782fc5a983dSmrg
4783f3561b8bSmrg      # hardcode_minus_L: Not really in the search PATH,
4784f3561b8bSmrg      # but as the default location of the library.
4785f3561b8bSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4786f3561b8bSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4787f3561b8bSmrg      ;;
4788fc5a983dSmrg
4789f3561b8bSmrg    hpux10*)
4790f3561b8bSmrg      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4791f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4792f3561b8bSmrg      else
4793f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4794f3561b8bSmrg      fi
4795f3561b8bSmrg      if test "$with_gnu_ld" = no; then
4796f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4797f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4798f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
4799f3561b8bSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
4800f3561b8bSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4801f3561b8bSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4802f3561b8bSmrg	# hardcode_minus_L: Not really in the search PATH,
4803f3561b8bSmrg	# but as the default location of the library.
4804f3561b8bSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
4805f3561b8bSmrg      fi
4806f3561b8bSmrg      ;;
4807fc5a983dSmrg
4808f3561b8bSmrg    hpux11*)
4809f3561b8bSmrg      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4810f3561b8bSmrg	case $host_cpu in
4811f3561b8bSmrg	hppa*64*)
4812f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4813f3561b8bSmrg	  ;;
4814f3561b8bSmrg	ia64*)
4815f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4816f3561b8bSmrg	  ;;
4817f3561b8bSmrg	*)
4818f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4819f3561b8bSmrg	  ;;
4820f3561b8bSmrg	esac
4821f3561b8bSmrg      else
4822f3561b8bSmrg	case $host_cpu in
4823f3561b8bSmrg	hppa*64*)
4824f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4825f3561b8bSmrg	  ;;
4826f3561b8bSmrg	ia64*)
4827f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4828f3561b8bSmrg	  ;;
4829f3561b8bSmrg	*)
4830f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4831f3561b8bSmrg	  ;;
4832f3561b8bSmrg	esac
4833f3561b8bSmrg      fi
4834f3561b8bSmrg      if test "$with_gnu_ld" = no; then
4835f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4836f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
4837fc5a983dSmrg
4838f3561b8bSmrg	case $host_cpu in
4839f3561b8bSmrg	hppa*64*|ia64*)
4840f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
4841f3561b8bSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4842f3561b8bSmrg	  ;;
4843f3561b8bSmrg	*)
4844f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
4845f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4846f3561b8bSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4847f3561b8bSmrg
4848f3561b8bSmrg	  # hardcode_minus_L: Not really in the search PATH,
4849f3561b8bSmrg	  # but as the default location of the library.
4850f3561b8bSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
4851f3561b8bSmrg	  ;;
4852f3561b8bSmrg	esac
4853f3561b8bSmrg      fi
4854fc5a983dSmrg      ;;
4855f3561b8bSmrg
4856f3561b8bSmrg    irix5* | irix6* | nonstopux*)
4857f3561b8bSmrg      if test "$GCC" = yes; then
4858f3561b8bSmrg	_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'
4859f3561b8bSmrg	# Try to use the -exported_symbol ld option, if it does not
4860f3561b8bSmrg	# work, assume that -exports_file does not work either and
4861f3561b8bSmrg	# implicitly export all symbols.
4862f3561b8bSmrg        save_LDFLAGS="$LDFLAGS"
4863f3561b8bSmrg        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4864f3561b8bSmrg        AC_LINK_IFELSE(int foo(void) {},
4865f3561b8bSmrg          _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'
4866f3561b8bSmrg        )
4867f3561b8bSmrg        LDFLAGS="$save_LDFLAGS"
4868f3561b8bSmrg      else
4869f3561b8bSmrg	_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'
4870f3561b8bSmrg	_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'
4871f3561b8bSmrg      fi
4872f3561b8bSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4873f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4874f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4875f3561b8bSmrg      _LT_TAGVAR(inherit_rpath, $1)=yes
4876f3561b8bSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
4877fc5a983dSmrg      ;;
4878fc5a983dSmrg
4879bd2f6fc9Smrg    netbsd* | netbsdelf*-gnu)
4880f3561b8bSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4881f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
4882f3561b8bSmrg      else
4883f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
4884f3561b8bSmrg      fi
4885f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4886f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4887f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4888f3561b8bSmrg      ;;
4889fc5a983dSmrg
4890f3561b8bSmrg    newsos6)
4891f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4892f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4893f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4894f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4895f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4896f3561b8bSmrg      ;;
4897fc5a983dSmrg
4898f3561b8bSmrg    *nto* | *qnx*)
4899f3561b8bSmrg      ;;
4900fc5a983dSmrg
4901f3561b8bSmrg    openbsd*)
4902f3561b8bSmrg      if test -f /usr/libexec/ld.so; then
4903f3561b8bSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
4904f3561b8bSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4905f3561b8bSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4906f3561b8bSmrg	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4907f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4908f3561b8bSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4909f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4910f3561b8bSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4911f3561b8bSmrg	else
4912f3561b8bSmrg	  case $host_os in
4913f3561b8bSmrg	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4914f3561b8bSmrg	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4915f3561b8bSmrg	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4916f3561b8bSmrg	     ;;
4917f3561b8bSmrg	   *)
4918f3561b8bSmrg	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4919f3561b8bSmrg	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4920f3561b8bSmrg	     ;;
4921f3561b8bSmrg	  esac
4922f3561b8bSmrg	fi
4923f3561b8bSmrg      else
4924f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
4925f3561b8bSmrg      fi
4926f3561b8bSmrg      ;;
4927fc5a983dSmrg
4928f3561b8bSmrg    os2*)
4929f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4930f3561b8bSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4931f3561b8bSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4932f3561b8bSmrg      _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'
4933f3561b8bSmrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4934f3561b8bSmrg      ;;
4935fc5a983dSmrg
4936f3561b8bSmrg    osf3*)
4937f3561b8bSmrg      if test "$GCC" = yes; then
4938f3561b8bSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4939f3561b8bSmrg	_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'
4940f3561b8bSmrg      else
4941f3561b8bSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4942f3561b8bSmrg	_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'
4943f3561b8bSmrg      fi
4944f3561b8bSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4945f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4946f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4947f3561b8bSmrg      ;;
4948fc5a983dSmrg
4949f3561b8bSmrg    osf4* | osf5*)	# as osf3* with the addition of -msym flag
4950f3561b8bSmrg      if test "$GCC" = yes; then
4951f3561b8bSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4952f3561b8bSmrg	_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'
4953f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4954f3561b8bSmrg      else
4955f3561b8bSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4956f3561b8bSmrg	_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'
4957f3561b8bSmrg	_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~
4958f3561b8bSmrg	$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'
4959fc5a983dSmrg
4960f3561b8bSmrg	# Both c and cxx compiler support -rpath directly
4961f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4962f3561b8bSmrg      fi
4963f3561b8bSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4964f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4965f3561b8bSmrg      ;;
4966fc5a983dSmrg
4967f3561b8bSmrg    solaris*)
4968f3561b8bSmrg      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
4969f3561b8bSmrg      if test "$GCC" = yes; then
4970f3561b8bSmrg	wlarc='${wl}'
4971f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4972f3561b8bSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4973f3561b8bSmrg	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4974f3561b8bSmrg      else
4975f3561b8bSmrg	case `$CC -V 2>&1` in
4976f3561b8bSmrg	*"Compilers 5.0"*)
4977f3561b8bSmrg	  wlarc=''
4978f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4979f3561b8bSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4980f3561b8bSmrg	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4981f3561b8bSmrg	  ;;
4982f3561b8bSmrg	*)
4983f3561b8bSmrg	  wlarc='${wl}'
4984f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4985f3561b8bSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4986f3561b8bSmrg	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4987f3561b8bSmrg	  ;;
4988f3561b8bSmrg	esac
4989f3561b8bSmrg      fi
4990f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4991f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4992f3561b8bSmrg      case $host_os in
4993f3561b8bSmrg      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4994f3561b8bSmrg      *)
4995f3561b8bSmrg	# The compiler driver will combine and reorder linker options,
4996f3561b8bSmrg	# but understands `-z linker_flag'.  GCC discards it without `$wl',
4997f3561b8bSmrg	# but is careful enough not to reorder.
4998f3561b8bSmrg	# Supported since Solaris 2.6 (maybe 2.5.1?)
4999f3561b8bSmrg	if test "$GCC" = yes; then
5000f3561b8bSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5001f3561b8bSmrg	else
5002f3561b8bSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5003f3561b8bSmrg	fi
5004f3561b8bSmrg	;;
5005f3561b8bSmrg      esac
5006f3561b8bSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
5007f3561b8bSmrg      ;;
5008fc5a983dSmrg
5009f3561b8bSmrg    sunos4*)
5010f3561b8bSmrg      if test "x$host_vendor" = xsequent; then
5011f3561b8bSmrg	# Use $CC to link under sequent, because it throws in some extra .o
5012f3561b8bSmrg	# files that make .init and .fini sections work.
5013f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5014f3561b8bSmrg      else
5015f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5016f3561b8bSmrg      fi
5017f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5018f3561b8bSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
5019f3561b8bSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5020f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5021f3561b8bSmrg      ;;
5022fc5a983dSmrg
5023f3561b8bSmrg    sysv4)
5024f3561b8bSmrg      case $host_vendor in
5025f3561b8bSmrg	sni)
5026f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5027f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5028f3561b8bSmrg	;;
5029f3561b8bSmrg	siemens)
5030f3561b8bSmrg	  ## LD is ld it makes a PLAMLIB
5031f3561b8bSmrg	  ## CC just makes a GrossModule.
5032f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5033f3561b8bSmrg	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5034f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
5035f3561b8bSmrg        ;;
5036f3561b8bSmrg	motorola)
5037f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5038f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5039f3561b8bSmrg	;;
5040f3561b8bSmrg      esac
5041f3561b8bSmrg      runpath_var='LD_RUN_PATH'
5042f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5043f3561b8bSmrg      ;;
5044fc5a983dSmrg
5045f3561b8bSmrg    sysv4.3*)
5046f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5047f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5048f3561b8bSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5049f3561b8bSmrg      ;;
5050fc5a983dSmrg
5051f3561b8bSmrg    sysv4*MP*)
5052f3561b8bSmrg      if test -d /usr/nec; then
5053f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5054f3561b8bSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5055f3561b8bSmrg	runpath_var=LD_RUN_PATH
5056f3561b8bSmrg	hardcode_runpath_var=yes
5057f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
5058f3561b8bSmrg      fi
5059f3561b8bSmrg      ;;
5060fc5a983dSmrg
5061f3561b8bSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5062f3561b8bSmrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5063f3561b8bSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5064f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5065f3561b8bSmrg      runpath_var='LD_RUN_PATH'
5066fc5a983dSmrg
5067f3561b8bSmrg      if test "$GCC" = yes; then
5068f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5069f3561b8bSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5070f3561b8bSmrg      else
5071f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5072f3561b8bSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5073f3561b8bSmrg      fi
5074f3561b8bSmrg      ;;
5075fc5a983dSmrg
5076f3561b8bSmrg    sysv5* | sco3.2v5* | sco5v6*)
5077f3561b8bSmrg      # Note: We can NOT use -z defs as we might desire, because we do not
5078f3561b8bSmrg      # link with -lc, and that would cause any symbols used from libc to
5079f3561b8bSmrg      # always be unresolved, which means just about no library would
5080f3561b8bSmrg      # ever link correctly.  If we're not using GNU ld we use -z text
5081f3561b8bSmrg      # though, which does catch some bad symbols but isn't as heavy-handed
5082f3561b8bSmrg      # as -z defs.
5083f3561b8bSmrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5084f3561b8bSmrg      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5085f3561b8bSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5086f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5087f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5088f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5089f3561b8bSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
5090f3561b8bSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5091f3561b8bSmrg      runpath_var='LD_RUN_PATH'
5092fc5a983dSmrg
5093f3561b8bSmrg      if test "$GCC" = yes; then
5094f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5095f3561b8bSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5096f3561b8bSmrg      else
5097f3561b8bSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5098f3561b8bSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5099f3561b8bSmrg      fi
5100f3561b8bSmrg      ;;
5101fc5a983dSmrg
5102f3561b8bSmrg    uts4*)
5103f3561b8bSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5104f3561b8bSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5105f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5106f3561b8bSmrg      ;;
5107fc5a983dSmrg
5108f3561b8bSmrg    *)
5109f3561b8bSmrg      _LT_TAGVAR(ld_shlibs, $1)=no
5110f3561b8bSmrg      ;;
5111f3561b8bSmrg    esac
5112fc5a983dSmrg
5113f3561b8bSmrg    if test x$host_vendor = xsni; then
5114f3561b8bSmrg      case $host in
5115f3561b8bSmrg      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5116f3561b8bSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5117f3561b8bSmrg	;;
5118f3561b8bSmrg      esac
5119f3561b8bSmrg    fi
5120f3561b8bSmrg  fi
5121f3561b8bSmrg])
5122f3561b8bSmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5123f3561b8bSmrgtest "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5124fc5a983dSmrg
5125f3561b8bSmrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5126fc5a983dSmrg
5127f3561b8bSmrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5128f3561b8bSmrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5129f3561b8bSmrg_LT_DECL([], [extract_expsyms_cmds], [2],
5130f3561b8bSmrg    [The commands to extract the exported symbol list from a shared archive])
5131fc5a983dSmrg
5132f3561b8bSmrg#
5133f3561b8bSmrg# Do we need to explicitly link libc?
5134f3561b8bSmrg#
5135f3561b8bSmrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5136f3561b8bSmrgx|xyes)
5137f3561b8bSmrg  # Assume -lc should be added
5138f3561b8bSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5139fc5a983dSmrg
5140f3561b8bSmrg  if test "$enable_shared" = yes && test "$GCC" = yes; then
5141f3561b8bSmrg    case $_LT_TAGVAR(archive_cmds, $1) in
5142f3561b8bSmrg    *'~'*)
5143f3561b8bSmrg      # FIXME: we may have to deal with multi-command sequences.
5144f3561b8bSmrg      ;;
5145f3561b8bSmrg    '$CC '*)
5146f3561b8bSmrg      # Test whether the compiler implicitly links with -lc since on some
5147f3561b8bSmrg      # systems, -lgcc has to come before -lc. If gcc already passes -lc
5148f3561b8bSmrg      # to ld, don't add -lc before -lgcc.
5149f3561b8bSmrg      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5150f3561b8bSmrg      $RM conftest*
5151f3561b8bSmrg      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5152fc5a983dSmrg
5153f3561b8bSmrg      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5154f3561b8bSmrg        soname=conftest
5155f3561b8bSmrg        lib=conftest
5156f3561b8bSmrg        libobjs=conftest.$ac_objext
5157f3561b8bSmrg        deplibs=
5158f3561b8bSmrg        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5159f3561b8bSmrg	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5160f3561b8bSmrg        compiler_flags=-v
5161f3561b8bSmrg        linker_flags=-v
5162f3561b8bSmrg        verstring=
5163f3561b8bSmrg        output_objdir=.
5164f3561b8bSmrg        libname=conftest
5165f3561b8bSmrg        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5166f3561b8bSmrg        _LT_TAGVAR(allow_undefined_flag, $1)=
5167f3561b8bSmrg        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5168f3561b8bSmrg        then
5169f3561b8bSmrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5170f3561b8bSmrg        else
5171f3561b8bSmrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5172f3561b8bSmrg        fi
5173f3561b8bSmrg        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5174f3561b8bSmrg      else
5175f3561b8bSmrg        cat conftest.err 1>&5
5176f3561b8bSmrg      fi
5177f3561b8bSmrg      $RM conftest*
5178f3561b8bSmrg      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
5179f3561b8bSmrg      ;;
5180f3561b8bSmrg    esac
5181f3561b8bSmrg  fi
5182f3561b8bSmrg  ;;
5183f3561b8bSmrgesac
5184fc5a983dSmrg
5185f3561b8bSmrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5186f3561b8bSmrg    [Whether or not to add -lc for building shared libraries])
5187f3561b8bSmrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5188f3561b8bSmrg    [enable_shared_with_static_runtimes], [0],
5189f3561b8bSmrg    [Whether or not to disallow shared libs when runtime libs are static])
5190f3561b8bSmrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5191f3561b8bSmrg    [Compiler flag to allow reflexive dlopens])
5192f3561b8bSmrg_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5193f3561b8bSmrg    [Compiler flag to generate shared objects directly from archives])
5194f3561b8bSmrg_LT_TAGDECL([], [compiler_needs_object], [1],
5195f3561b8bSmrg    [Whether the compiler copes with passing no objects directly])
5196f3561b8bSmrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5197f3561b8bSmrg    [Create an old-style archive from a shared archive])
5198f3561b8bSmrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5199f3561b8bSmrg    [Create a temporary old-style archive to link instead of a shared archive])
5200f3561b8bSmrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5201f3561b8bSmrg_LT_TAGDECL([], [archive_expsym_cmds], [2])
5202f3561b8bSmrg_LT_TAGDECL([], [module_cmds], [2],
5203f3561b8bSmrg    [Commands used to build a loadable module if different from building
5204f3561b8bSmrg    a shared archive.])
5205f3561b8bSmrg_LT_TAGDECL([], [module_expsym_cmds], [2])
5206f3561b8bSmrg_LT_TAGDECL([], [with_gnu_ld], [1],
5207f3561b8bSmrg    [Whether we are building with GNU ld or not])
5208f3561b8bSmrg_LT_TAGDECL([], [allow_undefined_flag], [1],
5209f3561b8bSmrg    [Flag that allows shared libraries with undefined symbols to be built])
5210f3561b8bSmrg_LT_TAGDECL([], [no_undefined_flag], [1],
5211f3561b8bSmrg    [Flag that enforces no undefined symbols])
5212f3561b8bSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5213f3561b8bSmrg    [Flag to hardcode $libdir into a binary during linking.
5214f3561b8bSmrg    This must work even if $libdir does not exist])
5215f3561b8bSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5216f3561b8bSmrg    [[If ld is used when linking, flag to hardcode $libdir into a binary
5217f3561b8bSmrg    during linking.  This must work even if $libdir does not exist]])
5218f3561b8bSmrg_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5219f3561b8bSmrg    [Whether we need a single "-rpath" flag with a separated argument])
5220f3561b8bSmrg_LT_TAGDECL([], [hardcode_direct], [0],
5221f3561b8bSmrg    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5222f3561b8bSmrg    DIR into the resulting binary])
5223f3561b8bSmrg_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5224f3561b8bSmrg    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5225f3561b8bSmrg    DIR into the resulting binary and the resulting library dependency is
5226f3561b8bSmrg    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5227f3561b8bSmrg    library is relocated])
5228f3561b8bSmrg_LT_TAGDECL([], [hardcode_minus_L], [0],
5229f3561b8bSmrg    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5230f3561b8bSmrg    into the resulting binary])
5231f3561b8bSmrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5232f3561b8bSmrg    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5233f3561b8bSmrg    into the resulting binary])
5234f3561b8bSmrg_LT_TAGDECL([], [hardcode_automatic], [0],
5235f3561b8bSmrg    [Set to "yes" if building a shared library automatically hardcodes DIR
5236f3561b8bSmrg    into the library and all subsequent libraries and executables linked
5237f3561b8bSmrg    against it])
5238f3561b8bSmrg_LT_TAGDECL([], [inherit_rpath], [0],
5239f3561b8bSmrg    [Set to yes if linker adds runtime paths of dependent libraries
5240f3561b8bSmrg    to runtime path list])
5241f3561b8bSmrg_LT_TAGDECL([], [link_all_deplibs], [0],
5242f3561b8bSmrg    [Whether libtool must link a program against all its dependency libraries])
5243f3561b8bSmrg_LT_TAGDECL([], [fix_srcfile_path], [1],
5244f3561b8bSmrg    [Fix the shell variable $srcfile for the compiler])
5245f3561b8bSmrg_LT_TAGDECL([], [always_export_symbols], [0],
5246f3561b8bSmrg    [Set to "yes" if exported symbols are required])
5247f3561b8bSmrg_LT_TAGDECL([], [export_symbols_cmds], [2],
5248f3561b8bSmrg    [The commands to list exported symbols])
5249f3561b8bSmrg_LT_TAGDECL([], [exclude_expsyms], [1],
5250f3561b8bSmrg    [Symbols that should not be listed in the preloaded symbols])
5251f3561b8bSmrg_LT_TAGDECL([], [include_expsyms], [1],
5252f3561b8bSmrg    [Symbols that must always be exported])
5253f3561b8bSmrg_LT_TAGDECL([], [prelink_cmds], [2],
5254f3561b8bSmrg    [Commands necessary for linking programs (against libraries) with templates])
5255f3561b8bSmrg_LT_TAGDECL([], [file_list_spec], [1],
5256f3561b8bSmrg    [Specify filename containing input files])
5257f3561b8bSmrgdnl FIXME: Not yet implemented
5258f3561b8bSmrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5259f3561b8bSmrgdnl    [Compiler flag to generate thread safe objects])
5260f3561b8bSmrg])# _LT_LINKER_SHLIBS
5261f3561b8bSmrg
5262f3561b8bSmrg
5263f3561b8bSmrg# _LT_LANG_C_CONFIG([TAG])
5264f3561b8bSmrg# ------------------------
5265f3561b8bSmrg# Ensure that the configuration variables for a C compiler are suitably
5266f3561b8bSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
5267f3561b8bSmrg# the compiler configuration to `libtool'.
5268f3561b8bSmrgm4_defun([_LT_LANG_C_CONFIG],
5269f3561b8bSmrg[m4_require([_LT_DECL_EGREP])dnl
5270f3561b8bSmrglt_save_CC="$CC"
5271f3561b8bSmrgAC_LANG_PUSH(C)
5272fc5a983dSmrg
5273f3561b8bSmrg# Source file extension for C test sources.
5274f3561b8bSmrgac_ext=c
5275fc5a983dSmrg
5276f3561b8bSmrg# Object file extension for compiled C test sources.
5277f3561b8bSmrgobjext=o
5278f3561b8bSmrg_LT_TAGVAR(objext, $1)=$objext
5279fc5a983dSmrg
5280f3561b8bSmrg# Code to be used in simple compile tests
5281f3561b8bSmrglt_simple_compile_test_code="int some_variable = 0;"
5282fc5a983dSmrg
5283f3561b8bSmrg# Code to be used in simple link tests
5284f3561b8bSmrglt_simple_link_test_code='int main(){return(0);}'
5285fc5a983dSmrg
5286f3561b8bSmrg_LT_TAG_COMPILER
5287f3561b8bSmrg# Save the default compiler, since it gets overwritten when the other
5288f3561b8bSmrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5289f3561b8bSmrgcompiler_DEFAULT=$CC
5290fc5a983dSmrg
5291f3561b8bSmrg# save warnings/boilerplate of simple test code
5292f3561b8bSmrg_LT_COMPILER_BOILERPLATE
5293f3561b8bSmrg_LT_LINKER_BOILERPLATE
5294fc5a983dSmrg
5295f3561b8bSmrgif test -n "$compiler"; then
5296f3561b8bSmrg  _LT_COMPILER_NO_RTTI($1)
5297f3561b8bSmrg  _LT_COMPILER_PIC($1)
5298f3561b8bSmrg  _LT_COMPILER_C_O($1)
5299f3561b8bSmrg  _LT_COMPILER_FILE_LOCKS($1)
5300f3561b8bSmrg  _LT_LINKER_SHLIBS($1)
5301f3561b8bSmrg  _LT_SYS_DYNAMIC_LINKER($1)
5302f3561b8bSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
5303f3561b8bSmrg  LT_SYS_DLOPEN_SELF
5304f3561b8bSmrg  _LT_CMD_STRIPLIB
5305f3561b8bSmrg
5306f3561b8bSmrg  # Report which library types will actually be built
5307f3561b8bSmrg  AC_MSG_CHECKING([if libtool supports shared libraries])
5308f3561b8bSmrg  AC_MSG_RESULT([$can_build_shared])
5309f3561b8bSmrg
5310f3561b8bSmrg  AC_MSG_CHECKING([whether to build shared libraries])
5311f3561b8bSmrg  test "$can_build_shared" = "no" && enable_shared=no
5312f3561b8bSmrg
5313f3561b8bSmrg  # On AIX, shared libraries and static libraries use the same namespace, and
5314f3561b8bSmrg  # are all built from PIC.
5315f3561b8bSmrg  case $host_os in
5316f3561b8bSmrg  aix3*)
5317f3561b8bSmrg    test "$enable_shared" = yes && enable_static=no
5318f3561b8bSmrg    if test -n "$RANLIB"; then
5319f3561b8bSmrg      archive_cmds="$archive_cmds~\$RANLIB \$lib"
5320f3561b8bSmrg      postinstall_cmds='$RANLIB $lib'
5321f3561b8bSmrg    fi
5322f3561b8bSmrg    ;;
5323fc5a983dSmrg
5324f3561b8bSmrg  aix[[4-9]]*)
5325f3561b8bSmrg    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5326f3561b8bSmrg      test "$enable_shared" = yes && enable_static=no
5327f3561b8bSmrg    fi
5328f3561b8bSmrg    ;;
5329f3561b8bSmrg  esac
5330f3561b8bSmrg  AC_MSG_RESULT([$enable_shared])
5331fc5a983dSmrg
5332f3561b8bSmrg  AC_MSG_CHECKING([whether to build static libraries])
5333f3561b8bSmrg  # Make sure either enable_shared or enable_static is yes.
5334f3561b8bSmrg  test "$enable_shared" = yes || enable_static=yes
5335f3561b8bSmrg  AC_MSG_RESULT([$enable_static])
5336fc5a983dSmrg
5337f3561b8bSmrg  _LT_CONFIG($1)
5338f3561b8bSmrgfi
5339f3561b8bSmrgAC_LANG_POP
5340f3561b8bSmrgCC="$lt_save_CC"
5341f3561b8bSmrg])# _LT_LANG_C_CONFIG
5342fc5a983dSmrg
5343fc5a983dSmrg
5344f3561b8bSmrg# _LT_PROG_CXX
5345f3561b8bSmrg# ------------
5346f3561b8bSmrg# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5347f3561b8bSmrg# compiler, we have our own version here.
5348f3561b8bSmrgm4_defun([_LT_PROG_CXX],
5349f3561b8bSmrg[
5350f3561b8bSmrgpushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5351f3561b8bSmrgAC_PROG_CXX
5352f3561b8bSmrgif test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5353f3561b8bSmrg    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5354f3561b8bSmrg    (test "X$CXX" != "Xg++"))) ; then
5355f3561b8bSmrg  AC_PROG_CXXCPP
5356f3561b8bSmrgelse
5357f3561b8bSmrg  _lt_caught_CXX_error=yes
5358f3561b8bSmrgfi
5359f3561b8bSmrgpopdef([AC_MSG_ERROR])
5360f3561b8bSmrg])# _LT_PROG_CXX
5361fc5a983dSmrg
5362f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
5363f3561b8bSmrgdnl AC_DEFUN([_LT_PROG_CXX], [])
5364fc5a983dSmrg
5365fc5a983dSmrg
5366f3561b8bSmrg# _LT_LANG_CXX_CONFIG([TAG])
5367f3561b8bSmrg# --------------------------
5368f3561b8bSmrg# Ensure that the configuration variables for a C++ compiler are suitably
5369f3561b8bSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
5370f3561b8bSmrg# the compiler configuration to `libtool'.
5371f3561b8bSmrgm4_defun([_LT_LANG_CXX_CONFIG],
5372f3561b8bSmrg[AC_REQUIRE([_LT_PROG_CXX])dnl
5373f3561b8bSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
5374f3561b8bSmrgm4_require([_LT_DECL_EGREP])dnl
5375f3561b8bSmrg
5376f3561b8bSmrgAC_LANG_PUSH(C++)
5377f3561b8bSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5378f3561b8bSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
5379f3561b8bSmrg_LT_TAGVAR(always_export_symbols, $1)=no
5380f3561b8bSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
5381f3561b8bSmrg_LT_TAGVAR(compiler_needs_object, $1)=no
5382f3561b8bSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5383f3561b8bSmrg_LT_TAGVAR(hardcode_direct, $1)=no
5384f3561b8bSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5385f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5386f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5387f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
5388f3561b8bSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
5389f3561b8bSmrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5390f3561b8bSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
5391f3561b8bSmrg_LT_TAGVAR(inherit_rpath, $1)=no
5392f3561b8bSmrg_LT_TAGVAR(module_cmds, $1)=
5393f3561b8bSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
5394f3561b8bSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
5395f3561b8bSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5396f3561b8bSmrg_LT_TAGVAR(no_undefined_flag, $1)=
5397f3561b8bSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
5398f3561b8bSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5399fc5a983dSmrg
5400f3561b8bSmrg# Source file extension for C++ test sources.
5401f3561b8bSmrgac_ext=cpp
5402fc5a983dSmrg
5403f3561b8bSmrg# Object file extension for compiled C++ test sources.
5404f3561b8bSmrgobjext=o
5405f3561b8bSmrg_LT_TAGVAR(objext, $1)=$objext
5406f3561b8bSmrg
5407f3561b8bSmrg# No sense in running all these tests if we already determined that
5408f3561b8bSmrg# the CXX compiler isn't working.  Some variables (like enable_shared)
5409f3561b8bSmrg# are currently assumed to apply to all compilers on this platform,
5410f3561b8bSmrg# and will be corrupted by setting them based on a non-working compiler.
5411f3561b8bSmrgif test "$_lt_caught_CXX_error" != yes; then
5412f3561b8bSmrg  # Code to be used in simple compile tests
5413f3561b8bSmrg  lt_simple_compile_test_code="int some_variable = 0;"
5414f3561b8bSmrg
5415f3561b8bSmrg  # Code to be used in simple link tests
5416f3561b8bSmrg  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5417f3561b8bSmrg
5418f3561b8bSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5419f3561b8bSmrg  _LT_TAG_COMPILER
5420f3561b8bSmrg
5421f3561b8bSmrg  # save warnings/boilerplate of simple test code
5422f3561b8bSmrg  _LT_COMPILER_BOILERPLATE
5423f3561b8bSmrg  _LT_LINKER_BOILERPLATE
5424f3561b8bSmrg
5425f3561b8bSmrg  # Allow CC to be a program name with arguments.
5426f3561b8bSmrg  lt_save_CC=$CC
5427f3561b8bSmrg  lt_save_LD=$LD
5428f3561b8bSmrg  lt_save_GCC=$GCC
5429f3561b8bSmrg  GCC=$GXX
5430f3561b8bSmrg  lt_save_with_gnu_ld=$with_gnu_ld
5431f3561b8bSmrg  lt_save_path_LD=$lt_cv_path_LD
5432f3561b8bSmrg  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5433f3561b8bSmrg    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5434f3561b8bSmrg  else
5435f3561b8bSmrg    $as_unset lt_cv_prog_gnu_ld
5436f3561b8bSmrg  fi
5437f3561b8bSmrg  if test -n "${lt_cv_path_LDCXX+set}"; then
5438f3561b8bSmrg    lt_cv_path_LD=$lt_cv_path_LDCXX
5439f3561b8bSmrg  else
5440f3561b8bSmrg    $as_unset lt_cv_path_LD
5441f3561b8bSmrg  fi
5442f3561b8bSmrg  test -z "${LDCXX+set}" || LD=$LDCXX
5443f3561b8bSmrg  CC=${CXX-"c++"}
5444f3561b8bSmrg  compiler=$CC
5445f3561b8bSmrg  _LT_TAGVAR(compiler, $1)=$CC
5446f3561b8bSmrg  _LT_CC_BASENAME([$compiler])
5447fc5a983dSmrg
5448f3561b8bSmrg  if test -n "$compiler"; then
5449f3561b8bSmrg    # We don't want -fno-exception when compiling C++ code, so set the
5450f3561b8bSmrg    # no_builtin_flag separately
5451f3561b8bSmrg    if test "$GXX" = yes; then
5452f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5453f3561b8bSmrg    else
5454f3561b8bSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5455f3561b8bSmrg    fi
5456fc5a983dSmrg
5457f3561b8bSmrg    if test "$GXX" = yes; then
5458f3561b8bSmrg      # Set up default GNU C++ configuration
5459fc5a983dSmrg
5460f3561b8bSmrg      LT_PATH_LD
5461fc5a983dSmrg
5462f3561b8bSmrg      # Check if GNU C++ uses GNU ld as the underlying linker, since the
5463f3561b8bSmrg      # archiving commands below assume that GNU ld is being used.
5464f3561b8bSmrg      if test "$with_gnu_ld" = yes; then
5465f3561b8bSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5466f3561b8bSmrg        _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'
5467fc5a983dSmrg
5468f3561b8bSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5469f3561b8bSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5470fc5a983dSmrg
5471f3561b8bSmrg        # If archive_cmds runs LD, not CC, wlarc should be empty
5472f3561b8bSmrg        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5473f3561b8bSmrg        #     investigate it a little bit more. (MM)
5474f3561b8bSmrg        wlarc='${wl}'
5475fc5a983dSmrg
5476f3561b8bSmrg        # ancient GNU ld didn't support --whole-archive et. al.
5477f3561b8bSmrg        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5478f3561b8bSmrg	  $GREP 'no-whole-archive' > /dev/null; then
5479f3561b8bSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5480f3561b8bSmrg        else
5481f3561b8bSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=
5482f3561b8bSmrg        fi
5483f3561b8bSmrg      else
5484f3561b8bSmrg        with_gnu_ld=no
5485f3561b8bSmrg        wlarc=
5486f3561b8bSmrg
5487f3561b8bSmrg        # A generic and very simple default shared library creation
5488f3561b8bSmrg        # command for GNU C++ for the case where it uses the native
5489f3561b8bSmrg        # linker, instead of GNU ld.  If possible, this setting should
5490f3561b8bSmrg        # overridden to take advantage of the native linker features on
5491f3561b8bSmrg        # the platform it is being used on.
5492f3561b8bSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5493f3561b8bSmrg      fi
5494fc5a983dSmrg
5495f3561b8bSmrg      # Commands to make compiler produce verbose output that lists
5496f3561b8bSmrg      # what "hidden" libraries, object files and flags are used when
5497f3561b8bSmrg      # linking a shared library.
5498f3561b8bSmrg      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
5499fc5a983dSmrg
5500f3561b8bSmrg    else
5501f3561b8bSmrg      GXX=no
5502f3561b8bSmrg      with_gnu_ld=no
5503f3561b8bSmrg      wlarc=
5504f3561b8bSmrg    fi
5505fc5a983dSmrg
5506f3561b8bSmrg    # PORTME: fill in a description of your system's C++ link characteristics
5507f3561b8bSmrg    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5508f3561b8bSmrg    _LT_TAGVAR(ld_shlibs, $1)=yes
5509f3561b8bSmrg    case $host_os in
5510f3561b8bSmrg      aix3*)
5511f3561b8bSmrg        # FIXME: insert proper C++ library support
5512f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
5513f3561b8bSmrg        ;;
5514f3561b8bSmrg      aix[[4-9]]*)
5515f3561b8bSmrg        if test "$host_cpu" = ia64; then
5516f3561b8bSmrg          # On IA64, the linker does run time linking by default, so we don't
5517f3561b8bSmrg          # have to do anything special.
5518f3561b8bSmrg          aix_use_runtimelinking=no
5519f3561b8bSmrg          exp_sym_flag='-Bexport'
5520f3561b8bSmrg          no_entry_flag=""
5521f3561b8bSmrg        else
5522f3561b8bSmrg          aix_use_runtimelinking=no
5523f3561b8bSmrg
5524f3561b8bSmrg          # Test if we are trying to use run time linking or normal
5525f3561b8bSmrg          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5526f3561b8bSmrg          # need to do runtime linking.
5527f3561b8bSmrg          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5528f3561b8bSmrg	    for ld_flag in $LDFLAGS; do
5529f3561b8bSmrg	      case $ld_flag in
5530f3561b8bSmrg	      *-brtl*)
5531f3561b8bSmrg	        aix_use_runtimelinking=yes
5532f3561b8bSmrg	        break
5533f3561b8bSmrg	        ;;
5534f3561b8bSmrg	      esac
5535f3561b8bSmrg	    done
5536f3561b8bSmrg	    ;;
5537f3561b8bSmrg          esac
5538fc5a983dSmrg
5539f3561b8bSmrg          exp_sym_flag='-bexport'
5540f3561b8bSmrg          no_entry_flag='-bnoentry'
5541f3561b8bSmrg        fi
5542fc5a983dSmrg
5543f3561b8bSmrg        # When large executables or shared objects are built, AIX ld can
5544f3561b8bSmrg        # have problems creating the table of contents.  If linking a library
5545f3561b8bSmrg        # or program results in "error TOC overflow" add -mminimal-toc to
5546f3561b8bSmrg        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
5547f3561b8bSmrg        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5548f3561b8bSmrg
5549f3561b8bSmrg        _LT_TAGVAR(archive_cmds, $1)=''
5550f3561b8bSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
5551f3561b8bSmrg        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5552f3561b8bSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5553f3561b8bSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
5554f3561b8bSmrg        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5555f3561b8bSmrg
5556f3561b8bSmrg        if test "$GXX" = yes; then
5557f3561b8bSmrg          case $host_os in aix4.[[012]]|aix4.[[012]].*)
5558f3561b8bSmrg          # We only want to do this on AIX 4.2 and lower, the check
5559f3561b8bSmrg          # below for broken collect2 doesn't work under 4.3+
5560f3561b8bSmrg	  collect2name=`${CC} -print-prog-name=collect2`
5561f3561b8bSmrg	  if test -f "$collect2name" &&
5562f3561b8bSmrg	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5563f3561b8bSmrg	  then
5564f3561b8bSmrg	    # We have reworked collect2
5565f3561b8bSmrg	    :
5566f3561b8bSmrg	  else
5567f3561b8bSmrg	    # We have old collect2
5568f3561b8bSmrg	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
5569f3561b8bSmrg	    # It fails to find uninstalled libraries when the uninstalled
5570f3561b8bSmrg	    # path is not listed in the libpath.  Setting hardcode_minus_L
5571f3561b8bSmrg	    # to unsupported forces relinking
5572f3561b8bSmrg	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
5573f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5574f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
5575f3561b8bSmrg	  fi
5576f3561b8bSmrg          esac
5577f3561b8bSmrg          shared_flag='-shared'
5578f3561b8bSmrg	  if test "$aix_use_runtimelinking" = yes; then
5579f3561b8bSmrg	    shared_flag="$shared_flag "'${wl}-G'
5580f3561b8bSmrg	  fi
5581f3561b8bSmrg        else
5582f3561b8bSmrg          # not using gcc
5583f3561b8bSmrg          if test "$host_cpu" = ia64; then
5584f3561b8bSmrg	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5585f3561b8bSmrg	  # chokes on -Wl,-G. The following line is correct:
5586f3561b8bSmrg	  shared_flag='-G'
5587f3561b8bSmrg          else
5588f3561b8bSmrg	    if test "$aix_use_runtimelinking" = yes; then
5589f3561b8bSmrg	      shared_flag='${wl}-G'
5590f3561b8bSmrg	    else
5591f3561b8bSmrg	      shared_flag='${wl}-bM:SRE'
5592f3561b8bSmrg	    fi
5593f3561b8bSmrg          fi
5594f3561b8bSmrg        fi
5595fc5a983dSmrg
5596f3561b8bSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5597f3561b8bSmrg        # It seems that -bexpall does not export symbols beginning with
5598f3561b8bSmrg        # underscore (_), so it is better to generate a list of symbols to
5599f3561b8bSmrg	# export.
5600f3561b8bSmrg        _LT_TAGVAR(always_export_symbols, $1)=yes
5601f3561b8bSmrg        if test "$aix_use_runtimelinking" = yes; then
5602f3561b8bSmrg          # Warning - without using the other runtime loading flags (-brtl),
5603f3561b8bSmrg          # -berok will link without error, but may produce a broken library.
5604f3561b8bSmrg          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5605f3561b8bSmrg          # Determine the default libpath from the value encoded in an empty
5606f3561b8bSmrg          # executable.
5607f3561b8bSmrg          _LT_SYS_MODULE_PATH_AIX
5608f3561b8bSmrg          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5609f3561b8bSmrg
5610f3561b8bSmrg          _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"
5611f3561b8bSmrg        else
5612f3561b8bSmrg          if test "$host_cpu" = ia64; then
5613f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5614f3561b8bSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5615f3561b8bSmrg	    _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"
5616f3561b8bSmrg          else
5617f3561b8bSmrg	    # Determine the default libpath from the value encoded in an
5618f3561b8bSmrg	    # empty executable.
5619f3561b8bSmrg	    _LT_SYS_MODULE_PATH_AIX
5620f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5621f3561b8bSmrg	    # Warning - without using the other run time loading flags,
5622f3561b8bSmrg	    # -berok will link without error, but may produce a broken library.
5623f3561b8bSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5624f3561b8bSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5625f3561b8bSmrg	    # Exported symbols can be pulled into shared objects from archives
5626f3561b8bSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5627f3561b8bSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5628f3561b8bSmrg	    # This is similar to how AIX traditionally builds its shared
5629f3561b8bSmrg	    # libraries.
5630f3561b8bSmrg	    _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'
5631f3561b8bSmrg          fi
5632f3561b8bSmrg        fi
5633f3561b8bSmrg        ;;
5634fc5a983dSmrg
5635f3561b8bSmrg      beos*)
5636f3561b8bSmrg	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5637f3561b8bSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5638f3561b8bSmrg	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5639f3561b8bSmrg	  # support --undefined.  This deserves some investigation.  FIXME
5640f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5641f3561b8bSmrg	else
5642f3561b8bSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
5643f3561b8bSmrg	fi
5644f3561b8bSmrg	;;
5645fc5a983dSmrg
5646f3561b8bSmrg      chorus*)
5647f3561b8bSmrg        case $cc_basename in
5648f3561b8bSmrg          *)
5649f3561b8bSmrg	  # FIXME: insert proper C++ library support
5650f3561b8bSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
5651f3561b8bSmrg	  ;;
5652f3561b8bSmrg        esac
5653f3561b8bSmrg        ;;
5654fc5a983dSmrg
5655f3561b8bSmrg      cygwin* | mingw* | pw32* | cegcc*)
5656f3561b8bSmrg        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5657f3561b8bSmrg        # as there is no search path for DLLs.
5658f3561b8bSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5659f3561b8bSmrg        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5660f3561b8bSmrg        _LT_TAGVAR(always_export_symbols, $1)=no
5661f3561b8bSmrg        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5662f3561b8bSmrg
5663f3561b8bSmrg        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5664f3561b8bSmrg          _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'
5665f3561b8bSmrg          # If the export-symbols file already is a .def file (1st line
5666f3561b8bSmrg          # is EXPORTS), use it as is; otherwise, prepend...
5667f3561b8bSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5668f3561b8bSmrg	    cp $export_symbols $output_objdir/$soname.def;
5669f3561b8bSmrg          else
5670f3561b8bSmrg	    echo EXPORTS > $output_objdir/$soname.def;
5671f3561b8bSmrg	    cat $export_symbols >> $output_objdir/$soname.def;
5672f3561b8bSmrg          fi~
5673f3561b8bSmrg          $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'
5674f3561b8bSmrg        else
5675f3561b8bSmrg          _LT_TAGVAR(ld_shlibs, $1)=no
5676f3561b8bSmrg        fi
5677f3561b8bSmrg        ;;
5678f3561b8bSmrg      darwin* | rhapsody*)
5679f3561b8bSmrg        _LT_DARWIN_LINKER_FEATURES($1)
5680f3561b8bSmrg	;;
5681fc5a983dSmrg
5682f3561b8bSmrg      dgux*)
5683f3561b8bSmrg        case $cc_basename in
5684f3561b8bSmrg          ec++*)
5685f3561b8bSmrg	    # FIXME: insert proper C++ library support
5686f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
5687f3561b8bSmrg	    ;;
5688f3561b8bSmrg          ghcx*)
5689f3561b8bSmrg	    # Green Hills C++ Compiler
5690f3561b8bSmrg	    # FIXME: insert proper C++ library support
5691f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
5692f3561b8bSmrg	    ;;
5693f3561b8bSmrg          *)
5694f3561b8bSmrg	    # FIXME: insert proper C++ library support
5695f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
5696f3561b8bSmrg	    ;;
5697f3561b8bSmrg        esac
5698f3561b8bSmrg        ;;
5699f3561b8bSmrg
5700f3561b8bSmrg      freebsd[[12]]*)
5701f3561b8bSmrg        # C++ shared libraries reported to be fairly broken before
5702f3561b8bSmrg	# switch to ELF
5703f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
5704f3561b8bSmrg        ;;
5705fc5a983dSmrg
5706f3561b8bSmrg      freebsd-elf*)
5707f3561b8bSmrg        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5708f3561b8bSmrg        ;;
5709fc5a983dSmrg
5710f3561b8bSmrg      freebsd* | dragonfly*)
5711f3561b8bSmrg        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5712f3561b8bSmrg        # conventions
5713f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
5714f3561b8bSmrg        ;;
5715fc5a983dSmrg
5716f3561b8bSmrg      gnu*)
5717f3561b8bSmrg        ;;
5718fc5a983dSmrg
5719f3561b8bSmrg      hpux9*)
5720f3561b8bSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5721f3561b8bSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5722f3561b8bSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5723f3561b8bSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
5724f3561b8bSmrg        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5725f3561b8bSmrg				             # but as the default
5726f3561b8bSmrg				             # location of the library.
5727f3561b8bSmrg
5728f3561b8bSmrg        case $cc_basename in
5729f3561b8bSmrg          CC*)
5730f3561b8bSmrg            # FIXME: insert proper C++ library support
5731f3561b8bSmrg            _LT_TAGVAR(ld_shlibs, $1)=no
5732f3561b8bSmrg            ;;
5733f3561b8bSmrg          aCC*)
5734f3561b8bSmrg            _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'
5735f3561b8bSmrg            # Commands to make compiler produce verbose output that lists
5736f3561b8bSmrg            # what "hidden" libraries, object files and flags are used when
5737f3561b8bSmrg            # linking a shared library.
5738f3561b8bSmrg            #
5739f3561b8bSmrg            # There doesn't appear to be a way to prevent this compiler from
5740f3561b8bSmrg            # explicitly linking system object files so we need to strip them
5741f3561b8bSmrg            # from the output so that they don't get included in the library
5742f3561b8bSmrg            # dependencies.
5743f3561b8bSmrg            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'
5744f3561b8bSmrg            ;;
5745f3561b8bSmrg          *)
5746f3561b8bSmrg            if test "$GXX" = yes; then
5747f3561b8bSmrg              _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'
5748f3561b8bSmrg            else
5749f3561b8bSmrg              # FIXME: insert proper C++ library support
5750f3561b8bSmrg              _LT_TAGVAR(ld_shlibs, $1)=no
5751f3561b8bSmrg            fi
5752f3561b8bSmrg            ;;
5753f3561b8bSmrg        esac
5754f3561b8bSmrg        ;;
5755fc5a983dSmrg
5756f3561b8bSmrg      hpux10*|hpux11*)
5757f3561b8bSmrg        if test $with_gnu_ld = no; then
5758f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5759f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5760f3561b8bSmrg
5761f3561b8bSmrg          case $host_cpu in
5762f3561b8bSmrg            hppa*64*|ia64*)
5763f3561b8bSmrg              ;;
5764f3561b8bSmrg            *)
5765f3561b8bSmrg	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5766f3561b8bSmrg              ;;
5767f3561b8bSmrg          esac
5768f3561b8bSmrg        fi
5769f3561b8bSmrg        case $host_cpu in
5770f3561b8bSmrg          hppa*64*|ia64*)
5771f3561b8bSmrg            _LT_TAGVAR(hardcode_direct, $1)=no
5772f3561b8bSmrg            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5773f3561b8bSmrg            ;;
5774f3561b8bSmrg          *)
5775f3561b8bSmrg            _LT_TAGVAR(hardcode_direct, $1)=yes
5776f3561b8bSmrg            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5777f3561b8bSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5778f3561b8bSmrg					         # but as the default
5779f3561b8bSmrg					         # location of the library.
5780f3561b8bSmrg            ;;
5781f3561b8bSmrg        esac
5782f3561b8bSmrg
5783f3561b8bSmrg        case $cc_basename in
5784f3561b8bSmrg          CC*)
5785f3561b8bSmrg	    # FIXME: insert proper C++ library support
5786f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
5787f3561b8bSmrg	    ;;
5788f3561b8bSmrg          aCC*)
5789f3561b8bSmrg	    case $host_cpu in
5790f3561b8bSmrg	      hppa*64*)
5791f3561b8bSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5792f3561b8bSmrg	        ;;
5793f3561b8bSmrg	      ia64*)
5794f3561b8bSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5795f3561b8bSmrg	        ;;
5796f3561b8bSmrg	      *)
5797f3561b8bSmrg	        _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'
5798f3561b8bSmrg	        ;;
5799f3561b8bSmrg	    esac
5800f3561b8bSmrg	    # Commands to make compiler produce verbose output that lists
5801f3561b8bSmrg	    # what "hidden" libraries, object files and flags are used when
5802f3561b8bSmrg	    # linking a shared library.
5803f3561b8bSmrg	    #
5804f3561b8bSmrg	    # There doesn't appear to be a way to prevent this compiler from
5805f3561b8bSmrg	    # explicitly linking system object files so we need to strip them
5806f3561b8bSmrg	    # from the output so that they don't get included in the library
5807f3561b8bSmrg	    # dependencies.
5808f3561b8bSmrg	    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'
5809f3561b8bSmrg	    ;;
5810f3561b8bSmrg          *)
5811f3561b8bSmrg	    if test "$GXX" = yes; then
5812f3561b8bSmrg	      if test $with_gnu_ld = no; then
5813f3561b8bSmrg	        case $host_cpu in
5814f3561b8bSmrg	          hppa*64*)
5815f3561b8bSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5816f3561b8bSmrg	            ;;
5817f3561b8bSmrg	          ia64*)
5818f3561b8bSmrg	            _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'
5819f3561b8bSmrg	            ;;
5820f3561b8bSmrg	          *)
5821f3561b8bSmrg	            _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'
5822f3561b8bSmrg	            ;;
5823f3561b8bSmrg	        esac
5824f3561b8bSmrg	      fi
5825f3561b8bSmrg	    else
5826f3561b8bSmrg	      # FIXME: insert proper C++ library support
5827f3561b8bSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
5828f3561b8bSmrg	    fi
5829f3561b8bSmrg	    ;;
5830f3561b8bSmrg        esac
5831f3561b8bSmrg        ;;
5832fc5a983dSmrg
5833f3561b8bSmrg      interix[[3-9]]*)
5834f3561b8bSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
5835f3561b8bSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5836f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5837f3561b8bSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5838f3561b8bSmrg	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5839f3561b8bSmrg	# Instead, shared libraries are loaded at an image base (0x10000000 by
5840f3561b8bSmrg	# default) and relocated if they conflict, which is a slow very memory
5841f3561b8bSmrg	# consuming and fragmenting process.  To avoid this, we pick a random,
5842f3561b8bSmrg	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5843f3561b8bSmrg	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
5844f3561b8bSmrg	_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'
5845f3561b8bSmrg	_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'
5846f3561b8bSmrg	;;
5847f3561b8bSmrg      irix5* | irix6*)
5848f3561b8bSmrg        case $cc_basename in
5849f3561b8bSmrg          CC*)
5850f3561b8bSmrg	    # SGI C++
5851f3561b8bSmrg	    _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'
5852f3561b8bSmrg
5853f3561b8bSmrg	    # Archives containing C++ object files must be created using
5854f3561b8bSmrg	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
5855f3561b8bSmrg	    # necessary to make sure instantiated templates are included
5856f3561b8bSmrg	    # in the archive.
5857f3561b8bSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
5858f3561b8bSmrg	    ;;
5859f3561b8bSmrg          *)
5860f3561b8bSmrg	    if test "$GXX" = yes; then
5861f3561b8bSmrg	      if test "$with_gnu_ld" = no; then
5862f3561b8bSmrg	        _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'
5863f3561b8bSmrg	      else
5864f3561b8bSmrg	        _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'
5865f3561b8bSmrg	      fi
5866f3561b8bSmrg	    fi
5867f3561b8bSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
5868f3561b8bSmrg	    ;;
5869f3561b8bSmrg        esac
5870f3561b8bSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5871f3561b8bSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5872f3561b8bSmrg        _LT_TAGVAR(inherit_rpath, $1)=yes
5873f3561b8bSmrg        ;;
5874fc5a983dSmrg
58756086d97eSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu)
5876f3561b8bSmrg        case $cc_basename in
5877f3561b8bSmrg          KCC*)
5878f3561b8bSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
5879f3561b8bSmrg
5880f3561b8bSmrg	    # KCC will only create a shared library if the output file
5881f3561b8bSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
5882f3561b8bSmrg	    # to its proper name (with version) after linking.
5883f3561b8bSmrg	    _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'
5884f3561b8bSmrg	    _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'
5885f3561b8bSmrg	    # Commands to make compiler produce verbose output that lists
5886f3561b8bSmrg	    # what "hidden" libraries, object files and flags are used when
5887f3561b8bSmrg	    # linking a shared library.
5888f3561b8bSmrg	    #
5889f3561b8bSmrg	    # There doesn't appear to be a way to prevent this compiler from
5890f3561b8bSmrg	    # explicitly linking system object files so we need to strip them
5891f3561b8bSmrg	    # from the output so that they don't get included in the library
5892f3561b8bSmrg	    # dependencies.
5893f3561b8bSmrg	    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'
5894f3561b8bSmrg
5895f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5896f3561b8bSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5897f3561b8bSmrg
5898f3561b8bSmrg	    # Archives containing C++ object files must be created using
5899f3561b8bSmrg	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
5900f3561b8bSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
5901f3561b8bSmrg	    ;;
5902f3561b8bSmrg	  icpc* | ecpc* )
5903f3561b8bSmrg	    # Intel C++
5904f3561b8bSmrg	    with_gnu_ld=yes
5905f3561b8bSmrg	    # version 8.0 and above of icpc choke on multiply defined symbols
5906f3561b8bSmrg	    # if we add $predep_objects and $postdep_objects, however 7.1 and
5907f3561b8bSmrg	    # earlier do not add the objects themselves.
5908f3561b8bSmrg	    case `$CC -V 2>&1` in
5909f3561b8bSmrg	      *"Version 7."*)
5910f3561b8bSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5911f3561b8bSmrg		_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'
5912f3561b8bSmrg		;;
5913f3561b8bSmrg	      *)  # Version 8.0 or newer
5914f3561b8bSmrg	        tmp_idyn=
5915f3561b8bSmrg	        case $host_cpu in
5916f3561b8bSmrg		  ia64*) tmp_idyn=' -i_dynamic';;
5917f3561b8bSmrg		esac
5918f3561b8bSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5919f3561b8bSmrg		_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'
5920f3561b8bSmrg		;;
5921f3561b8bSmrg	    esac
5922f3561b8bSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5923f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5924f3561b8bSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5925f3561b8bSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5926f3561b8bSmrg	    ;;
5927f3561b8bSmrg          pgCC* | pgcpp*)
5928f3561b8bSmrg            # Portland Group C++ compiler
5929f3561b8bSmrg	    case `$CC -V` in
5930f3561b8bSmrg	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
5931f3561b8bSmrg	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5932f3561b8bSmrg		rm -rf $tpldir~
5933f3561b8bSmrg		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
5934f3561b8bSmrg		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
5935f3561b8bSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5936f3561b8bSmrg		rm -rf $tpldir~
5937f3561b8bSmrg		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
5938f3561b8bSmrg		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
5939f3561b8bSmrg		$RANLIB $oldlib'
5940f3561b8bSmrg	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5941f3561b8bSmrg		rm -rf $tpldir~
5942f3561b8bSmrg		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5943f3561b8bSmrg		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5944f3561b8bSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5945f3561b8bSmrg		rm -rf $tpldir~
5946f3561b8bSmrg		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5947f3561b8bSmrg		$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'
5948f3561b8bSmrg	      ;;
5949f3561b8bSmrg	    *) # Version 6 will use weak symbols
5950f3561b8bSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5951f3561b8bSmrg	      _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'
5952f3561b8bSmrg	      ;;
5953f3561b8bSmrg	    esac
5954fc5a983dSmrg
5955f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5956f3561b8bSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5957f3561b8bSmrg	    _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'
5958f3561b8bSmrg            ;;
5959f3561b8bSmrg	  cxx*)
5960f3561b8bSmrg	    # Compaq C++
5961f3561b8bSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5962f3561b8bSmrg	    _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'
5963fc5a983dSmrg
5964f3561b8bSmrg	    runpath_var=LD_RUN_PATH
5965f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5966f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5967fc5a983dSmrg
5968f3561b8bSmrg	    # Commands to make compiler produce verbose output that lists
5969f3561b8bSmrg	    # what "hidden" libraries, object files and flags are used when
5970f3561b8bSmrg	    # linking a shared library.
5971f3561b8bSmrg	    #
5972f3561b8bSmrg	    # There doesn't appear to be a way to prevent this compiler from
5973f3561b8bSmrg	    # explicitly linking system object files so we need to strip them
5974f3561b8bSmrg	    # from the output so that they don't get included in the library
5975f3561b8bSmrg	    # dependencies.
5976f3561b8bSmrg	    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'
5977f3561b8bSmrg	    ;;
5978f3561b8bSmrg	  xl*)
5979f3561b8bSmrg	    # IBM XL 8.0 on PPC, with GNU ld
5980f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5981f3561b8bSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5982f3561b8bSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5983f3561b8bSmrg	    if test "x$supports_anon_versioning" = xyes; then
5984f3561b8bSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5985f3561b8bSmrg		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5986f3561b8bSmrg		echo "local: *; };" >> $output_objdir/$libname.ver~
5987f3561b8bSmrg		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5988f3561b8bSmrg	    fi
5989f3561b8bSmrg	    ;;
5990f3561b8bSmrg	  *)
5991f3561b8bSmrg	    case `$CC -V 2>&1 | sed 5q` in
5992f3561b8bSmrg	    *Sun\ C*)
5993f3561b8bSmrg	      # Sun C++ 5.9
5994f3561b8bSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
5995f3561b8bSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5996f3561b8bSmrg	      _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'
5997f3561b8bSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5998f3561b8bSmrg	      _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'
5999f3561b8bSmrg	      _LT_TAGVAR(compiler_needs_object, $1)=yes
6000f3561b8bSmrg
6001f3561b8bSmrg	      # Not sure whether something based on
6002f3561b8bSmrg	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6003f3561b8bSmrg	      # would be better.
6004f3561b8bSmrg	      output_verbose_link_cmd='echo'
6005f3561b8bSmrg
6006f3561b8bSmrg	      # Archives containing C++ object files must be created using
6007f3561b8bSmrg	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
6008f3561b8bSmrg	      # necessary to make sure instantiated templates are included
6009f3561b8bSmrg	      # in the archive.
6010f3561b8bSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6011f3561b8bSmrg	      ;;
6012f3561b8bSmrg	    esac
6013f3561b8bSmrg	    ;;
6014f3561b8bSmrg	esac
6015f3561b8bSmrg	;;
6016fc5a983dSmrg
6017f3561b8bSmrg      lynxos*)
6018f3561b8bSmrg        # FIXME: insert proper C++ library support
6019f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
6020f3561b8bSmrg	;;
6021fc5a983dSmrg
6022f3561b8bSmrg      m88k*)
6023f3561b8bSmrg        # FIXME: insert proper C++ library support
6024f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
6025f3561b8bSmrg	;;
6026fc5a983dSmrg
6027f3561b8bSmrg      mvs*)
6028f3561b8bSmrg        case $cc_basename in
6029f3561b8bSmrg          cxx*)
6030f3561b8bSmrg	    # FIXME: insert proper C++ library support
6031f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6032f3561b8bSmrg	    ;;
6033f3561b8bSmrg	  *)
6034f3561b8bSmrg	    # FIXME: insert proper C++ library support
6035f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6036f3561b8bSmrg	    ;;
6037f3561b8bSmrg	esac
6038f3561b8bSmrg	;;
6039fc5a983dSmrg
6040f3561b8bSmrg      netbsd*)
6041f3561b8bSmrg        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6042f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6043f3561b8bSmrg	  wlarc=
6044f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6045f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
6046f3561b8bSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6047f3561b8bSmrg	fi
6048f3561b8bSmrg	# Workaround some broken pre-1.5 toolchains
6049f3561b8bSmrg	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6050f3561b8bSmrg	;;
6051fc5a983dSmrg
6052f3561b8bSmrg      *nto* | *qnx*)
6053f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
6054f3561b8bSmrg	;;
6055fc5a983dSmrg
6056f3561b8bSmrg      openbsd2*)
6057f3561b8bSmrg        # C++ shared libraries are fairly broken
6058f3561b8bSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
6059f3561b8bSmrg	;;
6060fc5a983dSmrg
6061f3561b8bSmrg      openbsd*)
6062f3561b8bSmrg	if test -f /usr/libexec/ld.so; then
6063f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
6064f3561b8bSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6065f3561b8bSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6066f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6067f3561b8bSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6068f3561b8bSmrg	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6069f3561b8bSmrg	    _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'
6070f3561b8bSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6071f3561b8bSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6072f3561b8bSmrg	  fi
6073f3561b8bSmrg	  output_verbose_link_cmd=echo
6074f3561b8bSmrg	else
6075f3561b8bSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
6076f3561b8bSmrg	fi
6077f3561b8bSmrg	;;
6078fc5a983dSmrg
6079f3561b8bSmrg      osf3* | osf4* | osf5*)
6080f3561b8bSmrg        case $cc_basename in
6081f3561b8bSmrg          KCC*)
6082f3561b8bSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
6083f3561b8bSmrg
6084f3561b8bSmrg	    # KCC will only create a shared library if the output file
6085f3561b8bSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
6086f3561b8bSmrg	    # to its proper name (with version) after linking.
6087f3561b8bSmrg	    _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'
6088f3561b8bSmrg
6089f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6090f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6091f3561b8bSmrg
6092f3561b8bSmrg	    # Archives containing C++ object files must be created using
6093f3561b8bSmrg	    # the KAI C++ compiler.
6094f3561b8bSmrg	    case $host in
6095f3561b8bSmrg	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6096f3561b8bSmrg	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6097f3561b8bSmrg	    esac
6098f3561b8bSmrg	    ;;
6099f3561b8bSmrg          RCC*)
6100f3561b8bSmrg	    # Rational C++ 2.4.1
6101f3561b8bSmrg	    # FIXME: insert proper C++ library support
6102f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6103f3561b8bSmrg	    ;;
6104f3561b8bSmrg          cxx*)
6105f3561b8bSmrg	    case $host in
6106f3561b8bSmrg	      osf3*)
6107f3561b8bSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6108f3561b8bSmrg	        _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'
6109f3561b8bSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6110f3561b8bSmrg		;;
6111f3561b8bSmrg	      *)
6112f3561b8bSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6113f3561b8bSmrg	        _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'
6114f3561b8bSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6115f3561b8bSmrg	          echo "-hidden">> $lib.exp~
6116f3561b8bSmrg	          $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~
6117f3561b8bSmrg	          $RM $lib.exp'
6118f3561b8bSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6119f3561b8bSmrg		;;
6120f3561b8bSmrg	    esac
6121fc5a983dSmrg
6122f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6123fc5a983dSmrg
6124f3561b8bSmrg	    # Commands to make compiler produce verbose output that lists
6125f3561b8bSmrg	    # what "hidden" libraries, object files and flags are used when
6126f3561b8bSmrg	    # linking a shared library.
6127f3561b8bSmrg	    #
6128f3561b8bSmrg	    # There doesn't appear to be a way to prevent this compiler from
6129f3561b8bSmrg	    # explicitly linking system object files so we need to strip them
6130f3561b8bSmrg	    # from the output so that they don't get included in the library
6131f3561b8bSmrg	    # dependencies.
6132f3561b8bSmrg	    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'
6133f3561b8bSmrg	    ;;
6134f3561b8bSmrg	  *)
6135f3561b8bSmrg	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6136f3561b8bSmrg	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6137f3561b8bSmrg	      case $host in
6138f3561b8bSmrg	        osf3*)
6139f3561b8bSmrg	          _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'
6140f3561b8bSmrg		  ;;
6141f3561b8bSmrg	        *)
6142f3561b8bSmrg	          _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'
6143f3561b8bSmrg		  ;;
6144f3561b8bSmrg	      esac
6145f3561b8bSmrg
6146f3561b8bSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6147f3561b8bSmrg	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6148f3561b8bSmrg
6149f3561b8bSmrg	      # Commands to make compiler produce verbose output that lists
6150f3561b8bSmrg	      # what "hidden" libraries, object files and flags are used when
6151f3561b8bSmrg	      # linking a shared library.
6152f3561b8bSmrg	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6153f3561b8bSmrg
6154f3561b8bSmrg	    else
6155f3561b8bSmrg	      # FIXME: insert proper C++ library support
6156f3561b8bSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
6157f3561b8bSmrg	    fi
6158f3561b8bSmrg	    ;;
6159f3561b8bSmrg        esac
6160f3561b8bSmrg        ;;
6161fc5a983dSmrg
6162f3561b8bSmrg      psos*)
6163f3561b8bSmrg        # FIXME: insert proper C++ library support
6164f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
6165f3561b8bSmrg        ;;
6166fc5a983dSmrg
6167f3561b8bSmrg      sunos4*)
6168f3561b8bSmrg        case $cc_basename in
6169f3561b8bSmrg          CC*)
6170f3561b8bSmrg	    # Sun C++ 4.x
6171f3561b8bSmrg	    # FIXME: insert proper C++ library support
6172f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6173f3561b8bSmrg	    ;;
6174f3561b8bSmrg          lcc*)
6175f3561b8bSmrg	    # Lucid
6176f3561b8bSmrg	    # FIXME: insert proper C++ library support
6177f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6178f3561b8bSmrg	    ;;
6179f3561b8bSmrg          *)
6180f3561b8bSmrg	    # FIXME: insert proper C++ library support
6181f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6182f3561b8bSmrg	    ;;
6183f3561b8bSmrg        esac
6184f3561b8bSmrg        ;;
6185fc5a983dSmrg
6186f3561b8bSmrg      solaris*)
6187f3561b8bSmrg        case $cc_basename in
6188f3561b8bSmrg          CC*)
6189f3561b8bSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
6190f3561b8bSmrg            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6191f3561b8bSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6192f3561b8bSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6193f3561b8bSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6194f3561b8bSmrg	      $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'
6195f3561b8bSmrg
6196f3561b8bSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6197f3561b8bSmrg	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6198f3561b8bSmrg	    case $host_os in
6199f3561b8bSmrg	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6200f3561b8bSmrg	      *)
6201f3561b8bSmrg		# The compiler driver will combine and reorder linker options,
6202f3561b8bSmrg		# but understands `-z linker_flag'.
6203f3561b8bSmrg	        # Supported since Solaris 2.6 (maybe 2.5.1?)
6204f3561b8bSmrg		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6205f3561b8bSmrg	        ;;
6206f3561b8bSmrg	    esac
6207f3561b8bSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
6208fc5a983dSmrg
6209f3561b8bSmrg	    output_verbose_link_cmd='echo'
6210fc5a983dSmrg
6211f3561b8bSmrg	    # Archives containing C++ object files must be created using
6212f3561b8bSmrg	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
6213f3561b8bSmrg	    # necessary to make sure instantiated templates are included
6214f3561b8bSmrg	    # in the archive.
6215f3561b8bSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6216f3561b8bSmrg	    ;;
6217f3561b8bSmrg          gcx*)
6218f3561b8bSmrg	    # Green Hills C++ Compiler
6219f3561b8bSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6220fc5a983dSmrg
6221f3561b8bSmrg	    # The C++ compiler must be used to create the archive.
6222f3561b8bSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6223f3561b8bSmrg	    ;;
6224f3561b8bSmrg          *)
6225f3561b8bSmrg	    # GNU C++ compiler with Solaris linker
6226f3561b8bSmrg	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6227f3561b8bSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6228f3561b8bSmrg	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6229f3561b8bSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6230f3561b8bSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6231f3561b8bSmrg		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6232f3561b8bSmrg
6233f3561b8bSmrg	        # Commands to make compiler produce verbose output that lists
6234f3561b8bSmrg	        # what "hidden" libraries, object files and flags are used when
6235f3561b8bSmrg	        # linking a shared library.
6236f3561b8bSmrg	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6237f3561b8bSmrg	      else
6238f3561b8bSmrg	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
6239f3561b8bSmrg	        # platform.
6240f3561b8bSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6241f3561b8bSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6242f3561b8bSmrg		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6243f3561b8bSmrg
6244f3561b8bSmrg	        # Commands to make compiler produce verbose output that lists
6245f3561b8bSmrg	        # what "hidden" libraries, object files and flags are used when
6246f3561b8bSmrg	        # linking a shared library.
6247f3561b8bSmrg	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6248f3561b8bSmrg	      fi
6249f3561b8bSmrg
6250f3561b8bSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6251f3561b8bSmrg	      case $host_os in
6252f3561b8bSmrg		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6253f3561b8bSmrg		*)
6254f3561b8bSmrg		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6255f3561b8bSmrg		  ;;
6256f3561b8bSmrg	      esac
6257f3561b8bSmrg	    fi
6258f3561b8bSmrg	    ;;
6259f3561b8bSmrg        esac
6260f3561b8bSmrg        ;;
6261fc5a983dSmrg
6262f3561b8bSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6263f3561b8bSmrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6264f3561b8bSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6265f3561b8bSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6266f3561b8bSmrg      runpath_var='LD_RUN_PATH'
6267fc5a983dSmrg
6268f3561b8bSmrg      case $cc_basename in
6269f3561b8bSmrg        CC*)
6270f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6271f3561b8bSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6272f3561b8bSmrg	  ;;
6273f3561b8bSmrg	*)
6274f3561b8bSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6275f3561b8bSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6276f3561b8bSmrg	  ;;
6277f3561b8bSmrg      esac
6278f3561b8bSmrg      ;;
6279fc5a983dSmrg
6280f3561b8bSmrg      sysv5* | sco3.2v5* | sco5v6*)
6281f3561b8bSmrg	# Note: We can NOT use -z defs as we might desire, because we do not
6282f3561b8bSmrg	# link with -lc, and that would cause any symbols used from libc to
6283f3561b8bSmrg	# always be unresolved, which means just about no library would
6284f3561b8bSmrg	# ever link correctly.  If we're not using GNU ld we use -z text
6285f3561b8bSmrg	# though, which does catch some bad symbols but isn't as heavy-handed
6286f3561b8bSmrg	# as -z defs.
6287f3561b8bSmrg	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6288f3561b8bSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6289f3561b8bSmrg	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6290f3561b8bSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6291f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6292f3561b8bSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6293f3561b8bSmrg	_LT_TAGVAR(link_all_deplibs, $1)=yes
6294f3561b8bSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6295f3561b8bSmrg	runpath_var='LD_RUN_PATH'
6296fc5a983dSmrg
6297f3561b8bSmrg	case $cc_basename in
6298f3561b8bSmrg          CC*)
6299f3561b8bSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6300f3561b8bSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6301f3561b8bSmrg	    ;;
6302f3561b8bSmrg	  *)
6303f3561b8bSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6304f3561b8bSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6305f3561b8bSmrg	    ;;
6306f3561b8bSmrg	esac
6307f3561b8bSmrg      ;;
6308fc5a983dSmrg
6309f3561b8bSmrg      tandem*)
6310f3561b8bSmrg        case $cc_basename in
6311f3561b8bSmrg          NCC*)
6312f3561b8bSmrg	    # NonStop-UX NCC 3.20
6313f3561b8bSmrg	    # FIXME: insert proper C++ library support
6314f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6315f3561b8bSmrg	    ;;
6316f3561b8bSmrg          *)
6317f3561b8bSmrg	    # FIXME: insert proper C++ library support
6318f3561b8bSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6319f3561b8bSmrg	    ;;
6320f3561b8bSmrg        esac
6321f3561b8bSmrg        ;;
6322fc5a983dSmrg
6323f3561b8bSmrg      vxworks*)
6324f3561b8bSmrg        # FIXME: insert proper C++ library support
6325f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
6326f3561b8bSmrg        ;;
6327fc5a983dSmrg
6328f3561b8bSmrg      *)
6329f3561b8bSmrg        # FIXME: insert proper C++ library support
6330f3561b8bSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
6331f3561b8bSmrg        ;;
6332f3561b8bSmrg    esac
6333fc5a983dSmrg
6334f3561b8bSmrg    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6335f3561b8bSmrg    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6336f3561b8bSmrg
6337f3561b8bSmrg    _LT_TAGVAR(GCC, $1)="$GXX"
6338f3561b8bSmrg    _LT_TAGVAR(LD, $1)="$LD"
6339f3561b8bSmrg
6340f3561b8bSmrg    ## CAVEAT EMPTOR:
6341f3561b8bSmrg    ## There is no encapsulation within the following macros, do not change
6342f3561b8bSmrg    ## the running order or otherwise move them around unless you know exactly
6343f3561b8bSmrg    ## what you are doing...
6344f3561b8bSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
6345f3561b8bSmrg    _LT_COMPILER_PIC($1)
6346f3561b8bSmrg    _LT_COMPILER_C_O($1)
6347f3561b8bSmrg    _LT_COMPILER_FILE_LOCKS($1)
6348f3561b8bSmrg    _LT_LINKER_SHLIBS($1)
6349f3561b8bSmrg    _LT_SYS_DYNAMIC_LINKER($1)
6350f3561b8bSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
6351f3561b8bSmrg
6352f3561b8bSmrg    _LT_CONFIG($1)
6353f3561b8bSmrg  fi # test -n "$compiler"
6354f3561b8bSmrg
6355f3561b8bSmrg  CC=$lt_save_CC
6356f3561b8bSmrg  LDCXX=$LD
6357f3561b8bSmrg  LD=$lt_save_LD
6358f3561b8bSmrg  GCC=$lt_save_GCC
6359f3561b8bSmrg  with_gnu_ld=$lt_save_with_gnu_ld
6360f3561b8bSmrg  lt_cv_path_LDCXX=$lt_cv_path_LD
6361f3561b8bSmrg  lt_cv_path_LD=$lt_save_path_LD
6362f3561b8bSmrg  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6363f3561b8bSmrg  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6364f3561b8bSmrgfi # test "$_lt_caught_CXX_error" != yes
6365fc5a983dSmrg
6366f3561b8bSmrgAC_LANG_POP
6367f3561b8bSmrg])# _LT_LANG_CXX_CONFIG
6368fc5a983dSmrg
6369fc5a983dSmrg
6370f3561b8bSmrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6371f3561b8bSmrg# ---------------------------------
6372f3561b8bSmrg# Figure out "hidden" library dependencies from verbose
6373f3561b8bSmrg# compiler output when linking a shared library.
6374f3561b8bSmrg# Parse the compiler output and extract the necessary
6375f3561b8bSmrg# objects, libraries and library flags.
6376f3561b8bSmrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6377f3561b8bSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6378f3561b8bSmrg# Dependencies to place before and after the object being linked:
6379f3561b8bSmrg_LT_TAGVAR(predep_objects, $1)=
6380f3561b8bSmrg_LT_TAGVAR(postdep_objects, $1)=
6381f3561b8bSmrg_LT_TAGVAR(predeps, $1)=
6382f3561b8bSmrg_LT_TAGVAR(postdeps, $1)=
6383f3561b8bSmrg_LT_TAGVAR(compiler_lib_search_path, $1)=
6384fc5a983dSmrg
6385f3561b8bSmrgdnl we can't use the lt_simple_compile_test_code here,
6386f3561b8bSmrgdnl because it contains code intended for an executable,
6387f3561b8bSmrgdnl not a library.  It's possible we should let each
6388f3561b8bSmrgdnl tag define a new lt_????_link_test_code variable,
6389f3561b8bSmrgdnl but it's only used here...
6390f3561b8bSmrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6391f3561b8bSmrgint a;
6392f3561b8bSmrgvoid foo (void) { a = 0; }
6393f3561b8bSmrg_LT_EOF
6394f3561b8bSmrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6395f3561b8bSmrgclass Foo
6396f3561b8bSmrg{
6397f3561b8bSmrgpublic:
6398f3561b8bSmrg  Foo (void) { a = 0; }
6399f3561b8bSmrgprivate:
6400f3561b8bSmrg  int a;
6401f3561b8bSmrg};
6402f3561b8bSmrg_LT_EOF
6403f3561b8bSmrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6404f3561b8bSmrg      subroutine foo
6405f3561b8bSmrg      implicit none
6406f3561b8bSmrg      integer*4 a
6407f3561b8bSmrg      a=0
6408f3561b8bSmrg      return
6409f3561b8bSmrg      end
6410f3561b8bSmrg_LT_EOF
6411f3561b8bSmrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6412f3561b8bSmrg      subroutine foo
6413f3561b8bSmrg      implicit none
6414f3561b8bSmrg      integer a
6415f3561b8bSmrg      a=0
6416f3561b8bSmrg      return
6417f3561b8bSmrg      end
6418f3561b8bSmrg_LT_EOF
6419f3561b8bSmrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6420f3561b8bSmrgpublic class foo {
6421f3561b8bSmrg  private int a;
6422f3561b8bSmrg  public void bar (void) {
6423f3561b8bSmrg    a = 0;
6424f3561b8bSmrg  }
6425f3561b8bSmrg};
6426f3561b8bSmrg_LT_EOF
6427f3561b8bSmrg])
6428f3561b8bSmrgdnl Parse the compiler output and extract the necessary
6429f3561b8bSmrgdnl objects, libraries and library flags.
6430f3561b8bSmrgif AC_TRY_EVAL(ac_compile); then
6431f3561b8bSmrg  # Parse the compiler output and extract the necessary
6432f3561b8bSmrg  # objects, libraries and library flags.
6433fc5a983dSmrg
6434f3561b8bSmrg  # Sentinel used to keep track of whether or not we are before
6435f3561b8bSmrg  # the conftest object file.
6436f3561b8bSmrg  pre_test_object_deps_done=no
6437fc5a983dSmrg
6438f3561b8bSmrg  for p in `eval "$output_verbose_link_cmd"`; do
6439f3561b8bSmrg    case $p in
6440fc5a983dSmrg
6441f3561b8bSmrg    -L* | -R* | -l*)
6442f3561b8bSmrg       # Some compilers place space between "-{L,R}" and the path.
6443f3561b8bSmrg       # Remove the space.
6444f3561b8bSmrg       if test $p = "-L" ||
6445f3561b8bSmrg          test $p = "-R"; then
6446f3561b8bSmrg	 prev=$p
6447f3561b8bSmrg	 continue
6448f3561b8bSmrg       else
6449f3561b8bSmrg	 prev=
6450f3561b8bSmrg       fi
6451fc5a983dSmrg
6452f3561b8bSmrg       if test "$pre_test_object_deps_done" = no; then
6453f3561b8bSmrg	 case $p in
6454f3561b8bSmrg	 -L* | -R*)
6455f3561b8bSmrg	   # Internal compiler library paths should come after those
6456f3561b8bSmrg	   # provided the user.  The postdeps already come after the
6457f3561b8bSmrg	   # user supplied libs so there is no need to process them.
6458f3561b8bSmrg	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6459f3561b8bSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6460f3561b8bSmrg	   else
6461f3561b8bSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6462f3561b8bSmrg	   fi
6463f3561b8bSmrg	   ;;
6464f3561b8bSmrg	 # The "-l" case would never come before the object being
6465f3561b8bSmrg	 # linked, so don't bother handling this case.
6466f3561b8bSmrg	 esac
6467f3561b8bSmrg       else
6468f3561b8bSmrg	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6469f3561b8bSmrg	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6470f3561b8bSmrg	 else
6471f3561b8bSmrg	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6472f3561b8bSmrg	 fi
6473f3561b8bSmrg       fi
6474f3561b8bSmrg       ;;
6475fc5a983dSmrg
6476f3561b8bSmrg    *.$objext)
6477f3561b8bSmrg       # This assumes that the test object file only shows up
6478f3561b8bSmrg       # once in the compiler output.
6479f3561b8bSmrg       if test "$p" = "conftest.$objext"; then
6480f3561b8bSmrg	 pre_test_object_deps_done=yes
6481f3561b8bSmrg	 continue
6482f3561b8bSmrg       fi
6483fc5a983dSmrg
6484f3561b8bSmrg       if test "$pre_test_object_deps_done" = no; then
6485f3561b8bSmrg	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6486f3561b8bSmrg	   _LT_TAGVAR(predep_objects, $1)="$p"
6487f3561b8bSmrg	 else
6488f3561b8bSmrg	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6489f3561b8bSmrg	 fi
6490f3561b8bSmrg       else
6491f3561b8bSmrg	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6492f3561b8bSmrg	   _LT_TAGVAR(postdep_objects, $1)="$p"
6493f3561b8bSmrg	 else
6494f3561b8bSmrg	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6495f3561b8bSmrg	 fi
6496f3561b8bSmrg       fi
6497f3561b8bSmrg       ;;
6498fc5a983dSmrg
6499f3561b8bSmrg    *) ;; # Ignore the rest.
6500fc5a983dSmrg
6501f3561b8bSmrg    esac
6502f3561b8bSmrg  done
6503fc5a983dSmrg
6504f3561b8bSmrg  # Clean up.
6505f3561b8bSmrg  rm -f a.out a.exe
6506fc5a983dSmrgelse
6507f3561b8bSmrg  echo "libtool.m4: error: problem compiling $1 test program"
6508fc5a983dSmrgfi
6509fc5a983dSmrg
6510f3561b8bSmrg$RM -f confest.$objext
6511fc5a983dSmrg
6512f3561b8bSmrg# PORTME: override above test on systems where it is broken
6513f3561b8bSmrgm4_if([$1], [CXX],
6514f3561b8bSmrg[case $host_os in
6515f3561b8bSmrginterix[[3-9]]*)
6516f3561b8bSmrg  # Interix 3.5 installs completely hosed .la files for C++, so rather than
6517f3561b8bSmrg  # hack all around it, let's just trust "g++" to DTRT.
6518f3561b8bSmrg  _LT_TAGVAR(predep_objects,$1)=
6519f3561b8bSmrg  _LT_TAGVAR(postdep_objects,$1)=
6520f3561b8bSmrg  _LT_TAGVAR(postdeps,$1)=
6521f3561b8bSmrg  ;;
6522fc5a983dSmrg
6523f3561b8bSmrglinux*)
6524f3561b8bSmrg  case `$CC -V 2>&1 | sed 5q` in
6525f3561b8bSmrg  *Sun\ C*)
6526f3561b8bSmrg    # Sun C++ 5.9
6527fc5a983dSmrg
6528f3561b8bSmrg    # The more standards-conforming stlport4 library is
6529f3561b8bSmrg    # incompatible with the Cstd library. Avoid specifying
6530f3561b8bSmrg    # it if it's in CXXFLAGS. Ignore libCrun as
6531f3561b8bSmrg    # -library=stlport4 depends on it.
6532f3561b8bSmrg    case " $CXX $CXXFLAGS " in
6533f3561b8bSmrg    *" -library=stlport4 "*)
6534f3561b8bSmrg      solaris_use_stlport4=yes
6535f3561b8bSmrg      ;;
6536f3561b8bSmrg    esac
6537fc5a983dSmrg
6538f3561b8bSmrg    if test "$solaris_use_stlport4" != yes; then
6539f3561b8bSmrg      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6540f3561b8bSmrg    fi
6541f3561b8bSmrg    ;;
6542f3561b8bSmrg  esac
6543f3561b8bSmrg  ;;
6544f3561b8bSmrg
6545f3561b8bSmrgsolaris*)
6546f3561b8bSmrg  case $cc_basename in
6547f3561b8bSmrg  CC*)
6548f3561b8bSmrg    # The more standards-conforming stlport4 library is
6549f3561b8bSmrg    # incompatible with the Cstd library. Avoid specifying
6550f3561b8bSmrg    # it if it's in CXXFLAGS. Ignore libCrun as
6551f3561b8bSmrg    # -library=stlport4 depends on it.
6552f3561b8bSmrg    case " $CXX $CXXFLAGS " in
6553f3561b8bSmrg    *" -library=stlport4 "*)
6554f3561b8bSmrg      solaris_use_stlport4=yes
6555f3561b8bSmrg      ;;
6556f3561b8bSmrg    esac
6557fc5a983dSmrg
6558f3561b8bSmrg    # Adding this requires a known-good setup of shared libraries for
6559f3561b8bSmrg    # Sun compiler versions before 5.6, else PIC objects from an old
6560f3561b8bSmrg    # archive will be linked into the output, leading to subtle bugs.
6561f3561b8bSmrg    if test "$solaris_use_stlport4" != yes; then
6562f3561b8bSmrg      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6563f3561b8bSmrg    fi
6564f3561b8bSmrg    ;;
6565f3561b8bSmrg  esac
6566f3561b8bSmrg  ;;
6567f3561b8bSmrgesac
6568f3561b8bSmrg])
6569fc5a983dSmrg
6570f3561b8bSmrgcase " $_LT_TAGVAR(postdeps, $1) " in
6571f3561b8bSmrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
6572f3561b8bSmrgesac
6573f3561b8bSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
6574f3561b8bSmrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
6575f3561b8bSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
6576f3561b8bSmrgfi
6577f3561b8bSmrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
6578f3561b8bSmrg    [The directories searched by this compiler when creating a shared library])
6579f3561b8bSmrg_LT_TAGDECL([], [predep_objects], [1],
6580f3561b8bSmrg    [Dependencies to place before and after the objects being linked to
6581f3561b8bSmrg    create a shared library])
6582f3561b8bSmrg_LT_TAGDECL([], [postdep_objects], [1])
6583f3561b8bSmrg_LT_TAGDECL([], [predeps], [1])
6584f3561b8bSmrg_LT_TAGDECL([], [postdeps], [1])
6585f3561b8bSmrg_LT_TAGDECL([], [compiler_lib_search_path], [1],
6586f3561b8bSmrg    [The library search path used internally by the compiler when linking
6587f3561b8bSmrg    a shared library])
6588f3561b8bSmrg])# _LT_SYS_HIDDEN_LIBDEPS
6589f3561b8bSmrg
6590f3561b8bSmrg
6591f3561b8bSmrg# _LT_PROG_F77
6592f3561b8bSmrg# ------------
6593f3561b8bSmrg# Since AC_PROG_F77 is broken, in that it returns the empty string
6594f3561b8bSmrg# if there is no fortran compiler, we have our own version here.
6595f3561b8bSmrgm4_defun([_LT_PROG_F77],
6596fc5a983dSmrg[
6597f3561b8bSmrgpushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6598f3561b8bSmrgAC_PROG_F77
6599f3561b8bSmrgif test -z "$F77" || test "X$F77" = "Xno"; then
6600f3561b8bSmrg  _lt_disable_F77=yes
6601f3561b8bSmrgfi
6602f3561b8bSmrgpopdef([AC_MSG_ERROR])
6603f3561b8bSmrg])# _LT_PROG_F77
6604fc5a983dSmrg
6605f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
6606f3561b8bSmrgdnl AC_DEFUN([_LT_PROG_F77], [])
6607fc5a983dSmrg
6608fc5a983dSmrg
6609f3561b8bSmrg# _LT_LANG_F77_CONFIG([TAG])
6610f3561b8bSmrg# --------------------------
6611f3561b8bSmrg# Ensure that the configuration variables for a Fortran 77 compiler are
6612f3561b8bSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
6613f3561b8bSmrg# to write the compiler configuration to `libtool'.
6614f3561b8bSmrgm4_defun([_LT_LANG_F77_CONFIG],
6615f3561b8bSmrg[AC_REQUIRE([_LT_PROG_F77])dnl
6616f3561b8bSmrgAC_LANG_PUSH(Fortran 77)
6617fc5a983dSmrg
6618f3561b8bSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6619f3561b8bSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
6620f3561b8bSmrg_LT_TAGVAR(always_export_symbols, $1)=no
6621f3561b8bSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
6622f3561b8bSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6623f3561b8bSmrg_LT_TAGVAR(hardcode_direct, $1)=no
6624f3561b8bSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6625f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6626f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6627f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
6628f3561b8bSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
6629f3561b8bSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
6630f3561b8bSmrg_LT_TAGVAR(inherit_rpath, $1)=no
6631f3561b8bSmrg_LT_TAGVAR(module_cmds, $1)=
6632f3561b8bSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
6633f3561b8bSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
6634f3561b8bSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6635f3561b8bSmrg_LT_TAGVAR(no_undefined_flag, $1)=
6636f3561b8bSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
6637f3561b8bSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6638fc5a983dSmrg
6639f3561b8bSmrg# Source file extension for f77 test sources.
6640f3561b8bSmrgac_ext=f
6641fc5a983dSmrg
6642f3561b8bSmrg# Object file extension for compiled f77 test sources.
6643f3561b8bSmrgobjext=o
6644f3561b8bSmrg_LT_TAGVAR(objext, $1)=$objext
6645f3561b8bSmrg
6646f3561b8bSmrg# No sense in running all these tests if we already determined that
6647f3561b8bSmrg# the F77 compiler isn't working.  Some variables (like enable_shared)
6648f3561b8bSmrg# are currently assumed to apply to all compilers on this platform,
6649f3561b8bSmrg# and will be corrupted by setting them based on a non-working compiler.
6650f3561b8bSmrgif test "$_lt_disable_F77" != yes; then
6651f3561b8bSmrg  # Code to be used in simple compile tests
6652f3561b8bSmrg  lt_simple_compile_test_code="\
6653f3561b8bSmrg      subroutine t
6654f3561b8bSmrg      return
6655f3561b8bSmrg      end
6656f3561b8bSmrg"
6657fc5a983dSmrg
6658f3561b8bSmrg  # Code to be used in simple link tests
6659f3561b8bSmrg  lt_simple_link_test_code="\
6660f3561b8bSmrg      program t
6661f3561b8bSmrg      end
6662f3561b8bSmrg"
6663fc5a983dSmrg
6664f3561b8bSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6665f3561b8bSmrg  _LT_TAG_COMPILER
6666fc5a983dSmrg
6667f3561b8bSmrg  # save warnings/boilerplate of simple test code
6668f3561b8bSmrg  _LT_COMPILER_BOILERPLATE
6669f3561b8bSmrg  _LT_LINKER_BOILERPLATE
6670fc5a983dSmrg
6671f3561b8bSmrg  # Allow CC to be a program name with arguments.
6672f3561b8bSmrg  lt_save_CC="$CC"
6673f3561b8bSmrg  lt_save_GCC=$GCC
6674f3561b8bSmrg  CC=${F77-"f77"}
6675f3561b8bSmrg  compiler=$CC
6676f3561b8bSmrg  _LT_TAGVAR(compiler, $1)=$CC
6677f3561b8bSmrg  _LT_CC_BASENAME([$compiler])
6678f3561b8bSmrg  GCC=$G77
6679f3561b8bSmrg  if test -n "$compiler"; then
6680f3561b8bSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
6681f3561b8bSmrg    AC_MSG_RESULT([$can_build_shared])
6682fc5a983dSmrg
6683f3561b8bSmrg    AC_MSG_CHECKING([whether to build shared libraries])
6684f3561b8bSmrg    test "$can_build_shared" = "no" && enable_shared=no
6685fc5a983dSmrg
6686f3561b8bSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
6687f3561b8bSmrg    # are all built from PIC.
6688f3561b8bSmrg    case $host_os in
6689f3561b8bSmrg      aix3*)
6690f3561b8bSmrg        test "$enable_shared" = yes && enable_static=no
6691f3561b8bSmrg        if test -n "$RANLIB"; then
6692f3561b8bSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
6693f3561b8bSmrg          postinstall_cmds='$RANLIB $lib'
6694f3561b8bSmrg        fi
6695f3561b8bSmrg        ;;
6696f3561b8bSmrg      aix[[4-9]]*)
6697f3561b8bSmrg	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6698f3561b8bSmrg	  test "$enable_shared" = yes && enable_static=no
6699f3561b8bSmrg	fi
6700f3561b8bSmrg        ;;
6701f3561b8bSmrg    esac
6702f3561b8bSmrg    AC_MSG_RESULT([$enable_shared])
6703f3561b8bSmrg
6704f3561b8bSmrg    AC_MSG_CHECKING([whether to build static libraries])
6705f3561b8bSmrg    # Make sure either enable_shared or enable_static is yes.
6706f3561b8bSmrg    test "$enable_shared" = yes || enable_static=yes
6707f3561b8bSmrg    AC_MSG_RESULT([$enable_static])
6708f3561b8bSmrg
6709f3561b8bSmrg    _LT_TAGVAR(GCC, $1)="$G77"
6710f3561b8bSmrg    _LT_TAGVAR(LD, $1)="$LD"
6711f3561b8bSmrg
6712f3561b8bSmrg    ## CAVEAT EMPTOR:
6713f3561b8bSmrg    ## There is no encapsulation within the following macros, do not change
6714f3561b8bSmrg    ## the running order or otherwise move them around unless you know exactly
6715f3561b8bSmrg    ## what you are doing...
6716f3561b8bSmrg    _LT_COMPILER_PIC($1)
6717f3561b8bSmrg    _LT_COMPILER_C_O($1)
6718f3561b8bSmrg    _LT_COMPILER_FILE_LOCKS($1)
6719f3561b8bSmrg    _LT_LINKER_SHLIBS($1)
6720f3561b8bSmrg    _LT_SYS_DYNAMIC_LINKER($1)
6721f3561b8bSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
6722f3561b8bSmrg
6723f3561b8bSmrg    _LT_CONFIG($1)
6724f3561b8bSmrg  fi # test -n "$compiler"
6725f3561b8bSmrg
6726f3561b8bSmrg  GCC=$lt_save_GCC
6727f3561b8bSmrg  CC="$lt_save_CC"
6728f3561b8bSmrgfi # test "$_lt_disable_F77" != yes
6729fc5a983dSmrg
6730f3561b8bSmrgAC_LANG_POP
6731f3561b8bSmrg])# _LT_LANG_F77_CONFIG
6732fc5a983dSmrg
6733fc5a983dSmrg
6734f3561b8bSmrg# _LT_PROG_FC
6735f3561b8bSmrg# -----------
6736f3561b8bSmrg# Since AC_PROG_FC is broken, in that it returns the empty string
6737f3561b8bSmrg# if there is no fortran compiler, we have our own version here.
6738f3561b8bSmrgm4_defun([_LT_PROG_FC],
6739f3561b8bSmrg[
6740f3561b8bSmrgpushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6741f3561b8bSmrgAC_PROG_FC
6742f3561b8bSmrgif test -z "$FC" || test "X$FC" = "Xno"; then
6743f3561b8bSmrg  _lt_disable_FC=yes
6744f3561b8bSmrgfi
6745f3561b8bSmrgpopdef([AC_MSG_ERROR])
6746f3561b8bSmrg])# _LT_PROG_FC
6747fc5a983dSmrg
6748f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
6749f3561b8bSmrgdnl AC_DEFUN([_LT_PROG_FC], [])
6750fc5a983dSmrg
6751fc5a983dSmrg
6752f3561b8bSmrg# _LT_LANG_FC_CONFIG([TAG])
6753f3561b8bSmrg# -------------------------
6754f3561b8bSmrg# Ensure that the configuration variables for a Fortran compiler are
6755f3561b8bSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
6756f3561b8bSmrg# to write the compiler configuration to `libtool'.
6757f3561b8bSmrgm4_defun([_LT_LANG_FC_CONFIG],
6758f3561b8bSmrg[AC_REQUIRE([_LT_PROG_FC])dnl
6759f3561b8bSmrgAC_LANG_PUSH(Fortran)
6760f3561b8bSmrg
6761f3561b8bSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6762f3561b8bSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
6763f3561b8bSmrg_LT_TAGVAR(always_export_symbols, $1)=no
6764f3561b8bSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
6765f3561b8bSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6766f3561b8bSmrg_LT_TAGVAR(hardcode_direct, $1)=no
6767f3561b8bSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6768f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6769f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6770f3561b8bSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
6771f3561b8bSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
6772f3561b8bSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
6773f3561b8bSmrg_LT_TAGVAR(inherit_rpath, $1)=no
6774f3561b8bSmrg_LT_TAGVAR(module_cmds, $1)=
6775f3561b8bSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
6776f3561b8bSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
6777f3561b8bSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6778f3561b8bSmrg_LT_TAGVAR(no_undefined_flag, $1)=
6779f3561b8bSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
6780f3561b8bSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6781f3561b8bSmrg
6782f3561b8bSmrg# Source file extension for fc test sources.
6783f3561b8bSmrgac_ext=${ac_fc_srcext-f}
6784f3561b8bSmrg
6785f3561b8bSmrg# Object file extension for compiled fc test sources.
6786f3561b8bSmrgobjext=o
6787f3561b8bSmrg_LT_TAGVAR(objext, $1)=$objext
6788f3561b8bSmrg
6789f3561b8bSmrg# No sense in running all these tests if we already determined that
6790f3561b8bSmrg# the FC compiler isn't working.  Some variables (like enable_shared)
6791f3561b8bSmrg# are currently assumed to apply to all compilers on this platform,
6792f3561b8bSmrg# and will be corrupted by setting them based on a non-working compiler.
6793f3561b8bSmrgif test "$_lt_disable_FC" != yes; then
6794f3561b8bSmrg  # Code to be used in simple compile tests
6795f3561b8bSmrg  lt_simple_compile_test_code="\
6796f3561b8bSmrg      subroutine t
6797f3561b8bSmrg      return
6798f3561b8bSmrg      end
6799f3561b8bSmrg"
6800fc5a983dSmrg
6801f3561b8bSmrg  # Code to be used in simple link tests
6802f3561b8bSmrg  lt_simple_link_test_code="\
6803f3561b8bSmrg      program t
6804f3561b8bSmrg      end
6805f3561b8bSmrg"
6806fc5a983dSmrg
6807f3561b8bSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6808f3561b8bSmrg  _LT_TAG_COMPILER
6809fc5a983dSmrg
6810f3561b8bSmrg  # save warnings/boilerplate of simple test code
6811f3561b8bSmrg  _LT_COMPILER_BOILERPLATE
6812f3561b8bSmrg  _LT_LINKER_BOILERPLATE
6813fc5a983dSmrg
6814f3561b8bSmrg  # Allow CC to be a program name with arguments.
6815f3561b8bSmrg  lt_save_CC="$CC"
6816f3561b8bSmrg  lt_save_GCC=$GCC
6817f3561b8bSmrg  CC=${FC-"f95"}
6818f3561b8bSmrg  compiler=$CC
6819f3561b8bSmrg  GCC=$ac_cv_fc_compiler_gnu
6820f3561b8bSmrg
6821f3561b8bSmrg  _LT_TAGVAR(compiler, $1)=$CC
6822f3561b8bSmrg  _LT_CC_BASENAME([$compiler])
6823f3561b8bSmrg
6824f3561b8bSmrg  if test -n "$compiler"; then
6825f3561b8bSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
6826f3561b8bSmrg    AC_MSG_RESULT([$can_build_shared])
6827fc5a983dSmrg
6828f3561b8bSmrg    AC_MSG_CHECKING([whether to build shared libraries])
6829f3561b8bSmrg    test "$can_build_shared" = "no" && enable_shared=no
6830f3561b8bSmrg
6831f3561b8bSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
6832f3561b8bSmrg    # are all built from PIC.
6833fc5a983dSmrg    case $host_os in
6834f3561b8bSmrg      aix3*)
6835f3561b8bSmrg        test "$enable_shared" = yes && enable_static=no
6836f3561b8bSmrg        if test -n "$RANLIB"; then
6837f3561b8bSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
6838f3561b8bSmrg          postinstall_cmds='$RANLIB $lib'
6839f3561b8bSmrg        fi
6840f3561b8bSmrg        ;;
6841fc5a983dSmrg      aix[[4-9]]*)
6842f3561b8bSmrg	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6843f3561b8bSmrg	  test "$enable_shared" = yes && enable_static=no
6844fc5a983dSmrg	fi
6845f3561b8bSmrg        ;;
6846fc5a983dSmrg    esac
6847f3561b8bSmrg    AC_MSG_RESULT([$enable_shared])
6848f3561b8bSmrg
6849f3561b8bSmrg    AC_MSG_CHECKING([whether to build static libraries])
6850f3561b8bSmrg    # Make sure either enable_shared or enable_static is yes.
6851f3561b8bSmrg    test "$enable_shared" = yes || enable_static=yes
6852f3561b8bSmrg    AC_MSG_RESULT([$enable_static])
6853f3561b8bSmrg
6854f3561b8bSmrg    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
6855f3561b8bSmrg    _LT_TAGVAR(LD, $1)="$LD"
6856f3561b8bSmrg
6857f3561b8bSmrg    ## CAVEAT EMPTOR:
6858f3561b8bSmrg    ## There is no encapsulation within the following macros, do not change
6859f3561b8bSmrg    ## the running order or otherwise move them around unless you know exactly
6860f3561b8bSmrg    ## what you are doing...
6861f3561b8bSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
6862f3561b8bSmrg    _LT_COMPILER_PIC($1)
6863f3561b8bSmrg    _LT_COMPILER_C_O($1)
6864f3561b8bSmrg    _LT_COMPILER_FILE_LOCKS($1)
6865f3561b8bSmrg    _LT_LINKER_SHLIBS($1)
6866f3561b8bSmrg    _LT_SYS_DYNAMIC_LINKER($1)
6867f3561b8bSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
6868f3561b8bSmrg
6869f3561b8bSmrg    _LT_CONFIG($1)
6870f3561b8bSmrg  fi # test -n "$compiler"
6871f3561b8bSmrg
6872f3561b8bSmrg  GCC=$lt_save_GCC
6873f3561b8bSmrg  CC="$lt_save_CC"
6874f3561b8bSmrgfi # test "$_lt_disable_FC" != yes
6875fc5a983dSmrg
6876f3561b8bSmrgAC_LANG_POP
6877f3561b8bSmrg])# _LT_LANG_FC_CONFIG
6878fc5a983dSmrg
6879fc5a983dSmrg
6880f3561b8bSmrg# _LT_LANG_GCJ_CONFIG([TAG])
6881f3561b8bSmrg# --------------------------
6882f3561b8bSmrg# Ensure that the configuration variables for the GNU Java Compiler compiler
6883f3561b8bSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
6884f3561b8bSmrg# to write the compiler configuration to `libtool'.
6885f3561b8bSmrgm4_defun([_LT_LANG_GCJ_CONFIG],
6886f3561b8bSmrg[AC_REQUIRE([LT_PROG_GCJ])dnl
6887f3561b8bSmrgAC_LANG_SAVE
6888fc5a983dSmrg
6889f3561b8bSmrg# Source file extension for Java test sources.
6890f3561b8bSmrgac_ext=java
6891fc5a983dSmrg
6892f3561b8bSmrg# Object file extension for compiled Java test sources.
6893f3561b8bSmrgobjext=o
6894f3561b8bSmrg_LT_TAGVAR(objext, $1)=$objext
6895fc5a983dSmrg
6896f3561b8bSmrg# Code to be used in simple compile tests
6897f3561b8bSmrglt_simple_compile_test_code="class foo {}"
6898fc5a983dSmrg
6899f3561b8bSmrg# Code to be used in simple link tests
6900f3561b8bSmrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
6901fc5a983dSmrg
6902f3561b8bSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6903f3561b8bSmrg_LT_TAG_COMPILER
6904fc5a983dSmrg
6905f3561b8bSmrg# save warnings/boilerplate of simple test code
6906f3561b8bSmrg_LT_COMPILER_BOILERPLATE
6907f3561b8bSmrg_LT_LINKER_BOILERPLATE
6908f3561b8bSmrg
6909f3561b8bSmrg# Allow CC to be a program name with arguments.
6910f3561b8bSmrglt_save_CC="$CC"
6911f3561b8bSmrglt_save_GCC=$GCC
6912f3561b8bSmrgGCC=yes
6913f3561b8bSmrgCC=${GCJ-"gcj"}
6914f3561b8bSmrgcompiler=$CC
6915f3561b8bSmrg_LT_TAGVAR(compiler, $1)=$CC
6916f3561b8bSmrg_LT_TAGVAR(LD, $1)="$LD"
6917f3561b8bSmrg_LT_CC_BASENAME([$compiler])
6918f3561b8bSmrg
6919f3561b8bSmrg# GCJ did not exist at the time GCC didn't implicitly link libc in.
6920f3561b8bSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6921f3561b8bSmrg
6922f3561b8bSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6923f3561b8bSmrg
6924f3561b8bSmrgif test -n "$compiler"; then
6925f3561b8bSmrg  _LT_COMPILER_NO_RTTI($1)
6926f3561b8bSmrg  _LT_COMPILER_PIC($1)
6927f3561b8bSmrg  _LT_COMPILER_C_O($1)
6928f3561b8bSmrg  _LT_COMPILER_FILE_LOCKS($1)
6929f3561b8bSmrg  _LT_LINKER_SHLIBS($1)
6930f3561b8bSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
6931f3561b8bSmrg
6932f3561b8bSmrg  _LT_CONFIG($1)
6933f3561b8bSmrgfi
6934f3561b8bSmrg
6935f3561b8bSmrgAC_LANG_RESTORE
6936f3561b8bSmrg
6937f3561b8bSmrgGCC=$lt_save_GCC
6938f3561b8bSmrgCC="$lt_save_CC"
6939f3561b8bSmrg])# _LT_LANG_GCJ_CONFIG
6940f3561b8bSmrg
6941f3561b8bSmrg
6942f3561b8bSmrg# _LT_LANG_RC_CONFIG([TAG])
6943f3561b8bSmrg# -------------------------
6944f3561b8bSmrg# Ensure that the configuration variables for the Windows resource compiler
6945f3561b8bSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
6946f3561b8bSmrg# to write the compiler configuration to `libtool'.
6947f3561b8bSmrgm4_defun([_LT_LANG_RC_CONFIG],
6948f3561b8bSmrg[AC_REQUIRE([LT_PROG_RC])dnl
6949f3561b8bSmrgAC_LANG_SAVE
6950f3561b8bSmrg
6951f3561b8bSmrg# Source file extension for RC test sources.
6952f3561b8bSmrgac_ext=rc
6953f3561b8bSmrg
6954f3561b8bSmrg# Object file extension for compiled RC test sources.
6955f3561b8bSmrgobjext=o
6956f3561b8bSmrg_LT_TAGVAR(objext, $1)=$objext
6957f3561b8bSmrg
6958f3561b8bSmrg# Code to be used in simple compile tests
6959f3561b8bSmrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
6960f3561b8bSmrg
6961f3561b8bSmrg# Code to be used in simple link tests
6962f3561b8bSmrglt_simple_link_test_code="$lt_simple_compile_test_code"
6963f3561b8bSmrg
6964f3561b8bSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6965f3561b8bSmrg_LT_TAG_COMPILER
6966f3561b8bSmrg
6967f3561b8bSmrg# save warnings/boilerplate of simple test code
6968f3561b8bSmrg_LT_COMPILER_BOILERPLATE
6969f3561b8bSmrg_LT_LINKER_BOILERPLATE
6970f3561b8bSmrg
6971f3561b8bSmrg# Allow CC to be a program name with arguments.
6972f3561b8bSmrglt_save_CC="$CC"
6973f3561b8bSmrglt_save_GCC=$GCC
6974f3561b8bSmrgGCC=
6975f3561b8bSmrgCC=${RC-"windres"}
6976f3561b8bSmrgcompiler=$CC
6977f3561b8bSmrg_LT_TAGVAR(compiler, $1)=$CC
6978f3561b8bSmrg_LT_CC_BASENAME([$compiler])
6979f3561b8bSmrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
6980fc5a983dSmrg
6981f3561b8bSmrgif test -n "$compiler"; then
6982f3561b8bSmrg  :
6983f3561b8bSmrg  _LT_CONFIG($1)
6984f3561b8bSmrgfi
6985fc5a983dSmrg
6986f3561b8bSmrgGCC=$lt_save_GCC
6987f3561b8bSmrgAC_LANG_RESTORE
6988f3561b8bSmrgCC="$lt_save_CC"
6989f3561b8bSmrg])# _LT_LANG_RC_CONFIG
6990fc5a983dSmrg
6991fc5a983dSmrg
6992f3561b8bSmrg# LT_PROG_GCJ
6993f3561b8bSmrg# -----------
6994f3561b8bSmrgAC_DEFUN([LT_PROG_GCJ],
6995f3561b8bSmrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
6996f3561b8bSmrg  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
6997f3561b8bSmrg    [AC_CHECK_TOOL(GCJ, gcj,)
6998f3561b8bSmrg      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
6999f3561b8bSmrg      AC_SUBST(GCJFLAGS)])])[]dnl
7000f3561b8bSmrg])
7001fc5a983dSmrg
7002f3561b8bSmrg# Old name:
7003f3561b8bSmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7004f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7005f3561b8bSmrgdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7006fc5a983dSmrg
7007fc5a983dSmrg
7008f3561b8bSmrg# LT_PROG_RC
7009f3561b8bSmrg# ----------
7010f3561b8bSmrgAC_DEFUN([LT_PROG_RC],
7011f3561b8bSmrg[AC_CHECK_TOOL(RC, windres,)
7012f3561b8bSmrg])
7013fc5a983dSmrg
7014f3561b8bSmrg# Old name:
7015f3561b8bSmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7016f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7017f3561b8bSmrgdnl AC_DEFUN([LT_AC_PROG_RC], [])
7018fc5a983dSmrg
7019fc5a983dSmrg
7020f3561b8bSmrg# _LT_DECL_EGREP
7021f3561b8bSmrg# --------------
7022f3561b8bSmrg# If we don't have a new enough Autoconf to choose the best grep
7023f3561b8bSmrg# available, choose the one first in the user's PATH.
7024f3561b8bSmrgm4_defun([_LT_DECL_EGREP],
7025f3561b8bSmrg[AC_REQUIRE([AC_PROG_EGREP])dnl
7026f3561b8bSmrgAC_REQUIRE([AC_PROG_FGREP])dnl
7027f3561b8bSmrgtest -z "$GREP" && GREP=grep
7028f3561b8bSmrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7029f3561b8bSmrg_LT_DECL([], [EGREP], [1], [An ERE matcher])
7030f3561b8bSmrg_LT_DECL([], [FGREP], [1], [A literal string matcher])
7031f3561b8bSmrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7032f3561b8bSmrgAC_SUBST([GREP])
7033f3561b8bSmrg])
7034fc5a983dSmrg
7035fc5a983dSmrg
7036f3561b8bSmrg# _LT_DECL_OBJDUMP
7037f3561b8bSmrg# --------------
7038f3561b8bSmrg# If we don't have a new enough Autoconf to choose the best objdump
7039f3561b8bSmrg# available, choose the one first in the user's PATH.
7040f3561b8bSmrgm4_defun([_LT_DECL_OBJDUMP],
7041f3561b8bSmrg[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7042f3561b8bSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
7043f3561b8bSmrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7044f3561b8bSmrgAC_SUBST([OBJDUMP])
7045f3561b8bSmrg])
7046fc5a983dSmrg
7047fc5a983dSmrg
7048f3561b8bSmrg# _LT_DECL_SED
7049f3561b8bSmrg# ------------
7050f3561b8bSmrg# Check for a fully-functional sed program, that truncates
7051f3561b8bSmrg# as few characters as possible.  Prefer GNU sed if found.
7052f3561b8bSmrgm4_defun([_LT_DECL_SED],
7053f3561b8bSmrg[AC_PROG_SED
7054f3561b8bSmrgtest -z "$SED" && SED=sed
7055f3561b8bSmrgXsed="$SED -e 1s/^X//"
7056f3561b8bSmrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7057f3561b8bSmrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7058f3561b8bSmrg    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7059f3561b8bSmrg])# _LT_DECL_SED
7060fc5a983dSmrg
7061f3561b8bSmrgm4_ifndef([AC_PROG_SED], [
7062f3561b8bSmrg# NOTE: This macro has been submitted for inclusion into   #
7063f3561b8bSmrg#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
7064f3561b8bSmrg#  a released version of Autoconf we should remove this    #
7065f3561b8bSmrg#  macro and use it instead.                               #
7066fc5a983dSmrg
7067f3561b8bSmrgm4_defun([AC_PROG_SED],
7068f3561b8bSmrg[AC_MSG_CHECKING([for a sed that does not truncate output])
7069f3561b8bSmrgAC_CACHE_VAL(lt_cv_path_SED,
7070f3561b8bSmrg[# Loop through the user's path and test for sed and gsed.
7071f3561b8bSmrg# Then use that list of sed's as ones to test for truncation.
7072f3561b8bSmrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7073f3561b8bSmrgfor as_dir in $PATH
7074f3561b8bSmrgdo
7075f3561b8bSmrg  IFS=$as_save_IFS
7076f3561b8bSmrg  test -z "$as_dir" && as_dir=.
7077f3561b8bSmrg  for lt_ac_prog in sed gsed; do
7078f3561b8bSmrg    for ac_exec_ext in '' $ac_executable_extensions; do
7079f3561b8bSmrg      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7080f3561b8bSmrg        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7081f3561b8bSmrg      fi
7082f3561b8bSmrg    done
7083f3561b8bSmrg  done
7084f3561b8bSmrgdone
7085f3561b8bSmrgIFS=$as_save_IFS
7086f3561b8bSmrglt_ac_max=0
7087f3561b8bSmrglt_ac_count=0
7088f3561b8bSmrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7089f3561b8bSmrg# along with /bin/sed that truncates output.
7090f3561b8bSmrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7091f3561b8bSmrg  test ! -f $lt_ac_sed && continue
7092f3561b8bSmrg  cat /dev/null > conftest.in
7093f3561b8bSmrg  lt_ac_count=0
7094f3561b8bSmrg  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7095f3561b8bSmrg  # Check for GNU sed and select it if it is found.
7096f3561b8bSmrg  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7097f3561b8bSmrg    lt_cv_path_SED=$lt_ac_sed
7098f3561b8bSmrg    break
7099fc5a983dSmrg  fi
7100f3561b8bSmrg  while true; do
7101f3561b8bSmrg    cat conftest.in conftest.in >conftest.tmp
7102f3561b8bSmrg    mv conftest.tmp conftest.in
7103f3561b8bSmrg    cp conftest.in conftest.nl
7104f3561b8bSmrg    echo >>conftest.nl
7105f3561b8bSmrg    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7106f3561b8bSmrg    cmp -s conftest.out conftest.nl || break
7107f3561b8bSmrg    # 10000 chars as input seems more than enough
7108f3561b8bSmrg    test $lt_ac_count -gt 10 && break
7109f3561b8bSmrg    lt_ac_count=`expr $lt_ac_count + 1`
7110f3561b8bSmrg    if test $lt_ac_count -gt $lt_ac_max; then
7111f3561b8bSmrg      lt_ac_max=$lt_ac_count
7112f3561b8bSmrg      lt_cv_path_SED=$lt_ac_sed
7113f3561b8bSmrg    fi
7114f3561b8bSmrg  done
7115f3561b8bSmrgdone
7116fc5a983dSmrg])
7117f3561b8bSmrgSED=$lt_cv_path_SED
7118f3561b8bSmrgAC_SUBST([SED])
7119f3561b8bSmrgAC_MSG_RESULT([$SED])
7120f3561b8bSmrg])#AC_PROG_SED
7121f3561b8bSmrg])#m4_ifndef
7122fc5a983dSmrg
7123f3561b8bSmrg# Old name:
7124f3561b8bSmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7125f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7126f3561b8bSmrgdnl AC_DEFUN([LT_AC_PROG_SED], [])
7127f3561b8bSmrg
7128f3561b8bSmrg
7129f3561b8bSmrg# _LT_CHECK_SHELL_FEATURES
7130f3561b8bSmrg# ------------------------
7131f3561b8bSmrg# Find out whether the shell is Bourne or XSI compatible,
7132f3561b8bSmrg# or has some other useful features.
7133f3561b8bSmrgm4_defun([_LT_CHECK_SHELL_FEATURES],
7134f3561b8bSmrg[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7135f3561b8bSmrg# Try some XSI features
7136f3561b8bSmrgxsi_shell=no
7137f3561b8bSmrg( _lt_dummy="a/b/c"
7138f3561b8bSmrg  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7139f3561b8bSmrg      = c,a/b,, \
7140f3561b8bSmrg    && eval 'test $(( 1 + 1 )) -eq 2 \
7141f3561b8bSmrg    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7142f3561b8bSmrg  && xsi_shell=yes
7143f3561b8bSmrgAC_MSG_RESULT([$xsi_shell])
7144f3561b8bSmrg_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7145f3561b8bSmrg
7146f3561b8bSmrgAC_MSG_CHECKING([whether the shell understands "+="])
7147f3561b8bSmrglt_shell_append=no
7148f3561b8bSmrg( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7149f3561b8bSmrg    >/dev/null 2>&1 \
7150f3561b8bSmrg  && lt_shell_append=yes
7151f3561b8bSmrgAC_MSG_RESULT([$lt_shell_append])
7152f3561b8bSmrg_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7153f3561b8bSmrg
7154f3561b8bSmrgif ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7155f3561b8bSmrg  lt_unset=unset
7156f3561b8bSmrgelse
7157f3561b8bSmrg  lt_unset=false
7158fc5a983dSmrgfi
7159f3561b8bSmrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7160f3561b8bSmrg
7161f3561b8bSmrg# test EBCDIC or ASCII
7162f3561b8bSmrgcase `echo X|tr X '\101'` in
7163f3561b8bSmrg A) # ASCII based system
7164f3561b8bSmrg    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7165f3561b8bSmrg  lt_SP2NL='tr \040 \012'
7166f3561b8bSmrg  lt_NL2SP='tr \015\012 \040\040'
7167f3561b8bSmrg  ;;
7168f3561b8bSmrg *) # EBCDIC based system
7169f3561b8bSmrg  lt_SP2NL='tr \100 \n'
7170f3561b8bSmrg  lt_NL2SP='tr \r\n \100\100'
7171f3561b8bSmrg  ;;
7172fc5a983dSmrgesac
7173f3561b8bSmrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7174f3561b8bSmrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7175f3561b8bSmrg])# _LT_CHECK_SHELL_FEATURES
7176f3561b8bSmrg
7177f3561b8bSmrg
7178f3561b8bSmrg# _LT_PROG_XSI_SHELLFNS
7179f3561b8bSmrg# ---------------------
7180f3561b8bSmrg# Bourne and XSI compatible variants of some useful shell functions.
7181f3561b8bSmrgm4_defun([_LT_PROG_XSI_SHELLFNS],
7182f3561b8bSmrg[case $xsi_shell in
7183f3561b8bSmrg  yes)
7184f3561b8bSmrg    cat << \_LT_EOF >> "$cfgfile"
7185f3561b8bSmrg
7186f3561b8bSmrg# func_dirname file append nondir_replacement
7187f3561b8bSmrg# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
7188f3561b8bSmrg# otherwise set result to NONDIR_REPLACEMENT.
7189f3561b8bSmrgfunc_dirname ()
7190f3561b8bSmrg{
7191f3561b8bSmrg  case ${1} in
7192f3561b8bSmrg    */*) func_dirname_result="${1%/*}${2}" ;;
7193f3561b8bSmrg    *  ) func_dirname_result="${3}" ;;
7194f3561b8bSmrg  esac
7195f3561b8bSmrg}
7196fc5a983dSmrg
7197f3561b8bSmrg# func_basename file
7198f3561b8bSmrgfunc_basename ()
7199f3561b8bSmrg{
7200f3561b8bSmrg  func_basename_result="${1##*/}"
7201f3561b8bSmrg}
7202fc5a983dSmrg
7203f3561b8bSmrg# func_dirname_and_basename file append nondir_replacement
7204f3561b8bSmrg# perform func_basename and func_dirname in a single function
7205f3561b8bSmrg# call:
7206f3561b8bSmrg#   dirname:  Compute the dirname of FILE.  If nonempty,
7207f3561b8bSmrg#             add APPEND to the result, otherwise set result
7208f3561b8bSmrg#             to NONDIR_REPLACEMENT.
7209f3561b8bSmrg#             value returned in "$func_dirname_result"
7210f3561b8bSmrg#   basename: Compute filename of FILE.
7211f3561b8bSmrg#             value retuned in "$func_basename_result"
7212f3561b8bSmrg# Implementation must be kept synchronized with func_dirname
7213f3561b8bSmrg# and func_basename. For efficiency, we do not delegate to
7214f3561b8bSmrg# those functions but instead duplicate the functionality here.
7215f3561b8bSmrgfunc_dirname_and_basename ()
7216f3561b8bSmrg{
7217f3561b8bSmrg  case ${1} in
7218f3561b8bSmrg    */*) func_dirname_result="${1%/*}${2}" ;;
7219f3561b8bSmrg    *  ) func_dirname_result="${3}" ;;
7220f3561b8bSmrg  esac
7221f3561b8bSmrg  func_basename_result="${1##*/}"
7222f3561b8bSmrg}
7223fc5a983dSmrg
7224f3561b8bSmrg# func_stripname prefix suffix name
7225f3561b8bSmrg# strip PREFIX and SUFFIX off of NAME.
7226f3561b8bSmrg# PREFIX and SUFFIX must not contain globbing or regex special
7227f3561b8bSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading
7228f3561b8bSmrg# dot (in which case that matches only a dot).
7229f3561b8bSmrgfunc_stripname ()
7230f3561b8bSmrg{
7231f3561b8bSmrg  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7232f3561b8bSmrg  # positional parameters, so assign one to ordinary parameter first.
7233f3561b8bSmrg  func_stripname_result=${3}
7234f3561b8bSmrg  func_stripname_result=${func_stripname_result#"${1}"}
7235f3561b8bSmrg  func_stripname_result=${func_stripname_result%"${2}"}
7236f3561b8bSmrg}
7237f3561b8bSmrg
7238f3561b8bSmrg# func_opt_split
7239f3561b8bSmrgfunc_opt_split ()
7240f3561b8bSmrg{
7241f3561b8bSmrg  func_opt_split_opt=${1%%=*}
7242f3561b8bSmrg  func_opt_split_arg=${1#*=}
7243f3561b8bSmrg}
7244f3561b8bSmrg
7245f3561b8bSmrg# func_lo2o object
7246f3561b8bSmrgfunc_lo2o ()
7247f3561b8bSmrg{
7248f3561b8bSmrg  case ${1} in
7249f3561b8bSmrg    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7250f3561b8bSmrg    *)    func_lo2o_result=${1} ;;
7251fc5a983dSmrg  esac
7252f3561b8bSmrg}
7253f3561b8bSmrg
7254f3561b8bSmrg# func_xform libobj-or-source
7255f3561b8bSmrgfunc_xform ()
7256f3561b8bSmrg{
7257f3561b8bSmrg  func_xform_result=${1%.*}.lo
7258f3561b8bSmrg}
7259f3561b8bSmrg
7260f3561b8bSmrg# func_arith arithmetic-term...
7261f3561b8bSmrgfunc_arith ()
7262f3561b8bSmrg{
7263f3561b8bSmrg  func_arith_result=$(( $[*] ))
7264f3561b8bSmrg}
7265f3561b8bSmrg
7266f3561b8bSmrg# func_len string
7267f3561b8bSmrg# STRING may not start with a hyphen.
7268f3561b8bSmrgfunc_len ()
7269f3561b8bSmrg{
7270f3561b8bSmrg  func_len_result=${#1}
7271f3561b8bSmrg}
7272f3561b8bSmrg
7273f3561b8bSmrg_LT_EOF
7274fc5a983dSmrg    ;;
7275f3561b8bSmrg  *) # Bourne compatible functions.
7276f3561b8bSmrg    cat << \_LT_EOF >> "$cfgfile"
7277f3561b8bSmrg
7278f3561b8bSmrg# func_dirname file append nondir_replacement
7279f3561b8bSmrg# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
7280f3561b8bSmrg# otherwise set result to NONDIR_REPLACEMENT.
7281f3561b8bSmrgfunc_dirname ()
7282f3561b8bSmrg{
7283f3561b8bSmrg  # Extract subdirectory from the argument.
7284f3561b8bSmrg  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7285f3561b8bSmrg  if test "X$func_dirname_result" = "X${1}"; then
7286f3561b8bSmrg    func_dirname_result="${3}"
7287f3561b8bSmrg  else
7288f3561b8bSmrg    func_dirname_result="$func_dirname_result${2}"
7289f3561b8bSmrg  fi
7290f3561b8bSmrg}
7291f3561b8bSmrg
7292f3561b8bSmrg# func_basename file
7293f3561b8bSmrgfunc_basename ()
7294f3561b8bSmrg{
7295f3561b8bSmrg  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7296f3561b8bSmrg}
7297f3561b8bSmrg
7298f3561b8bSmrgdnl func_dirname_and_basename
7299f3561b8bSmrgdnl A portable version of this function is already defined in general.m4sh
7300f3561b8bSmrgdnl so there is no need for it here.
7301f3561b8bSmrg
7302f3561b8bSmrg# func_stripname prefix suffix name
7303f3561b8bSmrg# strip PREFIX and SUFFIX off of NAME.
7304f3561b8bSmrg# PREFIX and SUFFIX must not contain globbing or regex special
7305f3561b8bSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading
7306f3561b8bSmrg# dot (in which case that matches only a dot).
7307f3561b8bSmrg# func_strip_suffix prefix name
7308f3561b8bSmrgfunc_stripname ()
7309f3561b8bSmrg{
7310f3561b8bSmrg  case ${2} in
7311f3561b8bSmrg    .*) func_stripname_result=`$ECHO "X${3}" \
7312f3561b8bSmrg           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7313f3561b8bSmrg    *)  func_stripname_result=`$ECHO "X${3}" \
7314f3561b8bSmrg           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7315fc5a983dSmrg  esac
7316f3561b8bSmrg}
7317fc5a983dSmrg
7318f3561b8bSmrg# sed scripts:
7319f3561b8bSmrgmy_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7320f3561b8bSmrgmy_sed_long_arg='1s/^-[[^=]]*=//'
7321fc5a983dSmrg
7322f3561b8bSmrg# func_opt_split
7323f3561b8bSmrgfunc_opt_split ()
7324f3561b8bSmrg{
7325f3561b8bSmrg  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7326f3561b8bSmrg  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7327f3561b8bSmrg}
7328fc5a983dSmrg
7329f3561b8bSmrg# func_lo2o object
7330f3561b8bSmrgfunc_lo2o ()
7331f3561b8bSmrg{
7332f3561b8bSmrg  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7333f3561b8bSmrg}
7334fc5a983dSmrg
7335f3561b8bSmrg# func_xform libobj-or-source
7336f3561b8bSmrgfunc_xform ()
7337f3561b8bSmrg{
7338f3561b8bSmrg  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7339f3561b8bSmrg}
7340fc5a983dSmrg
7341f3561b8bSmrg# func_arith arithmetic-term...
7342f3561b8bSmrgfunc_arith ()
7343f3561b8bSmrg{
7344f3561b8bSmrg  func_arith_result=`expr "$[@]"`
7345f3561b8bSmrg}
7346fc5a983dSmrg
7347f3561b8bSmrg# func_len string
7348f3561b8bSmrg# STRING may not start with a hyphen.
7349f3561b8bSmrgfunc_len ()
7350f3561b8bSmrg{
7351f3561b8bSmrg  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7352f3561b8bSmrg}
7353fc5a983dSmrg
7354f3561b8bSmrg_LT_EOF
7355f3561b8bSmrgesac
7356fc5a983dSmrg
7357f3561b8bSmrgcase $lt_shell_append in
7358f3561b8bSmrg  yes)
7359f3561b8bSmrg    cat << \_LT_EOF >> "$cfgfile"
7360fc5a983dSmrg
7361f3561b8bSmrg# func_append var value
7362f3561b8bSmrg# Append VALUE to the end of shell variable VAR.
7363f3561b8bSmrgfunc_append ()
7364f3561b8bSmrg{
7365f3561b8bSmrg  eval "$[1]+=\$[2]"
7366f3561b8bSmrg}
7367f3561b8bSmrg_LT_EOF
7368f3561b8bSmrg    ;;
7369f3561b8bSmrg  *)
7370f3561b8bSmrg    cat << \_LT_EOF >> "$cfgfile"
7371fc5a983dSmrg
7372f3561b8bSmrg# func_append var value
7373f3561b8bSmrg# Append VALUE to the end of shell variable VAR.
7374f3561b8bSmrgfunc_append ()
7375f3561b8bSmrg{
7376f3561b8bSmrg  eval "$[1]=\$$[1]\$[2]"
7377f3561b8bSmrg}
7378fc5a983dSmrg
7379f3561b8bSmrg_LT_EOF
7380f3561b8bSmrg    ;;
7381f3561b8bSmrg  esac
7382f3561b8bSmrg])
7383fc5a983dSmrg
7384f3561b8bSmrg# Helper functions for option handling.                    -*- Autoconf -*-
7385f3561b8bSmrg#
7386f3561b8bSmrg#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7387f3561b8bSmrg#   Written by Gary V. Vaughan, 2004
7388f3561b8bSmrg#
7389f3561b8bSmrg# This file is free software; the Free Software Foundation gives
7390f3561b8bSmrg# unlimited permission to copy and/or distribute it, with or without
7391f3561b8bSmrg# modifications, as long as this notice is preserved.
7392fc5a983dSmrg
7393f3561b8bSmrg# serial 6 ltoptions.m4
7394fc5a983dSmrg
7395f3561b8bSmrg# This is to help aclocal find these macros, as it can't see m4_define.
7396f3561b8bSmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
7397fc5a983dSmrg
7398fc5a983dSmrg
7399f3561b8bSmrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
7400f3561b8bSmrg# ------------------------------------------
7401f3561b8bSmrgm4_define([_LT_MANGLE_OPTION],
7402f3561b8bSmrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
7403fc5a983dSmrg
7404fc5a983dSmrg
7405f3561b8bSmrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
7406f3561b8bSmrg# ---------------------------------------
7407f3561b8bSmrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
7408f3561b8bSmrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
7409f3561b8bSmrg# saved as a flag.
7410f3561b8bSmrgm4_define([_LT_SET_OPTION],
7411f3561b8bSmrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
7412f3561b8bSmrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
7413f3561b8bSmrg        _LT_MANGLE_DEFUN([$1], [$2]),
7414f3561b8bSmrg    [m4_warning([Unknown $1 option `$2'])])[]dnl
7415f3561b8bSmrg])
7416fc5a983dSmrg
7417fc5a983dSmrg
7418f3561b8bSmrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
7419f3561b8bSmrg# ------------------------------------------------------------
7420f3561b8bSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
7421f3561b8bSmrgm4_define([_LT_IF_OPTION],
7422f3561b8bSmrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
7423f3561b8bSmrg
7424f3561b8bSmrg
7425f3561b8bSmrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
7426f3561b8bSmrg# -------------------------------------------------------
7427f3561b8bSmrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
7428f3561b8bSmrg# are set.
7429f3561b8bSmrgm4_define([_LT_UNLESS_OPTIONS],
7430f3561b8bSmrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7431f3561b8bSmrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
7432f3561b8bSmrg		      [m4_define([$0_found])])])[]dnl
7433f3561b8bSmrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
7434f3561b8bSmrg])[]dnl
7435f3561b8bSmrg])
7436fc5a983dSmrg
7437fc5a983dSmrg
7438f3561b8bSmrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
7439f3561b8bSmrg# ----------------------------------------
7440f3561b8bSmrg# OPTION-LIST is a space-separated list of Libtool options associated
7441f3561b8bSmrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
7442f3561b8bSmrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
7443f3561b8bSmrg# the unknown option and exit.
7444f3561b8bSmrgm4_defun([_LT_SET_OPTIONS],
7445f3561b8bSmrg[# Set options
7446f3561b8bSmrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7447f3561b8bSmrg    [_LT_SET_OPTION([$1], _LT_Option)])
7448f3561b8bSmrg
7449f3561b8bSmrgm4_if([$1],[LT_INIT],[
7450f3561b8bSmrg  dnl
7451f3561b8bSmrg  dnl Simply set some default values (i.e off) if boolean options were not
7452f3561b8bSmrg  dnl specified:
7453f3561b8bSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
7454f3561b8bSmrg  ])
7455f3561b8bSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
7456f3561b8bSmrg  ])
7457f3561b8bSmrg  dnl
7458f3561b8bSmrg  dnl If no reference was made to various pairs of opposing options, then
7459f3561b8bSmrg  dnl we run the default mode handler for the pair.  For example, if neither
7460f3561b8bSmrg  dnl `shared' nor `disable-shared' was passed, we enable building of shared
7461f3561b8bSmrg  dnl archives by default:
7462f3561b8bSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
7463f3561b8bSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
7464f3561b8bSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
7465f3561b8bSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
7466f3561b8bSmrg  		   [_LT_ENABLE_FAST_INSTALL])
7467f3561b8bSmrg  ])
7468f3561b8bSmrg])# _LT_SET_OPTIONS
7469fc5a983dSmrg
7470fc5a983dSmrg
7471fc5a983dSmrg
7472f3561b8bSmrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
7473f3561b8bSmrg# -----------------------------------------
7474f3561b8bSmrgm4_define([_LT_MANGLE_DEFUN],
7475f3561b8bSmrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
7476fc5a983dSmrg
7477fc5a983dSmrg
7478f3561b8bSmrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
7479f3561b8bSmrg# -----------------------------------------------
7480f3561b8bSmrgm4_define([LT_OPTION_DEFINE],
7481f3561b8bSmrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
7482f3561b8bSmrg])# LT_OPTION_DEFINE
7483fc5a983dSmrg
7484fc5a983dSmrg
7485f3561b8bSmrg# dlopen
7486f3561b8bSmrg# ------
7487f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
7488f3561b8bSmrg])
7489f3561b8bSmrg
7490f3561b8bSmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
7491f3561b8bSmrg[_LT_SET_OPTION([LT_INIT], [dlopen])
7492f3561b8bSmrgAC_DIAGNOSE([obsolete],
7493f3561b8bSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
7494f3561b8bSmrgput the `dlopen' option into LT_INIT's first parameter.])
7495f3561b8bSmrg])
7496f3561b8bSmrg
7497f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7498f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
7499f3561b8bSmrg
7500f3561b8bSmrg
7501f3561b8bSmrg# win32-dll
7502f3561b8bSmrg# ---------
7503f3561b8bSmrg# Declare package support for building win32 dll's.
7504f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
7505f3561b8bSmrg[enable_win32_dll=yes
7506f3561b8bSmrg
7507f3561b8bSmrgcase $host in
7508f3561b8bSmrg*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
7509f3561b8bSmrg  AC_CHECK_TOOL(AS, as, false)
7510f3561b8bSmrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7511f3561b8bSmrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
7512f3561b8bSmrg  ;;
7513f3561b8bSmrgesac
7514fc5a983dSmrg
7515f3561b8bSmrgtest -z "$AS" && AS=as
7516f3561b8bSmrg_LT_DECL([], [AS],      [0], [Assembler program])dnl
7517fc5a983dSmrg
7518f3561b8bSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
7519f3561b8bSmrg_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
7520fc5a983dSmrg
7521f3561b8bSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
7522f3561b8bSmrg_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
7523f3561b8bSmrg])# win32-dll
7524fc5a983dSmrg
7525f3561b8bSmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
7526f3561b8bSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7527f3561b8bSmrg_LT_SET_OPTION([LT_INIT], [win32-dll])
7528f3561b8bSmrgAC_DIAGNOSE([obsolete],
7529f3561b8bSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
7530f3561b8bSmrgput the `win32-dll' option into LT_INIT's first parameter.])
7531f3561b8bSmrg])
7532fc5a983dSmrg
7533f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7534f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
7535fc5a983dSmrg
7536fc5a983dSmrg
7537f3561b8bSmrg# _LT_ENABLE_SHARED([DEFAULT])
7538f3561b8bSmrg# ----------------------------
7539f3561b8bSmrg# implement the --enable-shared flag, and supports the `shared' and
7540f3561b8bSmrg# `disable-shared' LT_INIT options.
7541f3561b8bSmrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
7542f3561b8bSmrgm4_define([_LT_ENABLE_SHARED],
7543f3561b8bSmrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
7544f3561b8bSmrgAC_ARG_ENABLE([shared],
7545f3561b8bSmrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
7546f3561b8bSmrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
7547f3561b8bSmrg    [p=${PACKAGE-default}
7548f3561b8bSmrg    case $enableval in
7549f3561b8bSmrg    yes) enable_shared=yes ;;
7550f3561b8bSmrg    no) enable_shared=no ;;
7551f3561b8bSmrg    *)
7552f3561b8bSmrg      enable_shared=no
7553f3561b8bSmrg      # Look at the argument we got.  We use all the common list separators.
7554f3561b8bSmrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7555f3561b8bSmrg      for pkg in $enableval; do
7556f3561b8bSmrg	IFS="$lt_save_ifs"
7557f3561b8bSmrg	if test "X$pkg" = "X$p"; then
7558f3561b8bSmrg	  enable_shared=yes
7559f3561b8bSmrg	fi
7560f3561b8bSmrg      done
7561f3561b8bSmrg      IFS="$lt_save_ifs"
7562fc5a983dSmrg      ;;
7563f3561b8bSmrg    esac],
7564f3561b8bSmrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
7565fc5a983dSmrg
7566f3561b8bSmrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
7567f3561b8bSmrg	[Whether or not to build shared libraries])
7568f3561b8bSmrg])# _LT_ENABLE_SHARED
7569fc5a983dSmrg
7570f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
7571f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
7572fc5a983dSmrg
7573f3561b8bSmrg# Old names:
7574f3561b8bSmrgAC_DEFUN([AC_ENABLE_SHARED],
7575f3561b8bSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
7576f3561b8bSmrg])
7577fc5a983dSmrg
7578f3561b8bSmrgAC_DEFUN([AC_DISABLE_SHARED],
7579f3561b8bSmrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
7580f3561b8bSmrg])
7581fc5a983dSmrg
7582f3561b8bSmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
7583f3561b8bSmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7584fc5a983dSmrg
7585f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7586f3561b8bSmrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
7587f3561b8bSmrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
7588fc5a983dSmrg
7589fc5a983dSmrg
7590fc5a983dSmrg
7591f3561b8bSmrg# _LT_ENABLE_STATIC([DEFAULT])
7592f3561b8bSmrg# ----------------------------
7593f3561b8bSmrg# implement the --enable-static flag, and support the `static' and
7594f3561b8bSmrg# `disable-static' LT_INIT options.
7595f3561b8bSmrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
7596f3561b8bSmrgm4_define([_LT_ENABLE_STATIC],
7597f3561b8bSmrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
7598f3561b8bSmrgAC_ARG_ENABLE([static],
7599f3561b8bSmrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
7600f3561b8bSmrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
7601f3561b8bSmrg    [p=${PACKAGE-default}
7602f3561b8bSmrg    case $enableval in
7603f3561b8bSmrg    yes) enable_static=yes ;;
7604f3561b8bSmrg    no) enable_static=no ;;
7605f3561b8bSmrg    *)
7606f3561b8bSmrg     enable_static=no
7607f3561b8bSmrg      # Look at the argument we got.  We use all the common list separators.
7608f3561b8bSmrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7609f3561b8bSmrg      for pkg in $enableval; do
7610f3561b8bSmrg	IFS="$lt_save_ifs"
7611f3561b8bSmrg	if test "X$pkg" = "X$p"; then
7612f3561b8bSmrg	  enable_static=yes
7613f3561b8bSmrg	fi
7614f3561b8bSmrg      done
7615f3561b8bSmrg      IFS="$lt_save_ifs"
7616fc5a983dSmrg      ;;
7617f3561b8bSmrg    esac],
7618f3561b8bSmrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
7619fc5a983dSmrg
7620f3561b8bSmrg    _LT_DECL([build_old_libs], [enable_static], [0],
7621f3561b8bSmrg	[Whether or not to build static libraries])
7622f3561b8bSmrg])# _LT_ENABLE_STATIC
7623fc5a983dSmrg
7624f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
7625f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
7626fc5a983dSmrg
7627f3561b8bSmrg# Old names:
7628f3561b8bSmrgAC_DEFUN([AC_ENABLE_STATIC],
7629f3561b8bSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
7630f3561b8bSmrg])
7631fc5a983dSmrg
7632f3561b8bSmrgAC_DEFUN([AC_DISABLE_STATIC],
7633f3561b8bSmrg[_LT_SET_OPTION([LT_INIT], [disable-static])
7634f3561b8bSmrg])
7635fc5a983dSmrg
7636f3561b8bSmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
7637f3561b8bSmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7638fc5a983dSmrg
7639f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7640f3561b8bSmrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
7641f3561b8bSmrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
7642fc5a983dSmrg
7643fc5a983dSmrg
7644fc5a983dSmrg
7645f3561b8bSmrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
7646f3561b8bSmrg# ----------------------------------
7647f3561b8bSmrg# implement the --enable-fast-install flag, and support the `fast-install'
7648f3561b8bSmrg# and `disable-fast-install' LT_INIT options.
7649f3561b8bSmrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
7650f3561b8bSmrgm4_define([_LT_ENABLE_FAST_INSTALL],
7651f3561b8bSmrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
7652f3561b8bSmrgAC_ARG_ENABLE([fast-install],
7653f3561b8bSmrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
7654f3561b8bSmrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
7655f3561b8bSmrg    [p=${PACKAGE-default}
7656f3561b8bSmrg    case $enableval in
7657f3561b8bSmrg    yes) enable_fast_install=yes ;;
7658f3561b8bSmrg    no) enable_fast_install=no ;;
7659f3561b8bSmrg    *)
7660f3561b8bSmrg      enable_fast_install=no
7661f3561b8bSmrg      # Look at the argument we got.  We use all the common list separators.
7662f3561b8bSmrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7663f3561b8bSmrg      for pkg in $enableval; do
7664f3561b8bSmrg	IFS="$lt_save_ifs"
7665f3561b8bSmrg	if test "X$pkg" = "X$p"; then
7666f3561b8bSmrg	  enable_fast_install=yes
7667fc5a983dSmrg	fi
7668f3561b8bSmrg      done
7669f3561b8bSmrg      IFS="$lt_save_ifs"
7670fc5a983dSmrg      ;;
7671f3561b8bSmrg    esac],
7672f3561b8bSmrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
7673fc5a983dSmrg
7674f3561b8bSmrg_LT_DECL([fast_install], [enable_fast_install], [0],
7675f3561b8bSmrg	 [Whether or not to optimize for fast installation])dnl
7676f3561b8bSmrg])# _LT_ENABLE_FAST_INSTALL
7677fc5a983dSmrg
7678f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
7679f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
7680fc5a983dSmrg
7681f3561b8bSmrg# Old names:
7682f3561b8bSmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
7683f3561b8bSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
7684f3561b8bSmrgAC_DIAGNOSE([obsolete],
7685f3561b8bSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7686f3561b8bSmrgthe `fast-install' option into LT_INIT's first parameter.])
7687f3561b8bSmrg])
7688fc5a983dSmrg
7689f3561b8bSmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
7690f3561b8bSmrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
7691f3561b8bSmrgAC_DIAGNOSE([obsolete],
7692f3561b8bSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7693f3561b8bSmrgthe `disable-fast-install' option into LT_INIT's first parameter.])
7694f3561b8bSmrg])
7695fc5a983dSmrg
7696f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7697f3561b8bSmrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
7698f3561b8bSmrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
7699fc5a983dSmrg
7700fc5a983dSmrg
7701f3561b8bSmrg# _LT_WITH_PIC([MODE])
7702f3561b8bSmrg# --------------------
7703f3561b8bSmrg# implement the --with-pic flag, and support the `pic-only' and `no-pic'
7704f3561b8bSmrg# LT_INIT options.
7705f3561b8bSmrg# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
7706f3561b8bSmrgm4_define([_LT_WITH_PIC],
7707f3561b8bSmrg[AC_ARG_WITH([pic],
7708f3561b8bSmrg    [AS_HELP_STRING([--with-pic],
7709f3561b8bSmrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
7710f3561b8bSmrg    [pic_mode="$withval"],
7711f3561b8bSmrg    [pic_mode=default])
7712fc5a983dSmrg
7713f3561b8bSmrgtest -z "$pic_mode" && pic_mode=m4_default([$1], [default])
7714fc5a983dSmrg
7715f3561b8bSmrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
7716f3561b8bSmrg])# _LT_WITH_PIC
7717fc5a983dSmrg
7718f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
7719f3561b8bSmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
7720f3561b8bSmrg
7721f3561b8bSmrg# Old name:
7722f3561b8bSmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
7723f3561b8bSmrg[_LT_SET_OPTION([LT_INIT], [pic-only])
7724f3561b8bSmrgAC_DIAGNOSE([obsolete],
7725f3561b8bSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
7726f3561b8bSmrgput the `pic-only' option into LT_INIT's first parameter.])
7727fc5a983dSmrg])
7728fc5a983dSmrg
7729f3561b8bSmrgdnl aclocal-1.4 backwards compatibility:
7730f3561b8bSmrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
7731fc5a983dSmrg
7732fc5a983dSmrg
7733f3561b8bSmrgm4_define([_LTDL_MODE], [])
7734f3561b8bSmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
7735f3561b8bSmrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
7736f3561b8bSmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
7737f3561b8bSmrg		 [m4_define([_LTDL_MODE], [recursive])])
7738f3561b8bSmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
7739f3561b8bSmrg		 [m4_define([_LTDL_MODE], [subproject])])
7740fc5a983dSmrg
7741f3561b8bSmrgm4_define([_LTDL_TYPE], [])
7742f3561b8bSmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
7743f3561b8bSmrg		 [m4_define([_LTDL_TYPE], [installable])])
7744f3561b8bSmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
7745f3561b8bSmrg		 [m4_define([_LTDL_TYPE], [convenience])])
7746fc5a983dSmrg
7747f3561b8bSmrg# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
7748fc5a983dSmrg#
7749f3561b8bSmrg# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7750f3561b8bSmrg# Written by Gary V. Vaughan, 2004
7751fc5a983dSmrg#
7752f3561b8bSmrg# This file is free software; the Free Software Foundation gives
7753f3561b8bSmrg# unlimited permission to copy and/or distribute it, with or without
7754f3561b8bSmrg# modifications, as long as this notice is preserved.
7755f3561b8bSmrg
7756f3561b8bSmrg# serial 6 ltsugar.m4
7757f3561b8bSmrg
7758f3561b8bSmrg# This is to help aclocal find these macros, as it can't see m4_define.
7759f3561b8bSmrgAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
7760f3561b8bSmrg
7761f3561b8bSmrg
7762f3561b8bSmrg# lt_join(SEP, ARG1, [ARG2...])
7763f3561b8bSmrg# -----------------------------
7764f3561b8bSmrg# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
7765f3561b8bSmrg# associated separator.
7766f3561b8bSmrg# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
7767f3561b8bSmrg# versions in m4sugar had bugs.
7768f3561b8bSmrgm4_define([lt_join],
7769f3561b8bSmrg[m4_if([$#], [1], [],
7770f3561b8bSmrg       [$#], [2], [[$2]],
7771f3561b8bSmrg       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
7772f3561b8bSmrgm4_define([_lt_join],
7773f3561b8bSmrg[m4_if([$#$2], [2], [],
7774f3561b8bSmrg       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
7775f3561b8bSmrg
7776f3561b8bSmrg
7777f3561b8bSmrg# lt_car(LIST)
7778f3561b8bSmrg# lt_cdr(LIST)
7779f3561b8bSmrg# ------------
7780f3561b8bSmrg# Manipulate m4 lists.
7781f3561b8bSmrg# These macros are necessary as long as will still need to support
7782f3561b8bSmrg# Autoconf-2.59 which quotes differently.
7783f3561b8bSmrgm4_define([lt_car], [[$1]])
7784f3561b8bSmrgm4_define([lt_cdr],
7785f3561b8bSmrg[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
7786f3561b8bSmrg       [$#], 1, [],
7787f3561b8bSmrg       [m4_dquote(m4_shift($@))])])
7788f3561b8bSmrgm4_define([lt_unquote], $1)
7789f3561b8bSmrg
7790f3561b8bSmrg
7791f3561b8bSmrg# lt_append(MACRO-NAME, STRING, [SEPARATOR])
7792f3561b8bSmrg# ------------------------------------------
7793f3561b8bSmrg# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
7794f3561b8bSmrg# Note that neither SEPARATOR nor STRING are expanded; they are appended
7795f3561b8bSmrg# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
7796f3561b8bSmrg# No SEPARATOR is output if MACRO-NAME was previously undefined (different
7797f3561b8bSmrg# than defined and empty).
7798fc5a983dSmrg#
7799f3561b8bSmrg# This macro is needed until we can rely on Autoconf 2.62, since earlier
7800f3561b8bSmrg# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
7801f3561b8bSmrgm4_define([lt_append],
7802f3561b8bSmrg[m4_define([$1],
7803f3561b8bSmrg	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
7804f3561b8bSmrg
7805f3561b8bSmrg
7806f3561b8bSmrg
7807f3561b8bSmrg# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
7808f3561b8bSmrg# ----------------------------------------------------------
7809f3561b8bSmrg# Produce a SEP delimited list of all paired combinations of elements of
7810f3561b8bSmrg# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
7811f3561b8bSmrg# has the form PREFIXmINFIXSUFFIXn.
7812f3561b8bSmrg# Needed until we can rely on m4_combine added in Autoconf 2.62.
7813f3561b8bSmrgm4_define([lt_combine],
7814f3561b8bSmrg[m4_if(m4_eval([$# > 3]), [1],
7815f3561b8bSmrg       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
7816f3561b8bSmrg[[m4_foreach([_Lt_prefix], [$2],
7817f3561b8bSmrg	     [m4_foreach([_Lt_suffix],
7818f3561b8bSmrg		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
7819f3561b8bSmrg	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
7820f3561b8bSmrg
7821f3561b8bSmrg
7822f3561b8bSmrg# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
7823f3561b8bSmrg# -----------------------------------------------------------------------
7824f3561b8bSmrg# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
7825f3561b8bSmrg# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
7826f3561b8bSmrgm4_define([lt_if_append_uniq],
7827f3561b8bSmrg[m4_ifdef([$1],
7828f3561b8bSmrg	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
7829f3561b8bSmrg		 [lt_append([$1], [$2], [$3])$4],
7830f3561b8bSmrg		 [$5])],
7831f3561b8bSmrg	  [lt_append([$1], [$2], [$3])$4])])
7832f3561b8bSmrg
7833f3561b8bSmrg
7834f3561b8bSmrg# lt_dict_add(DICT, KEY, VALUE)
7835f3561b8bSmrg# -----------------------------
7836f3561b8bSmrgm4_define([lt_dict_add],
7837f3561b8bSmrg[m4_define([$1($2)], [$3])])
7838fc5a983dSmrg
7839fc5a983dSmrg
7840f3561b8bSmrg# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
7841f3561b8bSmrg# --------------------------------------------
7842f3561b8bSmrgm4_define([lt_dict_add_subkey],
7843f3561b8bSmrg[m4_define([$1($2:$3)], [$4])])
7844fc5a983dSmrg
7845fc5a983dSmrg
7846f3561b8bSmrg# lt_dict_fetch(DICT, KEY, [SUBKEY])
7847f3561b8bSmrg# ----------------------------------
7848f3561b8bSmrgm4_define([lt_dict_fetch],
7849f3561b8bSmrg[m4_ifval([$3],
7850f3561b8bSmrg	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
7851f3561b8bSmrg    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
7852fc5a983dSmrg
7853fc5a983dSmrg
7854f3561b8bSmrg# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
7855f3561b8bSmrg# -----------------------------------------------------------------
7856f3561b8bSmrgm4_define([lt_if_dict_fetch],
7857f3561b8bSmrg[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
7858f3561b8bSmrg	[$5],
7859f3561b8bSmrg    [$6])])
7860fc5a983dSmrg
7861f3561b8bSmrg
7862f3561b8bSmrg# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
7863f3561b8bSmrg# --------------------------------------------------------------
7864f3561b8bSmrgm4_define([lt_dict_filter],
7865f3561b8bSmrg[m4_if([$5], [], [],
7866f3561b8bSmrg  [lt_join(m4_quote(m4_default([$4], [[, ]])),
7867f3561b8bSmrg           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
7868f3561b8bSmrg		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
7869fc5a983dSmrg])
7870fc5a983dSmrg
7871f3561b8bSmrg# ltversion.m4 -- version numbers			-*- Autoconf -*-
7872f3561b8bSmrg#
7873f3561b8bSmrg#   Copyright (C) 2004 Free Software Foundation, Inc.
7874f3561b8bSmrg#   Written by Scott James Remnant, 2004
7875f3561b8bSmrg#
7876f3561b8bSmrg# This file is free software; the Free Software Foundation gives
7877f3561b8bSmrg# unlimited permission to copy and/or distribute it, with or without
7878f3561b8bSmrg# modifications, as long as this notice is preserved.
7879fc5a983dSmrg
7880f3561b8bSmrg# Generated from ltversion.in.
7881fc5a983dSmrg
78826086d97eSmrg# serial 3017 ltversion.m4
7883f3561b8bSmrg# This file is part of GNU Libtool
7884fc5a983dSmrg
78856086d97eSmrgm4_define([LT_PACKAGE_VERSION], [2.2.6b])
78866086d97eSmrgm4_define([LT_PACKAGE_REVISION], [1.3017])
7887fc5a983dSmrg
7888f3561b8bSmrgAC_DEFUN([LTVERSION_VERSION],
78896086d97eSmrg[macro_version='2.2.6b'
78906086d97eSmrgmacro_revision='1.3017'
7891f3561b8bSmrg_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
7892f3561b8bSmrg_LT_DECL(, macro_revision, 0)
7893fc5a983dSmrg])
7894fc5a983dSmrg
7895f3561b8bSmrg# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
7896f3561b8bSmrg#
7897f3561b8bSmrg#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
7898f3561b8bSmrg#   Written by Scott James Remnant, 2004.
7899f3561b8bSmrg#
7900f3561b8bSmrg# This file is free software; the Free Software Foundation gives
7901f3561b8bSmrg# unlimited permission to copy and/or distribute it, with or without
7902f3561b8bSmrg# modifications, as long as this notice is preserved.
7903f3561b8bSmrg
7904f3561b8bSmrg# serial 4 lt~obsolete.m4
7905f3561b8bSmrg
7906f3561b8bSmrg# These exist entirely to fool aclocal when bootstrapping libtool.
7907f3561b8bSmrg#
7908f3561b8bSmrg# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
7909f3561b8bSmrg# which have later been changed to m4_define as they aren't part of the
7910f3561b8bSmrg# exported API, or moved to Autoconf or Automake where they belong.
7911f3561b8bSmrg#
7912f3561b8bSmrg# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
7913f3561b8bSmrg# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
7914f3561b8bSmrg# using a macro with the same name in our local m4/libtool.m4 it'll
7915f3561b8bSmrg# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
7916f3561b8bSmrg# and doesn't know about Autoconf macros at all.)
7917f3561b8bSmrg#
7918f3561b8bSmrg# So we provide this file, which has a silly filename so it's always
7919f3561b8bSmrg# included after everything else.  This provides aclocal with the
7920f3561b8bSmrg# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
7921f3561b8bSmrg# because those macros already exist, or will be overwritten later.
7922f3561b8bSmrg# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
7923f3561b8bSmrg#
7924f3561b8bSmrg# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
7925f3561b8bSmrg# Yes, that means every name once taken will need to remain here until
7926f3561b8bSmrg# we give up compatibility with versions before 1.7, at which point
7927f3561b8bSmrg# we need to keep only those names which we still refer to.
7928f3561b8bSmrg
7929f3561b8bSmrg# This is to help aclocal find these macros, as it can't see m4_define.
7930f3561b8bSmrgAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
7931f3561b8bSmrg
7932f3561b8bSmrgm4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
7933f3561b8bSmrgm4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
7934f3561b8bSmrgm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
7935f3561b8bSmrgm4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
7936f3561b8bSmrgm4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
7937f3561b8bSmrgm4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
7938f3561b8bSmrgm4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
7939f3561b8bSmrgm4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
7940f3561b8bSmrgm4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
7941f3561b8bSmrgm4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
7942f3561b8bSmrgm4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
7943f3561b8bSmrgm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
7944f3561b8bSmrgm4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
7945f3561b8bSmrgm4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
7946f3561b8bSmrgm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
7947f3561b8bSmrgm4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
7948f3561b8bSmrgm4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
7949f3561b8bSmrgm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
7950f3561b8bSmrgm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
7951f3561b8bSmrgm4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
7952f3561b8bSmrgm4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
7953f3561b8bSmrgm4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
7954f3561b8bSmrgm4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
7955f3561b8bSmrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
7956f3561b8bSmrgm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
7957f3561b8bSmrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
7958f3561b8bSmrgm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
7959f3561b8bSmrgm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
7960f3561b8bSmrgm4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
7961f3561b8bSmrgm4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
7962f3561b8bSmrgm4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
7963f3561b8bSmrgm4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
7964f3561b8bSmrgm4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
7965f3561b8bSmrgm4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
7966f3561b8bSmrgm4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
7967f3561b8bSmrgm4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
7968f3561b8bSmrgm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
7969f3561b8bSmrgm4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
7970f3561b8bSmrgm4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
7971f3561b8bSmrgm4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
7972f3561b8bSmrgm4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
7973f3561b8bSmrgm4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
7974f3561b8bSmrgm4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
7975f3561b8bSmrgm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
7976f3561b8bSmrgm4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
7977f3561b8bSmrgm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
7978f3561b8bSmrgm4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
7979f3561b8bSmrgm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
7980f3561b8bSmrgm4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
7981f3561b8bSmrgm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
7982f3561b8bSmrgm4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
7983f3561b8bSmrgm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
7984f3561b8bSmrgm4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
7985f3561b8bSmrgm4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
7986f3561b8bSmrgm4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
7987f3561b8bSmrg
7988fc5a983dSmrg# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
7989fc5a983dSmrg# 
7990fc5a983dSmrg# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
7991fc5a983dSmrg#
7992fc5a983dSmrg# This program is free software; you can redistribute it and/or modify
7993fc5a983dSmrg# it under the terms of the GNU General Public License as published by
7994fc5a983dSmrg# the Free Software Foundation; either version 2 of the License, or
7995fc5a983dSmrg# (at your option) any later version.
7996fc5a983dSmrg#
7997fc5a983dSmrg# This program is distributed in the hope that it will be useful, but
7998fc5a983dSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
7999fc5a983dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
8000fc5a983dSmrg# General Public License for more details.
8001fc5a983dSmrg#
8002fc5a983dSmrg# You should have received a copy of the GNU General Public License
8003fc5a983dSmrg# along with this program; if not, write to the Free Software
8004fc5a983dSmrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
8005fc5a983dSmrg#
8006fc5a983dSmrg# As a special exception to the GNU General Public License, if you
8007fc5a983dSmrg# distribute this file as part of a program that contains a
8008fc5a983dSmrg# configuration script generated by Autoconf, you may include it under
8009fc5a983dSmrg# the same distribution terms that you use for the rest of that program.
8010fc5a983dSmrg
8011fc5a983dSmrg# PKG_PROG_PKG_CONFIG([MIN-VERSION])
8012fc5a983dSmrg# ----------------------------------
8013fc5a983dSmrgAC_DEFUN([PKG_PROG_PKG_CONFIG],
8014fc5a983dSmrg[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
8015fc5a983dSmrgm4_pattern_allow([^PKG_CONFIG(_PATH)?$])
8016fc5a983dSmrgAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
8017fc5a983dSmrgif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
8018fc5a983dSmrg	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
8019fc5a983dSmrgfi
8020fc5a983dSmrgif test -n "$PKG_CONFIG"; then
8021fc5a983dSmrg	_pkg_min_version=m4_default([$1], [0.9.0])
8022fc5a983dSmrg	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
8023fc5a983dSmrg	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
8024fc5a983dSmrg		AC_MSG_RESULT([yes])
8025fc5a983dSmrg	else
8026fc5a983dSmrg		AC_MSG_RESULT([no])
8027fc5a983dSmrg		PKG_CONFIG=""
8028fc5a983dSmrg	fi
8029fc5a983dSmrg		
8030fc5a983dSmrgfi[]dnl
8031fc5a983dSmrg])# PKG_PROG_PKG_CONFIG
8032fc5a983dSmrg
8033fc5a983dSmrg# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
8034fc5a983dSmrg#
8035fc5a983dSmrg# Check to see whether a particular set of modules exists.  Similar
8036fc5a983dSmrg# to PKG_CHECK_MODULES(), but does not set variables or print errors.
8037fc5a983dSmrg#
8038fc5a983dSmrg#
8039fc5a983dSmrg# Similar to PKG_CHECK_MODULES, make sure that the first instance of
8040fc5a983dSmrg# this or PKG_CHECK_MODULES is called, or make sure to call
8041fc5a983dSmrg# PKG_CHECK_EXISTS manually
8042fc5a983dSmrg# --------------------------------------------------------------
8043fc5a983dSmrgAC_DEFUN([PKG_CHECK_EXISTS],
8044fc5a983dSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8045fc5a983dSmrgif test -n "$PKG_CONFIG" && \
8046fc5a983dSmrg    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
8047fc5a983dSmrg  m4_ifval([$2], [$2], [:])
8048fc5a983dSmrgm4_ifvaln([$3], [else
8049fc5a983dSmrg  $3])dnl
8050fc5a983dSmrgfi])
8051fc5a983dSmrg
8052fc5a983dSmrg
8053fc5a983dSmrg# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
8054fc5a983dSmrg# ---------------------------------------------
8055fc5a983dSmrgm4_define([_PKG_CONFIG],
8056bd2f6fc9Smrg[if test -n "$PKG_CONFIG"; then
8057bd2f6fc9Smrg    if test -n "$$1"; then
8058bd2f6fc9Smrg        pkg_cv_[]$1="$$1"
8059bd2f6fc9Smrg    else
8060bd2f6fc9Smrg        PKG_CHECK_EXISTS([$3],
8061bd2f6fc9Smrg                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
8062bd2f6fc9Smrg			 [pkg_failed=yes])
8063bd2f6fc9Smrg    fi
8064bd2f6fc9Smrgelse
8065bd2f6fc9Smrg	pkg_failed=untried
8066fc5a983dSmrgfi[]dnl
8067fc5a983dSmrg])# _PKG_CONFIG
8068fc5a983dSmrg
8069fc5a983dSmrg# _PKG_SHORT_ERRORS_SUPPORTED
8070fc5a983dSmrg# -----------------------------
8071fc5a983dSmrgAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
8072fc5a983dSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
8073fc5a983dSmrgif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
8074fc5a983dSmrg        _pkg_short_errors_supported=yes
8075fc5a983dSmrgelse
8076fc5a983dSmrg        _pkg_short_errors_supported=no
8077fc5a983dSmrgfi[]dnl
8078fc5a983dSmrg])# _PKG_SHORT_ERRORS_SUPPORTED
8079fc5a983dSmrg
8080fc5a983dSmrg
8081fc5a983dSmrg# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
8082fc5a983dSmrg# [ACTION-IF-NOT-FOUND])
8083fc5a983dSmrg#
8084fc5a983dSmrg#
8085fc5a983dSmrg# Note that if there is a possibility the first call to
8086fc5a983dSmrg# PKG_CHECK_MODULES might not happen, you should be sure to include an
8087fc5a983dSmrg# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
8088fc5a983dSmrg#
8089fc5a983dSmrg#
8090fc5a983dSmrg# --------------------------------------------------------------
8091fc5a983dSmrgAC_DEFUN([PKG_CHECK_MODULES],
8092fc5a983dSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8093fc5a983dSmrgAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
8094fc5a983dSmrgAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
8095fc5a983dSmrg
8096fc5a983dSmrgpkg_failed=no
8097fc5a983dSmrgAC_MSG_CHECKING([for $1])
8098fc5a983dSmrg
8099fc5a983dSmrg_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
8100fc5a983dSmrg_PKG_CONFIG([$1][_LIBS], [libs], [$2])
8101fc5a983dSmrg
8102fc5a983dSmrgm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
8103fc5a983dSmrgand $1[]_LIBS to avoid the need to call pkg-config.
8104fc5a983dSmrgSee the pkg-config man page for more details.])
8105fc5a983dSmrg
8106fc5a983dSmrgif test $pkg_failed = yes; then
8107fc5a983dSmrg        _PKG_SHORT_ERRORS_SUPPORTED
8108fc5a983dSmrg        if test $_pkg_short_errors_supported = yes; then
8109bd2f6fc9Smrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
8110fc5a983dSmrg        else 
8111bd2f6fc9Smrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
8112fc5a983dSmrg        fi
8113fc5a983dSmrg	# Put the nasty error message in config.log where it belongs
8114fc5a983dSmrg	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
8115fc5a983dSmrg
8116fc5a983dSmrg	ifelse([$4], , [AC_MSG_ERROR(dnl
8117fc5a983dSmrg[Package requirements ($2) were not met:
8118fc5a983dSmrg
8119fc5a983dSmrg$$1_PKG_ERRORS
8120fc5a983dSmrg
8121fc5a983dSmrgConsider adjusting the PKG_CONFIG_PATH environment variable if you
8122fc5a983dSmrginstalled software in a non-standard prefix.
8123fc5a983dSmrg
8124fc5a983dSmrg_PKG_TEXT
8125fc5a983dSmrg])],
8126fc5a983dSmrg		[AC_MSG_RESULT([no])
8127fc5a983dSmrg                $4])
8128fc5a983dSmrgelif test $pkg_failed = untried; then
8129fc5a983dSmrg	ifelse([$4], , [AC_MSG_FAILURE(dnl
8130fc5a983dSmrg[The pkg-config script could not be found or is too old.  Make sure it
8131fc5a983dSmrgis in your PATH or set the PKG_CONFIG environment variable to the full
8132fc5a983dSmrgpath to pkg-config.
8133fc5a983dSmrg
8134fc5a983dSmrg_PKG_TEXT
8135fc5a983dSmrg
8136fc5a983dSmrgTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
8137fc5a983dSmrg		[$4])
8138fc5a983dSmrgelse
8139fc5a983dSmrg	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
8140fc5a983dSmrg	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
8141fc5a983dSmrg        AC_MSG_RESULT([yes])
8142fc5a983dSmrg	ifelse([$3], , :, [$3])
8143fc5a983dSmrgfi[]dnl
8144fc5a983dSmrg])# PKG_CHECK_MODULES
8145fc5a983dSmrg
8146f3561b8bSmrgdnl xorg-macros.m4.  Generated from xorg-macros.m4.in xorgversion.m4 by configure.
8147fc5a983dSmrgdnl
8148fc5a983dSmrgdnl Copyright 2005-2006 Sun Microsystems, Inc.  All rights reserved.
8149fc5a983dSmrgdnl 
8150fc5a983dSmrgdnl Permission is hereby granted, free of charge, to any person obtaining a
815171ba42d0Smrgdnl copy of this software and associated documentation files (the "Software"),
815271ba42d0Smrgdnl to deal in the Software without restriction, including without limitation
815371ba42d0Smrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
815471ba42d0Smrgdnl and/or sell copies of the Software, and to permit persons to whom the
815571ba42d0Smrgdnl Software is furnished to do so, subject to the following conditions:
8156fc5a983dSmrgdnl
815771ba42d0Smrgdnl The above copyright notice and this permission notice (including the next
815871ba42d0Smrgdnl paragraph) shall be included in all copies or substantial portions of the
815971ba42d0Smrgdnl Software.
8160fc5a983dSmrgdnl
816171ba42d0Smrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
816271ba42d0Smrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
816371ba42d0Smrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
816471ba42d0Smrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
816571ba42d0Smrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
816671ba42d0Smrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
816771ba42d0Smrgdnl DEALINGS IN THE SOFTWARE.
8168fc5a983dSmrg
8169fc5a983dSmrg# XORG_MACROS_VERSION(required-version)
8170fc5a983dSmrg# -------------------------------------
8171fc5a983dSmrg# Minimum version: 1.1.0
8172fc5a983dSmrg#
8173fc5a983dSmrg# If you're using a macro added in Version 1.1 or newer, include this in
8174fc5a983dSmrg# your configure.ac with the minimum required version, such as:
8175fc5a983dSmrg# XORG_MACROS_VERSION(1.1)
8176fc5a983dSmrg#
8177bd2f6fc9Smrg# To ensure that this macro is defined, also add:
8178bd2f6fc9Smrg# m4_ifndef([XORG_MACROS_VERSION],
8179bd2f6fc9Smrg#     [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
8180fc5a983dSmrg#
8181fc5a983dSmrg#
8182fc5a983dSmrg# See the "minimum version" comment for each macro you use to see what 
8183fc5a983dSmrg# version you require.
8184bd2f6fc9Smrgm4_defun([XORG_MACROS_VERSION],[
81856086d97eSmrgm4_define([vers_have], [1.10.0])
8186bd2f6fc9Smrgm4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
8187bd2f6fc9Smrgm4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
8188bd2f6fc9Smrgm4_if(m4_cmp(maj_have, maj_needed), 0,,
8189bd2f6fc9Smrg    [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
8190bd2f6fc9Smrgm4_if(m4_version_compare(vers_have, [$1]), -1,
8191bd2f6fc9Smrg    [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
8192bd2f6fc9Smrgm4_undefine([vers_have])
8193bd2f6fc9Smrgm4_undefine([maj_have])
8194bd2f6fc9Smrgm4_undefine([maj_needed])
8195fc5a983dSmrg]) # XORG_MACROS_VERSION
8196fc5a983dSmrg
8197fc5a983dSmrg# XORG_PROG_RAWCPP()
8198fc5a983dSmrg# ------------------
8199fc5a983dSmrg# Minimum version: 1.0.0
8200fc5a983dSmrg#
8201fc5a983dSmrg# Find cpp program and necessary flags for use in pre-processing text files
8202fc5a983dSmrg# such as man pages and config files
8203fc5a983dSmrgAC_DEFUN([XORG_PROG_RAWCPP],[
8204fc5a983dSmrgAC_REQUIRE([AC_PROG_CPP])
8205fc5a983dSmrgAC_PATH_PROGS(RAWCPP, [cpp], [${CPP}], 
8206fc5a983dSmrg   [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
8207fc5a983dSmrg
8208fc5a983dSmrg# Check for flag to avoid builtin definitions - assumes unix is predefined,
8209fc5a983dSmrg# which is not the best choice for supporting other OS'es, but covers most
8210fc5a983dSmrg# of the ones we need for now.
8211fc5a983dSmrgAC_MSG_CHECKING([if $RAWCPP requires -undef])
8212fc5a983dSmrgAC_LANG_CONFTEST([Does cpp redefine unix ?])
8213fc5a983dSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8214fc5a983dSmrg	AC_MSG_RESULT([no])
8215fc5a983dSmrgelse
8216fc5a983dSmrg	if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8217fc5a983dSmrg		RAWCPPFLAGS=-undef
8218fc5a983dSmrg		AC_MSG_RESULT([yes])
8219f3561b8bSmrg	# under Cygwin unix is still defined even with -undef
8220f3561b8bSmrg	elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8221f3561b8bSmrg		RAWCPPFLAGS="-undef -ansi"
8222f3561b8bSmrg		AC_MSG_RESULT([yes, with -ansi])
8223fc5a983dSmrg	else
8224fc5a983dSmrg		AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef.  I don't know what to do.])
8225fc5a983dSmrg	fi
8226fc5a983dSmrgfi
8227fc5a983dSmrgrm -f conftest.$ac_ext
8228fc5a983dSmrg
8229fc5a983dSmrgAC_MSG_CHECKING([if $RAWCPP requires -traditional])
8230fc5a983dSmrgAC_LANG_CONFTEST([Does cpp preserve   "whitespace"?])
8231fc5a983dSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
8232fc5a983dSmrg	AC_MSG_RESULT([no])
8233fc5a983dSmrgelse
8234fc5a983dSmrg	if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
8235fc5a983dSmrg		RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
8236fc5a983dSmrg		AC_MSG_RESULT([yes])
8237fc5a983dSmrg	else
8238fc5a983dSmrg		AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional.  I don't know what to do.])
8239fc5a983dSmrg	fi
8240fc5a983dSmrgfi
8241fc5a983dSmrgrm -f conftest.$ac_ext
8242fc5a983dSmrgAC_SUBST(RAWCPPFLAGS)
8243fc5a983dSmrg]) # XORG_PROG_RAWCPP
8244fc5a983dSmrg
8245fc5a983dSmrg# XORG_MANPAGE_SECTIONS()
8246fc5a983dSmrg# -----------------------
8247fc5a983dSmrg# Minimum version: 1.0.0
8248fc5a983dSmrg#
8249fc5a983dSmrg# Determine which sections man pages go in for the different man page types
8250fc5a983dSmrg# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
8251fc5a983dSmrg# Not sure if there's any better way than just hardcoding by OS name.
8252fc5a983dSmrg# Override default settings by setting environment variables
82536086d97eSmrg# Added MAN_SUBSTS in version 1.8
82546086d97eSmrg# Added AC_PROG_SED in version 1.8
8255fc5a983dSmrg
8256fc5a983dSmrgAC_DEFUN([XORG_MANPAGE_SECTIONS],[
8257fc5a983dSmrgAC_REQUIRE([AC_CANONICAL_HOST])
82586086d97eSmrgAC_REQUIRE([AC_PROG_SED])
8259fc5a983dSmrg
8260fc5a983dSmrgif test x$APP_MAN_SUFFIX = x    ; then
8261fc5a983dSmrg    APP_MAN_SUFFIX=1
8262fc5a983dSmrgfi
8263fc5a983dSmrgif test x$APP_MAN_DIR = x    ; then
8264fc5a983dSmrg    APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
8265fc5a983dSmrgfi
8266fc5a983dSmrg
8267fc5a983dSmrgif test x$LIB_MAN_SUFFIX = x    ; then
8268fc5a983dSmrg    LIB_MAN_SUFFIX=3
8269fc5a983dSmrgfi
8270fc5a983dSmrgif test x$LIB_MAN_DIR = x    ; then
8271fc5a983dSmrg    LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
8272fc5a983dSmrgfi
8273fc5a983dSmrg
8274fc5a983dSmrgif test x$FILE_MAN_SUFFIX = x    ; then
8275fc5a983dSmrg    case $host_os in
8276fc5a983dSmrg	solaris*)	FILE_MAN_SUFFIX=4  ;;
8277fc5a983dSmrg	*)		FILE_MAN_SUFFIX=5  ;;
8278fc5a983dSmrg    esac
8279fc5a983dSmrgfi
8280fc5a983dSmrgif test x$FILE_MAN_DIR = x    ; then
8281fc5a983dSmrg    FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
8282fc5a983dSmrgfi
8283fc5a983dSmrg
8284fc5a983dSmrgif test x$MISC_MAN_SUFFIX = x    ; then
8285fc5a983dSmrg    case $host_os in
8286fc5a983dSmrg	solaris*)	MISC_MAN_SUFFIX=5  ;;
8287fc5a983dSmrg	*)		MISC_MAN_SUFFIX=7  ;;
8288fc5a983dSmrg    esac
8289fc5a983dSmrgfi
8290fc5a983dSmrgif test x$MISC_MAN_DIR = x    ; then
8291fc5a983dSmrg    MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
8292fc5a983dSmrgfi
8293fc5a983dSmrg
8294fc5a983dSmrgif test x$DRIVER_MAN_SUFFIX = x    ; then
8295fc5a983dSmrg    case $host_os in
8296fc5a983dSmrg	solaris*)	DRIVER_MAN_SUFFIX=7  ;;
8297fc5a983dSmrg	*)		DRIVER_MAN_SUFFIX=4  ;;
8298fc5a983dSmrg    esac
8299fc5a983dSmrgfi
8300fc5a983dSmrgif test x$DRIVER_MAN_DIR = x    ; then
8301fc5a983dSmrg    DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
8302fc5a983dSmrgfi
8303fc5a983dSmrg
8304fc5a983dSmrgif test x$ADMIN_MAN_SUFFIX = x    ; then
8305fc5a983dSmrg    case $host_os in
8306fc5a983dSmrg	solaris*)	ADMIN_MAN_SUFFIX=1m ;;
8307fc5a983dSmrg	*)		ADMIN_MAN_SUFFIX=8  ;;
8308fc5a983dSmrg    esac
8309fc5a983dSmrgfi
8310fc5a983dSmrgif test x$ADMIN_MAN_DIR = x    ; then
8311fc5a983dSmrg    ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
8312fc5a983dSmrgfi
8313fc5a983dSmrg
8314fc5a983dSmrg
8315fc5a983dSmrgAC_SUBST([APP_MAN_SUFFIX])
8316fc5a983dSmrgAC_SUBST([LIB_MAN_SUFFIX])
8317fc5a983dSmrgAC_SUBST([FILE_MAN_SUFFIX])
8318fc5a983dSmrgAC_SUBST([MISC_MAN_SUFFIX])
8319fc5a983dSmrgAC_SUBST([DRIVER_MAN_SUFFIX])
8320fc5a983dSmrgAC_SUBST([ADMIN_MAN_SUFFIX])
8321fc5a983dSmrgAC_SUBST([APP_MAN_DIR])
8322fc5a983dSmrgAC_SUBST([LIB_MAN_DIR])
8323fc5a983dSmrgAC_SUBST([FILE_MAN_DIR])
8324fc5a983dSmrgAC_SUBST([MISC_MAN_DIR])
8325fc5a983dSmrgAC_SUBST([DRIVER_MAN_DIR])
8326fc5a983dSmrgAC_SUBST([ADMIN_MAN_DIR])
83276086d97eSmrg
83286086d97eSmrgXORG_MAN_PAGE="X Version 11"
83296086d97eSmrgAC_SUBST([XORG_MAN_PAGE])
83306086d97eSmrgMAN_SUBSTS="\
83316086d97eSmrg	-e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
83326086d97eSmrg	-e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
83336086d97eSmrg	-e 's|__xservername__|Xorg|g' \
83346086d97eSmrg	-e 's|__xconfigfile__|xorg.conf|g' \
83356086d97eSmrg	-e 's|__projectroot__|\$(prefix)|g' \
83366086d97eSmrg	-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
83376086d97eSmrg	-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
83386086d97eSmrg	-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
83396086d97eSmrg	-e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
83406086d97eSmrg	-e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
83416086d97eSmrg	-e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
83426086d97eSmrgAC_SUBST([MAN_SUBSTS])
83436086d97eSmrg
8344fc5a983dSmrg]) # XORG_MANPAGE_SECTIONS
8345fc5a983dSmrg
83466086d97eSmrg# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION])
83476086d97eSmrg# ------------------------
83486086d97eSmrg# Minimum version: 1.7.0
83496086d97eSmrg#
83506086d97eSmrg# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent
83516086d97eSmrg# provided by xorg-sgml-doctools, if installed.
83526086d97eSmrgAC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[
83536086d97eSmrgAC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])])
83546086d97eSmrgXORG_SGML_PATH=
83556086d97eSmrgPKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])],
83566086d97eSmrg    [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`],
83576086d97eSmrg    [m4_ifval([$1],[:],
83586086d97eSmrg        [if test x"$cross_compiling" != x"yes" ; then
83596086d97eSmrg            AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent],
83606086d97eSmrg                          [XORG_SGML_PATH=$prefix/share/sgml])
83616086d97eSmrg         fi])
83626086d97eSmrg    ])
83636086d97eSmrg
83646086d97eSmrg# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
83656086d97eSmrg# the path and the name of the doc stylesheet
83666086d97eSmrgif test "x$XORG_SGML_PATH" != "x" ; then
83676086d97eSmrg   AC_MSG_RESULT([$XORG_SGML_PATH])
83686086d97eSmrg   STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
83696086d97eSmrg   XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
83706086d97eSmrgelse
83716086d97eSmrg   AC_MSG_RESULT([no])
83726086d97eSmrgfi
83736086d97eSmrg
83746086d97eSmrgAC_SUBST(XORG_SGML_PATH)
83756086d97eSmrgAC_SUBST(STYLESHEET_SRCDIR)
83766086d97eSmrgAC_SUBST(XSL_STYLESHEET)
83776086d97eSmrgAM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"])
83786086d97eSmrg]) # XORG_CHECK_SGML_DOCTOOLS
83796086d97eSmrg
8380fc5a983dSmrg# XORG_CHECK_LINUXDOC
8381fc5a983dSmrg# -------------------
8382fc5a983dSmrg# Minimum version: 1.0.0
8383fc5a983dSmrg#
8384fc5a983dSmrg# Defines the variable MAKE_TEXT if the necessary tools and
8385fc5a983dSmrg# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
8386fc5a983dSmrg# Whether or not the necessary tools and files are found can be checked
8387fc5a983dSmrg# with the AM_CONDITIONAL "BUILD_LINUXDOC"
8388fc5a983dSmrgAC_DEFUN([XORG_CHECK_LINUXDOC],[
83896086d97eSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
83906086d97eSmrgAC_REQUIRE([XORG_WITH_PS2PDF])
8391fc5a983dSmrg
8392fc5a983dSmrgAC_PATH_PROG(LINUXDOC, linuxdoc)
8393fc5a983dSmrg
83946086d97eSmrgAC_MSG_CHECKING([whether to build documentation])
8395fc5a983dSmrg
83966086d97eSmrgif test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then
8397fc5a983dSmrg   BUILDDOC=yes
8398fc5a983dSmrgelse
8399fc5a983dSmrg   BUILDDOC=no
8400fc5a983dSmrgfi
8401fc5a983dSmrg
8402fc5a983dSmrgAM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
8403fc5a983dSmrg
8404fc5a983dSmrgAC_MSG_RESULT([$BUILDDOC])
8405fc5a983dSmrg
84066086d97eSmrgAC_MSG_CHECKING([whether to build pdf documentation])
8407fc5a983dSmrg
84086086d97eSmrgif test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then
8409fc5a983dSmrg   BUILDPDFDOC=yes
8410fc5a983dSmrgelse
8411fc5a983dSmrg   BUILDPDFDOC=no
8412fc5a983dSmrgfi
8413fc5a983dSmrg
8414fc5a983dSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
8415fc5a983dSmrg
8416fc5a983dSmrgAC_MSG_RESULT([$BUILDPDFDOC])
8417fc5a983dSmrg
84186086d97eSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f"
8419fc5a983dSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
8420fc5a983dSmrgMAKE_PDF="$PS2PDF"
8421fc5a983dSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC  -B html --split=0"
8422fc5a983dSmrg
8423fc5a983dSmrgAC_SUBST(MAKE_TEXT)
8424fc5a983dSmrgAC_SUBST(MAKE_PS)
8425fc5a983dSmrgAC_SUBST(MAKE_PDF)
8426fc5a983dSmrgAC_SUBST(MAKE_HTML)
8427fc5a983dSmrg]) # XORG_CHECK_LINUXDOC
8428fc5a983dSmrg
8429fc5a983dSmrg# XORG_CHECK_DOCBOOK
8430fc5a983dSmrg# -------------------
8431fc5a983dSmrg# Minimum version: 1.0.0
8432fc5a983dSmrg#
8433fc5a983dSmrg# Checks for the ability to build output formats from SGML DocBook source.
8434fc5a983dSmrg# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
8435fc5a983dSmrg# indicates whether the necessary tools and files are found and, if set,
8436fc5a983dSmrg# $(MAKE_XXX) blah.sgml will produce blah.xxx.
8437fc5a983dSmrgAC_DEFUN([XORG_CHECK_DOCBOOK],[
84386086d97eSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
84396086d97eSmrg
8440fc5a983dSmrgBUILDTXTDOC=no
8441fc5a983dSmrgBUILDPDFDOC=no
8442fc5a983dSmrgBUILDPSDOC=no
8443fc5a983dSmrgBUILDHTMLDOC=no
8444fc5a983dSmrg
8445fc5a983dSmrgAC_PATH_PROG(DOCBOOKPS, docbook2ps)
8446fc5a983dSmrgAC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
8447fc5a983dSmrgAC_PATH_PROG(DOCBOOKHTML, docbook2html)
8448fc5a983dSmrgAC_PATH_PROG(DOCBOOKTXT, docbook2txt)
8449fc5a983dSmrg
84506086d97eSmrgAC_MSG_CHECKING([whether to build text documentation])
84516086d97eSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x &&
8452fc5a983dSmrg   test x$BUILD_TXTDOC != xno; then
8453fc5a983dSmrg	BUILDTXTDOC=yes
8454fc5a983dSmrgfi
8455fc5a983dSmrgAM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
8456fc5a983dSmrgAC_MSG_RESULT([$BUILDTXTDOC])
8457fc5a983dSmrg
84586086d97eSmrgAC_MSG_CHECKING([whether to build PDF documentation])
84596086d97eSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x &&
8460fc5a983dSmrg   test x$BUILD_PDFDOC != xno; then
8461fc5a983dSmrg	BUILDPDFDOC=yes
8462fc5a983dSmrgfi
8463fc5a983dSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
8464fc5a983dSmrgAC_MSG_RESULT([$BUILDPDFDOC])
8465fc5a983dSmrg
84666086d97eSmrgAC_MSG_CHECKING([whether to build PostScript documentation])
84676086d97eSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x &&
8468fc5a983dSmrg   test x$BUILD_PSDOC != xno; then
8469fc5a983dSmrg	BUILDPSDOC=yes
8470fc5a983dSmrgfi
8471fc5a983dSmrgAM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
8472fc5a983dSmrgAC_MSG_RESULT([$BUILDPSDOC])
8473fc5a983dSmrg
84746086d97eSmrgAC_MSG_CHECKING([whether to build HTML documentation])
84756086d97eSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x &&
8476fc5a983dSmrg   test x$BUILD_HTMLDOC != xno; then
8477fc5a983dSmrg	BUILDHTMLDOC=yes
8478fc5a983dSmrgfi
8479fc5a983dSmrgAM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
8480fc5a983dSmrgAC_MSG_RESULT([$BUILDHTMLDOC])
8481fc5a983dSmrg
8482fc5a983dSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
8483fc5a983dSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
8484fc5a983dSmrgMAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
8485fc5a983dSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
8486fc5a983dSmrg
8487fc5a983dSmrgAC_SUBST(MAKE_TEXT)
8488fc5a983dSmrgAC_SUBST(MAKE_PS)
8489fc5a983dSmrgAC_SUBST(MAKE_PDF)
8490fc5a983dSmrgAC_SUBST(MAKE_HTML)
8491fc5a983dSmrg]) # XORG_CHECK_DOCBOOK
8492fc5a983dSmrg
84936086d97eSmrg# XORG_WITH_XMLTO([MIN-VERSION])
849471ba42d0Smrg# ----------------
849571ba42d0Smrg# Minimum version: 1.5.0
849671ba42d0Smrg#
849771ba42d0Smrg# Documentation tools are not always available on all platforms and sometimes
849871ba42d0Smrg# not at the appropriate level. This macro enables a module to test for the
849971ba42d0Smrg# presence of the tool and obtain it's path in separate variables. Coupled with
850071ba42d0Smrg# the --with-xmlto option, it allows maximum flexibilty in making decisions
850171ba42d0Smrg# as whether or not to use the xmlto package.
850271ba42d0Smrg#
850371ba42d0Smrg# Interface to module:
850471ba42d0Smrg# HAVE_XMLTO: 	used in makefiles to conditionally generate documentation
850571ba42d0Smrg# XMLTO:	returns the path of the xmlto program found
850671ba42d0Smrg#		returns the path set by the user in the environment
850771ba42d0Smrg# --with-xmlto:	'yes' user instructs the module to use xmlto
850871ba42d0Smrg#		'no' user instructs the module not to use xmlto
850971ba42d0Smrg#
85106086d97eSmrg# Added in version 1.10.0
85116086d97eSmrg# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation
85126086d97eSmrg#                  xmlto for text output requires either lynx, links, or w3m browsers
85136086d97eSmrg#
851471ba42d0Smrg# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
851571ba42d0Smrg#
851671ba42d0SmrgAC_DEFUN([XORG_WITH_XMLTO],[
851771ba42d0SmrgAC_ARG_VAR([XMLTO], [Path to xmlto command])
851871ba42d0SmrgAC_ARG_WITH(xmlto,
851971ba42d0Smrg	AS_HELP_STRING([--with-xmlto],
852071ba42d0Smrg	   [Use xmlto to regenerate documentation (default: yes, if installed)]),
852171ba42d0Smrg	   [use_xmlto=$withval], [use_xmlto=auto])
852271ba42d0Smrg
852371ba42d0Smrgif test "x$use_xmlto" = x"auto"; then
852471ba42d0Smrg   AC_PATH_PROG([XMLTO], [xmlto])
852571ba42d0Smrg   if test "x$XMLTO" = "x"; then
852671ba42d0Smrg        AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
852771ba42d0Smrg	have_xmlto=no
852871ba42d0Smrg   else
852971ba42d0Smrg        have_xmlto=yes
853071ba42d0Smrg   fi
853171ba42d0Smrgelif test "x$use_xmlto" = x"yes" ; then
853271ba42d0Smrg   AC_PATH_PROG([XMLTO], [xmlto])
853371ba42d0Smrg   if test "x$XMLTO" = "x"; then
853471ba42d0Smrg        AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH])
853571ba42d0Smrg   fi
853671ba42d0Smrg   have_xmlto=yes
853771ba42d0Smrgelif test "x$use_xmlto" = x"no" ; then
853871ba42d0Smrg   if test "x$XMLTO" != "x"; then
853971ba42d0Smrg      AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
854071ba42d0Smrg   fi
854171ba42d0Smrg   have_xmlto=no
854271ba42d0Smrgelse
854371ba42d0Smrg   AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
854471ba42d0Smrgfi
85456086d97eSmrg
85466086d97eSmrg# Test for a minimum version of xmlto, if provided.
85476086d97eSmrgm4_ifval([$1],
85486086d97eSmrg[if test "$have_xmlto" = yes; then
85496086d97eSmrg    # scrape the xmlto version
85506086d97eSmrg    AC_MSG_CHECKING([the xmlto version])
85516086d97eSmrg    xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
85526086d97eSmrg    AC_MSG_RESULT([$xmlto_version])
85536086d97eSmrg    AS_VERSION_COMPARE([$xmlto_version], [$1],
85546086d97eSmrg        [if test "x$use_xmlto" = xauto; then
85556086d97eSmrg            AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
85566086d97eSmrg            have_xmlto=no
85576086d97eSmrg        else
85586086d97eSmrg            AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
85596086d97eSmrg        fi])
85606086d97eSmrgfi])
85616086d97eSmrg
85626086d97eSmrg# Test for the ability of xmlto to generate a text target
85636086d97eSmrghave_xmlto_text=no
85646086d97eSmrgcat > conftest.xml << "EOF"
85656086d97eSmrgEOF
85666086d97eSmrgAS_IF([test "$have_xmlto" = yes],
85676086d97eSmrg      [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
85686086d97eSmrg             [have_xmlto_text=yes],
85696086d97eSmrg             [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])
85706086d97eSmrgrm -f conftest.xml
85716086d97eSmrgAM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
857271ba42d0SmrgAM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
85736086d97eSmrg]) # XORG_WITH_XMLTO
857471ba42d0Smrg
85756086d97eSmrg# XORG_WITH_ASCIIDOC([MIN-VERSION])
857671ba42d0Smrg# ----------------
857771ba42d0Smrg# Minimum version: 1.5.0
857871ba42d0Smrg#
857971ba42d0Smrg# Documentation tools are not always available on all platforms and sometimes
858071ba42d0Smrg# not at the appropriate level. This macro enables a module to test for the
858171ba42d0Smrg# presence of the tool and obtain it's path in separate variables. Coupled with
858271ba42d0Smrg# the --with-asciidoc option, it allows maximum flexibilty in making decisions
858371ba42d0Smrg# as whether or not to use the asciidoc package.
858471ba42d0Smrg#
858571ba42d0Smrg# Interface to module:
858671ba42d0Smrg# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
858771ba42d0Smrg# ASCIIDOC:	 returns the path of the asciidoc program found
858871ba42d0Smrg#		 returns the path set by the user in the environment
858971ba42d0Smrg# --with-asciidoc: 'yes' user instructs the module to use asciidoc
859071ba42d0Smrg#		  'no' user instructs the module not to use asciidoc
859171ba42d0Smrg#
859271ba42d0Smrg# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path.
859371ba42d0Smrg#
859471ba42d0SmrgAC_DEFUN([XORG_WITH_ASCIIDOC],[
859571ba42d0SmrgAC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
859671ba42d0SmrgAC_ARG_WITH(asciidoc,
859771ba42d0Smrg	AS_HELP_STRING([--with-asciidoc],
859871ba42d0Smrg	   [Use asciidoc to regenerate documentation (default: yes, if installed)]),
859971ba42d0Smrg	   [use_asciidoc=$withval], [use_asciidoc=auto])
860071ba42d0Smrg
860171ba42d0Smrgif test "x$use_asciidoc" = x"auto"; then
860271ba42d0Smrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
860371ba42d0Smrg   if test "x$ASCIIDOC" = "x"; then
860471ba42d0Smrg        AC_MSG_WARN([asciidoc not found - documentation targets will be skipped])
860571ba42d0Smrg	have_asciidoc=no
860671ba42d0Smrg   else
860771ba42d0Smrg        have_asciidoc=yes
860871ba42d0Smrg   fi
860971ba42d0Smrgelif test "x$use_asciidoc" = x"yes" ; then
861071ba42d0Smrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
861171ba42d0Smrg   if test "x$ASCIIDOC" = "x"; then
861271ba42d0Smrg        AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH])
861371ba42d0Smrg   fi
861471ba42d0Smrg   have_asciidoc=yes
861571ba42d0Smrgelif test "x$use_asciidoc" = x"no" ; then
861671ba42d0Smrg   if test "x$ASCIIDOC" != "x"; then
861771ba42d0Smrg      AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified])
861871ba42d0Smrg   fi
861971ba42d0Smrg   have_asciidoc=no
862071ba42d0Smrgelse
862171ba42d0Smrg   AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no'])
862271ba42d0Smrgfi
86236086d97eSmrgm4_ifval([$1],
86246086d97eSmrg[if test "$have_asciidoc" = yes; then
86256086d97eSmrg    # scrape the asciidoc version
86266086d97eSmrg    AC_MSG_CHECKING([the asciidoc version])
86276086d97eSmrg    asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2`
86286086d97eSmrg    AC_MSG_RESULT([$asciidoc_version])
86296086d97eSmrg    AS_VERSION_COMPARE([$asciidoc_version], [$1],
86306086d97eSmrg        [if test "x$use_asciidoc" = xauto; then
86316086d97eSmrg            AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed])
86326086d97eSmrg            have_asciidoc=no
86336086d97eSmrg        else
86346086d97eSmrg            AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed])
86356086d97eSmrg        fi])
86366086d97eSmrgfi])
863771ba42d0SmrgAM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
86386086d97eSmrg]) # XORG_WITH_ASCIIDOC
863971ba42d0Smrg
86406086d97eSmrg# XORG_WITH_DOXYGEN([MIN-VERSION])
86416086d97eSmrg# --------------------------------
864271ba42d0Smrg# Minimum version: 1.5.0
864371ba42d0Smrg#
864471ba42d0Smrg# Documentation tools are not always available on all platforms and sometimes
864571ba42d0Smrg# not at the appropriate level. This macro enables a module to test for the
864671ba42d0Smrg# presence of the tool and obtain it's path in separate variables. Coupled with
864771ba42d0Smrg# the --with-doxygen option, it allows maximum flexibilty in making decisions
864871ba42d0Smrg# as whether or not to use the doxygen package.
864971ba42d0Smrg#
865071ba42d0Smrg# Interface to module:
865171ba42d0Smrg# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
865271ba42d0Smrg# DOXYGEN:	 returns the path of the doxygen program found
865371ba42d0Smrg#		 returns the path set by the user in the environment
865471ba42d0Smrg# --with-doxygen: 'yes' user instructs the module to use doxygen
865571ba42d0Smrg#		  'no' user instructs the module not to use doxygen
865671ba42d0Smrg#
865771ba42d0Smrg# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path.
865871ba42d0Smrg#
865971ba42d0SmrgAC_DEFUN([XORG_WITH_DOXYGEN],[
866071ba42d0SmrgAC_ARG_VAR([DOXYGEN], [Path to doxygen command])
866171ba42d0SmrgAC_ARG_WITH(doxygen,
866271ba42d0Smrg	AS_HELP_STRING([--with-doxygen],
866371ba42d0Smrg	   [Use doxygen to regenerate documentation (default: yes, if installed)]),
866471ba42d0Smrg	   [use_doxygen=$withval], [use_doxygen=auto])
866571ba42d0Smrg
866671ba42d0Smrgif test "x$use_doxygen" = x"auto"; then
866771ba42d0Smrg   AC_PATH_PROG([DOXYGEN], [doxygen])
866871ba42d0Smrg   if test "x$DOXYGEN" = "x"; then
866971ba42d0Smrg        AC_MSG_WARN([doxygen not found - documentation targets will be skipped])
867071ba42d0Smrg	have_doxygen=no
867171ba42d0Smrg   else
867271ba42d0Smrg        have_doxygen=yes
867371ba42d0Smrg   fi
867471ba42d0Smrgelif test "x$use_doxygen" = x"yes" ; then
867571ba42d0Smrg   AC_PATH_PROG([DOXYGEN], [doxygen])
867671ba42d0Smrg   if test "x$DOXYGEN" = "x"; then
867771ba42d0Smrg        AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH])
867871ba42d0Smrg   fi
867971ba42d0Smrg   have_doxygen=yes
868071ba42d0Smrgelif test "x$use_doxygen" = x"no" ; then
868171ba42d0Smrg   if test "x$DOXYGEN" != "x"; then
868271ba42d0Smrg      AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified])
868371ba42d0Smrg   fi
868471ba42d0Smrg   have_doxygen=no
868571ba42d0Smrgelse
868671ba42d0Smrg   AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no'])
868771ba42d0Smrgfi
86886086d97eSmrgm4_ifval([$1],
86896086d97eSmrg[if test "$have_doxygen" = yes; then
86906086d97eSmrg    # scrape the doxygen version
86916086d97eSmrg    AC_MSG_CHECKING([the doxygen version])
86926086d97eSmrg    doxygen_version=`$DOXYGEN --version 2>/dev/null`
86936086d97eSmrg    AC_MSG_RESULT([$doxygen_version])
86946086d97eSmrg    AS_VERSION_COMPARE([$doxygen_version], [$1],
86956086d97eSmrg        [if test "x$use_doxygen" = xauto; then
86966086d97eSmrg            AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed])
86976086d97eSmrg            have_doxygen=no
86986086d97eSmrg        else
86996086d97eSmrg            AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
87006086d97eSmrg        fi])
87016086d97eSmrgfi])
870271ba42d0SmrgAM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
87036086d97eSmrg]) # XORG_WITH_DOXYGEN
87046086d97eSmrg
87056086d97eSmrg# XORG_WITH_GROFF
87066086d97eSmrg# ----------------
87076086d97eSmrg# Minimum version: 1.6.0
87086086d97eSmrg#
87096086d97eSmrg# Documentation tools are not always available on all platforms and sometimes
87106086d97eSmrg# not at the appropriate level. This macro enables a module to test for the
87116086d97eSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
87126086d97eSmrg# the --with-groff option, it allows maximum flexibilty in making decisions
87136086d97eSmrg# as whether or not to use the groff package.
87146086d97eSmrg#
87156086d97eSmrg# Interface to module:
87166086d97eSmrg# HAVE_GROFF:	 used in makefiles to conditionally generate documentation
87176086d97eSmrg# HAVE_GROFF_MM: the memorandum macros (-mm) package
87186086d97eSmrg# HAVE_GROFF_MS: the -ms macros package
87196086d97eSmrg# GROFF:	 returns the path of the groff program found
87206086d97eSmrg#		 returns the path set by the user in the environment
87216086d97eSmrg# --with-groff:	 'yes' user instructs the module to use groff
87226086d97eSmrg#		 'no' user instructs the module not to use groff
87236086d97eSmrg#
87246086d97eSmrg# Added in version 1.9.0:
87256086d97eSmrg# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
87266086d97eSmrg#		   pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
87276086d97eSmrg#		   psselect from the psutils package.
87286086d97eSmrg#		   the ghostcript package. Refer to the grohtml man pages
87296086d97eSmrg#
87306086d97eSmrg# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
87316086d97eSmrg#
87326086d97eSmrg# OS and distros often splits groff in a basic and full package, the former
87336086d97eSmrg# having the groff program and the later having devices, fonts and macros
87346086d97eSmrg# Checking for the groff executable is not enough.
87356086d97eSmrg#
87366086d97eSmrg# If macros are missing, we cannot assume that groff is useless, so we don't
87376086d97eSmrg# unset HAVE_GROFF or GROFF env variables.
87386086d97eSmrg# HAVE_GROFF_?? can never be true while HAVE_GROFF is false.
87396086d97eSmrg#
87406086d97eSmrgAC_DEFUN([XORG_WITH_GROFF],[
87416086d97eSmrgAC_ARG_VAR([GROFF], [Path to groff command])
87426086d97eSmrgAC_ARG_WITH(groff,
87436086d97eSmrg	AS_HELP_STRING([--with-groff],
87446086d97eSmrg	   [Use groff to regenerate documentation (default: yes, if installed)]),
87456086d97eSmrg	   [use_groff=$withval], [use_groff=auto])
87466086d97eSmrg
87476086d97eSmrgif test "x$use_groff" = x"auto"; then
87486086d97eSmrg   AC_PATH_PROG([GROFF], [groff])
87496086d97eSmrg   if test "x$GROFF" = "x"; then
87506086d97eSmrg        AC_MSG_WARN([groff not found - documentation targets will be skipped])
87516086d97eSmrg	have_groff=no
87526086d97eSmrg   else
87536086d97eSmrg        have_groff=yes
87546086d97eSmrg   fi
87556086d97eSmrgelif test "x$use_groff" = x"yes" ; then
87566086d97eSmrg   AC_PATH_PROG([GROFF], [groff])
87576086d97eSmrg   if test "x$GROFF" = "x"; then
87586086d97eSmrg        AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH])
87596086d97eSmrg   fi
87606086d97eSmrg   have_groff=yes
87616086d97eSmrgelif test "x$use_groff" = x"no" ; then
87626086d97eSmrg   if test "x$GROFF" != "x"; then
87636086d97eSmrg      AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified])
87646086d97eSmrg   fi
87656086d97eSmrg   have_groff=no
87666086d97eSmrgelse
87676086d97eSmrg   AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
87686086d97eSmrgfi
87696086d97eSmrg
87706086d97eSmrg# We have groff, test for the presence of the macro packages
87716086d97eSmrgif test "x$have_groff" = x"yes"; then
87726086d97eSmrg    AC_MSG_CHECKING([for ${GROFF} -ms macros])
87736086d97eSmrg    if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then
87746086d97eSmrg        groff_ms_works=yes
87756086d97eSmrg    else
87766086d97eSmrg        groff_ms_works=no
87776086d97eSmrg    fi
87786086d97eSmrg    AC_MSG_RESULT([$groff_ms_works])
87796086d97eSmrg    AC_MSG_CHECKING([for ${GROFF} -mm macros])
87806086d97eSmrg    if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then
87816086d97eSmrg        groff_mm_works=yes
87826086d97eSmrg    else
87836086d97eSmrg        groff_mm_works=no
87846086d97eSmrg    fi
87856086d97eSmrg    AC_MSG_RESULT([$groff_mm_works])
87866086d97eSmrgfi
87876086d97eSmrg
87886086d97eSmrg# We have groff, test for HTML dependencies, one command per package
87896086d97eSmrgif test "x$have_groff" = x"yes"; then
87906086d97eSmrg   AC_PATH_PROGS(GS_PATH, [gs gswin32c])
87916086d97eSmrg   AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
87926086d97eSmrg   AC_PATH_PROG(PSSELECT_PATH, [psselect])
87936086d97eSmrg   if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then
87946086d97eSmrg      have_groff_html=yes
87956086d97eSmrg   else
87966086d97eSmrg      have_groff_html=no
87976086d97eSmrg      AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages])
87986086d97eSmrg   fi
87996086d97eSmrgfi
88006086d97eSmrg
88016086d97eSmrg# Set Automake conditionals for Makefiles
88026086d97eSmrgAM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes])
88036086d97eSmrgAM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes])
88046086d97eSmrgAM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
88056086d97eSmrgAM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
88066086d97eSmrg]) # XORG_WITH_GROFF
88076086d97eSmrg
88086086d97eSmrg# XORG_WITH_FOP
88096086d97eSmrg# ----------------
88106086d97eSmrg# Minimum version: 1.6.0
88116086d97eSmrg#
88126086d97eSmrg# Documentation tools are not always available on all platforms and sometimes
88136086d97eSmrg# not at the appropriate level. This macro enables a module to test for the
88146086d97eSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
88156086d97eSmrg# the --with-fop option, it allows maximum flexibilty in making decisions
88166086d97eSmrg# as whether or not to use the fop package.
88176086d97eSmrg#
88186086d97eSmrg# Interface to module:
88196086d97eSmrg# HAVE_FOP: 	used in makefiles to conditionally generate documentation
88206086d97eSmrg# FOP:	 	returns the path of the fop program found
88216086d97eSmrg#		returns the path set by the user in the environment
88226086d97eSmrg# --with-fop: 	'yes' user instructs the module to use fop
88236086d97eSmrg#		'no' user instructs the module not to use fop
88246086d97eSmrg#
88256086d97eSmrg# If the user sets the value of FOP, AC_PATH_PROG skips testing the path.
88266086d97eSmrg#
88276086d97eSmrgAC_DEFUN([XORG_WITH_FOP],[
88286086d97eSmrgAC_ARG_VAR([FOP], [Path to fop command])
88296086d97eSmrgAC_ARG_WITH(fop,
88306086d97eSmrg	AS_HELP_STRING([--with-fop],
88316086d97eSmrg	   [Use fop to regenerate documentation (default: yes, if installed)]),
88326086d97eSmrg	   [use_fop=$withval], [use_fop=auto])
88336086d97eSmrg
88346086d97eSmrgif test "x$use_fop" = x"auto"; then
88356086d97eSmrg   AC_PATH_PROG([FOP], [fop])
88366086d97eSmrg   if test "x$FOP" = "x"; then
88376086d97eSmrg        AC_MSG_WARN([fop not found - documentation targets will be skipped])
88386086d97eSmrg	have_fop=no
88396086d97eSmrg   else
88406086d97eSmrg        have_fop=yes
88416086d97eSmrg   fi
88426086d97eSmrgelif test "x$use_fop" = x"yes" ; then
88436086d97eSmrg   AC_PATH_PROG([FOP], [fop])
88446086d97eSmrg   if test "x$FOP" = "x"; then
88456086d97eSmrg        AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH])
88466086d97eSmrg   fi
88476086d97eSmrg   have_fop=yes
88486086d97eSmrgelif test "x$use_fop" = x"no" ; then
88496086d97eSmrg   if test "x$FOP" != "x"; then
88506086d97eSmrg      AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified])
88516086d97eSmrg   fi
88526086d97eSmrg   have_fop=no
88536086d97eSmrgelse
88546086d97eSmrg   AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
88556086d97eSmrgfi
88566086d97eSmrgAM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
88576086d97eSmrg]) # XORG_WITH_FOP
88586086d97eSmrg
88596086d97eSmrg# XORG_WITH_PS2PDF
88606086d97eSmrg# ----------------
88616086d97eSmrg# Minimum version: 1.6.0
88626086d97eSmrg#
88636086d97eSmrg# Documentation tools are not always available on all platforms and sometimes
88646086d97eSmrg# not at the appropriate level. This macro enables a module to test for the
88656086d97eSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
88666086d97eSmrg# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
88676086d97eSmrg# as whether or not to use the ps2pdf package.
88686086d97eSmrg#
88696086d97eSmrg# Interface to module:
88706086d97eSmrg# HAVE_PS2PDF: 	used in makefiles to conditionally generate documentation
88716086d97eSmrg# PS2PDF:	returns the path of the ps2pdf program found
88726086d97eSmrg#		returns the path set by the user in the environment
88736086d97eSmrg# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf
88746086d97eSmrg#		 'no' user instructs the module not to use ps2pdf
88756086d97eSmrg#
88766086d97eSmrg# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path.
88776086d97eSmrg#
88786086d97eSmrgAC_DEFUN([XORG_WITH_PS2PDF],[
88796086d97eSmrgAC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
88806086d97eSmrgAC_ARG_WITH(ps2pdf,
88816086d97eSmrg	AS_HELP_STRING([--with-ps2pdf],
88826086d97eSmrg	   [Use ps2pdf to regenerate documentation (default: yes, if installed)]),
88836086d97eSmrg	   [use_ps2pdf=$withval], [use_ps2pdf=auto])
88846086d97eSmrg
88856086d97eSmrgif test "x$use_ps2pdf" = x"auto"; then
88866086d97eSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
88876086d97eSmrg   if test "x$PS2PDF" = "x"; then
88886086d97eSmrg        AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped])
88896086d97eSmrg	have_ps2pdf=no
88906086d97eSmrg   else
88916086d97eSmrg        have_ps2pdf=yes
88926086d97eSmrg   fi
88936086d97eSmrgelif test "x$use_ps2pdf" = x"yes" ; then
88946086d97eSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
88956086d97eSmrg   if test "x$PS2PDF" = "x"; then
88966086d97eSmrg        AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH])
88976086d97eSmrg   fi
88986086d97eSmrg   have_ps2pdf=yes
88996086d97eSmrgelif test "x$use_ps2pdf" = x"no" ; then
89006086d97eSmrg   if test "x$PS2PDF" != "x"; then
89016086d97eSmrg      AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified])
89026086d97eSmrg   fi
89036086d97eSmrg   have_ps2pdf=no
89046086d97eSmrgelse
89056086d97eSmrg   AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no'])
89066086d97eSmrgfi
89076086d97eSmrgAM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
89086086d97eSmrg]) # XORG_WITH_PS2PDF
89096086d97eSmrg
89106086d97eSmrg# XORG_ENABLE_DOCS (enable_docs=yes)
89116086d97eSmrg# ----------------
89126086d97eSmrg# Minimum version: 1.6.0
89136086d97eSmrg#
89146086d97eSmrg# Documentation tools are not always available on all platforms and sometimes
89156086d97eSmrg# not at the appropriate level. This macro enables a builder to skip all
89166086d97eSmrg# documentation targets except traditional man pages.
89176086d97eSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
89186086d97eSmrg# maximum flexibilty in controlling documentation building.
89196086d97eSmrg# Refer to:
89206086d97eSmrg# XORG_WITH_XMLTO         --with-xmlto
89216086d97eSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
89226086d97eSmrg# XORG_WITH_DOXYGEN       --with-doxygen
89236086d97eSmrg# XORG_WITH_FOP           --with-fop
89246086d97eSmrg# XORG_WITH_GROFF         --with-groff
89256086d97eSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
89266086d97eSmrg#
89276086d97eSmrg# Interface to module:
89286086d97eSmrg# ENABLE_DOCS: 	  used in makefiles to conditionally generate documentation
89296086d97eSmrg# --enable-docs: 'yes' user instructs the module to generate docs
89306086d97eSmrg#		 'no' user instructs the module not to generate docs
89316086d97eSmrg# parm1:	specify the default value, yes or no.
89326086d97eSmrg#
89336086d97eSmrgAC_DEFUN([XORG_ENABLE_DOCS],[
89346086d97eSmrgdefault=$1
89356086d97eSmrgif test "x$default" = x ; then
89366086d97eSmrg  default="yes"
89376086d97eSmrgfi
89386086d97eSmrgAC_ARG_ENABLE(docs,
89396086d97eSmrg	AS_HELP_STRING([--enable-docs],
89406086d97eSmrg	   [Enable building the documentation (default: yes)]),
89416086d97eSmrg	   [build_docs=$enableval], [build_docs=$default])
89426086d97eSmrgAM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
89436086d97eSmrgAC_MSG_CHECKING([whether to build documentation])
89446086d97eSmrgAC_MSG_RESULT([$build_docs])
89456086d97eSmrg]) # XORG_ENABLE_DOCS
89466086d97eSmrg
89476086d97eSmrg# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes)
89486086d97eSmrg# ----------------
89496086d97eSmrg# Minimum version: 1.6.0
89506086d97eSmrg#
89516086d97eSmrg# This macro enables a builder to skip all developer documentation.
89526086d97eSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
89536086d97eSmrg# maximum flexibilty in controlling documentation building.
89546086d97eSmrg# Refer to:
89556086d97eSmrg# XORG_WITH_XMLTO         --with-xmlto
89566086d97eSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
89576086d97eSmrg# XORG_WITH_DOXYGEN       --with-doxygen
89586086d97eSmrg# XORG_WITH_FOP           --with-fop
89596086d97eSmrg# XORG_WITH_GROFF         --with-groff
89606086d97eSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
89616086d97eSmrg#
89626086d97eSmrg# Interface to module:
89636086d97eSmrg# ENABLE_DEVEL_DOCS:	used in makefiles to conditionally generate developer docs
89646086d97eSmrg# --enable-devel-docs:	'yes' user instructs the module to generate developer docs
89656086d97eSmrg#			'no' user instructs the module not to generate developer docs
89666086d97eSmrg# parm1:		specify the default value, yes or no.
89676086d97eSmrg#
89686086d97eSmrgAC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
89696086d97eSmrgdevel_default=$1
89706086d97eSmrgif test "x$devel_default" = x ; then
89716086d97eSmrg  devel_default="yes"
89726086d97eSmrgfi
89736086d97eSmrgAC_ARG_ENABLE(devel-docs,
89746086d97eSmrg	AS_HELP_STRING([--enable-devel-docs],
89756086d97eSmrg	   [Enable building the developer documentation (default: yes)]),
89766086d97eSmrg	   [build_devel_docs=$enableval], [build_devel_docs=$devel_default])
89776086d97eSmrgAM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
89786086d97eSmrgAC_MSG_CHECKING([whether to build developer documentation])
89796086d97eSmrgAC_MSG_RESULT([$build_devel_docs])
89806086d97eSmrg]) # XORG_ENABLE_DEVEL_DOCS
89816086d97eSmrg
89826086d97eSmrg# XORG_ENABLE_SPECS (enable_specs=yes)
89836086d97eSmrg# ----------------
89846086d97eSmrg# Minimum version: 1.6.0
89856086d97eSmrg#
89866086d97eSmrg# This macro enables a builder to skip all functional specification targets.
89876086d97eSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
89886086d97eSmrg# maximum flexibilty in controlling documentation building.
89896086d97eSmrg# Refer to:
89906086d97eSmrg# XORG_WITH_XMLTO         --with-xmlto
89916086d97eSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
89926086d97eSmrg# XORG_WITH_DOXYGEN       --with-doxygen
89936086d97eSmrg# XORG_WITH_FOP           --with-fop
89946086d97eSmrg# XORG_WITH_GROFF         --with-groff
89956086d97eSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
89966086d97eSmrg#
89976086d97eSmrg# Interface to module:
89986086d97eSmrg# ENABLE_SPECS:		used in makefiles to conditionally generate specs
89996086d97eSmrg# --enable-specs:	'yes' user instructs the module to generate specs
90006086d97eSmrg#			'no' user instructs the module not to generate specs
90016086d97eSmrg# parm1:		specify the default value, yes or no.
90026086d97eSmrg#
90036086d97eSmrgAC_DEFUN([XORG_ENABLE_SPECS],[
90046086d97eSmrgspec_default=$1
90056086d97eSmrgif test "x$spec_default" = x ; then
90066086d97eSmrg  spec_default="yes"
90076086d97eSmrgfi
90086086d97eSmrgAC_ARG_ENABLE(specs,
90096086d97eSmrg	AS_HELP_STRING([--enable-specs],
90106086d97eSmrg	   [Enable building the specs (default: yes)]),
90116086d97eSmrg	   [build_specs=$enableval], [build_specs=$spec_default])
90126086d97eSmrgAM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
90136086d97eSmrgAC_MSG_CHECKING([whether to build functional specifications])
90146086d97eSmrgAC_MSG_RESULT([$build_specs])
90156086d97eSmrg]) # XORG_ENABLE_SPECS
901671ba42d0Smrg
9017fc5a983dSmrg# XORG_CHECK_MALLOC_ZERO
9018fc5a983dSmrg# ----------------------
9019fc5a983dSmrg# Minimum version: 1.0.0
9020fc5a983dSmrg#
9021fc5a983dSmrg# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
9022fc5a983dSmrg# malloc(0) returns NULL.  Packages should add one of these cflags to
9023fc5a983dSmrg# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
9024fc5a983dSmrgAC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
9025fc5a983dSmrgAC_ARG_ENABLE(malloc0returnsnull,
902671ba42d0Smrg	AS_HELP_STRING([--enable-malloc0returnsnull],
9027fc5a983dSmrg		       [malloc(0) returns NULL (default: auto)]),
9028fc5a983dSmrg	[MALLOC_ZERO_RETURNS_NULL=$enableval],
9029fc5a983dSmrg	[MALLOC_ZERO_RETURNS_NULL=auto])
9030fc5a983dSmrg
9031fc5a983dSmrgAC_MSG_CHECKING([whether malloc(0) returns NULL])
9032fc5a983dSmrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
9033fc5a983dSmrg	AC_RUN_IFELSE([
9034fc5a983dSmrgchar *malloc();
9035fc5a983dSmrgchar *realloc();
9036fc5a983dSmrgchar *calloc();
9037fc5a983dSmrgmain() {
9038fc5a983dSmrg    char *m0, *r0, *c0, *p;
9039fc5a983dSmrg    m0 = malloc(0);
9040fc5a983dSmrg    p = malloc(10);
9041fc5a983dSmrg    r0 = realloc(p,0);
9042fc5a983dSmrg    c0 = calloc(0);
9043fc5a983dSmrg    exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1);
9044fc5a983dSmrg}],
9045fc5a983dSmrg		[MALLOC_ZERO_RETURNS_NULL=yes],
904671ba42d0Smrg		[MALLOC_ZERO_RETURNS_NULL=no],
904771ba42d0Smrg		[MALLOC_ZERO_RETURNS_NULL=yes])
9048fc5a983dSmrgfi
9049fc5a983dSmrgAC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
9050fc5a983dSmrg
9051fc5a983dSmrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
9052fc5a983dSmrg	MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
9053fc5a983dSmrg	XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
9054fc5a983dSmrg	XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
9055fc5a983dSmrgelse
9056fc5a983dSmrg	MALLOC_ZERO_CFLAGS=""
9057fc5a983dSmrg	XMALLOC_ZERO_CFLAGS=""
9058fc5a983dSmrg	XTMALLOC_ZERO_CFLAGS=""
9059fc5a983dSmrgfi
9060fc5a983dSmrg
9061fc5a983dSmrgAC_SUBST([MALLOC_ZERO_CFLAGS])
9062fc5a983dSmrgAC_SUBST([XMALLOC_ZERO_CFLAGS])
9063fc5a983dSmrgAC_SUBST([XTMALLOC_ZERO_CFLAGS])
9064fc5a983dSmrg]) # XORG_CHECK_MALLOC_ZERO
9065fc5a983dSmrg
9066fc5a983dSmrg# XORG_WITH_LINT()
9067fc5a983dSmrg# ----------------
9068fc5a983dSmrg# Minimum version: 1.1.0
9069fc5a983dSmrg#
90706086d97eSmrg# This macro enables the use of a tool that flags some suspicious and
90716086d97eSmrg# non-portable constructs (likely to be bugs) in C language source code.
90726086d97eSmrg# It will attempt to locate the tool and use appropriate options.
90736086d97eSmrg# There are various lint type tools on different platforms.
90746086d97eSmrg#
90756086d97eSmrg# Interface to module:
90766086d97eSmrg# LINT:		returns the path to the tool found on the platform
90776086d97eSmrg#		or the value set to LINT on the configure cmd line
90786086d97eSmrg#		also an Automake conditional
90796086d97eSmrg# LINT_FLAGS:	an Automake variable with appropriate flags
90806086d97eSmrg#
90816086d97eSmrg# --with-lint:	'yes' user instructs the module to use lint
90826086d97eSmrg#		'no' user instructs the module not to use lint (default)
90836086d97eSmrg#
90846086d97eSmrg# If the user sets the value of LINT, AC_PATH_PROG skips testing the path.
90856086d97eSmrg# If the user sets the value of LINT_FLAGS, they are used verbatim.
9086fc5a983dSmrg#
9087fc5a983dSmrgAC_DEFUN([XORG_WITH_LINT],[
9088fc5a983dSmrg
90896086d97eSmrgAC_ARG_VAR([LINT], [Path to a lint-style command])
90906086d97eSmrgAC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command])
909171ba42d0SmrgAC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
9092fc5a983dSmrg		[Use a lint-style source code checker (default: disabled)])],
9093fc5a983dSmrg		[use_lint=$withval], [use_lint=no])
90946086d97eSmrg
90956086d97eSmrg# Obtain platform specific info like program name and options
90966086d97eSmrg# The lint program on FreeBSD and NetBSD is different from the one on Solaris
90976086d97eSmrgcase $host_os in
90986086d97eSmrg  *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*)
90996086d97eSmrg	lint_name=splint
91006086d97eSmrg	lint_options="-badflag"
91016086d97eSmrg	;;
91026086d97eSmrg  *freebsd* | *netbsd*)
91036086d97eSmrg	lint_name=lint
91046086d97eSmrg	lint_options="-u -b"
91056086d97eSmrg	;;
91066086d97eSmrg  *solaris*)
91076086d97eSmrg	lint_name=lint
91086086d97eSmrg	lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
91096086d97eSmrg	;;
91106086d97eSmrgesac
91116086d97eSmrg
91126086d97eSmrg# Test for the presence of the program (either guessed by the code or spelled out by the user)
91136086d97eSmrgif test "x$use_lint" = x"yes" ; then
91146086d97eSmrg   AC_PATH_PROG([LINT], [$lint_name])
91156086d97eSmrg   if test "x$LINT" = "x"; then
91166086d97eSmrg        AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH])
91176086d97eSmrg   fi
91186086d97eSmrgelif test "x$use_lint" = x"no" ; then
91196086d97eSmrg   if test "x$LINT" != "x"; then
91206086d97eSmrg      AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified])
91216086d97eSmrg   fi
9122fc5a983dSmrgelse
91236086d97eSmrg   AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.])
9124fc5a983dSmrgfi
91256086d97eSmrg
91266086d97eSmrg# User supplied flags override default flags
91276086d97eSmrgif test "x$LINT_FLAGS" != "x"; then
91286086d97eSmrg   lint_options=$LINT_FLAGS
9129fc5a983dSmrgfi
9130fc5a983dSmrg
91316086d97eSmrgAC_SUBST([LINT_FLAGS],[$lint_options])
91326086d97eSmrgAM_CONDITIONAL(LINT, [test "x$LINT" != x])
9133fc5a983dSmrg
9134fc5a983dSmrg]) # XORG_WITH_LINT
9135fc5a983dSmrg
9136fc5a983dSmrg# XORG_LINT_LIBRARY(LIBNAME)
9137fc5a983dSmrg# --------------------------
9138fc5a983dSmrg# Minimum version: 1.1.0
9139fc5a983dSmrg#
9140fc5a983dSmrg# Sets up flags for building lint libraries for checking programs that call
9141fc5a983dSmrg# functions in the library.
9142fc5a983dSmrg#
91436086d97eSmrg# Interface to module:
91446086d97eSmrg# LINTLIB		- Automake variable with the name of lint library file to make
91456086d97eSmrg# MAKE_LINT_LIB		- Automake conditional
91466086d97eSmrg#
91476086d97eSmrg# --enable-lint-library:  - 'yes' user instructs the module to created a lint library
91486086d97eSmrg#			  - 'no' user instructs the module not to create a lint library (default)
9149fc5a983dSmrg
9150fc5a983dSmrgAC_DEFUN([XORG_LINT_LIBRARY],[
9151fc5a983dSmrgAC_REQUIRE([XORG_WITH_LINT])
915271ba42d0SmrgAC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
9153fc5a983dSmrg	[Create lint library (default: disabled)])],
9154fc5a983dSmrg	[make_lint_lib=$enableval], [make_lint_lib=no])
91556086d97eSmrg
91566086d97eSmrgif test "x$make_lint_lib" = x"yes" ; then
91576086d97eSmrg   LINTLIB=llib-l$1.ln
91586086d97eSmrg   if test "x$LINT" = "x"; then
91596086d97eSmrg        AC_MSG_ERROR([Cannot make lint library without --with-lint])
91606086d97eSmrg   fi
91616086d97eSmrgelif test "x$make_lint_lib" != x"no" ; then
91626086d97eSmrg   AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.])
9163fc5a983dSmrgfi
91646086d97eSmrg
9165fc5a983dSmrgAC_SUBST(LINTLIB)
9166fc5a983dSmrgAM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
9167fc5a983dSmrg
9168fc5a983dSmrg]) # XORG_LINT_LIBRARY
9169fc5a983dSmrg
9170f3561b8bSmrg# XORG_CWARNFLAGS
9171f3561b8bSmrg# ---------------
9172f3561b8bSmrg# Minimum version: 1.2.0
9173f3561b8bSmrg#
9174f3561b8bSmrg# Defines CWARNFLAGS to enable C compiler warnings.
9175f3561b8bSmrg#
9176f3561b8bSmrgAC_DEFUN([XORG_CWARNFLAGS], [
91776086d97eSmrgAC_REQUIRE([AC_PROG_CC_C99])
9178f3561b8bSmrgif  test "x$GCC" = xyes ; then
9179f3561b8bSmrg    CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
9180f3561b8bSmrg-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
91816086d97eSmrg-Wbad-function-cast -Wformat=2"
9182bd2f6fc9Smrg    case `$CC -dumpversion` in
9183f3561b8bSmrg    3.4.* | 4.*)
9184bd2f6fc9Smrg	CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
9185f3561b8bSmrg	;;
9186f3561b8bSmrg    esac
9187f3561b8bSmrgelse
9188f3561b8bSmrg    AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
9189f3561b8bSmrg    if test "x$SUNCC" = "xyes"; then
9190f3561b8bSmrg	CWARNFLAGS="-v"
9191f3561b8bSmrg    fi
9192f3561b8bSmrgfi
9193f3561b8bSmrgAC_SUBST(CWARNFLAGS)
9194f3561b8bSmrg]) # XORG_CWARNFLAGS
919571ba42d0Smrg
919671ba42d0Smrg# XORG_STRICT_OPTION
919771ba42d0Smrg# -----------------------
919871ba42d0Smrg# Minimum version: 1.3.0
919971ba42d0Smrg#
920071ba42d0Smrg# Add configure option to enable strict compilation
920171ba42d0SmrgAC_DEFUN([XORG_STRICT_OPTION], [
92026086d97eSmrg# If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89
920371ba42d0SmrgAC_REQUIRE([AC_PROG_CC_C99])
920471ba42d0SmrgAC_REQUIRE([XORG_CWARNFLAGS])
920571ba42d0Smrg
920671ba42d0SmrgAC_ARG_ENABLE(strict-compilation,
920771ba42d0Smrg			  AS_HELP_STRING([--enable-strict-compilation],
920871ba42d0Smrg			  [Enable all warnings from compiler and make them errors (default: disabled)]),
920971ba42d0Smrg			  [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
921071ba42d0Smrgif test "x$STRICT_COMPILE" = "xyes"; then
921171ba42d0Smrg	AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
921271ba42d0Smrg	AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
921371ba42d0Smrg	if test "x$GCC" = xyes ; then
921471ba42d0Smrg		STRICT_CFLAGS="-pedantic -Werror"
921571ba42d0Smrg	elif test "x$SUNCC" = "xyes"; then
921671ba42d0Smrg		STRICT_CFLAGS="-errwarn"
921771ba42d0Smrg    elif test "x$INTELCC" = "xyes"; then
921871ba42d0Smrg		STRICT_CFLAGS="-Werror"
921971ba42d0Smrg	fi
922071ba42d0Smrgfi
922171ba42d0SmrgCWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
922271ba42d0SmrgAC_SUBST([CWARNFLAGS])
922371ba42d0Smrg]) # XORG_STRICT_OPTION
922471ba42d0Smrg
922571ba42d0Smrg# XORG_DEFAULT_OPTIONS
922671ba42d0Smrg# --------------------
922771ba42d0Smrg# Minimum version: 1.3.0
922871ba42d0Smrg#
922971ba42d0Smrg# Defines default options for X.Org modules.
923071ba42d0Smrg#
923171ba42d0SmrgAC_DEFUN([XORG_DEFAULT_OPTIONS], [
92326086d97eSmrgAC_REQUIRE([AC_PROG_INSTALL])
923371ba42d0SmrgXORG_CWARNFLAGS
923471ba42d0SmrgXORG_STRICT_OPTION
923571ba42d0SmrgXORG_RELEASE_VERSION
923671ba42d0SmrgXORG_CHANGELOG
923771ba42d0SmrgXORG_INSTALL
923871ba42d0SmrgXORG_MANPAGE_SECTIONS
92396086d97eSmrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
92406086d97eSmrg    [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
924171ba42d0Smrg]) # XORG_DEFAULT_OPTIONS
924271ba42d0Smrg
924371ba42d0Smrg# XORG_INSTALL()
924471ba42d0Smrg# ----------------
924571ba42d0Smrg# Minimum version: 1.4.0
924671ba42d0Smrg#
924771ba42d0Smrg# Defines the variable INSTALL_CMD as the command to copy
924871ba42d0Smrg# INSTALL from $prefix/share/util-macros.
924971ba42d0Smrg#
925071ba42d0SmrgAC_DEFUN([XORG_INSTALL], [
925171ba42d0SmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG])
925271ba42d0Smrgmacros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
925371ba42d0SmrgINSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
925471ba42d0Smrgmv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
925571ba42d0Smrg|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
925671ba42d0Smrgecho 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
925771ba42d0SmrgAC_SUBST([INSTALL_CMD])
925871ba42d0Smrg]) # XORG_INSTALL
9259fc5a983dSmrgdnl Copyright 2005 Red Hat, Inc
9260fc5a983dSmrgdnl
9261fc5a983dSmrgdnl Permission to use, copy, modify, distribute, and sell this software and its
9262fc5a983dSmrgdnl documentation for any purpose is hereby granted without fee, provided that
9263fc5a983dSmrgdnl the above copyright notice appear in all copies and that both that
9264fc5a983dSmrgdnl copyright notice and this permission notice appear in supporting
9265fc5a983dSmrgdnl documentation.
9266fc5a983dSmrgdnl
9267fc5a983dSmrgdnl The above copyright notice and this permission notice shall be included
9268fc5a983dSmrgdnl in all copies or substantial portions of the Software.
9269fc5a983dSmrgdnl
9270fc5a983dSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
9271fc5a983dSmrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
9272fc5a983dSmrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
9273fc5a983dSmrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
9274fc5a983dSmrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
9275fc5a983dSmrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
9276fc5a983dSmrgdnl OTHER DEALINGS IN THE SOFTWARE.
9277fc5a983dSmrgdnl
9278fc5a983dSmrgdnl Except as contained in this notice, the name of the copyright holders shall
9279fc5a983dSmrgdnl not be used in advertising or otherwise to promote the sale, use or
9280fc5a983dSmrgdnl other dealings in this Software without prior written authorization
9281fc5a983dSmrgdnl from the copyright holders.
9282fc5a983dSmrgdnl
9283fc5a983dSmrg
9284fc5a983dSmrg# XORG_RELEASE_VERSION
9285fc5a983dSmrg# --------------------
92866086d97eSmrg# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
9287fc5a983dSmrg 
9288fc5a983dSmrgAC_DEFUN([XORG_RELEASE_VERSION],[
9289fc5a983dSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
9290fc5a983dSmrg		[`echo $PACKAGE_VERSION | cut -d . -f 1`],
9291fc5a983dSmrg		[Major version of this package])
9292fc5a983dSmrg	PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
9293fc5a983dSmrg	if test "x$PVM" = "x"; then
9294fc5a983dSmrg		PVM="0"
9295fc5a983dSmrg	fi
9296fc5a983dSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
9297fc5a983dSmrg		[$PVM],
9298fc5a983dSmrg		[Minor version of this package])
9299fc5a983dSmrg	PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
9300fc5a983dSmrg	if test "x$PVP" = "x"; then
9301fc5a983dSmrg		PVP="0"
9302fc5a983dSmrg	fi
9303fc5a983dSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
9304fc5a983dSmrg		[$PVP],
9305fc5a983dSmrg		[Patch version of this package])
9306fc5a983dSmrg])
9307fc5a983dSmrg
9308f3561b8bSmrg# XORG_CHANGELOG()
9309f3561b8bSmrg# ----------------
9310f3561b8bSmrg# Minimum version: 1.2.0
9311f3561b8bSmrg#
9312f3561b8bSmrg# Defines the variable CHANGELOG_CMD as the command to generate
9313f3561b8bSmrg# ChangeLog from git.
9314f3561b8bSmrg#
9315f3561b8bSmrg#
9316f3561b8bSmrgAC_DEFUN([XORG_CHANGELOG], [
931771ba42d0SmrgCHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
931871ba42d0Smrgmv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
931971ba42d0Smrg|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
9320f3561b8bSmrgecho 'git directory not found: installing possibly empty changelog.' >&2)"
9321f3561b8bSmrgAC_SUBST([CHANGELOG_CMD])
9322f3561b8bSmrg]) # XORG_CHANGELOG
9323f3561b8bSmrg
9324f3561b8bSmrgdnl Copyright 2005 Red Hat, Inc
9325f3561b8bSmrgdnl 
9326f3561b8bSmrgdnl Permission to use, copy, modify, distribute, and sell this software and its
9327f3561b8bSmrgdnl documentation for any purpose is hereby granted without fee, provided that
9328f3561b8bSmrgdnl the above copyright notice appear in all copies and that both that
9329f3561b8bSmrgdnl copyright notice and this permission notice appear in supporting
9330f3561b8bSmrgdnl documentation.
9331f3561b8bSmrgdnl 
9332f3561b8bSmrgdnl The above copyright notice and this permission notice shall be included
9333f3561b8bSmrgdnl in all copies or substantial portions of the Software.
9334f3561b8bSmrgdnl 
9335f3561b8bSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
9336f3561b8bSmrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
9337f3561b8bSmrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
9338f3561b8bSmrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
9339f3561b8bSmrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
9340f3561b8bSmrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
9341f3561b8bSmrgdnl OTHER DEALINGS IN THE SOFTWARE.
9342f3561b8bSmrgdnl 
9343f3561b8bSmrgdnl Except as contained in this notice, the name of the copyright holders shall
9344f3561b8bSmrgdnl not be used in advertising or otherwise to promote the sale, use or
9345f3561b8bSmrgdnl other dealings in this Software without prior written authorization
9346f3561b8bSmrgdnl from the copyright holders.
9347f3561b8bSmrgdnl 
9348f3561b8bSmrg
9349f3561b8bSmrg# XORG_DRIVER_CHECK_EXT()
9350f3561b8bSmrg# --------------------------
9351f3561b8bSmrg# Checks for the $1 define in xorg-server.h (from the sdk).  If it
9352f3561b8bSmrg# is defined, then add $1 to $REQUIRED_MODULES.
9353f3561b8bSmrg
9354f3561b8bSmrgAC_DEFUN([XORG_DRIVER_CHECK_EXT],[
93556086d97eSmrg	AC_REQUIRE([PKG_PROG_PKG_CONFIG])
9356f3561b8bSmrg	SAVE_CFLAGS="$CFLAGS"
93576086d97eSmrg	CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
9358f3561b8bSmrg	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
9359f3561b8bSmrg#include "xorg-server.h"
9360f3561b8bSmrg#if !defined $1
9361f3561b8bSmrg#error $1 not defined
9362f3561b8bSmrg#endif
9363f3561b8bSmrg		]])],
9364f3561b8bSmrg		[_EXT_CHECK=yes],
9365f3561b8bSmrg		[_EXT_CHECK=no])
9366f3561b8bSmrg	CFLAGS="$SAVE_CFLAGS"
9367f3561b8bSmrg	AC_MSG_CHECKING([if $1 is defined])
9368f3561b8bSmrg	AC_MSG_RESULT([$_EXT_CHECK])
9369f3561b8bSmrg	if test "$_EXT_CHECK" != no; then
9370f3561b8bSmrg		REQUIRED_MODULES="$REQUIRED_MODULES $2"
9371f3561b8bSmrg	fi
9372f3561b8bSmrg])
9373f3561b8bSmrg
9374f3561b8bSmrg# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
9375fc5a983dSmrg#
9376fc5a983dSmrg# This file is free software; the Free Software Foundation
9377fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9378fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9379fc5a983dSmrg
9380fc5a983dSmrg# AM_AUTOMAKE_VERSION(VERSION)
9381fc5a983dSmrg# ----------------------------
9382fc5a983dSmrg# Automake X.Y traces this macro to ensure aclocal.m4 has been
9383fc5a983dSmrg# generated from the m4 files accompanying Automake X.Y.
9384fc5a983dSmrg# (This private macro should not be called outside this file.)
9385fc5a983dSmrgAC_DEFUN([AM_AUTOMAKE_VERSION],
938671ba42d0Smrg[am__api_version='1.11'
9387fc5a983dSmrgdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
9388fc5a983dSmrgdnl require some minimum version.  Point them to the right macro.
93896086d97eSmrgm4_if([$1], [1.11.1], [],
9390fc5a983dSmrg      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
9391fc5a983dSmrg])
9392fc5a983dSmrg
9393fc5a983dSmrg# _AM_AUTOCONF_VERSION(VERSION)
9394fc5a983dSmrg# -----------------------------
9395fc5a983dSmrg# aclocal traces this macro to find the Autoconf version.
9396fc5a983dSmrg# This is a private macro too.  Using m4_define simplifies
9397fc5a983dSmrg# the logic in aclocal, which can simply ignore this definition.
9398fc5a983dSmrgm4_define([_AM_AUTOCONF_VERSION], [])
9399fc5a983dSmrg
9400fc5a983dSmrg# AM_SET_CURRENT_AUTOMAKE_VERSION
9401fc5a983dSmrg# -------------------------------
9402fc5a983dSmrg# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
9403f3561b8bSmrg# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
9404fc5a983dSmrgAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
94056086d97eSmrg[AM_AUTOMAKE_VERSION([1.11.1])dnl
9406fc5a983dSmrgm4_ifndef([AC_AUTOCONF_VERSION],
9407fc5a983dSmrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
9408f3561b8bSmrg_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
9409fc5a983dSmrg
9410fc5a983dSmrg# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
9411fc5a983dSmrg
9412fc5a983dSmrg# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
9413fc5a983dSmrg#
9414fc5a983dSmrg# This file is free software; the Free Software Foundation
9415fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9416fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9417fc5a983dSmrg
9418fc5a983dSmrg# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
9419fc5a983dSmrg# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
9420fc5a983dSmrg# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
9421fc5a983dSmrg#
9422fc5a983dSmrg# Of course, Automake must honor this variable whenever it calls a
9423fc5a983dSmrg# tool from the auxiliary directory.  The problem is that $srcdir (and
9424fc5a983dSmrg# therefore $ac_aux_dir as well) can be either absolute or relative,
9425fc5a983dSmrg# depending on how configure is run.  This is pretty annoying, since
9426fc5a983dSmrg# it makes $ac_aux_dir quite unusable in subdirectories: in the top
9427fc5a983dSmrg# source directory, any form will work fine, but in subdirectories a
9428fc5a983dSmrg# relative path needs to be adjusted first.
9429fc5a983dSmrg#
9430fc5a983dSmrg# $ac_aux_dir/missing
9431fc5a983dSmrg#    fails when called from a subdirectory if $ac_aux_dir is relative
9432fc5a983dSmrg# $top_srcdir/$ac_aux_dir/missing
9433fc5a983dSmrg#    fails if $ac_aux_dir is absolute,
9434fc5a983dSmrg#    fails when called from a subdirectory in a VPATH build with
9435fc5a983dSmrg#          a relative $ac_aux_dir
9436fc5a983dSmrg#
9437fc5a983dSmrg# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
9438fc5a983dSmrg# are both prefixed by $srcdir.  In an in-source build this is usually
9439fc5a983dSmrg# harmless because $srcdir is `.', but things will broke when you
9440fc5a983dSmrg# start a VPATH build or use an absolute $srcdir.
9441fc5a983dSmrg#
9442fc5a983dSmrg# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
9443fc5a983dSmrg# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
9444fc5a983dSmrg#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
9445fc5a983dSmrg# and then we would define $MISSING as
9446fc5a983dSmrg#   MISSING="\${SHELL} $am_aux_dir/missing"
9447fc5a983dSmrg# This will work as long as MISSING is not called from configure, because
9448fc5a983dSmrg# unfortunately $(top_srcdir) has no meaning in configure.
9449fc5a983dSmrg# However there are other variables, like CC, which are often used in
9450fc5a983dSmrg# configure, and could therefore not use this "fixed" $ac_aux_dir.
9451fc5a983dSmrg#
9452fc5a983dSmrg# Another solution, used here, is to always expand $ac_aux_dir to an
9453fc5a983dSmrg# absolute PATH.  The drawback is that using absolute paths prevent a
9454fc5a983dSmrg# configured tree to be moved without reconfiguration.
9455fc5a983dSmrg
9456fc5a983dSmrgAC_DEFUN([AM_AUX_DIR_EXPAND],
9457fc5a983dSmrg[dnl Rely on autoconf to set up CDPATH properly.
9458fc5a983dSmrgAC_PREREQ([2.50])dnl
9459fc5a983dSmrg# expand $ac_aux_dir to an absolute path
9460fc5a983dSmrgam_aux_dir=`cd $ac_aux_dir && pwd`
9461fc5a983dSmrg])
9462fc5a983dSmrg
9463fc5a983dSmrg# AM_CONDITIONAL                                            -*- Autoconf -*-
9464fc5a983dSmrg
946571ba42d0Smrg# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
9466fc5a983dSmrg# Free Software Foundation, Inc.
9467fc5a983dSmrg#
9468fc5a983dSmrg# This file is free software; the Free Software Foundation
9469fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9470fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9471fc5a983dSmrg
947271ba42d0Smrg# serial 9
9473fc5a983dSmrg
9474fc5a983dSmrg# AM_CONDITIONAL(NAME, SHELL-CONDITION)
9475fc5a983dSmrg# -------------------------------------
9476fc5a983dSmrg# Define a conditional.
9477fc5a983dSmrgAC_DEFUN([AM_CONDITIONAL],
9478fc5a983dSmrg[AC_PREREQ(2.52)dnl
9479fc5a983dSmrg ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
9480fc5a983dSmrg	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
9481fc5a983dSmrgAC_SUBST([$1_TRUE])dnl
9482fc5a983dSmrgAC_SUBST([$1_FALSE])dnl
9483fc5a983dSmrg_AM_SUBST_NOTMAKE([$1_TRUE])dnl
9484fc5a983dSmrg_AM_SUBST_NOTMAKE([$1_FALSE])dnl
948571ba42d0Smrgm4_define([_AM_COND_VALUE_$1], [$2])dnl
9486fc5a983dSmrgif $2; then
9487fc5a983dSmrg  $1_TRUE=
9488fc5a983dSmrg  $1_FALSE='#'
9489fc5a983dSmrgelse
9490fc5a983dSmrg  $1_TRUE='#'
9491fc5a983dSmrg  $1_FALSE=
9492fc5a983dSmrgfi
9493fc5a983dSmrgAC_CONFIG_COMMANDS_PRE(
9494fc5a983dSmrg[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
9495fc5a983dSmrg  AC_MSG_ERROR([[conditional "$1" was never defined.
9496fc5a983dSmrgUsually this means the macro was only invoked conditionally.]])
9497fc5a983dSmrgfi])])
9498fc5a983dSmrg
949971ba42d0Smrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
9500fc5a983dSmrg# Free Software Foundation, Inc.
9501fc5a983dSmrg#
9502fc5a983dSmrg# This file is free software; the Free Software Foundation
9503fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9504fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9505fc5a983dSmrg
950671ba42d0Smrg# serial 10
9507fc5a983dSmrg
9508fc5a983dSmrg# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
9509fc5a983dSmrg# written in clear, in which case automake, when reading aclocal.m4,
9510fc5a983dSmrg# will think it sees a *use*, and therefore will trigger all it's
9511fc5a983dSmrg# C support machinery.  Also note that it means that autoscan, seeing
9512fc5a983dSmrg# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
9513fc5a983dSmrg
9514fc5a983dSmrg
9515fc5a983dSmrg# _AM_DEPENDENCIES(NAME)
9516fc5a983dSmrg# ----------------------
9517fc5a983dSmrg# See how the compiler implements dependency checking.
9518fc5a983dSmrg# NAME is "CC", "CXX", "GCJ", or "OBJC".
9519fc5a983dSmrg# We try a few techniques and use that to set a single cache variable.
9520fc5a983dSmrg#
9521fc5a983dSmrg# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
9522fc5a983dSmrg# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
9523fc5a983dSmrg# dependency, and given that the user is not expected to run this macro,
9524fc5a983dSmrg# just rely on AC_PROG_CC.
9525fc5a983dSmrgAC_DEFUN([_AM_DEPENDENCIES],
9526fc5a983dSmrg[AC_REQUIRE([AM_SET_DEPDIR])dnl
9527fc5a983dSmrgAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
9528fc5a983dSmrgAC_REQUIRE([AM_MAKE_INCLUDE])dnl
9529fc5a983dSmrgAC_REQUIRE([AM_DEP_TRACK])dnl
9530fc5a983dSmrg
9531fc5a983dSmrgifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
9532fc5a983dSmrg       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
9533fc5a983dSmrg       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
9534fc5a983dSmrg       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
9535fc5a983dSmrg       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
9536fc5a983dSmrg                   [depcc="$$1"   am_compiler_list=])
9537fc5a983dSmrg
9538fc5a983dSmrgAC_CACHE_CHECK([dependency style of $depcc],
9539fc5a983dSmrg               [am_cv_$1_dependencies_compiler_type],
9540fc5a983dSmrg[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
9541fc5a983dSmrg  # We make a subdir and do the tests there.  Otherwise we can end up
9542fc5a983dSmrg  # making bogus files that we don't know about and never remove.  For
9543fc5a983dSmrg  # instance it was reported that on HP-UX the gcc test will end up
9544fc5a983dSmrg  # making a dummy file named `D' -- because `-MD' means `put the output
9545fc5a983dSmrg  # in D'.
9546fc5a983dSmrg  mkdir conftest.dir
9547fc5a983dSmrg  # Copy depcomp to subdir because otherwise we won't find it if we're
9548fc5a983dSmrg  # using a relative directory.
9549fc5a983dSmrg  cp "$am_depcomp" conftest.dir
9550fc5a983dSmrg  cd conftest.dir
9551fc5a983dSmrg  # We will build objects and dependencies in a subdirectory because
9552fc5a983dSmrg  # it helps to detect inapplicable dependency modes.  For instance
9553fc5a983dSmrg  # both Tru64's cc and ICC support -MD to output dependencies as a
9554fc5a983dSmrg  # side effect of compilation, but ICC will put the dependencies in
9555fc5a983dSmrg  # the current directory while Tru64 will put them in the object
9556fc5a983dSmrg  # directory.
9557fc5a983dSmrg  mkdir sub
9558fc5a983dSmrg
9559fc5a983dSmrg  am_cv_$1_dependencies_compiler_type=none
9560fc5a983dSmrg  if test "$am_compiler_list" = ""; then
9561fc5a983dSmrg     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
9562fc5a983dSmrg  fi
956371ba42d0Smrg  am__universal=false
956471ba42d0Smrg  m4_case([$1], [CC],
956571ba42d0Smrg    [case " $depcc " in #(
956671ba42d0Smrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
956771ba42d0Smrg     esac],
956871ba42d0Smrg    [CXX],
956971ba42d0Smrg    [case " $depcc " in #(
957071ba42d0Smrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
957171ba42d0Smrg     esac])
957271ba42d0Smrg
9573fc5a983dSmrg  for depmode in $am_compiler_list; do
9574fc5a983dSmrg    # Setup a source with many dependencies, because some compilers
9575fc5a983dSmrg    # like to wrap large dependency lists on column 80 (with \), and
9576fc5a983dSmrg    # we should not choose a depcomp mode which is confused by this.
9577fc5a983dSmrg    #
9578fc5a983dSmrg    # We need to recreate these files for each test, as the compiler may
9579fc5a983dSmrg    # overwrite some of them when testing with obscure command lines.
9580fc5a983dSmrg    # This happens at least with the AIX C compiler.
9581fc5a983dSmrg    : > sub/conftest.c
9582fc5a983dSmrg    for i in 1 2 3 4 5 6; do
9583fc5a983dSmrg      echo '#include "conftst'$i'.h"' >> sub/conftest.c
9584fc5a983dSmrg      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
9585fc5a983dSmrg      # Solaris 8's {/usr,}/bin/sh.
9586fc5a983dSmrg      touch sub/conftst$i.h
9587fc5a983dSmrg    done
9588fc5a983dSmrg    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
9589fc5a983dSmrg
959071ba42d0Smrg    # We check with `-c' and `-o' for the sake of the "dashmstdout"
959171ba42d0Smrg    # mode.  It turns out that the SunPro C++ compiler does not properly
959271ba42d0Smrg    # handle `-M -o', and we need to detect this.  Also, some Intel
959371ba42d0Smrg    # versions had trouble with output in subdirs
959471ba42d0Smrg    am__obj=sub/conftest.${OBJEXT-o}
959571ba42d0Smrg    am__minus_obj="-o $am__obj"
9596fc5a983dSmrg    case $depmode in
959771ba42d0Smrg    gcc)
959871ba42d0Smrg      # This depmode causes a compiler race in universal mode.
959971ba42d0Smrg      test "$am__universal" = false || continue
960071ba42d0Smrg      ;;
9601fc5a983dSmrg    nosideeffect)
9602fc5a983dSmrg      # after this tag, mechanisms are not by side-effect, so they'll
9603fc5a983dSmrg      # only be used when explicitly requested
9604fc5a983dSmrg      if test "x$enable_dependency_tracking" = xyes; then
9605fc5a983dSmrg	continue
9606fc5a983dSmrg      else
9607fc5a983dSmrg	break
9608fc5a983dSmrg      fi
9609fc5a983dSmrg      ;;
961071ba42d0Smrg    msvisualcpp | msvcmsys)
961171ba42d0Smrg      # This compiler won't grok `-c -o', but also, the minuso test has
961271ba42d0Smrg      # not run yet.  These depmodes are late enough in the game, and
961371ba42d0Smrg      # so weak that their functioning should not be impacted.
961471ba42d0Smrg      am__obj=conftest.${OBJEXT-o}
961571ba42d0Smrg      am__minus_obj=
961671ba42d0Smrg      ;;
9617fc5a983dSmrg    none) break ;;
9618fc5a983dSmrg    esac
9619fc5a983dSmrg    if depmode=$depmode \
962071ba42d0Smrg       source=sub/conftest.c object=$am__obj \
9621fc5a983dSmrg       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
962271ba42d0Smrg       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
9623fc5a983dSmrg         >/dev/null 2>conftest.err &&
9624fc5a983dSmrg       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
9625fc5a983dSmrg       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
962671ba42d0Smrg       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
9627fc5a983dSmrg       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
9628fc5a983dSmrg      # icc doesn't choke on unknown options, it will just issue warnings
9629fc5a983dSmrg      # or remarks (even with -Werror).  So we grep stderr for any message
9630fc5a983dSmrg      # that says an option was ignored or not supported.
9631fc5a983dSmrg      # When given -MP, icc 7.0 and 7.1 complain thusly:
9632fc5a983dSmrg      #   icc: Command line warning: ignoring option '-M'; no argument required
9633fc5a983dSmrg      # The diagnosis changed in icc 8.0:
9634fc5a983dSmrg      #   icc: Command line remark: option '-MP' not supported
9635fc5a983dSmrg      if (grep 'ignoring option' conftest.err ||
9636fc5a983dSmrg          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
9637fc5a983dSmrg        am_cv_$1_dependencies_compiler_type=$depmode
9638fc5a983dSmrg        break
9639fc5a983dSmrg      fi
9640fc5a983dSmrg    fi
9641fc5a983dSmrg  done
9642fc5a983dSmrg
9643fc5a983dSmrg  cd ..
9644fc5a983dSmrg  rm -rf conftest.dir
9645fc5a983dSmrgelse
9646fc5a983dSmrg  am_cv_$1_dependencies_compiler_type=none
9647fc5a983dSmrgfi
9648fc5a983dSmrg])
9649fc5a983dSmrgAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
9650fc5a983dSmrgAM_CONDITIONAL([am__fastdep$1], [
9651fc5a983dSmrg  test "x$enable_dependency_tracking" != xno \
9652fc5a983dSmrg  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
9653fc5a983dSmrg])
9654fc5a983dSmrg
9655fc5a983dSmrg
9656fc5a983dSmrg# AM_SET_DEPDIR
9657fc5a983dSmrg# -------------
9658fc5a983dSmrg# Choose a directory name for dependency files.
9659fc5a983dSmrg# This macro is AC_REQUIREd in _AM_DEPENDENCIES
9660fc5a983dSmrgAC_DEFUN([AM_SET_DEPDIR],
9661fc5a983dSmrg[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
9662fc5a983dSmrgAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
9663fc5a983dSmrg])
9664fc5a983dSmrg
9665fc5a983dSmrg
9666fc5a983dSmrg# AM_DEP_TRACK
9667fc5a983dSmrg# ------------
9668fc5a983dSmrgAC_DEFUN([AM_DEP_TRACK],
9669fc5a983dSmrg[AC_ARG_ENABLE(dependency-tracking,
9670fc5a983dSmrg[  --disable-dependency-tracking  speeds up one-time build
9671fc5a983dSmrg  --enable-dependency-tracking   do not reject slow dependency extractors])
9672fc5a983dSmrgif test "x$enable_dependency_tracking" != xno; then
9673fc5a983dSmrg  am_depcomp="$ac_aux_dir/depcomp"
9674fc5a983dSmrg  AMDEPBACKSLASH='\'
9675fc5a983dSmrgfi
9676fc5a983dSmrgAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
9677fc5a983dSmrgAC_SUBST([AMDEPBACKSLASH])dnl
9678fc5a983dSmrg_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
9679fc5a983dSmrg])
9680fc5a983dSmrg
9681fc5a983dSmrg# Generate code to set up dependency tracking.              -*- Autoconf -*-
9682fc5a983dSmrg
9683f3561b8bSmrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
9684fc5a983dSmrg# Free Software Foundation, Inc.
9685fc5a983dSmrg#
9686fc5a983dSmrg# This file is free software; the Free Software Foundation
9687fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9688fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9689fc5a983dSmrg
9690bd2f6fc9Smrg#serial 5
9691fc5a983dSmrg
9692fc5a983dSmrg# _AM_OUTPUT_DEPENDENCY_COMMANDS
9693fc5a983dSmrg# ------------------------------
9694fc5a983dSmrgAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
9695bd2f6fc9Smrg[{
9696bd2f6fc9Smrg  # Autoconf 2.62 quotes --file arguments for eval, but not when files
9697bd2f6fc9Smrg  # are listed without --file.  Let's play safe and only enable the eval
9698bd2f6fc9Smrg  # if we detect the quoting.
9699bd2f6fc9Smrg  case $CONFIG_FILES in
9700bd2f6fc9Smrg  *\'*) eval set x "$CONFIG_FILES" ;;
9701bd2f6fc9Smrg  *)   set x $CONFIG_FILES ;;
9702bd2f6fc9Smrg  esac
9703bd2f6fc9Smrg  shift
9704bd2f6fc9Smrg  for mf
9705bd2f6fc9Smrg  do
9706bd2f6fc9Smrg    # Strip MF so we end up with the name of the file.
9707bd2f6fc9Smrg    mf=`echo "$mf" | sed -e 's/:.*$//'`
9708bd2f6fc9Smrg    # Check whether this is an Automake generated Makefile or not.
9709bd2f6fc9Smrg    # We used to match only the files named `Makefile.in', but
9710bd2f6fc9Smrg    # some people rename them; so instead we look at the file content.
9711bd2f6fc9Smrg    # Grep'ing the first line is not enough: some people post-process
9712bd2f6fc9Smrg    # each Makefile.in and add a new line on top of each file to say so.
9713bd2f6fc9Smrg    # Grep'ing the whole file is not good either: AIX grep has a line
9714bd2f6fc9Smrg    # limit of 2048, but all sed's we know have understand at least 4000.
9715bd2f6fc9Smrg    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
9716bd2f6fc9Smrg      dirpart=`AS_DIRNAME("$mf")`
9717bd2f6fc9Smrg    else
9718bd2f6fc9Smrg      continue
9719bd2f6fc9Smrg    fi
9720bd2f6fc9Smrg    # Extract the definition of DEPDIR, am__include, and am__quote
9721bd2f6fc9Smrg    # from the Makefile without running `make'.
9722bd2f6fc9Smrg    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
9723bd2f6fc9Smrg    test -z "$DEPDIR" && continue
9724bd2f6fc9Smrg    am__include=`sed -n 's/^am__include = //p' < "$mf"`
9725bd2f6fc9Smrg    test -z "am__include" && continue
9726bd2f6fc9Smrg    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
9727bd2f6fc9Smrg    # When using ansi2knr, U may be empty or an underscore; expand it
9728bd2f6fc9Smrg    U=`sed -n 's/^U = //p' < "$mf"`
9729bd2f6fc9Smrg    # Find all dependency output files, they are included files with
9730bd2f6fc9Smrg    # $(DEPDIR) in their names.  We invoke sed twice because it is the
9731bd2f6fc9Smrg    # simplest approach to changing $(DEPDIR) to its actual value in the
9732bd2f6fc9Smrg    # expansion.
9733bd2f6fc9Smrg    for file in `sed -n "
9734bd2f6fc9Smrg      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
9735bd2f6fc9Smrg	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
9736bd2f6fc9Smrg      # Make sure the directory exists.
9737bd2f6fc9Smrg      test -f "$dirpart/$file" && continue
9738bd2f6fc9Smrg      fdir=`AS_DIRNAME(["$file"])`
9739bd2f6fc9Smrg      AS_MKDIR_P([$dirpart/$fdir])
9740bd2f6fc9Smrg      # echo "creating $dirpart/$file"
9741bd2f6fc9Smrg      echo '# dummy' > "$dirpart/$file"
9742bd2f6fc9Smrg    done
9743fc5a983dSmrg  done
9744bd2f6fc9Smrg}
9745fc5a983dSmrg])# _AM_OUTPUT_DEPENDENCY_COMMANDS
9746fc5a983dSmrg
9747fc5a983dSmrg
9748fc5a983dSmrg# AM_OUTPUT_DEPENDENCY_COMMANDS
9749fc5a983dSmrg# -----------------------------
9750fc5a983dSmrg# This macro should only be invoked once -- use via AC_REQUIRE.
9751fc5a983dSmrg#
9752fc5a983dSmrg# This code is only required when automatic dependency tracking
9753fc5a983dSmrg# is enabled.  FIXME.  This creates each `.P' file that we will
9754fc5a983dSmrg# need in order to bootstrap the dependency handling code.
9755fc5a983dSmrgAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
9756fc5a983dSmrg[AC_CONFIG_COMMANDS([depfiles],
9757fc5a983dSmrg     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
9758fc5a983dSmrg     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
9759fc5a983dSmrg])
9760fc5a983dSmrg
9761fc5a983dSmrg# Do all the work for Automake.                             -*- Autoconf -*-
9762fc5a983dSmrg
9763fc5a983dSmrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
976471ba42d0Smrg# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
9765fc5a983dSmrg#
9766fc5a983dSmrg# This file is free software; the Free Software Foundation
9767fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9768fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9769fc5a983dSmrg
977071ba42d0Smrg# serial 16
9771fc5a983dSmrg
9772fc5a983dSmrg# This macro actually does too much.  Some checks are only needed if
9773fc5a983dSmrg# your package does certain things.  But this isn't really a big deal.
9774fc5a983dSmrg
9775fc5a983dSmrg# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
9776fc5a983dSmrg# AM_INIT_AUTOMAKE([OPTIONS])
9777fc5a983dSmrg# -----------------------------------------------
9778fc5a983dSmrg# The call with PACKAGE and VERSION arguments is the old style
9779fc5a983dSmrg# call (pre autoconf-2.50), which is being phased out.  PACKAGE
9780fc5a983dSmrg# and VERSION should now be passed to AC_INIT and removed from
9781fc5a983dSmrg# the call to AM_INIT_AUTOMAKE.
9782fc5a983dSmrg# We support both call styles for the transition.  After
9783fc5a983dSmrg# the next Automake release, Autoconf can make the AC_INIT
9784fc5a983dSmrg# arguments mandatory, and then we can depend on a new Autoconf
9785fc5a983dSmrg# release and drop the old call support.
9786fc5a983dSmrgAC_DEFUN([AM_INIT_AUTOMAKE],
978771ba42d0Smrg[AC_PREREQ([2.62])dnl
9788fc5a983dSmrgdnl Autoconf wants to disallow AM_ names.  We explicitly allow
9789fc5a983dSmrgdnl the ones we care about.
9790fc5a983dSmrgm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
9791fc5a983dSmrgAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
9792fc5a983dSmrgAC_REQUIRE([AC_PROG_INSTALL])dnl
9793fc5a983dSmrgif test "`cd $srcdir && pwd`" != "`pwd`"; then
9794fc5a983dSmrg  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
9795fc5a983dSmrg  # is not polluted with repeated "-I."
9796fc5a983dSmrg  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
9797fc5a983dSmrg  # test to see if srcdir already configured
9798fc5a983dSmrg  if test -f $srcdir/config.status; then
9799fc5a983dSmrg    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
9800fc5a983dSmrg  fi
9801fc5a983dSmrgfi
9802fc5a983dSmrg
9803fc5a983dSmrg# test whether we have cygpath
9804fc5a983dSmrgif test -z "$CYGPATH_W"; then
9805fc5a983dSmrg  if (cygpath --version) >/dev/null 2>/dev/null; then
9806fc5a983dSmrg    CYGPATH_W='cygpath -w'
9807fc5a983dSmrg  else
9808fc5a983dSmrg    CYGPATH_W=echo
9809fc5a983dSmrg  fi
9810fc5a983dSmrgfi
9811fc5a983dSmrgAC_SUBST([CYGPATH_W])
9812fc5a983dSmrg
9813fc5a983dSmrg# Define the identity of the package.
9814fc5a983dSmrgdnl Distinguish between old-style and new-style calls.
9815fc5a983dSmrgm4_ifval([$2],
9816fc5a983dSmrg[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
9817fc5a983dSmrg AC_SUBST([PACKAGE], [$1])dnl
9818fc5a983dSmrg AC_SUBST([VERSION], [$2])],
9819fc5a983dSmrg[_AM_SET_OPTIONS([$1])dnl
9820fc5a983dSmrgdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
9821fc5a983dSmrgm4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
9822fc5a983dSmrg  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
9823fc5a983dSmrg AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
9824fc5a983dSmrg AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
9825fc5a983dSmrg
9826fc5a983dSmrg_AM_IF_OPTION([no-define],,
9827fc5a983dSmrg[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
9828fc5a983dSmrg AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
9829fc5a983dSmrg
9830fc5a983dSmrg# Some tools Automake needs.
9831fc5a983dSmrgAC_REQUIRE([AM_SANITY_CHECK])dnl
9832fc5a983dSmrgAC_REQUIRE([AC_ARG_PROGRAM])dnl
9833fc5a983dSmrgAM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
9834fc5a983dSmrgAM_MISSING_PROG(AUTOCONF, autoconf)
9835fc5a983dSmrgAM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
9836fc5a983dSmrgAM_MISSING_PROG(AUTOHEADER, autoheader)
9837fc5a983dSmrgAM_MISSING_PROG(MAKEINFO, makeinfo)
983871ba42d0SmrgAC_REQUIRE([AM_PROG_INSTALL_SH])dnl
983971ba42d0SmrgAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
9840fc5a983dSmrgAC_REQUIRE([AM_PROG_MKDIR_P])dnl
9841fc5a983dSmrg# We need awk for the "check" target.  The system "awk" is bad on
9842fc5a983dSmrg# some platforms.
9843fc5a983dSmrgAC_REQUIRE([AC_PROG_AWK])dnl
9844fc5a983dSmrgAC_REQUIRE([AC_PROG_MAKE_SET])dnl
9845fc5a983dSmrgAC_REQUIRE([AM_SET_LEADING_DOT])dnl
9846fc5a983dSmrg_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
984771ba42d0Smrg	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
984871ba42d0Smrg			     [_AM_PROG_TAR([v7])])])
9849fc5a983dSmrg_AM_IF_OPTION([no-dependencies],,
9850fc5a983dSmrg[AC_PROVIDE_IFELSE([AC_PROG_CC],
985171ba42d0Smrg		  [_AM_DEPENDENCIES(CC)],
985271ba42d0Smrg		  [define([AC_PROG_CC],
985371ba42d0Smrg			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
9854fc5a983dSmrgAC_PROVIDE_IFELSE([AC_PROG_CXX],
985571ba42d0Smrg		  [_AM_DEPENDENCIES(CXX)],
985671ba42d0Smrg		  [define([AC_PROG_CXX],
985771ba42d0Smrg			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
9858fc5a983dSmrgAC_PROVIDE_IFELSE([AC_PROG_OBJC],
985971ba42d0Smrg		  [_AM_DEPENDENCIES(OBJC)],
986071ba42d0Smrg		  [define([AC_PROG_OBJC],
986171ba42d0Smrg			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
9862fc5a983dSmrg])
986371ba42d0Smrg_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
986471ba42d0Smrgdnl The `parallel-tests' driver may need to know about EXEEXT, so add the
986571ba42d0Smrgdnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
986671ba42d0Smrgdnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
986771ba42d0SmrgAC_CONFIG_COMMANDS_PRE(dnl
986871ba42d0Smrg[m4_provide_if([_AM_COMPILER_EXEEXT],
986971ba42d0Smrg  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
9870fc5a983dSmrg])
9871fc5a983dSmrg
987271ba42d0Smrgdnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
987371ba42d0Smrgdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
987471ba42d0Smrgdnl mangled by Autoconf and run in a shell conditional statement.
987571ba42d0Smrgm4_define([_AC_COMPILER_EXEEXT],
987671ba42d0Smrgm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
987771ba42d0Smrg
9878fc5a983dSmrg
9879fc5a983dSmrg# When config.status generates a header, we must update the stamp-h file.
9880fc5a983dSmrg# This file resides in the same directory as the config header
9881fc5a983dSmrg# that is generated.  The stamp files are numbered to have different names.
9882fc5a983dSmrg
9883fc5a983dSmrg# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
9884fc5a983dSmrg# loop where config.status creates the headers, so we can generate
9885fc5a983dSmrg# our stamp files there.
9886fc5a983dSmrgAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
9887fc5a983dSmrg[# Compute $1's index in $config_headers.
9888fc5a983dSmrg_am_arg=$1
9889fc5a983dSmrg_am_stamp_count=1
9890fc5a983dSmrgfor _am_header in $config_headers :; do
9891fc5a983dSmrg  case $_am_header in
9892fc5a983dSmrg    $_am_arg | $_am_arg:* )
9893fc5a983dSmrg      break ;;
9894fc5a983dSmrg    * )
9895fc5a983dSmrg      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
9896fc5a983dSmrg  esac
9897fc5a983dSmrgdone
9898fc5a983dSmrgecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
9899fc5a983dSmrg
990071ba42d0Smrg# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
9901fc5a983dSmrg#
9902fc5a983dSmrg# This file is free software; the Free Software Foundation
9903fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9904fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9905fc5a983dSmrg
9906fc5a983dSmrg# AM_PROG_INSTALL_SH
9907fc5a983dSmrg# ------------------
9908fc5a983dSmrg# Define $install_sh.
9909fc5a983dSmrgAC_DEFUN([AM_PROG_INSTALL_SH],
9910fc5a983dSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
991171ba42d0Smrgif test x"${install_sh}" != xset; then
991271ba42d0Smrg  case $am_aux_dir in
991371ba42d0Smrg  *\ * | *\	*)
991471ba42d0Smrg    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
991571ba42d0Smrg  *)
991671ba42d0Smrg    install_sh="\${SHELL} $am_aux_dir/install-sh"
991771ba42d0Smrg  esac
991871ba42d0Smrgfi
9919fc5a983dSmrgAC_SUBST(install_sh)])
9920fc5a983dSmrg
9921fc5a983dSmrg# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
9922fc5a983dSmrg#
9923fc5a983dSmrg# This file is free software; the Free Software Foundation
9924fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9925fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9926fc5a983dSmrg
9927fc5a983dSmrg# serial 2
9928fc5a983dSmrg
9929fc5a983dSmrg# Check whether the underlying file-system supports filenames
9930fc5a983dSmrg# with a leading dot.  For instance MS-DOS doesn't.
9931fc5a983dSmrgAC_DEFUN([AM_SET_LEADING_DOT],
9932fc5a983dSmrg[rm -rf .tst 2>/dev/null
9933fc5a983dSmrgmkdir .tst 2>/dev/null
9934fc5a983dSmrgif test -d .tst; then
9935fc5a983dSmrg  am__leading_dot=.
9936fc5a983dSmrgelse
9937fc5a983dSmrg  am__leading_dot=_
9938fc5a983dSmrgfi
9939fc5a983dSmrgrmdir .tst 2>/dev/null
9940fc5a983dSmrgAC_SUBST([am__leading_dot])])
9941fc5a983dSmrg
9942fc5a983dSmrg# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
9943fc5a983dSmrg# From Jim Meyering
9944fc5a983dSmrg
994571ba42d0Smrg# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
9946fc5a983dSmrg# Free Software Foundation, Inc.
9947fc5a983dSmrg#
9948fc5a983dSmrg# This file is free software; the Free Software Foundation
9949fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9950fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9951fc5a983dSmrg
995271ba42d0Smrg# serial 5
9953fc5a983dSmrg
995471ba42d0Smrg# AM_MAINTAINER_MODE([DEFAULT-MODE])
995571ba42d0Smrg# ----------------------------------
995671ba42d0Smrg# Control maintainer-specific portions of Makefiles.
995771ba42d0Smrg# Default is to disable them, unless `enable' is passed literally.
995871ba42d0Smrg# For symmetry, `disable' may be passed as well.  Anyway, the user
995971ba42d0Smrg# can override the default with the --enable/--disable switch.
9960fc5a983dSmrgAC_DEFUN([AM_MAINTAINER_MODE],
996171ba42d0Smrg[m4_case(m4_default([$1], [disable]),
996271ba42d0Smrg       [enable], [m4_define([am_maintainer_other], [disable])],
996371ba42d0Smrg       [disable], [m4_define([am_maintainer_other], [enable])],
996471ba42d0Smrg       [m4_define([am_maintainer_other], [enable])
996571ba42d0Smrg        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
996671ba42d0SmrgAC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
996771ba42d0Smrg  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
996871ba42d0Smrg  AC_ARG_ENABLE([maintainer-mode],
996971ba42d0Smrg[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
9970fc5a983dSmrg			  (and sometimes confusing) to the casual installer],
997171ba42d0Smrg      [USE_MAINTAINER_MODE=$enableval],
997271ba42d0Smrg      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
9973fc5a983dSmrg  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
997471ba42d0Smrg  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
9975fc5a983dSmrg  MAINT=$MAINTAINER_MODE_TRUE
997671ba42d0Smrg  AC_SUBST([MAINT])dnl
9977fc5a983dSmrg]
9978fc5a983dSmrg)
9979fc5a983dSmrg
9980fc5a983dSmrgAU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
9981fc5a983dSmrg
9982fc5a983dSmrg# Check to see how 'make' treats includes.	            -*- Autoconf -*-
9983fc5a983dSmrg
998471ba42d0Smrg# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
9985fc5a983dSmrg#
9986fc5a983dSmrg# This file is free software; the Free Software Foundation
9987fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
9988fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
9989fc5a983dSmrg
999071ba42d0Smrg# serial 4
9991fc5a983dSmrg
9992fc5a983dSmrg# AM_MAKE_INCLUDE()
9993fc5a983dSmrg# -----------------
9994fc5a983dSmrg# Check to see how make treats includes.
9995fc5a983dSmrgAC_DEFUN([AM_MAKE_INCLUDE],
9996fc5a983dSmrg[am_make=${MAKE-make}
9997fc5a983dSmrgcat > confinc << 'END'
9998fc5a983dSmrgam__doit:
999971ba42d0Smrg	@echo this is the am__doit target
10000fc5a983dSmrg.PHONY: am__doit
10001fc5a983dSmrgEND
10002fc5a983dSmrg# If we don't find an include directive, just comment out the code.
10003fc5a983dSmrgAC_MSG_CHECKING([for style of include used by $am_make])
10004fc5a983dSmrgam__include="#"
10005fc5a983dSmrgam__quote=
10006fc5a983dSmrg_am_result=none
10007fc5a983dSmrg# First try GNU make style include.
10008fc5a983dSmrgecho "include confinc" > confmf
1000971ba42d0Smrg# Ignore all kinds of additional output from `make'.
1001071ba42d0Smrgcase `$am_make -s -f confmf 2> /dev/null` in #(
1001171ba42d0Smrg*the\ am__doit\ target*)
1001271ba42d0Smrg  am__include=include
1001371ba42d0Smrg  am__quote=
1001471ba42d0Smrg  _am_result=GNU
1001571ba42d0Smrg  ;;
1001671ba42d0Smrgesac
10017fc5a983dSmrg# Now try BSD make style include.
10018fc5a983dSmrgif test "$am__include" = "#"; then
10019fc5a983dSmrg   echo '.include "confinc"' > confmf
1002071ba42d0Smrg   case `$am_make -s -f confmf 2> /dev/null` in #(
1002171ba42d0Smrg   *the\ am__doit\ target*)
1002271ba42d0Smrg     am__include=.include
1002371ba42d0Smrg     am__quote="\""
1002471ba42d0Smrg     _am_result=BSD
1002571ba42d0Smrg     ;;
1002671ba42d0Smrg   esac
10027fc5a983dSmrgfi
10028fc5a983dSmrgAC_SUBST([am__include])
10029fc5a983dSmrgAC_SUBST([am__quote])
10030fc5a983dSmrgAC_MSG_RESULT([$_am_result])
10031fc5a983dSmrgrm -f confinc confmf
10032fc5a983dSmrg])
10033fc5a983dSmrg
10034fc5a983dSmrg# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
10035fc5a983dSmrg
1003671ba42d0Smrg# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
10037fc5a983dSmrg# Free Software Foundation, Inc.
10038fc5a983dSmrg#
10039fc5a983dSmrg# This file is free software; the Free Software Foundation
10040fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
10041fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
10042fc5a983dSmrg
1004371ba42d0Smrg# serial 6
10044fc5a983dSmrg
10045fc5a983dSmrg# AM_MISSING_PROG(NAME, PROGRAM)
10046fc5a983dSmrg# ------------------------------
10047fc5a983dSmrgAC_DEFUN([AM_MISSING_PROG],
10048fc5a983dSmrg[AC_REQUIRE([AM_MISSING_HAS_RUN])
10049fc5a983dSmrg$1=${$1-"${am_missing_run}$2"}
10050fc5a983dSmrgAC_SUBST($1)])
10051fc5a983dSmrg
10052fc5a983dSmrg
10053fc5a983dSmrg# AM_MISSING_HAS_RUN
10054fc5a983dSmrg# ------------------
10055fc5a983dSmrg# Define MISSING if not defined so far and test if it supports --run.
10056fc5a983dSmrg# If it does, set am_missing_run to use it, otherwise, to nothing.
10057fc5a983dSmrgAC_DEFUN([AM_MISSING_HAS_RUN],
10058fc5a983dSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
10059fc5a983dSmrgAC_REQUIRE_AUX_FILE([missing])dnl
1006071ba42d0Smrgif test x"${MISSING+set}" != xset; then
1006171ba42d0Smrg  case $am_aux_dir in
1006271ba42d0Smrg  *\ * | *\	*)
1006371ba42d0Smrg    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
1006471ba42d0Smrg  *)
1006571ba42d0Smrg    MISSING="\${SHELL} $am_aux_dir/missing" ;;
1006671ba42d0Smrg  esac
1006771ba42d0Smrgfi
10068fc5a983dSmrg# Use eval to expand $SHELL
10069fc5a983dSmrgif eval "$MISSING --run true"; then
10070fc5a983dSmrg  am_missing_run="$MISSING --run "
10071fc5a983dSmrgelse
10072fc5a983dSmrg  am_missing_run=
10073fc5a983dSmrg  AC_MSG_WARN([`missing' script is too old or missing])
10074fc5a983dSmrgfi
10075fc5a983dSmrg])
10076fc5a983dSmrg
10077fc5a983dSmrg# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
10078fc5a983dSmrg#
10079fc5a983dSmrg# This file is free software; the Free Software Foundation
10080fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
10081fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
10082fc5a983dSmrg
10083fc5a983dSmrg# AM_PROG_MKDIR_P
10084fc5a983dSmrg# ---------------
10085fc5a983dSmrg# Check for `mkdir -p'.
10086fc5a983dSmrgAC_DEFUN([AM_PROG_MKDIR_P],
10087fc5a983dSmrg[AC_PREREQ([2.60])dnl
10088fc5a983dSmrgAC_REQUIRE([AC_PROG_MKDIR_P])dnl
10089fc5a983dSmrgdnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
10090fc5a983dSmrgdnl while keeping a definition of mkdir_p for backward compatibility.
10091fc5a983dSmrgdnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
10092fc5a983dSmrgdnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
10093fc5a983dSmrgdnl Makefile.ins that do not define MKDIR_P, so we do our own
10094fc5a983dSmrgdnl adjustment using top_builddir (which is defined more often than
10095fc5a983dSmrgdnl MKDIR_P).
10096fc5a983dSmrgAC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
10097fc5a983dSmrgcase $mkdir_p in
10098fc5a983dSmrg  [[\\/$]]* | ?:[[\\/]]*) ;;
10099fc5a983dSmrg  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
10100fc5a983dSmrgesac
10101fc5a983dSmrg])
10102fc5a983dSmrg
10103fc5a983dSmrg# Helper functions for option handling.                     -*- Autoconf -*-
10104fc5a983dSmrg
10105f3561b8bSmrg# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
10106fc5a983dSmrg#
10107fc5a983dSmrg# This file is free software; the Free Software Foundation
10108fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
10109fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
10110fc5a983dSmrg
10111f3561b8bSmrg# serial 4
10112fc5a983dSmrg
10113fc5a983dSmrg# _AM_MANGLE_OPTION(NAME)
10114fc5a983dSmrg# -----------------------
10115fc5a983dSmrgAC_DEFUN([_AM_MANGLE_OPTION],
10116fc5a983dSmrg[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
10117fc5a983dSmrg
10118fc5a983dSmrg# _AM_SET_OPTION(NAME)
10119fc5a983dSmrg# ------------------------------
10120fc5a983dSmrg# Set option NAME.  Presently that only means defining a flag for this option.
10121fc5a983dSmrgAC_DEFUN([_AM_SET_OPTION],
10122fc5a983dSmrg[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
10123fc5a983dSmrg
10124fc5a983dSmrg# _AM_SET_OPTIONS(OPTIONS)
10125fc5a983dSmrg# ----------------------------------
10126fc5a983dSmrg# OPTIONS is a space-separated list of Automake options.
10127fc5a983dSmrgAC_DEFUN([_AM_SET_OPTIONS],
10128f3561b8bSmrg[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
10129fc5a983dSmrg
10130fc5a983dSmrg# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
10131fc5a983dSmrg# -------------------------------------------
10132fc5a983dSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
10133fc5a983dSmrgAC_DEFUN([_AM_IF_OPTION],
10134fc5a983dSmrg[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
10135fc5a983dSmrg
10136fc5a983dSmrg# Check to make sure that the build environment is sane.    -*- Autoconf -*-
10137fc5a983dSmrg
1013871ba42d0Smrg# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
10139fc5a983dSmrg# Free Software Foundation, Inc.
10140fc5a983dSmrg#
10141fc5a983dSmrg# This file is free software; the Free Software Foundation
10142fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
10143fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
10144fc5a983dSmrg
1014571ba42d0Smrg# serial 5
10146fc5a983dSmrg
10147fc5a983dSmrg# AM_SANITY_CHECK
10148fc5a983dSmrg# ---------------
10149fc5a983dSmrgAC_DEFUN([AM_SANITY_CHECK],
10150fc5a983dSmrg[AC_MSG_CHECKING([whether build environment is sane])
10151fc5a983dSmrg# Just in case
10152fc5a983dSmrgsleep 1
10153fc5a983dSmrgecho timestamp > conftest.file
1015471ba42d0Smrg# Reject unsafe characters in $srcdir or the absolute working directory
1015571ba42d0Smrg# name.  Accept space and tab only in the latter.
1015671ba42d0Smrgam_lf='
1015771ba42d0Smrg'
1015871ba42d0Smrgcase `pwd` in
1015971ba42d0Smrg  *[[\\\"\#\$\&\'\`$am_lf]]*)
1016071ba42d0Smrg    AC_MSG_ERROR([unsafe absolute working directory name]);;
1016171ba42d0Smrgesac
1016271ba42d0Smrgcase $srcdir in
1016371ba42d0Smrg  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
1016471ba42d0Smrg    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
1016571ba42d0Smrgesac
1016671ba42d0Smrg
10167fc5a983dSmrg# Do `set' in a subshell so we don't clobber the current shell's
10168fc5a983dSmrg# arguments.  Must try -L first in case configure is actually a
10169fc5a983dSmrg# symlink; some systems play weird games with the mod time of symlinks
10170fc5a983dSmrg# (eg FreeBSD returns the mod time of the symlink's containing
10171fc5a983dSmrg# directory).
10172fc5a983dSmrgif (
1017371ba42d0Smrg   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
10174fc5a983dSmrg   if test "$[*]" = "X"; then
10175fc5a983dSmrg      # -L didn't work.
1017671ba42d0Smrg      set X `ls -t "$srcdir/configure" conftest.file`
10177fc5a983dSmrg   fi
10178fc5a983dSmrg   rm -f conftest.file
10179fc5a983dSmrg   if test "$[*]" != "X $srcdir/configure conftest.file" \
10180fc5a983dSmrg      && test "$[*]" != "X conftest.file $srcdir/configure"; then
10181fc5a983dSmrg
10182fc5a983dSmrg      # If neither matched, then we have a broken ls.  This can happen
10183fc5a983dSmrg      # if, for instance, CONFIG_SHELL is bash and it inherits a
10184fc5a983dSmrg      # broken ls alias from the environment.  This has actually
10185fc5a983dSmrg      # happened.  Such a system could not be considered "sane".
10186fc5a983dSmrg      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
10187fc5a983dSmrgalias in your environment])
10188fc5a983dSmrg   fi
10189fc5a983dSmrg
10190fc5a983dSmrg   test "$[2]" = conftest.file
10191fc5a983dSmrg   )
10192fc5a983dSmrgthen
10193fc5a983dSmrg   # Ok.
10194fc5a983dSmrg   :
10195fc5a983dSmrgelse
10196fc5a983dSmrg   AC_MSG_ERROR([newly created file is older than distributed files!
10197fc5a983dSmrgCheck your system clock])
10198fc5a983dSmrgfi
10199fc5a983dSmrgAC_MSG_RESULT(yes)])
10200fc5a983dSmrg
1020171ba42d0Smrg# Copyright (C) 2009  Free Software Foundation, Inc.
1020271ba42d0Smrg#
1020371ba42d0Smrg# This file is free software; the Free Software Foundation
1020471ba42d0Smrg# gives unlimited permission to copy and/or distribute it,
1020571ba42d0Smrg# with or without modifications, as long as this notice is preserved.
1020671ba42d0Smrg
1020771ba42d0Smrg# serial 1
1020871ba42d0Smrg
1020971ba42d0Smrg# AM_SILENT_RULES([DEFAULT])
1021071ba42d0Smrg# --------------------------
1021171ba42d0Smrg# Enable less verbose build rules; with the default set to DEFAULT
1021271ba42d0Smrg# (`yes' being less verbose, `no' or empty being verbose).
1021371ba42d0SmrgAC_DEFUN([AM_SILENT_RULES],
1021471ba42d0Smrg[AC_ARG_ENABLE([silent-rules],
1021571ba42d0Smrg[  --enable-silent-rules          less verbose build output (undo: `make V=1')
1021671ba42d0Smrg  --disable-silent-rules         verbose build output (undo: `make V=0')])
1021771ba42d0Smrgcase $enable_silent_rules in
1021871ba42d0Smrgyes) AM_DEFAULT_VERBOSITY=0;;
1021971ba42d0Smrgno)  AM_DEFAULT_VERBOSITY=1;;
1022071ba42d0Smrg*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
1022171ba42d0Smrgesac
1022271ba42d0SmrgAC_SUBST([AM_DEFAULT_VERBOSITY])dnl
1022371ba42d0SmrgAM_BACKSLASH='\'
1022471ba42d0SmrgAC_SUBST([AM_BACKSLASH])dnl
1022571ba42d0Smrg_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
1022671ba42d0Smrg])
1022771ba42d0Smrg
10228fc5a983dSmrg# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
10229fc5a983dSmrg#
10230fc5a983dSmrg# This file is free software; the Free Software Foundation
10231fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
10232fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
10233fc5a983dSmrg
10234fc5a983dSmrg# AM_PROG_INSTALL_STRIP
10235fc5a983dSmrg# ---------------------
10236fc5a983dSmrg# One issue with vendor `install' (even GNU) is that you can't
10237fc5a983dSmrg# specify the program used to strip binaries.  This is especially
10238fc5a983dSmrg# annoying in cross-compiling environments, where the build's strip
10239fc5a983dSmrg# is unlikely to handle the host's binaries.
10240fc5a983dSmrg# Fortunately install-sh will honor a STRIPPROG variable, so we
10241fc5a983dSmrg# always use install-sh in `make install-strip', and initialize
10242fc5a983dSmrg# STRIPPROG with the value of the STRIP variable (set by the user).
10243fc5a983dSmrgAC_DEFUN([AM_PROG_INSTALL_STRIP],
10244fc5a983dSmrg[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
10245fc5a983dSmrg# Installed binaries are usually stripped using `strip' when the user
10246fc5a983dSmrg# run `make install-strip'.  However `strip' might not be the right
10247fc5a983dSmrg# tool to use in cross-compilation environments, therefore Automake
10248fc5a983dSmrg# will honor the `STRIP' environment variable to overrule this program.
10249fc5a983dSmrgdnl Don't test for $cross_compiling = yes, because it might be `maybe'.
10250fc5a983dSmrgif test "$cross_compiling" != no; then
10251fc5a983dSmrg  AC_CHECK_TOOL([STRIP], [strip], :)
10252fc5a983dSmrgfi
10253fc5a983dSmrgINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
10254fc5a983dSmrgAC_SUBST([INSTALL_STRIP_PROGRAM])])
10255fc5a983dSmrg
1025671ba42d0Smrg# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
10257fc5a983dSmrg#
10258fc5a983dSmrg# This file is free software; the Free Software Foundation
10259fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
10260fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
10261fc5a983dSmrg
1026271ba42d0Smrg# serial 2
1026371ba42d0Smrg
10264fc5a983dSmrg# _AM_SUBST_NOTMAKE(VARIABLE)
10265fc5a983dSmrg# ---------------------------
10266fc5a983dSmrg# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
10267fc5a983dSmrg# This macro is traced by Automake.
10268fc5a983dSmrgAC_DEFUN([_AM_SUBST_NOTMAKE])
10269fc5a983dSmrg
1027071ba42d0Smrg# AM_SUBST_NOTMAKE(VARIABLE)
1027171ba42d0Smrg# ---------------------------
1027271ba42d0Smrg# Public sister of _AM_SUBST_NOTMAKE.
1027371ba42d0SmrgAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
1027471ba42d0Smrg
10275fc5a983dSmrg# Check how to create a tarball.                            -*- Autoconf -*-
10276fc5a983dSmrg
10277fc5a983dSmrg# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
10278fc5a983dSmrg#
10279fc5a983dSmrg# This file is free software; the Free Software Foundation
10280fc5a983dSmrg# gives unlimited permission to copy and/or distribute it,
10281fc5a983dSmrg# with or without modifications, as long as this notice is preserved.
10282fc5a983dSmrg
10283fc5a983dSmrg# serial 2
10284fc5a983dSmrg
10285fc5a983dSmrg# _AM_PROG_TAR(FORMAT)
10286fc5a983dSmrg# --------------------
10287fc5a983dSmrg# Check how to create a tarball in format FORMAT.
10288fc5a983dSmrg# FORMAT should be one of `v7', `ustar', or `pax'.
10289fc5a983dSmrg#
10290fc5a983dSmrg# Substitute a variable $(am__tar) that is a command
10291fc5a983dSmrg# writing to stdout a FORMAT-tarball containing the directory
10292fc5a983dSmrg# $tardir.
10293fc5a983dSmrg#     tardir=directory && $(am__tar) > result.tar
10294fc5a983dSmrg#
10295fc5a983dSmrg# Substitute a variable $(am__untar) that extract such
10296fc5a983dSmrg# a tarball read from stdin.
10297fc5a983dSmrg#     $(am__untar) < result.tar
10298fc5a983dSmrgAC_DEFUN([_AM_PROG_TAR],
10299fc5a983dSmrg[# Always define AMTAR for backward compatibility.
10300fc5a983dSmrgAM_MISSING_PROG([AMTAR], [tar])
10301fc5a983dSmrgm4_if([$1], [v7],
10302fc5a983dSmrg     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
10303fc5a983dSmrg     [m4_case([$1], [ustar],, [pax],,
10304fc5a983dSmrg              [m4_fatal([Unknown tar format])])
10305fc5a983dSmrgAC_MSG_CHECKING([how to create a $1 tar archive])
10306fc5a983dSmrg# Loop over all known methods to create a tar archive until one works.
10307fc5a983dSmrg_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
10308fc5a983dSmrg_am_tools=${am_cv_prog_tar_$1-$_am_tools}
10309fc5a983dSmrg# Do not fold the above two line into one, because Tru64 sh and
10310fc5a983dSmrg# Solaris sh will not grok spaces in the rhs of `-'.
10311fc5a983dSmrgfor _am_tool in $_am_tools
10312fc5a983dSmrgdo
10313fc5a983dSmrg  case $_am_tool in
10314fc5a983dSmrg  gnutar)
10315fc5a983dSmrg    for _am_tar in tar gnutar gtar;
10316fc5a983dSmrg    do
10317fc5a983dSmrg      AM_RUN_LOG([$_am_tar --version]) && break
10318fc5a983dSmrg    done
10319fc5a983dSmrg    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
10320fc5a983dSmrg    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
10321fc5a983dSmrg    am__untar="$_am_tar -xf -"
10322fc5a983dSmrg    ;;
10323fc5a983dSmrg  plaintar)
10324fc5a983dSmrg    # Must skip GNU tar: if it does not support --format= it doesn't create
10325fc5a983dSmrg    # ustar tarball either.
10326fc5a983dSmrg    (tar --version) >/dev/null 2>&1 && continue
10327fc5a983dSmrg    am__tar='tar chf - "$$tardir"'
10328fc5a983dSmrg    am__tar_='tar chf - "$tardir"'
10329fc5a983dSmrg    am__untar='tar xf -'
10330fc5a983dSmrg    ;;
10331fc5a983dSmrg  pax)
10332fc5a983dSmrg    am__tar='pax -L -x $1 -w "$$tardir"'
10333fc5a983dSmrg    am__tar_='pax -L -x $1 -w "$tardir"'
10334fc5a983dSmrg    am__untar='pax -r'
10335fc5a983dSmrg    ;;
10336fc5a983dSmrg  cpio)
10337fc5a983dSmrg    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
10338fc5a983dSmrg    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
10339fc5a983dSmrg    am__untar='cpio -i -H $1 -d'
10340fc5a983dSmrg    ;;
10341fc5a983dSmrg  none)
10342fc5a983dSmrg    am__tar=false
10343fc5a983dSmrg    am__tar_=false
10344fc5a983dSmrg    am__untar=false
10345fc5a983dSmrg    ;;
10346fc5a983dSmrg  esac
10347fc5a983dSmrg
10348fc5a983dSmrg  # If the value was cached, stop now.  We just wanted to have am__tar
10349fc5a983dSmrg  # and am__untar set.
10350fc5a983dSmrg  test -n "${am_cv_prog_tar_$1}" && break
10351fc5a983dSmrg
10352fc5a983dSmrg  # tar/untar a dummy directory, and stop if the command works
10353fc5a983dSmrg  rm -rf conftest.dir
10354fc5a983dSmrg  mkdir conftest.dir
10355fc5a983dSmrg  echo GrepMe > conftest.dir/file
10356fc5a983dSmrg  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
10357fc5a983dSmrg  rm -rf conftest.dir
10358fc5a983dSmrg  if test -s conftest.tar; then
10359fc5a983dSmrg    AM_RUN_LOG([$am__untar <conftest.tar])
10360fc5a983dSmrg    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
10361fc5a983dSmrg  fi
10362fc5a983dSmrgdone
10363fc5a983dSmrgrm -rf conftest.dir
10364fc5a983dSmrg
10365fc5a983dSmrgAC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
10366fc5a983dSmrgAC_MSG_RESULT([$am_cv_prog_tar_$1])])
10367fc5a983dSmrgAC_SUBST([am__tar])
10368fc5a983dSmrgAC_SUBST([am__untar])
10369fc5a983dSmrg]) # _AM_PROG_TAR
10370fc5a983dSmrg
10371