aclocal.m4 revision 170d5fdc
1f29dbc25Smrg# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
2f29dbc25Smrg
3f29dbc25Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4f29dbc25Smrg# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
5f29dbc25Smrg# This file is free software; the Free Software Foundation
6f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
7f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
8f29dbc25Smrg
9f29dbc25Smrg# This program is distributed in the hope that it will be useful,
10f29dbc25Smrg# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11f29dbc25Smrg# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12f29dbc25Smrg# PARTICULAR PURPOSE.
13f29dbc25Smrg
14f29dbc25Smrgm4_ifndef([AC_AUTOCONF_VERSION],
15f29dbc25Smrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16170d5fdcSmrgm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
17170d5fdcSmrg[m4_warning([this file was generated for autoconf 2.67.
18f29dbc25SmrgYou have another version of autoconf.  It may work, but is not guaranteed to.
19f29dbc25SmrgIf you have problems, you may need to regenerate the build system entirely.
20f29dbc25SmrgTo do so, use the procedure documented by the package, typically `autoreconf'.])])
21f29dbc25Smrg
22f29dbc25Smrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
23f29dbc25Smrg#
24f29dbc25Smrg#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
25f29dbc25Smrg#                 2006, 2007, 2008 Free Software Foundation, Inc.
26f29dbc25Smrg#   Written by Gordon Matzigkeit, 1996
27f29dbc25Smrg#
28f29dbc25Smrg# This file is free software; the Free Software Foundation gives
29f29dbc25Smrg# unlimited permission to copy and/or distribute it, with or without
30f29dbc25Smrg# modifications, as long as this notice is preserved.
31f29dbc25Smrg
32f29dbc25Smrgm4_define([_LT_COPYING], [dnl
33f29dbc25Smrg#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
34f29dbc25Smrg#                 2006, 2007, 2008 Free Software Foundation, Inc.
35f29dbc25Smrg#   Written by Gordon Matzigkeit, 1996
36f29dbc25Smrg#
37f29dbc25Smrg#   This file is part of GNU Libtool.
38f29dbc25Smrg#
39f29dbc25Smrg# GNU Libtool is free software; you can redistribute it and/or
40f29dbc25Smrg# modify it under the terms of the GNU General Public License as
41f29dbc25Smrg# published by the Free Software Foundation; either version 2 of
42f29dbc25Smrg# the License, or (at your option) any later version.
43f29dbc25Smrg#
44f29dbc25Smrg# As a special exception to the GNU General Public License,
45f29dbc25Smrg# if you distribute this file as part of a program or library that
46f29dbc25Smrg# is built using GNU Libtool, you may include this file under the
47f29dbc25Smrg# same distribution terms that you use for the rest of that program.
48f29dbc25Smrg#
49f29dbc25Smrg# GNU Libtool is distributed in the hope that it will be useful,
50f29dbc25Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
51f29dbc25Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
52f29dbc25Smrg# GNU General Public License for more details.
53f29dbc25Smrg#
54f29dbc25Smrg# You should have received a copy of the GNU General Public License
55f29dbc25Smrg# along with GNU Libtool; see the file COPYING.  If not, a copy
56f29dbc25Smrg# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
57f29dbc25Smrg# obtained by writing to the Free Software Foundation, Inc.,
58f29dbc25Smrg# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
59f29dbc25Smrg])
60f29dbc25Smrg
61f29dbc25Smrg# serial 56 LT_INIT
62f29dbc25Smrg
63f29dbc25Smrg
64f29dbc25Smrg# LT_PREREQ(VERSION)
65f29dbc25Smrg# ------------------
66f29dbc25Smrg# Complain and exit if this libtool version is less that VERSION.
67f29dbc25Smrgm4_defun([LT_PREREQ],
68f29dbc25Smrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
69f29dbc25Smrg       [m4_default([$3],
70f29dbc25Smrg		   [m4_fatal([Libtool version $1 or higher is required],
71f29dbc25Smrg		             63)])],
72f29dbc25Smrg       [$2])])
73f29dbc25Smrg
74f29dbc25Smrg
75f29dbc25Smrg# _LT_CHECK_BUILDDIR
76f29dbc25Smrg# ------------------
77f29dbc25Smrg# Complain if the absolute build directory name contains unusual characters
78f29dbc25Smrgm4_defun([_LT_CHECK_BUILDDIR],
79f29dbc25Smrg[case `pwd` in
80f29dbc25Smrg  *\ * | *\	*)
81f29dbc25Smrg    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
82f29dbc25Smrgesac
83f29dbc25Smrg])
84f29dbc25Smrg
85f29dbc25Smrg
86f29dbc25Smrg# LT_INIT([OPTIONS])
87f29dbc25Smrg# ------------------
88f29dbc25SmrgAC_DEFUN([LT_INIT],
89f29dbc25Smrg[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
90f29dbc25SmrgAC_BEFORE([$0], [LT_LANG])dnl
91f29dbc25SmrgAC_BEFORE([$0], [LT_OUTPUT])dnl
92f29dbc25SmrgAC_BEFORE([$0], [LTDL_INIT])dnl
93f29dbc25Smrgm4_require([_LT_CHECK_BUILDDIR])dnl
94f29dbc25Smrg
95f29dbc25Smrgdnl Autoconf doesn't catch unexpanded LT_ macros by default:
96f29dbc25Smrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
97f29dbc25Smrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
98f29dbc25Smrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
99f29dbc25Smrgdnl unless we require an AC_DEFUNed macro:
100f29dbc25SmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl
101f29dbc25SmrgAC_REQUIRE([LTSUGAR_VERSION])dnl
102f29dbc25SmrgAC_REQUIRE([LTVERSION_VERSION])dnl
103f29dbc25SmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl
104f29dbc25Smrgm4_require([_LT_PROG_LTMAIN])dnl
105f29dbc25Smrg
106f29dbc25Smrgdnl Parse OPTIONS
107f29dbc25Smrg_LT_SET_OPTIONS([$0], [$1])
108f29dbc25Smrg
109f29dbc25Smrg# This can be used to rebuild libtool when needed
110f29dbc25SmrgLIBTOOL_DEPS="$ltmain"
111f29dbc25Smrg
112f29dbc25Smrg# Always use our own libtool.
113f29dbc25SmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool'
114f29dbc25SmrgAC_SUBST(LIBTOOL)dnl
115f29dbc25Smrg
116f29dbc25Smrg_LT_SETUP
117f29dbc25Smrg
118f29dbc25Smrg# Only expand once:
119f29dbc25Smrgm4_define([LT_INIT])
120f29dbc25Smrg])# LT_INIT
121f29dbc25Smrg
122f29dbc25Smrg# Old names:
123f29dbc25SmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
124f29dbc25SmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
125f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
126f29dbc25Smrgdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
127f29dbc25Smrgdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
128f29dbc25Smrg
129f29dbc25Smrg
130f29dbc25Smrg# _LT_CC_BASENAME(CC)
131f29dbc25Smrg# -------------------
132f29dbc25Smrg# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
133f29dbc25Smrgm4_defun([_LT_CC_BASENAME],
134f29dbc25Smrg[for cc_temp in $1""; do
135f29dbc25Smrg  case $cc_temp in
136f29dbc25Smrg    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
137f29dbc25Smrg    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
138f29dbc25Smrg    \-*) ;;
139f29dbc25Smrg    *) break;;
140f29dbc25Smrg  esac
141f29dbc25Smrgdone
142f29dbc25Smrgcc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
143f29dbc25Smrg])
144f29dbc25Smrg
145f29dbc25Smrg
146f29dbc25Smrg# _LT_FILEUTILS_DEFAULTS
147f29dbc25Smrg# ----------------------
148f29dbc25Smrg# It is okay to use these file commands and assume they have been set
149f29dbc25Smrg# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
150f29dbc25Smrgm4_defun([_LT_FILEUTILS_DEFAULTS],
151f29dbc25Smrg[: ${CP="cp -f"}
152f29dbc25Smrg: ${MV="mv -f"}
153f29dbc25Smrg: ${RM="rm -f"}
154f29dbc25Smrg])# _LT_FILEUTILS_DEFAULTS
155f29dbc25Smrg
156f29dbc25Smrg
157f29dbc25Smrg# _LT_SETUP
158f29dbc25Smrg# ---------
159f29dbc25Smrgm4_defun([_LT_SETUP],
160f29dbc25Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
161f29dbc25SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
162f29dbc25Smrg_LT_DECL([], [host_alias], [0], [The host system])dnl
163f29dbc25Smrg_LT_DECL([], [host], [0])dnl
164f29dbc25Smrg_LT_DECL([], [host_os], [0])dnl
165f29dbc25Smrgdnl
166f29dbc25Smrg_LT_DECL([], [build_alias], [0], [The build system])dnl
167f29dbc25Smrg_LT_DECL([], [build], [0])dnl
168f29dbc25Smrg_LT_DECL([], [build_os], [0])dnl
169f29dbc25Smrgdnl
170f29dbc25SmrgAC_REQUIRE([AC_PROG_CC])dnl
171f29dbc25SmrgAC_REQUIRE([LT_PATH_LD])dnl
172f29dbc25SmrgAC_REQUIRE([LT_PATH_NM])dnl
173f29dbc25Smrgdnl
174f29dbc25SmrgAC_REQUIRE([AC_PROG_LN_S])dnl
175f29dbc25Smrgtest -z "$LN_S" && LN_S="ln -s"
176f29dbc25Smrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
177f29dbc25Smrgdnl
178f29dbc25SmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl
179f29dbc25Smrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
180f29dbc25Smrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
181f29dbc25Smrgdnl
182f29dbc25Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
183f29dbc25Smrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
184f29dbc25Smrgm4_require([_LT_CMD_RELOAD])dnl
185f29dbc25Smrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl
186f29dbc25Smrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl
187f29dbc25Smrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
188f29dbc25Smrg
189f29dbc25Smrg_LT_CONFIG_LIBTOOL_INIT([
190f29dbc25Smrg# See if we are running on zsh, and set the options which allow our
191f29dbc25Smrg# commands through without removal of \ escapes INIT.
192f29dbc25Smrgif test -n "\${ZSH_VERSION+set}" ; then
193f29dbc25Smrg   setopt NO_GLOB_SUBST
194f29dbc25Smrgfi
195f29dbc25Smrg])
196f29dbc25Smrgif test -n "${ZSH_VERSION+set}" ; then
197f29dbc25Smrg   setopt NO_GLOB_SUBST
198f29dbc25Smrgfi
199f29dbc25Smrg
200f29dbc25Smrg_LT_CHECK_OBJDIR
201f29dbc25Smrg
202f29dbc25Smrgm4_require([_LT_TAG_COMPILER])dnl
203f29dbc25Smrg_LT_PROG_ECHO_BACKSLASH
204f29dbc25Smrg
205f29dbc25Smrgcase $host_os in
206f29dbc25Smrgaix3*)
207f29dbc25Smrg  # AIX sometimes has problems with the GCC collect2 program.  For some
208f29dbc25Smrg  # reason, if we set the COLLECT_NAMES environment variable, the problems
209f29dbc25Smrg  # vanish in a puff of smoke.
210f29dbc25Smrg  if test "X${COLLECT_NAMES+set}" != Xset; then
211f29dbc25Smrg    COLLECT_NAMES=
212f29dbc25Smrg    export COLLECT_NAMES
213f29dbc25Smrg  fi
214f29dbc25Smrg  ;;
215f29dbc25Smrgesac
216f29dbc25Smrg
217f29dbc25Smrg# Sed substitution that helps us do robust quoting.  It backslashifies
218f29dbc25Smrg# metacharacters that are still active within double-quoted strings.
219f29dbc25Smrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
220f29dbc25Smrg
221f29dbc25Smrg# Same as above, but do not quote variable references.
222f29dbc25Smrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
223f29dbc25Smrg
224f29dbc25Smrg# Sed substitution to delay expansion of an escaped shell variable in a
225f29dbc25Smrg# double_quote_subst'ed string.
226f29dbc25Smrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
227f29dbc25Smrg
228f29dbc25Smrg# Sed substitution to delay expansion of an escaped single quote.
229f29dbc25Smrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
230f29dbc25Smrg
231f29dbc25Smrg# Sed substitution to avoid accidental globbing in evaled expressions
232f29dbc25Smrgno_glob_subst='s/\*/\\\*/g'
233f29dbc25Smrg
234f29dbc25Smrg# Global variables:
235f29dbc25Smrgofile=libtool
236f29dbc25Smrgcan_build_shared=yes
237f29dbc25Smrg
238f29dbc25Smrg# All known linkers require a `.a' archive for static linking (except MSVC,
239f29dbc25Smrg# which needs '.lib').
240f29dbc25Smrglibext=a
241f29dbc25Smrg
242f29dbc25Smrgwith_gnu_ld="$lt_cv_prog_gnu_ld"
243f29dbc25Smrg
244f29dbc25Smrgold_CC="$CC"
245f29dbc25Smrgold_CFLAGS="$CFLAGS"
246f29dbc25Smrg
247f29dbc25Smrg# Set sane defaults for various variables
248f29dbc25Smrgtest -z "$CC" && CC=cc
249f29dbc25Smrgtest -z "$LTCC" && LTCC=$CC
250f29dbc25Smrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
251f29dbc25Smrgtest -z "$LD" && LD=ld
252f29dbc25Smrgtest -z "$ac_objext" && ac_objext=o
253f29dbc25Smrg
254f29dbc25Smrg_LT_CC_BASENAME([$compiler])
255f29dbc25Smrg
256f29dbc25Smrg# Only perform the check for file, if the check method requires it
257f29dbc25Smrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file
258f29dbc25Smrgcase $deplibs_check_method in
259f29dbc25Smrgfile_magic*)
260f29dbc25Smrg  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
261f29dbc25Smrg    _LT_PATH_MAGIC
262f29dbc25Smrg  fi
263f29dbc25Smrg  ;;
264f29dbc25Smrgesac
265f29dbc25Smrg
266f29dbc25Smrg# Use C for the default configuration in the libtool script
267f29dbc25SmrgLT_SUPPORTED_TAG([CC])
268f29dbc25Smrg_LT_LANG_C_CONFIG
269f29dbc25Smrg_LT_LANG_DEFAULT_CONFIG
270f29dbc25Smrg_LT_CONFIG_COMMANDS
271f29dbc25Smrg])# _LT_SETUP
272f29dbc25Smrg
273f29dbc25Smrg
274f29dbc25Smrg# _LT_PROG_LTMAIN
275f29dbc25Smrg# ---------------
276f29dbc25Smrg# Note that this code is called both from `configure', and `config.status'
277f29dbc25Smrg# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
278f29dbc25Smrg# `config.status' has no value for ac_aux_dir unless we are using Automake,
279f29dbc25Smrg# so we pass a copy along to make sure it has a sensible value anyway.
280f29dbc25Smrgm4_defun([_LT_PROG_LTMAIN],
281f29dbc25Smrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
282f29dbc25Smrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
283f29dbc25Smrgltmain="$ac_aux_dir/ltmain.sh"
284f29dbc25Smrg])# _LT_PROG_LTMAIN
285f29dbc25Smrg
286f29dbc25Smrg
287f29dbc25Smrg
288f29dbc25Smrg# So that we can recreate a full libtool script including additional
289f29dbc25Smrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
290f29dbc25Smrg# in macros and then make a single call at the end using the `libtool'
291f29dbc25Smrg# label.
292f29dbc25Smrg
293f29dbc25Smrg
294f29dbc25Smrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
295f29dbc25Smrg# ----------------------------------------
296f29dbc25Smrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
297f29dbc25Smrgm4_define([_LT_CONFIG_LIBTOOL_INIT],
298f29dbc25Smrg[m4_ifval([$1],
299f29dbc25Smrg          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
300f29dbc25Smrg                     [$1
301f29dbc25Smrg])])])
302f29dbc25Smrg
303f29dbc25Smrg# Initialize.
304f29dbc25Smrgm4_define([_LT_OUTPUT_LIBTOOL_INIT])
305f29dbc25Smrg
306f29dbc25Smrg
307f29dbc25Smrg# _LT_CONFIG_LIBTOOL([COMMANDS])
308f29dbc25Smrg# ------------------------------
309f29dbc25Smrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
310f29dbc25Smrgm4_define([_LT_CONFIG_LIBTOOL],
311f29dbc25Smrg[m4_ifval([$1],
312f29dbc25Smrg          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
313f29dbc25Smrg                     [$1
314f29dbc25Smrg])])])
315f29dbc25Smrg
316f29dbc25Smrg# Initialize.
317f29dbc25Smrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
318f29dbc25Smrg
319f29dbc25Smrg
320f29dbc25Smrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
321f29dbc25Smrg# -----------------------------------------------------
322f29dbc25Smrgm4_defun([_LT_CONFIG_SAVE_COMMANDS],
323f29dbc25Smrg[_LT_CONFIG_LIBTOOL([$1])
324f29dbc25Smrg_LT_CONFIG_LIBTOOL_INIT([$2])
325f29dbc25Smrg])
326f29dbc25Smrg
327f29dbc25Smrg
328f29dbc25Smrg# _LT_FORMAT_COMMENT([COMMENT])
329f29dbc25Smrg# -----------------------------
330f29dbc25Smrg# Add leading comment marks to the start of each line, and a trailing
331f29dbc25Smrg# full-stop to the whole comment if one is not present already.
332f29dbc25Smrgm4_define([_LT_FORMAT_COMMENT],
333f29dbc25Smrg[m4_ifval([$1], [
334f29dbc25Smrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
335f29dbc25Smrg              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
336f29dbc25Smrg)])
337f29dbc25Smrg
338f29dbc25Smrg
339f29dbc25Smrg
340f29dbc25Smrg
341f29dbc25Smrg
342f29dbc25Smrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
343f29dbc25Smrg# -------------------------------------------------------------------
344f29dbc25Smrg# CONFIGNAME is the name given to the value in the libtool script.
345f29dbc25Smrg# VARNAME is the (base) name used in the configure script.
346f29dbc25Smrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
347f29dbc25Smrg# VARNAME.  Any other value will be used directly.
348f29dbc25Smrgm4_define([_LT_DECL],
349f29dbc25Smrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
350f29dbc25Smrg    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
351f29dbc25Smrg	[m4_ifval([$1], [$1], [$2])])
352f29dbc25Smrg    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
353f29dbc25Smrg    m4_ifval([$4],
354f29dbc25Smrg	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
355f29dbc25Smrg    lt_dict_add_subkey([lt_decl_dict], [$2],
356f29dbc25Smrg	[tagged?], [m4_ifval([$5], [yes], [no])])])
357f29dbc25Smrg])
358f29dbc25Smrg
359f29dbc25Smrg
360f29dbc25Smrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
361f29dbc25Smrg# --------------------------------------------------------
362f29dbc25Smrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
363f29dbc25Smrg
364f29dbc25Smrg
365f29dbc25Smrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
366f29dbc25Smrg# ------------------------------------------------
367f29dbc25Smrgm4_define([lt_decl_tag_varnames],
368f29dbc25Smrg[_lt_decl_filter([tagged?], [yes], $@)])
369f29dbc25Smrg
370f29dbc25Smrg
371f29dbc25Smrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
372f29dbc25Smrg# ---------------------------------------------------------
373f29dbc25Smrgm4_define([_lt_decl_filter],
374f29dbc25Smrg[m4_case([$#],
375f29dbc25Smrg  [0], [m4_fatal([$0: too few arguments: $#])],
376f29dbc25Smrg  [1], [m4_fatal([$0: too few arguments: $#: $1])],
377f29dbc25Smrg  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
378f29dbc25Smrg  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
379f29dbc25Smrg  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
380f29dbc25Smrg])
381f29dbc25Smrg
382f29dbc25Smrg
383f29dbc25Smrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
384f29dbc25Smrg# --------------------------------------------------
385f29dbc25Smrgm4_define([lt_decl_quote_varnames],
386f29dbc25Smrg[_lt_decl_filter([value], [1], $@)])
387f29dbc25Smrg
388f29dbc25Smrg
389f29dbc25Smrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
390f29dbc25Smrg# ---------------------------------------------------
391f29dbc25Smrgm4_define([lt_decl_dquote_varnames],
392f29dbc25Smrg[_lt_decl_filter([value], [2], $@)])
393f29dbc25Smrg
394f29dbc25Smrg
395f29dbc25Smrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
396f29dbc25Smrg# ---------------------------------------------------
397f29dbc25Smrgm4_define([lt_decl_varnames_tagged],
398f29dbc25Smrg[m4_assert([$# <= 2])dnl
399f29dbc25Smrg_$0(m4_quote(m4_default([$1], [[, ]])),
400f29dbc25Smrg    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
401f29dbc25Smrg    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
402f29dbc25Smrgm4_define([_lt_decl_varnames_tagged],
403f29dbc25Smrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
404f29dbc25Smrg
405f29dbc25Smrg
406f29dbc25Smrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
407f29dbc25Smrg# ------------------------------------------------
408f29dbc25Smrgm4_define([lt_decl_all_varnames],
409f29dbc25Smrg[_$0(m4_quote(m4_default([$1], [[, ]])),
410f29dbc25Smrg     m4_if([$2], [],
411f29dbc25Smrg	   m4_quote(lt_decl_varnames),
412f29dbc25Smrg	m4_quote(m4_shift($@))))[]dnl
413f29dbc25Smrg])
414f29dbc25Smrgm4_define([_lt_decl_all_varnames],
415f29dbc25Smrg[lt_join($@, lt_decl_varnames_tagged([$1],
416f29dbc25Smrg			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
417f29dbc25Smrg])
418f29dbc25Smrg
419f29dbc25Smrg
420f29dbc25Smrg# _LT_CONFIG_STATUS_DECLARE([VARNAME])
421f29dbc25Smrg# ------------------------------------
422f29dbc25Smrg# Quote a variable value, and forward it to `config.status' so that its
423f29dbc25Smrg# declaration there will have the same value as in `configure'.  VARNAME
424f29dbc25Smrg# must have a single quote delimited value for this to work.
425f29dbc25Smrgm4_define([_LT_CONFIG_STATUS_DECLARE],
426f29dbc25Smrg[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
427f29dbc25Smrg
428f29dbc25Smrg
429f29dbc25Smrg# _LT_CONFIG_STATUS_DECLARATIONS
430f29dbc25Smrg# ------------------------------
431f29dbc25Smrg# We delimit libtool config variables with single quotes, so when
432f29dbc25Smrg# we write them to config.status, we have to be sure to quote all
433f29dbc25Smrg# embedded single quotes properly.  In configure, this macro expands
434f29dbc25Smrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
435f29dbc25Smrg#
436f29dbc25Smrg#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
437f29dbc25Smrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
438f29dbc25Smrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
439f29dbc25Smrg    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
440f29dbc25Smrg
441f29dbc25Smrg
442f29dbc25Smrg# _LT_LIBTOOL_TAGS
443f29dbc25Smrg# ----------------
444f29dbc25Smrg# Output comment and list of tags supported by the script
445f29dbc25Smrgm4_defun([_LT_LIBTOOL_TAGS],
446f29dbc25Smrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
447f29dbc25Smrgavailable_tags="_LT_TAGS"dnl
448f29dbc25Smrg])
449f29dbc25Smrg
450f29dbc25Smrg
451f29dbc25Smrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
452f29dbc25Smrg# -----------------------------------
453f29dbc25Smrg# Extract the dictionary values for VARNAME (optionally with TAG) and
454f29dbc25Smrg# expand to a commented shell variable setting:
455f29dbc25Smrg#
456f29dbc25Smrg#    # Some comment about what VAR is for.
457f29dbc25Smrg#    visible_name=$lt_internal_name
458f29dbc25Smrgm4_define([_LT_LIBTOOL_DECLARE],
459f29dbc25Smrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
460f29dbc25Smrg					   [description])))[]dnl
461f29dbc25Smrgm4_pushdef([_libtool_name],
462f29dbc25Smrg    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
463f29dbc25Smrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
464f29dbc25Smrg    [0], [_libtool_name=[$]$1],
465f29dbc25Smrg    [1], [_libtool_name=$lt_[]$1],
466f29dbc25Smrg    [2], [_libtool_name=$lt_[]$1],
467f29dbc25Smrg    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
468f29dbc25Smrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
469f29dbc25Smrg])
470f29dbc25Smrg
471f29dbc25Smrg
472f29dbc25Smrg# _LT_LIBTOOL_CONFIG_VARS
473f29dbc25Smrg# -----------------------
474f29dbc25Smrg# Produce commented declarations of non-tagged libtool config variables
475f29dbc25Smrg# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
476f29dbc25Smrg# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
477f29dbc25Smrg# section) are produced by _LT_LIBTOOL_TAG_VARS.
478f29dbc25Smrgm4_defun([_LT_LIBTOOL_CONFIG_VARS],
479f29dbc25Smrg[m4_foreach([_lt_var],
480f29dbc25Smrg    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
481f29dbc25Smrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
482f29dbc25Smrg
483f29dbc25Smrg
484f29dbc25Smrg# _LT_LIBTOOL_TAG_VARS(TAG)
485f29dbc25Smrg# -------------------------
486f29dbc25Smrgm4_define([_LT_LIBTOOL_TAG_VARS],
487f29dbc25Smrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
488f29dbc25Smrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
489f29dbc25Smrg
490f29dbc25Smrg
491f29dbc25Smrg# _LT_TAGVAR(VARNAME, [TAGNAME])
492f29dbc25Smrg# ------------------------------
493f29dbc25Smrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
494f29dbc25Smrg
495f29dbc25Smrg
496f29dbc25Smrg# _LT_CONFIG_COMMANDS
497f29dbc25Smrg# -------------------
498f29dbc25Smrg# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
499f29dbc25Smrg# variables for single and double quote escaping we saved from calls
500f29dbc25Smrg# to _LT_DECL, we can put quote escaped variables declarations
501f29dbc25Smrg# into `config.status', and then the shell code to quote escape them in
502f29dbc25Smrg# for loops in `config.status'.  Finally, any additional code accumulated
503f29dbc25Smrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
504f29dbc25Smrgm4_defun([_LT_CONFIG_COMMANDS],
505f29dbc25Smrg[AC_PROVIDE_IFELSE([LT_OUTPUT],
506f29dbc25Smrg	dnl If the libtool generation code has been placed in $CONFIG_LT,
507f29dbc25Smrg	dnl instead of duplicating it all over again into config.status,
508f29dbc25Smrg	dnl then we will have config.status run $CONFIG_LT later, so it
509f29dbc25Smrg	dnl needs to know what name is stored there:
510f29dbc25Smrg        [AC_CONFIG_COMMANDS([libtool],
511f29dbc25Smrg            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
512f29dbc25Smrg    dnl If the libtool generation code is destined for config.status,
513f29dbc25Smrg    dnl expand the accumulated commands and init code now:
514f29dbc25Smrg    [AC_CONFIG_COMMANDS([libtool],
515f29dbc25Smrg        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
516f29dbc25Smrg])#_LT_CONFIG_COMMANDS
517f29dbc25Smrg
518f29dbc25Smrg
519f29dbc25Smrg# Initialize.
520f29dbc25Smrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
521f29dbc25Smrg[
522f29dbc25Smrg
523f29dbc25Smrg# The HP-UX ksh and POSIX shell print the target directory to stdout
524f29dbc25Smrg# if CDPATH is set.
525f29dbc25Smrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
526f29dbc25Smrg
527f29dbc25Smrgsed_quote_subst='$sed_quote_subst'
528f29dbc25Smrgdouble_quote_subst='$double_quote_subst'
529f29dbc25Smrgdelay_variable_subst='$delay_variable_subst'
530f29dbc25Smrg_LT_CONFIG_STATUS_DECLARATIONS
531f29dbc25SmrgLTCC='$LTCC'
532f29dbc25SmrgLTCFLAGS='$LTCFLAGS'
533f29dbc25Smrgcompiler='$compiler_DEFAULT'
534f29dbc25Smrg
535f29dbc25Smrg# Quote evaled strings.
536f29dbc25Smrgfor var in lt_decl_all_varnames([[ \
537f29dbc25Smrg]], lt_decl_quote_varnames); do
538f29dbc25Smrg    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
539f29dbc25Smrg    *[[\\\\\\\`\\"\\\$]]*)
540f29dbc25Smrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
541f29dbc25Smrg      ;;
542f29dbc25Smrg    *)
543f29dbc25Smrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
544f29dbc25Smrg      ;;
545f29dbc25Smrg    esac
546f29dbc25Smrgdone
547f29dbc25Smrg
548f29dbc25Smrg# Double-quote double-evaled strings.
549f29dbc25Smrgfor var in lt_decl_all_varnames([[ \
550f29dbc25Smrg]], lt_decl_dquote_varnames); do
551f29dbc25Smrg    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
552f29dbc25Smrg    *[[\\\\\\\`\\"\\\$]]*)
553f29dbc25Smrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
554f29dbc25Smrg      ;;
555f29dbc25Smrg    *)
556f29dbc25Smrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
557f29dbc25Smrg      ;;
558f29dbc25Smrg    esac
559f29dbc25Smrgdone
560f29dbc25Smrg
561f29dbc25Smrg# Fix-up fallback echo if it was mangled by the above quoting rules.
562f29dbc25Smrgcase \$lt_ECHO in
563f29dbc25Smrg*'\\\[$]0 --fallback-echo"')dnl "
564f29dbc25Smrg  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
565f29dbc25Smrg  ;;
566f29dbc25Smrgesac
567f29dbc25Smrg
568f29dbc25Smrg_LT_OUTPUT_LIBTOOL_INIT
569f29dbc25Smrg])
570f29dbc25Smrg
571f29dbc25Smrg
572f29dbc25Smrg# LT_OUTPUT
573f29dbc25Smrg# ---------
574f29dbc25Smrg# This macro allows early generation of the libtool script (before
575f29dbc25Smrg# AC_OUTPUT is called), incase it is used in configure for compilation
576f29dbc25Smrg# tests.
577f29dbc25SmrgAC_DEFUN([LT_OUTPUT],
578f29dbc25Smrg[: ${CONFIG_LT=./config.lt}
579f29dbc25SmrgAC_MSG_NOTICE([creating $CONFIG_LT])
580f29dbc25Smrgcat >"$CONFIG_LT" <<_LTEOF
581f29dbc25Smrg#! $SHELL
582f29dbc25Smrg# Generated by $as_me.
583f29dbc25Smrg# Run this file to recreate a libtool stub with the current configuration.
584f29dbc25Smrg
585f29dbc25Smrglt_cl_silent=false
586f29dbc25SmrgSHELL=\${CONFIG_SHELL-$SHELL}
587f29dbc25Smrg_LTEOF
588f29dbc25Smrg
589f29dbc25Smrgcat >>"$CONFIG_LT" <<\_LTEOF
590f29dbc25SmrgAS_SHELL_SANITIZE
591f29dbc25Smrg_AS_PREPARE
592f29dbc25Smrg
593f29dbc25Smrgexec AS_MESSAGE_FD>&1
594f29dbc25Smrgexec AS_MESSAGE_LOG_FD>>config.log
595f29dbc25Smrg{
596f29dbc25Smrg  echo
597f29dbc25Smrg  AS_BOX([Running $as_me.])
598f29dbc25Smrg} >&AS_MESSAGE_LOG_FD
599f29dbc25Smrg
600f29dbc25Smrglt_cl_help="\
601f29dbc25Smrg\`$as_me' creates a local libtool stub from the current configuration,
602f29dbc25Smrgfor use in further configure time tests before the real libtool is
603f29dbc25Smrggenerated.
604f29dbc25Smrg
605f29dbc25SmrgUsage: $[0] [[OPTIONS]]
606f29dbc25Smrg
607f29dbc25Smrg  -h, --help      print this help, then exit
608f29dbc25Smrg  -V, --version   print version number, then exit
609f29dbc25Smrg  -q, --quiet     do not print progress messages
610f29dbc25Smrg  -d, --debug     don't remove temporary files
611f29dbc25Smrg
612f29dbc25SmrgReport bugs to <bug-libtool@gnu.org>."
613f29dbc25Smrg
614f29dbc25Smrglt_cl_version="\
615f29dbc25Smrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
616f29dbc25Smrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
617f29dbc25Smrgconfigured by $[0], generated by m4_PACKAGE_STRING.
618f29dbc25Smrg
619f29dbc25SmrgCopyright (C) 2008 Free Software Foundation, Inc.
620f29dbc25SmrgThis config.lt script is free software; the Free Software Foundation
621f29dbc25Smrggives unlimited permision to copy, distribute and modify it."
622f29dbc25Smrg
623f29dbc25Smrgwhile test $[#] != 0
624f29dbc25Smrgdo
625f29dbc25Smrg  case $[1] in
626f29dbc25Smrg    --version | --v* | -V )
627f29dbc25Smrg      echo "$lt_cl_version"; exit 0 ;;
628f29dbc25Smrg    --help | --h* | -h )
629f29dbc25Smrg      echo "$lt_cl_help"; exit 0 ;;
630f29dbc25Smrg    --debug | --d* | -d )
631f29dbc25Smrg      debug=: ;;
632f29dbc25Smrg    --quiet | --q* | --silent | --s* | -q )
633f29dbc25Smrg      lt_cl_silent=: ;;
634f29dbc25Smrg
635f29dbc25Smrg    -*) AC_MSG_ERROR([unrecognized option: $[1]
636f29dbc25SmrgTry \`$[0] --help' for more information.]) ;;
637f29dbc25Smrg
638f29dbc25Smrg    *) AC_MSG_ERROR([unrecognized argument: $[1]
639f29dbc25SmrgTry \`$[0] --help' for more information.]) ;;
640f29dbc25Smrg  esac
641f29dbc25Smrg  shift
642f29dbc25Smrgdone
643f29dbc25Smrg
644f29dbc25Smrgif $lt_cl_silent; then
645f29dbc25Smrg  exec AS_MESSAGE_FD>/dev/null
646f29dbc25Smrgfi
647f29dbc25Smrg_LTEOF
648f29dbc25Smrg
649f29dbc25Smrgcat >>"$CONFIG_LT" <<_LTEOF
650f29dbc25Smrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
651f29dbc25Smrg_LTEOF
652f29dbc25Smrg
653f29dbc25Smrgcat >>"$CONFIG_LT" <<\_LTEOF
654f29dbc25SmrgAC_MSG_NOTICE([creating $ofile])
655f29dbc25Smrg_LT_OUTPUT_LIBTOOL_COMMANDS
656f29dbc25SmrgAS_EXIT(0)
657f29dbc25Smrg_LTEOF
658f29dbc25Smrgchmod +x "$CONFIG_LT"
659f29dbc25Smrg
660f29dbc25Smrg# configure is writing to config.log, but config.lt does its own redirection,
661f29dbc25Smrg# appending to config.log, which fails on DOS, as config.log is still kept
662f29dbc25Smrg# open by configure.  Here we exec the FD to /dev/null, effectively closing
663f29dbc25Smrg# config.log, so it can be properly (re)opened and appended to by config.lt.
664f29dbc25Smrgif test "$no_create" != yes; then
665f29dbc25Smrg  lt_cl_success=:
666f29dbc25Smrg  test "$silent" = yes &&
667f29dbc25Smrg    lt_config_lt_args="$lt_config_lt_args --quiet"
668f29dbc25Smrg  exec AS_MESSAGE_LOG_FD>/dev/null
669f29dbc25Smrg  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
670f29dbc25Smrg  exec AS_MESSAGE_LOG_FD>>config.log
671f29dbc25Smrg  $lt_cl_success || AS_EXIT(1)
672f29dbc25Smrgfi
673f29dbc25Smrg])# LT_OUTPUT
674f29dbc25Smrg
675f29dbc25Smrg
676f29dbc25Smrg# _LT_CONFIG(TAG)
677f29dbc25Smrg# ---------------
678f29dbc25Smrg# If TAG is the built-in tag, create an initial libtool script with a
679f29dbc25Smrg# default configuration from the untagged config vars.  Otherwise add code
680f29dbc25Smrg# to config.status for appending the configuration named by TAG from the
681f29dbc25Smrg# matching tagged config vars.
682f29dbc25Smrgm4_defun([_LT_CONFIG],
683f29dbc25Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
684f29dbc25Smrg_LT_CONFIG_SAVE_COMMANDS([
685f29dbc25Smrg  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
686f29dbc25Smrg  m4_if(_LT_TAG, [C], [
687f29dbc25Smrg    # See if we are running on zsh, and set the options which allow our
688f29dbc25Smrg    # commands through without removal of \ escapes.
689f29dbc25Smrg    if test -n "${ZSH_VERSION+set}" ; then
690f29dbc25Smrg      setopt NO_GLOB_SUBST
691f29dbc25Smrg    fi
692f29dbc25Smrg
693f29dbc25Smrg    cfgfile="${ofile}T"
694f29dbc25Smrg    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
695f29dbc25Smrg    $RM "$cfgfile"
696f29dbc25Smrg
697f29dbc25Smrg    cat <<_LT_EOF >> "$cfgfile"
698f29dbc25Smrg#! $SHELL
699f29dbc25Smrg
700f29dbc25Smrg# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
701f29dbc25Smrg# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
702f29dbc25Smrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
703f29dbc25Smrg# NOTE: Changes made to this file will be lost: look at ltmain.sh.
704f29dbc25Smrg#
705f29dbc25Smrg_LT_COPYING
706f29dbc25Smrg_LT_LIBTOOL_TAGS
707f29dbc25Smrg
708f29dbc25Smrg# ### BEGIN LIBTOOL CONFIG
709f29dbc25Smrg_LT_LIBTOOL_CONFIG_VARS
710f29dbc25Smrg_LT_LIBTOOL_TAG_VARS
711f29dbc25Smrg# ### END LIBTOOL CONFIG
712f29dbc25Smrg
713f29dbc25Smrg_LT_EOF
714f29dbc25Smrg
715f29dbc25Smrg  case $host_os in
716f29dbc25Smrg  aix3*)
717f29dbc25Smrg    cat <<\_LT_EOF >> "$cfgfile"
718f29dbc25Smrg# AIX sometimes has problems with the GCC collect2 program.  For some
719f29dbc25Smrg# reason, if we set the COLLECT_NAMES environment variable, the problems
720f29dbc25Smrg# vanish in a puff of smoke.
721f29dbc25Smrgif test "X${COLLECT_NAMES+set}" != Xset; then
722f29dbc25Smrg  COLLECT_NAMES=
723f29dbc25Smrg  export COLLECT_NAMES
724f29dbc25Smrgfi
725f29dbc25Smrg_LT_EOF
726f29dbc25Smrg    ;;
727f29dbc25Smrg  esac
728f29dbc25Smrg
729f29dbc25Smrg  _LT_PROG_LTMAIN
730f29dbc25Smrg
731f29dbc25Smrg  # We use sed instead of cat because bash on DJGPP gets confused if
732f29dbc25Smrg  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
733f29dbc25Smrg  # text mode, it properly converts lines to CR/LF.  This bash problem
734f29dbc25Smrg  # is reportedly fixed, but why not run on old versions too?
735f29dbc25Smrg  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
736f29dbc25Smrg    || (rm -f "$cfgfile"; exit 1)
737f29dbc25Smrg
738f29dbc25Smrg  _LT_PROG_XSI_SHELLFNS
739f29dbc25Smrg
740f29dbc25Smrg  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
741f29dbc25Smrg    || (rm -f "$cfgfile"; exit 1)
742f29dbc25Smrg
743f29dbc25Smrg  mv -f "$cfgfile" "$ofile" ||
744f29dbc25Smrg    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
745f29dbc25Smrg  chmod +x "$ofile"
746f29dbc25Smrg],
747f29dbc25Smrg[cat <<_LT_EOF >> "$ofile"
748f29dbc25Smrg
749f29dbc25Smrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
750f29dbc25Smrgdnl in a comment (ie after a #).
751f29dbc25Smrg# ### BEGIN LIBTOOL TAG CONFIG: $1
752f29dbc25Smrg_LT_LIBTOOL_TAG_VARS(_LT_TAG)
753f29dbc25Smrg# ### END LIBTOOL TAG CONFIG: $1
754f29dbc25Smrg_LT_EOF
755f29dbc25Smrg])dnl /m4_if
756f29dbc25Smrg],
757f29dbc25Smrg[m4_if([$1], [], [
758f29dbc25Smrg    PACKAGE='$PACKAGE'
759f29dbc25Smrg    VERSION='$VERSION'
760f29dbc25Smrg    TIMESTAMP='$TIMESTAMP'
761f29dbc25Smrg    RM='$RM'
762f29dbc25Smrg    ofile='$ofile'], [])
763f29dbc25Smrg])dnl /_LT_CONFIG_SAVE_COMMANDS
764f29dbc25Smrg])# _LT_CONFIG
765f29dbc25Smrg
766f29dbc25Smrg
767f29dbc25Smrg# LT_SUPPORTED_TAG(TAG)
768f29dbc25Smrg# ---------------------
769f29dbc25Smrg# Trace this macro to discover what tags are supported by the libtool
770f29dbc25Smrg# --tag option, using:
771f29dbc25Smrg#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
772f29dbc25SmrgAC_DEFUN([LT_SUPPORTED_TAG], [])
773f29dbc25Smrg
774f29dbc25Smrg
775f29dbc25Smrg# C support is built-in for now
776f29dbc25Smrgm4_define([_LT_LANG_C_enabled], [])
777f29dbc25Smrgm4_define([_LT_TAGS], [])
778f29dbc25Smrg
779f29dbc25Smrg
780f29dbc25Smrg# LT_LANG(LANG)
781f29dbc25Smrg# -------------
782f29dbc25Smrg# Enable libtool support for the given language if not already enabled.
783f29dbc25SmrgAC_DEFUN([LT_LANG],
784f29dbc25Smrg[AC_BEFORE([$0], [LT_OUTPUT])dnl
785f29dbc25Smrgm4_case([$1],
786f29dbc25Smrg  [C],			[_LT_LANG(C)],
787f29dbc25Smrg  [C++],		[_LT_LANG(CXX)],
788f29dbc25Smrg  [Java],		[_LT_LANG(GCJ)],
789f29dbc25Smrg  [Fortran 77],		[_LT_LANG(F77)],
790f29dbc25Smrg  [Fortran],		[_LT_LANG(FC)],
791f29dbc25Smrg  [Windows Resource],	[_LT_LANG(RC)],
792f29dbc25Smrg  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
793f29dbc25Smrg    [_LT_LANG($1)],
794f29dbc25Smrg    [m4_fatal([$0: unsupported language: "$1"])])])dnl
795f29dbc25Smrg])# LT_LANG
796f29dbc25Smrg
797f29dbc25Smrg
798f29dbc25Smrg# _LT_LANG(LANGNAME)
799f29dbc25Smrg# ------------------
800f29dbc25Smrgm4_defun([_LT_LANG],
801f29dbc25Smrg[m4_ifdef([_LT_LANG_]$1[_enabled], [],
802f29dbc25Smrg  [LT_SUPPORTED_TAG([$1])dnl
803f29dbc25Smrg  m4_append([_LT_TAGS], [$1 ])dnl
804f29dbc25Smrg  m4_define([_LT_LANG_]$1[_enabled], [])dnl
805f29dbc25Smrg  _LT_LANG_$1_CONFIG($1)])dnl
806f29dbc25Smrg])# _LT_LANG
807f29dbc25Smrg
808f29dbc25Smrg
809f29dbc25Smrg# _LT_LANG_DEFAULT_CONFIG
810f29dbc25Smrg# -----------------------
811f29dbc25Smrgm4_defun([_LT_LANG_DEFAULT_CONFIG],
812f29dbc25Smrg[AC_PROVIDE_IFELSE([AC_PROG_CXX],
813f29dbc25Smrg  [LT_LANG(CXX)],
814f29dbc25Smrg  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
815f29dbc25Smrg
816f29dbc25SmrgAC_PROVIDE_IFELSE([AC_PROG_F77],
817f29dbc25Smrg  [LT_LANG(F77)],
818f29dbc25Smrg  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
819f29dbc25Smrg
820f29dbc25SmrgAC_PROVIDE_IFELSE([AC_PROG_FC],
821f29dbc25Smrg  [LT_LANG(FC)],
822f29dbc25Smrg  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
823f29dbc25Smrg
824f29dbc25Smrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
825f29dbc25Smrgdnl pulling things in needlessly.
826f29dbc25SmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ],
827f29dbc25Smrg  [LT_LANG(GCJ)],
828f29dbc25Smrg  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
829f29dbc25Smrg    [LT_LANG(GCJ)],
830f29dbc25Smrg    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
831f29dbc25Smrg      [LT_LANG(GCJ)],
832f29dbc25Smrg      [m4_ifdef([AC_PROG_GCJ],
833f29dbc25Smrg	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
834f29dbc25Smrg       m4_ifdef([A][M_PROG_GCJ],
835f29dbc25Smrg	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
836f29dbc25Smrg       m4_ifdef([LT_PROG_GCJ],
837f29dbc25Smrg	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
838f29dbc25Smrg
839f29dbc25SmrgAC_PROVIDE_IFELSE([LT_PROG_RC],
840f29dbc25Smrg  [LT_LANG(RC)],
841f29dbc25Smrg  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
842f29dbc25Smrg])# _LT_LANG_DEFAULT_CONFIG
843f29dbc25Smrg
844f29dbc25Smrg# Obsolete macros:
845f29dbc25SmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
846f29dbc25SmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
847f29dbc25SmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
848f29dbc25SmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
849f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
850f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
851f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_F77], [])
852f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_FC], [])
853f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
854f29dbc25Smrg
855f29dbc25Smrg
856f29dbc25Smrg# _LT_TAG_COMPILER
857f29dbc25Smrg# ----------------
858f29dbc25Smrgm4_defun([_LT_TAG_COMPILER],
859f29dbc25Smrg[AC_REQUIRE([AC_PROG_CC])dnl
860f29dbc25Smrg
861f29dbc25Smrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
862f29dbc25Smrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
863f29dbc25Smrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
864f29dbc25Smrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
865f29dbc25Smrg
866f29dbc25Smrg# If no C compiler was specified, use CC.
867f29dbc25SmrgLTCC=${LTCC-"$CC"}
868f29dbc25Smrg
869f29dbc25Smrg# If no C compiler flags were specified, use CFLAGS.
870f29dbc25SmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
871f29dbc25Smrg
872f29dbc25Smrg# Allow CC to be a program name with arguments.
873f29dbc25Smrgcompiler=$CC
874f29dbc25Smrg])# _LT_TAG_COMPILER
875f29dbc25Smrg
876f29dbc25Smrg
877f29dbc25Smrg# _LT_COMPILER_BOILERPLATE
878f29dbc25Smrg# ------------------------
879f29dbc25Smrg# Check for compiler boilerplate output or warnings with
880f29dbc25Smrg# the simple compiler test code.
881f29dbc25Smrgm4_defun([_LT_COMPILER_BOILERPLATE],
882f29dbc25Smrg[m4_require([_LT_DECL_SED])dnl
883f29dbc25Smrgac_outfile=conftest.$ac_objext
884f29dbc25Smrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext
885f29dbc25Smrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
886f29dbc25Smrg_lt_compiler_boilerplate=`cat conftest.err`
887f29dbc25Smrg$RM conftest*
888f29dbc25Smrg])# _LT_COMPILER_BOILERPLATE
889f29dbc25Smrg
890f29dbc25Smrg
891f29dbc25Smrg# _LT_LINKER_BOILERPLATE
892f29dbc25Smrg# ----------------------
893f29dbc25Smrg# Check for linker boilerplate output or warnings with
894f29dbc25Smrg# the simple link test code.
895f29dbc25Smrgm4_defun([_LT_LINKER_BOILERPLATE],
896f29dbc25Smrg[m4_require([_LT_DECL_SED])dnl
897f29dbc25Smrgac_outfile=conftest.$ac_objext
898f29dbc25Smrgecho "$lt_simple_link_test_code" >conftest.$ac_ext
899f29dbc25Smrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
900f29dbc25Smrg_lt_linker_boilerplate=`cat conftest.err`
901f29dbc25Smrg$RM -r conftest*
902f29dbc25Smrg])# _LT_LINKER_BOILERPLATE
903f29dbc25Smrg
904f29dbc25Smrg# _LT_REQUIRED_DARWIN_CHECKS
905f29dbc25Smrg# -------------------------
906f29dbc25Smrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
907f29dbc25Smrg  case $host_os in
908f29dbc25Smrg    rhapsody* | darwin*)
909f29dbc25Smrg    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
910f29dbc25Smrg    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
911f29dbc25Smrg    AC_CHECK_TOOL([LIPO], [lipo], [:])
912f29dbc25Smrg    AC_CHECK_TOOL([OTOOL], [otool], [:])
913f29dbc25Smrg    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
914f29dbc25Smrg    _LT_DECL([], [DSYMUTIL], [1],
915f29dbc25Smrg      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
916f29dbc25Smrg    _LT_DECL([], [NMEDIT], [1],
917f29dbc25Smrg      [Tool to change global to local symbols on Mac OS X])
918f29dbc25Smrg    _LT_DECL([], [LIPO], [1],
919f29dbc25Smrg      [Tool to manipulate fat objects and archives on Mac OS X])
920f29dbc25Smrg    _LT_DECL([], [OTOOL], [1],
921f29dbc25Smrg      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
922f29dbc25Smrg    _LT_DECL([], [OTOOL64], [1],
923f29dbc25Smrg      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
924f29dbc25Smrg
925f29dbc25Smrg    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
926f29dbc25Smrg      [lt_cv_apple_cc_single_mod=no
927f29dbc25Smrg      if test -z "${LT_MULTI_MODULE}"; then
928f29dbc25Smrg	# By default we will add the -single_module flag. You can override
929f29dbc25Smrg	# by either setting the environment variable LT_MULTI_MODULE
930f29dbc25Smrg	# non-empty at configure time, or by adding -multi_module to the
931f29dbc25Smrg	# link flags.
932f29dbc25Smrg	rm -rf libconftest.dylib*
933f29dbc25Smrg	echo "int foo(void){return 1;}" > conftest.c
934f29dbc25Smrg	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
935f29dbc25Smrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
936f29dbc25Smrg	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
937f29dbc25Smrg	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
938f29dbc25Smrg        _lt_result=$?
939f29dbc25Smrg	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
940f29dbc25Smrg	  lt_cv_apple_cc_single_mod=yes
941f29dbc25Smrg	else
942f29dbc25Smrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
943f29dbc25Smrg	fi
944f29dbc25Smrg	rm -rf libconftest.dylib*
945f29dbc25Smrg	rm -f conftest.*
946f29dbc25Smrg      fi])
947f29dbc25Smrg    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
948f29dbc25Smrg      [lt_cv_ld_exported_symbols_list],
949f29dbc25Smrg      [lt_cv_ld_exported_symbols_list=no
950f29dbc25Smrg      save_LDFLAGS=$LDFLAGS
951f29dbc25Smrg      echo "_main" > conftest.sym
952f29dbc25Smrg      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
953f29dbc25Smrg      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
954f29dbc25Smrg	[lt_cv_ld_exported_symbols_list=yes],
955f29dbc25Smrg	[lt_cv_ld_exported_symbols_list=no])
956f29dbc25Smrg	LDFLAGS="$save_LDFLAGS"
957f29dbc25Smrg    ])
958f29dbc25Smrg    case $host_os in
959f29dbc25Smrg    rhapsody* | darwin1.[[012]])
960f29dbc25Smrg      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
961f29dbc25Smrg    darwin1.*)
962f29dbc25Smrg      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
963f29dbc25Smrg    darwin*) # darwin 5.x on
964f29dbc25Smrg      # if running on 10.5 or later, the deployment target defaults
965f29dbc25Smrg      # to the OS version, if on x86, and 10.4, the deployment
966f29dbc25Smrg      # target defaults to 10.4. Don't you love it?
967f29dbc25Smrg      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
968f29dbc25Smrg	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
969f29dbc25Smrg	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
970f29dbc25Smrg	10.[[012]]*)
971f29dbc25Smrg	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
972f29dbc25Smrg	10.*)
973f29dbc25Smrg	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
974f29dbc25Smrg      esac
975f29dbc25Smrg    ;;
976f29dbc25Smrg  esac
977f29dbc25Smrg    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
978f29dbc25Smrg      _lt_dar_single_mod='$single_module'
979f29dbc25Smrg    fi
980f29dbc25Smrg    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
981f29dbc25Smrg      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
982f29dbc25Smrg    else
983f29dbc25Smrg      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
984f29dbc25Smrg    fi
985f29dbc25Smrg    if test "$DSYMUTIL" != ":"; then
986f29dbc25Smrg      _lt_dsymutil='~$DSYMUTIL $lib || :'
987f29dbc25Smrg    else
988f29dbc25Smrg      _lt_dsymutil=
989f29dbc25Smrg    fi
990f29dbc25Smrg    ;;
991f29dbc25Smrg  esac
992f29dbc25Smrg])
993f29dbc25Smrg
994f29dbc25Smrg
995f29dbc25Smrg# _LT_DARWIN_LINKER_FEATURES
996f29dbc25Smrg# --------------------------
997f29dbc25Smrg# Checks for linker and compiler features on darwin
998f29dbc25Smrgm4_defun([_LT_DARWIN_LINKER_FEATURES],
999f29dbc25Smrg[
1000f29dbc25Smrg  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1001f29dbc25Smrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1002f29dbc25Smrg  _LT_TAGVAR(hardcode_direct, $1)=no
1003f29dbc25Smrg  _LT_TAGVAR(hardcode_automatic, $1)=yes
1004f29dbc25Smrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1005f29dbc25Smrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1006f29dbc25Smrg  _LT_TAGVAR(link_all_deplibs, $1)=yes
1007f29dbc25Smrg  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1008f29dbc25Smrg  case $cc_basename in
1009f29dbc25Smrg     ifort*) _lt_dar_can_shared=yes ;;
1010f29dbc25Smrg     *) _lt_dar_can_shared=$GCC ;;
1011f29dbc25Smrg  esac
1012f29dbc25Smrg  if test "$_lt_dar_can_shared" = "yes"; then
1013f29dbc25Smrg    output_verbose_link_cmd=echo
1014f29dbc25Smrg    _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}"
1015f29dbc25Smrg    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1016f29dbc25Smrg    _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}"
1017f29dbc25Smrg    _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}"
1018f29dbc25Smrg    m4_if([$1], [CXX],
1019f29dbc25Smrg[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1020f29dbc25Smrg      _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}"
1021f29dbc25Smrg      _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}"
1022f29dbc25Smrg    fi
1023f29dbc25Smrg],[])
1024f29dbc25Smrg  else
1025f29dbc25Smrg  _LT_TAGVAR(ld_shlibs, $1)=no
1026f29dbc25Smrg  fi
1027f29dbc25Smrg])
1028f29dbc25Smrg
1029f29dbc25Smrg# _LT_SYS_MODULE_PATH_AIX
1030f29dbc25Smrg# -----------------------
1031f29dbc25Smrg# Links a minimal program and checks the executable
1032f29dbc25Smrg# for the system default hardcoded library path. In most cases,
1033f29dbc25Smrg# this is /usr/lib:/lib, but when the MPI compilers are used
1034f29dbc25Smrg# the location of the communication and MPI libs are included too.
1035f29dbc25Smrg# If we don't find anything, use the default library path according
1036f29dbc25Smrg# to the aix ld manual.
1037f29dbc25Smrgm4_defun([_LT_SYS_MODULE_PATH_AIX],
1038f29dbc25Smrg[m4_require([_LT_DECL_SED])dnl
1039f29dbc25SmrgAC_LINK_IFELSE(AC_LANG_PROGRAM,[
1040f29dbc25Smrglt_aix_libpath_sed='
1041f29dbc25Smrg    /Import File Strings/,/^$/ {
1042f29dbc25Smrg	/^0/ {
1043f29dbc25Smrg	    s/^0  *\(.*\)$/\1/
1044f29dbc25Smrg	    p
1045f29dbc25Smrg	}
1046f29dbc25Smrg    }'
1047f29dbc25Smrgaix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1048f29dbc25Smrg# Check for a 64-bit object if we didn't find anything.
1049f29dbc25Smrgif test -z "$aix_libpath"; then
1050f29dbc25Smrg  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1051f29dbc25Smrgfi],[])
1052f29dbc25Smrgif test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1053f29dbc25Smrg])# _LT_SYS_MODULE_PATH_AIX
1054f29dbc25Smrg
1055f29dbc25Smrg
1056f29dbc25Smrg# _LT_SHELL_INIT(ARG)
1057f29dbc25Smrg# -------------------
1058f29dbc25Smrgm4_define([_LT_SHELL_INIT],
1059f29dbc25Smrg[ifdef([AC_DIVERSION_NOTICE],
1060f29dbc25Smrg	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1061f29dbc25Smrg	 [AC_DIVERT_PUSH(NOTICE)])
1062f29dbc25Smrg$1
1063f29dbc25SmrgAC_DIVERT_POP
1064f29dbc25Smrg])# _LT_SHELL_INIT
1065f29dbc25Smrg
1066f29dbc25Smrg
1067f29dbc25Smrg# _LT_PROG_ECHO_BACKSLASH
1068f29dbc25Smrg# -----------------------
1069f29dbc25Smrg# Add some code to the start of the generated configure script which
1070f29dbc25Smrg# will find an echo command which doesn't interpret backslashes.
1071f29dbc25Smrgm4_defun([_LT_PROG_ECHO_BACKSLASH],
1072f29dbc25Smrg[_LT_SHELL_INIT([
1073f29dbc25Smrg# Check that we are running under the correct shell.
1074f29dbc25SmrgSHELL=${CONFIG_SHELL-/bin/sh}
1075f29dbc25Smrg
1076f29dbc25Smrgcase X$lt_ECHO in
1077f29dbc25SmrgX*--fallback-echo)
1078f29dbc25Smrg  # Remove one level of quotation (which was required for Make).
1079f29dbc25Smrg  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1080f29dbc25Smrg  ;;
1081f29dbc25Smrgesac
1082f29dbc25Smrg
1083f29dbc25SmrgECHO=${lt_ECHO-echo}
1084f29dbc25Smrgif test "X[$]1" = X--no-reexec; then
1085f29dbc25Smrg  # Discard the --no-reexec flag, and continue.
1086f29dbc25Smrg  shift
1087f29dbc25Smrgelif test "X[$]1" = X--fallback-echo; then
1088f29dbc25Smrg  # Avoid inline document here, it may be left over
1089f29dbc25Smrg  :
1090f29dbc25Smrgelif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1091f29dbc25Smrg  # Yippee, $ECHO works!
1092f29dbc25Smrg  :
1093f29dbc25Smrgelse
1094f29dbc25Smrg  # Restart under the correct shell.
1095f29dbc25Smrg  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1096f29dbc25Smrgfi
1097f29dbc25Smrg
1098f29dbc25Smrgif test "X[$]1" = X--fallback-echo; then
1099f29dbc25Smrg  # used as fallback echo
1100f29dbc25Smrg  shift
1101f29dbc25Smrg  cat <<_LT_EOF
1102f29dbc25Smrg[$]*
1103f29dbc25Smrg_LT_EOF
1104f29dbc25Smrg  exit 0
1105f29dbc25Smrgfi
1106f29dbc25Smrg
1107f29dbc25Smrg# The HP-UX ksh and POSIX shell print the target directory to stdout
1108f29dbc25Smrg# if CDPATH is set.
1109f29dbc25Smrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1110f29dbc25Smrg
1111f29dbc25Smrgif test -z "$lt_ECHO"; then
1112f29dbc25Smrg  if test "X${echo_test_string+set}" != Xset; then
1113f29dbc25Smrg    # find a string as large as possible, as long as the shell can cope with it
1114f29dbc25Smrg    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1115f29dbc25Smrg      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1116f29dbc25Smrg      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1117f29dbc25Smrg	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1118f29dbc25Smrg      then
1119f29dbc25Smrg        break
1120f29dbc25Smrg      fi
1121f29dbc25Smrg    done
1122f29dbc25Smrg  fi
1123f29dbc25Smrg
1124f29dbc25Smrg  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1125f29dbc25Smrg     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1126f29dbc25Smrg     test "X$echo_testing_string" = "X$echo_test_string"; then
1127f29dbc25Smrg    :
1128f29dbc25Smrg  else
1129f29dbc25Smrg    # The Solaris, AIX, and Digital Unix default echo programs unquote
1130f29dbc25Smrg    # backslashes.  This makes it impossible to quote backslashes using
1131f29dbc25Smrg    #   echo "$something" | sed 's/\\/\\\\/g'
1132f29dbc25Smrg    #
1133f29dbc25Smrg    # So, first we look for a working echo in the user's PATH.
1134f29dbc25Smrg
1135f29dbc25Smrg    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1136f29dbc25Smrg    for dir in $PATH /usr/ucb; do
1137f29dbc25Smrg      IFS="$lt_save_ifs"
1138f29dbc25Smrg      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1139f29dbc25Smrg         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1140f29dbc25Smrg         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1141f29dbc25Smrg         test "X$echo_testing_string" = "X$echo_test_string"; then
1142f29dbc25Smrg        ECHO="$dir/echo"
1143f29dbc25Smrg        break
1144f29dbc25Smrg      fi
1145f29dbc25Smrg    done
1146f29dbc25Smrg    IFS="$lt_save_ifs"
1147f29dbc25Smrg
1148f29dbc25Smrg    if test "X$ECHO" = Xecho; then
1149f29dbc25Smrg      # We didn't find a better echo, so look for alternatives.
1150f29dbc25Smrg      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1151f29dbc25Smrg         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1152f29dbc25Smrg         test "X$echo_testing_string" = "X$echo_test_string"; then
1153f29dbc25Smrg        # This shell has a builtin print -r that does the trick.
1154f29dbc25Smrg        ECHO='print -r'
1155f29dbc25Smrg      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1156f29dbc25Smrg	   test "X$CONFIG_SHELL" != X/bin/ksh; then
1157f29dbc25Smrg        # If we have ksh, try running configure again with it.
1158f29dbc25Smrg        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1159f29dbc25Smrg        export ORIGINAL_CONFIG_SHELL
1160f29dbc25Smrg        CONFIG_SHELL=/bin/ksh
1161f29dbc25Smrg        export CONFIG_SHELL
1162f29dbc25Smrg        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1163f29dbc25Smrg      else
1164f29dbc25Smrg        # Try using printf.
1165f29dbc25Smrg        ECHO='printf %s\n'
1166f29dbc25Smrg        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1167f29dbc25Smrg	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1168f29dbc25Smrg	   test "X$echo_testing_string" = "X$echo_test_string"; then
1169f29dbc25Smrg	  # Cool, printf works
1170f29dbc25Smrg	  :
1171f29dbc25Smrg        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1172f29dbc25Smrg	     test "X$echo_testing_string" = 'X\t' &&
1173f29dbc25Smrg	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1174f29dbc25Smrg	     test "X$echo_testing_string" = "X$echo_test_string"; then
1175f29dbc25Smrg	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1176f29dbc25Smrg	  export CONFIG_SHELL
1177f29dbc25Smrg	  SHELL="$CONFIG_SHELL"
1178f29dbc25Smrg	  export SHELL
1179f29dbc25Smrg	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1180f29dbc25Smrg        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1181f29dbc25Smrg	     test "X$echo_testing_string" = 'X\t' &&
1182f29dbc25Smrg	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1183f29dbc25Smrg	     test "X$echo_testing_string" = "X$echo_test_string"; then
1184f29dbc25Smrg	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1185f29dbc25Smrg        else
1186f29dbc25Smrg	  # maybe with a smaller string...
1187f29dbc25Smrg	  prev=:
1188f29dbc25Smrg
1189f29dbc25Smrg	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1190f29dbc25Smrg	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1191f29dbc25Smrg	    then
1192f29dbc25Smrg	      break
1193f29dbc25Smrg	    fi
1194f29dbc25Smrg	    prev="$cmd"
1195f29dbc25Smrg	  done
1196f29dbc25Smrg
1197f29dbc25Smrg	  if test "$prev" != 'sed 50q "[$]0"'; then
1198f29dbc25Smrg	    echo_test_string=`eval $prev`
1199f29dbc25Smrg	    export echo_test_string
1200f29dbc25Smrg	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1201f29dbc25Smrg	  else
1202f29dbc25Smrg	    # Oops.  We lost completely, so just stick with echo.
1203f29dbc25Smrg	    ECHO=echo
1204f29dbc25Smrg	  fi
1205f29dbc25Smrg        fi
1206f29dbc25Smrg      fi
1207f29dbc25Smrg    fi
1208f29dbc25Smrg  fi
1209f29dbc25Smrgfi
1210f29dbc25Smrg
1211f29dbc25Smrg# Copy echo and quote the copy suitably for passing to libtool from
1212f29dbc25Smrg# the Makefile, instead of quoting the original, which is used later.
1213f29dbc25Smrglt_ECHO=$ECHO
1214f29dbc25Smrgif test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1215f29dbc25Smrg   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1216f29dbc25Smrgfi
1217f29dbc25Smrg
1218f29dbc25SmrgAC_SUBST(lt_ECHO)
1219f29dbc25Smrg])
1220f29dbc25Smrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1221f29dbc25Smrg_LT_DECL([], [ECHO], [1],
1222f29dbc25Smrg    [An echo program that does not interpret backslashes])
1223f29dbc25Smrg])# _LT_PROG_ECHO_BACKSLASH
1224f29dbc25Smrg
1225f29dbc25Smrg
1226f29dbc25Smrg# _LT_ENABLE_LOCK
1227f29dbc25Smrg# ---------------
1228f29dbc25Smrgm4_defun([_LT_ENABLE_LOCK],
1229f29dbc25Smrg[AC_ARG_ENABLE([libtool-lock],
1230f29dbc25Smrg  [AS_HELP_STRING([--disable-libtool-lock],
1231f29dbc25Smrg    [avoid locking (might break parallel builds)])])
1232f29dbc25Smrgtest "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1233f29dbc25Smrg
1234f29dbc25Smrg# Some flags need to be propagated to the compiler or linker for good
1235f29dbc25Smrg# libtool support.
1236f29dbc25Smrgcase $host in
1237f29dbc25Smrgia64-*-hpux*)
1238f29dbc25Smrg  # Find out which ABI we are using.
1239f29dbc25Smrg  echo 'int i;' > conftest.$ac_ext
1240f29dbc25Smrg  if AC_TRY_EVAL(ac_compile); then
1241f29dbc25Smrg    case `/usr/bin/file conftest.$ac_objext` in
1242f29dbc25Smrg      *ELF-32*)
1243f29dbc25Smrg	HPUX_IA64_MODE="32"
1244f29dbc25Smrg	;;
1245f29dbc25Smrg      *ELF-64*)
1246f29dbc25Smrg	HPUX_IA64_MODE="64"
1247f29dbc25Smrg	;;
1248f29dbc25Smrg    esac
1249f29dbc25Smrg  fi
1250f29dbc25Smrg  rm -rf conftest*
1251f29dbc25Smrg  ;;
1252f29dbc25Smrg*-*-irix6*)
1253f29dbc25Smrg  # Find out which ABI we are using.
1254f29dbc25Smrg  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1255f29dbc25Smrg  if AC_TRY_EVAL(ac_compile); then
1256f29dbc25Smrg    if test "$lt_cv_prog_gnu_ld" = yes; then
1257f29dbc25Smrg      case `/usr/bin/file conftest.$ac_objext` in
1258f29dbc25Smrg	*32-bit*)
1259f29dbc25Smrg	  LD="${LD-ld} -melf32bsmip"
1260f29dbc25Smrg	  ;;
1261f29dbc25Smrg	*N32*)
1262f29dbc25Smrg	  LD="${LD-ld} -melf32bmipn32"
1263f29dbc25Smrg	  ;;
1264f29dbc25Smrg	*64-bit*)
1265f29dbc25Smrg	  LD="${LD-ld} -melf64bmip"
1266f29dbc25Smrg	;;
1267f29dbc25Smrg      esac
1268f29dbc25Smrg    else
1269f29dbc25Smrg      case `/usr/bin/file conftest.$ac_objext` in
1270f29dbc25Smrg	*32-bit*)
1271f29dbc25Smrg	  LD="${LD-ld} -32"
1272f29dbc25Smrg	  ;;
1273f29dbc25Smrg	*N32*)
1274f29dbc25Smrg	  LD="${LD-ld} -n32"
1275f29dbc25Smrg	  ;;
1276f29dbc25Smrg	*64-bit*)
1277f29dbc25Smrg	  LD="${LD-ld} -64"
1278f29dbc25Smrg	  ;;
1279f29dbc25Smrg      esac
1280f29dbc25Smrg    fi
1281f29dbc25Smrg  fi
1282f29dbc25Smrg  rm -rf conftest*
1283f29dbc25Smrg  ;;
1284f29dbc25Smrg
1285f29dbc25Smrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1286f29dbc25Smrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1287f29dbc25Smrg  # Find out which ABI we are using.
1288f29dbc25Smrg  echo 'int i;' > conftest.$ac_ext
1289f29dbc25Smrg  if AC_TRY_EVAL(ac_compile); then
1290f29dbc25Smrg    case `/usr/bin/file conftest.o` in
1291f29dbc25Smrg      *32-bit*)
1292f29dbc25Smrg	case $host in
1293f29dbc25Smrg	  x86_64-*kfreebsd*-gnu)
1294f29dbc25Smrg	    LD="${LD-ld} -m elf_i386_fbsd"
1295f29dbc25Smrg	    ;;
1296f29dbc25Smrg	  x86_64-*linux*)
1297f29dbc25Smrg	    LD="${LD-ld} -m elf_i386"
1298f29dbc25Smrg	    ;;
1299f29dbc25Smrg	  ppc64-*linux*|powerpc64-*linux*)
1300f29dbc25Smrg	    LD="${LD-ld} -m elf32ppclinux"
1301f29dbc25Smrg	    ;;
1302f29dbc25Smrg	  s390x-*linux*)
1303f29dbc25Smrg	    LD="${LD-ld} -m elf_s390"
1304f29dbc25Smrg	    ;;
1305f29dbc25Smrg	  sparc64-*linux*)
1306f29dbc25Smrg	    LD="${LD-ld} -m elf32_sparc"
1307f29dbc25Smrg	    ;;
1308f29dbc25Smrg	esac
1309f29dbc25Smrg	;;
1310f29dbc25Smrg      *64-bit*)
1311f29dbc25Smrg	case $host in
1312f29dbc25Smrg	  x86_64-*kfreebsd*-gnu)
1313f29dbc25Smrg	    LD="${LD-ld} -m elf_x86_64_fbsd"
1314f29dbc25Smrg	    ;;
1315f29dbc25Smrg	  x86_64-*linux*)
1316f29dbc25Smrg	    LD="${LD-ld} -m elf_x86_64"
1317f29dbc25Smrg	    ;;
1318f29dbc25Smrg	  ppc*-*linux*|powerpc*-*linux*)
1319f29dbc25Smrg	    LD="${LD-ld} -m elf64ppc"
1320f29dbc25Smrg	    ;;
1321f29dbc25Smrg	  s390*-*linux*|s390*-*tpf*)
1322f29dbc25Smrg	    LD="${LD-ld} -m elf64_s390"
1323f29dbc25Smrg	    ;;
1324f29dbc25Smrg	  sparc*-*linux*)
1325f29dbc25Smrg	    LD="${LD-ld} -m elf64_sparc"
1326f29dbc25Smrg	    ;;
1327f29dbc25Smrg	esac
1328f29dbc25Smrg	;;
1329f29dbc25Smrg    esac
1330f29dbc25Smrg  fi
1331f29dbc25Smrg  rm -rf conftest*
1332f29dbc25Smrg  ;;
1333f29dbc25Smrg
1334f29dbc25Smrg*-*-sco3.2v5*)
1335f29dbc25Smrg  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1336f29dbc25Smrg  SAVE_CFLAGS="$CFLAGS"
1337f29dbc25Smrg  CFLAGS="$CFLAGS -belf"
1338f29dbc25Smrg  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1339f29dbc25Smrg    [AC_LANG_PUSH(C)
1340f29dbc25Smrg     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1341f29dbc25Smrg     AC_LANG_POP])
1342f29dbc25Smrg  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1343f29dbc25Smrg    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1344f29dbc25Smrg    CFLAGS="$SAVE_CFLAGS"
1345f29dbc25Smrg  fi
1346f29dbc25Smrg  ;;
1347f29dbc25Smrgsparc*-*solaris*)
1348f29dbc25Smrg  # Find out which ABI we are using.
1349f29dbc25Smrg  echo 'int i;' > conftest.$ac_ext
1350f29dbc25Smrg  if AC_TRY_EVAL(ac_compile); then
1351f29dbc25Smrg    case `/usr/bin/file conftest.o` in
1352f29dbc25Smrg    *64-bit*)
1353f29dbc25Smrg      case $lt_cv_prog_gnu_ld in
1354f29dbc25Smrg      yes*) LD="${LD-ld} -m elf64_sparc" ;;
1355f29dbc25Smrg      *)
1356f29dbc25Smrg	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1357f29dbc25Smrg	  LD="${LD-ld} -64"
1358f29dbc25Smrg	fi
1359f29dbc25Smrg	;;
1360f29dbc25Smrg      esac
1361f29dbc25Smrg      ;;
1362f29dbc25Smrg    esac
1363f29dbc25Smrg  fi
1364f29dbc25Smrg  rm -rf conftest*
1365f29dbc25Smrg  ;;
1366f29dbc25Smrgesac
1367f29dbc25Smrg
1368f29dbc25Smrgneed_locks="$enable_libtool_lock"
1369f29dbc25Smrg])# _LT_ENABLE_LOCK
1370f29dbc25Smrg
1371f29dbc25Smrg
1372f29dbc25Smrg# _LT_CMD_OLD_ARCHIVE
1373f29dbc25Smrg# -------------------
1374f29dbc25Smrgm4_defun([_LT_CMD_OLD_ARCHIVE],
1375f29dbc25Smrg[AC_CHECK_TOOL(AR, ar, false)
1376f29dbc25Smrgtest -z "$AR" && AR=ar
1377f29dbc25Smrgtest -z "$AR_FLAGS" && AR_FLAGS=cru
1378f29dbc25Smrg_LT_DECL([], [AR], [1], [The archiver])
1379f29dbc25Smrg_LT_DECL([], [AR_FLAGS], [1])
1380f29dbc25Smrg
1381f29dbc25SmrgAC_CHECK_TOOL(STRIP, strip, :)
1382f29dbc25Smrgtest -z "$STRIP" && STRIP=:
1383f29dbc25Smrg_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1384f29dbc25Smrg
1385f29dbc25SmrgAC_CHECK_TOOL(RANLIB, ranlib, :)
1386f29dbc25Smrgtest -z "$RANLIB" && RANLIB=:
1387f29dbc25Smrg_LT_DECL([], [RANLIB], [1],
1388f29dbc25Smrg    [Commands used to install an old-style archive])
1389f29dbc25Smrg
1390f29dbc25Smrg# Determine commands to create old-style static archives.
1391f29dbc25Smrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1392f29dbc25Smrgold_postinstall_cmds='chmod 644 $oldlib'
1393f29dbc25Smrgold_postuninstall_cmds=
1394f29dbc25Smrg
1395f29dbc25Smrgif test -n "$RANLIB"; then
1396f29dbc25Smrg  case $host_os in
1397f29dbc25Smrg  openbsd*)
1398f29dbc25Smrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1399f29dbc25Smrg    ;;
1400f29dbc25Smrg  *)
1401f29dbc25Smrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1402f29dbc25Smrg    ;;
1403f29dbc25Smrg  esac
1404f29dbc25Smrg  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1405f29dbc25Smrgfi
1406f29dbc25Smrg_LT_DECL([], [old_postinstall_cmds], [2])
1407f29dbc25Smrg_LT_DECL([], [old_postuninstall_cmds], [2])
1408f29dbc25Smrg_LT_TAGDECL([], [old_archive_cmds], [2],
1409f29dbc25Smrg    [Commands used to build an old-style archive])
1410f29dbc25Smrg])# _LT_CMD_OLD_ARCHIVE
1411f29dbc25Smrg
1412f29dbc25Smrg
1413f29dbc25Smrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1414f29dbc25Smrg#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1415f29dbc25Smrg# ----------------------------------------------------------------
1416f29dbc25Smrg# Check whether the given compiler option works
1417f29dbc25SmrgAC_DEFUN([_LT_COMPILER_OPTION],
1418f29dbc25Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1419f29dbc25Smrgm4_require([_LT_DECL_SED])dnl
1420f29dbc25SmrgAC_CACHE_CHECK([$1], [$2],
1421f29dbc25Smrg  [$2=no
1422f29dbc25Smrg   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1423f29dbc25Smrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1424f29dbc25Smrg   lt_compiler_flag="$3"
1425f29dbc25Smrg   # Insert the option either (1) after the last *FLAGS variable, or
1426f29dbc25Smrg   # (2) before a word containing "conftest.", or (3) at the end.
1427f29dbc25Smrg   # Note that $ac_compile itself does not contain backslashes and begins
1428f29dbc25Smrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
1429f29dbc25Smrg   # The option is referenced via a variable to avoid confusing sed.
1430f29dbc25Smrg   lt_compile=`echo "$ac_compile" | $SED \
1431f29dbc25Smrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1432f29dbc25Smrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1433f29dbc25Smrg   -e 's:$: $lt_compiler_flag:'`
1434f29dbc25Smrg   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1435f29dbc25Smrg   (eval "$lt_compile" 2>conftest.err)
1436f29dbc25Smrg   ac_status=$?
1437f29dbc25Smrg   cat conftest.err >&AS_MESSAGE_LOG_FD
1438f29dbc25Smrg   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1439f29dbc25Smrg   if (exit $ac_status) && test -s "$ac_outfile"; then
1440f29dbc25Smrg     # The compiler can only warn and ignore the option if not recognized
1441f29dbc25Smrg     # So say no if there are warnings other than the usual output.
1442f29dbc25Smrg     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
1443f29dbc25Smrg     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1444f29dbc25Smrg     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1445f29dbc25Smrg       $2=yes
1446f29dbc25Smrg     fi
1447f29dbc25Smrg   fi
1448f29dbc25Smrg   $RM conftest*
1449f29dbc25Smrg])
1450f29dbc25Smrg
1451f29dbc25Smrgif test x"[$]$2" = xyes; then
1452f29dbc25Smrg    m4_if([$5], , :, [$5])
1453f29dbc25Smrgelse
1454f29dbc25Smrg    m4_if([$6], , :, [$6])
1455f29dbc25Smrgfi
1456f29dbc25Smrg])# _LT_COMPILER_OPTION
1457f29dbc25Smrg
1458f29dbc25Smrg# Old name:
1459f29dbc25SmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1460f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
1461f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1462f29dbc25Smrg
1463f29dbc25Smrg
1464f29dbc25Smrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1465f29dbc25Smrg#                  [ACTION-SUCCESS], [ACTION-FAILURE])
1466f29dbc25Smrg# ----------------------------------------------------
1467f29dbc25Smrg# Check whether the given linker option works
1468f29dbc25SmrgAC_DEFUN([_LT_LINKER_OPTION],
1469f29dbc25Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1470f29dbc25Smrgm4_require([_LT_DECL_SED])dnl
1471f29dbc25SmrgAC_CACHE_CHECK([$1], [$2],
1472f29dbc25Smrg  [$2=no
1473f29dbc25Smrg   save_LDFLAGS="$LDFLAGS"
1474f29dbc25Smrg   LDFLAGS="$LDFLAGS $3"
1475f29dbc25Smrg   echo "$lt_simple_link_test_code" > conftest.$ac_ext
1476f29dbc25Smrg   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1477f29dbc25Smrg     # The linker can only warn and ignore the option if not recognized
1478f29dbc25Smrg     # So say no if there are warnings
1479f29dbc25Smrg     if test -s conftest.err; then
1480f29dbc25Smrg       # Append any errors to the config.log.
1481f29dbc25Smrg       cat conftest.err 1>&AS_MESSAGE_LOG_FD
1482f29dbc25Smrg       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
1483f29dbc25Smrg       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1484f29dbc25Smrg       if diff conftest.exp conftest.er2 >/dev/null; then
1485f29dbc25Smrg         $2=yes
1486f29dbc25Smrg       fi
1487f29dbc25Smrg     else
1488f29dbc25Smrg       $2=yes
1489f29dbc25Smrg     fi
1490f29dbc25Smrg   fi
1491f29dbc25Smrg   $RM -r conftest*
1492f29dbc25Smrg   LDFLAGS="$save_LDFLAGS"
1493f29dbc25Smrg])
1494f29dbc25Smrg
1495f29dbc25Smrgif test x"[$]$2" = xyes; then
1496f29dbc25Smrg    m4_if([$4], , :, [$4])
1497f29dbc25Smrgelse
1498f29dbc25Smrg    m4_if([$5], , :, [$5])
1499f29dbc25Smrgfi
1500f29dbc25Smrg])# _LT_LINKER_OPTION
1501f29dbc25Smrg
1502f29dbc25Smrg# Old name:
1503f29dbc25SmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1504f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
1505f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1506f29dbc25Smrg
1507f29dbc25Smrg
1508f29dbc25Smrg# LT_CMD_MAX_LEN
1509f29dbc25Smrg#---------------
1510f29dbc25SmrgAC_DEFUN([LT_CMD_MAX_LEN],
1511f29dbc25Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1512f29dbc25Smrg# find the maximum length of command line arguments
1513f29dbc25SmrgAC_MSG_CHECKING([the maximum length of command line arguments])
1514f29dbc25SmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1515f29dbc25Smrg  i=0
1516f29dbc25Smrg  teststring="ABCD"
1517f29dbc25Smrg
1518f29dbc25Smrg  case $build_os in
1519f29dbc25Smrg  msdosdjgpp*)
1520f29dbc25Smrg    # On DJGPP, this test can blow up pretty badly due to problems in libc
1521f29dbc25Smrg    # (any single argument exceeding 2000 bytes causes a buffer overrun
1522f29dbc25Smrg    # during glob expansion).  Even if it were fixed, the result of this
1523f29dbc25Smrg    # check would be larger than it should be.
1524f29dbc25Smrg    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
1525f29dbc25Smrg    ;;
1526f29dbc25Smrg
1527f29dbc25Smrg  gnu*)
1528f29dbc25Smrg    # Under GNU Hurd, this test is not required because there is
1529f29dbc25Smrg    # no limit to the length of command line arguments.
1530f29dbc25Smrg    # Libtool will interpret -1 as no limit whatsoever
1531f29dbc25Smrg    lt_cv_sys_max_cmd_len=-1;
1532f29dbc25Smrg    ;;
1533f29dbc25Smrg
1534f29dbc25Smrg  cygwin* | mingw* | cegcc*)
1535f29dbc25Smrg    # On Win9x/ME, this test blows up -- it succeeds, but takes
1536f29dbc25Smrg    # about 5 minutes as the teststring grows exponentially.
1537f29dbc25Smrg    # Worse, since 9x/ME are not pre-emptively multitasking,
1538f29dbc25Smrg    # you end up with a "frozen" computer, even though with patience
1539f29dbc25Smrg    # the test eventually succeeds (with a max line length of 256k).
1540f29dbc25Smrg    # Instead, let's just punt: use the minimum linelength reported by
1541f29dbc25Smrg    # all of the supported platforms: 8192 (on NT/2K/XP).
1542f29dbc25Smrg    lt_cv_sys_max_cmd_len=8192;
1543f29dbc25Smrg    ;;
1544f29dbc25Smrg
1545f29dbc25Smrg  amigaos*)
1546f29dbc25Smrg    # On AmigaOS with pdksh, this test takes hours, literally.
1547f29dbc25Smrg    # So we just punt and use a minimum line length of 8192.
1548f29dbc25Smrg    lt_cv_sys_max_cmd_len=8192;
1549f29dbc25Smrg    ;;
1550f29dbc25Smrg
1551f29dbc25Smrg  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1552f29dbc25Smrg    # This has been around since 386BSD, at least.  Likely further.
1553f29dbc25Smrg    if test -x /sbin/sysctl; then
1554f29dbc25Smrg      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1555f29dbc25Smrg    elif test -x /usr/sbin/sysctl; then
1556f29dbc25Smrg      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1557f29dbc25Smrg    else
1558f29dbc25Smrg      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
1559f29dbc25Smrg    fi
1560f29dbc25Smrg    # And add a safety zone
1561f29dbc25Smrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1562f29dbc25Smrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1563f29dbc25Smrg    ;;
1564f29dbc25Smrg
1565f29dbc25Smrg  interix*)
1566f29dbc25Smrg    # We know the value 262144 and hardcode it with a safety zone (like BSD)
1567f29dbc25Smrg    lt_cv_sys_max_cmd_len=196608
1568f29dbc25Smrg    ;;
1569f29dbc25Smrg
1570f29dbc25Smrg  osf*)
1571f29dbc25Smrg    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1572f29dbc25Smrg    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1573f29dbc25Smrg    # nice to cause kernel panics so lets avoid the loop below.
1574f29dbc25Smrg    # First set a reasonable default.
1575f29dbc25Smrg    lt_cv_sys_max_cmd_len=16384
1576f29dbc25Smrg    #
1577f29dbc25Smrg    if test -x /sbin/sysconfig; then
1578f29dbc25Smrg      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1579f29dbc25Smrg        *1*) lt_cv_sys_max_cmd_len=-1 ;;
1580f29dbc25Smrg      esac
1581f29dbc25Smrg    fi
1582f29dbc25Smrg    ;;
1583f29dbc25Smrg  sco3.2v5*)
1584f29dbc25Smrg    lt_cv_sys_max_cmd_len=102400
1585f29dbc25Smrg    ;;
1586f29dbc25Smrg  sysv5* | sco5v6* | sysv4.2uw2*)
1587f29dbc25Smrg    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1588f29dbc25Smrg    if test -n "$kargmax"; then
1589f29dbc25Smrg      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
1590f29dbc25Smrg    else
1591f29dbc25Smrg      lt_cv_sys_max_cmd_len=32768
1592f29dbc25Smrg    fi
1593f29dbc25Smrg    ;;
1594f29dbc25Smrg  *)
1595f29dbc25Smrg    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1596f29dbc25Smrg    if test -n "$lt_cv_sys_max_cmd_len"; then
1597f29dbc25Smrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1598f29dbc25Smrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1599f29dbc25Smrg    else
1600f29dbc25Smrg      # Make teststring a little bigger before we do anything with it.
1601f29dbc25Smrg      # a 1K string should be a reasonable start.
1602f29dbc25Smrg      for i in 1 2 3 4 5 6 7 8 ; do
1603f29dbc25Smrg        teststring=$teststring$teststring
1604f29dbc25Smrg      done
1605f29dbc25Smrg      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1606f29dbc25Smrg      # If test is not a shell built-in, we'll probably end up computing a
1607f29dbc25Smrg      # maximum length that is only half of the actual maximum length, but
1608f29dbc25Smrg      # we can't tell.
1609f29dbc25Smrg      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1610f29dbc25Smrg	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
1611f29dbc25Smrg	      test $i != 17 # 1/2 MB should be enough
1612f29dbc25Smrg      do
1613f29dbc25Smrg        i=`expr $i + 1`
1614f29dbc25Smrg        teststring=$teststring$teststring
1615f29dbc25Smrg      done
1616f29dbc25Smrg      # Only check the string length outside the loop.
1617f29dbc25Smrg      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1618f29dbc25Smrg      teststring=
1619f29dbc25Smrg      # Add a significant safety factor because C++ compilers can tack on
1620f29dbc25Smrg      # massive amounts of additional arguments before passing them to the
1621f29dbc25Smrg      # linker.  It appears as though 1/2 is a usable value.
1622f29dbc25Smrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1623f29dbc25Smrg    fi
1624f29dbc25Smrg    ;;
1625f29dbc25Smrg  esac
1626f29dbc25Smrg])
1627f29dbc25Smrgif test -n $lt_cv_sys_max_cmd_len ; then
1628f29dbc25Smrg  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1629f29dbc25Smrgelse
1630f29dbc25Smrg  AC_MSG_RESULT(none)
1631f29dbc25Smrgfi
1632f29dbc25Smrgmax_cmd_len=$lt_cv_sys_max_cmd_len
1633f29dbc25Smrg_LT_DECL([], [max_cmd_len], [0],
1634f29dbc25Smrg    [What is the maximum length of a command?])
1635f29dbc25Smrg])# LT_CMD_MAX_LEN
1636f29dbc25Smrg
1637f29dbc25Smrg# Old name:
1638f29dbc25SmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1639f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
1640f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1641f29dbc25Smrg
1642f29dbc25Smrg
1643f29dbc25Smrg# _LT_HEADER_DLFCN
1644f29dbc25Smrg# ----------------
1645f29dbc25Smrgm4_defun([_LT_HEADER_DLFCN],
1646f29dbc25Smrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1647f29dbc25Smrg])# _LT_HEADER_DLFCN
1648f29dbc25Smrg
1649f29dbc25Smrg
1650f29dbc25Smrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1651f29dbc25Smrg#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1652f29dbc25Smrg# ----------------------------------------------------------------
1653f29dbc25Smrgm4_defun([_LT_TRY_DLOPEN_SELF],
1654f29dbc25Smrg[m4_require([_LT_HEADER_DLFCN])dnl
1655f29dbc25Smrgif test "$cross_compiling" = yes; then :
1656f29dbc25Smrg  [$4]
1657f29dbc25Smrgelse
1658f29dbc25Smrg  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1659f29dbc25Smrg  lt_status=$lt_dlunknown
1660f29dbc25Smrg  cat > conftest.$ac_ext <<_LT_EOF
1661f29dbc25Smrg[#line __oline__ "configure"
1662f29dbc25Smrg#include "confdefs.h"
1663f29dbc25Smrg
1664f29dbc25Smrg#if HAVE_DLFCN_H
1665f29dbc25Smrg#include <dlfcn.h>
1666f29dbc25Smrg#endif
1667f29dbc25Smrg
1668f29dbc25Smrg#include <stdio.h>
1669f29dbc25Smrg
1670f29dbc25Smrg#ifdef RTLD_GLOBAL
1671f29dbc25Smrg#  define LT_DLGLOBAL		RTLD_GLOBAL
1672f29dbc25Smrg#else
1673f29dbc25Smrg#  ifdef DL_GLOBAL
1674f29dbc25Smrg#    define LT_DLGLOBAL		DL_GLOBAL
1675f29dbc25Smrg#  else
1676f29dbc25Smrg#    define LT_DLGLOBAL		0
1677f29dbc25Smrg#  endif
1678f29dbc25Smrg#endif
1679f29dbc25Smrg
1680f29dbc25Smrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1681f29dbc25Smrg   find out it does not work in some platform. */
1682f29dbc25Smrg#ifndef LT_DLLAZY_OR_NOW
1683f29dbc25Smrg#  ifdef RTLD_LAZY
1684f29dbc25Smrg#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
1685f29dbc25Smrg#  else
1686f29dbc25Smrg#    ifdef DL_LAZY
1687f29dbc25Smrg#      define LT_DLLAZY_OR_NOW		DL_LAZY
1688f29dbc25Smrg#    else
1689f29dbc25Smrg#      ifdef RTLD_NOW
1690f29dbc25Smrg#        define LT_DLLAZY_OR_NOW	RTLD_NOW
1691f29dbc25Smrg#      else
1692f29dbc25Smrg#        ifdef DL_NOW
1693f29dbc25Smrg#          define LT_DLLAZY_OR_NOW	DL_NOW
1694f29dbc25Smrg#        else
1695f29dbc25Smrg#          define LT_DLLAZY_OR_NOW	0
1696f29dbc25Smrg#        endif
1697f29dbc25Smrg#      endif
1698f29dbc25Smrg#    endif
1699f29dbc25Smrg#  endif
1700f29dbc25Smrg#endif
1701f29dbc25Smrg
1702f29dbc25Smrgvoid fnord() { int i=42;}
1703f29dbc25Smrgint main ()
1704f29dbc25Smrg{
1705f29dbc25Smrg  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1706f29dbc25Smrg  int status = $lt_dlunknown;
1707f29dbc25Smrg
1708f29dbc25Smrg  if (self)
1709f29dbc25Smrg    {
1710f29dbc25Smrg      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
1711f29dbc25Smrg      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1712f29dbc25Smrg      /* dlclose (self); */
1713f29dbc25Smrg    }
1714f29dbc25Smrg  else
1715f29dbc25Smrg    puts (dlerror ());
1716f29dbc25Smrg
1717f29dbc25Smrg  return status;
1718f29dbc25Smrg}]
1719f29dbc25Smrg_LT_EOF
1720f29dbc25Smrg  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1721f29dbc25Smrg    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1722f29dbc25Smrg    lt_status=$?
1723f29dbc25Smrg    case x$lt_status in
1724f29dbc25Smrg      x$lt_dlno_uscore) $1 ;;
1725f29dbc25Smrg      x$lt_dlneed_uscore) $2 ;;
1726f29dbc25Smrg      x$lt_dlunknown|x*) $3 ;;
1727f29dbc25Smrg    esac
1728f29dbc25Smrg  else :
1729f29dbc25Smrg    # compilation failed
1730f29dbc25Smrg    $3
1731f29dbc25Smrg  fi
1732f29dbc25Smrgfi
1733f29dbc25Smrgrm -fr conftest*
1734f29dbc25Smrg])# _LT_TRY_DLOPEN_SELF
1735f29dbc25Smrg
1736f29dbc25Smrg
1737f29dbc25Smrg# LT_SYS_DLOPEN_SELF
1738f29dbc25Smrg# ------------------
1739f29dbc25SmrgAC_DEFUN([LT_SYS_DLOPEN_SELF],
1740f29dbc25Smrg[m4_require([_LT_HEADER_DLFCN])dnl
1741f29dbc25Smrgif test "x$enable_dlopen" != xyes; then
1742f29dbc25Smrg  enable_dlopen=unknown
1743f29dbc25Smrg  enable_dlopen_self=unknown
1744f29dbc25Smrg  enable_dlopen_self_static=unknown
1745f29dbc25Smrgelse
1746f29dbc25Smrg  lt_cv_dlopen=no
1747f29dbc25Smrg  lt_cv_dlopen_libs=
1748f29dbc25Smrg
1749f29dbc25Smrg  case $host_os in
1750f29dbc25Smrg  beos*)
1751f29dbc25Smrg    lt_cv_dlopen="load_add_on"
1752f29dbc25Smrg    lt_cv_dlopen_libs=
1753f29dbc25Smrg    lt_cv_dlopen_self=yes
1754f29dbc25Smrg    ;;
1755f29dbc25Smrg
1756f29dbc25Smrg  mingw* | pw32* | cegcc*)
1757f29dbc25Smrg    lt_cv_dlopen="LoadLibrary"
1758f29dbc25Smrg    lt_cv_dlopen_libs=
1759f29dbc25Smrg    ;;
1760f29dbc25Smrg
1761f29dbc25Smrg  cygwin*)
1762f29dbc25Smrg    lt_cv_dlopen="dlopen"
1763f29dbc25Smrg    lt_cv_dlopen_libs=
1764f29dbc25Smrg    ;;
1765f29dbc25Smrg
1766f29dbc25Smrg  darwin*)
1767f29dbc25Smrg  # if libdl is installed we need to link against it
1768f29dbc25Smrg    AC_CHECK_LIB([dl], [dlopen],
1769f29dbc25Smrg		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1770f29dbc25Smrg    lt_cv_dlopen="dyld"
1771f29dbc25Smrg    lt_cv_dlopen_libs=
1772f29dbc25Smrg    lt_cv_dlopen_self=yes
1773f29dbc25Smrg    ])
1774f29dbc25Smrg    ;;
1775f29dbc25Smrg
1776f29dbc25Smrg  *)
1777f29dbc25Smrg    AC_CHECK_FUNC([shl_load],
1778f29dbc25Smrg	  [lt_cv_dlopen="shl_load"],
1779f29dbc25Smrg      [AC_CHECK_LIB([dld], [shl_load],
1780f29dbc25Smrg	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1781f29dbc25Smrg	[AC_CHECK_FUNC([dlopen],
1782f29dbc25Smrg	      [lt_cv_dlopen="dlopen"],
1783f29dbc25Smrg	  [AC_CHECK_LIB([dl], [dlopen],
1784f29dbc25Smrg		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1785f29dbc25Smrg	    [AC_CHECK_LIB([svld], [dlopen],
1786f29dbc25Smrg		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1787f29dbc25Smrg	      [AC_CHECK_LIB([dld], [dld_link],
1788f29dbc25Smrg		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1789f29dbc25Smrg	      ])
1790f29dbc25Smrg	    ])
1791f29dbc25Smrg	  ])
1792f29dbc25Smrg	])
1793f29dbc25Smrg      ])
1794f29dbc25Smrg    ;;
1795f29dbc25Smrg  esac
1796f29dbc25Smrg
1797f29dbc25Smrg  if test "x$lt_cv_dlopen" != xno; then
1798f29dbc25Smrg    enable_dlopen=yes
1799f29dbc25Smrg  else
1800f29dbc25Smrg    enable_dlopen=no
1801f29dbc25Smrg  fi
1802f29dbc25Smrg
1803f29dbc25Smrg  case $lt_cv_dlopen in
1804f29dbc25Smrg  dlopen)
1805f29dbc25Smrg    save_CPPFLAGS="$CPPFLAGS"
1806f29dbc25Smrg    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1807f29dbc25Smrg
1808f29dbc25Smrg    save_LDFLAGS="$LDFLAGS"
1809f29dbc25Smrg    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1810f29dbc25Smrg
1811f29dbc25Smrg    save_LIBS="$LIBS"
1812f29dbc25Smrg    LIBS="$lt_cv_dlopen_libs $LIBS"
1813f29dbc25Smrg
1814f29dbc25Smrg    AC_CACHE_CHECK([whether a program can dlopen itself],
1815f29dbc25Smrg	  lt_cv_dlopen_self, [dnl
1816f29dbc25Smrg	  _LT_TRY_DLOPEN_SELF(
1817f29dbc25Smrg	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1818f29dbc25Smrg	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1819f29dbc25Smrg    ])
1820f29dbc25Smrg
1821f29dbc25Smrg    if test "x$lt_cv_dlopen_self" = xyes; then
1822f29dbc25Smrg      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1823f29dbc25Smrg      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1824f29dbc25Smrg	  lt_cv_dlopen_self_static, [dnl
1825f29dbc25Smrg	  _LT_TRY_DLOPEN_SELF(
1826f29dbc25Smrg	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1827f29dbc25Smrg	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
1828f29dbc25Smrg      ])
1829f29dbc25Smrg    fi
1830f29dbc25Smrg
1831f29dbc25Smrg    CPPFLAGS="$save_CPPFLAGS"
1832f29dbc25Smrg    LDFLAGS="$save_LDFLAGS"
1833f29dbc25Smrg    LIBS="$save_LIBS"
1834f29dbc25Smrg    ;;
1835f29dbc25Smrg  esac
1836f29dbc25Smrg
1837f29dbc25Smrg  case $lt_cv_dlopen_self in
1838f29dbc25Smrg  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1839f29dbc25Smrg  *) enable_dlopen_self=unknown ;;
1840f29dbc25Smrg  esac
1841f29dbc25Smrg
1842f29dbc25Smrg  case $lt_cv_dlopen_self_static in
1843f29dbc25Smrg  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1844f29dbc25Smrg  *) enable_dlopen_self_static=unknown ;;
1845f29dbc25Smrg  esac
1846f29dbc25Smrgfi
1847f29dbc25Smrg_LT_DECL([dlopen_support], [enable_dlopen], [0],
1848f29dbc25Smrg	 [Whether dlopen is supported])
1849f29dbc25Smrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1850f29dbc25Smrg	 [Whether dlopen of programs is supported])
1851f29dbc25Smrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1852f29dbc25Smrg	 [Whether dlopen of statically linked programs is supported])
1853f29dbc25Smrg])# LT_SYS_DLOPEN_SELF
1854f29dbc25Smrg
1855f29dbc25Smrg# Old name:
1856f29dbc25SmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1857f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
1858f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1859f29dbc25Smrg
1860f29dbc25Smrg
1861f29dbc25Smrg# _LT_COMPILER_C_O([TAGNAME])
1862f29dbc25Smrg# ---------------------------
1863f29dbc25Smrg# Check to see if options -c and -o are simultaneously supported by compiler.
1864f29dbc25Smrg# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1865f29dbc25Smrgm4_defun([_LT_COMPILER_C_O],
1866f29dbc25Smrg[m4_require([_LT_DECL_SED])dnl
1867f29dbc25Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
1868f29dbc25Smrgm4_require([_LT_TAG_COMPILER])dnl
1869f29dbc25SmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1870f29dbc25Smrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1871f29dbc25Smrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1872f29dbc25Smrg   $RM -r conftest 2>/dev/null
1873f29dbc25Smrg   mkdir conftest
1874f29dbc25Smrg   cd conftest
1875f29dbc25Smrg   mkdir out
1876f29dbc25Smrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1877f29dbc25Smrg
1878f29dbc25Smrg   lt_compiler_flag="-o out/conftest2.$ac_objext"
1879f29dbc25Smrg   # Insert the option either (1) after the last *FLAGS variable, or
1880f29dbc25Smrg   # (2) before a word containing "conftest.", or (3) at the end.
1881f29dbc25Smrg   # Note that $ac_compile itself does not contain backslashes and begins
1882f29dbc25Smrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
1883f29dbc25Smrg   lt_compile=`echo "$ac_compile" | $SED \
1884f29dbc25Smrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1885f29dbc25Smrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1886f29dbc25Smrg   -e 's:$: $lt_compiler_flag:'`
1887f29dbc25Smrg   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1888f29dbc25Smrg   (eval "$lt_compile" 2>out/conftest.err)
1889f29dbc25Smrg   ac_status=$?
1890f29dbc25Smrg   cat out/conftest.err >&AS_MESSAGE_LOG_FD
1891f29dbc25Smrg   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1892f29dbc25Smrg   if (exit $ac_status) && test -s out/conftest2.$ac_objext
1893f29dbc25Smrg   then
1894f29dbc25Smrg     # The compiler can only warn and ignore the option if not recognized
1895f29dbc25Smrg     # So say no if there are warnings
1896f29dbc25Smrg     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
1897f29dbc25Smrg     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1898f29dbc25Smrg     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1899f29dbc25Smrg       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
1900f29dbc25Smrg     fi
1901f29dbc25Smrg   fi
1902f29dbc25Smrg   chmod u+w . 2>&AS_MESSAGE_LOG_FD
1903f29dbc25Smrg   $RM conftest*
1904f29dbc25Smrg   # SGI C++ compiler will create directory out/ii_files/ for
1905f29dbc25Smrg   # template instantiation
1906f29dbc25Smrg   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1907f29dbc25Smrg   $RM out/* && rmdir out
1908f29dbc25Smrg   cd ..
1909f29dbc25Smrg   $RM -r conftest
1910f29dbc25Smrg   $RM conftest*
1911f29dbc25Smrg])
1912f29dbc25Smrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1913f29dbc25Smrg	[Does compiler simultaneously support -c and -o options?])
1914f29dbc25Smrg])# _LT_COMPILER_C_O
1915f29dbc25Smrg
1916f29dbc25Smrg
1917f29dbc25Smrg# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1918f29dbc25Smrg# ----------------------------------
1919f29dbc25Smrg# Check to see if we can do hard links to lock some files if needed
1920f29dbc25Smrgm4_defun([_LT_COMPILER_FILE_LOCKS],
1921f29dbc25Smrg[m4_require([_LT_ENABLE_LOCK])dnl
1922f29dbc25Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
1923f29dbc25Smrg_LT_COMPILER_C_O([$1])
1924f29dbc25Smrg
1925f29dbc25Smrghard_links="nottested"
1926f29dbc25Smrgif test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
1927f29dbc25Smrg  # do not overwrite the value of need_locks provided by the user
1928f29dbc25Smrg  AC_MSG_CHECKING([if we can lock with hard links])
1929f29dbc25Smrg  hard_links=yes
1930f29dbc25Smrg  $RM conftest*
1931f29dbc25Smrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
1932f29dbc25Smrg  touch conftest.a
1933f29dbc25Smrg  ln conftest.a conftest.b 2>&5 || hard_links=no
1934f29dbc25Smrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
1935f29dbc25Smrg  AC_MSG_RESULT([$hard_links])
1936f29dbc25Smrg  if test "$hard_links" = no; then
1937f29dbc25Smrg    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1938f29dbc25Smrg    need_locks=warn
1939f29dbc25Smrg  fi
1940f29dbc25Smrgelse
1941f29dbc25Smrg  need_locks=no
1942f29dbc25Smrgfi
1943f29dbc25Smrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1944f29dbc25Smrg])# _LT_COMPILER_FILE_LOCKS
1945f29dbc25Smrg
1946f29dbc25Smrg
1947f29dbc25Smrg# _LT_CHECK_OBJDIR
1948f29dbc25Smrg# ----------------
1949f29dbc25Smrgm4_defun([_LT_CHECK_OBJDIR],
1950f29dbc25Smrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1951f29dbc25Smrg[rm -f .libs 2>/dev/null
1952f29dbc25Smrgmkdir .libs 2>/dev/null
1953f29dbc25Smrgif test -d .libs; then
1954f29dbc25Smrg  lt_cv_objdir=.libs
1955f29dbc25Smrgelse
1956f29dbc25Smrg  # MS-DOS does not allow filenames that begin with a dot.
1957f29dbc25Smrg  lt_cv_objdir=_libs
1958f29dbc25Smrgfi
1959f29dbc25Smrgrmdir .libs 2>/dev/null])
1960f29dbc25Smrgobjdir=$lt_cv_objdir
1961f29dbc25Smrg_LT_DECL([], [objdir], [0],
1962f29dbc25Smrg         [The name of the directory that contains temporary libtool files])dnl
1963f29dbc25Smrgm4_pattern_allow([LT_OBJDIR])dnl
1964f29dbc25SmrgAC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1965f29dbc25Smrg  [Define to the sub-directory in which libtool stores uninstalled libraries.])
1966f29dbc25Smrg])# _LT_CHECK_OBJDIR
1967f29dbc25Smrg
1968f29dbc25Smrg
1969f29dbc25Smrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
1970f29dbc25Smrg# --------------------------------------
1971f29dbc25Smrg# Check hardcoding attributes.
1972f29dbc25Smrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
1973f29dbc25Smrg[AC_MSG_CHECKING([how to hardcode library paths into programs])
1974f29dbc25Smrg_LT_TAGVAR(hardcode_action, $1)=
1975f29dbc25Smrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
1976f29dbc25Smrg   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
1977f29dbc25Smrg   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
1978f29dbc25Smrg
1979f29dbc25Smrg  # We can hardcode non-existent directories.
1980f29dbc25Smrg  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
1981f29dbc25Smrg     # If the only mechanism to avoid hardcoding is shlibpath_var, we
1982f29dbc25Smrg     # have to relink, otherwise we might link with an installed library
1983f29dbc25Smrg     # when we should be linking with a yet-to-be-installed one
1984f29dbc25Smrg     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
1985f29dbc25Smrg     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
1986f29dbc25Smrg    # Linking always hardcodes the temporary library directory.
1987f29dbc25Smrg    _LT_TAGVAR(hardcode_action, $1)=relink
1988f29dbc25Smrg  else
1989f29dbc25Smrg    # We can link without hardcoding, and we can hardcode nonexisting dirs.
1990f29dbc25Smrg    _LT_TAGVAR(hardcode_action, $1)=immediate
1991f29dbc25Smrg  fi
1992f29dbc25Smrgelse
1993f29dbc25Smrg  # We cannot hardcode anything, or else we can only hardcode existing
1994f29dbc25Smrg  # directories.
1995f29dbc25Smrg  _LT_TAGVAR(hardcode_action, $1)=unsupported
1996f29dbc25Smrgfi
1997f29dbc25SmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
1998f29dbc25Smrg
1999f29dbc25Smrgif test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2000f29dbc25Smrg   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2001f29dbc25Smrg  # Fast installation is not supported
2002f29dbc25Smrg  enable_fast_install=no
2003f29dbc25Smrgelif test "$shlibpath_overrides_runpath" = yes ||
2004f29dbc25Smrg     test "$enable_shared" = no; then
2005f29dbc25Smrg  # Fast installation is not necessary
2006f29dbc25Smrg  enable_fast_install=needless
2007f29dbc25Smrgfi
2008f29dbc25Smrg_LT_TAGDECL([], [hardcode_action], [0],
2009f29dbc25Smrg    [How to hardcode a shared library path into an executable])
2010f29dbc25Smrg])# _LT_LINKER_HARDCODE_LIBPATH
2011f29dbc25Smrg
2012f29dbc25Smrg
2013f29dbc25Smrg# _LT_CMD_STRIPLIB
2014f29dbc25Smrg# ----------------
2015f29dbc25Smrgm4_defun([_LT_CMD_STRIPLIB],
2016f29dbc25Smrg[m4_require([_LT_DECL_EGREP])
2017f29dbc25Smrgstriplib=
2018f29dbc25Smrgold_striplib=
2019f29dbc25SmrgAC_MSG_CHECKING([whether stripping libraries is possible])
2020f29dbc25Smrgif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2021f29dbc25Smrg  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2022f29dbc25Smrg  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2023f29dbc25Smrg  AC_MSG_RESULT([yes])
2024f29dbc25Smrgelse
2025f29dbc25Smrg# FIXME - insert some real tests, host_os isn't really good enough
2026f29dbc25Smrg  case $host_os in
2027f29dbc25Smrg  darwin*)
2028f29dbc25Smrg    if test -n "$STRIP" ; then
2029f29dbc25Smrg      striplib="$STRIP -x"
2030f29dbc25Smrg      old_striplib="$STRIP -S"
2031f29dbc25Smrg      AC_MSG_RESULT([yes])
2032f29dbc25Smrg    else
2033f29dbc25Smrg      AC_MSG_RESULT([no])
2034f29dbc25Smrg    fi
2035f29dbc25Smrg    ;;
2036f29dbc25Smrg  *)
2037f29dbc25Smrg    AC_MSG_RESULT([no])
2038f29dbc25Smrg    ;;
2039f29dbc25Smrg  esac
2040f29dbc25Smrgfi
2041f29dbc25Smrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2042f29dbc25Smrg_LT_DECL([], [striplib], [1])
2043f29dbc25Smrg])# _LT_CMD_STRIPLIB
2044f29dbc25Smrg
2045f29dbc25Smrg
2046f29dbc25Smrg# _LT_SYS_DYNAMIC_LINKER([TAG])
2047f29dbc25Smrg# -----------------------------
2048f29dbc25Smrg# PORTME Fill in your ld.so characteristics
2049f29dbc25Smrgm4_defun([_LT_SYS_DYNAMIC_LINKER],
2050f29dbc25Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2051f29dbc25Smrgm4_require([_LT_DECL_EGREP])dnl
2052f29dbc25Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
2053f29dbc25Smrgm4_require([_LT_DECL_OBJDUMP])dnl
2054f29dbc25Smrgm4_require([_LT_DECL_SED])dnl
2055f29dbc25SmrgAC_MSG_CHECKING([dynamic linker characteristics])
2056f29dbc25Smrgm4_if([$1],
2057f29dbc25Smrg	[], [
2058f29dbc25Smrgif test "$GCC" = yes; then
2059f29dbc25Smrg  case $host_os in
2060f29dbc25Smrg    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2061f29dbc25Smrg    *) lt_awk_arg="/^libraries:/" ;;
2062f29dbc25Smrg  esac
2063f29dbc25Smrg  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2064f29dbc25Smrg  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
2065f29dbc25Smrg    # if the path contains ";" then we assume it to be the separator
2066f29dbc25Smrg    # otherwise default to the standard path separator (i.e. ":") - it is
2067f29dbc25Smrg    # assumed that no part of a normal pathname contains ";" but that should
2068f29dbc25Smrg    # okay in the real world where ";" in dirpaths is itself problematic.
2069f29dbc25Smrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2070f29dbc25Smrg  else
2071f29dbc25Smrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
2072f29dbc25Smrg  fi
2073f29dbc25Smrg  # Ok, now we have the path, separated by spaces, we can step through it
2074f29dbc25Smrg  # and add multilib dir if necessary.
2075f29dbc25Smrg  lt_tmp_lt_search_path_spec=
2076f29dbc25Smrg  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2077f29dbc25Smrg  for lt_sys_path in $lt_search_path_spec; do
2078f29dbc25Smrg    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2079f29dbc25Smrg      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2080f29dbc25Smrg    else
2081f29dbc25Smrg      test -d "$lt_sys_path" && \
2082f29dbc25Smrg	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2083f29dbc25Smrg    fi
2084f29dbc25Smrg  done
2085f29dbc25Smrg  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
2086f29dbc25SmrgBEGIN {RS=" "; FS="/|\n";} {
2087f29dbc25Smrg  lt_foo="";
2088f29dbc25Smrg  lt_count=0;
2089f29dbc25Smrg  for (lt_i = NF; lt_i > 0; lt_i--) {
2090f29dbc25Smrg    if ($lt_i != "" && $lt_i != ".") {
2091f29dbc25Smrg      if ($lt_i == "..") {
2092f29dbc25Smrg        lt_count++;
2093f29dbc25Smrg      } else {
2094f29dbc25Smrg        if (lt_count == 0) {
2095f29dbc25Smrg          lt_foo="/" $lt_i lt_foo;
2096f29dbc25Smrg        } else {
2097f29dbc25Smrg          lt_count--;
2098f29dbc25Smrg        }
2099f29dbc25Smrg      }
2100f29dbc25Smrg    }
2101f29dbc25Smrg  }
2102f29dbc25Smrg  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2103f29dbc25Smrg  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2104f29dbc25Smrg}'`
2105f29dbc25Smrg  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
2106f29dbc25Smrgelse
2107f29dbc25Smrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2108f29dbc25Smrgfi])
2109f29dbc25Smrglibrary_names_spec=
2110f29dbc25Smrglibname_spec='lib$name'
2111f29dbc25Smrgsoname_spec=
2112f29dbc25Smrgshrext_cmds=".so"
2113f29dbc25Smrgpostinstall_cmds=
2114f29dbc25Smrgpostuninstall_cmds=
2115f29dbc25Smrgfinish_cmds=
2116f29dbc25Smrgfinish_eval=
2117f29dbc25Smrgshlibpath_var=
2118f29dbc25Smrgshlibpath_overrides_runpath=unknown
2119f29dbc25Smrgversion_type=none
2120f29dbc25Smrgdynamic_linker="$host_os ld.so"
2121f29dbc25Smrgsys_lib_dlsearch_path_spec="/lib /usr/lib"
2122f29dbc25Smrgneed_lib_prefix=unknown
2123f29dbc25Smrghardcode_into_libs=no
2124f29dbc25Smrg
2125f29dbc25Smrg# when you set need_version to no, make sure it does not cause -set_version
2126f29dbc25Smrg# flags to be left without arguments
2127f29dbc25Smrgneed_version=unknown
2128f29dbc25Smrg
2129f29dbc25Smrgcase $host_os in
2130f29dbc25Smrgaix3*)
2131f29dbc25Smrg  version_type=linux
2132f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2133f29dbc25Smrg  shlibpath_var=LIBPATH
2134f29dbc25Smrg
2135f29dbc25Smrg  # AIX 3 has no versioning support, so we append a major version to the name.
2136f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2137f29dbc25Smrg  ;;
2138f29dbc25Smrg
2139f29dbc25Smrgaix[[4-9]]*)
2140f29dbc25Smrg  version_type=linux
2141f29dbc25Smrg  need_lib_prefix=no
2142f29dbc25Smrg  need_version=no
2143f29dbc25Smrg  hardcode_into_libs=yes
2144f29dbc25Smrg  if test "$host_cpu" = ia64; then
2145f29dbc25Smrg    # AIX 5 supports IA64
2146f29dbc25Smrg    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2147f29dbc25Smrg    shlibpath_var=LD_LIBRARY_PATH
2148f29dbc25Smrg  else
2149f29dbc25Smrg    # With GCC up to 2.95.x, collect2 would create an import file
2150f29dbc25Smrg    # for dependence libraries.  The import file would start with
2151f29dbc25Smrg    # the line `#! .'.  This would cause the generated library to
2152f29dbc25Smrg    # depend on `.', always an invalid library.  This was fixed in
2153f29dbc25Smrg    # development snapshots of GCC prior to 3.0.
2154f29dbc25Smrg    case $host_os in
2155f29dbc25Smrg      aix4 | aix4.[[01]] | aix4.[[01]].*)
2156f29dbc25Smrg      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2157f29dbc25Smrg	   echo ' yes '
2158f29dbc25Smrg	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2159f29dbc25Smrg	:
2160f29dbc25Smrg      else
2161f29dbc25Smrg	can_build_shared=no
2162f29dbc25Smrg      fi
2163f29dbc25Smrg      ;;
2164f29dbc25Smrg    esac
2165f29dbc25Smrg    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2166f29dbc25Smrg    # soname into executable. Probably we can add versioning support to
2167f29dbc25Smrg    # collect2, so additional links can be useful in future.
2168f29dbc25Smrg    if test "$aix_use_runtimelinking" = yes; then
2169f29dbc25Smrg      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2170f29dbc25Smrg      # instead of lib<name>.a to let people know that these are not
2171f29dbc25Smrg      # typical AIX shared libraries.
2172f29dbc25Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2173f29dbc25Smrg    else
2174f29dbc25Smrg      # We preserve .a as extension for shared libraries through AIX4.2
2175f29dbc25Smrg      # and later when we are not doing run time linking.
2176f29dbc25Smrg      library_names_spec='${libname}${release}.a $libname.a'
2177f29dbc25Smrg      soname_spec='${libname}${release}${shared_ext}$major'
2178f29dbc25Smrg    fi
2179f29dbc25Smrg    shlibpath_var=LIBPATH
2180f29dbc25Smrg  fi
2181f29dbc25Smrg  ;;
2182f29dbc25Smrg
2183f29dbc25Smrgamigaos*)
2184f29dbc25Smrg  case $host_cpu in
2185f29dbc25Smrg  powerpc)
2186f29dbc25Smrg    # Since July 2007 AmigaOS4 officially supports .so libraries.
2187f29dbc25Smrg    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2188f29dbc25Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2189f29dbc25Smrg    ;;
2190f29dbc25Smrg  m68k)
2191f29dbc25Smrg    library_names_spec='$libname.ixlibrary $libname.a'
2192f29dbc25Smrg    # Create ${libname}_ixlibrary.a entries in /sys/libs.
2193f29dbc25Smrg    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'
2194f29dbc25Smrg    ;;
2195f29dbc25Smrg  esac
2196f29dbc25Smrg  ;;
2197f29dbc25Smrg
2198f29dbc25Smrgbeos*)
2199f29dbc25Smrg  library_names_spec='${libname}${shared_ext}'
2200f29dbc25Smrg  dynamic_linker="$host_os ld.so"
2201f29dbc25Smrg  shlibpath_var=LIBRARY_PATH
2202f29dbc25Smrg  ;;
2203f29dbc25Smrg
2204f29dbc25Smrgbsdi[[45]]*)
2205f29dbc25Smrg  version_type=linux
2206f29dbc25Smrg  need_version=no
2207f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2208f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2209f29dbc25Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2210f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2211f29dbc25Smrg  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2212f29dbc25Smrg  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2213f29dbc25Smrg  # the default ld.so.conf also contains /usr/contrib/lib and
2214f29dbc25Smrg  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2215f29dbc25Smrg  # libtool to hard-code these into programs
2216f29dbc25Smrg  ;;
2217f29dbc25Smrg
2218f29dbc25Smrgcygwin* | mingw* | pw32* | cegcc*)
2219f29dbc25Smrg  version_type=windows
2220f29dbc25Smrg  shrext_cmds=".dll"
2221f29dbc25Smrg  need_version=no
2222f29dbc25Smrg  need_lib_prefix=no
2223f29dbc25Smrg
2224f29dbc25Smrg  case $GCC,$host_os in
2225f29dbc25Smrg  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
2226f29dbc25Smrg    library_names_spec='$libname.dll.a'
2227f29dbc25Smrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
2228f29dbc25Smrg    postinstall_cmds='base_file=`basename \${file}`~
2229f29dbc25Smrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2230f29dbc25Smrg      dldir=$destdir/`dirname \$dlpath`~
2231f29dbc25Smrg      test -d \$dldir || mkdir -p \$dldir~
2232f29dbc25Smrg      $install_prog $dir/$dlname \$dldir/$dlname~
2233f29dbc25Smrg      chmod a+x \$dldir/$dlname~
2234f29dbc25Smrg      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2235f29dbc25Smrg        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2236f29dbc25Smrg      fi'
2237f29dbc25Smrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2238f29dbc25Smrg      dlpath=$dir/\$dldll~
2239f29dbc25Smrg       $RM \$dlpath'
2240f29dbc25Smrg    shlibpath_overrides_runpath=yes
2241f29dbc25Smrg
2242f29dbc25Smrg    case $host_os in
2243f29dbc25Smrg    cygwin*)
2244f29dbc25Smrg      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2245f29dbc25Smrg      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2246f29dbc25Smrg      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2247f29dbc25Smrg      ;;
2248f29dbc25Smrg    mingw* | cegcc*)
2249f29dbc25Smrg      # MinGW DLLs use traditional 'lib' prefix
2250f29dbc25Smrg      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2251f29dbc25Smrg      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2252f29dbc25Smrg      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2253f29dbc25Smrg        # It is most probably a Windows format PATH printed by
2254f29dbc25Smrg        # mingw gcc, but we are running on Cygwin. Gcc prints its search
2255f29dbc25Smrg        # path with ; separators, and with drive letters. We can handle the
2256f29dbc25Smrg        # drive letters (cygwin fileutils understands them), so leave them,
2257f29dbc25Smrg        # especially as we might pass files found there to a mingw objdump,
2258f29dbc25Smrg        # which wouldn't understand a cygwinified path. Ahh.
2259f29dbc25Smrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2260f29dbc25Smrg      else
2261f29dbc25Smrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
2262f29dbc25Smrg      fi
2263f29dbc25Smrg      ;;
2264f29dbc25Smrg    pw32*)
2265f29dbc25Smrg      # pw32 DLLs use 'pw' prefix rather than 'lib'
2266f29dbc25Smrg      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2267f29dbc25Smrg      ;;
2268f29dbc25Smrg    esac
2269f29dbc25Smrg    ;;
2270f29dbc25Smrg
2271f29dbc25Smrg  *)
2272f29dbc25Smrg    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2273f29dbc25Smrg    ;;
2274f29dbc25Smrg  esac
2275f29dbc25Smrg  dynamic_linker='Win32 ld.exe'
2276f29dbc25Smrg  # FIXME: first we should search . and the directory the executable is in
2277f29dbc25Smrg  shlibpath_var=PATH
2278f29dbc25Smrg  ;;
2279f29dbc25Smrg
2280f29dbc25Smrgdarwin* | rhapsody*)
2281f29dbc25Smrg  dynamic_linker="$host_os dyld"
2282f29dbc25Smrg  version_type=darwin
2283f29dbc25Smrg  need_lib_prefix=no
2284f29dbc25Smrg  need_version=no
2285f29dbc25Smrg  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2286f29dbc25Smrg  soname_spec='${libname}${release}${major}$shared_ext'
2287f29dbc25Smrg  shlibpath_overrides_runpath=yes
2288f29dbc25Smrg  shlibpath_var=DYLD_LIBRARY_PATH
2289f29dbc25Smrg  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2290f29dbc25Smrgm4_if([$1], [],[
2291f29dbc25Smrg  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2292f29dbc25Smrg  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2293f29dbc25Smrg  ;;
2294f29dbc25Smrg
2295f29dbc25Smrgdgux*)
2296f29dbc25Smrg  version_type=linux
2297f29dbc25Smrg  need_lib_prefix=no
2298f29dbc25Smrg  need_version=no
2299f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2300f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2301f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2302f29dbc25Smrg  ;;
2303f29dbc25Smrg
2304f29dbc25Smrgfreebsd1*)
2305f29dbc25Smrg  dynamic_linker=no
2306f29dbc25Smrg  ;;
2307f29dbc25Smrg
2308f29dbc25Smrgfreebsd* | dragonfly*)
2309f29dbc25Smrg  # DragonFly does not have aout.  When/if they implement a new
2310f29dbc25Smrg  # versioning mechanism, adjust this.
2311f29dbc25Smrg  if test -x /usr/bin/objformat; then
2312f29dbc25Smrg    objformat=`/usr/bin/objformat`
2313f29dbc25Smrg  else
2314f29dbc25Smrg    case $host_os in
2315f29dbc25Smrg    freebsd[[123]]*) objformat=aout ;;
2316f29dbc25Smrg    *) objformat=elf ;;
2317f29dbc25Smrg    esac
2318f29dbc25Smrg  fi
2319f29dbc25Smrg  version_type=freebsd-$objformat
2320f29dbc25Smrg  case $version_type in
2321f29dbc25Smrg    freebsd-elf*)
2322f29dbc25Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2323f29dbc25Smrg      need_version=no
2324f29dbc25Smrg      need_lib_prefix=no
2325f29dbc25Smrg      ;;
2326f29dbc25Smrg    freebsd-*)
2327f29dbc25Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2328f29dbc25Smrg      need_version=yes
2329f29dbc25Smrg      ;;
2330f29dbc25Smrg  esac
2331f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2332f29dbc25Smrg  case $host_os in
2333f29dbc25Smrg  freebsd2*)
2334f29dbc25Smrg    shlibpath_overrides_runpath=yes
2335f29dbc25Smrg    ;;
2336f29dbc25Smrg  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2337f29dbc25Smrg    shlibpath_overrides_runpath=yes
2338f29dbc25Smrg    hardcode_into_libs=yes
2339f29dbc25Smrg    ;;
2340f29dbc25Smrg  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2341f29dbc25Smrg  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2342f29dbc25Smrg    shlibpath_overrides_runpath=no
2343f29dbc25Smrg    hardcode_into_libs=yes
2344f29dbc25Smrg    ;;
2345f29dbc25Smrg  *) # from 4.6 on, and DragonFly
2346f29dbc25Smrg    shlibpath_overrides_runpath=yes
2347f29dbc25Smrg    hardcode_into_libs=yes
2348f29dbc25Smrg    ;;
2349f29dbc25Smrg  esac
2350f29dbc25Smrg  ;;
2351f29dbc25Smrg
2352f29dbc25Smrggnu*)
2353f29dbc25Smrg  version_type=linux
2354f29dbc25Smrg  need_lib_prefix=no
2355f29dbc25Smrg  need_version=no
2356f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2357f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2358f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2359f29dbc25Smrg  hardcode_into_libs=yes
2360f29dbc25Smrg  ;;
2361f29dbc25Smrg
2362f29dbc25Smrghpux9* | hpux10* | hpux11*)
2363f29dbc25Smrg  # Give a soname corresponding to the major version so that dld.sl refuses to
2364f29dbc25Smrg  # link against other versions.
2365f29dbc25Smrg  version_type=sunos
2366f29dbc25Smrg  need_lib_prefix=no
2367f29dbc25Smrg  need_version=no
2368f29dbc25Smrg  case $host_cpu in
2369f29dbc25Smrg  ia64*)
2370f29dbc25Smrg    shrext_cmds='.so'
2371f29dbc25Smrg    hardcode_into_libs=yes
2372f29dbc25Smrg    dynamic_linker="$host_os dld.so"
2373f29dbc25Smrg    shlibpath_var=LD_LIBRARY_PATH
2374f29dbc25Smrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2375f29dbc25Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2376f29dbc25Smrg    soname_spec='${libname}${release}${shared_ext}$major'
2377f29dbc25Smrg    if test "X$HPUX_IA64_MODE" = X32; then
2378f29dbc25Smrg      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2379f29dbc25Smrg    else
2380f29dbc25Smrg      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2381f29dbc25Smrg    fi
2382f29dbc25Smrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2383f29dbc25Smrg    ;;
2384f29dbc25Smrg  hppa*64*)
2385f29dbc25Smrg    shrext_cmds='.sl'
2386f29dbc25Smrg    hardcode_into_libs=yes
2387f29dbc25Smrg    dynamic_linker="$host_os dld.sl"
2388f29dbc25Smrg    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2389f29dbc25Smrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2390f29dbc25Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2391f29dbc25Smrg    soname_spec='${libname}${release}${shared_ext}$major'
2392f29dbc25Smrg    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2393f29dbc25Smrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2394f29dbc25Smrg    ;;
2395f29dbc25Smrg  *)
2396f29dbc25Smrg    shrext_cmds='.sl'
2397f29dbc25Smrg    dynamic_linker="$host_os dld.sl"
2398f29dbc25Smrg    shlibpath_var=SHLIB_PATH
2399f29dbc25Smrg    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2400f29dbc25Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2401f29dbc25Smrg    soname_spec='${libname}${release}${shared_ext}$major'
2402f29dbc25Smrg    ;;
2403f29dbc25Smrg  esac
2404f29dbc25Smrg  # HP-UX runs *really* slowly unless shared libraries are mode 555.
2405f29dbc25Smrg  postinstall_cmds='chmod 555 $lib'
2406f29dbc25Smrg  ;;
2407f29dbc25Smrg
2408f29dbc25Smrginterix[[3-9]]*)
2409f29dbc25Smrg  version_type=linux
2410f29dbc25Smrg  need_lib_prefix=no
2411f29dbc25Smrg  need_version=no
2412f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2413f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2414f29dbc25Smrg  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2415f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2416f29dbc25Smrg  shlibpath_overrides_runpath=no
2417f29dbc25Smrg  hardcode_into_libs=yes
2418f29dbc25Smrg  ;;
2419f29dbc25Smrg
2420f29dbc25Smrgirix5* | irix6* | nonstopux*)
2421f29dbc25Smrg  case $host_os in
2422f29dbc25Smrg    nonstopux*) version_type=nonstopux ;;
2423f29dbc25Smrg    *)
2424f29dbc25Smrg	if test "$lt_cv_prog_gnu_ld" = yes; then
2425f29dbc25Smrg		version_type=linux
2426f29dbc25Smrg	else
2427f29dbc25Smrg		version_type=irix
2428f29dbc25Smrg	fi ;;
2429f29dbc25Smrg  esac
2430f29dbc25Smrg  need_lib_prefix=no
2431f29dbc25Smrg  need_version=no
2432f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2433f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2434f29dbc25Smrg  case $host_os in
2435f29dbc25Smrg  irix5* | nonstopux*)
2436f29dbc25Smrg    libsuff= shlibsuff=
2437f29dbc25Smrg    ;;
2438f29dbc25Smrg  *)
2439f29dbc25Smrg    case $LD in # libtool.m4 will add one of these switches to LD
2440f29dbc25Smrg    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2441f29dbc25Smrg      libsuff= shlibsuff= libmagic=32-bit;;
2442f29dbc25Smrg    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2443f29dbc25Smrg      libsuff=32 shlibsuff=N32 libmagic=N32;;
2444f29dbc25Smrg    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2445f29dbc25Smrg      libsuff=64 shlibsuff=64 libmagic=64-bit;;
2446f29dbc25Smrg    *) libsuff= shlibsuff= libmagic=never-match;;
2447f29dbc25Smrg    esac
2448f29dbc25Smrg    ;;
2449f29dbc25Smrg  esac
2450f29dbc25Smrg  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2451f29dbc25Smrg  shlibpath_overrides_runpath=no
2452f29dbc25Smrg  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2453f29dbc25Smrg  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2454f29dbc25Smrg  hardcode_into_libs=yes
2455f29dbc25Smrg  ;;
2456f29dbc25Smrg
2457f29dbc25Smrg# No shared lib support for Linux oldld, aout, or coff.
2458f29dbc25Smrglinux*oldld* | linux*aout* | linux*coff*)
2459f29dbc25Smrg  dynamic_linker=no
2460f29dbc25Smrg  ;;
2461f29dbc25Smrg
2462f29dbc25Smrg# This must be Linux ELF.
2463f29dbc25Smrglinux* | k*bsd*-gnu | kopensolaris*-gnu)
2464f29dbc25Smrg  version_type=linux
2465f29dbc25Smrg  need_lib_prefix=no
2466f29dbc25Smrg  need_version=no
2467f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2468f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2469f29dbc25Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2470f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2471f29dbc25Smrg  shlibpath_overrides_runpath=no
2472f29dbc25Smrg  # Some binutils ld are patched to set DT_RUNPATH
2473f29dbc25Smrg  save_LDFLAGS=$LDFLAGS
2474f29dbc25Smrg  save_libdir=$libdir
2475f29dbc25Smrg  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2476f29dbc25Smrg       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2477f29dbc25Smrg  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2478f29dbc25Smrg    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2479f29dbc25Smrg       [shlibpath_overrides_runpath=yes])])
2480f29dbc25Smrg  LDFLAGS=$save_LDFLAGS
2481f29dbc25Smrg  libdir=$save_libdir
2482f29dbc25Smrg
2483f29dbc25Smrg  # This implies no fast_install, which is unacceptable.
2484f29dbc25Smrg  # Some rework will be needed to allow for fast_install
2485f29dbc25Smrg  # before this can be enabled.
2486f29dbc25Smrg  hardcode_into_libs=yes
2487f29dbc25Smrg
2488f29dbc25Smrg  # Append ld.so.conf contents to the search path
2489f29dbc25Smrg  if test -f /etc/ld.so.conf; then
2490f29dbc25Smrg    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' ' '`
2491f29dbc25Smrg    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2492f29dbc25Smrg  fi
2493f29dbc25Smrg
2494f29dbc25Smrg  # We used to test for /lib/ld.so.1 and disable shared libraries on
2495f29dbc25Smrg  # powerpc, because MkLinux only supported shared libraries with the
2496f29dbc25Smrg  # GNU dynamic linker.  Since this was broken with cross compilers,
2497f29dbc25Smrg  # most powerpc-linux boxes support dynamic linking these days and
2498f29dbc25Smrg  # people can always --disable-shared, the test was removed, and we
2499f29dbc25Smrg  # assume the GNU/Linux dynamic linker is in use.
2500f29dbc25Smrg  dynamic_linker='GNU/Linux ld.so'
2501f29dbc25Smrg  ;;
2502f29dbc25Smrg
2503f29dbc25Smrgnetbsdelf*-gnu)
2504f29dbc25Smrg  version_type=linux
2505f29dbc25Smrg  need_lib_prefix=no
2506f29dbc25Smrg  need_version=no
2507f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2508f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2509f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2510f29dbc25Smrg  shlibpath_overrides_runpath=no
2511f29dbc25Smrg  hardcode_into_libs=yes
2512f29dbc25Smrg  dynamic_linker='NetBSD ld.elf_so'
2513f29dbc25Smrg  ;;
2514f29dbc25Smrg
2515f29dbc25Smrgnetbsd*)
2516f29dbc25Smrg  version_type=sunos
2517f29dbc25Smrg  need_lib_prefix=no
2518f29dbc25Smrg  need_version=no
2519f29dbc25Smrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2520f29dbc25Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2521f29dbc25Smrg    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2522f29dbc25Smrg    dynamic_linker='NetBSD (a.out) ld.so'
2523f29dbc25Smrg  else
2524f29dbc25Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2525f29dbc25Smrg    soname_spec='${libname}${release}${shared_ext}$major'
2526f29dbc25Smrg    dynamic_linker='NetBSD ld.elf_so'
2527f29dbc25Smrg  fi
2528f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2529f29dbc25Smrg  shlibpath_overrides_runpath=yes
2530f29dbc25Smrg  hardcode_into_libs=yes
2531f29dbc25Smrg  ;;
2532f29dbc25Smrg
2533f29dbc25Smrgnewsos6)
2534f29dbc25Smrg  version_type=linux
2535f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2536f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2537f29dbc25Smrg  shlibpath_overrides_runpath=yes
2538f29dbc25Smrg  ;;
2539f29dbc25Smrg
2540f29dbc25Smrg*nto* | *qnx*)
2541f29dbc25Smrg  version_type=qnx
2542f29dbc25Smrg  need_lib_prefix=no
2543f29dbc25Smrg  need_version=no
2544f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2545f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2546f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2547f29dbc25Smrg  shlibpath_overrides_runpath=no
2548f29dbc25Smrg  hardcode_into_libs=yes
2549f29dbc25Smrg  dynamic_linker='ldqnx.so'
2550f29dbc25Smrg  ;;
2551f29dbc25Smrg
2552f29dbc25Smrgopenbsd*)
2553f29dbc25Smrg  version_type=sunos
2554f29dbc25Smrg  sys_lib_dlsearch_path_spec="/usr/lib"
2555f29dbc25Smrg  need_lib_prefix=no
2556f29dbc25Smrg  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2557f29dbc25Smrg  case $host_os in
2558f29dbc25Smrg    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
2559f29dbc25Smrg    *)				need_version=no  ;;
2560f29dbc25Smrg  esac
2561f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2562f29dbc25Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2563f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2564f29dbc25Smrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2565f29dbc25Smrg    case $host_os in
2566f29dbc25Smrg      openbsd2.[[89]] | openbsd2.[[89]].*)
2567f29dbc25Smrg	shlibpath_overrides_runpath=no
2568f29dbc25Smrg	;;
2569f29dbc25Smrg      *)
2570f29dbc25Smrg	shlibpath_overrides_runpath=yes
2571f29dbc25Smrg	;;
2572f29dbc25Smrg      esac
2573f29dbc25Smrg  else
2574f29dbc25Smrg    shlibpath_overrides_runpath=yes
2575f29dbc25Smrg  fi
2576f29dbc25Smrg  ;;
2577f29dbc25Smrg
2578f29dbc25Smrgos2*)
2579f29dbc25Smrg  libname_spec='$name'
2580f29dbc25Smrg  shrext_cmds=".dll"
2581f29dbc25Smrg  need_lib_prefix=no
2582f29dbc25Smrg  library_names_spec='$libname${shared_ext} $libname.a'
2583f29dbc25Smrg  dynamic_linker='OS/2 ld.exe'
2584f29dbc25Smrg  shlibpath_var=LIBPATH
2585f29dbc25Smrg  ;;
2586f29dbc25Smrg
2587f29dbc25Smrgosf3* | osf4* | osf5*)
2588f29dbc25Smrg  version_type=osf
2589f29dbc25Smrg  need_lib_prefix=no
2590f29dbc25Smrg  need_version=no
2591f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2592f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2593f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2594f29dbc25Smrg  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2595f29dbc25Smrg  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2596f29dbc25Smrg  ;;
2597f29dbc25Smrg
2598f29dbc25Smrgrdos*)
2599f29dbc25Smrg  dynamic_linker=no
2600f29dbc25Smrg  ;;
2601f29dbc25Smrg
2602f29dbc25Smrgsolaris*)
2603f29dbc25Smrg  version_type=linux
2604f29dbc25Smrg  need_lib_prefix=no
2605f29dbc25Smrg  need_version=no
2606f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2607f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2608f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2609f29dbc25Smrg  shlibpath_overrides_runpath=yes
2610f29dbc25Smrg  hardcode_into_libs=yes
2611f29dbc25Smrg  # ldd complains unless libraries are executable
2612f29dbc25Smrg  postinstall_cmds='chmod +x $lib'
2613f29dbc25Smrg  ;;
2614f29dbc25Smrg
2615f29dbc25Smrgsunos4*)
2616f29dbc25Smrg  version_type=sunos
2617f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2618f29dbc25Smrg  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2619f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2620f29dbc25Smrg  shlibpath_overrides_runpath=yes
2621f29dbc25Smrg  if test "$with_gnu_ld" = yes; then
2622f29dbc25Smrg    need_lib_prefix=no
2623f29dbc25Smrg  fi
2624f29dbc25Smrg  need_version=yes
2625f29dbc25Smrg  ;;
2626f29dbc25Smrg
2627f29dbc25Smrgsysv4 | sysv4.3*)
2628f29dbc25Smrg  version_type=linux
2629f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2630f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2631f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2632f29dbc25Smrg  case $host_vendor in
2633f29dbc25Smrg    sni)
2634f29dbc25Smrg      shlibpath_overrides_runpath=no
2635f29dbc25Smrg      need_lib_prefix=no
2636f29dbc25Smrg      runpath_var=LD_RUN_PATH
2637f29dbc25Smrg      ;;
2638f29dbc25Smrg    siemens)
2639f29dbc25Smrg      need_lib_prefix=no
2640f29dbc25Smrg      ;;
2641f29dbc25Smrg    motorola)
2642f29dbc25Smrg      need_lib_prefix=no
2643f29dbc25Smrg      need_version=no
2644f29dbc25Smrg      shlibpath_overrides_runpath=no
2645f29dbc25Smrg      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2646f29dbc25Smrg      ;;
2647f29dbc25Smrg  esac
2648f29dbc25Smrg  ;;
2649f29dbc25Smrg
2650f29dbc25Smrgsysv4*MP*)
2651f29dbc25Smrg  if test -d /usr/nec ;then
2652f29dbc25Smrg    version_type=linux
2653f29dbc25Smrg    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2654f29dbc25Smrg    soname_spec='$libname${shared_ext}.$major'
2655f29dbc25Smrg    shlibpath_var=LD_LIBRARY_PATH
2656f29dbc25Smrg  fi
2657f29dbc25Smrg  ;;
2658f29dbc25Smrg
2659f29dbc25Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2660f29dbc25Smrg  version_type=freebsd-elf
2661f29dbc25Smrg  need_lib_prefix=no
2662f29dbc25Smrg  need_version=no
2663f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2664f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2665f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2666f29dbc25Smrg  shlibpath_overrides_runpath=yes
2667f29dbc25Smrg  hardcode_into_libs=yes
2668f29dbc25Smrg  if test "$with_gnu_ld" = yes; then
2669f29dbc25Smrg    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2670f29dbc25Smrg  else
2671f29dbc25Smrg    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2672f29dbc25Smrg    case $host_os in
2673f29dbc25Smrg      sco3.2v5*)
2674f29dbc25Smrg        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2675f29dbc25Smrg	;;
2676f29dbc25Smrg    esac
2677f29dbc25Smrg  fi
2678f29dbc25Smrg  sys_lib_dlsearch_path_spec='/usr/lib'
2679f29dbc25Smrg  ;;
2680f29dbc25Smrg
2681f29dbc25Smrgtpf*)
2682f29dbc25Smrg  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
2683f29dbc25Smrg  version_type=linux
2684f29dbc25Smrg  need_lib_prefix=no
2685f29dbc25Smrg  need_version=no
2686f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2687f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2688f29dbc25Smrg  shlibpath_overrides_runpath=no
2689f29dbc25Smrg  hardcode_into_libs=yes
2690f29dbc25Smrg  ;;
2691f29dbc25Smrg
2692f29dbc25Smrguts4*)
2693f29dbc25Smrg  version_type=linux
2694f29dbc25Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2695f29dbc25Smrg  soname_spec='${libname}${release}${shared_ext}$major'
2696f29dbc25Smrg  shlibpath_var=LD_LIBRARY_PATH
2697f29dbc25Smrg  ;;
2698f29dbc25Smrg
2699f29dbc25Smrg*)
2700f29dbc25Smrg  dynamic_linker=no
2701f29dbc25Smrg  ;;
2702f29dbc25Smrgesac
2703f29dbc25SmrgAC_MSG_RESULT([$dynamic_linker])
2704f29dbc25Smrgtest "$dynamic_linker" = no && can_build_shared=no
2705f29dbc25Smrg
2706f29dbc25Smrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2707f29dbc25Smrgif test "$GCC" = yes; then
2708f29dbc25Smrg  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2709f29dbc25Smrgfi
2710f29dbc25Smrg
2711f29dbc25Smrgif test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2712f29dbc25Smrg  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2713f29dbc25Smrgfi
2714f29dbc25Smrgif test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2715f29dbc25Smrg  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2716f29dbc25Smrgfi
2717f29dbc25Smrg
2718f29dbc25Smrg_LT_DECL([], [variables_saved_for_relink], [1],
2719f29dbc25Smrg    [Variables whose values should be saved in libtool wrapper scripts and
2720f29dbc25Smrg    restored at link time])
2721f29dbc25Smrg_LT_DECL([], [need_lib_prefix], [0],
2722f29dbc25Smrg    [Do we need the "lib" prefix for modules?])
2723f29dbc25Smrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2724f29dbc25Smrg_LT_DECL([], [version_type], [0], [Library versioning type])
2725f29dbc25Smrg_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
2726f29dbc25Smrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2727f29dbc25Smrg_LT_DECL([], [shlibpath_overrides_runpath], [0],
2728f29dbc25Smrg    [Is shlibpath searched before the hard-coded library search path?])
2729f29dbc25Smrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2730f29dbc25Smrg_LT_DECL([], [library_names_spec], [1],
2731f29dbc25Smrg    [[List of archive names.  First name is the real one, the rest are links.
2732f29dbc25Smrg    The last name is the one that the linker finds with -lNAME]])
2733f29dbc25Smrg_LT_DECL([], [soname_spec], [1],
2734f29dbc25Smrg    [[The coded name of the library, if different from the real name]])
2735f29dbc25Smrg_LT_DECL([], [postinstall_cmds], [2],
2736f29dbc25Smrg    [Command to use after installation of a shared archive])
2737f29dbc25Smrg_LT_DECL([], [postuninstall_cmds], [2],
2738f29dbc25Smrg    [Command to use after uninstallation of a shared archive])
2739f29dbc25Smrg_LT_DECL([], [finish_cmds], [2],
2740f29dbc25Smrg    [Commands used to finish a libtool library installation in a directory])
2741f29dbc25Smrg_LT_DECL([], [finish_eval], [1],
2742f29dbc25Smrg    [[As "finish_cmds", except a single script fragment to be evaled but
2743f29dbc25Smrg    not shown]])
2744f29dbc25Smrg_LT_DECL([], [hardcode_into_libs], [0],
2745f29dbc25Smrg    [Whether we should hardcode library paths into libraries])
2746f29dbc25Smrg_LT_DECL([], [sys_lib_search_path_spec], [2],
2747f29dbc25Smrg    [Compile-time system search path for libraries])
2748f29dbc25Smrg_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2749f29dbc25Smrg    [Run-time system search path for libraries])
2750f29dbc25Smrg])# _LT_SYS_DYNAMIC_LINKER
2751f29dbc25Smrg
2752f29dbc25Smrg
2753f29dbc25Smrg# _LT_PATH_TOOL_PREFIX(TOOL)
2754f29dbc25Smrg# --------------------------
2755f29dbc25Smrg# find a file program which can recognize shared library
2756f29dbc25SmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX],
2757f29dbc25Smrg[m4_require([_LT_DECL_EGREP])dnl
2758f29dbc25SmrgAC_MSG_CHECKING([for $1])
2759f29dbc25SmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2760f29dbc25Smrg[case $MAGIC_CMD in
2761f29dbc25Smrg[[\\/*] |  ?:[\\/]*])
2762f29dbc25Smrg  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2763f29dbc25Smrg  ;;
2764f29dbc25Smrg*)
2765f29dbc25Smrg  lt_save_MAGIC_CMD="$MAGIC_CMD"
2766f29dbc25Smrg  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2767f29dbc25Smrgdnl $ac_dummy forces splitting on constant user-supplied paths.
2768f29dbc25Smrgdnl POSIX.2 word splitting is done only on the output of word expansions,
2769f29dbc25Smrgdnl not every word.  This closes a longstanding sh security hole.
2770f29dbc25Smrg  ac_dummy="m4_if([$2], , $PATH, [$2])"
2771f29dbc25Smrg  for ac_dir in $ac_dummy; do
2772f29dbc25Smrg    IFS="$lt_save_ifs"
2773f29dbc25Smrg    test -z "$ac_dir" && ac_dir=.
2774f29dbc25Smrg    if test -f $ac_dir/$1; then
2775f29dbc25Smrg      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2776f29dbc25Smrg      if test -n "$file_magic_test_file"; then
2777f29dbc25Smrg	case $deplibs_check_method in
2778f29dbc25Smrg	"file_magic "*)
2779f29dbc25Smrg	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2780f29dbc25Smrg	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2781f29dbc25Smrg	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2782f29dbc25Smrg	    $EGREP "$file_magic_regex" > /dev/null; then
2783f29dbc25Smrg	    :
2784f29dbc25Smrg	  else
2785f29dbc25Smrg	    cat <<_LT_EOF 1>&2
2786f29dbc25Smrg
2787f29dbc25Smrg*** Warning: the command libtool uses to detect shared libraries,
2788f29dbc25Smrg*** $file_magic_cmd, produces output that libtool cannot recognize.
2789f29dbc25Smrg*** The result is that libtool may fail to recognize shared libraries
2790f29dbc25Smrg*** as such.  This will affect the creation of libtool libraries that
2791f29dbc25Smrg*** depend on shared libraries, but programs linked with such libtool
2792f29dbc25Smrg*** libraries will work regardless of this problem.  Nevertheless, you
2793f29dbc25Smrg*** may want to report the problem to your system manager and/or to
2794f29dbc25Smrg*** bug-libtool@gnu.org
2795f29dbc25Smrg
2796f29dbc25Smrg_LT_EOF
2797f29dbc25Smrg	  fi ;;
2798f29dbc25Smrg	esac
2799f29dbc25Smrg      fi
2800f29dbc25Smrg      break
2801f29dbc25Smrg    fi
2802f29dbc25Smrg  done
2803f29dbc25Smrg  IFS="$lt_save_ifs"
2804f29dbc25Smrg  MAGIC_CMD="$lt_save_MAGIC_CMD"
2805f29dbc25Smrg  ;;
2806f29dbc25Smrgesac])
2807f29dbc25SmrgMAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2808f29dbc25Smrgif test -n "$MAGIC_CMD"; then
2809f29dbc25Smrg  AC_MSG_RESULT($MAGIC_CMD)
2810f29dbc25Smrgelse
2811f29dbc25Smrg  AC_MSG_RESULT(no)
2812f29dbc25Smrgfi
2813f29dbc25Smrg_LT_DECL([], [MAGIC_CMD], [0],
2814f29dbc25Smrg	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2815f29dbc25Smrg])# _LT_PATH_TOOL_PREFIX
2816f29dbc25Smrg
2817f29dbc25Smrg# Old name:
2818f29dbc25SmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2819f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
2820f29dbc25Smrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
2821f29dbc25Smrg
2822f29dbc25Smrg
2823f29dbc25Smrg# _LT_PATH_MAGIC
2824f29dbc25Smrg# --------------
2825f29dbc25Smrg# find a file program which can recognize a shared library
2826f29dbc25Smrgm4_defun([_LT_PATH_MAGIC],
2827f29dbc25Smrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2828f29dbc25Smrgif test -z "$lt_cv_path_MAGIC_CMD"; then
2829f29dbc25Smrg  if test -n "$ac_tool_prefix"; then
2830f29dbc25Smrg    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2831f29dbc25Smrg  else
2832f29dbc25Smrg    MAGIC_CMD=:
2833f29dbc25Smrg  fi
2834f29dbc25Smrgfi
2835f29dbc25Smrg])# _LT_PATH_MAGIC
2836f29dbc25Smrg
2837f29dbc25Smrg
2838f29dbc25Smrg# LT_PATH_LD
2839f29dbc25Smrg# ----------
2840f29dbc25Smrg# find the pathname to the GNU or non-GNU linker
2841f29dbc25SmrgAC_DEFUN([LT_PATH_LD],
2842f29dbc25Smrg[AC_REQUIRE([AC_PROG_CC])dnl
2843f29dbc25SmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl
2844f29dbc25SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
2845f29dbc25Smrgm4_require([_LT_DECL_SED])dnl
2846f29dbc25Smrgm4_require([_LT_DECL_EGREP])dnl
2847f29dbc25Smrg
2848f29dbc25SmrgAC_ARG_WITH([gnu-ld],
2849f29dbc25Smrg    [AS_HELP_STRING([--with-gnu-ld],
2850f29dbc25Smrg	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
2851f29dbc25Smrg    [test "$withval" = no || with_gnu_ld=yes],
2852f29dbc25Smrg    [with_gnu_ld=no])dnl
2853f29dbc25Smrg
2854f29dbc25Smrgac_prog=ld
2855f29dbc25Smrgif test "$GCC" = yes; then
2856f29dbc25Smrg  # Check if gcc -print-prog-name=ld gives a path.
2857f29dbc25Smrg  AC_MSG_CHECKING([for ld used by $CC])
2858f29dbc25Smrg  case $host in
2859f29dbc25Smrg  *-*-mingw*)
2860f29dbc25Smrg    # gcc leaves a trailing carriage return which upsets mingw
2861f29dbc25Smrg    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2862f29dbc25Smrg  *)
2863f29dbc25Smrg    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2864f29dbc25Smrg  esac
2865f29dbc25Smrg  case $ac_prog in
2866f29dbc25Smrg    # Accept absolute paths.
2867f29dbc25Smrg    [[\\/]]* | ?:[[\\/]]*)
2868f29dbc25Smrg      re_direlt='/[[^/]][[^/]]*/\.\./'
2869f29dbc25Smrg      # Canonicalize the pathname of ld
2870f29dbc25Smrg      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2871f29dbc25Smrg      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2872f29dbc25Smrg	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
2873f29dbc25Smrg      done
2874f29dbc25Smrg      test -z "$LD" && LD="$ac_prog"
2875f29dbc25Smrg      ;;
2876f29dbc25Smrg  "")
2877f29dbc25Smrg    # If it fails, then pretend we aren't using GCC.
2878f29dbc25Smrg    ac_prog=ld
2879f29dbc25Smrg    ;;
2880f29dbc25Smrg  *)
2881f29dbc25Smrg    # If it is relative, then search for the first ld in PATH.
2882f29dbc25Smrg    with_gnu_ld=unknown
2883f29dbc25Smrg    ;;
2884f29dbc25Smrg  esac
2885f29dbc25Smrgelif test "$with_gnu_ld" = yes; then
2886f29dbc25Smrg  AC_MSG_CHECKING([for GNU ld])
2887f29dbc25Smrgelse
2888f29dbc25Smrg  AC_MSG_CHECKING([for non-GNU ld])
2889f29dbc25Smrgfi
2890f29dbc25SmrgAC_CACHE_VAL(lt_cv_path_LD,
2891f29dbc25Smrg[if test -z "$LD"; then
2892f29dbc25Smrg  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2893f29dbc25Smrg  for ac_dir in $PATH; do
2894f29dbc25Smrg    IFS="$lt_save_ifs"
2895f29dbc25Smrg    test -z "$ac_dir" && ac_dir=.
2896f29dbc25Smrg    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2897f29dbc25Smrg      lt_cv_path_LD="$ac_dir/$ac_prog"
2898f29dbc25Smrg      # Check to see if the program is GNU ld.  I'd rather use --version,
2899f29dbc25Smrg      # but apparently some variants of GNU ld only accept -v.
2900f29dbc25Smrg      # Break only if it was the GNU/non-GNU ld that we prefer.
2901f29dbc25Smrg      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2902f29dbc25Smrg      *GNU* | *'with BFD'*)
2903f29dbc25Smrg	test "$with_gnu_ld" != no && break
2904f29dbc25Smrg	;;
2905f29dbc25Smrg      *)
2906f29dbc25Smrg	test "$with_gnu_ld" != yes && break
2907f29dbc25Smrg	;;
2908f29dbc25Smrg      esac
2909f29dbc25Smrg    fi
2910f29dbc25Smrg  done
2911f29dbc25Smrg  IFS="$lt_save_ifs"
2912f29dbc25Smrgelse
2913f29dbc25Smrg  lt_cv_path_LD="$LD" # Let the user override the test with a path.
2914f29dbc25Smrgfi])
2915f29dbc25SmrgLD="$lt_cv_path_LD"
2916f29dbc25Smrgif test -n "$LD"; then
2917f29dbc25Smrg  AC_MSG_RESULT($LD)
2918f29dbc25Smrgelse
2919f29dbc25Smrg  AC_MSG_RESULT(no)
2920f29dbc25Smrgfi
2921f29dbc25Smrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2922f29dbc25Smrg_LT_PATH_LD_GNU
2923f29dbc25SmrgAC_SUBST([LD])
2924f29dbc25Smrg
2925f29dbc25Smrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2926f29dbc25Smrg])# LT_PATH_LD
2927f29dbc25Smrg
2928f29dbc25Smrg# Old names:
2929f29dbc25SmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2930f29dbc25SmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2931f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
2932f29dbc25Smrgdnl AC_DEFUN([AM_PROG_LD], [])
2933f29dbc25Smrgdnl AC_DEFUN([AC_PROG_LD], [])
2934f29dbc25Smrg
2935f29dbc25Smrg
2936f29dbc25Smrg# _LT_PATH_LD_GNU
2937f29dbc25Smrg#- --------------
2938f29dbc25Smrgm4_defun([_LT_PATH_LD_GNU],
2939f29dbc25Smrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2940f29dbc25Smrg[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2941f29dbc25Smrgcase `$LD -v 2>&1 </dev/null` in
2942f29dbc25Smrg*GNU* | *'with BFD'*)
2943f29dbc25Smrg  lt_cv_prog_gnu_ld=yes
2944f29dbc25Smrg  ;;
2945f29dbc25Smrg*)
2946f29dbc25Smrg  lt_cv_prog_gnu_ld=no
2947f29dbc25Smrg  ;;
2948f29dbc25Smrgesac])
2949f29dbc25Smrgwith_gnu_ld=$lt_cv_prog_gnu_ld
2950f29dbc25Smrg])# _LT_PATH_LD_GNU
2951f29dbc25Smrg
2952f29dbc25Smrg
2953f29dbc25Smrg# _LT_CMD_RELOAD
2954f29dbc25Smrg# --------------
2955f29dbc25Smrg# find reload flag for linker
2956f29dbc25Smrg#   -- PORTME Some linkers may need a different reload flag.
2957f29dbc25Smrgm4_defun([_LT_CMD_RELOAD],
2958f29dbc25Smrg[AC_CACHE_CHECK([for $LD option to reload object files],
2959f29dbc25Smrg  lt_cv_ld_reload_flag,
2960f29dbc25Smrg  [lt_cv_ld_reload_flag='-r'])
2961f29dbc25Smrgreload_flag=$lt_cv_ld_reload_flag
2962f29dbc25Smrgcase $reload_flag in
2963f29dbc25Smrg"" | " "*) ;;
2964f29dbc25Smrg*) reload_flag=" $reload_flag" ;;
2965f29dbc25Smrgesac
2966f29dbc25Smrgreload_cmds='$LD$reload_flag -o $output$reload_objs'
2967f29dbc25Smrgcase $host_os in
2968f29dbc25Smrg  darwin*)
2969f29dbc25Smrg    if test "$GCC" = yes; then
2970f29dbc25Smrg      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2971f29dbc25Smrg    else
2972f29dbc25Smrg      reload_cmds='$LD$reload_flag -o $output$reload_objs'
2973f29dbc25Smrg    fi
2974f29dbc25Smrg    ;;
2975f29dbc25Smrgesac
2976f29dbc25Smrg_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2977f29dbc25Smrg_LT_DECL([], [reload_cmds], [2])dnl
2978f29dbc25Smrg])# _LT_CMD_RELOAD
2979f29dbc25Smrg
2980f29dbc25Smrg
2981f29dbc25Smrg# _LT_CHECK_MAGIC_METHOD
2982f29dbc25Smrg# ----------------------
2983f29dbc25Smrg# how to check for library dependencies
2984f29dbc25Smrg#  -- PORTME fill in with the dynamic library characteristics
2985f29dbc25Smrgm4_defun([_LT_CHECK_MAGIC_METHOD],
2986f29dbc25Smrg[m4_require([_LT_DECL_EGREP])
2987f29dbc25Smrgm4_require([_LT_DECL_OBJDUMP])
2988f29dbc25SmrgAC_CACHE_CHECK([how to recognize dependent libraries],
2989f29dbc25Smrglt_cv_deplibs_check_method,
2990f29dbc25Smrg[lt_cv_file_magic_cmd='$MAGIC_CMD'
2991f29dbc25Smrglt_cv_file_magic_test_file=
2992f29dbc25Smrglt_cv_deplibs_check_method='unknown'
2993f29dbc25Smrg# Need to set the preceding variable on all platforms that support
2994f29dbc25Smrg# interlibrary dependencies.
2995f29dbc25Smrg# 'none' -- dependencies not supported.
2996f29dbc25Smrg# `unknown' -- same as none, but documents that we really don't know.
2997f29dbc25Smrg# 'pass_all' -- all dependencies passed with no checks.
2998f29dbc25Smrg# 'test_compile' -- check by making test program.
2999f29dbc25Smrg# 'file_magic [[regex]]' -- check by looking for files in library path
3000f29dbc25Smrg# which responds to the $file_magic_cmd with a given extended regex.
3001f29dbc25Smrg# If you have `file' or equivalent on your system and you're not sure
3002f29dbc25Smrg# whether `pass_all' will *always* work, you probably want this one.
3003f29dbc25Smrg
3004f29dbc25Smrgcase $host_os in
3005f29dbc25Smrgaix[[4-9]]*)
3006f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3007f29dbc25Smrg  ;;
3008f29dbc25Smrg
3009f29dbc25Smrgbeos*)
3010f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3011f29dbc25Smrg  ;;
3012f29dbc25Smrg
3013f29dbc25Smrgbsdi[[45]]*)
3014f29dbc25Smrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3015f29dbc25Smrg  lt_cv_file_magic_cmd='/usr/bin/file -L'
3016f29dbc25Smrg  lt_cv_file_magic_test_file=/shlib/libc.so
3017f29dbc25Smrg  ;;
3018f29dbc25Smrg
3019f29dbc25Smrgcygwin*)
3020f29dbc25Smrg  # func_win32_libid is a shell function defined in ltmain.sh
3021f29dbc25Smrg  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3022f29dbc25Smrg  lt_cv_file_magic_cmd='func_win32_libid'
3023f29dbc25Smrg  ;;
3024f29dbc25Smrg
3025f29dbc25Smrgmingw* | pw32*)
3026f29dbc25Smrg  # Base MSYS/MinGW do not provide the 'file' command needed by
3027f29dbc25Smrg  # func_win32_libid shell function, so use a weaker test based on 'objdump',
3028f29dbc25Smrg  # unless we find 'file', for example because we are cross-compiling.
3029f29dbc25Smrg  if ( file / ) >/dev/null 2>&1; then
3030f29dbc25Smrg    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3031f29dbc25Smrg    lt_cv_file_magic_cmd='func_win32_libid'
3032f29dbc25Smrg  else
3033f29dbc25Smrg    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3034f29dbc25Smrg    lt_cv_file_magic_cmd='$OBJDUMP -f'
3035f29dbc25Smrg  fi
3036f29dbc25Smrg  ;;
3037f29dbc25Smrg
3038f29dbc25Smrgcegcc)
3039f29dbc25Smrg  # use the weaker test based on 'objdump'. See mingw*.
3040f29dbc25Smrg  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3041f29dbc25Smrg  lt_cv_file_magic_cmd='$OBJDUMP -f'
3042f29dbc25Smrg  ;;
3043f29dbc25Smrg
3044f29dbc25Smrgdarwin* | rhapsody*)
3045f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3046f29dbc25Smrg  ;;
3047f29dbc25Smrg
3048f29dbc25Smrgfreebsd* | dragonfly*)
3049f29dbc25Smrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3050f29dbc25Smrg    case $host_cpu in
3051f29dbc25Smrg    i*86 )
3052f29dbc25Smrg      # Not sure whether the presence of OpenBSD here was a mistake.
3053f29dbc25Smrg      # Let's accept both of them until this is cleared up.
3054f29dbc25Smrg      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3055f29dbc25Smrg      lt_cv_file_magic_cmd=/usr/bin/file
3056f29dbc25Smrg      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3057f29dbc25Smrg      ;;
3058f29dbc25Smrg    esac
3059f29dbc25Smrg  else
3060f29dbc25Smrg    lt_cv_deplibs_check_method=pass_all
3061f29dbc25Smrg  fi
3062f29dbc25Smrg  ;;
3063f29dbc25Smrg
3064f29dbc25Smrggnu*)
3065f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3066f29dbc25Smrg  ;;
3067f29dbc25Smrg
3068f29dbc25Smrghpux10.20* | hpux11*)
3069f29dbc25Smrg  lt_cv_file_magic_cmd=/usr/bin/file
3070f29dbc25Smrg  case $host_cpu in
3071f29dbc25Smrg  ia64*)
3072f29dbc25Smrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3073f29dbc25Smrg    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3074f29dbc25Smrg    ;;
3075f29dbc25Smrg  hppa*64*)
3076f29dbc25Smrg    [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]']
3077f29dbc25Smrg    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3078f29dbc25Smrg    ;;
3079f29dbc25Smrg  *)
3080f29dbc25Smrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3081f29dbc25Smrg    lt_cv_file_magic_test_file=/usr/lib/libc.sl
3082f29dbc25Smrg    ;;
3083f29dbc25Smrg  esac
3084f29dbc25Smrg  ;;
3085f29dbc25Smrg
3086f29dbc25Smrginterix[[3-9]]*)
3087f29dbc25Smrg  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3088f29dbc25Smrg  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3089f29dbc25Smrg  ;;
3090f29dbc25Smrg
3091f29dbc25Smrgirix5* | irix6* | nonstopux*)
3092f29dbc25Smrg  case $LD in
3093f29dbc25Smrg  *-32|*"-32 ") libmagic=32-bit;;
3094f29dbc25Smrg  *-n32|*"-n32 ") libmagic=N32;;
3095f29dbc25Smrg  *-64|*"-64 ") libmagic=64-bit;;
3096f29dbc25Smrg  *) libmagic=never-match;;
3097f29dbc25Smrg  esac
3098f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3099f29dbc25Smrg  ;;
3100f29dbc25Smrg
3101f29dbc25Smrg# This must be Linux ELF.
3102f29dbc25Smrglinux* | k*bsd*-gnu | kopensolaris*-gnu)
3103f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3104f29dbc25Smrg  ;;
3105f29dbc25Smrg
3106f29dbc25Smrgnetbsd* | netbsdelf*-gnu)
3107f29dbc25Smrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3108f29dbc25Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3109f29dbc25Smrg  else
3110f29dbc25Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3111f29dbc25Smrg  fi
3112f29dbc25Smrg  ;;
3113f29dbc25Smrg
3114f29dbc25Smrgnewos6*)
3115f29dbc25Smrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3116f29dbc25Smrg  lt_cv_file_magic_cmd=/usr/bin/file
3117f29dbc25Smrg  lt_cv_file_magic_test_file=/usr/lib/libnls.so
3118f29dbc25Smrg  ;;
3119f29dbc25Smrg
3120f29dbc25Smrg*nto* | *qnx*)
3121f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3122f29dbc25Smrg  ;;
3123f29dbc25Smrg
3124f29dbc25Smrgopenbsd*)
3125f29dbc25Smrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3126f29dbc25Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3127f29dbc25Smrg  else
3128f29dbc25Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3129f29dbc25Smrg  fi
3130f29dbc25Smrg  ;;
3131f29dbc25Smrg
3132f29dbc25Smrgosf3* | osf4* | osf5*)
3133f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3134f29dbc25Smrg  ;;
3135f29dbc25Smrg
3136f29dbc25Smrgrdos*)
3137f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3138f29dbc25Smrg  ;;
3139f29dbc25Smrg
3140f29dbc25Smrgsolaris*)
3141f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3142f29dbc25Smrg  ;;
3143f29dbc25Smrg
3144f29dbc25Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3145f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3146f29dbc25Smrg  ;;
3147f29dbc25Smrg
3148f29dbc25Smrgsysv4 | sysv4.3*)
3149f29dbc25Smrg  case $host_vendor in
3150f29dbc25Smrg  motorola)
3151f29dbc25Smrg    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]]'
3152f29dbc25Smrg    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3153f29dbc25Smrg    ;;
3154f29dbc25Smrg  ncr)
3155f29dbc25Smrg    lt_cv_deplibs_check_method=pass_all
3156f29dbc25Smrg    ;;
3157f29dbc25Smrg  sequent)
3158f29dbc25Smrg    lt_cv_file_magic_cmd='/bin/file'
3159f29dbc25Smrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3160f29dbc25Smrg    ;;
3161f29dbc25Smrg  sni)
3162f29dbc25Smrg    lt_cv_file_magic_cmd='/bin/file'
3163f29dbc25Smrg    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3164f29dbc25Smrg    lt_cv_file_magic_test_file=/lib/libc.so
3165f29dbc25Smrg    ;;
3166f29dbc25Smrg  siemens)
3167f29dbc25Smrg    lt_cv_deplibs_check_method=pass_all
3168f29dbc25Smrg    ;;
3169f29dbc25Smrg  pc)
3170f29dbc25Smrg    lt_cv_deplibs_check_method=pass_all
3171f29dbc25Smrg    ;;
3172f29dbc25Smrg  esac
3173f29dbc25Smrg  ;;
3174f29dbc25Smrg
3175f29dbc25Smrgtpf*)
3176f29dbc25Smrg  lt_cv_deplibs_check_method=pass_all
3177f29dbc25Smrg  ;;
3178f29dbc25Smrgesac
3179f29dbc25Smrg])
3180f29dbc25Smrgfile_magic_cmd=$lt_cv_file_magic_cmd
3181f29dbc25Smrgdeplibs_check_method=$lt_cv_deplibs_check_method
3182f29dbc25Smrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown
3183f29dbc25Smrg
3184f29dbc25Smrg_LT_DECL([], [deplibs_check_method], [1],
3185f29dbc25Smrg    [Method to check whether dependent libraries are shared objects])
3186f29dbc25Smrg_LT_DECL([], [file_magic_cmd], [1],
3187f29dbc25Smrg    [Command to use when deplibs_check_method == "file_magic"])
3188f29dbc25Smrg])# _LT_CHECK_MAGIC_METHOD
3189f29dbc25Smrg
3190f29dbc25Smrg
3191f29dbc25Smrg# LT_PATH_NM
3192f29dbc25Smrg# ----------
3193f29dbc25Smrg# find the pathname to a BSD- or MS-compatible name lister
3194f29dbc25SmrgAC_DEFUN([LT_PATH_NM],
3195f29dbc25Smrg[AC_REQUIRE([AC_PROG_CC])dnl
3196f29dbc25SmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3197f29dbc25Smrg[if test -n "$NM"; then
3198f29dbc25Smrg  # Let the user override the test.
3199f29dbc25Smrg  lt_cv_path_NM="$NM"
3200f29dbc25Smrgelse
3201f29dbc25Smrg  lt_nm_to_check="${ac_tool_prefix}nm"
3202f29dbc25Smrg  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3203f29dbc25Smrg    lt_nm_to_check="$lt_nm_to_check nm"
3204f29dbc25Smrg  fi
3205f29dbc25Smrg  for lt_tmp_nm in $lt_nm_to_check; do
3206f29dbc25Smrg    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3207f29dbc25Smrg    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3208f29dbc25Smrg      IFS="$lt_save_ifs"
3209f29dbc25Smrg      test -z "$ac_dir" && ac_dir=.
3210f29dbc25Smrg      tmp_nm="$ac_dir/$lt_tmp_nm"
3211f29dbc25Smrg      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3212f29dbc25Smrg	# Check to see if the nm accepts a BSD-compat flag.
3213f29dbc25Smrg	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
3214f29dbc25Smrg	#   nm: unknown option "B" ignored
3215f29dbc25Smrg	# Tru64's nm complains that /dev/null is an invalid object file
3216f29dbc25Smrg	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3217f29dbc25Smrg	*/dev/null* | *'Invalid file or object type'*)
3218f29dbc25Smrg	  lt_cv_path_NM="$tmp_nm -B"
3219f29dbc25Smrg	  break
3220f29dbc25Smrg	  ;;
3221f29dbc25Smrg	*)
3222f29dbc25Smrg	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3223f29dbc25Smrg	  */dev/null*)
3224f29dbc25Smrg	    lt_cv_path_NM="$tmp_nm -p"
3225f29dbc25Smrg	    break
3226f29dbc25Smrg	    ;;
3227f29dbc25Smrg	  *)
3228f29dbc25Smrg	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3229f29dbc25Smrg	    continue # so that we can try to find one that supports BSD flags
3230f29dbc25Smrg	    ;;
3231f29dbc25Smrg	  esac
3232f29dbc25Smrg	  ;;
3233f29dbc25Smrg	esac
3234f29dbc25Smrg      fi
3235f29dbc25Smrg    done
3236f29dbc25Smrg    IFS="$lt_save_ifs"
3237f29dbc25Smrg  done
3238f29dbc25Smrg  : ${lt_cv_path_NM=no}
3239f29dbc25Smrgfi])
3240f29dbc25Smrgif test "$lt_cv_path_NM" != "no"; then
3241f29dbc25Smrg  NM="$lt_cv_path_NM"
3242f29dbc25Smrgelse
3243f29dbc25Smrg  # Didn't find any BSD compatible name lister, look for dumpbin.
3244f29dbc25Smrg  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
3245f29dbc25Smrg  AC_SUBST([DUMPBIN])
3246f29dbc25Smrg  if test "$DUMPBIN" != ":"; then
3247f29dbc25Smrg    NM="$DUMPBIN"
3248f29dbc25Smrg  fi
3249f29dbc25Smrgfi
3250f29dbc25Smrgtest -z "$NM" && NM=nm
3251f29dbc25SmrgAC_SUBST([NM])
3252f29dbc25Smrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3253f29dbc25Smrg
3254f29dbc25SmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3255f29dbc25Smrg  [lt_cv_nm_interface="BSD nm"
3256f29dbc25Smrg  echo "int some_variable = 0;" > conftest.$ac_ext
3257f29dbc25Smrg  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3258f29dbc25Smrg  (eval "$ac_compile" 2>conftest.err)
3259f29dbc25Smrg  cat conftest.err >&AS_MESSAGE_LOG_FD
3260f29dbc25Smrg  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3261f29dbc25Smrg  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3262f29dbc25Smrg  cat conftest.err >&AS_MESSAGE_LOG_FD
3263f29dbc25Smrg  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
3264f29dbc25Smrg  cat conftest.out >&AS_MESSAGE_LOG_FD
3265f29dbc25Smrg  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3266f29dbc25Smrg    lt_cv_nm_interface="MS dumpbin"
3267f29dbc25Smrg  fi
3268f29dbc25Smrg  rm -f conftest*])
3269f29dbc25Smrg])# LT_PATH_NM
3270f29dbc25Smrg
3271f29dbc25Smrg# Old names:
3272f29dbc25SmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3273f29dbc25SmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3274f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
3275f29dbc25Smrgdnl AC_DEFUN([AM_PROG_NM], [])
3276f29dbc25Smrgdnl AC_DEFUN([AC_PROG_NM], [])
3277f29dbc25Smrg
3278f29dbc25Smrg
3279f29dbc25Smrg# LT_LIB_M
3280f29dbc25Smrg# --------
3281f29dbc25Smrg# check for math library
3282f29dbc25SmrgAC_DEFUN([LT_LIB_M],
3283f29dbc25Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3284f29dbc25SmrgLIBM=
3285f29dbc25Smrgcase $host in
3286f29dbc25Smrg*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3287f29dbc25Smrg  # These system don't have libm, or don't need it
3288f29dbc25Smrg  ;;
3289f29dbc25Smrg*-ncr-sysv4.3*)
3290f29dbc25Smrg  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3291f29dbc25Smrg  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3292f29dbc25Smrg  ;;
3293f29dbc25Smrg*)
3294f29dbc25Smrg  AC_CHECK_LIB(m, cos, LIBM="-lm")
3295f29dbc25Smrg  ;;
3296f29dbc25Smrgesac
3297f29dbc25SmrgAC_SUBST([LIBM])
3298f29dbc25Smrg])# LT_LIB_M
3299f29dbc25Smrg
3300f29dbc25Smrg# Old name:
3301f29dbc25SmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3302f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
3303f29dbc25Smrgdnl AC_DEFUN([AC_CHECK_LIBM], [])
3304f29dbc25Smrg
3305f29dbc25Smrg
3306f29dbc25Smrg# _LT_COMPILER_NO_RTTI([TAGNAME])
3307f29dbc25Smrg# -------------------------------
3308f29dbc25Smrgm4_defun([_LT_COMPILER_NO_RTTI],
3309f29dbc25Smrg[m4_require([_LT_TAG_COMPILER])dnl
3310f29dbc25Smrg
3311f29dbc25Smrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3312f29dbc25Smrg
3313f29dbc25Smrgif test "$GCC" = yes; then
3314f29dbc25Smrg  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3315f29dbc25Smrg
3316f29dbc25Smrg  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3317f29dbc25Smrg    lt_cv_prog_compiler_rtti_exceptions,
3318f29dbc25Smrg    [-fno-rtti -fno-exceptions], [],
3319f29dbc25Smrg    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3320f29dbc25Smrgfi
3321f29dbc25Smrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3322f29dbc25Smrg	[Compiler flag to turn off builtin functions])
3323f29dbc25Smrg])# _LT_COMPILER_NO_RTTI
3324f29dbc25Smrg
3325f29dbc25Smrg
3326f29dbc25Smrg# _LT_CMD_GLOBAL_SYMBOLS
3327f29dbc25Smrg# ----------------------
3328f29dbc25Smrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3329f29dbc25Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3330f29dbc25SmrgAC_REQUIRE([AC_PROG_CC])dnl
3331f29dbc25SmrgAC_REQUIRE([LT_PATH_NM])dnl
3332f29dbc25SmrgAC_REQUIRE([LT_PATH_LD])dnl
3333f29dbc25Smrgm4_require([_LT_DECL_SED])dnl
3334f29dbc25Smrgm4_require([_LT_DECL_EGREP])dnl
3335f29dbc25Smrgm4_require([_LT_TAG_COMPILER])dnl
3336f29dbc25Smrg
3337f29dbc25Smrg# Check for command to grab the raw symbol name followed by C symbol from nm.
3338f29dbc25SmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object])
3339f29dbc25SmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3340f29dbc25Smrg[
3341f29dbc25Smrg# These are sane defaults that work on at least a few old systems.
3342f29dbc25Smrg# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
3343f29dbc25Smrg
3344f29dbc25Smrg# Character class describing NM global symbol codes.
3345f29dbc25Smrgsymcode='[[BCDEGRST]]'
3346f29dbc25Smrg
3347f29dbc25Smrg# Regexp to match symbols that can be accessed directly from C.
3348f29dbc25Smrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3349f29dbc25Smrg
3350f29dbc25Smrg# Define system-specific variables.
3351f29dbc25Smrgcase $host_os in
3352f29dbc25Smrgaix*)
3353f29dbc25Smrg  symcode='[[BCDT]]'
3354f29dbc25Smrg  ;;
3355f29dbc25Smrgcygwin* | mingw* | pw32* | cegcc*)
3356f29dbc25Smrg  symcode='[[ABCDGISTW]]'
3357f29dbc25Smrg  ;;
3358f29dbc25Smrghpux*)
3359f29dbc25Smrg  if test "$host_cpu" = ia64; then
3360f29dbc25Smrg    symcode='[[ABCDEGRST]]'
3361f29dbc25Smrg  fi
3362f29dbc25Smrg  ;;
3363f29dbc25Smrgirix* | nonstopux*)
3364f29dbc25Smrg  symcode='[[BCDEGRST]]'
3365f29dbc25Smrg  ;;
3366f29dbc25Smrgosf*)
3367f29dbc25Smrg  symcode='[[BCDEGQRST]]'
3368f29dbc25Smrg  ;;
3369f29dbc25Smrgsolaris*)
3370f29dbc25Smrg  symcode='[[BDRT]]'
3371f29dbc25Smrg  ;;
3372f29dbc25Smrgsco3.2v5*)
3373f29dbc25Smrg  symcode='[[DT]]'
3374f29dbc25Smrg  ;;
3375f29dbc25Smrgsysv4.2uw2*)
3376f29dbc25Smrg  symcode='[[DT]]'
3377f29dbc25Smrg  ;;
3378f29dbc25Smrgsysv5* | sco5v6* | unixware* | OpenUNIX*)
3379f29dbc25Smrg  symcode='[[ABDT]]'
3380f29dbc25Smrg  ;;
3381f29dbc25Smrgsysv4)
3382f29dbc25Smrg  symcode='[[DFNSTU]]'
3383f29dbc25Smrg  ;;
3384f29dbc25Smrgesac
3385f29dbc25Smrg
3386f29dbc25Smrg# If we're using GNU nm, then use its standard symbol codes.
3387f29dbc25Smrgcase `$NM -V 2>&1` in
3388f29dbc25Smrg*GNU* | *'with BFD'*)
3389f29dbc25Smrg  symcode='[[ABCDGIRSTW]]' ;;
3390f29dbc25Smrgesac
3391f29dbc25Smrg
3392f29dbc25Smrg# Transform an extracted symbol line into a proper C declaration.
3393f29dbc25Smrg# Some systems (esp. on ia64) link data and code symbols differently,
3394f29dbc25Smrg# so use this general approach.
3395f29dbc25Smrglt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3396f29dbc25Smrg
3397f29dbc25Smrg# Transform an extracted symbol line into symbol name and symbol address
3398f29dbc25Smrglt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
3399f29dbc25Smrglt_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'"
3400f29dbc25Smrg
3401f29dbc25Smrg# Handle CRLF in mingw tool chain
3402f29dbc25Smrgopt_cr=
3403f29dbc25Smrgcase $build_os in
3404f29dbc25Smrgmingw*)
3405f29dbc25Smrg  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3406f29dbc25Smrg  ;;
3407f29dbc25Smrgesac
3408f29dbc25Smrg
3409f29dbc25Smrg# Try without a prefix underscore, then with it.
3410f29dbc25Smrgfor ac_symprfx in "" "_"; do
3411f29dbc25Smrg
3412f29dbc25Smrg  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3413f29dbc25Smrg  symxfrm="\\1 $ac_symprfx\\2 \\2"
3414f29dbc25Smrg
3415f29dbc25Smrg  # Write the raw and C identifiers.
3416f29dbc25Smrg  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3417f29dbc25Smrg    # Fake it for dumpbin and say T for any non-static function
3418f29dbc25Smrg    # and D for any global variable.
3419f29dbc25Smrg    # Also find C++ and __fastcall symbols from MSVC++,
3420f29dbc25Smrg    # which start with @ or ?.
3421f29dbc25Smrg    lt_cv_sys_global_symbol_pipe="$AWK ['"\
3422f29dbc25Smrg"     {last_section=section; section=\$ 3};"\
3423f29dbc25Smrg"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3424f29dbc25Smrg"     \$ 0!~/External *\|/{next};"\
3425f29dbc25Smrg"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3426f29dbc25Smrg"     {if(hide[section]) next};"\
3427f29dbc25Smrg"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3428f29dbc25Smrg"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3429f29dbc25Smrg"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
3430f29dbc25Smrg"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3431f29dbc25Smrg"     ' prfx=^$ac_symprfx]"
3432f29dbc25Smrg  else
3433f29dbc25Smrg    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3434f29dbc25Smrg  fi
3435f29dbc25Smrg
3436f29dbc25Smrg  # Check to see that the pipe works correctly.
3437f29dbc25Smrg  pipe_works=no
3438f29dbc25Smrg
3439f29dbc25Smrg  rm -f conftest*
3440f29dbc25Smrg  cat > conftest.$ac_ext <<_LT_EOF
3441f29dbc25Smrg#ifdef __cplusplus
3442f29dbc25Smrgextern "C" {
3443f29dbc25Smrg#endif
3444f29dbc25Smrgchar nm_test_var;
3445f29dbc25Smrgvoid nm_test_func(void);
3446f29dbc25Smrgvoid nm_test_func(void){}
3447f29dbc25Smrg#ifdef __cplusplus
3448f29dbc25Smrg}
3449f29dbc25Smrg#endif
3450f29dbc25Smrgint main(){nm_test_var='a';nm_test_func();return(0);}
3451f29dbc25Smrg_LT_EOF
3452f29dbc25Smrg
3453f29dbc25Smrg  if AC_TRY_EVAL(ac_compile); then
3454f29dbc25Smrg    # Now try to grab the symbols.
3455f29dbc25Smrg    nlist=conftest.nm
3456f29dbc25Smrg    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3457f29dbc25Smrg      # Try sorting and uniquifying the output.
3458f29dbc25Smrg      if sort "$nlist" | uniq > "$nlist"T; then
3459f29dbc25Smrg	mv -f "$nlist"T "$nlist"
3460f29dbc25Smrg      else
3461f29dbc25Smrg	rm -f "$nlist"T
3462f29dbc25Smrg      fi
3463f29dbc25Smrg
3464f29dbc25Smrg      # Make sure that we snagged all the symbols we need.
3465f29dbc25Smrg      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3466f29dbc25Smrg	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3467f29dbc25Smrg	  cat <<_LT_EOF > conftest.$ac_ext
3468f29dbc25Smrg#ifdef __cplusplus
3469f29dbc25Smrgextern "C" {
3470f29dbc25Smrg#endif
3471f29dbc25Smrg
3472f29dbc25Smrg_LT_EOF
3473f29dbc25Smrg	  # Now generate the symbol file.
3474f29dbc25Smrg	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3475f29dbc25Smrg
3476f29dbc25Smrg	  cat <<_LT_EOF >> conftest.$ac_ext
3477f29dbc25Smrg
3478f29dbc25Smrg/* The mapping between symbol names and symbols.  */
3479f29dbc25Smrgconst struct {
3480f29dbc25Smrg  const char *name;
3481f29dbc25Smrg  void       *address;
3482f29dbc25Smrg}
3483f29dbc25Smrglt__PROGRAM__LTX_preloaded_symbols[[]] =
3484f29dbc25Smrg{
3485f29dbc25Smrg  { "@PROGRAM@", (void *) 0 },
3486f29dbc25Smrg_LT_EOF
3487f29dbc25Smrg	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3488f29dbc25Smrg	  cat <<\_LT_EOF >> conftest.$ac_ext
3489f29dbc25Smrg  {0, (void *) 0}
3490f29dbc25Smrg};
3491f29dbc25Smrg
3492f29dbc25Smrg/* This works around a problem in FreeBSD linker */
3493f29dbc25Smrg#ifdef FREEBSD_WORKAROUND
3494f29dbc25Smrgstatic const void *lt_preloaded_setup() {
3495f29dbc25Smrg  return lt__PROGRAM__LTX_preloaded_symbols;
3496f29dbc25Smrg}
3497f29dbc25Smrg#endif
3498f29dbc25Smrg
3499f29dbc25Smrg#ifdef __cplusplus
3500f29dbc25Smrg}
3501f29dbc25Smrg#endif
3502f29dbc25Smrg_LT_EOF
3503f29dbc25Smrg	  # Now try linking the two files.
3504f29dbc25Smrg	  mv conftest.$ac_objext conftstm.$ac_objext
3505f29dbc25Smrg	  lt_save_LIBS="$LIBS"
3506f29dbc25Smrg	  lt_save_CFLAGS="$CFLAGS"
3507f29dbc25Smrg	  LIBS="conftstm.$ac_objext"
3508f29dbc25Smrg	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3509f29dbc25Smrg	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3510f29dbc25Smrg	    pipe_works=yes
3511f29dbc25Smrg	  fi
3512f29dbc25Smrg	  LIBS="$lt_save_LIBS"
3513f29dbc25Smrg	  CFLAGS="$lt_save_CFLAGS"
3514f29dbc25Smrg	else
3515f29dbc25Smrg	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3516f29dbc25Smrg	fi
3517f29dbc25Smrg      else
3518f29dbc25Smrg	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3519f29dbc25Smrg      fi
3520f29dbc25Smrg    else
3521f29dbc25Smrg      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3522f29dbc25Smrg    fi
3523f29dbc25Smrg  else
3524f29dbc25Smrg    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3525f29dbc25Smrg    cat conftest.$ac_ext >&5
3526f29dbc25Smrg  fi
3527f29dbc25Smrg  rm -rf conftest* conftst*
3528f29dbc25Smrg
3529f29dbc25Smrg  # Do not use the global_symbol_pipe unless it works.
3530f29dbc25Smrg  if test "$pipe_works" = yes; then
3531f29dbc25Smrg    break
3532f29dbc25Smrg  else
3533f29dbc25Smrg    lt_cv_sys_global_symbol_pipe=
3534f29dbc25Smrg  fi
3535f29dbc25Smrgdone
3536f29dbc25Smrg])
3537f29dbc25Smrgif test -z "$lt_cv_sys_global_symbol_pipe"; then
3538f29dbc25Smrg  lt_cv_sys_global_symbol_to_cdecl=
3539f29dbc25Smrgfi
3540f29dbc25Smrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3541f29dbc25Smrg  AC_MSG_RESULT(failed)
3542f29dbc25Smrgelse
3543f29dbc25Smrg  AC_MSG_RESULT(ok)
3544f29dbc25Smrgfi
3545f29dbc25Smrg
3546f29dbc25Smrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3547f29dbc25Smrg    [Take the output of nm and produce a listing of raw symbols and C names])
3548f29dbc25Smrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3549f29dbc25Smrg    [Transform the output of nm in a proper C declaration])
3550f29dbc25Smrg_LT_DECL([global_symbol_to_c_name_address],
3551f29dbc25Smrg    [lt_cv_sys_global_symbol_to_c_name_address], [1],
3552f29dbc25Smrg    [Transform the output of nm in a C name address pair])
3553f29dbc25Smrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3554f29dbc25Smrg    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3555f29dbc25Smrg    [Transform the output of nm in a C name address pair when lib prefix is needed])
3556f29dbc25Smrg]) # _LT_CMD_GLOBAL_SYMBOLS
3557f29dbc25Smrg
3558f29dbc25Smrg
3559f29dbc25Smrg# _LT_COMPILER_PIC([TAGNAME])
3560f29dbc25Smrg# ---------------------------
3561f29dbc25Smrgm4_defun([_LT_COMPILER_PIC],
3562f29dbc25Smrg[m4_require([_LT_TAG_COMPILER])dnl
3563f29dbc25Smrg_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3564f29dbc25Smrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3565f29dbc25Smrg_LT_TAGVAR(lt_prog_compiler_static, $1)=
3566f29dbc25Smrg
3567f29dbc25SmrgAC_MSG_CHECKING([for $compiler option to produce PIC])
3568f29dbc25Smrgm4_if([$1], [CXX], [
3569f29dbc25Smrg  # C++ specific cases for pic, static, wl, etc.
3570f29dbc25Smrg  if test "$GXX" = yes; then
3571f29dbc25Smrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3572f29dbc25Smrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3573f29dbc25Smrg
3574f29dbc25Smrg    case $host_os in
3575f29dbc25Smrg    aix*)
3576f29dbc25Smrg      # All AIX code is PIC.
3577f29dbc25Smrg      if test "$host_cpu" = ia64; then
3578f29dbc25Smrg	# AIX 5 now supports IA64 processor
3579f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3580f29dbc25Smrg      fi
3581f29dbc25Smrg      ;;
3582f29dbc25Smrg
3583f29dbc25Smrg    amigaos*)
3584f29dbc25Smrg      case $host_cpu in
3585f29dbc25Smrg      powerpc)
3586f29dbc25Smrg            # see comment about AmigaOS4 .so support
3587f29dbc25Smrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3588f29dbc25Smrg        ;;
3589f29dbc25Smrg      m68k)
3590f29dbc25Smrg            # FIXME: we need at least 68020 code to build shared libraries, but
3591f29dbc25Smrg            # adding the `-m68020' flag to GCC prevents building anything better,
3592f29dbc25Smrg            # like `-m68040'.
3593f29dbc25Smrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3594f29dbc25Smrg        ;;
3595f29dbc25Smrg      esac
3596f29dbc25Smrg      ;;
3597f29dbc25Smrg
3598f29dbc25Smrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3599f29dbc25Smrg      # PIC is the default for these OSes.
3600f29dbc25Smrg      ;;
3601f29dbc25Smrg    mingw* | cygwin* | os2* | pw32* | cegcc*)
3602f29dbc25Smrg      # This hack is so that the source file can tell whether it is being
3603f29dbc25Smrg      # built for inclusion in a dll (and should export symbols for example).
3604f29dbc25Smrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
3605f29dbc25Smrg      # (--disable-auto-import) libraries
3606f29dbc25Smrg      m4_if([$1], [GCJ], [],
3607f29dbc25Smrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3608f29dbc25Smrg      ;;
3609f29dbc25Smrg    darwin* | rhapsody*)
3610f29dbc25Smrg      # PIC is the default on this platform
3611f29dbc25Smrg      # Common symbols not allowed in MH_DYLIB files
3612f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3613f29dbc25Smrg      ;;
3614f29dbc25Smrg    *djgpp*)
3615f29dbc25Smrg      # DJGPP does not support shared libraries at all
3616f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3617f29dbc25Smrg      ;;
3618f29dbc25Smrg    interix[[3-9]]*)
3619f29dbc25Smrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3620f29dbc25Smrg      # Instead, we relocate shared libraries at runtime.
3621f29dbc25Smrg      ;;
3622f29dbc25Smrg    sysv4*MP*)
3623f29dbc25Smrg      if test -d /usr/nec; then
3624f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3625f29dbc25Smrg      fi
3626f29dbc25Smrg      ;;
3627f29dbc25Smrg    hpux*)
3628f29dbc25Smrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3629f29dbc25Smrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
3630f29dbc25Smrg      # sets the default TLS model and affects inlining.
3631f29dbc25Smrg      case $host_cpu in
3632f29dbc25Smrg      hppa*64*)
3633f29dbc25Smrg	;;
3634f29dbc25Smrg      *)
3635f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3636f29dbc25Smrg	;;
3637f29dbc25Smrg      esac
3638f29dbc25Smrg      ;;
3639f29dbc25Smrg    *qnx* | *nto*)
3640f29dbc25Smrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
3641f29dbc25Smrg      # it will coredump.
3642f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3643f29dbc25Smrg      ;;
3644f29dbc25Smrg    *)
3645f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3646f29dbc25Smrg      ;;
3647f29dbc25Smrg    esac
3648f29dbc25Smrg  else
3649f29dbc25Smrg    case $host_os in
3650f29dbc25Smrg      aix[[4-9]]*)
3651f29dbc25Smrg	# All AIX code is PIC.
3652f29dbc25Smrg	if test "$host_cpu" = ia64; then
3653f29dbc25Smrg	  # AIX 5 now supports IA64 processor
3654f29dbc25Smrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3655f29dbc25Smrg	else
3656f29dbc25Smrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3657f29dbc25Smrg	fi
3658f29dbc25Smrg	;;
3659f29dbc25Smrg      chorus*)
3660f29dbc25Smrg	case $cc_basename in
3661f29dbc25Smrg	cxch68*)
3662f29dbc25Smrg	  # Green Hills C++ Compiler
3663f29dbc25Smrg	  # _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"
3664f29dbc25Smrg	  ;;
3665f29dbc25Smrg	esac
3666f29dbc25Smrg	;;
3667f29dbc25Smrg      dgux*)
3668f29dbc25Smrg	case $cc_basename in
3669f29dbc25Smrg	  ec++*)
3670f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3671f29dbc25Smrg	    ;;
3672f29dbc25Smrg	  ghcx*)
3673f29dbc25Smrg	    # Green Hills C++ Compiler
3674f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3675f29dbc25Smrg	    ;;
3676f29dbc25Smrg	  *)
3677f29dbc25Smrg	    ;;
3678f29dbc25Smrg	esac
3679f29dbc25Smrg	;;
3680f29dbc25Smrg      freebsd* | dragonfly*)
3681f29dbc25Smrg	# FreeBSD uses GNU C++
3682f29dbc25Smrg	;;
3683f29dbc25Smrg      hpux9* | hpux10* | hpux11*)
3684f29dbc25Smrg	case $cc_basename in
3685f29dbc25Smrg	  CC*)
3686f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3687f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3688f29dbc25Smrg	    if test "$host_cpu" != ia64; then
3689f29dbc25Smrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3690f29dbc25Smrg	    fi
3691f29dbc25Smrg	    ;;
3692f29dbc25Smrg	  aCC*)
3693f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3694f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3695f29dbc25Smrg	    case $host_cpu in
3696f29dbc25Smrg	    hppa*64*|ia64*)
3697f29dbc25Smrg	      # +Z the default
3698f29dbc25Smrg	      ;;
3699f29dbc25Smrg	    *)
3700f29dbc25Smrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3701f29dbc25Smrg	      ;;
3702f29dbc25Smrg	    esac
3703f29dbc25Smrg	    ;;
3704f29dbc25Smrg	  *)
3705f29dbc25Smrg	    ;;
3706f29dbc25Smrg	esac
3707f29dbc25Smrg	;;
3708f29dbc25Smrg      interix*)
3709f29dbc25Smrg	# This is c89, which is MS Visual C++ (no shared libs)
3710f29dbc25Smrg	# Anyone wants to do a port?
3711f29dbc25Smrg	;;
3712f29dbc25Smrg      irix5* | irix6* | nonstopux*)
3713f29dbc25Smrg	case $cc_basename in
3714f29dbc25Smrg	  CC*)
3715f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3716f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3717f29dbc25Smrg	    # CC pic flag -KPIC is the default.
3718f29dbc25Smrg	    ;;
3719f29dbc25Smrg	  *)
3720f29dbc25Smrg	    ;;
3721f29dbc25Smrg	esac
3722f29dbc25Smrg	;;
3723f29dbc25Smrg      linux* | k*bsd*-gnu | kopensolaris*-gnu)
3724f29dbc25Smrg	case $cc_basename in
3725f29dbc25Smrg	  KCC*)
3726f29dbc25Smrg	    # KAI C++ Compiler
3727f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3728f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3729f29dbc25Smrg	    ;;
3730f29dbc25Smrg	  ecpc* )
3731f29dbc25Smrg	    # old Intel C++ for x86_64 which still supported -KPIC.
3732f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3733f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3734f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3735f29dbc25Smrg	    ;;
3736f29dbc25Smrg	  icpc* )
3737f29dbc25Smrg	    # Intel C++, used to be incompatible with GCC.
3738f29dbc25Smrg	    # ICC 10 doesn't accept -KPIC any more.
3739f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3740f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3741f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3742f29dbc25Smrg	    ;;
3743f29dbc25Smrg	  pgCC* | pgcpp*)
3744f29dbc25Smrg	    # Portland Group C++ compiler
3745f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3746f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3747f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3748f29dbc25Smrg	    ;;
3749f29dbc25Smrg	  cxx*)
3750f29dbc25Smrg	    # Compaq C++
3751f29dbc25Smrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
3752f29dbc25Smrg	    # Linux and Compaq Tru64 Unix objects are PIC.
3753f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3754f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3755f29dbc25Smrg	    ;;
3756f29dbc25Smrg	  xlc* | xlC*)
3757f29dbc25Smrg	    # IBM XL 8.0 on PPC
3758f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3759f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3760f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
3761f29dbc25Smrg	    ;;
3762f29dbc25Smrg	  *)
3763f29dbc25Smrg	    case `$CC -V 2>&1 | sed 5q` in
3764f29dbc25Smrg	    *Sun\ C*)
3765f29dbc25Smrg	      # Sun C++ 5.9
3766f29dbc25Smrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3767f29dbc25Smrg	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3768f29dbc25Smrg	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3769f29dbc25Smrg	      ;;
3770f29dbc25Smrg	    esac
3771f29dbc25Smrg	    ;;
3772f29dbc25Smrg	esac
3773f29dbc25Smrg	;;
3774f29dbc25Smrg      lynxos*)
3775f29dbc25Smrg	;;
3776f29dbc25Smrg      m88k*)
3777f29dbc25Smrg	;;
3778f29dbc25Smrg      mvs*)
3779f29dbc25Smrg	case $cc_basename in
3780f29dbc25Smrg	  cxx*)
3781f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
3782f29dbc25Smrg	    ;;
3783f29dbc25Smrg	  *)
3784f29dbc25Smrg	    ;;
3785f29dbc25Smrg	esac
3786f29dbc25Smrg	;;
3787f29dbc25Smrg      netbsd* | netbsdelf*-gnu)
3788f29dbc25Smrg	;;
3789f29dbc25Smrg      *qnx* | *nto*)
3790f29dbc25Smrg        # QNX uses GNU C++, but need to define -shared option too, otherwise
3791f29dbc25Smrg        # it will coredump.
3792f29dbc25Smrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3793f29dbc25Smrg        ;;
3794f29dbc25Smrg      osf3* | osf4* | osf5*)
3795f29dbc25Smrg	case $cc_basename in
3796f29dbc25Smrg	  KCC*)
3797f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3798f29dbc25Smrg	    ;;
3799f29dbc25Smrg	  RCC*)
3800f29dbc25Smrg	    # Rational C++ 2.4.1
3801f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3802f29dbc25Smrg	    ;;
3803f29dbc25Smrg	  cxx*)
3804f29dbc25Smrg	    # Digital/Compaq C++
3805f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3806f29dbc25Smrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
3807f29dbc25Smrg	    # Linux and Compaq Tru64 Unix objects are PIC.
3808f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3809f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3810f29dbc25Smrg	    ;;
3811f29dbc25Smrg	  *)
3812f29dbc25Smrg	    ;;
3813f29dbc25Smrg	esac
3814f29dbc25Smrg	;;
3815f29dbc25Smrg      psos*)
3816f29dbc25Smrg	;;
3817f29dbc25Smrg      solaris*)
3818f29dbc25Smrg	case $cc_basename in
3819f29dbc25Smrg	  CC*)
3820f29dbc25Smrg	    # Sun C++ 4.2, 5.x and Centerline C++
3821f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3822f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3823f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3824f29dbc25Smrg	    ;;
3825f29dbc25Smrg	  gcx*)
3826f29dbc25Smrg	    # Green Hills C++ Compiler
3827f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
3828f29dbc25Smrg	    ;;
3829f29dbc25Smrg	  *)
3830f29dbc25Smrg	    ;;
3831f29dbc25Smrg	esac
3832f29dbc25Smrg	;;
3833f29dbc25Smrg      sunos4*)
3834f29dbc25Smrg	case $cc_basename in
3835f29dbc25Smrg	  CC*)
3836f29dbc25Smrg	    # Sun C++ 4.x
3837f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3838f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3839f29dbc25Smrg	    ;;
3840f29dbc25Smrg	  lcc*)
3841f29dbc25Smrg	    # Lucid
3842f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3843f29dbc25Smrg	    ;;
3844f29dbc25Smrg	  *)
3845f29dbc25Smrg	    ;;
3846f29dbc25Smrg	esac
3847f29dbc25Smrg	;;
3848f29dbc25Smrg      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3849f29dbc25Smrg	case $cc_basename in
3850f29dbc25Smrg	  CC*)
3851f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3852f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3853f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3854f29dbc25Smrg	    ;;
3855f29dbc25Smrg	esac
3856f29dbc25Smrg	;;
3857f29dbc25Smrg      tandem*)
3858f29dbc25Smrg	case $cc_basename in
3859f29dbc25Smrg	  NCC*)
3860f29dbc25Smrg	    # NonStop-UX NCC 3.20
3861f29dbc25Smrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3862f29dbc25Smrg	    ;;
3863f29dbc25Smrg	  *)
3864f29dbc25Smrg	    ;;
3865f29dbc25Smrg	esac
3866f29dbc25Smrg	;;
3867f29dbc25Smrg      vxworks*)
3868f29dbc25Smrg	;;
3869f29dbc25Smrg      *)
3870f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3871f29dbc25Smrg	;;
3872f29dbc25Smrg    esac
3873f29dbc25Smrg  fi
3874f29dbc25Smrg],
3875f29dbc25Smrg[
3876f29dbc25Smrg  if test "$GCC" = yes; then
3877f29dbc25Smrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3878f29dbc25Smrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3879f29dbc25Smrg
3880f29dbc25Smrg    case $host_os in
3881f29dbc25Smrg      aix*)
3882f29dbc25Smrg      # All AIX code is PIC.
3883f29dbc25Smrg      if test "$host_cpu" = ia64; then
3884f29dbc25Smrg	# AIX 5 now supports IA64 processor
3885f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3886f29dbc25Smrg      fi
3887f29dbc25Smrg      ;;
3888f29dbc25Smrg
3889f29dbc25Smrg    amigaos*)
3890f29dbc25Smrg      case $host_cpu in
3891f29dbc25Smrg      powerpc)
3892f29dbc25Smrg            # see comment about AmigaOS4 .so support
3893f29dbc25Smrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3894f29dbc25Smrg        ;;
3895f29dbc25Smrg      m68k)
3896f29dbc25Smrg            # FIXME: we need at least 68020 code to build shared libraries, but
3897f29dbc25Smrg            # adding the `-m68020' flag to GCC prevents building anything better,
3898f29dbc25Smrg            # like `-m68040'.
3899f29dbc25Smrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3900f29dbc25Smrg        ;;
3901f29dbc25Smrg      esac
3902f29dbc25Smrg      ;;
3903f29dbc25Smrg
3904f29dbc25Smrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3905f29dbc25Smrg      # PIC is the default for these OSes.
3906f29dbc25Smrg      ;;
3907f29dbc25Smrg
3908f29dbc25Smrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
3909f29dbc25Smrg      # This hack is so that the source file can tell whether it is being
3910f29dbc25Smrg      # built for inclusion in a dll (and should export symbols for example).
3911f29dbc25Smrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
3912f29dbc25Smrg      # (--disable-auto-import) libraries
3913f29dbc25Smrg      m4_if([$1], [GCJ], [],
3914f29dbc25Smrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3915f29dbc25Smrg      ;;
3916f29dbc25Smrg
3917f29dbc25Smrg    darwin* | rhapsody*)
3918f29dbc25Smrg      # PIC is the default on this platform
3919f29dbc25Smrg      # Common symbols not allowed in MH_DYLIB files
3920f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3921f29dbc25Smrg      ;;
3922f29dbc25Smrg
3923f29dbc25Smrg    hpux*)
3924f29dbc25Smrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3925f29dbc25Smrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
3926f29dbc25Smrg      # sets the default TLS model and affects inlining.
3927f29dbc25Smrg      case $host_cpu in
3928f29dbc25Smrg      hppa*64*)
3929f29dbc25Smrg	# +Z the default
3930f29dbc25Smrg	;;
3931f29dbc25Smrg      *)
3932f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3933f29dbc25Smrg	;;
3934f29dbc25Smrg      esac
3935f29dbc25Smrg      ;;
3936f29dbc25Smrg
3937f29dbc25Smrg    interix[[3-9]]*)
3938f29dbc25Smrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3939f29dbc25Smrg      # Instead, we relocate shared libraries at runtime.
3940f29dbc25Smrg      ;;
3941f29dbc25Smrg
3942f29dbc25Smrg    msdosdjgpp*)
3943f29dbc25Smrg      # Just because we use GCC doesn't mean we suddenly get shared libraries
3944f29dbc25Smrg      # on systems that don't support them.
3945f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3946f29dbc25Smrg      enable_shared=no
3947f29dbc25Smrg      ;;
3948f29dbc25Smrg
3949f29dbc25Smrg    *nto* | *qnx*)
3950f29dbc25Smrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
3951f29dbc25Smrg      # it will coredump.
3952f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3953f29dbc25Smrg      ;;
3954f29dbc25Smrg
3955f29dbc25Smrg    sysv4*MP*)
3956f29dbc25Smrg      if test -d /usr/nec; then
3957f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3958f29dbc25Smrg      fi
3959f29dbc25Smrg      ;;
3960f29dbc25Smrg
3961f29dbc25Smrg    *)
3962f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3963f29dbc25Smrg      ;;
3964f29dbc25Smrg    esac
3965f29dbc25Smrg  else
3966f29dbc25Smrg    # PORTME Check for flag to pass linker flags through the system compiler.
3967f29dbc25Smrg    case $host_os in
3968f29dbc25Smrg    aix*)
3969f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3970f29dbc25Smrg      if test "$host_cpu" = ia64; then
3971f29dbc25Smrg	# AIX 5 now supports IA64 processor
3972f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3973f29dbc25Smrg      else
3974f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3975f29dbc25Smrg      fi
3976f29dbc25Smrg      ;;
3977f29dbc25Smrg
3978f29dbc25Smrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
3979f29dbc25Smrg      # This hack is so that the source file can tell whether it is being
3980f29dbc25Smrg      # built for inclusion in a dll (and should export symbols for example).
3981f29dbc25Smrg      m4_if([$1], [GCJ], [],
3982f29dbc25Smrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3983f29dbc25Smrg      ;;
3984f29dbc25Smrg
3985f29dbc25Smrg    hpux9* | hpux10* | hpux11*)
3986f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3987f29dbc25Smrg      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
3988f29dbc25Smrg      # not for PA HP-UX.
3989f29dbc25Smrg      case $host_cpu in
3990f29dbc25Smrg      hppa*64*|ia64*)
3991f29dbc25Smrg	# +Z the default
3992f29dbc25Smrg	;;
3993f29dbc25Smrg      *)
3994f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3995f29dbc25Smrg	;;
3996f29dbc25Smrg      esac
3997f29dbc25Smrg      # Is there a better lt_prog_compiler_static that works with the bundled CC?
3998f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3999f29dbc25Smrg      ;;
4000f29dbc25Smrg
4001f29dbc25Smrg    irix5* | irix6* | nonstopux*)
4002f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4003f29dbc25Smrg      # PIC (with -KPIC) is the default.
4004f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4005f29dbc25Smrg      ;;
4006f29dbc25Smrg
4007f29dbc25Smrg    linux* | k*bsd*-gnu | kopensolaris*-gnu)
4008f29dbc25Smrg      case $cc_basename in
4009f29dbc25Smrg      # old Intel for x86_64 which still supported -KPIC.
4010f29dbc25Smrg      ecc*)
4011f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4012f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4013f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4014f29dbc25Smrg        ;;
4015f29dbc25Smrg      # icc used to be incompatible with GCC.
4016f29dbc25Smrg      # ICC 10 doesn't accept -KPIC any more.
4017f29dbc25Smrg      icc* | ifort*)
4018f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4019f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4020f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4021f29dbc25Smrg        ;;
4022f29dbc25Smrg      # Lahey Fortran 8.1.
4023f29dbc25Smrg      lf95*)
4024f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4025f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4026f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4027f29dbc25Smrg	;;
4028f29dbc25Smrg      pgcc* | pgf77* | pgf90* | pgf95*)
4029f29dbc25Smrg        # Portland Group compilers (*not* the Pentium gcc compiler,
4030f29dbc25Smrg	# which looks to be a dead project)
4031f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4032f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4033f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4034f29dbc25Smrg        ;;
4035f29dbc25Smrg      ccc*)
4036f29dbc25Smrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4037f29dbc25Smrg        # All Alpha code is PIC.
4038f29dbc25Smrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4039f29dbc25Smrg        ;;
4040f29dbc25Smrg      xl*)
4041f29dbc25Smrg	# IBM XL C 8.0/Fortran 10.1 on PPC
4042f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4043f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4044f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4045f29dbc25Smrg	;;
4046f29dbc25Smrg      *)
4047f29dbc25Smrg	case `$CC -V 2>&1 | sed 5q` in
4048f29dbc25Smrg	*Sun\ C*)
4049f29dbc25Smrg	  # Sun C 5.9
4050f29dbc25Smrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4051f29dbc25Smrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4052f29dbc25Smrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4053f29dbc25Smrg	  ;;
4054f29dbc25Smrg	*Sun\ F*)
4055f29dbc25Smrg	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
4056f29dbc25Smrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4057f29dbc25Smrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4058f29dbc25Smrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4059f29dbc25Smrg	  ;;
4060f29dbc25Smrg	esac
4061f29dbc25Smrg	;;
4062f29dbc25Smrg      esac
4063f29dbc25Smrg      ;;
4064f29dbc25Smrg
4065f29dbc25Smrg    newsos6)
4066f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4067f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4068f29dbc25Smrg      ;;
4069f29dbc25Smrg
4070f29dbc25Smrg    *nto* | *qnx*)
4071f29dbc25Smrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
4072f29dbc25Smrg      # it will coredump.
4073f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4074f29dbc25Smrg      ;;
4075f29dbc25Smrg
4076f29dbc25Smrg    osf3* | osf4* | osf5*)
4077f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4078f29dbc25Smrg      # All OSF/1 code is PIC.
4079f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4080f29dbc25Smrg      ;;
4081f29dbc25Smrg
4082f29dbc25Smrg    rdos*)
4083f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4084f29dbc25Smrg      ;;
4085f29dbc25Smrg
4086f29dbc25Smrg    solaris*)
4087f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4088f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4089f29dbc25Smrg      case $cc_basename in
4090f29dbc25Smrg      f77* | f90* | f95*)
4091f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4092f29dbc25Smrg      *)
4093f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4094f29dbc25Smrg      esac
4095f29dbc25Smrg      ;;
4096f29dbc25Smrg
4097f29dbc25Smrg    sunos4*)
4098f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4099f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4100f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4101f29dbc25Smrg      ;;
4102f29dbc25Smrg
4103f29dbc25Smrg    sysv4 | sysv4.2uw2* | sysv4.3*)
4104f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4105f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4106f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4107f29dbc25Smrg      ;;
4108f29dbc25Smrg
4109f29dbc25Smrg    sysv4*MP*)
4110f29dbc25Smrg      if test -d /usr/nec ;then
4111f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4112f29dbc25Smrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4113f29dbc25Smrg      fi
4114f29dbc25Smrg      ;;
4115f29dbc25Smrg
4116f29dbc25Smrg    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4117f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4118f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4119f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4120f29dbc25Smrg      ;;
4121f29dbc25Smrg
4122f29dbc25Smrg    unicos*)
4123f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4124f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4125f29dbc25Smrg      ;;
4126f29dbc25Smrg
4127f29dbc25Smrg    uts4*)
4128f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4129f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4130f29dbc25Smrg      ;;
4131f29dbc25Smrg
4132f29dbc25Smrg    *)
4133f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4134f29dbc25Smrg      ;;
4135f29dbc25Smrg    esac
4136f29dbc25Smrg  fi
4137f29dbc25Smrg])
4138f29dbc25Smrgcase $host_os in
4139f29dbc25Smrg  # For platforms which do not support PIC, -DPIC is meaningless:
4140f29dbc25Smrg  *djgpp*)
4141f29dbc25Smrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4142f29dbc25Smrg    ;;
4143f29dbc25Smrg  *)
4144f29dbc25Smrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4145f29dbc25Smrg    ;;
4146f29dbc25Smrgesac
4147f29dbc25SmrgAC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4148f29dbc25Smrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4149f29dbc25Smrg	[How to pass a linker flag through the compiler])
4150f29dbc25Smrg
4151f29dbc25Smrg#
4152f29dbc25Smrg# Check to make sure the PIC flag actually works.
4153f29dbc25Smrg#
4154f29dbc25Smrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4155f29dbc25Smrg  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4156f29dbc25Smrg    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4157f29dbc25Smrg    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4158f29dbc25Smrg    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4159f29dbc25Smrg     "" | " "*) ;;
4160f29dbc25Smrg     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4161f29dbc25Smrg     esac],
4162f29dbc25Smrg    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4163f29dbc25Smrg     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4164f29dbc25Smrgfi
4165f29dbc25Smrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4166f29dbc25Smrg	[Additional compiler flags for building library objects])
4167f29dbc25Smrg
4168f29dbc25Smrg#
4169f29dbc25Smrg# Check to make sure the static flag actually works.
4170f29dbc25Smrg#
4171f29dbc25Smrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4172f29dbc25Smrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4173f29dbc25Smrg  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4174f29dbc25Smrg  $lt_tmp_static_flag,
4175f29dbc25Smrg  [],
4176f29dbc25Smrg  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4177f29dbc25Smrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4178f29dbc25Smrg	[Compiler flag to prevent dynamic linking])
4179f29dbc25Smrg])# _LT_COMPILER_PIC
4180f29dbc25Smrg
4181f29dbc25Smrg
4182f29dbc25Smrg# _LT_LINKER_SHLIBS([TAGNAME])
4183f29dbc25Smrg# ----------------------------
4184f29dbc25Smrg# See if the linker supports building shared libraries.
4185f29dbc25Smrgm4_defun([_LT_LINKER_SHLIBS],
4186f29dbc25Smrg[AC_REQUIRE([LT_PATH_LD])dnl
4187f29dbc25SmrgAC_REQUIRE([LT_PATH_NM])dnl
4188f29dbc25Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
4189f29dbc25Smrgm4_require([_LT_DECL_EGREP])dnl
4190f29dbc25Smrgm4_require([_LT_DECL_SED])dnl
4191f29dbc25Smrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4192f29dbc25Smrgm4_require([_LT_TAG_COMPILER])dnl
4193f29dbc25SmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4194f29dbc25Smrgm4_if([$1], [CXX], [
4195f29dbc25Smrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4196f29dbc25Smrg  case $host_os in
4197f29dbc25Smrg  aix[[4-9]]*)
4198f29dbc25Smrg    # If we're using GNU nm, then we don't want the "-C" option.
4199f29dbc25Smrg    # -C means demangle to AIX nm, but means don't demangle with GNU nm
4200f29dbc25Smrg    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4201f29dbc25Smrg      _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'
4202f29dbc25Smrg    else
4203f29dbc25Smrg      _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'
4204f29dbc25Smrg    fi
4205f29dbc25Smrg    ;;
4206f29dbc25Smrg  pw32*)
4207f29dbc25Smrg    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4208f29dbc25Smrg  ;;
4209f29dbc25Smrg  cygwin* | mingw* | cegcc*)
4210f29dbc25Smrg    _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'
4211f29dbc25Smrg  ;;
4212f29dbc25Smrg  linux* | k*bsd*-gnu)
4213f29dbc25Smrg    _LT_TAGVAR(link_all_deplibs, $1)=no
4214f29dbc25Smrg  ;;
4215f29dbc25Smrg  *)
4216f29dbc25Smrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4217f29dbc25Smrg  ;;
4218f29dbc25Smrg  esac
4219f29dbc25Smrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4220f29dbc25Smrg], [
4221f29dbc25Smrg  runpath_var=
4222f29dbc25Smrg  _LT_TAGVAR(allow_undefined_flag, $1)=
4223f29dbc25Smrg  _LT_TAGVAR(always_export_symbols, $1)=no
4224f29dbc25Smrg  _LT_TAGVAR(archive_cmds, $1)=
4225f29dbc25Smrg  _LT_TAGVAR(archive_expsym_cmds, $1)=
4226f29dbc25Smrg  _LT_TAGVAR(compiler_needs_object, $1)=no
4227f29dbc25Smrg  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4228f29dbc25Smrg  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4229f29dbc25Smrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4230f29dbc25Smrg  _LT_TAGVAR(hardcode_automatic, $1)=no
4231f29dbc25Smrg  _LT_TAGVAR(hardcode_direct, $1)=no
4232f29dbc25Smrg  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4233f29dbc25Smrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4234f29dbc25Smrg  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4235f29dbc25Smrg  _LT_TAGVAR(hardcode_libdir_separator, $1)=
4236f29dbc25Smrg  _LT_TAGVAR(hardcode_minus_L, $1)=no
4237f29dbc25Smrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4238f29dbc25Smrg  _LT_TAGVAR(inherit_rpath, $1)=no
4239f29dbc25Smrg  _LT_TAGVAR(link_all_deplibs, $1)=unknown
4240f29dbc25Smrg  _LT_TAGVAR(module_cmds, $1)=
4241f29dbc25Smrg  _LT_TAGVAR(module_expsym_cmds, $1)=
4242f29dbc25Smrg  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4243f29dbc25Smrg  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4244f29dbc25Smrg  _LT_TAGVAR(thread_safe_flag_spec, $1)=
4245f29dbc25Smrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4246f29dbc25Smrg  # include_expsyms should be a list of space-separated symbols to be *always*
4247f29dbc25Smrg  # included in the symbol list
4248f29dbc25Smrg  _LT_TAGVAR(include_expsyms, $1)=
4249f29dbc25Smrg  # exclude_expsyms can be an extended regexp of symbols to exclude
4250f29dbc25Smrg  # it will be wrapped by ` (' and `)$', so one must not match beginning or
4251f29dbc25Smrg  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4252f29dbc25Smrg  # as well as any symbol that contains `d'.
4253f29dbc25Smrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4254f29dbc25Smrg  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4255f29dbc25Smrg  # platforms (ab)use it in PIC code, but their linkers get confused if
4256f29dbc25Smrg  # the symbol is explicitly referenced.  Since portable code cannot
4257f29dbc25Smrg  # rely on this symbol name, it's probably fine to never include it in
4258f29dbc25Smrg  # preloaded symbol tables.
4259f29dbc25Smrg  # Exclude shared library initialization/finalization symbols.
4260f29dbc25Smrgdnl Note also adjust exclude_expsyms for C++ above.
4261f29dbc25Smrg  extract_expsyms_cmds=
4262f29dbc25Smrg
4263f29dbc25Smrg  case $host_os in
4264f29dbc25Smrg  cygwin* | mingw* | pw32* | cegcc*)
4265f29dbc25Smrg    # FIXME: the MSVC++ port hasn't been tested in a loooong time
4266f29dbc25Smrg    # When not using gcc, we currently assume that we are using
4267f29dbc25Smrg    # Microsoft Visual C++.
4268f29dbc25Smrg    if test "$GCC" != yes; then
4269f29dbc25Smrg      with_gnu_ld=no
4270f29dbc25Smrg    fi
4271f29dbc25Smrg    ;;
4272f29dbc25Smrg  interix*)
4273f29dbc25Smrg    # we just hope/assume this is gcc and not c89 (= MSVC++)
4274f29dbc25Smrg    with_gnu_ld=yes
4275f29dbc25Smrg    ;;
4276f29dbc25Smrg  openbsd*)
4277f29dbc25Smrg    with_gnu_ld=no
4278f29dbc25Smrg    ;;
4279f29dbc25Smrg  linux* | k*bsd*-gnu)
4280f29dbc25Smrg    _LT_TAGVAR(link_all_deplibs, $1)=no
4281f29dbc25Smrg    ;;
4282f29dbc25Smrg  esac
4283f29dbc25Smrg
4284f29dbc25Smrg  _LT_TAGVAR(ld_shlibs, $1)=yes
4285f29dbc25Smrg  if test "$with_gnu_ld" = yes; then
4286f29dbc25Smrg    # If archive_cmds runs LD, not CC, wlarc should be empty
4287f29dbc25Smrg    wlarc='${wl}'
4288f29dbc25Smrg
4289f29dbc25Smrg    # Set some defaults for GNU ld with shared library support. These
4290f29dbc25Smrg    # are reset later if shared libraries are not supported. Putting them
4291f29dbc25Smrg    # here allows them to be overridden if necessary.
4292f29dbc25Smrg    runpath_var=LD_RUN_PATH
4293f29dbc25Smrg    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4294f29dbc25Smrg    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4295f29dbc25Smrg    # ancient GNU ld didn't support --whole-archive et. al.
4296f29dbc25Smrg    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4297f29dbc25Smrg      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4298f29dbc25Smrg    else
4299f29dbc25Smrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
4300f29dbc25Smrg    fi
4301f29dbc25Smrg    supports_anon_versioning=no
4302f29dbc25Smrg    case `$LD -v 2>&1` in
4303f29dbc25Smrg      *GNU\ gold*) supports_anon_versioning=yes ;;
4304f29dbc25Smrg      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4305f29dbc25Smrg      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4306f29dbc25Smrg      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4307f29dbc25Smrg      *\ 2.11.*) ;; # other 2.11 versions
4308f29dbc25Smrg      *) supports_anon_versioning=yes ;;
4309f29dbc25Smrg    esac
4310f29dbc25Smrg
4311f29dbc25Smrg    # See if GNU ld supports shared libraries.
4312f29dbc25Smrg    case $host_os in
4313f29dbc25Smrg    aix[[3-9]]*)
4314f29dbc25Smrg      # On AIX/PPC, the GNU linker is very broken
4315f29dbc25Smrg      if test "$host_cpu" != ia64; then
4316f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
4317f29dbc25Smrg	cat <<_LT_EOF 1>&2
4318f29dbc25Smrg
4319f29dbc25Smrg*** Warning: the GNU linker, at least up to release 2.9.1, is reported
4320f29dbc25Smrg*** to be unable to reliably create shared libraries on AIX.
4321f29dbc25Smrg*** Therefore, libtool is disabling shared libraries support.  If you
4322f29dbc25Smrg*** really care for shared libraries, you may want to modify your PATH
4323f29dbc25Smrg*** so that a non-GNU linker is found, and then restart.
4324f29dbc25Smrg
4325f29dbc25Smrg_LT_EOF
4326f29dbc25Smrg      fi
4327f29dbc25Smrg      ;;
4328f29dbc25Smrg
4329f29dbc25Smrg    amigaos*)
4330f29dbc25Smrg      case $host_cpu in
4331f29dbc25Smrg      powerpc)
4332f29dbc25Smrg            # see comment about AmigaOS4 .so support
4333f29dbc25Smrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4334f29dbc25Smrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
4335f29dbc25Smrg        ;;
4336f29dbc25Smrg      m68k)
4337f29dbc25Smrg            _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)'
4338f29dbc25Smrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4339f29dbc25Smrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
4340f29dbc25Smrg        ;;
4341f29dbc25Smrg      esac
4342f29dbc25Smrg      ;;
4343f29dbc25Smrg
4344f29dbc25Smrg    beos*)
4345f29dbc25Smrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4346f29dbc25Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4347f29dbc25Smrg	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4348f29dbc25Smrg	# support --undefined.  This deserves some investigation.  FIXME
4349f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4350f29dbc25Smrg      else
4351f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
4352f29dbc25Smrg      fi
4353f29dbc25Smrg      ;;
4354f29dbc25Smrg
4355f29dbc25Smrg    cygwin* | mingw* | pw32* | cegcc*)
4356f29dbc25Smrg      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4357f29dbc25Smrg      # as there is no search path for DLLs.
4358f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4359f29dbc25Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4360f29dbc25Smrg      _LT_TAGVAR(always_export_symbols, $1)=no
4361f29dbc25Smrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4362f29dbc25Smrg      _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'
4363f29dbc25Smrg
4364f29dbc25Smrg      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4365f29dbc25Smrg        _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'
4366f29dbc25Smrg	# If the export-symbols file already is a .def file (1st line
4367f29dbc25Smrg	# is EXPORTS), use it as is; otherwise, prepend...
4368f29dbc25Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4369f29dbc25Smrg	  cp $export_symbols $output_objdir/$soname.def;
4370f29dbc25Smrg	else
4371f29dbc25Smrg	  echo EXPORTS > $output_objdir/$soname.def;
4372f29dbc25Smrg	  cat $export_symbols >> $output_objdir/$soname.def;
4373f29dbc25Smrg	fi~
4374f29dbc25Smrg	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4375f29dbc25Smrg      else
4376f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
4377f29dbc25Smrg      fi
4378f29dbc25Smrg      ;;
4379f29dbc25Smrg
4380f29dbc25Smrg    interix[[3-9]]*)
4381f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=no
4382f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4383f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4384f29dbc25Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4385f29dbc25Smrg      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4386f29dbc25Smrg      # Instead, shared libraries are loaded at an image base (0x10000000 by
4387f29dbc25Smrg      # default) and relocated if they conflict, which is a slow very memory
4388f29dbc25Smrg      # consuming and fragmenting process.  To avoid this, we pick a random,
4389f29dbc25Smrg      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4390f29dbc25Smrg      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
4391f29dbc25Smrg      _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'
4392f29dbc25Smrg      _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'
4393f29dbc25Smrg      ;;
4394f29dbc25Smrg
4395f29dbc25Smrg    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
4396f29dbc25Smrg      tmp_diet=no
4397f29dbc25Smrg      if test "$host_os" = linux-dietlibc; then
4398f29dbc25Smrg	case $cc_basename in
4399f29dbc25Smrg	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
4400f29dbc25Smrg	esac
4401f29dbc25Smrg      fi
4402f29dbc25Smrg      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4403f29dbc25Smrg	 && test "$tmp_diet" = no
4404f29dbc25Smrg      then
4405f29dbc25Smrg	tmp_addflag=
4406f29dbc25Smrg	tmp_sharedflag='-shared'
4407f29dbc25Smrg	case $cc_basename,$host_cpu in
4408f29dbc25Smrg        pgcc*)				# Portland Group C compiler
4409f29dbc25Smrg	  _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'
4410f29dbc25Smrg	  tmp_addflag=' $pic_flag'
4411f29dbc25Smrg	  ;;
4412f29dbc25Smrg	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
4413f29dbc25Smrg	  _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'
4414f29dbc25Smrg	  tmp_addflag=' $pic_flag -Mnomain' ;;
4415f29dbc25Smrg	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
4416f29dbc25Smrg	  tmp_addflag=' -i_dynamic' ;;
4417f29dbc25Smrg	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
4418f29dbc25Smrg	  tmp_addflag=' -i_dynamic -nofor_main' ;;
4419f29dbc25Smrg	ifc* | ifort*)			# Intel Fortran compiler
4420f29dbc25Smrg	  tmp_addflag=' -nofor_main' ;;
4421f29dbc25Smrg	lf95*)				# Lahey Fortran 8.1
4422f29dbc25Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
4423f29dbc25Smrg	  tmp_sharedflag='--shared' ;;
4424f29dbc25Smrg	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
4425f29dbc25Smrg	  tmp_sharedflag='-qmkshrobj'
4426f29dbc25Smrg	  tmp_addflag= ;;
4427f29dbc25Smrg	esac
4428f29dbc25Smrg	case `$CC -V 2>&1 | sed 5q` in
4429f29dbc25Smrg	*Sun\ C*)			# Sun C 5.9
4430f29dbc25Smrg	  _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'
4431f29dbc25Smrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
4432f29dbc25Smrg	  tmp_sharedflag='-G' ;;
4433f29dbc25Smrg	*Sun\ F*)			# Sun Fortran 8.3
4434f29dbc25Smrg	  tmp_sharedflag='-G' ;;
4435f29dbc25Smrg	esac
4436f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4437f29dbc25Smrg
4438f29dbc25Smrg        if test "x$supports_anon_versioning" = xyes; then
4439f29dbc25Smrg          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4440f29dbc25Smrg	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4441f29dbc25Smrg	    echo "local: *; };" >> $output_objdir/$libname.ver~
4442f29dbc25Smrg	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4443f29dbc25Smrg        fi
4444f29dbc25Smrg
4445f29dbc25Smrg	case $cc_basename in
4446f29dbc25Smrg	xlf*)
4447f29dbc25Smrg	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4448f29dbc25Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4449f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4450f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4451f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
4452f29dbc25Smrg	  if test "x$supports_anon_versioning" = xyes; then
4453f29dbc25Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4454f29dbc25Smrg	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4455f29dbc25Smrg	      echo "local: *; };" >> $output_objdir/$libname.ver~
4456f29dbc25Smrg	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4457f29dbc25Smrg	  fi
4458f29dbc25Smrg	  ;;
4459f29dbc25Smrg	esac
4460f29dbc25Smrg      else
4461f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
4462f29dbc25Smrg      fi
4463f29dbc25Smrg      ;;
4464f29dbc25Smrg
4465f29dbc25Smrg    netbsd* | netbsdelf*-gnu)
4466f29dbc25Smrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4467f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4468f29dbc25Smrg	wlarc=
4469f29dbc25Smrg      else
4470f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4471f29dbc25Smrg	_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'
4472f29dbc25Smrg      fi
4473f29dbc25Smrg      ;;
4474f29dbc25Smrg
4475f29dbc25Smrg    solaris*)
4476f29dbc25Smrg      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4477f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
4478f29dbc25Smrg	cat <<_LT_EOF 1>&2
4479f29dbc25Smrg
4480f29dbc25Smrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4481f29dbc25Smrg*** create shared libraries on Solaris systems.  Therefore, libtool
4482f29dbc25Smrg*** is disabling shared libraries support.  We urge you to upgrade GNU
4483f29dbc25Smrg*** binutils to release 2.9.1 or newer.  Another option is to modify
4484f29dbc25Smrg*** your PATH or compiler configuration so that the native linker is
4485f29dbc25Smrg*** used, and then restart.
4486f29dbc25Smrg
4487f29dbc25Smrg_LT_EOF
4488f29dbc25Smrg      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4489f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4490f29dbc25Smrg	_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'
4491f29dbc25Smrg      else
4492f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
4493f29dbc25Smrg      fi
4494f29dbc25Smrg      ;;
4495f29dbc25Smrg
4496f29dbc25Smrg    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4497f29dbc25Smrg      case `$LD -v 2>&1` in
4498f29dbc25Smrg        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4499f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
4500f29dbc25Smrg	cat <<_LT_EOF 1>&2
4501f29dbc25Smrg
4502f29dbc25Smrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4503f29dbc25Smrg*** reliably create shared libraries on SCO systems.  Therefore, libtool
4504f29dbc25Smrg*** is disabling shared libraries support.  We urge you to upgrade GNU
4505f29dbc25Smrg*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
4506f29dbc25Smrg*** your PATH or compiler configuration so that the native linker is
4507f29dbc25Smrg*** used, and then restart.
4508f29dbc25Smrg
4509f29dbc25Smrg_LT_EOF
4510f29dbc25Smrg	;;
4511f29dbc25Smrg	*)
4512f29dbc25Smrg	  # For security reasons, it is highly recommended that you always
4513f29dbc25Smrg	  # use absolute paths for naming shared libraries, and exclude the
4514f29dbc25Smrg	  # DT_RUNPATH tag from executables and libraries.  But doing so
4515f29dbc25Smrg	  # requires that you compile everything twice, which is a pain.
4516f29dbc25Smrg	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4517f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4518f29dbc25Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4519f29dbc25Smrg	    _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'
4520f29dbc25Smrg	  else
4521f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
4522f29dbc25Smrg	  fi
4523f29dbc25Smrg	;;
4524f29dbc25Smrg      esac
4525f29dbc25Smrg      ;;
4526f29dbc25Smrg
4527f29dbc25Smrg    sunos4*)
4528f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4529f29dbc25Smrg      wlarc=
4530f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4531f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4532f29dbc25Smrg      ;;
4533f29dbc25Smrg
4534f29dbc25Smrg    *)
4535f29dbc25Smrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4536f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4537f29dbc25Smrg	_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'
4538f29dbc25Smrg      else
4539f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
4540f29dbc25Smrg      fi
4541f29dbc25Smrg      ;;
4542f29dbc25Smrg    esac
4543f29dbc25Smrg
4544f29dbc25Smrg    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4545f29dbc25Smrg      runpath_var=
4546f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4547f29dbc25Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4548f29dbc25Smrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
4549f29dbc25Smrg    fi
4550f29dbc25Smrg  else
4551f29dbc25Smrg    # PORTME fill in a description of your system's linker (not GNU ld)
4552f29dbc25Smrg    case $host_os in
4553f29dbc25Smrg    aix3*)
4554f29dbc25Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4555f29dbc25Smrg      _LT_TAGVAR(always_export_symbols, $1)=yes
4556f29dbc25Smrg      _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'
4557f29dbc25Smrg      # Note: this linker hardcodes the directories in LIBPATH if there
4558f29dbc25Smrg      # are no directories specified by -L.
4559f29dbc25Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4560f29dbc25Smrg      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4561f29dbc25Smrg	# Neither direct hardcoding nor static linking is supported with a
4562f29dbc25Smrg	# broken collect2.
4563f29dbc25Smrg	_LT_TAGVAR(hardcode_direct, $1)=unsupported
4564f29dbc25Smrg      fi
4565f29dbc25Smrg      ;;
4566f29dbc25Smrg
4567f29dbc25Smrg    aix[[4-9]]*)
4568f29dbc25Smrg      if test "$host_cpu" = ia64; then
4569f29dbc25Smrg	# On IA64, the linker does run time linking by default, so we don't
4570f29dbc25Smrg	# have to do anything special.
4571f29dbc25Smrg	aix_use_runtimelinking=no
4572f29dbc25Smrg	exp_sym_flag='-Bexport'
4573f29dbc25Smrg	no_entry_flag=""
4574f29dbc25Smrg      else
4575f29dbc25Smrg	# If we're using GNU nm, then we don't want the "-C" option.
4576f29dbc25Smrg	# -C means demangle to AIX nm, but means don't demangle with GNU nm
4577f29dbc25Smrg	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4578f29dbc25Smrg	  _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'
4579f29dbc25Smrg	else
4580f29dbc25Smrg	  _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'
4581f29dbc25Smrg	fi
4582f29dbc25Smrg	aix_use_runtimelinking=no
4583f29dbc25Smrg
4584f29dbc25Smrg	# Test if we are trying to use run time linking or normal
4585f29dbc25Smrg	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
4586f29dbc25Smrg	# need to do runtime linking.
4587f29dbc25Smrg	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
4588f29dbc25Smrg	  for ld_flag in $LDFLAGS; do
4589f29dbc25Smrg	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4590f29dbc25Smrg	    aix_use_runtimelinking=yes
4591f29dbc25Smrg	    break
4592f29dbc25Smrg	  fi
4593f29dbc25Smrg	  done
4594f29dbc25Smrg	  ;;
4595f29dbc25Smrg	esac
4596f29dbc25Smrg
4597f29dbc25Smrg	exp_sym_flag='-bexport'
4598f29dbc25Smrg	no_entry_flag='-bnoentry'
4599f29dbc25Smrg      fi
4600f29dbc25Smrg
4601f29dbc25Smrg      # When large executables or shared objects are built, AIX ld can
4602f29dbc25Smrg      # have problems creating the table of contents.  If linking a library
4603f29dbc25Smrg      # or program results in "error TOC overflow" add -mminimal-toc to
4604f29dbc25Smrg      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
4605f29dbc25Smrg      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4606f29dbc25Smrg
4607f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)=''
4608f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4609f29dbc25Smrg      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4610f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4611f29dbc25Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
4612f29dbc25Smrg      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
4613f29dbc25Smrg
4614f29dbc25Smrg      if test "$GCC" = yes; then
4615f29dbc25Smrg	case $host_os in aix4.[[012]]|aix4.[[012]].*)
4616f29dbc25Smrg	# We only want to do this on AIX 4.2 and lower, the check
4617f29dbc25Smrg	# below for broken collect2 doesn't work under 4.3+
4618f29dbc25Smrg	  collect2name=`${CC} -print-prog-name=collect2`
4619f29dbc25Smrg	  if test -f "$collect2name" &&
4620f29dbc25Smrg	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
4621f29dbc25Smrg	  then
4622f29dbc25Smrg	  # We have reworked collect2
4623f29dbc25Smrg	  :
4624f29dbc25Smrg	  else
4625f29dbc25Smrg	  # We have old collect2
4626f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
4627f29dbc25Smrg	  # It fails to find uninstalled libraries when the uninstalled
4628f29dbc25Smrg	  # path is not listed in the libpath.  Setting hardcode_minus_L
4629f29dbc25Smrg	  # to unsupported forces relinking
4630f29dbc25Smrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
4631f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4632f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
4633f29dbc25Smrg	  fi
4634f29dbc25Smrg	  ;;
4635f29dbc25Smrg	esac
4636f29dbc25Smrg	shared_flag='-shared'
4637f29dbc25Smrg	if test "$aix_use_runtimelinking" = yes; then
4638f29dbc25Smrg	  shared_flag="$shared_flag "'${wl}-G'
4639f29dbc25Smrg	fi
4640f29dbc25Smrg	_LT_TAGVAR(link_all_deplibs, $1)=no
4641f29dbc25Smrg      else
4642f29dbc25Smrg	# not using gcc
4643f29dbc25Smrg	if test "$host_cpu" = ia64; then
4644f29dbc25Smrg	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4645f29dbc25Smrg	# chokes on -Wl,-G. The following line is correct:
4646f29dbc25Smrg	  shared_flag='-G'
4647f29dbc25Smrg	else
4648f29dbc25Smrg	  if test "$aix_use_runtimelinking" = yes; then
4649f29dbc25Smrg	    shared_flag='${wl}-G'
4650f29dbc25Smrg	  else
4651f29dbc25Smrg	    shared_flag='${wl}-bM:SRE'
4652f29dbc25Smrg	  fi
4653f29dbc25Smrg	fi
4654f29dbc25Smrg      fi
4655f29dbc25Smrg
4656f29dbc25Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
4657f29dbc25Smrg      # It seems that -bexpall does not export symbols beginning with
4658f29dbc25Smrg      # underscore (_), so it is better to generate a list of symbols to export.
4659f29dbc25Smrg      _LT_TAGVAR(always_export_symbols, $1)=yes
4660f29dbc25Smrg      if test "$aix_use_runtimelinking" = yes; then
4661f29dbc25Smrg	# Warning - without using the other runtime loading flags (-brtl),
4662f29dbc25Smrg	# -berok will link without error, but may produce a broken library.
4663f29dbc25Smrg	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4664f29dbc25Smrg        # Determine the default libpath from the value encoded in an
4665f29dbc25Smrg        # empty executable.
4666f29dbc25Smrg        _LT_SYS_MODULE_PATH_AIX
4667f29dbc25Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4668f29dbc25Smrg        _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"
4669f29dbc25Smrg      else
4670f29dbc25Smrg	if test "$host_cpu" = ia64; then
4671f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4672f29dbc25Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4673f29dbc25Smrg	  _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"
4674f29dbc25Smrg	else
4675f29dbc25Smrg	 # Determine the default libpath from the value encoded in an
4676f29dbc25Smrg	 # empty executable.
4677f29dbc25Smrg	 _LT_SYS_MODULE_PATH_AIX
4678f29dbc25Smrg	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4679f29dbc25Smrg	  # Warning - without using the other run time loading flags,
4680f29dbc25Smrg	  # -berok will link without error, but may produce a broken library.
4681f29dbc25Smrg	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4682f29dbc25Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4683f29dbc25Smrg	  # Exported symbols can be pulled into shared objects from archives
4684f29dbc25Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4685f29dbc25Smrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
4686f29dbc25Smrg	  # This is similar to how AIX traditionally builds its shared libraries.
4687f29dbc25Smrg	  _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'
4688f29dbc25Smrg	fi
4689f29dbc25Smrg      fi
4690f29dbc25Smrg      ;;
4691f29dbc25Smrg
4692f29dbc25Smrg    amigaos*)
4693f29dbc25Smrg      case $host_cpu in
4694f29dbc25Smrg      powerpc)
4695f29dbc25Smrg            # see comment about AmigaOS4 .so support
4696f29dbc25Smrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4697f29dbc25Smrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
4698f29dbc25Smrg        ;;
4699f29dbc25Smrg      m68k)
4700f29dbc25Smrg            _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)'
4701f29dbc25Smrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4702f29dbc25Smrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
4703f29dbc25Smrg        ;;
4704f29dbc25Smrg      esac
4705f29dbc25Smrg      ;;
4706f29dbc25Smrg
4707f29dbc25Smrg    bsdi[[45]]*)
4708f29dbc25Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
4709f29dbc25Smrg      ;;
4710f29dbc25Smrg
4711f29dbc25Smrg    cygwin* | mingw* | pw32* | cegcc*)
4712f29dbc25Smrg      # When not using gcc, we currently assume that we are using
4713f29dbc25Smrg      # Microsoft Visual C++.
4714f29dbc25Smrg      # hardcode_libdir_flag_spec is actually meaningless, as there is
4715f29dbc25Smrg      # no search path for DLLs.
4716f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4717f29dbc25Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4718f29dbc25Smrg      # Tell ltmain to make .lib files, not .a files.
4719f29dbc25Smrg      libext=lib
4720f29dbc25Smrg      # Tell ltmain to make .dll files, not .so files.
4721f29dbc25Smrg      shrext_cmds=".dll"
4722f29dbc25Smrg      # FIXME: Setting linknames here is a bad hack.
4723f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4724f29dbc25Smrg      # The linker will automatically build a .lib file if we build a DLL.
4725f29dbc25Smrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
4726f29dbc25Smrg      # FIXME: Should let the user specify the lib program.
4727f29dbc25Smrg      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4728f29dbc25Smrg      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4729f29dbc25Smrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4730f29dbc25Smrg      ;;
4731f29dbc25Smrg
4732f29dbc25Smrg    darwin* | rhapsody*)
4733f29dbc25Smrg      _LT_DARWIN_LINKER_FEATURES($1)
4734f29dbc25Smrg      ;;
4735f29dbc25Smrg
4736f29dbc25Smrg    dgux*)
4737f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4738f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4739f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4740f29dbc25Smrg      ;;
4741f29dbc25Smrg
4742f29dbc25Smrg    freebsd1*)
4743f29dbc25Smrg      _LT_TAGVAR(ld_shlibs, $1)=no
4744f29dbc25Smrg      ;;
4745f29dbc25Smrg
4746f29dbc25Smrg    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4747f29dbc25Smrg    # support.  Future versions do this automatically, but an explicit c++rt0.o
4748f29dbc25Smrg    # does not break anything, and helps significantly (at the cost of a little
4749f29dbc25Smrg    # extra space).
4750f29dbc25Smrg    freebsd2.2*)
4751f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4752f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4753f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4754f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4755f29dbc25Smrg      ;;
4756f29dbc25Smrg
4757f29dbc25Smrg    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4758f29dbc25Smrg    freebsd2*)
4759f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4760f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4761f29dbc25Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4762f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4763f29dbc25Smrg      ;;
4764f29dbc25Smrg
4765f29dbc25Smrg    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4766f29dbc25Smrg    freebsd* | dragonfly*)
4767f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4768f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4769f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4770f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4771f29dbc25Smrg      ;;
4772f29dbc25Smrg
4773f29dbc25Smrg    hpux9*)
4774f29dbc25Smrg      if test "$GCC" = yes; then
4775f29dbc25Smrg	_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'
4776f29dbc25Smrg      else
4777f29dbc25Smrg	_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'
4778f29dbc25Smrg      fi
4779f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4780f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4781f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4782f29dbc25Smrg
4783f29dbc25Smrg      # hardcode_minus_L: Not really in the search PATH,
4784f29dbc25Smrg      # but as the default location of the library.
4785f29dbc25Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4786f29dbc25Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4787f29dbc25Smrg      ;;
4788f29dbc25Smrg
4789f29dbc25Smrg    hpux10*)
4790f29dbc25Smrg      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4791f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4792f29dbc25Smrg      else
4793f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4794f29dbc25Smrg      fi
4795f29dbc25Smrg      if test "$with_gnu_ld" = no; then
4796f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4797f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4798f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
4799f29dbc25Smrg	_LT_TAGVAR(hardcode_direct, $1)=yes
4800f29dbc25Smrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4801f29dbc25Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4802f29dbc25Smrg	# hardcode_minus_L: Not really in the search PATH,
4803f29dbc25Smrg	# but as the default location of the library.
4804f29dbc25Smrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
4805f29dbc25Smrg      fi
4806f29dbc25Smrg      ;;
4807f29dbc25Smrg
4808f29dbc25Smrg    hpux11*)
4809f29dbc25Smrg      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4810f29dbc25Smrg	case $host_cpu in
4811f29dbc25Smrg	hppa*64*)
4812f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4813f29dbc25Smrg	  ;;
4814f29dbc25Smrg	ia64*)
4815f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4816f29dbc25Smrg	  ;;
4817f29dbc25Smrg	*)
4818f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4819f29dbc25Smrg	  ;;
4820f29dbc25Smrg	esac
4821f29dbc25Smrg      else
4822f29dbc25Smrg	case $host_cpu in
4823f29dbc25Smrg	hppa*64*)
4824f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4825f29dbc25Smrg	  ;;
4826f29dbc25Smrg	ia64*)
4827f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4828f29dbc25Smrg	  ;;
4829f29dbc25Smrg	*)
4830f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4831f29dbc25Smrg	  ;;
4832f29dbc25Smrg	esac
4833f29dbc25Smrg      fi
4834f29dbc25Smrg      if test "$with_gnu_ld" = no; then
4835f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4836f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
4837f29dbc25Smrg
4838f29dbc25Smrg	case $host_cpu in
4839f29dbc25Smrg	hppa*64*|ia64*)
4840f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct, $1)=no
4841f29dbc25Smrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4842f29dbc25Smrg	  ;;
4843f29dbc25Smrg	*)
4844f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
4845f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4846f29dbc25Smrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4847f29dbc25Smrg
4848f29dbc25Smrg	  # hardcode_minus_L: Not really in the search PATH,
4849f29dbc25Smrg	  # but as the default location of the library.
4850f29dbc25Smrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
4851f29dbc25Smrg	  ;;
4852f29dbc25Smrg	esac
4853f29dbc25Smrg      fi
4854f29dbc25Smrg      ;;
4855f29dbc25Smrg
4856f29dbc25Smrg    irix5* | irix6* | nonstopux*)
4857f29dbc25Smrg      if test "$GCC" = yes; then
4858f29dbc25Smrg	_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'
4859f29dbc25Smrg	# Try to use the -exported_symbol ld option, if it does not
4860f29dbc25Smrg	# work, assume that -exports_file does not work either and
4861f29dbc25Smrg	# implicitly export all symbols.
4862f29dbc25Smrg        save_LDFLAGS="$LDFLAGS"
4863f29dbc25Smrg        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4864f29dbc25Smrg        AC_LINK_IFELSE(int foo(void) {},
4865f29dbc25Smrg          _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'
4866f29dbc25Smrg        )
4867f29dbc25Smrg        LDFLAGS="$save_LDFLAGS"
4868f29dbc25Smrg      else
4869f29dbc25Smrg	_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'
4870f29dbc25Smrg	_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'
4871f29dbc25Smrg      fi
4872f29dbc25Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4873f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4874f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4875f29dbc25Smrg      _LT_TAGVAR(inherit_rpath, $1)=yes
4876f29dbc25Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
4877f29dbc25Smrg      ;;
4878f29dbc25Smrg
4879f29dbc25Smrg    netbsd* | netbsdelf*-gnu)
4880f29dbc25Smrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4881f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
4882f29dbc25Smrg      else
4883f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
4884f29dbc25Smrg      fi
4885f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4886f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4887f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4888f29dbc25Smrg      ;;
4889f29dbc25Smrg
4890f29dbc25Smrg    newsos6)
4891f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4892f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
4893f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4894f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4895f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4896f29dbc25Smrg      ;;
4897f29dbc25Smrg
4898f29dbc25Smrg    *nto* | *qnx*)
4899f29dbc25Smrg      ;;
4900f29dbc25Smrg
4901f29dbc25Smrg    openbsd*)
4902f29dbc25Smrg      if test -f /usr/libexec/ld.so; then
4903f29dbc25Smrg	_LT_TAGVAR(hardcode_direct, $1)=yes
4904f29dbc25Smrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4905f29dbc25Smrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4906f29dbc25Smrg	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4907f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4908f29dbc25Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4909f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4910f29dbc25Smrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4911f29dbc25Smrg	else
4912f29dbc25Smrg	  case $host_os in
4913f29dbc25Smrg	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4914f29dbc25Smrg	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4915f29dbc25Smrg	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4916f29dbc25Smrg	     ;;
4917f29dbc25Smrg	   *)
4918f29dbc25Smrg	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4919f29dbc25Smrg	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4920f29dbc25Smrg	     ;;
4921f29dbc25Smrg	  esac
4922f29dbc25Smrg	fi
4923f29dbc25Smrg      else
4924f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
4925f29dbc25Smrg      fi
4926f29dbc25Smrg      ;;
4927f29dbc25Smrg
4928f29dbc25Smrg    os2*)
4929f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4930f29dbc25Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
4931f29dbc25Smrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4932f29dbc25Smrg      _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'
4933f29dbc25Smrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4934f29dbc25Smrg      ;;
4935f29dbc25Smrg
4936f29dbc25Smrg    osf3*)
4937f29dbc25Smrg      if test "$GCC" = yes; then
4938f29dbc25Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4939f29dbc25Smrg	_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'
4940f29dbc25Smrg      else
4941f29dbc25Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4942f29dbc25Smrg	_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'
4943f29dbc25Smrg      fi
4944f29dbc25Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4945f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4946f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4947f29dbc25Smrg      ;;
4948f29dbc25Smrg
4949f29dbc25Smrg    osf4* | osf5*)	# as osf3* with the addition of -msym flag
4950f29dbc25Smrg      if test "$GCC" = yes; then
4951f29dbc25Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4952f29dbc25Smrg	_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'
4953f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4954f29dbc25Smrg      else
4955f29dbc25Smrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4956f29dbc25Smrg	_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'
4957f29dbc25Smrg	_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~
4958f29dbc25Smrg	$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'
4959f29dbc25Smrg
4960f29dbc25Smrg	# Both c and cxx compiler support -rpath directly
4961f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4962f29dbc25Smrg      fi
4963f29dbc25Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4964f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4965f29dbc25Smrg      ;;
4966f29dbc25Smrg
4967f29dbc25Smrg    solaris*)
4968f29dbc25Smrg      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
4969f29dbc25Smrg      if test "$GCC" = yes; then
4970f29dbc25Smrg	wlarc='${wl}'
4971f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4972f29dbc25Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4973f29dbc25Smrg	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4974f29dbc25Smrg      else
4975f29dbc25Smrg	case `$CC -V 2>&1` in
4976f29dbc25Smrg	*"Compilers 5.0"*)
4977f29dbc25Smrg	  wlarc=''
4978f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4979f29dbc25Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4980f29dbc25Smrg	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4981f29dbc25Smrg	  ;;
4982f29dbc25Smrg	*)
4983f29dbc25Smrg	  wlarc='${wl}'
4984f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4985f29dbc25Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4986f29dbc25Smrg	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4987f29dbc25Smrg	  ;;
4988f29dbc25Smrg	esac
4989f29dbc25Smrg      fi
4990f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4991f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4992f29dbc25Smrg      case $host_os in
4993f29dbc25Smrg      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
4994f29dbc25Smrg      *)
4995f29dbc25Smrg	# The compiler driver will combine and reorder linker options,
4996f29dbc25Smrg	# but understands `-z linker_flag'.  GCC discards it without `$wl',
4997f29dbc25Smrg	# but is careful enough not to reorder.
4998f29dbc25Smrg	# Supported since Solaris 2.6 (maybe 2.5.1?)
4999f29dbc25Smrg	if test "$GCC" = yes; then
5000f29dbc25Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5001f29dbc25Smrg	else
5002f29dbc25Smrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5003f29dbc25Smrg	fi
5004f29dbc25Smrg	;;
5005f29dbc25Smrg      esac
5006f29dbc25Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
5007f29dbc25Smrg      ;;
5008f29dbc25Smrg
5009f29dbc25Smrg    sunos4*)
5010f29dbc25Smrg      if test "x$host_vendor" = xsequent; then
5011f29dbc25Smrg	# Use $CC to link under sequent, because it throws in some extra .o
5012f29dbc25Smrg	# files that make .init and .fini sections work.
5013f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5014f29dbc25Smrg      else
5015f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5016f29dbc25Smrg      fi
5017f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5018f29dbc25Smrg      _LT_TAGVAR(hardcode_direct, $1)=yes
5019f29dbc25Smrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
5020f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5021f29dbc25Smrg      ;;
5022f29dbc25Smrg
5023f29dbc25Smrg    sysv4)
5024f29dbc25Smrg      case $host_vendor in
5025f29dbc25Smrg	sni)
5026f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5027f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5028f29dbc25Smrg	;;
5029f29dbc25Smrg	siemens)
5030f29dbc25Smrg	  ## LD is ld it makes a PLAMLIB
5031f29dbc25Smrg	  ## CC just makes a GrossModule.
5032f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5033f29dbc25Smrg	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5034f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct, $1)=no
5035f29dbc25Smrg        ;;
5036f29dbc25Smrg	motorola)
5037f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5038f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5039f29dbc25Smrg	;;
5040f29dbc25Smrg      esac
5041f29dbc25Smrg      runpath_var='LD_RUN_PATH'
5042f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5043f29dbc25Smrg      ;;
5044f29dbc25Smrg
5045f29dbc25Smrg    sysv4.3*)
5046f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5047f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5048f29dbc25Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5049f29dbc25Smrg      ;;
5050f29dbc25Smrg
5051f29dbc25Smrg    sysv4*MP*)
5052f29dbc25Smrg      if test -d /usr/nec; then
5053f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5054f29dbc25Smrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5055f29dbc25Smrg	runpath_var=LD_RUN_PATH
5056f29dbc25Smrg	hardcode_runpath_var=yes
5057f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=yes
5058f29dbc25Smrg      fi
5059f29dbc25Smrg      ;;
5060f29dbc25Smrg
5061f29dbc25Smrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5062f29dbc25Smrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5063f29dbc25Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5064f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5065f29dbc25Smrg      runpath_var='LD_RUN_PATH'
5066f29dbc25Smrg
5067f29dbc25Smrg      if test "$GCC" = yes; then
5068f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5069f29dbc25Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5070f29dbc25Smrg      else
5071f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5072f29dbc25Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5073f29dbc25Smrg      fi
5074f29dbc25Smrg      ;;
5075f29dbc25Smrg
5076f29dbc25Smrg    sysv5* | sco3.2v5* | sco5v6*)
5077f29dbc25Smrg      # Note: We can NOT use -z defs as we might desire, because we do not
5078f29dbc25Smrg      # link with -lc, and that would cause any symbols used from libc to
5079f29dbc25Smrg      # always be unresolved, which means just about no library would
5080f29dbc25Smrg      # ever link correctly.  If we're not using GNU ld we use -z text
5081f29dbc25Smrg      # though, which does catch some bad symbols but isn't as heavy-handed
5082f29dbc25Smrg      # as -z defs.
5083f29dbc25Smrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5084f29dbc25Smrg      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5085f29dbc25Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5086f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5087f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5088f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5089f29dbc25Smrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
5090f29dbc25Smrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5091f29dbc25Smrg      runpath_var='LD_RUN_PATH'
5092f29dbc25Smrg
5093f29dbc25Smrg      if test "$GCC" = yes; then
5094f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5095f29dbc25Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5096f29dbc25Smrg      else
5097f29dbc25Smrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5098f29dbc25Smrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5099f29dbc25Smrg      fi
5100f29dbc25Smrg      ;;
5101f29dbc25Smrg
5102f29dbc25Smrg    uts4*)
5103f29dbc25Smrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5104f29dbc25Smrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5105f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5106f29dbc25Smrg      ;;
5107f29dbc25Smrg
5108f29dbc25Smrg    *)
5109f29dbc25Smrg      _LT_TAGVAR(ld_shlibs, $1)=no
5110f29dbc25Smrg      ;;
5111f29dbc25Smrg    esac
5112f29dbc25Smrg
5113f29dbc25Smrg    if test x$host_vendor = xsni; then
5114f29dbc25Smrg      case $host in
5115f29dbc25Smrg      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5116f29dbc25Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5117f29dbc25Smrg	;;
5118f29dbc25Smrg      esac
5119f29dbc25Smrg    fi
5120f29dbc25Smrg  fi
5121f29dbc25Smrg])
5122f29dbc25SmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5123f29dbc25Smrgtest "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5124f29dbc25Smrg
5125f29dbc25Smrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5126f29dbc25Smrg
5127f29dbc25Smrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5128f29dbc25Smrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5129f29dbc25Smrg_LT_DECL([], [extract_expsyms_cmds], [2],
5130f29dbc25Smrg    [The commands to extract the exported symbol list from a shared archive])
5131f29dbc25Smrg
5132f29dbc25Smrg#
5133f29dbc25Smrg# Do we need to explicitly link libc?
5134f29dbc25Smrg#
5135f29dbc25Smrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5136f29dbc25Smrgx|xyes)
5137f29dbc25Smrg  # Assume -lc should be added
5138f29dbc25Smrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5139f29dbc25Smrg
5140f29dbc25Smrg  if test "$enable_shared" = yes && test "$GCC" = yes; then
5141f29dbc25Smrg    case $_LT_TAGVAR(archive_cmds, $1) in
5142f29dbc25Smrg    *'~'*)
5143f29dbc25Smrg      # FIXME: we may have to deal with multi-command sequences.
5144f29dbc25Smrg      ;;
5145f29dbc25Smrg    '$CC '*)
5146f29dbc25Smrg      # Test whether the compiler implicitly links with -lc since on some
5147f29dbc25Smrg      # systems, -lgcc has to come before -lc. If gcc already passes -lc
5148f29dbc25Smrg      # to ld, don't add -lc before -lgcc.
5149f29dbc25Smrg      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5150f29dbc25Smrg      $RM conftest*
5151f29dbc25Smrg      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5152f29dbc25Smrg
5153f29dbc25Smrg      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5154f29dbc25Smrg        soname=conftest
5155f29dbc25Smrg        lib=conftest
5156f29dbc25Smrg        libobjs=conftest.$ac_objext
5157f29dbc25Smrg        deplibs=
5158f29dbc25Smrg        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5159f29dbc25Smrg	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5160f29dbc25Smrg        compiler_flags=-v
5161f29dbc25Smrg        linker_flags=-v
5162f29dbc25Smrg        verstring=
5163f29dbc25Smrg        output_objdir=.
5164f29dbc25Smrg        libname=conftest
5165f29dbc25Smrg        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5166f29dbc25Smrg        _LT_TAGVAR(allow_undefined_flag, $1)=
5167f29dbc25Smrg        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5168f29dbc25Smrg        then
5169f29dbc25Smrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5170f29dbc25Smrg        else
5171f29dbc25Smrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5172f29dbc25Smrg        fi
5173f29dbc25Smrg        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5174f29dbc25Smrg      else
5175f29dbc25Smrg        cat conftest.err 1>&5
5176f29dbc25Smrg      fi
5177f29dbc25Smrg      $RM conftest*
5178f29dbc25Smrg      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
5179f29dbc25Smrg      ;;
5180f29dbc25Smrg    esac
5181f29dbc25Smrg  fi
5182f29dbc25Smrg  ;;
5183f29dbc25Smrgesac
5184f29dbc25Smrg
5185f29dbc25Smrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5186f29dbc25Smrg    [Whether or not to add -lc for building shared libraries])
5187f29dbc25Smrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5188f29dbc25Smrg    [enable_shared_with_static_runtimes], [0],
5189f29dbc25Smrg    [Whether or not to disallow shared libs when runtime libs are static])
5190f29dbc25Smrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5191f29dbc25Smrg    [Compiler flag to allow reflexive dlopens])
5192f29dbc25Smrg_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5193f29dbc25Smrg    [Compiler flag to generate shared objects directly from archives])
5194f29dbc25Smrg_LT_TAGDECL([], [compiler_needs_object], [1],
5195f29dbc25Smrg    [Whether the compiler copes with passing no objects directly])
5196f29dbc25Smrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5197f29dbc25Smrg    [Create an old-style archive from a shared archive])
5198f29dbc25Smrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5199f29dbc25Smrg    [Create a temporary old-style archive to link instead of a shared archive])
5200f29dbc25Smrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5201f29dbc25Smrg_LT_TAGDECL([], [archive_expsym_cmds], [2])
5202f29dbc25Smrg_LT_TAGDECL([], [module_cmds], [2],
5203f29dbc25Smrg    [Commands used to build a loadable module if different from building
5204f29dbc25Smrg    a shared archive.])
5205f29dbc25Smrg_LT_TAGDECL([], [module_expsym_cmds], [2])
5206f29dbc25Smrg_LT_TAGDECL([], [with_gnu_ld], [1],
5207f29dbc25Smrg    [Whether we are building with GNU ld or not])
5208f29dbc25Smrg_LT_TAGDECL([], [allow_undefined_flag], [1],
5209f29dbc25Smrg    [Flag that allows shared libraries with undefined symbols to be built])
5210f29dbc25Smrg_LT_TAGDECL([], [no_undefined_flag], [1],
5211f29dbc25Smrg    [Flag that enforces no undefined symbols])
5212f29dbc25Smrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5213f29dbc25Smrg    [Flag to hardcode $libdir into a binary during linking.
5214f29dbc25Smrg    This must work even if $libdir does not exist])
5215f29dbc25Smrg_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5216f29dbc25Smrg    [[If ld is used when linking, flag to hardcode $libdir into a binary
5217f29dbc25Smrg    during linking.  This must work even if $libdir does not exist]])
5218f29dbc25Smrg_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5219f29dbc25Smrg    [Whether we need a single "-rpath" flag with a separated argument])
5220f29dbc25Smrg_LT_TAGDECL([], [hardcode_direct], [0],
5221f29dbc25Smrg    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5222f29dbc25Smrg    DIR into the resulting binary])
5223f29dbc25Smrg_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5224f29dbc25Smrg    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5225f29dbc25Smrg    DIR into the resulting binary and the resulting library dependency is
5226f29dbc25Smrg    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5227f29dbc25Smrg    library is relocated])
5228f29dbc25Smrg_LT_TAGDECL([], [hardcode_minus_L], [0],
5229f29dbc25Smrg    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5230f29dbc25Smrg    into the resulting binary])
5231f29dbc25Smrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5232f29dbc25Smrg    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5233f29dbc25Smrg    into the resulting binary])
5234f29dbc25Smrg_LT_TAGDECL([], [hardcode_automatic], [0],
5235f29dbc25Smrg    [Set to "yes" if building a shared library automatically hardcodes DIR
5236f29dbc25Smrg    into the library and all subsequent libraries and executables linked
5237f29dbc25Smrg    against it])
5238f29dbc25Smrg_LT_TAGDECL([], [inherit_rpath], [0],
5239f29dbc25Smrg    [Set to yes if linker adds runtime paths of dependent libraries
5240f29dbc25Smrg    to runtime path list])
5241f29dbc25Smrg_LT_TAGDECL([], [link_all_deplibs], [0],
5242f29dbc25Smrg    [Whether libtool must link a program against all its dependency libraries])
5243f29dbc25Smrg_LT_TAGDECL([], [fix_srcfile_path], [1],
5244f29dbc25Smrg    [Fix the shell variable $srcfile for the compiler])
5245f29dbc25Smrg_LT_TAGDECL([], [always_export_symbols], [0],
5246f29dbc25Smrg    [Set to "yes" if exported symbols are required])
5247f29dbc25Smrg_LT_TAGDECL([], [export_symbols_cmds], [2],
5248f29dbc25Smrg    [The commands to list exported symbols])
5249f29dbc25Smrg_LT_TAGDECL([], [exclude_expsyms], [1],
5250f29dbc25Smrg    [Symbols that should not be listed in the preloaded symbols])
5251f29dbc25Smrg_LT_TAGDECL([], [include_expsyms], [1],
5252f29dbc25Smrg    [Symbols that must always be exported])
5253f29dbc25Smrg_LT_TAGDECL([], [prelink_cmds], [2],
5254f29dbc25Smrg    [Commands necessary for linking programs (against libraries) with templates])
5255f29dbc25Smrg_LT_TAGDECL([], [file_list_spec], [1],
5256f29dbc25Smrg    [Specify filename containing input files])
5257f29dbc25Smrgdnl FIXME: Not yet implemented
5258f29dbc25Smrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5259f29dbc25Smrgdnl    [Compiler flag to generate thread safe objects])
5260f29dbc25Smrg])# _LT_LINKER_SHLIBS
5261f29dbc25Smrg
5262f29dbc25Smrg
5263f29dbc25Smrg# _LT_LANG_C_CONFIG([TAG])
5264f29dbc25Smrg# ------------------------
5265f29dbc25Smrg# Ensure that the configuration variables for a C compiler are suitably
5266f29dbc25Smrg# defined.  These variables are subsequently used by _LT_CONFIG to write
5267f29dbc25Smrg# the compiler configuration to `libtool'.
5268f29dbc25Smrgm4_defun([_LT_LANG_C_CONFIG],
5269f29dbc25Smrg[m4_require([_LT_DECL_EGREP])dnl
5270f29dbc25Smrglt_save_CC="$CC"
5271f29dbc25SmrgAC_LANG_PUSH(C)
5272f29dbc25Smrg
5273f29dbc25Smrg# Source file extension for C test sources.
5274f29dbc25Smrgac_ext=c
5275f29dbc25Smrg
5276f29dbc25Smrg# Object file extension for compiled C test sources.
5277f29dbc25Smrgobjext=o
5278f29dbc25Smrg_LT_TAGVAR(objext, $1)=$objext
5279f29dbc25Smrg
5280f29dbc25Smrg# Code to be used in simple compile tests
5281f29dbc25Smrglt_simple_compile_test_code="int some_variable = 0;"
5282f29dbc25Smrg
5283f29dbc25Smrg# Code to be used in simple link tests
5284f29dbc25Smrglt_simple_link_test_code='int main(){return(0);}'
5285f29dbc25Smrg
5286f29dbc25Smrg_LT_TAG_COMPILER
5287f29dbc25Smrg# Save the default compiler, since it gets overwritten when the other
5288f29dbc25Smrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5289f29dbc25Smrgcompiler_DEFAULT=$CC
5290f29dbc25Smrg
5291f29dbc25Smrg# save warnings/boilerplate of simple test code
5292f29dbc25Smrg_LT_COMPILER_BOILERPLATE
5293f29dbc25Smrg_LT_LINKER_BOILERPLATE
5294f29dbc25Smrg
5295f29dbc25Smrgif test -n "$compiler"; then
5296f29dbc25Smrg  _LT_COMPILER_NO_RTTI($1)
5297f29dbc25Smrg  _LT_COMPILER_PIC($1)
5298f29dbc25Smrg  _LT_COMPILER_C_O($1)
5299f29dbc25Smrg  _LT_COMPILER_FILE_LOCKS($1)
5300f29dbc25Smrg  _LT_LINKER_SHLIBS($1)
5301f29dbc25Smrg  _LT_SYS_DYNAMIC_LINKER($1)
5302f29dbc25Smrg  _LT_LINKER_HARDCODE_LIBPATH($1)
5303f29dbc25Smrg  LT_SYS_DLOPEN_SELF
5304f29dbc25Smrg  _LT_CMD_STRIPLIB
5305f29dbc25Smrg
5306f29dbc25Smrg  # Report which library types will actually be built
5307f29dbc25Smrg  AC_MSG_CHECKING([if libtool supports shared libraries])
5308f29dbc25Smrg  AC_MSG_RESULT([$can_build_shared])
5309f29dbc25Smrg
5310f29dbc25Smrg  AC_MSG_CHECKING([whether to build shared libraries])
5311f29dbc25Smrg  test "$can_build_shared" = "no" && enable_shared=no
5312f29dbc25Smrg
5313f29dbc25Smrg  # On AIX, shared libraries and static libraries use the same namespace, and
5314f29dbc25Smrg  # are all built from PIC.
5315f29dbc25Smrg  case $host_os in
5316f29dbc25Smrg  aix3*)
5317f29dbc25Smrg    test "$enable_shared" = yes && enable_static=no
5318f29dbc25Smrg    if test -n "$RANLIB"; then
5319f29dbc25Smrg      archive_cmds="$archive_cmds~\$RANLIB \$lib"
5320f29dbc25Smrg      postinstall_cmds='$RANLIB $lib'
5321f29dbc25Smrg    fi
5322f29dbc25Smrg    ;;
5323f29dbc25Smrg
5324f29dbc25Smrg  aix[[4-9]]*)
5325f29dbc25Smrg    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5326f29dbc25Smrg      test "$enable_shared" = yes && enable_static=no
5327f29dbc25Smrg    fi
5328f29dbc25Smrg    ;;
5329f29dbc25Smrg  esac
5330f29dbc25Smrg  AC_MSG_RESULT([$enable_shared])
5331f29dbc25Smrg
5332f29dbc25Smrg  AC_MSG_CHECKING([whether to build static libraries])
5333f29dbc25Smrg  # Make sure either enable_shared or enable_static is yes.
5334f29dbc25Smrg  test "$enable_shared" = yes || enable_static=yes
5335f29dbc25Smrg  AC_MSG_RESULT([$enable_static])
5336f29dbc25Smrg
5337f29dbc25Smrg  _LT_CONFIG($1)
5338f29dbc25Smrgfi
5339f29dbc25SmrgAC_LANG_POP
5340f29dbc25SmrgCC="$lt_save_CC"
5341f29dbc25Smrg])# _LT_LANG_C_CONFIG
5342f29dbc25Smrg
5343f29dbc25Smrg
5344f29dbc25Smrg# _LT_PROG_CXX
5345f29dbc25Smrg# ------------
5346f29dbc25Smrg# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5347f29dbc25Smrg# compiler, we have our own version here.
5348f29dbc25Smrgm4_defun([_LT_PROG_CXX],
5349f29dbc25Smrg[
5350f29dbc25Smrgpushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5351f29dbc25SmrgAC_PROG_CXX
5352f29dbc25Smrgif test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5353f29dbc25Smrg    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5354f29dbc25Smrg    (test "X$CXX" != "Xg++"))) ; then
5355f29dbc25Smrg  AC_PROG_CXXCPP
5356f29dbc25Smrgelse
5357f29dbc25Smrg  _lt_caught_CXX_error=yes
5358f29dbc25Smrgfi
5359f29dbc25Smrgpopdef([AC_MSG_ERROR])
5360f29dbc25Smrg])# _LT_PROG_CXX
5361f29dbc25Smrg
5362f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
5363f29dbc25Smrgdnl AC_DEFUN([_LT_PROG_CXX], [])
5364f29dbc25Smrg
5365f29dbc25Smrg
5366f29dbc25Smrg# _LT_LANG_CXX_CONFIG([TAG])
5367f29dbc25Smrg# --------------------------
5368f29dbc25Smrg# Ensure that the configuration variables for a C++ compiler are suitably
5369f29dbc25Smrg# defined.  These variables are subsequently used by _LT_CONFIG to write
5370f29dbc25Smrg# the compiler configuration to `libtool'.
5371f29dbc25Smrgm4_defun([_LT_LANG_CXX_CONFIG],
5372f29dbc25Smrg[AC_REQUIRE([_LT_PROG_CXX])dnl
5373f29dbc25Smrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
5374f29dbc25Smrgm4_require([_LT_DECL_EGREP])dnl
5375f29dbc25Smrg
5376f29dbc25SmrgAC_LANG_PUSH(C++)
5377f29dbc25Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5378f29dbc25Smrg_LT_TAGVAR(allow_undefined_flag, $1)=
5379f29dbc25Smrg_LT_TAGVAR(always_export_symbols, $1)=no
5380f29dbc25Smrg_LT_TAGVAR(archive_expsym_cmds, $1)=
5381f29dbc25Smrg_LT_TAGVAR(compiler_needs_object, $1)=no
5382f29dbc25Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5383f29dbc25Smrg_LT_TAGVAR(hardcode_direct, $1)=no
5384f29dbc25Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5385f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5386f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5387f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
5388f29dbc25Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no
5389f29dbc25Smrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5390f29dbc25Smrg_LT_TAGVAR(hardcode_automatic, $1)=no
5391f29dbc25Smrg_LT_TAGVAR(inherit_rpath, $1)=no
5392f29dbc25Smrg_LT_TAGVAR(module_cmds, $1)=
5393f29dbc25Smrg_LT_TAGVAR(module_expsym_cmds, $1)=
5394f29dbc25Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
5395f29dbc25Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5396f29dbc25Smrg_LT_TAGVAR(no_undefined_flag, $1)=
5397f29dbc25Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
5398f29dbc25Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5399f29dbc25Smrg
5400f29dbc25Smrg# Source file extension for C++ test sources.
5401f29dbc25Smrgac_ext=cpp
5402f29dbc25Smrg
5403f29dbc25Smrg# Object file extension for compiled C++ test sources.
5404f29dbc25Smrgobjext=o
5405f29dbc25Smrg_LT_TAGVAR(objext, $1)=$objext
5406f29dbc25Smrg
5407f29dbc25Smrg# No sense in running all these tests if we already determined that
5408f29dbc25Smrg# the CXX compiler isn't working.  Some variables (like enable_shared)
5409f29dbc25Smrg# are currently assumed to apply to all compilers on this platform,
5410f29dbc25Smrg# and will be corrupted by setting them based on a non-working compiler.
5411f29dbc25Smrgif test "$_lt_caught_CXX_error" != yes; then
5412f29dbc25Smrg  # Code to be used in simple compile tests
5413f29dbc25Smrg  lt_simple_compile_test_code="int some_variable = 0;"
5414f29dbc25Smrg
5415f29dbc25Smrg  # Code to be used in simple link tests
5416f29dbc25Smrg  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5417f29dbc25Smrg
5418f29dbc25Smrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5419f29dbc25Smrg  _LT_TAG_COMPILER
5420f29dbc25Smrg
5421f29dbc25Smrg  # save warnings/boilerplate of simple test code
5422f29dbc25Smrg  _LT_COMPILER_BOILERPLATE
5423f29dbc25Smrg  _LT_LINKER_BOILERPLATE
5424f29dbc25Smrg
5425f29dbc25Smrg  # Allow CC to be a program name with arguments.
5426f29dbc25Smrg  lt_save_CC=$CC
5427f29dbc25Smrg  lt_save_LD=$LD
5428f29dbc25Smrg  lt_save_GCC=$GCC
5429f29dbc25Smrg  GCC=$GXX
5430f29dbc25Smrg  lt_save_with_gnu_ld=$with_gnu_ld
5431f29dbc25Smrg  lt_save_path_LD=$lt_cv_path_LD
5432f29dbc25Smrg  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5433f29dbc25Smrg    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5434f29dbc25Smrg  else
5435f29dbc25Smrg    $as_unset lt_cv_prog_gnu_ld
5436f29dbc25Smrg  fi
5437f29dbc25Smrg  if test -n "${lt_cv_path_LDCXX+set}"; then
5438f29dbc25Smrg    lt_cv_path_LD=$lt_cv_path_LDCXX
5439f29dbc25Smrg  else
5440f29dbc25Smrg    $as_unset lt_cv_path_LD
5441f29dbc25Smrg  fi
5442f29dbc25Smrg  test -z "${LDCXX+set}" || LD=$LDCXX
5443f29dbc25Smrg  CC=${CXX-"c++"}
5444f29dbc25Smrg  compiler=$CC
5445f29dbc25Smrg  _LT_TAGVAR(compiler, $1)=$CC
5446f29dbc25Smrg  _LT_CC_BASENAME([$compiler])
5447f29dbc25Smrg
5448f29dbc25Smrg  if test -n "$compiler"; then
5449f29dbc25Smrg    # We don't want -fno-exception when compiling C++ code, so set the
5450f29dbc25Smrg    # no_builtin_flag separately
5451f29dbc25Smrg    if test "$GXX" = yes; then
5452f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5453f29dbc25Smrg    else
5454f29dbc25Smrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5455f29dbc25Smrg    fi
5456f29dbc25Smrg
5457f29dbc25Smrg    if test "$GXX" = yes; then
5458f29dbc25Smrg      # Set up default GNU C++ configuration
5459f29dbc25Smrg
5460f29dbc25Smrg      LT_PATH_LD
5461f29dbc25Smrg
5462f29dbc25Smrg      # Check if GNU C++ uses GNU ld as the underlying linker, since the
5463f29dbc25Smrg      # archiving commands below assume that GNU ld is being used.
5464f29dbc25Smrg      if test "$with_gnu_ld" = yes; then
5465f29dbc25Smrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5466f29dbc25Smrg        _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'
5467f29dbc25Smrg
5468f29dbc25Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5469f29dbc25Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5470f29dbc25Smrg
5471f29dbc25Smrg        # If archive_cmds runs LD, not CC, wlarc should be empty
5472f29dbc25Smrg        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5473f29dbc25Smrg        #     investigate it a little bit more. (MM)
5474f29dbc25Smrg        wlarc='${wl}'
5475f29dbc25Smrg
5476f29dbc25Smrg        # ancient GNU ld didn't support --whole-archive et. al.
5477f29dbc25Smrg        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5478f29dbc25Smrg	  $GREP 'no-whole-archive' > /dev/null; then
5479f29dbc25Smrg          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5480f29dbc25Smrg        else
5481f29dbc25Smrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=
5482f29dbc25Smrg        fi
5483f29dbc25Smrg      else
5484f29dbc25Smrg        with_gnu_ld=no
5485f29dbc25Smrg        wlarc=
5486f29dbc25Smrg
5487f29dbc25Smrg        # A generic and very simple default shared library creation
5488f29dbc25Smrg        # command for GNU C++ for the case where it uses the native
5489f29dbc25Smrg        # linker, instead of GNU ld.  If possible, this setting should
5490f29dbc25Smrg        # overridden to take advantage of the native linker features on
5491f29dbc25Smrg        # the platform it is being used on.
5492f29dbc25Smrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5493f29dbc25Smrg      fi
5494f29dbc25Smrg
5495f29dbc25Smrg      # Commands to make compiler produce verbose output that lists
5496f29dbc25Smrg      # what "hidden" libraries, object files and flags are used when
5497f29dbc25Smrg      # linking a shared library.
5498f29dbc25Smrg      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
5499f29dbc25Smrg
5500f29dbc25Smrg    else
5501f29dbc25Smrg      GXX=no
5502f29dbc25Smrg      with_gnu_ld=no
5503f29dbc25Smrg      wlarc=
5504f29dbc25Smrg    fi
5505f29dbc25Smrg
5506f29dbc25Smrg    # PORTME: fill in a description of your system's C++ link characteristics
5507f29dbc25Smrg    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5508f29dbc25Smrg    _LT_TAGVAR(ld_shlibs, $1)=yes
5509f29dbc25Smrg    case $host_os in
5510f29dbc25Smrg      aix3*)
5511f29dbc25Smrg        # FIXME: insert proper C++ library support
5512f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
5513f29dbc25Smrg        ;;
5514f29dbc25Smrg      aix[[4-9]]*)
5515f29dbc25Smrg        if test "$host_cpu" = ia64; then
5516f29dbc25Smrg          # On IA64, the linker does run time linking by default, so we don't
5517f29dbc25Smrg          # have to do anything special.
5518f29dbc25Smrg          aix_use_runtimelinking=no
5519f29dbc25Smrg          exp_sym_flag='-Bexport'
5520f29dbc25Smrg          no_entry_flag=""
5521f29dbc25Smrg        else
5522f29dbc25Smrg          aix_use_runtimelinking=no
5523f29dbc25Smrg
5524f29dbc25Smrg          # Test if we are trying to use run time linking or normal
5525f29dbc25Smrg          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5526f29dbc25Smrg          # need to do runtime linking.
5527f29dbc25Smrg          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5528f29dbc25Smrg	    for ld_flag in $LDFLAGS; do
5529f29dbc25Smrg	      case $ld_flag in
5530f29dbc25Smrg	      *-brtl*)
5531f29dbc25Smrg	        aix_use_runtimelinking=yes
5532f29dbc25Smrg	        break
5533f29dbc25Smrg	        ;;
5534f29dbc25Smrg	      esac
5535f29dbc25Smrg	    done
5536f29dbc25Smrg	    ;;
5537f29dbc25Smrg          esac
5538f29dbc25Smrg
5539f29dbc25Smrg          exp_sym_flag='-bexport'
5540f29dbc25Smrg          no_entry_flag='-bnoentry'
5541f29dbc25Smrg        fi
5542f29dbc25Smrg
5543f29dbc25Smrg        # When large executables or shared objects are built, AIX ld can
5544f29dbc25Smrg        # have problems creating the table of contents.  If linking a library
5545f29dbc25Smrg        # or program results in "error TOC overflow" add -mminimal-toc to
5546f29dbc25Smrg        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
5547f29dbc25Smrg        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5548f29dbc25Smrg
5549f29dbc25Smrg        _LT_TAGVAR(archive_cmds, $1)=''
5550f29dbc25Smrg        _LT_TAGVAR(hardcode_direct, $1)=yes
5551f29dbc25Smrg        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5552f29dbc25Smrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5553f29dbc25Smrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
5554f29dbc25Smrg        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5555f29dbc25Smrg
5556f29dbc25Smrg        if test "$GXX" = yes; then
5557f29dbc25Smrg          case $host_os in aix4.[[012]]|aix4.[[012]].*)
5558f29dbc25Smrg          # We only want to do this on AIX 4.2 and lower, the check
5559f29dbc25Smrg          # below for broken collect2 doesn't work under 4.3+
5560f29dbc25Smrg	  collect2name=`${CC} -print-prog-name=collect2`
5561f29dbc25Smrg	  if test -f "$collect2name" &&
5562f29dbc25Smrg	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5563f29dbc25Smrg	  then
5564f29dbc25Smrg	    # We have reworked collect2
5565f29dbc25Smrg	    :
5566f29dbc25Smrg	  else
5567f29dbc25Smrg	    # We have old collect2
5568f29dbc25Smrg	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
5569f29dbc25Smrg	    # It fails to find uninstalled libraries when the uninstalled
5570f29dbc25Smrg	    # path is not listed in the libpath.  Setting hardcode_minus_L
5571f29dbc25Smrg	    # to unsupported forces relinking
5572f29dbc25Smrg	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
5573f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5574f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
5575f29dbc25Smrg	  fi
5576f29dbc25Smrg          esac
5577f29dbc25Smrg          shared_flag='-shared'
5578f29dbc25Smrg	  if test "$aix_use_runtimelinking" = yes; then
5579f29dbc25Smrg	    shared_flag="$shared_flag "'${wl}-G'
5580f29dbc25Smrg	  fi
5581f29dbc25Smrg        else
5582f29dbc25Smrg          # not using gcc
5583f29dbc25Smrg          if test "$host_cpu" = ia64; then
5584f29dbc25Smrg	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5585f29dbc25Smrg	  # chokes on -Wl,-G. The following line is correct:
5586f29dbc25Smrg	  shared_flag='-G'
5587f29dbc25Smrg          else
5588f29dbc25Smrg	    if test "$aix_use_runtimelinking" = yes; then
5589f29dbc25Smrg	      shared_flag='${wl}-G'
5590f29dbc25Smrg	    else
5591f29dbc25Smrg	      shared_flag='${wl}-bM:SRE'
5592f29dbc25Smrg	    fi
5593f29dbc25Smrg          fi
5594f29dbc25Smrg        fi
5595f29dbc25Smrg
5596f29dbc25Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5597f29dbc25Smrg        # It seems that -bexpall does not export symbols beginning with
5598f29dbc25Smrg        # underscore (_), so it is better to generate a list of symbols to
5599f29dbc25Smrg	# export.
5600f29dbc25Smrg        _LT_TAGVAR(always_export_symbols, $1)=yes
5601f29dbc25Smrg        if test "$aix_use_runtimelinking" = yes; then
5602f29dbc25Smrg          # Warning - without using the other runtime loading flags (-brtl),
5603f29dbc25Smrg          # -berok will link without error, but may produce a broken library.
5604f29dbc25Smrg          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5605f29dbc25Smrg          # Determine the default libpath from the value encoded in an empty
5606f29dbc25Smrg          # executable.
5607f29dbc25Smrg          _LT_SYS_MODULE_PATH_AIX
5608f29dbc25Smrg          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5609f29dbc25Smrg
5610f29dbc25Smrg          _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"
5611f29dbc25Smrg        else
5612f29dbc25Smrg          if test "$host_cpu" = ia64; then
5613f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5614f29dbc25Smrg	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5615f29dbc25Smrg	    _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"
5616f29dbc25Smrg          else
5617f29dbc25Smrg	    # Determine the default libpath from the value encoded in an
5618f29dbc25Smrg	    # empty executable.
5619f29dbc25Smrg	    _LT_SYS_MODULE_PATH_AIX
5620f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5621f29dbc25Smrg	    # Warning - without using the other run time loading flags,
5622f29dbc25Smrg	    # -berok will link without error, but may produce a broken library.
5623f29dbc25Smrg	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5624f29dbc25Smrg	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5625f29dbc25Smrg	    # Exported symbols can be pulled into shared objects from archives
5626f29dbc25Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5627f29dbc25Smrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5628f29dbc25Smrg	    # This is similar to how AIX traditionally builds its shared
5629f29dbc25Smrg	    # libraries.
5630f29dbc25Smrg	    _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'
5631f29dbc25Smrg          fi
5632f29dbc25Smrg        fi
5633f29dbc25Smrg        ;;
5634f29dbc25Smrg
5635f29dbc25Smrg      beos*)
5636f29dbc25Smrg	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5637f29dbc25Smrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5638f29dbc25Smrg	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5639f29dbc25Smrg	  # support --undefined.  This deserves some investigation.  FIXME
5640f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5641f29dbc25Smrg	else
5642f29dbc25Smrg	  _LT_TAGVAR(ld_shlibs, $1)=no
5643f29dbc25Smrg	fi
5644f29dbc25Smrg	;;
5645f29dbc25Smrg
5646f29dbc25Smrg      chorus*)
5647f29dbc25Smrg        case $cc_basename in
5648f29dbc25Smrg          *)
5649f29dbc25Smrg	  # FIXME: insert proper C++ library support
5650f29dbc25Smrg	  _LT_TAGVAR(ld_shlibs, $1)=no
5651f29dbc25Smrg	  ;;
5652f29dbc25Smrg        esac
5653f29dbc25Smrg        ;;
5654f29dbc25Smrg
5655f29dbc25Smrg      cygwin* | mingw* | pw32* | cegcc*)
5656f29dbc25Smrg        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5657f29dbc25Smrg        # as there is no search path for DLLs.
5658f29dbc25Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5659f29dbc25Smrg        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5660f29dbc25Smrg        _LT_TAGVAR(always_export_symbols, $1)=no
5661f29dbc25Smrg        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5662f29dbc25Smrg
5663f29dbc25Smrg        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5664f29dbc25Smrg          _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'
5665f29dbc25Smrg          # If the export-symbols file already is a .def file (1st line
5666f29dbc25Smrg          # is EXPORTS), use it as is; otherwise, prepend...
5667f29dbc25Smrg          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5668f29dbc25Smrg	    cp $export_symbols $output_objdir/$soname.def;
5669f29dbc25Smrg          else
5670f29dbc25Smrg	    echo EXPORTS > $output_objdir/$soname.def;
5671f29dbc25Smrg	    cat $export_symbols >> $output_objdir/$soname.def;
5672f29dbc25Smrg          fi~
5673f29dbc25Smrg          $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'
5674f29dbc25Smrg        else
5675f29dbc25Smrg          _LT_TAGVAR(ld_shlibs, $1)=no
5676f29dbc25Smrg        fi
5677f29dbc25Smrg        ;;
5678f29dbc25Smrg      darwin* | rhapsody*)
5679f29dbc25Smrg        _LT_DARWIN_LINKER_FEATURES($1)
5680f29dbc25Smrg	;;
5681f29dbc25Smrg
5682f29dbc25Smrg      dgux*)
5683f29dbc25Smrg        case $cc_basename in
5684f29dbc25Smrg          ec++*)
5685f29dbc25Smrg	    # FIXME: insert proper C++ library support
5686f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
5687f29dbc25Smrg	    ;;
5688f29dbc25Smrg          ghcx*)
5689f29dbc25Smrg	    # Green Hills C++ Compiler
5690f29dbc25Smrg	    # FIXME: insert proper C++ library support
5691f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
5692f29dbc25Smrg	    ;;
5693f29dbc25Smrg          *)
5694f29dbc25Smrg	    # FIXME: insert proper C++ library support
5695f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
5696f29dbc25Smrg	    ;;
5697f29dbc25Smrg        esac
5698f29dbc25Smrg        ;;
5699f29dbc25Smrg
5700f29dbc25Smrg      freebsd[[12]]*)
5701f29dbc25Smrg        # C++ shared libraries reported to be fairly broken before
5702f29dbc25Smrg	# switch to ELF
5703f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
5704f29dbc25Smrg        ;;
5705f29dbc25Smrg
5706f29dbc25Smrg      freebsd-elf*)
5707f29dbc25Smrg        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5708f29dbc25Smrg        ;;
5709f29dbc25Smrg
5710f29dbc25Smrg      freebsd* | dragonfly*)
5711f29dbc25Smrg        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5712f29dbc25Smrg        # conventions
5713f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=yes
5714f29dbc25Smrg        ;;
5715f29dbc25Smrg
5716f29dbc25Smrg      gnu*)
5717f29dbc25Smrg        ;;
5718f29dbc25Smrg
5719f29dbc25Smrg      hpux9*)
5720f29dbc25Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5721f29dbc25Smrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5722f29dbc25Smrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5723f29dbc25Smrg        _LT_TAGVAR(hardcode_direct, $1)=yes
5724f29dbc25Smrg        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5725f29dbc25Smrg				             # but as the default
5726f29dbc25Smrg				             # location of the library.
5727f29dbc25Smrg
5728f29dbc25Smrg        case $cc_basename in
5729f29dbc25Smrg          CC*)
5730f29dbc25Smrg            # FIXME: insert proper C++ library support
5731f29dbc25Smrg            _LT_TAGVAR(ld_shlibs, $1)=no
5732f29dbc25Smrg            ;;
5733f29dbc25Smrg          aCC*)
5734f29dbc25Smrg            _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'
5735f29dbc25Smrg            # Commands to make compiler produce verbose output that lists
5736f29dbc25Smrg            # what "hidden" libraries, object files and flags are used when
5737f29dbc25Smrg            # linking a shared library.
5738f29dbc25Smrg            #
5739f29dbc25Smrg            # There doesn't appear to be a way to prevent this compiler from
5740f29dbc25Smrg            # explicitly linking system object files so we need to strip them
5741f29dbc25Smrg            # from the output so that they don't get included in the library
5742f29dbc25Smrg            # dependencies.
5743f29dbc25Smrg            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'
5744f29dbc25Smrg            ;;
5745f29dbc25Smrg          *)
5746f29dbc25Smrg            if test "$GXX" = yes; then
5747f29dbc25Smrg              _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'
5748f29dbc25Smrg            else
5749f29dbc25Smrg              # FIXME: insert proper C++ library support
5750f29dbc25Smrg              _LT_TAGVAR(ld_shlibs, $1)=no
5751f29dbc25Smrg            fi
5752f29dbc25Smrg            ;;
5753f29dbc25Smrg        esac
5754f29dbc25Smrg        ;;
5755f29dbc25Smrg
5756f29dbc25Smrg      hpux10*|hpux11*)
5757f29dbc25Smrg        if test $with_gnu_ld = no; then
5758f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5759f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5760f29dbc25Smrg
5761f29dbc25Smrg          case $host_cpu in
5762f29dbc25Smrg            hppa*64*|ia64*)
5763f29dbc25Smrg              ;;
5764f29dbc25Smrg            *)
5765f29dbc25Smrg	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5766f29dbc25Smrg              ;;
5767f29dbc25Smrg          esac
5768f29dbc25Smrg        fi
5769f29dbc25Smrg        case $host_cpu in
5770f29dbc25Smrg          hppa*64*|ia64*)
5771f29dbc25Smrg            _LT_TAGVAR(hardcode_direct, $1)=no
5772f29dbc25Smrg            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5773f29dbc25Smrg            ;;
5774f29dbc25Smrg          *)
5775f29dbc25Smrg            _LT_TAGVAR(hardcode_direct, $1)=yes
5776f29dbc25Smrg            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5777f29dbc25Smrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5778f29dbc25Smrg					         # but as the default
5779f29dbc25Smrg					         # location of the library.
5780f29dbc25Smrg            ;;
5781f29dbc25Smrg        esac
5782f29dbc25Smrg
5783f29dbc25Smrg        case $cc_basename in
5784f29dbc25Smrg          CC*)
5785f29dbc25Smrg	    # FIXME: insert proper C++ library support
5786f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
5787f29dbc25Smrg	    ;;
5788f29dbc25Smrg          aCC*)
5789f29dbc25Smrg	    case $host_cpu in
5790f29dbc25Smrg	      hppa*64*)
5791f29dbc25Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5792f29dbc25Smrg	        ;;
5793f29dbc25Smrg	      ia64*)
5794f29dbc25Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5795f29dbc25Smrg	        ;;
5796f29dbc25Smrg	      *)
5797f29dbc25Smrg	        _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'
5798f29dbc25Smrg	        ;;
5799f29dbc25Smrg	    esac
5800f29dbc25Smrg	    # Commands to make compiler produce verbose output that lists
5801f29dbc25Smrg	    # what "hidden" libraries, object files and flags are used when
5802f29dbc25Smrg	    # linking a shared library.
5803f29dbc25Smrg	    #
5804f29dbc25Smrg	    # There doesn't appear to be a way to prevent this compiler from
5805f29dbc25Smrg	    # explicitly linking system object files so we need to strip them
5806f29dbc25Smrg	    # from the output so that they don't get included in the library
5807f29dbc25Smrg	    # dependencies.
5808f29dbc25Smrg	    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'
5809f29dbc25Smrg	    ;;
5810f29dbc25Smrg          *)
5811f29dbc25Smrg	    if test "$GXX" = yes; then
5812f29dbc25Smrg	      if test $with_gnu_ld = no; then
5813f29dbc25Smrg	        case $host_cpu in
5814f29dbc25Smrg	          hppa*64*)
5815f29dbc25Smrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5816f29dbc25Smrg	            ;;
5817f29dbc25Smrg	          ia64*)
5818f29dbc25Smrg	            _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'
5819f29dbc25Smrg	            ;;
5820f29dbc25Smrg	          *)
5821f29dbc25Smrg	            _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'
5822f29dbc25Smrg	            ;;
5823f29dbc25Smrg	        esac
5824f29dbc25Smrg	      fi
5825f29dbc25Smrg	    else
5826f29dbc25Smrg	      # FIXME: insert proper C++ library support
5827f29dbc25Smrg	      _LT_TAGVAR(ld_shlibs, $1)=no
5828f29dbc25Smrg	    fi
5829f29dbc25Smrg	    ;;
5830f29dbc25Smrg        esac
5831f29dbc25Smrg        ;;
5832f29dbc25Smrg
5833f29dbc25Smrg      interix[[3-9]]*)
5834f29dbc25Smrg	_LT_TAGVAR(hardcode_direct, $1)=no
5835f29dbc25Smrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5836f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5837f29dbc25Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5838f29dbc25Smrg	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5839f29dbc25Smrg	# Instead, shared libraries are loaded at an image base (0x10000000 by
5840f29dbc25Smrg	# default) and relocated if they conflict, which is a slow very memory
5841f29dbc25Smrg	# consuming and fragmenting process.  To avoid this, we pick a random,
5842f29dbc25Smrg	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5843f29dbc25Smrg	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
5844f29dbc25Smrg	_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'
5845f29dbc25Smrg	_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'
5846f29dbc25Smrg	;;
5847f29dbc25Smrg      irix5* | irix6*)
5848f29dbc25Smrg        case $cc_basename in
5849f29dbc25Smrg          CC*)
5850f29dbc25Smrg	    # SGI C++
5851f29dbc25Smrg	    _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'
5852f29dbc25Smrg
5853f29dbc25Smrg	    # Archives containing C++ object files must be created using
5854f29dbc25Smrg	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
5855f29dbc25Smrg	    # necessary to make sure instantiated templates are included
5856f29dbc25Smrg	    # in the archive.
5857f29dbc25Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
5858f29dbc25Smrg	    ;;
5859f29dbc25Smrg          *)
5860f29dbc25Smrg	    if test "$GXX" = yes; then
5861f29dbc25Smrg	      if test "$with_gnu_ld" = no; then
5862f29dbc25Smrg	        _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'
5863f29dbc25Smrg	      else
5864f29dbc25Smrg	        _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'
5865f29dbc25Smrg	      fi
5866f29dbc25Smrg	    fi
5867f29dbc25Smrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
5868f29dbc25Smrg	    ;;
5869f29dbc25Smrg        esac
5870f29dbc25Smrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5871f29dbc25Smrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5872f29dbc25Smrg        _LT_TAGVAR(inherit_rpath, $1)=yes
5873f29dbc25Smrg        ;;
5874f29dbc25Smrg
5875f29dbc25Smrg      linux* | k*bsd*-gnu | kopensolaris*-gnu)
5876f29dbc25Smrg        case $cc_basename in
5877f29dbc25Smrg          KCC*)
5878f29dbc25Smrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
5879f29dbc25Smrg
5880f29dbc25Smrg	    # KCC will only create a shared library if the output file
5881f29dbc25Smrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
5882f29dbc25Smrg	    # to its proper name (with version) after linking.
5883f29dbc25Smrg	    _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'
5884f29dbc25Smrg	    _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'
5885f29dbc25Smrg	    # Commands to make compiler produce verbose output that lists
5886f29dbc25Smrg	    # what "hidden" libraries, object files and flags are used when
5887f29dbc25Smrg	    # linking a shared library.
5888f29dbc25Smrg	    #
5889f29dbc25Smrg	    # There doesn't appear to be a way to prevent this compiler from
5890f29dbc25Smrg	    # explicitly linking system object files so we need to strip them
5891f29dbc25Smrg	    # from the output so that they don't get included in the library
5892f29dbc25Smrg	    # dependencies.
5893f29dbc25Smrg	    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'
5894f29dbc25Smrg
5895f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5896f29dbc25Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5897f29dbc25Smrg
5898f29dbc25Smrg	    # Archives containing C++ object files must be created using
5899f29dbc25Smrg	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
5900f29dbc25Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
5901f29dbc25Smrg	    ;;
5902f29dbc25Smrg	  icpc* | ecpc* )
5903f29dbc25Smrg	    # Intel C++
5904f29dbc25Smrg	    with_gnu_ld=yes
5905f29dbc25Smrg	    # version 8.0 and above of icpc choke on multiply defined symbols
5906f29dbc25Smrg	    # if we add $predep_objects and $postdep_objects, however 7.1 and
5907f29dbc25Smrg	    # earlier do not add the objects themselves.
5908f29dbc25Smrg	    case `$CC -V 2>&1` in
5909f29dbc25Smrg	      *"Version 7."*)
5910f29dbc25Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5911f29dbc25Smrg		_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'
5912f29dbc25Smrg		;;
5913f29dbc25Smrg	      *)  # Version 8.0 or newer
5914f29dbc25Smrg	        tmp_idyn=
5915f29dbc25Smrg	        case $host_cpu in
5916f29dbc25Smrg		  ia64*) tmp_idyn=' -i_dynamic';;
5917f29dbc25Smrg		esac
5918f29dbc25Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5919f29dbc25Smrg		_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'
5920f29dbc25Smrg		;;
5921f29dbc25Smrg	    esac
5922f29dbc25Smrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5923f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5924f29dbc25Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5925f29dbc25Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5926f29dbc25Smrg	    ;;
5927f29dbc25Smrg          pgCC* | pgcpp*)
5928f29dbc25Smrg            # Portland Group C++ compiler
5929f29dbc25Smrg	    case `$CC -V` in
5930f29dbc25Smrg	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
5931f29dbc25Smrg	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5932f29dbc25Smrg		rm -rf $tpldir~
5933f29dbc25Smrg		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
5934f29dbc25Smrg		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
5935f29dbc25Smrg	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5936f29dbc25Smrg		rm -rf $tpldir~
5937f29dbc25Smrg		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
5938f29dbc25Smrg		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
5939f29dbc25Smrg		$RANLIB $oldlib'
5940f29dbc25Smrg	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5941f29dbc25Smrg		rm -rf $tpldir~
5942f29dbc25Smrg		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5943f29dbc25Smrg		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5944f29dbc25Smrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5945f29dbc25Smrg		rm -rf $tpldir~
5946f29dbc25Smrg		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5947f29dbc25Smrg		$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'
5948f29dbc25Smrg	      ;;
5949f29dbc25Smrg	    *) # Version 6 will use weak symbols
5950f29dbc25Smrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5951f29dbc25Smrg	      _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'
5952f29dbc25Smrg	      ;;
5953f29dbc25Smrg	    esac
5954f29dbc25Smrg
5955f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5956f29dbc25Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5957f29dbc25Smrg	    _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'
5958f29dbc25Smrg            ;;
5959f29dbc25Smrg	  cxx*)
5960f29dbc25Smrg	    # Compaq C++
5961f29dbc25Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5962f29dbc25Smrg	    _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'
5963f29dbc25Smrg
5964f29dbc25Smrg	    runpath_var=LD_RUN_PATH
5965f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5966f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5967f29dbc25Smrg
5968f29dbc25Smrg	    # Commands to make compiler produce verbose output that lists
5969f29dbc25Smrg	    # what "hidden" libraries, object files and flags are used when
5970f29dbc25Smrg	    # linking a shared library.
5971f29dbc25Smrg	    #
5972f29dbc25Smrg	    # There doesn't appear to be a way to prevent this compiler from
5973f29dbc25Smrg	    # explicitly linking system object files so we need to strip them
5974f29dbc25Smrg	    # from the output so that they don't get included in the library
5975f29dbc25Smrg	    # dependencies.
5976f29dbc25Smrg	    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'
5977f29dbc25Smrg	    ;;
5978f29dbc25Smrg	  xl*)
5979f29dbc25Smrg	    # IBM XL 8.0 on PPC, with GNU ld
5980f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5981f29dbc25Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5982f29dbc25Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5983f29dbc25Smrg	    if test "x$supports_anon_versioning" = xyes; then
5984f29dbc25Smrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
5985f29dbc25Smrg		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
5986f29dbc25Smrg		echo "local: *; };" >> $output_objdir/$libname.ver~
5987f29dbc25Smrg		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
5988f29dbc25Smrg	    fi
5989f29dbc25Smrg	    ;;
5990f29dbc25Smrg	  *)
5991f29dbc25Smrg	    case `$CC -V 2>&1 | sed 5q` in
5992f29dbc25Smrg	    *Sun\ C*)
5993f29dbc25Smrg	      # Sun C++ 5.9
5994f29dbc25Smrg	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
5995f29dbc25Smrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5996f29dbc25Smrg	      _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'
5997f29dbc25Smrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5998f29dbc25Smrg	      _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'
5999f29dbc25Smrg	      _LT_TAGVAR(compiler_needs_object, $1)=yes
6000f29dbc25Smrg
6001f29dbc25Smrg	      # Not sure whether something based on
6002f29dbc25Smrg	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6003f29dbc25Smrg	      # would be better.
6004f29dbc25Smrg	      output_verbose_link_cmd='echo'
6005f29dbc25Smrg
6006f29dbc25Smrg	      # Archives containing C++ object files must be created using
6007f29dbc25Smrg	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
6008f29dbc25Smrg	      # necessary to make sure instantiated templates are included
6009f29dbc25Smrg	      # in the archive.
6010f29dbc25Smrg	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6011f29dbc25Smrg	      ;;
6012f29dbc25Smrg	    esac
6013f29dbc25Smrg	    ;;
6014f29dbc25Smrg	esac
6015f29dbc25Smrg	;;
6016f29dbc25Smrg
6017f29dbc25Smrg      lynxos*)
6018f29dbc25Smrg        # FIXME: insert proper C++ library support
6019f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
6020f29dbc25Smrg	;;
6021f29dbc25Smrg
6022f29dbc25Smrg      m88k*)
6023f29dbc25Smrg        # FIXME: insert proper C++ library support
6024f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
6025f29dbc25Smrg	;;
6026f29dbc25Smrg
6027f29dbc25Smrg      mvs*)
6028f29dbc25Smrg        case $cc_basename in
6029f29dbc25Smrg          cxx*)
6030f29dbc25Smrg	    # FIXME: insert proper C++ library support
6031f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6032f29dbc25Smrg	    ;;
6033f29dbc25Smrg	  *)
6034f29dbc25Smrg	    # FIXME: insert proper C++ library support
6035f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6036f29dbc25Smrg	    ;;
6037f29dbc25Smrg	esac
6038f29dbc25Smrg	;;
6039f29dbc25Smrg
6040f29dbc25Smrg      netbsd*)
6041f29dbc25Smrg        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6042f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6043f29dbc25Smrg	  wlarc=
6044f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6045f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
6046f29dbc25Smrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6047f29dbc25Smrg	fi
6048f29dbc25Smrg	# Workaround some broken pre-1.5 toolchains
6049f29dbc25Smrg	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6050f29dbc25Smrg	;;
6051f29dbc25Smrg
6052f29dbc25Smrg      *nto* | *qnx*)
6053f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=yes
6054f29dbc25Smrg	;;
6055f29dbc25Smrg
6056f29dbc25Smrg      openbsd2*)
6057f29dbc25Smrg        # C++ shared libraries are fairly broken
6058f29dbc25Smrg	_LT_TAGVAR(ld_shlibs, $1)=no
6059f29dbc25Smrg	;;
6060f29dbc25Smrg
6061f29dbc25Smrg      openbsd*)
6062f29dbc25Smrg	if test -f /usr/libexec/ld.so; then
6063f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
6064f29dbc25Smrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6065f29dbc25Smrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6066f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6067f29dbc25Smrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6068f29dbc25Smrg	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6069f29dbc25Smrg	    _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'
6070f29dbc25Smrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6071f29dbc25Smrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6072f29dbc25Smrg	  fi
6073f29dbc25Smrg	  output_verbose_link_cmd=echo
6074f29dbc25Smrg	else
6075f29dbc25Smrg	  _LT_TAGVAR(ld_shlibs, $1)=no
6076f29dbc25Smrg	fi
6077f29dbc25Smrg	;;
6078f29dbc25Smrg
6079f29dbc25Smrg      osf3* | osf4* | osf5*)
6080f29dbc25Smrg        case $cc_basename in
6081f29dbc25Smrg          KCC*)
6082f29dbc25Smrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
6083f29dbc25Smrg
6084f29dbc25Smrg	    # KCC will only create a shared library if the output file
6085f29dbc25Smrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
6086f29dbc25Smrg	    # to its proper name (with version) after linking.
6087f29dbc25Smrg	    _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'
6088f29dbc25Smrg
6089f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6090f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6091f29dbc25Smrg
6092f29dbc25Smrg	    # Archives containing C++ object files must be created using
6093f29dbc25Smrg	    # the KAI C++ compiler.
6094f29dbc25Smrg	    case $host in
6095f29dbc25Smrg	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6096f29dbc25Smrg	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6097f29dbc25Smrg	    esac
6098f29dbc25Smrg	    ;;
6099f29dbc25Smrg          RCC*)
6100f29dbc25Smrg	    # Rational C++ 2.4.1
6101f29dbc25Smrg	    # FIXME: insert proper C++ library support
6102f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6103f29dbc25Smrg	    ;;
6104f29dbc25Smrg          cxx*)
6105f29dbc25Smrg	    case $host in
6106f29dbc25Smrg	      osf3*)
6107f29dbc25Smrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6108f29dbc25Smrg	        _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'
6109f29dbc25Smrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6110f29dbc25Smrg		;;
6111f29dbc25Smrg	      *)
6112f29dbc25Smrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6113f29dbc25Smrg	        _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'
6114f29dbc25Smrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6115f29dbc25Smrg	          echo "-hidden">> $lib.exp~
6116f29dbc25Smrg	          $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~
6117f29dbc25Smrg	          $RM $lib.exp'
6118f29dbc25Smrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6119f29dbc25Smrg		;;
6120f29dbc25Smrg	    esac
6121f29dbc25Smrg
6122f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6123f29dbc25Smrg
6124f29dbc25Smrg	    # Commands to make compiler produce verbose output that lists
6125f29dbc25Smrg	    # what "hidden" libraries, object files and flags are used when
6126f29dbc25Smrg	    # linking a shared library.
6127f29dbc25Smrg	    #
6128f29dbc25Smrg	    # There doesn't appear to be a way to prevent this compiler from
6129f29dbc25Smrg	    # explicitly linking system object files so we need to strip them
6130f29dbc25Smrg	    # from the output so that they don't get included in the library
6131f29dbc25Smrg	    # dependencies.
6132f29dbc25Smrg	    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'
6133f29dbc25Smrg	    ;;
6134f29dbc25Smrg	  *)
6135f29dbc25Smrg	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6136f29dbc25Smrg	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6137f29dbc25Smrg	      case $host in
6138f29dbc25Smrg	        osf3*)
6139f29dbc25Smrg	          _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'
6140f29dbc25Smrg		  ;;
6141f29dbc25Smrg	        *)
6142f29dbc25Smrg	          _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'
6143f29dbc25Smrg		  ;;
6144f29dbc25Smrg	      esac
6145f29dbc25Smrg
6146f29dbc25Smrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6147f29dbc25Smrg	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6148f29dbc25Smrg
6149f29dbc25Smrg	      # Commands to make compiler produce verbose output that lists
6150f29dbc25Smrg	      # what "hidden" libraries, object files and flags are used when
6151f29dbc25Smrg	      # linking a shared library.
6152f29dbc25Smrg	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6153f29dbc25Smrg
6154f29dbc25Smrg	    else
6155f29dbc25Smrg	      # FIXME: insert proper C++ library support
6156f29dbc25Smrg	      _LT_TAGVAR(ld_shlibs, $1)=no
6157f29dbc25Smrg	    fi
6158f29dbc25Smrg	    ;;
6159f29dbc25Smrg        esac
6160f29dbc25Smrg        ;;
6161f29dbc25Smrg
6162f29dbc25Smrg      psos*)
6163f29dbc25Smrg        # FIXME: insert proper C++ library support
6164f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
6165f29dbc25Smrg        ;;
6166f29dbc25Smrg
6167f29dbc25Smrg      sunos4*)
6168f29dbc25Smrg        case $cc_basename in
6169f29dbc25Smrg          CC*)
6170f29dbc25Smrg	    # Sun C++ 4.x
6171f29dbc25Smrg	    # FIXME: insert proper C++ library support
6172f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6173f29dbc25Smrg	    ;;
6174f29dbc25Smrg          lcc*)
6175f29dbc25Smrg	    # Lucid
6176f29dbc25Smrg	    # FIXME: insert proper C++ library support
6177f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6178f29dbc25Smrg	    ;;
6179f29dbc25Smrg          *)
6180f29dbc25Smrg	    # FIXME: insert proper C++ library support
6181f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6182f29dbc25Smrg	    ;;
6183f29dbc25Smrg        esac
6184f29dbc25Smrg        ;;
6185f29dbc25Smrg
6186f29dbc25Smrg      solaris*)
6187f29dbc25Smrg        case $cc_basename in
6188f29dbc25Smrg          CC*)
6189f29dbc25Smrg	    # Sun C++ 4.2, 5.x and Centerline C++
6190f29dbc25Smrg            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6191f29dbc25Smrg	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6192f29dbc25Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6193f29dbc25Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6194f29dbc25Smrg	      $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'
6195f29dbc25Smrg
6196f29dbc25Smrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6197f29dbc25Smrg	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6198f29dbc25Smrg	    case $host_os in
6199f29dbc25Smrg	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6200f29dbc25Smrg	      *)
6201f29dbc25Smrg		# The compiler driver will combine and reorder linker options,
6202f29dbc25Smrg		# but understands `-z linker_flag'.
6203f29dbc25Smrg	        # Supported since Solaris 2.6 (maybe 2.5.1?)
6204f29dbc25Smrg		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6205f29dbc25Smrg	        ;;
6206f29dbc25Smrg	    esac
6207f29dbc25Smrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
6208f29dbc25Smrg
6209f29dbc25Smrg	    output_verbose_link_cmd='echo'
6210f29dbc25Smrg
6211f29dbc25Smrg	    # Archives containing C++ object files must be created using
6212f29dbc25Smrg	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
6213f29dbc25Smrg	    # necessary to make sure instantiated templates are included
6214f29dbc25Smrg	    # in the archive.
6215f29dbc25Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6216f29dbc25Smrg	    ;;
6217f29dbc25Smrg          gcx*)
6218f29dbc25Smrg	    # Green Hills C++ Compiler
6219f29dbc25Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6220f29dbc25Smrg
6221f29dbc25Smrg	    # The C++ compiler must be used to create the archive.
6222f29dbc25Smrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6223f29dbc25Smrg	    ;;
6224f29dbc25Smrg          *)
6225f29dbc25Smrg	    # GNU C++ compiler with Solaris linker
6226f29dbc25Smrg	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6227f29dbc25Smrg	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6228f29dbc25Smrg	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6229f29dbc25Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6230f29dbc25Smrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6231f29dbc25Smrg		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6232f29dbc25Smrg
6233f29dbc25Smrg	        # Commands to make compiler produce verbose output that lists
6234f29dbc25Smrg	        # what "hidden" libraries, object files and flags are used when
6235f29dbc25Smrg	        # linking a shared library.
6236f29dbc25Smrg	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6237f29dbc25Smrg	      else
6238f29dbc25Smrg	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
6239f29dbc25Smrg	        # platform.
6240f29dbc25Smrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6241f29dbc25Smrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6242f29dbc25Smrg		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6243f29dbc25Smrg
6244f29dbc25Smrg	        # Commands to make compiler produce verbose output that lists
6245f29dbc25Smrg	        # what "hidden" libraries, object files and flags are used when
6246f29dbc25Smrg	        # linking a shared library.
6247f29dbc25Smrg	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6248f29dbc25Smrg	      fi
6249f29dbc25Smrg
6250f29dbc25Smrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6251f29dbc25Smrg	      case $host_os in
6252f29dbc25Smrg		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6253f29dbc25Smrg		*)
6254f29dbc25Smrg		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6255f29dbc25Smrg		  ;;
6256f29dbc25Smrg	      esac
6257f29dbc25Smrg	    fi
6258f29dbc25Smrg	    ;;
6259f29dbc25Smrg        esac
6260f29dbc25Smrg        ;;
6261f29dbc25Smrg
6262f29dbc25Smrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6263f29dbc25Smrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6264f29dbc25Smrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6265f29dbc25Smrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6266f29dbc25Smrg      runpath_var='LD_RUN_PATH'
6267f29dbc25Smrg
6268f29dbc25Smrg      case $cc_basename in
6269f29dbc25Smrg        CC*)
6270f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6271f29dbc25Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6272f29dbc25Smrg	  ;;
6273f29dbc25Smrg	*)
6274f29dbc25Smrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6275f29dbc25Smrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6276f29dbc25Smrg	  ;;
6277f29dbc25Smrg      esac
6278f29dbc25Smrg      ;;
6279f29dbc25Smrg
6280f29dbc25Smrg      sysv5* | sco3.2v5* | sco5v6*)
6281f29dbc25Smrg	# Note: We can NOT use -z defs as we might desire, because we do not
6282f29dbc25Smrg	# link with -lc, and that would cause any symbols used from libc to
6283f29dbc25Smrg	# always be unresolved, which means just about no library would
6284f29dbc25Smrg	# ever link correctly.  If we're not using GNU ld we use -z text
6285f29dbc25Smrg	# though, which does catch some bad symbols but isn't as heavy-handed
6286f29dbc25Smrg	# as -z defs.
6287f29dbc25Smrg	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6288f29dbc25Smrg	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6289f29dbc25Smrg	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6290f29dbc25Smrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6291f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6292f29dbc25Smrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6293f29dbc25Smrg	_LT_TAGVAR(link_all_deplibs, $1)=yes
6294f29dbc25Smrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6295f29dbc25Smrg	runpath_var='LD_RUN_PATH'
6296f29dbc25Smrg
6297f29dbc25Smrg	case $cc_basename in
6298f29dbc25Smrg          CC*)
6299f29dbc25Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6300f29dbc25Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6301f29dbc25Smrg	    ;;
6302f29dbc25Smrg	  *)
6303f29dbc25Smrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6304f29dbc25Smrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6305f29dbc25Smrg	    ;;
6306f29dbc25Smrg	esac
6307f29dbc25Smrg      ;;
6308f29dbc25Smrg
6309f29dbc25Smrg      tandem*)
6310f29dbc25Smrg        case $cc_basename in
6311f29dbc25Smrg          NCC*)
6312f29dbc25Smrg	    # NonStop-UX NCC 3.20
6313f29dbc25Smrg	    # FIXME: insert proper C++ library support
6314f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6315f29dbc25Smrg	    ;;
6316f29dbc25Smrg          *)
6317f29dbc25Smrg	    # FIXME: insert proper C++ library support
6318f29dbc25Smrg	    _LT_TAGVAR(ld_shlibs, $1)=no
6319f29dbc25Smrg	    ;;
6320f29dbc25Smrg        esac
6321f29dbc25Smrg        ;;
6322f29dbc25Smrg
6323f29dbc25Smrg      vxworks*)
6324f29dbc25Smrg        # FIXME: insert proper C++ library support
6325f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
6326f29dbc25Smrg        ;;
6327f29dbc25Smrg
6328f29dbc25Smrg      *)
6329f29dbc25Smrg        # FIXME: insert proper C++ library support
6330f29dbc25Smrg        _LT_TAGVAR(ld_shlibs, $1)=no
6331f29dbc25Smrg        ;;
6332f29dbc25Smrg    esac
6333f29dbc25Smrg
6334f29dbc25Smrg    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6335f29dbc25Smrg    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6336f29dbc25Smrg
6337f29dbc25Smrg    _LT_TAGVAR(GCC, $1)="$GXX"
6338f29dbc25Smrg    _LT_TAGVAR(LD, $1)="$LD"
6339f29dbc25Smrg
6340f29dbc25Smrg    ## CAVEAT EMPTOR:
6341f29dbc25Smrg    ## There is no encapsulation within the following macros, do not change
6342f29dbc25Smrg    ## the running order or otherwise move them around unless you know exactly
6343f29dbc25Smrg    ## what you are doing...
6344f29dbc25Smrg    _LT_SYS_HIDDEN_LIBDEPS($1)
6345f29dbc25Smrg    _LT_COMPILER_PIC($1)
6346f29dbc25Smrg    _LT_COMPILER_C_O($1)
6347f29dbc25Smrg    _LT_COMPILER_FILE_LOCKS($1)
6348f29dbc25Smrg    _LT_LINKER_SHLIBS($1)
6349f29dbc25Smrg    _LT_SYS_DYNAMIC_LINKER($1)
6350f29dbc25Smrg    _LT_LINKER_HARDCODE_LIBPATH($1)
6351f29dbc25Smrg
6352f29dbc25Smrg    _LT_CONFIG($1)
6353f29dbc25Smrg  fi # test -n "$compiler"
6354f29dbc25Smrg
6355f29dbc25Smrg  CC=$lt_save_CC
6356f29dbc25Smrg  LDCXX=$LD
6357f29dbc25Smrg  LD=$lt_save_LD
6358f29dbc25Smrg  GCC=$lt_save_GCC
6359f29dbc25Smrg  with_gnu_ld=$lt_save_with_gnu_ld
6360f29dbc25Smrg  lt_cv_path_LDCXX=$lt_cv_path_LD
6361f29dbc25Smrg  lt_cv_path_LD=$lt_save_path_LD
6362f29dbc25Smrg  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6363f29dbc25Smrg  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6364f29dbc25Smrgfi # test "$_lt_caught_CXX_error" != yes
6365f29dbc25Smrg
6366f29dbc25SmrgAC_LANG_POP
6367f29dbc25Smrg])# _LT_LANG_CXX_CONFIG
6368f29dbc25Smrg
6369f29dbc25Smrg
6370f29dbc25Smrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6371f29dbc25Smrg# ---------------------------------
6372f29dbc25Smrg# Figure out "hidden" library dependencies from verbose
6373f29dbc25Smrg# compiler output when linking a shared library.
6374f29dbc25Smrg# Parse the compiler output and extract the necessary
6375f29dbc25Smrg# objects, libraries and library flags.
6376f29dbc25Smrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6377f29dbc25Smrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6378f29dbc25Smrg# Dependencies to place before and after the object being linked:
6379f29dbc25Smrg_LT_TAGVAR(predep_objects, $1)=
6380f29dbc25Smrg_LT_TAGVAR(postdep_objects, $1)=
6381f29dbc25Smrg_LT_TAGVAR(predeps, $1)=
6382f29dbc25Smrg_LT_TAGVAR(postdeps, $1)=
6383f29dbc25Smrg_LT_TAGVAR(compiler_lib_search_path, $1)=
6384f29dbc25Smrg
6385f29dbc25Smrgdnl we can't use the lt_simple_compile_test_code here,
6386f29dbc25Smrgdnl because it contains code intended for an executable,
6387f29dbc25Smrgdnl not a library.  It's possible we should let each
6388f29dbc25Smrgdnl tag define a new lt_????_link_test_code variable,
6389f29dbc25Smrgdnl but it's only used here...
6390f29dbc25Smrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6391f29dbc25Smrgint a;
6392f29dbc25Smrgvoid foo (void) { a = 0; }
6393f29dbc25Smrg_LT_EOF
6394f29dbc25Smrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6395f29dbc25Smrgclass Foo
6396f29dbc25Smrg{
6397f29dbc25Smrgpublic:
6398f29dbc25Smrg  Foo (void) { a = 0; }
6399f29dbc25Smrgprivate:
6400f29dbc25Smrg  int a;
6401f29dbc25Smrg};
6402f29dbc25Smrg_LT_EOF
6403f29dbc25Smrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6404f29dbc25Smrg      subroutine foo
6405f29dbc25Smrg      implicit none
6406f29dbc25Smrg      integer*4 a
6407f29dbc25Smrg      a=0
6408f29dbc25Smrg      return
6409f29dbc25Smrg      end
6410f29dbc25Smrg_LT_EOF
6411f29dbc25Smrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6412f29dbc25Smrg      subroutine foo
6413f29dbc25Smrg      implicit none
6414f29dbc25Smrg      integer a
6415f29dbc25Smrg      a=0
6416f29dbc25Smrg      return
6417f29dbc25Smrg      end
6418f29dbc25Smrg_LT_EOF
6419f29dbc25Smrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6420f29dbc25Smrgpublic class foo {
6421f29dbc25Smrg  private int a;
6422f29dbc25Smrg  public void bar (void) {
6423f29dbc25Smrg    a = 0;
6424f29dbc25Smrg  }
6425f29dbc25Smrg};
6426f29dbc25Smrg_LT_EOF
6427f29dbc25Smrg])
6428f29dbc25Smrgdnl Parse the compiler output and extract the necessary
6429f29dbc25Smrgdnl objects, libraries and library flags.
6430f29dbc25Smrgif AC_TRY_EVAL(ac_compile); then
6431f29dbc25Smrg  # Parse the compiler output and extract the necessary
6432f29dbc25Smrg  # objects, libraries and library flags.
6433f29dbc25Smrg
6434f29dbc25Smrg  # Sentinel used to keep track of whether or not we are before
6435f29dbc25Smrg  # the conftest object file.
6436f29dbc25Smrg  pre_test_object_deps_done=no
6437f29dbc25Smrg
6438f29dbc25Smrg  for p in `eval "$output_verbose_link_cmd"`; do
6439f29dbc25Smrg    case $p in
6440f29dbc25Smrg
6441f29dbc25Smrg    -L* | -R* | -l*)
6442f29dbc25Smrg       # Some compilers place space between "-{L,R}" and the path.
6443f29dbc25Smrg       # Remove the space.
6444f29dbc25Smrg       if test $p = "-L" ||
6445f29dbc25Smrg          test $p = "-R"; then
6446f29dbc25Smrg	 prev=$p
6447f29dbc25Smrg	 continue
6448f29dbc25Smrg       else
6449f29dbc25Smrg	 prev=
6450f29dbc25Smrg       fi
6451f29dbc25Smrg
6452f29dbc25Smrg       if test "$pre_test_object_deps_done" = no; then
6453f29dbc25Smrg	 case $p in
6454f29dbc25Smrg	 -L* | -R*)
6455f29dbc25Smrg	   # Internal compiler library paths should come after those
6456f29dbc25Smrg	   # provided the user.  The postdeps already come after the
6457f29dbc25Smrg	   # user supplied libs so there is no need to process them.
6458f29dbc25Smrg	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6459f29dbc25Smrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6460f29dbc25Smrg	   else
6461f29dbc25Smrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6462f29dbc25Smrg	   fi
6463f29dbc25Smrg	   ;;
6464f29dbc25Smrg	 # The "-l" case would never come before the object being
6465f29dbc25Smrg	 # linked, so don't bother handling this case.
6466f29dbc25Smrg	 esac
6467f29dbc25Smrg       else
6468f29dbc25Smrg	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6469f29dbc25Smrg	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6470f29dbc25Smrg	 else
6471f29dbc25Smrg	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6472f29dbc25Smrg	 fi
6473f29dbc25Smrg       fi
6474f29dbc25Smrg       ;;
6475f29dbc25Smrg
6476f29dbc25Smrg    *.$objext)
6477f29dbc25Smrg       # This assumes that the test object file only shows up
6478f29dbc25Smrg       # once in the compiler output.
6479f29dbc25Smrg       if test "$p" = "conftest.$objext"; then
6480f29dbc25Smrg	 pre_test_object_deps_done=yes
6481f29dbc25Smrg	 continue
6482f29dbc25Smrg       fi
6483f29dbc25Smrg
6484f29dbc25Smrg       if test "$pre_test_object_deps_done" = no; then
6485f29dbc25Smrg	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6486f29dbc25Smrg	   _LT_TAGVAR(predep_objects, $1)="$p"
6487f29dbc25Smrg	 else
6488f29dbc25Smrg	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6489f29dbc25Smrg	 fi
6490f29dbc25Smrg       else
6491f29dbc25Smrg	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6492f29dbc25Smrg	   _LT_TAGVAR(postdep_objects, $1)="$p"
6493f29dbc25Smrg	 else
6494f29dbc25Smrg	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6495f29dbc25Smrg	 fi
6496f29dbc25Smrg       fi
6497f29dbc25Smrg       ;;
6498f29dbc25Smrg
6499f29dbc25Smrg    *) ;; # Ignore the rest.
6500f29dbc25Smrg
6501f29dbc25Smrg    esac
6502f29dbc25Smrg  done
6503f29dbc25Smrg
6504f29dbc25Smrg  # Clean up.
6505f29dbc25Smrg  rm -f a.out a.exe
6506f29dbc25Smrgelse
6507f29dbc25Smrg  echo "libtool.m4: error: problem compiling $1 test program"
6508f29dbc25Smrgfi
6509f29dbc25Smrg
6510f29dbc25Smrg$RM -f confest.$objext
6511f29dbc25Smrg
6512f29dbc25Smrg# PORTME: override above test on systems where it is broken
6513f29dbc25Smrgm4_if([$1], [CXX],
6514f29dbc25Smrg[case $host_os in
6515f29dbc25Smrginterix[[3-9]]*)
6516f29dbc25Smrg  # Interix 3.5 installs completely hosed .la files for C++, so rather than
6517f29dbc25Smrg  # hack all around it, let's just trust "g++" to DTRT.
6518f29dbc25Smrg  _LT_TAGVAR(predep_objects,$1)=
6519f29dbc25Smrg  _LT_TAGVAR(postdep_objects,$1)=
6520f29dbc25Smrg  _LT_TAGVAR(postdeps,$1)=
6521f29dbc25Smrg  ;;
6522f29dbc25Smrg
6523f29dbc25Smrglinux*)
6524f29dbc25Smrg  case `$CC -V 2>&1 | sed 5q` in
6525f29dbc25Smrg  *Sun\ C*)
6526f29dbc25Smrg    # Sun C++ 5.9
6527f29dbc25Smrg
6528f29dbc25Smrg    # The more standards-conforming stlport4 library is
6529f29dbc25Smrg    # incompatible with the Cstd library. Avoid specifying
6530f29dbc25Smrg    # it if it's in CXXFLAGS. Ignore libCrun as
6531f29dbc25Smrg    # -library=stlport4 depends on it.
6532f29dbc25Smrg    case " $CXX $CXXFLAGS " in
6533f29dbc25Smrg    *" -library=stlport4 "*)
6534f29dbc25Smrg      solaris_use_stlport4=yes
6535f29dbc25Smrg      ;;
6536f29dbc25Smrg    esac
6537f29dbc25Smrg
6538f29dbc25Smrg    if test "$solaris_use_stlport4" != yes; then
6539f29dbc25Smrg      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6540f29dbc25Smrg    fi
6541f29dbc25Smrg    ;;
6542f29dbc25Smrg  esac
6543f29dbc25Smrg  ;;
6544f29dbc25Smrg
6545f29dbc25Smrgsolaris*)
6546f29dbc25Smrg  case $cc_basename in
6547f29dbc25Smrg  CC*)
6548f29dbc25Smrg    # The more standards-conforming stlport4 library is
6549f29dbc25Smrg    # incompatible with the Cstd library. Avoid specifying
6550f29dbc25Smrg    # it if it's in CXXFLAGS. Ignore libCrun as
6551f29dbc25Smrg    # -library=stlport4 depends on it.
6552f29dbc25Smrg    case " $CXX $CXXFLAGS " in
6553f29dbc25Smrg    *" -library=stlport4 "*)
6554f29dbc25Smrg      solaris_use_stlport4=yes
6555f29dbc25Smrg      ;;
6556f29dbc25Smrg    esac
6557f29dbc25Smrg
6558f29dbc25Smrg    # Adding this requires a known-good setup of shared libraries for
6559f29dbc25Smrg    # Sun compiler versions before 5.6, else PIC objects from an old
6560f29dbc25Smrg    # archive will be linked into the output, leading to subtle bugs.
6561f29dbc25Smrg    if test "$solaris_use_stlport4" != yes; then
6562f29dbc25Smrg      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6563f29dbc25Smrg    fi
6564f29dbc25Smrg    ;;
6565f29dbc25Smrg  esac
6566f29dbc25Smrg  ;;
6567f29dbc25Smrgesac
6568f29dbc25Smrg])
6569f29dbc25Smrg
6570f29dbc25Smrgcase " $_LT_TAGVAR(postdeps, $1) " in
6571f29dbc25Smrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
6572f29dbc25Smrgesac
6573f29dbc25Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
6574f29dbc25Smrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
6575f29dbc25Smrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
6576f29dbc25Smrgfi
6577f29dbc25Smrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
6578f29dbc25Smrg    [The directories searched by this compiler when creating a shared library])
6579f29dbc25Smrg_LT_TAGDECL([], [predep_objects], [1],
6580f29dbc25Smrg    [Dependencies to place before and after the objects being linked to
6581f29dbc25Smrg    create a shared library])
6582f29dbc25Smrg_LT_TAGDECL([], [postdep_objects], [1])
6583f29dbc25Smrg_LT_TAGDECL([], [predeps], [1])
6584f29dbc25Smrg_LT_TAGDECL([], [postdeps], [1])
6585f29dbc25Smrg_LT_TAGDECL([], [compiler_lib_search_path], [1],
6586f29dbc25Smrg    [The library search path used internally by the compiler when linking
6587f29dbc25Smrg    a shared library])
6588f29dbc25Smrg])# _LT_SYS_HIDDEN_LIBDEPS
6589f29dbc25Smrg
6590f29dbc25Smrg
6591f29dbc25Smrg# _LT_PROG_F77
6592f29dbc25Smrg# ------------
6593f29dbc25Smrg# Since AC_PROG_F77 is broken, in that it returns the empty string
6594f29dbc25Smrg# if there is no fortran compiler, we have our own version here.
6595f29dbc25Smrgm4_defun([_LT_PROG_F77],
6596f29dbc25Smrg[
6597f29dbc25Smrgpushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6598f29dbc25SmrgAC_PROG_F77
6599f29dbc25Smrgif test -z "$F77" || test "X$F77" = "Xno"; then
6600f29dbc25Smrg  _lt_disable_F77=yes
6601f29dbc25Smrgfi
6602f29dbc25Smrgpopdef([AC_MSG_ERROR])
6603f29dbc25Smrg])# _LT_PROG_F77
6604f29dbc25Smrg
6605f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
6606f29dbc25Smrgdnl AC_DEFUN([_LT_PROG_F77], [])
6607f29dbc25Smrg
6608f29dbc25Smrg
6609f29dbc25Smrg# _LT_LANG_F77_CONFIG([TAG])
6610f29dbc25Smrg# --------------------------
6611f29dbc25Smrg# Ensure that the configuration variables for a Fortran 77 compiler are
6612f29dbc25Smrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
6613f29dbc25Smrg# to write the compiler configuration to `libtool'.
6614f29dbc25Smrgm4_defun([_LT_LANG_F77_CONFIG],
6615f29dbc25Smrg[AC_REQUIRE([_LT_PROG_F77])dnl
6616f29dbc25SmrgAC_LANG_PUSH(Fortran 77)
6617f29dbc25Smrg
6618f29dbc25Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6619f29dbc25Smrg_LT_TAGVAR(allow_undefined_flag, $1)=
6620f29dbc25Smrg_LT_TAGVAR(always_export_symbols, $1)=no
6621f29dbc25Smrg_LT_TAGVAR(archive_expsym_cmds, $1)=
6622f29dbc25Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6623f29dbc25Smrg_LT_TAGVAR(hardcode_direct, $1)=no
6624f29dbc25Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6625f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6626f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6627f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
6628f29dbc25Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no
6629f29dbc25Smrg_LT_TAGVAR(hardcode_automatic, $1)=no
6630f29dbc25Smrg_LT_TAGVAR(inherit_rpath, $1)=no
6631f29dbc25Smrg_LT_TAGVAR(module_cmds, $1)=
6632f29dbc25Smrg_LT_TAGVAR(module_expsym_cmds, $1)=
6633f29dbc25Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
6634f29dbc25Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6635f29dbc25Smrg_LT_TAGVAR(no_undefined_flag, $1)=
6636f29dbc25Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
6637f29dbc25Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6638f29dbc25Smrg
6639f29dbc25Smrg# Source file extension for f77 test sources.
6640f29dbc25Smrgac_ext=f
6641f29dbc25Smrg
6642f29dbc25Smrg# Object file extension for compiled f77 test sources.
6643f29dbc25Smrgobjext=o
6644f29dbc25Smrg_LT_TAGVAR(objext, $1)=$objext
6645f29dbc25Smrg
6646f29dbc25Smrg# No sense in running all these tests if we already determined that
6647f29dbc25Smrg# the F77 compiler isn't working.  Some variables (like enable_shared)
6648f29dbc25Smrg# are currently assumed to apply to all compilers on this platform,
6649f29dbc25Smrg# and will be corrupted by setting them based on a non-working compiler.
6650f29dbc25Smrgif test "$_lt_disable_F77" != yes; then
6651f29dbc25Smrg  # Code to be used in simple compile tests
6652f29dbc25Smrg  lt_simple_compile_test_code="\
6653f29dbc25Smrg      subroutine t
6654f29dbc25Smrg      return
6655f29dbc25Smrg      end
6656f29dbc25Smrg"
6657f29dbc25Smrg
6658f29dbc25Smrg  # Code to be used in simple link tests
6659f29dbc25Smrg  lt_simple_link_test_code="\
6660f29dbc25Smrg      program t
6661f29dbc25Smrg      end
6662f29dbc25Smrg"
6663f29dbc25Smrg
6664f29dbc25Smrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6665f29dbc25Smrg  _LT_TAG_COMPILER
6666f29dbc25Smrg
6667f29dbc25Smrg  # save warnings/boilerplate of simple test code
6668f29dbc25Smrg  _LT_COMPILER_BOILERPLATE
6669f29dbc25Smrg  _LT_LINKER_BOILERPLATE
6670f29dbc25Smrg
6671f29dbc25Smrg  # Allow CC to be a program name with arguments.
6672f29dbc25Smrg  lt_save_CC="$CC"
6673f29dbc25Smrg  lt_save_GCC=$GCC
6674f29dbc25Smrg  CC=${F77-"f77"}
6675f29dbc25Smrg  compiler=$CC
6676f29dbc25Smrg  _LT_TAGVAR(compiler, $1)=$CC
6677f29dbc25Smrg  _LT_CC_BASENAME([$compiler])
6678f29dbc25Smrg  GCC=$G77
6679f29dbc25Smrg  if test -n "$compiler"; then
6680f29dbc25Smrg    AC_MSG_CHECKING([if libtool supports shared libraries])
6681f29dbc25Smrg    AC_MSG_RESULT([$can_build_shared])
6682f29dbc25Smrg
6683f29dbc25Smrg    AC_MSG_CHECKING([whether to build shared libraries])
6684f29dbc25Smrg    test "$can_build_shared" = "no" && enable_shared=no
6685f29dbc25Smrg
6686f29dbc25Smrg    # On AIX, shared libraries and static libraries use the same namespace, and
6687f29dbc25Smrg    # are all built from PIC.
6688f29dbc25Smrg    case $host_os in
6689f29dbc25Smrg      aix3*)
6690f29dbc25Smrg        test "$enable_shared" = yes && enable_static=no
6691f29dbc25Smrg        if test -n "$RANLIB"; then
6692f29dbc25Smrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
6693f29dbc25Smrg          postinstall_cmds='$RANLIB $lib'
6694f29dbc25Smrg        fi
6695f29dbc25Smrg        ;;
6696f29dbc25Smrg      aix[[4-9]]*)
6697f29dbc25Smrg	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6698f29dbc25Smrg	  test "$enable_shared" = yes && enable_static=no
6699f29dbc25Smrg	fi
6700f29dbc25Smrg        ;;
6701f29dbc25Smrg    esac
6702f29dbc25Smrg    AC_MSG_RESULT([$enable_shared])
6703f29dbc25Smrg
6704f29dbc25Smrg    AC_MSG_CHECKING([whether to build static libraries])
6705f29dbc25Smrg    # Make sure either enable_shared or enable_static is yes.
6706f29dbc25Smrg    test "$enable_shared" = yes || enable_static=yes
6707f29dbc25Smrg    AC_MSG_RESULT([$enable_static])
6708f29dbc25Smrg
6709f29dbc25Smrg    _LT_TAGVAR(GCC, $1)="$G77"
6710f29dbc25Smrg    _LT_TAGVAR(LD, $1)="$LD"
6711f29dbc25Smrg
6712f29dbc25Smrg    ## CAVEAT EMPTOR:
6713f29dbc25Smrg    ## There is no encapsulation within the following macros, do not change
6714f29dbc25Smrg    ## the running order or otherwise move them around unless you know exactly
6715f29dbc25Smrg    ## what you are doing...
6716f29dbc25Smrg    _LT_COMPILER_PIC($1)
6717f29dbc25Smrg    _LT_COMPILER_C_O($1)
6718f29dbc25Smrg    _LT_COMPILER_FILE_LOCKS($1)
6719f29dbc25Smrg    _LT_LINKER_SHLIBS($1)
6720f29dbc25Smrg    _LT_SYS_DYNAMIC_LINKER($1)
6721f29dbc25Smrg    _LT_LINKER_HARDCODE_LIBPATH($1)
6722f29dbc25Smrg
6723f29dbc25Smrg    _LT_CONFIG($1)
6724f29dbc25Smrg  fi # test -n "$compiler"
6725f29dbc25Smrg
6726f29dbc25Smrg  GCC=$lt_save_GCC
6727f29dbc25Smrg  CC="$lt_save_CC"
6728f29dbc25Smrgfi # test "$_lt_disable_F77" != yes
6729f29dbc25Smrg
6730f29dbc25SmrgAC_LANG_POP
6731f29dbc25Smrg])# _LT_LANG_F77_CONFIG
6732f29dbc25Smrg
6733f29dbc25Smrg
6734f29dbc25Smrg# _LT_PROG_FC
6735f29dbc25Smrg# -----------
6736f29dbc25Smrg# Since AC_PROG_FC is broken, in that it returns the empty string
6737f29dbc25Smrg# if there is no fortran compiler, we have our own version here.
6738f29dbc25Smrgm4_defun([_LT_PROG_FC],
6739f29dbc25Smrg[
6740f29dbc25Smrgpushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6741f29dbc25SmrgAC_PROG_FC
6742f29dbc25Smrgif test -z "$FC" || test "X$FC" = "Xno"; then
6743f29dbc25Smrg  _lt_disable_FC=yes
6744f29dbc25Smrgfi
6745f29dbc25Smrgpopdef([AC_MSG_ERROR])
6746f29dbc25Smrg])# _LT_PROG_FC
6747f29dbc25Smrg
6748f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
6749f29dbc25Smrgdnl AC_DEFUN([_LT_PROG_FC], [])
6750f29dbc25Smrg
6751f29dbc25Smrg
6752f29dbc25Smrg# _LT_LANG_FC_CONFIG([TAG])
6753f29dbc25Smrg# -------------------------
6754f29dbc25Smrg# Ensure that the configuration variables for a Fortran compiler are
6755f29dbc25Smrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
6756f29dbc25Smrg# to write the compiler configuration to `libtool'.
6757f29dbc25Smrgm4_defun([_LT_LANG_FC_CONFIG],
6758f29dbc25Smrg[AC_REQUIRE([_LT_PROG_FC])dnl
6759f29dbc25SmrgAC_LANG_PUSH(Fortran)
6760f29dbc25Smrg
6761f29dbc25Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6762f29dbc25Smrg_LT_TAGVAR(allow_undefined_flag, $1)=
6763f29dbc25Smrg_LT_TAGVAR(always_export_symbols, $1)=no
6764f29dbc25Smrg_LT_TAGVAR(archive_expsym_cmds, $1)=
6765f29dbc25Smrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6766f29dbc25Smrg_LT_TAGVAR(hardcode_direct, $1)=no
6767f29dbc25Smrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6768f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6769f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6770f29dbc25Smrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
6771f29dbc25Smrg_LT_TAGVAR(hardcode_minus_L, $1)=no
6772f29dbc25Smrg_LT_TAGVAR(hardcode_automatic, $1)=no
6773f29dbc25Smrg_LT_TAGVAR(inherit_rpath, $1)=no
6774f29dbc25Smrg_LT_TAGVAR(module_cmds, $1)=
6775f29dbc25Smrg_LT_TAGVAR(module_expsym_cmds, $1)=
6776f29dbc25Smrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
6777f29dbc25Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6778f29dbc25Smrg_LT_TAGVAR(no_undefined_flag, $1)=
6779f29dbc25Smrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
6780f29dbc25Smrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6781f29dbc25Smrg
6782f29dbc25Smrg# Source file extension for fc test sources.
6783f29dbc25Smrgac_ext=${ac_fc_srcext-f}
6784f29dbc25Smrg
6785f29dbc25Smrg# Object file extension for compiled fc test sources.
6786f29dbc25Smrgobjext=o
6787f29dbc25Smrg_LT_TAGVAR(objext, $1)=$objext
6788f29dbc25Smrg
6789f29dbc25Smrg# No sense in running all these tests if we already determined that
6790f29dbc25Smrg# the FC compiler isn't working.  Some variables (like enable_shared)
6791f29dbc25Smrg# are currently assumed to apply to all compilers on this platform,
6792f29dbc25Smrg# and will be corrupted by setting them based on a non-working compiler.
6793f29dbc25Smrgif test "$_lt_disable_FC" != yes; then
6794f29dbc25Smrg  # Code to be used in simple compile tests
6795f29dbc25Smrg  lt_simple_compile_test_code="\
6796f29dbc25Smrg      subroutine t
6797f29dbc25Smrg      return
6798f29dbc25Smrg      end
6799f29dbc25Smrg"
6800f29dbc25Smrg
6801f29dbc25Smrg  # Code to be used in simple link tests
6802f29dbc25Smrg  lt_simple_link_test_code="\
6803f29dbc25Smrg      program t
6804f29dbc25Smrg      end
6805f29dbc25Smrg"
6806f29dbc25Smrg
6807f29dbc25Smrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6808f29dbc25Smrg  _LT_TAG_COMPILER
6809f29dbc25Smrg
6810f29dbc25Smrg  # save warnings/boilerplate of simple test code
6811f29dbc25Smrg  _LT_COMPILER_BOILERPLATE
6812f29dbc25Smrg  _LT_LINKER_BOILERPLATE
6813f29dbc25Smrg
6814f29dbc25Smrg  # Allow CC to be a program name with arguments.
6815f29dbc25Smrg  lt_save_CC="$CC"
6816f29dbc25Smrg  lt_save_GCC=$GCC
6817f29dbc25Smrg  CC=${FC-"f95"}
6818f29dbc25Smrg  compiler=$CC
6819f29dbc25Smrg  GCC=$ac_cv_fc_compiler_gnu
6820f29dbc25Smrg
6821f29dbc25Smrg  _LT_TAGVAR(compiler, $1)=$CC
6822f29dbc25Smrg  _LT_CC_BASENAME([$compiler])
6823f29dbc25Smrg
6824f29dbc25Smrg  if test -n "$compiler"; then
6825f29dbc25Smrg    AC_MSG_CHECKING([if libtool supports shared libraries])
6826f29dbc25Smrg    AC_MSG_RESULT([$can_build_shared])
6827f29dbc25Smrg
6828f29dbc25Smrg    AC_MSG_CHECKING([whether to build shared libraries])
6829f29dbc25Smrg    test "$can_build_shared" = "no" && enable_shared=no
6830f29dbc25Smrg
6831f29dbc25Smrg    # On AIX, shared libraries and static libraries use the same namespace, and
6832f29dbc25Smrg    # are all built from PIC.
6833f29dbc25Smrg    case $host_os in
6834f29dbc25Smrg      aix3*)
6835f29dbc25Smrg        test "$enable_shared" = yes && enable_static=no
6836f29dbc25Smrg        if test -n "$RANLIB"; then
6837f29dbc25Smrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
6838f29dbc25Smrg          postinstall_cmds='$RANLIB $lib'
6839f29dbc25Smrg        fi
6840f29dbc25Smrg        ;;
6841f29dbc25Smrg      aix[[4-9]]*)
6842f29dbc25Smrg	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6843f29dbc25Smrg	  test "$enable_shared" = yes && enable_static=no
6844f29dbc25Smrg	fi
6845f29dbc25Smrg        ;;
6846f29dbc25Smrg    esac
6847f29dbc25Smrg    AC_MSG_RESULT([$enable_shared])
6848f29dbc25Smrg
6849f29dbc25Smrg    AC_MSG_CHECKING([whether to build static libraries])
6850f29dbc25Smrg    # Make sure either enable_shared or enable_static is yes.
6851f29dbc25Smrg    test "$enable_shared" = yes || enable_static=yes
6852f29dbc25Smrg    AC_MSG_RESULT([$enable_static])
6853f29dbc25Smrg
6854f29dbc25Smrg    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
6855f29dbc25Smrg    _LT_TAGVAR(LD, $1)="$LD"
6856f29dbc25Smrg
6857f29dbc25Smrg    ## CAVEAT EMPTOR:
6858f29dbc25Smrg    ## There is no encapsulation within the following macros, do not change
6859f29dbc25Smrg    ## the running order or otherwise move them around unless you know exactly
6860f29dbc25Smrg    ## what you are doing...
6861f29dbc25Smrg    _LT_SYS_HIDDEN_LIBDEPS($1)
6862f29dbc25Smrg    _LT_COMPILER_PIC($1)
6863f29dbc25Smrg    _LT_COMPILER_C_O($1)
6864f29dbc25Smrg    _LT_COMPILER_FILE_LOCKS($1)
6865f29dbc25Smrg    _LT_LINKER_SHLIBS($1)
6866f29dbc25Smrg    _LT_SYS_DYNAMIC_LINKER($1)
6867f29dbc25Smrg    _LT_LINKER_HARDCODE_LIBPATH($1)
6868f29dbc25Smrg
6869f29dbc25Smrg    _LT_CONFIG($1)
6870f29dbc25Smrg  fi # test -n "$compiler"
6871f29dbc25Smrg
6872f29dbc25Smrg  GCC=$lt_save_GCC
6873f29dbc25Smrg  CC="$lt_save_CC"
6874f29dbc25Smrgfi # test "$_lt_disable_FC" != yes
6875f29dbc25Smrg
6876f29dbc25SmrgAC_LANG_POP
6877f29dbc25Smrg])# _LT_LANG_FC_CONFIG
6878f29dbc25Smrg
6879f29dbc25Smrg
6880f29dbc25Smrg# _LT_LANG_GCJ_CONFIG([TAG])
6881f29dbc25Smrg# --------------------------
6882f29dbc25Smrg# Ensure that the configuration variables for the GNU Java Compiler compiler
6883f29dbc25Smrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
6884f29dbc25Smrg# to write the compiler configuration to `libtool'.
6885f29dbc25Smrgm4_defun([_LT_LANG_GCJ_CONFIG],
6886f29dbc25Smrg[AC_REQUIRE([LT_PROG_GCJ])dnl
6887f29dbc25SmrgAC_LANG_SAVE
6888f29dbc25Smrg
6889f29dbc25Smrg# Source file extension for Java test sources.
6890f29dbc25Smrgac_ext=java
6891f29dbc25Smrg
6892f29dbc25Smrg# Object file extension for compiled Java test sources.
6893f29dbc25Smrgobjext=o
6894f29dbc25Smrg_LT_TAGVAR(objext, $1)=$objext
6895f29dbc25Smrg
6896f29dbc25Smrg# Code to be used in simple compile tests
6897f29dbc25Smrglt_simple_compile_test_code="class foo {}"
6898f29dbc25Smrg
6899f29dbc25Smrg# Code to be used in simple link tests
6900f29dbc25Smrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
6901f29dbc25Smrg
6902f29dbc25Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6903f29dbc25Smrg_LT_TAG_COMPILER
6904f29dbc25Smrg
6905f29dbc25Smrg# save warnings/boilerplate of simple test code
6906f29dbc25Smrg_LT_COMPILER_BOILERPLATE
6907f29dbc25Smrg_LT_LINKER_BOILERPLATE
6908f29dbc25Smrg
6909f29dbc25Smrg# Allow CC to be a program name with arguments.
6910f29dbc25Smrglt_save_CC="$CC"
6911f29dbc25Smrglt_save_GCC=$GCC
6912f29dbc25SmrgGCC=yes
6913f29dbc25SmrgCC=${GCJ-"gcj"}
6914f29dbc25Smrgcompiler=$CC
6915f29dbc25Smrg_LT_TAGVAR(compiler, $1)=$CC
6916f29dbc25Smrg_LT_TAGVAR(LD, $1)="$LD"
6917f29dbc25Smrg_LT_CC_BASENAME([$compiler])
6918f29dbc25Smrg
6919f29dbc25Smrg# GCJ did not exist at the time GCC didn't implicitly link libc in.
6920f29dbc25Smrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6921f29dbc25Smrg
6922f29dbc25Smrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6923f29dbc25Smrg
6924f29dbc25Smrgif test -n "$compiler"; then
6925f29dbc25Smrg  _LT_COMPILER_NO_RTTI($1)
6926f29dbc25Smrg  _LT_COMPILER_PIC($1)
6927f29dbc25Smrg  _LT_COMPILER_C_O($1)
6928f29dbc25Smrg  _LT_COMPILER_FILE_LOCKS($1)
6929f29dbc25Smrg  _LT_LINKER_SHLIBS($1)
6930f29dbc25Smrg  _LT_LINKER_HARDCODE_LIBPATH($1)
6931f29dbc25Smrg
6932f29dbc25Smrg  _LT_CONFIG($1)
6933f29dbc25Smrgfi
6934f29dbc25Smrg
6935f29dbc25SmrgAC_LANG_RESTORE
6936f29dbc25Smrg
6937f29dbc25SmrgGCC=$lt_save_GCC
6938f29dbc25SmrgCC="$lt_save_CC"
6939f29dbc25Smrg])# _LT_LANG_GCJ_CONFIG
6940f29dbc25Smrg
6941f29dbc25Smrg
6942f29dbc25Smrg# _LT_LANG_RC_CONFIG([TAG])
6943f29dbc25Smrg# -------------------------
6944f29dbc25Smrg# Ensure that the configuration variables for the Windows resource compiler
6945f29dbc25Smrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
6946f29dbc25Smrg# to write the compiler configuration to `libtool'.
6947f29dbc25Smrgm4_defun([_LT_LANG_RC_CONFIG],
6948f29dbc25Smrg[AC_REQUIRE([LT_PROG_RC])dnl
6949f29dbc25SmrgAC_LANG_SAVE
6950f29dbc25Smrg
6951f29dbc25Smrg# Source file extension for RC test sources.
6952f29dbc25Smrgac_ext=rc
6953f29dbc25Smrg
6954f29dbc25Smrg# Object file extension for compiled RC test sources.
6955f29dbc25Smrgobjext=o
6956f29dbc25Smrg_LT_TAGVAR(objext, $1)=$objext
6957f29dbc25Smrg
6958f29dbc25Smrg# Code to be used in simple compile tests
6959f29dbc25Smrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
6960f29dbc25Smrg
6961f29dbc25Smrg# Code to be used in simple link tests
6962f29dbc25Smrglt_simple_link_test_code="$lt_simple_compile_test_code"
6963f29dbc25Smrg
6964f29dbc25Smrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6965f29dbc25Smrg_LT_TAG_COMPILER
6966f29dbc25Smrg
6967f29dbc25Smrg# save warnings/boilerplate of simple test code
6968f29dbc25Smrg_LT_COMPILER_BOILERPLATE
6969f29dbc25Smrg_LT_LINKER_BOILERPLATE
6970f29dbc25Smrg
6971f29dbc25Smrg# Allow CC to be a program name with arguments.
6972f29dbc25Smrglt_save_CC="$CC"
6973f29dbc25Smrglt_save_GCC=$GCC
6974f29dbc25SmrgGCC=
6975f29dbc25SmrgCC=${RC-"windres"}
6976f29dbc25Smrgcompiler=$CC
6977f29dbc25Smrg_LT_TAGVAR(compiler, $1)=$CC
6978f29dbc25Smrg_LT_CC_BASENAME([$compiler])
6979f29dbc25Smrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
6980f29dbc25Smrg
6981f29dbc25Smrgif test -n "$compiler"; then
6982f29dbc25Smrg  :
6983f29dbc25Smrg  _LT_CONFIG($1)
6984f29dbc25Smrgfi
6985f29dbc25Smrg
6986f29dbc25SmrgGCC=$lt_save_GCC
6987f29dbc25SmrgAC_LANG_RESTORE
6988f29dbc25SmrgCC="$lt_save_CC"
6989f29dbc25Smrg])# _LT_LANG_RC_CONFIG
6990f29dbc25Smrg
6991f29dbc25Smrg
6992f29dbc25Smrg# LT_PROG_GCJ
6993f29dbc25Smrg# -----------
6994f29dbc25SmrgAC_DEFUN([LT_PROG_GCJ],
6995f29dbc25Smrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
6996f29dbc25Smrg  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
6997f29dbc25Smrg    [AC_CHECK_TOOL(GCJ, gcj,)
6998f29dbc25Smrg      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
6999f29dbc25Smrg      AC_SUBST(GCJFLAGS)])])[]dnl
7000f29dbc25Smrg])
7001f29dbc25Smrg
7002f29dbc25Smrg# Old name:
7003f29dbc25SmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7004f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7005f29dbc25Smrgdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7006f29dbc25Smrg
7007f29dbc25Smrg
7008f29dbc25Smrg# LT_PROG_RC
7009f29dbc25Smrg# ----------
7010f29dbc25SmrgAC_DEFUN([LT_PROG_RC],
7011f29dbc25Smrg[AC_CHECK_TOOL(RC, windres,)
7012f29dbc25Smrg])
7013f29dbc25Smrg
7014f29dbc25Smrg# Old name:
7015f29dbc25SmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7016f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7017f29dbc25Smrgdnl AC_DEFUN([LT_AC_PROG_RC], [])
7018f29dbc25Smrg
7019f29dbc25Smrg
7020f29dbc25Smrg# _LT_DECL_EGREP
7021f29dbc25Smrg# --------------
7022f29dbc25Smrg# If we don't have a new enough Autoconf to choose the best grep
7023f29dbc25Smrg# available, choose the one first in the user's PATH.
7024f29dbc25Smrgm4_defun([_LT_DECL_EGREP],
7025f29dbc25Smrg[AC_REQUIRE([AC_PROG_EGREP])dnl
7026f29dbc25SmrgAC_REQUIRE([AC_PROG_FGREP])dnl
7027f29dbc25Smrgtest -z "$GREP" && GREP=grep
7028f29dbc25Smrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7029f29dbc25Smrg_LT_DECL([], [EGREP], [1], [An ERE matcher])
7030f29dbc25Smrg_LT_DECL([], [FGREP], [1], [A literal string matcher])
7031f29dbc25Smrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7032f29dbc25SmrgAC_SUBST([GREP])
7033f29dbc25Smrg])
7034f29dbc25Smrg
7035f29dbc25Smrg
7036f29dbc25Smrg# _LT_DECL_OBJDUMP
7037f29dbc25Smrg# --------------
7038f29dbc25Smrg# If we don't have a new enough Autoconf to choose the best objdump
7039f29dbc25Smrg# available, choose the one first in the user's PATH.
7040f29dbc25Smrgm4_defun([_LT_DECL_OBJDUMP],
7041f29dbc25Smrg[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7042f29dbc25Smrgtest -z "$OBJDUMP" && OBJDUMP=objdump
7043f29dbc25Smrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7044f29dbc25SmrgAC_SUBST([OBJDUMP])
7045f29dbc25Smrg])
7046f29dbc25Smrg
7047f29dbc25Smrg
7048f29dbc25Smrg# _LT_DECL_SED
7049f29dbc25Smrg# ------------
7050f29dbc25Smrg# Check for a fully-functional sed program, that truncates
7051f29dbc25Smrg# as few characters as possible.  Prefer GNU sed if found.
7052f29dbc25Smrgm4_defun([_LT_DECL_SED],
7053f29dbc25Smrg[AC_PROG_SED
7054f29dbc25Smrgtest -z "$SED" && SED=sed
7055f29dbc25SmrgXsed="$SED -e 1s/^X//"
7056f29dbc25Smrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7057f29dbc25Smrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7058f29dbc25Smrg    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7059f29dbc25Smrg])# _LT_DECL_SED
7060f29dbc25Smrg
7061f29dbc25Smrgm4_ifndef([AC_PROG_SED], [
7062f29dbc25Smrg# NOTE: This macro has been submitted for inclusion into   #
7063f29dbc25Smrg#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
7064f29dbc25Smrg#  a released version of Autoconf we should remove this    #
7065f29dbc25Smrg#  macro and use it instead.                               #
7066f29dbc25Smrg
7067f29dbc25Smrgm4_defun([AC_PROG_SED],
7068f29dbc25Smrg[AC_MSG_CHECKING([for a sed that does not truncate output])
7069f29dbc25SmrgAC_CACHE_VAL(lt_cv_path_SED,
7070f29dbc25Smrg[# Loop through the user's path and test for sed and gsed.
7071f29dbc25Smrg# Then use that list of sed's as ones to test for truncation.
7072f29dbc25Smrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7073f29dbc25Smrgfor as_dir in $PATH
7074f29dbc25Smrgdo
7075f29dbc25Smrg  IFS=$as_save_IFS
7076f29dbc25Smrg  test -z "$as_dir" && as_dir=.
7077f29dbc25Smrg  for lt_ac_prog in sed gsed; do
7078f29dbc25Smrg    for ac_exec_ext in '' $ac_executable_extensions; do
7079f29dbc25Smrg      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7080f29dbc25Smrg        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7081f29dbc25Smrg      fi
7082f29dbc25Smrg    done
7083f29dbc25Smrg  done
7084f29dbc25Smrgdone
7085f29dbc25SmrgIFS=$as_save_IFS
7086f29dbc25Smrglt_ac_max=0
7087f29dbc25Smrglt_ac_count=0
7088f29dbc25Smrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7089f29dbc25Smrg# along with /bin/sed that truncates output.
7090f29dbc25Smrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7091f29dbc25Smrg  test ! -f $lt_ac_sed && continue
7092f29dbc25Smrg  cat /dev/null > conftest.in
7093f29dbc25Smrg  lt_ac_count=0
7094f29dbc25Smrg  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7095f29dbc25Smrg  # Check for GNU sed and select it if it is found.
7096f29dbc25Smrg  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7097f29dbc25Smrg    lt_cv_path_SED=$lt_ac_sed
7098f29dbc25Smrg    break
7099f29dbc25Smrg  fi
7100f29dbc25Smrg  while true; do
7101f29dbc25Smrg    cat conftest.in conftest.in >conftest.tmp
7102f29dbc25Smrg    mv conftest.tmp conftest.in
7103f29dbc25Smrg    cp conftest.in conftest.nl
7104f29dbc25Smrg    echo >>conftest.nl
7105f29dbc25Smrg    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7106f29dbc25Smrg    cmp -s conftest.out conftest.nl || break
7107f29dbc25Smrg    # 10000 chars as input seems more than enough
7108f29dbc25Smrg    test $lt_ac_count -gt 10 && break
7109f29dbc25Smrg    lt_ac_count=`expr $lt_ac_count + 1`
7110f29dbc25Smrg    if test $lt_ac_count -gt $lt_ac_max; then
7111f29dbc25Smrg      lt_ac_max=$lt_ac_count
7112f29dbc25Smrg      lt_cv_path_SED=$lt_ac_sed
7113f29dbc25Smrg    fi
7114f29dbc25Smrg  done
7115f29dbc25Smrgdone
7116f29dbc25Smrg])
7117f29dbc25SmrgSED=$lt_cv_path_SED
7118f29dbc25SmrgAC_SUBST([SED])
7119f29dbc25SmrgAC_MSG_RESULT([$SED])
7120f29dbc25Smrg])#AC_PROG_SED
7121f29dbc25Smrg])#m4_ifndef
7122f29dbc25Smrg
7123f29dbc25Smrg# Old name:
7124f29dbc25SmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7125f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7126f29dbc25Smrgdnl AC_DEFUN([LT_AC_PROG_SED], [])
7127f29dbc25Smrg
7128f29dbc25Smrg
7129f29dbc25Smrg# _LT_CHECK_SHELL_FEATURES
7130f29dbc25Smrg# ------------------------
7131f29dbc25Smrg# Find out whether the shell is Bourne or XSI compatible,
7132f29dbc25Smrg# or has some other useful features.
7133f29dbc25Smrgm4_defun([_LT_CHECK_SHELL_FEATURES],
7134f29dbc25Smrg[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7135f29dbc25Smrg# Try some XSI features
7136f29dbc25Smrgxsi_shell=no
7137f29dbc25Smrg( _lt_dummy="a/b/c"
7138f29dbc25Smrg  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7139f29dbc25Smrg      = c,a/b,, \
7140f29dbc25Smrg    && eval 'test $(( 1 + 1 )) -eq 2 \
7141f29dbc25Smrg    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7142f29dbc25Smrg  && xsi_shell=yes
7143f29dbc25SmrgAC_MSG_RESULT([$xsi_shell])
7144f29dbc25Smrg_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7145f29dbc25Smrg
7146f29dbc25SmrgAC_MSG_CHECKING([whether the shell understands "+="])
7147f29dbc25Smrglt_shell_append=no
7148f29dbc25Smrg( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7149f29dbc25Smrg    >/dev/null 2>&1 \
7150f29dbc25Smrg  && lt_shell_append=yes
7151f29dbc25SmrgAC_MSG_RESULT([$lt_shell_append])
7152f29dbc25Smrg_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7153f29dbc25Smrg
7154f29dbc25Smrgif ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7155f29dbc25Smrg  lt_unset=unset
7156f29dbc25Smrgelse
7157f29dbc25Smrg  lt_unset=false
7158f29dbc25Smrgfi
7159f29dbc25Smrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7160f29dbc25Smrg
7161f29dbc25Smrg# test EBCDIC or ASCII
7162f29dbc25Smrgcase `echo X|tr X '\101'` in
7163f29dbc25Smrg A) # ASCII based system
7164f29dbc25Smrg    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7165f29dbc25Smrg  lt_SP2NL='tr \040 \012'
7166f29dbc25Smrg  lt_NL2SP='tr \015\012 \040\040'
7167f29dbc25Smrg  ;;
7168f29dbc25Smrg *) # EBCDIC based system
7169f29dbc25Smrg  lt_SP2NL='tr \100 \n'
7170f29dbc25Smrg  lt_NL2SP='tr \r\n \100\100'
7171f29dbc25Smrg  ;;
7172f29dbc25Smrgesac
7173f29dbc25Smrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7174f29dbc25Smrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7175f29dbc25Smrg])# _LT_CHECK_SHELL_FEATURES
7176f29dbc25Smrg
7177f29dbc25Smrg
7178f29dbc25Smrg# _LT_PROG_XSI_SHELLFNS
7179f29dbc25Smrg# ---------------------
7180f29dbc25Smrg# Bourne and XSI compatible variants of some useful shell functions.
7181f29dbc25Smrgm4_defun([_LT_PROG_XSI_SHELLFNS],
7182f29dbc25Smrg[case $xsi_shell in
7183f29dbc25Smrg  yes)
7184f29dbc25Smrg    cat << \_LT_EOF >> "$cfgfile"
7185f29dbc25Smrg
7186f29dbc25Smrg# func_dirname file append nondir_replacement
7187f29dbc25Smrg# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
7188f29dbc25Smrg# otherwise set result to NONDIR_REPLACEMENT.
7189f29dbc25Smrgfunc_dirname ()
7190f29dbc25Smrg{
7191f29dbc25Smrg  case ${1} in
7192f29dbc25Smrg    */*) func_dirname_result="${1%/*}${2}" ;;
7193f29dbc25Smrg    *  ) func_dirname_result="${3}" ;;
7194f29dbc25Smrg  esac
7195f29dbc25Smrg}
7196f29dbc25Smrg
7197f29dbc25Smrg# func_basename file
7198f29dbc25Smrgfunc_basename ()
7199f29dbc25Smrg{
7200f29dbc25Smrg  func_basename_result="${1##*/}"
7201f29dbc25Smrg}
7202f29dbc25Smrg
7203f29dbc25Smrg# func_dirname_and_basename file append nondir_replacement
7204f29dbc25Smrg# perform func_basename and func_dirname in a single function
7205f29dbc25Smrg# call:
7206f29dbc25Smrg#   dirname:  Compute the dirname of FILE.  If nonempty,
7207f29dbc25Smrg#             add APPEND to the result, otherwise set result
7208f29dbc25Smrg#             to NONDIR_REPLACEMENT.
7209f29dbc25Smrg#             value returned in "$func_dirname_result"
7210f29dbc25Smrg#   basename: Compute filename of FILE.
7211f29dbc25Smrg#             value retuned in "$func_basename_result"
7212f29dbc25Smrg# Implementation must be kept synchronized with func_dirname
7213f29dbc25Smrg# and func_basename. For efficiency, we do not delegate to
7214f29dbc25Smrg# those functions but instead duplicate the functionality here.
7215f29dbc25Smrgfunc_dirname_and_basename ()
7216f29dbc25Smrg{
7217f29dbc25Smrg  case ${1} in
7218f29dbc25Smrg    */*) func_dirname_result="${1%/*}${2}" ;;
7219f29dbc25Smrg    *  ) func_dirname_result="${3}" ;;
7220f29dbc25Smrg  esac
7221f29dbc25Smrg  func_basename_result="${1##*/}"
7222f29dbc25Smrg}
7223f29dbc25Smrg
7224f29dbc25Smrg# func_stripname prefix suffix name
7225f29dbc25Smrg# strip PREFIX and SUFFIX off of NAME.
7226f29dbc25Smrg# PREFIX and SUFFIX must not contain globbing or regex special
7227f29dbc25Smrg# characters, hashes, percent signs, but SUFFIX may contain a leading
7228f29dbc25Smrg# dot (in which case that matches only a dot).
7229f29dbc25Smrgfunc_stripname ()
7230f29dbc25Smrg{
7231f29dbc25Smrg  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7232f29dbc25Smrg  # positional parameters, so assign one to ordinary parameter first.
7233f29dbc25Smrg  func_stripname_result=${3}
7234f29dbc25Smrg  func_stripname_result=${func_stripname_result#"${1}"}
7235f29dbc25Smrg  func_stripname_result=${func_stripname_result%"${2}"}
7236f29dbc25Smrg}
7237f29dbc25Smrg
7238f29dbc25Smrg# func_opt_split
7239f29dbc25Smrgfunc_opt_split ()
7240f29dbc25Smrg{
7241f29dbc25Smrg  func_opt_split_opt=${1%%=*}
7242f29dbc25Smrg  func_opt_split_arg=${1#*=}
7243f29dbc25Smrg}
7244f29dbc25Smrg
7245f29dbc25Smrg# func_lo2o object
7246f29dbc25Smrgfunc_lo2o ()
7247f29dbc25Smrg{
7248f29dbc25Smrg  case ${1} in
7249f29dbc25Smrg    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7250f29dbc25Smrg    *)    func_lo2o_result=${1} ;;
7251f29dbc25Smrg  esac
7252f29dbc25Smrg}
7253f29dbc25Smrg
7254f29dbc25Smrg# func_xform libobj-or-source
7255f29dbc25Smrgfunc_xform ()
7256f29dbc25Smrg{
7257f29dbc25Smrg  func_xform_result=${1%.*}.lo
7258f29dbc25Smrg}
7259f29dbc25Smrg
7260f29dbc25Smrg# func_arith arithmetic-term...
7261f29dbc25Smrgfunc_arith ()
7262f29dbc25Smrg{
7263f29dbc25Smrg  func_arith_result=$(( $[*] ))
7264f29dbc25Smrg}
7265f29dbc25Smrg
7266f29dbc25Smrg# func_len string
7267f29dbc25Smrg# STRING may not start with a hyphen.
7268f29dbc25Smrgfunc_len ()
7269f29dbc25Smrg{
7270f29dbc25Smrg  func_len_result=${#1}
7271f29dbc25Smrg}
7272f29dbc25Smrg
7273f29dbc25Smrg_LT_EOF
7274f29dbc25Smrg    ;;
7275f29dbc25Smrg  *) # Bourne compatible functions.
7276f29dbc25Smrg    cat << \_LT_EOF >> "$cfgfile"
7277f29dbc25Smrg
7278f29dbc25Smrg# func_dirname file append nondir_replacement
7279f29dbc25Smrg# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
7280f29dbc25Smrg# otherwise set result to NONDIR_REPLACEMENT.
7281f29dbc25Smrgfunc_dirname ()
7282f29dbc25Smrg{
7283f29dbc25Smrg  # Extract subdirectory from the argument.
7284f29dbc25Smrg  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7285f29dbc25Smrg  if test "X$func_dirname_result" = "X${1}"; then
7286f29dbc25Smrg    func_dirname_result="${3}"
7287f29dbc25Smrg  else
7288f29dbc25Smrg    func_dirname_result="$func_dirname_result${2}"
7289f29dbc25Smrg  fi
7290f29dbc25Smrg}
7291f29dbc25Smrg
7292f29dbc25Smrg# func_basename file
7293f29dbc25Smrgfunc_basename ()
7294f29dbc25Smrg{
7295f29dbc25Smrg  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7296f29dbc25Smrg}
7297f29dbc25Smrg
7298f29dbc25Smrgdnl func_dirname_and_basename
7299f29dbc25Smrgdnl A portable version of this function is already defined in general.m4sh
7300f29dbc25Smrgdnl so there is no need for it here.
7301f29dbc25Smrg
7302f29dbc25Smrg# func_stripname prefix suffix name
7303f29dbc25Smrg# strip PREFIX and SUFFIX off of NAME.
7304f29dbc25Smrg# PREFIX and SUFFIX must not contain globbing or regex special
7305f29dbc25Smrg# characters, hashes, percent signs, but SUFFIX may contain a leading
7306f29dbc25Smrg# dot (in which case that matches only a dot).
7307f29dbc25Smrg# func_strip_suffix prefix name
7308f29dbc25Smrgfunc_stripname ()
7309f29dbc25Smrg{
7310f29dbc25Smrg  case ${2} in
7311f29dbc25Smrg    .*) func_stripname_result=`$ECHO "X${3}" \
7312f29dbc25Smrg           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7313f29dbc25Smrg    *)  func_stripname_result=`$ECHO "X${3}" \
7314f29dbc25Smrg           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7315f29dbc25Smrg  esac
7316f29dbc25Smrg}
7317f29dbc25Smrg
7318f29dbc25Smrg# sed scripts:
7319f29dbc25Smrgmy_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7320f29dbc25Smrgmy_sed_long_arg='1s/^-[[^=]]*=//'
7321f29dbc25Smrg
7322f29dbc25Smrg# func_opt_split
7323f29dbc25Smrgfunc_opt_split ()
7324f29dbc25Smrg{
7325f29dbc25Smrg  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7326f29dbc25Smrg  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7327f29dbc25Smrg}
7328f29dbc25Smrg
7329f29dbc25Smrg# func_lo2o object
7330f29dbc25Smrgfunc_lo2o ()
7331f29dbc25Smrg{
7332f29dbc25Smrg  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7333f29dbc25Smrg}
7334f29dbc25Smrg
7335f29dbc25Smrg# func_xform libobj-or-source
7336f29dbc25Smrgfunc_xform ()
7337f29dbc25Smrg{
7338f29dbc25Smrg  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7339f29dbc25Smrg}
7340f29dbc25Smrg
7341f29dbc25Smrg# func_arith arithmetic-term...
7342f29dbc25Smrgfunc_arith ()
7343f29dbc25Smrg{
7344f29dbc25Smrg  func_arith_result=`expr "$[@]"`
7345f29dbc25Smrg}
7346f29dbc25Smrg
7347f29dbc25Smrg# func_len string
7348f29dbc25Smrg# STRING may not start with a hyphen.
7349f29dbc25Smrgfunc_len ()
7350f29dbc25Smrg{
7351f29dbc25Smrg  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7352f29dbc25Smrg}
7353f29dbc25Smrg
7354f29dbc25Smrg_LT_EOF
7355f29dbc25Smrgesac
7356f29dbc25Smrg
7357f29dbc25Smrgcase $lt_shell_append in
7358f29dbc25Smrg  yes)
7359f29dbc25Smrg    cat << \_LT_EOF >> "$cfgfile"
7360f29dbc25Smrg
7361f29dbc25Smrg# func_append var value
7362f29dbc25Smrg# Append VALUE to the end of shell variable VAR.
7363f29dbc25Smrgfunc_append ()
7364f29dbc25Smrg{
7365f29dbc25Smrg  eval "$[1]+=\$[2]"
7366f29dbc25Smrg}
7367f29dbc25Smrg_LT_EOF
7368f29dbc25Smrg    ;;
7369f29dbc25Smrg  *)
7370f29dbc25Smrg    cat << \_LT_EOF >> "$cfgfile"
7371f29dbc25Smrg
7372f29dbc25Smrg# func_append var value
7373f29dbc25Smrg# Append VALUE to the end of shell variable VAR.
7374f29dbc25Smrgfunc_append ()
7375f29dbc25Smrg{
7376f29dbc25Smrg  eval "$[1]=\$$[1]\$[2]"
7377f29dbc25Smrg}
7378f29dbc25Smrg
7379f29dbc25Smrg_LT_EOF
7380f29dbc25Smrg    ;;
7381f29dbc25Smrg  esac
7382f29dbc25Smrg])
7383f29dbc25Smrg
7384f29dbc25Smrg# Helper functions for option handling.                    -*- Autoconf -*-
7385f29dbc25Smrg#
7386f29dbc25Smrg#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7387f29dbc25Smrg#   Written by Gary V. Vaughan, 2004
7388f29dbc25Smrg#
7389f29dbc25Smrg# This file is free software; the Free Software Foundation gives
7390f29dbc25Smrg# unlimited permission to copy and/or distribute it, with or without
7391f29dbc25Smrg# modifications, as long as this notice is preserved.
7392f29dbc25Smrg
7393f29dbc25Smrg# serial 6 ltoptions.m4
7394f29dbc25Smrg
7395f29dbc25Smrg# This is to help aclocal find these macros, as it can't see m4_define.
7396f29dbc25SmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
7397f29dbc25Smrg
7398f29dbc25Smrg
7399f29dbc25Smrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
7400f29dbc25Smrg# ------------------------------------------
7401f29dbc25Smrgm4_define([_LT_MANGLE_OPTION],
7402f29dbc25Smrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
7403f29dbc25Smrg
7404f29dbc25Smrg
7405f29dbc25Smrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
7406f29dbc25Smrg# ---------------------------------------
7407f29dbc25Smrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
7408f29dbc25Smrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
7409f29dbc25Smrg# saved as a flag.
7410f29dbc25Smrgm4_define([_LT_SET_OPTION],
7411f29dbc25Smrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
7412f29dbc25Smrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
7413f29dbc25Smrg        _LT_MANGLE_DEFUN([$1], [$2]),
7414f29dbc25Smrg    [m4_warning([Unknown $1 option `$2'])])[]dnl
7415f29dbc25Smrg])
7416f29dbc25Smrg
7417f29dbc25Smrg
7418f29dbc25Smrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
7419f29dbc25Smrg# ------------------------------------------------------------
7420f29dbc25Smrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
7421f29dbc25Smrgm4_define([_LT_IF_OPTION],
7422f29dbc25Smrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
7423f29dbc25Smrg
7424f29dbc25Smrg
7425f29dbc25Smrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
7426f29dbc25Smrg# -------------------------------------------------------
7427f29dbc25Smrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
7428f29dbc25Smrg# are set.
7429f29dbc25Smrgm4_define([_LT_UNLESS_OPTIONS],
7430f29dbc25Smrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7431f29dbc25Smrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
7432f29dbc25Smrg		      [m4_define([$0_found])])])[]dnl
7433f29dbc25Smrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
7434f29dbc25Smrg])[]dnl
7435f29dbc25Smrg])
7436f29dbc25Smrg
7437f29dbc25Smrg
7438f29dbc25Smrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
7439f29dbc25Smrg# ----------------------------------------
7440f29dbc25Smrg# OPTION-LIST is a space-separated list of Libtool options associated
7441f29dbc25Smrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
7442f29dbc25Smrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
7443f29dbc25Smrg# the unknown option and exit.
7444f29dbc25Smrgm4_defun([_LT_SET_OPTIONS],
7445f29dbc25Smrg[# Set options
7446f29dbc25Smrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7447f29dbc25Smrg    [_LT_SET_OPTION([$1], _LT_Option)])
7448f29dbc25Smrg
7449f29dbc25Smrgm4_if([$1],[LT_INIT],[
7450f29dbc25Smrg  dnl
7451f29dbc25Smrg  dnl Simply set some default values (i.e off) if boolean options were not
7452f29dbc25Smrg  dnl specified:
7453f29dbc25Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
7454f29dbc25Smrg  ])
7455f29dbc25Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
7456f29dbc25Smrg  ])
7457f29dbc25Smrg  dnl
7458f29dbc25Smrg  dnl If no reference was made to various pairs of opposing options, then
7459f29dbc25Smrg  dnl we run the default mode handler for the pair.  For example, if neither
7460f29dbc25Smrg  dnl `shared' nor `disable-shared' was passed, we enable building of shared
7461f29dbc25Smrg  dnl archives by default:
7462f29dbc25Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
7463f29dbc25Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
7464f29dbc25Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
7465f29dbc25Smrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
7466f29dbc25Smrg  		   [_LT_ENABLE_FAST_INSTALL])
7467f29dbc25Smrg  ])
7468f29dbc25Smrg])# _LT_SET_OPTIONS
7469f29dbc25Smrg
7470f29dbc25Smrg
7471f29dbc25Smrg
7472f29dbc25Smrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
7473f29dbc25Smrg# -----------------------------------------
7474f29dbc25Smrgm4_define([_LT_MANGLE_DEFUN],
7475f29dbc25Smrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
7476f29dbc25Smrg
7477f29dbc25Smrg
7478f29dbc25Smrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
7479f29dbc25Smrg# -----------------------------------------------
7480f29dbc25Smrgm4_define([LT_OPTION_DEFINE],
7481f29dbc25Smrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
7482f29dbc25Smrg])# LT_OPTION_DEFINE
7483f29dbc25Smrg
7484f29dbc25Smrg
7485f29dbc25Smrg# dlopen
7486f29dbc25Smrg# ------
7487f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
7488f29dbc25Smrg])
7489f29dbc25Smrg
7490f29dbc25SmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
7491f29dbc25Smrg[_LT_SET_OPTION([LT_INIT], [dlopen])
7492f29dbc25SmrgAC_DIAGNOSE([obsolete],
7493f29dbc25Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
7494f29dbc25Smrgput the `dlopen' option into LT_INIT's first parameter.])
7495f29dbc25Smrg])
7496f29dbc25Smrg
7497f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7498f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
7499f29dbc25Smrg
7500f29dbc25Smrg
7501f29dbc25Smrg# win32-dll
7502f29dbc25Smrg# ---------
7503f29dbc25Smrg# Declare package support for building win32 dll's.
7504f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
7505f29dbc25Smrg[enable_win32_dll=yes
7506f29dbc25Smrg
7507f29dbc25Smrgcase $host in
7508f29dbc25Smrg*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
7509f29dbc25Smrg  AC_CHECK_TOOL(AS, as, false)
7510f29dbc25Smrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7511f29dbc25Smrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
7512f29dbc25Smrg  ;;
7513f29dbc25Smrgesac
7514f29dbc25Smrg
7515f29dbc25Smrgtest -z "$AS" && AS=as
7516f29dbc25Smrg_LT_DECL([], [AS],      [0], [Assembler program])dnl
7517f29dbc25Smrg
7518f29dbc25Smrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
7519f29dbc25Smrg_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
7520f29dbc25Smrg
7521f29dbc25Smrgtest -z "$OBJDUMP" && OBJDUMP=objdump
7522f29dbc25Smrg_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
7523f29dbc25Smrg])# win32-dll
7524f29dbc25Smrg
7525f29dbc25SmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
7526f29dbc25Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7527f29dbc25Smrg_LT_SET_OPTION([LT_INIT], [win32-dll])
7528f29dbc25SmrgAC_DIAGNOSE([obsolete],
7529f29dbc25Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
7530f29dbc25Smrgput the `win32-dll' option into LT_INIT's first parameter.])
7531f29dbc25Smrg])
7532f29dbc25Smrg
7533f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7534f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
7535f29dbc25Smrg
7536f29dbc25Smrg
7537f29dbc25Smrg# _LT_ENABLE_SHARED([DEFAULT])
7538f29dbc25Smrg# ----------------------------
7539f29dbc25Smrg# implement the --enable-shared flag, and supports the `shared' and
7540f29dbc25Smrg# `disable-shared' LT_INIT options.
7541f29dbc25Smrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
7542f29dbc25Smrgm4_define([_LT_ENABLE_SHARED],
7543f29dbc25Smrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
7544f29dbc25SmrgAC_ARG_ENABLE([shared],
7545f29dbc25Smrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
7546f29dbc25Smrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
7547f29dbc25Smrg    [p=${PACKAGE-default}
7548f29dbc25Smrg    case $enableval in
7549f29dbc25Smrg    yes) enable_shared=yes ;;
7550f29dbc25Smrg    no) enable_shared=no ;;
7551f29dbc25Smrg    *)
7552f29dbc25Smrg      enable_shared=no
7553f29dbc25Smrg      # Look at the argument we got.  We use all the common list separators.
7554f29dbc25Smrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7555f29dbc25Smrg      for pkg in $enableval; do
7556f29dbc25Smrg	IFS="$lt_save_ifs"
7557f29dbc25Smrg	if test "X$pkg" = "X$p"; then
7558f29dbc25Smrg	  enable_shared=yes
7559f29dbc25Smrg	fi
7560f29dbc25Smrg      done
7561f29dbc25Smrg      IFS="$lt_save_ifs"
7562f29dbc25Smrg      ;;
7563f29dbc25Smrg    esac],
7564f29dbc25Smrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
7565f29dbc25Smrg
7566f29dbc25Smrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
7567f29dbc25Smrg	[Whether or not to build shared libraries])
7568f29dbc25Smrg])# _LT_ENABLE_SHARED
7569f29dbc25Smrg
7570f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
7571f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
7572f29dbc25Smrg
7573f29dbc25Smrg# Old names:
7574f29dbc25SmrgAC_DEFUN([AC_ENABLE_SHARED],
7575f29dbc25Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
7576f29dbc25Smrg])
7577f29dbc25Smrg
7578f29dbc25SmrgAC_DEFUN([AC_DISABLE_SHARED],
7579f29dbc25Smrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
7580f29dbc25Smrg])
7581f29dbc25Smrg
7582f29dbc25SmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
7583f29dbc25SmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7584f29dbc25Smrg
7585f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7586f29dbc25Smrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
7587f29dbc25Smrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
7588f29dbc25Smrg
7589f29dbc25Smrg
7590f29dbc25Smrg
7591f29dbc25Smrg# _LT_ENABLE_STATIC([DEFAULT])
7592f29dbc25Smrg# ----------------------------
7593f29dbc25Smrg# implement the --enable-static flag, and support the `static' and
7594f29dbc25Smrg# `disable-static' LT_INIT options.
7595f29dbc25Smrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
7596f29dbc25Smrgm4_define([_LT_ENABLE_STATIC],
7597f29dbc25Smrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
7598f29dbc25SmrgAC_ARG_ENABLE([static],
7599f29dbc25Smrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
7600f29dbc25Smrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
7601f29dbc25Smrg    [p=${PACKAGE-default}
7602f29dbc25Smrg    case $enableval in
7603f29dbc25Smrg    yes) enable_static=yes ;;
7604f29dbc25Smrg    no) enable_static=no ;;
7605f29dbc25Smrg    *)
7606f29dbc25Smrg     enable_static=no
7607f29dbc25Smrg      # Look at the argument we got.  We use all the common list separators.
7608f29dbc25Smrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7609f29dbc25Smrg      for pkg in $enableval; do
7610f29dbc25Smrg	IFS="$lt_save_ifs"
7611f29dbc25Smrg	if test "X$pkg" = "X$p"; then
7612f29dbc25Smrg	  enable_static=yes
7613f29dbc25Smrg	fi
7614f29dbc25Smrg      done
7615f29dbc25Smrg      IFS="$lt_save_ifs"
7616f29dbc25Smrg      ;;
7617f29dbc25Smrg    esac],
7618f29dbc25Smrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
7619f29dbc25Smrg
7620f29dbc25Smrg    _LT_DECL([build_old_libs], [enable_static], [0],
7621f29dbc25Smrg	[Whether or not to build static libraries])
7622f29dbc25Smrg])# _LT_ENABLE_STATIC
7623f29dbc25Smrg
7624f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
7625f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
7626f29dbc25Smrg
7627f29dbc25Smrg# Old names:
7628f29dbc25SmrgAC_DEFUN([AC_ENABLE_STATIC],
7629f29dbc25Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
7630f29dbc25Smrg])
7631f29dbc25Smrg
7632f29dbc25SmrgAC_DEFUN([AC_DISABLE_STATIC],
7633f29dbc25Smrg[_LT_SET_OPTION([LT_INIT], [disable-static])
7634f29dbc25Smrg])
7635f29dbc25Smrg
7636f29dbc25SmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
7637f29dbc25SmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7638f29dbc25Smrg
7639f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7640f29dbc25Smrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
7641f29dbc25Smrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
7642f29dbc25Smrg
7643f29dbc25Smrg
7644f29dbc25Smrg
7645f29dbc25Smrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
7646f29dbc25Smrg# ----------------------------------
7647f29dbc25Smrg# implement the --enable-fast-install flag, and support the `fast-install'
7648f29dbc25Smrg# and `disable-fast-install' LT_INIT options.
7649f29dbc25Smrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
7650f29dbc25Smrgm4_define([_LT_ENABLE_FAST_INSTALL],
7651f29dbc25Smrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
7652f29dbc25SmrgAC_ARG_ENABLE([fast-install],
7653f29dbc25Smrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
7654f29dbc25Smrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
7655f29dbc25Smrg    [p=${PACKAGE-default}
7656f29dbc25Smrg    case $enableval in
7657f29dbc25Smrg    yes) enable_fast_install=yes ;;
7658f29dbc25Smrg    no) enable_fast_install=no ;;
7659f29dbc25Smrg    *)
7660f29dbc25Smrg      enable_fast_install=no
7661f29dbc25Smrg      # Look at the argument we got.  We use all the common list separators.
7662f29dbc25Smrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7663f29dbc25Smrg      for pkg in $enableval; do
7664f29dbc25Smrg	IFS="$lt_save_ifs"
7665f29dbc25Smrg	if test "X$pkg" = "X$p"; then
7666f29dbc25Smrg	  enable_fast_install=yes
7667f29dbc25Smrg	fi
7668f29dbc25Smrg      done
7669f29dbc25Smrg      IFS="$lt_save_ifs"
7670f29dbc25Smrg      ;;
7671f29dbc25Smrg    esac],
7672f29dbc25Smrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
7673f29dbc25Smrg
7674f29dbc25Smrg_LT_DECL([fast_install], [enable_fast_install], [0],
7675f29dbc25Smrg	 [Whether or not to optimize for fast installation])dnl
7676f29dbc25Smrg])# _LT_ENABLE_FAST_INSTALL
7677f29dbc25Smrg
7678f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
7679f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
7680f29dbc25Smrg
7681f29dbc25Smrg# Old names:
7682f29dbc25SmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
7683f29dbc25Smrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
7684f29dbc25SmrgAC_DIAGNOSE([obsolete],
7685f29dbc25Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7686f29dbc25Smrgthe `fast-install' option into LT_INIT's first parameter.])
7687f29dbc25Smrg])
7688f29dbc25Smrg
7689f29dbc25SmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
7690f29dbc25Smrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
7691f29dbc25SmrgAC_DIAGNOSE([obsolete],
7692f29dbc25Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7693f29dbc25Smrgthe `disable-fast-install' option into LT_INIT's first parameter.])
7694f29dbc25Smrg])
7695f29dbc25Smrg
7696f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7697f29dbc25Smrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
7698f29dbc25Smrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
7699f29dbc25Smrg
7700f29dbc25Smrg
7701f29dbc25Smrg# _LT_WITH_PIC([MODE])
7702f29dbc25Smrg# --------------------
7703f29dbc25Smrg# implement the --with-pic flag, and support the `pic-only' and `no-pic'
7704f29dbc25Smrg# LT_INIT options.
7705f29dbc25Smrg# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
7706f29dbc25Smrgm4_define([_LT_WITH_PIC],
7707f29dbc25Smrg[AC_ARG_WITH([pic],
7708f29dbc25Smrg    [AS_HELP_STRING([--with-pic],
7709f29dbc25Smrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
7710f29dbc25Smrg    [pic_mode="$withval"],
7711f29dbc25Smrg    [pic_mode=default])
7712f29dbc25Smrg
7713f29dbc25Smrgtest -z "$pic_mode" && pic_mode=m4_default([$1], [default])
7714f29dbc25Smrg
7715f29dbc25Smrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
7716f29dbc25Smrg])# _LT_WITH_PIC
7717f29dbc25Smrg
7718f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
7719f29dbc25SmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
7720f29dbc25Smrg
7721f29dbc25Smrg# Old name:
7722f29dbc25SmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
7723f29dbc25Smrg[_LT_SET_OPTION([LT_INIT], [pic-only])
7724f29dbc25SmrgAC_DIAGNOSE([obsolete],
7725f29dbc25Smrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
7726f29dbc25Smrgput the `pic-only' option into LT_INIT's first parameter.])
7727f29dbc25Smrg])
7728f29dbc25Smrg
7729f29dbc25Smrgdnl aclocal-1.4 backwards compatibility:
7730f29dbc25Smrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
7731f29dbc25Smrg
7732f29dbc25Smrg
7733f29dbc25Smrgm4_define([_LTDL_MODE], [])
7734f29dbc25SmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
7735f29dbc25Smrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
7736f29dbc25SmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
7737f29dbc25Smrg		 [m4_define([_LTDL_MODE], [recursive])])
7738f29dbc25SmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
7739f29dbc25Smrg		 [m4_define([_LTDL_MODE], [subproject])])
7740f29dbc25Smrg
7741f29dbc25Smrgm4_define([_LTDL_TYPE], [])
7742f29dbc25SmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
7743f29dbc25Smrg		 [m4_define([_LTDL_TYPE], [installable])])
7744f29dbc25SmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
7745f29dbc25Smrg		 [m4_define([_LTDL_TYPE], [convenience])])
7746f29dbc25Smrg
7747f29dbc25Smrg# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
7748f29dbc25Smrg#
7749f29dbc25Smrg# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7750f29dbc25Smrg# Written by Gary V. Vaughan, 2004
7751f29dbc25Smrg#
7752f29dbc25Smrg# This file is free software; the Free Software Foundation gives
7753f29dbc25Smrg# unlimited permission to copy and/or distribute it, with or without
7754f29dbc25Smrg# modifications, as long as this notice is preserved.
7755f29dbc25Smrg
7756f29dbc25Smrg# serial 6 ltsugar.m4
7757f29dbc25Smrg
7758f29dbc25Smrg# This is to help aclocal find these macros, as it can't see m4_define.
7759f29dbc25SmrgAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
7760f29dbc25Smrg
7761f29dbc25Smrg
7762f29dbc25Smrg# lt_join(SEP, ARG1, [ARG2...])
7763f29dbc25Smrg# -----------------------------
7764f29dbc25Smrg# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
7765f29dbc25Smrg# associated separator.
7766f29dbc25Smrg# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
7767f29dbc25Smrg# versions in m4sugar had bugs.
7768f29dbc25Smrgm4_define([lt_join],
7769f29dbc25Smrg[m4_if([$#], [1], [],
7770f29dbc25Smrg       [$#], [2], [[$2]],
7771f29dbc25Smrg       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
7772f29dbc25Smrgm4_define([_lt_join],
7773f29dbc25Smrg[m4_if([$#$2], [2], [],
7774f29dbc25Smrg       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
7775f29dbc25Smrg
7776f29dbc25Smrg
7777f29dbc25Smrg# lt_car(LIST)
7778f29dbc25Smrg# lt_cdr(LIST)
7779f29dbc25Smrg# ------------
7780f29dbc25Smrg# Manipulate m4 lists.
7781f29dbc25Smrg# These macros are necessary as long as will still need to support
7782f29dbc25Smrg# Autoconf-2.59 which quotes differently.
7783f29dbc25Smrgm4_define([lt_car], [[$1]])
7784f29dbc25Smrgm4_define([lt_cdr],
7785f29dbc25Smrg[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
7786f29dbc25Smrg       [$#], 1, [],
7787f29dbc25Smrg       [m4_dquote(m4_shift($@))])])
7788f29dbc25Smrgm4_define([lt_unquote], $1)
7789f29dbc25Smrg
7790f29dbc25Smrg
7791f29dbc25Smrg# lt_append(MACRO-NAME, STRING, [SEPARATOR])
7792f29dbc25Smrg# ------------------------------------------
7793f29dbc25Smrg# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
7794f29dbc25Smrg# Note that neither SEPARATOR nor STRING are expanded; they are appended
7795f29dbc25Smrg# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
7796f29dbc25Smrg# No SEPARATOR is output if MACRO-NAME was previously undefined (different
7797f29dbc25Smrg# than defined and empty).
7798f29dbc25Smrg#
7799f29dbc25Smrg# This macro is needed until we can rely on Autoconf 2.62, since earlier
7800f29dbc25Smrg# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
7801f29dbc25Smrgm4_define([lt_append],
7802f29dbc25Smrg[m4_define([$1],
7803f29dbc25Smrg	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
7804f29dbc25Smrg
7805f29dbc25Smrg
7806f29dbc25Smrg
7807f29dbc25Smrg# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
7808f29dbc25Smrg# ----------------------------------------------------------
7809f29dbc25Smrg# Produce a SEP delimited list of all paired combinations of elements of
7810f29dbc25Smrg# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
7811f29dbc25Smrg# has the form PREFIXmINFIXSUFFIXn.
7812f29dbc25Smrg# Needed until we can rely on m4_combine added in Autoconf 2.62.
7813f29dbc25Smrgm4_define([lt_combine],
7814f29dbc25Smrg[m4_if(m4_eval([$# > 3]), [1],
7815f29dbc25Smrg       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
7816f29dbc25Smrg[[m4_foreach([_Lt_prefix], [$2],
7817f29dbc25Smrg	     [m4_foreach([_Lt_suffix],
7818f29dbc25Smrg		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
7819f29dbc25Smrg	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
7820f29dbc25Smrg
7821f29dbc25Smrg
7822f29dbc25Smrg# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
7823f29dbc25Smrg# -----------------------------------------------------------------------
7824f29dbc25Smrg# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
7825f29dbc25Smrg# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
7826f29dbc25Smrgm4_define([lt_if_append_uniq],
7827f29dbc25Smrg[m4_ifdef([$1],
7828f29dbc25Smrg	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
7829f29dbc25Smrg		 [lt_append([$1], [$2], [$3])$4],
7830f29dbc25Smrg		 [$5])],
7831f29dbc25Smrg	  [lt_append([$1], [$2], [$3])$4])])
7832f29dbc25Smrg
7833f29dbc25Smrg
7834f29dbc25Smrg# lt_dict_add(DICT, KEY, VALUE)
7835f29dbc25Smrg# -----------------------------
7836f29dbc25Smrgm4_define([lt_dict_add],
7837f29dbc25Smrg[m4_define([$1($2)], [$3])])
7838f29dbc25Smrg
7839f29dbc25Smrg
7840f29dbc25Smrg# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
7841f29dbc25Smrg# --------------------------------------------
7842f29dbc25Smrgm4_define([lt_dict_add_subkey],
7843f29dbc25Smrg[m4_define([$1($2:$3)], [$4])])
7844f29dbc25Smrg
7845f29dbc25Smrg
7846f29dbc25Smrg# lt_dict_fetch(DICT, KEY, [SUBKEY])
7847f29dbc25Smrg# ----------------------------------
7848f29dbc25Smrgm4_define([lt_dict_fetch],
7849f29dbc25Smrg[m4_ifval([$3],
7850f29dbc25Smrg	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
7851f29dbc25Smrg    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
7852f29dbc25Smrg
7853f29dbc25Smrg
7854f29dbc25Smrg# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
7855f29dbc25Smrg# -----------------------------------------------------------------
7856f29dbc25Smrgm4_define([lt_if_dict_fetch],
7857f29dbc25Smrg[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
7858f29dbc25Smrg	[$5],
7859f29dbc25Smrg    [$6])])
7860f29dbc25Smrg
7861f29dbc25Smrg
7862f29dbc25Smrg# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
7863f29dbc25Smrg# --------------------------------------------------------------
7864f29dbc25Smrgm4_define([lt_dict_filter],
7865f29dbc25Smrg[m4_if([$5], [], [],
7866f29dbc25Smrg  [lt_join(m4_quote(m4_default([$4], [[, ]])),
7867f29dbc25Smrg           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
7868f29dbc25Smrg		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
7869f29dbc25Smrg])
7870f29dbc25Smrg
7871f29dbc25Smrg# ltversion.m4 -- version numbers			-*- Autoconf -*-
7872f29dbc25Smrg#
7873f29dbc25Smrg#   Copyright (C) 2004 Free Software Foundation, Inc.
7874f29dbc25Smrg#   Written by Scott James Remnant, 2004
7875f29dbc25Smrg#
7876f29dbc25Smrg# This file is free software; the Free Software Foundation gives
7877f29dbc25Smrg# unlimited permission to copy and/or distribute it, with or without
7878f29dbc25Smrg# modifications, as long as this notice is preserved.
7879f29dbc25Smrg
7880f29dbc25Smrg# Generated from ltversion.in.
7881f29dbc25Smrg
7882f29dbc25Smrg# serial 3017 ltversion.m4
7883f29dbc25Smrg# This file is part of GNU Libtool
7884f29dbc25Smrg
7885f29dbc25Smrgm4_define([LT_PACKAGE_VERSION], [2.2.6b])
7886f29dbc25Smrgm4_define([LT_PACKAGE_REVISION], [1.3017])
7887f29dbc25Smrg
7888f29dbc25SmrgAC_DEFUN([LTVERSION_VERSION],
7889f29dbc25Smrg[macro_version='2.2.6b'
7890f29dbc25Smrgmacro_revision='1.3017'
7891f29dbc25Smrg_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
7892f29dbc25Smrg_LT_DECL(, macro_revision, 0)
7893f29dbc25Smrg])
7894f29dbc25Smrg
7895f29dbc25Smrg# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
7896f29dbc25Smrg#
7897f29dbc25Smrg#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
7898f29dbc25Smrg#   Written by Scott James Remnant, 2004.
7899f29dbc25Smrg#
7900f29dbc25Smrg# This file is free software; the Free Software Foundation gives
7901f29dbc25Smrg# unlimited permission to copy and/or distribute it, with or without
7902f29dbc25Smrg# modifications, as long as this notice is preserved.
7903f29dbc25Smrg
7904f29dbc25Smrg# serial 4 lt~obsolete.m4
7905f29dbc25Smrg
7906f29dbc25Smrg# These exist entirely to fool aclocal when bootstrapping libtool.
7907f29dbc25Smrg#
7908f29dbc25Smrg# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
7909f29dbc25Smrg# which have later been changed to m4_define as they aren't part of the
7910f29dbc25Smrg# exported API, or moved to Autoconf or Automake where they belong.
7911f29dbc25Smrg#
7912f29dbc25Smrg# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
7913f29dbc25Smrg# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
7914f29dbc25Smrg# using a macro with the same name in our local m4/libtool.m4 it'll
7915f29dbc25Smrg# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
7916f29dbc25Smrg# and doesn't know about Autoconf macros at all.)
7917f29dbc25Smrg#
7918f29dbc25Smrg# So we provide this file, which has a silly filename so it's always
7919f29dbc25Smrg# included after everything else.  This provides aclocal with the
7920f29dbc25Smrg# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
7921f29dbc25Smrg# because those macros already exist, or will be overwritten later.
7922f29dbc25Smrg# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
7923f29dbc25Smrg#
7924f29dbc25Smrg# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
7925f29dbc25Smrg# Yes, that means every name once taken will need to remain here until
7926f29dbc25Smrg# we give up compatibility with versions before 1.7, at which point
7927f29dbc25Smrg# we need to keep only those names which we still refer to.
7928f29dbc25Smrg
7929f29dbc25Smrg# This is to help aclocal find these macros, as it can't see m4_define.
7930f29dbc25SmrgAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
7931f29dbc25Smrg
7932f29dbc25Smrgm4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
7933f29dbc25Smrgm4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
7934f29dbc25Smrgm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
7935f29dbc25Smrgm4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
7936f29dbc25Smrgm4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
7937f29dbc25Smrgm4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
7938f29dbc25Smrgm4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
7939f29dbc25Smrgm4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
7940f29dbc25Smrgm4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
7941f29dbc25Smrgm4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
7942f29dbc25Smrgm4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
7943f29dbc25Smrgm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
7944f29dbc25Smrgm4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
7945f29dbc25Smrgm4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
7946f29dbc25Smrgm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
7947f29dbc25Smrgm4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
7948f29dbc25Smrgm4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
7949f29dbc25Smrgm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
7950f29dbc25Smrgm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
7951f29dbc25Smrgm4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
7952f29dbc25Smrgm4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
7953f29dbc25Smrgm4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
7954f29dbc25Smrgm4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
7955f29dbc25Smrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
7956f29dbc25Smrgm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
7957f29dbc25Smrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
7958f29dbc25Smrgm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
7959f29dbc25Smrgm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
7960f29dbc25Smrgm4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
7961f29dbc25Smrgm4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
7962f29dbc25Smrgm4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
7963f29dbc25Smrgm4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
7964f29dbc25Smrgm4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
7965f29dbc25Smrgm4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
7966f29dbc25Smrgm4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
7967f29dbc25Smrgm4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
7968f29dbc25Smrgm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
7969f29dbc25Smrgm4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
7970f29dbc25Smrgm4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
7971f29dbc25Smrgm4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
7972f29dbc25Smrgm4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
7973f29dbc25Smrgm4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
7974f29dbc25Smrgm4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
7975f29dbc25Smrgm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
7976f29dbc25Smrgm4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
7977f29dbc25Smrgm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
7978f29dbc25Smrgm4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
7979f29dbc25Smrgm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
7980f29dbc25Smrgm4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
7981f29dbc25Smrgm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
7982f29dbc25Smrgm4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
7983f29dbc25Smrgm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
7984f29dbc25Smrgm4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
7985f29dbc25Smrgm4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
7986f29dbc25Smrgm4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
7987f29dbc25Smrg
7988f29dbc25Smrg# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
7989170d5fdcSmrg# serial 1 (pkg-config-0.24)
7990f29dbc25Smrg# 
7991f29dbc25Smrg# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
7992f29dbc25Smrg#
7993f29dbc25Smrg# This program is free software; you can redistribute it and/or modify
7994f29dbc25Smrg# it under the terms of the GNU General Public License as published by
7995f29dbc25Smrg# the Free Software Foundation; either version 2 of the License, or
7996f29dbc25Smrg# (at your option) any later version.
7997f29dbc25Smrg#
7998f29dbc25Smrg# This program is distributed in the hope that it will be useful, but
7999f29dbc25Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
8000f29dbc25Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
8001f29dbc25Smrg# General Public License for more details.
8002f29dbc25Smrg#
8003f29dbc25Smrg# You should have received a copy of the GNU General Public License
8004f29dbc25Smrg# along with this program; if not, write to the Free Software
8005f29dbc25Smrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
8006f29dbc25Smrg#
8007f29dbc25Smrg# As a special exception to the GNU General Public License, if you
8008f29dbc25Smrg# distribute this file as part of a program that contains a
8009f29dbc25Smrg# configuration script generated by Autoconf, you may include it under
8010f29dbc25Smrg# the same distribution terms that you use for the rest of that program.
8011f29dbc25Smrg
8012f29dbc25Smrg# PKG_PROG_PKG_CONFIG([MIN-VERSION])
8013f29dbc25Smrg# ----------------------------------
8014f29dbc25SmrgAC_DEFUN([PKG_PROG_PKG_CONFIG],
8015f29dbc25Smrg[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
8016f29dbc25Smrgm4_pattern_allow([^PKG_CONFIG(_PATH)?$])
8017170d5fdcSmrgAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
8018170d5fdcSmrgAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
8019170d5fdcSmrgAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
8020170d5fdcSmrg
8021f29dbc25Smrgif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
8022f29dbc25Smrg	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
8023f29dbc25Smrgfi
8024f29dbc25Smrgif test -n "$PKG_CONFIG"; then
8025f29dbc25Smrg	_pkg_min_version=m4_default([$1], [0.9.0])
8026f29dbc25Smrg	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
8027f29dbc25Smrg	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
8028f29dbc25Smrg		AC_MSG_RESULT([yes])
8029f29dbc25Smrg	else
8030f29dbc25Smrg		AC_MSG_RESULT([no])
8031f29dbc25Smrg		PKG_CONFIG=""
8032f29dbc25Smrg	fi
8033f29dbc25Smrgfi[]dnl
8034f29dbc25Smrg])# PKG_PROG_PKG_CONFIG
8035f29dbc25Smrg
8036f29dbc25Smrg# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
8037f29dbc25Smrg#
8038f29dbc25Smrg# Check to see whether a particular set of modules exists.  Similar
8039f29dbc25Smrg# to PKG_CHECK_MODULES(), but does not set variables or print errors.
8040f29dbc25Smrg#
8041170d5fdcSmrg# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
8042170d5fdcSmrg# only at the first occurence in configure.ac, so if the first place
8043170d5fdcSmrg# it's called might be skipped (such as if it is within an "if", you
8044170d5fdcSmrg# have to call PKG_CHECK_EXISTS manually
8045f29dbc25Smrg# --------------------------------------------------------------
8046f29dbc25SmrgAC_DEFUN([PKG_CHECK_EXISTS],
8047f29dbc25Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8048f29dbc25Smrgif test -n "$PKG_CONFIG" && \
8049f29dbc25Smrg    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
8050170d5fdcSmrg  m4_default([$2], [:])
8051f29dbc25Smrgm4_ifvaln([$3], [else
8052f29dbc25Smrg  $3])dnl
8053f29dbc25Smrgfi])
8054f29dbc25Smrg
8055f29dbc25Smrg# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
8056f29dbc25Smrg# ---------------------------------------------
8057f29dbc25Smrgm4_define([_PKG_CONFIG],
8058170d5fdcSmrg[if test -n "$$1"; then
8059170d5fdcSmrg    pkg_cv_[]$1="$$1"
8060170d5fdcSmrg elif test -n "$PKG_CONFIG"; then
8061170d5fdcSmrg    PKG_CHECK_EXISTS([$3],
8062170d5fdcSmrg                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
8063170d5fdcSmrg		     [pkg_failed=yes])
8064170d5fdcSmrg else
8065170d5fdcSmrg    pkg_failed=untried
8066f29dbc25Smrgfi[]dnl
8067f29dbc25Smrg])# _PKG_CONFIG
8068f29dbc25Smrg
8069f29dbc25Smrg# _PKG_SHORT_ERRORS_SUPPORTED
8070f29dbc25Smrg# -----------------------------
8071f29dbc25SmrgAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
8072f29dbc25Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
8073f29dbc25Smrgif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
8074f29dbc25Smrg        _pkg_short_errors_supported=yes
8075f29dbc25Smrgelse
8076f29dbc25Smrg        _pkg_short_errors_supported=no
8077f29dbc25Smrgfi[]dnl
8078f29dbc25Smrg])# _PKG_SHORT_ERRORS_SUPPORTED
8079f29dbc25Smrg
8080f29dbc25Smrg
8081f29dbc25Smrg# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
8082f29dbc25Smrg# [ACTION-IF-NOT-FOUND])
8083f29dbc25Smrg#
8084f29dbc25Smrg#
8085f29dbc25Smrg# Note that if there is a possibility the first call to
8086f29dbc25Smrg# PKG_CHECK_MODULES might not happen, you should be sure to include an
8087f29dbc25Smrg# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
8088f29dbc25Smrg#
8089f29dbc25Smrg#
8090f29dbc25Smrg# --------------------------------------------------------------
8091f29dbc25SmrgAC_DEFUN([PKG_CHECK_MODULES],
8092f29dbc25Smrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
8093f29dbc25SmrgAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
8094f29dbc25SmrgAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
8095f29dbc25Smrg
8096f29dbc25Smrgpkg_failed=no
8097f29dbc25SmrgAC_MSG_CHECKING([for $1])
8098f29dbc25Smrg
8099f29dbc25Smrg_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
8100f29dbc25Smrg_PKG_CONFIG([$1][_LIBS], [libs], [$2])
8101f29dbc25Smrg
8102f29dbc25Smrgm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
8103f29dbc25Smrgand $1[]_LIBS to avoid the need to call pkg-config.
8104f29dbc25SmrgSee the pkg-config man page for more details.])
8105f29dbc25Smrg
8106f29dbc25Smrgif test $pkg_failed = yes; then
8107170d5fdcSmrg   	AC_MSG_RESULT([no])
8108f29dbc25Smrg        _PKG_SHORT_ERRORS_SUPPORTED
8109f29dbc25Smrg        if test $_pkg_short_errors_supported = yes; then
8110170d5fdcSmrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
8111f29dbc25Smrg        else 
8112170d5fdcSmrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
8113f29dbc25Smrg        fi
8114f29dbc25Smrg	# Put the nasty error message in config.log where it belongs
8115f29dbc25Smrg	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
8116f29dbc25Smrg
8117170d5fdcSmrg	m4_default([$4], [AC_MSG_ERROR(
8118f29dbc25Smrg[Package requirements ($2) were not met:
8119f29dbc25Smrg
8120f29dbc25Smrg$$1_PKG_ERRORS
8121f29dbc25Smrg
8122f29dbc25SmrgConsider adjusting the PKG_CONFIG_PATH environment variable if you
8123f29dbc25Smrginstalled software in a non-standard prefix.
8124f29dbc25Smrg
8125170d5fdcSmrg_PKG_TEXT])[]dnl
8126170d5fdcSmrg        ])
8127f29dbc25Smrgelif test $pkg_failed = untried; then
8128170d5fdcSmrg     	AC_MSG_RESULT([no])
8129170d5fdcSmrg	m4_default([$4], [AC_MSG_FAILURE(
8130f29dbc25Smrg[The pkg-config script could not be found or is too old.  Make sure it
8131f29dbc25Smrgis in your PATH or set the PKG_CONFIG environment variable to the full
8132f29dbc25Smrgpath to pkg-config.
8133f29dbc25Smrg
8134f29dbc25Smrg_PKG_TEXT
8135f29dbc25Smrg
8136170d5fdcSmrgTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
8137170d5fdcSmrg        ])
8138f29dbc25Smrgelse
8139f29dbc25Smrg	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
8140f29dbc25Smrg	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
8141f29dbc25Smrg        AC_MSG_RESULT([yes])
8142170d5fdcSmrg	$3
8143f29dbc25Smrgfi[]dnl
8144f29dbc25Smrg])# PKG_CHECK_MODULES
8145f29dbc25Smrg
8146f29dbc25Smrgdnl xorg-macros.m4.  Generated from xorg-macros.m4.in xorgversion.m4 by configure.
8147f29dbc25Smrgdnl
8148170d5fdcSmrgdnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
8149f29dbc25Smrgdnl 
8150f29dbc25Smrgdnl Permission is hereby granted, free of charge, to any person obtaining a
8151f29dbc25Smrgdnl copy of this software and associated documentation files (the "Software"),
8152f29dbc25Smrgdnl to deal in the Software without restriction, including without limitation
8153f29dbc25Smrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
8154f29dbc25Smrgdnl and/or sell copies of the Software, and to permit persons to whom the
8155f29dbc25Smrgdnl Software is furnished to do so, subject to the following conditions:
8156f29dbc25Smrgdnl
8157f29dbc25Smrgdnl The above copyright notice and this permission notice (including the next
8158f29dbc25Smrgdnl paragraph) shall be included in all copies or substantial portions of the
8159f29dbc25Smrgdnl Software.
8160f29dbc25Smrgdnl
8161f29dbc25Smrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
8162f29dbc25Smrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
8163f29dbc25Smrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
8164f29dbc25Smrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
8165f29dbc25Smrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
8166f29dbc25Smrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
8167f29dbc25Smrgdnl DEALINGS IN THE SOFTWARE.
8168f29dbc25Smrg
8169f29dbc25Smrg# XORG_MACROS_VERSION(required-version)
8170f29dbc25Smrg# -------------------------------------
8171f29dbc25Smrg# Minimum version: 1.1.0
8172f29dbc25Smrg#
8173f29dbc25Smrg# If you're using a macro added in Version 1.1 or newer, include this in
8174f29dbc25Smrg# your configure.ac with the minimum required version, such as:
8175f29dbc25Smrg# XORG_MACROS_VERSION(1.1)
8176f29dbc25Smrg#
8177f29dbc25Smrg# To ensure that this macro is defined, also add:
8178f29dbc25Smrg# m4_ifndef([XORG_MACROS_VERSION],
8179f29dbc25Smrg#     [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
8180f29dbc25Smrg#
8181f29dbc25Smrg#
8182f29dbc25Smrg# See the "minimum version" comment for each macro you use to see what 
8183f29dbc25Smrg# version you require.
8184f29dbc25Smrgm4_defun([XORG_MACROS_VERSION],[
8185170d5fdcSmrgm4_define([vers_have], [1.11.0])
8186f29dbc25Smrgm4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
8187f29dbc25Smrgm4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
8188f29dbc25Smrgm4_if(m4_cmp(maj_have, maj_needed), 0,,
8189f29dbc25Smrg    [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
8190f29dbc25Smrgm4_if(m4_version_compare(vers_have, [$1]), -1,
8191f29dbc25Smrg    [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
8192f29dbc25Smrgm4_undefine([vers_have])
8193f29dbc25Smrgm4_undefine([maj_have])
8194f29dbc25Smrgm4_undefine([maj_needed])
8195f29dbc25Smrg]) # XORG_MACROS_VERSION
8196f29dbc25Smrg
8197f29dbc25Smrg# XORG_PROG_RAWCPP()
8198f29dbc25Smrg# ------------------
8199f29dbc25Smrg# Minimum version: 1.0.0
8200f29dbc25Smrg#
8201f29dbc25Smrg# Find cpp program and necessary flags for use in pre-processing text files
8202f29dbc25Smrg# such as man pages and config files
8203f29dbc25SmrgAC_DEFUN([XORG_PROG_RAWCPP],[
8204f29dbc25SmrgAC_REQUIRE([AC_PROG_CPP])
8205f29dbc25SmrgAC_PATH_PROGS(RAWCPP, [cpp], [${CPP}], 
8206f29dbc25Smrg   [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
8207f29dbc25Smrg
8208f29dbc25Smrg# Check for flag to avoid builtin definitions - assumes unix is predefined,
8209f29dbc25Smrg# which is not the best choice for supporting other OS'es, but covers most
8210f29dbc25Smrg# of the ones we need for now.
8211f29dbc25SmrgAC_MSG_CHECKING([if $RAWCPP requires -undef])
8212f29dbc25SmrgAC_LANG_CONFTEST([Does cpp redefine unix ?])
8213f29dbc25Smrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8214f29dbc25Smrg	AC_MSG_RESULT([no])
8215f29dbc25Smrgelse
8216f29dbc25Smrg	if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8217f29dbc25Smrg		RAWCPPFLAGS=-undef
8218f29dbc25Smrg		AC_MSG_RESULT([yes])
8219f29dbc25Smrg	# under Cygwin unix is still defined even with -undef
8220f29dbc25Smrg	elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
8221f29dbc25Smrg		RAWCPPFLAGS="-undef -ansi"
8222f29dbc25Smrg		AC_MSG_RESULT([yes, with -ansi])
8223f29dbc25Smrg	else
8224f29dbc25Smrg		AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef.  I don't know what to do.])
8225f29dbc25Smrg	fi
8226f29dbc25Smrgfi
8227f29dbc25Smrgrm -f conftest.$ac_ext
8228f29dbc25Smrg
8229f29dbc25SmrgAC_MSG_CHECKING([if $RAWCPP requires -traditional])
8230f29dbc25SmrgAC_LANG_CONFTEST([Does cpp preserve   "whitespace"?])
8231f29dbc25Smrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
8232f29dbc25Smrg	AC_MSG_RESULT([no])
8233f29dbc25Smrgelse
8234f29dbc25Smrg	if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
8235f29dbc25Smrg		RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
8236f29dbc25Smrg		AC_MSG_RESULT([yes])
8237f29dbc25Smrg	else
8238f29dbc25Smrg		AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional.  I don't know what to do.])
8239f29dbc25Smrg	fi
8240f29dbc25Smrgfi
8241f29dbc25Smrgrm -f conftest.$ac_ext
8242f29dbc25SmrgAC_SUBST(RAWCPPFLAGS)
8243f29dbc25Smrg]) # XORG_PROG_RAWCPP
8244f29dbc25Smrg
8245f29dbc25Smrg# XORG_MANPAGE_SECTIONS()
8246f29dbc25Smrg# -----------------------
8247f29dbc25Smrg# Minimum version: 1.0.0
8248f29dbc25Smrg#
8249f29dbc25Smrg# Determine which sections man pages go in for the different man page types
8250f29dbc25Smrg# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
8251f29dbc25Smrg# Not sure if there's any better way than just hardcoding by OS name.
8252f29dbc25Smrg# Override default settings by setting environment variables
8253170d5fdcSmrg# Added MAN_SUBSTS in version 1.8
8254170d5fdcSmrg# Added AC_PROG_SED in version 1.8
8255f29dbc25Smrg
8256f29dbc25SmrgAC_DEFUN([XORG_MANPAGE_SECTIONS],[
8257f29dbc25SmrgAC_REQUIRE([AC_CANONICAL_HOST])
8258170d5fdcSmrgAC_REQUIRE([AC_PROG_SED])
8259f29dbc25Smrg
8260f29dbc25Smrgif test x$APP_MAN_SUFFIX = x    ; then
8261f29dbc25Smrg    APP_MAN_SUFFIX=1
8262f29dbc25Smrgfi
8263f29dbc25Smrgif test x$APP_MAN_DIR = x    ; then
8264f29dbc25Smrg    APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
8265f29dbc25Smrgfi
8266f29dbc25Smrg
8267f29dbc25Smrgif test x$LIB_MAN_SUFFIX = x    ; then
8268f29dbc25Smrg    LIB_MAN_SUFFIX=3
8269f29dbc25Smrgfi
8270f29dbc25Smrgif test x$LIB_MAN_DIR = x    ; then
8271f29dbc25Smrg    LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
8272f29dbc25Smrgfi
8273f29dbc25Smrg
8274f29dbc25Smrgif test x$FILE_MAN_SUFFIX = x    ; then
8275f29dbc25Smrg    case $host_os in
8276f29dbc25Smrg	solaris*)	FILE_MAN_SUFFIX=4  ;;
8277f29dbc25Smrg	*)		FILE_MAN_SUFFIX=5  ;;
8278f29dbc25Smrg    esac
8279f29dbc25Smrgfi
8280f29dbc25Smrgif test x$FILE_MAN_DIR = x    ; then
8281f29dbc25Smrg    FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
8282f29dbc25Smrgfi
8283f29dbc25Smrg
8284f29dbc25Smrgif test x$MISC_MAN_SUFFIX = x    ; then
8285f29dbc25Smrg    case $host_os in
8286f29dbc25Smrg	solaris*)	MISC_MAN_SUFFIX=5  ;;
8287f29dbc25Smrg	*)		MISC_MAN_SUFFIX=7  ;;
8288f29dbc25Smrg    esac
8289f29dbc25Smrgfi
8290f29dbc25Smrgif test x$MISC_MAN_DIR = x    ; then
8291f29dbc25Smrg    MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
8292f29dbc25Smrgfi
8293f29dbc25Smrg
8294f29dbc25Smrgif test x$DRIVER_MAN_SUFFIX = x    ; then
8295f29dbc25Smrg    case $host_os in
8296f29dbc25Smrg	solaris*)	DRIVER_MAN_SUFFIX=7  ;;
8297f29dbc25Smrg	*)		DRIVER_MAN_SUFFIX=4  ;;
8298f29dbc25Smrg    esac
8299f29dbc25Smrgfi
8300f29dbc25Smrgif test x$DRIVER_MAN_DIR = x    ; then
8301f29dbc25Smrg    DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
8302f29dbc25Smrgfi
8303f29dbc25Smrg
8304f29dbc25Smrgif test x$ADMIN_MAN_SUFFIX = x    ; then
8305f29dbc25Smrg    case $host_os in
8306f29dbc25Smrg	solaris*)	ADMIN_MAN_SUFFIX=1m ;;
8307f29dbc25Smrg	*)		ADMIN_MAN_SUFFIX=8  ;;
8308f29dbc25Smrg    esac
8309f29dbc25Smrgfi
8310f29dbc25Smrgif test x$ADMIN_MAN_DIR = x    ; then
8311f29dbc25Smrg    ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
8312f29dbc25Smrgfi
8313f29dbc25Smrg
8314f29dbc25Smrg
8315f29dbc25SmrgAC_SUBST([APP_MAN_SUFFIX])
8316f29dbc25SmrgAC_SUBST([LIB_MAN_SUFFIX])
8317f29dbc25SmrgAC_SUBST([FILE_MAN_SUFFIX])
8318f29dbc25SmrgAC_SUBST([MISC_MAN_SUFFIX])
8319f29dbc25SmrgAC_SUBST([DRIVER_MAN_SUFFIX])
8320f29dbc25SmrgAC_SUBST([ADMIN_MAN_SUFFIX])
8321f29dbc25SmrgAC_SUBST([APP_MAN_DIR])
8322f29dbc25SmrgAC_SUBST([LIB_MAN_DIR])
8323f29dbc25SmrgAC_SUBST([FILE_MAN_DIR])
8324f29dbc25SmrgAC_SUBST([MISC_MAN_DIR])
8325f29dbc25SmrgAC_SUBST([DRIVER_MAN_DIR])
8326f29dbc25SmrgAC_SUBST([ADMIN_MAN_DIR])
8327170d5fdcSmrg
8328170d5fdcSmrgXORG_MAN_PAGE="X Version 11"
8329170d5fdcSmrgAC_SUBST([XORG_MAN_PAGE])
8330170d5fdcSmrgMAN_SUBSTS="\
8331170d5fdcSmrg	-e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
8332170d5fdcSmrg	-e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
8333170d5fdcSmrg	-e 's|__xservername__|Xorg|g' \
8334170d5fdcSmrg	-e 's|__xconfigfile__|xorg.conf|g' \
8335170d5fdcSmrg	-e 's|__projectroot__|\$(prefix)|g' \
8336170d5fdcSmrg	-e 's|__apploaddir__|\$(appdefaultdir)|g' \
8337170d5fdcSmrg	-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
8338170d5fdcSmrg	-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
8339170d5fdcSmrg	-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
8340170d5fdcSmrg	-e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
8341170d5fdcSmrg	-e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
8342170d5fdcSmrg	-e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
8343170d5fdcSmrgAC_SUBST([MAN_SUBSTS])
8344170d5fdcSmrg
8345f29dbc25Smrg]) # XORG_MANPAGE_SECTIONS
8346f29dbc25Smrg
8347170d5fdcSmrg# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION])
8348170d5fdcSmrg# ------------------------
8349170d5fdcSmrg# Minimum version: 1.7.0
8350170d5fdcSmrg#
8351170d5fdcSmrg# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent
8352170d5fdcSmrg# provided by xorg-sgml-doctools, if installed.
8353170d5fdcSmrgAC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[
8354170d5fdcSmrgAC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])])
8355170d5fdcSmrgXORG_SGML_PATH=
8356170d5fdcSmrgPKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])],
8357170d5fdcSmrg    [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`],
8358170d5fdcSmrg    [m4_ifval([$1],[:],
8359170d5fdcSmrg        [if test x"$cross_compiling" != x"yes" ; then
8360170d5fdcSmrg            AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent],
8361170d5fdcSmrg                          [XORG_SGML_PATH=$prefix/share/sgml])
8362170d5fdcSmrg         fi])
8363170d5fdcSmrg    ])
8364170d5fdcSmrg
8365170d5fdcSmrg# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
8366170d5fdcSmrg# the path and the name of the doc stylesheet
8367170d5fdcSmrgif test "x$XORG_SGML_PATH" != "x" ; then
8368170d5fdcSmrg   AC_MSG_RESULT([$XORG_SGML_PATH])
8369170d5fdcSmrg   STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
8370170d5fdcSmrg   XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
8371170d5fdcSmrgelse
8372170d5fdcSmrg   AC_MSG_RESULT([no])
8373170d5fdcSmrgfi
8374170d5fdcSmrg
8375170d5fdcSmrgAC_SUBST(XORG_SGML_PATH)
8376170d5fdcSmrgAC_SUBST(STYLESHEET_SRCDIR)
8377170d5fdcSmrgAC_SUBST(XSL_STYLESHEET)
8378170d5fdcSmrgAM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"])
8379170d5fdcSmrg]) # XORG_CHECK_SGML_DOCTOOLS
8380170d5fdcSmrg
8381f29dbc25Smrg# XORG_CHECK_LINUXDOC
8382f29dbc25Smrg# -------------------
8383f29dbc25Smrg# Minimum version: 1.0.0
8384f29dbc25Smrg#
8385f29dbc25Smrg# Defines the variable MAKE_TEXT if the necessary tools and
8386f29dbc25Smrg# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
8387f29dbc25Smrg# Whether or not the necessary tools and files are found can be checked
8388f29dbc25Smrg# with the AM_CONDITIONAL "BUILD_LINUXDOC"
8389f29dbc25SmrgAC_DEFUN([XORG_CHECK_LINUXDOC],[
8390170d5fdcSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
8391170d5fdcSmrgAC_REQUIRE([XORG_WITH_PS2PDF])
8392f29dbc25Smrg
8393f29dbc25SmrgAC_PATH_PROG(LINUXDOC, linuxdoc)
8394f29dbc25Smrg
8395170d5fdcSmrgAC_MSG_CHECKING([whether to build documentation])
8396f29dbc25Smrg
8397170d5fdcSmrgif test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then
8398f29dbc25Smrg   BUILDDOC=yes
8399f29dbc25Smrgelse
8400f29dbc25Smrg   BUILDDOC=no
8401f29dbc25Smrgfi
8402f29dbc25Smrg
8403f29dbc25SmrgAM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
8404f29dbc25Smrg
8405f29dbc25SmrgAC_MSG_RESULT([$BUILDDOC])
8406f29dbc25Smrg
8407170d5fdcSmrgAC_MSG_CHECKING([whether to build pdf documentation])
8408f29dbc25Smrg
8409170d5fdcSmrgif test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then
8410f29dbc25Smrg   BUILDPDFDOC=yes
8411f29dbc25Smrgelse
8412f29dbc25Smrg   BUILDPDFDOC=no
8413f29dbc25Smrgfi
8414f29dbc25Smrg
8415f29dbc25SmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
8416f29dbc25Smrg
8417f29dbc25SmrgAC_MSG_RESULT([$BUILDPDFDOC])
8418f29dbc25Smrg
8419170d5fdcSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f"
8420f29dbc25SmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
8421f29dbc25SmrgMAKE_PDF="$PS2PDF"
8422f29dbc25SmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC  -B html --split=0"
8423f29dbc25Smrg
8424f29dbc25SmrgAC_SUBST(MAKE_TEXT)
8425f29dbc25SmrgAC_SUBST(MAKE_PS)
8426f29dbc25SmrgAC_SUBST(MAKE_PDF)
8427f29dbc25SmrgAC_SUBST(MAKE_HTML)
8428f29dbc25Smrg]) # XORG_CHECK_LINUXDOC
8429f29dbc25Smrg
8430f29dbc25Smrg# XORG_CHECK_DOCBOOK
8431f29dbc25Smrg# -------------------
8432f29dbc25Smrg# Minimum version: 1.0.0
8433f29dbc25Smrg#
8434f29dbc25Smrg# Checks for the ability to build output formats from SGML DocBook source.
8435f29dbc25Smrg# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
8436f29dbc25Smrg# indicates whether the necessary tools and files are found and, if set,
8437f29dbc25Smrg# $(MAKE_XXX) blah.sgml will produce blah.xxx.
8438f29dbc25SmrgAC_DEFUN([XORG_CHECK_DOCBOOK],[
8439170d5fdcSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
8440170d5fdcSmrg
8441f29dbc25SmrgBUILDTXTDOC=no
8442f29dbc25SmrgBUILDPDFDOC=no
8443f29dbc25SmrgBUILDPSDOC=no
8444f29dbc25SmrgBUILDHTMLDOC=no
8445f29dbc25Smrg
8446f29dbc25SmrgAC_PATH_PROG(DOCBOOKPS, docbook2ps)
8447f29dbc25SmrgAC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
8448f29dbc25SmrgAC_PATH_PROG(DOCBOOKHTML, docbook2html)
8449f29dbc25SmrgAC_PATH_PROG(DOCBOOKTXT, docbook2txt)
8450f29dbc25Smrg
8451170d5fdcSmrgAC_MSG_CHECKING([whether to build text documentation])
8452170d5fdcSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x &&
8453f29dbc25Smrg   test x$BUILD_TXTDOC != xno; then
8454f29dbc25Smrg	BUILDTXTDOC=yes
8455f29dbc25Smrgfi
8456f29dbc25SmrgAM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
8457f29dbc25SmrgAC_MSG_RESULT([$BUILDTXTDOC])
8458f29dbc25Smrg
8459170d5fdcSmrgAC_MSG_CHECKING([whether to build PDF documentation])
8460170d5fdcSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x &&
8461f29dbc25Smrg   test x$BUILD_PDFDOC != xno; then
8462f29dbc25Smrg	BUILDPDFDOC=yes
8463f29dbc25Smrgfi
8464f29dbc25SmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
8465f29dbc25SmrgAC_MSG_RESULT([$BUILDPDFDOC])
8466f29dbc25Smrg
8467170d5fdcSmrgAC_MSG_CHECKING([whether to build PostScript documentation])
8468170d5fdcSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x &&
8469f29dbc25Smrg   test x$BUILD_PSDOC != xno; then
8470f29dbc25Smrg	BUILDPSDOC=yes
8471f29dbc25Smrgfi
8472f29dbc25SmrgAM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
8473f29dbc25SmrgAC_MSG_RESULT([$BUILDPSDOC])
8474f29dbc25Smrg
8475170d5fdcSmrgAC_MSG_CHECKING([whether to build HTML documentation])
8476170d5fdcSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x &&
8477f29dbc25Smrg   test x$BUILD_HTMLDOC != xno; then
8478f29dbc25Smrg	BUILDHTMLDOC=yes
8479f29dbc25Smrgfi
8480f29dbc25SmrgAM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
8481f29dbc25SmrgAC_MSG_RESULT([$BUILDHTMLDOC])
8482f29dbc25Smrg
8483f29dbc25SmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
8484f29dbc25SmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
8485f29dbc25SmrgMAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
8486f29dbc25SmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
8487f29dbc25Smrg
8488f29dbc25SmrgAC_SUBST(MAKE_TEXT)
8489f29dbc25SmrgAC_SUBST(MAKE_PS)
8490f29dbc25SmrgAC_SUBST(MAKE_PDF)
8491f29dbc25SmrgAC_SUBST(MAKE_HTML)
8492f29dbc25Smrg]) # XORG_CHECK_DOCBOOK
8493f29dbc25Smrg
8494170d5fdcSmrg# XORG_WITH_XMLTO([MIN-VERSION], [DEFAULT])
8495f29dbc25Smrg# ----------------
8496f29dbc25Smrg# Minimum version: 1.5.0
8497170d5fdcSmrg# Minimum version for optional DEFAULT argument: 1.11.0
8498f29dbc25Smrg#
8499f29dbc25Smrg# Documentation tools are not always available on all platforms and sometimes
8500f29dbc25Smrg# not at the appropriate level. This macro enables a module to test for the
8501f29dbc25Smrg# presence of the tool and obtain it's path in separate variables. Coupled with
8502f29dbc25Smrg# the --with-xmlto option, it allows maximum flexibilty in making decisions
8503170d5fdcSmrg# as whether or not to use the xmlto package. When DEFAULT is not specified,
8504170d5fdcSmrg# --with-xmlto assumes 'auto'.
8505f29dbc25Smrg#
8506f29dbc25Smrg# Interface to module:
8507f29dbc25Smrg# HAVE_XMLTO: 	used in makefiles to conditionally generate documentation
8508f29dbc25Smrg# XMLTO:	returns the path of the xmlto program found
8509f29dbc25Smrg#		returns the path set by the user in the environment
8510f29dbc25Smrg# --with-xmlto:	'yes' user instructs the module to use xmlto
8511f29dbc25Smrg#		'no' user instructs the module not to use xmlto
8512f29dbc25Smrg#
8513170d5fdcSmrg# Added in version 1.10.0
8514170d5fdcSmrg# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation
8515170d5fdcSmrg#                  xmlto for text output requires either lynx, links, or w3m browsers
8516170d5fdcSmrg#
8517f29dbc25Smrg# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
8518f29dbc25Smrg#
8519f29dbc25SmrgAC_DEFUN([XORG_WITH_XMLTO],[
8520f29dbc25SmrgAC_ARG_VAR([XMLTO], [Path to xmlto command])
8521170d5fdcSmrgm4_define([_defopt], m4_default([$2], [auto]))
8522f29dbc25SmrgAC_ARG_WITH(xmlto,
8523f29dbc25Smrg	AS_HELP_STRING([--with-xmlto],
8524170d5fdcSmrg	   [Use xmlto to regenerate documentation (default: ]_defopt[)]),
8525170d5fdcSmrg	   [use_xmlto=$withval], [use_xmlto=]_defopt)
8526170d5fdcSmrgm4_undefine([_defopt])
8527f29dbc25Smrg
8528f29dbc25Smrgif test "x$use_xmlto" = x"auto"; then
8529f29dbc25Smrg   AC_PATH_PROG([XMLTO], [xmlto])
8530f29dbc25Smrg   if test "x$XMLTO" = "x"; then
8531f29dbc25Smrg        AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
8532f29dbc25Smrg	have_xmlto=no
8533f29dbc25Smrg   else
8534f29dbc25Smrg        have_xmlto=yes
8535f29dbc25Smrg   fi
8536f29dbc25Smrgelif test "x$use_xmlto" = x"yes" ; then
8537f29dbc25Smrg   AC_PATH_PROG([XMLTO], [xmlto])
8538f29dbc25Smrg   if test "x$XMLTO" = "x"; then
8539f29dbc25Smrg        AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH])
8540f29dbc25Smrg   fi
8541f29dbc25Smrg   have_xmlto=yes
8542f29dbc25Smrgelif test "x$use_xmlto" = x"no" ; then
8543f29dbc25Smrg   if test "x$XMLTO" != "x"; then
8544f29dbc25Smrg      AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
8545f29dbc25Smrg   fi
8546f29dbc25Smrg   have_xmlto=no
8547f29dbc25Smrgelse
8548f29dbc25Smrg   AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
8549f29dbc25Smrgfi
8550170d5fdcSmrg
8551170d5fdcSmrg# Test for a minimum version of xmlto, if provided.
8552170d5fdcSmrgm4_ifval([$1],
8553170d5fdcSmrg[if test "$have_xmlto" = yes; then
8554170d5fdcSmrg    # scrape the xmlto version
8555170d5fdcSmrg    AC_MSG_CHECKING([the xmlto version])
8556170d5fdcSmrg    xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
8557170d5fdcSmrg    AC_MSG_RESULT([$xmlto_version])
8558170d5fdcSmrg    AS_VERSION_COMPARE([$xmlto_version], [$1],
8559170d5fdcSmrg        [if test "x$use_xmlto" = xauto; then
8560170d5fdcSmrg            AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
8561170d5fdcSmrg            have_xmlto=no
8562170d5fdcSmrg        else
8563170d5fdcSmrg            AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
8564170d5fdcSmrg        fi])
8565170d5fdcSmrgfi])
8566170d5fdcSmrg
8567170d5fdcSmrg# Test for the ability of xmlto to generate a text target
8568170d5fdcSmrghave_xmlto_text=no
8569170d5fdcSmrgcat > conftest.xml << "EOF"
8570170d5fdcSmrgEOF
8571170d5fdcSmrgAS_IF([test "$have_xmlto" = yes],
8572170d5fdcSmrg      [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
8573170d5fdcSmrg             [have_xmlto_text=yes],
8574170d5fdcSmrg             [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])
8575170d5fdcSmrgrm -f conftest.xml
8576170d5fdcSmrgAM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
8577f29dbc25SmrgAM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
8578170d5fdcSmrg]) # XORG_WITH_XMLTO
8579f29dbc25Smrg
8580170d5fdcSmrg# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT])
8581f29dbc25Smrg# ----------------
8582f29dbc25Smrg# Minimum version: 1.5.0
8583170d5fdcSmrg# Minimum version for optional DEFAULT argument: 1.11.0
8584f29dbc25Smrg#
8585f29dbc25Smrg# Documentation tools are not always available on all platforms and sometimes
8586f29dbc25Smrg# not at the appropriate level. This macro enables a module to test for the
8587f29dbc25Smrg# presence of the tool and obtain it's path in separate variables. Coupled with
8588f29dbc25Smrg# the --with-asciidoc option, it allows maximum flexibilty in making decisions
8589170d5fdcSmrg# as whether or not to use the asciidoc package. When DEFAULT is not specified,
8590170d5fdcSmrg# --with-asciidoc assumes 'auto'.
8591f29dbc25Smrg#
8592f29dbc25Smrg# Interface to module:
8593f29dbc25Smrg# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
8594f29dbc25Smrg# ASCIIDOC:	 returns the path of the asciidoc program found
8595f29dbc25Smrg#		 returns the path set by the user in the environment
8596f29dbc25Smrg# --with-asciidoc: 'yes' user instructs the module to use asciidoc
8597f29dbc25Smrg#		  'no' user instructs the module not to use asciidoc
8598f29dbc25Smrg#
8599f29dbc25Smrg# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path.
8600f29dbc25Smrg#
8601f29dbc25SmrgAC_DEFUN([XORG_WITH_ASCIIDOC],[
8602f29dbc25SmrgAC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
8603170d5fdcSmrgm4_define([_defopt], m4_default([$2], [auto]))
8604f29dbc25SmrgAC_ARG_WITH(asciidoc,
8605f29dbc25Smrg	AS_HELP_STRING([--with-asciidoc],
8606170d5fdcSmrg	   [Use asciidoc to regenerate documentation (default: ]_defopt[)]),
8607170d5fdcSmrg	   [use_asciidoc=$withval], [use_asciidoc=]_defopt)
8608170d5fdcSmrgm4_undefine([_defopt])
8609f29dbc25Smrg
8610f29dbc25Smrgif test "x$use_asciidoc" = x"auto"; then
8611f29dbc25Smrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
8612f29dbc25Smrg   if test "x$ASCIIDOC" = "x"; then
8613f29dbc25Smrg        AC_MSG_WARN([asciidoc not found - documentation targets will be skipped])
8614f29dbc25Smrg	have_asciidoc=no
8615f29dbc25Smrg   else
8616f29dbc25Smrg        have_asciidoc=yes
8617f29dbc25Smrg   fi
8618f29dbc25Smrgelif test "x$use_asciidoc" = x"yes" ; then
8619f29dbc25Smrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
8620f29dbc25Smrg   if test "x$ASCIIDOC" = "x"; then
8621f29dbc25Smrg        AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH])
8622f29dbc25Smrg   fi
8623f29dbc25Smrg   have_asciidoc=yes
8624f29dbc25Smrgelif test "x$use_asciidoc" = x"no" ; then
8625f29dbc25Smrg   if test "x$ASCIIDOC" != "x"; then
8626f29dbc25Smrg      AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified])
8627f29dbc25Smrg   fi
8628f29dbc25Smrg   have_asciidoc=no
8629f29dbc25Smrgelse
8630f29dbc25Smrg   AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no'])
8631f29dbc25Smrgfi
8632170d5fdcSmrgm4_ifval([$1],
8633170d5fdcSmrg[if test "$have_asciidoc" = yes; then
8634170d5fdcSmrg    # scrape the asciidoc version
8635170d5fdcSmrg    AC_MSG_CHECKING([the asciidoc version])
8636170d5fdcSmrg    asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2`
8637170d5fdcSmrg    AC_MSG_RESULT([$asciidoc_version])
8638170d5fdcSmrg    AS_VERSION_COMPARE([$asciidoc_version], [$1],
8639170d5fdcSmrg        [if test "x$use_asciidoc" = xauto; then
8640170d5fdcSmrg            AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed])
8641170d5fdcSmrg            have_asciidoc=no
8642170d5fdcSmrg        else
8643170d5fdcSmrg            AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed])
8644170d5fdcSmrg        fi])
8645170d5fdcSmrgfi])
8646f29dbc25SmrgAM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
8647170d5fdcSmrg]) # XORG_WITH_ASCIIDOC
8648f29dbc25Smrg
8649170d5fdcSmrg# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
8650170d5fdcSmrg# --------------------------------
8651f29dbc25Smrg# Minimum version: 1.5.0
8652170d5fdcSmrg# Minimum version for optional DEFAULT argument: 1.11.0
8653f29dbc25Smrg#
8654f29dbc25Smrg# Documentation tools are not always available on all platforms and sometimes
8655f29dbc25Smrg# not at the appropriate level. This macro enables a module to test for the
8656f29dbc25Smrg# presence of the tool and obtain it's path in separate variables. Coupled with
8657f29dbc25Smrg# the --with-doxygen option, it allows maximum flexibilty in making decisions
8658170d5fdcSmrg# as whether or not to use the doxygen package. When DEFAULT is not specified,
8659170d5fdcSmrg# --with-doxygen assumes 'auto'.
8660f29dbc25Smrg#
8661f29dbc25Smrg# Interface to module:
8662f29dbc25Smrg# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
8663f29dbc25Smrg# DOXYGEN:	 returns the path of the doxygen program found
8664f29dbc25Smrg#		 returns the path set by the user in the environment
8665f29dbc25Smrg# --with-doxygen: 'yes' user instructs the module to use doxygen
8666f29dbc25Smrg#		  'no' user instructs the module not to use doxygen
8667f29dbc25Smrg#
8668f29dbc25Smrg# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path.
8669f29dbc25Smrg#
8670f29dbc25SmrgAC_DEFUN([XORG_WITH_DOXYGEN],[
8671f29dbc25SmrgAC_ARG_VAR([DOXYGEN], [Path to doxygen command])
8672170d5fdcSmrgm4_define([_defopt], m4_default([$2], [auto]))
8673f29dbc25SmrgAC_ARG_WITH(doxygen,
8674f29dbc25Smrg	AS_HELP_STRING([--with-doxygen],
8675170d5fdcSmrg	   [Use doxygen to regenerate documentation (default: ]_defopt[)]),
8676170d5fdcSmrg	   [use_doxygen=$withval], [use_doxygen=]_defopt)
8677170d5fdcSmrgm4_undefine([_defopt])
8678f29dbc25Smrg
8679f29dbc25Smrgif test "x$use_doxygen" = x"auto"; then
8680f29dbc25Smrg   AC_PATH_PROG([DOXYGEN], [doxygen])
8681f29dbc25Smrg   if test "x$DOXYGEN" = "x"; then
8682f29dbc25Smrg        AC_MSG_WARN([doxygen not found - documentation targets will be skipped])
8683f29dbc25Smrg	have_doxygen=no
8684f29dbc25Smrg   else
8685f29dbc25Smrg        have_doxygen=yes
8686f29dbc25Smrg   fi
8687f29dbc25Smrgelif test "x$use_doxygen" = x"yes" ; then
8688f29dbc25Smrg   AC_PATH_PROG([DOXYGEN], [doxygen])
8689f29dbc25Smrg   if test "x$DOXYGEN" = "x"; then
8690f29dbc25Smrg        AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH])
8691f29dbc25Smrg   fi
8692f29dbc25Smrg   have_doxygen=yes
8693f29dbc25Smrgelif test "x$use_doxygen" = x"no" ; then
8694f29dbc25Smrg   if test "x$DOXYGEN" != "x"; then
8695f29dbc25Smrg      AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified])
8696f29dbc25Smrg   fi
8697f29dbc25Smrg   have_doxygen=no
8698f29dbc25Smrgelse
8699f29dbc25Smrg   AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no'])
8700f29dbc25Smrgfi
8701170d5fdcSmrgm4_ifval([$1],
8702170d5fdcSmrg[if test "$have_doxygen" = yes; then
8703170d5fdcSmrg    # scrape the doxygen version
8704170d5fdcSmrg    AC_MSG_CHECKING([the doxygen version])
8705170d5fdcSmrg    doxygen_version=`$DOXYGEN --version 2>/dev/null`
8706170d5fdcSmrg    AC_MSG_RESULT([$doxygen_version])
8707170d5fdcSmrg    AS_VERSION_COMPARE([$doxygen_version], [$1],
8708170d5fdcSmrg        [if test "x$use_doxygen" = xauto; then
8709170d5fdcSmrg            AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed])
8710170d5fdcSmrg            have_doxygen=no
8711170d5fdcSmrg        else
8712170d5fdcSmrg            AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
8713170d5fdcSmrg        fi])
8714170d5fdcSmrgfi])
8715f29dbc25SmrgAM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
8716170d5fdcSmrg]) # XORG_WITH_DOXYGEN
8717170d5fdcSmrg
8718170d5fdcSmrg# XORG_WITH_GROFF([DEFAULT])
8719170d5fdcSmrg# ----------------
8720170d5fdcSmrg# Minimum version: 1.6.0
8721170d5fdcSmrg# Minimum version for optional DEFAULT argument: 1.11.0
8722170d5fdcSmrg#
8723170d5fdcSmrg# Documentation tools are not always available on all platforms and sometimes
8724170d5fdcSmrg# not at the appropriate level. This macro enables a module to test for the
8725170d5fdcSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
8726170d5fdcSmrg# the --with-groff option, it allows maximum flexibilty in making decisions
8727170d5fdcSmrg# as whether or not to use the groff package. When DEFAULT is not specified,
8728170d5fdcSmrg# --with-groff assumes 'auto'.
8729170d5fdcSmrg#
8730170d5fdcSmrg# Interface to module:
8731170d5fdcSmrg# HAVE_GROFF:	 used in makefiles to conditionally generate documentation
8732170d5fdcSmrg# HAVE_GROFF_MM: the memorandum macros (-mm) package
8733170d5fdcSmrg# HAVE_GROFF_MS: the -ms macros package
8734170d5fdcSmrg# GROFF:	 returns the path of the groff program found
8735170d5fdcSmrg#		 returns the path set by the user in the environment
8736170d5fdcSmrg# --with-groff:	 'yes' user instructs the module to use groff
8737170d5fdcSmrg#		 'no' user instructs the module not to use groff
8738170d5fdcSmrg#
8739170d5fdcSmrg# Added in version 1.9.0:
8740170d5fdcSmrg# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
8741170d5fdcSmrg#		   pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
8742170d5fdcSmrg#		   psselect from the psutils package.
8743170d5fdcSmrg#		   the ghostcript package. Refer to the grohtml man pages
8744170d5fdcSmrg#
8745170d5fdcSmrg# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
8746170d5fdcSmrg#
8747170d5fdcSmrg# OS and distros often splits groff in a basic and full package, the former
8748170d5fdcSmrg# having the groff program and the later having devices, fonts and macros
8749170d5fdcSmrg# Checking for the groff executable is not enough.
8750170d5fdcSmrg#
8751170d5fdcSmrg# If macros are missing, we cannot assume that groff is useless, so we don't
8752170d5fdcSmrg# unset HAVE_GROFF or GROFF env variables.
8753170d5fdcSmrg# HAVE_GROFF_?? can never be true while HAVE_GROFF is false.
8754170d5fdcSmrg#
8755170d5fdcSmrgAC_DEFUN([XORG_WITH_GROFF],[
8756170d5fdcSmrgAC_ARG_VAR([GROFF], [Path to groff command])
8757170d5fdcSmrgm4_define([_defopt], m4_default([$1], [auto]))
8758170d5fdcSmrgAC_ARG_WITH(groff,
8759170d5fdcSmrg	AS_HELP_STRING([--with-groff],
8760170d5fdcSmrg	   [Use groff to regenerate documentation (default: ]_defopt[)]),
8761170d5fdcSmrg	   [use_groff=$withval], [use_groff=]_defopt)
8762170d5fdcSmrgm4_undefine([_defopt])
8763170d5fdcSmrg
8764170d5fdcSmrgif test "x$use_groff" = x"auto"; then
8765170d5fdcSmrg   AC_PATH_PROG([GROFF], [groff])
8766170d5fdcSmrg   if test "x$GROFF" = "x"; then
8767170d5fdcSmrg        AC_MSG_WARN([groff not found - documentation targets will be skipped])
8768170d5fdcSmrg	have_groff=no
8769170d5fdcSmrg   else
8770170d5fdcSmrg        have_groff=yes
8771170d5fdcSmrg   fi
8772170d5fdcSmrgelif test "x$use_groff" = x"yes" ; then
8773170d5fdcSmrg   AC_PATH_PROG([GROFF], [groff])
8774170d5fdcSmrg   if test "x$GROFF" = "x"; then
8775170d5fdcSmrg        AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH])
8776170d5fdcSmrg   fi
8777170d5fdcSmrg   have_groff=yes
8778170d5fdcSmrgelif test "x$use_groff" = x"no" ; then
8779170d5fdcSmrg   if test "x$GROFF" != "x"; then
8780170d5fdcSmrg      AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified])
8781170d5fdcSmrg   fi
8782170d5fdcSmrg   have_groff=no
8783170d5fdcSmrgelse
8784170d5fdcSmrg   AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
8785170d5fdcSmrgfi
8786170d5fdcSmrg
8787170d5fdcSmrg# We have groff, test for the presence of the macro packages
8788170d5fdcSmrgif test "x$have_groff" = x"yes"; then
8789170d5fdcSmrg    AC_MSG_CHECKING([for ${GROFF} -ms macros])
8790170d5fdcSmrg    if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then
8791170d5fdcSmrg        groff_ms_works=yes
8792170d5fdcSmrg    else
8793170d5fdcSmrg        groff_ms_works=no
8794170d5fdcSmrg    fi
8795170d5fdcSmrg    AC_MSG_RESULT([$groff_ms_works])
8796170d5fdcSmrg    AC_MSG_CHECKING([for ${GROFF} -mm macros])
8797170d5fdcSmrg    if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then
8798170d5fdcSmrg        groff_mm_works=yes
8799170d5fdcSmrg    else
8800170d5fdcSmrg        groff_mm_works=no
8801170d5fdcSmrg    fi
8802170d5fdcSmrg    AC_MSG_RESULT([$groff_mm_works])
8803170d5fdcSmrgfi
8804170d5fdcSmrg
8805170d5fdcSmrg# We have groff, test for HTML dependencies, one command per package
8806170d5fdcSmrgif test "x$have_groff" = x"yes"; then
8807170d5fdcSmrg   AC_PATH_PROGS(GS_PATH, [gs gswin32c])
8808170d5fdcSmrg   AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
8809170d5fdcSmrg   AC_PATH_PROG(PSSELECT_PATH, [psselect])
8810170d5fdcSmrg   if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then
8811170d5fdcSmrg      have_groff_html=yes
8812170d5fdcSmrg   else
8813170d5fdcSmrg      have_groff_html=no
8814170d5fdcSmrg      AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages])
8815170d5fdcSmrg   fi
8816170d5fdcSmrgfi
8817170d5fdcSmrg
8818170d5fdcSmrg# Set Automake conditionals for Makefiles
8819170d5fdcSmrgAM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes])
8820170d5fdcSmrgAM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes])
8821170d5fdcSmrgAM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
8822170d5fdcSmrgAM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
8823170d5fdcSmrg]) # XORG_WITH_GROFF
8824170d5fdcSmrg
8825170d5fdcSmrg# XORG_WITH_FOP([DEFAULT])
8826170d5fdcSmrg# ----------------
8827170d5fdcSmrg# Minimum version: 1.6.0
8828170d5fdcSmrg# Minimum version for optional DEFAULT argument: 1.11.0
8829170d5fdcSmrg#
8830170d5fdcSmrg# Documentation tools are not always available on all platforms and sometimes
8831170d5fdcSmrg# not at the appropriate level. This macro enables a module to test for the
8832170d5fdcSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
8833170d5fdcSmrg# the --with-fop option, it allows maximum flexibilty in making decisions
8834170d5fdcSmrg# as whether or not to use the fop package. When DEFAULT is not specified,
8835170d5fdcSmrg# --with-fop assumes 'auto'.
8836170d5fdcSmrg#
8837170d5fdcSmrg# Interface to module:
8838170d5fdcSmrg# HAVE_FOP: 	used in makefiles to conditionally generate documentation
8839170d5fdcSmrg# FOP:	 	returns the path of the fop program found
8840170d5fdcSmrg#		returns the path set by the user in the environment
8841170d5fdcSmrg# --with-fop: 	'yes' user instructs the module to use fop
8842170d5fdcSmrg#		'no' user instructs the module not to use fop
8843170d5fdcSmrg#
8844170d5fdcSmrg# If the user sets the value of FOP, AC_PATH_PROG skips testing the path.
8845170d5fdcSmrg#
8846170d5fdcSmrgAC_DEFUN([XORG_WITH_FOP],[
8847170d5fdcSmrgAC_ARG_VAR([FOP], [Path to fop command])
8848170d5fdcSmrgm4_define([_defopt], m4_default([$1], [auto]))
8849170d5fdcSmrgAC_ARG_WITH(fop,
8850170d5fdcSmrg	AS_HELP_STRING([--with-fop],
8851170d5fdcSmrg	   [Use fop to regenerate documentation (default: ]_defopt[)]),
8852170d5fdcSmrg	   [use_fop=$withval], [use_fop=]_defopt)
8853170d5fdcSmrgm4_undefine([_defopt])
8854170d5fdcSmrg
8855170d5fdcSmrgif test "x$use_fop" = x"auto"; then
8856170d5fdcSmrg   AC_PATH_PROG([FOP], [fop])
8857170d5fdcSmrg   if test "x$FOP" = "x"; then
8858170d5fdcSmrg        AC_MSG_WARN([fop not found - documentation targets will be skipped])
8859170d5fdcSmrg	have_fop=no
8860170d5fdcSmrg   else
8861170d5fdcSmrg        have_fop=yes
8862170d5fdcSmrg   fi
8863170d5fdcSmrgelif test "x$use_fop" = x"yes" ; then
8864170d5fdcSmrg   AC_PATH_PROG([FOP], [fop])
8865170d5fdcSmrg   if test "x$FOP" = "x"; then
8866170d5fdcSmrg        AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH])
8867170d5fdcSmrg   fi
8868170d5fdcSmrg   have_fop=yes
8869170d5fdcSmrgelif test "x$use_fop" = x"no" ; then
8870170d5fdcSmrg   if test "x$FOP" != "x"; then
8871170d5fdcSmrg      AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified])
8872170d5fdcSmrg   fi
8873170d5fdcSmrg   have_fop=no
8874170d5fdcSmrgelse
8875170d5fdcSmrg   AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
8876170d5fdcSmrgfi
8877170d5fdcSmrgAM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
8878170d5fdcSmrg]) # XORG_WITH_FOP
8879170d5fdcSmrg
8880170d5fdcSmrg# XORG_WITH_PS2PDF([DEFAULT])
8881170d5fdcSmrg# ----------------
8882170d5fdcSmrg# Minimum version: 1.6.0
8883170d5fdcSmrg# Minimum version for optional DEFAULT argument: 1.11.0
8884170d5fdcSmrg#
8885170d5fdcSmrg# Documentation tools are not always available on all platforms and sometimes
8886170d5fdcSmrg# not at the appropriate level. This macro enables a module to test for the
8887170d5fdcSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
8888170d5fdcSmrg# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
8889170d5fdcSmrg# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
8890170d5fdcSmrg# --with-ps2pdf assumes 'auto'.
8891170d5fdcSmrg#
8892170d5fdcSmrg# Interface to module:
8893170d5fdcSmrg# HAVE_PS2PDF: 	used in makefiles to conditionally generate documentation
8894170d5fdcSmrg# PS2PDF:	returns the path of the ps2pdf program found
8895170d5fdcSmrg#		returns the path set by the user in the environment
8896170d5fdcSmrg# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf
8897170d5fdcSmrg#		 'no' user instructs the module not to use ps2pdf
8898170d5fdcSmrg#
8899170d5fdcSmrg# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path.
8900170d5fdcSmrg#
8901170d5fdcSmrgAC_DEFUN([XORG_WITH_PS2PDF],[
8902170d5fdcSmrgAC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
8903170d5fdcSmrgm4_define([_defopt], m4_default([$1], [auto]))
8904170d5fdcSmrgAC_ARG_WITH(ps2pdf,
8905170d5fdcSmrg	AS_HELP_STRING([--with-ps2pdf],
8906170d5fdcSmrg	   [Use ps2pdf to regenerate documentation (default: ]_defopt[)]),
8907170d5fdcSmrg	   [use_ps2pdf=$withval], [use_ps2pdf=]_defopt)
8908170d5fdcSmrgm4_undefine([_defopt])
8909170d5fdcSmrg
8910170d5fdcSmrgif test "x$use_ps2pdf" = x"auto"; then
8911170d5fdcSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
8912170d5fdcSmrg   if test "x$PS2PDF" = "x"; then
8913170d5fdcSmrg        AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped])
8914170d5fdcSmrg	have_ps2pdf=no
8915170d5fdcSmrg   else
8916170d5fdcSmrg        have_ps2pdf=yes
8917170d5fdcSmrg   fi
8918170d5fdcSmrgelif test "x$use_ps2pdf" = x"yes" ; then
8919170d5fdcSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
8920170d5fdcSmrg   if test "x$PS2PDF" = "x"; then
8921170d5fdcSmrg        AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH])
8922170d5fdcSmrg   fi
8923170d5fdcSmrg   have_ps2pdf=yes
8924170d5fdcSmrgelif test "x$use_ps2pdf" = x"no" ; then
8925170d5fdcSmrg   if test "x$PS2PDF" != "x"; then
8926170d5fdcSmrg      AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified])
8927170d5fdcSmrg   fi
8928170d5fdcSmrg   have_ps2pdf=no
8929170d5fdcSmrgelse
8930170d5fdcSmrg   AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no'])
8931170d5fdcSmrgfi
8932170d5fdcSmrgAM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
8933170d5fdcSmrg]) # XORG_WITH_PS2PDF
8934170d5fdcSmrg
8935170d5fdcSmrg# XORG_ENABLE_DOCS (enable_docs=yes)
8936170d5fdcSmrg# ----------------
8937170d5fdcSmrg# Minimum version: 1.6.0
8938170d5fdcSmrg#
8939170d5fdcSmrg# Documentation tools are not always available on all platforms and sometimes
8940170d5fdcSmrg# not at the appropriate level. This macro enables a builder to skip all
8941170d5fdcSmrg# documentation targets except traditional man pages.
8942170d5fdcSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
8943170d5fdcSmrg# maximum flexibilty in controlling documentation building.
8944170d5fdcSmrg# Refer to:
8945170d5fdcSmrg# XORG_WITH_XMLTO         --with-xmlto
8946170d5fdcSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
8947170d5fdcSmrg# XORG_WITH_DOXYGEN       --with-doxygen
8948170d5fdcSmrg# XORG_WITH_FOP           --with-fop
8949170d5fdcSmrg# XORG_WITH_GROFF         --with-groff
8950170d5fdcSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
8951170d5fdcSmrg#
8952170d5fdcSmrg# Interface to module:
8953170d5fdcSmrg# ENABLE_DOCS: 	  used in makefiles to conditionally generate documentation
8954170d5fdcSmrg# --enable-docs: 'yes' user instructs the module to generate docs
8955170d5fdcSmrg#		 'no' user instructs the module not to generate docs
8956170d5fdcSmrg# parm1:	specify the default value, yes or no.
8957170d5fdcSmrg#
8958170d5fdcSmrgAC_DEFUN([XORG_ENABLE_DOCS],[
8959170d5fdcSmrgm4_define([default], m4_default([$1], [yes]))
8960170d5fdcSmrgAC_ARG_ENABLE(docs,
8961170d5fdcSmrg	AS_HELP_STRING([--enable-docs],
8962170d5fdcSmrg	   [Enable building the documentation (default: ]default[)]),
8963170d5fdcSmrg	   [build_docs=$enableval], [build_docs=]default)
8964170d5fdcSmrgm4_undefine([default])
8965170d5fdcSmrgAM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
8966170d5fdcSmrgAC_MSG_CHECKING([whether to build documentation])
8967170d5fdcSmrgAC_MSG_RESULT([$build_docs])
8968170d5fdcSmrg]) # XORG_ENABLE_DOCS
8969170d5fdcSmrg
8970170d5fdcSmrg# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes)
8971170d5fdcSmrg# ----------------
8972170d5fdcSmrg# Minimum version: 1.6.0
8973170d5fdcSmrg#
8974170d5fdcSmrg# This macro enables a builder to skip all developer documentation.
8975170d5fdcSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
8976170d5fdcSmrg# maximum flexibilty in controlling documentation building.
8977170d5fdcSmrg# Refer to:
8978170d5fdcSmrg# XORG_WITH_XMLTO         --with-xmlto
8979170d5fdcSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
8980170d5fdcSmrg# XORG_WITH_DOXYGEN       --with-doxygen
8981170d5fdcSmrg# XORG_WITH_FOP           --with-fop
8982170d5fdcSmrg# XORG_WITH_GROFF         --with-groff
8983170d5fdcSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
8984170d5fdcSmrg#
8985170d5fdcSmrg# Interface to module:
8986170d5fdcSmrg# ENABLE_DEVEL_DOCS:	used in makefiles to conditionally generate developer docs
8987170d5fdcSmrg# --enable-devel-docs:	'yes' user instructs the module to generate developer docs
8988170d5fdcSmrg#			'no' user instructs the module not to generate developer docs
8989170d5fdcSmrg# parm1:		specify the default value, yes or no.
8990170d5fdcSmrg#
8991170d5fdcSmrgAC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
8992170d5fdcSmrgm4_define([devel_default], m4_default([$1], [yes]))
8993170d5fdcSmrgAC_ARG_ENABLE(devel-docs,
8994170d5fdcSmrg	AS_HELP_STRING([--enable-devel-docs],
8995170d5fdcSmrg	   [Enable building the developer documentation (default: ]devel_default[)]),
8996170d5fdcSmrg	   [build_devel_docs=$enableval], [build_devel_docs=]devel_default)
8997170d5fdcSmrgm4_undefine([devel_default])
8998170d5fdcSmrgAM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
8999170d5fdcSmrgAC_MSG_CHECKING([whether to build developer documentation])
9000170d5fdcSmrgAC_MSG_RESULT([$build_devel_docs])
9001170d5fdcSmrg]) # XORG_ENABLE_DEVEL_DOCS
9002170d5fdcSmrg
9003170d5fdcSmrg# XORG_ENABLE_SPECS (enable_specs=yes)
9004170d5fdcSmrg# ----------------
9005170d5fdcSmrg# Minimum version: 1.6.0
9006170d5fdcSmrg#
9007170d5fdcSmrg# This macro enables a builder to skip all functional specification targets.
9008170d5fdcSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
9009170d5fdcSmrg# maximum flexibilty in controlling documentation building.
9010170d5fdcSmrg# Refer to:
9011170d5fdcSmrg# XORG_WITH_XMLTO         --with-xmlto
9012170d5fdcSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
9013170d5fdcSmrg# XORG_WITH_DOXYGEN       --with-doxygen
9014170d5fdcSmrg# XORG_WITH_FOP           --with-fop
9015170d5fdcSmrg# XORG_WITH_GROFF         --with-groff
9016170d5fdcSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
9017170d5fdcSmrg#
9018170d5fdcSmrg# Interface to module:
9019170d5fdcSmrg# ENABLE_SPECS:		used in makefiles to conditionally generate specs
9020170d5fdcSmrg# --enable-specs:	'yes' user instructs the module to generate specs
9021170d5fdcSmrg#			'no' user instructs the module not to generate specs
9022170d5fdcSmrg# parm1:		specify the default value, yes or no.
9023170d5fdcSmrg#
9024170d5fdcSmrgAC_DEFUN([XORG_ENABLE_SPECS],[
9025170d5fdcSmrgm4_define([spec_default], m4_default([$1], [yes]))
9026170d5fdcSmrgAC_ARG_ENABLE(specs,
9027170d5fdcSmrg	AS_HELP_STRING([--enable-specs],
9028170d5fdcSmrg	   [Enable building the specs (default: ]spec_default[)]),
9029170d5fdcSmrg	   [build_specs=$enableval], [build_specs=]spec_default)
9030170d5fdcSmrgm4_undefine([spec_default])
9031170d5fdcSmrgAM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
9032170d5fdcSmrgAC_MSG_CHECKING([whether to build functional specifications])
9033170d5fdcSmrgAC_MSG_RESULT([$build_specs])
9034170d5fdcSmrg]) # XORG_ENABLE_SPECS
9035f29dbc25Smrg
9036f29dbc25Smrg# XORG_CHECK_MALLOC_ZERO
9037f29dbc25Smrg# ----------------------
9038f29dbc25Smrg# Minimum version: 1.0.0
9039f29dbc25Smrg#
9040f29dbc25Smrg# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
9041f29dbc25Smrg# malloc(0) returns NULL.  Packages should add one of these cflags to
9042f29dbc25Smrg# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
9043f29dbc25SmrgAC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
9044f29dbc25SmrgAC_ARG_ENABLE(malloc0returnsnull,
9045f29dbc25Smrg	AS_HELP_STRING([--enable-malloc0returnsnull],
9046f29dbc25Smrg		       [malloc(0) returns NULL (default: auto)]),
9047f29dbc25Smrg	[MALLOC_ZERO_RETURNS_NULL=$enableval],
9048f29dbc25Smrg	[MALLOC_ZERO_RETURNS_NULL=auto])
9049f29dbc25Smrg
9050f29dbc25SmrgAC_MSG_CHECKING([whether malloc(0) returns NULL])
9051f29dbc25Smrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
9052f29dbc25Smrg	AC_RUN_IFELSE([
9053f29dbc25Smrgchar *malloc();
9054f29dbc25Smrgchar *realloc();
9055f29dbc25Smrgchar *calloc();
9056f29dbc25Smrgmain() {
9057f29dbc25Smrg    char *m0, *r0, *c0, *p;
9058f29dbc25Smrg    m0 = malloc(0);
9059f29dbc25Smrg    p = malloc(10);
9060f29dbc25Smrg    r0 = realloc(p,0);
9061f29dbc25Smrg    c0 = calloc(0);
9062f29dbc25Smrg    exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1);
9063f29dbc25Smrg}],
9064f29dbc25Smrg		[MALLOC_ZERO_RETURNS_NULL=yes],
9065f29dbc25Smrg		[MALLOC_ZERO_RETURNS_NULL=no],
9066f29dbc25Smrg		[MALLOC_ZERO_RETURNS_NULL=yes])
9067f29dbc25Smrgfi
9068f29dbc25SmrgAC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
9069f29dbc25Smrg
9070f29dbc25Smrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
9071f29dbc25Smrg	MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
9072f29dbc25Smrg	XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
9073f29dbc25Smrg	XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
9074f29dbc25Smrgelse
9075f29dbc25Smrg	MALLOC_ZERO_CFLAGS=""
9076f29dbc25Smrg	XMALLOC_ZERO_CFLAGS=""
9077f29dbc25Smrg	XTMALLOC_ZERO_CFLAGS=""
9078f29dbc25Smrgfi
9079f29dbc25Smrg
9080f29dbc25SmrgAC_SUBST([MALLOC_ZERO_CFLAGS])
9081f29dbc25SmrgAC_SUBST([XMALLOC_ZERO_CFLAGS])
9082f29dbc25SmrgAC_SUBST([XTMALLOC_ZERO_CFLAGS])
9083f29dbc25Smrg]) # XORG_CHECK_MALLOC_ZERO
9084f29dbc25Smrg
9085f29dbc25Smrg# XORG_WITH_LINT()
9086f29dbc25Smrg# ----------------
9087f29dbc25Smrg# Minimum version: 1.1.0
9088f29dbc25Smrg#
9089170d5fdcSmrg# This macro enables the use of a tool that flags some suspicious and
9090170d5fdcSmrg# non-portable constructs (likely to be bugs) in C language source code.
9091170d5fdcSmrg# It will attempt to locate the tool and use appropriate options.
9092170d5fdcSmrg# There are various lint type tools on different platforms.
9093170d5fdcSmrg#
9094170d5fdcSmrg# Interface to module:
9095170d5fdcSmrg# LINT:		returns the path to the tool found on the platform
9096170d5fdcSmrg#		or the value set to LINT on the configure cmd line
9097170d5fdcSmrg#		also an Automake conditional
9098170d5fdcSmrg# LINT_FLAGS:	an Automake variable with appropriate flags
9099170d5fdcSmrg#
9100170d5fdcSmrg# --with-lint:	'yes' user instructs the module to use lint
9101170d5fdcSmrg#		'no' user instructs the module not to use lint (default)
9102170d5fdcSmrg#
9103170d5fdcSmrg# If the user sets the value of LINT, AC_PATH_PROG skips testing the path.
9104170d5fdcSmrg# If the user sets the value of LINT_FLAGS, they are used verbatim.
9105f29dbc25Smrg#
9106f29dbc25SmrgAC_DEFUN([XORG_WITH_LINT],[
9107f29dbc25Smrg
9108170d5fdcSmrgAC_ARG_VAR([LINT], [Path to a lint-style command])
9109170d5fdcSmrgAC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command])
9110f29dbc25SmrgAC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
9111f29dbc25Smrg		[Use a lint-style source code checker (default: disabled)])],
9112f29dbc25Smrg		[use_lint=$withval], [use_lint=no])
9113170d5fdcSmrg
9114170d5fdcSmrg# Obtain platform specific info like program name and options
9115170d5fdcSmrg# The lint program on FreeBSD and NetBSD is different from the one on Solaris
9116170d5fdcSmrgcase $host_os in
9117170d5fdcSmrg  *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*)
9118170d5fdcSmrg	lint_name=splint
9119170d5fdcSmrg	lint_options="-badflag"
9120170d5fdcSmrg	;;
9121170d5fdcSmrg  *freebsd* | *netbsd*)
9122170d5fdcSmrg	lint_name=lint
9123170d5fdcSmrg	lint_options="-u -b"
9124170d5fdcSmrg	;;
9125170d5fdcSmrg  *solaris*)
9126170d5fdcSmrg	lint_name=lint
9127170d5fdcSmrg	lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
9128170d5fdcSmrg	;;
9129170d5fdcSmrgesac
9130170d5fdcSmrg
9131170d5fdcSmrg# Test for the presence of the program (either guessed by the code or spelled out by the user)
9132170d5fdcSmrgif test "x$use_lint" = x"yes" ; then
9133170d5fdcSmrg   AC_PATH_PROG([LINT], [$lint_name])
9134170d5fdcSmrg   if test "x$LINT" = "x"; then
9135170d5fdcSmrg        AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH])
9136170d5fdcSmrg   fi
9137170d5fdcSmrgelif test "x$use_lint" = x"no" ; then
9138170d5fdcSmrg   if test "x$LINT" != "x"; then
9139170d5fdcSmrg      AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified])
9140170d5fdcSmrg   fi
9141f29dbc25Smrgelse
9142170d5fdcSmrg   AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.])
9143f29dbc25Smrgfi
9144170d5fdcSmrg
9145170d5fdcSmrg# User supplied flags override default flags
9146170d5fdcSmrgif test "x$LINT_FLAGS" != "x"; then
9147170d5fdcSmrg   lint_options=$LINT_FLAGS
9148f29dbc25Smrgfi
9149f29dbc25Smrg
9150170d5fdcSmrgAC_SUBST([LINT_FLAGS],[$lint_options])
9151170d5fdcSmrgAM_CONDITIONAL(LINT, [test "x$LINT" != x])
9152f29dbc25Smrg
9153f29dbc25Smrg]) # XORG_WITH_LINT
9154f29dbc25Smrg
9155f29dbc25Smrg# XORG_LINT_LIBRARY(LIBNAME)
9156f29dbc25Smrg# --------------------------
9157f29dbc25Smrg# Minimum version: 1.1.0
9158f29dbc25Smrg#
9159f29dbc25Smrg# Sets up flags for building lint libraries for checking programs that call
9160f29dbc25Smrg# functions in the library.
9161f29dbc25Smrg#
9162170d5fdcSmrg# Interface to module:
9163170d5fdcSmrg# LINTLIB		- Automake variable with the name of lint library file to make
9164170d5fdcSmrg# MAKE_LINT_LIB		- Automake conditional
9165170d5fdcSmrg#
9166170d5fdcSmrg# --enable-lint-library:  - 'yes' user instructs the module to created a lint library
9167170d5fdcSmrg#			  - 'no' user instructs the module not to create a lint library (default)
9168f29dbc25Smrg
9169f29dbc25SmrgAC_DEFUN([XORG_LINT_LIBRARY],[
9170f29dbc25SmrgAC_REQUIRE([XORG_WITH_LINT])
9171f29dbc25SmrgAC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
9172f29dbc25Smrg	[Create lint library (default: disabled)])],
9173f29dbc25Smrg	[make_lint_lib=$enableval], [make_lint_lib=no])
9174170d5fdcSmrg
9175170d5fdcSmrgif test "x$make_lint_lib" = x"yes" ; then
9176170d5fdcSmrg   LINTLIB=llib-l$1.ln
9177170d5fdcSmrg   if test "x$LINT" = "x"; then
9178170d5fdcSmrg        AC_MSG_ERROR([Cannot make lint library without --with-lint])
9179170d5fdcSmrg   fi
9180170d5fdcSmrgelif test "x$make_lint_lib" != x"no" ; then
9181170d5fdcSmrg   AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.])
9182f29dbc25Smrgfi
9183170d5fdcSmrg
9184f29dbc25SmrgAC_SUBST(LINTLIB)
9185f29dbc25SmrgAM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
9186f29dbc25Smrg
9187f29dbc25Smrg]) # XORG_LINT_LIBRARY
9188f29dbc25Smrg
9189f29dbc25Smrg# XORG_CWARNFLAGS
9190f29dbc25Smrg# ---------------
9191f29dbc25Smrg# Minimum version: 1.2.0
9192f29dbc25Smrg#
9193f29dbc25Smrg# Defines CWARNFLAGS to enable C compiler warnings.
9194f29dbc25Smrg#
9195f29dbc25SmrgAC_DEFUN([XORG_CWARNFLAGS], [
9196170d5fdcSmrgAC_REQUIRE([AC_PROG_CC_C99])
9197f29dbc25Smrgif  test "x$GCC" = xyes ; then
9198f29dbc25Smrg    CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
9199f29dbc25Smrg-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
9200170d5fdcSmrg-Wbad-function-cast -Wformat=2"
9201f29dbc25Smrg    case `$CC -dumpversion` in
9202f29dbc25Smrg    3.4.* | 4.*)
9203f29dbc25Smrg	CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
9204f29dbc25Smrg	;;
9205f29dbc25Smrg    esac
9206f29dbc25Smrgelse
9207f29dbc25Smrg    AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
9208f29dbc25Smrg    if test "x$SUNCC" = "xyes"; then
9209f29dbc25Smrg	CWARNFLAGS="-v"
9210f29dbc25Smrg    fi
9211f29dbc25Smrgfi
9212f29dbc25SmrgAC_SUBST(CWARNFLAGS)
9213f29dbc25Smrg]) # XORG_CWARNFLAGS
9214f29dbc25Smrg
9215f29dbc25Smrg# XORG_STRICT_OPTION
9216f29dbc25Smrg# -----------------------
9217f29dbc25Smrg# Minimum version: 1.3.0
9218f29dbc25Smrg#
9219f29dbc25Smrg# Add configure option to enable strict compilation
9220f29dbc25SmrgAC_DEFUN([XORG_STRICT_OPTION], [
9221170d5fdcSmrg# If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89
9222f29dbc25SmrgAC_REQUIRE([AC_PROG_CC_C99])
9223f29dbc25SmrgAC_REQUIRE([XORG_CWARNFLAGS])
9224f29dbc25Smrg
9225f29dbc25SmrgAC_ARG_ENABLE(strict-compilation,
9226f29dbc25Smrg			  AS_HELP_STRING([--enable-strict-compilation],
9227f29dbc25Smrg			  [Enable all warnings from compiler and make them errors (default: disabled)]),
9228f29dbc25Smrg			  [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
9229f29dbc25Smrgif test "x$STRICT_COMPILE" = "xyes"; then
9230f29dbc25Smrg	AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
9231f29dbc25Smrg	AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
9232f29dbc25Smrg	if test "x$GCC" = xyes ; then
9233f29dbc25Smrg		STRICT_CFLAGS="-pedantic -Werror"
9234f29dbc25Smrg	elif test "x$SUNCC" = "xyes"; then
9235f29dbc25Smrg		STRICT_CFLAGS="-errwarn"
9236f29dbc25Smrg    elif test "x$INTELCC" = "xyes"; then
9237f29dbc25Smrg		STRICT_CFLAGS="-Werror"
9238f29dbc25Smrg	fi
9239f29dbc25Smrgfi
9240f29dbc25SmrgCWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
9241f29dbc25SmrgAC_SUBST([CWARNFLAGS])
9242f29dbc25Smrg]) # XORG_STRICT_OPTION
9243f29dbc25Smrg
9244f29dbc25Smrg# XORG_DEFAULT_OPTIONS
9245f29dbc25Smrg# --------------------
9246f29dbc25Smrg# Minimum version: 1.3.0
9247f29dbc25Smrg#
9248f29dbc25Smrg# Defines default options for X.Org modules.
9249f29dbc25Smrg#
9250f29dbc25SmrgAC_DEFUN([XORG_DEFAULT_OPTIONS], [
9251170d5fdcSmrgAC_REQUIRE([AC_PROG_INSTALL])
9252f29dbc25SmrgXORG_CWARNFLAGS
9253f29dbc25SmrgXORG_STRICT_OPTION
9254f29dbc25SmrgXORG_RELEASE_VERSION
9255f29dbc25SmrgXORG_CHANGELOG
9256f29dbc25SmrgXORG_INSTALL
9257f29dbc25SmrgXORG_MANPAGE_SECTIONS
9258170d5fdcSmrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
9259170d5fdcSmrg    [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
9260f29dbc25Smrg]) # XORG_DEFAULT_OPTIONS
9261f29dbc25Smrg
9262f29dbc25Smrg# XORG_INSTALL()
9263f29dbc25Smrg# ----------------
9264f29dbc25Smrg# Minimum version: 1.4.0
9265f29dbc25Smrg#
9266f29dbc25Smrg# Defines the variable INSTALL_CMD as the command to copy
9267f29dbc25Smrg# INSTALL from $prefix/share/util-macros.
9268f29dbc25Smrg#
9269f29dbc25SmrgAC_DEFUN([XORG_INSTALL], [
9270f29dbc25SmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG])
9271f29dbc25Smrgmacros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
9272f29dbc25SmrgINSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
9273f29dbc25Smrgmv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
9274f29dbc25Smrg|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
9275f29dbc25Smrgecho 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
9276f29dbc25SmrgAC_SUBST([INSTALL_CMD])
9277f29dbc25Smrg]) # XORG_INSTALL
9278f29dbc25Smrgdnl Copyright 2005 Red Hat, Inc
9279f29dbc25Smrgdnl
9280f29dbc25Smrgdnl Permission to use, copy, modify, distribute, and sell this software and its
9281f29dbc25Smrgdnl documentation for any purpose is hereby granted without fee, provided that
9282f29dbc25Smrgdnl the above copyright notice appear in all copies and that both that
9283f29dbc25Smrgdnl copyright notice and this permission notice appear in supporting
9284f29dbc25Smrgdnl documentation.
9285f29dbc25Smrgdnl
9286f29dbc25Smrgdnl The above copyright notice and this permission notice shall be included
9287f29dbc25Smrgdnl in all copies or substantial portions of the Software.
9288f29dbc25Smrgdnl
9289f29dbc25Smrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
9290f29dbc25Smrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
9291f29dbc25Smrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
9292f29dbc25Smrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
9293f29dbc25Smrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
9294f29dbc25Smrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
9295f29dbc25Smrgdnl OTHER DEALINGS IN THE SOFTWARE.
9296f29dbc25Smrgdnl
9297f29dbc25Smrgdnl Except as contained in this notice, the name of the copyright holders shall
9298f29dbc25Smrgdnl not be used in advertising or otherwise to promote the sale, use or
9299f29dbc25Smrgdnl other dealings in this Software without prior written authorization
9300f29dbc25Smrgdnl from the copyright holders.
9301f29dbc25Smrgdnl
9302f29dbc25Smrg
9303f29dbc25Smrg# XORG_RELEASE_VERSION
9304f29dbc25Smrg# --------------------
9305170d5fdcSmrg# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
9306f29dbc25Smrg 
9307f29dbc25SmrgAC_DEFUN([XORG_RELEASE_VERSION],[
9308f29dbc25Smrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
9309f29dbc25Smrg		[`echo $PACKAGE_VERSION | cut -d . -f 1`],
9310f29dbc25Smrg		[Major version of this package])
9311f29dbc25Smrg	PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
9312f29dbc25Smrg	if test "x$PVM" = "x"; then
9313f29dbc25Smrg		PVM="0"
9314f29dbc25Smrg	fi
9315f29dbc25Smrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
9316f29dbc25Smrg		[$PVM],
9317f29dbc25Smrg		[Minor version of this package])
9318f29dbc25Smrg	PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
9319f29dbc25Smrg	if test "x$PVP" = "x"; then
9320f29dbc25Smrg		PVP="0"
9321f29dbc25Smrg	fi
9322f29dbc25Smrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
9323f29dbc25Smrg		[$PVP],
9324f29dbc25Smrg		[Patch version of this package])
9325f29dbc25Smrg])
9326f29dbc25Smrg
9327f29dbc25Smrg# XORG_CHANGELOG()
9328f29dbc25Smrg# ----------------
9329f29dbc25Smrg# Minimum version: 1.2.0
9330f29dbc25Smrg#
9331f29dbc25Smrg# Defines the variable CHANGELOG_CMD as the command to generate
9332f29dbc25Smrg# ChangeLog from git.
9333f29dbc25Smrg#
9334f29dbc25Smrg#
9335f29dbc25SmrgAC_DEFUN([XORG_CHANGELOG], [
9336f29dbc25SmrgCHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
9337f29dbc25Smrgmv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
9338f29dbc25Smrg|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
9339f29dbc25Smrgecho 'git directory not found: installing possibly empty changelog.' >&2)"
9340f29dbc25SmrgAC_SUBST([CHANGELOG_CMD])
9341f29dbc25Smrg]) # XORG_CHANGELOG
9342f29dbc25Smrg
9343f29dbc25Smrgdnl Copyright 2005 Red Hat, Inc
9344f29dbc25Smrgdnl 
9345f29dbc25Smrgdnl Permission to use, copy, modify, distribute, and sell this software and its
9346f29dbc25Smrgdnl documentation for any purpose is hereby granted without fee, provided that
9347f29dbc25Smrgdnl the above copyright notice appear in all copies and that both that
9348f29dbc25Smrgdnl copyright notice and this permission notice appear in supporting
9349f29dbc25Smrgdnl documentation.
9350f29dbc25Smrgdnl 
9351f29dbc25Smrgdnl The above copyright notice and this permission notice shall be included
9352f29dbc25Smrgdnl in all copies or substantial portions of the Software.
9353f29dbc25Smrgdnl 
9354f29dbc25Smrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
9355f29dbc25Smrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
9356f29dbc25Smrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
9357f29dbc25Smrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
9358f29dbc25Smrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
9359f29dbc25Smrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
9360f29dbc25Smrgdnl OTHER DEALINGS IN THE SOFTWARE.
9361f29dbc25Smrgdnl 
9362f29dbc25Smrgdnl Except as contained in this notice, the name of the copyright holders shall
9363f29dbc25Smrgdnl not be used in advertising or otherwise to promote the sale, use or
9364f29dbc25Smrgdnl other dealings in this Software without prior written authorization
9365f29dbc25Smrgdnl from the copyright holders.
9366f29dbc25Smrgdnl 
9367f29dbc25Smrg
9368f29dbc25Smrg# XORG_DRIVER_CHECK_EXT()
9369f29dbc25Smrg# --------------------------
9370f29dbc25Smrg# Checks for the $1 define in xorg-server.h (from the sdk).  If it
9371f29dbc25Smrg# is defined, then add $1 to $REQUIRED_MODULES.
9372f29dbc25Smrg
9373f29dbc25SmrgAC_DEFUN([XORG_DRIVER_CHECK_EXT],[
9374f29dbc25Smrg	AC_REQUIRE([PKG_PROG_PKG_CONFIG])
9375f29dbc25Smrg	SAVE_CFLAGS="$CFLAGS"
9376f29dbc25Smrg	CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
9377f29dbc25Smrg	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
9378f29dbc25Smrg#include "xorg-server.h"
9379f29dbc25Smrg#if !defined $1
9380f29dbc25Smrg#error $1 not defined
9381f29dbc25Smrg#endif
9382f29dbc25Smrg		]])],
9383f29dbc25Smrg		[_EXT_CHECK=yes],
9384f29dbc25Smrg		[_EXT_CHECK=no])
9385f29dbc25Smrg	CFLAGS="$SAVE_CFLAGS"
9386f29dbc25Smrg	AC_MSG_CHECKING([if $1 is defined])
9387f29dbc25Smrg	AC_MSG_RESULT([$_EXT_CHECK])
9388f29dbc25Smrg	if test "$_EXT_CHECK" != no; then
9389f29dbc25Smrg		REQUIRED_MODULES="$REQUIRED_MODULES $2"
9390f29dbc25Smrg	fi
9391f29dbc25Smrg])
9392f29dbc25Smrg
9393f29dbc25Smrg# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
9394f29dbc25Smrg#
9395f29dbc25Smrg# This file is free software; the Free Software Foundation
9396f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9397f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9398f29dbc25Smrg
9399f29dbc25Smrg# AM_AUTOMAKE_VERSION(VERSION)
9400f29dbc25Smrg# ----------------------------
9401f29dbc25Smrg# Automake X.Y traces this macro to ensure aclocal.m4 has been
9402f29dbc25Smrg# generated from the m4 files accompanying Automake X.Y.
9403f29dbc25Smrg# (This private macro should not be called outside this file.)
9404f29dbc25SmrgAC_DEFUN([AM_AUTOMAKE_VERSION],
9405f29dbc25Smrg[am__api_version='1.11'
9406f29dbc25Smrgdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
9407f29dbc25Smrgdnl require some minimum version.  Point them to the right macro.
9408f29dbc25Smrgm4_if([$1], [1.11.1], [],
9409f29dbc25Smrg      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
9410f29dbc25Smrg])
9411f29dbc25Smrg
9412f29dbc25Smrg# _AM_AUTOCONF_VERSION(VERSION)
9413f29dbc25Smrg# -----------------------------
9414f29dbc25Smrg# aclocal traces this macro to find the Autoconf version.
9415f29dbc25Smrg# This is a private macro too.  Using m4_define simplifies
9416f29dbc25Smrg# the logic in aclocal, which can simply ignore this definition.
9417f29dbc25Smrgm4_define([_AM_AUTOCONF_VERSION], [])
9418f29dbc25Smrg
9419f29dbc25Smrg# AM_SET_CURRENT_AUTOMAKE_VERSION
9420f29dbc25Smrg# -------------------------------
9421f29dbc25Smrg# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
9422f29dbc25Smrg# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
9423f29dbc25SmrgAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
9424f29dbc25Smrg[AM_AUTOMAKE_VERSION([1.11.1])dnl
9425f29dbc25Smrgm4_ifndef([AC_AUTOCONF_VERSION],
9426f29dbc25Smrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
9427f29dbc25Smrg_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
9428f29dbc25Smrg
9429f29dbc25Smrg# Figure out how to run the assembler.                      -*- Autoconf -*-
9430f29dbc25Smrg
9431f29dbc25Smrg# Copyright (C) 2001, 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
9432f29dbc25Smrg#
9433f29dbc25Smrg# This file is free software; the Free Software Foundation
9434f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9435f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9436f29dbc25Smrg
9437f29dbc25Smrg# serial 5
9438f29dbc25Smrg
9439f29dbc25Smrg# AM_PROG_AS
9440f29dbc25Smrg# ----------
9441f29dbc25SmrgAC_DEFUN([AM_PROG_AS],
9442f29dbc25Smrg[# By default we simply use the C compiler to build assembly code.
9443f29dbc25SmrgAC_REQUIRE([AC_PROG_CC])
9444f29dbc25Smrgtest "${CCAS+set}" = set || CCAS=$CC
9445f29dbc25Smrgtest "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
9446f29dbc25SmrgAC_ARG_VAR([CCAS],      [assembler compiler command (defaults to CC)])
9447f29dbc25SmrgAC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)])
9448f29dbc25Smrg_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl
9449f29dbc25Smrg])
9450f29dbc25Smrg
9451f29dbc25Smrg# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
9452f29dbc25Smrg
9453f29dbc25Smrg# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
9454f29dbc25Smrg#
9455f29dbc25Smrg# This file is free software; the Free Software Foundation
9456f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9457f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9458f29dbc25Smrg
9459f29dbc25Smrg# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
9460f29dbc25Smrg# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
9461f29dbc25Smrg# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
9462f29dbc25Smrg#
9463f29dbc25Smrg# Of course, Automake must honor this variable whenever it calls a
9464f29dbc25Smrg# tool from the auxiliary directory.  The problem is that $srcdir (and
9465f29dbc25Smrg# therefore $ac_aux_dir as well) can be either absolute or relative,
9466f29dbc25Smrg# depending on how configure is run.  This is pretty annoying, since
9467f29dbc25Smrg# it makes $ac_aux_dir quite unusable in subdirectories: in the top
9468f29dbc25Smrg# source directory, any form will work fine, but in subdirectories a
9469f29dbc25Smrg# relative path needs to be adjusted first.
9470f29dbc25Smrg#
9471f29dbc25Smrg# $ac_aux_dir/missing
9472f29dbc25Smrg#    fails when called from a subdirectory if $ac_aux_dir is relative
9473f29dbc25Smrg# $top_srcdir/$ac_aux_dir/missing
9474f29dbc25Smrg#    fails if $ac_aux_dir is absolute,
9475f29dbc25Smrg#    fails when called from a subdirectory in a VPATH build with
9476f29dbc25Smrg#          a relative $ac_aux_dir
9477f29dbc25Smrg#
9478f29dbc25Smrg# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
9479f29dbc25Smrg# are both prefixed by $srcdir.  In an in-source build this is usually
9480f29dbc25Smrg# harmless because $srcdir is `.', but things will broke when you
9481f29dbc25Smrg# start a VPATH build or use an absolute $srcdir.
9482f29dbc25Smrg#
9483f29dbc25Smrg# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
9484f29dbc25Smrg# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
9485f29dbc25Smrg#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
9486f29dbc25Smrg# and then we would define $MISSING as
9487f29dbc25Smrg#   MISSING="\${SHELL} $am_aux_dir/missing"
9488f29dbc25Smrg# This will work as long as MISSING is not called from configure, because
9489f29dbc25Smrg# unfortunately $(top_srcdir) has no meaning in configure.
9490f29dbc25Smrg# However there are other variables, like CC, which are often used in
9491f29dbc25Smrg# configure, and could therefore not use this "fixed" $ac_aux_dir.
9492f29dbc25Smrg#
9493f29dbc25Smrg# Another solution, used here, is to always expand $ac_aux_dir to an
9494f29dbc25Smrg# absolute PATH.  The drawback is that using absolute paths prevent a
9495f29dbc25Smrg# configured tree to be moved without reconfiguration.
9496f29dbc25Smrg
9497f29dbc25SmrgAC_DEFUN([AM_AUX_DIR_EXPAND],
9498f29dbc25Smrg[dnl Rely on autoconf to set up CDPATH properly.
9499f29dbc25SmrgAC_PREREQ([2.50])dnl
9500f29dbc25Smrg# expand $ac_aux_dir to an absolute path
9501f29dbc25Smrgam_aux_dir=`cd $ac_aux_dir && pwd`
9502f29dbc25Smrg])
9503f29dbc25Smrg
9504f29dbc25Smrg# AM_CONDITIONAL                                            -*- Autoconf -*-
9505f29dbc25Smrg
9506f29dbc25Smrg# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
9507f29dbc25Smrg# Free Software Foundation, Inc.
9508f29dbc25Smrg#
9509f29dbc25Smrg# This file is free software; the Free Software Foundation
9510f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9511f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9512f29dbc25Smrg
9513f29dbc25Smrg# serial 9
9514f29dbc25Smrg
9515f29dbc25Smrg# AM_CONDITIONAL(NAME, SHELL-CONDITION)
9516f29dbc25Smrg# -------------------------------------
9517f29dbc25Smrg# Define a conditional.
9518f29dbc25SmrgAC_DEFUN([AM_CONDITIONAL],
9519f29dbc25Smrg[AC_PREREQ(2.52)dnl
9520f29dbc25Smrg ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
9521f29dbc25Smrg	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
9522f29dbc25SmrgAC_SUBST([$1_TRUE])dnl
9523f29dbc25SmrgAC_SUBST([$1_FALSE])dnl
9524f29dbc25Smrg_AM_SUBST_NOTMAKE([$1_TRUE])dnl
9525f29dbc25Smrg_AM_SUBST_NOTMAKE([$1_FALSE])dnl
9526f29dbc25Smrgm4_define([_AM_COND_VALUE_$1], [$2])dnl
9527f29dbc25Smrgif $2; then
9528f29dbc25Smrg  $1_TRUE=
9529f29dbc25Smrg  $1_FALSE='#'
9530f29dbc25Smrgelse
9531f29dbc25Smrg  $1_TRUE='#'
9532f29dbc25Smrg  $1_FALSE=
9533f29dbc25Smrgfi
9534f29dbc25SmrgAC_CONFIG_COMMANDS_PRE(
9535f29dbc25Smrg[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
9536f29dbc25Smrg  AC_MSG_ERROR([[conditional "$1" was never defined.
9537f29dbc25SmrgUsually this means the macro was only invoked conditionally.]])
9538f29dbc25Smrgfi])])
9539f29dbc25Smrg
9540f29dbc25Smrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
9541f29dbc25Smrg# Free Software Foundation, Inc.
9542f29dbc25Smrg#
9543f29dbc25Smrg# This file is free software; the Free Software Foundation
9544f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9545f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9546f29dbc25Smrg
9547f29dbc25Smrg# serial 10
9548f29dbc25Smrg
9549f29dbc25Smrg# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
9550f29dbc25Smrg# written in clear, in which case automake, when reading aclocal.m4,
9551f29dbc25Smrg# will think it sees a *use*, and therefore will trigger all it's
9552f29dbc25Smrg# C support machinery.  Also note that it means that autoscan, seeing
9553f29dbc25Smrg# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
9554f29dbc25Smrg
9555f29dbc25Smrg
9556f29dbc25Smrg# _AM_DEPENDENCIES(NAME)
9557f29dbc25Smrg# ----------------------
9558f29dbc25Smrg# See how the compiler implements dependency checking.
9559f29dbc25Smrg# NAME is "CC", "CXX", "GCJ", or "OBJC".
9560f29dbc25Smrg# We try a few techniques and use that to set a single cache variable.
9561f29dbc25Smrg#
9562f29dbc25Smrg# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
9563f29dbc25Smrg# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
9564f29dbc25Smrg# dependency, and given that the user is not expected to run this macro,
9565f29dbc25Smrg# just rely on AC_PROG_CC.
9566f29dbc25SmrgAC_DEFUN([_AM_DEPENDENCIES],
9567f29dbc25Smrg[AC_REQUIRE([AM_SET_DEPDIR])dnl
9568f29dbc25SmrgAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
9569f29dbc25SmrgAC_REQUIRE([AM_MAKE_INCLUDE])dnl
9570f29dbc25SmrgAC_REQUIRE([AM_DEP_TRACK])dnl
9571f29dbc25Smrg
9572f29dbc25Smrgifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
9573f29dbc25Smrg       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
9574f29dbc25Smrg       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
9575f29dbc25Smrg       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
9576f29dbc25Smrg       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
9577f29dbc25Smrg                   [depcc="$$1"   am_compiler_list=])
9578f29dbc25Smrg
9579f29dbc25SmrgAC_CACHE_CHECK([dependency style of $depcc],
9580f29dbc25Smrg               [am_cv_$1_dependencies_compiler_type],
9581f29dbc25Smrg[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
9582f29dbc25Smrg  # We make a subdir and do the tests there.  Otherwise we can end up
9583f29dbc25Smrg  # making bogus files that we don't know about and never remove.  For
9584f29dbc25Smrg  # instance it was reported that on HP-UX the gcc test will end up
9585f29dbc25Smrg  # making a dummy file named `D' -- because `-MD' means `put the output
9586f29dbc25Smrg  # in D'.
9587f29dbc25Smrg  mkdir conftest.dir
9588f29dbc25Smrg  # Copy depcomp to subdir because otherwise we won't find it if we're
9589f29dbc25Smrg  # using a relative directory.
9590f29dbc25Smrg  cp "$am_depcomp" conftest.dir
9591f29dbc25Smrg  cd conftest.dir
9592f29dbc25Smrg  # We will build objects and dependencies in a subdirectory because
9593f29dbc25Smrg  # it helps to detect inapplicable dependency modes.  For instance
9594f29dbc25Smrg  # both Tru64's cc and ICC support -MD to output dependencies as a
9595f29dbc25Smrg  # side effect of compilation, but ICC will put the dependencies in
9596f29dbc25Smrg  # the current directory while Tru64 will put them in the object
9597f29dbc25Smrg  # directory.
9598f29dbc25Smrg  mkdir sub
9599f29dbc25Smrg
9600f29dbc25Smrg  am_cv_$1_dependencies_compiler_type=none
9601f29dbc25Smrg  if test "$am_compiler_list" = ""; then
9602f29dbc25Smrg     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
9603f29dbc25Smrg  fi
9604f29dbc25Smrg  am__universal=false
9605f29dbc25Smrg  m4_case([$1], [CC],
9606f29dbc25Smrg    [case " $depcc " in #(
9607f29dbc25Smrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
9608f29dbc25Smrg     esac],
9609f29dbc25Smrg    [CXX],
9610f29dbc25Smrg    [case " $depcc " in #(
9611f29dbc25Smrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
9612f29dbc25Smrg     esac])
9613f29dbc25Smrg
9614f29dbc25Smrg  for depmode in $am_compiler_list; do
9615f29dbc25Smrg    # Setup a source with many dependencies, because some compilers
9616f29dbc25Smrg    # like to wrap large dependency lists on column 80 (with \), and
9617f29dbc25Smrg    # we should not choose a depcomp mode which is confused by this.
9618f29dbc25Smrg    #
9619f29dbc25Smrg    # We need to recreate these files for each test, as the compiler may
9620f29dbc25Smrg    # overwrite some of them when testing with obscure command lines.
9621f29dbc25Smrg    # This happens at least with the AIX C compiler.
9622f29dbc25Smrg    : > sub/conftest.c
9623f29dbc25Smrg    for i in 1 2 3 4 5 6; do
9624f29dbc25Smrg      echo '#include "conftst'$i'.h"' >> sub/conftest.c
9625f29dbc25Smrg      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
9626f29dbc25Smrg      # Solaris 8's {/usr,}/bin/sh.
9627f29dbc25Smrg      touch sub/conftst$i.h
9628f29dbc25Smrg    done
9629f29dbc25Smrg    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
9630f29dbc25Smrg
9631f29dbc25Smrg    # We check with `-c' and `-o' for the sake of the "dashmstdout"
9632f29dbc25Smrg    # mode.  It turns out that the SunPro C++ compiler does not properly
9633f29dbc25Smrg    # handle `-M -o', and we need to detect this.  Also, some Intel
9634f29dbc25Smrg    # versions had trouble with output in subdirs
9635f29dbc25Smrg    am__obj=sub/conftest.${OBJEXT-o}
9636f29dbc25Smrg    am__minus_obj="-o $am__obj"
9637f29dbc25Smrg    case $depmode in
9638f29dbc25Smrg    gcc)
9639f29dbc25Smrg      # This depmode causes a compiler race in universal mode.
9640f29dbc25Smrg      test "$am__universal" = false || continue
9641f29dbc25Smrg      ;;
9642f29dbc25Smrg    nosideeffect)
9643f29dbc25Smrg      # after this tag, mechanisms are not by side-effect, so they'll
9644f29dbc25Smrg      # only be used when explicitly requested
9645f29dbc25Smrg      if test "x$enable_dependency_tracking" = xyes; then
9646f29dbc25Smrg	continue
9647f29dbc25Smrg      else
9648f29dbc25Smrg	break
9649f29dbc25Smrg      fi
9650f29dbc25Smrg      ;;
9651f29dbc25Smrg    msvisualcpp | msvcmsys)
9652f29dbc25Smrg      # This compiler won't grok `-c -o', but also, the minuso test has
9653f29dbc25Smrg      # not run yet.  These depmodes are late enough in the game, and
9654f29dbc25Smrg      # so weak that their functioning should not be impacted.
9655f29dbc25Smrg      am__obj=conftest.${OBJEXT-o}
9656f29dbc25Smrg      am__minus_obj=
9657f29dbc25Smrg      ;;
9658f29dbc25Smrg    none) break ;;
9659f29dbc25Smrg    esac
9660f29dbc25Smrg    if depmode=$depmode \
9661f29dbc25Smrg       source=sub/conftest.c object=$am__obj \
9662f29dbc25Smrg       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
9663f29dbc25Smrg       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
9664f29dbc25Smrg         >/dev/null 2>conftest.err &&
9665f29dbc25Smrg       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
9666f29dbc25Smrg       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
9667f29dbc25Smrg       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
9668f29dbc25Smrg       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
9669f29dbc25Smrg      # icc doesn't choke on unknown options, it will just issue warnings
9670f29dbc25Smrg      # or remarks (even with -Werror).  So we grep stderr for any message
9671f29dbc25Smrg      # that says an option was ignored or not supported.
9672f29dbc25Smrg      # When given -MP, icc 7.0 and 7.1 complain thusly:
9673f29dbc25Smrg      #   icc: Command line warning: ignoring option '-M'; no argument required
9674f29dbc25Smrg      # The diagnosis changed in icc 8.0:
9675f29dbc25Smrg      #   icc: Command line remark: option '-MP' not supported
9676f29dbc25Smrg      if (grep 'ignoring option' conftest.err ||
9677f29dbc25Smrg          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
9678f29dbc25Smrg        am_cv_$1_dependencies_compiler_type=$depmode
9679f29dbc25Smrg        break
9680f29dbc25Smrg      fi
9681f29dbc25Smrg    fi
9682f29dbc25Smrg  done
9683f29dbc25Smrg
9684f29dbc25Smrg  cd ..
9685f29dbc25Smrg  rm -rf conftest.dir
9686f29dbc25Smrgelse
9687f29dbc25Smrg  am_cv_$1_dependencies_compiler_type=none
9688f29dbc25Smrgfi
9689f29dbc25Smrg])
9690f29dbc25SmrgAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
9691f29dbc25SmrgAM_CONDITIONAL([am__fastdep$1], [
9692f29dbc25Smrg  test "x$enable_dependency_tracking" != xno \
9693f29dbc25Smrg  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
9694f29dbc25Smrg])
9695f29dbc25Smrg
9696f29dbc25Smrg
9697f29dbc25Smrg# AM_SET_DEPDIR
9698f29dbc25Smrg# -------------
9699f29dbc25Smrg# Choose a directory name for dependency files.
9700f29dbc25Smrg# This macro is AC_REQUIREd in _AM_DEPENDENCIES
9701f29dbc25SmrgAC_DEFUN([AM_SET_DEPDIR],
9702f29dbc25Smrg[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
9703f29dbc25SmrgAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
9704f29dbc25Smrg])
9705f29dbc25Smrg
9706f29dbc25Smrg
9707f29dbc25Smrg# AM_DEP_TRACK
9708f29dbc25Smrg# ------------
9709f29dbc25SmrgAC_DEFUN([AM_DEP_TRACK],
9710f29dbc25Smrg[AC_ARG_ENABLE(dependency-tracking,
9711f29dbc25Smrg[  --disable-dependency-tracking  speeds up one-time build
9712f29dbc25Smrg  --enable-dependency-tracking   do not reject slow dependency extractors])
9713f29dbc25Smrgif test "x$enable_dependency_tracking" != xno; then
9714f29dbc25Smrg  am_depcomp="$ac_aux_dir/depcomp"
9715f29dbc25Smrg  AMDEPBACKSLASH='\'
9716f29dbc25Smrgfi
9717f29dbc25SmrgAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
9718f29dbc25SmrgAC_SUBST([AMDEPBACKSLASH])dnl
9719f29dbc25Smrg_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
9720f29dbc25Smrg])
9721f29dbc25Smrg
9722f29dbc25Smrg# Generate code to set up dependency tracking.              -*- Autoconf -*-
9723f29dbc25Smrg
9724f29dbc25Smrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
9725f29dbc25Smrg# Free Software Foundation, Inc.
9726f29dbc25Smrg#
9727f29dbc25Smrg# This file is free software; the Free Software Foundation
9728f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9729f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9730f29dbc25Smrg
9731f29dbc25Smrg#serial 5
9732f29dbc25Smrg
9733f29dbc25Smrg# _AM_OUTPUT_DEPENDENCY_COMMANDS
9734f29dbc25Smrg# ------------------------------
9735f29dbc25SmrgAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
9736f29dbc25Smrg[{
9737f29dbc25Smrg  # Autoconf 2.62 quotes --file arguments for eval, but not when files
9738f29dbc25Smrg  # are listed without --file.  Let's play safe and only enable the eval
9739f29dbc25Smrg  # if we detect the quoting.
9740f29dbc25Smrg  case $CONFIG_FILES in
9741f29dbc25Smrg  *\'*) eval set x "$CONFIG_FILES" ;;
9742f29dbc25Smrg  *)   set x $CONFIG_FILES ;;
9743f29dbc25Smrg  esac
9744f29dbc25Smrg  shift
9745f29dbc25Smrg  for mf
9746f29dbc25Smrg  do
9747f29dbc25Smrg    # Strip MF so we end up with the name of the file.
9748f29dbc25Smrg    mf=`echo "$mf" | sed -e 's/:.*$//'`
9749f29dbc25Smrg    # Check whether this is an Automake generated Makefile or not.
9750f29dbc25Smrg    # We used to match only the files named `Makefile.in', but
9751f29dbc25Smrg    # some people rename them; so instead we look at the file content.
9752f29dbc25Smrg    # Grep'ing the first line is not enough: some people post-process
9753f29dbc25Smrg    # each Makefile.in and add a new line on top of each file to say so.
9754f29dbc25Smrg    # Grep'ing the whole file is not good either: AIX grep has a line
9755f29dbc25Smrg    # limit of 2048, but all sed's we know have understand at least 4000.
9756f29dbc25Smrg    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
9757f29dbc25Smrg      dirpart=`AS_DIRNAME("$mf")`
9758f29dbc25Smrg    else
9759f29dbc25Smrg      continue
9760f29dbc25Smrg    fi
9761f29dbc25Smrg    # Extract the definition of DEPDIR, am__include, and am__quote
9762f29dbc25Smrg    # from the Makefile without running `make'.
9763f29dbc25Smrg    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
9764f29dbc25Smrg    test -z "$DEPDIR" && continue
9765f29dbc25Smrg    am__include=`sed -n 's/^am__include = //p' < "$mf"`
9766f29dbc25Smrg    test -z "am__include" && continue
9767f29dbc25Smrg    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
9768f29dbc25Smrg    # When using ansi2knr, U may be empty or an underscore; expand it
9769f29dbc25Smrg    U=`sed -n 's/^U = //p' < "$mf"`
9770f29dbc25Smrg    # Find all dependency output files, they are included files with
9771f29dbc25Smrg    # $(DEPDIR) in their names.  We invoke sed twice because it is the
9772f29dbc25Smrg    # simplest approach to changing $(DEPDIR) to its actual value in the
9773f29dbc25Smrg    # expansion.
9774f29dbc25Smrg    for file in `sed -n "
9775f29dbc25Smrg      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
9776f29dbc25Smrg	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
9777f29dbc25Smrg      # Make sure the directory exists.
9778f29dbc25Smrg      test -f "$dirpart/$file" && continue
9779f29dbc25Smrg      fdir=`AS_DIRNAME(["$file"])`
9780f29dbc25Smrg      AS_MKDIR_P([$dirpart/$fdir])
9781f29dbc25Smrg      # echo "creating $dirpart/$file"
9782f29dbc25Smrg      echo '# dummy' > "$dirpart/$file"
9783f29dbc25Smrg    done
9784f29dbc25Smrg  done
9785f29dbc25Smrg}
9786f29dbc25Smrg])# _AM_OUTPUT_DEPENDENCY_COMMANDS
9787f29dbc25Smrg
9788f29dbc25Smrg
9789f29dbc25Smrg# AM_OUTPUT_DEPENDENCY_COMMANDS
9790f29dbc25Smrg# -----------------------------
9791f29dbc25Smrg# This macro should only be invoked once -- use via AC_REQUIRE.
9792f29dbc25Smrg#
9793f29dbc25Smrg# This code is only required when automatic dependency tracking
9794f29dbc25Smrg# is enabled.  FIXME.  This creates each `.P' file that we will
9795f29dbc25Smrg# need in order to bootstrap the dependency handling code.
9796f29dbc25SmrgAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
9797f29dbc25Smrg[AC_CONFIG_COMMANDS([depfiles],
9798f29dbc25Smrg     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
9799f29dbc25Smrg     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
9800f29dbc25Smrg])
9801f29dbc25Smrg
9802f29dbc25Smrg# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
9803f29dbc25Smrg# Free Software Foundation, Inc.
9804f29dbc25Smrg#
9805f29dbc25Smrg# This file is free software; the Free Software Foundation
9806f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9807f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9808f29dbc25Smrg
9809f29dbc25Smrg# serial 8
9810f29dbc25Smrg
9811f29dbc25Smrg# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
9812f29dbc25SmrgAU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
9813f29dbc25Smrg
9814f29dbc25Smrg# Do all the work for Automake.                             -*- Autoconf -*-
9815f29dbc25Smrg
9816f29dbc25Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
9817f29dbc25Smrg# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
9818f29dbc25Smrg#
9819f29dbc25Smrg# This file is free software; the Free Software Foundation
9820f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9821f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9822f29dbc25Smrg
9823f29dbc25Smrg# serial 16
9824f29dbc25Smrg
9825f29dbc25Smrg# This macro actually does too much.  Some checks are only needed if
9826f29dbc25Smrg# your package does certain things.  But this isn't really a big deal.
9827f29dbc25Smrg
9828f29dbc25Smrg# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
9829f29dbc25Smrg# AM_INIT_AUTOMAKE([OPTIONS])
9830f29dbc25Smrg# -----------------------------------------------
9831f29dbc25Smrg# The call with PACKAGE and VERSION arguments is the old style
9832f29dbc25Smrg# call (pre autoconf-2.50), which is being phased out.  PACKAGE
9833f29dbc25Smrg# and VERSION should now be passed to AC_INIT and removed from
9834f29dbc25Smrg# the call to AM_INIT_AUTOMAKE.
9835f29dbc25Smrg# We support both call styles for the transition.  After
9836f29dbc25Smrg# the next Automake release, Autoconf can make the AC_INIT
9837f29dbc25Smrg# arguments mandatory, and then we can depend on a new Autoconf
9838f29dbc25Smrg# release and drop the old call support.
9839f29dbc25SmrgAC_DEFUN([AM_INIT_AUTOMAKE],
9840f29dbc25Smrg[AC_PREREQ([2.62])dnl
9841f29dbc25Smrgdnl Autoconf wants to disallow AM_ names.  We explicitly allow
9842f29dbc25Smrgdnl the ones we care about.
9843f29dbc25Smrgm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
9844f29dbc25SmrgAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
9845f29dbc25SmrgAC_REQUIRE([AC_PROG_INSTALL])dnl
9846f29dbc25Smrgif test "`cd $srcdir && pwd`" != "`pwd`"; then
9847f29dbc25Smrg  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
9848f29dbc25Smrg  # is not polluted with repeated "-I."
9849f29dbc25Smrg  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
9850f29dbc25Smrg  # test to see if srcdir already configured
9851f29dbc25Smrg  if test -f $srcdir/config.status; then
9852f29dbc25Smrg    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
9853f29dbc25Smrg  fi
9854f29dbc25Smrgfi
9855f29dbc25Smrg
9856f29dbc25Smrg# test whether we have cygpath
9857f29dbc25Smrgif test -z "$CYGPATH_W"; then
9858f29dbc25Smrg  if (cygpath --version) >/dev/null 2>/dev/null; then
9859f29dbc25Smrg    CYGPATH_W='cygpath -w'
9860f29dbc25Smrg  else
9861f29dbc25Smrg    CYGPATH_W=echo
9862f29dbc25Smrg  fi
9863f29dbc25Smrgfi
9864f29dbc25SmrgAC_SUBST([CYGPATH_W])
9865f29dbc25Smrg
9866f29dbc25Smrg# Define the identity of the package.
9867f29dbc25Smrgdnl Distinguish between old-style and new-style calls.
9868f29dbc25Smrgm4_ifval([$2],
9869f29dbc25Smrg[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
9870f29dbc25Smrg AC_SUBST([PACKAGE], [$1])dnl
9871f29dbc25Smrg AC_SUBST([VERSION], [$2])],
9872f29dbc25Smrg[_AM_SET_OPTIONS([$1])dnl
9873f29dbc25Smrgdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
9874f29dbc25Smrgm4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
9875f29dbc25Smrg  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
9876f29dbc25Smrg AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
9877f29dbc25Smrg AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
9878f29dbc25Smrg
9879f29dbc25Smrg_AM_IF_OPTION([no-define],,
9880f29dbc25Smrg[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
9881f29dbc25Smrg AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
9882f29dbc25Smrg
9883f29dbc25Smrg# Some tools Automake needs.
9884f29dbc25SmrgAC_REQUIRE([AM_SANITY_CHECK])dnl
9885f29dbc25SmrgAC_REQUIRE([AC_ARG_PROGRAM])dnl
9886f29dbc25SmrgAM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
9887f29dbc25SmrgAM_MISSING_PROG(AUTOCONF, autoconf)
9888f29dbc25SmrgAM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
9889f29dbc25SmrgAM_MISSING_PROG(AUTOHEADER, autoheader)
9890f29dbc25SmrgAM_MISSING_PROG(MAKEINFO, makeinfo)
9891f29dbc25SmrgAC_REQUIRE([AM_PROG_INSTALL_SH])dnl
9892f29dbc25SmrgAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
9893f29dbc25SmrgAC_REQUIRE([AM_PROG_MKDIR_P])dnl
9894f29dbc25Smrg# We need awk for the "check" target.  The system "awk" is bad on
9895f29dbc25Smrg# some platforms.
9896f29dbc25SmrgAC_REQUIRE([AC_PROG_AWK])dnl
9897f29dbc25SmrgAC_REQUIRE([AC_PROG_MAKE_SET])dnl
9898f29dbc25SmrgAC_REQUIRE([AM_SET_LEADING_DOT])dnl
9899f29dbc25Smrg_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
9900f29dbc25Smrg	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
9901f29dbc25Smrg			     [_AM_PROG_TAR([v7])])])
9902f29dbc25Smrg_AM_IF_OPTION([no-dependencies],,
9903f29dbc25Smrg[AC_PROVIDE_IFELSE([AC_PROG_CC],
9904f29dbc25Smrg		  [_AM_DEPENDENCIES(CC)],
9905f29dbc25Smrg		  [define([AC_PROG_CC],
9906f29dbc25Smrg			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
9907f29dbc25SmrgAC_PROVIDE_IFELSE([AC_PROG_CXX],
9908f29dbc25Smrg		  [_AM_DEPENDENCIES(CXX)],
9909f29dbc25Smrg		  [define([AC_PROG_CXX],
9910f29dbc25Smrg			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
9911f29dbc25SmrgAC_PROVIDE_IFELSE([AC_PROG_OBJC],
9912f29dbc25Smrg		  [_AM_DEPENDENCIES(OBJC)],
9913f29dbc25Smrg		  [define([AC_PROG_OBJC],
9914f29dbc25Smrg			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
9915f29dbc25Smrg])
9916f29dbc25Smrg_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
9917f29dbc25Smrgdnl The `parallel-tests' driver may need to know about EXEEXT, so add the
9918f29dbc25Smrgdnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
9919f29dbc25Smrgdnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
9920f29dbc25SmrgAC_CONFIG_COMMANDS_PRE(dnl
9921f29dbc25Smrg[m4_provide_if([_AM_COMPILER_EXEEXT],
9922f29dbc25Smrg  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
9923f29dbc25Smrg])
9924f29dbc25Smrg
9925f29dbc25Smrgdnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
9926f29dbc25Smrgdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
9927f29dbc25Smrgdnl mangled by Autoconf and run in a shell conditional statement.
9928f29dbc25Smrgm4_define([_AC_COMPILER_EXEEXT],
9929f29dbc25Smrgm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
9930f29dbc25Smrg
9931f29dbc25Smrg
9932f29dbc25Smrg# When config.status generates a header, we must update the stamp-h file.
9933f29dbc25Smrg# This file resides in the same directory as the config header
9934f29dbc25Smrg# that is generated.  The stamp files are numbered to have different names.
9935f29dbc25Smrg
9936f29dbc25Smrg# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
9937f29dbc25Smrg# loop where config.status creates the headers, so we can generate
9938f29dbc25Smrg# our stamp files there.
9939f29dbc25SmrgAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
9940f29dbc25Smrg[# Compute $1's index in $config_headers.
9941f29dbc25Smrg_am_arg=$1
9942f29dbc25Smrg_am_stamp_count=1
9943f29dbc25Smrgfor _am_header in $config_headers :; do
9944f29dbc25Smrg  case $_am_header in
9945f29dbc25Smrg    $_am_arg | $_am_arg:* )
9946f29dbc25Smrg      break ;;
9947f29dbc25Smrg    * )
9948f29dbc25Smrg      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
9949f29dbc25Smrg  esac
9950f29dbc25Smrgdone
9951f29dbc25Smrgecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
9952f29dbc25Smrg
9953f29dbc25Smrg# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
9954f29dbc25Smrg#
9955f29dbc25Smrg# This file is free software; the Free Software Foundation
9956f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9957f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9958f29dbc25Smrg
9959f29dbc25Smrg# AM_PROG_INSTALL_SH
9960f29dbc25Smrg# ------------------
9961f29dbc25Smrg# Define $install_sh.
9962f29dbc25SmrgAC_DEFUN([AM_PROG_INSTALL_SH],
9963f29dbc25Smrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
9964f29dbc25Smrgif test x"${install_sh}" != xset; then
9965f29dbc25Smrg  case $am_aux_dir in
9966f29dbc25Smrg  *\ * | *\	*)
9967f29dbc25Smrg    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
9968f29dbc25Smrg  *)
9969f29dbc25Smrg    install_sh="\${SHELL} $am_aux_dir/install-sh"
9970f29dbc25Smrg  esac
9971f29dbc25Smrgfi
9972f29dbc25SmrgAC_SUBST(install_sh)])
9973f29dbc25Smrg
9974f29dbc25Smrg# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
9975f29dbc25Smrg#
9976f29dbc25Smrg# This file is free software; the Free Software Foundation
9977f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
9978f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
9979f29dbc25Smrg
9980f29dbc25Smrg# serial 2
9981f29dbc25Smrg
9982f29dbc25Smrg# Check whether the underlying file-system supports filenames
9983f29dbc25Smrg# with a leading dot.  For instance MS-DOS doesn't.
9984f29dbc25SmrgAC_DEFUN([AM_SET_LEADING_DOT],
9985f29dbc25Smrg[rm -rf .tst 2>/dev/null
9986f29dbc25Smrgmkdir .tst 2>/dev/null
9987f29dbc25Smrgif test -d .tst; then
9988f29dbc25Smrg  am__leading_dot=.
9989f29dbc25Smrgelse
9990f29dbc25Smrg  am__leading_dot=_
9991f29dbc25Smrgfi
9992f29dbc25Smrgrmdir .tst 2>/dev/null
9993f29dbc25SmrgAC_SUBST([am__leading_dot])])
9994f29dbc25Smrg
9995f29dbc25Smrg# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
9996f29dbc25Smrg# From Jim Meyering
9997f29dbc25Smrg
9998f29dbc25Smrg# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
9999f29dbc25Smrg# Free Software Foundation, Inc.
10000f29dbc25Smrg#
10001f29dbc25Smrg# This file is free software; the Free Software Foundation
10002f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10003f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10004f29dbc25Smrg
10005f29dbc25Smrg# serial 5
10006f29dbc25Smrg
10007f29dbc25Smrg# AM_MAINTAINER_MODE([DEFAULT-MODE])
10008f29dbc25Smrg# ----------------------------------
10009f29dbc25Smrg# Control maintainer-specific portions of Makefiles.
10010f29dbc25Smrg# Default is to disable them, unless `enable' is passed literally.
10011f29dbc25Smrg# For symmetry, `disable' may be passed as well.  Anyway, the user
10012f29dbc25Smrg# can override the default with the --enable/--disable switch.
10013f29dbc25SmrgAC_DEFUN([AM_MAINTAINER_MODE],
10014f29dbc25Smrg[m4_case(m4_default([$1], [disable]),
10015f29dbc25Smrg       [enable], [m4_define([am_maintainer_other], [disable])],
10016f29dbc25Smrg       [disable], [m4_define([am_maintainer_other], [enable])],
10017f29dbc25Smrg       [m4_define([am_maintainer_other], [enable])
10018f29dbc25Smrg        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
10019f29dbc25SmrgAC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
10020f29dbc25Smrg  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
10021f29dbc25Smrg  AC_ARG_ENABLE([maintainer-mode],
10022f29dbc25Smrg[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
10023f29dbc25Smrg			  (and sometimes confusing) to the casual installer],
10024f29dbc25Smrg      [USE_MAINTAINER_MODE=$enableval],
10025f29dbc25Smrg      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
10026f29dbc25Smrg  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
10027f29dbc25Smrg  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
10028f29dbc25Smrg  MAINT=$MAINTAINER_MODE_TRUE
10029f29dbc25Smrg  AC_SUBST([MAINT])dnl
10030f29dbc25Smrg]
10031f29dbc25Smrg)
10032f29dbc25Smrg
10033f29dbc25SmrgAU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
10034f29dbc25Smrg
10035f29dbc25Smrg# Check to see how 'make' treats includes.	            -*- Autoconf -*-
10036f29dbc25Smrg
10037f29dbc25Smrg# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
10038f29dbc25Smrg#
10039f29dbc25Smrg# This file is free software; the Free Software Foundation
10040f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10041f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10042f29dbc25Smrg
10043f29dbc25Smrg# serial 4
10044f29dbc25Smrg
10045f29dbc25Smrg# AM_MAKE_INCLUDE()
10046f29dbc25Smrg# -----------------
10047f29dbc25Smrg# Check to see how make treats includes.
10048f29dbc25SmrgAC_DEFUN([AM_MAKE_INCLUDE],
10049f29dbc25Smrg[am_make=${MAKE-make}
10050f29dbc25Smrgcat > confinc << 'END'
10051f29dbc25Smrgam__doit:
10052f29dbc25Smrg	@echo this is the am__doit target
10053f29dbc25Smrg.PHONY: am__doit
10054f29dbc25SmrgEND
10055f29dbc25Smrg# If we don't find an include directive, just comment out the code.
10056f29dbc25SmrgAC_MSG_CHECKING([for style of include used by $am_make])
10057f29dbc25Smrgam__include="#"
10058f29dbc25Smrgam__quote=
10059f29dbc25Smrg_am_result=none
10060f29dbc25Smrg# First try GNU make style include.
10061f29dbc25Smrgecho "include confinc" > confmf
10062f29dbc25Smrg# Ignore all kinds of additional output from `make'.
10063f29dbc25Smrgcase `$am_make -s -f confmf 2> /dev/null` in #(
10064f29dbc25Smrg*the\ am__doit\ target*)
10065f29dbc25Smrg  am__include=include
10066f29dbc25Smrg  am__quote=
10067f29dbc25Smrg  _am_result=GNU
10068f29dbc25Smrg  ;;
10069f29dbc25Smrgesac
10070f29dbc25Smrg# Now try BSD make style include.
10071f29dbc25Smrgif test "$am__include" = "#"; then
10072f29dbc25Smrg   echo '.include "confinc"' > confmf
10073f29dbc25Smrg   case `$am_make -s -f confmf 2> /dev/null` in #(
10074f29dbc25Smrg   *the\ am__doit\ target*)
10075f29dbc25Smrg     am__include=.include
10076f29dbc25Smrg     am__quote="\""
10077f29dbc25Smrg     _am_result=BSD
10078f29dbc25Smrg     ;;
10079f29dbc25Smrg   esac
10080f29dbc25Smrgfi
10081f29dbc25SmrgAC_SUBST([am__include])
10082f29dbc25SmrgAC_SUBST([am__quote])
10083f29dbc25SmrgAC_MSG_RESULT([$_am_result])
10084f29dbc25Smrgrm -f confinc confmf
10085f29dbc25Smrg])
10086f29dbc25Smrg
10087f29dbc25Smrg# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
10088f29dbc25Smrg
10089f29dbc25Smrg# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
10090f29dbc25Smrg# Free Software Foundation, Inc.
10091f29dbc25Smrg#
10092f29dbc25Smrg# This file is free software; the Free Software Foundation
10093f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10094f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10095f29dbc25Smrg
10096f29dbc25Smrg# serial 6
10097f29dbc25Smrg
10098f29dbc25Smrg# AM_MISSING_PROG(NAME, PROGRAM)
10099f29dbc25Smrg# ------------------------------
10100f29dbc25SmrgAC_DEFUN([AM_MISSING_PROG],
10101f29dbc25Smrg[AC_REQUIRE([AM_MISSING_HAS_RUN])
10102f29dbc25Smrg$1=${$1-"${am_missing_run}$2"}
10103f29dbc25SmrgAC_SUBST($1)])
10104f29dbc25Smrg
10105f29dbc25Smrg
10106f29dbc25Smrg# AM_MISSING_HAS_RUN
10107f29dbc25Smrg# ------------------
10108f29dbc25Smrg# Define MISSING if not defined so far and test if it supports --run.
10109f29dbc25Smrg# If it does, set am_missing_run to use it, otherwise, to nothing.
10110f29dbc25SmrgAC_DEFUN([AM_MISSING_HAS_RUN],
10111f29dbc25Smrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
10112f29dbc25SmrgAC_REQUIRE_AUX_FILE([missing])dnl
10113f29dbc25Smrgif test x"${MISSING+set}" != xset; then
10114f29dbc25Smrg  case $am_aux_dir in
10115f29dbc25Smrg  *\ * | *\	*)
10116f29dbc25Smrg    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
10117f29dbc25Smrg  *)
10118f29dbc25Smrg    MISSING="\${SHELL} $am_aux_dir/missing" ;;
10119f29dbc25Smrg  esac
10120f29dbc25Smrgfi
10121f29dbc25Smrg# Use eval to expand $SHELL
10122f29dbc25Smrgif eval "$MISSING --run true"; then
10123f29dbc25Smrg  am_missing_run="$MISSING --run "
10124f29dbc25Smrgelse
10125f29dbc25Smrg  am_missing_run=
10126f29dbc25Smrg  AC_MSG_WARN([`missing' script is too old or missing])
10127f29dbc25Smrgfi
10128f29dbc25Smrg])
10129f29dbc25Smrg
10130f29dbc25Smrg# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
10131f29dbc25Smrg#
10132f29dbc25Smrg# This file is free software; the Free Software Foundation
10133f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10134f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10135f29dbc25Smrg
10136f29dbc25Smrg# AM_PROG_MKDIR_P
10137f29dbc25Smrg# ---------------
10138f29dbc25Smrg# Check for `mkdir -p'.
10139f29dbc25SmrgAC_DEFUN([AM_PROG_MKDIR_P],
10140f29dbc25Smrg[AC_PREREQ([2.60])dnl
10141f29dbc25SmrgAC_REQUIRE([AC_PROG_MKDIR_P])dnl
10142f29dbc25Smrgdnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
10143f29dbc25Smrgdnl while keeping a definition of mkdir_p for backward compatibility.
10144f29dbc25Smrgdnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
10145f29dbc25Smrgdnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
10146f29dbc25Smrgdnl Makefile.ins that do not define MKDIR_P, so we do our own
10147f29dbc25Smrgdnl adjustment using top_builddir (which is defined more often than
10148f29dbc25Smrgdnl MKDIR_P).
10149f29dbc25SmrgAC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
10150f29dbc25Smrgcase $mkdir_p in
10151f29dbc25Smrg  [[\\/$]]* | ?:[[\\/]]*) ;;
10152f29dbc25Smrg  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
10153f29dbc25Smrgesac
10154f29dbc25Smrg])
10155f29dbc25Smrg
10156f29dbc25Smrg# Helper functions for option handling.                     -*- Autoconf -*-
10157f29dbc25Smrg
10158f29dbc25Smrg# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
10159f29dbc25Smrg#
10160f29dbc25Smrg# This file is free software; the Free Software Foundation
10161f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10162f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10163f29dbc25Smrg
10164f29dbc25Smrg# serial 4
10165f29dbc25Smrg
10166f29dbc25Smrg# _AM_MANGLE_OPTION(NAME)
10167f29dbc25Smrg# -----------------------
10168f29dbc25SmrgAC_DEFUN([_AM_MANGLE_OPTION],
10169f29dbc25Smrg[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
10170f29dbc25Smrg
10171f29dbc25Smrg# _AM_SET_OPTION(NAME)
10172f29dbc25Smrg# ------------------------------
10173f29dbc25Smrg# Set option NAME.  Presently that only means defining a flag for this option.
10174f29dbc25SmrgAC_DEFUN([_AM_SET_OPTION],
10175f29dbc25Smrg[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
10176f29dbc25Smrg
10177f29dbc25Smrg# _AM_SET_OPTIONS(OPTIONS)
10178f29dbc25Smrg# ----------------------------------
10179f29dbc25Smrg# OPTIONS is a space-separated list of Automake options.
10180f29dbc25SmrgAC_DEFUN([_AM_SET_OPTIONS],
10181f29dbc25Smrg[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
10182f29dbc25Smrg
10183f29dbc25Smrg# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
10184f29dbc25Smrg# -------------------------------------------
10185f29dbc25Smrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
10186f29dbc25SmrgAC_DEFUN([_AM_IF_OPTION],
10187f29dbc25Smrg[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
10188f29dbc25Smrg
10189f29dbc25Smrg# Check to make sure that the build environment is sane.    -*- Autoconf -*-
10190f29dbc25Smrg
10191f29dbc25Smrg# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
10192f29dbc25Smrg# Free Software Foundation, Inc.
10193f29dbc25Smrg#
10194f29dbc25Smrg# This file is free software; the Free Software Foundation
10195f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10196f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10197f29dbc25Smrg
10198f29dbc25Smrg# serial 5
10199f29dbc25Smrg
10200f29dbc25Smrg# AM_SANITY_CHECK
10201f29dbc25Smrg# ---------------
10202f29dbc25SmrgAC_DEFUN([AM_SANITY_CHECK],
10203f29dbc25Smrg[AC_MSG_CHECKING([whether build environment is sane])
10204f29dbc25Smrg# Just in case
10205f29dbc25Smrgsleep 1
10206f29dbc25Smrgecho timestamp > conftest.file
10207f29dbc25Smrg# Reject unsafe characters in $srcdir or the absolute working directory
10208f29dbc25Smrg# name.  Accept space and tab only in the latter.
10209f29dbc25Smrgam_lf='
10210f29dbc25Smrg'
10211f29dbc25Smrgcase `pwd` in
10212f29dbc25Smrg  *[[\\\"\#\$\&\'\`$am_lf]]*)
10213f29dbc25Smrg    AC_MSG_ERROR([unsafe absolute working directory name]);;
10214f29dbc25Smrgesac
10215f29dbc25Smrgcase $srcdir in
10216f29dbc25Smrg  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
10217f29dbc25Smrg    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
10218f29dbc25Smrgesac
10219f29dbc25Smrg
10220f29dbc25Smrg# Do `set' in a subshell so we don't clobber the current shell's
10221f29dbc25Smrg# arguments.  Must try -L first in case configure is actually a
10222f29dbc25Smrg# symlink; some systems play weird games with the mod time of symlinks
10223f29dbc25Smrg# (eg FreeBSD returns the mod time of the symlink's containing
10224f29dbc25Smrg# directory).
10225f29dbc25Smrgif (
10226f29dbc25Smrg   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
10227f29dbc25Smrg   if test "$[*]" = "X"; then
10228f29dbc25Smrg      # -L didn't work.
10229f29dbc25Smrg      set X `ls -t "$srcdir/configure" conftest.file`
10230f29dbc25Smrg   fi
10231f29dbc25Smrg   rm -f conftest.file
10232f29dbc25Smrg   if test "$[*]" != "X $srcdir/configure conftest.file" \
10233f29dbc25Smrg      && test "$[*]" != "X conftest.file $srcdir/configure"; then
10234f29dbc25Smrg
10235f29dbc25Smrg      # If neither matched, then we have a broken ls.  This can happen
10236f29dbc25Smrg      # if, for instance, CONFIG_SHELL is bash and it inherits a
10237f29dbc25Smrg      # broken ls alias from the environment.  This has actually
10238f29dbc25Smrg      # happened.  Such a system could not be considered "sane".
10239f29dbc25Smrg      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
10240f29dbc25Smrgalias in your environment])
10241f29dbc25Smrg   fi
10242f29dbc25Smrg
10243f29dbc25Smrg   test "$[2]" = conftest.file
10244f29dbc25Smrg   )
10245f29dbc25Smrgthen
10246f29dbc25Smrg   # Ok.
10247f29dbc25Smrg   :
10248f29dbc25Smrgelse
10249f29dbc25Smrg   AC_MSG_ERROR([newly created file is older than distributed files!
10250f29dbc25SmrgCheck your system clock])
10251f29dbc25Smrgfi
10252f29dbc25SmrgAC_MSG_RESULT(yes)])
10253f29dbc25Smrg
10254f29dbc25Smrg# Copyright (C) 2009  Free Software Foundation, Inc.
10255f29dbc25Smrg#
10256f29dbc25Smrg# This file is free software; the Free Software Foundation
10257f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10258f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10259f29dbc25Smrg
10260f29dbc25Smrg# serial 1
10261f29dbc25Smrg
10262f29dbc25Smrg# AM_SILENT_RULES([DEFAULT])
10263f29dbc25Smrg# --------------------------
10264f29dbc25Smrg# Enable less verbose build rules; with the default set to DEFAULT
10265f29dbc25Smrg# (`yes' being less verbose, `no' or empty being verbose).
10266f29dbc25SmrgAC_DEFUN([AM_SILENT_RULES],
10267f29dbc25Smrg[AC_ARG_ENABLE([silent-rules],
10268f29dbc25Smrg[  --enable-silent-rules          less verbose build output (undo: `make V=1')
10269f29dbc25Smrg  --disable-silent-rules         verbose build output (undo: `make V=0')])
10270f29dbc25Smrgcase $enable_silent_rules in
10271f29dbc25Smrgyes) AM_DEFAULT_VERBOSITY=0;;
10272f29dbc25Smrgno)  AM_DEFAULT_VERBOSITY=1;;
10273f29dbc25Smrg*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
10274f29dbc25Smrgesac
10275f29dbc25SmrgAC_SUBST([AM_DEFAULT_VERBOSITY])dnl
10276f29dbc25SmrgAM_BACKSLASH='\'
10277f29dbc25SmrgAC_SUBST([AM_BACKSLASH])dnl
10278f29dbc25Smrg_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
10279f29dbc25Smrg])
10280f29dbc25Smrg
10281f29dbc25Smrg# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
10282f29dbc25Smrg#
10283f29dbc25Smrg# This file is free software; the Free Software Foundation
10284f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10285f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10286f29dbc25Smrg
10287f29dbc25Smrg# AM_PROG_INSTALL_STRIP
10288f29dbc25Smrg# ---------------------
10289f29dbc25Smrg# One issue with vendor `install' (even GNU) is that you can't
10290f29dbc25Smrg# specify the program used to strip binaries.  This is especially
10291f29dbc25Smrg# annoying in cross-compiling environments, where the build's strip
10292f29dbc25Smrg# is unlikely to handle the host's binaries.
10293f29dbc25Smrg# Fortunately install-sh will honor a STRIPPROG variable, so we
10294f29dbc25Smrg# always use install-sh in `make install-strip', and initialize
10295f29dbc25Smrg# STRIPPROG with the value of the STRIP variable (set by the user).
10296f29dbc25SmrgAC_DEFUN([AM_PROG_INSTALL_STRIP],
10297f29dbc25Smrg[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
10298f29dbc25Smrg# Installed binaries are usually stripped using `strip' when the user
10299f29dbc25Smrg# run `make install-strip'.  However `strip' might not be the right
10300f29dbc25Smrg# tool to use in cross-compilation environments, therefore Automake
10301f29dbc25Smrg# will honor the `STRIP' environment variable to overrule this program.
10302f29dbc25Smrgdnl Don't test for $cross_compiling = yes, because it might be `maybe'.
10303f29dbc25Smrgif test "$cross_compiling" != no; then
10304f29dbc25Smrg  AC_CHECK_TOOL([STRIP], [strip], :)
10305f29dbc25Smrgfi
10306f29dbc25SmrgINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
10307f29dbc25SmrgAC_SUBST([INSTALL_STRIP_PROGRAM])])
10308f29dbc25Smrg
10309f29dbc25Smrg# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
10310f29dbc25Smrg#
10311f29dbc25Smrg# This file is free software; the Free Software Foundation
10312f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10313f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10314f29dbc25Smrg
10315f29dbc25Smrg# serial 2
10316f29dbc25Smrg
10317f29dbc25Smrg# _AM_SUBST_NOTMAKE(VARIABLE)
10318f29dbc25Smrg# ---------------------------
10319f29dbc25Smrg# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
10320f29dbc25Smrg# This macro is traced by Automake.
10321f29dbc25SmrgAC_DEFUN([_AM_SUBST_NOTMAKE])
10322f29dbc25Smrg
10323f29dbc25Smrg# AM_SUBST_NOTMAKE(VARIABLE)
10324f29dbc25Smrg# ---------------------------
10325f29dbc25Smrg# Public sister of _AM_SUBST_NOTMAKE.
10326f29dbc25SmrgAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
10327f29dbc25Smrg
10328f29dbc25Smrg# Check how to create a tarball.                            -*- Autoconf -*-
10329f29dbc25Smrg
10330f29dbc25Smrg# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
10331f29dbc25Smrg#
10332f29dbc25Smrg# This file is free software; the Free Software Foundation
10333f29dbc25Smrg# gives unlimited permission to copy and/or distribute it,
10334f29dbc25Smrg# with or without modifications, as long as this notice is preserved.
10335f29dbc25Smrg
10336f29dbc25Smrg# serial 2
10337f29dbc25Smrg
10338f29dbc25Smrg# _AM_PROG_TAR(FORMAT)
10339f29dbc25Smrg# --------------------
10340f29dbc25Smrg# Check how to create a tarball in format FORMAT.
10341f29dbc25Smrg# FORMAT should be one of `v7', `ustar', or `pax'.
10342f29dbc25Smrg#
10343f29dbc25Smrg# Substitute a variable $(am__tar) that is a command
10344f29dbc25Smrg# writing to stdout a FORMAT-tarball containing the directory
10345f29dbc25Smrg# $tardir.
10346f29dbc25Smrg#     tardir=directory && $(am__tar) > result.tar
10347f29dbc25Smrg#
10348f29dbc25Smrg# Substitute a variable $(am__untar) that extract such
10349f29dbc25Smrg# a tarball read from stdin.
10350f29dbc25Smrg#     $(am__untar) < result.tar
10351f29dbc25SmrgAC_DEFUN([_AM_PROG_TAR],
10352f29dbc25Smrg[# Always define AMTAR for backward compatibility.
10353f29dbc25SmrgAM_MISSING_PROG([AMTAR], [tar])
10354f29dbc25Smrgm4_if([$1], [v7],
10355f29dbc25Smrg     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
10356f29dbc25Smrg     [m4_case([$1], [ustar],, [pax],,
10357f29dbc25Smrg              [m4_fatal([Unknown tar format])])
10358f29dbc25SmrgAC_MSG_CHECKING([how to create a $1 tar archive])
10359f29dbc25Smrg# Loop over all known methods to create a tar archive until one works.
10360f29dbc25Smrg_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
10361f29dbc25Smrg_am_tools=${am_cv_prog_tar_$1-$_am_tools}
10362f29dbc25Smrg# Do not fold the above two line into one, because Tru64 sh and
10363f29dbc25Smrg# Solaris sh will not grok spaces in the rhs of `-'.
10364f29dbc25Smrgfor _am_tool in $_am_tools
10365f29dbc25Smrgdo
10366f29dbc25Smrg  case $_am_tool in
10367f29dbc25Smrg  gnutar)
10368f29dbc25Smrg    for _am_tar in tar gnutar gtar;
10369f29dbc25Smrg    do
10370f29dbc25Smrg      AM_RUN_LOG([$_am_tar --version]) && break
10371f29dbc25Smrg    done
10372f29dbc25Smrg    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
10373f29dbc25Smrg    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
10374f29dbc25Smrg    am__untar="$_am_tar -xf -"
10375f29dbc25Smrg    ;;
10376f29dbc25Smrg  plaintar)
10377f29dbc25Smrg    # Must skip GNU tar: if it does not support --format= it doesn't create
10378f29dbc25Smrg    # ustar tarball either.
10379f29dbc25Smrg    (tar --version) >/dev/null 2>&1 && continue
10380f29dbc25Smrg    am__tar='tar chf - "$$tardir"'
10381f29dbc25Smrg    am__tar_='tar chf - "$tardir"'
10382f29dbc25Smrg    am__untar='tar xf -'
10383f29dbc25Smrg    ;;
10384f29dbc25Smrg  pax)
10385f29dbc25Smrg    am__tar='pax -L -x $1 -w "$$tardir"'
10386f29dbc25Smrg    am__tar_='pax -L -x $1 -w "$tardir"'
10387f29dbc25Smrg    am__untar='pax -r'
10388f29dbc25Smrg    ;;
10389f29dbc25Smrg  cpio)
10390f29dbc25Smrg    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
10391f29dbc25Smrg    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
10392f29dbc25Smrg    am__untar='cpio -i -H $1 -d'
10393f29dbc25Smrg    ;;
10394f29dbc25Smrg  none)
10395f29dbc25Smrg    am__tar=false
10396f29dbc25Smrg    am__tar_=false
10397f29dbc25Smrg    am__untar=false
10398f29dbc25Smrg    ;;
10399f29dbc25Smrg  esac
10400f29dbc25Smrg
10401f29dbc25Smrg  # If the value was cached, stop now.  We just wanted to have am__tar
10402f29dbc25Smrg  # and am__untar set.
10403f29dbc25Smrg  test -n "${am_cv_prog_tar_$1}" && break
10404f29dbc25Smrg
10405f29dbc25Smrg  # tar/untar a dummy directory, and stop if the command works
10406f29dbc25Smrg  rm -rf conftest.dir
10407f29dbc25Smrg  mkdir conftest.dir
10408f29dbc25Smrg  echo GrepMe > conftest.dir/file
10409f29dbc25Smrg  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
10410f29dbc25Smrg  rm -rf conftest.dir
10411f29dbc25Smrg  if test -s conftest.tar; then
10412f29dbc25Smrg    AM_RUN_LOG([$am__untar <conftest.tar])
10413f29dbc25Smrg    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
10414f29dbc25Smrg  fi
10415f29dbc25Smrgdone
10416f29dbc25Smrgrm -rf conftest.dir
10417f29dbc25Smrg
10418f29dbc25SmrgAC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
10419f29dbc25SmrgAC_MSG_RESULT([$am_cv_prog_tar_$1])])
10420f29dbc25SmrgAC_SUBST([am__tar])
10421f29dbc25SmrgAC_SUBST([am__untar])
10422f29dbc25Smrg]) # _AM_PROG_TAR
10423f29dbc25Smrg
10424