1f010a93dSmrg# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
2cf503b78Smrg
3f010a93dSmrg# Copyright (C) 1996-2021 Free Software Foundation, Inc.
415fb4814Smrg
515fb4814Smrg# This file is free software; the Free Software Foundation
615fb4814Smrg# gives unlimited permission to copy and/or distribute it,
715fb4814Smrg# with or without modifications, as long as this notice is preserved.
815fb4814Smrg
915fb4814Smrg# This program is distributed in the hope that it will be useful,
1015fb4814Smrg# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
1115fb4814Smrg# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
1215fb4814Smrg# PARTICULAR PURPOSE.
1315fb4814Smrg
14cf503b78Smrgm4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
15b4d38c65Smrgm4_ifndef([AC_AUTOCONF_VERSION],
16b4d38c65Smrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17f010a93dSmrgm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
18f010a93dSmrg[m4_warning([this file was generated for autoconf 2.71.
19b4d38c65SmrgYou have another version of autoconf.  It may work, but is not guaranteed to.
20b4d38c65SmrgIf you have problems, you may need to regenerate the build system entirely.
21cf503b78SmrgTo do so, use the procedure documented by the package, typically 'autoreconf'.])])
22de78e416Smrg
23f010a93dSmrg# Copyright (C) 2002-2021 Free Software Foundation, Inc.
24b4d38c65Smrg#
25f010a93dSmrg# This file is free software; the Free Software Foundation
26f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
27f010a93dSmrg# with or without modifications, as long as this notice is preserved.
28f010a93dSmrg
29f010a93dSmrg# AM_AUTOMAKE_VERSION(VERSION)
30f010a93dSmrg# ----------------------------
31f010a93dSmrg# Automake X.Y traces this macro to ensure aclocal.m4 has been
32f010a93dSmrg# generated from the m4 files accompanying Automake X.Y.
33f010a93dSmrg# (This private macro should not be called outside this file.)
34f010a93dSmrgAC_DEFUN([AM_AUTOMAKE_VERSION],
35f010a93dSmrg[am__api_version='1.16'
36f010a93dSmrgdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
37f010a93dSmrgdnl require some minimum version.  Point them to the right macro.
38f010a93dSmrgm4_if([$1], [1.16.5], [],
39f010a93dSmrg      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
40f010a93dSmrg])
41f010a93dSmrg
42f010a93dSmrg# _AM_AUTOCONF_VERSION(VERSION)
43f010a93dSmrg# -----------------------------
44f010a93dSmrg# aclocal traces this macro to find the Autoconf version.
45f010a93dSmrg# This is a private macro too.  Using m4_define simplifies
46f010a93dSmrg# the logic in aclocal, which can simply ignore this definition.
47f010a93dSmrgm4_define([_AM_AUTOCONF_VERSION], [])
48f010a93dSmrg
49f010a93dSmrg# AM_SET_CURRENT_AUTOMAKE_VERSION
50f010a93dSmrg# -------------------------------
51f010a93dSmrg# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
52f010a93dSmrg# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
53f010a93dSmrgAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
54f010a93dSmrg[AM_AUTOMAKE_VERSION([1.16.5])dnl
55f010a93dSmrgm4_ifndef([AC_AUTOCONF_VERSION],
56f010a93dSmrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
57f010a93dSmrg_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
58f010a93dSmrg
59f010a93dSmrg# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
60f010a93dSmrg
61f010a93dSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
62b4d38c65Smrg#
63f010a93dSmrg# This file is free software; the Free Software Foundation
64f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
65f010a93dSmrg# with or without modifications, as long as this notice is preserved.
66b4d38c65Smrg
67f010a93dSmrg# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
68f010a93dSmrg# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
69f010a93dSmrg# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
70b4d38c65Smrg#
71f010a93dSmrg# Of course, Automake must honor this variable whenever it calls a
72f010a93dSmrg# tool from the auxiliary directory.  The problem is that $srcdir (and
73f010a93dSmrg# therefore $ac_aux_dir as well) can be either absolute or relative,
74f010a93dSmrg# depending on how configure is run.  This is pretty annoying, since
75f010a93dSmrg# it makes $ac_aux_dir quite unusable in subdirectories: in the top
76f010a93dSmrg# source directory, any form will work fine, but in subdirectories a
77f010a93dSmrg# relative path needs to be adjusted first.
78b4d38c65Smrg#
79f010a93dSmrg# $ac_aux_dir/missing
80f010a93dSmrg#    fails when called from a subdirectory if $ac_aux_dir is relative
81f010a93dSmrg# $top_srcdir/$ac_aux_dir/missing
82f010a93dSmrg#    fails if $ac_aux_dir is absolute,
83f010a93dSmrg#    fails when called from a subdirectory in a VPATH build with
84f010a93dSmrg#          a relative $ac_aux_dir
85b4d38c65Smrg#
86f010a93dSmrg# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
87f010a93dSmrg# are both prefixed by $srcdir.  In an in-source build this is usually
88f010a93dSmrg# harmless because $srcdir is '.', but things will broke when you
89f010a93dSmrg# start a VPATH build or use an absolute $srcdir.
90b4d38c65Smrg#
91f010a93dSmrg# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
92f010a93dSmrg# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
93f010a93dSmrg#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
94f010a93dSmrg# and then we would define $MISSING as
95f010a93dSmrg#   MISSING="\${SHELL} $am_aux_dir/missing"
96f010a93dSmrg# This will work as long as MISSING is not called from configure, because
97f010a93dSmrg# unfortunately $(top_srcdir) has no meaning in configure.
98f010a93dSmrg# However there are other variables, like CC, which are often used in
99f010a93dSmrg# configure, and could therefore not use this "fixed" $ac_aux_dir.
100b4d38c65Smrg#
101f010a93dSmrg# Another solution, used here, is to always expand $ac_aux_dir to an
102f010a93dSmrg# absolute PATH.  The drawback is that using absolute paths prevent a
103f010a93dSmrg# configured tree to be moved without reconfiguration.
104b410ddbeSmrg
105f010a93dSmrgAC_DEFUN([AM_AUX_DIR_EXPAND],
106f010a93dSmrg[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
107f010a93dSmrg# Expand $ac_aux_dir to an absolute path.
108f010a93dSmrgam_aux_dir=`cd "$ac_aux_dir" && pwd`
109b4d38c65Smrg])
110b4d38c65Smrg
111f010a93dSmrg# AM_CONDITIONAL                                            -*- Autoconf -*-
112b4d38c65Smrg
113f010a93dSmrg# Copyright (C) 1997-2021 Free Software Foundation, Inc.
114f010a93dSmrg#
115f010a93dSmrg# This file is free software; the Free Software Foundation
116f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
117f010a93dSmrg# with or without modifications, as long as this notice is preserved.
118b4d38c65Smrg
119f010a93dSmrg# AM_CONDITIONAL(NAME, SHELL-CONDITION)
120f010a93dSmrg# -------------------------------------
121f010a93dSmrg# Define a conditional.
122f010a93dSmrgAC_DEFUN([AM_CONDITIONAL],
123f010a93dSmrg[AC_PREREQ([2.52])dnl
124f010a93dSmrg m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
125f010a93dSmrg       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
126f010a93dSmrgAC_SUBST([$1_TRUE])dnl
127f010a93dSmrgAC_SUBST([$1_FALSE])dnl
128f010a93dSmrg_AM_SUBST_NOTMAKE([$1_TRUE])dnl
129f010a93dSmrg_AM_SUBST_NOTMAKE([$1_FALSE])dnl
130f010a93dSmrgm4_define([_AM_COND_VALUE_$1], [$2])dnl
131f010a93dSmrgif $2; then
132f010a93dSmrg  $1_TRUE=
133f010a93dSmrg  $1_FALSE='#'
134f010a93dSmrgelse
135f010a93dSmrg  $1_TRUE='#'
136f010a93dSmrg  $1_FALSE=
137f010a93dSmrgfi
138f010a93dSmrgAC_CONFIG_COMMANDS_PRE(
139f010a93dSmrg[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
140f010a93dSmrg  AC_MSG_ERROR([[conditional "$1" was never defined.
141f010a93dSmrgUsually this means the macro was only invoked conditionally.]])
142f010a93dSmrgfi])])
143b4d38c65Smrg
144f010a93dSmrg# Copyright (C) 1999-2021 Free Software Foundation, Inc.
145f010a93dSmrg#
146f010a93dSmrg# This file is free software; the Free Software Foundation
147f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
148f010a93dSmrg# with or without modifications, as long as this notice is preserved.
14915fb4814Smrg
15015fb4814Smrg
151f010a93dSmrg# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
152f010a93dSmrg# written in clear, in which case automake, when reading aclocal.m4,
153f010a93dSmrg# will think it sees a *use*, and therefore will trigger all it's
154f010a93dSmrg# C support machinery.  Also note that it means that autoscan, seeing
155f010a93dSmrg# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
15615fb4814Smrg
157b410ddbeSmrg
158f010a93dSmrg# _AM_DEPENDENCIES(NAME)
159f010a93dSmrg# ----------------------
160f010a93dSmrg# See how the compiler implements dependency checking.
161f010a93dSmrg# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
162f010a93dSmrg# We try a few techniques and use that to set a single cache variable.
163f010a93dSmrg#
164f010a93dSmrg# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
165f010a93dSmrg# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
166f010a93dSmrg# dependency, and given that the user is not expected to run this macro,
167f010a93dSmrg# just rely on AC_PROG_CC.
168f010a93dSmrgAC_DEFUN([_AM_DEPENDENCIES],
169f010a93dSmrg[AC_REQUIRE([AM_SET_DEPDIR])dnl
170f010a93dSmrgAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
171f010a93dSmrgAC_REQUIRE([AM_MAKE_INCLUDE])dnl
172f010a93dSmrgAC_REQUIRE([AM_DEP_TRACK])dnl
173b410ddbeSmrg
174f010a93dSmrgm4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
175f010a93dSmrg      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
176f010a93dSmrg      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
177f010a93dSmrg      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
178f010a93dSmrg      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
179f010a93dSmrg      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
180f010a93dSmrg                    [depcc="$$1"   am_compiler_list=])
181b4d38c65Smrg
182f010a93dSmrgAC_CACHE_CHECK([dependency style of $depcc],
183f010a93dSmrg               [am_cv_$1_dependencies_compiler_type],
184f010a93dSmrg[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
185f010a93dSmrg  # We make a subdir and do the tests there.  Otherwise we can end up
186f010a93dSmrg  # making bogus files that we don't know about and never remove.  For
187f010a93dSmrg  # instance it was reported that on HP-UX the gcc test will end up
188f010a93dSmrg  # making a dummy file named 'D' -- because '-MD' means "put the output
189f010a93dSmrg  # in D".
190f010a93dSmrg  rm -rf conftest.dir
191f010a93dSmrg  mkdir conftest.dir
192f010a93dSmrg  # Copy depcomp to subdir because otherwise we won't find it if we're
193f010a93dSmrg  # using a relative directory.
194f010a93dSmrg  cp "$am_depcomp" conftest.dir
195f010a93dSmrg  cd conftest.dir
196f010a93dSmrg  # We will build objects and dependencies in a subdirectory because
197f010a93dSmrg  # it helps to detect inapplicable dependency modes.  For instance
198f010a93dSmrg  # both Tru64's cc and ICC support -MD to output dependencies as a
199f010a93dSmrg  # side effect of compilation, but ICC will put the dependencies in
200f010a93dSmrg  # the current directory while Tru64 will put them in the object
201f010a93dSmrg  # directory.
202f010a93dSmrg  mkdir sub
203b4d38c65Smrg
204f010a93dSmrg  am_cv_$1_dependencies_compiler_type=none
205f010a93dSmrg  if test "$am_compiler_list" = ""; then
206f010a93dSmrg     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
207f010a93dSmrg  fi
208f010a93dSmrg  am__universal=false
209f010a93dSmrg  m4_case([$1], [CC],
210f010a93dSmrg    [case " $depcc " in #(
211f010a93dSmrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
212f010a93dSmrg     esac],
213f010a93dSmrg    [CXX],
214f010a93dSmrg    [case " $depcc " in #(
215f010a93dSmrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
216f010a93dSmrg     esac])
217b4d38c65Smrg
218f010a93dSmrg  for depmode in $am_compiler_list; do
219f010a93dSmrg    # Setup a source with many dependencies, because some compilers
220f010a93dSmrg    # like to wrap large dependency lists on column 80 (with \), and
221f010a93dSmrg    # we should not choose a depcomp mode which is confused by this.
222f010a93dSmrg    #
223f010a93dSmrg    # We need to recreate these files for each test, as the compiler may
224f010a93dSmrg    # overwrite some of them when testing with obscure command lines.
225f010a93dSmrg    # This happens at least with the AIX C compiler.
226f010a93dSmrg    : > sub/conftest.c
227f010a93dSmrg    for i in 1 2 3 4 5 6; do
228f010a93dSmrg      echo '#include "conftst'$i'.h"' >> sub/conftest.c
229f010a93dSmrg      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
230f010a93dSmrg      # Solaris 10 /bin/sh.
231f010a93dSmrg      echo '/* dummy */' > sub/conftst$i.h
232f010a93dSmrg    done
233f010a93dSmrg    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
234b4d38c65Smrg
235f010a93dSmrg    # We check with '-c' and '-o' for the sake of the "dashmstdout"
236f010a93dSmrg    # mode.  It turns out that the SunPro C++ compiler does not properly
237f010a93dSmrg    # handle '-M -o', and we need to detect this.  Also, some Intel
238f010a93dSmrg    # versions had trouble with output in subdirs.
239f010a93dSmrg    am__obj=sub/conftest.${OBJEXT-o}
240f010a93dSmrg    am__minus_obj="-o $am__obj"
241f010a93dSmrg    case $depmode in
242f010a93dSmrg    gcc)
243f010a93dSmrg      # This depmode causes a compiler race in universal mode.
244f010a93dSmrg      test "$am__universal" = false || continue
245f010a93dSmrg      ;;
246f010a93dSmrg    nosideeffect)
247f010a93dSmrg      # After this tag, mechanisms are not by side-effect, so they'll
248f010a93dSmrg      # only be used when explicitly requested.
249f010a93dSmrg      if test "x$enable_dependency_tracking" = xyes; then
250f010a93dSmrg	continue
251f010a93dSmrg      else
252f010a93dSmrg	break
253f010a93dSmrg      fi
254f010a93dSmrg      ;;
255f010a93dSmrg    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
256f010a93dSmrg      # This compiler won't grok '-c -o', but also, the minuso test has
257f010a93dSmrg      # not run yet.  These depmodes are late enough in the game, and
258f010a93dSmrg      # so weak that their functioning should not be impacted.
259f010a93dSmrg      am__obj=conftest.${OBJEXT-o}
260f010a93dSmrg      am__minus_obj=
261f010a93dSmrg      ;;
262f010a93dSmrg    none) break ;;
263f010a93dSmrg    esac
264f010a93dSmrg    if depmode=$depmode \
265f010a93dSmrg       source=sub/conftest.c object=$am__obj \
266f010a93dSmrg       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
267f010a93dSmrg       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
268f010a93dSmrg         >/dev/null 2>conftest.err &&
269f010a93dSmrg       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
270f010a93dSmrg       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
271f010a93dSmrg       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
272f010a93dSmrg       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
273f010a93dSmrg      # icc doesn't choke on unknown options, it will just issue warnings
274f010a93dSmrg      # or remarks (even with -Werror).  So we grep stderr for any message
275f010a93dSmrg      # that says an option was ignored or not supported.
276f010a93dSmrg      # When given -MP, icc 7.0 and 7.1 complain thusly:
277f010a93dSmrg      #   icc: Command line warning: ignoring option '-M'; no argument required
278f010a93dSmrg      # The diagnosis changed in icc 8.0:
279f010a93dSmrg      #   icc: Command line remark: option '-MP' not supported
280f010a93dSmrg      if (grep 'ignoring option' conftest.err ||
281f010a93dSmrg          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
282f010a93dSmrg        am_cv_$1_dependencies_compiler_type=$depmode
283f010a93dSmrg        break
284f010a93dSmrg      fi
285f010a93dSmrg    fi
286f010a93dSmrg  done
287f010a93dSmrg
288f010a93dSmrg  cd ..
289f010a93dSmrg  rm -rf conftest.dir
290f010a93dSmrgelse
291f010a93dSmrg  am_cv_$1_dependencies_compiler_type=none
292f010a93dSmrgfi
293f010a93dSmrg])
294f010a93dSmrgAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
295f010a93dSmrgAM_CONDITIONAL([am__fastdep$1], [
296f010a93dSmrg  test "x$enable_dependency_tracking" != xno \
297f010a93dSmrg  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
298f010a93dSmrg])
299b4d38c65Smrg
300b4d38c65Smrg
301f010a93dSmrg# AM_SET_DEPDIR
302f010a93dSmrg# -------------
303f010a93dSmrg# Choose a directory name for dependency files.
304f010a93dSmrg# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
305f010a93dSmrgAC_DEFUN([AM_SET_DEPDIR],
306f010a93dSmrg[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
307f010a93dSmrgAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
308f010a93dSmrg])
309b534f209Smrg
310b4d38c65Smrg
311f010a93dSmrg# AM_DEP_TRACK
312f010a93dSmrg# ------------
313f010a93dSmrgAC_DEFUN([AM_DEP_TRACK],
314f010a93dSmrg[AC_ARG_ENABLE([dependency-tracking], [dnl
315f010a93dSmrgAS_HELP_STRING(
316f010a93dSmrg  [--enable-dependency-tracking],
317f010a93dSmrg  [do not reject slow dependency extractors])
318f010a93dSmrgAS_HELP_STRING(
319f010a93dSmrg  [--disable-dependency-tracking],
320f010a93dSmrg  [speeds up one-time build])])
321f010a93dSmrgif test "x$enable_dependency_tracking" != xno; then
322f010a93dSmrg  am_depcomp="$ac_aux_dir/depcomp"
323f010a93dSmrg  AMDEPBACKSLASH='\'
324f010a93dSmrg  am__nodep='_no'
325b4d38c65Smrgfi
326f010a93dSmrgAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
327f010a93dSmrgAC_SUBST([AMDEPBACKSLASH])dnl
328f010a93dSmrg_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
329f010a93dSmrgAC_SUBST([am__nodep])dnl
330f010a93dSmrg_AM_SUBST_NOTMAKE([am__nodep])dnl
331b4d38c65Smrg])
33215fb4814Smrg
333f010a93dSmrg# Generate code to set up dependency tracking.              -*- Autoconf -*-
334b410ddbeSmrg
335f010a93dSmrg# Copyright (C) 1999-2021 Free Software Foundation, Inc.
336f010a93dSmrg#
337f010a93dSmrg# This file is free software; the Free Software Foundation
338f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
339f010a93dSmrg# with or without modifications, as long as this notice is preserved.
34015fb4814Smrg
341f010a93dSmrg# _AM_OUTPUT_DEPENDENCY_COMMANDS
342f010a93dSmrg# ------------------------------
343f010a93dSmrgAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
344f010a93dSmrg[{
345f010a93dSmrg  # Older Autoconf quotes --file arguments for eval, but not when files
346f010a93dSmrg  # are listed without --file.  Let's play safe and only enable the eval
347f010a93dSmrg  # if we detect the quoting.
348f010a93dSmrg  # TODO: see whether this extra hack can be removed once we start
349f010a93dSmrg  # requiring Autoconf 2.70 or later.
350f010a93dSmrg  AS_CASE([$CONFIG_FILES],
351f010a93dSmrg          [*\'*], [eval set x "$CONFIG_FILES"],
352f010a93dSmrg          [*], [set x $CONFIG_FILES])
353f010a93dSmrg  shift
354f010a93dSmrg  # Used to flag and report bootstrapping failures.
355f010a93dSmrg  am_rc=0
356f010a93dSmrg  for am_mf
357f010a93dSmrg  do
358f010a93dSmrg    # Strip MF so we end up with the name of the file.
359f010a93dSmrg    am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
360f010a93dSmrg    # Check whether this is an Automake generated Makefile which includes
361f010a93dSmrg    # dependency-tracking related rules and includes.
362f010a93dSmrg    # Grep'ing the whole file directly is not great: AIX grep has a line
363f010a93dSmrg    # limit of 2048, but all sed's we know have understand at least 4000.
364f010a93dSmrg    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
365f010a93dSmrg      || continue
366f010a93dSmrg    am_dirpart=`AS_DIRNAME(["$am_mf"])`
367f010a93dSmrg    am_filepart=`AS_BASENAME(["$am_mf"])`
368f010a93dSmrg    AM_RUN_LOG([cd "$am_dirpart" \
369f010a93dSmrg      && sed -e '/# am--include-marker/d' "$am_filepart" \
370f010a93dSmrg        | $MAKE -f - am--depfiles]) || am_rc=$?
371f010a93dSmrg  done
372f010a93dSmrg  if test $am_rc -ne 0; then
373f010a93dSmrg    AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
374f010a93dSmrg    for automatic dependency tracking.  If GNU make was not used, consider
375f010a93dSmrg    re-running the configure script with MAKE="gmake" (or whatever is
376f010a93dSmrg    necessary).  You can also try re-running configure with the
377f010a93dSmrg    '--disable-dependency-tracking' option to at least be able to build
378f010a93dSmrg    the package (albeit without support for automatic dependency tracking).])
37915fb4814Smrg  fi
380f010a93dSmrg  AS_UNSET([am_dirpart])
381f010a93dSmrg  AS_UNSET([am_filepart])
382f010a93dSmrg  AS_UNSET([am_mf])
383f010a93dSmrg  AS_UNSET([am_rc])
384f010a93dSmrg  rm -f conftest-deps.mk
385f010a93dSmrg}
386f010a93dSmrg])# _AM_OUTPUT_DEPENDENCY_COMMANDS
38715fb4814Smrg
38815fb4814Smrg
389f010a93dSmrg# AM_OUTPUT_DEPENDENCY_COMMANDS
390f010a93dSmrg# -----------------------------
391f010a93dSmrg# This macro should only be invoked once -- use via AC_REQUIRE.
392f010a93dSmrg#
393f010a93dSmrg# This code is only required when automatic dependency tracking is enabled.
394f010a93dSmrg# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
395f010a93dSmrg# order to bootstrap the dependency handling code.
396f010a93dSmrgAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
397f010a93dSmrg[AC_CONFIG_COMMANDS([depfiles],
398f010a93dSmrg     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
399f010a93dSmrg     [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
40015fb4814Smrg
401f010a93dSmrg# Do all the work for Automake.                             -*- Autoconf -*-
402b534f209Smrg
403f010a93dSmrg# Copyright (C) 1996-2021 Free Software Foundation, Inc.
404f010a93dSmrg#
405f010a93dSmrg# This file is free software; the Free Software Foundation
406f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
407f010a93dSmrg# with or without modifications, as long as this notice is preserved.
40815fb4814Smrg
409f010a93dSmrg# This macro actually does too much.  Some checks are only needed if
410f010a93dSmrg# your package does certain things.  But this isn't really a big deal.
41115fb4814Smrg
412f010a93dSmrgdnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
413f010a93dSmrgm4_define([AC_PROG_CC],
414f010a93dSmrgm4_defn([AC_PROG_CC])
415f010a93dSmrg[_AM_PROG_CC_C_O
416f010a93dSmrg])
41715fb4814Smrg
418f010a93dSmrg# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
419f010a93dSmrg# AM_INIT_AUTOMAKE([OPTIONS])
420f010a93dSmrg# -----------------------------------------------
421f010a93dSmrg# The call with PACKAGE and VERSION arguments is the old style
422f010a93dSmrg# call (pre autoconf-2.50), which is being phased out.  PACKAGE
423f010a93dSmrg# and VERSION should now be passed to AC_INIT and removed from
424f010a93dSmrg# the call to AM_INIT_AUTOMAKE.
425f010a93dSmrg# We support both call styles for the transition.  After
426f010a93dSmrg# the next Automake release, Autoconf can make the AC_INIT
427f010a93dSmrg# arguments mandatory, and then we can depend on a new Autoconf
428f010a93dSmrg# release and drop the old call support.
429f010a93dSmrgAC_DEFUN([AM_INIT_AUTOMAKE],
430f010a93dSmrg[AC_PREREQ([2.65])dnl
431f010a93dSmrgm4_ifdef([_$0_ALREADY_INIT],
432f010a93dSmrg  [m4_fatal([$0 expanded multiple times
433f010a93dSmrg]m4_defn([_$0_ALREADY_INIT]))],
434f010a93dSmrg  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
435f010a93dSmrgdnl Autoconf wants to disallow AM_ names.  We explicitly allow
436f010a93dSmrgdnl the ones we care about.
437f010a93dSmrgm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
438f010a93dSmrgAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
439f010a93dSmrgAC_REQUIRE([AC_PROG_INSTALL])dnl
440f010a93dSmrgif test "`cd $srcdir && pwd`" != "`pwd`"; then
441f010a93dSmrg  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
442f010a93dSmrg  # is not polluted with repeated "-I."
443f010a93dSmrg  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
444f010a93dSmrg  # test to see if srcdir already configured
445f010a93dSmrg  if test -f $srcdir/config.status; then
446f010a93dSmrg    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
44715fb4814Smrg  fi
448f010a93dSmrgfi
44915fb4814Smrg
450f010a93dSmrg# test whether we have cygpath
451f010a93dSmrgif test -z "$CYGPATH_W"; then
452f010a93dSmrg  if (cygpath --version) >/dev/null 2>/dev/null; then
453f010a93dSmrg    CYGPATH_W='cygpath -w'
454f010a93dSmrg  else
455f010a93dSmrg    CYGPATH_W=echo
456f010a93dSmrg  fi
457f010a93dSmrgfi
458f010a93dSmrgAC_SUBST([CYGPATH_W])
45915fb4814Smrg
460f010a93dSmrg# Define the identity of the package.
461f010a93dSmrgdnl Distinguish between old-style and new-style calls.
462f010a93dSmrgm4_ifval([$2],
463f010a93dSmrg[AC_DIAGNOSE([obsolete],
464f010a93dSmrg             [$0: two- and three-arguments forms are deprecated.])
465f010a93dSmrgm4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
466f010a93dSmrg AC_SUBST([PACKAGE], [$1])dnl
467f010a93dSmrg AC_SUBST([VERSION], [$2])],
468f010a93dSmrg[_AM_SET_OPTIONS([$1])dnl
469f010a93dSmrgdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
470f010a93dSmrgm4_if(
471f010a93dSmrg  m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
472f010a93dSmrg  [ok:ok],,
473f010a93dSmrg  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
474f010a93dSmrg AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
475f010a93dSmrg AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
476b410ddbeSmrg
477f010a93dSmrg_AM_IF_OPTION([no-define],,
478f010a93dSmrg[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
479f010a93dSmrg AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
48015fb4814Smrg
481f010a93dSmrg# Some tools Automake needs.
482f010a93dSmrgAC_REQUIRE([AM_SANITY_CHECK])dnl
483f010a93dSmrgAC_REQUIRE([AC_ARG_PROGRAM])dnl
484f010a93dSmrgAM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
485f010a93dSmrgAM_MISSING_PROG([AUTOCONF], [autoconf])
486f010a93dSmrgAM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
487f010a93dSmrgAM_MISSING_PROG([AUTOHEADER], [autoheader])
488f010a93dSmrgAM_MISSING_PROG([MAKEINFO], [makeinfo])
489f010a93dSmrgAC_REQUIRE([AM_PROG_INSTALL_SH])dnl
490f010a93dSmrgAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
491f010a93dSmrgAC_REQUIRE([AC_PROG_MKDIR_P])dnl
492f010a93dSmrg# For better backward compatibility.  To be removed once Automake 1.9.x
493f010a93dSmrg# dies out for good.  For more background, see:
494f010a93dSmrg# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
495f010a93dSmrg# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
496f010a93dSmrgAC_SUBST([mkdir_p], ['$(MKDIR_P)'])
497f010a93dSmrg# We need awk for the "check" target (and possibly the TAP driver).  The
498f010a93dSmrg# system "awk" is bad on some platforms.
499f010a93dSmrgAC_REQUIRE([AC_PROG_AWK])dnl
500f010a93dSmrgAC_REQUIRE([AC_PROG_MAKE_SET])dnl
501f010a93dSmrgAC_REQUIRE([AM_SET_LEADING_DOT])dnl
502f010a93dSmrg_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
503f010a93dSmrg	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
504f010a93dSmrg			     [_AM_PROG_TAR([v7])])])
505f010a93dSmrg_AM_IF_OPTION([no-dependencies],,
506f010a93dSmrg[AC_PROVIDE_IFELSE([AC_PROG_CC],
507f010a93dSmrg		  [_AM_DEPENDENCIES([CC])],
508f010a93dSmrg		  [m4_define([AC_PROG_CC],
509f010a93dSmrg			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
510f010a93dSmrgAC_PROVIDE_IFELSE([AC_PROG_CXX],
511f010a93dSmrg		  [_AM_DEPENDENCIES([CXX])],
512f010a93dSmrg		  [m4_define([AC_PROG_CXX],
513f010a93dSmrg			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
514f010a93dSmrgAC_PROVIDE_IFELSE([AC_PROG_OBJC],
515f010a93dSmrg		  [_AM_DEPENDENCIES([OBJC])],
516f010a93dSmrg		  [m4_define([AC_PROG_OBJC],
517f010a93dSmrg			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
518f010a93dSmrgAC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
519f010a93dSmrg		  [_AM_DEPENDENCIES([OBJCXX])],
520f010a93dSmrg		  [m4_define([AC_PROG_OBJCXX],
521f010a93dSmrg			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
522b4d38c65Smrg])
523f010a93dSmrg# Variables for tags utilities; see am/tags.am
524f010a93dSmrgif test -z "$CTAGS"; then
525f010a93dSmrg  CTAGS=ctags
526f010a93dSmrgfi
527f010a93dSmrgAC_SUBST([CTAGS])
528f010a93dSmrgif test -z "$ETAGS"; then
529f010a93dSmrg  ETAGS=etags
530f010a93dSmrgfi
531f010a93dSmrgAC_SUBST([ETAGS])
532f010a93dSmrgif test -z "$CSCOPE"; then
533f010a93dSmrg  CSCOPE=cscope
534f010a93dSmrgfi
535f010a93dSmrgAC_SUBST([CSCOPE])
53615fb4814Smrg
537f010a93dSmrgAC_REQUIRE([AM_SILENT_RULES])dnl
538f010a93dSmrgdnl The testsuite driver may need to know about EXEEXT, so add the
539f010a93dSmrgdnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
540f010a93dSmrgdnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
541f010a93dSmrgAC_CONFIG_COMMANDS_PRE(dnl
542f010a93dSmrg[m4_provide_if([_AM_COMPILER_EXEEXT],
543f010a93dSmrg  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
54415fb4814Smrg
545f010a93dSmrg# POSIX will say in a future version that running "rm -f" with no argument
546f010a93dSmrg# is OK; and we want to be able to make that assumption in our Makefile
547f010a93dSmrg# recipes.  So use an aggressive probe to check that the usage we want is
548f010a93dSmrg# actually supported "in the wild" to an acceptable degree.
549f010a93dSmrg# See automake bug#10828.
550f010a93dSmrg# To make any issue more visible, cause the running configure to be aborted
551f010a93dSmrg# by default if the 'rm' program in use doesn't match our expectations; the
552f010a93dSmrg# user can still override this though.
553f010a93dSmrgif rm -f && rm -fr && rm -rf; then : OK; else
554f010a93dSmrg  cat >&2 <<'END'
555f010a93dSmrgOops!
556f010a93dSmrg
557f010a93dSmrgYour 'rm' program seems unable to run without file operands specified
558f010a93dSmrgon the command line, even when the '-f' option is present.  This is contrary
559f010a93dSmrgto the behaviour of most rm programs out there, and not conforming with
560f010a93dSmrgthe upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
561f010a93dSmrg
562f010a93dSmrgPlease tell bug-automake@gnu.org about your system, including the value
563f010a93dSmrgof your $PATH and any error possibly output before this message.  This
564f010a93dSmrgcan help us improve future automake versions.
565b534f209Smrg
566f010a93dSmrgEND
567f010a93dSmrg  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
568f010a93dSmrg    echo 'Configuration will proceed anyway, since you have set the' >&2
569f010a93dSmrg    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
570f010a93dSmrg    echo >&2
571f010a93dSmrg  else
572f010a93dSmrg    cat >&2 <<'END'
573f010a93dSmrgAborting the configuration process, to ensure you take notice of the issue.
574b534f209Smrg
575f010a93dSmrgYou can download and install GNU coreutils to get an 'rm' implementation
576f010a93dSmrgthat behaves properly: <https://www.gnu.org/software/coreutils/>.
577b4d38c65Smrg
578f010a93dSmrgIf you want to complete the configuration process using your problematic
579f010a93dSmrg'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
580f010a93dSmrgto "yes", and re-run configure.
581b4d38c65Smrg
582f010a93dSmrgEND
583f010a93dSmrg    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
584f010a93dSmrg  fi
585f010a93dSmrgfi
586f010a93dSmrgdnl The trailing newline in this macro's definition is deliberate, for
587f010a93dSmrgdnl backward compatibility and to allow trailing 'dnl'-style comments
588f010a93dSmrgdnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
589f010a93dSmrg])
590b4d38c65Smrg
591f010a93dSmrgdnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
592f010a93dSmrgdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
593f010a93dSmrgdnl mangled by Autoconf and run in a shell conditional statement.
594f010a93dSmrgm4_define([_AC_COMPILER_EXEEXT],
595f010a93dSmrgm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
596b4d38c65Smrg
597f010a93dSmrg# When config.status generates a header, we must update the stamp-h file.
598f010a93dSmrg# This file resides in the same directory as the config header
599f010a93dSmrg# that is generated.  The stamp files are numbered to have different names.
600b4d38c65Smrg
601f010a93dSmrg# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
602f010a93dSmrg# loop where config.status creates the headers, so we can generate
603f010a93dSmrg# our stamp files there.
604f010a93dSmrgAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
605f010a93dSmrg[# Compute $1's index in $config_headers.
606f010a93dSmrg_am_arg=$1
607f010a93dSmrg_am_stamp_count=1
608f010a93dSmrgfor _am_header in $config_headers :; do
609f010a93dSmrg  case $_am_header in
610f010a93dSmrg    $_am_arg | $_am_arg:* )
611f010a93dSmrg      break ;;
612f010a93dSmrg    * )
613f010a93dSmrg      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
614f010a93dSmrg  esac
615f010a93dSmrgdone
616f010a93dSmrgecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
617b4d38c65Smrg
618f010a93dSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
619f010a93dSmrg#
620f010a93dSmrg# This file is free software; the Free Software Foundation
621f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
622f010a93dSmrg# with or without modifications, as long as this notice is preserved.
623b4d38c65Smrg
624f010a93dSmrg# AM_PROG_INSTALL_SH
625f010a93dSmrg# ------------------
626f010a93dSmrg# Define $install_sh.
627f010a93dSmrgAC_DEFUN([AM_PROG_INSTALL_SH],
628f010a93dSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
629f010a93dSmrgif test x"${install_sh+set}" != xset; then
630f010a93dSmrg  case $am_aux_dir in
631f010a93dSmrg  *\ * | *\	*)
632f010a93dSmrg    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
633f010a93dSmrg  *)
634f010a93dSmrg    install_sh="\${SHELL} $am_aux_dir/install-sh"
635f010a93dSmrg  esac
636f010a93dSmrgfi
637f010a93dSmrgAC_SUBST([install_sh])])
638b4d38c65Smrg
639f010a93dSmrg# Copyright (C) 2003-2021 Free Software Foundation, Inc.
640f010a93dSmrg#
641f010a93dSmrg# This file is free software; the Free Software Foundation
642f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
643f010a93dSmrg# with or without modifications, as long as this notice is preserved.
64415fb4814Smrg
645f010a93dSmrg# Check whether the underlying file-system supports filenames
646f010a93dSmrg# with a leading dot.  For instance MS-DOS doesn't.
647f010a93dSmrgAC_DEFUN([AM_SET_LEADING_DOT],
648f010a93dSmrg[rm -rf .tst 2>/dev/null
649f010a93dSmrgmkdir .tst 2>/dev/null
650f010a93dSmrgif test -d .tst; then
651f010a93dSmrg  am__leading_dot=.
652f010a93dSmrgelse
653f010a93dSmrg  am__leading_dot=_
654f010a93dSmrgfi
655f010a93dSmrgrmdir .tst 2>/dev/null
656f010a93dSmrgAC_SUBST([am__leading_dot])])
65715fb4814Smrg
658f010a93dSmrg# Check to see how 'make' treats includes.	            -*- Autoconf -*-
659f010a93dSmrg
660f010a93dSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
661f010a93dSmrg#
662f010a93dSmrg# This file is free software; the Free Software Foundation
663f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
664f010a93dSmrg# with or without modifications, as long as this notice is preserved.
665b4d38c65Smrg
666f010a93dSmrg# AM_MAKE_INCLUDE()
667f010a93dSmrg# -----------------
668f010a93dSmrg# Check whether make has an 'include' directive that can support all
669f010a93dSmrg# the idioms we need for our automatic dependency tracking code.
670f010a93dSmrgAC_DEFUN([AM_MAKE_INCLUDE],
671f010a93dSmrg[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
672f010a93dSmrgcat > confinc.mk << 'END'
673f010a93dSmrgam__doit:
674f010a93dSmrg	@echo this is the am__doit target >confinc.out
675f010a93dSmrg.PHONY: am__doit
676f010a93dSmrgEND
677f010a93dSmrgam__include="#"
678f010a93dSmrgam__quote=
679f010a93dSmrg# BSD make does it like this.
680f010a93dSmrgecho '.include "confinc.mk" # ignored' > confmf.BSD
681f010a93dSmrg# Other make implementations (GNU, Solaris 10, AIX) do it like this.
682f010a93dSmrgecho 'include confinc.mk # ignored' > confmf.GNU
683f010a93dSmrg_am_result=no
684f010a93dSmrgfor s in GNU BSD; do
685f010a93dSmrg  AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
686f010a93dSmrg  AS_CASE([$?:`cat confinc.out 2>/dev/null`],
687f010a93dSmrg      ['0:this is the am__doit target'],
688f010a93dSmrg      [AS_CASE([$s],
689f010a93dSmrg          [BSD], [am__include='.include' am__quote='"'],
690f010a93dSmrg          [am__include='include' am__quote=''])])
691f010a93dSmrg  if test "$am__include" != "#"; then
692f010a93dSmrg    _am_result="yes ($s style)"
693f010a93dSmrg    break
694f010a93dSmrg  fi
695f010a93dSmrgdone
696f010a93dSmrgrm -f confinc.* confmf.*
697f010a93dSmrgAC_MSG_RESULT([${_am_result}])
698f010a93dSmrgAC_SUBST([am__include])])
699f010a93dSmrgAC_SUBST([am__quote])])
700b4d38c65Smrg
701f010a93dSmrg# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
702b4d38c65Smrg
703f010a93dSmrg# Copyright (C) 1997-2021 Free Software Foundation, Inc.
704f010a93dSmrg#
705f010a93dSmrg# This file is free software; the Free Software Foundation
706f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
707f010a93dSmrg# with or without modifications, as long as this notice is preserved.
708b4d38c65Smrg
709f010a93dSmrg# AM_MISSING_PROG(NAME, PROGRAM)
710f010a93dSmrg# ------------------------------
711f010a93dSmrgAC_DEFUN([AM_MISSING_PROG],
712f010a93dSmrg[AC_REQUIRE([AM_MISSING_HAS_RUN])
713f010a93dSmrg$1=${$1-"${am_missing_run}$2"}
714f010a93dSmrgAC_SUBST($1)])
715b4d38c65Smrg
716f010a93dSmrg# AM_MISSING_HAS_RUN
717f010a93dSmrg# ------------------
718f010a93dSmrg# Define MISSING if not defined so far and test if it is modern enough.
719f010a93dSmrg# If it is, set am_missing_run to use it, otherwise, to nothing.
720f010a93dSmrgAC_DEFUN([AM_MISSING_HAS_RUN],
721f010a93dSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
722f010a93dSmrgAC_REQUIRE_AUX_FILE([missing])dnl
723f010a93dSmrgif test x"${MISSING+set}" != xset; then
724f010a93dSmrg  MISSING="\${SHELL} '$am_aux_dir/missing'"
725f010a93dSmrgfi
726f010a93dSmrg# Use eval to expand $SHELL
727f010a93dSmrgif eval "$MISSING --is-lightweight"; then
728f010a93dSmrg  am_missing_run="$MISSING "
729f010a93dSmrgelse
730f010a93dSmrg  am_missing_run=
731f010a93dSmrg  AC_MSG_WARN(['missing' script is too old or missing])
732f010a93dSmrgfi
733b4d38c65Smrg])
73415fb4814Smrg
735f010a93dSmrg# Helper functions for option handling.                     -*- Autoconf -*-
73615fb4814Smrg
737f010a93dSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
738f010a93dSmrg#
739f010a93dSmrg# This file is free software; the Free Software Foundation
740f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
741f010a93dSmrg# with or without modifications, as long as this notice is preserved.
74215fb4814Smrg
743f010a93dSmrg# _AM_MANGLE_OPTION(NAME)
744f010a93dSmrg# -----------------------
745f010a93dSmrgAC_DEFUN([_AM_MANGLE_OPTION],
746f010a93dSmrg[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
74715fb4814Smrg
748f010a93dSmrg# _AM_SET_OPTION(NAME)
749f010a93dSmrg# --------------------
750f010a93dSmrg# Set option NAME.  Presently that only means defining a flag for this option.
751f010a93dSmrgAC_DEFUN([_AM_SET_OPTION],
752f010a93dSmrg[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
75315fb4814Smrg
754f010a93dSmrg# _AM_SET_OPTIONS(OPTIONS)
755f010a93dSmrg# ------------------------
756f010a93dSmrg# OPTIONS is a space-separated list of Automake options.
757f010a93dSmrgAC_DEFUN([_AM_SET_OPTIONS],
758f010a93dSmrg[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
75915fb4814Smrg
760f010a93dSmrg# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
761f010a93dSmrg# -------------------------------------------
762f010a93dSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
763f010a93dSmrgAC_DEFUN([_AM_IF_OPTION],
764f010a93dSmrg[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
76515fb4814Smrg
766f010a93dSmrg# Copyright (C) 1999-2021 Free Software Foundation, Inc.
767f010a93dSmrg#
768f010a93dSmrg# This file is free software; the Free Software Foundation
769f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
770f010a93dSmrg# with or without modifications, as long as this notice is preserved.
77115fb4814Smrg
772f010a93dSmrg# _AM_PROG_CC_C_O
773f010a93dSmrg# ---------------
774f010a93dSmrg# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
775f010a93dSmrg# to automatically call this.
776f010a93dSmrgAC_DEFUN([_AM_PROG_CC_C_O],
777f010a93dSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
778f010a93dSmrgAC_REQUIRE_AUX_FILE([compile])dnl
779f010a93dSmrgAC_LANG_PUSH([C])dnl
780f010a93dSmrgAC_CACHE_CHECK(
781f010a93dSmrg  [whether $CC understands -c and -o together],
782f010a93dSmrg  [am_cv_prog_cc_c_o],
783f010a93dSmrg  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
784f010a93dSmrg  # Make sure it works both with $CC and with simple cc.
785f010a93dSmrg  # Following AC_PROG_CC_C_O, we do the test twice because some
786f010a93dSmrg  # compilers refuse to overwrite an existing .o file with -o,
787f010a93dSmrg  # though they will create one.
788f010a93dSmrg  am_cv_prog_cc_c_o=yes
789f010a93dSmrg  for am_i in 1 2; do
790f010a93dSmrg    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
791f010a93dSmrg         && test -f conftest2.$ac_objext; then
792f010a93dSmrg      : OK
793f010a93dSmrg    else
794f010a93dSmrg      am_cv_prog_cc_c_o=no
795f010a93dSmrg      break
796f010a93dSmrg    fi
797f010a93dSmrg  done
798f010a93dSmrg  rm -f core conftest*
799f010a93dSmrg  unset am_i])
800f010a93dSmrgif test "$am_cv_prog_cc_c_o" != yes; then
801f010a93dSmrg   # Losing compiler, so override with the script.
802f010a93dSmrg   # FIXME: It is wrong to rewrite CC.
803f010a93dSmrg   # But if we don't then we get into trouble of one sort or another.
804f010a93dSmrg   # A longer-term fix would be to have automake use am__CC in this case,
805f010a93dSmrg   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
806f010a93dSmrg   CC="$am_aux_dir/compile $CC"
807f010a93dSmrgfi
808f010a93dSmrgAC_LANG_POP([C])])
80915fb4814Smrg
810f010a93dSmrg# For backward compatibility.
811f010a93dSmrgAC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
81215fb4814Smrg
813f010a93dSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
814f010a93dSmrg#
815f010a93dSmrg# This file is free software; the Free Software Foundation
816f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
817f010a93dSmrg# with or without modifications, as long as this notice is preserved.
81815fb4814Smrg
819f010a93dSmrg# AM_RUN_LOG(COMMAND)
820f010a93dSmrg# -------------------
821f010a93dSmrg# Run COMMAND, save the exit status in ac_status, and log it.
822f010a93dSmrg# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
823f010a93dSmrgAC_DEFUN([AM_RUN_LOG],
824f010a93dSmrg[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
825f010a93dSmrg   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
826f010a93dSmrg   ac_status=$?
827f010a93dSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
828f010a93dSmrg   (exit $ac_status); }])
82915fb4814Smrg
830f010a93dSmrg# Check to make sure that the build environment is sane.    -*- Autoconf -*-
83115fb4814Smrg
832f010a93dSmrg# Copyright (C) 1996-2021 Free Software Foundation, Inc.
833f010a93dSmrg#
834f010a93dSmrg# This file is free software; the Free Software Foundation
835f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
836f010a93dSmrg# with or without modifications, as long as this notice is preserved.
83715fb4814Smrg
838f010a93dSmrg# AM_SANITY_CHECK
839f010a93dSmrg# ---------------
840f010a93dSmrgAC_DEFUN([AM_SANITY_CHECK],
841f010a93dSmrg[AC_MSG_CHECKING([whether build environment is sane])
842f010a93dSmrg# Reject unsafe characters in $srcdir or the absolute working directory
843f010a93dSmrg# name.  Accept space and tab only in the latter.
844f010a93dSmrgam_lf='
845f010a93dSmrg'
846f010a93dSmrgcase `pwd` in
847f010a93dSmrg  *[[\\\"\#\$\&\'\`$am_lf]]*)
848f010a93dSmrg    AC_MSG_ERROR([unsafe absolute working directory name]);;
849f010a93dSmrgesac
850f010a93dSmrgcase $srcdir in
851f010a93dSmrg  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
852f010a93dSmrg    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
853f010a93dSmrgesac
85415fb4814Smrg
855f010a93dSmrg# Do 'set' in a subshell so we don't clobber the current shell's
856f010a93dSmrg# arguments.  Must try -L first in case configure is actually a
857f010a93dSmrg# symlink; some systems play weird games with the mod time of symlinks
858f010a93dSmrg# (eg FreeBSD returns the mod time of the symlink's containing
859f010a93dSmrg# directory).
860f010a93dSmrgif (
861f010a93dSmrg   am_has_slept=no
862f010a93dSmrg   for am_try in 1 2; do
863f010a93dSmrg     echo "timestamp, slept: $am_has_slept" > conftest.file
864f010a93dSmrg     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
865f010a93dSmrg     if test "$[*]" = "X"; then
866f010a93dSmrg	# -L didn't work.
867f010a93dSmrg	set X `ls -t "$srcdir/configure" conftest.file`
868f010a93dSmrg     fi
869f010a93dSmrg     if test "$[*]" != "X $srcdir/configure conftest.file" \
870f010a93dSmrg	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
871b534f209Smrg
872f010a93dSmrg	# If neither matched, then we have a broken ls.  This can happen
873f010a93dSmrg	# if, for instance, CONFIG_SHELL is bash and it inherits a
874f010a93dSmrg	# broken ls alias from the environment.  This has actually
875f010a93dSmrg	# happened.  Such a system could not be considered "sane".
876f010a93dSmrg	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
877f010a93dSmrg  alias in your environment])
878f010a93dSmrg     fi
879f010a93dSmrg     if test "$[2]" = conftest.file || test $am_try -eq 2; then
880f010a93dSmrg       break
881f010a93dSmrg     fi
882f010a93dSmrg     # Just in case.
883f010a93dSmrg     sleep 1
884f010a93dSmrg     am_has_slept=yes
885f010a93dSmrg   done
886f010a93dSmrg   test "$[2]" = conftest.file
887f010a93dSmrg   )
888f010a93dSmrgthen
889f010a93dSmrg   # Ok.
890f010a93dSmrg   :
891f010a93dSmrgelse
892f010a93dSmrg   AC_MSG_ERROR([newly created file is older than distributed files!
893f010a93dSmrgCheck your system clock])
894f010a93dSmrgfi
895f010a93dSmrgAC_MSG_RESULT([yes])
896f010a93dSmrg# If we didn't sleep, we still need to ensure time stamps of config.status and
897f010a93dSmrg# generated files are strictly newer.
898f010a93dSmrgam_sleep_pid=
899f010a93dSmrgif grep 'slept: no' conftest.file >/dev/null 2>&1; then
900f010a93dSmrg  ( sleep 1 ) &
901f010a93dSmrg  am_sleep_pid=$!
902f010a93dSmrgfi
903f010a93dSmrgAC_CONFIG_COMMANDS_PRE(
904f010a93dSmrg  [AC_MSG_CHECKING([that generated files are newer than configure])
905f010a93dSmrg   if test -n "$am_sleep_pid"; then
906f010a93dSmrg     # Hide warnings about reused PIDs.
907f010a93dSmrg     wait $am_sleep_pid 2>/dev/null
908f010a93dSmrg   fi
909f010a93dSmrg   AC_MSG_RESULT([done])])
910f010a93dSmrgrm -f conftest.file
911f010a93dSmrg])
91215fb4814Smrg
913f010a93dSmrg# Copyright (C) 2009-2021 Free Software Foundation, Inc.
914b4d38c65Smrg#
915f010a93dSmrg# This file is free software; the Free Software Foundation
916f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
917f010a93dSmrg# with or without modifications, as long as this notice is preserved.
918b4d38c65Smrg
919f010a93dSmrg# AM_SILENT_RULES([DEFAULT])
920f010a93dSmrg# --------------------------
921f010a93dSmrg# Enable less verbose build rules; with the default set to DEFAULT
922f010a93dSmrg# ("yes" being less verbose, "no" or empty being verbose).
923f010a93dSmrgAC_DEFUN([AM_SILENT_RULES],
924f010a93dSmrg[AC_ARG_ENABLE([silent-rules], [dnl
925f010a93dSmrgAS_HELP_STRING(
926f010a93dSmrg  [--enable-silent-rules],
927f010a93dSmrg  [less verbose build output (undo: "make V=1")])
928f010a93dSmrgAS_HELP_STRING(
929f010a93dSmrg  [--disable-silent-rules],
930f010a93dSmrg  [verbose build output (undo: "make V=0")])dnl
931b4d38c65Smrg])
932f010a93dSmrgcase $enable_silent_rules in @%:@ (((
933f010a93dSmrg  yes) AM_DEFAULT_VERBOSITY=0;;
934f010a93dSmrg   no) AM_DEFAULT_VERBOSITY=1;;
935f010a93dSmrg    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
936f010a93dSmrgesac
937f010a93dSmrgdnl
938f010a93dSmrgdnl A few 'make' implementations (e.g., NonStop OS and NextStep)
939f010a93dSmrgdnl do not support nested variable expansions.
940f010a93dSmrgdnl See automake bug#9928 and bug#10237.
941f010a93dSmrgam_make=${MAKE-make}
942f010a93dSmrgAC_CACHE_CHECK([whether $am_make supports nested variables],
943f010a93dSmrg   [am_cv_make_support_nested_variables],
944f010a93dSmrg   [if AS_ECHO([['TRUE=$(BAR$(V))
945f010a93dSmrgBAR0=false
946f010a93dSmrgBAR1=true
947f010a93dSmrgV=1
948f010a93dSmrgam__doit:
949f010a93dSmrg	@$(TRUE)
950f010a93dSmrg.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
951f010a93dSmrg  am_cv_make_support_nested_variables=yes
952f010a93dSmrgelse
953f010a93dSmrg  am_cv_make_support_nested_variables=no
954f010a93dSmrgfi])
955f010a93dSmrgif test $am_cv_make_support_nested_variables = yes; then
956f010a93dSmrg  dnl Using '$V' instead of '$(V)' breaks IRIX make.
957f010a93dSmrg  AM_V='$(V)'
958f010a93dSmrg  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
959f010a93dSmrgelse
960f010a93dSmrg  AM_V=$AM_DEFAULT_VERBOSITY
961f010a93dSmrg  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
962f010a93dSmrgfi
963f010a93dSmrgAC_SUBST([AM_V])dnl
964f010a93dSmrgAM_SUBST_NOTMAKE([AM_V])dnl
965f010a93dSmrgAC_SUBST([AM_DEFAULT_V])dnl
966f010a93dSmrgAM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
967f010a93dSmrgAC_SUBST([AM_DEFAULT_VERBOSITY])dnl
968f010a93dSmrgAM_BACKSLASH='\'
969f010a93dSmrgAC_SUBST([AM_BACKSLASH])dnl
970f010a93dSmrg_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
971b4d38c65Smrg])
97215fb4814Smrg
973f010a93dSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
974f010a93dSmrg#
975f010a93dSmrg# This file is free software; the Free Software Foundation
976f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
977f010a93dSmrg# with or without modifications, as long as this notice is preserved.
97815fb4814Smrg
979f010a93dSmrg# AM_PROG_INSTALL_STRIP
980f010a93dSmrg# ---------------------
981f010a93dSmrg# One issue with vendor 'install' (even GNU) is that you can't
982f010a93dSmrg# specify the program used to strip binaries.  This is especially
983f010a93dSmrg# annoying in cross-compiling environments, where the build's strip
984f010a93dSmrg# is unlikely to handle the host's binaries.
985f010a93dSmrg# Fortunately install-sh will honor a STRIPPROG variable, so we
986f010a93dSmrg# always use install-sh in "make install-strip", and initialize
987f010a93dSmrg# STRIPPROG with the value of the STRIP variable (set by the user).
988f010a93dSmrgAC_DEFUN([AM_PROG_INSTALL_STRIP],
989f010a93dSmrg[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
990f010a93dSmrg# Installed binaries are usually stripped using 'strip' when the user
991f010a93dSmrg# run "make install-strip".  However 'strip' might not be the right
992f010a93dSmrg# tool to use in cross-compilation environments, therefore Automake
993f010a93dSmrg# will honor the 'STRIP' environment variable to overrule this program.
994f010a93dSmrgdnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
995f010a93dSmrgif test "$cross_compiling" != no; then
996f010a93dSmrg  AC_CHECK_TOOL([STRIP], [strip], :)
997f010a93dSmrgfi
998f010a93dSmrgINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
999f010a93dSmrgAC_SUBST([INSTALL_STRIP_PROGRAM])])
1000b4d38c65Smrg
1001f010a93dSmrg# Copyright (C) 2006-2021 Free Software Foundation, Inc.
1002f010a93dSmrg#
1003f010a93dSmrg# This file is free software; the Free Software Foundation
1004f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
1005f010a93dSmrg# with or without modifications, as long as this notice is preserved.
1006b4d38c65Smrg
1007f010a93dSmrg# _AM_SUBST_NOTMAKE(VARIABLE)
1008f010a93dSmrg# ---------------------------
1009f010a93dSmrg# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
1010f010a93dSmrg# This macro is traced by Automake.
1011f010a93dSmrgAC_DEFUN([_AM_SUBST_NOTMAKE])
1012b4d38c65Smrg
1013f010a93dSmrg# AM_SUBST_NOTMAKE(VARIABLE)
1014f010a93dSmrg# --------------------------
1015f010a93dSmrg# Public sister of _AM_SUBST_NOTMAKE.
1016f010a93dSmrgAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
1017b4d38c65Smrg
1018f010a93dSmrg# Check how to create a tarball.                            -*- Autoconf -*-
1019b4d38c65Smrg
1020f010a93dSmrg# Copyright (C) 2004-2021 Free Software Foundation, Inc.
1021f010a93dSmrg#
1022f010a93dSmrg# This file is free software; the Free Software Foundation
1023f010a93dSmrg# gives unlimited permission to copy and/or distribute it,
1024f010a93dSmrg# with or without modifications, as long as this notice is preserved.
1025b4d38c65Smrg
1026f010a93dSmrg# _AM_PROG_TAR(FORMAT)
1027f010a93dSmrg# --------------------
1028f010a93dSmrg# Check how to create a tarball in format FORMAT.
1029f010a93dSmrg# FORMAT should be one of 'v7', 'ustar', or 'pax'.
1030f010a93dSmrg#
1031f010a93dSmrg# Substitute a variable $(am__tar) that is a command
1032f010a93dSmrg# writing to stdout a FORMAT-tarball containing the directory
1033f010a93dSmrg# $tardir.
1034f010a93dSmrg#     tardir=directory && $(am__tar) > result.tar
1035f010a93dSmrg#
1036f010a93dSmrg# Substitute a variable $(am__untar) that extract such
1037f010a93dSmrg# a tarball read from stdin.
1038f010a93dSmrg#     $(am__untar) < result.tar
1039f010a93dSmrg#
1040f010a93dSmrgAC_DEFUN([_AM_PROG_TAR],
1041f010a93dSmrg[# Always define AMTAR for backward compatibility.  Yes, it's still used
1042f010a93dSmrg# in the wild :-(  We should find a proper way to deprecate it ...
1043f010a93dSmrgAC_SUBST([AMTAR], ['$${TAR-tar}'])
1044b4d38c65Smrg
1045f010a93dSmrg# We'll loop over all known methods to create a tar archive until one works.
1046f010a93dSmrg_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
1047b4d38c65Smrg
1048f010a93dSmrgm4_if([$1], [v7],
1049f010a93dSmrg  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
1050b4d38c65Smrg
1051f010a93dSmrg  [m4_case([$1],
1052f010a93dSmrg    [ustar],
1053f010a93dSmrg     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
1054f010a93dSmrg      # There is notably a 21 bits limit for the UID and the GID.  In fact,
1055f010a93dSmrg      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
1056f010a93dSmrg      # and bug#13588).
1057f010a93dSmrg      am_max_uid=2097151 # 2^21 - 1
1058f010a93dSmrg      am_max_gid=$am_max_uid
1059f010a93dSmrg      # The $UID and $GID variables are not portable, so we need to resort
1060f010a93dSmrg      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
1061f010a93dSmrg      # below are definitely unexpected, so allow the users to see them
1062f010a93dSmrg      # (that is, avoid stderr redirection).
1063f010a93dSmrg      am_uid=`id -u || echo unknown`
1064f010a93dSmrg      am_gid=`id -g || echo unknown`
1065f010a93dSmrg      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
1066f010a93dSmrg      if test $am_uid -le $am_max_uid; then
1067f010a93dSmrg         AC_MSG_RESULT([yes])
1068f010a93dSmrg      else
1069f010a93dSmrg         AC_MSG_RESULT([no])
1070f010a93dSmrg         _am_tools=none
1071f010a93dSmrg      fi
1072f010a93dSmrg      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
1073f010a93dSmrg      if test $am_gid -le $am_max_gid; then
1074f010a93dSmrg         AC_MSG_RESULT([yes])
1075f010a93dSmrg      else
1076f010a93dSmrg        AC_MSG_RESULT([no])
1077f010a93dSmrg        _am_tools=none
1078f010a93dSmrg      fi],
1079b4d38c65Smrg
1080f010a93dSmrg  [pax],
1081f010a93dSmrg    [],
1082b4d38c65Smrg
1083f010a93dSmrg  [m4_fatal([Unknown tar format])])
1084b4d38c65Smrg
1085f010a93dSmrg  AC_MSG_CHECKING([how to create a $1 tar archive])
1086f010a93dSmrg
1087f010a93dSmrg  # Go ahead even if we have the value already cached.  We do so because we
1088f010a93dSmrg  # need to set the values for the 'am__tar' and 'am__untar' variables.
1089f010a93dSmrg  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
1090f010a93dSmrg
1091f010a93dSmrg  for _am_tool in $_am_tools; do
1092f010a93dSmrg    case $_am_tool in
1093f010a93dSmrg    gnutar)
1094f010a93dSmrg      for _am_tar in tar gnutar gtar; do
1095f010a93dSmrg        AM_RUN_LOG([$_am_tar --version]) && break
1096f010a93dSmrg      done
1097f010a93dSmrg      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
1098f010a93dSmrg      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
1099f010a93dSmrg      am__untar="$_am_tar -xf -"
1100b534f209Smrg      ;;
1101f010a93dSmrg    plaintar)
1102f010a93dSmrg      # Must skip GNU tar: if it does not support --format= it doesn't create
1103f010a93dSmrg      # ustar tarball either.
1104f010a93dSmrg      (tar --version) >/dev/null 2>&1 && continue
1105f010a93dSmrg      am__tar='tar chf - "$$tardir"'
1106f010a93dSmrg      am__tar_='tar chf - "$tardir"'
1107f010a93dSmrg      am__untar='tar xf -'
1108b534f209Smrg      ;;
1109f010a93dSmrg    pax)
1110f010a93dSmrg      am__tar='pax -L -x $1 -w "$$tardir"'
1111f010a93dSmrg      am__tar_='pax -L -x $1 -w "$tardir"'
1112f010a93dSmrg      am__untar='pax -r'
1113b534f209Smrg      ;;
1114f010a93dSmrg    cpio)
1115f010a93dSmrg      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
1116f010a93dSmrg      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
1117f010a93dSmrg      am__untar='cpio -i -H $1 -d'
1118f010a93dSmrg      ;;
1119f010a93dSmrg    none)
1120f010a93dSmrg      am__tar=false
1121f010a93dSmrg      am__tar_=false
1122f010a93dSmrg      am__untar=false
1123b534f209Smrg      ;;
1124b534f209Smrg    esac
1125b4d38c65Smrg
1126f010a93dSmrg    # If the value was cached, stop now.  We just wanted to have am__tar
1127f010a93dSmrg    # and am__untar set.
1128f010a93dSmrg    test -n "${am_cv_prog_tar_$1}" && break
1129b4d38c65Smrg
1130f010a93dSmrg    # tar/untar a dummy directory, and stop if the command works.
1131f010a93dSmrg    rm -rf conftest.dir
1132f010a93dSmrg    mkdir conftest.dir
1133f010a93dSmrg    echo GrepMe > conftest.dir/file
1134f010a93dSmrg    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
1135f010a93dSmrg    rm -rf conftest.dir
1136f010a93dSmrg    if test -s conftest.tar; then
1137f010a93dSmrg      AM_RUN_LOG([$am__untar <conftest.tar])
1138f010a93dSmrg      AM_RUN_LOG([cat conftest.dir/file])
1139f010a93dSmrg      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
1140f010a93dSmrg    fi
1141f010a93dSmrg  done
1142f010a93dSmrg  rm -rf conftest.dir
1143b4d38c65Smrg
1144f010a93dSmrg  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
1145f010a93dSmrg  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
1146b4d38c65Smrg
1147f010a93dSmrgAC_SUBST([am__tar])
1148f010a93dSmrgAC_SUBST([am__untar])
1149f010a93dSmrg]) # _AM_PROG_TAR
1150b4d38c65Smrg
1151f010a93dSmrgdnl Copyright 2005 Red Hat, Inc
1152f010a93dSmrgdnl 
1153f010a93dSmrgdnl Permission to use, copy, modify, distribute, and sell this software and its
1154f010a93dSmrgdnl documentation for any purpose is hereby granted without fee, provided that
1155f010a93dSmrgdnl the above copyright notice appear in all copies and that both that
1156f010a93dSmrgdnl copyright notice and this permission notice appear in supporting
1157f010a93dSmrgdnl documentation.
1158f010a93dSmrgdnl 
1159f010a93dSmrgdnl The above copyright notice and this permission notice shall be included
1160f010a93dSmrgdnl in all copies or substantial portions of the Software.
1161f010a93dSmrgdnl 
1162f010a93dSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1163f010a93dSmrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1164f010a93dSmrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1165f010a93dSmrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
1166f010a93dSmrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1167f010a93dSmrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1168f010a93dSmrgdnl OTHER DEALINGS IN THE SOFTWARE.
1169f010a93dSmrgdnl 
1170f010a93dSmrgdnl Except as contained in this notice, the name of the copyright holders shall
1171f010a93dSmrgdnl not be used in advertising or otherwise to promote the sale, use or
1172f010a93dSmrgdnl other dealings in this Software without prior written authorization
1173f010a93dSmrgdnl from the copyright holders.
1174f010a93dSmrgdnl 
1175b4d38c65Smrg
1176f010a93dSmrg# XORG_DRIVER_CHECK_EXT(MACRO, PROTO)
1177f010a93dSmrg# --------------------------
1178f010a93dSmrg# Checks for the MACRO define in xorg-server.h (from the sdk).  If it
1179f010a93dSmrg# is defined, then add the given PROTO to $REQUIRED_MODULES.
1180b4d38c65Smrg
1181f010a93dSmrgAC_DEFUN([XORG_DRIVER_CHECK_EXT],[
1182f010a93dSmrg	AC_REQUIRE([PKG_PROG_PKG_CONFIG])
1183f010a93dSmrg	SAVE_CFLAGS="$CFLAGS"
1184f010a93dSmrg	CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
1185f010a93dSmrg	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1186f010a93dSmrg#include "xorg-server.h"
1187f010a93dSmrg#if !defined $1
1188f010a93dSmrg#error $1 not defined
1189f010a93dSmrg#endif
1190f010a93dSmrg		]])],
1191f010a93dSmrg		[_EXT_CHECK=yes],
1192f010a93dSmrg		[_EXT_CHECK=no])
1193f010a93dSmrg	CFLAGS="$SAVE_CFLAGS"
1194f010a93dSmrg	AC_MSG_CHECKING([if $1 is defined])
1195f010a93dSmrg	AC_MSG_RESULT([$_EXT_CHECK])
1196f010a93dSmrg	if test "$_EXT_CHECK" != no; then
1197f010a93dSmrg		REQUIRED_MODULES="$REQUIRED_MODULES $2"
1198f010a93dSmrg	fi
1199f010a93dSmrg])
1200b4d38c65Smrg
1201f010a93dSmrgdnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
1202f010a93dSmrgdnl serial 11 (pkg-config-0.29)
1203f010a93dSmrgdnl
1204f010a93dSmrgdnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
1205f010a93dSmrgdnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
1206f010a93dSmrgdnl
1207f010a93dSmrgdnl This program is free software; you can redistribute it and/or modify
1208f010a93dSmrgdnl it under the terms of the GNU General Public License as published by
1209f010a93dSmrgdnl the Free Software Foundation; either version 2 of the License, or
1210f010a93dSmrgdnl (at your option) any later version.
1211f010a93dSmrgdnl
1212f010a93dSmrgdnl This program is distributed in the hope that it will be useful, but
1213f010a93dSmrgdnl WITHOUT ANY WARRANTY; without even the implied warranty of
1214f010a93dSmrgdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1215f010a93dSmrgdnl General Public License for more details.
1216f010a93dSmrgdnl
1217f010a93dSmrgdnl You should have received a copy of the GNU General Public License
1218f010a93dSmrgdnl along with this program; if not, write to the Free Software
1219f010a93dSmrgdnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
1220f010a93dSmrgdnl 02111-1307, USA.
1221f010a93dSmrgdnl
1222f010a93dSmrgdnl As a special exception to the GNU General Public License, if you
1223f010a93dSmrgdnl distribute this file as part of a program that contains a
1224f010a93dSmrgdnl configuration script generated by Autoconf, you may include it under
1225f010a93dSmrgdnl the same distribution terms that you use for the rest of that
1226f010a93dSmrgdnl program.
1227f010a93dSmrg
1228f010a93dSmrgdnl PKG_PREREQ(MIN-VERSION)
1229f010a93dSmrgdnl -----------------------
1230f010a93dSmrgdnl Since: 0.29
1231f010a93dSmrgdnl
1232f010a93dSmrgdnl Verify that the version of the pkg-config macros are at least
1233f010a93dSmrgdnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
1234f010a93dSmrgdnl installed version of pkg-config, this checks the developer's version
1235f010a93dSmrgdnl of pkg.m4 when generating configure.
1236f010a93dSmrgdnl
1237f010a93dSmrgdnl To ensure that this macro is defined, also add:
1238f010a93dSmrgdnl m4_ifndef([PKG_PREREQ],
1239f010a93dSmrgdnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
1240f010a93dSmrgdnl
1241f010a93dSmrgdnl See the "Since" comment for each macro you use to see what version
1242f010a93dSmrgdnl of the macros you require.
1243f010a93dSmrgm4_defun([PKG_PREREQ],
1244f010a93dSmrg[m4_define([PKG_MACROS_VERSION], [0.29])
1245f010a93dSmrgm4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
1246f010a93dSmrg    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
1247f010a93dSmrg])dnl PKG_PREREQ
1248f010a93dSmrg
1249f010a93dSmrgdnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
1250f010a93dSmrgdnl ----------------------------------
1251f010a93dSmrgdnl Since: 0.16
1252f010a93dSmrgdnl
1253f010a93dSmrgdnl Search for the pkg-config tool and set the PKG_CONFIG variable to
1254f010a93dSmrgdnl first found in the path. Checks that the version of pkg-config found
1255f010a93dSmrgdnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
1256f010a93dSmrgdnl used since that's the first version where most current features of
1257f010a93dSmrgdnl pkg-config existed.
1258f010a93dSmrgAC_DEFUN([PKG_PROG_PKG_CONFIG],
1259f010a93dSmrg[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
1260f010a93dSmrgm4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
1261f010a93dSmrgm4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
1262f010a93dSmrgAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
1263f010a93dSmrgAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
1264f010a93dSmrgAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
1265b4d38c65Smrg
1266f010a93dSmrgif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
1267f010a93dSmrg	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
1268f010a93dSmrgfi
1269f010a93dSmrgif test -n "$PKG_CONFIG"; then
1270f010a93dSmrg	_pkg_min_version=m4_default([$1], [0.9.0])
1271f010a93dSmrg	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
1272f010a93dSmrg	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
1273f010a93dSmrg		AC_MSG_RESULT([yes])
1274f010a93dSmrg	else
1275f010a93dSmrg		AC_MSG_RESULT([no])
1276f010a93dSmrg		PKG_CONFIG=""
1277f010a93dSmrg	fi
1278f010a93dSmrgfi[]dnl
1279f010a93dSmrg])dnl PKG_PROG_PKG_CONFIG
1280b4d38c65Smrg
1281f010a93dSmrgdnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
1282f010a93dSmrgdnl -------------------------------------------------------------------
1283f010a93dSmrgdnl Since: 0.18
1284f010a93dSmrgdnl
1285f010a93dSmrgdnl Check to see whether a particular set of modules exists. Similar to
1286f010a93dSmrgdnl PKG_CHECK_MODULES(), but does not set variables or print errors.
1287f010a93dSmrgdnl
1288f010a93dSmrgdnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
1289f010a93dSmrgdnl only at the first occurence in configure.ac, so if the first place
1290f010a93dSmrgdnl it's called might be skipped (such as if it is within an "if", you
1291f010a93dSmrgdnl have to call PKG_CHECK_EXISTS manually
1292f010a93dSmrgAC_DEFUN([PKG_CHECK_EXISTS],
1293f010a93dSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1294f010a93dSmrgif test -n "$PKG_CONFIG" && \
1295f010a93dSmrg    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
1296f010a93dSmrg  m4_default([$2], [:])
1297f010a93dSmrgm4_ifvaln([$3], [else
1298f010a93dSmrg  $3])dnl
1299f010a93dSmrgfi])
1300b4d38c65Smrg
1301f010a93dSmrgdnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
1302f010a93dSmrgdnl ---------------------------------------------
1303f010a93dSmrgdnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
1304f010a93dSmrgdnl pkg_failed based on the result.
1305f010a93dSmrgm4_define([_PKG_CONFIG],
1306f010a93dSmrg[if test -n "$$1"; then
1307f010a93dSmrg    pkg_cv_[]$1="$$1"
1308f010a93dSmrg elif test -n "$PKG_CONFIG"; then
1309f010a93dSmrg    PKG_CHECK_EXISTS([$3],
1310f010a93dSmrg                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
1311f010a93dSmrg		      test "x$?" != "x0" && pkg_failed=yes ],
1312f010a93dSmrg		     [pkg_failed=yes])
1313f010a93dSmrg else
1314f010a93dSmrg    pkg_failed=untried
1315f010a93dSmrgfi[]dnl
1316f010a93dSmrg])dnl _PKG_CONFIG
1317b4d38c65Smrg
1318f010a93dSmrgdnl _PKG_SHORT_ERRORS_SUPPORTED
1319f010a93dSmrgdnl ---------------------------
1320f010a93dSmrgdnl Internal check to see if pkg-config supports short errors.
1321f010a93dSmrgAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
1322f010a93dSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
1323f010a93dSmrgif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
1324f010a93dSmrg        _pkg_short_errors_supported=yes
1325f010a93dSmrgelse
1326f010a93dSmrg        _pkg_short_errors_supported=no
1327f010a93dSmrgfi[]dnl
1328f010a93dSmrg])dnl _PKG_SHORT_ERRORS_SUPPORTED
1329b4d38c65Smrg
1330b4d38c65Smrg
1331f010a93dSmrgdnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
1332f010a93dSmrgdnl   [ACTION-IF-NOT-FOUND])
1333f010a93dSmrgdnl --------------------------------------------------------------
1334f010a93dSmrgdnl Since: 0.4.0
1335f010a93dSmrgdnl
1336f010a93dSmrgdnl Note that if there is a possibility the first call to
1337f010a93dSmrgdnl PKG_CHECK_MODULES might not happen, you should be sure to include an
1338f010a93dSmrgdnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
1339f010a93dSmrgAC_DEFUN([PKG_CHECK_MODULES],
1340f010a93dSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1341f010a93dSmrgAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
1342f010a93dSmrgAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
1343b4d38c65Smrg
1344f010a93dSmrgpkg_failed=no
1345f010a93dSmrgAC_MSG_CHECKING([for $1])
1346b4d38c65Smrg
1347f010a93dSmrg_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
1348f010a93dSmrg_PKG_CONFIG([$1][_LIBS], [libs], [$2])
1349b4d38c65Smrg
1350f010a93dSmrgm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
1351f010a93dSmrgand $1[]_LIBS to avoid the need to call pkg-config.
1352f010a93dSmrgSee the pkg-config man page for more details.])
1353b4d38c65Smrg
1354f010a93dSmrgif test $pkg_failed = yes; then
1355f010a93dSmrg   	AC_MSG_RESULT([no])
1356f010a93dSmrg        _PKG_SHORT_ERRORS_SUPPORTED
1357f010a93dSmrg        if test $_pkg_short_errors_supported = yes; then
1358f010a93dSmrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
1359f010a93dSmrg        else 
1360f010a93dSmrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
1361f010a93dSmrg        fi
1362f010a93dSmrg	# Put the nasty error message in config.log where it belongs
1363f010a93dSmrg	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
1364b4d38c65Smrg
1365f010a93dSmrg	m4_default([$4], [AC_MSG_ERROR(
1366f010a93dSmrg[Package requirements ($2) were not met:
1367b4d38c65Smrg
1368f010a93dSmrg$$1_PKG_ERRORS
1369b4d38c65Smrg
1370f010a93dSmrgConsider adjusting the PKG_CONFIG_PATH environment variable if you
1371f010a93dSmrginstalled software in a non-standard prefix.
1372b4d38c65Smrg
1373f010a93dSmrg_PKG_TEXT])[]dnl
1374f010a93dSmrg        ])
1375f010a93dSmrgelif test $pkg_failed = untried; then
1376f010a93dSmrg     	AC_MSG_RESULT([no])
1377f010a93dSmrg	m4_default([$4], [AC_MSG_FAILURE(
1378f010a93dSmrg[The pkg-config script could not be found or is too old.  Make sure it
1379f010a93dSmrgis in your PATH or set the PKG_CONFIG environment variable to the full
1380f010a93dSmrgpath to pkg-config.
1381b4d38c65Smrg
1382f010a93dSmrg_PKG_TEXT
1383b4d38c65Smrg
1384f010a93dSmrgTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
1385f010a93dSmrg        ])
1386f010a93dSmrgelse
1387f010a93dSmrg	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
1388f010a93dSmrg	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
1389f010a93dSmrg        AC_MSG_RESULT([yes])
1390f010a93dSmrg	$3
1391f010a93dSmrgfi[]dnl
1392f010a93dSmrg])dnl PKG_CHECK_MODULES
1393b4d38c65Smrg
1394b4d38c65Smrg
1395f010a93dSmrgdnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
1396f010a93dSmrgdnl   [ACTION-IF-NOT-FOUND])
1397f010a93dSmrgdnl ---------------------------------------------------------------------
1398f010a93dSmrgdnl Since: 0.29
1399f010a93dSmrgdnl
1400f010a93dSmrgdnl Checks for existence of MODULES and gathers its build flags with
1401f010a93dSmrgdnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
1402f010a93dSmrgdnl and VARIABLE-PREFIX_LIBS from --libs.
1403f010a93dSmrgdnl
1404f010a93dSmrgdnl Note that if there is a possibility the first call to
1405f010a93dSmrgdnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
1406f010a93dSmrgdnl include an explicit call to PKG_PROG_PKG_CONFIG in your
1407f010a93dSmrgdnl configure.ac.
1408f010a93dSmrgAC_DEFUN([PKG_CHECK_MODULES_STATIC],
1409f010a93dSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1410f010a93dSmrg_save_PKG_CONFIG=$PKG_CONFIG
1411f010a93dSmrgPKG_CONFIG="$PKG_CONFIG --static"
1412f010a93dSmrgPKG_CHECK_MODULES($@)
1413f010a93dSmrgPKG_CONFIG=$_save_PKG_CONFIG[]dnl
1414f010a93dSmrg])dnl PKG_CHECK_MODULES_STATIC
1415b4d38c65Smrg
1416b4d38c65Smrg
1417f010a93dSmrgdnl PKG_INSTALLDIR([DIRECTORY])
1418f010a93dSmrgdnl -------------------------
1419f010a93dSmrgdnl Since: 0.27
1420f010a93dSmrgdnl
1421f010a93dSmrgdnl Substitutes the variable pkgconfigdir as the location where a module
1422f010a93dSmrgdnl should install pkg-config .pc files. By default the directory is
1423f010a93dSmrgdnl $libdir/pkgconfig, but the default can be changed by passing
1424f010a93dSmrgdnl DIRECTORY. The user can override through the --with-pkgconfigdir
1425f010a93dSmrgdnl parameter.
1426f010a93dSmrgAC_DEFUN([PKG_INSTALLDIR],
1427f010a93dSmrg[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
1428f010a93dSmrgm4_pushdef([pkg_description],
1429f010a93dSmrg    [pkg-config installation directory @<:@]pkg_default[@:>@])
1430f010a93dSmrgAC_ARG_WITH([pkgconfigdir],
1431f010a93dSmrg    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
1432f010a93dSmrg    [with_pkgconfigdir=]pkg_default)
1433f010a93dSmrgAC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
1434f010a93dSmrgm4_popdef([pkg_default])
1435f010a93dSmrgm4_popdef([pkg_description])
1436f010a93dSmrg])dnl PKG_INSTALLDIR
1437b4d38c65Smrg
1438b4d38c65Smrg
1439f010a93dSmrgdnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
1440f010a93dSmrgdnl --------------------------------
1441f010a93dSmrgdnl Since: 0.27
1442f010a93dSmrgdnl
1443f010a93dSmrgdnl Substitutes the variable noarch_pkgconfigdir as the location where a
1444f010a93dSmrgdnl module should install arch-independent pkg-config .pc files. By
1445f010a93dSmrgdnl default the directory is $datadir/pkgconfig, but the default can be
1446f010a93dSmrgdnl changed by passing DIRECTORY. The user can override through the
1447f010a93dSmrgdnl --with-noarch-pkgconfigdir parameter.
1448f010a93dSmrgAC_DEFUN([PKG_NOARCH_INSTALLDIR],
1449f010a93dSmrg[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
1450f010a93dSmrgm4_pushdef([pkg_description],
1451f010a93dSmrg    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
1452f010a93dSmrgAC_ARG_WITH([noarch-pkgconfigdir],
1453f010a93dSmrg    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
1454f010a93dSmrg    [with_noarch_pkgconfigdir=]pkg_default)
1455f010a93dSmrgAC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
1456f010a93dSmrgm4_popdef([pkg_default])
1457f010a93dSmrgm4_popdef([pkg_description])
1458f010a93dSmrg])dnl PKG_NOARCH_INSTALLDIR
1459b4d38c65Smrg
1460b4d38c65Smrg
1461f010a93dSmrgdnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
1462f010a93dSmrgdnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
1463f010a93dSmrgdnl -------------------------------------------
1464f010a93dSmrgdnl Since: 0.28
1465f010a93dSmrgdnl
1466f010a93dSmrgdnl Retrieves the value of the pkg-config variable for the given module.
1467f010a93dSmrgAC_DEFUN([PKG_CHECK_VAR],
1468f010a93dSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1469f010a93dSmrgAC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
1470b4d38c65Smrg
1471f010a93dSmrg_PKG_CONFIG([$1], [variable="][$3]["], [$2])
1472f010a93dSmrgAS_VAR_COPY([$1], [pkg_cv_][$1])
1473b4d38c65Smrg
1474f010a93dSmrgAS_VAR_IF([$1], [""], [$5], [$4])dnl
1475f010a93dSmrg])dnl PKG_CHECK_VAR
1476b4d38c65Smrg
1477f010a93dSmrgdnl xorg-macros.m4.  Generated from xorg-macros.m4.in xorgversion.m4 by configure.
1478f010a93dSmrgdnl
1479f010a93dSmrgdnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
1480f010a93dSmrgdnl
1481f010a93dSmrgdnl Permission is hereby granted, free of charge, to any person obtaining a
1482f010a93dSmrgdnl copy of this software and associated documentation files (the "Software"),
1483f010a93dSmrgdnl to deal in the Software without restriction, including without limitation
1484f010a93dSmrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
1485f010a93dSmrgdnl and/or sell copies of the Software, and to permit persons to whom the
1486f010a93dSmrgdnl Software is furnished to do so, subject to the following conditions:
1487f010a93dSmrgdnl
1488f010a93dSmrgdnl The above copyright notice and this permission notice (including the next
1489f010a93dSmrgdnl paragraph) shall be included in all copies or substantial portions of the
1490f010a93dSmrgdnl Software.
1491f010a93dSmrgdnl
1492f010a93dSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1493f010a93dSmrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1494f010a93dSmrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1495f010a93dSmrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1496f010a93dSmrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1497f010a93dSmrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1498f010a93dSmrgdnl DEALINGS IN THE SOFTWARE.
1499b4d38c65Smrg
1500f010a93dSmrg# XORG_MACROS_VERSION(required-version)
1501f010a93dSmrg# -------------------------------------
1502f010a93dSmrg# Minimum version: 1.1.0
1503f010a93dSmrg#
1504f010a93dSmrg# If you're using a macro added in Version 1.1 or newer, include this in
1505f010a93dSmrg# your configure.ac with the minimum required version, such as:
1506f010a93dSmrg# XORG_MACROS_VERSION(1.1)
1507f010a93dSmrg#
1508f010a93dSmrg# To ensure that this macro is defined, also add:
1509f010a93dSmrg# m4_ifndef([XORG_MACROS_VERSION],
1510f010a93dSmrg#     [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
1511f010a93dSmrg#
1512f010a93dSmrg#
1513f010a93dSmrg# See the "minimum version" comment for each macro you use to see what
1514f010a93dSmrg# version you require.
1515f010a93dSmrgm4_defun([XORG_MACROS_VERSION],[
1516f010a93dSmrgm4_define([vers_have], [1.19.3])
1517f010a93dSmrgm4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
1518f010a93dSmrgm4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
1519f010a93dSmrgm4_if(m4_cmp(maj_have, maj_needed), 0,,
1520f010a93dSmrg    [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
1521f010a93dSmrgm4_if(m4_version_compare(vers_have, [$1]), -1,
1522f010a93dSmrg    [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
1523f010a93dSmrgm4_undefine([vers_have])
1524f010a93dSmrgm4_undefine([maj_have])
1525f010a93dSmrgm4_undefine([maj_needed])
1526f010a93dSmrg]) # XORG_MACROS_VERSION
1527b4d38c65Smrg
1528f010a93dSmrg# XORG_PROG_RAWCPP()
1529b4d38c65Smrg# ------------------
1530f010a93dSmrg# Minimum version: 1.0.0
1531f010a93dSmrg#
1532f010a93dSmrg# Find cpp program and necessary flags for use in pre-processing text files
1533f010a93dSmrg# such as man pages and config files
1534f010a93dSmrgAC_DEFUN([XORG_PROG_RAWCPP],[
1535f010a93dSmrgAC_REQUIRE([AC_PROG_CPP])
1536f010a93dSmrgAC_PATH_TOOL(RAWCPP, [cpp], [${CPP}],
1537f010a93dSmrg   [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
1538b4d38c65Smrg
1539f010a93dSmrg# Check for flag to avoid builtin definitions - assumes unix is predefined,
1540f010a93dSmrg# which is not the best choice for supporting other OS'es, but covers most
1541f010a93dSmrg# of the ones we need for now.
1542f010a93dSmrgAC_MSG_CHECKING([if $RAWCPP requires -undef])
1543f010a93dSmrgAC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp redefine unix ?]])])
1544f010a93dSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1545f010a93dSmrg	AC_MSG_RESULT([no])
1546f010a93dSmrgelse
1547f010a93dSmrg	if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1548f010a93dSmrg		RAWCPPFLAGS=-undef
1549f010a93dSmrg		AC_MSG_RESULT([yes])
1550f010a93dSmrg	# under Cygwin unix is still defined even with -undef
1551f010a93dSmrg	elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1552f010a93dSmrg		RAWCPPFLAGS="-undef -ansi"
1553f010a93dSmrg		AC_MSG_RESULT([yes, with -ansi])
1554f010a93dSmrg	else
1555f010a93dSmrg		AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef.  I don't know what to do.])
1556f010a93dSmrg	fi
1557cf503b78Smrgfi
1558f010a93dSmrgrm -f conftest.$ac_ext
1559cf503b78Smrg
1560f010a93dSmrgAC_MSG_CHECKING([if $RAWCPP requires -traditional])
1561f010a93dSmrgAC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve   "whitespace"?]])])
1562f010a93dSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
1563f010a93dSmrg	AC_MSG_RESULT([no])
1564f010a93dSmrgelse
1565f010a93dSmrg	if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
1566f010a93dSmrg		TRADITIONALCPPFLAGS="-traditional"
1567f010a93dSmrg		RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
1568f010a93dSmrg		AC_MSG_RESULT([yes])
1569f010a93dSmrg	else
1570f010a93dSmrg		AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional.  I don't know what to do.])
1571f010a93dSmrg	fi
1572f010a93dSmrgfi
1573f010a93dSmrgrm -f conftest.$ac_ext
1574f010a93dSmrgAC_SUBST(RAWCPPFLAGS)
1575f010a93dSmrgAC_SUBST(TRADITIONALCPPFLAGS)
1576f010a93dSmrg]) # XORG_PROG_RAWCPP
1577cf503b78Smrg
1578f010a93dSmrg# XORG_MANPAGE_SECTIONS()
1579b4d38c65Smrg# -----------------------
1580f010a93dSmrg# Minimum version: 1.0.0
1581f010a93dSmrg#
1582f010a93dSmrg# Determine which sections man pages go in for the different man page types
1583f010a93dSmrg# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
1584f010a93dSmrg# Not sure if there's any better way than just hardcoding by OS name.
1585f010a93dSmrg# Override default settings by setting environment variables
1586f010a93dSmrg# Added MAN_SUBSTS in version 1.8
1587f010a93dSmrg# Added AC_PROG_SED in version 1.8
1588b4d38c65Smrg
1589f010a93dSmrgAC_DEFUN([XORG_MANPAGE_SECTIONS],[
1590f010a93dSmrgAC_REQUIRE([AC_CANONICAL_HOST])
1591f010a93dSmrgAC_REQUIRE([AC_PROG_SED])
1592b4d38c65Smrg
1593f010a93dSmrgcase $host_os in
1594f010a93dSmrg    solaris*)
1595f010a93dSmrg        # Solaris 2.0 - 11.3 use SysV man page section numbers, so we
1596f010a93dSmrg        # check for a man page file found in later versions that use
1597f010a93dSmrg        # traditional section numbers instead
1598f010a93dSmrg        AC_CHECK_FILE([/usr/share/man/man7/attributes.7],
1599f010a93dSmrg                [SYSV_MAN_SECTIONS=false], [SYSV_MAN_SECTIONS=true])
1600f010a93dSmrg        ;;
1601f010a93dSmrg    *) SYSV_MAN_SECTIONS=false ;;
1602f010a93dSmrgesac
1603b4d38c65Smrg
1604f010a93dSmrgif test x$APP_MAN_SUFFIX = x    ; then
1605f010a93dSmrg    APP_MAN_SUFFIX=1
1606f010a93dSmrgfi
1607f010a93dSmrgif test x$APP_MAN_DIR = x    ; then
1608f010a93dSmrg    APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
1609f010a93dSmrgfi
1610cf503b78Smrg
1611f010a93dSmrgif test x$LIB_MAN_SUFFIX = x    ; then
1612f010a93dSmrg    LIB_MAN_SUFFIX=3
1613f010a93dSmrgfi
1614f010a93dSmrgif test x$LIB_MAN_DIR = x    ; then
1615f010a93dSmrg    LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
1616f010a93dSmrgfi
1617b4d38c65Smrg
1618f010a93dSmrgif test x$FILE_MAN_SUFFIX = x    ; then
1619f010a93dSmrg    case $SYSV_MAN_SECTIONS in
1620f010a93dSmrg	true)				FILE_MAN_SUFFIX=4  ;;
1621f010a93dSmrg	*)				FILE_MAN_SUFFIX=5  ;;
1622f010a93dSmrg    esac
1623f010a93dSmrgfi
1624f010a93dSmrgif test x$FILE_MAN_DIR = x    ; then
1625f010a93dSmrg    FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
1626f010a93dSmrgfi
1627b4d38c65Smrg
1628f010a93dSmrgif test x$MISC_MAN_SUFFIX = x    ; then
1629f010a93dSmrg    case $SYSV_MAN_SECTIONS in
1630f010a93dSmrg	true)				MISC_MAN_SUFFIX=5  ;;
1631f010a93dSmrg	*)				MISC_MAN_SUFFIX=7  ;;
1632f010a93dSmrg    esac
1633f010a93dSmrgfi
1634f010a93dSmrgif test x$MISC_MAN_DIR = x    ; then
1635f010a93dSmrg    MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
1636f010a93dSmrgfi
1637b4d38c65Smrg
1638f010a93dSmrgif test x$DRIVER_MAN_SUFFIX = x    ; then
1639f010a93dSmrg    case $SYSV_MAN_SECTIONS in
1640f010a93dSmrg	true)				DRIVER_MAN_SUFFIX=7  ;;
1641f010a93dSmrg	*)				DRIVER_MAN_SUFFIX=4  ;;
1642f010a93dSmrg    esac
1643f010a93dSmrgfi
1644f010a93dSmrgif test x$DRIVER_MAN_DIR = x    ; then
1645f010a93dSmrg    DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
1646f010a93dSmrgfi
1647b4d38c65Smrg
1648f010a93dSmrgif test x$ADMIN_MAN_SUFFIX = x    ; then
1649f010a93dSmrg    case $SYSV_MAN_SECTIONS in
1650f010a93dSmrg	true)				ADMIN_MAN_SUFFIX=1m ;;
1651f010a93dSmrg	*)				ADMIN_MAN_SUFFIX=8  ;;
1652f010a93dSmrg    esac
1653f010a93dSmrgfi
1654f010a93dSmrgif test x$ADMIN_MAN_DIR = x    ; then
1655f010a93dSmrg    ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
1656f010a93dSmrgfi
1657b4d38c65Smrg
1658b4d38c65Smrg
1659f010a93dSmrgAC_SUBST([APP_MAN_SUFFIX])
1660f010a93dSmrgAC_SUBST([LIB_MAN_SUFFIX])
1661f010a93dSmrgAC_SUBST([FILE_MAN_SUFFIX])
1662f010a93dSmrgAC_SUBST([MISC_MAN_SUFFIX])
1663f010a93dSmrgAC_SUBST([DRIVER_MAN_SUFFIX])
1664f010a93dSmrgAC_SUBST([ADMIN_MAN_SUFFIX])
1665f010a93dSmrgAC_SUBST([APP_MAN_DIR])
1666f010a93dSmrgAC_SUBST([LIB_MAN_DIR])
1667f010a93dSmrgAC_SUBST([FILE_MAN_DIR])
1668f010a93dSmrgAC_SUBST([MISC_MAN_DIR])
1669f010a93dSmrgAC_SUBST([DRIVER_MAN_DIR])
1670f010a93dSmrgAC_SUBST([ADMIN_MAN_DIR])
1671b4d38c65Smrg
1672f010a93dSmrgXORG_MAN_PAGE="X Version 11"
1673f010a93dSmrgAC_SUBST([XORG_MAN_PAGE])
1674f010a93dSmrgMAN_SUBSTS="\
1675f010a93dSmrg	-e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
1676f010a93dSmrg	-e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
1677f010a93dSmrg	-e 's|__xservername__|Xorg|g' \
1678f010a93dSmrg	-e 's|__xconfigfile__|xorg.conf|g' \
1679f010a93dSmrg	-e 's|__projectroot__|\$(prefix)|g' \
1680f010a93dSmrg	-e 's|__apploaddir__|\$(appdefaultdir)|g' \
1681f010a93dSmrg	-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
1682f010a93dSmrg	-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
1683f010a93dSmrg	-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
1684f010a93dSmrg	-e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
1685f010a93dSmrg	-e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
1686f010a93dSmrg	-e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
1687f010a93dSmrgAC_SUBST([MAN_SUBSTS])
1688b4d38c65Smrg
1689f010a93dSmrg]) # XORG_MANPAGE_SECTIONS
1690b4d38c65Smrg
1691f010a93dSmrg# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION])
1692b4d38c65Smrg# ------------------------
1693f010a93dSmrg# Minimum version: 1.7.0
1694f010a93dSmrg#
1695f010a93dSmrg# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent
1696f010a93dSmrg# provided by xorg-sgml-doctools, if installed.
1697f010a93dSmrgAC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[
1698f010a93dSmrgAC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])])
1699f010a93dSmrgXORG_SGML_PATH=
1700f010a93dSmrgPKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])],
1701f010a93dSmrg    [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`],
1702f010a93dSmrg    [m4_ifval([$1],[:],
1703f010a93dSmrg        [if test x"$cross_compiling" != x"yes" ; then
1704f010a93dSmrg            AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent],
1705f010a93dSmrg                          [XORG_SGML_PATH=$prefix/share/sgml])
1706f010a93dSmrg         fi])
1707f010a93dSmrg    ])
1708b4d38c65Smrg
1709f010a93dSmrg# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
1710f010a93dSmrg# the path and the name of the doc stylesheet
1711f010a93dSmrgif test "x$XORG_SGML_PATH" != "x" ; then
1712f010a93dSmrg   AC_MSG_RESULT([$XORG_SGML_PATH])
1713f010a93dSmrg   STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
1714f010a93dSmrg   XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
1715f010a93dSmrgelse
1716f010a93dSmrg   AC_MSG_RESULT([no])
1717f010a93dSmrgfi
1718b4d38c65Smrg
1719f010a93dSmrgAC_SUBST(XORG_SGML_PATH)
1720f010a93dSmrgAC_SUBST(STYLESHEET_SRCDIR)
1721f010a93dSmrgAC_SUBST(XSL_STYLESHEET)
1722f010a93dSmrgAM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"])
1723f010a93dSmrg]) # XORG_CHECK_SGML_DOCTOOLS
1724b4d38c65Smrg
1725f010a93dSmrg# XORG_CHECK_LINUXDOC
1726f010a93dSmrg# -------------------
1727f010a93dSmrg# Minimum version: 1.0.0
1728f010a93dSmrg#
1729f010a93dSmrg# Defines the variable MAKE_TEXT if the necessary tools and
1730f010a93dSmrg# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
1731f010a93dSmrg# Whether or not the necessary tools and files are found can be checked
1732f010a93dSmrg# with the AM_CONDITIONAL "BUILD_LINUXDOC"
1733f010a93dSmrgAC_DEFUN([XORG_CHECK_LINUXDOC],[
1734f010a93dSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
1735f010a93dSmrgAC_REQUIRE([XORG_WITH_PS2PDF])
1736b4d38c65Smrg
1737f010a93dSmrgAC_PATH_PROG(LINUXDOC, linuxdoc)
1738cf503b78Smrg
1739f010a93dSmrgAC_MSG_CHECKING([whether to build documentation])
1740cf503b78Smrg
1741f010a93dSmrgif test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then
1742f010a93dSmrg   BUILDDOC=yes
1743f010a93dSmrgelse
1744f010a93dSmrg   BUILDDOC=no
1745f010a93dSmrgfi
1746b4d38c65Smrg
1747f010a93dSmrgAM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
1748b4d38c65Smrg
1749f010a93dSmrgAC_MSG_RESULT([$BUILDDOC])
1750b4d38c65Smrg
1751f010a93dSmrgAC_MSG_CHECKING([whether to build pdf documentation])
1752f010a93dSmrg
1753f010a93dSmrgif test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then
1754f010a93dSmrg   BUILDPDFDOC=yes
1755b4d38c65Smrgelse
1756f010a93dSmrg   BUILDPDFDOC=no
1757b4d38c65Smrgfi
1758b4d38c65Smrg
1759f010a93dSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
1760b4d38c65Smrg
1761f010a93dSmrgAC_MSG_RESULT([$BUILDPDFDOC])
1762f010a93dSmrg
1763f010a93dSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f"
1764f010a93dSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
1765f010a93dSmrgMAKE_PDF="$PS2PDF"
1766f010a93dSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC  -B html --split=0"
1767b4d38c65Smrg
1768f010a93dSmrgAC_SUBST(MAKE_TEXT)
1769f010a93dSmrgAC_SUBST(MAKE_PS)
1770f010a93dSmrgAC_SUBST(MAKE_PDF)
1771f010a93dSmrgAC_SUBST(MAKE_HTML)
1772f010a93dSmrg]) # XORG_CHECK_LINUXDOC
1773b4d38c65Smrg
1774f010a93dSmrg# XORG_CHECK_DOCBOOK
1775f010a93dSmrg# -------------------
1776f010a93dSmrg# Minimum version: 1.0.0
1777f010a93dSmrg#
1778f010a93dSmrg# Checks for the ability to build output formats from SGML DocBook source.
1779f010a93dSmrg# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
1780f010a93dSmrg# indicates whether the necessary tools and files are found and, if set,
1781f010a93dSmrg# $(MAKE_XXX) blah.sgml will produce blah.xxx.
1782f010a93dSmrgAC_DEFUN([XORG_CHECK_DOCBOOK],[
1783f010a93dSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
1784b4d38c65Smrg
1785f010a93dSmrgBUILDTXTDOC=no
1786f010a93dSmrgBUILDPDFDOC=no
1787f010a93dSmrgBUILDPSDOC=no
1788f010a93dSmrgBUILDHTMLDOC=no
1789b4d38c65Smrg
1790f010a93dSmrgAC_PATH_PROG(DOCBOOKPS, docbook2ps)
1791f010a93dSmrgAC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
1792f010a93dSmrgAC_PATH_PROG(DOCBOOKHTML, docbook2html)
1793f010a93dSmrgAC_PATH_PROG(DOCBOOKTXT, docbook2txt)
1794f010a93dSmrg
1795f010a93dSmrgAC_MSG_CHECKING([whether to build text documentation])
1796f010a93dSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x &&
1797f010a93dSmrg   test x$BUILD_TXTDOC != xno; then
1798f010a93dSmrg	BUILDTXTDOC=yes
1799b4d38c65Smrgfi
1800f010a93dSmrgAM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
1801f010a93dSmrgAC_MSG_RESULT([$BUILDTXTDOC])
1802b4d38c65Smrg
1803f010a93dSmrgAC_MSG_CHECKING([whether to build PDF documentation])
1804f010a93dSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x &&
1805f010a93dSmrg   test x$BUILD_PDFDOC != xno; then
1806f010a93dSmrg	BUILDPDFDOC=yes
1807f010a93dSmrgfi
1808f010a93dSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
1809f010a93dSmrgAC_MSG_RESULT([$BUILDPDFDOC])
1810b4d38c65Smrg
1811f010a93dSmrgAC_MSG_CHECKING([whether to build PostScript documentation])
1812f010a93dSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x &&
1813f010a93dSmrg   test x$BUILD_PSDOC != xno; then
1814f010a93dSmrg	BUILDPSDOC=yes
1815f010a93dSmrgfi
1816f010a93dSmrgAM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
1817f010a93dSmrgAC_MSG_RESULT([$BUILDPSDOC])
1818b4d38c65Smrg
1819f010a93dSmrgAC_MSG_CHECKING([whether to build HTML documentation])
1820f010a93dSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x &&
1821f010a93dSmrg   test x$BUILD_HTMLDOC != xno; then
1822f010a93dSmrg	BUILDHTMLDOC=yes
1823f010a93dSmrgfi
1824f010a93dSmrgAM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
1825f010a93dSmrgAC_MSG_RESULT([$BUILDHTMLDOC])
1826b4d38c65Smrg
1827f010a93dSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
1828f010a93dSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
1829f010a93dSmrgMAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
1830f010a93dSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
1831b4d38c65Smrg
1832f010a93dSmrgAC_SUBST(MAKE_TEXT)
1833f010a93dSmrgAC_SUBST(MAKE_PS)
1834f010a93dSmrgAC_SUBST(MAKE_PDF)
1835f010a93dSmrgAC_SUBST(MAKE_HTML)
1836f010a93dSmrg]) # XORG_CHECK_DOCBOOK
1837b4d38c65Smrg
1838f010a93dSmrg# XORG_WITH_XMLTO([MIN-VERSION], [DEFAULT])
1839b4d38c65Smrg# ----------------
1840f010a93dSmrg# Minimum version: 1.5.0
1841f010a93dSmrg# Minimum version for optional DEFAULT argument: 1.11.0
1842f010a93dSmrg#
1843f010a93dSmrg# Documentation tools are not always available on all platforms and sometimes
1844f010a93dSmrg# not at the appropriate level. This macro enables a module to test for the
1845f010a93dSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
1846f010a93dSmrg# the --with-xmlto option, it allows maximum flexibilty in making decisions
1847f010a93dSmrg# as whether or not to use the xmlto package. When DEFAULT is not specified,
1848f010a93dSmrg# --with-xmlto assumes 'auto'.
1849f010a93dSmrg#
1850f010a93dSmrg# Interface to module:
1851f010a93dSmrg# HAVE_XMLTO: 	used in makefiles to conditionally generate documentation
1852f010a93dSmrg# XMLTO:	returns the path of the xmlto program found
1853f010a93dSmrg#		returns the path set by the user in the environment
1854f010a93dSmrg# --with-xmlto:	'yes' user instructs the module to use xmlto
1855f010a93dSmrg#		'no' user instructs the module not to use xmlto
1856f010a93dSmrg#
1857f010a93dSmrg# Added in version 1.10.0
1858f010a93dSmrg# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation
1859f010a93dSmrg#                  xmlto for text output requires either lynx, links, or w3m browsers
1860f010a93dSmrg#
1861f010a93dSmrg# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
1862f010a93dSmrg#
1863f010a93dSmrgAC_DEFUN([XORG_WITH_XMLTO],[
1864f010a93dSmrgAC_ARG_VAR([XMLTO], [Path to xmlto command])
1865f010a93dSmrgm4_define([_defopt], m4_default([$2], [auto]))
1866f010a93dSmrgAC_ARG_WITH(xmlto,
1867f010a93dSmrg	AS_HELP_STRING([--with-xmlto],
1868f010a93dSmrg	   [Use xmlto to regenerate documentation (default: ]_defopt[)]),
1869f010a93dSmrg	   [use_xmlto=$withval], [use_xmlto=]_defopt)
1870f010a93dSmrgm4_undefine([_defopt])
1871b4d38c65Smrg
1872f010a93dSmrgif test "x$use_xmlto" = x"auto"; then
1873f010a93dSmrg   AC_PATH_PROG([XMLTO], [xmlto])
1874f010a93dSmrg   if test "x$XMLTO" = "x"; then
1875f010a93dSmrg        AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
1876f010a93dSmrg	have_xmlto=no
1877f010a93dSmrg   else
1878f010a93dSmrg        have_xmlto=yes
1879b4d38c65Smrg   fi
1880f010a93dSmrgelif test "x$use_xmlto" = x"yes" ; then
1881f010a93dSmrg   AC_PATH_PROG([XMLTO], [xmlto])
1882f010a93dSmrg   if test "x$XMLTO" = "x"; then
1883f010a93dSmrg        AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH])
1884f010a93dSmrg   fi
1885f010a93dSmrg   have_xmlto=yes
1886f010a93dSmrgelif test "x$use_xmlto" = x"no" ; then
1887f010a93dSmrg   if test "x$XMLTO" != "x"; then
1888f010a93dSmrg      AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
1889f010a93dSmrg   fi
1890f010a93dSmrg   have_xmlto=no
1891f010a93dSmrgelse
1892f010a93dSmrg   AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
1893f010a93dSmrgfi
1894b4d38c65Smrg
1895f010a93dSmrg# Test for a minimum version of xmlto, if provided.
1896f010a93dSmrgm4_ifval([$1],
1897f010a93dSmrg[if test "$have_xmlto" = yes; then
1898f010a93dSmrg    # scrape the xmlto version
1899f010a93dSmrg    AC_MSG_CHECKING([the xmlto version])
1900f010a93dSmrg    xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
1901f010a93dSmrg    AC_MSG_RESULT([$xmlto_version])
1902f010a93dSmrg    AS_VERSION_COMPARE([$xmlto_version], [$1],
1903f010a93dSmrg        [if test "x$use_xmlto" = xauto; then
1904f010a93dSmrg            AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
1905f010a93dSmrg            have_xmlto=no
1906f010a93dSmrg        else
1907f010a93dSmrg            AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
1908f010a93dSmrg        fi])
1909f010a93dSmrgfi])
1910b4d38c65Smrg
1911f010a93dSmrg# Test for the ability of xmlto to generate a text target
1912f010a93dSmrg#
1913f010a93dSmrg# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the
1914f010a93dSmrg# following test for empty XML docbook files.
1915f010a93dSmrg# For compatibility reasons use the following empty XML docbook file and if
1916f010a93dSmrg# it fails try it again with a non-empty XML file.
1917f010a93dSmrghave_xmlto_text=no
1918f010a93dSmrgcat > conftest.xml << "EOF"
1919f010a93dSmrgEOF
1920f010a93dSmrgAS_IF([test "$have_xmlto" = yes],
1921f010a93dSmrg      [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
1922f010a93dSmrg             [have_xmlto_text=yes],
1923f010a93dSmrg             [# Try it again with a non-empty XML file.
1924f010a93dSmrg              cat > conftest.xml << "EOF"
1925f010a93dSmrg<x></x>
1926f010a93dSmrgEOF
1927f010a93dSmrg              AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
1928f010a93dSmrg                    [have_xmlto_text=yes],
1929f010a93dSmrg                    [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])])
1930f010a93dSmrgrm -f conftest.xml
1931f010a93dSmrgAM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
1932f010a93dSmrgAM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
1933f010a93dSmrg]) # XORG_WITH_XMLTO
1934b4d38c65Smrg
1935f010a93dSmrg# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT])
1936f010a93dSmrg# --------------------------------------------
1937f010a93dSmrg# Minimum version: 1.12.0
1938f010a93dSmrg# Minimum version for optional DEFAULT argument: 1.12.0
1939f010a93dSmrg#
1940f010a93dSmrg# XSLT (Extensible Stylesheet Language Transformations) is a declarative,
1941f010a93dSmrg# XML-based language used for the transformation of XML documents.
1942f010a93dSmrg# The xsltproc command line tool is for applying XSLT stylesheets to XML documents.
1943f010a93dSmrg# It is used under the cover by xmlto to generate html files from DocBook/XML.
1944f010a93dSmrg# The XSLT processor is often used as a standalone tool for transformations.
1945f010a93dSmrg# It should not be assumed that this tool is used only to work with documnetation.
1946f010a93dSmrg# When DEFAULT is not specified, --with-xsltproc assumes 'auto'.
1947f010a93dSmrg#
1948f010a93dSmrg# Interface to module:
1949f010a93dSmrg# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation
1950f010a93dSmrg# XSLTPROC:	 returns the path of the xsltproc program found
1951f010a93dSmrg#		 returns the path set by the user in the environment
1952f010a93dSmrg# --with-xsltproc: 'yes' user instructs the module to use xsltproc
1953f010a93dSmrg#		  'no' user instructs the module not to use xsltproc
1954f010a93dSmrg# have_xsltproc: returns yes if xsltproc found in PATH or no
1955f010a93dSmrg#
1956f010a93dSmrg# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path.
1957f010a93dSmrg#
1958f010a93dSmrgAC_DEFUN([XORG_WITH_XSLTPROC],[
1959f010a93dSmrgAC_ARG_VAR([XSLTPROC], [Path to xsltproc command])
1960f010a93dSmrg# Preserves the interface, should it be implemented later
1961f010a93dSmrgm4_ifval([$1], [m4_warn([syntax], [Checking for xsltproc MIN-VERSION is not implemented])])
1962f010a93dSmrgm4_define([_defopt], m4_default([$2], [auto]))
1963f010a93dSmrgAC_ARG_WITH(xsltproc,
1964f010a93dSmrg	AS_HELP_STRING([--with-xsltproc],
1965f010a93dSmrg	   [Use xsltproc for the transformation of XML documents (default: ]_defopt[)]),
1966f010a93dSmrg	   [use_xsltproc=$withval], [use_xsltproc=]_defopt)
1967f010a93dSmrgm4_undefine([_defopt])
1968b4d38c65Smrg
1969f010a93dSmrgif test "x$use_xsltproc" = x"auto"; then
1970f010a93dSmrg   AC_PATH_PROG([XSLTPROC], [xsltproc])
1971f010a93dSmrg   if test "x$XSLTPROC" = "x"; then
1972f010a93dSmrg        AC_MSG_WARN([xsltproc not found - cannot transform XML documents])
1973f010a93dSmrg	have_xsltproc=no
1974f010a93dSmrg   else
1975f010a93dSmrg        have_xsltproc=yes
1976f010a93dSmrg   fi
1977f010a93dSmrgelif test "x$use_xsltproc" = x"yes" ; then
1978f010a93dSmrg   AC_PATH_PROG([XSLTPROC], [xsltproc])
1979f010a93dSmrg   if test "x$XSLTPROC" = "x"; then
1980f010a93dSmrg        AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH])
1981f010a93dSmrg   fi
1982f010a93dSmrg   have_xsltproc=yes
1983f010a93dSmrgelif test "x$use_xsltproc" = x"no" ; then
1984f010a93dSmrg   if test "x$XSLTPROC" != "x"; then
1985f010a93dSmrg      AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified])
1986f010a93dSmrg   fi
1987f010a93dSmrg   have_xsltproc=no
1988b4d38c65Smrgelse
1989f010a93dSmrg   AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no'])
1990b4d38c65Smrgfi
1991b4d38c65Smrg
1992f010a93dSmrgAM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes])
1993f010a93dSmrg]) # XORG_WITH_XSLTPROC
199415fb4814Smrg
1995f010a93dSmrg# XORG_WITH_PERL([MIN-VERSION], [DEFAULT])
1996f010a93dSmrg# ----------------------------------------
1997f010a93dSmrg# Minimum version: 1.15.0
1998f010a93dSmrg#
1999f010a93dSmrg# PERL (Practical Extraction and Report Language) is a language optimized for
2000f010a93dSmrg# scanning arbitrary text files, extracting information from those text files,
2001f010a93dSmrg# and printing reports based on that information.
2002f010a93dSmrg#
2003f010a93dSmrg# When DEFAULT is not specified, --with-perl assumes 'auto'.
2004f010a93dSmrg#
2005f010a93dSmrg# Interface to module:
2006f010a93dSmrg# HAVE_PERL: used in makefiles to conditionally scan text files
2007f010a93dSmrg# PERL:	     returns the path of the perl program found
2008f010a93dSmrg#	     returns the path set by the user in the environment
2009f010a93dSmrg# --with-perl: 'yes' user instructs the module to use perl
2010f010a93dSmrg#	       'no' user instructs the module not to use perl
2011f010a93dSmrg# have_perl: returns yes if perl found in PATH or no
2012f010a93dSmrg#
2013f010a93dSmrg# If the user sets the value of PERL, AC_PATH_PROG skips testing the path.
2014f010a93dSmrg#
2015f010a93dSmrgAC_DEFUN([XORG_WITH_PERL],[
2016f010a93dSmrgAC_ARG_VAR([PERL], [Path to perl command])
2017f010a93dSmrg# Preserves the interface, should it be implemented later
2018f010a93dSmrgm4_ifval([$1], [m4_warn([syntax], [Checking for perl MIN-VERSION is not implemented])])
2019f010a93dSmrgm4_define([_defopt], m4_default([$2], [auto]))
2020f010a93dSmrgAC_ARG_WITH(perl,
2021f010a93dSmrg	AS_HELP_STRING([--with-perl],
2022f010a93dSmrg	   [Use perl for extracting information from files (default: ]_defopt[)]),
2023f010a93dSmrg	   [use_perl=$withval], [use_perl=]_defopt)
2024f010a93dSmrgm4_undefine([_defopt])
202515fb4814Smrg
2026f010a93dSmrgif test "x$use_perl" = x"auto"; then
2027f010a93dSmrg   AC_PATH_PROG([PERL], [perl])
2028f010a93dSmrg   if test "x$PERL" = "x"; then
2029f010a93dSmrg        AC_MSG_WARN([perl not found - cannot extract information and report])
2030f010a93dSmrg	have_perl=no
2031f010a93dSmrg   else
2032f010a93dSmrg        have_perl=yes
203315fb4814Smrg   fi
2034f010a93dSmrgelif test "x$use_perl" = x"yes" ; then
2035f010a93dSmrg   AC_PATH_PROG([PERL], [perl])
2036f010a93dSmrg   if test "x$PERL" = "x"; then
2037f010a93dSmrg        AC_MSG_ERROR([--with-perl=yes specified but perl not found in PATH])
2038f010a93dSmrg   fi
2039f010a93dSmrg   have_perl=yes
2040f010a93dSmrgelif test "x$use_perl" = x"no" ; then
2041f010a93dSmrg   if test "x$PERL" != "x"; then
2042f010a93dSmrg      AC_MSG_WARN([ignoring PERL environment variable since --with-perl=no was specified])
2043f010a93dSmrg   fi
2044f010a93dSmrg   have_perl=no
204515fb4814Smrgelse
2046f010a93dSmrg   AC_MSG_ERROR([--with-perl expects 'yes' or 'no'])
204715fb4814Smrgfi
204815fb4814Smrg
2049f010a93dSmrgAM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes])
2050f010a93dSmrg]) # XORG_WITH_PERL
205115fb4814Smrg
2052f010a93dSmrg# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT])
2053f010a93dSmrg# ----------------
2054f010a93dSmrg# Minimum version: 1.5.0
2055f010a93dSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2056f010a93dSmrg#
2057f010a93dSmrg# Documentation tools are not always available on all platforms and sometimes
2058f010a93dSmrg# not at the appropriate level. This macro enables a module to test for the
2059f010a93dSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2060f010a93dSmrg# the --with-asciidoc option, it allows maximum flexibilty in making decisions
2061f010a93dSmrg# as whether or not to use the asciidoc package. When DEFAULT is not specified,
2062f010a93dSmrg# --with-asciidoc assumes 'auto'.
2063f010a93dSmrg#
2064f010a93dSmrg# Interface to module:
2065f010a93dSmrg# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
2066f010a93dSmrg# ASCIIDOC:	 returns the path of the asciidoc program found
2067f010a93dSmrg#		 returns the path set by the user in the environment
2068f010a93dSmrg# --with-asciidoc: 'yes' user instructs the module to use asciidoc
2069f010a93dSmrg#		  'no' user instructs the module not to use asciidoc
2070f010a93dSmrg#
2071f010a93dSmrg# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path.
2072f010a93dSmrg#
2073f010a93dSmrgAC_DEFUN([XORG_WITH_ASCIIDOC],[
2074f010a93dSmrgAC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
2075f010a93dSmrgm4_define([_defopt], m4_default([$2], [auto]))
2076f010a93dSmrgAC_ARG_WITH(asciidoc,
2077f010a93dSmrg	AS_HELP_STRING([--with-asciidoc],
2078f010a93dSmrg	   [Use asciidoc to regenerate documentation (default: ]_defopt[)]),
2079f010a93dSmrg	   [use_asciidoc=$withval], [use_asciidoc=]_defopt)
2080f010a93dSmrgm4_undefine([_defopt])
2081b4d38c65Smrg
2082f010a93dSmrgif test "x$use_asciidoc" = x"auto"; then
2083f010a93dSmrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
2084f010a93dSmrg   if test "x$ASCIIDOC" = "x"; then
2085f010a93dSmrg        AC_MSG_WARN([asciidoc not found - documentation targets will be skipped])
2086f010a93dSmrg	have_asciidoc=no
2087f010a93dSmrg   else
2088f010a93dSmrg        have_asciidoc=yes
208915fb4814Smrg   fi
2090f010a93dSmrgelif test "x$use_asciidoc" = x"yes" ; then
2091f010a93dSmrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
2092f010a93dSmrg   if test "x$ASCIIDOC" = "x"; then
2093f010a93dSmrg        AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH])
2094f010a93dSmrg   fi
2095f010a93dSmrg   have_asciidoc=yes
2096f010a93dSmrgelif test "x$use_asciidoc" = x"no" ; then
2097f010a93dSmrg   if test "x$ASCIIDOC" != "x"; then
2098f010a93dSmrg      AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified])
2099f010a93dSmrg   fi
2100f010a93dSmrg   have_asciidoc=no
210115fb4814Smrgelse
2102f010a93dSmrg   AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no'])
210315fb4814Smrgfi
2104f010a93dSmrgm4_ifval([$1],
2105f010a93dSmrg[if test "$have_asciidoc" = yes; then
2106f010a93dSmrg    # scrape the asciidoc version
2107f010a93dSmrg    AC_MSG_CHECKING([the asciidoc version])
2108f010a93dSmrg    asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2`
2109f010a93dSmrg    AC_MSG_RESULT([$asciidoc_version])
2110f010a93dSmrg    AS_VERSION_COMPARE([$asciidoc_version], [$1],
2111f010a93dSmrg        [if test "x$use_asciidoc" = xauto; then
2112f010a93dSmrg            AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed])
2113f010a93dSmrg            have_asciidoc=no
2114f010a93dSmrg        else
2115f010a93dSmrg            AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed])
2116f010a93dSmrg        fi])
2117f010a93dSmrgfi])
2118f010a93dSmrgAM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
2119f010a93dSmrg]) # XORG_WITH_ASCIIDOC
2120b410ddbeSmrg
2121f010a93dSmrg# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
2122f010a93dSmrg# -------------------------------------------
2123f010a93dSmrg# Minimum version: 1.5.0
2124f010a93dSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2125f010a93dSmrg# Minimum version for optional DOT checking: 1.18.0
2126f010a93dSmrg#
2127f010a93dSmrg# Documentation tools are not always available on all platforms and sometimes
2128f010a93dSmrg# not at the appropriate level. This macro enables a module to test for the
2129f010a93dSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2130f010a93dSmrg# the --with-doxygen option, it allows maximum flexibilty in making decisions
2131f010a93dSmrg# as whether or not to use the doxygen package. When DEFAULT is not specified,
2132f010a93dSmrg# --with-doxygen assumes 'auto'.
2133f010a93dSmrg#
2134f010a93dSmrg# Interface to module:
2135f010a93dSmrg# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
2136f010a93dSmrg# DOXYGEN:	 returns the path of the doxygen program found
2137f010a93dSmrg#		 returns the path set by the user in the environment
2138f010a93dSmrg# --with-doxygen: 'yes' user instructs the module to use doxygen
2139f010a93dSmrg#		  'no' user instructs the module not to use doxygen
2140f010a93dSmrg#
2141f010a93dSmrg# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path.
2142f010a93dSmrg#
2143f010a93dSmrgAC_DEFUN([XORG_WITH_DOXYGEN],[
2144f010a93dSmrgAC_ARG_VAR([DOXYGEN], [Path to doxygen command])
2145f010a93dSmrgAC_ARG_VAR([DOT], [Path to the dot graphics utility])
2146f010a93dSmrgm4_define([_defopt], m4_default([$2], [auto]))
2147f010a93dSmrgAC_ARG_WITH(doxygen,
2148f010a93dSmrg	AS_HELP_STRING([--with-doxygen],
2149f010a93dSmrg	   [Use doxygen to regenerate documentation (default: ]_defopt[)]),
2150f010a93dSmrg	   [use_doxygen=$withval], [use_doxygen=]_defopt)
2151f010a93dSmrgm4_undefine([_defopt])
2152b4d38c65Smrg
2153f010a93dSmrgif test "x$use_doxygen" = x"auto"; then
2154f010a93dSmrg   AC_PATH_PROG([DOXYGEN], [doxygen])
2155f010a93dSmrg   if test "x$DOXYGEN" = "x"; then
2156f010a93dSmrg        AC_MSG_WARN([doxygen not found - documentation targets will be skipped])
2157f010a93dSmrg	have_doxygen=no
2158f010a93dSmrg   else
2159f010a93dSmrg        have_doxygen=yes
2160f010a93dSmrg   fi
2161f010a93dSmrgelif test "x$use_doxygen" = x"yes" ; then
2162f010a93dSmrg   AC_PATH_PROG([DOXYGEN], [doxygen])
2163f010a93dSmrg   if test "x$DOXYGEN" = "x"; then
2164f010a93dSmrg        AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH])
2165f010a93dSmrg   fi
2166f010a93dSmrg   have_doxygen=yes
2167f010a93dSmrgelif test "x$use_doxygen" = x"no" ; then
2168f010a93dSmrg   if test "x$DOXYGEN" != "x"; then
2169f010a93dSmrg      AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified])
2170f010a93dSmrg   fi
2171f010a93dSmrg   have_doxygen=no
2172f010a93dSmrgelse
2173f010a93dSmrg   AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no'])
2174f010a93dSmrgfi
2175f010a93dSmrgm4_ifval([$1],
2176f010a93dSmrg[if test "$have_doxygen" = yes; then
2177f010a93dSmrg    # scrape the doxygen version
2178f010a93dSmrg    AC_MSG_CHECKING([the doxygen version])
2179f010a93dSmrg    doxygen_version=`$DOXYGEN --version 2>/dev/null`
2180f010a93dSmrg    AC_MSG_RESULT([$doxygen_version])
2181f010a93dSmrg    AS_VERSION_COMPARE([$doxygen_version], [$1],
2182f010a93dSmrg        [if test "x$use_doxygen" = xauto; then
2183f010a93dSmrg            AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed])
2184f010a93dSmrg            have_doxygen=no
2185f010a93dSmrg        else
2186f010a93dSmrg            AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
2187f010a93dSmrg        fi])
2188f010a93dSmrgfi])
218915fb4814Smrg
2190f010a93dSmrgdnl Check for DOT if we have doxygen. The caller decides if it is mandatory
2191f010a93dSmrgdnl HAVE_DOT is a variable that can be used in your doxygen.in config file:
2192f010a93dSmrgdnl 	HAVE_DOT = @HAVE_DOT@
2193f010a93dSmrgHAVE_DOT=no
2194f010a93dSmrgif test "x$have_doxygen" = "xyes"; then
2195f010a93dSmrg  AC_PATH_PROG([DOT], [dot])
2196f010a93dSmrg    if test "x$DOT" != "x"; then
2197f010a93dSmrg      HAVE_DOT=yes
219815fb4814Smrg    fi
2199f010a93dSmrgfi
220015fb4814Smrg
2201f010a93dSmrgAC_SUBST([HAVE_DOT])
2202f010a93dSmrgAM_CONDITIONAL([HAVE_DOT], [test "$HAVE_DOT" = "yes"])
2203f010a93dSmrgAM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
2204f010a93dSmrg]) # XORG_WITH_DOXYGEN
220515fb4814Smrg
2206f010a93dSmrg# XORG_WITH_GROFF([DEFAULT])
2207f010a93dSmrg# ----------------
2208f010a93dSmrg# Minimum version: 1.6.0
2209f010a93dSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2210f010a93dSmrg#
2211f010a93dSmrg# Documentation tools are not always available on all platforms and sometimes
2212f010a93dSmrg# not at the appropriate level. This macro enables a module to test for the
2213f010a93dSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2214f010a93dSmrg# the --with-groff option, it allows maximum flexibilty in making decisions
2215f010a93dSmrg# as whether or not to use the groff package. When DEFAULT is not specified,
2216f010a93dSmrg# --with-groff assumes 'auto'.
2217f010a93dSmrg#
2218f010a93dSmrg# Interface to module:
2219f010a93dSmrg# HAVE_GROFF:	 used in makefiles to conditionally generate documentation
2220f010a93dSmrg# HAVE_GROFF_MM: the memorandum macros (-mm) package
2221f010a93dSmrg# HAVE_GROFF_MS: the -ms macros package
2222f010a93dSmrg# GROFF:	 returns the path of the groff program found
2223f010a93dSmrg#		 returns the path set by the user in the environment
2224f010a93dSmrg# --with-groff:	 'yes' user instructs the module to use groff
2225f010a93dSmrg#		 'no' user instructs the module not to use groff
2226f010a93dSmrg#
2227f010a93dSmrg# Added in version 1.9.0:
2228f010a93dSmrg# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
2229f010a93dSmrg#		   pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
2230f010a93dSmrg#		   psselect from the psutils package.
2231f010a93dSmrg#		   the ghostcript package. Refer to the grohtml man pages
2232f010a93dSmrg#
2233f010a93dSmrg# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
2234f010a93dSmrg#
2235f010a93dSmrg# OS and distros often splits groff in a basic and full package, the former
2236f010a93dSmrg# having the groff program and the later having devices, fonts and macros
2237f010a93dSmrg# Checking for the groff executable is not enough.
2238f010a93dSmrg#
2239f010a93dSmrg# If macros are missing, we cannot assume that groff is useless, so we don't
2240f010a93dSmrg# unset HAVE_GROFF or GROFF env variables.
2241f010a93dSmrg# HAVE_GROFF_?? can never be true while HAVE_GROFF is false.
2242f010a93dSmrg#
2243f010a93dSmrgAC_DEFUN([XORG_WITH_GROFF],[
2244f010a93dSmrgAC_ARG_VAR([GROFF], [Path to groff command])
2245f010a93dSmrgm4_define([_defopt], m4_default([$1], [auto]))
2246f010a93dSmrgAC_ARG_WITH(groff,
2247f010a93dSmrg	AS_HELP_STRING([--with-groff],
2248f010a93dSmrg	   [Use groff to regenerate documentation (default: ]_defopt[)]),
2249f010a93dSmrg	   [use_groff=$withval], [use_groff=]_defopt)
2250f010a93dSmrgm4_undefine([_defopt])
2251cf503b78Smrg
2252f010a93dSmrgif test "x$use_groff" = x"auto"; then
2253f010a93dSmrg   AC_PATH_PROG([GROFF], [groff])
2254f010a93dSmrg   if test "x$GROFF" = "x"; then
2255f010a93dSmrg        AC_MSG_WARN([groff not found - documentation targets will be skipped])
2256f010a93dSmrg	have_groff=no
2257f010a93dSmrg   else
2258f010a93dSmrg        have_groff=yes
2259f010a93dSmrg   fi
2260f010a93dSmrgelif test "x$use_groff" = x"yes" ; then
2261f010a93dSmrg   AC_PATH_PROG([GROFF], [groff])
2262f010a93dSmrg   if test "x$GROFF" = "x"; then
2263f010a93dSmrg        AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH])
2264f010a93dSmrg   fi
2265f010a93dSmrg   have_groff=yes
2266f010a93dSmrgelif test "x$use_groff" = x"no" ; then
2267f010a93dSmrg   if test "x$GROFF" != "x"; then
2268f010a93dSmrg      AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified])
2269f010a93dSmrg   fi
2270f010a93dSmrg   have_groff=no
2271f010a93dSmrgelse
2272f010a93dSmrg   AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
2273f010a93dSmrgfi
2274f010a93dSmrg
2275f010a93dSmrg# We have groff, test for the presence of the macro packages
2276f010a93dSmrgif test "x$have_groff" = x"yes"; then
2277f010a93dSmrg    AC_MSG_CHECKING([for ${GROFF} -ms macros])
2278f010a93dSmrg    if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then
2279f010a93dSmrg        groff_ms_works=yes
228015fb4814Smrg    else
2281f010a93dSmrg        groff_ms_works=no
228215fb4814Smrg    fi
2283f010a93dSmrg    AC_MSG_RESULT([$groff_ms_works])
2284f010a93dSmrg    AC_MSG_CHECKING([for ${GROFF} -mm macros])
2285f010a93dSmrg    if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then
2286f010a93dSmrg        groff_mm_works=yes
2287de78e416Smrg    else
2288f010a93dSmrg        groff_mm_works=no
2289de78e416Smrg    fi
2290f010a93dSmrg    AC_MSG_RESULT([$groff_mm_works])
229115fb4814Smrgfi
229215fb4814Smrg
2293f010a93dSmrg# We have groff, test for HTML dependencies, one command per package
2294f010a93dSmrgif test "x$have_groff" = x"yes"; then
2295f010a93dSmrg   AC_PATH_PROGS(GS_PATH, [gs gswin32c])
2296f010a93dSmrg   AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
2297f010a93dSmrg   AC_PATH_PROG(PSSELECT_PATH, [psselect])
2298f010a93dSmrg   if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then
2299f010a93dSmrg      have_groff_html=yes
2300f010a93dSmrg   else
2301f010a93dSmrg      have_groff_html=no
2302f010a93dSmrg      AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages])
2303f010a93dSmrg   fi
2304f010a93dSmrgfi
230515fb4814Smrg
2306f010a93dSmrg# Set Automake conditionals for Makefiles
2307f010a93dSmrgAM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes])
2308f010a93dSmrgAM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes])
2309f010a93dSmrgAM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
2310f010a93dSmrgAM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
2311f010a93dSmrg]) # XORG_WITH_GROFF
231215fb4814Smrg
2313f010a93dSmrg# XORG_WITH_FOP([MIN-VERSION], [DEFAULT])
2314f010a93dSmrg# ---------------------------------------
2315f010a93dSmrg# Minimum version: 1.6.0
2316f010a93dSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2317f010a93dSmrg# Minimum version for optional MIN-VERSION argument: 1.15.0
2318f010a93dSmrg#
2319f010a93dSmrg# Documentation tools are not always available on all platforms and sometimes
2320f010a93dSmrg# not at the appropriate level. This macro enables a module to test for the
2321f010a93dSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2322f010a93dSmrg# the --with-fop option, it allows maximum flexibilty in making decisions
2323f010a93dSmrg# as whether or not to use the fop package. When DEFAULT is not specified,
2324f010a93dSmrg# --with-fop assumes 'auto'.
2325f010a93dSmrg#
2326f010a93dSmrg# Interface to module:
2327f010a93dSmrg# HAVE_FOP: 	used in makefiles to conditionally generate documentation
2328f010a93dSmrg# FOP:	 	returns the path of the fop program found
2329f010a93dSmrg#		returns the path set by the user in the environment
2330f010a93dSmrg# --with-fop: 	'yes' user instructs the module to use fop
2331f010a93dSmrg#		'no' user instructs the module not to use fop
2332f010a93dSmrg#
2333f010a93dSmrg# If the user sets the value of FOP, AC_PATH_PROG skips testing the path.
2334f010a93dSmrg#
2335f010a93dSmrgAC_DEFUN([XORG_WITH_FOP],[
2336f010a93dSmrgAC_ARG_VAR([FOP], [Path to fop command])
2337f010a93dSmrgm4_define([_defopt], m4_default([$2], [auto]))
2338f010a93dSmrgAC_ARG_WITH(fop,
2339f010a93dSmrg	AS_HELP_STRING([--with-fop],
2340f010a93dSmrg	   [Use fop to regenerate documentation (default: ]_defopt[)]),
2341f010a93dSmrg	   [use_fop=$withval], [use_fop=]_defopt)
2342f010a93dSmrgm4_undefine([_defopt])
234315fb4814Smrg
2344f010a93dSmrgif test "x$use_fop" = x"auto"; then
2345f010a93dSmrg   AC_PATH_PROG([FOP], [fop])
2346f010a93dSmrg   if test "x$FOP" = "x"; then
2347f010a93dSmrg        AC_MSG_WARN([fop not found - documentation targets will be skipped])
2348f010a93dSmrg	have_fop=no
2349f010a93dSmrg   else
2350f010a93dSmrg        have_fop=yes
2351f010a93dSmrg   fi
2352f010a93dSmrgelif test "x$use_fop" = x"yes" ; then
2353f010a93dSmrg   AC_PATH_PROG([FOP], [fop])
2354f010a93dSmrg   if test "x$FOP" = "x"; then
2355f010a93dSmrg        AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH])
2356f010a93dSmrg   fi
2357f010a93dSmrg   have_fop=yes
2358f010a93dSmrgelif test "x$use_fop" = x"no" ; then
2359f010a93dSmrg   if test "x$FOP" != "x"; then
2360f010a93dSmrg      AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified])
2361f010a93dSmrg   fi
2362f010a93dSmrg   have_fop=no
2363f010a93dSmrgelse
2364f010a93dSmrg   AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
2365f010a93dSmrgfi
2366b534f209Smrg
2367f010a93dSmrg# Test for a minimum version of fop, if provided.
2368f010a93dSmrgm4_ifval([$1],
2369f010a93dSmrg[if test "$have_fop" = yes; then
2370f010a93dSmrg    # scrape the fop version
2371f010a93dSmrg    AC_MSG_CHECKING([for fop minimum version])
2372f010a93dSmrg    fop_version=`$FOP -version 2>/dev/null | cut -d' ' -f3`
2373f010a93dSmrg    AC_MSG_RESULT([$fop_version])
2374f010a93dSmrg    AS_VERSION_COMPARE([$fop_version], [$1],
2375f010a93dSmrg        [if test "x$use_fop" = xauto; then
2376f010a93dSmrg            AC_MSG_WARN([fop version $fop_version found, but $1 needed])
2377f010a93dSmrg            have_fop=no
2378f010a93dSmrg        else
2379f010a93dSmrg            AC_MSG_ERROR([fop version $fop_version found, but $1 needed])
2380f010a93dSmrg        fi])
2381f010a93dSmrgfi])
2382f010a93dSmrgAM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
2383f010a93dSmrg]) # XORG_WITH_FOP
238415fb4814Smrg
2385f010a93dSmrg# XORG_WITH_M4([MIN-VERSION])
2386f010a93dSmrg# ---------------------------
2387f010a93dSmrg# Minimum version: 1.19.0
2388f010a93dSmrg#
2389f010a93dSmrg# This macro attempts to locate an m4 macro processor which supports
2390f010a93dSmrg# -I option and is only useful for modules relying on M4 in order to
2391f010a93dSmrg# expand macros in source code files.
2392f010a93dSmrg#
2393f010a93dSmrg# Interface to module:
2394f010a93dSmrg# M4:	 	returns the path of the m4 program found
2395f010a93dSmrg#		returns the path set by the user in the environment
2396f010a93dSmrg#
2397f010a93dSmrgAC_DEFUN([XORG_WITH_M4], [
2398f010a93dSmrgAC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4],
2399f010a93dSmrg   [AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4],
2400f010a93dSmrg       [[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \
2401f010a93dSmrg         ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]],
2402f010a93dSmrg   [AC_MSG_ERROR([could not find m4 that supports -I option])],
2403f010a93dSmrg   [$PATH:/usr/gnu/bin])])
240415fb4814Smrg
2405f010a93dSmrgAC_SUBST([M4], [$ac_cv_path_M4])
2406f010a93dSmrg]) # XORG_WITH_M4
240715fb4814Smrg
2408f010a93dSmrg# XORG_WITH_PS2PDF([DEFAULT])
2409f010a93dSmrg# ----------------
2410f010a93dSmrg# Minimum version: 1.6.0
2411f010a93dSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2412f010a93dSmrg#
2413f010a93dSmrg# Documentation tools are not always available on all platforms and sometimes
2414f010a93dSmrg# not at the appropriate level. This macro enables a module to test for the
2415f010a93dSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2416f010a93dSmrg# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
2417f010a93dSmrg# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
2418f010a93dSmrg# --with-ps2pdf assumes 'auto'.
2419f010a93dSmrg#
2420f010a93dSmrg# Interface to module:
2421f010a93dSmrg# HAVE_PS2PDF: 	used in makefiles to conditionally generate documentation
2422f010a93dSmrg# PS2PDF:	returns the path of the ps2pdf program found
2423f010a93dSmrg#		returns the path set by the user in the environment
2424f010a93dSmrg# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf
2425f010a93dSmrg#		 'no' user instructs the module not to use ps2pdf
2426f010a93dSmrg#
2427f010a93dSmrg# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path.
2428f010a93dSmrg#
2429f010a93dSmrgAC_DEFUN([XORG_WITH_PS2PDF],[
2430f010a93dSmrgAC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
2431f010a93dSmrgm4_define([_defopt], m4_default([$1], [auto]))
2432f010a93dSmrgAC_ARG_WITH(ps2pdf,
2433f010a93dSmrg	AS_HELP_STRING([--with-ps2pdf],
2434f010a93dSmrg	   [Use ps2pdf to regenerate documentation (default: ]_defopt[)]),
2435f010a93dSmrg	   [use_ps2pdf=$withval], [use_ps2pdf=]_defopt)
2436f010a93dSmrgm4_undefine([_defopt])
243715fb4814Smrg
2438f010a93dSmrgif test "x$use_ps2pdf" = x"auto"; then
2439f010a93dSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
2440f010a93dSmrg   if test "x$PS2PDF" = "x"; then
2441f010a93dSmrg        AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped])
2442f010a93dSmrg	have_ps2pdf=no
2443f010a93dSmrg   else
2444f010a93dSmrg        have_ps2pdf=yes
2445f010a93dSmrg   fi
2446f010a93dSmrgelif test "x$use_ps2pdf" = x"yes" ; then
2447f010a93dSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
2448f010a93dSmrg   if test "x$PS2PDF" = "x"; then
2449f010a93dSmrg        AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH])
2450f010a93dSmrg   fi
2451f010a93dSmrg   have_ps2pdf=yes
2452f010a93dSmrgelif test "x$use_ps2pdf" = x"no" ; then
2453f010a93dSmrg   if test "x$PS2PDF" != "x"; then
2454f010a93dSmrg      AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified])
2455f010a93dSmrg   fi
2456f010a93dSmrg   have_ps2pdf=no
245715fb4814Smrgelse
2458f010a93dSmrg   AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no'])
2459f010a93dSmrgfi
2460f010a93dSmrgAM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
2461f010a93dSmrg]) # XORG_WITH_PS2PDF
246215fb4814Smrg
2463f010a93dSmrg# XORG_ENABLE_DOCS (enable_docs=yes)
2464f010a93dSmrg# ----------------
2465f010a93dSmrg# Minimum version: 1.6.0
2466f010a93dSmrg#
2467f010a93dSmrg# Documentation tools are not always available on all platforms and sometimes
2468f010a93dSmrg# not at the appropriate level. This macro enables a builder to skip all
2469f010a93dSmrg# documentation targets except traditional man pages.
2470f010a93dSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
2471f010a93dSmrg# maximum flexibilty in controlling documentation building.
2472f010a93dSmrg# Refer to:
2473f010a93dSmrg# XORG_WITH_XMLTO         --with-xmlto
2474f010a93dSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
2475f010a93dSmrg# XORG_WITH_DOXYGEN       --with-doxygen
2476f010a93dSmrg# XORG_WITH_FOP           --with-fop
2477f010a93dSmrg# XORG_WITH_GROFF         --with-groff
2478f010a93dSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
2479f010a93dSmrg#
2480f010a93dSmrg# Interface to module:
2481f010a93dSmrg# ENABLE_DOCS: 	  used in makefiles to conditionally generate documentation
2482f010a93dSmrg# --enable-docs: 'yes' user instructs the module to generate docs
2483f010a93dSmrg#		 'no' user instructs the module not to generate docs
2484f010a93dSmrg# parm1:	specify the default value, yes or no.
2485f010a93dSmrg#
2486f010a93dSmrgAC_DEFUN([XORG_ENABLE_DOCS],[
2487f010a93dSmrgm4_define([docs_default], m4_default([$1], [yes]))
2488f010a93dSmrgAC_ARG_ENABLE(docs,
2489f010a93dSmrg	AS_HELP_STRING([--enable-docs],
2490f010a93dSmrg	   [Enable building the documentation (default: ]docs_default[)]),
2491f010a93dSmrg	   [build_docs=$enableval], [build_docs=]docs_default)
2492f010a93dSmrgm4_undefine([docs_default])
2493f010a93dSmrgAM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
2494f010a93dSmrgAC_MSG_CHECKING([whether to build documentation])
2495f010a93dSmrgAC_MSG_RESULT([$build_docs])
2496f010a93dSmrg]) # XORG_ENABLE_DOCS
249715fb4814Smrg
2498f010a93dSmrg# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes)
2499f010a93dSmrg# ----------------
2500f010a93dSmrg# Minimum version: 1.6.0
2501f010a93dSmrg#
2502f010a93dSmrg# This macro enables a builder to skip all developer documentation.
2503f010a93dSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
2504f010a93dSmrg# maximum flexibilty in controlling documentation building.
2505f010a93dSmrg# Refer to:
2506f010a93dSmrg# XORG_WITH_XMLTO         --with-xmlto
2507f010a93dSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
2508f010a93dSmrg# XORG_WITH_DOXYGEN       --with-doxygen
2509f010a93dSmrg# XORG_WITH_FOP           --with-fop
2510f010a93dSmrg# XORG_WITH_GROFF         --with-groff
2511f010a93dSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
2512f010a93dSmrg#
2513f010a93dSmrg# Interface to module:
2514f010a93dSmrg# ENABLE_DEVEL_DOCS:	used in makefiles to conditionally generate developer docs
2515f010a93dSmrg# --enable-devel-docs:	'yes' user instructs the module to generate developer docs
2516f010a93dSmrg#			'no' user instructs the module not to generate developer docs
2517f010a93dSmrg# parm1:		specify the default value, yes or no.
2518f010a93dSmrg#
2519f010a93dSmrgAC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
2520f010a93dSmrgm4_define([devel_default], m4_default([$1], [yes]))
2521f010a93dSmrgAC_ARG_ENABLE(devel-docs,
2522f010a93dSmrg	AS_HELP_STRING([--enable-devel-docs],
2523f010a93dSmrg	   [Enable building the developer documentation (default: ]devel_default[)]),
2524f010a93dSmrg	   [build_devel_docs=$enableval], [build_devel_docs=]devel_default)
2525f010a93dSmrgm4_undefine([devel_default])
2526f010a93dSmrgAM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
2527f010a93dSmrgAC_MSG_CHECKING([whether to build developer documentation])
2528f010a93dSmrgAC_MSG_RESULT([$build_devel_docs])
2529f010a93dSmrg]) # XORG_ENABLE_DEVEL_DOCS
253015fb4814Smrg
2531f010a93dSmrg# XORG_ENABLE_SPECS (enable_specs=yes)
2532f010a93dSmrg# ----------------
2533f010a93dSmrg# Minimum version: 1.6.0
2534f010a93dSmrg#
2535f010a93dSmrg# This macro enables a builder to skip all functional specification targets.
2536f010a93dSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
2537f010a93dSmrg# maximum flexibilty in controlling documentation building.
2538f010a93dSmrg# Refer to:
2539f010a93dSmrg# XORG_WITH_XMLTO         --with-xmlto
2540f010a93dSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
2541f010a93dSmrg# XORG_WITH_DOXYGEN       --with-doxygen
2542f010a93dSmrg# XORG_WITH_FOP           --with-fop
2543f010a93dSmrg# XORG_WITH_GROFF         --with-groff
2544f010a93dSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
2545f010a93dSmrg#
2546f010a93dSmrg# Interface to module:
2547f010a93dSmrg# ENABLE_SPECS:		used in makefiles to conditionally generate specs
2548f010a93dSmrg# --enable-specs:	'yes' user instructs the module to generate specs
2549f010a93dSmrg#			'no' user instructs the module not to generate specs
2550f010a93dSmrg# parm1:		specify the default value, yes or no.
2551f010a93dSmrg#
2552f010a93dSmrgAC_DEFUN([XORG_ENABLE_SPECS],[
2553f010a93dSmrgm4_define([spec_default], m4_default([$1], [yes]))
2554f010a93dSmrgAC_ARG_ENABLE(specs,
2555f010a93dSmrg	AS_HELP_STRING([--enable-specs],
2556f010a93dSmrg	   [Enable building the specs (default: ]spec_default[)]),
2557f010a93dSmrg	   [build_specs=$enableval], [build_specs=]spec_default)
2558f010a93dSmrgm4_undefine([spec_default])
2559f010a93dSmrgAM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
2560f010a93dSmrgAC_MSG_CHECKING([whether to build functional specifications])
2561f010a93dSmrgAC_MSG_RESULT([$build_specs])
2562f010a93dSmrg]) # XORG_ENABLE_SPECS
256315fb4814Smrg
2564f010a93dSmrg# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto)
2565f010a93dSmrg# ----------------------------------------------
2566f010a93dSmrg# Minimum version: 1.13.0
2567f010a93dSmrg#
2568f010a93dSmrg# This macro enables a builder to enable/disable unit testing
2569f010a93dSmrg# It makes no assumption about the test cases implementation
2570f010a93dSmrg# Test cases may or may not use Automake "Support for test suites"
2571f010a93dSmrg# They may or may not use the software utility library GLib
2572f010a93dSmrg#
2573f010a93dSmrg# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL
2574f010a93dSmrg# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib.
2575f010a93dSmrg# The variable enable_unit_tests is used by other macros in this file.
2576f010a93dSmrg#
2577f010a93dSmrg# Interface to module:
2578f010a93dSmrg# ENABLE_UNIT_TESTS:	used in makefiles to conditionally build tests
2579f010a93dSmrg# enable_unit_tests:    used in configure.ac for additional configuration
2580f010a93dSmrg# --enable-unit-tests:	'yes' user instructs the module to build tests
2581f010a93dSmrg#			'no' user instructs the module not to build tests
2582f010a93dSmrg# parm1:		specify the default value, yes or no.
2583f010a93dSmrg#
2584f010a93dSmrgAC_DEFUN([XORG_ENABLE_UNIT_TESTS],[
2585f010a93dSmrgAC_BEFORE([$0], [XORG_WITH_GLIB])
2586f010a93dSmrgAC_BEFORE([$0], [XORG_LD_WRAP])
2587f010a93dSmrgAC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
2588f010a93dSmrgm4_define([_defopt], m4_default([$1], [auto]))
2589f010a93dSmrgAC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
2590f010a93dSmrg	[Enable building unit test cases (default: ]_defopt[)]),
2591f010a93dSmrg	[enable_unit_tests=$enableval], [enable_unit_tests=]_defopt)
2592f010a93dSmrgm4_undefine([_defopt])
2593f010a93dSmrgAM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno])
2594f010a93dSmrgAC_MSG_CHECKING([whether to build unit test cases])
2595f010a93dSmrgAC_MSG_RESULT([$enable_unit_tests])
2596f010a93dSmrg]) # XORG_ENABLE_UNIT_TESTS
259715fb4814Smrg
2598f010a93dSmrg# XORG_ENABLE_INTEGRATION_TESTS (enable_unit_tests=auto)
2599f010a93dSmrg# ------------------------------------------------------
2600f010a93dSmrg# Minimum version: 1.17.0
2601f010a93dSmrg#
2602f010a93dSmrg# This macro enables a builder to enable/disable integration testing
2603f010a93dSmrg# It makes no assumption about the test cases' implementation
2604f010a93dSmrg# Test cases may or may not use Automake "Support for test suites"
2605f010a93dSmrg#
2606f010a93dSmrg# Please see XORG_ENABLE_UNIT_TESTS for unit test support. Unit test support
2607f010a93dSmrg# usually requires less dependencies and may be built and run under less
2608f010a93dSmrg# stringent environments than integration tests.
2609f010a93dSmrg#
2610f010a93dSmrg# Interface to module:
2611f010a93dSmrg# ENABLE_INTEGRATION_TESTS:   used in makefiles to conditionally build tests
2612f010a93dSmrg# enable_integration_tests:   used in configure.ac for additional configuration
2613f010a93dSmrg# --enable-integration-tests: 'yes' user instructs the module to build tests
2614f010a93dSmrg#                             'no' user instructs the module not to build tests
2615f010a93dSmrg# parm1:                      specify the default value, yes or no.
2616f010a93dSmrg#
2617f010a93dSmrgAC_DEFUN([XORG_ENABLE_INTEGRATION_TESTS],[
2618f010a93dSmrgAC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
2619f010a93dSmrgm4_define([_defopt], m4_default([$1], [auto]))
2620f010a93dSmrgAC_ARG_ENABLE(integration-tests, AS_HELP_STRING([--enable-integration-tests],
2621f010a93dSmrg	[Enable building integration test cases (default: ]_defopt[)]),
2622f010a93dSmrg	[enable_integration_tests=$enableval],
2623f010a93dSmrg	[enable_integration_tests=]_defopt)
2624f010a93dSmrgm4_undefine([_defopt])
2625f010a93dSmrgAM_CONDITIONAL([ENABLE_INTEGRATION_TESTS],
2626f010a93dSmrg	[test "x$enable_integration_tests" != xno])
2627f010a93dSmrgAC_MSG_CHECKING([whether to build unit test cases])
2628f010a93dSmrgAC_MSG_RESULT([$enable_integration_tests])
2629f010a93dSmrg]) # XORG_ENABLE_INTEGRATION_TESTS
263015fb4814Smrg
2631f010a93dSmrg# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT])
2632f010a93dSmrg# ----------------------------------------
2633f010a93dSmrg# Minimum version: 1.13.0
2634f010a93dSmrg#
2635f010a93dSmrg# GLib is a library which provides advanced data structures and functions.
2636f010a93dSmrg# This macro enables a module to test for the presence of Glib.
2637f010a93dSmrg#
2638f010a93dSmrg# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing.
2639f010a93dSmrg# Otherwise the value of $enable_unit_tests is blank.
2640f010a93dSmrg#
2641f010a93dSmrg# Please see XORG_ENABLE_INTEGRATION_TESTS for integration test support. Unit
2642f010a93dSmrg# test support usually requires less dependencies and may be built and run under
2643f010a93dSmrg# less stringent environments than integration tests.
2644f010a93dSmrg#
2645f010a93dSmrg# Interface to module:
2646f010a93dSmrg# HAVE_GLIB: used in makefiles to conditionally build targets
2647f010a93dSmrg# with_glib: used in configure.ac to know if GLib has been found
2648f010a93dSmrg# --with-glib:	'yes' user instructs the module to use glib
2649f010a93dSmrg#		'no' user instructs the module not to use glib
2650f010a93dSmrg#
2651f010a93dSmrgAC_DEFUN([XORG_WITH_GLIB],[
2652f010a93dSmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG])
2653f010a93dSmrgm4_define([_defopt], m4_default([$2], [auto]))
2654f010a93dSmrgAC_ARG_WITH(glib, AS_HELP_STRING([--with-glib],
2655f010a93dSmrg	[Use GLib library for unit testing (default: ]_defopt[)]),
2656f010a93dSmrg	[with_glib=$withval], [with_glib=]_defopt)
2657f010a93dSmrgm4_undefine([_defopt])
2658f010a93dSmrg
2659f010a93dSmrghave_glib=no
2660f010a93dSmrg# Do not probe GLib if user explicitly disabled unit testing
2661f010a93dSmrgif test "x$enable_unit_tests" != x"no"; then
2662f010a93dSmrg  # Do not probe GLib if user explicitly disabled it
2663f010a93dSmrg  if test "x$with_glib" != x"no"; then
2664f010a93dSmrg    m4_ifval(
2665f010a93dSmrg      [$1],
2666f010a93dSmrg      [PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])],
2667f010a93dSmrg      [PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])]
2668f010a93dSmrg    )
266915fb4814Smrg  fi
2670f010a93dSmrgfi
267115fb4814Smrg
2672f010a93dSmrg# Not having GLib when unit testing has been explicitly requested is an error
2673f010a93dSmrgif test "x$enable_unit_tests" = x"yes"; then
2674f010a93dSmrg  if test "x$have_glib" = x"no"; then
2675f010a93dSmrg    AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
2676f010a93dSmrg  fi
2677f010a93dSmrgfi
267815fb4814Smrg
2679f010a93dSmrg# Having unit testing disabled when GLib has been explicitly requested is an error
2680f010a93dSmrgif test "x$enable_unit_tests" = x"no"; then
2681f010a93dSmrg  if test "x$with_glib" = x"yes"; then
2682f010a93dSmrg    AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
2683f010a93dSmrg  fi
2684f010a93dSmrgfi
268515fb4814Smrg
2686f010a93dSmrg# Not having GLib when it has been explicitly requested is an error
2687f010a93dSmrgif test "x$with_glib" = x"yes"; then
2688f010a93dSmrg  if test "x$have_glib" = x"no"; then
2689f010a93dSmrg    AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found])
2690f010a93dSmrg  fi
2691f010a93dSmrgfi
269215fb4814Smrg
2693f010a93dSmrgAM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes])
2694f010a93dSmrg]) # XORG_WITH_GLIB
269515fb4814Smrg
2696f010a93dSmrg# XORG_LD_WRAP([required|optional])
2697f010a93dSmrg# ---------------------------------
2698f010a93dSmrg# Minimum version: 1.13.0
2699f010a93dSmrg#
2700f010a93dSmrg# Check if linker supports -wrap, passed via compiler flags
2701f010a93dSmrg#
2702f010a93dSmrg# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing.
2703f010a93dSmrg# Otherwise the value of $enable_unit_tests is blank.
2704f010a93dSmrg#
2705f010a93dSmrg# Argument added in 1.16.0 - default is "required", to match existing behavior
2706f010a93dSmrg# of returning an error if enable_unit_tests is yes, and ld -wrap is not
2707f010a93dSmrg# available, an argument of "optional" allows use when some unit tests require
2708f010a93dSmrg# ld -wrap and others do not.
2709f010a93dSmrg#
2710f010a93dSmrgAC_DEFUN([XORG_LD_WRAP],[
2711f010a93dSmrgXORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no],
2712f010a93dSmrg    [AC_LANG_PROGRAM([#include <stdlib.h>
2713f010a93dSmrg                      void __wrap_exit(int status) { return; }],
2714f010a93dSmrg                     [exit(0);])])
2715f010a93dSmrg# Not having ld wrap when unit testing has been explicitly requested is an error
2716f010a93dSmrgif test "x$enable_unit_tests" = x"yes" -a "x$1" != "xoptional"; then
2717f010a93dSmrg  if test "x$have_ld_wrap" = x"no"; then
2718f010a93dSmrg    AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available])
2719f010a93dSmrg  fi
272015fb4814Smrgfi
2721f010a93dSmrgAM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes])
2722f010a93dSmrg#
2723f010a93dSmrg]) # XORG_LD_WRAP
2724b4d38c65Smrg
2725f010a93dSmrg# XORG_CHECK_LINKER_FLAGS
2726f010a93dSmrg# -----------------------
2727f010a93dSmrg# SYNOPSIS
2728f010a93dSmrg#
2729f010a93dSmrg#   XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE], [PROGRAM-SOURCE])
2730f010a93dSmrg#
2731f010a93dSmrg# DESCRIPTION
2732f010a93dSmrg#
2733f010a93dSmrg#   Check whether the given linker FLAGS work with the current language's
2734f010a93dSmrg#   linker, or whether they give an error.
2735f010a93dSmrg#
2736f010a93dSmrg#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
2737f010a93dSmrg#   success/failure.
2738f010a93dSmrg#
2739f010a93dSmrg#   PROGRAM-SOURCE is the program source to link with, if needed
2740f010a93dSmrg#
2741f010a93dSmrg#   NOTE: Based on AX_CHECK_COMPILER_FLAGS.
2742f010a93dSmrg#
2743f010a93dSmrg# LICENSE
2744f010a93dSmrg#
2745f010a93dSmrg#   Copyright (c) 2009 Mike Frysinger <vapier@gentoo.org>
2746f010a93dSmrg#   Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
2747f010a93dSmrg#   Copyright (c) 2009 Matteo Frigo
2748f010a93dSmrg#
2749f010a93dSmrg#   This program is free software: you can redistribute it and/or modify it
2750f010a93dSmrg#   under the terms of the GNU General Public License as published by the
2751f010a93dSmrg#   Free Software Foundation, either version 3 of the License, or (at your
2752f010a93dSmrg#   option) any later version.
2753f010a93dSmrg#
2754f010a93dSmrg#   This program is distributed in the hope that it will be useful, but
2755f010a93dSmrg#   WITHOUT ANY WARRANTY; without even the implied warranty of
2756f010a93dSmrg#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
2757f010a93dSmrg#   Public License for more details.
2758f010a93dSmrg#
2759f010a93dSmrg#   You should have received a copy of the GNU General Public License along
2760f010a93dSmrg#   with this program. If not, see <http://www.gnu.org/licenses/>.
2761f010a93dSmrg#
2762f010a93dSmrg#   As a special exception, the respective Autoconf Macro's copyright owner
2763f010a93dSmrg#   gives unlimited permission to copy, distribute and modify the configure
2764f010a93dSmrg#   scripts that are the output of Autoconf when processing the Macro. You
2765f010a93dSmrg#   need not follow the terms of the GNU General Public License when using
2766f010a93dSmrg#   or distributing such scripts, even though portions of the text of the
2767f010a93dSmrg#   Macro appear in them. The GNU General Public License (GPL) does govern
2768f010a93dSmrg#   all other use of the material that constitutes the Autoconf Macro.
2769f010a93dSmrg#
2770f010a93dSmrg#   This special exception to the GPL applies to versions of the Autoconf
2771f010a93dSmrg#   Macro released by the Autoconf Archive. When you make and distribute a
2772f010a93dSmrg#   modified version of the Autoconf Macro, you may extend this special
2773f010a93dSmrg#   exception to the GPL to apply to your modified version as well.#
2774f010a93dSmrgAC_DEFUN([XORG_CHECK_LINKER_FLAGS],
2775f010a93dSmrg[AC_MSG_CHECKING([whether the linker accepts $1])
2776f010a93dSmrgdnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
2777f010a93dSmrgAS_LITERAL_IF([$1],
2778f010a93dSmrg  [AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [
2779f010a93dSmrg      ax_save_FLAGS=$LDFLAGS
2780f010a93dSmrg      LDFLAGS="$1"
2781f010a93dSmrg      AC_LINK_IFELSE([m4_default([$4],[AC_LANG_PROGRAM()])],
2782f010a93dSmrg        AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
2783f010a93dSmrg        AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
2784f010a93dSmrg      LDFLAGS=$ax_save_FLAGS])],
2785f010a93dSmrg  [ax_save_FLAGS=$LDFLAGS
2786f010a93dSmrg   LDFLAGS="$1"
2787f010a93dSmrg   AC_LINK_IFELSE([AC_LANG_PROGRAM()],
2788f010a93dSmrg     eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
2789f010a93dSmrg     eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
2790f010a93dSmrg   LDFLAGS=$ax_save_FLAGS])
2791f010a93dSmrgeval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1])
2792f010a93dSmrgAC_MSG_RESULT($xorg_check_linker_flags)
2793f010a93dSmrgif test "x$xorg_check_linker_flags" = xyes; then
2794f010a93dSmrg	m4_default([$2], :)
2795f010a93dSmrgelse
2796f010a93dSmrg	m4_default([$3], :)
2797f010a93dSmrgfi
2798f010a93dSmrg]) # XORG_CHECK_LINKER_FLAGS
279915fb4814Smrg
2800f010a93dSmrg# XORG_MEMORY_CHECK_FLAGS
2801f010a93dSmrg# -----------------------
2802f010a93dSmrg# Minimum version: 1.16.0
2803f010a93dSmrg#
2804f010a93dSmrg# This macro attempts to find appropriate memory checking functionality
2805f010a93dSmrg# for various platforms which unit testing code may use to catch various
2806f010a93dSmrg# forms of memory allocation and access errors in testing.
2807f010a93dSmrg#
2808f010a93dSmrg# Interface to module:
2809f010a93dSmrg# XORG_MALLOC_DEBUG_ENV - environment variables to set to enable debugging
2810f010a93dSmrg#                         Usually added to TESTS_ENVIRONMENT in Makefile.am
2811f010a93dSmrg#
2812f010a93dSmrg# If the user sets the value of XORG_MALLOC_DEBUG_ENV, it is used verbatim.
2813f010a93dSmrg#
2814f010a93dSmrgAC_DEFUN([XORG_MEMORY_CHECK_FLAGS],[
281515fb4814Smrg
2816f010a93dSmrgAC_REQUIRE([AC_CANONICAL_HOST])
2817f010a93dSmrgAC_ARG_VAR([XORG_MALLOC_DEBUG_ENV],
2818f010a93dSmrg           [Environment variables to enable memory checking in tests])
281915fb4814Smrg
2820f010a93dSmrg# Check for different types of support on different platforms
2821f010a93dSmrgcase $host_os in
2822f010a93dSmrg    solaris*)
2823f010a93dSmrg        AC_CHECK_LIB([umem], [umem_alloc],
2824f010a93dSmrg            [malloc_debug_env='LD_PRELOAD=libumem.so UMEM_DEBUG=default'])
2825f010a93dSmrg        ;;
2826f010a93dSmrg    *-gnu*) # GNU libc - Value is used as a single byte bit pattern,
2827f010a93dSmrg        # both directly and inverted, so should not be 0 or 255.
2828f010a93dSmrg        malloc_debug_env='MALLOC_PERTURB_=15'
2829f010a93dSmrg        ;;
2830f010a93dSmrg    darwin*)
2831f010a93dSmrg        malloc_debug_env='MallocPreScribble=1 MallocScribble=1 DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib'
2832f010a93dSmrg        ;;
2833f010a93dSmrg    *bsd*)
2834f010a93dSmrg        malloc_debug_env='MallocPreScribble=1 MallocScribble=1'
2835f010a93dSmrg        ;;
2836f010a93dSmrgesac
283715fb4814Smrg
2838f010a93dSmrg# User supplied flags override default flags
2839f010a93dSmrgif test "x$XORG_MALLOC_DEBUG_ENV" != "x"; then
2840f010a93dSmrg    malloc_debug_env="$XORG_MALLOC_DEBUG_ENV"
284115fb4814Smrgfi
284215fb4814Smrg
2843f010a93dSmrgAC_SUBST([XORG_MALLOC_DEBUG_ENV],[$malloc_debug_env])
2844f010a93dSmrg]) # XORG_WITH_LINT
284515fb4814Smrg
2846f010a93dSmrg# XORG_CHECK_MALLOC_ZERO
2847f010a93dSmrg# ----------------------
2848f010a93dSmrg# Minimum version: 1.0.0
2849f010a93dSmrg#
2850f010a93dSmrg# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
2851f010a93dSmrg# malloc(0) returns NULL.  Packages should add one of these cflags to
2852f010a93dSmrg# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
2853f010a93dSmrgAC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
2854f010a93dSmrgAC_ARG_ENABLE(malloc0returnsnull,
2855f010a93dSmrg	AS_HELP_STRING([--enable-malloc0returnsnull],
2856f010a93dSmrg		       [malloc(0) returns NULL (default: auto)]),
2857f010a93dSmrg	[MALLOC_ZERO_RETURNS_NULL=$enableval],
2858f010a93dSmrg	[MALLOC_ZERO_RETURNS_NULL=auto])
2859f010a93dSmrg
2860f010a93dSmrgAC_MSG_CHECKING([whether malloc(0) returns NULL])
2861f010a93dSmrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
2862f010a93dSmrgAC_CACHE_VAL([xorg_cv_malloc0_returns_null],
2863f010a93dSmrg	[AC_RUN_IFELSE([AC_LANG_PROGRAM([
2864f010a93dSmrg#include <stdlib.h>
2865f010a93dSmrg],[
2866f010a93dSmrg    char *m0, *r0, *c0, *p;
2867f010a93dSmrg    m0 = malloc(0);
2868f010a93dSmrg    p = malloc(10);
2869f010a93dSmrg    r0 = realloc(p,0);
2870f010a93dSmrg    c0 = calloc(0,10);
2871f010a93dSmrg    exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
2872f010a93dSmrg])],
2873f010a93dSmrg		[xorg_cv_malloc0_returns_null=yes],
2874f010a93dSmrg		[xorg_cv_malloc0_returns_null=no])])
2875f010a93dSmrgMALLOC_ZERO_RETURNS_NULL=$xorg_cv_malloc0_returns_null
2876f010a93dSmrgfi
2877f010a93dSmrgAC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
2878f010a93dSmrg
2879f010a93dSmrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
2880f010a93dSmrg	MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
2881f010a93dSmrg	XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
2882f010a93dSmrg	XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
288315fb4814Smrgelse
2884f010a93dSmrg	MALLOC_ZERO_CFLAGS=""
2885f010a93dSmrg	XMALLOC_ZERO_CFLAGS=""
2886f010a93dSmrg	XTMALLOC_ZERO_CFLAGS=""
288715fb4814Smrgfi
288815fb4814Smrg
2889f010a93dSmrgAC_SUBST([MALLOC_ZERO_CFLAGS])
2890f010a93dSmrgAC_SUBST([XMALLOC_ZERO_CFLAGS])
2891f010a93dSmrgAC_SUBST([XTMALLOC_ZERO_CFLAGS])
2892f010a93dSmrg]) # XORG_CHECK_MALLOC_ZERO
289315fb4814Smrg
2894f010a93dSmrg# XORG_WITH_LINT()
2895f010a93dSmrg# ----------------
2896f010a93dSmrg# Minimum version: 1.1.0
2897f010a93dSmrg#
2898f010a93dSmrg# This macro enables the use of a tool that flags some suspicious and
2899f010a93dSmrg# non-portable constructs (likely to be bugs) in C language source code.
2900f010a93dSmrg# It will attempt to locate the tool and use appropriate options.
2901f010a93dSmrg# There are various lint type tools on different platforms.
2902f010a93dSmrg#
2903f010a93dSmrg# Interface to module:
2904f010a93dSmrg# LINT:		returns the path to the tool found on the platform
2905f010a93dSmrg#		or the value set to LINT on the configure cmd line
2906f010a93dSmrg#		also an Automake conditional
2907f010a93dSmrg# LINT_FLAGS:	an Automake variable with appropriate flags
2908f010a93dSmrg#
2909f010a93dSmrg# --with-lint:	'yes' user instructs the module to use lint
2910f010a93dSmrg#		'no' user instructs the module not to use lint (default)
2911f010a93dSmrg#
2912f010a93dSmrg# If the user sets the value of LINT, AC_PATH_PROG skips testing the path.
2913f010a93dSmrg# If the user sets the value of LINT_FLAGS, they are used verbatim.
2914f010a93dSmrg#
2915f010a93dSmrgAC_DEFUN([XORG_WITH_LINT],[
291615fb4814Smrg
2917f010a93dSmrgAC_ARG_VAR([LINT], [Path to a lint-style command])
2918f010a93dSmrgAC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command])
2919f010a93dSmrgAC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
2920f010a93dSmrg		[Use a lint-style source code checker (default: disabled)])],
2921f010a93dSmrg		[use_lint=$withval], [use_lint=no])
2922f010a93dSmrg
2923f010a93dSmrg# Obtain platform specific info like program name and options
2924f010a93dSmrg# The lint program on FreeBSD and NetBSD is different from the one on Solaris
2925f010a93dSmrgcase $host_os in
2926f010a93dSmrg  *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*)
2927f010a93dSmrg	lint_name=splint
2928f010a93dSmrg	lint_options="-badflag"
2929f010a93dSmrg	;;
2930f010a93dSmrg  *freebsd* | *netbsd*)
2931f010a93dSmrg	lint_name=lint
2932f010a93dSmrg	lint_options="-u -b"
2933f010a93dSmrg	;;
2934f010a93dSmrg  *solaris*)
2935f010a93dSmrg	lint_name=lint
2936f010a93dSmrg	lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
2937f010a93dSmrg	;;
2938f010a93dSmrgesac
2939f010a93dSmrg
2940f010a93dSmrg# Test for the presence of the program (either guessed by the code or spelled out by the user)
2941f010a93dSmrgif test "x$use_lint" = x"yes" ; then
2942f010a93dSmrg   AC_PATH_PROG([LINT], [$lint_name])
2943f010a93dSmrg   if test "x$LINT" = "x"; then
2944f010a93dSmrg        AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH])
2945f010a93dSmrg   fi
2946f010a93dSmrgelif test "x$use_lint" = x"no" ; then
2947f010a93dSmrg   if test "x$LINT" != "x"; then
2948f010a93dSmrg      AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified])
2949f010a93dSmrg   fi
295015fb4814Smrgelse
2951f010a93dSmrg   AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.])
295215fb4814Smrgfi
295315fb4814Smrg
2954f010a93dSmrg# User supplied flags override default flags
2955f010a93dSmrgif test "x$LINT_FLAGS" != "x"; then
2956f010a93dSmrg   lint_options=$LINT_FLAGS
295715fb4814Smrgfi
295815fb4814Smrg
2959f010a93dSmrgAC_SUBST([LINT_FLAGS],[$lint_options])
2960f010a93dSmrgAM_CONDITIONAL(LINT, [test "x$LINT" != x])
296115fb4814Smrg
2962f010a93dSmrg]) # XORG_WITH_LINT
2963f010a93dSmrg
2964f010a93dSmrg# XORG_LINT_LIBRARY(LIBNAME)
2965f010a93dSmrg# --------------------------
2966f010a93dSmrg# Minimum version: 1.1.0
2967f010a93dSmrg#
2968f010a93dSmrg# Sets up flags for building lint libraries for checking programs that call
2969f010a93dSmrg# functions in the library.
2970f010a93dSmrg#
2971f010a93dSmrg# Interface to module:
2972f010a93dSmrg# LINTLIB		- Automake variable with the name of lint library file to make
2973f010a93dSmrg# MAKE_LINT_LIB		- Automake conditional
2974f010a93dSmrg#
2975f010a93dSmrg# --enable-lint-library:  - 'yes' user instructs the module to created a lint library
2976f010a93dSmrg#			  - 'no' user instructs the module not to create a lint library (default)
2977f010a93dSmrg
2978f010a93dSmrgAC_DEFUN([XORG_LINT_LIBRARY],[
2979f010a93dSmrgAC_REQUIRE([XORG_WITH_LINT])
2980f010a93dSmrgAC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
2981f010a93dSmrg	[Create lint library (default: disabled)])],
2982f010a93dSmrg	[make_lint_lib=$enableval], [make_lint_lib=no])
2983f010a93dSmrg
2984f010a93dSmrgif test "x$make_lint_lib" = x"yes" ; then
2985f010a93dSmrg   LINTLIB=llib-l$1.ln
2986f010a93dSmrg   if test "x$LINT" = "x"; then
2987f010a93dSmrg        AC_MSG_ERROR([Cannot make lint library without --with-lint])
2988f010a93dSmrg   fi
2989f010a93dSmrgelif test "x$make_lint_lib" != x"no" ; then
2990f010a93dSmrg   AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.])
299115fb4814Smrgfi
299215fb4814Smrg
2993f010a93dSmrgAC_SUBST(LINTLIB)
2994f010a93dSmrgAM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
299515fb4814Smrg
2996f010a93dSmrg]) # XORG_LINT_LIBRARY
299715fb4814Smrg
2998f010a93dSmrg# XORG_COMPILER_BRAND
2999f010a93dSmrg# -------------------
3000f010a93dSmrg# Minimum version: 1.14.0
3001f010a93dSmrg#
3002f010a93dSmrg# Checks for various brands of compilers and sets flags as appropriate:
3003f010a93dSmrg#   GNU gcc - relies on AC_PROG_CC (via AC_PROG_CC_C99) to set GCC to "yes"
3004f010a93dSmrg#   GNU g++ - relies on AC_PROG_CXX to set GXX to "yes"
3005f010a93dSmrg#   clang compiler - sets CLANGCC to "yes"
3006f010a93dSmrg#   Intel compiler - sets INTELCC to "yes"
3007f010a93dSmrg#   Sun/Oracle Solaris Studio cc - sets SUNCC to "yes"
3008f010a93dSmrg#
3009f010a93dSmrgAC_DEFUN([XORG_COMPILER_BRAND], [
3010f010a93dSmrgAC_LANG_CASE(
3011f010a93dSmrg	[C], [
3012f010a93dSmrg		AC_REQUIRE([AC_PROG_CC_C99])
3013f010a93dSmrg	],
3014f010a93dSmrg	[C++], [
3015f010a93dSmrg		AC_REQUIRE([AC_PROG_CXX])
3016f010a93dSmrg	]
3017f010a93dSmrg)
3018f010a93dSmrgAC_CHECK_DECL([__clang__], [CLANGCC="yes"], [CLANGCC="no"])
3019f010a93dSmrgAC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
3020f010a93dSmrgAC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
3021f010a93dSmrg]) # XORG_COMPILER_BRAND
302215fb4814Smrg
3023f010a93dSmrg# XORG_TESTSET_CFLAG(<variable>, <flag>, [<alternative flag>, ...])
3024f010a93dSmrg# ---------------
3025f010a93dSmrg# Minimum version: 1.16.0
3026f010a93dSmrg#
3027f010a93dSmrg# Test if the compiler works when passed the given flag as a command line argument.
3028f010a93dSmrg# If it succeeds, the flag is appeneded to the given variable.  If not, it tries the
3029f010a93dSmrg# next flag in the list until there are no more options.
3030f010a93dSmrg#
3031f010a93dSmrg# Note that this does not guarantee that the compiler supports the flag as some
3032f010a93dSmrg# compilers will simply ignore arguments that they do not understand, but we do
3033f010a93dSmrg# attempt to weed out false positives by using -Werror=unknown-warning-option and
3034f010a93dSmrg# -Werror=unused-command-line-argument
3035f010a93dSmrg#
3036f010a93dSmrgAC_DEFUN([XORG_TESTSET_CFLAG], [
3037f010a93dSmrgm4_if([$#], 0, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
3038f010a93dSmrgm4_if([$#], 1, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
303915fb4814Smrg
3040f010a93dSmrgAC_LANG_COMPILER_REQUIRE
304115fb4814Smrg
3042f010a93dSmrgAC_LANG_CASE(
3043f010a93dSmrg	[C], [
3044f010a93dSmrg		AC_REQUIRE([AC_PROG_CC_C99])
3045f010a93dSmrg		define([PREFIX], [C])
3046f010a93dSmrg		define([CACHE_PREFIX], [cc])
3047f010a93dSmrg		define([COMPILER], [$CC])
3048f010a93dSmrg	],
3049f010a93dSmrg	[C++], [
3050f010a93dSmrg		define([PREFIX], [CXX])
3051f010a93dSmrg		define([CACHE_PREFIX], [cxx])
3052f010a93dSmrg		define([COMPILER], [$CXX])
3053f010a93dSmrg	]
3054f010a93dSmrg)
305515fb4814Smrg
3056f010a93dSmrg[xorg_testset_save_]PREFIX[FLAGS]="$PREFIX[FLAGS]"
305715fb4814Smrg
3058f010a93dSmrgif test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "x" ; then
3059f010a93dSmrg	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
3060f010a93dSmrg	AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unknown-warning-option],
3061f010a93dSmrg			[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option],
3062f010a93dSmrg			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
3063f010a93dSmrg					  [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=yes],
3064f010a93dSmrg					  [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=no]))
3065f010a93dSmrg	[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]=$[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option]
3066f010a93dSmrg	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
3067f010a93dSmrgfi
306815fb4814Smrg
3069f010a93dSmrgif test "x$[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]" = "x" ; then
3070f010a93dSmrg	if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "xyes" ; then
3071f010a93dSmrg		PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
3072f010a93dSmrg	fi
3073f010a93dSmrg	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
3074f010a93dSmrg	AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unused-command-line-argument],
3075f010a93dSmrg			[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument],
3076f010a93dSmrg			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
3077f010a93dSmrg					  [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=yes],
3078f010a93dSmrg					  [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=no]))
3079f010a93dSmrg	[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]=$[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument]
3080f010a93dSmrg	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
3081f010a93dSmrgfi
308215fb4814Smrg
3083f010a93dSmrgfound="no"
3084f010a93dSmrgm4_foreach([flag], m4_cdr($@), [
3085f010a93dSmrg	if test $found = "no" ; then
3086f010a93dSmrg		if test "x$xorg_testset_]CACHE_PREFIX[_unknown_warning_option" = "xyes" ; then
3087f010a93dSmrg			PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
3088f010a93dSmrg		fi
308915fb4814Smrg
3090f010a93dSmrg		if test "x$xorg_testset_]CACHE_PREFIX[_unused_command_line_argument" = "xyes" ; then
3091f010a93dSmrg			PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
3092f010a93dSmrg		fi
309315fb4814Smrg
3094f010a93dSmrg		PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag["
3095b4d38c65Smrg
3096f010a93dSmrgdnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname
3097f010a93dSmrg		AC_MSG_CHECKING([if ]COMPILER[ supports ]flag[])
3098f010a93dSmrg		cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[])
3099f010a93dSmrg		AC_CACHE_VAL($cacheid,
3100f010a93dSmrg			     [AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])],
3101f010a93dSmrg					     [eval $cacheid=yes],
3102f010a93dSmrg					     [eval $cacheid=no])])
3103b4d38c65Smrg
3104f010a93dSmrg		PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
310515fb4814Smrg
3106f010a93dSmrg		eval supported=\$$cacheid
3107f010a93dSmrg		AC_MSG_RESULT([$supported])
3108f010a93dSmrg		if test "$supported" = "yes" ; then
3109f010a93dSmrg			$1="$$1 ]flag["
3110f010a93dSmrg			found="yes"
3111f010a93dSmrg		fi
3112f010a93dSmrg	fi
3113f010a93dSmrg])
3114f010a93dSmrg]) # XORG_TESTSET_CFLAG
311515fb4814Smrg
3116f010a93dSmrg# XORG_COMPILER_FLAGS
3117f010a93dSmrg# ---------------
3118f010a93dSmrg# Minimum version: 1.16.0
3119f010a93dSmrg#
3120f010a93dSmrg# Defines BASE_CFLAGS or BASE_CXXFLAGS to contain a set of command line
3121f010a93dSmrg# arguments supported by the selected compiler which do NOT alter the generated
3122f010a93dSmrg# code.  These arguments will cause the compiler to print various warnings
3123f010a93dSmrg# during compilation AND turn a conservative set of warnings into errors.
3124f010a93dSmrg#
3125f010a93dSmrg# The set of flags supported by BASE_CFLAGS and BASE_CXXFLAGS will grow in
3126f010a93dSmrg# future versions of util-macros as options are added to new compilers.
3127f010a93dSmrg#
3128f010a93dSmrgAC_DEFUN([XORG_COMPILER_FLAGS], [
3129f010a93dSmrgAC_REQUIRE([XORG_COMPILER_BRAND])
313015fb4814Smrg
3131f010a93dSmrgAC_ARG_ENABLE(selective-werror,
3132f010a93dSmrg              AS_HELP_STRING([--disable-selective-werror],
3133f010a93dSmrg                             [Turn off selective compiler errors. (default: enabled)]),
3134f010a93dSmrg              [SELECTIVE_WERROR=$enableval],
3135f010a93dSmrg              [SELECTIVE_WERROR=yes])
313615fb4814Smrg
3137f010a93dSmrgAC_LANG_CASE(
3138f010a93dSmrg        [C], [
3139f010a93dSmrg                define([PREFIX], [C])
3140f010a93dSmrg        ],
3141f010a93dSmrg        [C++], [
3142f010a93dSmrg                define([PREFIX], [CXX])
3143f010a93dSmrg        ]
3144f010a93dSmrg)
3145f010a93dSmrg# -v is too short to test reliably with XORG_TESTSET_CFLAG
3146f010a93dSmrgif test "x$SUNCC" = "xyes"; then
3147f010a93dSmrg    [BASE_]PREFIX[FLAGS]="-v"
3148f010a93dSmrgelse
3149f010a93dSmrg    [BASE_]PREFIX[FLAGS]=""
3150f010a93dSmrgfi
3151b4d38c65Smrg
3152f010a93dSmrg# This chunk of warnings were those that existed in the legacy CWARNFLAGS
3153f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wall])
3154f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-arith])
3155f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-declarations])
3156f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wformat=2], [-Wformat])
315715fb4814Smrg
3158f010a93dSmrgAC_LANG_CASE(
3159f010a93dSmrg	[C], [
3160f010a93dSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wstrict-prototypes])
3161f010a93dSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes])
3162f010a93dSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs])
3163f010a93dSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast])
3164f010a93dSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition], [-fd])
3165f010a93dSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement])
3166f010a93dSmrg	]
3167f010a93dSmrg)
316815fb4814Smrg
3169f010a93dSmrg# This chunk adds additional warnings that could catch undesired effects.
3170f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
3171f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
3172f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow])
3173f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn])
3174f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute])
3175f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
3176f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
317715fb4814Smrg
3178f010a93dSmrg# These are currently disabled because they are noisy.  They will be enabled
3179f010a93dSmrg# in the future once the codebase is sufficiently modernized to silence
3180f010a93dSmrg# them.  For now, I don't want them to drown out the other warnings.
3181f010a93dSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
3182f010a93dSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
3183f010a93dSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
318415fb4814Smrg
3185f010a93dSmrg# Turn some warnings into errors, so we don't accidently get successful builds
3186f010a93dSmrg# when there are problems that should be fixed.
318715fb4814Smrg
3188f010a93dSmrgif test "x$SELECTIVE_WERROR" = "xyes" ; then
3189f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=implicit], [-errwarn=E_NO_EXPLICIT_TYPE_GIVEN -errwarn=E_NO_IMPLICIT_DECL_ALLOWED])
3190f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=nonnull])
3191f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=init-self])
3192f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=main])
3193f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=missing-braces])
3194f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=sequence-point])
3195f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=return-type], [-errwarn=E_FUNC_HAS_NO_RETURN_STMT])
3196f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=trigraphs])
3197f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=array-bounds])
3198f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=write-strings])
3199f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=address])
3200f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=int-to-pointer-cast], [-errwarn=E_BAD_PTR_INT_COMBINATION])
3201f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=pointer-to-int-cast]) # Also -errwarn=E_BAD_PTR_INT_COMBINATION
3202f010a93dSmrgelse
3203f010a93dSmrgAC_MSG_WARN([You have chosen not to turn some select compiler warnings into errors.  This should not be necessary.  Please report why you needed to do so in a bug report at $PACKAGE_BUGREPORT])
3204f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wimplicit])
3205f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnonnull])
3206f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Winit-self])
3207f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmain])
3208f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-braces])
3209f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wsequence-point])
3210f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wreturn-type])
3211f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wtrigraphs])
3212f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Warray-bounds])
3213f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wwrite-strings])
3214f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Waddress])
3215f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wint-to-pointer-cast])
3216f010a93dSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-to-int-cast])
3217f010a93dSmrgfi
3218b4d38c65Smrg
3219f010a93dSmrgAC_SUBST([BASE_]PREFIX[FLAGS])
3220f010a93dSmrg]) # XORG_COMPILER_FLAGS
322115fb4814Smrg
3222f010a93dSmrg# XORG_CWARNFLAGS
3223f010a93dSmrg# ---------------
3224f010a93dSmrg# Minimum version: 1.2.0
3225f010a93dSmrg# Deprecated since: 1.16.0 (Use XORG_COMPILER_FLAGS instead)
3226f010a93dSmrg#
3227f010a93dSmrg# Defines CWARNFLAGS to enable C compiler warnings.
3228f010a93dSmrg#
3229f010a93dSmrg# This function is deprecated because it defines -fno-strict-aliasing
3230f010a93dSmrg# which alters the code generated by the compiler.  If -fno-strict-aliasing
3231f010a93dSmrg# is needed, then it should be added explicitly in the module when
3232f010a93dSmrg# it is updated to use BASE_CFLAGS.
3233f010a93dSmrg#
3234f010a93dSmrgAC_DEFUN([XORG_CWARNFLAGS], [
3235f010a93dSmrgAC_REQUIRE([XORG_COMPILER_FLAGS])
3236f010a93dSmrgAC_REQUIRE([XORG_COMPILER_BRAND])
3237f010a93dSmrgAC_LANG_CASE(
3238f010a93dSmrg	[C], [
3239f010a93dSmrg		CWARNFLAGS="$BASE_CFLAGS"
3240f010a93dSmrg		if  test "x$GCC" = xyes ; then
3241f010a93dSmrg		    CWARNFLAGS="$CWARNFLAGS -fno-strict-aliasing"
3242f010a93dSmrg		fi
3243f010a93dSmrg		AC_SUBST(CWARNFLAGS)
3244f010a93dSmrg	]
3245f010a93dSmrg)
3246f010a93dSmrg]) # XORG_CWARNFLAGS
3247b4d38c65Smrg
3248f010a93dSmrg# XORG_STRICT_OPTION
3249f010a93dSmrg# -----------------------
3250f010a93dSmrg# Minimum version: 1.3.0
3251f010a93dSmrg#
3252f010a93dSmrg# Add configure option to enable strict compilation flags, such as treating
3253f010a93dSmrg# warnings as fatal errors.
3254f010a93dSmrg# If --enable-strict-compilation is passed to configure, adds strict flags to
3255f010a93dSmrg# $BASE_CFLAGS or $BASE_CXXFLAGS and the deprecated $CWARNFLAGS.
3256f010a93dSmrg#
3257f010a93dSmrg# Starting in 1.14.0 also exports $STRICT_CFLAGS for use in other tests or
3258f010a93dSmrg# when strict compilation is unconditionally desired.
3259f010a93dSmrgAC_DEFUN([XORG_STRICT_OPTION], [
3260f010a93dSmrgAC_REQUIRE([XORG_CWARNFLAGS])
3261f010a93dSmrgAC_REQUIRE([XORG_COMPILER_FLAGS])
326215fb4814Smrg
3263f010a93dSmrgAC_ARG_ENABLE(strict-compilation,
3264f010a93dSmrg			  AS_HELP_STRING([--enable-strict-compilation],
3265f010a93dSmrg			  [Enable all warnings from compiler and make them errors (default: disabled)]),
3266f010a93dSmrg			  [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
326715fb4814Smrg
3268f010a93dSmrgAC_LANG_CASE(
3269f010a93dSmrg        [C], [
3270f010a93dSmrg                define([PREFIX], [C])
3271f010a93dSmrg        ],
3272f010a93dSmrg        [C++], [
3273f010a93dSmrg                define([PREFIX], [CXX])
3274f010a93dSmrg        ]
3275f010a93dSmrg)
327615fb4814Smrg
3277f010a93dSmrg[STRICT_]PREFIX[FLAGS]=""
3278f010a93dSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-pedantic])
3279f010a93dSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror], [-errwarn])
328015fb4814Smrg
3281f010a93dSmrg# Earlier versions of gcc (eg: 4.2) support -Werror=attributes, but do not
3282f010a93dSmrg# activate it with -Werror, so we add it here explicitly.
3283f010a93dSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror=attributes])
328415fb4814Smrg
3285f010a93dSmrgif test "x$STRICT_COMPILE" = "xyes"; then
3286f010a93dSmrg    [BASE_]PREFIX[FLAGS]="$[BASE_]PREFIX[FLAGS] $[STRICT_]PREFIX[FLAGS]"
3287f010a93dSmrg    AC_LANG_CASE([C], [CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"])
3288f010a93dSmrgfi
3289f010a93dSmrgAC_SUBST([STRICT_]PREFIX[FLAGS])
3290f010a93dSmrgAC_SUBST([BASE_]PREFIX[FLAGS])
3291f010a93dSmrgAC_LANG_CASE([C], AC_SUBST([CWARNFLAGS]))
3292f010a93dSmrg]) # XORG_STRICT_OPTION
329315fb4814Smrg
3294f010a93dSmrg# XORG_DEFAULT_OPTIONS
3295f010a93dSmrg# --------------------
3296f010a93dSmrg# Minimum version: 1.3.0
3297f010a93dSmrg#
3298f010a93dSmrg# Defines default options for X.Org modules.
3299f010a93dSmrg#
3300f010a93dSmrgAC_DEFUN([XORG_DEFAULT_OPTIONS], [
3301f010a93dSmrgAC_REQUIRE([AC_PROG_INSTALL])
3302f010a93dSmrgXORG_COMPILER_FLAGS
3303f010a93dSmrgXORG_CWARNFLAGS
3304f010a93dSmrgXORG_STRICT_OPTION
3305f010a93dSmrgXORG_RELEASE_VERSION
3306f010a93dSmrgXORG_CHANGELOG
3307f010a93dSmrgXORG_INSTALL
3308f010a93dSmrgXORG_MANPAGE_SECTIONS
3309f010a93dSmrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
3310f010a93dSmrg    [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
3311f010a93dSmrg]) # XORG_DEFAULT_OPTIONS
331215fb4814Smrg
3313f010a93dSmrg# XORG_INSTALL()
3314f010a93dSmrg# ----------------
3315f010a93dSmrg# Minimum version: 1.4.0
3316f010a93dSmrg#
3317f010a93dSmrg# Defines the variable INSTALL_CMD as the command to copy
3318f010a93dSmrg# INSTALL from $prefix/share/util-macros.
3319f010a93dSmrg#
3320f010a93dSmrgAC_DEFUN([XORG_INSTALL], [
3321f010a93dSmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG])
3322f010a93dSmrgmacros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
3323f010a93dSmrgINSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
3324f010a93dSmrgmv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
3325f010a93dSmrg|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \
3326f010a93dSmrgtouch \$(top_srcdir)/INSTALL; \
3327f010a93dSmrgecho 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))"
3328f010a93dSmrgAC_SUBST([INSTALL_CMD])
3329f010a93dSmrg]) # XORG_INSTALL
3330f010a93dSmrgdnl Copyright 2005 Red Hat, Inc
3331f010a93dSmrgdnl
3332f010a93dSmrgdnl Permission to use, copy, modify, distribute, and sell this software and its
3333f010a93dSmrgdnl documentation for any purpose is hereby granted without fee, provided that
3334f010a93dSmrgdnl the above copyright notice appear in all copies and that both that
3335f010a93dSmrgdnl copyright notice and this permission notice appear in supporting
3336f010a93dSmrgdnl documentation.
3337f010a93dSmrgdnl
3338f010a93dSmrgdnl The above copyright notice and this permission notice shall be included
3339f010a93dSmrgdnl in all copies or substantial portions of the Software.
3340f010a93dSmrgdnl
3341f010a93dSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
3342f010a93dSmrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
3343f010a93dSmrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
3344f010a93dSmrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
3345f010a93dSmrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
3346f010a93dSmrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
3347f010a93dSmrgdnl OTHER DEALINGS IN THE SOFTWARE.
3348f010a93dSmrgdnl
3349f010a93dSmrgdnl Except as contained in this notice, the name of the copyright holders shall
3350f010a93dSmrgdnl not be used in advertising or otherwise to promote the sale, use or
3351f010a93dSmrgdnl other dealings in this Software without prior written authorization
3352f010a93dSmrgdnl from the copyright holders.
3353f010a93dSmrgdnl
335415fb4814Smrg
3355f010a93dSmrg# XORG_RELEASE_VERSION
3356f010a93dSmrg# --------------------
3357f010a93dSmrg# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
3358de78e416Smrg
3359f010a93dSmrgAC_DEFUN([XORG_RELEASE_VERSION],[
3360f010a93dSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
3361f010a93dSmrg		[`echo $PACKAGE_VERSION | cut -d . -f 1`],
3362f010a93dSmrg		[Major version of this package])
3363f010a93dSmrg	PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
3364f010a93dSmrg	if test "x$PVM" = "x"; then
3365f010a93dSmrg		PVM="0"
3366f010a93dSmrg	fi
3367f010a93dSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
3368f010a93dSmrg		[$PVM],
3369f010a93dSmrg		[Minor version of this package])
3370f010a93dSmrg	PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
3371f010a93dSmrg	if test "x$PVP" = "x"; then
3372f010a93dSmrg		PVP="0"
3373f010a93dSmrg	fi
3374f010a93dSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
3375f010a93dSmrg		[$PVP],
3376f010a93dSmrg		[Patch version of this package])
3377f010a93dSmrg])
337815fb4814Smrg
3379f010a93dSmrg# XORG_CHANGELOG()
3380f010a93dSmrg# ----------------
3381f010a93dSmrg# Minimum version: 1.2.0
3382f010a93dSmrg#
3383f010a93dSmrg# Defines the variable CHANGELOG_CMD as the command to generate
3384f010a93dSmrg# ChangeLog from git.
3385f010a93dSmrg#
3386f010a93dSmrg#
3387f010a93dSmrgAC_DEFUN([XORG_CHANGELOG], [
3388f010a93dSmrgCHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
3389f010a93dSmrgmv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
3390f010a93dSmrg|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
3391f010a93dSmrgtouch \$(top_srcdir)/ChangeLog; \
3392f010a93dSmrgecho 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
3393f010a93dSmrgAC_SUBST([CHANGELOG_CMD])
3394f010a93dSmrg]) # XORG_CHANGELOG
339515fb4814Smrg
3396f010a93dSmrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
3397f010a93dSmrg#
3398f010a93dSmrg#   Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
3399f010a93dSmrg#   Foundation, Inc.
3400f010a93dSmrg#   Written by Gordon Matzigkeit, 1996
3401f010a93dSmrg#
3402f010a93dSmrg# This file is free software; the Free Software Foundation gives
3403f010a93dSmrg# unlimited permission to copy and/or distribute it, with or without
3404f010a93dSmrg# modifications, as long as this notice is preserved.
340515fb4814Smrg
3406f010a93dSmrgm4_define([_LT_COPYING], [dnl
3407f010a93dSmrg# Copyright (C) 2014 Free Software Foundation, Inc.
3408f010a93dSmrg# This is free software; see the source for copying conditions.  There is NO
3409f010a93dSmrg# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
341015fb4814Smrg
3411f010a93dSmrg# GNU Libtool is free software; you can redistribute it and/or modify
3412f010a93dSmrg# it under the terms of the GNU General Public License as published by
3413f010a93dSmrg# the Free Software Foundation; either version 2 of of the License, or
3414f010a93dSmrg# (at your option) any later version.
3415f010a93dSmrg#
3416f010a93dSmrg# As a special exception to the GNU General Public License, if you
3417f010a93dSmrg# distribute this file as part of a program or library that is built
3418f010a93dSmrg# using GNU Libtool, you may include this file under the  same
3419f010a93dSmrg# distribution terms that you use for the rest of that program.
3420f010a93dSmrg#
3421f010a93dSmrg# GNU Libtool is distributed in the hope that it will be useful, but
3422f010a93dSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
3423f010a93dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3424f010a93dSmrg# GNU General Public License for more details.
3425f010a93dSmrg#
3426f010a93dSmrg# You should have received a copy of the GNU General Public License
3427f010a93dSmrg# along with this program.  If not, see <http://www.gnu.org/licenses/>.
3428f010a93dSmrg])
342915fb4814Smrg
3430f010a93dSmrg# serial 59 LT_INIT
3431b4d38c65Smrg
343215fb4814Smrg
3433f010a93dSmrg# LT_PREREQ(VERSION)
3434f010a93dSmrg# ------------------
3435f010a93dSmrg# Complain and exit if this libtool version is less that VERSION.
3436f010a93dSmrgm4_defun([LT_PREREQ],
3437f010a93dSmrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
3438f010a93dSmrg       [m4_default([$3],
3439f010a93dSmrg		   [m4_fatal([Libtool version $1 or higher is required],
3440f010a93dSmrg		             63)])],
3441f010a93dSmrg       [$2])])
344215fb4814Smrg
3443b534f209Smrg
3444f010a93dSmrg# _LT_CHECK_BUILDDIR
3445f010a93dSmrg# ------------------
3446f010a93dSmrg# Complain if the absolute build directory name contains unusual characters
3447f010a93dSmrgm4_defun([_LT_CHECK_BUILDDIR],
3448f010a93dSmrg[case `pwd` in
3449f010a93dSmrg  *\ * | *\	*)
3450f010a93dSmrg    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
3451f010a93dSmrgesac
3452f010a93dSmrg])
3453b534f209Smrg
3454b4d38c65Smrg
3455f010a93dSmrg# LT_INIT([OPTIONS])
3456f010a93dSmrg# ------------------
3457f010a93dSmrgAC_DEFUN([LT_INIT],
3458f010a93dSmrg[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
3459f010a93dSmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
3460f010a93dSmrgAC_BEFORE([$0], [LT_LANG])dnl
3461f010a93dSmrgAC_BEFORE([$0], [LT_OUTPUT])dnl
3462f010a93dSmrgAC_BEFORE([$0], [LTDL_INIT])dnl
3463f010a93dSmrgm4_require([_LT_CHECK_BUILDDIR])dnl
3464b4d38c65Smrg
3465f010a93dSmrgdnl Autoconf doesn't catch unexpanded LT_ macros by default:
3466f010a93dSmrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
3467f010a93dSmrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
3468f010a93dSmrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
3469f010a93dSmrgdnl unless we require an AC_DEFUNed macro:
3470f010a93dSmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl
3471f010a93dSmrgAC_REQUIRE([LTSUGAR_VERSION])dnl
3472f010a93dSmrgAC_REQUIRE([LTVERSION_VERSION])dnl
3473f010a93dSmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl
3474f010a93dSmrgm4_require([_LT_PROG_LTMAIN])dnl
347515fb4814Smrg
3476f010a93dSmrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
347715fb4814Smrg
3478f010a93dSmrgdnl Parse OPTIONS
3479f010a93dSmrg_LT_SET_OPTIONS([$0], [$1])
348015fb4814Smrg
3481f010a93dSmrg# This can be used to rebuild libtool when needed
3482f010a93dSmrgLIBTOOL_DEPS=$ltmain
348315fb4814Smrg
3484f010a93dSmrg# Always use our own libtool.
3485f010a93dSmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool'
3486f010a93dSmrgAC_SUBST(LIBTOOL)dnl
3487b4d38c65Smrg
3488f010a93dSmrg_LT_SETUP
348915fb4814Smrg
3490f010a93dSmrg# Only expand once:
3491f010a93dSmrgm4_define([LT_INIT])
3492f010a93dSmrg])# LT_INIT
349315fb4814Smrg
3494f010a93dSmrg# Old names:
3495f010a93dSmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
3496f010a93dSmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
3497f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
3498f010a93dSmrgdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
3499f010a93dSmrgdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
3500b4d38c65Smrg
3501b4d38c65Smrg
3502f010a93dSmrg# _LT_PREPARE_CC_BASENAME
3503f010a93dSmrg# -----------------------
3504f010a93dSmrgm4_defun([_LT_PREPARE_CC_BASENAME], [
3505f010a93dSmrg# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
3506f010a93dSmrgfunc_cc_basename ()
3507f010a93dSmrg{
3508f010a93dSmrg    for cc_temp in @S|@*""; do
3509f010a93dSmrg      case $cc_temp in
3510f010a93dSmrg        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
3511f010a93dSmrg        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
3512f010a93dSmrg        \-*) ;;
3513f010a93dSmrg        *) break;;
351415fb4814Smrg      esac
3515f010a93dSmrg    done
3516f010a93dSmrg    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
3517f010a93dSmrg}
3518f010a93dSmrg])# _LT_PREPARE_CC_BASENAME
351915fb4814Smrg
3520b410ddbeSmrg
3521f010a93dSmrg# _LT_CC_BASENAME(CC)
3522f010a93dSmrg# -------------------
3523f010a93dSmrg# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
3524f010a93dSmrg# but that macro is also expanded into generated libtool script, which
3525f010a93dSmrg# arranges for $SED and $ECHO to be set by different means.
3526f010a93dSmrgm4_defun([_LT_CC_BASENAME],
3527f010a93dSmrg[m4_require([_LT_PREPARE_CC_BASENAME])dnl
3528f010a93dSmrgAC_REQUIRE([_LT_DECL_SED])dnl
3529f010a93dSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
3530f010a93dSmrgfunc_cc_basename $1
3531f010a93dSmrgcc_basename=$func_cc_basename_result
3532f010a93dSmrg])
3533b4d38c65Smrg
3534b4d38c65Smrg
3535f010a93dSmrg# _LT_FILEUTILS_DEFAULTS
3536f010a93dSmrg# ----------------------
3537f010a93dSmrg# It is okay to use these file commands and assume they have been set
3538f010a93dSmrg# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
3539f010a93dSmrgm4_defun([_LT_FILEUTILS_DEFAULTS],
3540f010a93dSmrg[: ${CP="cp -f"}
3541f010a93dSmrg: ${MV="mv -f"}
3542f010a93dSmrg: ${RM="rm -f"}
3543f010a93dSmrg])# _LT_FILEUTILS_DEFAULTS
354415fb4814Smrg
354515fb4814Smrg
3546f010a93dSmrg# _LT_SETUP
3547f010a93dSmrg# ---------
3548f010a93dSmrgm4_defun([_LT_SETUP],
3549f010a93dSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3550f010a93dSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
3551f010a93dSmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
3552f010a93dSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
3553f010a93dSmrg
3554f010a93dSmrg_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
3555f010a93dSmrgdnl
3556f010a93dSmrg_LT_DECL([], [host_alias], [0], [The host system])dnl
3557f010a93dSmrg_LT_DECL([], [host], [0])dnl
3558f010a93dSmrg_LT_DECL([], [host_os], [0])dnl
3559f010a93dSmrgdnl
3560f010a93dSmrg_LT_DECL([], [build_alias], [0], [The build system])dnl
3561f010a93dSmrg_LT_DECL([], [build], [0])dnl
3562f010a93dSmrg_LT_DECL([], [build_os], [0])dnl
3563f010a93dSmrgdnl
3564f010a93dSmrgAC_REQUIRE([AC_PROG_CC])dnl
3565f010a93dSmrgAC_REQUIRE([LT_PATH_LD])dnl
3566f010a93dSmrgAC_REQUIRE([LT_PATH_NM])dnl
3567f010a93dSmrgdnl
3568f010a93dSmrgAC_REQUIRE([AC_PROG_LN_S])dnl
3569f010a93dSmrgtest -z "$LN_S" && LN_S="ln -s"
3570f010a93dSmrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
3571f010a93dSmrgdnl
3572f010a93dSmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl
3573f010a93dSmrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
3574f010a93dSmrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
3575f010a93dSmrgdnl
3576f010a93dSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
3577f010a93dSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
3578f010a93dSmrgm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
3579f010a93dSmrgm4_require([_LT_CMD_RELOAD])dnl
3580f010a93dSmrgm4_require([_LT_DECL_FILECMD])dnl
3581f010a93dSmrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl
3582f010a93dSmrgm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
3583f010a93dSmrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl
3584f010a93dSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
3585f010a93dSmrgm4_require([_LT_WITH_SYSROOT])dnl
3586f010a93dSmrgm4_require([_LT_CMD_TRUNCATE])dnl
358715fb4814Smrg
3588f010a93dSmrg_LT_CONFIG_LIBTOOL_INIT([
3589f010a93dSmrg# See if we are running on zsh, and set the options that allow our
3590f010a93dSmrg# commands through without removal of \ escapes INIT.
3591f010a93dSmrgif test -n "\${ZSH_VERSION+set}"; then
3592f010a93dSmrg   setopt NO_GLOB_SUBST
3593f010a93dSmrgfi
3594f010a93dSmrg])
3595f010a93dSmrgif test -n "${ZSH_VERSION+set}"; then
3596f010a93dSmrg   setopt NO_GLOB_SUBST
3597f010a93dSmrgfi
359815fb4814Smrg
3599f010a93dSmrg_LT_CHECK_OBJDIR
3600f010a93dSmrg
3601f010a93dSmrgm4_require([_LT_TAG_COMPILER])dnl
360215fb4814Smrg
360315fb4814Smrgcase $host_os in
3604f010a93dSmrgaix3*)
3605f010a93dSmrg  # AIX sometimes has problems with the GCC collect2 program.  For some
3606f010a93dSmrg  # reason, if we set the COLLECT_NAMES environment variable, the problems
3607f010a93dSmrg  # vanish in a puff of smoke.
3608f010a93dSmrg  if test set != "${COLLECT_NAMES+set}"; then
3609f010a93dSmrg    COLLECT_NAMES=
3610f010a93dSmrg    export COLLECT_NAMES
3611f010a93dSmrg  fi
361215fb4814Smrg  ;;
3613f010a93dSmrgesac
361415fb4814Smrg
3615f010a93dSmrg# Global variables:
3616f010a93dSmrgofile=libtool
3617f010a93dSmrgcan_build_shared=yes
361815fb4814Smrg
3619f010a93dSmrg# All known linkers require a '.a' archive for static linking (except MSVC and
3620f010a93dSmrg# ICC, which need '.lib').
3621f010a93dSmrglibext=a
362215fb4814Smrg
3623f010a93dSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld
362415fb4814Smrg
3625f010a93dSmrgold_CC=$CC
3626f010a93dSmrgold_CFLAGS=$CFLAGS
362715fb4814Smrg
3628f010a93dSmrg# Set sane defaults for various variables
3629f010a93dSmrgtest -z "$CC" && CC=cc
3630f010a93dSmrgtest -z "$LTCC" && LTCC=$CC
3631f010a93dSmrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
3632f010a93dSmrgtest -z "$LD" && LD=ld
3633f010a93dSmrgtest -z "$ac_objext" && ac_objext=o
3634b4d38c65Smrg
3635f010a93dSmrg_LT_CC_BASENAME([$compiler])
363615fb4814Smrg
3637f010a93dSmrg# Only perform the check for file, if the check method requires it
3638f010a93dSmrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file
3639f010a93dSmrgcase $deplibs_check_method in
3640f010a93dSmrgfile_magic*)
3641f010a93dSmrg  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
3642f010a93dSmrg    _LT_PATH_MAGIC
364315fb4814Smrg  fi
364415fb4814Smrg  ;;
3645f010a93dSmrgesac
364615fb4814Smrg
3647f010a93dSmrg# Use C for the default configuration in the libtool script
3648f010a93dSmrgLT_SUPPORTED_TAG([CC])
3649f010a93dSmrg_LT_LANG_C_CONFIG
3650f010a93dSmrg_LT_LANG_DEFAULT_CONFIG
3651f010a93dSmrg_LT_CONFIG_COMMANDS
3652f010a93dSmrg])# _LT_SETUP
365315fb4814Smrg
3654b4d38c65Smrg
3655f010a93dSmrg# _LT_PREPARE_SED_QUOTE_VARS
3656f010a93dSmrg# --------------------------
3657f010a93dSmrg# Define a few sed substitution that help us do robust quoting.
3658f010a93dSmrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS],
3659f010a93dSmrg[# Backslashify metacharacters that are still active within
3660f010a93dSmrg# double-quoted strings.
3661f010a93dSmrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
366215fb4814Smrg
3663f010a93dSmrg# Same as above, but do not quote variable references.
3664f010a93dSmrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
366515fb4814Smrg
3666f010a93dSmrg# Sed substitution to delay expansion of an escaped shell variable in a
3667f010a93dSmrg# double_quote_subst'ed string.
3668f010a93dSmrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
366915fb4814Smrg
3670f010a93dSmrg# Sed substitution to delay expansion of an escaped single quote.
3671f010a93dSmrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
367215fb4814Smrg
3673f010a93dSmrg# Sed substitution to avoid accidental globbing in evaled expressions
3674f010a93dSmrgno_glob_subst='s/\*/\\\*/g'
3675f010a93dSmrg])
367615fb4814Smrg
3677f010a93dSmrg# _LT_PROG_LTMAIN
3678f010a93dSmrg# ---------------
3679f010a93dSmrg# Note that this code is called both from 'configure', and 'config.status'
3680f010a93dSmrg# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
3681f010a93dSmrg# 'config.status' has no value for ac_aux_dir unless we are using Automake,
3682f010a93dSmrg# so we pass a copy along to make sure it has a sensible value anyway.
3683f010a93dSmrgm4_defun([_LT_PROG_LTMAIN],
3684f010a93dSmrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
3685f010a93dSmrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
3686f010a93dSmrgltmain=$ac_aux_dir/ltmain.sh
3687f010a93dSmrg])# _LT_PROG_LTMAIN
368815fb4814Smrg
368915fb4814Smrg
369015fb4814Smrg
3691f010a93dSmrg# So that we can recreate a full libtool script including additional
3692f010a93dSmrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
3693f010a93dSmrg# in macros and then make a single call at the end using the 'libtool'
3694f010a93dSmrg# label.
369515fb4814Smrg
3696de78e416Smrg
3697f010a93dSmrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
3698f010a93dSmrg# ----------------------------------------
3699f010a93dSmrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
3700f010a93dSmrgm4_define([_LT_CONFIG_LIBTOOL_INIT],
3701f010a93dSmrg[m4_ifval([$1],
3702f010a93dSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
3703f010a93dSmrg                     [$1
3704f010a93dSmrg])])])
370515fb4814Smrg
3706f010a93dSmrg# Initialize.
3707f010a93dSmrgm4_define([_LT_OUTPUT_LIBTOOL_INIT])
3708b4d38c65Smrg
370915fb4814Smrg
3710f010a93dSmrg# _LT_CONFIG_LIBTOOL([COMMANDS])
3711f010a93dSmrg# ------------------------------
3712f010a93dSmrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
3713f010a93dSmrgm4_define([_LT_CONFIG_LIBTOOL],
3714f010a93dSmrg[m4_ifval([$1],
3715f010a93dSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
3716f010a93dSmrg                     [$1
3717f010a93dSmrg])])])
3718f010a93dSmrg
3719f010a93dSmrg# Initialize.
3720f010a93dSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
3721f010a93dSmrg
3722f010a93dSmrg
3723f010a93dSmrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
3724f010a93dSmrg# -----------------------------------------------------
3725f010a93dSmrgm4_defun([_LT_CONFIG_SAVE_COMMANDS],
3726f010a93dSmrg[_LT_CONFIG_LIBTOOL([$1])
3727f010a93dSmrg_LT_CONFIG_LIBTOOL_INIT([$2])
372815fb4814Smrg])
3729b4d38c65Smrg
3730b4d38c65Smrg
3731f010a93dSmrg# _LT_FORMAT_COMMENT([COMMENT])
3732f010a93dSmrg# -----------------------------
3733f010a93dSmrg# Add leading comment marks to the start of each line, and a trailing
3734f010a93dSmrg# full-stop to the whole comment if one is not present already.
3735f010a93dSmrgm4_define([_LT_FORMAT_COMMENT],
3736f010a93dSmrg[m4_ifval([$1], [
3737f010a93dSmrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
3738f010a93dSmrg              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
3739f010a93dSmrg)])
374015fb4814Smrg
374115fb4814Smrg
3742b4d38c65Smrg
374315fb4814Smrg
3744b4d38c65Smrg
3745f010a93dSmrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
3746f010a93dSmrg# -------------------------------------------------------------------
3747f010a93dSmrg# CONFIGNAME is the name given to the value in the libtool script.
3748f010a93dSmrg# VARNAME is the (base) name used in the configure script.
3749f010a93dSmrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
3750f010a93dSmrg# VARNAME.  Any other value will be used directly.
3751f010a93dSmrgm4_define([_LT_DECL],
3752f010a93dSmrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
3753f010a93dSmrg    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
3754f010a93dSmrg	[m4_ifval([$1], [$1], [$2])])
3755f010a93dSmrg    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
3756f010a93dSmrg    m4_ifval([$4],
3757f010a93dSmrg	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
3758f010a93dSmrg    lt_dict_add_subkey([lt_decl_dict], [$2],
3759f010a93dSmrg	[tagged?], [m4_ifval([$5], [yes], [no])])])
3760b4d38c65Smrg])
3761b4d38c65Smrg
3762b4d38c65Smrg
3763f010a93dSmrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
3764f010a93dSmrg# --------------------------------------------------------
3765f010a93dSmrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
3766b4d38c65Smrg
3767b4d38c65Smrg
3768f010a93dSmrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
3769f010a93dSmrg# ------------------------------------------------
3770f010a93dSmrgm4_define([lt_decl_tag_varnames],
3771f010a93dSmrg[_lt_decl_filter([tagged?], [yes], $@)])
3772b4d38c65Smrg
377315fb4814Smrg
3774f010a93dSmrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
3775f010a93dSmrg# ---------------------------------------------------------
3776f010a93dSmrgm4_define([_lt_decl_filter],
3777f010a93dSmrg[m4_case([$#],
3778f010a93dSmrg  [0], [m4_fatal([$0: too few arguments: $#])],
3779f010a93dSmrg  [1], [m4_fatal([$0: too few arguments: $#: $1])],
3780f010a93dSmrg  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
3781f010a93dSmrg  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
3782f010a93dSmrg  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
3783f010a93dSmrg])
378415fb4814Smrg
378515fb4814Smrg
3786f010a93dSmrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
3787f010a93dSmrg# --------------------------------------------------
3788f010a93dSmrgm4_define([lt_decl_quote_varnames],
3789f010a93dSmrg[_lt_decl_filter([value], [1], $@)])
379015fb4814Smrg
379115fb4814Smrg
3792f010a93dSmrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
3793f010a93dSmrg# ---------------------------------------------------
3794f010a93dSmrgm4_define([lt_decl_dquote_varnames],
3795f010a93dSmrg[_lt_decl_filter([value], [2], $@)])
379615fb4814Smrg
379715fb4814Smrg
3798f010a93dSmrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
3799f010a93dSmrg# ---------------------------------------------------
3800f010a93dSmrgm4_define([lt_decl_varnames_tagged],
3801f010a93dSmrg[m4_assert([$# <= 2])dnl
3802f010a93dSmrg_$0(m4_quote(m4_default([$1], [[, ]])),
3803f010a93dSmrg    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
3804f010a93dSmrg    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
3805f010a93dSmrgm4_define([_lt_decl_varnames_tagged],
3806f010a93dSmrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
380715fb4814Smrg
380815fb4814Smrg
3809f010a93dSmrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
3810f010a93dSmrg# ------------------------------------------------
3811f010a93dSmrgm4_define([lt_decl_all_varnames],
3812f010a93dSmrg[_$0(m4_quote(m4_default([$1], [[, ]])),
3813f010a93dSmrg     m4_if([$2], [],
3814f010a93dSmrg	   m4_quote(lt_decl_varnames),
3815f010a93dSmrg	m4_quote(m4_shift($@))))[]dnl
3816f010a93dSmrg])
3817f010a93dSmrgm4_define([_lt_decl_all_varnames],
3818f010a93dSmrg[lt_join($@, lt_decl_varnames_tagged([$1],
3819f010a93dSmrg			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
3820f010a93dSmrg])
382115fb4814Smrg
3822b534f209Smrg
3823f010a93dSmrg# _LT_CONFIG_STATUS_DECLARE([VARNAME])
3824f010a93dSmrg# ------------------------------------
3825f010a93dSmrg# Quote a variable value, and forward it to 'config.status' so that its
3826f010a93dSmrg# declaration there will have the same value as in 'configure'.  VARNAME
3827f010a93dSmrg# must have a single quote delimited value for this to work.
3828f010a93dSmrgm4_define([_LT_CONFIG_STATUS_DECLARE],
3829f010a93dSmrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
3830b534f209Smrg
383115fb4814Smrg
3832f010a93dSmrg# _LT_CONFIG_STATUS_DECLARATIONS
3833f010a93dSmrg# ------------------------------
3834f010a93dSmrg# We delimit libtool config variables with single quotes, so when
3835f010a93dSmrg# we write them to config.status, we have to be sure to quote all
3836f010a93dSmrg# embedded single quotes properly.  In configure, this macro expands
3837f010a93dSmrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
3838f010a93dSmrg#
3839f010a93dSmrg#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
3840f010a93dSmrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
3841f010a93dSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
3842f010a93dSmrg    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
384315fb4814Smrg
384415fb4814Smrg
3845f010a93dSmrg# _LT_LIBTOOL_TAGS
3846f010a93dSmrg# ----------------
3847f010a93dSmrg# Output comment and list of tags supported by the script
3848f010a93dSmrgm4_defun([_LT_LIBTOOL_TAGS],
3849f010a93dSmrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
3850f010a93dSmrgavailable_tags='_LT_TAGS'dnl
3851f010a93dSmrg])
385215fb4814Smrg
385315fb4814Smrg
3854f010a93dSmrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
3855f010a93dSmrg# -----------------------------------
3856f010a93dSmrg# Extract the dictionary values for VARNAME (optionally with TAG) and
3857f010a93dSmrg# expand to a commented shell variable setting:
3858f010a93dSmrg#
3859f010a93dSmrg#    # Some comment about what VAR is for.
3860f010a93dSmrg#    visible_name=$lt_internal_name
3861f010a93dSmrgm4_define([_LT_LIBTOOL_DECLARE],
3862f010a93dSmrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
3863f010a93dSmrg					   [description])))[]dnl
3864f010a93dSmrgm4_pushdef([_libtool_name],
3865f010a93dSmrg    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
3866f010a93dSmrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
3867f010a93dSmrg    [0], [_libtool_name=[$]$1],
3868f010a93dSmrg    [1], [_libtool_name=$lt_[]$1],
3869f010a93dSmrg    [2], [_libtool_name=$lt_[]$1],
3870f010a93dSmrg    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
3871f010a93dSmrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
3872f010a93dSmrg])
387315fb4814Smrg
387415fb4814Smrg
3875f010a93dSmrg# _LT_LIBTOOL_CONFIG_VARS
3876f010a93dSmrg# -----------------------
3877f010a93dSmrg# Produce commented declarations of non-tagged libtool config variables
3878f010a93dSmrg# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
3879f010a93dSmrg# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
3880f010a93dSmrg# section) are produced by _LT_LIBTOOL_TAG_VARS.
3881f010a93dSmrgm4_defun([_LT_LIBTOOL_CONFIG_VARS],
3882f010a93dSmrg[m4_foreach([_lt_var],
3883f010a93dSmrg    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
3884f010a93dSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
388515fb4814Smrg
388615fb4814Smrg
3887f010a93dSmrg# _LT_LIBTOOL_TAG_VARS(TAG)
3888f010a93dSmrg# -------------------------
3889f010a93dSmrgm4_define([_LT_LIBTOOL_TAG_VARS],
3890f010a93dSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
3891f010a93dSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
3892b534f209Smrg
3893b534f209Smrg
3894f010a93dSmrg# _LT_TAGVAR(VARNAME, [TAGNAME])
3895f010a93dSmrg# ------------------------------
3896f010a93dSmrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
3897b534f209Smrg
3898b534f209Smrg
3899f010a93dSmrg# _LT_CONFIG_COMMANDS
3900f010a93dSmrg# -------------------
3901f010a93dSmrg# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
3902f010a93dSmrg# variables for single and double quote escaping we saved from calls
3903f010a93dSmrg# to _LT_DECL, we can put quote escaped variables declarations
3904f010a93dSmrg# into 'config.status', and then the shell code to quote escape them in
3905f010a93dSmrg# for loops in 'config.status'.  Finally, any additional code accumulated
3906f010a93dSmrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
3907f010a93dSmrgm4_defun([_LT_CONFIG_COMMANDS],
3908f010a93dSmrg[AC_PROVIDE_IFELSE([LT_OUTPUT],
3909f010a93dSmrg	dnl If the libtool generation code has been placed in $CONFIG_LT,
3910f010a93dSmrg	dnl instead of duplicating it all over again into config.status,
3911f010a93dSmrg	dnl then we will have config.status run $CONFIG_LT later, so it
3912f010a93dSmrg	dnl needs to know what name is stored there:
3913f010a93dSmrg        [AC_CONFIG_COMMANDS([libtool],
3914f010a93dSmrg            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
3915f010a93dSmrg    dnl If the libtool generation code is destined for config.status,
3916f010a93dSmrg    dnl expand the accumulated commands and init code now:
3917f010a93dSmrg    [AC_CONFIG_COMMANDS([libtool],
3918f010a93dSmrg        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
3919f010a93dSmrg])#_LT_CONFIG_COMMANDS
3920b534f209Smrg
3921b534f209Smrg
3922f010a93dSmrg# Initialize.
3923f010a93dSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
3924f010a93dSmrg[
3925b534f209Smrg
3926f010a93dSmrg# The HP-UX ksh and POSIX shell print the target directory to stdout
3927f010a93dSmrg# if CDPATH is set.
3928f010a93dSmrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
3929b534f209Smrg
3930f010a93dSmrgsed_quote_subst='$sed_quote_subst'
3931f010a93dSmrgdouble_quote_subst='$double_quote_subst'
3932f010a93dSmrgdelay_variable_subst='$delay_variable_subst'
3933f010a93dSmrg_LT_CONFIG_STATUS_DECLARATIONS
3934f010a93dSmrgLTCC='$LTCC'
3935f010a93dSmrgLTCFLAGS='$LTCFLAGS'
3936f010a93dSmrgcompiler='$compiler_DEFAULT'
3937f010a93dSmrg
3938f010a93dSmrg# A function that is used when there is no print builtin or printf.
3939f010a93dSmrgfunc_fallback_echo ()
3940f010a93dSmrg{
3941f010a93dSmrg  eval 'cat <<_LTECHO_EOF
3942f010a93dSmrg\$[]1
3943f010a93dSmrg_LTECHO_EOF'
3944b4d38c65Smrg}
394515fb4814Smrg
3946f010a93dSmrg# Quote evaled strings.
3947f010a93dSmrgfor var in lt_decl_all_varnames([[ \
3948f010a93dSmrg]], lt_decl_quote_varnames); do
3949f010a93dSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
3950f010a93dSmrg    *[[\\\\\\\`\\"\\\$]]*)
3951f010a93dSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
3952f010a93dSmrg      ;;
3953f010a93dSmrg    *)
3954f010a93dSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
3955f010a93dSmrg      ;;
3956f010a93dSmrg    esac
3957b4d38c65Smrgdone
395815fb4814Smrg
3959f010a93dSmrg# Double-quote double-evaled strings.
3960f010a93dSmrgfor var in lt_decl_all_varnames([[ \
3961f010a93dSmrg]], lt_decl_dquote_varnames); do
3962f010a93dSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
3963f010a93dSmrg    *[[\\\\\\\`\\"\\\$]]*)
3964f010a93dSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
3965f010a93dSmrg      ;;
3966f010a93dSmrg    *)
3967f010a93dSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
3968f010a93dSmrg      ;;
3969f010a93dSmrg    esac
3970f010a93dSmrgdone
3971f010a93dSmrg
3972f010a93dSmrg_LT_OUTPUT_LIBTOOL_INIT
3973f010a93dSmrg])
3974f010a93dSmrg
3975f010a93dSmrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
3976f010a93dSmrg# ------------------------------------
3977f010a93dSmrg# Generate a child script FILE with all initialization necessary to
3978f010a93dSmrg# reuse the environment learned by the parent script, and make the
3979f010a93dSmrg# file executable.  If COMMENT is supplied, it is inserted after the
3980f010a93dSmrg# '#!' sequence but before initialization text begins.  After this
3981f010a93dSmrg# macro, additional text can be appended to FILE to form the body of
3982f010a93dSmrg# the child script.  The macro ends with non-zero status if the
3983f010a93dSmrg# file could not be fully written (such as if the disk is full).
3984f010a93dSmrgm4_ifdef([AS_INIT_GENERATED],
3985f010a93dSmrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
3986f010a93dSmrg[m4_defun([_LT_GENERATED_FILE_INIT],
3987f010a93dSmrg[m4_require([AS_PREPARE])]dnl
3988f010a93dSmrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
3989f010a93dSmrg[lt_write_fail=0
3990f010a93dSmrgcat >$1 <<_ASEOF || lt_write_fail=1
3991f010a93dSmrg#! $SHELL
3992f010a93dSmrg# Generated by $as_me.
3993f010a93dSmrg$2
3994f010a93dSmrgSHELL=\${CONFIG_SHELL-$SHELL}
3995f010a93dSmrgexport SHELL
3996f010a93dSmrg_ASEOF
3997f010a93dSmrgcat >>$1 <<\_ASEOF || lt_write_fail=1
3998f010a93dSmrgAS_SHELL_SANITIZE
3999f010a93dSmrg_AS_PREPARE
4000f010a93dSmrgexec AS_MESSAGE_FD>&1
4001f010a93dSmrg_ASEOF
4002f010a93dSmrgtest 0 = "$lt_write_fail" && chmod +x $1[]dnl
4003f010a93dSmrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
4004f010a93dSmrg
4005f010a93dSmrg# LT_OUTPUT
4006f010a93dSmrg# ---------
4007f010a93dSmrg# This macro allows early generation of the libtool script (before
4008f010a93dSmrg# AC_OUTPUT is called), incase it is used in configure for compilation
4009f010a93dSmrg# tests.
4010f010a93dSmrgAC_DEFUN([LT_OUTPUT],
4011f010a93dSmrg[: ${CONFIG_LT=./config.lt}
4012f010a93dSmrgAC_MSG_NOTICE([creating $CONFIG_LT])
4013f010a93dSmrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
4014f010a93dSmrg[# Run this file to recreate a libtool stub with the current configuration.])
4015f010a93dSmrg
4016f010a93dSmrgcat >>"$CONFIG_LT" <<\_LTEOF
4017f010a93dSmrglt_cl_silent=false
4018f010a93dSmrgexec AS_MESSAGE_LOG_FD>>config.log
4019f010a93dSmrg{
4020f010a93dSmrg  echo
4021f010a93dSmrg  AS_BOX([Running $as_me.])
4022f010a93dSmrg} >&AS_MESSAGE_LOG_FD
4023f010a93dSmrg
4024f010a93dSmrglt_cl_help="\
4025f010a93dSmrg'$as_me' creates a local libtool stub from the current configuration,
4026f010a93dSmrgfor use in further configure time tests before the real libtool is
4027f010a93dSmrggenerated.
4028f010a93dSmrg
4029f010a93dSmrgUsage: $[0] [[OPTIONS]]
4030f010a93dSmrg
4031f010a93dSmrg  -h, --help      print this help, then exit
4032f010a93dSmrg  -V, --version   print version number, then exit
4033f010a93dSmrg  -q, --quiet     do not print progress messages
4034f010a93dSmrg  -d, --debug     don't remove temporary files
4035f010a93dSmrg
4036f010a93dSmrgReport bugs to <bug-libtool@gnu.org>."
4037f010a93dSmrg
4038f010a93dSmrglt_cl_version="\
4039f010a93dSmrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
4040f010a93dSmrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
4041f010a93dSmrgconfigured by $[0], generated by m4_PACKAGE_STRING.
4042f010a93dSmrg
4043f010a93dSmrgCopyright (C) 2011 Free Software Foundation, Inc.
4044f010a93dSmrgThis config.lt script is free software; the Free Software Foundation
4045f010a93dSmrggives unlimited permision to copy, distribute and modify it."
4046f010a93dSmrg
4047f010a93dSmrgwhile test 0 != $[#]
4048f010a93dSmrgdo
4049f010a93dSmrg  case $[1] in
4050f010a93dSmrg    --version | --v* | -V )
4051f010a93dSmrg      echo "$lt_cl_version"; exit 0 ;;
4052f010a93dSmrg    --help | --h* | -h )
4053f010a93dSmrg      echo "$lt_cl_help"; exit 0 ;;
4054f010a93dSmrg    --debug | --d* | -d )
4055f010a93dSmrg      debug=: ;;
4056f010a93dSmrg    --quiet | --q* | --silent | --s* | -q )
4057f010a93dSmrg      lt_cl_silent=: ;;
4058f010a93dSmrg
4059f010a93dSmrg    -*) AC_MSG_ERROR([unrecognized option: $[1]
4060f010a93dSmrgTry '$[0] --help' for more information.]) ;;
4061f010a93dSmrg
4062f010a93dSmrg    *) AC_MSG_ERROR([unrecognized argument: $[1]
4063f010a93dSmrgTry '$[0] --help' for more information.]) ;;
4064f010a93dSmrg  esac
4065f010a93dSmrg  shift
4066f010a93dSmrgdone
4067f010a93dSmrg
4068f010a93dSmrgif $lt_cl_silent; then
4069f010a93dSmrg  exec AS_MESSAGE_FD>/dev/null
4070b4d38c65Smrgfi
4071f010a93dSmrg_LTEOF
407215fb4814Smrg
4073f010a93dSmrgcat >>"$CONFIG_LT" <<_LTEOF
4074f010a93dSmrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
4075f010a93dSmrg_LTEOF
4076b4d38c65Smrg
4077f010a93dSmrgcat >>"$CONFIG_LT" <<\_LTEOF
4078f010a93dSmrgAC_MSG_NOTICE([creating $ofile])
4079f010a93dSmrg_LT_OUTPUT_LIBTOOL_COMMANDS
4080f010a93dSmrgAS_EXIT(0)
4081f010a93dSmrg_LTEOF
4082f010a93dSmrgchmod +x "$CONFIG_LT"
4083b4d38c65Smrg
4084f010a93dSmrg# configure is writing to config.log, but config.lt does its own redirection,
4085f010a93dSmrg# appending to config.log, which fails on DOS, as config.log is still kept
4086f010a93dSmrg# open by configure.  Here we exec the FD to /dev/null, effectively closing
4087f010a93dSmrg# config.log, so it can be properly (re)opened and appended to by config.lt.
4088f010a93dSmrglt_cl_success=:
4089f010a93dSmrgtest yes = "$silent" &&
4090f010a93dSmrg  lt_config_lt_args="$lt_config_lt_args --quiet"
4091f010a93dSmrgexec AS_MESSAGE_LOG_FD>/dev/null
4092f010a93dSmrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
4093f010a93dSmrgexec AS_MESSAGE_LOG_FD>>config.log
4094f010a93dSmrg$lt_cl_success || AS_EXIT(1)
4095f010a93dSmrg])# LT_OUTPUT
409615fb4814Smrg
409715fb4814Smrg
4098f010a93dSmrg# _LT_CONFIG(TAG)
4099f010a93dSmrg# ---------------
4100f010a93dSmrg# If TAG is the built-in tag, create an initial libtool script with a
4101f010a93dSmrg# default configuration from the untagged config vars.  Otherwise add code
4102f010a93dSmrg# to config.status for appending the configuration named by TAG from the
4103f010a93dSmrg# matching tagged config vars.
4104f010a93dSmrgm4_defun([_LT_CONFIG],
4105f010a93dSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4106f010a93dSmrg_LT_CONFIG_SAVE_COMMANDS([
4107f010a93dSmrg  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
4108f010a93dSmrg  m4_if(_LT_TAG, [C], [
4109f010a93dSmrg    # See if we are running on zsh, and set the options that allow our
4110f010a93dSmrg    # commands through without removal of \ escapes.
4111f010a93dSmrg    if test -n "${ZSH_VERSION+set}"; then
4112f010a93dSmrg      setopt NO_GLOB_SUBST
4113f010a93dSmrg    fi
4114b534f209Smrg
4115f010a93dSmrg    cfgfile=${ofile}T
4116f010a93dSmrg    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
4117f010a93dSmrg    $RM "$cfgfile"
4118b534f209Smrg
4119f010a93dSmrg    cat <<_LT_EOF >> "$cfgfile"
4120f010a93dSmrg#! $SHELL
4121f010a93dSmrg# Generated automatically by $as_me ($PACKAGE) $VERSION
4122f010a93dSmrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
4123f010a93dSmrg# NOTE: Changes made to this file will be lost: look at ltmain.sh.
4124b4d38c65Smrg
4125f010a93dSmrg# Provide generalized library-building support services.
4126f010a93dSmrg# Written by Gordon Matzigkeit, 1996
4127b534f209Smrg
4128f010a93dSmrg_LT_COPYING
4129f010a93dSmrg_LT_LIBTOOL_TAGS
4130b534f209Smrg
4131f010a93dSmrg# Configured defaults for sys_lib_dlsearch_path munging.
4132f010a93dSmrg: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
4133b534f209Smrg
4134f010a93dSmrg# ### BEGIN LIBTOOL CONFIG
4135f010a93dSmrg_LT_LIBTOOL_CONFIG_VARS
4136f010a93dSmrg_LT_LIBTOOL_TAG_VARS
4137f010a93dSmrg# ### END LIBTOOL CONFIG
4138b534f209Smrg
4139f010a93dSmrg_LT_EOF
4140b534f209Smrg
4141f010a93dSmrg    cat <<'_LT_EOF' >> "$cfgfile"
4142b534f209Smrg
4143f010a93dSmrg# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
4144b410ddbeSmrg
4145f010a93dSmrg_LT_PREPARE_MUNGE_PATH_LIST
4146f010a93dSmrg_LT_PREPARE_CC_BASENAME
4147b410ddbeSmrg
4148f010a93dSmrg# ### END FUNCTIONS SHARED WITH CONFIGURE
4149b410ddbeSmrg
4150f010a93dSmrg_LT_EOF
4151b410ddbeSmrg
4152f010a93dSmrg  case $host_os in
4153f010a93dSmrg  aix3*)
4154f010a93dSmrg    cat <<\_LT_EOF >> "$cfgfile"
4155f010a93dSmrg# AIX sometimes has problems with the GCC collect2 program.  For some
4156f010a93dSmrg# reason, if we set the COLLECT_NAMES environment variable, the problems
4157f010a93dSmrg# vanish in a puff of smoke.
4158f010a93dSmrgif test set != "${COLLECT_NAMES+set}"; then
4159f010a93dSmrg  COLLECT_NAMES=
4160f010a93dSmrg  export COLLECT_NAMES
4161f010a93dSmrgfi
4162f010a93dSmrg_LT_EOF
4163f010a93dSmrg    ;;
4164f010a93dSmrg  esac
4165b410ddbeSmrg
4166f010a93dSmrg  _LT_PROG_LTMAIN
4167b534f209Smrg
4168f010a93dSmrg  # We use sed instead of cat because bash on DJGPP gets confused if
4169f010a93dSmrg  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
4170f010a93dSmrg  # text mode, it properly converts lines to CR/LF.  This bash problem
4171f010a93dSmrg  # is reportedly fixed, but why not run on old versions too?
4172f010a93dSmrg  $SED '$q' "$ltmain" >> "$cfgfile" \
4173f010a93dSmrg     || (rm -f "$cfgfile"; exit 1)
4174b4d38c65Smrg
4175f010a93dSmrg   mv -f "$cfgfile" "$ofile" ||
4176f010a93dSmrg    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
4177f010a93dSmrg  chmod +x "$ofile"
4178f010a93dSmrg],
4179f010a93dSmrg[cat <<_LT_EOF >> "$ofile"
4180b4d38c65Smrg
4181f010a93dSmrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
4182f010a93dSmrgdnl in a comment (ie after a #).
4183f010a93dSmrg# ### BEGIN LIBTOOL TAG CONFIG: $1
4184f010a93dSmrg_LT_LIBTOOL_TAG_VARS(_LT_TAG)
4185f010a93dSmrg# ### END LIBTOOL TAG CONFIG: $1
4186f010a93dSmrg_LT_EOF
4187f010a93dSmrg])dnl /m4_if
4188f010a93dSmrg],
4189f010a93dSmrg[m4_if([$1], [], [
4190f010a93dSmrg    PACKAGE='$PACKAGE'
4191f010a93dSmrg    VERSION='$VERSION'
4192f010a93dSmrg    RM='$RM'
4193f010a93dSmrg    ofile='$ofile'], [])
4194f010a93dSmrg])dnl /_LT_CONFIG_SAVE_COMMANDS
4195f010a93dSmrg])# _LT_CONFIG
4196b534f209Smrg
4197b4d38c65Smrg
4198f010a93dSmrg# LT_SUPPORTED_TAG(TAG)
4199f010a93dSmrg# ---------------------
4200f010a93dSmrg# Trace this macro to discover what tags are supported by the libtool
4201f010a93dSmrg# --tag option, using:
4202f010a93dSmrg#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
4203f010a93dSmrgAC_DEFUN([LT_SUPPORTED_TAG], [])
420415fb4814Smrg
420515fb4814Smrg
4206f010a93dSmrg# C support is built-in for now
4207f010a93dSmrgm4_define([_LT_LANG_C_enabled], [])
4208f010a93dSmrgm4_define([_LT_TAGS], [])
420915fb4814Smrg
421015fb4814Smrg
4211f010a93dSmrg# LT_LANG(LANG)
4212f010a93dSmrg# -------------
4213f010a93dSmrg# Enable libtool support for the given language if not already enabled.
4214f010a93dSmrgAC_DEFUN([LT_LANG],
4215f010a93dSmrg[AC_BEFORE([$0], [LT_OUTPUT])dnl
4216f010a93dSmrgm4_case([$1],
4217f010a93dSmrg  [C],			[_LT_LANG(C)],
4218f010a93dSmrg  [C++],		[_LT_LANG(CXX)],
4219f010a93dSmrg  [Go],			[_LT_LANG(GO)],
4220f010a93dSmrg  [Java],		[_LT_LANG(GCJ)],
4221f010a93dSmrg  [Fortran 77],		[_LT_LANG(F77)],
4222f010a93dSmrg  [Fortran],		[_LT_LANG(FC)],
4223f010a93dSmrg  [Windows Resource],	[_LT_LANG(RC)],
4224f010a93dSmrg  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
4225f010a93dSmrg    [_LT_LANG($1)],
4226f010a93dSmrg    [m4_fatal([$0: unsupported language: "$1"])])])dnl
4227f010a93dSmrg])# LT_LANG
422815fb4814Smrg
422915fb4814Smrg
4230f010a93dSmrg# _LT_LANG(LANGNAME)
4231f010a93dSmrg# ------------------
4232f010a93dSmrgm4_defun([_LT_LANG],
4233f010a93dSmrg[m4_ifdef([_LT_LANG_]$1[_enabled], [],
4234f010a93dSmrg  [LT_SUPPORTED_TAG([$1])dnl
4235f010a93dSmrg  m4_append([_LT_TAGS], [$1 ])dnl
4236f010a93dSmrg  m4_define([_LT_LANG_]$1[_enabled], [])dnl
4237f010a93dSmrg  _LT_LANG_$1_CONFIG($1)])dnl
4238f010a93dSmrg])# _LT_LANG
423915fb4814Smrg
424015fb4814Smrg
4241f010a93dSmrgm4_ifndef([AC_PROG_GO], [
4242f010a93dSmrg# NOTE: This macro has been submitted for inclusion into   #
4243f010a93dSmrg#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
4244f010a93dSmrg#  a released version of Autoconf we should remove this    #
4245f010a93dSmrg#  macro and use it instead.                               #
4246f010a93dSmrgm4_defun([AC_PROG_GO],
4247f010a93dSmrg[AC_LANG_PUSH(Go)dnl
4248f010a93dSmrgAC_ARG_VAR([GOC],     [Go compiler command])dnl
4249f010a93dSmrgAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
4250f010a93dSmrg_AC_ARG_VAR_LDFLAGS()dnl
4251f010a93dSmrgAC_CHECK_TOOL(GOC, gccgo)
4252f010a93dSmrgif test -z "$GOC"; then
4253f010a93dSmrg  if test -n "$ac_tool_prefix"; then
4254f010a93dSmrg    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
4255f010a93dSmrg  fi
4256f010a93dSmrgfi
4257f010a93dSmrgif test -z "$GOC"; then
4258f010a93dSmrg  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
4259f010a93dSmrgfi
4260f010a93dSmrg])#m4_defun
4261f010a93dSmrg])#m4_ifndef
426215fb4814Smrg
426315fb4814Smrg
4264f010a93dSmrg# _LT_LANG_DEFAULT_CONFIG
4265f010a93dSmrg# -----------------------
4266f010a93dSmrgm4_defun([_LT_LANG_DEFAULT_CONFIG],
4267f010a93dSmrg[AC_PROVIDE_IFELSE([AC_PROG_CXX],
4268f010a93dSmrg  [LT_LANG(CXX)],
4269f010a93dSmrg  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
427015fb4814Smrg
4271f010a93dSmrgAC_PROVIDE_IFELSE([AC_PROG_F77],
4272f010a93dSmrg  [LT_LANG(F77)],
4273f010a93dSmrg  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
427415fb4814Smrg
4275f010a93dSmrgAC_PROVIDE_IFELSE([AC_PROG_FC],
4276f010a93dSmrg  [LT_LANG(FC)],
4277f010a93dSmrg  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
4278b4d38c65Smrg
4279f010a93dSmrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
4280f010a93dSmrgdnl pulling things in needlessly.
4281f010a93dSmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ],
4282f010a93dSmrg  [LT_LANG(GCJ)],
4283f010a93dSmrg  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
4284f010a93dSmrg    [LT_LANG(GCJ)],
4285f010a93dSmrg    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
4286f010a93dSmrg      [LT_LANG(GCJ)],
4287f010a93dSmrg      [m4_ifdef([AC_PROG_GCJ],
4288f010a93dSmrg	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
4289f010a93dSmrg       m4_ifdef([A][M_PROG_GCJ],
4290f010a93dSmrg	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
4291f010a93dSmrg       m4_ifdef([LT_PROG_GCJ],
4292f010a93dSmrg	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
429315fb4814Smrg
4294f010a93dSmrgAC_PROVIDE_IFELSE([AC_PROG_GO],
4295f010a93dSmrg  [LT_LANG(GO)],
4296f010a93dSmrg  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
429783cab373Smrg
4298f010a93dSmrgAC_PROVIDE_IFELSE([LT_PROG_RC],
4299f010a93dSmrg  [LT_LANG(RC)],
4300f010a93dSmrg  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
4301f010a93dSmrg])# _LT_LANG_DEFAULT_CONFIG
430215fb4814Smrg
4303f010a93dSmrg# Obsolete macros:
4304f010a93dSmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
4305f010a93dSmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
4306f010a93dSmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
4307f010a93dSmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
4308f010a93dSmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
4309f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
4310f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
4311f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_F77], [])
4312f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_FC], [])
4313f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
4314f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_RC], [])
4315b534f209Smrg
431615fb4814Smrg
4317f010a93dSmrg# _LT_TAG_COMPILER
4318f010a93dSmrg# ----------------
4319f010a93dSmrgm4_defun([_LT_TAG_COMPILER],
4320f010a93dSmrg[AC_REQUIRE([AC_PROG_CC])dnl
432115fb4814Smrg
4322f010a93dSmrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
4323f010a93dSmrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
4324f010a93dSmrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
4325f010a93dSmrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
432615fb4814Smrg
4327f010a93dSmrg# If no C compiler was specified, use CC.
4328f010a93dSmrgLTCC=${LTCC-"$CC"}
432915fb4814Smrg
4330f010a93dSmrg# If no C compiler flags were specified, use CFLAGS.
4331f010a93dSmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
433215fb4814Smrg
4333f010a93dSmrg# Allow CC to be a program name with arguments.
4334f010a93dSmrgcompiler=$CC
4335f010a93dSmrg])# _LT_TAG_COMPILER
433615fb4814Smrg
433715fb4814Smrg
4338f010a93dSmrg# _LT_COMPILER_BOILERPLATE
4339f010a93dSmrg# ------------------------
4340f010a93dSmrg# Check for compiler boilerplate output or warnings with
4341f010a93dSmrg# the simple compiler test code.
4342f010a93dSmrgm4_defun([_LT_COMPILER_BOILERPLATE],
4343f010a93dSmrg[m4_require([_LT_DECL_SED])dnl
4344f010a93dSmrgac_outfile=conftest.$ac_objext
4345f010a93dSmrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext
4346f010a93dSmrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
4347f010a93dSmrg_lt_compiler_boilerplate=`cat conftest.err`
4348f010a93dSmrg$RM conftest*
4349f010a93dSmrg])# _LT_COMPILER_BOILERPLATE
435015fb4814Smrg
435115fb4814Smrg
4352f010a93dSmrg# _LT_LINKER_BOILERPLATE
4353f010a93dSmrg# ----------------------
4354f010a93dSmrg# Check for linker boilerplate output or warnings with
4355f010a93dSmrg# the simple link test code.
4356f010a93dSmrgm4_defun([_LT_LINKER_BOILERPLATE],
4357f010a93dSmrg[m4_require([_LT_DECL_SED])dnl
4358f010a93dSmrgac_outfile=conftest.$ac_objext
4359f010a93dSmrgecho "$lt_simple_link_test_code" >conftest.$ac_ext
4360f010a93dSmrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
4361f010a93dSmrg_lt_linker_boilerplate=`cat conftest.err`
4362f010a93dSmrg$RM -r conftest*
4363f010a93dSmrg])# _LT_LINKER_BOILERPLATE
436415fb4814Smrg
4365f010a93dSmrg# _LT_REQUIRED_DARWIN_CHECKS
4366f010a93dSmrg# -------------------------
4367f010a93dSmrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
4368f010a93dSmrg  case $host_os in
4369f010a93dSmrg    rhapsody* | darwin*)
4370f010a93dSmrg    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
4371f010a93dSmrg    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
4372f010a93dSmrg    AC_CHECK_TOOL([LIPO], [lipo], [:])
4373f010a93dSmrg    AC_CHECK_TOOL([OTOOL], [otool], [:])
4374f010a93dSmrg    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
4375f010a93dSmrg    _LT_DECL([], [DSYMUTIL], [1],
4376f010a93dSmrg      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
4377f010a93dSmrg    _LT_DECL([], [NMEDIT], [1],
4378f010a93dSmrg      [Tool to change global to local symbols on Mac OS X])
4379f010a93dSmrg    _LT_DECL([], [LIPO], [1],
4380f010a93dSmrg      [Tool to manipulate fat objects and archives on Mac OS X])
4381f010a93dSmrg    _LT_DECL([], [OTOOL], [1],
4382f010a93dSmrg      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
4383f010a93dSmrg    _LT_DECL([], [OTOOL64], [1],
4384f010a93dSmrg      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
4385b4d38c65Smrg
4386f010a93dSmrg    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
4387f010a93dSmrg      [lt_cv_apple_cc_single_mod=no
4388f010a93dSmrg      if test -z "$LT_MULTI_MODULE"; then
4389f010a93dSmrg	# By default we will add the -single_module flag. You can override
4390f010a93dSmrg	# by either setting the environment variable LT_MULTI_MODULE
4391f010a93dSmrg	# non-empty at configure time, or by adding -multi_module to the
4392f010a93dSmrg	# link flags.
4393f010a93dSmrg	rm -rf libconftest.dylib*
4394f010a93dSmrg	echo "int foo(void){return 1;}" > conftest.c
4395f010a93dSmrg	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
4396f010a93dSmrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
4397f010a93dSmrg	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
4398f010a93dSmrg	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
4399f010a93dSmrg        _lt_result=$?
4400f010a93dSmrg	# If there is a non-empty error log, and "single_module"
4401f010a93dSmrg	# appears in it, assume the flag caused a linker warning
4402f010a93dSmrg        if test -s conftest.err && $GREP single_module conftest.err; then
4403f010a93dSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
4404f010a93dSmrg	# Otherwise, if the output was created with a 0 exit code from
4405f010a93dSmrg	# the compiler, it worked.
4406f010a93dSmrg	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
4407f010a93dSmrg	  lt_cv_apple_cc_single_mod=yes
4408b4d38c65Smrg	else
4409f010a93dSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
4410f010a93dSmrg	fi
4411f010a93dSmrg	rm -rf libconftest.dylib*
4412f010a93dSmrg	rm -f conftest.*
4413f010a93dSmrg      fi])
4414f010a93dSmrg
4415f010a93dSmrg    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
4416f010a93dSmrg      [lt_cv_ld_exported_symbols_list],
4417f010a93dSmrg      [lt_cv_ld_exported_symbols_list=no
4418f010a93dSmrg      save_LDFLAGS=$LDFLAGS
4419f010a93dSmrg      echo "_main" > conftest.sym
4420f010a93dSmrg      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
4421f010a93dSmrg      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
4422f010a93dSmrg	[lt_cv_ld_exported_symbols_list=yes],
4423f010a93dSmrg	[lt_cv_ld_exported_symbols_list=no])
4424f010a93dSmrg	LDFLAGS=$save_LDFLAGS
4425f010a93dSmrg    ])
4426f010a93dSmrg
4427f010a93dSmrg    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
4428f010a93dSmrg      [lt_cv_ld_force_load=no
4429f010a93dSmrg      cat > conftest.c << _LT_EOF
4430f010a93dSmrgint forced_loaded() { return 2;}
4431f010a93dSmrg_LT_EOF
4432f010a93dSmrg      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
4433f010a93dSmrg      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
4434f010a93dSmrg      echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
4435f010a93dSmrg      $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
4436f010a93dSmrg      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
4437f010a93dSmrg      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
4438f010a93dSmrg      cat > conftest.c << _LT_EOF
4439f010a93dSmrgint main() { return 0;}
4440f010a93dSmrg_LT_EOF
4441f010a93dSmrg      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
4442f010a93dSmrg      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
4443f010a93dSmrg      _lt_result=$?
4444f010a93dSmrg      if test -s conftest.err && $GREP force_load conftest.err; then
4445f010a93dSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
4446f010a93dSmrg      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
4447f010a93dSmrg	lt_cv_ld_force_load=yes
4448b4d38c65Smrg      else
4449f010a93dSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
4450b4d38c65Smrg      fi
4451f010a93dSmrg        rm -f conftest.err libconftest.a conftest conftest.c
4452f010a93dSmrg        rm -rf conftest.dSYM
4453f010a93dSmrg    ])
4454f010a93dSmrg    case $host_os in
4455f010a93dSmrg    rhapsody* | darwin1.[[012]])
4456f010a93dSmrg      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
4457f010a93dSmrg    darwin1.*)
4458f010a93dSmrg      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
4459f010a93dSmrg    darwin*)
4460f010a93dSmrg      case $MACOSX_DEPLOYMENT_TARGET,$host in
4461f010a93dSmrg        10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
4462f010a93dSmrg          _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
4463f010a93dSmrg        *)
4464f010a93dSmrg          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
4465f010a93dSmrg      esac
4466f010a93dSmrg    ;;
4467f010a93dSmrg  esac
4468f010a93dSmrg    if test yes = "$lt_cv_apple_cc_single_mod"; then
4469f010a93dSmrg      _lt_dar_single_mod='$single_module'
4470f010a93dSmrg    fi
4471f010a93dSmrg    if test yes = "$lt_cv_ld_exported_symbols_list"; then
4472f010a93dSmrg      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
4473f010a93dSmrg    else
4474f010a93dSmrg      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
4475f010a93dSmrg    fi
4476f010a93dSmrg    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
4477f010a93dSmrg      _lt_dsymutil='~$DSYMUTIL $lib || :'
4478f010a93dSmrg    else
4479f010a93dSmrg      _lt_dsymutil=
4480f010a93dSmrg    fi
4481f010a93dSmrg    ;;
4482f010a93dSmrg  esac
4483f010a93dSmrg])
448415fb4814Smrg
448515fb4814Smrg
4486f010a93dSmrg# _LT_DARWIN_LINKER_FEATURES([TAG])
4487f010a93dSmrg# ---------------------------------
4488f010a93dSmrg# Checks for linker and compiler features on darwin
4489f010a93dSmrgm4_defun([_LT_DARWIN_LINKER_FEATURES],
4490f010a93dSmrg[
4491f010a93dSmrg  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
4492f010a93dSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
4493f010a93dSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
4494f010a93dSmrg  _LT_TAGVAR(hardcode_automatic, $1)=yes
4495f010a93dSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4496f010a93dSmrg  if test yes = "$lt_cv_ld_force_load"; then
4497f010a93dSmrg    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
4498f010a93dSmrg    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
4499f010a93dSmrg                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
4500f010a93dSmrg  else
4501f010a93dSmrg    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
4502f010a93dSmrg  fi
4503f010a93dSmrg  _LT_TAGVAR(link_all_deplibs, $1)=yes
4504f010a93dSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
4505f010a93dSmrg  case $cc_basename in
4506f010a93dSmrg     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
4507f010a93dSmrg     *) _lt_dar_can_shared=$GCC ;;
4508f010a93dSmrg  esac
4509f010a93dSmrg  if test yes = "$_lt_dar_can_shared"; then
4510f010a93dSmrg    output_verbose_link_cmd=func_echo_all
4511f010a93dSmrg    _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"
4512f010a93dSmrg    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
4513f010a93dSmrg    _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"
4514f010a93dSmrg    _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"
4515f010a93dSmrg    m4_if([$1], [CXX],
4516f010a93dSmrg[   if test yes != "$lt_cv_apple_cc_single_mod"; then
4517f010a93dSmrg      _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"
4518f010a93dSmrg      _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"
4519f010a93dSmrg    fi
4520f010a93dSmrg],[])
4521f010a93dSmrg  else
4522f010a93dSmrg  _LT_TAGVAR(ld_shlibs, $1)=no
4523f010a93dSmrg  fi
4524f010a93dSmrg])
452515fb4814Smrg
4526f010a93dSmrg# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
4527f010a93dSmrg# ----------------------------------
4528f010a93dSmrg# Links a minimal program and checks the executable
4529f010a93dSmrg# for the system default hardcoded library path. In most cases,
4530f010a93dSmrg# this is /usr/lib:/lib, but when the MPI compilers are used
4531f010a93dSmrg# the location of the communication and MPI libs are included too.
4532f010a93dSmrg# If we don't find anything, use the default library path according
4533f010a93dSmrg# to the aix ld manual.
4534f010a93dSmrg# Store the results from the different compilers for each TAGNAME.
4535f010a93dSmrg# Allow to override them for all tags through lt_cv_aix_libpath.
4536f010a93dSmrgm4_defun([_LT_SYS_MODULE_PATH_AIX],
4537f010a93dSmrg[m4_require([_LT_DECL_SED])dnl
4538f010a93dSmrgif test set = "${lt_cv_aix_libpath+set}"; then
4539f010a93dSmrg  aix_libpath=$lt_cv_aix_libpath
4540f010a93dSmrgelse
4541f010a93dSmrg  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
4542f010a93dSmrg  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
4543f010a93dSmrg  lt_aix_libpath_sed='[
4544f010a93dSmrg      /Import File Strings/,/^$/ {
4545f010a93dSmrg	  /^0/ {
4546f010a93dSmrg	      s/^0  *\([^ ]*\) *$/\1/
4547f010a93dSmrg	      p
4548f010a93dSmrg	  }
4549f010a93dSmrg      }]'
4550f010a93dSmrg  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
4551f010a93dSmrg  # Check for a 64-bit object if we didn't find anything.
4552f010a93dSmrg  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
4553f010a93dSmrg    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
4554f010a93dSmrg  fi],[])
4555f010a93dSmrg  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
4556f010a93dSmrg    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
4557f010a93dSmrg  fi
4558f010a93dSmrg  ])
4559f010a93dSmrg  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
4560f010a93dSmrgfi
4561f010a93dSmrg])# _LT_SYS_MODULE_PATH_AIX
456215fb4814Smrg
456315fb4814Smrg
4564f010a93dSmrg# _LT_SHELL_INIT(ARG)
4565f010a93dSmrg# -------------------
4566f010a93dSmrgm4_define([_LT_SHELL_INIT],
4567f010a93dSmrg[m4_divert_text([M4SH-INIT], [$1
4568f010a93dSmrg])])# _LT_SHELL_INIT
456915fb4814Smrg
457015fb4814Smrg
457115fb4814Smrg
4572f010a93dSmrg# _LT_PROG_ECHO_BACKSLASH
4573f010a93dSmrg# -----------------------
4574f010a93dSmrg# Find how we can fake an echo command that does not interpret backslash.
4575f010a93dSmrg# In particular, with Autoconf 2.60 or later we add some code to the start
4576f010a93dSmrg# of the generated configure script that will find a shell with a builtin
4577f010a93dSmrg# printf (that we can use as an echo command).
4578f010a93dSmrgm4_defun([_LT_PROG_ECHO_BACKSLASH],
4579f010a93dSmrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
4580f010a93dSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
4581f010a93dSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
458215fb4814Smrg
4583f010a93dSmrgAC_MSG_CHECKING([how to print strings])
4584f010a93dSmrg# Test print first, because it will be a builtin if present.
4585f010a93dSmrgif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
4586f010a93dSmrg   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
4587f010a93dSmrg  ECHO='print -r --'
4588f010a93dSmrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
4589f010a93dSmrg  ECHO='printf %s\n'
4590f010a93dSmrgelse
4591f010a93dSmrg  # Use this function as a fallback that always works.
4592f010a93dSmrg  func_fallback_echo ()
4593f010a93dSmrg  {
4594f010a93dSmrg    eval 'cat <<_LTECHO_EOF
4595f010a93dSmrg$[]1
4596f010a93dSmrg_LTECHO_EOF'
4597f010a93dSmrg  }
4598f010a93dSmrg  ECHO='func_fallback_echo'
4599f010a93dSmrgfi
460015fb4814Smrg
4601f010a93dSmrg# func_echo_all arg...
4602f010a93dSmrg# Invoke $ECHO with all args, space-separated.
4603f010a93dSmrgfunc_echo_all ()
4604f010a93dSmrg{
4605f010a93dSmrg    $ECHO "$*"
4606f010a93dSmrg}
460715fb4814Smrg
4608f010a93dSmrgcase $ECHO in
4609f010a93dSmrg  printf*) AC_MSG_RESULT([printf]) ;;
4610f010a93dSmrg  print*) AC_MSG_RESULT([print -r]) ;;
4611f010a93dSmrg  *) AC_MSG_RESULT([cat]) ;;
4612f010a93dSmrgesac
461315fb4814Smrg
4614f010a93dSmrgm4_ifdef([_AS_DETECT_SUGGESTED],
4615f010a93dSmrg[_AS_DETECT_SUGGESTED([
4616f010a93dSmrg  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
4617f010a93dSmrg    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
4618f010a93dSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
4619f010a93dSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
4620f010a93dSmrg    PATH=/empty FPATH=/empty; export PATH FPATH
4621f010a93dSmrg    test "X`printf %s $ECHO`" = "X$ECHO" \
4622f010a93dSmrg      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
462315fb4814Smrg
4624f010a93dSmrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
4625f010a93dSmrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
4626f010a93dSmrg])# _LT_PROG_ECHO_BACKSLASH
462715fb4814Smrg
462815fb4814Smrg
4629f010a93dSmrg# _LT_WITH_SYSROOT
4630f010a93dSmrg# ----------------
4631f010a93dSmrgAC_DEFUN([_LT_WITH_SYSROOT],
4632f010a93dSmrg[m4_require([_LT_DECL_SED])dnl
4633f010a93dSmrgAC_MSG_CHECKING([for sysroot])
4634f010a93dSmrgAC_ARG_WITH([sysroot],
4635f010a93dSmrg[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
4636f010a93dSmrg  [Search for dependent libraries within DIR (or the compiler's sysroot
4637f010a93dSmrg   if not specified).])],
4638f010a93dSmrg[], [with_sysroot=no])
463915fb4814Smrg
4640f010a93dSmrgdnl lt_sysroot will always be passed unquoted.  We quote it here
4641f010a93dSmrgdnl in case the user passed a directory name.
4642f010a93dSmrglt_sysroot=
4643f010a93dSmrgcase $with_sysroot in #(
4644f010a93dSmrg yes)
4645f010a93dSmrg   if test yes = "$GCC"; then
4646f010a93dSmrg     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
4647f010a93dSmrg   fi
4648f010a93dSmrg   ;; #(
4649f010a93dSmrg /*)
4650f010a93dSmrg   lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
4651f010a93dSmrg   ;; #(
4652f010a93dSmrg no|'')
4653f010a93dSmrg   ;; #(
4654f010a93dSmrg *)
4655f010a93dSmrg   AC_MSG_RESULT([$with_sysroot])
4656f010a93dSmrg   AC_MSG_ERROR([The sysroot must be an absolute path.])
4657f010a93dSmrg   ;;
4658f010a93dSmrgesac
465915fb4814Smrg
4660f010a93dSmrg AC_MSG_RESULT([${lt_sysroot:-no}])
4661f010a93dSmrg_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
4662f010a93dSmrg[dependent libraries, and where our libraries should be installed.])])
466315fb4814Smrg
4664f010a93dSmrg# _LT_ENABLE_LOCK
4665f010a93dSmrg# ---------------
4666f010a93dSmrgm4_defun([_LT_ENABLE_LOCK],
4667f010a93dSmrg[AC_ARG_ENABLE([libtool-lock],
4668f010a93dSmrg  [AS_HELP_STRING([--disable-libtool-lock],
4669f010a93dSmrg    [avoid locking (might break parallel builds)])])
4670f010a93dSmrgtest no = "$enable_libtool_lock" || enable_libtool_lock=yes
467115fb4814Smrg
4672f010a93dSmrg# Some flags need to be propagated to the compiler or linker for good
4673f010a93dSmrg# libtool support.
4674f010a93dSmrgcase $host in
4675f010a93dSmrgia64-*-hpux*)
4676f010a93dSmrg  # Find out what ABI is being produced by ac_compile, and set mode
4677f010a93dSmrg  # options accordingly.
4678f010a93dSmrg  echo 'int i;' > conftest.$ac_ext
4679f010a93dSmrg  if AC_TRY_EVAL(ac_compile); then
4680f010a93dSmrg    case `$FILECMD conftest.$ac_objext` in
4681f010a93dSmrg      *ELF-32*)
4682f010a93dSmrg	HPUX_IA64_MODE=32
4683f010a93dSmrg	;;
4684f010a93dSmrg      *ELF-64*)
4685f010a93dSmrg	HPUX_IA64_MODE=64
4686f010a93dSmrg	;;
4687f010a93dSmrg    esac
4688f010a93dSmrg  fi
4689f010a93dSmrg  rm -rf conftest*
4690f010a93dSmrg  ;;
4691f010a93dSmrg*-*-irix6*)
4692f010a93dSmrg  # Find out what ABI is being produced by ac_compile, and set linker
4693f010a93dSmrg  # options accordingly.
4694f010a93dSmrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
4695f010a93dSmrg  if AC_TRY_EVAL(ac_compile); then
4696f010a93dSmrg    if test yes = "$lt_cv_prog_gnu_ld"; then
4697f010a93dSmrg      case `$FILECMD conftest.$ac_objext` in
4698f010a93dSmrg	*32-bit*)
4699f010a93dSmrg	  LD="${LD-ld} -melf32bsmip"
4700b4d38c65Smrg	  ;;
4701f010a93dSmrg	*N32*)
4702f010a93dSmrg	  LD="${LD-ld} -melf32bmipn32"
4703f010a93dSmrg	  ;;
4704f010a93dSmrg	*64-bit*)
4705f010a93dSmrg	  LD="${LD-ld} -melf64bmip"
4706f010a93dSmrg	;;
4707f010a93dSmrg      esac
4708f010a93dSmrg    else
4709f010a93dSmrg      case `$FILECMD conftest.$ac_objext` in
4710f010a93dSmrg	*32-bit*)
4711f010a93dSmrg	  LD="${LD-ld} -32"
4712f010a93dSmrg	  ;;
4713f010a93dSmrg	*N32*)
4714f010a93dSmrg	  LD="${LD-ld} -n32"
4715f010a93dSmrg	  ;;
4716f010a93dSmrg	*64-bit*)
4717f010a93dSmrg	  LD="${LD-ld} -64"
4718f010a93dSmrg	  ;;
4719f010a93dSmrg      esac
4720f010a93dSmrg    fi
4721f010a93dSmrg  fi
4722f010a93dSmrg  rm -rf conftest*
4723f010a93dSmrg  ;;
472415fb4814Smrg
4725f010a93dSmrgmips64*-*linux*)
4726f010a93dSmrg  # Find out what ABI is being produced by ac_compile, and set linker
4727f010a93dSmrg  # options accordingly.
4728f010a93dSmrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
4729f010a93dSmrg  if AC_TRY_EVAL(ac_compile); then
4730f010a93dSmrg    emul=elf
4731f010a93dSmrg    case `$FILECMD conftest.$ac_objext` in
4732f010a93dSmrg      *32-bit*)
4733f010a93dSmrg	emul="${emul}32"
4734f010a93dSmrg	;;
4735f010a93dSmrg      *64-bit*)
4736f010a93dSmrg	emul="${emul}64"
4737f010a93dSmrg	;;
4738f010a93dSmrg    esac
4739f010a93dSmrg    case `$FILECMD conftest.$ac_objext` in
4740f010a93dSmrg      *MSB*)
4741f010a93dSmrg	emul="${emul}btsmip"
4742f010a93dSmrg	;;
4743f010a93dSmrg      *LSB*)
4744f010a93dSmrg	emul="${emul}ltsmip"
4745f010a93dSmrg	;;
4746f010a93dSmrg    esac
4747f010a93dSmrg    case `$FILECMD conftest.$ac_objext` in
4748f010a93dSmrg      *N32*)
4749f010a93dSmrg	emul="${emul}n32"
4750f010a93dSmrg	;;
4751f010a93dSmrg    esac
4752f010a93dSmrg    LD="${LD-ld} -m $emul"
4753f010a93dSmrg  fi
4754f010a93dSmrg  rm -rf conftest*
4755f010a93dSmrg  ;;
475615fb4814Smrg
4757f010a93dSmrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
4758f010a93dSmrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
4759f010a93dSmrg  # Find out what ABI is being produced by ac_compile, and set linker
4760f010a93dSmrg  # options accordingly.  Note that the listed cases only cover the
4761f010a93dSmrg  # situations where additional linker options are needed (such as when
4762f010a93dSmrg  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
4763f010a93dSmrg  # vice versa); the common cases where no linker options are needed do
4764f010a93dSmrg  # not appear in the list.
4765f010a93dSmrg  echo 'int i;' > conftest.$ac_ext
4766f010a93dSmrg  if AC_TRY_EVAL(ac_compile); then
4767f010a93dSmrg    case `$FILECMD conftest.o` in
4768f010a93dSmrg      *32-bit*)
4769f010a93dSmrg	case $host in
4770f010a93dSmrg	  x86_64-*kfreebsd*-gnu)
4771f010a93dSmrg	    LD="${LD-ld} -m elf_i386_fbsd"
4772f010a93dSmrg	    ;;
4773f010a93dSmrg	  x86_64-*linux*)
4774f010a93dSmrg	    case `$FILECMD conftest.o` in
4775f010a93dSmrg	      *x86-64*)
4776f010a93dSmrg		LD="${LD-ld} -m elf32_x86_64"
4777f010a93dSmrg		;;
4778f010a93dSmrg	      *)
4779f010a93dSmrg		LD="${LD-ld} -m elf_i386"
4780f010a93dSmrg		;;
4781f010a93dSmrg	    esac
4782f010a93dSmrg	    ;;
4783f010a93dSmrg	  powerpc64le-*linux*)
4784f010a93dSmrg	    LD="${LD-ld} -m elf32lppclinux"
4785f010a93dSmrg	    ;;
4786f010a93dSmrg	  powerpc64-*linux*)
4787f010a93dSmrg	    LD="${LD-ld} -m elf32ppclinux"
4788f010a93dSmrg	    ;;
4789f010a93dSmrg	  s390x-*linux*)
4790f010a93dSmrg	    LD="${LD-ld} -m elf_s390"
4791f010a93dSmrg	    ;;
4792f010a93dSmrg	  sparc64-*linux*)
4793f010a93dSmrg	    LD="${LD-ld} -m elf32_sparc"
4794f010a93dSmrg	    ;;
4795f010a93dSmrg	esac
4796f010a93dSmrg	;;
4797f010a93dSmrg      *64-bit*)
4798f010a93dSmrg	case $host in
4799f010a93dSmrg	  x86_64-*kfreebsd*-gnu)
4800f010a93dSmrg	    LD="${LD-ld} -m elf_x86_64_fbsd"
4801f010a93dSmrg	    ;;
4802f010a93dSmrg	  x86_64-*linux*)
4803f010a93dSmrg	    LD="${LD-ld} -m elf_x86_64"
4804f010a93dSmrg	    ;;
4805f010a93dSmrg	  powerpcle-*linux*)
4806f010a93dSmrg	    LD="${LD-ld} -m elf64lppc"
4807f010a93dSmrg	    ;;
4808f010a93dSmrg	  powerpc-*linux*)
4809f010a93dSmrg	    LD="${LD-ld} -m elf64ppc"
4810f010a93dSmrg	    ;;
4811f010a93dSmrg	  s390*-*linux*|s390*-*tpf*)
4812f010a93dSmrg	    LD="${LD-ld} -m elf64_s390"
4813f010a93dSmrg	    ;;
4814f010a93dSmrg	  sparc*-*linux*)
4815f010a93dSmrg	    LD="${LD-ld} -m elf64_sparc"
4816f010a93dSmrg	    ;;
4817f010a93dSmrg	esac
4818f010a93dSmrg	;;
4819f010a93dSmrg    esac
4820f010a93dSmrg  fi
4821f010a93dSmrg  rm -rf conftest*
4822f010a93dSmrg  ;;
4823f010a93dSmrg
4824f010a93dSmrg*-*-sco3.2v5*)
4825f010a93dSmrg  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
4826f010a93dSmrg  SAVE_CFLAGS=$CFLAGS
4827f010a93dSmrg  CFLAGS="$CFLAGS -belf"
4828f010a93dSmrg  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
4829f010a93dSmrg    [AC_LANG_PUSH(C)
4830f010a93dSmrg     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
4831f010a93dSmrg     AC_LANG_POP])
4832f010a93dSmrg  if test yes != "$lt_cv_cc_needs_belf"; then
4833f010a93dSmrg    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
4834f010a93dSmrg    CFLAGS=$SAVE_CFLAGS
4835f010a93dSmrg  fi
4836f010a93dSmrg  ;;
4837f010a93dSmrg*-*solaris*)
4838f010a93dSmrg  # Find out what ABI is being produced by ac_compile, and set linker
4839f010a93dSmrg  # options accordingly.
4840f010a93dSmrg  echo 'int i;' > conftest.$ac_ext
4841f010a93dSmrg  if AC_TRY_EVAL(ac_compile); then
4842f010a93dSmrg    case `$FILECMD conftest.o` in
4843f010a93dSmrg    *64-bit*)
4844f010a93dSmrg      case $lt_cv_prog_gnu_ld in
4845f010a93dSmrg      yes*)
4846f010a93dSmrg        case $host in
4847f010a93dSmrg        i?86-*-solaris*|x86_64-*-solaris*)
4848f010a93dSmrg          LD="${LD-ld} -m elf_x86_64"
4849f010a93dSmrg          ;;
4850f010a93dSmrg        sparc*-*-solaris*)
4851f010a93dSmrg          LD="${LD-ld} -m elf64_sparc"
4852f010a93dSmrg          ;;
4853f010a93dSmrg        esac
4854f010a93dSmrg        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
4855f010a93dSmrg        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
4856f010a93dSmrg          LD=${LD-ld}_sol2
4857f010a93dSmrg        fi
4858b4d38c65Smrg        ;;
4859f010a93dSmrg      *)
4860f010a93dSmrg	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
4861f010a93dSmrg	  LD="${LD-ld} -64"
4862f010a93dSmrg	fi
4863f010a93dSmrg	;;
4864b4d38c65Smrg      esac
4865b4d38c65Smrg      ;;
4866f010a93dSmrg    esac
4867f010a93dSmrg  fi
4868f010a93dSmrg  rm -rf conftest*
4869f010a93dSmrg  ;;
4870f010a93dSmrgesac
487115fb4814Smrg
4872f010a93dSmrgneed_locks=$enable_libtool_lock
4873f010a93dSmrg])# _LT_ENABLE_LOCK
487415fb4814Smrg
487515fb4814Smrg
4876f010a93dSmrg# _LT_PROG_AR
4877f010a93dSmrg# -----------
4878f010a93dSmrgm4_defun([_LT_PROG_AR],
4879f010a93dSmrg[AC_CHECK_TOOLS(AR, [ar], false)
4880f010a93dSmrg: ${AR=ar}
4881f010a93dSmrg_LT_DECL([], [AR], [1], [The archiver])
488215fb4814Smrg
4883f010a93dSmrg# Use ARFLAGS variable as AR's operation code to sync the variable naming with
4884f010a93dSmrg# Automake.  If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
4885f010a93dSmrg# higher priority because thats what people were doing historically (setting
4886f010a93dSmrg# ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
4887f010a93dSmrg# variable obsoleted/removed.
488815fb4814Smrg
4889f010a93dSmrgtest ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
4890f010a93dSmrglt_ar_flags=$AR_FLAGS
4891f010a93dSmrg_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
4892b410ddbeSmrg
4893f010a93dSmrg# Make AR_FLAGS overridable by 'make ARFLAGS='.  Don't try to run-time override
4894f010a93dSmrg# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
4895f010a93dSmrg_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
4896f010a93dSmrg         [Flags to create an archive])
489715fb4814Smrg
4898f010a93dSmrgAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
4899f010a93dSmrg  [lt_cv_ar_at_file=no
4900f010a93dSmrg   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
4901f010a93dSmrg     [echo conftest.$ac_objext > conftest.lst
4902f010a93dSmrg      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
4903f010a93dSmrg      AC_TRY_EVAL([lt_ar_try])
4904f010a93dSmrg      if test 0 -eq "$ac_status"; then
4905f010a93dSmrg	# Ensure the archiver fails upon bogus file names.
4906f010a93dSmrg	rm -f conftest.$ac_objext libconftest.a
4907f010a93dSmrg	AC_TRY_EVAL([lt_ar_try])
4908f010a93dSmrg	if test 0 -ne "$ac_status"; then
4909f010a93dSmrg          lt_cv_ar_at_file=@
4910f010a93dSmrg        fi
4911b4d38c65Smrg      fi
4912f010a93dSmrg      rm -f conftest.* libconftest.a
4913f010a93dSmrg     ])
4914f010a93dSmrg  ])
491515fb4814Smrg
4916f010a93dSmrgif test no = "$lt_cv_ar_at_file"; then
4917f010a93dSmrg  archiver_list_spec=
4918f010a93dSmrgelse
4919f010a93dSmrg  archiver_list_spec=$lt_cv_ar_at_file
4920f010a93dSmrgfi
4921f010a93dSmrg_LT_DECL([], [archiver_list_spec], [1],
4922f010a93dSmrg  [How to feed a file listing to the archiver])
4923f010a93dSmrg])# _LT_PROG_AR
492415fb4814Smrg
492515fb4814Smrg
4926f010a93dSmrg# _LT_CMD_OLD_ARCHIVE
4927f010a93dSmrg# -------------------
4928f010a93dSmrgm4_defun([_LT_CMD_OLD_ARCHIVE],
4929f010a93dSmrg[_LT_PROG_AR
493015fb4814Smrg
4931f010a93dSmrgAC_CHECK_TOOL(STRIP, strip, :)
4932f010a93dSmrgtest -z "$STRIP" && STRIP=:
4933f010a93dSmrg_LT_DECL([], [STRIP], [1], [A symbol stripping program])
493415fb4814Smrg
4935f010a93dSmrgAC_CHECK_TOOL(RANLIB, ranlib, :)
4936f010a93dSmrgtest -z "$RANLIB" && RANLIB=:
4937f010a93dSmrg_LT_DECL([], [RANLIB], [1],
4938f010a93dSmrg    [Commands used to install an old-style archive])
493915fb4814Smrg
4940f010a93dSmrg# Determine commands to create old-style static archives.
4941f010a93dSmrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
4942f010a93dSmrgold_postinstall_cmds='chmod 644 $oldlib'
4943f010a93dSmrgold_postuninstall_cmds=
494415fb4814Smrg
4945f010a93dSmrgif test -n "$RANLIB"; then
4946f010a93dSmrg  case $host_os in
4947f010a93dSmrg  bitrig* | openbsd*)
4948f010a93dSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
4949f010a93dSmrg    ;;
4950f010a93dSmrg  *)
4951f010a93dSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
4952f010a93dSmrg    ;;
4953f010a93dSmrg  esac
4954f010a93dSmrg  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
4955f010a93dSmrgfi
495615fb4814Smrg
4957f010a93dSmrgcase $host_os in
4958f010a93dSmrg  darwin*)
4959f010a93dSmrg    lock_old_archive_extraction=yes ;;
4960f010a93dSmrg  *)
4961f010a93dSmrg    lock_old_archive_extraction=no ;;
4962f010a93dSmrgesac
4963f010a93dSmrg_LT_DECL([], [old_postinstall_cmds], [2])
4964f010a93dSmrg_LT_DECL([], [old_postuninstall_cmds], [2])
4965f010a93dSmrg_LT_TAGDECL([], [old_archive_cmds], [2],
4966f010a93dSmrg    [Commands used to build an old-style archive])
4967f010a93dSmrg_LT_DECL([], [lock_old_archive_extraction], [0],
4968f010a93dSmrg    [Whether to use a lock for old archive extraction])
4969f010a93dSmrg])# _LT_CMD_OLD_ARCHIVE
497015fb4814Smrg
497115fb4814Smrg
4972f010a93dSmrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
4973f010a93dSmrg#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
4974f010a93dSmrg# ----------------------------------------------------------------
4975f010a93dSmrg# Check whether the given compiler option works
4976f010a93dSmrgAC_DEFUN([_LT_COMPILER_OPTION],
4977f010a93dSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4978f010a93dSmrgm4_require([_LT_DECL_SED])dnl
4979f010a93dSmrgAC_CACHE_CHECK([$1], [$2],
4980f010a93dSmrg  [$2=no
4981f010a93dSmrg   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
4982f010a93dSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
4983f010a93dSmrg   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
4984f010a93dSmrg   # Insert the option either (1) after the last *FLAGS variable, or
4985f010a93dSmrg   # (2) before a word containing "conftest.", or (3) at the end.
4986f010a93dSmrg   # Note that $ac_compile itself does not contain backslashes and begins
4987f010a93dSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
4988f010a93dSmrg   # The option is referenced via a variable to avoid confusing sed.
4989f010a93dSmrg   lt_compile=`echo "$ac_compile" | $SED \
4990f010a93dSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
4991f010a93dSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
4992f010a93dSmrg   -e 's:$: $lt_compiler_flag:'`
4993f010a93dSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
4994f010a93dSmrg   (eval "$lt_compile" 2>conftest.err)
4995f010a93dSmrg   ac_status=$?
4996f010a93dSmrg   cat conftest.err >&AS_MESSAGE_LOG_FD
4997f010a93dSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
4998f010a93dSmrg   if (exit $ac_status) && test -s "$ac_outfile"; then
4999f010a93dSmrg     # The compiler can only warn and ignore the option if not recognized
5000f010a93dSmrg     # So say no if there are warnings other than the usual output.
5001f010a93dSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
5002f010a93dSmrg     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
5003f010a93dSmrg     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
5004f010a93dSmrg       $2=yes
5005f010a93dSmrg     fi
5006f010a93dSmrg   fi
5007f010a93dSmrg   $RM conftest*
5008f010a93dSmrg])
500915fb4814Smrg
5010f010a93dSmrgif test yes = "[$]$2"; then
5011f010a93dSmrg    m4_if([$5], , :, [$5])
5012f010a93dSmrgelse
5013f010a93dSmrg    m4_if([$6], , :, [$6])
5014f010a93dSmrgfi
5015f010a93dSmrg])# _LT_COMPILER_OPTION
501615fb4814Smrg
5017f010a93dSmrg# Old name:
5018f010a93dSmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
5019f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
5020f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
502115fb4814Smrg
502215fb4814Smrg
5023f010a93dSmrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
5024f010a93dSmrg#                  [ACTION-SUCCESS], [ACTION-FAILURE])
5025f010a93dSmrg# ----------------------------------------------------
5026f010a93dSmrg# Check whether the given linker option works
5027f010a93dSmrgAC_DEFUN([_LT_LINKER_OPTION],
5028f010a93dSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5029f010a93dSmrgm4_require([_LT_DECL_SED])dnl
5030f010a93dSmrgAC_CACHE_CHECK([$1], [$2],
5031f010a93dSmrg  [$2=no
5032f010a93dSmrg   save_LDFLAGS=$LDFLAGS
5033f010a93dSmrg   LDFLAGS="$LDFLAGS $3"
5034f010a93dSmrg   echo "$lt_simple_link_test_code" > conftest.$ac_ext
5035f010a93dSmrg   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
5036f010a93dSmrg     # The linker can only warn and ignore the option if not recognized
5037f010a93dSmrg     # So say no if there are warnings
5038f010a93dSmrg     if test -s conftest.err; then
5039f010a93dSmrg       # Append any errors to the config.log.
5040f010a93dSmrg       cat conftest.err 1>&AS_MESSAGE_LOG_FD
5041f010a93dSmrg       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
5042f010a93dSmrg       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
5043f010a93dSmrg       if diff conftest.exp conftest.er2 >/dev/null; then
5044f010a93dSmrg         $2=yes
5045f010a93dSmrg       fi
5046f010a93dSmrg     else
5047f010a93dSmrg       $2=yes
5048f010a93dSmrg     fi
5049f010a93dSmrg   fi
5050f010a93dSmrg   $RM -r conftest*
5051f010a93dSmrg   LDFLAGS=$save_LDFLAGS
5052f010a93dSmrg])
505315fb4814Smrg
5054f010a93dSmrgif test yes = "[$]$2"; then
5055f010a93dSmrg    m4_if([$4], , :, [$4])
5056f010a93dSmrgelse
5057f010a93dSmrg    m4_if([$5], , :, [$5])
5058f010a93dSmrgfi
5059f010a93dSmrg])# _LT_LINKER_OPTION
506015fb4814Smrg
5061f010a93dSmrg# Old name:
5062f010a93dSmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
5063f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
5064f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
506515fb4814Smrg
506615fb4814Smrg
5067f010a93dSmrg# LT_CMD_MAX_LEN
5068f010a93dSmrg#---------------
5069f010a93dSmrgAC_DEFUN([LT_CMD_MAX_LEN],
5070f010a93dSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
5071f010a93dSmrg# find the maximum length of command line arguments
5072f010a93dSmrgAC_MSG_CHECKING([the maximum length of command line arguments])
5073f010a93dSmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
5074f010a93dSmrg  i=0
5075f010a93dSmrg  teststring=ABCD
507615fb4814Smrg
5077f010a93dSmrg  case $build_os in
5078f010a93dSmrg  msdosdjgpp*)
5079f010a93dSmrg    # On DJGPP, this test can blow up pretty badly due to problems in libc
5080f010a93dSmrg    # (any single argument exceeding 2000 bytes causes a buffer overrun
5081f010a93dSmrg    # during glob expansion).  Even if it were fixed, the result of this
5082f010a93dSmrg    # check would be larger than it should be.
5083f010a93dSmrg    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
5084f010a93dSmrg    ;;
508515fb4814Smrg
5086f010a93dSmrg  gnu*)
5087f010a93dSmrg    # Under GNU Hurd, this test is not required because there is
5088f010a93dSmrg    # no limit to the length of command line arguments.
5089f010a93dSmrg    # Libtool will interpret -1 as no limit whatsoever
5090f010a93dSmrg    lt_cv_sys_max_cmd_len=-1;
5091f010a93dSmrg    ;;
509215fb4814Smrg
5093f010a93dSmrg  cygwin* | mingw* | cegcc*)
5094f010a93dSmrg    # On Win9x/ME, this test blows up -- it succeeds, but takes
5095f010a93dSmrg    # about 5 minutes as the teststring grows exponentially.
5096f010a93dSmrg    # Worse, since 9x/ME are not pre-emptively multitasking,
5097f010a93dSmrg    # you end up with a "frozen" computer, even though with patience
5098f010a93dSmrg    # the test eventually succeeds (with a max line length of 256k).
5099f010a93dSmrg    # Instead, let's just punt: use the minimum linelength reported by
5100f010a93dSmrg    # all of the supported platforms: 8192 (on NT/2K/XP).
5101f010a93dSmrg    lt_cv_sys_max_cmd_len=8192;
5102f010a93dSmrg    ;;
510315fb4814Smrg
5104f010a93dSmrg  mint*)
5105f010a93dSmrg    # On MiNT this can take a long time and run out of memory.
5106f010a93dSmrg    lt_cv_sys_max_cmd_len=8192;
5107f010a93dSmrg    ;;
510815fb4814Smrg
5109f010a93dSmrg  amigaos*)
5110f010a93dSmrg    # On AmigaOS with pdksh, this test takes hours, literally.
5111f010a93dSmrg    # So we just punt and use a minimum line length of 8192.
5112f010a93dSmrg    lt_cv_sys_max_cmd_len=8192;
5113f010a93dSmrg    ;;
511415fb4814Smrg
5115f010a93dSmrg  bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
5116f010a93dSmrg    # This has been around since 386BSD, at least.  Likely further.
5117f010a93dSmrg    if test -x /sbin/sysctl; then
5118f010a93dSmrg      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
5119f010a93dSmrg    elif test -x /usr/sbin/sysctl; then
5120f010a93dSmrg      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
5121f010a93dSmrg    else
5122f010a93dSmrg      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
5123b4d38c65Smrg    fi
5124f010a93dSmrg    # And add a safety zone
5125f010a93dSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5126f010a93dSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5127f010a93dSmrg    ;;
512815fb4814Smrg
5129f010a93dSmrg  interix*)
5130f010a93dSmrg    # We know the value 262144 and hardcode it with a safety zone (like BSD)
5131f010a93dSmrg    lt_cv_sys_max_cmd_len=196608
5132f010a93dSmrg    ;;
513315fb4814Smrg
5134f010a93dSmrg  os2*)
5135f010a93dSmrg    # The test takes a long time on OS/2.
5136f010a93dSmrg    lt_cv_sys_max_cmd_len=8192
5137f010a93dSmrg    ;;
5138b4d38c65Smrg
5139f010a93dSmrg  osf*)
5140f010a93dSmrg    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
5141f010a93dSmrg    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
5142f010a93dSmrg    # nice to cause kernel panics so lets avoid the loop below.
5143f010a93dSmrg    # First set a reasonable default.
5144f010a93dSmrg    lt_cv_sys_max_cmd_len=16384
5145f010a93dSmrg    #
5146f010a93dSmrg    if test -x /sbin/sysconfig; then
5147f010a93dSmrg      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
5148f010a93dSmrg        *1*) lt_cv_sys_max_cmd_len=-1 ;;
5149f010a93dSmrg      esac
5150f010a93dSmrg    fi
5151f010a93dSmrg    ;;
5152f010a93dSmrg  sco3.2v5*)
5153f010a93dSmrg    lt_cv_sys_max_cmd_len=102400
5154f010a93dSmrg    ;;
5155f010a93dSmrg  sysv5* | sco5v6* | sysv4.2uw2*)
5156f010a93dSmrg    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
5157f010a93dSmrg    if test -n "$kargmax"; then
5158f010a93dSmrg      lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[	 ]]//'`
5159f010a93dSmrg    else
5160f010a93dSmrg      lt_cv_sys_max_cmd_len=32768
5161f010a93dSmrg    fi
5162f010a93dSmrg    ;;
5163f010a93dSmrg  *)
5164f010a93dSmrg    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
5165f010a93dSmrg    if test -n "$lt_cv_sys_max_cmd_len" && \
5166f010a93dSmrg       test undefined != "$lt_cv_sys_max_cmd_len"; then
5167f010a93dSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5168f010a93dSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5169f010a93dSmrg    else
5170f010a93dSmrg      # Make teststring a little bigger before we do anything with it.
5171f010a93dSmrg      # a 1K string should be a reasonable start.
5172f010a93dSmrg      for i in 1 2 3 4 5 6 7 8; do
5173f010a93dSmrg        teststring=$teststring$teststring
5174f010a93dSmrg      done
5175f010a93dSmrg      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
5176f010a93dSmrg      # If test is not a shell built-in, we'll probably end up computing a
5177f010a93dSmrg      # maximum length that is only half of the actual maximum length, but
5178f010a93dSmrg      # we can't tell.
5179f010a93dSmrg      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
5180f010a93dSmrg	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
5181f010a93dSmrg	      test 17 != "$i" # 1/2 MB should be enough
5182f010a93dSmrg      do
5183f010a93dSmrg        i=`expr $i + 1`
5184f010a93dSmrg        teststring=$teststring$teststring
5185f010a93dSmrg      done
5186f010a93dSmrg      # Only check the string length outside the loop.
5187f010a93dSmrg      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
5188f010a93dSmrg      teststring=
5189f010a93dSmrg      # Add a significant safety factor because C++ compilers can tack on
5190f010a93dSmrg      # massive amounts of additional arguments before passing them to the
5191f010a93dSmrg      # linker.  It appears as though 1/2 is a usable value.
5192f010a93dSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
5193f010a93dSmrg    fi
5194f010a93dSmrg    ;;
5195f010a93dSmrg  esac
5196f010a93dSmrg])
5197f010a93dSmrgif test -n "$lt_cv_sys_max_cmd_len"; then
5198f010a93dSmrg  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
5199f010a93dSmrgelse
5200f010a93dSmrg  AC_MSG_RESULT(none)
5201f010a93dSmrgfi
5202f010a93dSmrgmax_cmd_len=$lt_cv_sys_max_cmd_len
5203f010a93dSmrg_LT_DECL([], [max_cmd_len], [0],
5204f010a93dSmrg    [What is the maximum length of a command?])
5205f010a93dSmrg])# LT_CMD_MAX_LEN
520615fb4814Smrg
5207f010a93dSmrg# Old name:
5208f010a93dSmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
5209f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
5210f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
5211b4d38c65Smrg
5212b4d38c65Smrg
5213f010a93dSmrg# _LT_HEADER_DLFCN
5214f010a93dSmrg# ----------------
5215f010a93dSmrgm4_defun([_LT_HEADER_DLFCN],
5216f010a93dSmrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
5217f010a93dSmrg])# _LT_HEADER_DLFCN
521815fb4814Smrg
521915fb4814Smrg
5220f010a93dSmrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
5221f010a93dSmrg#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
5222f010a93dSmrg# ----------------------------------------------------------------
5223f010a93dSmrgm4_defun([_LT_TRY_DLOPEN_SELF],
5224f010a93dSmrg[m4_require([_LT_HEADER_DLFCN])dnl
5225f010a93dSmrgif test yes = "$cross_compiling"; then :
5226f010a93dSmrg  [$4]
5227f010a93dSmrgelse
5228f010a93dSmrg  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
5229f010a93dSmrg  lt_status=$lt_dlunknown
5230f010a93dSmrg  cat > conftest.$ac_ext <<_LT_EOF
5231f010a93dSmrg[#line $LINENO "configure"
5232f010a93dSmrg#include "confdefs.h"
523315fb4814Smrg
5234f010a93dSmrg#if HAVE_DLFCN_H
5235f010a93dSmrg#include <dlfcn.h>
5236f010a93dSmrg#endif
523715fb4814Smrg
5238f010a93dSmrg#include <stdio.h>
523915fb4814Smrg
5240f010a93dSmrg#ifdef RTLD_GLOBAL
5241f010a93dSmrg#  define LT_DLGLOBAL		RTLD_GLOBAL
5242f010a93dSmrg#else
5243f010a93dSmrg#  ifdef DL_GLOBAL
5244f010a93dSmrg#    define LT_DLGLOBAL		DL_GLOBAL
5245f010a93dSmrg#  else
5246f010a93dSmrg#    define LT_DLGLOBAL		0
5247f010a93dSmrg#  endif
5248f010a93dSmrg#endif
524915fb4814Smrg
5250f010a93dSmrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
5251f010a93dSmrg   find out it does not work in some platform. */
5252f010a93dSmrg#ifndef LT_DLLAZY_OR_NOW
5253f010a93dSmrg#  ifdef RTLD_LAZY
5254f010a93dSmrg#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
5255f010a93dSmrg#  else
5256f010a93dSmrg#    ifdef DL_LAZY
5257f010a93dSmrg#      define LT_DLLAZY_OR_NOW		DL_LAZY
5258f010a93dSmrg#    else
5259f010a93dSmrg#      ifdef RTLD_NOW
5260f010a93dSmrg#        define LT_DLLAZY_OR_NOW	RTLD_NOW
5261f010a93dSmrg#      else
5262f010a93dSmrg#        ifdef DL_NOW
5263f010a93dSmrg#          define LT_DLLAZY_OR_NOW	DL_NOW
5264f010a93dSmrg#        else
5265f010a93dSmrg#          define LT_DLLAZY_OR_NOW	0
5266f010a93dSmrg#        endif
5267f010a93dSmrg#      endif
5268f010a93dSmrg#    endif
5269f010a93dSmrg#  endif
5270f010a93dSmrg#endif
5271b4d38c65Smrg
5272f010a93dSmrg/* When -fvisibility=hidden is used, assume the code has been annotated
5273f010a93dSmrg   correspondingly for the symbols needed.  */
5274f010a93dSmrg#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
5275f010a93dSmrgint fnord () __attribute__((visibility("default")));
5276f010a93dSmrg#endif
527715fb4814Smrg
5278f010a93dSmrgint fnord () { return 42; }
5279f010a93dSmrgint main ()
5280f010a93dSmrg{
5281f010a93dSmrg  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
5282f010a93dSmrg  int status = $lt_dlunknown;
528315fb4814Smrg
5284f010a93dSmrg  if (self)
5285f010a93dSmrg    {
5286f010a93dSmrg      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
5287f010a93dSmrg      else
5288f010a93dSmrg        {
5289f010a93dSmrg	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
5290f010a93dSmrg          else puts (dlerror ());
5291f010a93dSmrg	}
5292f010a93dSmrg      /* dlclose (self); */
5293f010a93dSmrg    }
5294f010a93dSmrg  else
5295f010a93dSmrg    puts (dlerror ());
529615fb4814Smrg
5297f010a93dSmrg  return status;
5298f010a93dSmrg}]
5299f010a93dSmrg_LT_EOF
5300f010a93dSmrg  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
5301f010a93dSmrg    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
5302f010a93dSmrg    lt_status=$?
5303f010a93dSmrg    case x$lt_status in
5304f010a93dSmrg      x$lt_dlno_uscore) $1 ;;
5305f010a93dSmrg      x$lt_dlneed_uscore) $2 ;;
5306f010a93dSmrg      x$lt_dlunknown|x*) $3 ;;
5307f010a93dSmrg    esac
5308f010a93dSmrg  else :
5309f010a93dSmrg    # compilation failed
5310f010a93dSmrg    $3
5311f010a93dSmrg  fi
5312b4d38c65Smrgfi
5313f010a93dSmrgrm -fr conftest*
5314f010a93dSmrg])# _LT_TRY_DLOPEN_SELF
531515fb4814Smrg
531615fb4814Smrg
5317f010a93dSmrg# LT_SYS_DLOPEN_SELF
5318f010a93dSmrg# ------------------
5319f010a93dSmrgAC_DEFUN([LT_SYS_DLOPEN_SELF],
5320f010a93dSmrg[m4_require([_LT_HEADER_DLFCN])dnl
5321f010a93dSmrgif test yes != "$enable_dlopen"; then
5322f010a93dSmrg  enable_dlopen=unknown
5323f010a93dSmrg  enable_dlopen_self=unknown
5324f010a93dSmrg  enable_dlopen_self_static=unknown
5325b4d38c65Smrgelse
5326f010a93dSmrg  lt_cv_dlopen=no
5327f010a93dSmrg  lt_cv_dlopen_libs=
532815fb4814Smrg
5329f010a93dSmrg  case $host_os in
5330f010a93dSmrg  beos*)
5331f010a93dSmrg    lt_cv_dlopen=load_add_on
5332f010a93dSmrg    lt_cv_dlopen_libs=
5333f010a93dSmrg    lt_cv_dlopen_self=yes
5334f010a93dSmrg    ;;
533515fb4814Smrg
5336f010a93dSmrg  mingw* | pw32* | cegcc*)
5337f010a93dSmrg    lt_cv_dlopen=LoadLibrary
5338f010a93dSmrg    lt_cv_dlopen_libs=
5339f010a93dSmrg    ;;
5340b4d38c65Smrg
5341f010a93dSmrg  cygwin*)
5342f010a93dSmrg    lt_cv_dlopen=dlopen
5343f010a93dSmrg    lt_cv_dlopen_libs=
5344f010a93dSmrg    ;;
5345b4d38c65Smrg
5346f010a93dSmrg  darwin*)
5347f010a93dSmrg    # if libdl is installed we need to link against it
5348f010a93dSmrg    AC_CHECK_LIB([dl], [dlopen],
5349f010a93dSmrg		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
5350f010a93dSmrg    lt_cv_dlopen=dyld
5351f010a93dSmrg    lt_cv_dlopen_libs=
5352f010a93dSmrg    lt_cv_dlopen_self=yes
5353f010a93dSmrg    ])
5354f010a93dSmrg    ;;
5355b4d38c65Smrg
5356f010a93dSmrg  tpf*)
5357f010a93dSmrg    # Don't try to run any link tests for TPF.  We know it's impossible
5358f010a93dSmrg    # because TPF is a cross-compiler, and we know how we open DSOs.
5359f010a93dSmrg    lt_cv_dlopen=dlopen
5360f010a93dSmrg    lt_cv_dlopen_libs=
5361f010a93dSmrg    lt_cv_dlopen_self=no
5362f010a93dSmrg    ;;
5363b4d38c65Smrg
5364f010a93dSmrg  *)
5365f010a93dSmrg    AC_CHECK_FUNC([shl_load],
5366f010a93dSmrg	  [lt_cv_dlopen=shl_load],
5367f010a93dSmrg      [AC_CHECK_LIB([dld], [shl_load],
5368f010a93dSmrg	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
5369f010a93dSmrg	[AC_CHECK_FUNC([dlopen],
5370f010a93dSmrg	      [lt_cv_dlopen=dlopen],
5371f010a93dSmrg	  [AC_CHECK_LIB([dl], [dlopen],
5372f010a93dSmrg		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
5373f010a93dSmrg	    [AC_CHECK_LIB([svld], [dlopen],
5374f010a93dSmrg		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
5375f010a93dSmrg	      [AC_CHECK_LIB([dld], [dld_link],
5376f010a93dSmrg		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
5377f010a93dSmrg	      ])
5378f010a93dSmrg	    ])
5379f010a93dSmrg	  ])
5380f010a93dSmrg	])
5381f010a93dSmrg      ])
5382f010a93dSmrg    ;;
5383f010a93dSmrg  esac
5384b4d38c65Smrg
5385f010a93dSmrg  if test no = "$lt_cv_dlopen"; then
5386f010a93dSmrg    enable_dlopen=no
5387b4d38c65Smrg  else
5388f010a93dSmrg    enable_dlopen=yes
5389b4d38c65Smrg  fi
539015fb4814Smrg
5391f010a93dSmrg  case $lt_cv_dlopen in
5392f010a93dSmrg  dlopen)
5393f010a93dSmrg    save_CPPFLAGS=$CPPFLAGS
5394f010a93dSmrg    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
539515fb4814Smrg
5396f010a93dSmrg    save_LDFLAGS=$LDFLAGS
5397f010a93dSmrg    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
539815fb4814Smrg
5399f010a93dSmrg    save_LIBS=$LIBS
5400f010a93dSmrg    LIBS="$lt_cv_dlopen_libs $LIBS"
540115fb4814Smrg
5402f010a93dSmrg    AC_CACHE_CHECK([whether a program can dlopen itself],
5403f010a93dSmrg	  lt_cv_dlopen_self, [dnl
5404f010a93dSmrg	  _LT_TRY_DLOPEN_SELF(
5405f010a93dSmrg	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
5406f010a93dSmrg	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
5407f010a93dSmrg    ])
540815fb4814Smrg
5409f010a93dSmrg    if test yes = "$lt_cv_dlopen_self"; then
5410f010a93dSmrg      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
5411f010a93dSmrg      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
5412f010a93dSmrg	  lt_cv_dlopen_self_static, [dnl
5413f010a93dSmrg	  _LT_TRY_DLOPEN_SELF(
5414f010a93dSmrg	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
5415f010a93dSmrg	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
5416f010a93dSmrg      ])
5417f010a93dSmrg    fi
541815fb4814Smrg
5419f010a93dSmrg    CPPFLAGS=$save_CPPFLAGS
5420f010a93dSmrg    LDFLAGS=$save_LDFLAGS
5421f010a93dSmrg    LIBS=$save_LIBS
5422f010a93dSmrg    ;;
5423f010a93dSmrg  esac
542415fb4814Smrg
5425f010a93dSmrg  case $lt_cv_dlopen_self in
5426f010a93dSmrg  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
5427f010a93dSmrg  *) enable_dlopen_self=unknown ;;
5428f010a93dSmrg  esac
5429b4d38c65Smrg
5430f010a93dSmrg  case $lt_cv_dlopen_self_static in
5431f010a93dSmrg  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
5432f010a93dSmrg  *) enable_dlopen_self_static=unknown ;;
5433f010a93dSmrg  esac
5434f010a93dSmrgfi
5435f010a93dSmrg_LT_DECL([dlopen_support], [enable_dlopen], [0],
5436f010a93dSmrg	 [Whether dlopen is supported])
5437f010a93dSmrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
5438f010a93dSmrg	 [Whether dlopen of programs is supported])
5439f010a93dSmrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
5440f010a93dSmrg	 [Whether dlopen of statically linked programs is supported])
5441f010a93dSmrg])# LT_SYS_DLOPEN_SELF
544215fb4814Smrg
5443f010a93dSmrg# Old name:
5444f010a93dSmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
5445f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
5446f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
544715fb4814Smrg
544815fb4814Smrg
5449f010a93dSmrg# _LT_COMPILER_C_O([TAGNAME])
5450f010a93dSmrg# ---------------------------
5451f010a93dSmrg# Check to see if options -c and -o are simultaneously supported by compiler.
5452f010a93dSmrg# This macro does not hard code the compiler like AC_PROG_CC_C_O.
5453f010a93dSmrgm4_defun([_LT_COMPILER_C_O],
5454f010a93dSmrg[m4_require([_LT_DECL_SED])dnl
5455f010a93dSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
5456f010a93dSmrgm4_require([_LT_TAG_COMPILER])dnl
5457f010a93dSmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
5458f010a93dSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
5459f010a93dSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
5460f010a93dSmrg   $RM -r conftest 2>/dev/null
5461f010a93dSmrg   mkdir conftest
5462f010a93dSmrg   cd conftest
5463f010a93dSmrg   mkdir out
5464f010a93dSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5465b4d38c65Smrg
5466f010a93dSmrg   lt_compiler_flag="-o out/conftest2.$ac_objext"
5467f010a93dSmrg   # Insert the option either (1) after the last *FLAGS variable, or
5468f010a93dSmrg   # (2) before a word containing "conftest.", or (3) at the end.
5469f010a93dSmrg   # Note that $ac_compile itself does not contain backslashes and begins
5470f010a93dSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
5471f010a93dSmrg   lt_compile=`echo "$ac_compile" | $SED \
5472f010a93dSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
5473f010a93dSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
5474f010a93dSmrg   -e 's:$: $lt_compiler_flag:'`
5475f010a93dSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
5476f010a93dSmrg   (eval "$lt_compile" 2>out/conftest.err)
5477f010a93dSmrg   ac_status=$?
5478f010a93dSmrg   cat out/conftest.err >&AS_MESSAGE_LOG_FD
5479f010a93dSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
5480f010a93dSmrg   if (exit $ac_status) && test -s out/conftest2.$ac_objext
5481f010a93dSmrg   then
5482f010a93dSmrg     # The compiler can only warn and ignore the option if not recognized
5483f010a93dSmrg     # So say no if there are warnings
5484f010a93dSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
5485f010a93dSmrg     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
5486f010a93dSmrg     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
5487f010a93dSmrg       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
5488f010a93dSmrg     fi
5489f010a93dSmrg   fi
5490f010a93dSmrg   chmod u+w . 2>&AS_MESSAGE_LOG_FD
5491f010a93dSmrg   $RM conftest*
5492f010a93dSmrg   # SGI C++ compiler will create directory out/ii_files/ for
5493f010a93dSmrg   # template instantiation
5494f010a93dSmrg   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
5495f010a93dSmrg   $RM out/* && rmdir out
5496f010a93dSmrg   cd ..
5497f010a93dSmrg   $RM -r conftest
5498f010a93dSmrg   $RM conftest*
5499f010a93dSmrg])
5500f010a93dSmrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
5501f010a93dSmrg	[Does compiler simultaneously support -c and -o options?])
5502f010a93dSmrg])# _LT_COMPILER_C_O
550383cab373Smrg
550415fb4814Smrg
5505f010a93dSmrg# _LT_COMPILER_FILE_LOCKS([TAGNAME])
5506f010a93dSmrg# ----------------------------------
5507f010a93dSmrg# Check to see if we can do hard links to lock some files if needed
5508f010a93dSmrgm4_defun([_LT_COMPILER_FILE_LOCKS],
5509f010a93dSmrg[m4_require([_LT_ENABLE_LOCK])dnl
5510f010a93dSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
5511f010a93dSmrg_LT_COMPILER_C_O([$1])
5512b4d38c65Smrg
5513f010a93dSmrghard_links=nottested
5514f010a93dSmrgif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
5515f010a93dSmrg  # do not overwrite the value of need_locks provided by the user
5516f010a93dSmrg  AC_MSG_CHECKING([if we can lock with hard links])
5517f010a93dSmrg  hard_links=yes
5518f010a93dSmrg  $RM conftest*
5519f010a93dSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
5520f010a93dSmrg  touch conftest.a
5521f010a93dSmrg  ln conftest.a conftest.b 2>&5 || hard_links=no
5522f010a93dSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
5523f010a93dSmrg  AC_MSG_RESULT([$hard_links])
5524f010a93dSmrg  if test no = "$hard_links"; then
5525f010a93dSmrg    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
5526f010a93dSmrg    need_locks=warn
5527f010a93dSmrg  fi
5528f010a93dSmrgelse
5529f010a93dSmrg  need_locks=no
5530f010a93dSmrgfi
5531f010a93dSmrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
5532f010a93dSmrg])# _LT_COMPILER_FILE_LOCKS
5533b4d38c65Smrg
553415fb4814Smrg
5535f010a93dSmrg# _LT_CHECK_OBJDIR
5536f010a93dSmrg# ----------------
5537f010a93dSmrgm4_defun([_LT_CHECK_OBJDIR],
5538f010a93dSmrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
5539f010a93dSmrg[rm -f .libs 2>/dev/null
5540f010a93dSmrgmkdir .libs 2>/dev/null
5541f010a93dSmrgif test -d .libs; then
5542f010a93dSmrg  lt_cv_objdir=.libs
5543f010a93dSmrgelse
5544f010a93dSmrg  # MS-DOS does not allow filenames that begin with a dot.
5545f010a93dSmrg  lt_cv_objdir=_libs
5546f010a93dSmrgfi
5547f010a93dSmrgrmdir .libs 2>/dev/null])
5548f010a93dSmrgobjdir=$lt_cv_objdir
5549f010a93dSmrg_LT_DECL([], [objdir], [0],
5550f010a93dSmrg         [The name of the directory that contains temporary libtool files])dnl
5551f010a93dSmrgm4_pattern_allow([LT_OBJDIR])dnl
5552f010a93dSmrgAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
5553f010a93dSmrg  [Define to the sub-directory where libtool stores uninstalled libraries.])
5554f010a93dSmrg])# _LT_CHECK_OBJDIR
5555b4d38c65Smrg
5556b4d38c65Smrg
5557f010a93dSmrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
5558f010a93dSmrg# --------------------------------------
5559f010a93dSmrg# Check hardcoding attributes.
5560f010a93dSmrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
5561f010a93dSmrg[AC_MSG_CHECKING([how to hardcode library paths into programs])
5562f010a93dSmrg_LT_TAGVAR(hardcode_action, $1)=
5563f010a93dSmrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
5564f010a93dSmrg   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
5565f010a93dSmrg   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
5566b4d38c65Smrg
5567f010a93dSmrg  # We can hardcode non-existent directories.
5568f010a93dSmrg  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
5569f010a93dSmrg     # If the only mechanism to avoid hardcoding is shlibpath_var, we
5570f010a93dSmrg     # have to relink, otherwise we might link with an installed library
5571f010a93dSmrg     # when we should be linking with a yet-to-be-installed one
5572f010a93dSmrg     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
5573f010a93dSmrg     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
5574f010a93dSmrg    # Linking always hardcodes the temporary library directory.
5575f010a93dSmrg    _LT_TAGVAR(hardcode_action, $1)=relink
5576f010a93dSmrg  else
5577f010a93dSmrg    # We can link without hardcoding, and we can hardcode nonexisting dirs.
5578f010a93dSmrg    _LT_TAGVAR(hardcode_action, $1)=immediate
5579f010a93dSmrg  fi
5580f010a93dSmrgelse
5581f010a93dSmrg  # We cannot hardcode anything, or else we can only hardcode existing
5582f010a93dSmrg  # directories.
5583f010a93dSmrg  _LT_TAGVAR(hardcode_action, $1)=unsupported
5584f010a93dSmrgfi
5585f010a93dSmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
558615fb4814Smrg
5587f010a93dSmrgif test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
5588f010a93dSmrg   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
5589f010a93dSmrg  # Fast installation is not supported
5590f010a93dSmrg  enable_fast_install=no
5591f010a93dSmrgelif test yes = "$shlibpath_overrides_runpath" ||
5592f010a93dSmrg     test no = "$enable_shared"; then
5593f010a93dSmrg  # Fast installation is not necessary
5594f010a93dSmrg  enable_fast_install=needless
5595f010a93dSmrgfi
5596f010a93dSmrg_LT_TAGDECL([], [hardcode_action], [0],
5597f010a93dSmrg    [How to hardcode a shared library path into an executable])
5598f010a93dSmrg])# _LT_LINKER_HARDCODE_LIBPATH
5599b4d38c65Smrg
560015fb4814Smrg
5601f010a93dSmrg# _LT_CMD_STRIPLIB
5602f010a93dSmrg# ----------------
5603f010a93dSmrgm4_defun([_LT_CMD_STRIPLIB],
5604f010a93dSmrg[m4_require([_LT_DECL_EGREP])
5605f010a93dSmrgstriplib=
5606f010a93dSmrgold_striplib=
5607f010a93dSmrgAC_MSG_CHECKING([whether stripping libraries is possible])
5608f010a93dSmrgif test -z "$STRIP"; then
5609f010a93dSmrg  AC_MSG_RESULT([no])
5610f010a93dSmrgelse
5611f010a93dSmrg  if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
5612f010a93dSmrg    old_striplib="$STRIP --strip-debug"
5613f010a93dSmrg    striplib="$STRIP --strip-unneeded"
5614f010a93dSmrg    AC_MSG_RESULT([yes])
5615f010a93dSmrg  else
5616f010a93dSmrg    case $host_os in
5617f010a93dSmrg    darwin*)
5618f010a93dSmrg      # FIXME - insert some real tests, host_os isn't really good enough
5619f010a93dSmrg      striplib="$STRIP -x"
5620f010a93dSmrg      old_striplib="$STRIP -S"
5621f010a93dSmrg      AC_MSG_RESULT([yes])
5622f010a93dSmrg      ;;
5623f010a93dSmrg    freebsd*)
5624f010a93dSmrg      if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
5625f010a93dSmrg        old_striplib="$STRIP --strip-debug"
5626f010a93dSmrg        striplib="$STRIP --strip-unneeded"
5627f010a93dSmrg        AC_MSG_RESULT([yes])
5628f010a93dSmrg      else
5629f010a93dSmrg        AC_MSG_RESULT([no])
5630f010a93dSmrg      fi
5631f010a93dSmrg      ;;
5632f010a93dSmrg    *)
5633f010a93dSmrg      AC_MSG_RESULT([no])
5634f010a93dSmrg      ;;
5635f010a93dSmrg    esac
5636f010a93dSmrg  fi
5637f010a93dSmrgfi
5638f010a93dSmrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
5639f010a93dSmrg_LT_DECL([], [striplib], [1])
5640f010a93dSmrg])# _LT_CMD_STRIPLIB
5641b410ddbeSmrg
564215fb4814Smrg
5643f010a93dSmrg# _LT_PREPARE_MUNGE_PATH_LIST
5644f010a93dSmrg# ---------------------------
5645f010a93dSmrg# Make sure func_munge_path_list() is defined correctly.
5646f010a93dSmrgm4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
5647f010a93dSmrg[[# func_munge_path_list VARIABLE PATH
5648f010a93dSmrg# -----------------------------------
5649f010a93dSmrg# VARIABLE is name of variable containing _space_ separated list of
5650f010a93dSmrg# directories to be munged by the contents of PATH, which is string
5651f010a93dSmrg# having a format:
5652f010a93dSmrg# "DIR[:DIR]:"
5653f010a93dSmrg#       string "DIR[ DIR]" will be prepended to VARIABLE
5654f010a93dSmrg# ":DIR[:DIR]"
5655f010a93dSmrg#       string "DIR[ DIR]" will be appended to VARIABLE
5656f010a93dSmrg# "DIRP[:DIRP]::[DIRA:]DIRA"
5657f010a93dSmrg#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
5658f010a93dSmrg#       "DIRA[ DIRA]" will be appended to VARIABLE
5659f010a93dSmrg# "DIR[:DIR]"
5660f010a93dSmrg#       VARIABLE will be replaced by "DIR[ DIR]"
5661f010a93dSmrgfunc_munge_path_list ()
5662f010a93dSmrg{
5663f010a93dSmrg    case x@S|@2 in
5664f010a93dSmrg    x)
5665b4d38c65Smrg        ;;
5666f010a93dSmrg    *:)
5667f010a93dSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
5668b4d38c65Smrg        ;;
5669f010a93dSmrg    x:*)
5670f010a93dSmrg        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
5671b4d38c65Smrg        ;;
5672f010a93dSmrg    *::*)
5673f010a93dSmrg        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
5674f010a93dSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
5675f010a93dSmrg        ;;
5676f010a93dSmrg    *)
5677f010a93dSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
5678b4d38c65Smrg        ;;
5679f010a93dSmrg    esac
5680f010a93dSmrg}
5681f010a93dSmrg]])# _LT_PREPARE_PATH_LIST
568215fb4814Smrg
5683b4d38c65Smrg
5684f010a93dSmrg# _LT_SYS_DYNAMIC_LINKER([TAG])
5685f010a93dSmrg# -----------------------------
5686f010a93dSmrg# PORTME Fill in your ld.so characteristics
5687f010a93dSmrgm4_defun([_LT_SYS_DYNAMIC_LINKER],
5688f010a93dSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
5689f010a93dSmrgm4_require([_LT_DECL_EGREP])dnl
5690f010a93dSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
5691f010a93dSmrgm4_require([_LT_DECL_OBJDUMP])dnl
5692f010a93dSmrgm4_require([_LT_DECL_SED])dnl
5693f010a93dSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
5694f010a93dSmrgm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
5695f010a93dSmrgAC_MSG_CHECKING([dynamic linker characteristics])
5696f010a93dSmrgm4_if([$1],
5697f010a93dSmrg	[], [
5698f010a93dSmrgif test yes = "$GCC"; then
5699f010a93dSmrg  case $host_os in
5700f010a93dSmrg    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
5701f010a93dSmrg    *) lt_awk_arg='/^libraries:/' ;;
5702f010a93dSmrg  esac
5703f010a93dSmrg  case $host_os in
5704f010a93dSmrg    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
5705f010a93dSmrg    *) lt_sed_strip_eq='s|=/|/|g' ;;
5706f010a93dSmrg  esac
5707f010a93dSmrg  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
5708f010a93dSmrg  case $lt_search_path_spec in
5709f010a93dSmrg  *\;*)
5710f010a93dSmrg    # if the path contains ";" then we assume it to be the separator
5711f010a93dSmrg    # otherwise default to the standard path separator (i.e. ":") - it is
5712f010a93dSmrg    # assumed that no part of a normal pathname contains ";" but that should
5713f010a93dSmrg    # okay in the real world where ";" in dirpaths is itself problematic.
5714f010a93dSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
5715f010a93dSmrg    ;;
5716f010a93dSmrg  *)
5717f010a93dSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
5718f010a93dSmrg    ;;
5719f010a93dSmrg  esac
5720f010a93dSmrg  # Ok, now we have the path, separated by spaces, we can step through it
5721f010a93dSmrg  # and add multilib dir if necessary...
5722f010a93dSmrg  lt_tmp_lt_search_path_spec=
5723f010a93dSmrg  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
5724f010a93dSmrg  # ...but if some path component already ends with the multilib dir we assume
5725f010a93dSmrg  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
5726f010a93dSmrg  case "$lt_multi_os_dir; $lt_search_path_spec " in
5727f010a93dSmrg  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
5728f010a93dSmrg    lt_multi_os_dir=
5729f010a93dSmrg    ;;
5730f010a93dSmrg  esac
5731f010a93dSmrg  for lt_sys_path in $lt_search_path_spec; do
5732f010a93dSmrg    if test -d "$lt_sys_path$lt_multi_os_dir"; then
5733f010a93dSmrg      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
5734f010a93dSmrg    elif test -n "$lt_multi_os_dir"; then
5735f010a93dSmrg      test -d "$lt_sys_path" && \
5736f010a93dSmrg	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
5737f010a93dSmrg    fi
5738f010a93dSmrg  done
5739f010a93dSmrg  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
5740f010a93dSmrgBEGIN {RS = " "; FS = "/|\n";} {
5741f010a93dSmrg  lt_foo = "";
5742f010a93dSmrg  lt_count = 0;
5743f010a93dSmrg  for (lt_i = NF; lt_i > 0; lt_i--) {
5744f010a93dSmrg    if ($lt_i != "" && $lt_i != ".") {
5745f010a93dSmrg      if ($lt_i == "..") {
5746f010a93dSmrg        lt_count++;
5747f010a93dSmrg      } else {
5748f010a93dSmrg        if (lt_count == 0) {
5749f010a93dSmrg          lt_foo = "/" $lt_i lt_foo;
5750f010a93dSmrg        } else {
5751f010a93dSmrg          lt_count--;
5752f010a93dSmrg        }
5753f010a93dSmrg      }
5754f010a93dSmrg    }
5755f010a93dSmrg  }
5756f010a93dSmrg  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
5757f010a93dSmrg  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
5758f010a93dSmrg}'`
5759f010a93dSmrg  # AWK program above erroneously prepends '/' to C:/dos/paths
5760f010a93dSmrg  # for these hosts.
5761f010a93dSmrg  case $host_os in
5762f010a93dSmrg    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
5763f010a93dSmrg      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
5764f010a93dSmrg  esac
5765f010a93dSmrg  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
5766f010a93dSmrgelse
5767f010a93dSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
5768f010a93dSmrgfi])
5769f010a93dSmrglibrary_names_spec=
5770f010a93dSmrglibname_spec='lib$name'
5771f010a93dSmrgsoname_spec=
5772f010a93dSmrgshrext_cmds=.so
5773f010a93dSmrgpostinstall_cmds=
5774f010a93dSmrgpostuninstall_cmds=
5775f010a93dSmrgfinish_cmds=
5776f010a93dSmrgfinish_eval=
5777f010a93dSmrgshlibpath_var=
5778f010a93dSmrgshlibpath_overrides_runpath=unknown
5779f010a93dSmrgversion_type=none
5780f010a93dSmrgdynamic_linker="$host_os ld.so"
5781f010a93dSmrgsys_lib_dlsearch_path_spec="/lib /usr/lib"
5782f010a93dSmrgneed_lib_prefix=unknown
5783f010a93dSmrghardcode_into_libs=no
578415fb4814Smrg
5785f010a93dSmrg# when you set need_version to no, make sure it does not cause -set_version
5786f010a93dSmrg# flags to be left without arguments
5787f010a93dSmrgneed_version=unknown
5788b4d38c65Smrg
5789f010a93dSmrgAC_ARG_VAR([LT_SYS_LIBRARY_PATH],
5790f010a93dSmrg[User-defined run-time library search path.])
579115fb4814Smrg
5792f010a93dSmrgcase $host_os in
5793f010a93dSmrgaix3*)
5794f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
5795f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
5796f010a93dSmrg  shlibpath_var=LIBPATH
579715fb4814Smrg
5798f010a93dSmrg  # AIX 3 has no versioning support, so we append a major version to the name.
5799f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
5800f010a93dSmrg  ;;
5801b4d38c65Smrg
5802f010a93dSmrgaix[[4-9]]*)
5803f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
5804f010a93dSmrg  need_lib_prefix=no
5805f010a93dSmrg  need_version=no
5806f010a93dSmrg  hardcode_into_libs=yes
5807f010a93dSmrg  if test ia64 = "$host_cpu"; then
5808f010a93dSmrg    # AIX 5 supports IA64
5809f010a93dSmrg    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
5810f010a93dSmrg    shlibpath_var=LD_LIBRARY_PATH
5811f010a93dSmrg  else
5812f010a93dSmrg    # With GCC up to 2.95.x, collect2 would create an import file
5813f010a93dSmrg    # for dependence libraries.  The import file would start with
5814f010a93dSmrg    # the line '#! .'.  This would cause the generated library to
5815f010a93dSmrg    # depend on '.', always an invalid library.  This was fixed in
5816f010a93dSmrg    # development snapshots of GCC prior to 3.0.
5817f010a93dSmrg    case $host_os in
5818f010a93dSmrg      aix4 | aix4.[[01]] | aix4.[[01]].*)
5819f010a93dSmrg      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
5820f010a93dSmrg	   echo ' yes '
5821f010a93dSmrg	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
5822f010a93dSmrg	:
5823f010a93dSmrg      else
5824f010a93dSmrg	can_build_shared=no
5825f010a93dSmrg      fi
5826f010a93dSmrg      ;;
5827f010a93dSmrg    esac
5828f010a93dSmrg    # Using Import Files as archive members, it is possible to support
5829f010a93dSmrg    # filename-based versioning of shared library archives on AIX. While
5830f010a93dSmrg    # this would work for both with and without runtime linking, it will
5831f010a93dSmrg    # prevent static linking of such archives. So we do filename-based
5832f010a93dSmrg    # shared library versioning with .so extension only, which is used
5833f010a93dSmrg    # when both runtime linking and shared linking is enabled.
5834f010a93dSmrg    # Unfortunately, runtime linking may impact performance, so we do
5835f010a93dSmrg    # not want this to be the default eventually. Also, we use the
5836f010a93dSmrg    # versioned .so libs for executables only if there is the -brtl
5837f010a93dSmrg    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
5838f010a93dSmrg    # To allow for filename-based versioning support, we need to create
5839f010a93dSmrg    # libNAME.so.V as an archive file, containing:
5840f010a93dSmrg    # *) an Import File, referring to the versioned filename of the
5841f010a93dSmrg    #    archive as well as the shared archive member, telling the
5842f010a93dSmrg    #    bitwidth (32 or 64) of that shared object, and providing the
5843f010a93dSmrg    #    list of exported symbols of that shared object, eventually
5844f010a93dSmrg    #    decorated with the 'weak' keyword
5845f010a93dSmrg    # *) the shared object with the F_LOADONLY flag set, to really avoid
5846f010a93dSmrg    #    it being seen by the linker.
5847f010a93dSmrg    # At run time we better use the real file rather than another symlink,
5848f010a93dSmrg    # but for link time we create the symlink libNAME.so -> libNAME.so.V
5849f010a93dSmrg
5850f010a93dSmrg    case $with_aix_soname,$aix_use_runtimelinking in
5851f010a93dSmrg    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
5852f010a93dSmrg    # soname into executable. Probably we can add versioning support to
5853f010a93dSmrg    # collect2, so additional links can be useful in future.
5854f010a93dSmrg    aix,yes) # traditional libtool
5855f010a93dSmrg      dynamic_linker='AIX unversionable lib.so'
5856f010a93dSmrg      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
5857f010a93dSmrg      # instead of lib<name>.a to let people know that these are not
5858f010a93dSmrg      # typical AIX shared libraries.
5859f010a93dSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
5860f010a93dSmrg      ;;
5861f010a93dSmrg    aix,no) # traditional AIX only
5862f010a93dSmrg      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
5863f010a93dSmrg      # We preserve .a as extension for shared libraries through AIX4.2
5864f010a93dSmrg      # and later when we are not doing run time linking.
5865f010a93dSmrg      library_names_spec='$libname$release.a $libname.a'
5866f010a93dSmrg      soname_spec='$libname$release$shared_ext$major'
5867f010a93dSmrg      ;;
5868f010a93dSmrg    svr4,*) # full svr4 only
5869f010a93dSmrg      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
5870f010a93dSmrg      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
5871f010a93dSmrg      # We do not specify a path in Import Files, so LIBPATH fires.
5872f010a93dSmrg      shlibpath_overrides_runpath=yes
5873f010a93dSmrg      ;;
5874f010a93dSmrg    *,yes) # both, prefer svr4
5875f010a93dSmrg      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
5876f010a93dSmrg      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
5877f010a93dSmrg      # unpreferred sharedlib libNAME.a needs extra handling
5878f010a93dSmrg      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
5879f010a93dSmrg      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
5880f010a93dSmrg      # We do not specify a path in Import Files, so LIBPATH fires.
5881f010a93dSmrg      shlibpath_overrides_runpath=yes
5882f010a93dSmrg      ;;
5883f010a93dSmrg    *,no) # both, prefer aix
5884f010a93dSmrg      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
5885f010a93dSmrg      library_names_spec='$libname$release.a $libname.a'
5886f010a93dSmrg      soname_spec='$libname$release$shared_ext$major'
5887f010a93dSmrg      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
5888f010a93dSmrg      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
5889f010a93dSmrg      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
5890f010a93dSmrg      ;;
5891f010a93dSmrg    esac
5892f010a93dSmrg    shlibpath_var=LIBPATH
5893f010a93dSmrg  fi
5894f010a93dSmrg  ;;
589515fb4814Smrg
5896f010a93dSmrgamigaos*)
5897f010a93dSmrg  case $host_cpu in
5898f010a93dSmrg  powerpc)
5899f010a93dSmrg    # Since July 2007 AmigaOS4 officially supports .so libraries.
5900f010a93dSmrg    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
5901f010a93dSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
5902f010a93dSmrg    ;;
5903f010a93dSmrg  m68k)
5904f010a93dSmrg    library_names_spec='$libname.ixlibrary $libname.a'
5905f010a93dSmrg    # Create ${libname}_ixlibrary.a entries in /sys/libs.
5906f010a93dSmrg    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
5907f010a93dSmrg    ;;
5908f010a93dSmrg  esac
5909f010a93dSmrg  ;;
591015fb4814Smrg
5911f010a93dSmrgbeos*)
5912f010a93dSmrg  library_names_spec='$libname$shared_ext'
5913f010a93dSmrg  dynamic_linker="$host_os ld.so"
5914f010a93dSmrg  shlibpath_var=LIBRARY_PATH
5915f010a93dSmrg  ;;
5916b4d38c65Smrg
5917f010a93dSmrgbsdi[[45]]*)
5918f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
5919f010a93dSmrg  need_version=no
5920f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
5921f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
5922f010a93dSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
5923f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
5924f010a93dSmrg  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
5925f010a93dSmrg  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
5926f010a93dSmrg  # the default ld.so.conf also contains /usr/contrib/lib and
5927f010a93dSmrg  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
5928f010a93dSmrg  # libtool to hard-code these into programs
5929f010a93dSmrg  ;;
5930b4d38c65Smrg
5931f010a93dSmrgcygwin* | mingw* | pw32* | cegcc*)
5932f010a93dSmrg  version_type=windows
5933f010a93dSmrg  shrext_cmds=.dll
5934f010a93dSmrg  need_version=no
5935f010a93dSmrg  need_lib_prefix=no
593615fb4814Smrg
5937f010a93dSmrg  case $GCC,$cc_basename in
5938f010a93dSmrg  yes,*)
5939f010a93dSmrg    # gcc
5940f010a93dSmrg    library_names_spec='$libname.dll.a'
5941f010a93dSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
5942f010a93dSmrg    postinstall_cmds='base_file=`basename \$file`~
5943f010a93dSmrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
5944f010a93dSmrg      dldir=$destdir/`dirname \$dlpath`~
5945f010a93dSmrg      test -d \$dldir || mkdir -p \$dldir~
5946f010a93dSmrg      $install_prog $dir/$dlname \$dldir/$dlname~
5947f010a93dSmrg      chmod a+x \$dldir/$dlname~
5948f010a93dSmrg      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
5949f010a93dSmrg        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
5950f010a93dSmrg      fi'
5951f010a93dSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
5952f010a93dSmrg      dlpath=$dir/\$dldll~
5953f010a93dSmrg       $RM \$dlpath'
5954f010a93dSmrg    shlibpath_overrides_runpath=yes
595515fb4814Smrg
5956f010a93dSmrg    case $host_os in
5957f010a93dSmrg    cygwin*)
5958f010a93dSmrg      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
5959f010a93dSmrg      soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
5960f010a93dSmrgm4_if([$1], [],[
5961f010a93dSmrg      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
5962f010a93dSmrg      ;;
5963f010a93dSmrg    mingw* | cegcc*)
5964f010a93dSmrg      # MinGW DLLs use traditional 'lib' prefix
5965f010a93dSmrg      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
5966f010a93dSmrg      ;;
5967f010a93dSmrg    pw32*)
5968f010a93dSmrg      # pw32 DLLs use 'pw' prefix rather than 'lib'
5969f010a93dSmrg      library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
5970f010a93dSmrg      ;;
5971f010a93dSmrg    esac
5972f010a93dSmrg    dynamic_linker='Win32 ld.exe'
5973f010a93dSmrg    ;;
597415fb4814Smrg
5975f010a93dSmrg  *,cl* | *,icl*)
5976f010a93dSmrg    # Native MSVC or ICC
5977f010a93dSmrg    libname_spec='$name'
5978f010a93dSmrg    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
5979f010a93dSmrg    library_names_spec='$libname.dll.lib'
598015fb4814Smrg
5981f010a93dSmrg    case $build_os in
5982f010a93dSmrg    mingw*)
5983f010a93dSmrg      sys_lib_search_path_spec=
5984f010a93dSmrg      lt_save_ifs=$IFS
5985f010a93dSmrg      IFS=';'
5986f010a93dSmrg      for lt_path in $LIB
5987f010a93dSmrg      do
5988f010a93dSmrg        IFS=$lt_save_ifs
5989f010a93dSmrg        # Let DOS variable expansion print the short 8.3 style file name.
5990f010a93dSmrg        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
5991f010a93dSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
5992f010a93dSmrg      done
5993f010a93dSmrg      IFS=$lt_save_ifs
5994f010a93dSmrg      # Convert to MSYS style.
5995f010a93dSmrg      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
5996f010a93dSmrg      ;;
5997f010a93dSmrg    cygwin*)
5998f010a93dSmrg      # Convert to unix form, then to dos form, then back to unix form
5999f010a93dSmrg      # but this time dos style (no spaces!) so that the unix form looks
6000f010a93dSmrg      # like /cygdrive/c/PROGRA~1:/cygdr...
6001f010a93dSmrg      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
6002f010a93dSmrg      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
6003f010a93dSmrg      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
6004f010a93dSmrg      ;;
6005f010a93dSmrg    *)
6006f010a93dSmrg      sys_lib_search_path_spec=$LIB
6007f010a93dSmrg      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
6008f010a93dSmrg        # It is most probably a Windows format PATH.
6009f010a93dSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
6010f010a93dSmrg      else
6011f010a93dSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
6012f010a93dSmrg      fi
6013f010a93dSmrg      # FIXME: find the short name or the path components, as spaces are
6014f010a93dSmrg      # common. (e.g. "Program Files" -> "PROGRA~1")
6015f010a93dSmrg      ;;
6016f010a93dSmrg    esac
601715fb4814Smrg
6018f010a93dSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
6019f010a93dSmrg    postinstall_cmds='base_file=`basename \$file`~
6020f010a93dSmrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
6021f010a93dSmrg      dldir=$destdir/`dirname \$dlpath`~
6022f010a93dSmrg      test -d \$dldir || mkdir -p \$dldir~
6023f010a93dSmrg      $install_prog $dir/$dlname \$dldir/$dlname'
6024f010a93dSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
6025f010a93dSmrg      dlpath=$dir/\$dldll~
6026f010a93dSmrg       $RM \$dlpath'
6027f010a93dSmrg    shlibpath_overrides_runpath=yes
6028f010a93dSmrg    dynamic_linker='Win32 link.exe'
6029f010a93dSmrg    ;;
603015fb4814Smrg
6031f010a93dSmrg  *)
6032f010a93dSmrg    # Assume MSVC and ICC wrapper
6033f010a93dSmrg    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
6034f010a93dSmrg    dynamic_linker='Win32 ld.exe'
6035f010a93dSmrg    ;;
6036f010a93dSmrg  esac
6037f010a93dSmrg  # FIXME: first we should search . and the directory the executable is in
6038f010a93dSmrg  shlibpath_var=PATH
6039f010a93dSmrg  ;;
604015fb4814Smrg
6041f010a93dSmrgdarwin* | rhapsody*)
6042f010a93dSmrg  dynamic_linker="$host_os dyld"
6043f010a93dSmrg  version_type=darwin
6044f010a93dSmrg  need_lib_prefix=no
6045f010a93dSmrg  need_version=no
6046f010a93dSmrg  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
6047f010a93dSmrg  soname_spec='$libname$release$major$shared_ext'
6048f010a93dSmrg  shlibpath_overrides_runpath=yes
6049f010a93dSmrg  shlibpath_var=DYLD_LIBRARY_PATH
6050f010a93dSmrg  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
6051f010a93dSmrgm4_if([$1], [],[
6052f010a93dSmrg  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
6053f010a93dSmrg  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
6054f010a93dSmrg  ;;
605515fb4814Smrg
6056f010a93dSmrgdgux*)
6057f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6058f010a93dSmrg  need_lib_prefix=no
6059f010a93dSmrg  need_version=no
6060f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6061f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6062f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6063f010a93dSmrg  ;;
606415fb4814Smrg
6065f010a93dSmrgfreebsd* | dragonfly* | midnightbsd*)
6066f010a93dSmrg  # DragonFly does not have aout.  When/if they implement a new
6067f010a93dSmrg  # versioning mechanism, adjust this.
6068f010a93dSmrg  if test -x /usr/bin/objformat; then
6069f010a93dSmrg    objformat=`/usr/bin/objformat`
6070f010a93dSmrg  else
6071f010a93dSmrg    case $host_os in
6072f010a93dSmrg    freebsd[[23]].*) objformat=aout ;;
6073f010a93dSmrg    *) objformat=elf ;;
6074f010a93dSmrg    esac
6075f010a93dSmrg  fi
6076f010a93dSmrg  version_type=freebsd-$objformat
6077f010a93dSmrg  case $version_type in
6078f010a93dSmrg    freebsd-elf*)
6079f010a93dSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6080f010a93dSmrg      soname_spec='$libname$release$shared_ext$major'
6081f010a93dSmrg      need_version=no
6082f010a93dSmrg      need_lib_prefix=no
6083f010a93dSmrg      ;;
6084f010a93dSmrg    freebsd-*)
6085f010a93dSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
6086f010a93dSmrg      need_version=yes
6087f010a93dSmrg      ;;
6088f010a93dSmrg  esac
6089f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6090f010a93dSmrg  case $host_os in
6091f010a93dSmrg  freebsd2.*)
6092f010a93dSmrg    shlibpath_overrides_runpath=yes
6093f010a93dSmrg    ;;
6094f010a93dSmrg  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
6095f010a93dSmrg    shlibpath_overrides_runpath=yes
6096f010a93dSmrg    hardcode_into_libs=yes
6097f010a93dSmrg    ;;
6098f010a93dSmrg  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
6099f010a93dSmrg  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
6100f010a93dSmrg    shlibpath_overrides_runpath=no
6101f010a93dSmrg    hardcode_into_libs=yes
6102f010a93dSmrg    ;;
6103f010a93dSmrg  *) # from 4.6 on, and DragonFly
6104f010a93dSmrg    shlibpath_overrides_runpath=yes
6105f010a93dSmrg    hardcode_into_libs=yes
6106f010a93dSmrg    ;;
6107f010a93dSmrg  esac
6108f010a93dSmrg  ;;
610915fb4814Smrg
6110f010a93dSmrghaiku*)
6111f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6112f010a93dSmrg  need_lib_prefix=no
6113f010a93dSmrg  need_version=no
6114f010a93dSmrg  dynamic_linker="$host_os runtime_loader"
6115f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6116f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6117f010a93dSmrg  shlibpath_var=LIBRARY_PATH
6118f010a93dSmrg  shlibpath_overrides_runpath=no
6119f010a93dSmrg  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
6120f010a93dSmrg  hardcode_into_libs=yes
6121f010a93dSmrg  ;;
6122b4d38c65Smrg
6123f010a93dSmrghpux9* | hpux10* | hpux11*)
6124f010a93dSmrg  # Give a soname corresponding to the major version so that dld.sl refuses to
6125f010a93dSmrg  # link against other versions.
6126f010a93dSmrg  version_type=sunos
6127f010a93dSmrg  need_lib_prefix=no
6128f010a93dSmrg  need_version=no
6129f010a93dSmrg  case $host_cpu in
6130f010a93dSmrg  ia64*)
6131f010a93dSmrg    shrext_cmds='.so'
6132f010a93dSmrg    hardcode_into_libs=yes
6133f010a93dSmrg    dynamic_linker="$host_os dld.so"
6134f010a93dSmrg    shlibpath_var=LD_LIBRARY_PATH
6135f010a93dSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
6136f010a93dSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6137f010a93dSmrg    soname_spec='$libname$release$shared_ext$major'
6138f010a93dSmrg    if test 32 = "$HPUX_IA64_MODE"; then
6139f010a93dSmrg      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
6140f010a93dSmrg      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
6141f010a93dSmrg    else
6142f010a93dSmrg      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
6143f010a93dSmrg      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
6144f010a93dSmrg    fi
6145f010a93dSmrg    ;;
6146f010a93dSmrg  hppa*64*)
6147f010a93dSmrg    shrext_cmds='.sl'
6148f010a93dSmrg    hardcode_into_libs=yes
6149f010a93dSmrg    dynamic_linker="$host_os dld.sl"
6150f010a93dSmrg    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
6151f010a93dSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
6152f010a93dSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6153f010a93dSmrg    soname_spec='$libname$release$shared_ext$major'
6154f010a93dSmrg    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
6155f010a93dSmrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
6156f010a93dSmrg    ;;
6157f010a93dSmrg  *)
6158f010a93dSmrg    shrext_cmds='.sl'
6159f010a93dSmrg    dynamic_linker="$host_os dld.sl"
6160f010a93dSmrg    shlibpath_var=SHLIB_PATH
6161f010a93dSmrg    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
6162f010a93dSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6163f010a93dSmrg    soname_spec='$libname$release$shared_ext$major'
6164f010a93dSmrg    ;;
6165f010a93dSmrg  esac
6166f010a93dSmrg  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
6167f010a93dSmrg  postinstall_cmds='chmod 555 $lib'
6168f010a93dSmrg  # or fails outright, so override atomically:
6169f010a93dSmrg  install_override_mode=555
6170f010a93dSmrg  ;;
6171b4d38c65Smrg
6172f010a93dSmrginterix[[3-9]]*)
6173f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6174f010a93dSmrg  need_lib_prefix=no
6175f010a93dSmrg  need_version=no
6176f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6177f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6178f010a93dSmrg  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
6179f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6180f010a93dSmrg  shlibpath_overrides_runpath=no
6181f010a93dSmrg  hardcode_into_libs=yes
6182f010a93dSmrg  ;;
6183b4d38c65Smrg
6184f010a93dSmrgirix5* | irix6* | nonstopux*)
6185f010a93dSmrg  case $host_os in
6186f010a93dSmrg    nonstopux*) version_type=nonstopux ;;
6187f010a93dSmrg    *)
6188f010a93dSmrg	if test yes = "$lt_cv_prog_gnu_ld"; then
6189f010a93dSmrg		version_type=linux # correct to gnu/linux during the next big refactor
6190f010a93dSmrg	else
6191f010a93dSmrg		version_type=irix
6192f010a93dSmrg	fi ;;
6193f010a93dSmrg  esac
6194f010a93dSmrg  need_lib_prefix=no
6195f010a93dSmrg  need_version=no
6196f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6197f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
6198f010a93dSmrg  case $host_os in
6199f010a93dSmrg  irix5* | nonstopux*)
6200f010a93dSmrg    libsuff= shlibsuff=
6201f010a93dSmrg    ;;
6202f010a93dSmrg  *)
6203f010a93dSmrg    case $LD in # libtool.m4 will add one of these switches to LD
6204f010a93dSmrg    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
6205f010a93dSmrg      libsuff= shlibsuff= libmagic=32-bit;;
6206f010a93dSmrg    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
6207f010a93dSmrg      libsuff=32 shlibsuff=N32 libmagic=N32;;
6208f010a93dSmrg    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
6209f010a93dSmrg      libsuff=64 shlibsuff=64 libmagic=64-bit;;
6210f010a93dSmrg    *) libsuff= shlibsuff= libmagic=never-match;;
6211f010a93dSmrg    esac
6212f010a93dSmrg    ;;
6213f010a93dSmrg  esac
6214f010a93dSmrg  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
6215f010a93dSmrg  shlibpath_overrides_runpath=no
6216f010a93dSmrg  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
6217f010a93dSmrg  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
6218f010a93dSmrg  hardcode_into_libs=yes
6219f010a93dSmrg  ;;
622015fb4814Smrg
6221f010a93dSmrg# No shared lib support for Linux oldld, aout, or coff.
6222f010a93dSmrglinux*oldld* | linux*aout* | linux*coff*)
6223f010a93dSmrg  dynamic_linker=no
6224f010a93dSmrg  ;;
622515fb4814Smrg
6226f010a93dSmrglinux*android*)
6227f010a93dSmrg  version_type=none # Android doesn't support versioned libraries.
6228f010a93dSmrg  need_lib_prefix=no
6229f010a93dSmrg  need_version=no
6230f010a93dSmrg  library_names_spec='$libname$release$shared_ext'
6231f010a93dSmrg  soname_spec='$libname$release$shared_ext'
6232f010a93dSmrg  finish_cmds=
6233f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6234f010a93dSmrg  shlibpath_overrides_runpath=yes
6235b4d38c65Smrg
6236f010a93dSmrg  # This implies no fast_install, which is unacceptable.
6237f010a93dSmrg  # Some rework will be needed to allow for fast_install
6238f010a93dSmrg  # before this can be enabled.
6239f010a93dSmrg  hardcode_into_libs=yes
6240b4d38c65Smrg
6241f010a93dSmrg  dynamic_linker='Android linker'
6242f010a93dSmrg  # Don't embed -rpath directories since the linker doesn't support them.
6243f010a93dSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6244f010a93dSmrg  ;;
6245b4d38c65Smrg
6246f010a93dSmrg# This must be glibc/ELF.
6247f010a93dSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6248f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6249f010a93dSmrg  need_lib_prefix=no
6250f010a93dSmrg  need_version=no
6251f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6252f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6253f010a93dSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
6254f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6255f010a93dSmrg  shlibpath_overrides_runpath=no
625615fb4814Smrg
6257f010a93dSmrg  # Some binutils ld are patched to set DT_RUNPATH
6258f010a93dSmrg  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
6259f010a93dSmrg    [lt_cv_shlibpath_overrides_runpath=no
6260f010a93dSmrg    save_LDFLAGS=$LDFLAGS
6261f010a93dSmrg    save_libdir=$libdir
6262f010a93dSmrg    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
6263f010a93dSmrg	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
6264f010a93dSmrg    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
6265f010a93dSmrg      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
6266f010a93dSmrg	 [lt_cv_shlibpath_overrides_runpath=yes])])
6267f010a93dSmrg    LDFLAGS=$save_LDFLAGS
6268f010a93dSmrg    libdir=$save_libdir
6269f010a93dSmrg    ])
6270f010a93dSmrg  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
627115fb4814Smrg
6272f010a93dSmrg  # This implies no fast_install, which is unacceptable.
6273f010a93dSmrg  # Some rework will be needed to allow for fast_install
6274f010a93dSmrg  # before this can be enabled.
6275f010a93dSmrg  hardcode_into_libs=yes
627615fb4814Smrg
6277f010a93dSmrg  # Ideally, we could use ldconfig to report *all* directores which are
6278f010a93dSmrg  # searched for libraries, however this is still not possible.  Aside from not
6279f010a93dSmrg  # being certain /sbin/ldconfig is available, command
6280f010a93dSmrg  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
6281f010a93dSmrg  # even though it is searched at run-time.  Try to do the best guess by
6282f010a93dSmrg  # appending ld.so.conf contents (and includes) to the search path.
6283f010a93dSmrg  if test -f /etc/ld.so.conf; then
6284f010a93dSmrg    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
6285f010a93dSmrg    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
6286f010a93dSmrg  fi
6287b4d38c65Smrg
6288f010a93dSmrg  # We used to test for /lib/ld.so.1 and disable shared libraries on
6289f010a93dSmrg  # powerpc, because MkLinux only supported shared libraries with the
6290f010a93dSmrg  # GNU dynamic linker.  Since this was broken with cross compilers,
6291f010a93dSmrg  # most powerpc-linux boxes support dynamic linking these days and
6292f010a93dSmrg  # people can always --disable-shared, the test was removed, and we
6293f010a93dSmrg  # assume the GNU/Linux dynamic linker is in use.
6294f010a93dSmrg  dynamic_linker='GNU/Linux ld.so'
6295f010a93dSmrg  ;;
629615fb4814Smrg
6297f010a93dSmrgnetbsd*)
6298f010a93dSmrg  version_type=sunos
6299f010a93dSmrg  need_lib_prefix=no
6300f010a93dSmrg  need_version=no
6301f010a93dSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6302f010a93dSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
6303f010a93dSmrg    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
6304f010a93dSmrg    dynamic_linker='NetBSD (a.out) ld.so'
6305f010a93dSmrg  else
6306f010a93dSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6307f010a93dSmrg    soname_spec='$libname$release$shared_ext$major'
6308f010a93dSmrg    dynamic_linker='NetBSD ld.elf_so'
6309f010a93dSmrg  fi
6310f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6311f010a93dSmrg  shlibpath_overrides_runpath=yes
6312f010a93dSmrg  hardcode_into_libs=yes
6313f010a93dSmrg  ;;
631415fb4814Smrg
6315f010a93dSmrgnewsos6)
6316f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6317f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6318f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6319f010a93dSmrg  shlibpath_overrides_runpath=yes
6320f010a93dSmrg  ;;
632115fb4814Smrg
6322f010a93dSmrg*nto* | *qnx*)
6323f010a93dSmrg  version_type=qnx
6324f010a93dSmrg  need_lib_prefix=no
6325f010a93dSmrg  need_version=no
6326f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6327f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6328f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6329f010a93dSmrg  shlibpath_overrides_runpath=no
6330f010a93dSmrg  hardcode_into_libs=yes
6331f010a93dSmrg  dynamic_linker='ldqnx.so'
6332f010a93dSmrg  ;;
6333b4d38c65Smrg
6334f010a93dSmrgopenbsd* | bitrig*)
6335f010a93dSmrg  version_type=sunos
6336f010a93dSmrg  sys_lib_dlsearch_path_spec=/usr/lib
6337f010a93dSmrg  need_lib_prefix=no
6338f010a93dSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
6339f010a93dSmrg    need_version=no
6340f010a93dSmrg  else
6341f010a93dSmrg    need_version=yes
6342f010a93dSmrg  fi
6343f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
6344f010a93dSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
6345f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6346f010a93dSmrg  shlibpath_overrides_runpath=yes
6347f010a93dSmrg  ;;
6348b4d38c65Smrg
6349f010a93dSmrgos2*)
6350f010a93dSmrg  libname_spec='$name'
6351f010a93dSmrg  version_type=windows
6352f010a93dSmrg  shrext_cmds=.dll
6353f010a93dSmrg  need_version=no
6354f010a93dSmrg  need_lib_prefix=no
6355f010a93dSmrg  # OS/2 can only load a DLL with a base name of 8 characters or less.
6356f010a93dSmrg  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
6357f010a93dSmrg    v=$($ECHO $release$versuffix | tr -d .-);
6358f010a93dSmrg    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
6359f010a93dSmrg    $ECHO $n$v`$shared_ext'
6360f010a93dSmrg  library_names_spec='${libname}_dll.$libext'
6361f010a93dSmrg  dynamic_linker='OS/2 ld.exe'
6362f010a93dSmrg  shlibpath_var=BEGINLIBPATH
6363f010a93dSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
6364f010a93dSmrg  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
6365f010a93dSmrg  postinstall_cmds='base_file=`basename \$file`~
6366f010a93dSmrg    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
6367f010a93dSmrg    dldir=$destdir/`dirname \$dlpath`~
6368f010a93dSmrg    test -d \$dldir || mkdir -p \$dldir~
6369f010a93dSmrg    $install_prog $dir/$dlname \$dldir/$dlname~
6370f010a93dSmrg    chmod a+x \$dldir/$dlname~
6371f010a93dSmrg    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
6372f010a93dSmrg      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
6373f010a93dSmrg    fi'
6374f010a93dSmrg  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
6375f010a93dSmrg    dlpath=$dir/\$dldll~
6376f010a93dSmrg    $RM \$dlpath'
6377f010a93dSmrg  ;;
6378b4d38c65Smrg
6379f010a93dSmrgosf3* | osf4* | osf5*)
6380f010a93dSmrg  version_type=osf
6381f010a93dSmrg  need_lib_prefix=no
6382f010a93dSmrg  need_version=no
6383f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6384f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6385f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6386f010a93dSmrg  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
6387f010a93dSmrg  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
6388f010a93dSmrg  ;;
638915fb4814Smrg
6390f010a93dSmrgrdos*)
6391f010a93dSmrg  dynamic_linker=no
6392f010a93dSmrg  ;;
639315fb4814Smrg
6394f010a93dSmrgsolaris*)
6395f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6396f010a93dSmrg  need_lib_prefix=no
6397f010a93dSmrg  need_version=no
6398f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6399f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6400f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6401f010a93dSmrg  shlibpath_overrides_runpath=yes
6402f010a93dSmrg  hardcode_into_libs=yes
6403f010a93dSmrg  # ldd complains unless libraries are executable
6404f010a93dSmrg  postinstall_cmds='chmod +x $lib'
6405f010a93dSmrg  ;;
640615fb4814Smrg
6407f010a93dSmrgsunos4*)
6408f010a93dSmrg  version_type=sunos
6409f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
6410f010a93dSmrg  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
6411f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6412f010a93dSmrg  shlibpath_overrides_runpath=yes
6413f010a93dSmrg  if test yes = "$with_gnu_ld"; then
6414f010a93dSmrg    need_lib_prefix=no
6415f010a93dSmrg  fi
6416f010a93dSmrg  need_version=yes
6417f010a93dSmrg  ;;
641815fb4814Smrg
6419f010a93dSmrgsysv4 | sysv4.3*)
6420f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6421f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6422f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6423f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6424f010a93dSmrg  case $host_vendor in
6425f010a93dSmrg    sni)
6426f010a93dSmrg      shlibpath_overrides_runpath=no
6427f010a93dSmrg      need_lib_prefix=no
6428f010a93dSmrg      runpath_var=LD_RUN_PATH
6429b4d38c65Smrg      ;;
6430f010a93dSmrg    siemens)
6431f010a93dSmrg      need_lib_prefix=no
6432f010a93dSmrg      ;;
6433f010a93dSmrg    motorola)
6434f010a93dSmrg      need_lib_prefix=no
6435f010a93dSmrg      need_version=no
6436f010a93dSmrg      shlibpath_overrides_runpath=no
6437f010a93dSmrg      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
6438f010a93dSmrg      ;;
6439f010a93dSmrg  esac
6440f010a93dSmrg  ;;
644115fb4814Smrg
6442f010a93dSmrgsysv4*MP*)
6443f010a93dSmrg  if test -d /usr/nec; then
6444f010a93dSmrg    version_type=linux # correct to gnu/linux during the next big refactor
6445f010a93dSmrg    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
6446f010a93dSmrg    soname_spec='$libname$shared_ext.$major'
6447f010a93dSmrg    shlibpath_var=LD_LIBRARY_PATH
6448f010a93dSmrg  fi
6449f010a93dSmrg  ;;
645015fb4814Smrg
6451f010a93dSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
6452f010a93dSmrg  version_type=sco
6453f010a93dSmrg  need_lib_prefix=no
6454f010a93dSmrg  need_version=no
6455f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
6456f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6457f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6458f010a93dSmrg  shlibpath_overrides_runpath=yes
6459f010a93dSmrg  hardcode_into_libs=yes
6460f010a93dSmrg  if test yes = "$with_gnu_ld"; then
6461f010a93dSmrg    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
6462f010a93dSmrg  else
6463f010a93dSmrg    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
6464f010a93dSmrg    case $host_os in
6465f010a93dSmrg      sco3.2v5*)
6466f010a93dSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
6467f010a93dSmrg	;;
6468b4d38c65Smrg    esac
6469f010a93dSmrg  fi
6470f010a93dSmrg  sys_lib_dlsearch_path_spec='/usr/lib'
6471f010a93dSmrg  ;;
647215fb4814Smrg
6473f010a93dSmrgtpf*)
6474f010a93dSmrg  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
6475f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6476f010a93dSmrg  need_lib_prefix=no
6477f010a93dSmrg  need_version=no
6478f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6479f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6480f010a93dSmrg  shlibpath_overrides_runpath=no
6481f010a93dSmrg  hardcode_into_libs=yes
6482f010a93dSmrg  ;;
648315fb4814Smrg
6484f010a93dSmrguts4*)
6485f010a93dSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6486f010a93dSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6487f010a93dSmrg  soname_spec='$libname$release$shared_ext$major'
6488f010a93dSmrg  shlibpath_var=LD_LIBRARY_PATH
6489f010a93dSmrg  ;;
649015fb4814Smrg
6491f010a93dSmrg*)
6492f010a93dSmrg  dynamic_linker=no
6493f010a93dSmrg  ;;
6494f010a93dSmrgesac
6495f010a93dSmrgAC_MSG_RESULT([$dynamic_linker])
6496f010a93dSmrgtest no = "$dynamic_linker" && can_build_shared=no
649715fb4814Smrg
6498f010a93dSmrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
6499f010a93dSmrgif test yes = "$GCC"; then
6500f010a93dSmrg  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
6501f010a93dSmrgfi
650215fb4814Smrg
6503f010a93dSmrgif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
6504f010a93dSmrg  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
6505f010a93dSmrgfi
6506b410ddbeSmrg
6507f010a93dSmrgif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
6508f010a93dSmrg  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
6509f010a93dSmrgfi
651015fb4814Smrg
6511f010a93dSmrg# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
6512f010a93dSmrgconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
651315fb4814Smrg
6514f010a93dSmrg# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
6515f010a93dSmrgfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
651615fb4814Smrg
6517f010a93dSmrg# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
6518f010a93dSmrgconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
651915fb4814Smrg
6520f010a93dSmrg_LT_DECL([], [variables_saved_for_relink], [1],
6521f010a93dSmrg    [Variables whose values should be saved in libtool wrapper scripts and
6522f010a93dSmrg    restored at link time])
6523f010a93dSmrg_LT_DECL([], [need_lib_prefix], [0],
6524f010a93dSmrg    [Do we need the "lib" prefix for modules?])
6525f010a93dSmrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
6526f010a93dSmrg_LT_DECL([], [version_type], [0], [Library versioning type])
6527f010a93dSmrg_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
6528f010a93dSmrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
6529f010a93dSmrg_LT_DECL([], [shlibpath_overrides_runpath], [0],
6530f010a93dSmrg    [Is shlibpath searched before the hard-coded library search path?])
6531f010a93dSmrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
6532f010a93dSmrg_LT_DECL([], [library_names_spec], [1],
6533f010a93dSmrg    [[List of archive names.  First name is the real one, the rest are links.
6534f010a93dSmrg    The last name is the one that the linker finds with -lNAME]])
6535f010a93dSmrg_LT_DECL([], [soname_spec], [1],
6536f010a93dSmrg    [[The coded name of the library, if different from the real name]])
6537f010a93dSmrg_LT_DECL([], [install_override_mode], [1],
6538f010a93dSmrg    [Permission mode override for installation of shared libraries])
6539f010a93dSmrg_LT_DECL([], [postinstall_cmds], [2],
6540f010a93dSmrg    [Command to use after installation of a shared archive])
6541f010a93dSmrg_LT_DECL([], [postuninstall_cmds], [2],
6542f010a93dSmrg    [Command to use after uninstallation of a shared archive])
6543f010a93dSmrg_LT_DECL([], [finish_cmds], [2],
6544f010a93dSmrg    [Commands used to finish a libtool library installation in a directory])
6545f010a93dSmrg_LT_DECL([], [finish_eval], [1],
6546f010a93dSmrg    [[As "finish_cmds", except a single script fragment to be evaled but
6547f010a93dSmrg    not shown]])
6548f010a93dSmrg_LT_DECL([], [hardcode_into_libs], [0],
6549f010a93dSmrg    [Whether we should hardcode library paths into libraries])
6550f010a93dSmrg_LT_DECL([], [sys_lib_search_path_spec], [2],
6551f010a93dSmrg    [Compile-time system search path for libraries])
6552f010a93dSmrg_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
6553f010a93dSmrg    [Detected run-time system search path for libraries])
6554f010a93dSmrg_LT_DECL([], [configure_time_lt_sys_library_path], [2],
6555f010a93dSmrg    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
6556f010a93dSmrg])# _LT_SYS_DYNAMIC_LINKER
655715fb4814Smrg
655815fb4814Smrg
6559f010a93dSmrg# _LT_PATH_TOOL_PREFIX(TOOL)
6560f010a93dSmrg# --------------------------
6561f010a93dSmrg# find a file program that can recognize shared library
6562f010a93dSmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX],
6563f010a93dSmrg[m4_require([_LT_DECL_EGREP])dnl
6564f010a93dSmrgAC_MSG_CHECKING([for $1])
6565f010a93dSmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
6566f010a93dSmrg[case $MAGIC_CMD in
6567f010a93dSmrg[[\\/*] |  ?:[\\/]*])
6568f010a93dSmrg  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
6569f010a93dSmrg  ;;
6570f010a93dSmrg*)
6571f010a93dSmrg  lt_save_MAGIC_CMD=$MAGIC_CMD
6572f010a93dSmrg  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
6573f010a93dSmrgdnl $ac_dummy forces splitting on constant user-supplied paths.
6574f010a93dSmrgdnl POSIX.2 word splitting is done only on the output of word expansions,
6575f010a93dSmrgdnl not every word.  This closes a longstanding sh security hole.
6576f010a93dSmrg  ac_dummy="m4_if([$2], , $PATH, [$2])"
6577f010a93dSmrg  for ac_dir in $ac_dummy; do
6578f010a93dSmrg    IFS=$lt_save_ifs
6579f010a93dSmrg    test -z "$ac_dir" && ac_dir=.
6580f010a93dSmrg    if test -f "$ac_dir/$1"; then
6581f010a93dSmrg      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
6582f010a93dSmrg      if test -n "$file_magic_test_file"; then
6583f010a93dSmrg	case $deplibs_check_method in
6584f010a93dSmrg	"file_magic "*)
6585f010a93dSmrg	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
6586f010a93dSmrg	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
6587f010a93dSmrg	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
6588f010a93dSmrg	    $EGREP "$file_magic_regex" > /dev/null; then
6589f010a93dSmrg	    :
6590f010a93dSmrg	  else
6591f010a93dSmrg	    cat <<_LT_EOF 1>&2
659215fb4814Smrg
6593f010a93dSmrg*** Warning: the command libtool uses to detect shared libraries,
6594f010a93dSmrg*** $file_magic_cmd, produces output that libtool cannot recognize.
6595f010a93dSmrg*** The result is that libtool may fail to recognize shared libraries
6596f010a93dSmrg*** as such.  This will affect the creation of libtool libraries that
6597f010a93dSmrg*** depend on shared libraries, but programs linked with such libtool
6598f010a93dSmrg*** libraries will work regardless of this problem.  Nevertheless, you
6599f010a93dSmrg*** may want to report the problem to your system manager and/or to
6600f010a93dSmrg*** bug-libtool@gnu.org
660115fb4814Smrg
6602f010a93dSmrg_LT_EOF
6603f010a93dSmrg	  fi ;;
6604f010a93dSmrg	esac
6605f010a93dSmrg      fi
6606f010a93dSmrg      break
6607f010a93dSmrg    fi
6608b4d38c65Smrg  done
6609f010a93dSmrg  IFS=$lt_save_ifs
6610f010a93dSmrg  MAGIC_CMD=$lt_save_MAGIC_CMD
6611f010a93dSmrg  ;;
6612f010a93dSmrgesac])
6613f010a93dSmrgMAGIC_CMD=$lt_cv_path_MAGIC_CMD
6614f010a93dSmrgif test -n "$MAGIC_CMD"; then
6615f010a93dSmrg  AC_MSG_RESULT($MAGIC_CMD)
6616b4d38c65Smrgelse
6617f010a93dSmrg  AC_MSG_RESULT(no)
6618b4d38c65Smrgfi
6619f010a93dSmrg_LT_DECL([], [MAGIC_CMD], [0],
6620f010a93dSmrg	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
6621f010a93dSmrg])# _LT_PATH_TOOL_PREFIX
6622b4d38c65Smrg
6623f010a93dSmrg# Old name:
6624f010a93dSmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
6625f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
6626f010a93dSmrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
6627b4d38c65Smrg
6628b4d38c65Smrg
6629f010a93dSmrg# _LT_PATH_MAGIC
6630f010a93dSmrg# --------------
6631f010a93dSmrg# find a file program that can recognize a shared library
6632f010a93dSmrgm4_defun([_LT_PATH_MAGIC],
6633f010a93dSmrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
6634f010a93dSmrgif test -z "$lt_cv_path_MAGIC_CMD"; then
6635f010a93dSmrg  if test -n "$ac_tool_prefix"; then
6636f010a93dSmrg    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
6637f010a93dSmrg  else
6638f010a93dSmrg    MAGIC_CMD=:
6639f010a93dSmrg  fi
6640f010a93dSmrgfi
6641f010a93dSmrg])# _LT_PATH_MAGIC
6642b4d38c65Smrg
6643b4d38c65Smrg
6644f010a93dSmrg# LT_PATH_LD
6645f010a93dSmrg# ----------
6646f010a93dSmrg# find the pathname to the GNU or non-GNU linker
6647f010a93dSmrgAC_DEFUN([LT_PATH_LD],
6648f010a93dSmrg[AC_REQUIRE([AC_PROG_CC])dnl
6649f010a93dSmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl
6650f010a93dSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
6651f010a93dSmrgm4_require([_LT_DECL_SED])dnl
6652f010a93dSmrgm4_require([_LT_DECL_EGREP])dnl
6653f010a93dSmrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl
6654b4d38c65Smrg
6655f010a93dSmrgAC_ARG_WITH([gnu-ld],
6656f010a93dSmrg    [AS_HELP_STRING([--with-gnu-ld],
6657f010a93dSmrg	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
6658f010a93dSmrg    [test no = "$withval" || with_gnu_ld=yes],
6659f010a93dSmrg    [with_gnu_ld=no])dnl
666015fb4814Smrg
6661f010a93dSmrgac_prog=ld
6662f010a93dSmrgif test yes = "$GCC"; then
6663f010a93dSmrg  # Check if gcc -print-prog-name=ld gives a path.
6664f010a93dSmrg  AC_MSG_CHECKING([for ld used by $CC])
6665f010a93dSmrg  case $host in
6666f010a93dSmrg  *-*-mingw*)
6667f010a93dSmrg    # gcc leaves a trailing carriage return, which upsets mingw
6668f010a93dSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
6669f010a93dSmrg  *)
6670f010a93dSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
6671f010a93dSmrg  esac
6672f010a93dSmrg  case $ac_prog in
6673f010a93dSmrg    # Accept absolute paths.
6674f010a93dSmrg    [[\\/]]* | ?:[[\\/]]*)
6675f010a93dSmrg      re_direlt='/[[^/]][[^/]]*/\.\./'
6676f010a93dSmrg      # Canonicalize the pathname of ld
6677f010a93dSmrg      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
6678f010a93dSmrg      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
6679f010a93dSmrg	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
6680f010a93dSmrg      done
6681f010a93dSmrg      test -z "$LD" && LD=$ac_prog
6682f010a93dSmrg      ;;
6683f010a93dSmrg  "")
6684f010a93dSmrg    # If it fails, then pretend we aren't using GCC.
6685f010a93dSmrg    ac_prog=ld
6686f010a93dSmrg    ;;
6687f010a93dSmrg  *)
6688f010a93dSmrg    # If it is relative, then search for the first ld in PATH.
6689f010a93dSmrg    with_gnu_ld=unknown
6690b4d38c65Smrg    ;;
6691b4d38c65Smrg  esac
6692f010a93dSmrgelif test yes = "$with_gnu_ld"; then
6693f010a93dSmrg  AC_MSG_CHECKING([for GNU ld])
6694f010a93dSmrgelse
6695f010a93dSmrg  AC_MSG_CHECKING([for non-GNU ld])
6696b4d38c65Smrgfi
6697f010a93dSmrgAC_CACHE_VAL(lt_cv_path_LD,
6698f010a93dSmrg[if test -z "$LD"; then
6699f010a93dSmrg  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
6700f010a93dSmrg  for ac_dir in $PATH; do
6701f010a93dSmrg    IFS=$lt_save_ifs
6702f010a93dSmrg    test -z "$ac_dir" && ac_dir=.
6703f010a93dSmrg    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
6704f010a93dSmrg      lt_cv_path_LD=$ac_dir/$ac_prog
6705f010a93dSmrg      # Check to see if the program is GNU ld.  I'd rather use --version,
6706f010a93dSmrg      # but apparently some variants of GNU ld only accept -v.
6707f010a93dSmrg      # Break only if it was the GNU/non-GNU ld that we prefer.
6708f010a93dSmrg      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
6709f010a93dSmrg      *GNU* | *'with BFD'*)
6710f010a93dSmrg	test no != "$with_gnu_ld" && break
6711f010a93dSmrg	;;
6712f010a93dSmrg      *)
6713f010a93dSmrg	test yes != "$with_gnu_ld" && break
6714f010a93dSmrg	;;
6715f010a93dSmrg      esac
6716f010a93dSmrg    fi
6717f010a93dSmrg  done
6718f010a93dSmrg  IFS=$lt_save_ifs
6719f010a93dSmrgelse
6720f010a93dSmrg  lt_cv_path_LD=$LD # Let the user override the test with a path.
6721f010a93dSmrgfi])
6722f010a93dSmrgLD=$lt_cv_path_LD
6723f010a93dSmrgif test -n "$LD"; then
6724f010a93dSmrg  AC_MSG_RESULT($LD)
6725f010a93dSmrgelse
6726f010a93dSmrg  AC_MSG_RESULT(no)
6727f010a93dSmrgfi
6728f010a93dSmrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
6729f010a93dSmrg_LT_PATH_LD_GNU
6730f010a93dSmrgAC_SUBST([LD])
673115fb4814Smrg
6732f010a93dSmrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
6733f010a93dSmrg])# LT_PATH_LD
6734b4d38c65Smrg
6735f010a93dSmrg# Old names:
6736f010a93dSmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
6737f010a93dSmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
6738f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
6739f010a93dSmrgdnl AC_DEFUN([AM_PROG_LD], [])
6740f010a93dSmrgdnl AC_DEFUN([AC_PROG_LD], [])
6741b410ddbeSmrg
6742b410ddbeSmrg
6743f010a93dSmrg# _LT_PATH_LD_GNU
6744f010a93dSmrg#- --------------
6745f010a93dSmrgm4_defun([_LT_PATH_LD_GNU],
6746f010a93dSmrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
6747f010a93dSmrg[# I'd rather use --version here, but apparently some GNU lds only accept -v.
6748f010a93dSmrgcase `$LD -v 2>&1 </dev/null` in
6749f010a93dSmrg*GNU* | *'with BFD'*)
6750f010a93dSmrg  lt_cv_prog_gnu_ld=yes
6751f010a93dSmrg  ;;
6752f010a93dSmrg*)
6753f010a93dSmrg  lt_cv_prog_gnu_ld=no
6754f010a93dSmrg  ;;
6755f010a93dSmrgesac])
6756f010a93dSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld
6757f010a93dSmrg])# _LT_PATH_LD_GNU
6758b4d38c65Smrg
6759b4d38c65Smrg
6760f010a93dSmrg# _LT_CMD_RELOAD
6761f010a93dSmrg# --------------
6762f010a93dSmrg# find reload flag for linker
6763f010a93dSmrg#   -- PORTME Some linkers may need a different reload flag.
6764f010a93dSmrgm4_defun([_LT_CMD_RELOAD],
6765f010a93dSmrg[AC_CACHE_CHECK([for $LD option to reload object files],
6766f010a93dSmrg  lt_cv_ld_reload_flag,
6767f010a93dSmrg  [lt_cv_ld_reload_flag='-r'])
6768f010a93dSmrgreload_flag=$lt_cv_ld_reload_flag
6769f010a93dSmrgcase $reload_flag in
6770f010a93dSmrg"" | " "*) ;;
6771f010a93dSmrg*) reload_flag=" $reload_flag" ;;
6772f010a93dSmrgesac
6773f010a93dSmrgreload_cmds='$LD$reload_flag -o $output$reload_objs'
6774f010a93dSmrgcase $host_os in
6775f010a93dSmrg  cygwin* | mingw* | pw32* | cegcc*)
6776f010a93dSmrg    if test yes != "$GCC"; then
6777f010a93dSmrg      reload_cmds=false
6778f010a93dSmrg    fi
6779f010a93dSmrg    ;;
6780f010a93dSmrg  darwin*)
6781f010a93dSmrg    if test yes = "$GCC"; then
6782f010a93dSmrg      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
6783f010a93dSmrg    else
6784f010a93dSmrg      reload_cmds='$LD$reload_flag -o $output$reload_objs'
6785f010a93dSmrg    fi
6786f010a93dSmrg    ;;
6787f010a93dSmrgesac
6788f010a93dSmrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
6789f010a93dSmrg_LT_TAGDECL([], [reload_cmds], [2])dnl
6790f010a93dSmrg])# _LT_CMD_RELOAD
679115fb4814Smrg
679215fb4814Smrg
6793f010a93dSmrg# _LT_PATH_DD
6794f010a93dSmrg# -----------
6795f010a93dSmrg# find a working dd
6796f010a93dSmrgm4_defun([_LT_PATH_DD],
6797f010a93dSmrg[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
6798f010a93dSmrg[printf 0123456789abcdef0123456789abcdef >conftest.i
6799f010a93dSmrgcat conftest.i conftest.i >conftest2.i
6800f010a93dSmrg: ${lt_DD:=$DD}
6801f010a93dSmrgAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
6802f010a93dSmrg[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
6803f010a93dSmrg  cmp -s conftest.i conftest.out \
6804f010a93dSmrg  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
6805f010a93dSmrgfi])
6806f010a93dSmrgrm -f conftest.i conftest2.i conftest.out])
6807f010a93dSmrg])# _LT_PATH_DD
6808b4d38c65Smrg
6809b4d38c65Smrg
6810f010a93dSmrg# _LT_CMD_TRUNCATE
6811f010a93dSmrg# ----------------
6812f010a93dSmrg# find command to truncate a binary pipe
6813f010a93dSmrgm4_defun([_LT_CMD_TRUNCATE],
6814f010a93dSmrg[m4_require([_LT_PATH_DD])
6815f010a93dSmrgAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
6816f010a93dSmrg[printf 0123456789abcdef0123456789abcdef >conftest.i
6817f010a93dSmrgcat conftest.i conftest.i >conftest2.i
6818f010a93dSmrglt_cv_truncate_bin=
6819f010a93dSmrgif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
6820f010a93dSmrg  cmp -s conftest.i conftest.out \
6821f010a93dSmrg  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
6822f010a93dSmrgfi
6823f010a93dSmrgrm -f conftest.i conftest2.i conftest.out
6824f010a93dSmrgtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
6825f010a93dSmrg_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
6826f010a93dSmrg  [Command to truncate a binary pipe])
6827f010a93dSmrg])# _LT_CMD_TRUNCATE
6828b4d38c65Smrg
6829b4d38c65Smrg
6830f010a93dSmrg# _LT_CHECK_MAGIC_METHOD
6831f010a93dSmrg# ----------------------
6832f010a93dSmrg# how to check for library dependencies
6833f010a93dSmrg#  -- PORTME fill in with the dynamic library characteristics
6834f010a93dSmrgm4_defun([_LT_CHECK_MAGIC_METHOD],
6835f010a93dSmrg[m4_require([_LT_DECL_EGREP])
6836f010a93dSmrgm4_require([_LT_DECL_OBJDUMP])
6837f010a93dSmrgAC_CACHE_CHECK([how to recognize dependent libraries],
6838f010a93dSmrglt_cv_deplibs_check_method,
6839f010a93dSmrg[lt_cv_file_magic_cmd='$MAGIC_CMD'
6840f010a93dSmrglt_cv_file_magic_test_file=
6841f010a93dSmrglt_cv_deplibs_check_method='unknown'
6842f010a93dSmrg# Need to set the preceding variable on all platforms that support
6843f010a93dSmrg# interlibrary dependencies.
6844f010a93dSmrg# 'none' -- dependencies not supported.
6845f010a93dSmrg# 'unknown' -- same as none, but documents that we really don't know.
6846f010a93dSmrg# 'pass_all' -- all dependencies passed with no checks.
6847f010a93dSmrg# 'test_compile' -- check by making test program.
6848f010a93dSmrg# 'file_magic [[regex]]' -- check by looking for files in library path
6849f010a93dSmrg# that responds to the $file_magic_cmd with a given extended regex.
6850f010a93dSmrg# If you have 'file' or equivalent on your system and you're not sure
6851f010a93dSmrg# whether 'pass_all' will *always* work, you probably want this one.
6852b4d38c65Smrg
6853f010a93dSmrgcase $host_os in
6854f010a93dSmrgaix[[4-9]]*)
6855f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6856f010a93dSmrg  ;;
685715fb4814Smrg
6858f010a93dSmrgbeos*)
6859f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6860f010a93dSmrg  ;;
6861b410ddbeSmrg
6862f010a93dSmrgbsdi[[45]]*)
6863f010a93dSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
6864f010a93dSmrg  lt_cv_file_magic_cmd='$FILECMD -L'
6865f010a93dSmrg  lt_cv_file_magic_test_file=/shlib/libc.so
6866f010a93dSmrg  ;;
6867b410ddbeSmrg
6868f010a93dSmrgcygwin*)
6869f010a93dSmrg  # func_win32_libid is a shell function defined in ltmain.sh
6870f010a93dSmrg  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
6871f010a93dSmrg  lt_cv_file_magic_cmd='func_win32_libid'
6872f010a93dSmrg  ;;
6873b4d38c65Smrg
6874f010a93dSmrgmingw* | pw32*)
6875f010a93dSmrg  # Base MSYS/MinGW do not provide the 'file' command needed by
6876f010a93dSmrg  # func_win32_libid shell function, so use a weaker test based on 'objdump',
6877f010a93dSmrg  # unless we find 'file', for example because we are cross-compiling.
6878f010a93dSmrg  if ( file / ) >/dev/null 2>&1; then
6879f010a93dSmrg    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
6880f010a93dSmrg    lt_cv_file_magic_cmd='func_win32_libid'
6881f010a93dSmrg  else
6882f010a93dSmrg    # Keep this pattern in sync with the one in func_win32_libid.
6883f010a93dSmrg    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
6884f010a93dSmrg    lt_cv_file_magic_cmd='$OBJDUMP -f'
6885f010a93dSmrg  fi
6886f010a93dSmrg  ;;
6887b410ddbeSmrg
6888f010a93dSmrgcegcc*)
6889f010a93dSmrg  # use the weaker test based on 'objdump'. See mingw*.
6890f010a93dSmrg  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
6891f010a93dSmrg  lt_cv_file_magic_cmd='$OBJDUMP -f'
6892f010a93dSmrg  ;;
6893b4d38c65Smrg
6894f010a93dSmrgdarwin* | rhapsody*)
6895f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6896f010a93dSmrg  ;;
6897b4d38c65Smrg
6898f010a93dSmrgfreebsd* | dragonfly* | midnightbsd*)
6899f010a93dSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
6900f010a93dSmrg    case $host_cpu in
6901f010a93dSmrg    i*86 )
6902f010a93dSmrg      # Not sure whether the presence of OpenBSD here was a mistake.
6903f010a93dSmrg      # Let's accept both of them until this is cleared up.
6904f010a93dSmrg      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
6905f010a93dSmrg      lt_cv_file_magic_cmd=$FILECMD
6906f010a93dSmrg      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
6907f010a93dSmrg      ;;
6908f010a93dSmrg    esac
6909f010a93dSmrg  else
6910f010a93dSmrg    lt_cv_deplibs_check_method=pass_all
6911f010a93dSmrg  fi
6912f010a93dSmrg  ;;
6913b4d38c65Smrg
6914f010a93dSmrghaiku*)
6915f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6916f010a93dSmrg  ;;
6917b4d38c65Smrg
6918f010a93dSmrghpux10.20* | hpux11*)
6919f010a93dSmrg  lt_cv_file_magic_cmd=$FILECMD
6920f010a93dSmrg  case $host_cpu in
6921f010a93dSmrg  ia64*)
6922f010a93dSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
6923f010a93dSmrg    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
6924f010a93dSmrg    ;;
6925f010a93dSmrg  hppa*64*)
6926f010a93dSmrg    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
6927f010a93dSmrg    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
6928f010a93dSmrg    ;;
6929f010a93dSmrg  *)
6930f010a93dSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
6931f010a93dSmrg    lt_cv_file_magic_test_file=/usr/lib/libc.sl
6932f010a93dSmrg    ;;
6933f010a93dSmrg  esac
6934f010a93dSmrg  ;;
6935b4d38c65Smrg
6936f010a93dSmrginterix[[3-9]]*)
6937f010a93dSmrg  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
6938f010a93dSmrg  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
6939f010a93dSmrg  ;;
6940b4d38c65Smrg
6941f010a93dSmrgirix5* | irix6* | nonstopux*)
6942f010a93dSmrg  case $LD in
6943f010a93dSmrg  *-32|*"-32 ") libmagic=32-bit;;
6944f010a93dSmrg  *-n32|*"-n32 ") libmagic=N32;;
6945f010a93dSmrg  *-64|*"-64 ") libmagic=64-bit;;
6946f010a93dSmrg  *) libmagic=never-match;;
6947f010a93dSmrg  esac
6948f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6949f010a93dSmrg  ;;
6950b4d38c65Smrg
6951f010a93dSmrg# This must be glibc/ELF.
6952f010a93dSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6953f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6954f010a93dSmrg  ;;
6955b4d38c65Smrg
6956f010a93dSmrgnetbsd*)
6957f010a93dSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
6958f010a93dSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
6959f010a93dSmrg  else
6960f010a93dSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
6961f010a93dSmrg  fi
6962f010a93dSmrg  ;;
6963b4d38c65Smrg
6964f010a93dSmrgnewos6*)
6965f010a93dSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
6966f010a93dSmrg  lt_cv_file_magic_cmd=$FILECMD
6967f010a93dSmrg  lt_cv_file_magic_test_file=/usr/lib/libnls.so
6968f010a93dSmrg  ;;
6969b534f209Smrg
6970f010a93dSmrg*nto* | *qnx*)
6971f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6972f010a93dSmrg  ;;
6973b534f209Smrg
6974f010a93dSmrgopenbsd* | bitrig*)
6975f010a93dSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
6976f010a93dSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
6977f010a93dSmrg  else
6978f010a93dSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
6979f010a93dSmrg  fi
6980f010a93dSmrg  ;;
6981b534f209Smrg
6982f010a93dSmrgosf3* | osf4* | osf5*)
6983f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6984f010a93dSmrg  ;;
6985b534f209Smrg
6986f010a93dSmrgrdos*)
6987f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6988f010a93dSmrg  ;;
6989b534f209Smrg
6990f010a93dSmrgsolaris*)
6991f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6992f010a93dSmrg  ;;
6993b534f209Smrg
6994f010a93dSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
6995f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
6996f010a93dSmrg  ;;
6997b534f209Smrg
6998f010a93dSmrgsysv4 | sysv4.3*)
6999f010a93dSmrg  case $host_vendor in
7000f010a93dSmrg  motorola)
7001f010a93dSmrg    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]]'
7002f010a93dSmrg    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
7003f010a93dSmrg    ;;
7004f010a93dSmrg  ncr)
7005f010a93dSmrg    lt_cv_deplibs_check_method=pass_all
7006f010a93dSmrg    ;;
7007f010a93dSmrg  sequent)
7008f010a93dSmrg    lt_cv_file_magic_cmd='/bin/file'
7009f010a93dSmrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
7010f010a93dSmrg    ;;
7011f010a93dSmrg  sni)
7012f010a93dSmrg    lt_cv_file_magic_cmd='/bin/file'
7013f010a93dSmrg    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
7014f010a93dSmrg    lt_cv_file_magic_test_file=/lib/libc.so
7015f010a93dSmrg    ;;
7016f010a93dSmrg  siemens)
7017f010a93dSmrg    lt_cv_deplibs_check_method=pass_all
7018f010a93dSmrg    ;;
7019f010a93dSmrg  pc)
7020f010a93dSmrg    lt_cv_deplibs_check_method=pass_all
7021f010a93dSmrg    ;;
7022f010a93dSmrg  esac
7023f010a93dSmrg  ;;
7024b534f209Smrg
7025f010a93dSmrgtpf*)
7026f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
7027f010a93dSmrg  ;;
7028f010a93dSmrgos2*)
7029f010a93dSmrg  lt_cv_deplibs_check_method=pass_all
7030f010a93dSmrg  ;;
7031f010a93dSmrgesac
7032f010a93dSmrg])
7033b534f209Smrg
7034f010a93dSmrgfile_magic_glob=
7035f010a93dSmrgwant_nocaseglob=no
7036f010a93dSmrgif test "$build" = "$host"; then
7037f010a93dSmrg  case $host_os in
7038f010a93dSmrg  mingw* | pw32*)
7039f010a93dSmrg    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
7040f010a93dSmrg      want_nocaseglob=yes
7041f010a93dSmrg    else
7042f010a93dSmrg      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
7043f010a93dSmrg    fi
7044f010a93dSmrg    ;;
7045f010a93dSmrg  esac
7046f010a93dSmrgfi
7047b534f209Smrg
7048f010a93dSmrgfile_magic_cmd=$lt_cv_file_magic_cmd
7049f010a93dSmrgdeplibs_check_method=$lt_cv_deplibs_check_method
7050f010a93dSmrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown
7051b534f209Smrg
7052f010a93dSmrg_LT_DECL([], [deplibs_check_method], [1],
7053f010a93dSmrg    [Method to check whether dependent libraries are shared objects])
7054f010a93dSmrg_LT_DECL([], [file_magic_cmd], [1],
7055f010a93dSmrg    [Command to use when deplibs_check_method = "file_magic"])
7056f010a93dSmrg_LT_DECL([], [file_magic_glob], [1],
7057f010a93dSmrg    [How to find potential files when deplibs_check_method = "file_magic"])
7058f010a93dSmrg_LT_DECL([], [want_nocaseglob], [1],
7059f010a93dSmrg    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
7060f010a93dSmrg])# _LT_CHECK_MAGIC_METHOD
7061b534f209Smrg
7062b534f209Smrg
7063f010a93dSmrg# LT_PATH_NM
7064f010a93dSmrg# ----------
7065f010a93dSmrg# find the pathname to a BSD- or MS-compatible name lister
7066f010a93dSmrgAC_DEFUN([LT_PATH_NM],
7067f010a93dSmrg[AC_REQUIRE([AC_PROG_CC])dnl
7068f010a93dSmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
7069f010a93dSmrg[if test -n "$NM"; then
7070f010a93dSmrg  # Let the user override the test.
7071f010a93dSmrg  lt_cv_path_NM=$NM
7072f010a93dSmrgelse
7073f010a93dSmrg  lt_nm_to_check=${ac_tool_prefix}nm
7074f010a93dSmrg  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
7075f010a93dSmrg    lt_nm_to_check="$lt_nm_to_check nm"
7076f010a93dSmrg  fi
7077f010a93dSmrg  for lt_tmp_nm in $lt_nm_to_check; do
7078f010a93dSmrg    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
7079f010a93dSmrg    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
7080f010a93dSmrg      IFS=$lt_save_ifs
7081f010a93dSmrg      test -z "$ac_dir" && ac_dir=.
7082f010a93dSmrg      tmp_nm=$ac_dir/$lt_tmp_nm
7083f010a93dSmrg      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
7084f010a93dSmrg	# Check to see if the nm accepts a BSD-compat flag.
7085f010a93dSmrg	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
7086f010a93dSmrg	#   nm: unknown option "B" ignored
7087f010a93dSmrg	# Tru64's nm complains that /dev/null is an invalid object file
7088f010a93dSmrg	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
7089f010a93dSmrg	case $build_os in
7090f010a93dSmrg	mingw*) lt_bad_file=conftest.nm/nofile ;;
7091f010a93dSmrg	*) lt_bad_file=/dev/null ;;
7092f010a93dSmrg	esac
7093f010a93dSmrg	case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
7094f010a93dSmrg	*$lt_bad_file* | *'Invalid file or object type'*)
7095f010a93dSmrg	  lt_cv_path_NM="$tmp_nm -B"
7096f010a93dSmrg	  break 2
7097f010a93dSmrg	  ;;
7098f010a93dSmrg	*)
7099f010a93dSmrg	  case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
7100f010a93dSmrg	  */dev/null*)
7101f010a93dSmrg	    lt_cv_path_NM="$tmp_nm -p"
7102f010a93dSmrg	    break 2
7103f010a93dSmrg	    ;;
7104f010a93dSmrg	  *)
7105f010a93dSmrg	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
7106f010a93dSmrg	    continue # so that we can try to find one that supports BSD flags
7107f010a93dSmrg	    ;;
7108f010a93dSmrg	  esac
7109f010a93dSmrg	  ;;
7110f010a93dSmrg	esac
7111f010a93dSmrg      fi
7112f010a93dSmrg    done
7113f010a93dSmrg    IFS=$lt_save_ifs
7114f010a93dSmrg  done
7115f010a93dSmrg  : ${lt_cv_path_NM=no}
7116f010a93dSmrgfi])
7117f010a93dSmrgif test no != "$lt_cv_path_NM"; then
7118f010a93dSmrg  NM=$lt_cv_path_NM
7119f010a93dSmrgelse
7120f010a93dSmrg  # Didn't find any BSD compatible name lister, look for dumpbin.
7121f010a93dSmrg  if test -n "$DUMPBIN"; then :
7122f010a93dSmrg    # Let the user override the test.
7123f010a93dSmrg  else
7124f010a93dSmrg    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
7125f010a93dSmrg    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
7126f010a93dSmrg    *COFF*)
7127f010a93dSmrg      DUMPBIN="$DUMPBIN -symbols -headers"
7128f010a93dSmrg      ;;
7129f010a93dSmrg    *)
7130f010a93dSmrg      DUMPBIN=:
7131f010a93dSmrg      ;;
7132f010a93dSmrg    esac
7133f010a93dSmrg  fi
7134f010a93dSmrg  AC_SUBST([DUMPBIN])
7135f010a93dSmrg  if test : != "$DUMPBIN"; then
7136f010a93dSmrg    NM=$DUMPBIN
7137f010a93dSmrg  fi
7138f010a93dSmrgfi
7139f010a93dSmrgtest -z "$NM" && NM=nm
7140f010a93dSmrgAC_SUBST([NM])
7141f010a93dSmrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
7142b534f209Smrg
7143f010a93dSmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
7144f010a93dSmrg  [lt_cv_nm_interface="BSD nm"
7145f010a93dSmrg  echo "int some_variable = 0;" > conftest.$ac_ext
7146f010a93dSmrg  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
7147f010a93dSmrg  (eval "$ac_compile" 2>conftest.err)
7148f010a93dSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
7149f010a93dSmrg  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
7150f010a93dSmrg  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
7151f010a93dSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
7152f010a93dSmrg  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
7153f010a93dSmrg  cat conftest.out >&AS_MESSAGE_LOG_FD
7154f010a93dSmrg  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
7155f010a93dSmrg    lt_cv_nm_interface="MS dumpbin"
7156f010a93dSmrg  fi
7157f010a93dSmrg  rm -f conftest*])
7158f010a93dSmrg])# LT_PATH_NM
7159f010a93dSmrg
7160f010a93dSmrg# Old names:
7161f010a93dSmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
7162f010a93dSmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
7163f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
7164f010a93dSmrgdnl AC_DEFUN([AM_PROG_NM], [])
7165f010a93dSmrgdnl AC_DEFUN([AC_PROG_NM], [])
7166f010a93dSmrg
7167f010a93dSmrg# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
7168f010a93dSmrg# --------------------------------
7169f010a93dSmrg# how to determine the name of the shared library
7170f010a93dSmrg# associated with a specific link library.
7171f010a93dSmrg#  -- PORTME fill in with the dynamic library characteristics
7172f010a93dSmrgm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
7173f010a93dSmrg[m4_require([_LT_DECL_EGREP])
7174f010a93dSmrgm4_require([_LT_DECL_OBJDUMP])
7175f010a93dSmrgm4_require([_LT_DECL_DLLTOOL])
7176f010a93dSmrgAC_CACHE_CHECK([how to associate runtime and link libraries],
7177f010a93dSmrglt_cv_sharedlib_from_linklib_cmd,
7178f010a93dSmrg[lt_cv_sharedlib_from_linklib_cmd='unknown'
7179f010a93dSmrg
7180f010a93dSmrgcase $host_os in
7181f010a93dSmrgcygwin* | mingw* | pw32* | cegcc*)
7182f010a93dSmrg  # two different shell functions defined in ltmain.sh;
7183f010a93dSmrg  # decide which one to use based on capabilities of $DLLTOOL
7184f010a93dSmrg  case `$DLLTOOL --help 2>&1` in
7185f010a93dSmrg  *--identify-strict*)
7186f010a93dSmrg    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
7187f010a93dSmrg    ;;
7188f010a93dSmrg  *)
7189f010a93dSmrg    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
7190f010a93dSmrg    ;;
7191f010a93dSmrg  esac
7192f010a93dSmrg  ;;
7193f010a93dSmrg*)
7194f010a93dSmrg  # fallback: assume linklib IS sharedlib
7195f010a93dSmrg  lt_cv_sharedlib_from_linklib_cmd=$ECHO
7196f010a93dSmrg  ;;
7197f010a93dSmrgesac
7198f010a93dSmrg])
7199f010a93dSmrgsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
7200f010a93dSmrgtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
7201f010a93dSmrg
7202f010a93dSmrg_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
7203f010a93dSmrg    [Command to associate shared and link libraries])
7204f010a93dSmrg])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
7205f010a93dSmrg
7206f010a93dSmrg
7207f010a93dSmrg# _LT_PATH_MANIFEST_TOOL
7208f010a93dSmrg# ----------------------
7209f010a93dSmrg# locate the manifest tool
7210f010a93dSmrgm4_defun([_LT_PATH_MANIFEST_TOOL],
7211f010a93dSmrg[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
7212f010a93dSmrgtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
7213f010a93dSmrgAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
7214f010a93dSmrg  [lt_cv_path_mainfest_tool=no
7215f010a93dSmrg  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
7216f010a93dSmrg  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
7217f010a93dSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
7218f010a93dSmrg  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
7219f010a93dSmrg    lt_cv_path_mainfest_tool=yes
7220f010a93dSmrg  fi
7221f010a93dSmrg  rm -f conftest*])
7222f010a93dSmrgif test yes != "$lt_cv_path_mainfest_tool"; then
7223f010a93dSmrg  MANIFEST_TOOL=:
7224f010a93dSmrgfi
7225f010a93dSmrg_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
7226f010a93dSmrg])# _LT_PATH_MANIFEST_TOOL
7227f010a93dSmrg
7228f010a93dSmrg
7229f010a93dSmrg# _LT_DLL_DEF_P([FILE])
7230f010a93dSmrg# ---------------------
7231f010a93dSmrg# True iff FILE is a Windows DLL '.def' file.
7232f010a93dSmrg# Keep in sync with func_dll_def_p in the libtool script
7233f010a93dSmrgAC_DEFUN([_LT_DLL_DEF_P],
7234f010a93dSmrg[dnl
7235f010a93dSmrg  test DEF = "`$SED -n dnl
7236f010a93dSmrg    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
7237f010a93dSmrg    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
7238f010a93dSmrg    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
7239f010a93dSmrg    -e q dnl                          Only consider the first "real" line
7240f010a93dSmrg    $1`" dnl
7241f010a93dSmrg])# _LT_DLL_DEF_P
7242f010a93dSmrg
7243f010a93dSmrg
7244f010a93dSmrg# LT_LIB_M
7245f010a93dSmrg# --------
7246f010a93dSmrg# check for math library
7247f010a93dSmrgAC_DEFUN([LT_LIB_M],
7248f010a93dSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7249f010a93dSmrgLIBM=
7250f010a93dSmrgcase $host in
7251f010a93dSmrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
7252f010a93dSmrg  # These system don't have libm, or don't need it
7253f010a93dSmrg  ;;
7254f010a93dSmrg*-ncr-sysv4.3*)
7255f010a93dSmrg  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
7256f010a93dSmrg  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
7257f010a93dSmrg  ;;
7258f010a93dSmrg*)
7259f010a93dSmrg  AC_CHECK_LIB(m, cos, LIBM=-lm)
7260f010a93dSmrg  ;;
7261f010a93dSmrgesac
7262f010a93dSmrgAC_SUBST([LIBM])
7263f010a93dSmrg])# LT_LIB_M
7264f010a93dSmrg
7265f010a93dSmrg# Old name:
7266f010a93dSmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
7267f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
7268f010a93dSmrgdnl AC_DEFUN([AC_CHECK_LIBM], [])
7269f010a93dSmrg
7270f010a93dSmrg
7271f010a93dSmrg# _LT_COMPILER_NO_RTTI([TAGNAME])
7272f010a93dSmrg# -------------------------------
7273f010a93dSmrgm4_defun([_LT_COMPILER_NO_RTTI],
7274f010a93dSmrg[m4_require([_LT_TAG_COMPILER])dnl
7275f010a93dSmrg
7276f010a93dSmrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
7277f010a93dSmrg
7278f010a93dSmrgif test yes = "$GCC"; then
7279f010a93dSmrg  case $cc_basename in
7280f010a93dSmrg  nvcc*)
7281f010a93dSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
7282f010a93dSmrg  *)
7283f010a93dSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
7284f010a93dSmrg  esac
7285f010a93dSmrg
7286f010a93dSmrg  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
7287f010a93dSmrg    lt_cv_prog_compiler_rtti_exceptions,
7288f010a93dSmrg    [-fno-rtti -fno-exceptions], [],
7289f010a93dSmrg    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
7290b4d38c65Smrgfi
7291f010a93dSmrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
7292f010a93dSmrg	[Compiler flag to turn off builtin functions])
7293f010a93dSmrg])# _LT_COMPILER_NO_RTTI
7294f010a93dSmrg
7295f010a93dSmrg
7296f010a93dSmrg# _LT_CMD_GLOBAL_SYMBOLS
7297f010a93dSmrg# ----------------------
7298f010a93dSmrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
7299f010a93dSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7300f010a93dSmrgAC_REQUIRE([AC_PROG_CC])dnl
7301f010a93dSmrgAC_REQUIRE([AC_PROG_AWK])dnl
7302f010a93dSmrgAC_REQUIRE([LT_PATH_NM])dnl
7303f010a93dSmrgAC_REQUIRE([LT_PATH_LD])dnl
7304f010a93dSmrgm4_require([_LT_DECL_SED])dnl
7305f010a93dSmrgm4_require([_LT_DECL_EGREP])dnl
7306f010a93dSmrgm4_require([_LT_TAG_COMPILER])dnl
7307f010a93dSmrg
7308f010a93dSmrg# Check for command to grab the raw symbol name followed by C symbol from nm.
7309f010a93dSmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object])
7310f010a93dSmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
7311f010a93dSmrg[
7312f010a93dSmrg# These are sane defaults that work on at least a few old systems.
7313f010a93dSmrg# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
7314f010a93dSmrg
7315f010a93dSmrg# Character class describing NM global symbol codes.
7316f010a93dSmrgsymcode='[[BCDEGRST]]'
7317f010a93dSmrg
7318f010a93dSmrg# Regexp to match symbols that can be accessed directly from C.
7319f010a93dSmrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
7320f010a93dSmrg
7321f010a93dSmrg# Define system-specific variables.
7322f010a93dSmrgcase $host_os in
7323f010a93dSmrgaix*)
7324f010a93dSmrg  symcode='[[BCDT]]'
7325f010a93dSmrg  ;;
7326f010a93dSmrgcygwin* | mingw* | pw32* | cegcc*)
7327f010a93dSmrg  symcode='[[ABCDGISTW]]'
7328f010a93dSmrg  ;;
7329f010a93dSmrghpux*)
7330f010a93dSmrg  if test ia64 = "$host_cpu"; then
7331f010a93dSmrg    symcode='[[ABCDEGRST]]'
7332f010a93dSmrg  fi
7333f010a93dSmrg  ;;
7334f010a93dSmrgirix* | nonstopux*)
7335f010a93dSmrg  symcode='[[BCDEGRST]]'
7336f010a93dSmrg  ;;
7337f010a93dSmrgosf*)
7338f010a93dSmrg  symcode='[[BCDEGQRST]]'
7339f010a93dSmrg  ;;
7340f010a93dSmrgsolaris*)
7341f010a93dSmrg  symcode='[[BDRT]]'
7342f010a93dSmrg  ;;
7343f010a93dSmrgsco3.2v5*)
7344f010a93dSmrg  symcode='[[DT]]'
7345f010a93dSmrg  ;;
7346f010a93dSmrgsysv4.2uw2*)
7347f010a93dSmrg  symcode='[[DT]]'
7348f010a93dSmrg  ;;
7349f010a93dSmrgsysv5* | sco5v6* | unixware* | OpenUNIX*)
7350f010a93dSmrg  symcode='[[ABDT]]'
7351f010a93dSmrg  ;;
7352f010a93dSmrgsysv4)
7353f010a93dSmrg  symcode='[[DFNSTU]]'
7354f010a93dSmrg  ;;
7355f010a93dSmrgesac
7356f010a93dSmrg
7357f010a93dSmrg# If we're using GNU nm, then use its standard symbol codes.
7358f010a93dSmrgcase `$NM -V 2>&1` in
7359f010a93dSmrg*GNU* | *'with BFD'*)
7360f010a93dSmrg  symcode='[[ABCDGIRSTW]]' ;;
7361f010a93dSmrgesac
7362f010a93dSmrg
7363f010a93dSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then
7364f010a93dSmrg  # Gets list of data symbols to import.
7365f010a93dSmrg  lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
7366f010a93dSmrg  # Adjust the below global symbol transforms to fixup imported variables.
7367f010a93dSmrg  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
7368f010a93dSmrg  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
7369f010a93dSmrg  lt_c_name_lib_hook="\
7370f010a93dSmrg  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
7371f010a93dSmrg  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
7372f010a93dSmrgelse
7373f010a93dSmrg  # Disable hooks by default.
7374f010a93dSmrg  lt_cv_sys_global_symbol_to_import=
7375f010a93dSmrg  lt_cdecl_hook=
7376f010a93dSmrg  lt_c_name_hook=
7377f010a93dSmrg  lt_c_name_lib_hook=
7378f010a93dSmrgfi
7379f010a93dSmrg
7380f010a93dSmrg# Transform an extracted symbol line into a proper C declaration.
7381f010a93dSmrg# Some systems (esp. on ia64) link data and code symbols differently,
7382f010a93dSmrg# so use this general approach.
7383f010a93dSmrglt_cv_sys_global_symbol_to_cdecl="$SED -n"\
7384f010a93dSmrg$lt_cdecl_hook\
7385f010a93dSmrg" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
7386f010a93dSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
7387f010a93dSmrg
7388f010a93dSmrg# Transform an extracted symbol line into symbol name and symbol address
7389f010a93dSmrglt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
7390f010a93dSmrg$lt_c_name_hook\
7391f010a93dSmrg" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
7392f010a93dSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
7393f010a93dSmrg
7394f010a93dSmrg# Transform an extracted symbol line into symbol name with lib prefix and
7395f010a93dSmrg# symbol address.
7396f010a93dSmrglt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
7397f010a93dSmrg$lt_c_name_lib_hook\
7398f010a93dSmrg" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
7399f010a93dSmrg" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
7400f010a93dSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
7401f010a93dSmrg
7402f010a93dSmrg# Handle CRLF in mingw tool chain
7403f010a93dSmrgopt_cr=
7404f010a93dSmrgcase $build_os in
7405f010a93dSmrgmingw*)
7406f010a93dSmrg  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
7407f010a93dSmrg  ;;
7408f010a93dSmrgesac
7409f010a93dSmrg
7410f010a93dSmrg# Try without a prefix underscore, then with it.
7411f010a93dSmrgfor ac_symprfx in "" "_"; do
7412f010a93dSmrg
7413f010a93dSmrg  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
7414f010a93dSmrg  symxfrm="\\1 $ac_symprfx\\2 \\2"
7415f010a93dSmrg
7416f010a93dSmrg  # Write the raw and C identifiers.
7417f010a93dSmrg  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
7418f010a93dSmrg    # Fake it for dumpbin and say T for any non-static function,
7419f010a93dSmrg    # D for any global variable and I for any imported variable.
7420f010a93dSmrg    # Also find C++ and __fastcall symbols from MSVC++ or ICC,
7421f010a93dSmrg    # which start with @ or ?.
7422f010a93dSmrg    lt_cv_sys_global_symbol_pipe="$AWK ['"\
7423f010a93dSmrg"     {last_section=section; section=\$ 3};"\
7424f010a93dSmrg"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
7425f010a93dSmrg"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
7426f010a93dSmrg"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
7427f010a93dSmrg"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
7428f010a93dSmrg"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
7429f010a93dSmrg"     \$ 0!~/External *\|/{next};"\
7430f010a93dSmrg"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
7431f010a93dSmrg"     {if(hide[section]) next};"\
7432f010a93dSmrg"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
7433f010a93dSmrg"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
7434f010a93dSmrg"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
7435f010a93dSmrg"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
7436f010a93dSmrg"     ' prfx=^$ac_symprfx]"
7437f010a93dSmrg  else
7438f010a93dSmrg    lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
7439f010a93dSmrg  fi
7440f010a93dSmrg  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
7441f010a93dSmrg
7442f010a93dSmrg  # Check to see that the pipe works correctly.
7443f010a93dSmrg  pipe_works=no
7444f010a93dSmrg
7445f010a93dSmrg  rm -f conftest*
7446f010a93dSmrg  cat > conftest.$ac_ext <<_LT_EOF
7447f010a93dSmrg#ifdef __cplusplus
7448f010a93dSmrgextern "C" {
7449f010a93dSmrg#endif
7450f010a93dSmrgchar nm_test_var;
7451f010a93dSmrgvoid nm_test_func(void);
7452f010a93dSmrgvoid nm_test_func(void){}
7453f010a93dSmrg#ifdef __cplusplus
7454f010a93dSmrg}
7455f010a93dSmrg#endif
7456f010a93dSmrgint main(){nm_test_var='a';nm_test_func();return(0);}
7457f010a93dSmrg_LT_EOF
7458f010a93dSmrg
7459f010a93dSmrg  if AC_TRY_EVAL(ac_compile); then
7460f010a93dSmrg    # Now try to grab the symbols.
7461f010a93dSmrg    nlist=conftest.nm
7462f010a93dSmrg    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
7463f010a93dSmrg      # Try sorting and uniquifying the output.
7464f010a93dSmrg      if sort "$nlist" | uniq > "$nlist"T; then
7465f010a93dSmrg	mv -f "$nlist"T "$nlist"
7466f010a93dSmrg      else
7467f010a93dSmrg	rm -f "$nlist"T
7468f010a93dSmrg      fi
7469f010a93dSmrg
7470f010a93dSmrg      # Make sure that we snagged all the symbols we need.
7471f010a93dSmrg      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
7472f010a93dSmrg	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
7473f010a93dSmrg	  cat <<_LT_EOF > conftest.$ac_ext
7474f010a93dSmrg/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
7475f010a93dSmrg#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
7476f010a93dSmrg/* DATA imports from DLLs on WIN32 can't be const, because runtime
7477f010a93dSmrg   relocations are performed -- see ld's documentation on pseudo-relocs.  */
7478f010a93dSmrg# define LT@&t@_DLSYM_CONST
7479f010a93dSmrg#elif defined __osf__
7480f010a93dSmrg/* This system does not cope well with relocations in const data.  */
7481f010a93dSmrg# define LT@&t@_DLSYM_CONST
7482f010a93dSmrg#else
7483f010a93dSmrg# define LT@&t@_DLSYM_CONST const
7484f010a93dSmrg#endif
7485f010a93dSmrg
7486f010a93dSmrg#ifdef __cplusplus
7487f010a93dSmrgextern "C" {
7488f010a93dSmrg#endif
7489f010a93dSmrg
7490f010a93dSmrg_LT_EOF
7491f010a93dSmrg	  # Now generate the symbol file.
7492f010a93dSmrg	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
7493f010a93dSmrg
7494f010a93dSmrg	  cat <<_LT_EOF >> conftest.$ac_ext
7495f010a93dSmrg
7496f010a93dSmrg/* The mapping between symbol names and symbols.  */
7497f010a93dSmrgLT@&t@_DLSYM_CONST struct {
7498f010a93dSmrg  const char *name;
7499f010a93dSmrg  void       *address;
7500f010a93dSmrg}
7501f010a93dSmrglt__PROGRAM__LTX_preloaded_symbols[[]] =
7502f010a93dSmrg{
7503f010a93dSmrg  { "@PROGRAM@", (void *) 0 },
7504f010a93dSmrg_LT_EOF
7505f010a93dSmrg	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
7506f010a93dSmrg	  cat <<\_LT_EOF >> conftest.$ac_ext
7507f010a93dSmrg  {0, (void *) 0}
7508f010a93dSmrg};
7509f010a93dSmrg
7510f010a93dSmrg/* This works around a problem in FreeBSD linker */
7511f010a93dSmrg#ifdef FREEBSD_WORKAROUND
7512f010a93dSmrgstatic const void *lt_preloaded_setup() {
7513f010a93dSmrg  return lt__PROGRAM__LTX_preloaded_symbols;
7514f010a93dSmrg}
7515f010a93dSmrg#endif
7516f010a93dSmrg
7517f010a93dSmrg#ifdef __cplusplus
7518f010a93dSmrg}
7519f010a93dSmrg#endif
7520f010a93dSmrg_LT_EOF
7521f010a93dSmrg	  # Now try linking the two files.
7522f010a93dSmrg	  mv conftest.$ac_objext conftstm.$ac_objext
7523f010a93dSmrg	  lt_globsym_save_LIBS=$LIBS
7524f010a93dSmrg	  lt_globsym_save_CFLAGS=$CFLAGS
7525f010a93dSmrg	  LIBS=conftstm.$ac_objext
7526f010a93dSmrg	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
7527f010a93dSmrg	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
7528f010a93dSmrg	    pipe_works=yes
7529f010a93dSmrg	  fi
7530f010a93dSmrg	  LIBS=$lt_globsym_save_LIBS
7531f010a93dSmrg	  CFLAGS=$lt_globsym_save_CFLAGS
7532f010a93dSmrg	else
7533f010a93dSmrg	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
7534f010a93dSmrg	fi
7535f010a93dSmrg      else
7536f010a93dSmrg	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
7537f010a93dSmrg      fi
7538f010a93dSmrg    else
7539f010a93dSmrg      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
7540f010a93dSmrg    fi
7541f010a93dSmrg  else
7542f010a93dSmrg    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
7543f010a93dSmrg    cat conftest.$ac_ext >&5
7544f010a93dSmrg  fi
7545f010a93dSmrg  rm -rf conftest* conftst*
7546f010a93dSmrg
7547f010a93dSmrg  # Do not use the global_symbol_pipe unless it works.
7548f010a93dSmrg  if test yes = "$pipe_works"; then
7549f010a93dSmrg    break
7550f010a93dSmrg  else
7551f010a93dSmrg    lt_cv_sys_global_symbol_pipe=
7552f010a93dSmrg  fi
7553f010a93dSmrgdone
7554f010a93dSmrg])
7555f010a93dSmrgif test -z "$lt_cv_sys_global_symbol_pipe"; then
7556f010a93dSmrg  lt_cv_sys_global_symbol_to_cdecl=
7557f010a93dSmrgfi
7558f010a93dSmrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
7559f010a93dSmrg  AC_MSG_RESULT(failed)
7560f010a93dSmrgelse
7561f010a93dSmrg  AC_MSG_RESULT(ok)
7562f010a93dSmrgfi
7563f010a93dSmrg
7564f010a93dSmrg# Response file support.
7565f010a93dSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then
7566f010a93dSmrg  nm_file_list_spec='@'
7567f010a93dSmrgelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
7568f010a93dSmrg  nm_file_list_spec='@'
7569f010a93dSmrgfi
7570f010a93dSmrg
7571f010a93dSmrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
7572f010a93dSmrg    [Take the output of nm and produce a listing of raw symbols and C names])
7573f010a93dSmrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
7574f010a93dSmrg    [Transform the output of nm in a proper C declaration])
7575f010a93dSmrg_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
7576f010a93dSmrg    [Transform the output of nm into a list of symbols to manually relocate])
7577f010a93dSmrg_LT_DECL([global_symbol_to_c_name_address],
7578f010a93dSmrg    [lt_cv_sys_global_symbol_to_c_name_address], [1],
7579f010a93dSmrg    [Transform the output of nm in a C name address pair])
7580f010a93dSmrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
7581f010a93dSmrg    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
7582f010a93dSmrg    [Transform the output of nm in a C name address pair when lib prefix is needed])
7583f010a93dSmrg_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
7584f010a93dSmrg    [The name lister interface])
7585f010a93dSmrg_LT_DECL([], [nm_file_list_spec], [1],
7586f010a93dSmrg    [Specify filename containing input files for $NM])
7587f010a93dSmrg]) # _LT_CMD_GLOBAL_SYMBOLS
7588f010a93dSmrg
7589f010a93dSmrg
7590f010a93dSmrg# _LT_COMPILER_PIC([TAGNAME])
7591f010a93dSmrg# ---------------------------
7592f010a93dSmrgm4_defun([_LT_COMPILER_PIC],
7593f010a93dSmrg[m4_require([_LT_TAG_COMPILER])dnl
7594f010a93dSmrg_LT_TAGVAR(lt_prog_compiler_wl, $1)=
7595f010a93dSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=
7596f010a93dSmrg_LT_TAGVAR(lt_prog_compiler_static, $1)=
7597f010a93dSmrg
7598f010a93dSmrgm4_if([$1], [CXX], [
7599f010a93dSmrg  # C++ specific cases for pic, static, wl, etc.
7600f010a93dSmrg  if test yes = "$GXX"; then
7601f010a93dSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7602f010a93dSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
7603f010a93dSmrg
7604f010a93dSmrg    case $host_os in
7605f010a93dSmrg    aix*)
7606f010a93dSmrg      # All AIX code is PIC.
7607f010a93dSmrg      if test ia64 = "$host_cpu"; then
7608f010a93dSmrg	# AIX 5 now supports IA64 processor
7609f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7610f010a93dSmrg      fi
7611f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7612f010a93dSmrg      ;;
7613f010a93dSmrg
7614f010a93dSmrg    amigaos*)
7615f010a93dSmrg      case $host_cpu in
7616f010a93dSmrg      powerpc)
7617f010a93dSmrg            # see comment about AmigaOS4 .so support
7618f010a93dSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7619f010a93dSmrg        ;;
7620f010a93dSmrg      m68k)
7621f010a93dSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
7622f010a93dSmrg            # adding the '-m68020' flag to GCC prevents building anything better,
7623f010a93dSmrg            # like '-m68040'.
7624f010a93dSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
7625f010a93dSmrg        ;;
7626f010a93dSmrg      esac
7627f010a93dSmrg      ;;
7628f010a93dSmrg
7629f010a93dSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
7630f010a93dSmrg      # PIC is the default for these OSes.
7631f010a93dSmrg      ;;
7632f010a93dSmrg    mingw* | cygwin* | os2* | pw32* | cegcc*)
7633f010a93dSmrg      # This hack is so that the source file can tell whether it is being
7634f010a93dSmrg      # built for inclusion in a dll (and should export symbols for example).
7635f010a93dSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
7636f010a93dSmrg      # (--disable-auto-import) libraries
7637f010a93dSmrg      m4_if([$1], [GCJ], [],
7638f010a93dSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
7639f010a93dSmrg      case $host_os in
7640f010a93dSmrg      os2*)
7641f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
7642f010a93dSmrg	;;
7643f010a93dSmrg      esac
7644f010a93dSmrg      ;;
7645f010a93dSmrg    darwin* | rhapsody*)
7646f010a93dSmrg      # PIC is the default on this platform
7647f010a93dSmrg      # Common symbols not allowed in MH_DYLIB files
7648f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
7649f010a93dSmrg      ;;
7650f010a93dSmrg    *djgpp*)
7651f010a93dSmrg      # DJGPP does not support shared libraries at all
7652f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
7653f010a93dSmrg      ;;
7654f010a93dSmrg    haiku*)
7655f010a93dSmrg      # PIC is the default for Haiku.
7656f010a93dSmrg      # The "-static" flag exists, but is broken.
7657f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
7658f010a93dSmrg      ;;
7659f010a93dSmrg    interix[[3-9]]*)
7660f010a93dSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
7661f010a93dSmrg      # Instead, we relocate shared libraries at runtime.
7662f010a93dSmrg      ;;
7663f010a93dSmrg    sysv4*MP*)
7664f010a93dSmrg      if test -d /usr/nec; then
7665f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
7666f010a93dSmrg      fi
7667f010a93dSmrg      ;;
7668f010a93dSmrg    hpux*)
7669f010a93dSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
7670f010a93dSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
7671f010a93dSmrg      # sets the default TLS model and affects inlining.
7672f010a93dSmrg      case $host_cpu in
7673f010a93dSmrg      hppa*64*)
7674f010a93dSmrg	;;
7675f010a93dSmrg      *)
7676f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7677f010a93dSmrg	;;
7678f010a93dSmrg      esac
7679f010a93dSmrg      ;;
7680f010a93dSmrg    *qnx* | *nto*)
7681f010a93dSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
7682f010a93dSmrg      # it will coredump.
7683f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
7684f010a93dSmrg      ;;
7685f010a93dSmrg    *)
7686f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7687f010a93dSmrg      ;;
7688f010a93dSmrg    esac
7689f010a93dSmrg  else
7690f010a93dSmrg    case $host_os in
7691f010a93dSmrg      aix[[4-9]]*)
7692f010a93dSmrg	# All AIX code is PIC.
7693f010a93dSmrg	if test ia64 = "$host_cpu"; then
7694f010a93dSmrg	  # AIX 5 now supports IA64 processor
7695f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7696f010a93dSmrg	else
7697f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
7698f010a93dSmrg	fi
7699f010a93dSmrg	;;
7700f010a93dSmrg      chorus*)
7701f010a93dSmrg	case $cc_basename in
7702f010a93dSmrg	cxch68*)
7703f010a93dSmrg	  # Green Hills C++ Compiler
7704f010a93dSmrg	  # _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"
7705f010a93dSmrg	  ;;
7706f010a93dSmrg	esac
7707f010a93dSmrg	;;
7708f010a93dSmrg      mingw* | cygwin* | os2* | pw32* | cegcc*)
7709f010a93dSmrg	# This hack is so that the source file can tell whether it is being
7710f010a93dSmrg	# built for inclusion in a dll (and should export symbols for example).
7711f010a93dSmrg	m4_if([$1], [GCJ], [],
7712f010a93dSmrg	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
7713f010a93dSmrg	;;
7714f010a93dSmrg      dgux*)
7715f010a93dSmrg	case $cc_basename in
7716f010a93dSmrg	  ec++*)
7717f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7718f010a93dSmrg	    ;;
7719f010a93dSmrg	  ghcx*)
7720f010a93dSmrg	    # Green Hills C++ Compiler
7721f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
7722f010a93dSmrg	    ;;
7723f010a93dSmrg	  *)
7724f010a93dSmrg	    ;;
7725f010a93dSmrg	esac
7726f010a93dSmrg	;;
7727f010a93dSmrg      freebsd* | dragonfly* | midnightbsd*)
7728f010a93dSmrg	# FreeBSD uses GNU C++
7729f010a93dSmrg	;;
7730f010a93dSmrg      hpux9* | hpux10* | hpux11*)
7731f010a93dSmrg	case $cc_basename in
7732f010a93dSmrg	  CC*)
7733f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7734f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
7735f010a93dSmrg	    if test ia64 != "$host_cpu"; then
7736f010a93dSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
7737f010a93dSmrg	    fi
7738f010a93dSmrg	    ;;
7739f010a93dSmrg	  aCC*)
7740f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7741f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
7742f010a93dSmrg	    case $host_cpu in
7743f010a93dSmrg	    hppa*64*|ia64*)
7744f010a93dSmrg	      # +Z the default
7745f010a93dSmrg	      ;;
7746f010a93dSmrg	    *)
7747f010a93dSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
7748f010a93dSmrg	      ;;
7749f010a93dSmrg	    esac
7750f010a93dSmrg	    ;;
7751f010a93dSmrg	  *)
7752f010a93dSmrg	    ;;
7753f010a93dSmrg	esac
7754f010a93dSmrg	;;
7755f010a93dSmrg      interix*)
7756f010a93dSmrg	# This is c89, which is MS Visual C++ (no shared libs)
7757f010a93dSmrg	# Anyone wants to do a port?
7758f010a93dSmrg	;;
7759f010a93dSmrg      irix5* | irix6* | nonstopux*)
7760f010a93dSmrg	case $cc_basename in
7761f010a93dSmrg	  CC*)
7762f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7763f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
7764f010a93dSmrg	    # CC pic flag -KPIC is the default.
7765f010a93dSmrg	    ;;
7766f010a93dSmrg	  *)
7767f010a93dSmrg	    ;;
7768f010a93dSmrg	esac
7769f010a93dSmrg	;;
7770f010a93dSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
7771f010a93dSmrg	case $cc_basename in
7772f010a93dSmrg	  KCC*)
7773f010a93dSmrg	    # KAI C++ Compiler
7774f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
7775f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7776f010a93dSmrg	    ;;
7777f010a93dSmrg	  ecpc* )
7778f010a93dSmrg	    # old Intel C++ for x86_64, which still supported -KPIC.
7779f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7780f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7781f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
7782f010a93dSmrg	    ;;
7783f010a93dSmrg	  icpc* )
7784f010a93dSmrg	    # Intel C++, used to be incompatible with GCC.
7785f010a93dSmrg	    # ICC 10 doesn't accept -KPIC any more.
7786f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7787f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7788f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
7789f010a93dSmrg	    ;;
7790f010a93dSmrg	  pgCC* | pgcpp*)
7791f010a93dSmrg	    # Portland Group C++ compiler
7792f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7793f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
7794f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7795f010a93dSmrg	    ;;
7796f010a93dSmrg	  cxx*)
7797f010a93dSmrg	    # Compaq C++
7798f010a93dSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
7799f010a93dSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
7800f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
7801f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
7802f010a93dSmrg	    ;;
7803f010a93dSmrg	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
7804f010a93dSmrg	    # IBM XL 8.0, 9.0 on PPC and BlueGene
7805f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7806f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
7807f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
7808f010a93dSmrg	    ;;
7809f010a93dSmrg	  *)
7810f010a93dSmrg	    case `$CC -V 2>&1 | $SED 5q` in
7811f010a93dSmrg	    *Sun\ C*)
7812f010a93dSmrg	      # Sun C++ 5.9
7813f010a93dSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7814f010a93dSmrg	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7815f010a93dSmrg	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
7816f010a93dSmrg	      ;;
7817f010a93dSmrg	    esac
7818f010a93dSmrg	    ;;
7819f010a93dSmrg	esac
7820f010a93dSmrg	;;
7821f010a93dSmrg      lynxos*)
7822f010a93dSmrg	;;
7823f010a93dSmrg      m88k*)
7824f010a93dSmrg	;;
7825f010a93dSmrg      mvs*)
7826f010a93dSmrg	case $cc_basename in
7827f010a93dSmrg	  cxx*)
7828f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
7829f010a93dSmrg	    ;;
7830f010a93dSmrg	  *)
7831f010a93dSmrg	    ;;
7832f010a93dSmrg	esac
7833f010a93dSmrg	;;
7834f010a93dSmrg      netbsd*)
7835f010a93dSmrg	;;
7836f010a93dSmrg      *qnx* | *nto*)
7837f010a93dSmrg        # QNX uses GNU C++, but need to define -shared option too, otherwise
7838f010a93dSmrg        # it will coredump.
7839f010a93dSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
7840f010a93dSmrg        ;;
7841f010a93dSmrg      osf3* | osf4* | osf5*)
7842f010a93dSmrg	case $cc_basename in
7843f010a93dSmrg	  KCC*)
7844f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
7845f010a93dSmrg	    ;;
7846f010a93dSmrg	  RCC*)
7847f010a93dSmrg	    # Rational C++ 2.4.1
7848f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
7849f010a93dSmrg	    ;;
7850f010a93dSmrg	  cxx*)
7851f010a93dSmrg	    # Digital/Compaq C++
7852f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7853f010a93dSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
7854f010a93dSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
7855f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
7856f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
7857f010a93dSmrg	    ;;
7858f010a93dSmrg	  *)
7859f010a93dSmrg	    ;;
7860f010a93dSmrg	esac
7861f010a93dSmrg	;;
7862f010a93dSmrg      psos*)
7863f010a93dSmrg	;;
7864f010a93dSmrg      solaris*)
7865f010a93dSmrg	case $cc_basename in
7866f010a93dSmrg	  CC* | sunCC*)
7867f010a93dSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
7868f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7869f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7870f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
7871f010a93dSmrg	    ;;
7872f010a93dSmrg	  gcx*)
7873f010a93dSmrg	    # Green Hills C++ Compiler
7874f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
7875f010a93dSmrg	    ;;
7876f010a93dSmrg	  *)
7877f010a93dSmrg	    ;;
7878f010a93dSmrg	esac
7879f010a93dSmrg	;;
7880f010a93dSmrg      sunos4*)
7881f010a93dSmrg	case $cc_basename in
7882f010a93dSmrg	  CC*)
7883f010a93dSmrg	    # Sun C++ 4.x
7884f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
7885f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7886f010a93dSmrg	    ;;
7887f010a93dSmrg	  lcc*)
7888f010a93dSmrg	    # Lucid
7889f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
7890f010a93dSmrg	    ;;
7891f010a93dSmrg	  *)
7892f010a93dSmrg	    ;;
7893f010a93dSmrg	esac
7894f010a93dSmrg	;;
7895f010a93dSmrg      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
7896f010a93dSmrg	case $cc_basename in
7897f010a93dSmrg	  CC*)
7898f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7899f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7900f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7901f010a93dSmrg	    ;;
7902f010a93dSmrg	esac
7903f010a93dSmrg	;;
7904f010a93dSmrg      tandem*)
7905f010a93dSmrg	case $cc_basename in
7906f010a93dSmrg	  NCC*)
7907f010a93dSmrg	    # NonStop-UX NCC 3.20
7908f010a93dSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7909f010a93dSmrg	    ;;
7910f010a93dSmrg	  *)
7911f010a93dSmrg	    ;;
7912f010a93dSmrg	esac
7913f010a93dSmrg	;;
7914f010a93dSmrg      vxworks*)
7915f010a93dSmrg	;;
7916f010a93dSmrg      *)
7917f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
7918f010a93dSmrg	;;
7919f010a93dSmrg    esac
7920f010a93dSmrg  fi
7921f010a93dSmrg],
7922f010a93dSmrg[
7923f010a93dSmrg  if test yes = "$GCC"; then
7924f010a93dSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7925f010a93dSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
7926b534f209Smrg
7927f010a93dSmrg    case $host_os in
7928f010a93dSmrg      aix*)
7929f010a93dSmrg      # All AIX code is PIC.
7930f010a93dSmrg      if test ia64 = "$host_cpu"; then
7931f010a93dSmrg	# AIX 5 now supports IA64 processor
7932f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7933f010a93dSmrg      fi
7934f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7935f010a93dSmrg      ;;
7936b534f209Smrg
7937f010a93dSmrg    amigaos*)
7938f010a93dSmrg      case $host_cpu in
7939f010a93dSmrg      powerpc)
7940f010a93dSmrg            # see comment about AmigaOS4 .so support
7941f010a93dSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7942f010a93dSmrg        ;;
7943f010a93dSmrg      m68k)
7944f010a93dSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
7945f010a93dSmrg            # adding the '-m68020' flag to GCC prevents building anything better,
7946f010a93dSmrg            # like '-m68040'.
7947f010a93dSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
7948f010a93dSmrg        ;;
7949f010a93dSmrg      esac
7950f010a93dSmrg      ;;
7951b534f209Smrg
7952f010a93dSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
7953f010a93dSmrg      # PIC is the default for these OSes.
7954f010a93dSmrg      ;;
7955b534f209Smrg
7956f010a93dSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
7957f010a93dSmrg      # This hack is so that the source file can tell whether it is being
7958f010a93dSmrg      # built for inclusion in a dll (and should export symbols for example).
7959f010a93dSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
7960f010a93dSmrg      # (--disable-auto-import) libraries
7961f010a93dSmrg      m4_if([$1], [GCJ], [],
7962f010a93dSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
7963f010a93dSmrg      case $host_os in
7964f010a93dSmrg      os2*)
7965f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
7966f010a93dSmrg	;;
7967f010a93dSmrg      esac
7968f010a93dSmrg      ;;
7969cf503b78Smrg
7970f010a93dSmrg    darwin* | rhapsody*)
7971f010a93dSmrg      # PIC is the default on this platform
7972f010a93dSmrg      # Common symbols not allowed in MH_DYLIB files
7973f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
7974f010a93dSmrg      ;;
7975cf503b78Smrg
7976f010a93dSmrg    haiku*)
7977f010a93dSmrg      # PIC is the default for Haiku.
7978f010a93dSmrg      # The "-static" flag exists, but is broken.
7979f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
7980f010a93dSmrg      ;;
7981cf503b78Smrg
7982f010a93dSmrg    hpux*)
7983f010a93dSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
7984f010a93dSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
7985f010a93dSmrg      # sets the default TLS model and affects inlining.
7986f010a93dSmrg      case $host_cpu in
7987f010a93dSmrg      hppa*64*)
7988f010a93dSmrg	# +Z the default
7989f010a93dSmrg	;;
7990f010a93dSmrg      *)
7991f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7992f010a93dSmrg	;;
7993f010a93dSmrg      esac
7994f010a93dSmrg      ;;
7995cf503b78Smrg
7996f010a93dSmrg    interix[[3-9]]*)
7997f010a93dSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
7998f010a93dSmrg      # Instead, we relocate shared libraries at runtime.
7999f010a93dSmrg      ;;
8000cf503b78Smrg
8001f010a93dSmrg    msdosdjgpp*)
8002f010a93dSmrg      # Just because we use GCC doesn't mean we suddenly get shared libraries
8003f010a93dSmrg      # on systems that don't support them.
8004f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
8005f010a93dSmrg      enable_shared=no
8006f010a93dSmrg      ;;
8007cf503b78Smrg
8008f010a93dSmrg    *nto* | *qnx*)
8009f010a93dSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
8010f010a93dSmrg      # it will coredump.
8011f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
8012f010a93dSmrg      ;;
8013cf503b78Smrg
8014f010a93dSmrg    sysv4*MP*)
8015f010a93dSmrg      if test -d /usr/nec; then
8016f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
8017f010a93dSmrg      fi
8018f010a93dSmrg      ;;
8019cf503b78Smrg
8020f010a93dSmrg    *)
8021f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
8022f010a93dSmrg      ;;
8023f010a93dSmrg    esac
8024cf503b78Smrg
8025f010a93dSmrg    case $cc_basename in
8026f010a93dSmrg    nvcc*) # Cuda Compiler Driver 2.2
8027f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
8028f010a93dSmrg      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
8029f010a93dSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
8030f010a93dSmrg      fi
8031f010a93dSmrg      ;;
8032f010a93dSmrg    esac
8033f010a93dSmrg  else
8034f010a93dSmrg    # PORTME Check for flag to pass linker flags through the system compiler.
8035f010a93dSmrg    case $host_os in
8036f010a93dSmrg    aix*)
8037f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8038f010a93dSmrg      if test ia64 = "$host_cpu"; then
8039f010a93dSmrg	# AIX 5 now supports IA64 processor
8040f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8041f010a93dSmrg      else
8042f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
8043f010a93dSmrg      fi
8044f010a93dSmrg      ;;
8045cf503b78Smrg
8046f010a93dSmrg    darwin* | rhapsody*)
8047f010a93dSmrg      # PIC is the default on this platform
8048f010a93dSmrg      # Common symbols not allowed in MH_DYLIB files
8049f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
8050f010a93dSmrg      case $cc_basename in
8051f010a93dSmrg      nagfor*)
8052f010a93dSmrg        # NAG Fortran compiler
8053f010a93dSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
8054f010a93dSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
8055f010a93dSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8056f010a93dSmrg        ;;
8057f010a93dSmrg      esac
8058f010a93dSmrg      ;;
8059cf503b78Smrg
8060f010a93dSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
8061f010a93dSmrg      # This hack is so that the source file can tell whether it is being
8062f010a93dSmrg      # built for inclusion in a dll (and should export symbols for example).
8063f010a93dSmrg      m4_if([$1], [GCJ], [],
8064f010a93dSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
8065f010a93dSmrg      case $host_os in
8066f010a93dSmrg      os2*)
8067f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
8068f010a93dSmrg	;;
8069f010a93dSmrg      esac
8070f010a93dSmrg      ;;
8071cf503b78Smrg
8072f010a93dSmrg    hpux9* | hpux10* | hpux11*)
8073f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8074f010a93dSmrg      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
8075f010a93dSmrg      # not for PA HP-UX.
8076f010a93dSmrg      case $host_cpu in
8077f010a93dSmrg      hppa*64*|ia64*)
8078f010a93dSmrg	# +Z the default
8079f010a93dSmrg	;;
8080f010a93dSmrg      *)
8081f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
8082f010a93dSmrg	;;
8083f010a93dSmrg      esac
8084f010a93dSmrg      # Is there a better lt_prog_compiler_static that works with the bundled CC?
8085f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
8086f010a93dSmrg      ;;
8087cf503b78Smrg
8088f010a93dSmrg    irix5* | irix6* | nonstopux*)
8089f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8090f010a93dSmrg      # PIC (with -KPIC) is the default.
8091f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
8092f010a93dSmrg      ;;
8093cf503b78Smrg
8094f010a93dSmrg    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
8095f010a93dSmrg      case $cc_basename in
8096f010a93dSmrg      # old Intel for x86_64, which still supported -KPIC.
8097f010a93dSmrg      ecc*)
8098f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8099f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8100f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
8101f010a93dSmrg        ;;
8102f010a93dSmrg      # icc used to be incompatible with GCC.
8103f010a93dSmrg      # ICC 10 doesn't accept -KPIC any more.
8104f010a93dSmrg      icc* | ifort*)
8105f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8106f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
8107f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
8108f010a93dSmrg        ;;
8109f010a93dSmrg      # Lahey Fortran 8.1.
8110f010a93dSmrg      lf95*)
8111f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8112f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
8113f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
8114f010a93dSmrg	;;
8115f010a93dSmrg      nagfor*)
8116f010a93dSmrg	# NAG Fortran compiler
8117f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
8118f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
8119f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8120f010a93dSmrg	;;
8121f010a93dSmrg      tcc*)
8122f010a93dSmrg	# Fabrice Bellard et al's Tiny C Compiler
8123f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8124f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
8125f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
8126f010a93dSmrg	;;
8127f010a93dSmrg      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
8128f010a93dSmrg        # Portland Group compilers (*not* the Pentium gcc compiler,
8129f010a93dSmrg	# which looks to be a dead project)
8130f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8131f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
8132f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8133f010a93dSmrg        ;;
8134f010a93dSmrg      ccc*)
8135f010a93dSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8136f010a93dSmrg        # All Alpha code is PIC.
8137f010a93dSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
8138f010a93dSmrg        ;;
8139f010a93dSmrg      xl* | bgxl* | bgf* | mpixl*)
8140f010a93dSmrg	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
8141f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8142f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
8143f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
8144f010a93dSmrg	;;
8145f010a93dSmrg      *)
8146f010a93dSmrg	case `$CC -V 2>&1 | $SED 5q` in
8147f010a93dSmrg	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
8148f010a93dSmrg	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
8149f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8150f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8151f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
8152f010a93dSmrg	  ;;
8153f010a93dSmrg	*Sun\ F* | *Sun*Fortran*)
8154f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8155f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8156f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
8157f010a93dSmrg	  ;;
8158f010a93dSmrg	*Sun\ C*)
8159f010a93dSmrg	  # Sun C 5.9
8160f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8161f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8162f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8163f010a93dSmrg	  ;;
8164f010a93dSmrg        *Intel*\ [[CF]]*Compiler*)
8165f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8166f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
8167f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
8168f010a93dSmrg	  ;;
8169f010a93dSmrg	*Portland\ Group*)
8170f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8171f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
8172f010a93dSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8173f010a93dSmrg	  ;;
8174f010a93dSmrg	esac
8175f010a93dSmrg	;;
8176f010a93dSmrg      esac
8177f010a93dSmrg      ;;
8178cf503b78Smrg
8179f010a93dSmrg    newsos6)
8180f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8181f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8182f010a93dSmrg      ;;
8183b534f209Smrg
8184f010a93dSmrg    *nto* | *qnx*)
8185f010a93dSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
8186f010a93dSmrg      # it will coredump.
8187f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
8188f010a93dSmrg      ;;
8189b534f209Smrg
8190f010a93dSmrg    osf3* | osf4* | osf5*)
8191f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8192f010a93dSmrg      # All OSF/1 code is PIC.
8193f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
8194f010a93dSmrg      ;;
8195b534f209Smrg
8196f010a93dSmrg    rdos*)
8197f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
8198f010a93dSmrg      ;;
8199b534f209Smrg
8200f010a93dSmrg    solaris*)
8201f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8202f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8203f010a93dSmrg      case $cc_basename in
8204f010a93dSmrg      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
8205f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
8206f010a93dSmrg      *)
8207f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
8208f010a93dSmrg      esac
8209f010a93dSmrg      ;;
8210b534f209Smrg
8211f010a93dSmrg    sunos4*)
8212f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
8213f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
8214f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8215f010a93dSmrg      ;;
8216b534f209Smrg
8217f010a93dSmrg    sysv4 | sysv4.2uw2* | sysv4.3*)
8218f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8219f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8220f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8221f010a93dSmrg      ;;
8222b534f209Smrg
8223f010a93dSmrg    sysv4*MP*)
8224f010a93dSmrg      if test -d /usr/nec; then
8225f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
8226f010a93dSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8227f010a93dSmrg      fi
8228f010a93dSmrg      ;;
8229b534f209Smrg
8230f010a93dSmrg    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
8231f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8232f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8233f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8234f010a93dSmrg      ;;
8235b534f209Smrg
8236f010a93dSmrg    unicos*)
8237f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8238f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
8239f010a93dSmrg      ;;
8240b534f209Smrg
8241f010a93dSmrg    uts4*)
8242f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
8243f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8244f010a93dSmrg      ;;
8245b534f209Smrg
8246f010a93dSmrg    *)
8247f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
8248f010a93dSmrg      ;;
8249f010a93dSmrg    esac
8250f010a93dSmrg  fi
8251b4d38c65Smrg])
8252f010a93dSmrgcase $host_os in
8253f010a93dSmrg  # For platforms that do not support PIC, -DPIC is meaningless:
8254f010a93dSmrg  *djgpp*)
8255f010a93dSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
8256f010a93dSmrg    ;;
8257f010a93dSmrg  *)
8258f010a93dSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
8259f010a93dSmrg    ;;
8260f010a93dSmrgesac
8261b534f209Smrg
8262f010a93dSmrgAC_CACHE_CHECK([for $compiler option to produce PIC],
8263f010a93dSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
8264f010a93dSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
8265f010a93dSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
8266b534f209Smrg
8267f010a93dSmrg#
8268f010a93dSmrg# Check to make sure the PIC flag actually works.
8269f010a93dSmrg#
8270f010a93dSmrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
8271f010a93dSmrg  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
8272f010a93dSmrg    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
8273f010a93dSmrg    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
8274f010a93dSmrg    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
8275f010a93dSmrg     "" | " "*) ;;
8276f010a93dSmrg     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
8277f010a93dSmrg     esac],
8278f010a93dSmrg    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
8279f010a93dSmrg     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
8280f010a93dSmrgfi
8281f010a93dSmrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
8282f010a93dSmrg	[Additional compiler flags for building library objects])
8283cf503b78Smrg
8284f010a93dSmrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
8285f010a93dSmrg	[How to pass a linker flag through the compiler])
8286f010a93dSmrg#
8287f010a93dSmrg# Check to make sure the static flag actually works.
8288f010a93dSmrg#
8289f010a93dSmrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
8290f010a93dSmrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
8291f010a93dSmrg  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
8292f010a93dSmrg  $lt_tmp_static_flag,
8293f010a93dSmrg  [],
8294f010a93dSmrg  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
8295f010a93dSmrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
8296f010a93dSmrg	[Compiler flag to prevent dynamic linking])
8297f010a93dSmrg])# _LT_COMPILER_PIC
8298cf503b78Smrg
829915fb4814Smrg
8300f010a93dSmrg# _LT_LINKER_SHLIBS([TAGNAME])
8301f010a93dSmrg# ----------------------------
8302f010a93dSmrg# See if the linker supports building shared libraries.
8303f010a93dSmrgm4_defun([_LT_LINKER_SHLIBS],
8304f010a93dSmrg[AC_REQUIRE([LT_PATH_LD])dnl
8305f010a93dSmrgAC_REQUIRE([LT_PATH_NM])dnl
8306f010a93dSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl
8307f010a93dSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
8308f010a93dSmrgm4_require([_LT_DECL_EGREP])dnl
8309f010a93dSmrgm4_require([_LT_DECL_SED])dnl
8310f010a93dSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
8311f010a93dSmrgm4_require([_LT_TAG_COMPILER])dnl
8312f010a93dSmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
8313f010a93dSmrgm4_if([$1], [CXX], [
8314f010a93dSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
8315f010a93dSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
8316f010a93dSmrg  case $host_os in
8317f010a93dSmrg  aix[[4-9]]*)
8318f010a93dSmrg    # If we're using GNU nm, then we don't want the "-C" option.
8319f010a93dSmrg    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
8320f010a93dSmrg    # Without the "-l" option, or with the "-B" option, AIX nm treats
8321f010a93dSmrg    # weak defined symbols like other global defined symbols, whereas
8322f010a93dSmrg    # GNU nm marks them as "W".
8323f010a93dSmrg    # While the 'weak' keyword is ignored in the Export File, we need
8324f010a93dSmrg    # it in the Import File for the 'aix-soname' feature, so we have
8325f010a93dSmrg    # to replace the "-B" option with "-P" for AIX nm.
8326f010a93dSmrg    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
8327f010a93dSmrg      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
8328f010a93dSmrg    else
8329f010a93dSmrg      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
8330f010a93dSmrg    fi
8331f010a93dSmrg    ;;
8332f010a93dSmrg  pw32*)
8333f010a93dSmrg    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
8334f010a93dSmrg    ;;
8335f010a93dSmrg  cygwin* | mingw* | cegcc*)
8336f010a93dSmrg    case $cc_basename in
8337f010a93dSmrg    cl* | icl*)
8338f010a93dSmrg      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
8339f010a93dSmrg      ;;
8340f010a93dSmrg    *)
8341f010a93dSmrg      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
8342f010a93dSmrg      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
8343f010a93dSmrg      ;;
8344f010a93dSmrg    esac
8345f010a93dSmrg    ;;
8346f010a93dSmrg  *)
8347f010a93dSmrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
8348f010a93dSmrg    ;;
8349f010a93dSmrg  esac
8350f010a93dSmrg], [
8351f010a93dSmrg  runpath_var=
8352f010a93dSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=
8353f010a93dSmrg  _LT_TAGVAR(always_export_symbols, $1)=no
8354f010a93dSmrg  _LT_TAGVAR(archive_cmds, $1)=
8355f010a93dSmrg  _LT_TAGVAR(archive_expsym_cmds, $1)=
8356f010a93dSmrg  _LT_TAGVAR(compiler_needs_object, $1)=no
8357f010a93dSmrg  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
8358f010a93dSmrg  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
8359f010a93dSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
8360f010a93dSmrg  _LT_TAGVAR(hardcode_automatic, $1)=no
8361f010a93dSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
8362f010a93dSmrg  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
8363f010a93dSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
8364f010a93dSmrg  _LT_TAGVAR(hardcode_libdir_separator, $1)=
8365f010a93dSmrg  _LT_TAGVAR(hardcode_minus_L, $1)=no
8366f010a93dSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
8367f010a93dSmrg  _LT_TAGVAR(inherit_rpath, $1)=no
8368f010a93dSmrg  _LT_TAGVAR(link_all_deplibs, $1)=unknown
8369f010a93dSmrg  _LT_TAGVAR(module_cmds, $1)=
8370f010a93dSmrg  _LT_TAGVAR(module_expsym_cmds, $1)=
8371f010a93dSmrg  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
8372f010a93dSmrg  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
8373f010a93dSmrg  _LT_TAGVAR(thread_safe_flag_spec, $1)=
8374f010a93dSmrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=
8375f010a93dSmrg  # include_expsyms should be a list of space-separated symbols to be *always*
8376f010a93dSmrg  # included in the symbol list
8377f010a93dSmrg  _LT_TAGVAR(include_expsyms, $1)=
8378f010a93dSmrg  # exclude_expsyms can be an extended regexp of symbols to exclude
8379f010a93dSmrg  # it will be wrapped by ' (' and ')$', so one must not match beginning or
8380f010a93dSmrg  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
8381f010a93dSmrg  # as well as any symbol that contains 'd'.
8382f010a93dSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
8383f010a93dSmrg  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
8384f010a93dSmrg  # platforms (ab)use it in PIC code, but their linkers get confused if
8385f010a93dSmrg  # the symbol is explicitly referenced.  Since portable code cannot
8386f010a93dSmrg  # rely on this symbol name, it's probably fine to never include it in
8387f010a93dSmrg  # preloaded symbol tables.
8388f010a93dSmrg  # Exclude shared library initialization/finalization symbols.
8389f010a93dSmrgdnl Note also adjust exclude_expsyms for C++ above.
8390f010a93dSmrg  extract_expsyms_cmds=
8391b534f209Smrg
8392f010a93dSmrg  case $host_os in
8393f010a93dSmrg  cygwin* | mingw* | pw32* | cegcc*)
8394f010a93dSmrg    # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
8395f010a93dSmrg    # When not using gcc, we currently assume that we are using
8396f010a93dSmrg    # Microsoft Visual C++ or Intel C++ Compiler.
8397f010a93dSmrg    if test yes != "$GCC"; then
8398f010a93dSmrg      with_gnu_ld=no
8399f010a93dSmrg    fi
8400f010a93dSmrg    ;;
8401f010a93dSmrg  interix*)
8402f010a93dSmrg    # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
8403f010a93dSmrg    with_gnu_ld=yes
8404f010a93dSmrg    ;;
8405f010a93dSmrg  openbsd* | bitrig*)
8406f010a93dSmrg    with_gnu_ld=no
8407f010a93dSmrg    ;;
8408f010a93dSmrg  esac
8409b534f209Smrg
8410f010a93dSmrg  _LT_TAGVAR(ld_shlibs, $1)=yes
8411b534f209Smrg
8412f010a93dSmrg  # On some targets, GNU ld is compatible enough with the native linker
8413f010a93dSmrg  # that we're better off using the native interface for both.
8414f010a93dSmrg  lt_use_gnu_ld_interface=no
8415f010a93dSmrg  if test yes = "$with_gnu_ld"; then
8416f010a93dSmrg    case $host_os in
8417f010a93dSmrg      aix*)
8418f010a93dSmrg	# The AIX port of GNU ld has always aspired to compatibility
8419f010a93dSmrg	# with the native linker.  However, as the warning in the GNU ld
8420f010a93dSmrg	# block says, versions before 2.19.5* couldn't really create working
8421f010a93dSmrg	# shared libraries, regardless of the interface used.
8422f010a93dSmrg	case `$LD -v 2>&1` in
8423f010a93dSmrg	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
8424f010a93dSmrg	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
8425f010a93dSmrg	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
8426f010a93dSmrg	  *)
8427f010a93dSmrg	    lt_use_gnu_ld_interface=yes
8428f010a93dSmrg	    ;;
8429f010a93dSmrg	esac
8430f010a93dSmrg	;;
8431f010a93dSmrg      *)
8432f010a93dSmrg	lt_use_gnu_ld_interface=yes
8433f010a93dSmrg	;;
8434f010a93dSmrg    esac
8435f010a93dSmrg  fi
8436b534f209Smrg
8437f010a93dSmrg  if test yes = "$lt_use_gnu_ld_interface"; then
8438f010a93dSmrg    # If archive_cmds runs LD, not CC, wlarc should be empty
8439f010a93dSmrg    wlarc='$wl'
8440b534f209Smrg
8441f010a93dSmrg    # Set some defaults for GNU ld with shared library support. These
8442f010a93dSmrg    # are reset later if shared libraries are not supported. Putting them
8443f010a93dSmrg    # here allows them to be overridden if necessary.
8444f010a93dSmrg    runpath_var=LD_RUN_PATH
8445f010a93dSmrg    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
8446f010a93dSmrg    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
8447f010a93dSmrg    # ancient GNU ld didn't support --whole-archive et. al.
8448f010a93dSmrg    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
8449f010a93dSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
8450f010a93dSmrg    else
8451f010a93dSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
8452f010a93dSmrg    fi
8453f010a93dSmrg    supports_anon_versioning=no
8454f010a93dSmrg    case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
8455f010a93dSmrg      *GNU\ gold*) supports_anon_versioning=yes ;;
8456f010a93dSmrg      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
8457f010a93dSmrg      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
8458f010a93dSmrg      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
8459f010a93dSmrg      *\ 2.11.*) ;; # other 2.11 versions
8460f010a93dSmrg      *) supports_anon_versioning=yes ;;
8461f010a93dSmrg    esac
8462b534f209Smrg
8463f010a93dSmrg    # See if GNU ld supports shared libraries.
8464f010a93dSmrg    case $host_os in
8465f010a93dSmrg    aix[[3-9]]*)
8466f010a93dSmrg      # On AIX/PPC, the GNU linker is very broken
8467f010a93dSmrg      if test ia64 != "$host_cpu"; then
8468f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8469f010a93dSmrg	cat <<_LT_EOF 1>&2
8470b534f209Smrg
8471f010a93dSmrg*** Warning: the GNU linker, at least up to release 2.19, is reported
8472f010a93dSmrg*** to be unable to reliably create shared libraries on AIX.
8473f010a93dSmrg*** Therefore, libtool is disabling shared libraries support.  If you
8474f010a93dSmrg*** really care for shared libraries, you may want to install binutils
8475f010a93dSmrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
8476f010a93dSmrg*** You will then need to restart the configuration process.
8477b4d38c65Smrg
8478f010a93dSmrg_LT_EOF
8479b534f209Smrg      fi
8480f010a93dSmrg      ;;
8481b534f209Smrg
8482f010a93dSmrg    amigaos*)
8483f010a93dSmrg      case $host_cpu in
8484f010a93dSmrg      powerpc)
8485f010a93dSmrg            # see comment about AmigaOS4 .so support
8486f010a93dSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8487f010a93dSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
8488f010a93dSmrg        ;;
8489f010a93dSmrg      m68k)
8490f010a93dSmrg            _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)'
8491f010a93dSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8492f010a93dSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
8493f010a93dSmrg        ;;
8494f010a93dSmrg      esac
8495f010a93dSmrg      ;;
8496b4d38c65Smrg
8497f010a93dSmrg    beos*)
8498f010a93dSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8499f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8500f010a93dSmrg	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
8501f010a93dSmrg	# support --undefined.  This deserves some investigation.  FIXME
8502f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8503f010a93dSmrg      else
8504f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8505f010a93dSmrg      fi
8506f010a93dSmrg      ;;
8507b4d38c65Smrg
8508f010a93dSmrg    cygwin* | mingw* | pw32* | cegcc*)
8509f010a93dSmrg      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
8510f010a93dSmrg      # as there is no search path for DLLs.
8511f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8512f010a93dSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
8513f010a93dSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8514f010a93dSmrg      _LT_TAGVAR(always_export_symbols, $1)=no
8515f010a93dSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
8516f010a93dSmrg      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
8517f010a93dSmrg      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
8518b4d38c65Smrg
8519f010a93dSmrg      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
8520f010a93dSmrg        _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'
8521f010a93dSmrg	# If the export-symbols file already is a .def file, use it as
8522f010a93dSmrg	# is; otherwise, prepend EXPORTS...
8523f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
8524f010a93dSmrg          cp $export_symbols $output_objdir/$soname.def;
8525f010a93dSmrg        else
8526f010a93dSmrg          echo EXPORTS > $output_objdir/$soname.def;
8527f010a93dSmrg          cat $export_symbols >> $output_objdir/$soname.def;
8528f010a93dSmrg        fi~
8529f010a93dSmrg        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
8530f010a93dSmrg      else
8531f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8532f010a93dSmrg      fi
8533f010a93dSmrg      ;;
8534b534f209Smrg
8535f010a93dSmrg    haiku*)
8536f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8537f010a93dSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
8538f010a93dSmrg      ;;
853915fb4814Smrg
8540f010a93dSmrg    os2*)
8541f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8542f010a93dSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
8543f010a93dSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8544f010a93dSmrg      shrext_cmds=.dll
8545f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
8546f010a93dSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
8547f010a93dSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
8548f010a93dSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
8549f010a93dSmrg	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
8550f010a93dSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
8551f010a93dSmrg	emximp -o $lib $output_objdir/$libname.def'
8552f010a93dSmrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
8553f010a93dSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
8554f010a93dSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
8555f010a93dSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
8556f010a93dSmrg	prefix_cmds="$SED"~
8557f010a93dSmrg	if test EXPORTS = "`$SED 1q $export_symbols`"; then
8558f010a93dSmrg	  prefix_cmds="$prefix_cmds -e 1d";
8559f010a93dSmrg	fi~
8560f010a93dSmrg	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
8561f010a93dSmrg	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
8562f010a93dSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
8563f010a93dSmrg	emximp -o $lib $output_objdir/$libname.def'
8564f010a93dSmrg      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
8565f010a93dSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
8566f010a93dSmrg      _LT_TAGVAR(file_list_spec, $1)='@'
8567f010a93dSmrg      ;;
856815fb4814Smrg
8569f010a93dSmrg    interix[[3-9]]*)
8570f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=no
8571f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8572f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
8573f010a93dSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
8574f010a93dSmrg      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
8575f010a93dSmrg      # Instead, shared libraries are loaded at an image base (0x10000000 by
8576f010a93dSmrg      # default) and relocated if they conflict, which is a slow very memory
8577f010a93dSmrg      # consuming and fragmenting process.  To avoid this, we pick a random,
8578f010a93dSmrg      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
8579f010a93dSmrg      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
8580f010a93dSmrg      _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'
8581f010a93dSmrg      _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'
8582f010a93dSmrg      ;;
858315fb4814Smrg
8584f010a93dSmrg    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
8585f010a93dSmrg      tmp_diet=no
8586f010a93dSmrg      if test linux-dietlibc = "$host_os"; then
8587f010a93dSmrg	case $cc_basename in
8588f010a93dSmrg	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
8589f010a93dSmrg	esac
8590f010a93dSmrg      fi
8591f010a93dSmrg      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
8592f010a93dSmrg	 && test no = "$tmp_diet"
8593f010a93dSmrg      then
8594f010a93dSmrg	tmp_addflag=' $pic_flag'
8595f010a93dSmrg	tmp_sharedflag='-shared'
8596f010a93dSmrg	case $cc_basename,$host_cpu in
8597f010a93dSmrg        pgcc*)				# Portland Group C compiler
8598f010a93dSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
8599f010a93dSmrg	  tmp_addflag=' $pic_flag'
8600f010a93dSmrg	  ;;
8601f010a93dSmrg	pgf77* | pgf90* | pgf95* | pgfortran*)
8602f010a93dSmrg					# Portland Group f77 and f90 compilers
8603f010a93dSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
8604f010a93dSmrg	  tmp_addflag=' $pic_flag -Mnomain' ;;
8605f010a93dSmrg	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
8606f010a93dSmrg	  tmp_addflag=' -i_dynamic' ;;
8607f010a93dSmrg	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
8608f010a93dSmrg	  tmp_addflag=' -i_dynamic -nofor_main' ;;
8609f010a93dSmrg	ifc* | ifort*)			# Intel Fortran compiler
8610f010a93dSmrg	  tmp_addflag=' -nofor_main' ;;
8611f010a93dSmrg	lf95*)				# Lahey Fortran 8.1
8612f010a93dSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
8613f010a93dSmrg	  tmp_sharedflag='--shared' ;;
8614f010a93dSmrg        nagfor*)                        # NAGFOR 5.3
8615f010a93dSmrg          tmp_sharedflag='-Wl,-shared' ;;
8616f010a93dSmrg	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
8617f010a93dSmrg	  tmp_sharedflag='-qmkshrobj'
8618f010a93dSmrg	  tmp_addflag= ;;
8619f010a93dSmrg	nvcc*)	# Cuda Compiler Driver 2.2
8620f010a93dSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
8621f010a93dSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
8622f010a93dSmrg	  ;;
8623f010a93dSmrg	esac
8624f010a93dSmrg	case `$CC -V 2>&1 | $SED 5q` in
8625f010a93dSmrg	*Sun\ C*)			# Sun C 5.9
8626f010a93dSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
8627f010a93dSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
8628f010a93dSmrg	  tmp_sharedflag='-G' ;;
8629f010a93dSmrg	*Sun\ F*)			# Sun Fortran 8.3
8630f010a93dSmrg	  tmp_sharedflag='-G' ;;
8631f010a93dSmrg	esac
8632f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
863315fb4814Smrg
8634f010a93dSmrg        if test yes = "$supports_anon_versioning"; then
8635f010a93dSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
8636f010a93dSmrg            cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
8637f010a93dSmrg            echo "local: *; };" >> $output_objdir/$libname.ver~
8638f010a93dSmrg            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
8639f010a93dSmrg        fi
864015fb4814Smrg
8641f010a93dSmrg	case $cc_basename in
8642f010a93dSmrg	tcc*)
8643f010a93dSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
8644f010a93dSmrg	  ;;
8645f010a93dSmrg	xlf* | bgf* | bgxlf* | mpixlf*)
8646f010a93dSmrg	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
8647f010a93dSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
8648f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
8649f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
8650f010a93dSmrg	  if test yes = "$supports_anon_versioning"; then
8651f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
8652f010a93dSmrg              cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
8653f010a93dSmrg              echo "local: *; };" >> $output_objdir/$libname.ver~
8654f010a93dSmrg              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
8655f010a93dSmrg	  fi
8656f010a93dSmrg	  ;;
8657f010a93dSmrg	esac
8658f010a93dSmrg      else
8659f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
8660f010a93dSmrg      fi
8661f010a93dSmrg      ;;
866215fb4814Smrg
8663f010a93dSmrg    netbsd*)
8664f010a93dSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
8665f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
8666f010a93dSmrg	wlarc=
8667f010a93dSmrg      else
8668f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8669f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
8670f010a93dSmrg      fi
8671f010a93dSmrg      ;;
867215fb4814Smrg
8673f010a93dSmrg    solaris*)
8674f010a93dSmrg      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
8675f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8676f010a93dSmrg	cat <<_LT_EOF 1>&2
867715fb4814Smrg
8678f010a93dSmrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably
8679f010a93dSmrg*** create shared libraries on Solaris systems.  Therefore, libtool
8680f010a93dSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
8681f010a93dSmrg*** binutils to release 2.9.1 or newer.  Another option is to modify
8682f010a93dSmrg*** your PATH or compiler configuration so that the native linker is
8683f010a93dSmrg*** used, and then restart.
868415fb4814Smrg
8685f010a93dSmrg_LT_EOF
8686f010a93dSmrg      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8687f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8688f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
8689f010a93dSmrg      else
8690f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8691f010a93dSmrg      fi
8692f010a93dSmrg      ;;
869315fb4814Smrg
8694f010a93dSmrg    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
8695f010a93dSmrg      case `$LD -v 2>&1` in
8696f010a93dSmrg        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
8697f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8698f010a93dSmrg	cat <<_LT_EOF 1>&2
869915fb4814Smrg
8700f010a93dSmrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
8701f010a93dSmrg*** reliably create shared libraries on SCO systems.  Therefore, libtool
8702f010a93dSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
8703f010a93dSmrg*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
8704f010a93dSmrg*** your PATH or compiler configuration so that the native linker is
8705f010a93dSmrg*** used, and then restart.
870615fb4814Smrg
8707f010a93dSmrg_LT_EOF
8708f010a93dSmrg	;;
8709f010a93dSmrg	*)
8710f010a93dSmrg	  # For security reasons, it is highly recommended that you always
8711f010a93dSmrg	  # use absolute paths for naming shared libraries, and exclude the
8712f010a93dSmrg	  # DT_RUNPATH tag from executables and libraries.  But doing so
8713f010a93dSmrg	  # requires that you compile everything twice, which is a pain.
8714f010a93dSmrg	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8715f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
8716f010a93dSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8717f010a93dSmrg	    _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'
8718f010a93dSmrg	  else
8719f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8720f010a93dSmrg	  fi
8721f010a93dSmrg	;;
8722f010a93dSmrg      esac
8723f010a93dSmrg      ;;
872415fb4814Smrg
8725f010a93dSmrg    sunos4*)
8726f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
8727f010a93dSmrg      wlarc=
8728f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
8729f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8730f010a93dSmrg      ;;
8731b4d38c65Smrg
8732f010a93dSmrg    *)
8733f010a93dSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8734f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8735f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
8736f010a93dSmrg      else
8737f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8738f010a93dSmrg      fi
8739f010a93dSmrg      ;;
8740b4d38c65Smrg    esac
8741b410ddbeSmrg
8742f010a93dSmrg    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
8743f010a93dSmrg      runpath_var=
8744f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
8745f010a93dSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
8746f010a93dSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
8747f010a93dSmrg    fi
8748f010a93dSmrg  else
8749f010a93dSmrg    # PORTME fill in a description of your system's linker (not GNU ld)
8750f010a93dSmrg    case $host_os in
8751f010a93dSmrg    aix3*)
8752f010a93dSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8753f010a93dSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
8754f010a93dSmrg      _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'
8755f010a93dSmrg      # Note: this linker hardcodes the directories in LIBPATH if there
8756f010a93dSmrg      # are no directories specified by -L.
8757f010a93dSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
8758f010a93dSmrg      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
8759f010a93dSmrg	# Neither direct hardcoding nor static linking is supported with a
8760f010a93dSmrg	# broken collect2.
8761f010a93dSmrg	_LT_TAGVAR(hardcode_direct, $1)=unsupported
8762f010a93dSmrg      fi
8763f010a93dSmrg      ;;
8764b410ddbeSmrg
8765f010a93dSmrg    aix[[4-9]]*)
8766f010a93dSmrg      if test ia64 = "$host_cpu"; then
8767f010a93dSmrg	# On IA64, the linker does run time linking by default, so we don't
8768f010a93dSmrg	# have to do anything special.
8769f010a93dSmrg	aix_use_runtimelinking=no
8770f010a93dSmrg	exp_sym_flag='-Bexport'
8771f010a93dSmrg	no_entry_flag=
8772f010a93dSmrg      else
8773f010a93dSmrg	# If we're using GNU nm, then we don't want the "-C" option.
8774f010a93dSmrg	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
8775f010a93dSmrg	# Without the "-l" option, or with the "-B" option, AIX nm treats
8776f010a93dSmrg	# weak defined symbols like other global defined symbols, whereas
8777f010a93dSmrg	# GNU nm marks them as "W".
8778f010a93dSmrg	# While the 'weak' keyword is ignored in the Export File, we need
8779f010a93dSmrg	# it in the Import File for the 'aix-soname' feature, so we have
8780f010a93dSmrg	# to replace the "-B" option with "-P" for AIX nm.
8781f010a93dSmrg	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
8782f010a93dSmrg	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
8783f010a93dSmrg	else
8784f010a93dSmrg	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
8785f010a93dSmrg	fi
8786f010a93dSmrg	aix_use_runtimelinking=no
8787b410ddbeSmrg
8788f010a93dSmrg	# Test if we are trying to use run time linking or normal
8789f010a93dSmrg	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
8790f010a93dSmrg	# have runtime linking enabled, and use it for executables.
8791f010a93dSmrg	# For shared libraries, we enable/disable runtime linking
8792f010a93dSmrg	# depending on the kind of the shared library created -
8793f010a93dSmrg	# when "with_aix_soname,aix_use_runtimelinking" is:
8794f010a93dSmrg	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
8795f010a93dSmrg	# "aix,yes"  lib.so          shared, rtl:yes, for executables
8796f010a93dSmrg	#            lib.a           static archive
8797f010a93dSmrg	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
8798f010a93dSmrg	#            lib.a(lib.so.V) shared, rtl:no,  for executables
8799f010a93dSmrg	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
8800f010a93dSmrg	#            lib.a(lib.so.V) shared, rtl:no
8801f010a93dSmrg	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
8802f010a93dSmrg	#            lib.a           static archive
8803f010a93dSmrg	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
8804f010a93dSmrg	  for ld_flag in $LDFLAGS; do
8805f010a93dSmrg	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
8806f010a93dSmrg	    aix_use_runtimelinking=yes
8807f010a93dSmrg	    break
8808f010a93dSmrg	  fi
8809f010a93dSmrg	  done
8810f010a93dSmrg	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
8811f010a93dSmrg	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
8812f010a93dSmrg	    # so we don't have lib.a shared libs to link our executables.
8813f010a93dSmrg	    # We have to force runtime linking in this case.
8814f010a93dSmrg	    aix_use_runtimelinking=yes
8815f010a93dSmrg	    LDFLAGS="$LDFLAGS -Wl,-brtl"
8816f010a93dSmrg	  fi
8817f010a93dSmrg	  ;;
8818f010a93dSmrg	esac
8819b410ddbeSmrg
8820f010a93dSmrg	exp_sym_flag='-bexport'
8821f010a93dSmrg	no_entry_flag='-bnoentry'
8822f010a93dSmrg      fi
8823b410ddbeSmrg
8824f010a93dSmrg      # When large executables or shared objects are built, AIX ld can
8825f010a93dSmrg      # have problems creating the table of contents.  If linking a library
8826f010a93dSmrg      # or program results in "error TOC overflow" add -mminimal-toc to
8827f010a93dSmrg      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
8828f010a93dSmrg      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
8829b410ddbeSmrg
8830f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)=''
8831f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
8832f010a93dSmrg      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
8833f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
8834f010a93dSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
8835f010a93dSmrg      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
8836f010a93dSmrg      case $with_aix_soname,$aix_use_runtimelinking in
8837f010a93dSmrg      aix,*) ;; # traditional, no import file
8838f010a93dSmrg      svr4,* | *,yes) # use import file
8839f010a93dSmrg	# The Import File defines what to hardcode.
8840f010a93dSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
8841f010a93dSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
8842f010a93dSmrg	;;
8843f010a93dSmrg      esac
884415fb4814Smrg
8845f010a93dSmrg      if test yes = "$GCC"; then
8846f010a93dSmrg	case $host_os in aix4.[[012]]|aix4.[[012]].*)
8847f010a93dSmrg	# We only want to do this on AIX 4.2 and lower, the check
8848f010a93dSmrg	# below for broken collect2 doesn't work under 4.3+
8849f010a93dSmrg	  collect2name=`$CC -print-prog-name=collect2`
8850f010a93dSmrg	  if test -f "$collect2name" &&
8851f010a93dSmrg	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
8852f010a93dSmrg	  then
8853f010a93dSmrg	  # We have reworked collect2
8854f010a93dSmrg	  :
8855f010a93dSmrg	  else
8856f010a93dSmrg	  # We have old collect2
8857f010a93dSmrg	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
8858f010a93dSmrg	  # It fails to find uninstalled libraries when the uninstalled
8859f010a93dSmrg	  # path is not listed in the libpath.  Setting hardcode_minus_L
8860f010a93dSmrg	  # to unsupported forces relinking
8861f010a93dSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
8862f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8863f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
8864f010a93dSmrg	  fi
8865f010a93dSmrg	  ;;
8866f010a93dSmrg	esac
8867f010a93dSmrg	shared_flag='-shared'
8868f010a93dSmrg	if test yes = "$aix_use_runtimelinking"; then
8869f010a93dSmrg	  shared_flag="$shared_flag "'$wl-G'
8870f010a93dSmrg	fi
8871f010a93dSmrg	# Need to ensure runtime linking is disabled for the traditional
8872f010a93dSmrg	# shared library, or the linker may eventually find shared libraries
8873f010a93dSmrg	# /with/ Import File - we do not want to mix them.
8874f010a93dSmrg	shared_flag_aix='-shared'
8875f010a93dSmrg	shared_flag_svr4='-shared $wl-G'
8876f010a93dSmrg      else
8877f010a93dSmrg	# not using gcc
8878f010a93dSmrg	if test ia64 = "$host_cpu"; then
8879f010a93dSmrg	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
8880f010a93dSmrg	# chokes on -Wl,-G. The following line is correct:
8881f010a93dSmrg	  shared_flag='-G'
8882f010a93dSmrg	else
8883f010a93dSmrg	  if test yes = "$aix_use_runtimelinking"; then
8884f010a93dSmrg	    shared_flag='$wl-G'
8885f010a93dSmrg	  else
8886f010a93dSmrg	    shared_flag='$wl-bM:SRE'
8887f010a93dSmrg	  fi
8888f010a93dSmrg	  shared_flag_aix='$wl-bM:SRE'
8889f010a93dSmrg	  shared_flag_svr4='$wl-G'
8890f010a93dSmrg	fi
8891f010a93dSmrg      fi
889215fb4814Smrg
8893f010a93dSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
8894f010a93dSmrg      # It seems that -bexpall does not export symbols beginning with
8895f010a93dSmrg      # underscore (_), so it is better to generate a list of symbols to export.
8896f010a93dSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
8897f010a93dSmrg      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
8898f010a93dSmrg	# Warning - without using the other runtime loading flags (-brtl),
8899f010a93dSmrg	# -berok will link without error, but may produce a broken library.
8900f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
8901f010a93dSmrg        # Determine the default libpath from the value encoded in an
8902f010a93dSmrg        # empty executable.
8903f010a93dSmrg        _LT_SYS_MODULE_PATH_AIX([$1])
8904f010a93dSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
8905f010a93dSmrg        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
8906f010a93dSmrg      else
8907f010a93dSmrg	if test ia64 = "$host_cpu"; then
8908f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
8909f010a93dSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
8910f010a93dSmrg	  _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"
8911f010a93dSmrg	else
8912f010a93dSmrg	 # Determine the default libpath from the value encoded in an
8913f010a93dSmrg	 # empty executable.
8914f010a93dSmrg	 _LT_SYS_MODULE_PATH_AIX([$1])
8915f010a93dSmrg	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
8916f010a93dSmrg	  # Warning - without using the other run time loading flags,
8917f010a93dSmrg	  # -berok will link without error, but may produce a broken library.
8918f010a93dSmrg	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
8919f010a93dSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
8920f010a93dSmrg	  if test yes = "$with_gnu_ld"; then
8921f010a93dSmrg	    # We only use this code for GNU lds that support --whole-archive.
8922f010a93dSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
8923f010a93dSmrg	  else
8924f010a93dSmrg	    # Exported symbols can be pulled into shared objects from archives
8925f010a93dSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
8926f010a93dSmrg	  fi
8927f010a93dSmrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
8928f010a93dSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
8929f010a93dSmrg	  # -brtl affects multiple linker settings, -berok does not and is overridden later
8930f010a93dSmrg	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
8931f010a93dSmrg	  if test svr4 != "$with_aix_soname"; then
8932f010a93dSmrg	    # This is similar to how AIX traditionally builds its shared libraries.
8933f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
8934f010a93dSmrg	  fi
8935f010a93dSmrg	  if test aix != "$with_aix_soname"; then
8936f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
8937f010a93dSmrg	  else
8938f010a93dSmrg	    # used by -dlpreopen to get the symbols
8939f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
8940f010a93dSmrg	  fi
8941f010a93dSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
8942f010a93dSmrg	fi
8943f010a93dSmrg      fi
8944f010a93dSmrg      ;;
8945de78e416Smrg
8946f010a93dSmrg    amigaos*)
8947f010a93dSmrg      case $host_cpu in
8948f010a93dSmrg      powerpc)
8949f010a93dSmrg            # see comment about AmigaOS4 .so support
8950f010a93dSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8951f010a93dSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
8952f010a93dSmrg        ;;
8953f010a93dSmrg      m68k)
8954f010a93dSmrg            _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)'
8955f010a93dSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8956f010a93dSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
8957f010a93dSmrg        ;;
8958f010a93dSmrg      esac
8959f010a93dSmrg      ;;
8960b4d38c65Smrg
8961f010a93dSmrg    bsdi[[45]]*)
8962f010a93dSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
8963f010a93dSmrg      ;;
8964b4d38c65Smrg
8965f010a93dSmrg    cygwin* | mingw* | pw32* | cegcc*)
8966f010a93dSmrg      # When not using gcc, we currently assume that we are using
8967f010a93dSmrg      # Microsoft Visual C++ or Intel C++ Compiler.
8968f010a93dSmrg      # hardcode_libdir_flag_spec is actually meaningless, as there is
8969f010a93dSmrg      # no search path for DLLs.
8970f010a93dSmrg      case $cc_basename in
8971f010a93dSmrg      cl* | icl*)
8972f010a93dSmrg	# Native MSVC or ICC
8973f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
8974f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8975f010a93dSmrg	_LT_TAGVAR(always_export_symbols, $1)=yes
8976f010a93dSmrg	_LT_TAGVAR(file_list_spec, $1)='@'
8977f010a93dSmrg	# Tell ltmain to make .lib files, not .a files.
8978f010a93dSmrg	libext=lib
8979f010a93dSmrg	# Tell ltmain to make .dll files, not .so files.
8980f010a93dSmrg	shrext_cmds=.dll
8981f010a93dSmrg	# FIXME: Setting linknames here is a bad hack.
8982f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
8983f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
8984f010a93dSmrg            cp "$export_symbols" "$output_objdir/$soname.def";
8985f010a93dSmrg            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
8986f010a93dSmrg          else
8987f010a93dSmrg            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
8988f010a93dSmrg          fi~
8989f010a93dSmrg          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
8990f010a93dSmrg          linknames='
8991f010a93dSmrg	# The linker will not automatically build a static lib if we build a DLL.
8992f010a93dSmrg	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
8993f010a93dSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
8994f010a93dSmrg	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
8995f010a93dSmrg	_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'
8996f010a93dSmrg	# Don't use ranlib
8997f010a93dSmrg	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
8998f010a93dSmrg	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
8999f010a93dSmrg          lt_tool_outputfile="@TOOL_OUTPUT@"~
9000f010a93dSmrg          case $lt_outputfile in
9001f010a93dSmrg            *.exe|*.EXE) ;;
9002f010a93dSmrg            *)
9003f010a93dSmrg              lt_outputfile=$lt_outputfile.exe
9004f010a93dSmrg              lt_tool_outputfile=$lt_tool_outputfile.exe
9005f010a93dSmrg              ;;
9006f010a93dSmrg          esac~
9007f010a93dSmrg          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
9008f010a93dSmrg            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
9009f010a93dSmrg            $RM "$lt_outputfile.manifest";
9010f010a93dSmrg          fi'
9011f010a93dSmrg	;;
9012f010a93dSmrg      *)
9013f010a93dSmrg	# Assume MSVC and ICC wrapper
9014f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
9015f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
9016f010a93dSmrg	# Tell ltmain to make .lib files, not .a files.
9017f010a93dSmrg	libext=lib
9018f010a93dSmrg	# Tell ltmain to make .dll files, not .so files.
9019f010a93dSmrg	shrext_cmds=.dll
9020f010a93dSmrg	# FIXME: Setting linknames here is a bad hack.
9021f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
9022f010a93dSmrg	# The linker will automatically build a .lib file if we build a DLL.
9023f010a93dSmrg	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
9024f010a93dSmrg	# FIXME: Should let the user specify the lib program.
9025f010a93dSmrg	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
9026f010a93dSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
9027f010a93dSmrg	;;
9028f010a93dSmrg      esac
9029f010a93dSmrg      ;;
903015fb4814Smrg
9031f010a93dSmrg    darwin* | rhapsody*)
9032f010a93dSmrg      _LT_DARWIN_LINKER_FEATURES($1)
9033f010a93dSmrg      ;;
903415fb4814Smrg
9035f010a93dSmrg    dgux*)
9036f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9037f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9038f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9039f010a93dSmrg      ;;
9040b4d38c65Smrg
9041f010a93dSmrg    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
9042f010a93dSmrg    # support.  Future versions do this automatically, but an explicit c++rt0.o
9043f010a93dSmrg    # does not break anything, and helps significantly (at the cost of a little
9044f010a93dSmrg    # extra space).
9045f010a93dSmrg    freebsd2.2*)
9046f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
9047f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
9048f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9049f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9050f010a93dSmrg      ;;
905115fb4814Smrg
9052f010a93dSmrg    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
9053f010a93dSmrg    freebsd2.*)
9054f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
9055f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9056f010a93dSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
9057f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9058f010a93dSmrg      ;;
9059b534f209Smrg
9060f010a93dSmrg    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
9061f010a93dSmrg    freebsd* | dragonfly* | midnightbsd*)
9062f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9063f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
9064f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9065f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9066f010a93dSmrg      ;;
9067b534f209Smrg
9068f010a93dSmrg    hpux9*)
9069f010a93dSmrg      if test yes = "$GCC"; then
9070f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
9071f010a93dSmrg      else
9072f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
9073f010a93dSmrg      fi
9074f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
9075f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9076f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9077b534f209Smrg
9078f010a93dSmrg      # hardcode_minus_L: Not really in the search PATH,
9079f010a93dSmrg      # but as the default location of the library.
9080f010a93dSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
9081f010a93dSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
9082f010a93dSmrg      ;;
9083b534f209Smrg
9084f010a93dSmrg    hpux10*)
9085f010a93dSmrg      if test yes,no = "$GCC,$with_gnu_ld"; then
9086f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
9087f010a93dSmrg      else
9088f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
9089f010a93dSmrg      fi
9090f010a93dSmrg      if test no = "$with_gnu_ld"; then
9091f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
9092f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
9093f010a93dSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
9094f010a93dSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
9095f010a93dSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
9096f010a93dSmrg	# hardcode_minus_L: Not really in the search PATH,
9097f010a93dSmrg	# but as the default location of the library.
9098f010a93dSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
9099f010a93dSmrg      fi
9100f010a93dSmrg      ;;
9101b534f209Smrg
9102f010a93dSmrg    hpux11*)
9103f010a93dSmrg      if test yes,no = "$GCC,$with_gnu_ld"; then
9104f010a93dSmrg	case $host_cpu in
9105f010a93dSmrg	hppa*64*)
9106f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
9107f010a93dSmrg	  ;;
9108f010a93dSmrg	ia64*)
9109f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
9110f010a93dSmrg	  ;;
9111f010a93dSmrg	*)
9112f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
9113f010a93dSmrg	  ;;
9114f010a93dSmrg	esac
9115f010a93dSmrg      else
9116f010a93dSmrg	case $host_cpu in
9117f010a93dSmrg	hppa*64*)
9118f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
9119f010a93dSmrg	  ;;
9120f010a93dSmrg	ia64*)
9121f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
9122f010a93dSmrg	  ;;
9123f010a93dSmrg	*)
9124f010a93dSmrg	m4_if($1, [], [
9125f010a93dSmrg	  # Older versions of the 11.00 compiler do not understand -b yet
9126f010a93dSmrg	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
9127f010a93dSmrg	  _LT_LINKER_OPTION([if $CC understands -b],
9128f010a93dSmrg	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
9129f010a93dSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
9130f010a93dSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
9131f010a93dSmrg	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
9132f010a93dSmrg	  ;;
9133f010a93dSmrg	esac
9134f010a93dSmrg      fi
9135f010a93dSmrg      if test no = "$with_gnu_ld"; then
9136f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
9137f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
9138b534f209Smrg
9139f010a93dSmrg	case $host_cpu in
9140f010a93dSmrg	hppa*64*|ia64*)
9141f010a93dSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
9142f010a93dSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9143f010a93dSmrg	  ;;
9144f010a93dSmrg	*)
9145f010a93dSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
9146f010a93dSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
9147f010a93dSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
9148b534f209Smrg
9149f010a93dSmrg	  # hardcode_minus_L: Not really in the search PATH,
9150f010a93dSmrg	  # but as the default location of the library.
9151f010a93dSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
9152f010a93dSmrg	  ;;
9153f010a93dSmrg	esac
9154f010a93dSmrg      fi
9155f010a93dSmrg      ;;
9156b534f209Smrg
9157f010a93dSmrg    irix5* | irix6* | nonstopux*)
9158f010a93dSmrg      if test yes = "$GCC"; then
9159f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
9160f010a93dSmrg	# Try to use the -exported_symbol ld option, if it does not
9161f010a93dSmrg	# work, assume that -exports_file does not work either and
9162f010a93dSmrg	# implicitly export all symbols.
9163f010a93dSmrg	# This should be the same for all languages, so no per-tag cache variable.
9164f010a93dSmrg	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
9165f010a93dSmrg	  [lt_cv_irix_exported_symbol],
9166f010a93dSmrg	  [save_LDFLAGS=$LDFLAGS
9167f010a93dSmrg	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
9168f010a93dSmrg	   AC_LINK_IFELSE(
9169f010a93dSmrg	     [AC_LANG_SOURCE(
9170f010a93dSmrg	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
9171f010a93dSmrg			      [C++], [[int foo (void) { return 0; }]],
9172f010a93dSmrg			      [Fortran 77], [[
9173f010a93dSmrg      subroutine foo
9174f010a93dSmrg      end]],
9175f010a93dSmrg			      [Fortran], [[
9176f010a93dSmrg      subroutine foo
9177f010a93dSmrg      end]])])],
9178f010a93dSmrg	      [lt_cv_irix_exported_symbol=yes],
9179f010a93dSmrg	      [lt_cv_irix_exported_symbol=no])
9180f010a93dSmrg           LDFLAGS=$save_LDFLAGS])
9181f010a93dSmrg	if test yes = "$lt_cv_irix_exported_symbol"; then
9182f010a93dSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
9183f010a93dSmrg	fi
9184f010a93dSmrg      else
9185f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
9186f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
9187f010a93dSmrg      fi
9188f010a93dSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
9189f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9190f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9191f010a93dSmrg      _LT_TAGVAR(inherit_rpath, $1)=yes
9192f010a93dSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
9193f010a93dSmrg      ;;
919415fb4814Smrg
9195f010a93dSmrg    linux*)
9196f010a93dSmrg      case $cc_basename in
9197f010a93dSmrg      tcc*)
9198f010a93dSmrg	# Fabrice Bellard et al's Tiny C Compiler
9199f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
9200f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9201f010a93dSmrg	;;
9202f010a93dSmrg      esac
9203f010a93dSmrg      ;;
920415fb4814Smrg
9205f010a93dSmrg    netbsd*)
9206f010a93dSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
9207f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
9208f010a93dSmrg      else
9209f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
9210f010a93dSmrg      fi
9211f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
9212f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9213f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9214f010a93dSmrg      ;;
921515fb4814Smrg
9216f010a93dSmrg    newsos6)
9217f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9218f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9219f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9220f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9221f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9222f010a93dSmrg      ;;
9223b410ddbeSmrg
9224f010a93dSmrg    *nto* | *qnx*)
9225f010a93dSmrg      ;;
922615fb4814Smrg
9227f010a93dSmrg    openbsd* | bitrig*)
9228f010a93dSmrg      if test -f /usr/libexec/ld.so; then
9229f010a93dSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
9230f010a93dSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9231f010a93dSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
9232f010a93dSmrg	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
9233f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9234f010a93dSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
9235f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
9236f010a93dSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
9237f010a93dSmrg	else
9238f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9239f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
9240f010a93dSmrg	fi
9241f010a93dSmrg      else
9242f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
9243f010a93dSmrg      fi
9244f010a93dSmrg      ;;
924515fb4814Smrg
9246f010a93dSmrg    os2*)
9247f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9248f010a93dSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
9249f010a93dSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
9250f010a93dSmrg      shrext_cmds=.dll
9251f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
9252f010a93dSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
9253f010a93dSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
9254f010a93dSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
9255f010a93dSmrg	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
9256f010a93dSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
9257f010a93dSmrg	emximp -o $lib $output_objdir/$libname.def'
9258f010a93dSmrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
9259f010a93dSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
9260f010a93dSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
9261f010a93dSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
9262f010a93dSmrg	prefix_cmds="$SED"~
9263f010a93dSmrg	if test EXPORTS = "`$SED 1q $export_symbols`"; then
9264f010a93dSmrg	  prefix_cmds="$prefix_cmds -e 1d";
9265f010a93dSmrg	fi~
9266f010a93dSmrg	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
9267f010a93dSmrg	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
9268f010a93dSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
9269f010a93dSmrg	emximp -o $lib $output_objdir/$libname.def'
9270f010a93dSmrg      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
9271f010a93dSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
9272f010a93dSmrg      _LT_TAGVAR(file_list_spec, $1)='@'
9273f010a93dSmrg      ;;
9274b410ddbeSmrg
9275f010a93dSmrg    osf3*)
9276f010a93dSmrg      if test yes = "$GCC"; then
9277f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
9278f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
9279f010a93dSmrg      else
9280f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
9281f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
9282f010a93dSmrg      fi
9283f010a93dSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
9284f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9285f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9286f010a93dSmrg      ;;
928715fb4814Smrg
9288f010a93dSmrg    osf4* | osf5*)	# as osf3* with the addition of -msym flag
9289f010a93dSmrg      if test yes = "$GCC"; then
9290f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
9291f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
9292f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9293f010a93dSmrg      else
9294f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
9295f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
9296f010a93dSmrg	_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~
9297f010a93dSmrg          $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
929815fb4814Smrg
9299f010a93dSmrg	# Both c and cxx compiler support -rpath directly
9300f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
9301f010a93dSmrg      fi
9302f010a93dSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
9303f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9304f010a93dSmrg      ;;
9305b410ddbeSmrg
9306f010a93dSmrg    solaris*)
9307f010a93dSmrg      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
9308f010a93dSmrg      if test yes = "$GCC"; then
9309f010a93dSmrg	wlarc='$wl'
9310f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
9311f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9312f010a93dSmrg          $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
9313f010a93dSmrg      else
9314f010a93dSmrg	case `$CC -V 2>&1` in
9315f010a93dSmrg	*"Compilers 5.0"*)
9316f010a93dSmrg	  wlarc=''
9317f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
9318f010a93dSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9319f010a93dSmrg            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
9320f010a93dSmrg	  ;;
9321f010a93dSmrg	*)
9322f010a93dSmrg	  wlarc='$wl'
9323f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
9324f010a93dSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9325f010a93dSmrg            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
9326f010a93dSmrg	  ;;
9327f010a93dSmrg	esac
9328f010a93dSmrg      fi
9329f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
9330f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9331f010a93dSmrg      case $host_os in
9332f010a93dSmrg      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
9333f010a93dSmrg      *)
9334f010a93dSmrg	# The compiler driver will combine and reorder linker options,
9335f010a93dSmrg	# but understands '-z linker_flag'.  GCC discards it without '$wl',
9336f010a93dSmrg	# but is careful enough not to reorder.
9337f010a93dSmrg	# Supported since Solaris 2.6 (maybe 2.5.1?)
9338f010a93dSmrg	if test yes = "$GCC"; then
9339f010a93dSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
9340f010a93dSmrg	else
9341f010a93dSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
9342b4d38c65Smrg	fi
9343f010a93dSmrg	;;
9344f010a93dSmrg      esac
9345f010a93dSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
9346f010a93dSmrg      ;;
9347f010a93dSmrg
9348f010a93dSmrg    sunos4*)
9349f010a93dSmrg      if test sequent = "$host_vendor"; then
9350f010a93dSmrg	# Use $CC to link under sequent, because it throws in some extra .o
9351f010a93dSmrg	# files that make .init and .fini sections work.
9352f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
9353f010a93dSmrg      else
9354f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
9355f010a93dSmrg      fi
9356f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9357f010a93dSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9358f010a93dSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
9359f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9360f010a93dSmrg      ;;
9361f010a93dSmrg
9362f010a93dSmrg    sysv4)
9363f010a93dSmrg      case $host_vendor in
9364f010a93dSmrg	sni)
9365f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9366f010a93dSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
9367f010a93dSmrg	;;
9368f010a93dSmrg	siemens)
9369f010a93dSmrg	  ## LD is ld it makes a PLAMLIB
9370f010a93dSmrg	  ## CC just makes a GrossModule.
9371f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
9372f010a93dSmrg	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
9373f010a93dSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
9374f010a93dSmrg        ;;
9375f010a93dSmrg	motorola)
9376f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9377f010a93dSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
9378f010a93dSmrg	;;
9379f010a93dSmrg      esac
9380f010a93dSmrg      runpath_var='LD_RUN_PATH'
9381f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9382b4d38c65Smrg      ;;
9383b4d38c65Smrg
9384f010a93dSmrg    sysv4.3*)
9385f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9386f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9387f010a93dSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
9388f010a93dSmrg      ;;
9389b4d38c65Smrg
9390f010a93dSmrg    sysv4*MP*)
9391f010a93dSmrg      if test -d /usr/nec; then
9392f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9393f010a93dSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9394f010a93dSmrg	runpath_var=LD_RUN_PATH
9395f010a93dSmrg	hardcode_runpath_var=yes
9396f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
9397f010a93dSmrg      fi
9398f010a93dSmrg      ;;
9399b4d38c65Smrg
9400f010a93dSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
9401f010a93dSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
9402f010a93dSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
9403f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9404f010a93dSmrg      runpath_var='LD_RUN_PATH'
9405b4d38c65Smrg
9406f010a93dSmrg      if test yes = "$GCC"; then
9407f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9408f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9409f010a93dSmrg      else
9410f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9411f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9412f010a93dSmrg      fi
9413f010a93dSmrg      ;;
9414b4d38c65Smrg
9415f010a93dSmrg    sysv5* | sco3.2v5* | sco5v6*)
9416f010a93dSmrg      # Note: We CANNOT use -z defs as we might desire, because we do not
9417f010a93dSmrg      # link with -lc, and that would cause any symbols used from libc to
9418f010a93dSmrg      # always be unresolved, which means just about no library would
9419f010a93dSmrg      # ever link correctly.  If we're not using GNU ld we use -z text
9420f010a93dSmrg      # though, which does catch some bad symbols but isn't as heavy-handed
9421f010a93dSmrg      # as -z defs.
9422f010a93dSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
9423f010a93dSmrg      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
9424f010a93dSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
9425f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9426f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
9427f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
9428f010a93dSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
9429f010a93dSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
9430f010a93dSmrg      runpath_var='LD_RUN_PATH'
9431b4d38c65Smrg
9432f010a93dSmrg      if test yes = "$GCC"; then
9433f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9434f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9435f010a93dSmrg      else
9436f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9437f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9438f010a93dSmrg      fi
9439f010a93dSmrg      ;;
9440b4d38c65Smrg
9441f010a93dSmrg    uts4*)
9442f010a93dSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9443f010a93dSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9444f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9445f010a93dSmrg      ;;
9446b4d38c65Smrg
9447b4d38c65Smrg    *)
9448f010a93dSmrg      _LT_TAGVAR(ld_shlibs, $1)=no
9449b4d38c65Smrg      ;;
9450f010a93dSmrg    esac
9451b4d38c65Smrg
9452f010a93dSmrg    if test sni = "$host_vendor"; then
9453f010a93dSmrg      case $host in
9454f010a93dSmrg      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
9455f010a93dSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
9456f010a93dSmrg	;;
9457f010a93dSmrg      esac
9458f010a93dSmrg    fi
9459f010a93dSmrg  fi
9460b4d38c65Smrg])
9461f010a93dSmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
9462f010a93dSmrgtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
9463b4d38c65Smrg
9464f010a93dSmrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
9465b4d38c65Smrg
9466f010a93dSmrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
9467f010a93dSmrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
9468f010a93dSmrg_LT_DECL([], [extract_expsyms_cmds], [2],
9469f010a93dSmrg    [The commands to extract the exported symbol list from a shared archive])
9470b4d38c65Smrg
9471f010a93dSmrg#
9472f010a93dSmrg# Do we need to explicitly link libc?
9473f010a93dSmrg#
9474f010a93dSmrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
9475f010a93dSmrgx|xyes)
9476f010a93dSmrg  # Assume -lc should be added
9477f010a93dSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
9478b4d38c65Smrg
9479f010a93dSmrg  if test yes,yes = "$GCC,$enable_shared"; then
9480f010a93dSmrg    case $_LT_TAGVAR(archive_cmds, $1) in
9481f010a93dSmrg    *'~'*)
9482f010a93dSmrg      # FIXME: we may have to deal with multi-command sequences.
9483f010a93dSmrg      ;;
9484f010a93dSmrg    '$CC '*)
9485f010a93dSmrg      # Test whether the compiler implicitly links with -lc since on some
9486f010a93dSmrg      # systems, -lgcc has to come before -lc. If gcc already passes -lc
9487f010a93dSmrg      # to ld, don't add -lc before -lgcc.
9488f010a93dSmrg      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
9489f010a93dSmrg	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
9490f010a93dSmrg	[$RM conftest*
9491f010a93dSmrg	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
9492b4d38c65Smrg
9493f010a93dSmrg	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
9494f010a93dSmrg	  soname=conftest
9495f010a93dSmrg	  lib=conftest
9496f010a93dSmrg	  libobjs=conftest.$ac_objext
9497f010a93dSmrg	  deplibs=
9498f010a93dSmrg	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
9499f010a93dSmrg	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
9500f010a93dSmrg	  compiler_flags=-v
9501f010a93dSmrg	  linker_flags=-v
9502f010a93dSmrg	  verstring=
9503f010a93dSmrg	  output_objdir=.
9504f010a93dSmrg	  libname=conftest
9505f010a93dSmrg	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
9506f010a93dSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=
9507f010a93dSmrg	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
9508f010a93dSmrg	  then
9509f010a93dSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
9510f010a93dSmrg	  else
9511f010a93dSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
9512f010a93dSmrg	  fi
9513f010a93dSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
9514f010a93dSmrg	else
9515f010a93dSmrg	  cat conftest.err 1>&5
9516b4d38c65Smrg	fi
9517f010a93dSmrg	$RM conftest*
9518f010a93dSmrg	])
9519f010a93dSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
9520b4d38c65Smrg      ;;
9521f010a93dSmrg    esac
9522f010a93dSmrg  fi
9523f010a93dSmrg  ;;
9524f010a93dSmrgesac
9525f010a93dSmrg
9526f010a93dSmrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
9527f010a93dSmrg    [Whether or not to add -lc for building shared libraries])
9528f010a93dSmrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
9529f010a93dSmrg    [enable_shared_with_static_runtimes], [0],
9530f010a93dSmrg    [Whether or not to disallow shared libs when runtime libs are static])
9531f010a93dSmrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
9532f010a93dSmrg    [Compiler flag to allow reflexive dlopens])
9533f010a93dSmrg_LT_TAGDECL([], [whole_archive_flag_spec], [1],
9534f010a93dSmrg    [Compiler flag to generate shared objects directly from archives])
9535f010a93dSmrg_LT_TAGDECL([], [compiler_needs_object], [1],
9536f010a93dSmrg    [Whether the compiler copes with passing no objects directly])
9537f010a93dSmrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
9538f010a93dSmrg    [Create an old-style archive from a shared archive])
9539f010a93dSmrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
9540f010a93dSmrg    [Create a temporary old-style archive to link instead of a shared archive])
9541f010a93dSmrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
9542f010a93dSmrg_LT_TAGDECL([], [archive_expsym_cmds], [2])
9543f010a93dSmrg_LT_TAGDECL([], [module_cmds], [2],
9544f010a93dSmrg    [Commands used to build a loadable module if different from building
9545f010a93dSmrg    a shared archive.])
9546f010a93dSmrg_LT_TAGDECL([], [module_expsym_cmds], [2])
9547f010a93dSmrg_LT_TAGDECL([], [with_gnu_ld], [1],
9548f010a93dSmrg    [Whether we are building with GNU ld or not])
9549f010a93dSmrg_LT_TAGDECL([], [allow_undefined_flag], [1],
9550f010a93dSmrg    [Flag that allows shared libraries with undefined symbols to be built])
9551f010a93dSmrg_LT_TAGDECL([], [no_undefined_flag], [1],
9552f010a93dSmrg    [Flag that enforces no undefined symbols])
9553f010a93dSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
9554f010a93dSmrg    [Flag to hardcode $libdir into a binary during linking.
9555f010a93dSmrg    This must work even if $libdir does not exist])
9556f010a93dSmrg_LT_TAGDECL([], [hardcode_libdir_separator], [1],
9557f010a93dSmrg    [Whether we need a single "-rpath" flag with a separated argument])
9558f010a93dSmrg_LT_TAGDECL([], [hardcode_direct], [0],
9559f010a93dSmrg    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
9560f010a93dSmrg    DIR into the resulting binary])
9561f010a93dSmrg_LT_TAGDECL([], [hardcode_direct_absolute], [0],
9562f010a93dSmrg    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
9563f010a93dSmrg    DIR into the resulting binary and the resulting library dependency is
9564f010a93dSmrg    "absolute", i.e impossible to change by setting $shlibpath_var if the
9565f010a93dSmrg    library is relocated])
9566f010a93dSmrg_LT_TAGDECL([], [hardcode_minus_L], [0],
9567f010a93dSmrg    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
9568f010a93dSmrg    into the resulting binary])
9569f010a93dSmrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
9570f010a93dSmrg    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
9571f010a93dSmrg    into the resulting binary])
9572f010a93dSmrg_LT_TAGDECL([], [hardcode_automatic], [0],
9573f010a93dSmrg    [Set to "yes" if building a shared library automatically hardcodes DIR
9574f010a93dSmrg    into the library and all subsequent libraries and executables linked
9575f010a93dSmrg    against it])
9576f010a93dSmrg_LT_TAGDECL([], [inherit_rpath], [0],
9577f010a93dSmrg    [Set to yes if linker adds runtime paths of dependent libraries
9578f010a93dSmrg    to runtime path list])
9579f010a93dSmrg_LT_TAGDECL([], [link_all_deplibs], [0],
9580f010a93dSmrg    [Whether libtool must link a program against all its dependency libraries])
9581f010a93dSmrg_LT_TAGDECL([], [always_export_symbols], [0],
9582f010a93dSmrg    [Set to "yes" if exported symbols are required])
9583f010a93dSmrg_LT_TAGDECL([], [export_symbols_cmds], [2],
9584f010a93dSmrg    [The commands to list exported symbols])
9585f010a93dSmrg_LT_TAGDECL([], [exclude_expsyms], [1],
9586f010a93dSmrg    [Symbols that should not be listed in the preloaded symbols])
9587f010a93dSmrg_LT_TAGDECL([], [include_expsyms], [1],
9588f010a93dSmrg    [Symbols that must always be exported])
9589f010a93dSmrg_LT_TAGDECL([], [prelink_cmds], [2],
9590f010a93dSmrg    [Commands necessary for linking programs (against libraries) with templates])
9591f010a93dSmrg_LT_TAGDECL([], [postlink_cmds], [2],
9592f010a93dSmrg    [Commands necessary for finishing linking programs])
9593f010a93dSmrg_LT_TAGDECL([], [file_list_spec], [1],
9594f010a93dSmrg    [Specify filename containing input files])
9595f010a93dSmrgdnl FIXME: Not yet implemented
9596f010a93dSmrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
9597f010a93dSmrgdnl    [Compiler flag to generate thread safe objects])
9598f010a93dSmrg])# _LT_LINKER_SHLIBS
9599b4d38c65Smrg
9600b4d38c65Smrg
9601f010a93dSmrg# _LT_LANG_C_CONFIG([TAG])
9602f010a93dSmrg# ------------------------
9603f010a93dSmrg# Ensure that the configuration variables for a C compiler are suitably
9604f010a93dSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
9605f010a93dSmrg# the compiler configuration to 'libtool'.
9606f010a93dSmrgm4_defun([_LT_LANG_C_CONFIG],
9607f010a93dSmrg[m4_require([_LT_DECL_EGREP])dnl
9608f010a93dSmrglt_save_CC=$CC
9609f010a93dSmrgAC_LANG_PUSH(C)
9610b4d38c65Smrg
9611f010a93dSmrg# Source file extension for C test sources.
9612f010a93dSmrgac_ext=c
9613b4d38c65Smrg
9614f010a93dSmrg# Object file extension for compiled C test sources.
9615f010a93dSmrgobjext=o
9616f010a93dSmrg_LT_TAGVAR(objext, $1)=$objext
9617b4d38c65Smrg
9618f010a93dSmrg# Code to be used in simple compile tests
9619f010a93dSmrglt_simple_compile_test_code="int some_variable = 0;"
9620b4d38c65Smrg
9621f010a93dSmrg# Code to be used in simple link tests
9622f010a93dSmrglt_simple_link_test_code='int main(){return(0);}'
9623b4d38c65Smrg
9624f010a93dSmrg_LT_TAG_COMPILER
9625f010a93dSmrg# Save the default compiler, since it gets overwritten when the other
9626f010a93dSmrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
9627f010a93dSmrgcompiler_DEFAULT=$CC
9628b4d38c65Smrg
9629f010a93dSmrg# save warnings/boilerplate of simple test code
9630f010a93dSmrg_LT_COMPILER_BOILERPLATE
9631f010a93dSmrg_LT_LINKER_BOILERPLATE
9632b4d38c65Smrg
9633f010a93dSmrgif test -n "$compiler"; then
9634f010a93dSmrg  _LT_COMPILER_NO_RTTI($1)
9635f010a93dSmrg  _LT_COMPILER_PIC($1)
9636f010a93dSmrg  _LT_COMPILER_C_O($1)
9637f010a93dSmrg  _LT_COMPILER_FILE_LOCKS($1)
9638f010a93dSmrg  _LT_LINKER_SHLIBS($1)
9639f010a93dSmrg  _LT_SYS_DYNAMIC_LINKER($1)
9640f010a93dSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
9641f010a93dSmrg  LT_SYS_DLOPEN_SELF
9642f010a93dSmrg  _LT_CMD_STRIPLIB
9643b4d38c65Smrg
9644f010a93dSmrg  # Report what library types will actually be built
9645f010a93dSmrg  AC_MSG_CHECKING([if libtool supports shared libraries])
9646f010a93dSmrg  AC_MSG_RESULT([$can_build_shared])
9647b4d38c65Smrg
9648f010a93dSmrg  AC_MSG_CHECKING([whether to build shared libraries])
9649f010a93dSmrg  test no = "$can_build_shared" && enable_shared=no
9650b4d38c65Smrg
9651f010a93dSmrg  # On AIX, shared libraries and static libraries use the same namespace, and
9652f010a93dSmrg  # are all built from PIC.
9653f010a93dSmrg  case $host_os in
9654f010a93dSmrg  aix3*)
9655f010a93dSmrg    test yes = "$enable_shared" && enable_static=no
9656f010a93dSmrg    if test -n "$RANLIB"; then
9657f010a93dSmrg      archive_cmds="$archive_cmds~\$RANLIB \$lib"
9658f010a93dSmrg      postinstall_cmds='$RANLIB $lib'
9659f010a93dSmrg    fi
9660f010a93dSmrg    ;;
9661b4d38c65Smrg
9662f010a93dSmrg  aix[[4-9]]*)
9663f010a93dSmrg    if test ia64 != "$host_cpu"; then
9664f010a93dSmrg      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
9665f010a93dSmrg      yes,aix,yes) ;;			# shared object as lib.so file only
9666f010a93dSmrg      yes,svr4,*) ;;			# shared object as lib.so archive member only
9667f010a93dSmrg      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
9668f010a93dSmrg      esac
9669f010a93dSmrg    fi
9670f010a93dSmrg    ;;
9671f010a93dSmrg  esac
9672f010a93dSmrg  AC_MSG_RESULT([$enable_shared])
9673b4d38c65Smrg
9674f010a93dSmrg  AC_MSG_CHECKING([whether to build static libraries])
9675f010a93dSmrg  # Make sure either enable_shared or enable_static is yes.
9676f010a93dSmrg  test yes = "$enable_shared" || enable_static=yes
9677f010a93dSmrg  AC_MSG_RESULT([$enable_static])
9678b4d38c65Smrg
9679f010a93dSmrg  _LT_CONFIG($1)
9680f010a93dSmrgfi
9681f010a93dSmrgAC_LANG_POP
9682f010a93dSmrgCC=$lt_save_CC
9683f010a93dSmrg])# _LT_LANG_C_CONFIG
9684b4d38c65Smrg
9685b4d38c65Smrg
9686f010a93dSmrg# _LT_LANG_CXX_CONFIG([TAG])
9687f010a93dSmrg# --------------------------
9688f010a93dSmrg# Ensure that the configuration variables for a C++ compiler are suitably
9689f010a93dSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
9690f010a93dSmrg# the compiler configuration to 'libtool'.
9691f010a93dSmrgm4_defun([_LT_LANG_CXX_CONFIG],
9692f010a93dSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
9693f010a93dSmrgm4_require([_LT_DECL_EGREP])dnl
9694f010a93dSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl
9695f010a93dSmrgif test -n "$CXX" && ( test no != "$CXX" &&
9696f010a93dSmrg    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
9697f010a93dSmrg    (test g++ != "$CXX"))); then
9698f010a93dSmrg  AC_PROG_CXXCPP
9699f010a93dSmrgelse
9700f010a93dSmrg  _lt_caught_CXX_error=yes
9701f010a93dSmrgfi
9702b4d38c65Smrg
9703f010a93dSmrgAC_LANG_PUSH(C++)
9704f010a93dSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
9705f010a93dSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
9706f010a93dSmrg_LT_TAGVAR(always_export_symbols, $1)=no
9707f010a93dSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
9708f010a93dSmrg_LT_TAGVAR(compiler_needs_object, $1)=no
9709f010a93dSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
9710f010a93dSmrg_LT_TAGVAR(hardcode_direct, $1)=no
9711f010a93dSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
9712f010a93dSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
9713f010a93dSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
9714f010a93dSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
9715f010a93dSmrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
9716f010a93dSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
9717f010a93dSmrg_LT_TAGVAR(inherit_rpath, $1)=no
9718f010a93dSmrg_LT_TAGVAR(module_cmds, $1)=
9719f010a93dSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
9720f010a93dSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
9721f010a93dSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
9722f010a93dSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
9723f010a93dSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
9724f010a93dSmrg_LT_TAGVAR(no_undefined_flag, $1)=
9725f010a93dSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
9726f010a93dSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
9727b4d38c65Smrg
9728f010a93dSmrg# Source file extension for C++ test sources.
9729f010a93dSmrgac_ext=cpp
9730b4d38c65Smrg
9731f010a93dSmrg# Object file extension for compiled C++ test sources.
9732f010a93dSmrgobjext=o
9733f010a93dSmrg_LT_TAGVAR(objext, $1)=$objext
9734b4d38c65Smrg
9735f010a93dSmrg# No sense in running all these tests if we already determined that
9736f010a93dSmrg# the CXX compiler isn't working.  Some variables (like enable_shared)
9737f010a93dSmrg# are currently assumed to apply to all compilers on this platform,
9738f010a93dSmrg# and will be corrupted by setting them based on a non-working compiler.
9739f010a93dSmrgif test yes != "$_lt_caught_CXX_error"; then
9740f010a93dSmrg  # Code to be used in simple compile tests
9741f010a93dSmrg  lt_simple_compile_test_code="int some_variable = 0;"
9742b4d38c65Smrg
9743f010a93dSmrg  # Code to be used in simple link tests
9744f010a93dSmrg  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
9745b4d38c65Smrg
9746f010a93dSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
9747f010a93dSmrg  _LT_TAG_COMPILER
9748b4d38c65Smrg
9749f010a93dSmrg  # save warnings/boilerplate of simple test code
9750f010a93dSmrg  _LT_COMPILER_BOILERPLATE
9751f010a93dSmrg  _LT_LINKER_BOILERPLATE
9752f010a93dSmrg
9753f010a93dSmrg  # Allow CC to be a program name with arguments.
9754f010a93dSmrg  lt_save_CC=$CC
9755f010a93dSmrg  lt_save_CFLAGS=$CFLAGS
9756f010a93dSmrg  lt_save_LD=$LD
9757f010a93dSmrg  lt_save_GCC=$GCC
9758f010a93dSmrg  GCC=$GXX
9759f010a93dSmrg  lt_save_with_gnu_ld=$with_gnu_ld
9760f010a93dSmrg  lt_save_path_LD=$lt_cv_path_LD
9761f010a93dSmrg  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
9762f010a93dSmrg    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
9763f010a93dSmrg  else
9764f010a93dSmrg    $as_unset lt_cv_prog_gnu_ld
9765f010a93dSmrg  fi
9766f010a93dSmrg  if test -n "${lt_cv_path_LDCXX+set}"; then
9767f010a93dSmrg    lt_cv_path_LD=$lt_cv_path_LDCXX
9768f010a93dSmrg  else
9769f010a93dSmrg    $as_unset lt_cv_path_LD
9770f010a93dSmrg  fi
9771f010a93dSmrg  test -z "${LDCXX+set}" || LD=$LDCXX
9772f010a93dSmrg  CC=${CXX-"c++"}
9773f010a93dSmrg  CFLAGS=$CXXFLAGS
9774f010a93dSmrg  compiler=$CC
9775f010a93dSmrg  _LT_TAGVAR(compiler, $1)=$CC
9776f010a93dSmrg  _LT_CC_BASENAME([$compiler])
9777b4d38c65Smrg
9778f010a93dSmrg  if test -n "$compiler"; then
9779f010a93dSmrg    # We don't want -fno-exception when compiling C++ code, so set the
9780f010a93dSmrg    # no_builtin_flag separately
9781f010a93dSmrg    if test yes = "$GXX"; then
9782f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
9783f010a93dSmrg    else
9784f010a93dSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
9785f010a93dSmrg    fi
9786b4d38c65Smrg
9787f010a93dSmrg    if test yes = "$GXX"; then
9788f010a93dSmrg      # Set up default GNU C++ configuration
9789b4d38c65Smrg
9790f010a93dSmrg      LT_PATH_LD
9791b4d38c65Smrg
9792f010a93dSmrg      # Check if GNU C++ uses GNU ld as the underlying linker, since the
9793f010a93dSmrg      # archiving commands below assume that GNU ld is being used.
9794f010a93dSmrg      if test yes = "$with_gnu_ld"; then
9795f010a93dSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
9796f010a93dSmrg        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
9797b4d38c65Smrg
9798f010a93dSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9799f010a93dSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
9800b4d38c65Smrg
9801f010a93dSmrg        # If archive_cmds runs LD, not CC, wlarc should be empty
9802f010a93dSmrg        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
9803f010a93dSmrg        #     investigate it a little bit more. (MM)
9804f010a93dSmrg        wlarc='$wl'
9805b4d38c65Smrg
9806f010a93dSmrg        # ancient GNU ld didn't support --whole-archive et. al.
9807f010a93dSmrg        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
9808f010a93dSmrg	  $GREP 'no-whole-archive' > /dev/null; then
9809f010a93dSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
9810f010a93dSmrg        else
9811f010a93dSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=
9812f010a93dSmrg        fi
9813f010a93dSmrg      else
9814f010a93dSmrg        with_gnu_ld=no
9815f010a93dSmrg        wlarc=
9816b4d38c65Smrg
9817f010a93dSmrg        # A generic and very simple default shared library creation
9818f010a93dSmrg        # command for GNU C++ for the case where it uses the native
9819f010a93dSmrg        # linker, instead of GNU ld.  If possible, this setting should
9820f010a93dSmrg        # overridden to take advantage of the native linker features on
9821f010a93dSmrg        # the platform it is being used on.
9822f010a93dSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
9823f010a93dSmrg      fi
9824b4d38c65Smrg
9825f010a93dSmrg      # Commands to make compiler produce verbose output that lists
9826f010a93dSmrg      # what "hidden" libraries, object files and flags are used when
9827f010a93dSmrg      # linking a shared library.
9828f010a93dSmrg      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
9829b4d38c65Smrg
9830f010a93dSmrg    else
9831f010a93dSmrg      GXX=no
9832f010a93dSmrg      with_gnu_ld=no
9833f010a93dSmrg      wlarc=
9834f010a93dSmrg    fi
9835b4d38c65Smrg
9836f010a93dSmrg    # PORTME: fill in a description of your system's C++ link characteristics
9837f010a93dSmrg    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
9838f010a93dSmrg    _LT_TAGVAR(ld_shlibs, $1)=yes
9839f010a93dSmrg    case $host_os in
9840f010a93dSmrg      aix3*)
9841f010a93dSmrg        # FIXME: insert proper C++ library support
9842f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
9843f010a93dSmrg        ;;
9844f010a93dSmrg      aix[[4-9]]*)
9845f010a93dSmrg        if test ia64 = "$host_cpu"; then
9846f010a93dSmrg          # On IA64, the linker does run time linking by default, so we don't
9847f010a93dSmrg          # have to do anything special.
9848f010a93dSmrg          aix_use_runtimelinking=no
9849f010a93dSmrg          exp_sym_flag='-Bexport'
9850f010a93dSmrg          no_entry_flag=
9851f010a93dSmrg        else
9852f010a93dSmrg          aix_use_runtimelinking=no
9853b4d38c65Smrg
9854f010a93dSmrg          # Test if we are trying to use run time linking or normal
9855f010a93dSmrg          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
9856f010a93dSmrg          # have runtime linking enabled, and use it for executables.
9857f010a93dSmrg          # For shared libraries, we enable/disable runtime linking
9858f010a93dSmrg          # depending on the kind of the shared library created -
9859f010a93dSmrg          # when "with_aix_soname,aix_use_runtimelinking" is:
9860f010a93dSmrg          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
9861f010a93dSmrg          # "aix,yes"  lib.so          shared, rtl:yes, for executables
9862f010a93dSmrg          #            lib.a           static archive
9863f010a93dSmrg          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
9864f010a93dSmrg          #            lib.a(lib.so.V) shared, rtl:no,  for executables
9865f010a93dSmrg          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
9866f010a93dSmrg          #            lib.a(lib.so.V) shared, rtl:no
9867f010a93dSmrg          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
9868f010a93dSmrg          #            lib.a           static archive
9869f010a93dSmrg          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
9870f010a93dSmrg	    for ld_flag in $LDFLAGS; do
9871f010a93dSmrg	      case $ld_flag in
9872f010a93dSmrg	      *-brtl*)
9873f010a93dSmrg	        aix_use_runtimelinking=yes
9874f010a93dSmrg	        break
9875f010a93dSmrg	        ;;
9876f010a93dSmrg	      esac
9877f010a93dSmrg	    done
9878f010a93dSmrg	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
9879f010a93dSmrg	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
9880f010a93dSmrg	      # so we don't have lib.a shared libs to link our executables.
9881f010a93dSmrg	      # We have to force runtime linking in this case.
9882f010a93dSmrg	      aix_use_runtimelinking=yes
9883f010a93dSmrg	      LDFLAGS="$LDFLAGS -Wl,-brtl"
9884f010a93dSmrg	    fi
9885f010a93dSmrg	    ;;
9886f010a93dSmrg          esac
9887b4d38c65Smrg
9888f010a93dSmrg          exp_sym_flag='-bexport'
9889f010a93dSmrg          no_entry_flag='-bnoentry'
9890f010a93dSmrg        fi
9891b4d38c65Smrg
9892f010a93dSmrg        # When large executables or shared objects are built, AIX ld can
9893f010a93dSmrg        # have problems creating the table of contents.  If linking a library
9894f010a93dSmrg        # or program results in "error TOC overflow" add -mminimal-toc to
9895f010a93dSmrg        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
9896f010a93dSmrg        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
9897b4d38c65Smrg
9898f010a93dSmrg        _LT_TAGVAR(archive_cmds, $1)=''
9899f010a93dSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
9900f010a93dSmrg        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
9901f010a93dSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
9902f010a93dSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
9903f010a93dSmrg        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
9904f010a93dSmrg        case $with_aix_soname,$aix_use_runtimelinking in
9905f010a93dSmrg        aix,*) ;;	# no import file
9906f010a93dSmrg        svr4,* | *,yes) # use import file
9907f010a93dSmrg          # The Import File defines what to hardcode.
9908f010a93dSmrg          _LT_TAGVAR(hardcode_direct, $1)=no
9909f010a93dSmrg          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
9910f010a93dSmrg          ;;
9911f010a93dSmrg        esac
9912b4d38c65Smrg
9913f010a93dSmrg        if test yes = "$GXX"; then
9914f010a93dSmrg          case $host_os in aix4.[[012]]|aix4.[[012]].*)
9915f010a93dSmrg          # We only want to do this on AIX 4.2 and lower, the check
9916f010a93dSmrg          # below for broken collect2 doesn't work under 4.3+
9917f010a93dSmrg	  collect2name=`$CC -print-prog-name=collect2`
9918f010a93dSmrg	  if test -f "$collect2name" &&
9919f010a93dSmrg	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
9920f010a93dSmrg	  then
9921f010a93dSmrg	    # We have reworked collect2
9922f010a93dSmrg	    :
9923f010a93dSmrg	  else
9924f010a93dSmrg	    # We have old collect2
9925f010a93dSmrg	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
9926f010a93dSmrg	    # It fails to find uninstalled libraries when the uninstalled
9927f010a93dSmrg	    # path is not listed in the libpath.  Setting hardcode_minus_L
9928f010a93dSmrg	    # to unsupported forces relinking
9929f010a93dSmrg	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
9930f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9931f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
9932f010a93dSmrg	  fi
9933f010a93dSmrg          esac
9934f010a93dSmrg          shared_flag='-shared'
9935f010a93dSmrg	  if test yes = "$aix_use_runtimelinking"; then
9936f010a93dSmrg	    shared_flag=$shared_flag' $wl-G'
9937f010a93dSmrg	  fi
9938f010a93dSmrg	  # Need to ensure runtime linking is disabled for the traditional
9939f010a93dSmrg	  # shared library, or the linker may eventually find shared libraries
9940f010a93dSmrg	  # /with/ Import File - we do not want to mix them.
9941f010a93dSmrg	  shared_flag_aix='-shared'
9942f010a93dSmrg	  shared_flag_svr4='-shared $wl-G'
9943f010a93dSmrg        else
9944f010a93dSmrg          # not using gcc
9945f010a93dSmrg          if test ia64 = "$host_cpu"; then
9946f010a93dSmrg	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
9947f010a93dSmrg	  # chokes on -Wl,-G. The following line is correct:
9948f010a93dSmrg	  shared_flag='-G'
9949f010a93dSmrg          else
9950f010a93dSmrg	    if test yes = "$aix_use_runtimelinking"; then
9951f010a93dSmrg	      shared_flag='$wl-G'
9952f010a93dSmrg	    else
9953f010a93dSmrg	      shared_flag='$wl-bM:SRE'
9954f010a93dSmrg	    fi
9955f010a93dSmrg	    shared_flag_aix='$wl-bM:SRE'
9956f010a93dSmrg	    shared_flag_svr4='$wl-G'
9957f010a93dSmrg          fi
9958f010a93dSmrg        fi
9959b4d38c65Smrg
9960f010a93dSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
9961f010a93dSmrg        # It seems that -bexpall does not export symbols beginning with
9962f010a93dSmrg        # underscore (_), so it is better to generate a list of symbols to
9963f010a93dSmrg	# export.
9964f010a93dSmrg        _LT_TAGVAR(always_export_symbols, $1)=yes
9965f010a93dSmrg	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
9966f010a93dSmrg          # Warning - without using the other runtime loading flags (-brtl),
9967f010a93dSmrg          # -berok will link without error, but may produce a broken library.
9968f010a93dSmrg          # The "-G" linker flag allows undefined symbols.
9969f010a93dSmrg          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
9970f010a93dSmrg          # Determine the default libpath from the value encoded in an empty
9971f010a93dSmrg          # executable.
9972f010a93dSmrg          _LT_SYS_MODULE_PATH_AIX([$1])
9973f010a93dSmrg          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
9974b4d38c65Smrg
9975f010a93dSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
9976f010a93dSmrg        else
9977f010a93dSmrg          if test ia64 = "$host_cpu"; then
9978f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
9979f010a93dSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
9980f010a93dSmrg	    _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"
9981f010a93dSmrg          else
9982f010a93dSmrg	    # Determine the default libpath from the value encoded in an
9983f010a93dSmrg	    # empty executable.
9984f010a93dSmrg	    _LT_SYS_MODULE_PATH_AIX([$1])
9985f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
9986f010a93dSmrg	    # Warning - without using the other run time loading flags,
9987f010a93dSmrg	    # -berok will link without error, but may produce a broken library.
9988f010a93dSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
9989f010a93dSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
9990f010a93dSmrg	    if test yes = "$with_gnu_ld"; then
9991f010a93dSmrg	      # We only use this code for GNU lds that support --whole-archive.
9992f010a93dSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
9993f010a93dSmrg	    else
9994f010a93dSmrg	      # Exported symbols can be pulled into shared objects from archives
9995f010a93dSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
9996f010a93dSmrg	    fi
9997f010a93dSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
9998f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
9999f010a93dSmrg	    # -brtl affects multiple linker settings, -berok does not and is overridden later
10000f010a93dSmrg	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
10001f010a93dSmrg	    if test svr4 != "$with_aix_soname"; then
10002f010a93dSmrg	      # This is similar to how AIX traditionally builds its shared
10003f010a93dSmrg	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
10004f010a93dSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
10005f010a93dSmrg	    fi
10006f010a93dSmrg	    if test aix != "$with_aix_soname"; then
10007f010a93dSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
10008f010a93dSmrg	    else
10009f010a93dSmrg	      # used by -dlpreopen to get the symbols
10010f010a93dSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
10011f010a93dSmrg	    fi
10012f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
10013f010a93dSmrg          fi
10014f010a93dSmrg        fi
10015f010a93dSmrg        ;;
10016b4d38c65Smrg
10017f010a93dSmrg      beos*)
10018f010a93dSmrg	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
10019f010a93dSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
10020f010a93dSmrg	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
10021f010a93dSmrg	  # support --undefined.  This deserves some investigation.  FIXME
10022f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10023f010a93dSmrg	else
10024f010a93dSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
10025f010a93dSmrg	fi
10026f010a93dSmrg	;;
10027b4d38c65Smrg
10028f010a93dSmrg      chorus*)
10029f010a93dSmrg        case $cc_basename in
10030f010a93dSmrg          *)
10031f010a93dSmrg	  # FIXME: insert proper C++ library support
10032f010a93dSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
10033f010a93dSmrg	  ;;
10034f010a93dSmrg        esac
10035f010a93dSmrg        ;;
10036f010a93dSmrg
10037f010a93dSmrg      cygwin* | mingw* | pw32* | cegcc*)
10038f010a93dSmrg	case $GXX,$cc_basename in
10039f010a93dSmrg	,cl* | no,cl* | ,icl* | no,icl*)
10040f010a93dSmrg	  # Native MSVC or ICC
10041f010a93dSmrg	  # hardcode_libdir_flag_spec is actually meaningless, as there is
10042f010a93dSmrg	  # no search path for DLLs.
10043f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
10044f010a93dSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
10045f010a93dSmrg	  _LT_TAGVAR(always_export_symbols, $1)=yes
10046f010a93dSmrg	  _LT_TAGVAR(file_list_spec, $1)='@'
10047f010a93dSmrg	  # Tell ltmain to make .lib files, not .a files.
10048f010a93dSmrg	  libext=lib
10049f010a93dSmrg	  # Tell ltmain to make .dll files, not .so files.
10050f010a93dSmrg	  shrext_cmds=.dll
10051f010a93dSmrg	  # FIXME: Setting linknames here is a bad hack.
10052f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
10053f010a93dSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
10054f010a93dSmrg              cp "$export_symbols" "$output_objdir/$soname.def";
10055f010a93dSmrg              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
10056f010a93dSmrg            else
10057f010a93dSmrg              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
10058f010a93dSmrg            fi~
10059f010a93dSmrg            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
10060f010a93dSmrg            linknames='
10061f010a93dSmrg	  # The linker will not automatically build a static lib if we build a DLL.
10062f010a93dSmrg	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
10063f010a93dSmrg	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
10064f010a93dSmrg	  # Don't use ranlib
10065f010a93dSmrg	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
10066f010a93dSmrg	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
10067f010a93dSmrg            lt_tool_outputfile="@TOOL_OUTPUT@"~
10068f010a93dSmrg            case $lt_outputfile in
10069f010a93dSmrg              *.exe|*.EXE) ;;
10070f010a93dSmrg              *)
10071f010a93dSmrg                lt_outputfile=$lt_outputfile.exe
10072f010a93dSmrg                lt_tool_outputfile=$lt_tool_outputfile.exe
10073f010a93dSmrg                ;;
10074f010a93dSmrg            esac~
10075f010a93dSmrg            func_to_tool_file "$lt_outputfile"~
10076f010a93dSmrg            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
10077f010a93dSmrg              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
10078f010a93dSmrg              $RM "$lt_outputfile.manifest";
10079f010a93dSmrg            fi'
10080f010a93dSmrg	  ;;
10081f010a93dSmrg	*)
10082f010a93dSmrg	  # g++
10083f010a93dSmrg	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
10084f010a93dSmrg	  # as there is no search path for DLLs.
10085f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
10086f010a93dSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
10087f010a93dSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
10088f010a93dSmrg	  _LT_TAGVAR(always_export_symbols, $1)=no
10089f010a93dSmrg	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
10090f010a93dSmrg
10091f010a93dSmrg	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
10092f010a93dSmrg	    _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'
10093f010a93dSmrg	    # If the export-symbols file already is a .def file, use it as
10094f010a93dSmrg	    # is; otherwise, prepend EXPORTS...
10095f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
10096f010a93dSmrg              cp $export_symbols $output_objdir/$soname.def;
10097f010a93dSmrg            else
10098f010a93dSmrg              echo EXPORTS > $output_objdir/$soname.def;
10099f010a93dSmrg              cat $export_symbols >> $output_objdir/$soname.def;
10100f010a93dSmrg            fi~
10101f010a93dSmrg            $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'
10102f010a93dSmrg	  else
10103f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10104f010a93dSmrg	  fi
10105f010a93dSmrg	  ;;
10106f010a93dSmrg	esac
10107f010a93dSmrg	;;
10108f010a93dSmrg      darwin* | rhapsody*)
10109f010a93dSmrg        _LT_DARWIN_LINKER_FEATURES($1)
10110f010a93dSmrg	;;
1011115fb4814Smrg
10112f010a93dSmrg      os2*)
10113f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
10114f010a93dSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
10115f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
10116f010a93dSmrg	shrext_cmds=.dll
10117f010a93dSmrg	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
10118f010a93dSmrg	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
10119f010a93dSmrg	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
10120f010a93dSmrg	  $ECHO EXPORTS >> $output_objdir/$libname.def~
10121f010a93dSmrg	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
10122f010a93dSmrg	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
10123f010a93dSmrg	  emximp -o $lib $output_objdir/$libname.def'
10124f010a93dSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
10125f010a93dSmrg	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
10126f010a93dSmrg	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
10127f010a93dSmrg	  $ECHO EXPORTS >> $output_objdir/$libname.def~
10128f010a93dSmrg	  prefix_cmds="$SED"~
10129f010a93dSmrg	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
10130f010a93dSmrg	    prefix_cmds="$prefix_cmds -e 1d";
10131f010a93dSmrg	  fi~
10132f010a93dSmrg	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
10133f010a93dSmrg	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
10134f010a93dSmrg	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
10135f010a93dSmrg	  emximp -o $lib $output_objdir/$libname.def'
10136f010a93dSmrg	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
10137f010a93dSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
10138f010a93dSmrg	_LT_TAGVAR(file_list_spec, $1)='@'
10139f010a93dSmrg	;;
10140b4d38c65Smrg
10141f010a93dSmrg      dgux*)
10142f010a93dSmrg        case $cc_basename in
10143f010a93dSmrg          ec++*)
10144f010a93dSmrg	    # FIXME: insert proper C++ library support
10145f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10146f010a93dSmrg	    ;;
10147f010a93dSmrg          ghcx*)
10148f010a93dSmrg	    # Green Hills C++ Compiler
10149f010a93dSmrg	    # FIXME: insert proper C++ library support
10150f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10151f010a93dSmrg	    ;;
10152f010a93dSmrg          *)
10153f010a93dSmrg	    # FIXME: insert proper C++ library support
10154f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10155f010a93dSmrg	    ;;
10156f010a93dSmrg        esac
10157f010a93dSmrg        ;;
10158b4d38c65Smrg
10159f010a93dSmrg      freebsd2.*)
10160f010a93dSmrg        # C++ shared libraries reported to be fairly broken before
10161f010a93dSmrg	# switch to ELF
10162f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10163f010a93dSmrg        ;;
10164b4d38c65Smrg
10165f010a93dSmrg      freebsd-elf*)
10166f010a93dSmrg        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
10167f010a93dSmrg        ;;
10168b4d38c65Smrg
10169f010a93dSmrg      freebsd* | dragonfly* | midnightbsd*)
10170f010a93dSmrg        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
10171f010a93dSmrg        # conventions
10172f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
10173f010a93dSmrg        ;;
10174b4d38c65Smrg
10175f010a93dSmrg      haiku*)
10176f010a93dSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10177f010a93dSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
10178f010a93dSmrg        ;;
1017915fb4814Smrg
10180f010a93dSmrg      hpux9*)
10181f010a93dSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
10182f010a93dSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
10183f010a93dSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
10184f010a93dSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
10185f010a93dSmrg        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
10186f010a93dSmrg				             # but as the default
10187f010a93dSmrg				             # location of the library.
10188b4d38c65Smrg
10189f010a93dSmrg        case $cc_basename in
10190f010a93dSmrg          CC*)
10191f010a93dSmrg            # FIXME: insert proper C++ library support
10192f010a93dSmrg            _LT_TAGVAR(ld_shlibs, $1)=no
10193f010a93dSmrg            ;;
10194f010a93dSmrg          aCC*)
10195f010a93dSmrg            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
10196f010a93dSmrg            # Commands to make compiler produce verbose output that lists
10197f010a93dSmrg            # what "hidden" libraries, object files and flags are used when
10198f010a93dSmrg            # linking a shared library.
10199f010a93dSmrg            #
10200f010a93dSmrg            # There doesn't appear to be a way to prevent this compiler from
10201f010a93dSmrg            # explicitly linking system object files so we need to strip them
10202f010a93dSmrg            # from the output so that they don't get included in the library
10203f010a93dSmrg            # dependencies.
10204f010a93dSmrg            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
10205f010a93dSmrg            ;;
10206f010a93dSmrg          *)
10207f010a93dSmrg            if test yes = "$GXX"; then
10208f010a93dSmrg              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
10209f010a93dSmrg            else
10210f010a93dSmrg              # FIXME: insert proper C++ library support
10211f010a93dSmrg              _LT_TAGVAR(ld_shlibs, $1)=no
10212f010a93dSmrg            fi
10213f010a93dSmrg            ;;
10214f010a93dSmrg        esac
10215f010a93dSmrg        ;;
1021615fb4814Smrg
10217f010a93dSmrg      hpux10*|hpux11*)
10218f010a93dSmrg        if test no = "$with_gnu_ld"; then
10219f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
10220f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
1022115fb4814Smrg
10222f010a93dSmrg          case $host_cpu in
10223f010a93dSmrg            hppa*64*|ia64*)
10224f010a93dSmrg              ;;
10225f010a93dSmrg            *)
10226f010a93dSmrg	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
10227f010a93dSmrg              ;;
10228f010a93dSmrg          esac
10229f010a93dSmrg        fi
10230f010a93dSmrg        case $host_cpu in
10231f010a93dSmrg          hppa*64*|ia64*)
10232f010a93dSmrg            _LT_TAGVAR(hardcode_direct, $1)=no
10233f010a93dSmrg            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10234f010a93dSmrg            ;;
10235f010a93dSmrg          *)
10236f010a93dSmrg            _LT_TAGVAR(hardcode_direct, $1)=yes
10237f010a93dSmrg            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
10238f010a93dSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
10239f010a93dSmrg					         # but as the default
10240f010a93dSmrg					         # location of the library.
10241f010a93dSmrg            ;;
10242f010a93dSmrg        esac
1024315fb4814Smrg
10244f010a93dSmrg        case $cc_basename in
10245f010a93dSmrg          CC*)
10246f010a93dSmrg	    # FIXME: insert proper C++ library support
10247f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10248f010a93dSmrg	    ;;
10249f010a93dSmrg          aCC*)
10250f010a93dSmrg	    case $host_cpu in
10251f010a93dSmrg	      hppa*64*)
10252f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10253f010a93dSmrg	        ;;
10254f010a93dSmrg	      ia64*)
10255f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10256f010a93dSmrg	        ;;
10257f010a93dSmrg	      *)
10258f010a93dSmrg	        _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'
10259f010a93dSmrg	        ;;
10260f010a93dSmrg	    esac
10261f010a93dSmrg	    # Commands to make compiler produce verbose output that lists
10262f010a93dSmrg	    # what "hidden" libraries, object files and flags are used when
10263f010a93dSmrg	    # linking a shared library.
10264f010a93dSmrg	    #
10265f010a93dSmrg	    # There doesn't appear to be a way to prevent this compiler from
10266f010a93dSmrg	    # explicitly linking system object files so we need to strip them
10267f010a93dSmrg	    # from the output so that they don't get included in the library
10268f010a93dSmrg	    # dependencies.
10269f010a93dSmrg	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
10270f010a93dSmrg	    ;;
10271f010a93dSmrg          *)
10272f010a93dSmrg	    if test yes = "$GXX"; then
10273f010a93dSmrg	      if test no = "$with_gnu_ld"; then
10274f010a93dSmrg	        case $host_cpu in
10275f010a93dSmrg	          hppa*64*)
10276f010a93dSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10277f010a93dSmrg	            ;;
10278f010a93dSmrg	          ia64*)
10279f010a93dSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10280f010a93dSmrg	            ;;
10281f010a93dSmrg	          *)
10282f010a93dSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10283f010a93dSmrg	            ;;
10284f010a93dSmrg	        esac
10285f010a93dSmrg	      fi
10286f010a93dSmrg	    else
10287f010a93dSmrg	      # FIXME: insert proper C++ library support
10288f010a93dSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
10289f010a93dSmrg	    fi
10290f010a93dSmrg	    ;;
10291f010a93dSmrg        esac
10292f010a93dSmrg        ;;
1029315fb4814Smrg
10294f010a93dSmrg      interix[[3-9]]*)
10295f010a93dSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
10296f010a93dSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10297f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10298f010a93dSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
10299f010a93dSmrg	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
10300f010a93dSmrg	# Instead, shared libraries are loaded at an image base (0x10000000 by
10301f010a93dSmrg	# default) and relocated if they conflict, which is a slow very memory
10302f010a93dSmrg	# consuming and fragmenting process.  To avoid this, we pick a random,
10303f010a93dSmrg	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
10304f010a93dSmrg	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
10305f010a93dSmrg	_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'
10306f010a93dSmrg	_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'
10307f010a93dSmrg	;;
10308f010a93dSmrg      irix5* | irix6*)
10309f010a93dSmrg        case $cc_basename in
10310f010a93dSmrg          CC*)
10311f010a93dSmrg	    # SGI C++
10312f010a93dSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
1031315fb4814Smrg
10314f010a93dSmrg	    # Archives containing C++ object files must be created using
10315f010a93dSmrg	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
10316f010a93dSmrg	    # necessary to make sure instantiated templates are included
10317f010a93dSmrg	    # in the archive.
10318f010a93dSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
10319f010a93dSmrg	    ;;
10320f010a93dSmrg          *)
10321f010a93dSmrg	    if test yes = "$GXX"; then
10322f010a93dSmrg	      if test no = "$with_gnu_ld"; then
10323f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
10324f010a93dSmrg	      else
10325f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
10326f010a93dSmrg	      fi
10327f010a93dSmrg	    fi
10328f010a93dSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
10329f010a93dSmrg	    ;;
10330f010a93dSmrg        esac
10331f010a93dSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
10332f010a93dSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
10333f010a93dSmrg        _LT_TAGVAR(inherit_rpath, $1)=yes
10334f010a93dSmrg        ;;
1033515fb4814Smrg
10336f010a93dSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
10337f010a93dSmrg        case $cc_basename in
10338f010a93dSmrg          KCC*)
10339f010a93dSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
1034015fb4814Smrg
10341f010a93dSmrg	    # KCC will only create a shared library if the output file
10342f010a93dSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
10343f010a93dSmrg	    # to its proper name (with version) after linking.
10344f010a93dSmrg	    _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'
10345f010a93dSmrg	    _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'
10346f010a93dSmrg	    # Commands to make compiler produce verbose output that lists
10347f010a93dSmrg	    # what "hidden" libraries, object files and flags are used when
10348f010a93dSmrg	    # linking a shared library.
10349f010a93dSmrg	    #
10350f010a93dSmrg	    # There doesn't appear to be a way to prevent this compiler from
10351f010a93dSmrg	    # explicitly linking system object files so we need to strip them
10352f010a93dSmrg	    # from the output so that they don't get included in the library
10353f010a93dSmrg	    # dependencies.
10354f010a93dSmrg	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
1035515fb4814Smrg
10356f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10357f010a93dSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
10358b410ddbeSmrg
10359f010a93dSmrg	    # Archives containing C++ object files must be created using
10360f010a93dSmrg	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
10361f010a93dSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
10362f010a93dSmrg	    ;;
10363f010a93dSmrg	  icpc* | ecpc* )
10364f010a93dSmrg	    # Intel C++
10365f010a93dSmrg	    with_gnu_ld=yes
10366f010a93dSmrg	    # version 8.0 and above of icpc choke on multiply defined symbols
10367f010a93dSmrg	    # if we add $predep_objects and $postdep_objects, however 7.1 and
10368f010a93dSmrg	    # earlier do not add the objects themselves.
10369f010a93dSmrg	    case `$CC -V 2>&1` in
10370f010a93dSmrg	      *"Version 7."*)
10371f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
10372f010a93dSmrg		_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'
10373f010a93dSmrg		;;
10374f010a93dSmrg	      *)  # Version 8.0 or newer
10375f010a93dSmrg	        tmp_idyn=
10376f010a93dSmrg	        case $host_cpu in
10377f010a93dSmrg		  ia64*) tmp_idyn=' -i_dynamic';;
10378f010a93dSmrg		esac
10379f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10380f010a93dSmrg		_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'
10381f010a93dSmrg		;;
10382f010a93dSmrg	    esac
10383f010a93dSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
10384f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10385f010a93dSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
10386f010a93dSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
10387f010a93dSmrg	    ;;
10388f010a93dSmrg          pgCC* | pgcpp*)
10389f010a93dSmrg            # Portland Group C++ compiler
10390f010a93dSmrg	    case `$CC -V` in
10391f010a93dSmrg	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
10392f010a93dSmrg	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
10393f010a93dSmrg               rm -rf $tpldir~
10394f010a93dSmrg               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
10395f010a93dSmrg               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
10396f010a93dSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
10397f010a93dSmrg                rm -rf $tpldir~
10398f010a93dSmrg                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
10399f010a93dSmrg                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
10400f010a93dSmrg                $RANLIB $oldlib'
10401f010a93dSmrg	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
10402f010a93dSmrg                rm -rf $tpldir~
10403f010a93dSmrg                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
10404f010a93dSmrg                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
10405f010a93dSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
10406f010a93dSmrg                rm -rf $tpldir~
10407f010a93dSmrg                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
10408f010a93dSmrg                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
10409f010a93dSmrg	      ;;
10410f010a93dSmrg	    *) # Version 6 and above use weak symbols
10411f010a93dSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
10412f010a93dSmrg	      _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'
10413f010a93dSmrg	      ;;
10414f010a93dSmrg	    esac
10415b410ddbeSmrg
10416f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
10417f010a93dSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
10418f010a93dSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
10419f010a93dSmrg            ;;
10420f010a93dSmrg	  cxx*)
10421f010a93dSmrg	    # Compaq C++
10422f010a93dSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
10423f010a93dSmrg	    _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'
10424b410ddbeSmrg
10425f010a93dSmrg	    runpath_var=LD_RUN_PATH
10426f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
10427f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
1042815fb4814Smrg
10429f010a93dSmrg	    # Commands to make compiler produce verbose output that lists
10430f010a93dSmrg	    # what "hidden" libraries, object files and flags are used when
10431f010a93dSmrg	    # linking a shared library.
10432f010a93dSmrg	    #
10433f010a93dSmrg	    # There doesn't appear to be a way to prevent this compiler from
10434f010a93dSmrg	    # explicitly linking system object files so we need to strip them
10435f010a93dSmrg	    # from the output so that they don't get included in the library
10436f010a93dSmrg	    # dependencies.
10437f010a93dSmrg	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
10438f010a93dSmrg	    ;;
10439f010a93dSmrg	  xl* | mpixl* | bgxl*)
10440f010a93dSmrg	    # IBM XL 8.0 on PPC, with GNU ld
10441f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
10442f010a93dSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
10443f010a93dSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10444f010a93dSmrg	    if test yes = "$supports_anon_versioning"; then
10445f010a93dSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
10446f010a93dSmrg                cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
10447f010a93dSmrg                echo "local: *; };" >> $output_objdir/$libname.ver~
10448f010a93dSmrg                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
10449f010a93dSmrg	    fi
10450f010a93dSmrg	    ;;
10451f010a93dSmrg	  *)
10452f010a93dSmrg	    case `$CC -V 2>&1 | $SED 5q` in
10453f010a93dSmrg	    *Sun\ C*)
10454f010a93dSmrg	      # Sun C++ 5.9
10455f010a93dSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
10456f010a93dSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10457f010a93dSmrg	      _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'
10458f010a93dSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
10459f010a93dSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
10460f010a93dSmrg	      _LT_TAGVAR(compiler_needs_object, $1)=yes
1046115fb4814Smrg
10462f010a93dSmrg	      # Not sure whether something based on
10463f010a93dSmrg	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
10464f010a93dSmrg	      # would be better.
10465f010a93dSmrg	      output_verbose_link_cmd='func_echo_all'
1046615fb4814Smrg
10467f010a93dSmrg	      # Archives containing C++ object files must be created using
10468f010a93dSmrg	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
10469f010a93dSmrg	      # necessary to make sure instantiated templates are included
10470f010a93dSmrg	      # in the archive.
10471f010a93dSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
10472f010a93dSmrg	      ;;
10473f010a93dSmrg	    esac
10474f010a93dSmrg	    ;;
10475f010a93dSmrg	esac
10476f010a93dSmrg	;;
10477b410ddbeSmrg
10478f010a93dSmrg      lynxos*)
10479f010a93dSmrg        # FIXME: insert proper C++ library support
10480f010a93dSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
10481f010a93dSmrg	;;
10482b410ddbeSmrg
10483f010a93dSmrg      m88k*)
10484f010a93dSmrg        # FIXME: insert proper C++ library support
10485f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10486f010a93dSmrg	;;
10487cf503b78Smrg
10488f010a93dSmrg      mvs*)
10489f010a93dSmrg        case $cc_basename in
10490f010a93dSmrg          cxx*)
10491f010a93dSmrg	    # FIXME: insert proper C++ library support
10492f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10493f010a93dSmrg	    ;;
10494f010a93dSmrg	  *)
10495f010a93dSmrg	    # FIXME: insert proper C++ library support
10496f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10497f010a93dSmrg	    ;;
10498f010a93dSmrg	esac
10499f010a93dSmrg	;;
10500cf503b78Smrg
10501f010a93dSmrg      netbsd*)
10502f010a93dSmrg        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
10503f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
10504f010a93dSmrg	  wlarc=
10505f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
10506f010a93dSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
10507f010a93dSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10508f010a93dSmrg	fi
10509f010a93dSmrg	# Workaround some broken pre-1.5 toolchains
10510f010a93dSmrg	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
10511f010a93dSmrg	;;
10512cf503b78Smrg
10513f010a93dSmrg      *nto* | *qnx*)
10514f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
10515f010a93dSmrg	;;
10516cf503b78Smrg
10517f010a93dSmrg      openbsd* | bitrig*)
10518f010a93dSmrg	if test -f /usr/libexec/ld.so; then
10519f010a93dSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
10520f010a93dSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10521f010a93dSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
10522f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
10523f010a93dSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10524f010a93dSmrg	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
10525f010a93dSmrg	    _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'
10526f010a93dSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
10527f010a93dSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
10528f010a93dSmrg	  fi
10529f010a93dSmrg	  output_verbose_link_cmd=func_echo_all
10530f010a93dSmrg	else
10531f010a93dSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
10532f010a93dSmrg	fi
10533f010a93dSmrg	;;
10534b410ddbeSmrg
10535f010a93dSmrg      osf3* | osf4* | osf5*)
10536f010a93dSmrg        case $cc_basename in
10537f010a93dSmrg          KCC*)
10538f010a93dSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
105397fe5393cSmrg
10540f010a93dSmrg	    # KCC will only create a shared library if the output file
10541f010a93dSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
10542f010a93dSmrg	    # to its proper name (with version) after linking.
10543f010a93dSmrg	    _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'
105447fe5393cSmrg
10545f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10546f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
105477fe5393cSmrg
10548f010a93dSmrg	    # Archives containing C++ object files must be created using
10549f010a93dSmrg	    # the KAI C++ compiler.
10550f010a93dSmrg	    case $host in
10551f010a93dSmrg	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
10552f010a93dSmrg	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
10553f010a93dSmrg	    esac
10554f010a93dSmrg	    ;;
10555f010a93dSmrg          RCC*)
10556f010a93dSmrg	    # Rational C++ 2.4.1
10557f010a93dSmrg	    # FIXME: insert proper C++ library support
10558f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10559f010a93dSmrg	    ;;
10560f010a93dSmrg          cxx*)
10561f010a93dSmrg	    case $host in
10562f010a93dSmrg	      osf3*)
10563f010a93dSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
10564f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
10565f010a93dSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
10566f010a93dSmrg		;;
10567f010a93dSmrg	      *)
10568f010a93dSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
10569f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
10570f010a93dSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
10571f010a93dSmrg                  echo "-hidden">> $lib.exp~
10572f010a93dSmrg                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
10573f010a93dSmrg                  $RM $lib.exp'
10574f010a93dSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
10575f010a93dSmrg		;;
10576f010a93dSmrg	    esac
105777fe5393cSmrg
10578f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
105797fe5393cSmrg
10580f010a93dSmrg	    # Commands to make compiler produce verbose output that lists
10581f010a93dSmrg	    # what "hidden" libraries, object files and flags are used when
10582f010a93dSmrg	    # linking a shared library.
10583f010a93dSmrg	    #
10584f010a93dSmrg	    # There doesn't appear to be a way to prevent this compiler from
10585f010a93dSmrg	    # explicitly linking system object files so we need to strip them
10586f010a93dSmrg	    # from the output so that they don't get included in the library
10587f010a93dSmrg	    # dependencies.
10588f010a93dSmrg	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
10589f010a93dSmrg	    ;;
10590f010a93dSmrg	  *)
10591f010a93dSmrg	    if test yes,no = "$GXX,$with_gnu_ld"; then
10592f010a93dSmrg	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
10593f010a93dSmrg	      case $host in
10594f010a93dSmrg	        osf3*)
10595f010a93dSmrg	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
10596f010a93dSmrg		  ;;
10597f010a93dSmrg	        *)
10598f010a93dSmrg	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
10599f010a93dSmrg		  ;;
10600f010a93dSmrg	      esac
10601b410ddbeSmrg
10602f010a93dSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
10603f010a93dSmrg	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
106047fe5393cSmrg
10605f010a93dSmrg	      # Commands to make compiler produce verbose output that lists
10606f010a93dSmrg	      # what "hidden" libraries, object files and flags are used when
10607f010a93dSmrg	      # linking a shared library.
10608f010a93dSmrg	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
106097fe5393cSmrg
10610f010a93dSmrg	    else
10611f010a93dSmrg	      # FIXME: insert proper C++ library support
10612f010a93dSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
10613f010a93dSmrg	    fi
10614f010a93dSmrg	    ;;
10615f010a93dSmrg        esac
10616f010a93dSmrg        ;;
1061715fb4814Smrg
10618f010a93dSmrg      psos*)
10619f010a93dSmrg        # FIXME: insert proper C++ library support
10620f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10621f010a93dSmrg        ;;
1062215fb4814Smrg
10623f010a93dSmrg      sunos4*)
10624f010a93dSmrg        case $cc_basename in
10625f010a93dSmrg          CC*)
10626f010a93dSmrg	    # Sun C++ 4.x
10627f010a93dSmrg	    # FIXME: insert proper C++ library support
10628f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10629f010a93dSmrg	    ;;
10630f010a93dSmrg          lcc*)
10631f010a93dSmrg	    # Lucid
10632f010a93dSmrg	    # FIXME: insert proper C++ library support
10633f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10634f010a93dSmrg	    ;;
10635f010a93dSmrg          *)
10636f010a93dSmrg	    # FIXME: insert proper C++ library support
10637f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10638f010a93dSmrg	    ;;
10639f010a93dSmrg        esac
10640f010a93dSmrg        ;;
1064115fb4814Smrg
10642f010a93dSmrg      solaris*)
10643f010a93dSmrg        case $cc_basename in
10644f010a93dSmrg          CC* | sunCC*)
10645f010a93dSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
10646f010a93dSmrg            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
10647f010a93dSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
10648f010a93dSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10649f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10650f010a93dSmrg              $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'
1065115fb4814Smrg
10652f010a93dSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
10653f010a93dSmrg	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10654f010a93dSmrg	    case $host_os in
10655f010a93dSmrg	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
10656f010a93dSmrg	      *)
10657f010a93dSmrg		# The compiler driver will combine and reorder linker options,
10658f010a93dSmrg		# but understands '-z linker_flag'.
10659f010a93dSmrg	        # Supported since Solaris 2.6 (maybe 2.5.1?)
10660f010a93dSmrg		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
10661f010a93dSmrg	        ;;
10662f010a93dSmrg	    esac
10663f010a93dSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
10664b410ddbeSmrg
10665f010a93dSmrg	    output_verbose_link_cmd='func_echo_all'
10666b410ddbeSmrg
10667f010a93dSmrg	    # Archives containing C++ object files must be created using
10668f010a93dSmrg	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
10669f010a93dSmrg	    # necessary to make sure instantiated templates are included
10670f010a93dSmrg	    # in the archive.
10671f010a93dSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
10672f010a93dSmrg	    ;;
10673f010a93dSmrg          gcx*)
10674f010a93dSmrg	    # Green Hills C++ Compiler
10675f010a93dSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
10676b410ddbeSmrg
10677f010a93dSmrg	    # The C++ compiler must be used to create the archive.
10678f010a93dSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
10679f010a93dSmrg	    ;;
10680f010a93dSmrg          *)
10681f010a93dSmrg	    # GNU C++ compiler with Solaris linker
10682f010a93dSmrg	    if test yes,no = "$GXX,$with_gnu_ld"; then
10683f010a93dSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
10684f010a93dSmrg	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
10685f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
10686f010a93dSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10687f010a93dSmrg                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
1068815fb4814Smrg
10689f010a93dSmrg	        # Commands to make compiler produce verbose output that lists
10690f010a93dSmrg	        # what "hidden" libraries, object files and flags are used when
10691f010a93dSmrg	        # linking a shared library.
10692f010a93dSmrg	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
10693f010a93dSmrg	      else
10694f010a93dSmrg	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
10695f010a93dSmrg	        # platform.
10696f010a93dSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
10697f010a93dSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10698f010a93dSmrg                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
10699de78e416Smrg
10700f010a93dSmrg	        # Commands to make compiler produce verbose output that lists
10701f010a93dSmrg	        # what "hidden" libraries, object files and flags are used when
10702f010a93dSmrg	        # linking a shared library.
10703f010a93dSmrg	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
10704f010a93dSmrg	      fi
107057fe5393cSmrg
10706f010a93dSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
10707f010a93dSmrg	      case $host_os in
10708f010a93dSmrg		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
10709f010a93dSmrg		*)
10710f010a93dSmrg		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
10711f010a93dSmrg		  ;;
10712f010a93dSmrg	      esac
10713f010a93dSmrg	    fi
10714f010a93dSmrg	    ;;
10715f010a93dSmrg        esac
10716f010a93dSmrg        ;;
107177fe5393cSmrg
10718f010a93dSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
10719f010a93dSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
10720f010a93dSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
10721f010a93dSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10722f010a93dSmrg      runpath_var='LD_RUN_PATH'
10723f010a93dSmrg
10724f010a93dSmrg      case $cc_basename in
10725f010a93dSmrg        CC*)
10726f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10727f010a93dSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10728f010a93dSmrg	  ;;
10729f010a93dSmrg	*)
10730f010a93dSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10731f010a93dSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10732f010a93dSmrg	  ;;
10733f010a93dSmrg      esac
107347fe5393cSmrg      ;;
107357fe5393cSmrg
10736f010a93dSmrg      sysv5* | sco3.2v5* | sco5v6*)
10737f010a93dSmrg	# Note: We CANNOT use -z defs as we might desire, because we do not
10738f010a93dSmrg	# link with -lc, and that would cause any symbols used from libc to
10739f010a93dSmrg	# always be unresolved, which means just about no library would
10740f010a93dSmrg	# ever link correctly.  If we're not using GNU ld we use -z text
10741f010a93dSmrg	# though, which does catch some bad symbols but isn't as heavy-handed
10742f010a93dSmrg	# as -z defs.
10743f010a93dSmrg	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
10744f010a93dSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
10745f010a93dSmrg	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
10746f010a93dSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10747f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
10748f010a93dSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
10749f010a93dSmrg	_LT_TAGVAR(link_all_deplibs, $1)=yes
10750f010a93dSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
10751f010a93dSmrg	runpath_var='LD_RUN_PATH'
10752de78e416Smrg
10753f010a93dSmrg	case $cc_basename in
10754f010a93dSmrg          CC*)
10755f010a93dSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10756f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10757f010a93dSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
10758f010a93dSmrg              '"$_LT_TAGVAR(old_archive_cmds, $1)"
10759f010a93dSmrg	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
10760f010a93dSmrg              '"$_LT_TAGVAR(reload_cmds, $1)"
10761f010a93dSmrg	    ;;
10762f010a93dSmrg	  *)
10763f010a93dSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10764f010a93dSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10765f010a93dSmrg	    ;;
10766f010a93dSmrg	esac
10767f010a93dSmrg      ;;
10768de78e416Smrg
10769f010a93dSmrg      tandem*)
10770f010a93dSmrg        case $cc_basename in
10771f010a93dSmrg          NCC*)
10772f010a93dSmrg	    # NonStop-UX NCC 3.20
10773f010a93dSmrg	    # FIXME: insert proper C++ library support
10774f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10775f010a93dSmrg	    ;;
10776f010a93dSmrg          *)
10777f010a93dSmrg	    # FIXME: insert proper C++ library support
10778f010a93dSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10779f010a93dSmrg	    ;;
10780f010a93dSmrg        esac
10781f010a93dSmrg        ;;
10782b4d38c65Smrg
10783f010a93dSmrg      vxworks*)
10784f010a93dSmrg        # FIXME: insert proper C++ library support
10785f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10786f010a93dSmrg        ;;
10787b4d38c65Smrg
10788f010a93dSmrg      *)
10789f010a93dSmrg        # FIXME: insert proper C++ library support
10790f010a93dSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10791f010a93dSmrg        ;;
10792f010a93dSmrg    esac
10793b4d38c65Smrg
10794f010a93dSmrg    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
10795f010a93dSmrg    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
10796b4d38c65Smrg
10797f010a93dSmrg    _LT_TAGVAR(GCC, $1)=$GXX
10798f010a93dSmrg    _LT_TAGVAR(LD, $1)=$LD
10799f010a93dSmrg
10800f010a93dSmrg    ## CAVEAT EMPTOR:
10801f010a93dSmrg    ## There is no encapsulation within the following macros, do not change
10802f010a93dSmrg    ## the running order or otherwise move them around unless you know exactly
10803f010a93dSmrg    ## what you are doing...
10804f010a93dSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
10805f010a93dSmrg    _LT_COMPILER_PIC($1)
10806f010a93dSmrg    _LT_COMPILER_C_O($1)
10807f010a93dSmrg    _LT_COMPILER_FILE_LOCKS($1)
10808f010a93dSmrg    _LT_LINKER_SHLIBS($1)
10809f010a93dSmrg    _LT_SYS_DYNAMIC_LINKER($1)
10810f010a93dSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
10811b410ddbeSmrg
10812f010a93dSmrg    _LT_CONFIG($1)
10813f010a93dSmrg  fi # test -n "$compiler"
10814b410ddbeSmrg
10815f010a93dSmrg  CC=$lt_save_CC
10816f010a93dSmrg  CFLAGS=$lt_save_CFLAGS
10817f010a93dSmrg  LDCXX=$LD
10818f010a93dSmrg  LD=$lt_save_LD
10819f010a93dSmrg  GCC=$lt_save_GCC
10820f010a93dSmrg  with_gnu_ld=$lt_save_with_gnu_ld
10821f010a93dSmrg  lt_cv_path_LDCXX=$lt_cv_path_LD
10822f010a93dSmrg  lt_cv_path_LD=$lt_save_path_LD
10823f010a93dSmrg  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
10824f010a93dSmrg  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
10825f010a93dSmrgfi # test yes != "$_lt_caught_CXX_error"
10826b410ddbeSmrg
10827f010a93dSmrgAC_LANG_POP
10828f010a93dSmrg])# _LT_LANG_CXX_CONFIG
10829b410ddbeSmrg
10830f010a93dSmrg
10831f010a93dSmrg# _LT_FUNC_STRIPNAME_CNF
10832f010a93dSmrg# ----------------------
10833f010a93dSmrg# func_stripname_cnf prefix suffix name
10834f010a93dSmrg# strip PREFIX and SUFFIX off of NAME.
10835f010a93dSmrg# PREFIX and SUFFIX must not contain globbing or regex special
10836f010a93dSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading
10837f010a93dSmrg# dot (in which case that matches only a dot).
108387fe5393cSmrg#
10839f010a93dSmrg# This function is identical to the (non-XSI) version of func_stripname,
10840f010a93dSmrg# except this one can be used by m4 code that may be executed by configure,
10841f010a93dSmrg# rather than the libtool script.
10842f010a93dSmrgm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
10843f010a93dSmrgAC_REQUIRE([_LT_DECL_SED])
10844f010a93dSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
10845f010a93dSmrgfunc_stripname_cnf ()
10846f010a93dSmrg{
10847f010a93dSmrg  case @S|@2 in
10848f010a93dSmrg  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
10849f010a93dSmrg  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
10850f010a93dSmrg  esac
10851f010a93dSmrg} # func_stripname_cnf
10852f010a93dSmrg])# _LT_FUNC_STRIPNAME_CNF
10853b410ddbeSmrg
10854b410ddbeSmrg
10855f010a93dSmrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
10856f010a93dSmrg# ---------------------------------
10857f010a93dSmrg# Figure out "hidden" library dependencies from verbose
10858f010a93dSmrg# compiler output when linking a shared library.
10859f010a93dSmrg# Parse the compiler output and extract the necessary
10860f010a93dSmrg# objects, libraries and library flags.
10861f010a93dSmrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
10862f010a93dSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
10863f010a93dSmrgAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
10864f010a93dSmrg# Dependencies to place before and after the object being linked:
10865f010a93dSmrg_LT_TAGVAR(predep_objects, $1)=
10866f010a93dSmrg_LT_TAGVAR(postdep_objects, $1)=
10867f010a93dSmrg_LT_TAGVAR(predeps, $1)=
10868f010a93dSmrg_LT_TAGVAR(postdeps, $1)=
10869f010a93dSmrg_LT_TAGVAR(compiler_lib_search_path, $1)=
10870b4d38c65Smrg
10871f010a93dSmrgdnl we can't use the lt_simple_compile_test_code here,
10872f010a93dSmrgdnl because it contains code intended for an executable,
10873f010a93dSmrgdnl not a library.  It's possible we should let each
10874f010a93dSmrgdnl tag define a new lt_????_link_test_code variable,
10875f010a93dSmrgdnl but it's only used here...
10876f010a93dSmrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
10877f010a93dSmrgint a;
10878f010a93dSmrgvoid foo (void) { a = 0; }
10879f010a93dSmrg_LT_EOF
10880f010a93dSmrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
10881f010a93dSmrgclass Foo
10882f010a93dSmrg{
10883f010a93dSmrgpublic:
10884f010a93dSmrg  Foo (void) { a = 0; }
10885f010a93dSmrgprivate:
10886f010a93dSmrg  int a;
10887f010a93dSmrg};
10888f010a93dSmrg_LT_EOF
10889f010a93dSmrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
10890f010a93dSmrg      subroutine foo
10891f010a93dSmrg      implicit none
10892f010a93dSmrg      integer*4 a
10893f010a93dSmrg      a=0
10894f010a93dSmrg      return
10895f010a93dSmrg      end
10896f010a93dSmrg_LT_EOF
10897f010a93dSmrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
10898f010a93dSmrg      subroutine foo
10899f010a93dSmrg      implicit none
10900f010a93dSmrg      integer a
10901f010a93dSmrg      a=0
10902f010a93dSmrg      return
10903f010a93dSmrg      end
10904f010a93dSmrg_LT_EOF
10905f010a93dSmrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
10906f010a93dSmrgpublic class foo {
10907f010a93dSmrg  private int a;
10908f010a93dSmrg  public void bar (void) {
10909f010a93dSmrg    a = 0;
10910f010a93dSmrg  }
10911f010a93dSmrg};
10912f010a93dSmrg_LT_EOF
10913f010a93dSmrg], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
10914f010a93dSmrgpackage foo
10915f010a93dSmrgfunc foo() {
10916f010a93dSmrg}
10917f010a93dSmrg_LT_EOF
10918f010a93dSmrg])
1091915fb4814Smrg
10920f010a93dSmrg_lt_libdeps_save_CFLAGS=$CFLAGS
10921f010a93dSmrgcase "$CC $CFLAGS " in #(
10922f010a93dSmrg*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
10923f010a93dSmrg*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
10924f010a93dSmrg*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
10925f010a93dSmrgesac
1092615fb4814Smrg
10927f010a93dSmrgdnl Parse the compiler output and extract the necessary
10928f010a93dSmrgdnl objects, libraries and library flags.
10929f010a93dSmrgif AC_TRY_EVAL(ac_compile); then
10930f010a93dSmrg  # Parse the compiler output and extract the necessary
10931f010a93dSmrg  # objects, libraries and library flags.
1093215fb4814Smrg
10933f010a93dSmrg  # Sentinel used to keep track of whether or not we are before
10934f010a93dSmrg  # the conftest object file.
10935f010a93dSmrg  pre_test_object_deps_done=no
1093615fb4814Smrg
10937f010a93dSmrg  for p in `eval "$output_verbose_link_cmd"`; do
10938f010a93dSmrg    case $prev$p in
1093915fb4814Smrg
10940f010a93dSmrg    -L* | -R* | -l*)
10941f010a93dSmrg       # Some compilers place space between "-{L,R}" and the path.
10942f010a93dSmrg       # Remove the space.
10943f010a93dSmrg       if test x-L = "$p" ||
10944f010a93dSmrg          test x-R = "$p"; then
10945f010a93dSmrg	 prev=$p
10946f010a93dSmrg	 continue
10947f010a93dSmrg       fi
1094815fb4814Smrg
10949f010a93dSmrg       # Expand the sysroot to ease extracting the directories later.
10950f010a93dSmrg       if test -z "$prev"; then
10951f010a93dSmrg         case $p in
10952f010a93dSmrg         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
10953f010a93dSmrg         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
10954f010a93dSmrg         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
10955f010a93dSmrg         esac
10956f010a93dSmrg       fi
10957f010a93dSmrg       case $p in
10958f010a93dSmrg       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
10959f010a93dSmrg       esac
10960f010a93dSmrg       if test no = "$pre_test_object_deps_done"; then
10961f010a93dSmrg	 case $prev in
10962f010a93dSmrg	 -L | -R)
10963f010a93dSmrg	   # Internal compiler library paths should come after those
10964f010a93dSmrg	   # provided the user.  The postdeps already come after the
10965f010a93dSmrg	   # user supplied libs so there is no need to process them.
10966f010a93dSmrg	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
10967f010a93dSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
10968f010a93dSmrg	   else
10969f010a93dSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
10970f010a93dSmrg	   fi
10971f010a93dSmrg	   ;;
10972f010a93dSmrg	 # The "-l" case would never come before the object being
10973f010a93dSmrg	 # linked, so don't bother handling this case.
10974f010a93dSmrg	 esac
10975f010a93dSmrg       else
10976f010a93dSmrg	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
10977f010a93dSmrg	   _LT_TAGVAR(postdeps, $1)=$prev$p
10978f010a93dSmrg	 else
10979f010a93dSmrg	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
10980f010a93dSmrg	 fi
10981f010a93dSmrg       fi
10982f010a93dSmrg       prev=
10983f010a93dSmrg       ;;
109847fe5393cSmrg
10985f010a93dSmrg    *.lto.$objext) ;; # Ignore GCC LTO objects
10986f010a93dSmrg    *.$objext)
10987f010a93dSmrg       # This assumes that the test object file only shows up
10988f010a93dSmrg       # once in the compiler output.
10989f010a93dSmrg       if test "$p" = "conftest.$objext"; then
10990f010a93dSmrg	 pre_test_object_deps_done=yes
10991f010a93dSmrg	 continue
10992f010a93dSmrg       fi
109937fe5393cSmrg
10994f010a93dSmrg       if test no = "$pre_test_object_deps_done"; then
10995f010a93dSmrg	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
10996f010a93dSmrg	   _LT_TAGVAR(predep_objects, $1)=$p
10997f010a93dSmrg	 else
10998f010a93dSmrg	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
10999f010a93dSmrg	 fi
11000f010a93dSmrg       else
11001f010a93dSmrg	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
11002f010a93dSmrg	   _LT_TAGVAR(postdep_objects, $1)=$p
11003f010a93dSmrg	 else
11004f010a93dSmrg	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
11005f010a93dSmrg	 fi
11006f010a93dSmrg       fi
11007f010a93dSmrg       ;;
110087fe5393cSmrg
11009f010a93dSmrg    *) ;; # Ignore the rest.
110107fe5393cSmrg
11011f010a93dSmrg    esac
11012f010a93dSmrg  done
110137fe5393cSmrg
11014f010a93dSmrg  # Clean up.
11015f010a93dSmrg  rm -f a.out a.exe
11016f010a93dSmrgelse
11017f010a93dSmrg  echo "libtool.m4: error: problem compiling $1 test program"
110187fe5393cSmrgfi
110197fe5393cSmrg
11020f010a93dSmrg$RM -f confest.$objext
11021f010a93dSmrgCFLAGS=$_lt_libdeps_save_CFLAGS
1102215fb4814Smrg
11023f010a93dSmrg# PORTME: override above test on systems where it is broken
11024f010a93dSmrgm4_if([$1], [CXX],
11025f010a93dSmrg[case $host_os in
11026f010a93dSmrginterix[[3-9]]*)
11027f010a93dSmrg  # Interix 3.5 installs completely hosed .la files for C++, so rather than
11028f010a93dSmrg  # hack all around it, let's just trust "g++" to DTRT.
11029f010a93dSmrg  _LT_TAGVAR(predep_objects,$1)=
11030f010a93dSmrg  _LT_TAGVAR(postdep_objects,$1)=
11031f010a93dSmrg  _LT_TAGVAR(postdeps,$1)=
11032f010a93dSmrg  ;;
11033f010a93dSmrgesac
11034f010a93dSmrg])
11035f010a93dSmrg
11036f010a93dSmrgcase " $_LT_TAGVAR(postdeps, $1) " in
11037f010a93dSmrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
11038f010a93dSmrgesac
11039f010a93dSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
11040f010a93dSmrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
11041f010a93dSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
11042b534f209Smrgfi
11043f010a93dSmrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
11044f010a93dSmrg    [The directories searched by this compiler when creating a shared library])
11045f010a93dSmrg_LT_TAGDECL([], [predep_objects], [1],
11046f010a93dSmrg    [Dependencies to place before and after the objects being linked to
11047f010a93dSmrg    create a shared library])
11048f010a93dSmrg_LT_TAGDECL([], [postdep_objects], [1])
11049f010a93dSmrg_LT_TAGDECL([], [predeps], [1])
11050f010a93dSmrg_LT_TAGDECL([], [postdeps], [1])
11051f010a93dSmrg_LT_TAGDECL([], [compiler_lib_search_path], [1],
11052f010a93dSmrg    [The library search path used internally by the compiler when linking
11053f010a93dSmrg    a shared library])
11054f010a93dSmrg])# _LT_SYS_HIDDEN_LIBDEPS
1105515fb4814Smrg
11056b4d38c65Smrg
11057f010a93dSmrg# _LT_LANG_F77_CONFIG([TAG])
11058f010a93dSmrg# --------------------------
11059f010a93dSmrg# Ensure that the configuration variables for a Fortran 77 compiler are
11060f010a93dSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
11061f010a93dSmrg# to write the compiler configuration to 'libtool'.
11062f010a93dSmrgm4_defun([_LT_LANG_F77_CONFIG],
11063f010a93dSmrg[AC_LANG_PUSH(Fortran 77)
11064f010a93dSmrgif test -z "$F77" || test no = "$F77"; then
11065f010a93dSmrg  _lt_disable_F77=yes
11066f010a93dSmrgfi
1106715fb4814Smrg
11068f010a93dSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
11069f010a93dSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
11070f010a93dSmrg_LT_TAGVAR(always_export_symbols, $1)=no
11071f010a93dSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
11072f010a93dSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
11073f010a93dSmrg_LT_TAGVAR(hardcode_direct, $1)=no
11074f010a93dSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
11075f010a93dSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
11076f010a93dSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
11077f010a93dSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
11078f010a93dSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
11079f010a93dSmrg_LT_TAGVAR(inherit_rpath, $1)=no
11080f010a93dSmrg_LT_TAGVAR(module_cmds, $1)=
11081f010a93dSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
11082f010a93dSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
11083f010a93dSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
11084f010a93dSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
11085f010a93dSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
11086f010a93dSmrg_LT_TAGVAR(no_undefined_flag, $1)=
11087f010a93dSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
11088f010a93dSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
11089b534f209Smrg
11090f010a93dSmrg# Source file extension for f77 test sources.
11091f010a93dSmrgac_ext=f
110927fe5393cSmrg
11093f010a93dSmrg# Object file extension for compiled f77 test sources.
11094f010a93dSmrgobjext=o
11095f010a93dSmrg_LT_TAGVAR(objext, $1)=$objext
1109615fb4814Smrg
11097f010a93dSmrg# No sense in running all these tests if we already determined that
11098f010a93dSmrg# the F77 compiler isn't working.  Some variables (like enable_shared)
11099f010a93dSmrg# are currently assumed to apply to all compilers on this platform,
11100f010a93dSmrg# and will be corrupted by setting them based on a non-working compiler.
11101f010a93dSmrgif test yes != "$_lt_disable_F77"; then
11102f010a93dSmrg  # Code to be used in simple compile tests
11103f010a93dSmrg  lt_simple_compile_test_code="\
11104f010a93dSmrg      subroutine t
11105f010a93dSmrg      return
11106f010a93dSmrg      end
11107f010a93dSmrg"
1110815fb4814Smrg
11109f010a93dSmrg  # Code to be used in simple link tests
11110f010a93dSmrg  lt_simple_link_test_code="\
11111f010a93dSmrg      program t
11112f010a93dSmrg      end
11113f010a93dSmrg"
11114b534f209Smrg
11115f010a93dSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
11116f010a93dSmrg  _LT_TAG_COMPILER
1111715fb4814Smrg
11118f010a93dSmrg  # save warnings/boilerplate of simple test code
11119f010a93dSmrg  _LT_COMPILER_BOILERPLATE
11120f010a93dSmrg  _LT_LINKER_BOILERPLATE
111217fe5393cSmrg
11122f010a93dSmrg  # Allow CC to be a program name with arguments.
11123f010a93dSmrg  lt_save_CC=$CC
11124f010a93dSmrg  lt_save_GCC=$GCC
11125f010a93dSmrg  lt_save_CFLAGS=$CFLAGS
11126f010a93dSmrg  CC=${F77-"f77"}
11127f010a93dSmrg  CFLAGS=$FFLAGS
11128f010a93dSmrg  compiler=$CC
11129f010a93dSmrg  _LT_TAGVAR(compiler, $1)=$CC
11130f010a93dSmrg  _LT_CC_BASENAME([$compiler])
11131f010a93dSmrg  GCC=$G77
11132f010a93dSmrg  if test -n "$compiler"; then
11133f010a93dSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
11134f010a93dSmrg    AC_MSG_RESULT([$can_build_shared])
1113515fb4814Smrg
11136f010a93dSmrg    AC_MSG_CHECKING([whether to build shared libraries])
11137f010a93dSmrg    test no = "$can_build_shared" && enable_shared=no
111387fe5393cSmrg
11139f010a93dSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
11140f010a93dSmrg    # are all built from PIC.
11141f010a93dSmrg    case $host_os in
11142f010a93dSmrg      aix3*)
11143f010a93dSmrg        test yes = "$enable_shared" && enable_static=no
11144f010a93dSmrg        if test -n "$RANLIB"; then
11145f010a93dSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
11146f010a93dSmrg          postinstall_cmds='$RANLIB $lib'
11147f010a93dSmrg        fi
11148f010a93dSmrg        ;;
11149f010a93dSmrg      aix[[4-9]]*)
11150f010a93dSmrg	if test ia64 != "$host_cpu"; then
11151f010a93dSmrg	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
11152f010a93dSmrg	  yes,aix,yes) ;;		# shared object as lib.so file only
11153f010a93dSmrg	  yes,svr4,*) ;;		# shared object as lib.so archive member only
11154f010a93dSmrg	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
11155f010a93dSmrg	  esac
11156f010a93dSmrg	fi
11157f010a93dSmrg        ;;
11158f010a93dSmrg    esac
11159f010a93dSmrg    AC_MSG_RESULT([$enable_shared])
111607fe5393cSmrg
11161f010a93dSmrg    AC_MSG_CHECKING([whether to build static libraries])
11162f010a93dSmrg    # Make sure either enable_shared or enable_static is yes.
11163f010a93dSmrg    test yes = "$enable_shared" || enable_static=yes
11164f010a93dSmrg    AC_MSG_RESULT([$enable_static])
111657fe5393cSmrg
11166f010a93dSmrg    _LT_TAGVAR(GCC, $1)=$G77
11167f010a93dSmrg    _LT_TAGVAR(LD, $1)=$LD
111687fe5393cSmrg
11169f010a93dSmrg    ## CAVEAT EMPTOR:
11170f010a93dSmrg    ## There is no encapsulation within the following macros, do not change
11171f010a93dSmrg    ## the running order or otherwise move them around unless you know exactly
11172f010a93dSmrg    ## what you are doing...
11173f010a93dSmrg    _LT_COMPILER_PIC($1)
11174f010a93dSmrg    _LT_COMPILER_C_O($1)
11175f010a93dSmrg    _LT_COMPILER_FILE_LOCKS($1)
11176f010a93dSmrg    _LT_LINKER_SHLIBS($1)
11177f010a93dSmrg    _LT_SYS_DYNAMIC_LINKER($1)
11178f010a93dSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
111797fe5393cSmrg
11180f010a93dSmrg    _LT_CONFIG($1)
11181f010a93dSmrg  fi # test -n "$compiler"
111827fe5393cSmrg
11183f010a93dSmrg  GCC=$lt_save_GCC
11184f010a93dSmrg  CC=$lt_save_CC
11185f010a93dSmrg  CFLAGS=$lt_save_CFLAGS
11186f010a93dSmrgfi # test yes != "$_lt_disable_F77"
111877fe5393cSmrg
11188f010a93dSmrgAC_LANG_POP
11189f010a93dSmrg])# _LT_LANG_F77_CONFIG
11190b410ddbeSmrg
111917fe5393cSmrg
11192f010a93dSmrg# _LT_LANG_FC_CONFIG([TAG])
11193f010a93dSmrg# -------------------------
11194f010a93dSmrg# Ensure that the configuration variables for a Fortran compiler are
11195f010a93dSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
11196f010a93dSmrg# to write the compiler configuration to 'libtool'.
11197f010a93dSmrgm4_defun([_LT_LANG_FC_CONFIG],
11198f010a93dSmrg[AC_LANG_PUSH(Fortran)
11199cf503b78Smrg
11200f010a93dSmrgif test -z "$FC" || test no = "$FC"; then
11201f010a93dSmrg  _lt_disable_FC=yes
11202cf503b78Smrgfi
11203b410ddbeSmrg
11204f010a93dSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
11205f010a93dSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
11206f010a93dSmrg_LT_TAGVAR(always_export_symbols, $1)=no
11207f010a93dSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
11208f010a93dSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
11209f010a93dSmrg_LT_TAGVAR(hardcode_direct, $1)=no
11210f010a93dSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
11211f010a93dSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
11212f010a93dSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
11213f010a93dSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
11214f010a93dSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
11215f010a93dSmrg_LT_TAGVAR(inherit_rpath, $1)=no
11216f010a93dSmrg_LT_TAGVAR(module_cmds, $1)=
11217f010a93dSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
11218f010a93dSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
11219f010a93dSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
11220f010a93dSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
11221f010a93dSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
11222f010a93dSmrg_LT_TAGVAR(no_undefined_flag, $1)=
11223f010a93dSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
11224f010a93dSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
1122515fb4814Smrg
11226f010a93dSmrg# Source file extension for fc test sources.
11227f010a93dSmrgac_ext=${ac_fc_srcext-f}
1122815fb4814Smrg
11229f010a93dSmrg# Object file extension for compiled fc test sources.
11230f010a93dSmrgobjext=o
11231f010a93dSmrg_LT_TAGVAR(objext, $1)=$objext
1123215fb4814Smrg
11233f010a93dSmrg# No sense in running all these tests if we already determined that
11234f010a93dSmrg# the FC compiler isn't working.  Some variables (like enable_shared)
11235f010a93dSmrg# are currently assumed to apply to all compilers on this platform,
11236f010a93dSmrg# and will be corrupted by setting them based on a non-working compiler.
11237f010a93dSmrgif test yes != "$_lt_disable_FC"; then
11238f010a93dSmrg  # Code to be used in simple compile tests
11239f010a93dSmrg  lt_simple_compile_test_code="\
11240f010a93dSmrg      subroutine t
11241f010a93dSmrg      return
11242f010a93dSmrg      end
11243f010a93dSmrg"
1124415fb4814Smrg
11245f010a93dSmrg  # Code to be used in simple link tests
11246f010a93dSmrg  lt_simple_link_test_code="\
11247f010a93dSmrg      program t
11248f010a93dSmrg      end
11249f010a93dSmrg"
11250f010a93dSmrg
11251f010a93dSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
11252f010a93dSmrg  _LT_TAG_COMPILER
11253f010a93dSmrg
11254f010a93dSmrg  # save warnings/boilerplate of simple test code
11255f010a93dSmrg  _LT_COMPILER_BOILERPLATE
11256f010a93dSmrg  _LT_LINKER_BOILERPLATE
1125715fb4814Smrg
11258f010a93dSmrg  # Allow CC to be a program name with arguments.
11259f010a93dSmrg  lt_save_CC=$CC
11260f010a93dSmrg  lt_save_GCC=$GCC
11261f010a93dSmrg  lt_save_CFLAGS=$CFLAGS
11262f010a93dSmrg  CC=${FC-"f95"}
11263f010a93dSmrg  CFLAGS=$FCFLAGS
11264f010a93dSmrg  compiler=$CC
11265f010a93dSmrg  GCC=$ac_cv_fc_compiler_gnu
11266b410ddbeSmrg
11267f010a93dSmrg  _LT_TAGVAR(compiler, $1)=$CC
11268f010a93dSmrg  _LT_CC_BASENAME([$compiler])
11269b410ddbeSmrg
11270f010a93dSmrg  if test -n "$compiler"; then
11271f010a93dSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
11272f010a93dSmrg    AC_MSG_RESULT([$can_build_shared])
11273b410ddbeSmrg
11274f010a93dSmrg    AC_MSG_CHECKING([whether to build shared libraries])
11275f010a93dSmrg    test no = "$can_build_shared" && enable_shared=no
11276b410ddbeSmrg
11277f010a93dSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
11278f010a93dSmrg    # are all built from PIC.
11279f010a93dSmrg    case $host_os in
11280f010a93dSmrg      aix3*)
11281f010a93dSmrg        test yes = "$enable_shared" && enable_static=no
11282f010a93dSmrg        if test -n "$RANLIB"; then
11283f010a93dSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
11284f010a93dSmrg          postinstall_cmds='$RANLIB $lib'
11285f010a93dSmrg        fi
11286f010a93dSmrg        ;;
11287f010a93dSmrg      aix[[4-9]]*)
11288f010a93dSmrg	if test ia64 != "$host_cpu"; then
11289f010a93dSmrg	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
11290f010a93dSmrg	  yes,aix,yes) ;;		# shared object as lib.so file only
11291f010a93dSmrg	  yes,svr4,*) ;;		# shared object as lib.so archive member only
11292f010a93dSmrg	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
11293f010a93dSmrg	  esac
11294f010a93dSmrg	fi
11295f010a93dSmrg        ;;
11296f010a93dSmrg    esac
11297f010a93dSmrg    AC_MSG_RESULT([$enable_shared])
11298cf503b78Smrg
11299f010a93dSmrg    AC_MSG_CHECKING([whether to build static libraries])
11300f010a93dSmrg    # Make sure either enable_shared or enable_static is yes.
11301f010a93dSmrg    test yes = "$enable_shared" || enable_static=yes
11302f010a93dSmrg    AC_MSG_RESULT([$enable_static])
11303b410ddbeSmrg
11304f010a93dSmrg    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
11305f010a93dSmrg    _LT_TAGVAR(LD, $1)=$LD
11306cf503b78Smrg
11307f010a93dSmrg    ## CAVEAT EMPTOR:
11308f010a93dSmrg    ## There is no encapsulation within the following macros, do not change
11309f010a93dSmrg    ## the running order or otherwise move them around unless you know exactly
11310f010a93dSmrg    ## what you are doing...
11311f010a93dSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
11312f010a93dSmrg    _LT_COMPILER_PIC($1)
11313f010a93dSmrg    _LT_COMPILER_C_O($1)
11314f010a93dSmrg    _LT_COMPILER_FILE_LOCKS($1)
11315f010a93dSmrg    _LT_LINKER_SHLIBS($1)
11316f010a93dSmrg    _LT_SYS_DYNAMIC_LINKER($1)
11317f010a93dSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
11318b410ddbeSmrg
11319f010a93dSmrg    _LT_CONFIG($1)
11320f010a93dSmrg  fi # test -n "$compiler"
11321cf503b78Smrg
11322f010a93dSmrg  GCC=$lt_save_GCC
11323f010a93dSmrg  CC=$lt_save_CC
11324f010a93dSmrg  CFLAGS=$lt_save_CFLAGS
11325f010a93dSmrgfi # test yes != "$_lt_disable_FC"
11326cf503b78Smrg
11327f010a93dSmrgAC_LANG_POP
11328f010a93dSmrg])# _LT_LANG_FC_CONFIG
11329cf503b78Smrg
11330cf503b78Smrg
11331f010a93dSmrg# _LT_LANG_GCJ_CONFIG([TAG])
11332f010a93dSmrg# --------------------------
11333f010a93dSmrg# Ensure that the configuration variables for the GNU Java Compiler compiler
11334f010a93dSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
11335f010a93dSmrg# to write the compiler configuration to 'libtool'.
11336f010a93dSmrgm4_defun([_LT_LANG_GCJ_CONFIG],
11337f010a93dSmrg[AC_REQUIRE([LT_PROG_GCJ])dnl
11338f010a93dSmrgAC_LANG_SAVE
11339cf503b78Smrg
11340f010a93dSmrg# Source file extension for Java test sources.
11341f010a93dSmrgac_ext=java
11342cf503b78Smrg
11343f010a93dSmrg# Object file extension for compiled Java test sources.
11344f010a93dSmrgobjext=o
11345f010a93dSmrg_LT_TAGVAR(objext, $1)=$objext
11346b410ddbeSmrg
11347f010a93dSmrg# Code to be used in simple compile tests
11348f010a93dSmrglt_simple_compile_test_code="class foo {}"
11349cf503b78Smrg
11350f010a93dSmrg# Code to be used in simple link tests
11351f010a93dSmrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
113527fe5393cSmrg
11353f010a93dSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
11354f010a93dSmrg_LT_TAG_COMPILER
113557fe5393cSmrg
11356f010a93dSmrg# save warnings/boilerplate of simple test code
11357f010a93dSmrg_LT_COMPILER_BOILERPLATE
11358f010a93dSmrg_LT_LINKER_BOILERPLATE
11359f010a93dSmrg
11360f010a93dSmrg# Allow CC to be a program name with arguments.
11361f010a93dSmrglt_save_CC=$CC
11362f010a93dSmrglt_save_CFLAGS=$CFLAGS
11363f010a93dSmrglt_save_GCC=$GCC
11364f010a93dSmrgGCC=yes
11365f010a93dSmrgCC=${GCJ-"gcj"}
11366f010a93dSmrgCFLAGS=$GCJFLAGS
11367f010a93dSmrgcompiler=$CC
11368f010a93dSmrg_LT_TAGVAR(compiler, $1)=$CC
11369f010a93dSmrg_LT_TAGVAR(LD, $1)=$LD
11370f010a93dSmrg_LT_CC_BASENAME([$compiler])
11371b410ddbeSmrg
11372f010a93dSmrg# GCJ did not exist at the time GCC didn't implicitly link libc in.
11373f010a93dSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
11374b534f209Smrg
11375f010a93dSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
11376f010a93dSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
11377f010a93dSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
11378b534f209Smrg
11379f010a93dSmrgif test -n "$compiler"; then
11380f010a93dSmrg  _LT_COMPILER_NO_RTTI($1)
11381f010a93dSmrg  _LT_COMPILER_PIC($1)
11382f010a93dSmrg  _LT_COMPILER_C_O($1)
11383f010a93dSmrg  _LT_COMPILER_FILE_LOCKS($1)
11384f010a93dSmrg  _LT_LINKER_SHLIBS($1)
11385f010a93dSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
11386f010a93dSmrg
11387f010a93dSmrg  _LT_CONFIG($1)
11388b4d38c65Smrgfi
11389b534f209Smrg
11390f010a93dSmrgAC_LANG_RESTORE
113917fe5393cSmrg
11392f010a93dSmrgGCC=$lt_save_GCC
11393f010a93dSmrgCC=$lt_save_CC
11394f010a93dSmrgCFLAGS=$lt_save_CFLAGS
11395f010a93dSmrg])# _LT_LANG_GCJ_CONFIG
113967fe5393cSmrg
11397b534f209Smrg
11398f010a93dSmrg# _LT_LANG_GO_CONFIG([TAG])
11399f010a93dSmrg# --------------------------
11400f010a93dSmrg# Ensure that the configuration variables for the GNU Go compiler
11401f010a93dSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
11402f010a93dSmrg# to write the compiler configuration to 'libtool'.
11403f010a93dSmrgm4_defun([_LT_LANG_GO_CONFIG],
11404f010a93dSmrg[AC_REQUIRE([LT_PROG_GO])dnl
11405f010a93dSmrgAC_LANG_SAVE
11406b534f209Smrg
11407f010a93dSmrg# Source file extension for Go test sources.
11408f010a93dSmrgac_ext=go
11409b534f209Smrg
11410f010a93dSmrg# Object file extension for compiled Go test sources.
11411f010a93dSmrgobjext=o
11412f010a93dSmrg_LT_TAGVAR(objext, $1)=$objext
11413b534f209Smrg
11414f010a93dSmrg# Code to be used in simple compile tests
11415f010a93dSmrglt_simple_compile_test_code="package main; func main() { }"
1141615fb4814Smrg
11417f010a93dSmrg# Code to be used in simple link tests
11418f010a93dSmrglt_simple_link_test_code='package main; func main() { }'
11419b534f209Smrg
11420f010a93dSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
11421f010a93dSmrg_LT_TAG_COMPILER
11422b534f209Smrg
11423f010a93dSmrg# save warnings/boilerplate of simple test code
11424f010a93dSmrg_LT_COMPILER_BOILERPLATE
11425f010a93dSmrg_LT_LINKER_BOILERPLATE
11426b534f209Smrg
11427f010a93dSmrg# Allow CC to be a program name with arguments.
11428f010a93dSmrglt_save_CC=$CC
11429f010a93dSmrglt_save_CFLAGS=$CFLAGS
11430f010a93dSmrglt_save_GCC=$GCC
11431f010a93dSmrgGCC=yes
11432f010a93dSmrgCC=${GOC-"gccgo"}
11433f010a93dSmrgCFLAGS=$GOFLAGS
11434f010a93dSmrgcompiler=$CC
11435f010a93dSmrg_LT_TAGVAR(compiler, $1)=$CC
11436f010a93dSmrg_LT_TAGVAR(LD, $1)=$LD
11437f010a93dSmrg_LT_CC_BASENAME([$compiler])
11438b534f209Smrg
11439f010a93dSmrg# Go did not exist at the time GCC didn't implicitly link libc in.
11440f010a93dSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
11441b534f209Smrg
11442f010a93dSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
11443f010a93dSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
11444f010a93dSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
11445b534f209Smrg
11446f010a93dSmrgif test -n "$compiler"; then
11447f010a93dSmrg  _LT_COMPILER_NO_RTTI($1)
11448f010a93dSmrg  _LT_COMPILER_PIC($1)
11449f010a93dSmrg  _LT_COMPILER_C_O($1)
11450f010a93dSmrg  _LT_COMPILER_FILE_LOCKS($1)
11451f010a93dSmrg  _LT_LINKER_SHLIBS($1)
11452f010a93dSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
11453f010a93dSmrg
11454f010a93dSmrg  _LT_CONFIG($1)
11455b4d38c65Smrgfi
11456b410ddbeSmrg
11457f010a93dSmrgAC_LANG_RESTORE
11458b534f209Smrg
11459f010a93dSmrgGCC=$lt_save_GCC
11460f010a93dSmrgCC=$lt_save_CC
11461f010a93dSmrgCFLAGS=$lt_save_CFLAGS
11462f010a93dSmrg])# _LT_LANG_GO_CONFIG
11463b534f209Smrg
1146415fb4814Smrg
11465f010a93dSmrg# _LT_LANG_RC_CONFIG([TAG])
11466f010a93dSmrg# -------------------------
11467f010a93dSmrg# Ensure that the configuration variables for the Windows resource compiler
11468f010a93dSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
11469f010a93dSmrg# to write the compiler configuration to 'libtool'.
11470f010a93dSmrgm4_defun([_LT_LANG_RC_CONFIG],
11471f010a93dSmrg[AC_REQUIRE([LT_PROG_RC])dnl
11472f010a93dSmrgAC_LANG_SAVE
11473f010a93dSmrg
11474f010a93dSmrg# Source file extension for RC test sources.
11475f010a93dSmrgac_ext=rc
11476f010a93dSmrg
11477f010a93dSmrg# Object file extension for compiled RC test sources.
11478f010a93dSmrgobjext=o
11479f010a93dSmrg_LT_TAGVAR(objext, $1)=$objext
11480f010a93dSmrg
11481f010a93dSmrg# Code to be used in simple compile tests
11482f010a93dSmrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
11483b4d38c65Smrg
11484f010a93dSmrg# Code to be used in simple link tests
11485f010a93dSmrglt_simple_link_test_code=$lt_simple_compile_test_code
11486b410ddbeSmrg
11487f010a93dSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
11488f010a93dSmrg_LT_TAG_COMPILER
11489b4d38c65Smrg
11490f010a93dSmrg# save warnings/boilerplate of simple test code
11491f010a93dSmrg_LT_COMPILER_BOILERPLATE
11492f010a93dSmrg_LT_LINKER_BOILERPLATE
11493b4d38c65Smrg
11494f010a93dSmrg# Allow CC to be a program name with arguments.
11495f010a93dSmrglt_save_CC=$CC
11496f010a93dSmrglt_save_CFLAGS=$CFLAGS
11497f010a93dSmrglt_save_GCC=$GCC
11498f010a93dSmrgGCC=
11499f010a93dSmrgCC=${RC-"windres"}
11500f010a93dSmrgCFLAGS=
11501f010a93dSmrgcompiler=$CC
11502f010a93dSmrg_LT_TAGVAR(compiler, $1)=$CC
11503f010a93dSmrg_LT_CC_BASENAME([$compiler])
11504f010a93dSmrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
11505b4d38c65Smrg
11506f010a93dSmrgif test -n "$compiler"; then
11507f010a93dSmrg  :
11508f010a93dSmrg  _LT_CONFIG($1)
115097fe5393cSmrgfi
11510b410ddbeSmrg
11511f010a93dSmrgGCC=$lt_save_GCC
11512f010a93dSmrgAC_LANG_RESTORE
11513f010a93dSmrgCC=$lt_save_CC
11514f010a93dSmrgCFLAGS=$lt_save_CFLAGS
11515f010a93dSmrg])# _LT_LANG_RC_CONFIG
11516b4d38c65Smrg
11517de78e416Smrg
11518f010a93dSmrg# LT_PROG_GCJ
11519f010a93dSmrg# -----------
11520f010a93dSmrgAC_DEFUN([LT_PROG_GCJ],
11521f010a93dSmrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
11522f010a93dSmrg  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
11523f010a93dSmrg    [AC_CHECK_TOOL(GCJ, gcj,)
11524f010a93dSmrg      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
11525f010a93dSmrg      AC_SUBST(GCJFLAGS)])])[]dnl
11526f010a93dSmrg])
11527b4d38c65Smrg
11528f010a93dSmrg# Old name:
11529f010a93dSmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
11530f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
11531f010a93dSmrgdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
11532b4d38c65Smrg
11533b4d38c65Smrg
11534f010a93dSmrg# LT_PROG_GO
11535f010a93dSmrg# ----------
11536f010a93dSmrgAC_DEFUN([LT_PROG_GO],
11537f010a93dSmrg[AC_CHECK_TOOL(GOC, gccgo,)
11538f010a93dSmrg])
11539de78e416Smrg
11540b4d38c65Smrg
11541f010a93dSmrg# LT_PROG_RC
11542f010a93dSmrg# ----------
11543f010a93dSmrgAC_DEFUN([LT_PROG_RC],
11544f010a93dSmrg[AC_CHECK_TOOL(RC, windres,)
11545f010a93dSmrg])
11546de78e416Smrg
11547f010a93dSmrg# Old name:
11548f010a93dSmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
11549f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
11550f010a93dSmrgdnl AC_DEFUN([LT_AC_PROG_RC], [])
11551b410ddbeSmrg
11552b4d38c65Smrg
11553f010a93dSmrg# _LT_DECL_EGREP
11554f010a93dSmrg# --------------
11555f010a93dSmrg# If we don't have a new enough Autoconf to choose the best grep
11556f010a93dSmrg# available, choose the one first in the user's PATH.
11557f010a93dSmrgm4_defun([_LT_DECL_EGREP],
11558f010a93dSmrg[AC_REQUIRE([AC_PROG_EGREP])dnl
11559f010a93dSmrgAC_REQUIRE([AC_PROG_FGREP])dnl
11560f010a93dSmrgtest -z "$GREP" && GREP=grep
11561f010a93dSmrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
11562f010a93dSmrg_LT_DECL([], [EGREP], [1], [An ERE matcher])
11563f010a93dSmrg_LT_DECL([], [FGREP], [1], [A literal string matcher])
11564f010a93dSmrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
11565f010a93dSmrgAC_SUBST([GREP])
11566f010a93dSmrg])
11567b4d38c65Smrg
11568b4d38c65Smrg
11569f010a93dSmrg# _LT_DECL_OBJDUMP
11570f010a93dSmrg# --------------
11571f010a93dSmrg# If we don't have a new enough Autoconf to choose the best objdump
11572f010a93dSmrg# available, choose the one first in the user's PATH.
11573f010a93dSmrgm4_defun([_LT_DECL_OBJDUMP],
11574f010a93dSmrg[AC_CHECK_TOOL(OBJDUMP, objdump, false)
11575f010a93dSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
11576f010a93dSmrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
11577f010a93dSmrgAC_SUBST([OBJDUMP])
11578f010a93dSmrg])
11579b410ddbeSmrg
11580f010a93dSmrg# _LT_DECL_DLLTOOL
115817fe5393cSmrg# ----------------
11582f010a93dSmrg# Ensure DLLTOOL variable is set.
11583f010a93dSmrgm4_defun([_LT_DECL_DLLTOOL],
11584f010a93dSmrg[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
11585f010a93dSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
11586f010a93dSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
11587f010a93dSmrgAC_SUBST([DLLTOOL])
11588f010a93dSmrg])
11589b4d38c65Smrg
11590f010a93dSmrg# _LT_DECL_FILECMD
11591f010a93dSmrg# ----------------
11592f010a93dSmrg# Check for a file(cmd) program that can be used to detect file type and magic
11593f010a93dSmrgm4_defun([_LT_DECL_FILECMD],
11594f010a93dSmrg[AC_CHECK_TOOL([FILECMD], [file], [:])
11595f010a93dSmrg_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
11596f010a93dSmrg])# _LD_DECL_FILECMD
11597de78e416Smrg
11598f010a93dSmrg# _LT_DECL_SED
11599f010a93dSmrg# ------------
11600f010a93dSmrg# Check for a fully-functional sed program, that truncates
11601f010a93dSmrg# as few characters as possible.  Prefer GNU sed if found.
11602f010a93dSmrgm4_defun([_LT_DECL_SED],
11603f010a93dSmrg[AC_PROG_SED
11604f010a93dSmrgtest -z "$SED" && SED=sed
11605f010a93dSmrgXsed="$SED -e 1s/^X//"
11606f010a93dSmrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
11607f010a93dSmrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
11608f010a93dSmrg    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
11609f010a93dSmrg])# _LT_DECL_SED
11610f010a93dSmrg
11611f010a93dSmrgm4_ifndef([AC_PROG_SED], [
11612f010a93dSmrg# NOTE: This macro has been submitted for inclusion into   #
11613f010a93dSmrg#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
11614f010a93dSmrg#  a released version of Autoconf we should remove this    #
11615f010a93dSmrg#  macro and use it instead.                               #
11616f010a93dSmrg
11617f010a93dSmrgm4_defun([AC_PROG_SED],
11618f010a93dSmrg[AC_MSG_CHECKING([for a sed that does not truncate output])
11619f010a93dSmrgAC_CACHE_VAL(lt_cv_path_SED,
11620f010a93dSmrg[# Loop through the user's path and test for sed and gsed.
11621f010a93dSmrg# Then use that list of sed's as ones to test for truncation.
11622f010a93dSmrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11623f010a93dSmrgfor as_dir in $PATH
11624f010a93dSmrgdo
11625f010a93dSmrg  IFS=$as_save_IFS
11626f010a93dSmrg  test -z "$as_dir" && as_dir=.
11627f010a93dSmrg  for lt_ac_prog in sed gsed; do
11628f010a93dSmrg    for ac_exec_ext in '' $ac_executable_extensions; do
11629f010a93dSmrg      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
11630f010a93dSmrg        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
11631f010a93dSmrg      fi
11632f010a93dSmrg    done
11633f010a93dSmrg  done
11634f010a93dSmrgdone
11635f010a93dSmrgIFS=$as_save_IFS
11636f010a93dSmrglt_ac_max=0
11637f010a93dSmrglt_ac_count=0
11638f010a93dSmrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris
11639f010a93dSmrg# along with /bin/sed that truncates output.
11640f010a93dSmrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
11641f010a93dSmrg  test ! -f "$lt_ac_sed" && continue
11642f010a93dSmrg  cat /dev/null > conftest.in
11643f010a93dSmrg  lt_ac_count=0
11644f010a93dSmrg  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
11645f010a93dSmrg  # Check for GNU sed and select it if it is found.
11646f010a93dSmrg  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
11647f010a93dSmrg    lt_cv_path_SED=$lt_ac_sed
11648f010a93dSmrg    break
11649f010a93dSmrg  fi
11650f010a93dSmrg  while true; do
11651f010a93dSmrg    cat conftest.in conftest.in >conftest.tmp
11652f010a93dSmrg    mv conftest.tmp conftest.in
11653f010a93dSmrg    cp conftest.in conftest.nl
11654f010a93dSmrg    echo >>conftest.nl
11655f010a93dSmrg    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
11656f010a93dSmrg    cmp -s conftest.out conftest.nl || break
11657f010a93dSmrg    # 10000 chars as input seems more than enough
11658f010a93dSmrg    test 10 -lt "$lt_ac_count" && break
11659f010a93dSmrg    lt_ac_count=`expr $lt_ac_count + 1`
11660f010a93dSmrg    if test "$lt_ac_count" -gt "$lt_ac_max"; then
11661f010a93dSmrg      lt_ac_max=$lt_ac_count
11662f010a93dSmrg      lt_cv_path_SED=$lt_ac_sed
11663f010a93dSmrg    fi
11664f010a93dSmrg  done
11665f010a93dSmrgdone
11666f010a93dSmrg])
11667f010a93dSmrgSED=$lt_cv_path_SED
11668f010a93dSmrgAC_SUBST([SED])
11669f010a93dSmrgAC_MSG_RESULT([$SED])
11670f010a93dSmrg])#AC_PROG_SED
11671f010a93dSmrg])#m4_ifndef
11672de78e416Smrg
11673f010a93dSmrg# Old name:
11674f010a93dSmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
11675f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
11676f010a93dSmrgdnl AC_DEFUN([LT_AC_PROG_SED], [])
11677b4d38c65Smrg
11678b4d38c65Smrg
11679f010a93dSmrg# _LT_CHECK_SHELL_FEATURES
11680f010a93dSmrg# ------------------------
11681f010a93dSmrg# Find out whether the shell is Bourne or XSI compatible,
11682f010a93dSmrg# or has some other useful features.
11683f010a93dSmrgm4_defun([_LT_CHECK_SHELL_FEATURES],
11684f010a93dSmrg[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
11685f010a93dSmrg  lt_unset=unset
11686b4d38c65Smrgelse
11687f010a93dSmrg  lt_unset=false
11688b4d38c65Smrgfi
11689f010a93dSmrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
11690de78e416Smrg
11691f010a93dSmrg# test EBCDIC or ASCII
11692f010a93dSmrgcase `echo X|tr X '\101'` in
11693f010a93dSmrg A) # ASCII based system
11694f010a93dSmrg    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
11695f010a93dSmrg  lt_SP2NL='tr \040 \012'
11696f010a93dSmrg  lt_NL2SP='tr \015\012 \040\040'
11697f010a93dSmrg  ;;
11698f010a93dSmrg *) # EBCDIC based system
11699f010a93dSmrg  lt_SP2NL='tr \100 \n'
11700f010a93dSmrg  lt_NL2SP='tr \r\n \100\100'
11701f010a93dSmrg  ;;
11702f010a93dSmrgesac
11703f010a93dSmrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
11704f010a93dSmrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
11705f010a93dSmrg])# _LT_CHECK_SHELL_FEATURES
11706b534f209Smrg
11707de78e416Smrg
11708f010a93dSmrg# _LT_PATH_CONVERSION_FUNCTIONS
11709f010a93dSmrg# -----------------------------
11710f010a93dSmrg# Determine what file name conversion functions should be used by
11711f010a93dSmrg# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
11712f010a93dSmrg# for certain cross-compile configurations and native mingw.
11713f010a93dSmrgm4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
11714f010a93dSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
11715f010a93dSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
11716f010a93dSmrgAC_MSG_CHECKING([how to convert $build file names to $host format])
11717f010a93dSmrgAC_CACHE_VAL(lt_cv_to_host_file_cmd,
11718f010a93dSmrg[case $host in
11719f010a93dSmrg  *-*-mingw* )
11720f010a93dSmrg    case $build in
11721f010a93dSmrg      *-*-mingw* ) # actually msys
11722f010a93dSmrg        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
11723f010a93dSmrg        ;;
11724f010a93dSmrg      *-*-cygwin* )
11725f010a93dSmrg        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
11726f010a93dSmrg        ;;
11727f010a93dSmrg      * ) # otherwise, assume *nix
11728f010a93dSmrg        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
11729f010a93dSmrg        ;;
11730f010a93dSmrg    esac
11731f010a93dSmrg    ;;
11732f010a93dSmrg  *-*-cygwin* )
11733f010a93dSmrg    case $build in
11734f010a93dSmrg      *-*-mingw* ) # actually msys
11735f010a93dSmrg        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
11736f010a93dSmrg        ;;
11737f010a93dSmrg      *-*-cygwin* )
11738f010a93dSmrg        lt_cv_to_host_file_cmd=func_convert_file_noop
11739f010a93dSmrg        ;;
11740f010a93dSmrg      * ) # otherwise, assume *nix
11741f010a93dSmrg        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
11742f010a93dSmrg        ;;
11743f010a93dSmrg    esac
11744f010a93dSmrg    ;;
11745f010a93dSmrg  * ) # unhandled hosts (and "normal" native builds)
11746f010a93dSmrg    lt_cv_to_host_file_cmd=func_convert_file_noop
11747f010a93dSmrg    ;;
11748f010a93dSmrgesac
11749f010a93dSmrg])
11750f010a93dSmrgto_host_file_cmd=$lt_cv_to_host_file_cmd
11751f010a93dSmrgAC_MSG_RESULT([$lt_cv_to_host_file_cmd])
11752f010a93dSmrg_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
11753f010a93dSmrg         [0], [convert $build file names to $host format])dnl
11754de78e416Smrg
11755f010a93dSmrgAC_MSG_CHECKING([how to convert $build file names to toolchain format])
11756f010a93dSmrgAC_CACHE_VAL(lt_cv_to_tool_file_cmd,
11757f010a93dSmrg[#assume ordinary cross tools, or native build.
11758f010a93dSmrglt_cv_to_tool_file_cmd=func_convert_file_noop
11759f010a93dSmrgcase $host in
11760f010a93dSmrg  *-*-mingw* )
11761f010a93dSmrg    case $build in
11762f010a93dSmrg      *-*-mingw* ) # actually msys
11763f010a93dSmrg        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
11764f010a93dSmrg        ;;
11765f010a93dSmrg    esac
11766f010a93dSmrg    ;;
11767f010a93dSmrgesac
11768f010a93dSmrg])
11769f010a93dSmrgto_tool_file_cmd=$lt_cv_to_tool_file_cmd
11770f010a93dSmrgAC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
11771f010a93dSmrg_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
11772f010a93dSmrg         [0], [convert $build files to toolchain format])dnl
11773f010a93dSmrg])# _LT_PATH_CONVERSION_FUNCTIONS
11774de78e416Smrg
11775f010a93dSmrg# Helper functions for option handling.                    -*- Autoconf -*-
11776b4d38c65Smrg#
11777f010a93dSmrg#   Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
11778f010a93dSmrg#   Software Foundation, Inc.
11779f010a93dSmrg#   Written by Gary V. Vaughan, 2004
11780b4d38c65Smrg#
11781f010a93dSmrg# This file is free software; the Free Software Foundation gives
11782f010a93dSmrg# unlimited permission to copy and/or distribute it, with or without
11783f010a93dSmrg# modifications, as long as this notice is preserved.
11784de78e416Smrg
11785f010a93dSmrg# serial 8 ltoptions.m4
11786de78e416Smrg
11787f010a93dSmrg# This is to help aclocal find these macros, as it can't see m4_define.
11788f010a93dSmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
1178915fb4814Smrg
11790cf503b78Smrg
11791f010a93dSmrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
11792f010a93dSmrg# ------------------------------------------
11793f010a93dSmrgm4_define([_LT_MANGLE_OPTION],
11794f010a93dSmrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
11795cf503b78Smrg
1179683cab373Smrg
11797f010a93dSmrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
11798f010a93dSmrg# ---------------------------------------
11799f010a93dSmrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
11800f010a93dSmrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
11801f010a93dSmrg# saved as a flag.
11802f010a93dSmrgm4_define([_LT_SET_OPTION],
11803f010a93dSmrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
11804f010a93dSmrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
11805f010a93dSmrg        _LT_MANGLE_DEFUN([$1], [$2]),
11806f010a93dSmrg    [m4_warning([Unknown $1 option '$2'])])[]dnl
11807f010a93dSmrg])
1180883cab373Smrg
1180983cab373Smrg
11810f010a93dSmrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
11811f010a93dSmrg# ------------------------------------------------------------
11812f010a93dSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
11813f010a93dSmrgm4_define([_LT_IF_OPTION],
11814f010a93dSmrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
11815b534f209Smrg
11816b4d38c65Smrg
11817f010a93dSmrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
11818f010a93dSmrg# -------------------------------------------------------
11819f010a93dSmrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
11820f010a93dSmrg# are set.
11821f010a93dSmrgm4_define([_LT_UNLESS_OPTIONS],
11822f010a93dSmrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
11823f010a93dSmrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
11824f010a93dSmrg		      [m4_define([$0_found])])])[]dnl
11825f010a93dSmrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
11826f010a93dSmrg])[]dnl
11827f010a93dSmrg])
11828b4d38c65Smrg
11829b4d38c65Smrg
11830f010a93dSmrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
11831f010a93dSmrg# ----------------------------------------
11832f010a93dSmrg# OPTION-LIST is a space-separated list of Libtool options associated
11833f010a93dSmrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
11834f010a93dSmrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
11835f010a93dSmrg# the unknown option and exit.
11836f010a93dSmrgm4_defun([_LT_SET_OPTIONS],
11837f010a93dSmrg[# Set options
11838f010a93dSmrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
11839f010a93dSmrg    [_LT_SET_OPTION([$1], _LT_Option)])
1184083cab373Smrg
11841f010a93dSmrgm4_if([$1],[LT_INIT],[
11842f010a93dSmrg  dnl
11843f010a93dSmrg  dnl Simply set some default values (i.e off) if boolean options were not
11844f010a93dSmrg  dnl specified:
11845f010a93dSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
11846f010a93dSmrg  ])
11847f010a93dSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
11848f010a93dSmrg  ])
11849f010a93dSmrg  dnl
11850f010a93dSmrg  dnl If no reference was made to various pairs of opposing options, then
11851f010a93dSmrg  dnl we run the default mode handler for the pair.  For example, if neither
11852f010a93dSmrg  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
11853f010a93dSmrg  dnl archives by default:
11854f010a93dSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
11855f010a93dSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
11856f010a93dSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
11857f010a93dSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
11858f010a93dSmrg		   [_LT_ENABLE_FAST_INSTALL])
11859f010a93dSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
11860f010a93dSmrg		   [_LT_WITH_AIX_SONAME([aix])])
11861f010a93dSmrg  ])
11862f010a93dSmrg])# _LT_SET_OPTIONS
1186383cab373Smrg
11864cf503b78Smrg
11865cf503b78Smrg
11866f010a93dSmrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
11867f010a93dSmrg# -----------------------------------------
11868f010a93dSmrgm4_define([_LT_MANGLE_DEFUN],
11869f010a93dSmrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
11870b4d38c65Smrg
11871b4d38c65Smrg
11872f010a93dSmrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
11873f010a93dSmrg# -----------------------------------------------
11874f010a93dSmrgm4_define([LT_OPTION_DEFINE],
11875f010a93dSmrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
11876f010a93dSmrg])# LT_OPTION_DEFINE
11877f010a93dSmrg
11878f010a93dSmrg
11879f010a93dSmrg# dlopen
11880f010a93dSmrg# ------
11881f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
11882f010a93dSmrg])
11883f010a93dSmrg
11884f010a93dSmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
11885f010a93dSmrg[_LT_SET_OPTION([LT_INIT], [dlopen])
11886f010a93dSmrgAC_DIAGNOSE([obsolete],
11887f010a93dSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
11888f010a93dSmrgput the 'dlopen' option into LT_INIT's first parameter.])
11889f010a93dSmrg])
11890de78e416Smrg
11891f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
11892f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
11893de78e416Smrg
11894b4d38c65Smrg
11895f010a93dSmrg# win32-dll
11896f010a93dSmrg# ---------
11897f010a93dSmrg# Declare package support for building win32 dll's.
11898f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
11899f010a93dSmrg[enable_win32_dll=yes
11900b4d38c65Smrg
11901f010a93dSmrgcase $host in
11902f010a93dSmrg*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
11903f010a93dSmrg  AC_CHECK_TOOL(AS, as, false)
11904f010a93dSmrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
11905f010a93dSmrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
11906f010a93dSmrg  ;;
11907f010a93dSmrgesac
11908b4d38c65Smrg
11909f010a93dSmrgtest -z "$AS" && AS=as
11910f010a93dSmrg_LT_DECL([], [AS],      [1], [Assembler program])dnl
11911b4d38c65Smrg
11912f010a93dSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
11913f010a93dSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
1191483cab373Smrg
11915f010a93dSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
11916f010a93dSmrg_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
11917f010a93dSmrg])# win32-dll
1191815fb4814Smrg
11919f010a93dSmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
11920f010a93dSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
11921f010a93dSmrg_LT_SET_OPTION([LT_INIT], [win32-dll])
11922f010a93dSmrgAC_DIAGNOSE([obsolete],
11923f010a93dSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
11924f010a93dSmrgput the 'win32-dll' option into LT_INIT's first parameter.])
11925f010a93dSmrg])
11926de78e416Smrg
11927f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
11928f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
11929f010a93dSmrg
11930f010a93dSmrg
11931f010a93dSmrg# _LT_ENABLE_SHARED([DEFAULT])
11932f010a93dSmrg# ----------------------------
11933f010a93dSmrg# implement the --enable-shared flag, and supports the 'shared' and
11934f010a93dSmrg# 'disable-shared' LT_INIT options.
11935f010a93dSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
11936f010a93dSmrgm4_define([_LT_ENABLE_SHARED],
11937f010a93dSmrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
11938f010a93dSmrgAC_ARG_ENABLE([shared],
11939f010a93dSmrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
11940f010a93dSmrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
11941f010a93dSmrg    [p=${PACKAGE-default}
11942f010a93dSmrg    case $enableval in
11943f010a93dSmrg    yes) enable_shared=yes ;;
11944f010a93dSmrg    no) enable_shared=no ;;
11945f010a93dSmrg    *)
11946f010a93dSmrg      enable_shared=no
11947f010a93dSmrg      # Look at the argument we got.  We use all the common list separators.
11948f010a93dSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
11949f010a93dSmrg      for pkg in $enableval; do
11950f010a93dSmrg	IFS=$lt_save_ifs
11951f010a93dSmrg	if test "X$pkg" = "X$p"; then
11952f010a93dSmrg	  enable_shared=yes
11953f010a93dSmrg	fi
11954f010a93dSmrg      done
11955f010a93dSmrg      IFS=$lt_save_ifs
11956f010a93dSmrg      ;;
11957f010a93dSmrg    esac],
11958f010a93dSmrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
11959f010a93dSmrg
11960f010a93dSmrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
11961f010a93dSmrg	[Whether or not to build shared libraries])
11962f010a93dSmrg])# _LT_ENABLE_SHARED
11963f010a93dSmrg
11964f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
11965f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
11966f010a93dSmrg
11967f010a93dSmrg# Old names:
11968f010a93dSmrgAC_DEFUN([AC_ENABLE_SHARED],
11969f010a93dSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
11970f010a93dSmrg])
11971f010a93dSmrg
11972f010a93dSmrgAC_DEFUN([AC_DISABLE_SHARED],
11973f010a93dSmrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
11974f010a93dSmrg])
11975de78e416Smrg
11976f010a93dSmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
11977f010a93dSmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
11978b534f209Smrg
11979f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
11980f010a93dSmrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
11981f010a93dSmrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
11982b534f209Smrg
1198315fb4814Smrg
11984b4d38c65Smrg
11985f010a93dSmrg# _LT_ENABLE_STATIC([DEFAULT])
11986f010a93dSmrg# ----------------------------
11987f010a93dSmrg# implement the --enable-static flag, and support the 'static' and
11988f010a93dSmrg# 'disable-static' LT_INIT options.
11989f010a93dSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
11990f010a93dSmrgm4_define([_LT_ENABLE_STATIC],
11991f010a93dSmrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
11992f010a93dSmrgAC_ARG_ENABLE([static],
11993f010a93dSmrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
11994f010a93dSmrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
11995f010a93dSmrg    [p=${PACKAGE-default}
11996f010a93dSmrg    case $enableval in
11997f010a93dSmrg    yes) enable_static=yes ;;
11998f010a93dSmrg    no) enable_static=no ;;
11999f010a93dSmrg    *)
12000f010a93dSmrg     enable_static=no
12001f010a93dSmrg      # Look at the argument we got.  We use all the common list separators.
12002f010a93dSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
12003f010a93dSmrg      for pkg in $enableval; do
12004f010a93dSmrg	IFS=$lt_save_ifs
12005f010a93dSmrg	if test "X$pkg" = "X$p"; then
12006f010a93dSmrg	  enable_static=yes
12007f010a93dSmrg	fi
12008f010a93dSmrg      done
12009f010a93dSmrg      IFS=$lt_save_ifs
12010f010a93dSmrg      ;;
12011f010a93dSmrg    esac],
12012f010a93dSmrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
12013b4d38c65Smrg
12014f010a93dSmrg    _LT_DECL([build_old_libs], [enable_static], [0],
12015f010a93dSmrg	[Whether or not to build static libraries])
12016f010a93dSmrg])# _LT_ENABLE_STATIC
120177fe5393cSmrg
12018f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
12019f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
1202015fb4814Smrg
12021f010a93dSmrg# Old names:
12022f010a93dSmrgAC_DEFUN([AC_ENABLE_STATIC],
12023f010a93dSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
12024f010a93dSmrg])
1202515fb4814Smrg
12026f010a93dSmrgAC_DEFUN([AC_DISABLE_STATIC],
12027f010a93dSmrg[_LT_SET_OPTION([LT_INIT], [disable-static])
12028f010a93dSmrg])
12029b4d38c65Smrg
12030f010a93dSmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
12031f010a93dSmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
12032b4d38c65Smrg
12033f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
12034f010a93dSmrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
12035f010a93dSmrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
12036b4d38c65Smrg
12037b4d38c65Smrg
12038b4d38c65Smrg
12039f010a93dSmrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
12040f010a93dSmrg# ----------------------------------
12041f010a93dSmrg# implement the --enable-fast-install flag, and support the 'fast-install'
12042f010a93dSmrg# and 'disable-fast-install' LT_INIT options.
12043f010a93dSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
12044f010a93dSmrgm4_define([_LT_ENABLE_FAST_INSTALL],
12045f010a93dSmrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
12046f010a93dSmrgAC_ARG_ENABLE([fast-install],
12047f010a93dSmrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
12048f010a93dSmrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
12049f010a93dSmrg    [p=${PACKAGE-default}
12050f010a93dSmrg    case $enableval in
12051f010a93dSmrg    yes) enable_fast_install=yes ;;
12052f010a93dSmrg    no) enable_fast_install=no ;;
12053f010a93dSmrg    *)
12054f010a93dSmrg      enable_fast_install=no
12055f010a93dSmrg      # Look at the argument we got.  We use all the common list separators.
12056f010a93dSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
12057f010a93dSmrg      for pkg in $enableval; do
12058f010a93dSmrg	IFS=$lt_save_ifs
12059f010a93dSmrg	if test "X$pkg" = "X$p"; then
12060f010a93dSmrg	  enable_fast_install=yes
12061f010a93dSmrg	fi
12062f010a93dSmrg      done
12063f010a93dSmrg      IFS=$lt_save_ifs
12064f010a93dSmrg      ;;
12065f010a93dSmrg    esac],
12066f010a93dSmrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
12067f010a93dSmrg
12068f010a93dSmrg_LT_DECL([fast_install], [enable_fast_install], [0],
12069f010a93dSmrg	 [Whether or not to optimize for fast installation])dnl
12070f010a93dSmrg])# _LT_ENABLE_FAST_INSTALL
12071f010a93dSmrg
12072f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
12073f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
120747fe5393cSmrg
12075f010a93dSmrg# Old names:
12076f010a93dSmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
12077f010a93dSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
12078f010a93dSmrgAC_DIAGNOSE([obsolete],
12079f010a93dSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
12080f010a93dSmrgthe 'fast-install' option into LT_INIT's first parameter.])
12081f010a93dSmrg])
120827fe5393cSmrg
12083f010a93dSmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
12084f010a93dSmrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
12085f010a93dSmrgAC_DIAGNOSE([obsolete],
12086f010a93dSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
12087f010a93dSmrgthe 'disable-fast-install' option into LT_INIT's first parameter.])
12088f010a93dSmrg])
1208915fb4814Smrg
12090f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
12091f010a93dSmrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
12092f010a93dSmrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
12093b4d38c65Smrg
12094b4d38c65Smrg
12095f010a93dSmrg# _LT_WITH_AIX_SONAME([DEFAULT])
12096f010a93dSmrg# ----------------------------------
12097f010a93dSmrg# implement the --with-aix-soname flag, and support the `aix-soname=aix'
12098f010a93dSmrg# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
12099f010a93dSmrg# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
12100f010a93dSmrgm4_define([_LT_WITH_AIX_SONAME],
12101f010a93dSmrg[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
12102f010a93dSmrgshared_archive_member_spec=
12103f010a93dSmrgcase $host,$enable_shared in
12104f010a93dSmrgpower*-*-aix[[5-9]]*,yes)
12105f010a93dSmrg  AC_MSG_CHECKING([which variant of shared library versioning to provide])
12106f010a93dSmrg  AC_ARG_WITH([aix-soname],
12107f010a93dSmrg    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
12108f010a93dSmrg      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
12109f010a93dSmrg    [case $withval in
12110f010a93dSmrg    aix|svr4|both)
12111f010a93dSmrg      ;;
12112f010a93dSmrg    *)
12113f010a93dSmrg      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
12114f010a93dSmrg      ;;
12115f010a93dSmrg    esac
12116f010a93dSmrg    lt_cv_with_aix_soname=$with_aix_soname],
12117f010a93dSmrg    [AC_CACHE_VAL([lt_cv_with_aix_soname],
12118f010a93dSmrg      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
12119f010a93dSmrg    with_aix_soname=$lt_cv_with_aix_soname])
12120f010a93dSmrg  AC_MSG_RESULT([$with_aix_soname])
12121f010a93dSmrg  if test aix != "$with_aix_soname"; then
12122f010a93dSmrg    # For the AIX way of multilib, we name the shared archive member
12123f010a93dSmrg    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
12124f010a93dSmrg    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
12125f010a93dSmrg    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
12126f010a93dSmrg    # the AIX toolchain works better with OBJECT_MODE set (default 32).
12127f010a93dSmrg    if test 64 = "${OBJECT_MODE-32}"; then
12128f010a93dSmrg      shared_archive_member_spec=shr_64
12129f010a93dSmrg    else
12130f010a93dSmrg      shared_archive_member_spec=shr
12131f010a93dSmrg    fi
12132f010a93dSmrg  fi
12133f010a93dSmrg  ;;
12134f010a93dSmrg*)
12135f010a93dSmrg  with_aix_soname=aix
12136f010a93dSmrg  ;;
12137f010a93dSmrgesac
12138b4d38c65Smrg
12139f010a93dSmrg_LT_DECL([], [shared_archive_member_spec], [0],
12140f010a93dSmrg    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
12141f010a93dSmrg])# _LT_WITH_AIX_SONAME
12142b4d38c65Smrg
12143f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
12144f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
12145f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
12146b4d38c65Smrg
12147b4d38c65Smrg
12148f010a93dSmrg# _LT_WITH_PIC([MODE])
12149f010a93dSmrg# --------------------
12150f010a93dSmrg# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
12151f010a93dSmrg# LT_INIT options.
12152f010a93dSmrg# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
12153f010a93dSmrgm4_define([_LT_WITH_PIC],
12154f010a93dSmrg[AC_ARG_WITH([pic],
12155f010a93dSmrg    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
12156f010a93dSmrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
12157f010a93dSmrg    [lt_p=${PACKAGE-default}
12158f010a93dSmrg    case $withval in
12159f010a93dSmrg    yes|no) pic_mode=$withval ;;
12160f010a93dSmrg    *)
12161f010a93dSmrg      pic_mode=default
12162f010a93dSmrg      # Look at the argument we got.  We use all the common list separators.
12163f010a93dSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
12164f010a93dSmrg      for lt_pkg in $withval; do
12165f010a93dSmrg	IFS=$lt_save_ifs
12166f010a93dSmrg	if test "X$lt_pkg" = "X$lt_p"; then
12167f010a93dSmrg	  pic_mode=yes
12168f010a93dSmrg	fi
12169f010a93dSmrg      done
12170f010a93dSmrg      IFS=$lt_save_ifs
12171f010a93dSmrg      ;;
12172f010a93dSmrg    esac],
12173f010a93dSmrg    [pic_mode=m4_default([$1], [default])])
12174b4d38c65Smrg
12175f010a93dSmrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
12176f010a93dSmrg])# _LT_WITH_PIC
12177b4d38c65Smrg
12178f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
12179f010a93dSmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
121807fe5393cSmrg
12181f010a93dSmrg# Old name:
12182f010a93dSmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
12183f010a93dSmrg[_LT_SET_OPTION([LT_INIT], [pic-only])
12184f010a93dSmrgAC_DIAGNOSE([obsolete],
12185f010a93dSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
12186f010a93dSmrgput the 'pic-only' option into LT_INIT's first parameter.])
12187f010a93dSmrg])
12188b4d38c65Smrg
12189f010a93dSmrgdnl aclocal-1.4 backwards compatibility:
12190f010a93dSmrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
1219115fb4814Smrg
1219215fb4814Smrg
12193f010a93dSmrgm4_define([_LTDL_MODE], [])
12194f010a93dSmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
12195f010a93dSmrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
12196f010a93dSmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
12197f010a93dSmrg		 [m4_define([_LTDL_MODE], [recursive])])
12198f010a93dSmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
12199f010a93dSmrg		 [m4_define([_LTDL_MODE], [subproject])])
1220015fb4814Smrg
12201f010a93dSmrgm4_define([_LTDL_TYPE], [])
12202f010a93dSmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
12203f010a93dSmrg		 [m4_define([_LTDL_TYPE], [installable])])
12204f010a93dSmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
12205f010a93dSmrg		 [m4_define([_LTDL_TYPE], [convenience])])
1220615fb4814Smrg
12207f010a93dSmrg# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
12208f010a93dSmrg#
12209f010a93dSmrg# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software
12210f010a93dSmrg# Foundation, Inc.
12211f010a93dSmrg# Written by Gary V. Vaughan, 2004
12212f010a93dSmrg#
12213f010a93dSmrg# This file is free software; the Free Software Foundation gives
12214f010a93dSmrg# unlimited permission to copy and/or distribute it, with or without
12215f010a93dSmrg# modifications, as long as this notice is preserved.
1221615fb4814Smrg
12217f010a93dSmrg# serial 6 ltsugar.m4
12218b4d38c65Smrg
12219f010a93dSmrg# This is to help aclocal find these macros, as it can't see m4_define.
12220f010a93dSmrgAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
12221b4d38c65Smrg
122227fe5393cSmrg
12223f010a93dSmrg# lt_join(SEP, ARG1, [ARG2...])
12224f010a93dSmrg# -----------------------------
12225f010a93dSmrg# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
12226f010a93dSmrg# associated separator.
12227f010a93dSmrg# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
12228f010a93dSmrg# versions in m4sugar had bugs.
12229f010a93dSmrgm4_define([lt_join],
12230f010a93dSmrg[m4_if([$#], [1], [],
12231f010a93dSmrg       [$#], [2], [[$2]],
12232f010a93dSmrg       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
12233f010a93dSmrgm4_define([_lt_join],
12234f010a93dSmrg[m4_if([$#$2], [2], [],
12235f010a93dSmrg       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
12236b4d38c65Smrg
12237de78e416Smrg
12238f010a93dSmrg# lt_car(LIST)
12239f010a93dSmrg# lt_cdr(LIST)
12240f010a93dSmrg# ------------
12241f010a93dSmrg# Manipulate m4 lists.
12242f010a93dSmrg# These macros are necessary as long as will still need to support
12243f010a93dSmrg# Autoconf-2.59, which quotes differently.
12244f010a93dSmrgm4_define([lt_car], [[$1]])
12245f010a93dSmrgm4_define([lt_cdr],
12246f010a93dSmrg[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
12247f010a93dSmrg       [$#], 1, [],
12248f010a93dSmrg       [m4_dquote(m4_shift($@))])])
12249f010a93dSmrgm4_define([lt_unquote], $1)
1225015fb4814Smrg
12251b4d38c65Smrg
12252f010a93dSmrg# lt_append(MACRO-NAME, STRING, [SEPARATOR])
12253f010a93dSmrg# ------------------------------------------
12254f010a93dSmrg# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
12255f010a93dSmrg# Note that neither SEPARATOR nor STRING are expanded; they are appended
12256f010a93dSmrg# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
12257f010a93dSmrg# No SEPARATOR is output if MACRO-NAME was previously undefined (different
12258f010a93dSmrg# than defined and empty).
12259f010a93dSmrg#
12260f010a93dSmrg# This macro is needed until we can rely on Autoconf 2.62, since earlier
12261f010a93dSmrg# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
12262f010a93dSmrgm4_define([lt_append],
12263f010a93dSmrg[m4_define([$1],
12264f010a93dSmrg	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
1226583cab373Smrg
12266b410ddbeSmrg
1226783cab373Smrg
12268f010a93dSmrg# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
12269f010a93dSmrg# ----------------------------------------------------------
12270f010a93dSmrg# Produce a SEP delimited list of all paired combinations of elements of
12271f010a93dSmrg# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
12272f010a93dSmrg# has the form PREFIXmINFIXSUFFIXn.
12273f010a93dSmrg# Needed until we can rely on m4_combine added in Autoconf 2.62.
12274f010a93dSmrgm4_define([lt_combine],
12275f010a93dSmrg[m4_if(m4_eval([$# > 3]), [1],
12276f010a93dSmrg       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
12277f010a93dSmrg[[m4_foreach([_Lt_prefix], [$2],
12278f010a93dSmrg	     [m4_foreach([_Lt_suffix],
12279f010a93dSmrg		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
12280f010a93dSmrg	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
12281b534f209Smrg
1228215fb4814Smrg
12283f010a93dSmrg# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
12284f010a93dSmrg# -----------------------------------------------------------------------
12285f010a93dSmrg# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
12286f010a93dSmrg# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
12287f010a93dSmrgm4_define([lt_if_append_uniq],
12288f010a93dSmrg[m4_ifdef([$1],
12289f010a93dSmrg	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
12290f010a93dSmrg		 [lt_append([$1], [$2], [$3])$4],
12291f010a93dSmrg		 [$5])],
12292f010a93dSmrg	  [lt_append([$1], [$2], [$3])$4])])
12293b534f209Smrg
12294b4d38c65Smrg
12295f010a93dSmrg# lt_dict_add(DICT, KEY, VALUE)
12296f010a93dSmrg# -----------------------------
12297f010a93dSmrgm4_define([lt_dict_add],
12298f010a93dSmrg[m4_define([$1($2)], [$3])])
12299b534f209Smrg
123007fe5393cSmrg
12301f010a93dSmrg# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
12302f010a93dSmrg# --------------------------------------------
12303f010a93dSmrgm4_define([lt_dict_add_subkey],
12304f010a93dSmrg[m4_define([$1($2:$3)], [$4])])
123057fe5393cSmrg
1230615fb4814Smrg
12307f010a93dSmrg# lt_dict_fetch(DICT, KEY, [SUBKEY])
12308f010a93dSmrg# ----------------------------------
12309f010a93dSmrgm4_define([lt_dict_fetch],
12310f010a93dSmrg[m4_ifval([$3],
12311f010a93dSmrg	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
12312f010a93dSmrg    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
1231315fb4814Smrg
1231415fb4814Smrg
12315f010a93dSmrg# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
12316f010a93dSmrg# -----------------------------------------------------------------
12317f010a93dSmrgm4_define([lt_if_dict_fetch],
12318f010a93dSmrg[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
12319f010a93dSmrg	[$5],
12320f010a93dSmrg    [$6])])
12321de78e416Smrg
123227fe5393cSmrg
12323f010a93dSmrg# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
12324f010a93dSmrg# --------------------------------------------------------------
12325f010a93dSmrgm4_define([lt_dict_filter],
12326f010a93dSmrg[m4_if([$5], [], [],
12327f010a93dSmrg  [lt_join(m4_quote(m4_default([$4], [[, ]])),
12328f010a93dSmrg           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
12329f010a93dSmrg		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
12330f010a93dSmrg])
12331b534f209Smrg
12332f010a93dSmrg# ltversion.m4 -- version numbers			-*- Autoconf -*-
1233315fb4814Smrg#
12334f010a93dSmrg#   Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
12335f010a93dSmrg#   Inc.
12336f010a93dSmrg#   Written by Scott James Remnant, 2004
123377fe5393cSmrg#
12338f010a93dSmrg# This file is free software; the Free Software Foundation gives
12339f010a93dSmrg# unlimited permission to copy and/or distribute it, with or without
12340f010a93dSmrg# modifications, as long as this notice is preserved.
12341b4d38c65Smrg
12342f010a93dSmrg# @configure_input@
12343b4d38c65Smrg
12344f010a93dSmrg# serial 4245 ltversion.m4
12345f010a93dSmrg# This file is part of GNU Libtool
12346cf503b78Smrg
12347f010a93dSmrgm4_define([LT_PACKAGE_VERSION], [2.4.7])
12348f010a93dSmrgm4_define([LT_PACKAGE_REVISION], [2.4.7])
12349f010a93dSmrg
12350f010a93dSmrgAC_DEFUN([LTVERSION_VERSION],
12351f010a93dSmrg[macro_version='2.4.7'
12352f010a93dSmrgmacro_revision='2.4.7'
12353f010a93dSmrg_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
12354f010a93dSmrg_LT_DECL(, macro_revision, 0)
123557fe5393cSmrg])
123567fe5393cSmrg
12357f010a93dSmrg# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
12358b534f209Smrg#
12359f010a93dSmrg#   Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
12360f010a93dSmrg#   Software Foundation, Inc.
12361f010a93dSmrg#   Written by Scott James Remnant, 2004.
123627fe5393cSmrg#
12363f010a93dSmrg# This file is free software; the Free Software Foundation gives
12364f010a93dSmrg# unlimited permission to copy and/or distribute it, with or without
12365f010a93dSmrg# modifications, as long as this notice is preserved.
1236683cab373Smrg
12367f010a93dSmrg# serial 5 lt~obsolete.m4
1236883cab373Smrg
12369f010a93dSmrg# These exist entirely to fool aclocal when bootstrapping libtool.
12370f010a93dSmrg#
12371f010a93dSmrg# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
12372f010a93dSmrg# which have later been changed to m4_define as they aren't part of the
12373f010a93dSmrg# exported API, or moved to Autoconf or Automake where they belong.
12374f010a93dSmrg#
12375f010a93dSmrg# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
12376f010a93dSmrg# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
12377f010a93dSmrg# using a macro with the same name in our local m4/libtool.m4 it'll
12378f010a93dSmrg# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
12379f010a93dSmrg# and doesn't know about Autoconf macros at all.)
12380f010a93dSmrg#
12381f010a93dSmrg# So we provide this file, which has a silly filename so it's always
12382f010a93dSmrg# included after everything else.  This provides aclocal with the
12383f010a93dSmrg# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
12384f010a93dSmrg# because those macros already exist, or will be overwritten later.
12385f010a93dSmrg# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
12386f010a93dSmrg#
12387f010a93dSmrg# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
12388f010a93dSmrg# Yes, that means every name once taken will need to remain here until
12389f010a93dSmrg# we give up compatibility with versions before 1.7, at which point
12390f010a93dSmrg# we need to keep only those names which we still refer to.
1239183cab373Smrg
12392f010a93dSmrg# This is to help aclocal find these macros, as it can't see m4_define.
12393f010a93dSmrgAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
12394f010a93dSmrg
12395f010a93dSmrgm4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
12396f010a93dSmrgm4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
12397f010a93dSmrgm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
12398f010a93dSmrgm4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
12399f010a93dSmrgm4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
12400f010a93dSmrgm4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
12401f010a93dSmrgm4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
12402f010a93dSmrgm4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
12403f010a93dSmrgm4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
12404f010a93dSmrgm4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
12405f010a93dSmrgm4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
12406f010a93dSmrgm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
12407f010a93dSmrgm4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
12408f010a93dSmrgm4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
12409f010a93dSmrgm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
12410f010a93dSmrgm4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
12411f010a93dSmrgm4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
12412f010a93dSmrgm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
12413f010a93dSmrgm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
12414f010a93dSmrgm4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
12415f010a93dSmrgm4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
12416f010a93dSmrgm4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
12417f010a93dSmrgm4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
12418f010a93dSmrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
12419f010a93dSmrgm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
12420f010a93dSmrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
12421f010a93dSmrgm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
12422f010a93dSmrgm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
12423f010a93dSmrgm4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
12424f010a93dSmrgm4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
12425f010a93dSmrgm4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
12426f010a93dSmrgm4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
12427f010a93dSmrgm4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
12428f010a93dSmrgm4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
12429f010a93dSmrgm4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
12430f010a93dSmrgm4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
12431f010a93dSmrgm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
12432f010a93dSmrgm4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
12433f010a93dSmrgm4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
12434f010a93dSmrgm4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
12435f010a93dSmrgm4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
12436f010a93dSmrgm4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
12437f010a93dSmrgm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
12438f010a93dSmrgm4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
12439f010a93dSmrgm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
12440f010a93dSmrgm4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
12441f010a93dSmrgm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
12442f010a93dSmrgm4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
12443f010a93dSmrgm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
12444f010a93dSmrgm4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
12445f010a93dSmrgm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
12446f010a93dSmrgm4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
12447f010a93dSmrgm4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
12448f010a93dSmrgm4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
12449f010a93dSmrgm4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
12450f010a93dSmrgm4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
12451f010a93dSmrgm4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
12452f010a93dSmrgm4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
12453f010a93dSmrgm4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
12454f010a93dSmrgm4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
12455f010a93dSmrgm4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
1245615fb4814Smrg
12457