1e8b4ed9fSmrg# generated automatically by aclocal 1.16.5 -*- Autoconf -*-
2c97b1c41Smrg
3e8b4ed9fSmrg# Copyright (C) 1996-2021 Free Software Foundation, Inc.
445bc899bSmrg
545bc899bSmrg# This file is free software; the Free Software Foundation
645bc899bSmrg# gives unlimited permission to copy and/or distribute it,
745bc899bSmrg# with or without modifications, as long as this notice is preserved.
845bc899bSmrg
945bc899bSmrg# This program is distributed in the hope that it will be useful,
1045bc899bSmrg# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
1145bc899bSmrg# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
1245bc899bSmrg# PARTICULAR PURPOSE.
1345bc899bSmrg
14c97b1c41Smrgm4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
1550f2e948Smrgm4_ifndef([AC_AUTOCONF_VERSION],
1650f2e948Smrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
17e8b4ed9fSmrgm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
18e8b4ed9fSmrg[m4_warning([this file was generated for autoconf 2.71.
1950f2e948SmrgYou have another version of autoconf.  It may work, but is not guaranteed to.
2050f2e948SmrgIf you have problems, you may need to regenerate the build system entirely.
21c97b1c41SmrgTo do so, use the procedure documented by the package, typically 'autoreconf'.])])
2250f2e948Smrg
23e8b4ed9fSmrg# Copyright (C) 2002-2021 Free Software Foundation, Inc.
245592a31fSmrg#
25e8b4ed9fSmrg# This file is free software; the Free Software Foundation
26e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
27e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
28f2408745Smrg
29e8b4ed9fSmrg# AM_AUTOMAKE_VERSION(VERSION)
30e8b4ed9fSmrg# ----------------------------
31e8b4ed9fSmrg# Automake X.Y traces this macro to ensure aclocal.m4 has been
32e8b4ed9fSmrg# generated from the m4 files accompanying Automake X.Y.
33e8b4ed9fSmrg# (This private macro should not be called outside this file.)
34e8b4ed9fSmrgAC_DEFUN([AM_AUTOMAKE_VERSION],
35e8b4ed9fSmrg[am__api_version='1.16'
36e8b4ed9fSmrgdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
37e8b4ed9fSmrgdnl require some minimum version.  Point them to the right macro.
38e8b4ed9fSmrgm4_if([$1], [1.16.5], [],
39e8b4ed9fSmrg      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
405592a31fSmrg])
4145bc899bSmrg
42e8b4ed9fSmrg# _AM_AUTOCONF_VERSION(VERSION)
43e8b4ed9fSmrg# -----------------------------
44e8b4ed9fSmrg# aclocal traces this macro to find the Autoconf version.
45e8b4ed9fSmrg# This is a private macro too.  Using m4_define simplifies
46e8b4ed9fSmrg# the logic in aclocal, which can simply ignore this definition.
47e8b4ed9fSmrgm4_define([_AM_AUTOCONF_VERSION], [])
481ac89addSmrg
49e8b4ed9fSmrg# AM_SET_CURRENT_AUTOMAKE_VERSION
50e8b4ed9fSmrg# -------------------------------
51e8b4ed9fSmrg# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
52e8b4ed9fSmrg# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
53e8b4ed9fSmrgAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
54e8b4ed9fSmrg[AM_AUTOMAKE_VERSION([1.16.5])dnl
55e8b4ed9fSmrgm4_ifndef([AC_AUTOCONF_VERSION],
56e8b4ed9fSmrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
57e8b4ed9fSmrg_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
581ac89addSmrg
59e8b4ed9fSmrg# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
6050f2e948Smrg
61e8b4ed9fSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
62e8b4ed9fSmrg#
63e8b4ed9fSmrg# This file is free software; the Free Software Foundation
64e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
65e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
6650f2e948Smrg
67e8b4ed9fSmrg# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
68e8b4ed9fSmrg# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
69e8b4ed9fSmrg# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
70e8b4ed9fSmrg#
71e8b4ed9fSmrg# Of course, Automake must honor this variable whenever it calls a
72e8b4ed9fSmrg# tool from the auxiliary directory.  The problem is that $srcdir (and
73e8b4ed9fSmrg# therefore $ac_aux_dir as well) can be either absolute or relative,
74e8b4ed9fSmrg# depending on how configure is run.  This is pretty annoying, since
75e8b4ed9fSmrg# it makes $ac_aux_dir quite unusable in subdirectories: in the top
76e8b4ed9fSmrg# source directory, any form will work fine, but in subdirectories a
77e8b4ed9fSmrg# relative path needs to be adjusted first.
78e8b4ed9fSmrg#
79e8b4ed9fSmrg# $ac_aux_dir/missing
80e8b4ed9fSmrg#    fails when called from a subdirectory if $ac_aux_dir is relative
81e8b4ed9fSmrg# $top_srcdir/$ac_aux_dir/missing
82e8b4ed9fSmrg#    fails if $ac_aux_dir is absolute,
83e8b4ed9fSmrg#    fails when called from a subdirectory in a VPATH build with
84e8b4ed9fSmrg#          a relative $ac_aux_dir
85e8b4ed9fSmrg#
86e8b4ed9fSmrg# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
87e8b4ed9fSmrg# are both prefixed by $srcdir.  In an in-source build this is usually
88e8b4ed9fSmrg# harmless because $srcdir is '.', but things will broke when you
89e8b4ed9fSmrg# start a VPATH build or use an absolute $srcdir.
90e8b4ed9fSmrg#
91e8b4ed9fSmrg# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
92e8b4ed9fSmrg# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
93e8b4ed9fSmrg#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
94e8b4ed9fSmrg# and then we would define $MISSING as
95e8b4ed9fSmrg#   MISSING="\${SHELL} $am_aux_dir/missing"
96e8b4ed9fSmrg# This will work as long as MISSING is not called from configure, because
97e8b4ed9fSmrg# unfortunately $(top_srcdir) has no meaning in configure.
98e8b4ed9fSmrg# However there are other variables, like CC, which are often used in
99e8b4ed9fSmrg# configure, and could therefore not use this "fixed" $ac_aux_dir.
100e8b4ed9fSmrg#
101e8b4ed9fSmrg# Another solution, used here, is to always expand $ac_aux_dir to an
102e8b4ed9fSmrg# absolute PATH.  The drawback is that using absolute paths prevent a
103e8b4ed9fSmrg# configured tree to be moved without reconfiguration.
104e8b4ed9fSmrg
105e8b4ed9fSmrgAC_DEFUN([AM_AUX_DIR_EXPAND],
106e8b4ed9fSmrg[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
107e8b4ed9fSmrg# Expand $ac_aux_dir to an absolute path.
108e8b4ed9fSmrgam_aux_dir=`cd "$ac_aux_dir" && pwd`
1095592a31fSmrg])
1105592a31fSmrg
111e8b4ed9fSmrg# AM_CONDITIONAL                                            -*- Autoconf -*-
1125592a31fSmrg
113e8b4ed9fSmrg# Copyright (C) 1997-2021 Free Software Foundation, Inc.
114e8b4ed9fSmrg#
115e8b4ed9fSmrg# This file is free software; the Free Software Foundation
116e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
117e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
1185592a31fSmrg
119e8b4ed9fSmrg# AM_CONDITIONAL(NAME, SHELL-CONDITION)
120e8b4ed9fSmrg# -------------------------------------
121e8b4ed9fSmrg# Define a conditional.
122e8b4ed9fSmrgAC_DEFUN([AM_CONDITIONAL],
123e8b4ed9fSmrg[AC_PREREQ([2.52])dnl
124e8b4ed9fSmrg m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
125e8b4ed9fSmrg       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
126e8b4ed9fSmrgAC_SUBST([$1_TRUE])dnl
127e8b4ed9fSmrgAC_SUBST([$1_FALSE])dnl
128e8b4ed9fSmrg_AM_SUBST_NOTMAKE([$1_TRUE])dnl
129e8b4ed9fSmrg_AM_SUBST_NOTMAKE([$1_FALSE])dnl
130e8b4ed9fSmrgm4_define([_AM_COND_VALUE_$1], [$2])dnl
131e8b4ed9fSmrgif $2; then
132e8b4ed9fSmrg  $1_TRUE=
133e8b4ed9fSmrg  $1_FALSE='#'
134e8b4ed9fSmrgelse
135e8b4ed9fSmrg  $1_TRUE='#'
136e8b4ed9fSmrg  $1_FALSE=
137e8b4ed9fSmrgfi
138e8b4ed9fSmrgAC_CONFIG_COMMANDS_PRE(
139e8b4ed9fSmrg[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
140e8b4ed9fSmrg  AC_MSG_ERROR([[conditional "$1" was never defined.
141e8b4ed9fSmrgUsually this means the macro was only invoked conditionally.]])
142e8b4ed9fSmrgfi])])
1435592a31fSmrg
144e8b4ed9fSmrg# Copyright (C) 1999-2021 Free Software Foundation, Inc.
145e8b4ed9fSmrg#
146e8b4ed9fSmrg# This file is free software; the Free Software Foundation
147e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
148e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
149b40a6198Smrg
15045bc899bSmrg
151e8b4ed9fSmrg# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
152e8b4ed9fSmrg# written in clear, in which case automake, when reading aclocal.m4,
153e8b4ed9fSmrg# will think it sees a *use*, and therefore will trigger all it's
154e8b4ed9fSmrg# C support machinery.  Also note that it means that autoscan, seeing
155e8b4ed9fSmrg# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
15645bc899bSmrg
15745bc899bSmrg
158e8b4ed9fSmrg# _AM_DEPENDENCIES(NAME)
159e8b4ed9fSmrg# ----------------------
160e8b4ed9fSmrg# See how the compiler implements dependency checking.
161e8b4ed9fSmrg# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
162e8b4ed9fSmrg# We try a few techniques and use that to set a single cache variable.
163e8b4ed9fSmrg#
164e8b4ed9fSmrg# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
165e8b4ed9fSmrg# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
166e8b4ed9fSmrg# dependency, and given that the user is not expected to run this macro,
167e8b4ed9fSmrg# just rely on AC_PROG_CC.
168e8b4ed9fSmrgAC_DEFUN([_AM_DEPENDENCIES],
169e8b4ed9fSmrg[AC_REQUIRE([AM_SET_DEPDIR])dnl
170e8b4ed9fSmrgAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
171e8b4ed9fSmrgAC_REQUIRE([AM_MAKE_INCLUDE])dnl
172e8b4ed9fSmrgAC_REQUIRE([AM_DEP_TRACK])dnl
17350f2e948Smrg
174e8b4ed9fSmrgm4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
175e8b4ed9fSmrg      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
176e8b4ed9fSmrg      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
177e8b4ed9fSmrg      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
178e8b4ed9fSmrg      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
179e8b4ed9fSmrg      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
180e8b4ed9fSmrg                    [depcc="$$1"   am_compiler_list=])
18150f2e948Smrg
182e8b4ed9fSmrgAC_CACHE_CHECK([dependency style of $depcc],
183e8b4ed9fSmrg               [am_cv_$1_dependencies_compiler_type],
184e8b4ed9fSmrg[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
185e8b4ed9fSmrg  # We make a subdir and do the tests there.  Otherwise we can end up
186e8b4ed9fSmrg  # making bogus files that we don't know about and never remove.  For
187e8b4ed9fSmrg  # instance it was reported that on HP-UX the gcc test will end up
188e8b4ed9fSmrg  # making a dummy file named 'D' -- because '-MD' means "put the output
189e8b4ed9fSmrg  # in D".
190e8b4ed9fSmrg  rm -rf conftest.dir
191e8b4ed9fSmrg  mkdir conftest.dir
192e8b4ed9fSmrg  # Copy depcomp to subdir because otherwise we won't find it if we're
193e8b4ed9fSmrg  # using a relative directory.
194e8b4ed9fSmrg  cp "$am_depcomp" conftest.dir
195e8b4ed9fSmrg  cd conftest.dir
196e8b4ed9fSmrg  # We will build objects and dependencies in a subdirectory because
197e8b4ed9fSmrg  # it helps to detect inapplicable dependency modes.  For instance
198e8b4ed9fSmrg  # both Tru64's cc and ICC support -MD to output dependencies as a
199e8b4ed9fSmrg  # side effect of compilation, but ICC will put the dependencies in
200e8b4ed9fSmrg  # the current directory while Tru64 will put them in the object
201e8b4ed9fSmrg  # directory.
202e8b4ed9fSmrg  mkdir sub
2035592a31fSmrg
204e8b4ed9fSmrg  am_cv_$1_dependencies_compiler_type=none
205e8b4ed9fSmrg  if test "$am_compiler_list" = ""; then
206e8b4ed9fSmrg     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
207e8b4ed9fSmrg  fi
208e8b4ed9fSmrg  am__universal=false
209e8b4ed9fSmrg  m4_case([$1], [CC],
210e8b4ed9fSmrg    [case " $depcc " in #(
211e8b4ed9fSmrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
212e8b4ed9fSmrg     esac],
213e8b4ed9fSmrg    [CXX],
214e8b4ed9fSmrg    [case " $depcc " in #(
215e8b4ed9fSmrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
216e8b4ed9fSmrg     esac])
2175592a31fSmrg
218e8b4ed9fSmrg  for depmode in $am_compiler_list; do
219e8b4ed9fSmrg    # Setup a source with many dependencies, because some compilers
220e8b4ed9fSmrg    # like to wrap large dependency lists on column 80 (with \), and
221e8b4ed9fSmrg    # we should not choose a depcomp mode which is confused by this.
222e8b4ed9fSmrg    #
223e8b4ed9fSmrg    # We need to recreate these files for each test, as the compiler may
224e8b4ed9fSmrg    # overwrite some of them when testing with obscure command lines.
225e8b4ed9fSmrg    # This happens at least with the AIX C compiler.
226e8b4ed9fSmrg    : > sub/conftest.c
227e8b4ed9fSmrg    for i in 1 2 3 4 5 6; do
228e8b4ed9fSmrg      echo '#include "conftst'$i'.h"' >> sub/conftest.c
229e8b4ed9fSmrg      # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
230e8b4ed9fSmrg      # Solaris 10 /bin/sh.
231e8b4ed9fSmrg      echo '/* dummy */' > sub/conftst$i.h
232f2408745Smrg    done
233e8b4ed9fSmrg    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
234f2408745Smrg
235e8b4ed9fSmrg    # We check with '-c' and '-o' for the sake of the "dashmstdout"
236e8b4ed9fSmrg    # mode.  It turns out that the SunPro C++ compiler does not properly
237e8b4ed9fSmrg    # handle '-M -o', and we need to detect this.  Also, some Intel
238e8b4ed9fSmrg    # versions had trouble with output in subdirs.
239e8b4ed9fSmrg    am__obj=sub/conftest.${OBJEXT-o}
240e8b4ed9fSmrg    am__minus_obj="-o $am__obj"
241e8b4ed9fSmrg    case $depmode in
242e8b4ed9fSmrg    gcc)
243e8b4ed9fSmrg      # This depmode causes a compiler race in universal mode.
244e8b4ed9fSmrg      test "$am__universal" = false || continue
245e8b4ed9fSmrg      ;;
246e8b4ed9fSmrg    nosideeffect)
247e8b4ed9fSmrg      # After this tag, mechanisms are not by side-effect, so they'll
248e8b4ed9fSmrg      # only be used when explicitly requested.
249e8b4ed9fSmrg      if test "x$enable_dependency_tracking" = xyes; then
250e8b4ed9fSmrg	continue
251e8b4ed9fSmrg      else
252e8b4ed9fSmrg	break
253e8b4ed9fSmrg      fi
254e8b4ed9fSmrg      ;;
255e8b4ed9fSmrg    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
256e8b4ed9fSmrg      # This compiler won't grok '-c -o', but also, the minuso test has
257e8b4ed9fSmrg      # not run yet.  These depmodes are late enough in the game, and
258e8b4ed9fSmrg      # so weak that their functioning should not be impacted.
259e8b4ed9fSmrg      am__obj=conftest.${OBJEXT-o}
260e8b4ed9fSmrg      am__minus_obj=
261e8b4ed9fSmrg      ;;
262e8b4ed9fSmrg    none) break ;;
263e8b4ed9fSmrg    esac
264e8b4ed9fSmrg    if depmode=$depmode \
265e8b4ed9fSmrg       source=sub/conftest.c object=$am__obj \
266e8b4ed9fSmrg       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
267e8b4ed9fSmrg       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
268e8b4ed9fSmrg         >/dev/null 2>conftest.err &&
269e8b4ed9fSmrg       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
270e8b4ed9fSmrg       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
271e8b4ed9fSmrg       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
272e8b4ed9fSmrg       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
273e8b4ed9fSmrg      # icc doesn't choke on unknown options, it will just issue warnings
274e8b4ed9fSmrg      # or remarks (even with -Werror).  So we grep stderr for any message
275e8b4ed9fSmrg      # that says an option was ignored or not supported.
276e8b4ed9fSmrg      # When given -MP, icc 7.0 and 7.1 complain thusly:
277e8b4ed9fSmrg      #   icc: Command line warning: ignoring option '-M'; no argument required
278e8b4ed9fSmrg      # The diagnosis changed in icc 8.0:
279e8b4ed9fSmrg      #   icc: Command line remark: option '-MP' not supported
280e8b4ed9fSmrg      if (grep 'ignoring option' conftest.err ||
281e8b4ed9fSmrg          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
282e8b4ed9fSmrg        am_cv_$1_dependencies_compiler_type=$depmode
283e8b4ed9fSmrg        break
284e8b4ed9fSmrg      fi
285e8b4ed9fSmrg    fi
286e8b4ed9fSmrg  done
287f2408745Smrg
288e8b4ed9fSmrg  cd ..
289e8b4ed9fSmrg  rm -rf conftest.dir
290e8b4ed9fSmrgelse
291e8b4ed9fSmrg  am_cv_$1_dependencies_compiler_type=none
292e8b4ed9fSmrgfi
293e8b4ed9fSmrg])
294e8b4ed9fSmrgAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
295e8b4ed9fSmrgAM_CONDITIONAL([am__fastdep$1], [
296e8b4ed9fSmrg  test "x$enable_dependency_tracking" != xno \
297e8b4ed9fSmrg  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
2985592a31fSmrg])
2995592a31fSmrg
3005592a31fSmrg
301e8b4ed9fSmrg# AM_SET_DEPDIR
302e8b4ed9fSmrg# -------------
303e8b4ed9fSmrg# Choose a directory name for dependency files.
304e8b4ed9fSmrg# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
305e8b4ed9fSmrgAC_DEFUN([AM_SET_DEPDIR],
306e8b4ed9fSmrg[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
307e8b4ed9fSmrgAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
308e8b4ed9fSmrg])
309b40a6198Smrg
3105592a31fSmrg
311e8b4ed9fSmrg# AM_DEP_TRACK
312e8b4ed9fSmrg# ------------
313e8b4ed9fSmrgAC_DEFUN([AM_DEP_TRACK],
314e8b4ed9fSmrg[AC_ARG_ENABLE([dependency-tracking], [dnl
315e8b4ed9fSmrgAS_HELP_STRING(
316e8b4ed9fSmrg  [--enable-dependency-tracking],
317e8b4ed9fSmrg  [do not reject slow dependency extractors])
318e8b4ed9fSmrgAS_HELP_STRING(
319e8b4ed9fSmrg  [--disable-dependency-tracking],
320e8b4ed9fSmrg  [speeds up one-time build])])
321e8b4ed9fSmrgif test "x$enable_dependency_tracking" != xno; then
322e8b4ed9fSmrg  am_depcomp="$ac_aux_dir/depcomp"
323e8b4ed9fSmrg  AMDEPBACKSLASH='\'
324e8b4ed9fSmrg  am__nodep='_no'
3255592a31fSmrgfi
326e8b4ed9fSmrgAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
327e8b4ed9fSmrgAC_SUBST([AMDEPBACKSLASH])dnl
328e8b4ed9fSmrg_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
329e8b4ed9fSmrgAC_SUBST([am__nodep])dnl
330e8b4ed9fSmrg_AM_SUBST_NOTMAKE([am__nodep])dnl
3315592a31fSmrg])
33245bc899bSmrg
333e8b4ed9fSmrg# Generate code to set up dependency tracking.              -*- Autoconf -*-
3345592a31fSmrg
335e8b4ed9fSmrg# Copyright (C) 1999-2021 Free Software Foundation, Inc.
336e8b4ed9fSmrg#
337e8b4ed9fSmrg# This file is free software; the Free Software Foundation
338e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
339e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
34045bc899bSmrg
341e8b4ed9fSmrg# _AM_OUTPUT_DEPENDENCY_COMMANDS
342e8b4ed9fSmrg# ------------------------------
343e8b4ed9fSmrgAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
344e8b4ed9fSmrg[{
345e8b4ed9fSmrg  # Older Autoconf quotes --file arguments for eval, but not when files
346e8b4ed9fSmrg  # are listed without --file.  Let's play safe and only enable the eval
347e8b4ed9fSmrg  # if we detect the quoting.
348e8b4ed9fSmrg  # TODO: see whether this extra hack can be removed once we start
349e8b4ed9fSmrg  # requiring Autoconf 2.70 or later.
350e8b4ed9fSmrg  AS_CASE([$CONFIG_FILES],
351e8b4ed9fSmrg          [*\'*], [eval set x "$CONFIG_FILES"],
352e8b4ed9fSmrg          [*], [set x $CONFIG_FILES])
353e8b4ed9fSmrg  shift
354e8b4ed9fSmrg  # Used to flag and report bootstrapping failures.
355e8b4ed9fSmrg  am_rc=0
356e8b4ed9fSmrg  for am_mf
357e8b4ed9fSmrg  do
358e8b4ed9fSmrg    # Strip MF so we end up with the name of the file.
359e8b4ed9fSmrg    am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
360e8b4ed9fSmrg    # Check whether this is an Automake generated Makefile which includes
361e8b4ed9fSmrg    # dependency-tracking related rules and includes.
362e8b4ed9fSmrg    # Grep'ing the whole file directly is not great: AIX grep has a line
363e8b4ed9fSmrg    # limit of 2048, but all sed's we know have understand at least 4000.
364e8b4ed9fSmrg    sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
365e8b4ed9fSmrg      || continue
366e8b4ed9fSmrg    am_dirpart=`AS_DIRNAME(["$am_mf"])`
367e8b4ed9fSmrg    am_filepart=`AS_BASENAME(["$am_mf"])`
368e8b4ed9fSmrg    AM_RUN_LOG([cd "$am_dirpart" \
369e8b4ed9fSmrg      && sed -e '/# am--include-marker/d' "$am_filepart" \
370e8b4ed9fSmrg        | $MAKE -f - am--depfiles]) || am_rc=$?
371e8b4ed9fSmrg  done
372e8b4ed9fSmrg  if test $am_rc -ne 0; then
373e8b4ed9fSmrg    AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
374e8b4ed9fSmrg    for automatic dependency tracking.  If GNU make was not used, consider
375e8b4ed9fSmrg    re-running the configure script with MAKE="gmake" (or whatever is
376e8b4ed9fSmrg    necessary).  You can also try re-running configure with the
377e8b4ed9fSmrg    '--disable-dependency-tracking' option to at least be able to build
378e8b4ed9fSmrg    the package (albeit without support for automatic dependency tracking).])
37945bc899bSmrg  fi
380e8b4ed9fSmrg  AS_UNSET([am_dirpart])
381e8b4ed9fSmrg  AS_UNSET([am_filepart])
382e8b4ed9fSmrg  AS_UNSET([am_mf])
383e8b4ed9fSmrg  AS_UNSET([am_rc])
384e8b4ed9fSmrg  rm -f conftest-deps.mk
385e8b4ed9fSmrg}
386e8b4ed9fSmrg])# _AM_OUTPUT_DEPENDENCY_COMMANDS
3873a925b30Smrg
38845bc899bSmrg
389e8b4ed9fSmrg# AM_OUTPUT_DEPENDENCY_COMMANDS
390e8b4ed9fSmrg# -----------------------------
391e8b4ed9fSmrg# This macro should only be invoked once -- use via AC_REQUIRE.
392e8b4ed9fSmrg#
393e8b4ed9fSmrg# This code is only required when automatic dependency tracking is enabled.
394e8b4ed9fSmrg# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
395e8b4ed9fSmrg# order to bootstrap the dependency handling code.
396e8b4ed9fSmrgAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
397e8b4ed9fSmrg[AC_CONFIG_COMMANDS([depfiles],
398e8b4ed9fSmrg     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
399e8b4ed9fSmrg     [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
40045bc899bSmrg
401e8b4ed9fSmrg# Do all the work for Automake.                             -*- Autoconf -*-
40245bc899bSmrg
403e8b4ed9fSmrg# Copyright (C) 1996-2021 Free Software Foundation, Inc.
404e8b4ed9fSmrg#
405e8b4ed9fSmrg# This file is free software; the Free Software Foundation
406e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
407e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
40845bc899bSmrg
409e8b4ed9fSmrg# This macro actually does too much.  Some checks are only needed if
410e8b4ed9fSmrg# your package does certain things.  But this isn't really a big deal.
41150f2e948Smrg
412e8b4ed9fSmrgdnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
413e8b4ed9fSmrgm4_define([AC_PROG_CC],
414e8b4ed9fSmrgm4_defn([AC_PROG_CC])
415e8b4ed9fSmrg[_AM_PROG_CC_C_O
416e8b4ed9fSmrg])
41750f2e948Smrg
418e8b4ed9fSmrg# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
419e8b4ed9fSmrg# AM_INIT_AUTOMAKE([OPTIONS])
420e8b4ed9fSmrg# -----------------------------------------------
421e8b4ed9fSmrg# The call with PACKAGE and VERSION arguments is the old style
422e8b4ed9fSmrg# call (pre autoconf-2.50), which is being phased out.  PACKAGE
423e8b4ed9fSmrg# and VERSION should now be passed to AC_INIT and removed from
424e8b4ed9fSmrg# the call to AM_INIT_AUTOMAKE.
425e8b4ed9fSmrg# We support both call styles for the transition.  After
426e8b4ed9fSmrg# the next Automake release, Autoconf can make the AC_INIT
427e8b4ed9fSmrg# arguments mandatory, and then we can depend on a new Autoconf
428e8b4ed9fSmrg# release and drop the old call support.
429e8b4ed9fSmrgAC_DEFUN([AM_INIT_AUTOMAKE],
430e8b4ed9fSmrg[AC_PREREQ([2.65])dnl
431e8b4ed9fSmrgm4_ifdef([_$0_ALREADY_INIT],
432e8b4ed9fSmrg  [m4_fatal([$0 expanded multiple times
433e8b4ed9fSmrg]m4_defn([_$0_ALREADY_INIT]))],
434e8b4ed9fSmrg  [m4_define([_$0_ALREADY_INIT], m4_expansion_stack)])dnl
435e8b4ed9fSmrgdnl Autoconf wants to disallow AM_ names.  We explicitly allow
436e8b4ed9fSmrgdnl the ones we care about.
437e8b4ed9fSmrgm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
438e8b4ed9fSmrgAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
439e8b4ed9fSmrgAC_REQUIRE([AC_PROG_INSTALL])dnl
440e8b4ed9fSmrgif test "`cd $srcdir && pwd`" != "`pwd`"; then
441e8b4ed9fSmrg  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
442e8b4ed9fSmrg  # is not polluted with repeated "-I."
443e8b4ed9fSmrg  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
444e8b4ed9fSmrg  # test to see if srcdir already configured
445e8b4ed9fSmrg  if test -f $srcdir/config.status; then
446e8b4ed9fSmrg    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
447e8b4ed9fSmrg  fi
448e8b4ed9fSmrgfi
449b40a6198Smrg
450e8b4ed9fSmrg# test whether we have cygpath
451e8b4ed9fSmrgif test -z "$CYGPATH_W"; then
452e8b4ed9fSmrg  if (cygpath --version) >/dev/null 2>/dev/null; then
453e8b4ed9fSmrg    CYGPATH_W='cygpath -w'
454e8b4ed9fSmrg  else
455e8b4ed9fSmrg    CYGPATH_W=echo
456e8b4ed9fSmrg  fi
457e8b4ed9fSmrgfi
458e8b4ed9fSmrgAC_SUBST([CYGPATH_W])
459b40a6198Smrg
460e8b4ed9fSmrg# Define the identity of the package.
461e8b4ed9fSmrgdnl Distinguish between old-style and new-style calls.
462e8b4ed9fSmrgm4_ifval([$2],
463e8b4ed9fSmrg[AC_DIAGNOSE([obsolete],
464e8b4ed9fSmrg             [$0: two- and three-arguments forms are deprecated.])
465e8b4ed9fSmrgm4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
466e8b4ed9fSmrg AC_SUBST([PACKAGE], [$1])dnl
467e8b4ed9fSmrg AC_SUBST([VERSION], [$2])],
468e8b4ed9fSmrg[_AM_SET_OPTIONS([$1])dnl
469e8b4ed9fSmrgdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
470e8b4ed9fSmrgm4_if(
471e8b4ed9fSmrg  m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
472e8b4ed9fSmrg  [ok:ok],,
473e8b4ed9fSmrg  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
474e8b4ed9fSmrg AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
475e8b4ed9fSmrg AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
476b40a6198Smrg
477e8b4ed9fSmrg_AM_IF_OPTION([no-define],,
478e8b4ed9fSmrg[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
479e8b4ed9fSmrg AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
480b40a6198Smrg
481e8b4ed9fSmrg# Some tools Automake needs.
482e8b4ed9fSmrgAC_REQUIRE([AM_SANITY_CHECK])dnl
483e8b4ed9fSmrgAC_REQUIRE([AC_ARG_PROGRAM])dnl
484e8b4ed9fSmrgAM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
485e8b4ed9fSmrgAM_MISSING_PROG([AUTOCONF], [autoconf])
486e8b4ed9fSmrgAM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
487e8b4ed9fSmrgAM_MISSING_PROG([AUTOHEADER], [autoheader])
488e8b4ed9fSmrgAM_MISSING_PROG([MAKEINFO], [makeinfo])
489e8b4ed9fSmrgAC_REQUIRE([AM_PROG_INSTALL_SH])dnl
490e8b4ed9fSmrgAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
491e8b4ed9fSmrgAC_REQUIRE([AC_PROG_MKDIR_P])dnl
492e8b4ed9fSmrg# For better backward compatibility.  To be removed once Automake 1.9.x
493e8b4ed9fSmrg# dies out for good.  For more background, see:
494e8b4ed9fSmrg# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
495e8b4ed9fSmrg# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
496e8b4ed9fSmrgAC_SUBST([mkdir_p], ['$(MKDIR_P)'])
497e8b4ed9fSmrg# We need awk for the "check" target (and possibly the TAP driver).  The
498e8b4ed9fSmrg# system "awk" is bad on some platforms.
499e8b4ed9fSmrgAC_REQUIRE([AC_PROG_AWK])dnl
500e8b4ed9fSmrgAC_REQUIRE([AC_PROG_MAKE_SET])dnl
501e8b4ed9fSmrgAC_REQUIRE([AM_SET_LEADING_DOT])dnl
502e8b4ed9fSmrg_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
503e8b4ed9fSmrg	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
504e8b4ed9fSmrg			     [_AM_PROG_TAR([v7])])])
505e8b4ed9fSmrg_AM_IF_OPTION([no-dependencies],,
506e8b4ed9fSmrg[AC_PROVIDE_IFELSE([AC_PROG_CC],
507e8b4ed9fSmrg		  [_AM_DEPENDENCIES([CC])],
508e8b4ed9fSmrg		  [m4_define([AC_PROG_CC],
509e8b4ed9fSmrg			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
510e8b4ed9fSmrgAC_PROVIDE_IFELSE([AC_PROG_CXX],
511e8b4ed9fSmrg		  [_AM_DEPENDENCIES([CXX])],
512e8b4ed9fSmrg		  [m4_define([AC_PROG_CXX],
513e8b4ed9fSmrg			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
514e8b4ed9fSmrgAC_PROVIDE_IFELSE([AC_PROG_OBJC],
515e8b4ed9fSmrg		  [_AM_DEPENDENCIES([OBJC])],
516e8b4ed9fSmrg		  [m4_define([AC_PROG_OBJC],
517e8b4ed9fSmrg			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
518e8b4ed9fSmrgAC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
519e8b4ed9fSmrg		  [_AM_DEPENDENCIES([OBJCXX])],
520e8b4ed9fSmrg		  [m4_define([AC_PROG_OBJCXX],
521e8b4ed9fSmrg			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
522b40a6198Smrg])
523e8b4ed9fSmrg# Variables for tags utilities; see am/tags.am
524e8b4ed9fSmrgif test -z "$CTAGS"; then
525e8b4ed9fSmrg  CTAGS=ctags
526e8b4ed9fSmrgfi
527e8b4ed9fSmrgAC_SUBST([CTAGS])
528e8b4ed9fSmrgif test -z "$ETAGS"; then
529e8b4ed9fSmrg  ETAGS=etags
530e8b4ed9fSmrgfi
531e8b4ed9fSmrgAC_SUBST([ETAGS])
532e8b4ed9fSmrgif test -z "$CSCOPE"; then
533e8b4ed9fSmrg  CSCOPE=cscope
534e8b4ed9fSmrgfi
535e8b4ed9fSmrgAC_SUBST([CSCOPE])
536b40a6198Smrg
537e8b4ed9fSmrgAC_REQUIRE([AM_SILENT_RULES])dnl
538e8b4ed9fSmrgdnl The testsuite driver may need to know about EXEEXT, so add the
539e8b4ed9fSmrgdnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
540e8b4ed9fSmrgdnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
541e8b4ed9fSmrgAC_CONFIG_COMMANDS_PRE(dnl
542e8b4ed9fSmrg[m4_provide_if([_AM_COMPILER_EXEEXT],
543e8b4ed9fSmrg  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
5445592a31fSmrg
545e8b4ed9fSmrg# POSIX will say in a future version that running "rm -f" with no argument
546e8b4ed9fSmrg# is OK; and we want to be able to make that assumption in our Makefile
547e8b4ed9fSmrg# recipes.  So use an aggressive probe to check that the usage we want is
548e8b4ed9fSmrg# actually supported "in the wild" to an acceptable degree.
549e8b4ed9fSmrg# See automake bug#10828.
550e8b4ed9fSmrg# To make any issue more visible, cause the running configure to be aborted
551e8b4ed9fSmrg# by default if the 'rm' program in use doesn't match our expectations; the
552e8b4ed9fSmrg# user can still override this though.
553e8b4ed9fSmrgif rm -f && rm -fr && rm -rf; then : OK; else
554e8b4ed9fSmrg  cat >&2 <<'END'
555e8b4ed9fSmrgOops!
5565592a31fSmrg
557e8b4ed9fSmrgYour 'rm' program seems unable to run without file operands specified
558e8b4ed9fSmrgon the command line, even when the '-f' option is present.  This is contrary
559e8b4ed9fSmrgto the behaviour of most rm programs out there, and not conforming with
560e8b4ed9fSmrgthe upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
5615592a31fSmrg
562e8b4ed9fSmrgPlease tell bug-automake@gnu.org about your system, including the value
563e8b4ed9fSmrgof your $PATH and any error possibly output before this message.  This
564e8b4ed9fSmrgcan help us improve future automake versions.
5655592a31fSmrg
566e8b4ed9fSmrgEND
567e8b4ed9fSmrg  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
568e8b4ed9fSmrg    echo 'Configuration will proceed anyway, since you have set the' >&2
569e8b4ed9fSmrg    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
570e8b4ed9fSmrg    echo >&2
571e8b4ed9fSmrg  else
572e8b4ed9fSmrg    cat >&2 <<'END'
573e8b4ed9fSmrgAborting the configuration process, to ensure you take notice of the issue.
5745592a31fSmrg
575e8b4ed9fSmrgYou can download and install GNU coreutils to get an 'rm' implementation
576e8b4ed9fSmrgthat behaves properly: <https://www.gnu.org/software/coreutils/>.
5775592a31fSmrg
578e8b4ed9fSmrgIf you want to complete the configuration process using your problematic
579e8b4ed9fSmrg'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
580e8b4ed9fSmrgto "yes", and re-run configure.
5815592a31fSmrg
582e8b4ed9fSmrgEND
583e8b4ed9fSmrg    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
584e8b4ed9fSmrg  fi
585e8b4ed9fSmrgfi
586e8b4ed9fSmrgdnl The trailing newline in this macro's definition is deliberate, for
587e8b4ed9fSmrgdnl backward compatibility and to allow trailing 'dnl'-style comments
588e8b4ed9fSmrgdnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
5895592a31fSmrg])
5905592a31fSmrg
591e8b4ed9fSmrgdnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
592e8b4ed9fSmrgdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
593e8b4ed9fSmrgdnl mangled by Autoconf and run in a shell conditional statement.
594e8b4ed9fSmrgm4_define([_AC_COMPILER_EXEEXT],
595e8b4ed9fSmrgm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
5965592a31fSmrg
597e8b4ed9fSmrg# When config.status generates a header, we must update the stamp-h file.
598e8b4ed9fSmrg# This file resides in the same directory as the config header
599e8b4ed9fSmrg# that is generated.  The stamp files are numbered to have different names.
6005592a31fSmrg
601e8b4ed9fSmrg# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
602e8b4ed9fSmrg# loop where config.status creates the headers, so we can generate
603e8b4ed9fSmrg# our stamp files there.
604e8b4ed9fSmrgAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
605e8b4ed9fSmrg[# Compute $1's index in $config_headers.
606e8b4ed9fSmrg_am_arg=$1
607e8b4ed9fSmrg_am_stamp_count=1
608e8b4ed9fSmrgfor _am_header in $config_headers :; do
609e8b4ed9fSmrg  case $_am_header in
610e8b4ed9fSmrg    $_am_arg | $_am_arg:* )
611e8b4ed9fSmrg      break ;;
612e8b4ed9fSmrg    * )
613e8b4ed9fSmrg      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
614e8b4ed9fSmrg  esac
615e8b4ed9fSmrgdone
616e8b4ed9fSmrgecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
6175592a31fSmrg
618e8b4ed9fSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
619e8b4ed9fSmrg#
620e8b4ed9fSmrg# This file is free software; the Free Software Foundation
621e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
622e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
6235592a31fSmrg
624e8b4ed9fSmrg# AM_PROG_INSTALL_SH
625e8b4ed9fSmrg# ------------------
626e8b4ed9fSmrg# Define $install_sh.
627e8b4ed9fSmrgAC_DEFUN([AM_PROG_INSTALL_SH],
628e8b4ed9fSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
629e8b4ed9fSmrgif test x"${install_sh+set}" != xset; then
630e8b4ed9fSmrg  case $am_aux_dir in
631e8b4ed9fSmrg  *\ * | *\	*)
632e8b4ed9fSmrg    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
633e8b4ed9fSmrg  *)
634e8b4ed9fSmrg    install_sh="\${SHELL} $am_aux_dir/install-sh"
635e8b4ed9fSmrg  esac
636e8b4ed9fSmrgfi
637e8b4ed9fSmrgAC_SUBST([install_sh])])
6385592a31fSmrg
639e8b4ed9fSmrg# Copyright (C) 2003-2021 Free Software Foundation, Inc.
640e8b4ed9fSmrg#
641e8b4ed9fSmrg# This file is free software; the Free Software Foundation
642e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
643e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
6445592a31fSmrg
645e8b4ed9fSmrg# Check whether the underlying file-system supports filenames
646e8b4ed9fSmrg# with a leading dot.  For instance MS-DOS doesn't.
647e8b4ed9fSmrgAC_DEFUN([AM_SET_LEADING_DOT],
648e8b4ed9fSmrg[rm -rf .tst 2>/dev/null
649e8b4ed9fSmrgmkdir .tst 2>/dev/null
650e8b4ed9fSmrgif test -d .tst; then
651e8b4ed9fSmrg  am__leading_dot=.
652e8b4ed9fSmrgelse
653e8b4ed9fSmrg  am__leading_dot=_
654e8b4ed9fSmrgfi
655e8b4ed9fSmrgrmdir .tst 2>/dev/null
656e8b4ed9fSmrgAC_SUBST([am__leading_dot])])
6575592a31fSmrg
658e8b4ed9fSmrg# Check to see how 'make' treats includes.	            -*- Autoconf -*-
6595592a31fSmrg
660e8b4ed9fSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
661e8b4ed9fSmrg#
662e8b4ed9fSmrg# This file is free software; the Free Software Foundation
663e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
664e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
6655592a31fSmrg
666e8b4ed9fSmrg# AM_MAKE_INCLUDE()
667e8b4ed9fSmrg# -----------------
668e8b4ed9fSmrg# Check whether make has an 'include' directive that can support all
669e8b4ed9fSmrg# the idioms we need for our automatic dependency tracking code.
670e8b4ed9fSmrgAC_DEFUN([AM_MAKE_INCLUDE],
671e8b4ed9fSmrg[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
672e8b4ed9fSmrgcat > confinc.mk << 'END'
673e8b4ed9fSmrgam__doit:
674e8b4ed9fSmrg	@echo this is the am__doit target >confinc.out
675e8b4ed9fSmrg.PHONY: am__doit
676e8b4ed9fSmrgEND
677e8b4ed9fSmrgam__include="#"
678e8b4ed9fSmrgam__quote=
679e8b4ed9fSmrg# BSD make does it like this.
680e8b4ed9fSmrgecho '.include "confinc.mk" # ignored' > confmf.BSD
681e8b4ed9fSmrg# Other make implementations (GNU, Solaris 10, AIX) do it like this.
682e8b4ed9fSmrgecho 'include confinc.mk # ignored' > confmf.GNU
683e8b4ed9fSmrg_am_result=no
684e8b4ed9fSmrgfor s in GNU BSD; do
685e8b4ed9fSmrg  AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
686e8b4ed9fSmrg  AS_CASE([$?:`cat confinc.out 2>/dev/null`],
687e8b4ed9fSmrg      ['0:this is the am__doit target'],
688e8b4ed9fSmrg      [AS_CASE([$s],
689e8b4ed9fSmrg          [BSD], [am__include='.include' am__quote='"'],
690e8b4ed9fSmrg          [am__include='include' am__quote=''])])
691e8b4ed9fSmrg  if test "$am__include" != "#"; then
692e8b4ed9fSmrg    _am_result="yes ($s style)"
693e8b4ed9fSmrg    break
694e8b4ed9fSmrg  fi
695e8b4ed9fSmrgdone
696e8b4ed9fSmrgrm -f confinc.* confmf.*
697e8b4ed9fSmrgAC_MSG_RESULT([${_am_result}])
698e8b4ed9fSmrgAC_SUBST([am__include])])
699e8b4ed9fSmrgAC_SUBST([am__quote])])
7005592a31fSmrg
701e8b4ed9fSmrg# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
7025592a31fSmrg
703e8b4ed9fSmrg# Copyright (C) 1997-2021 Free Software Foundation, Inc.
704e8b4ed9fSmrg#
705e8b4ed9fSmrg# This file is free software; the Free Software Foundation
706e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
707e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
7085592a31fSmrg
709e8b4ed9fSmrg# AM_MISSING_PROG(NAME, PROGRAM)
710e8b4ed9fSmrg# ------------------------------
711e8b4ed9fSmrgAC_DEFUN([AM_MISSING_PROG],
712e8b4ed9fSmrg[AC_REQUIRE([AM_MISSING_HAS_RUN])
713e8b4ed9fSmrg$1=${$1-"${am_missing_run}$2"}
714e8b4ed9fSmrgAC_SUBST($1)])
715e8b4ed9fSmrg
716e8b4ed9fSmrg# AM_MISSING_HAS_RUN
717e8b4ed9fSmrg# ------------------
718e8b4ed9fSmrg# Define MISSING if not defined so far and test if it is modern enough.
719e8b4ed9fSmrg# If it is, set am_missing_run to use it, otherwise, to nothing.
720e8b4ed9fSmrgAC_DEFUN([AM_MISSING_HAS_RUN],
721e8b4ed9fSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
722e8b4ed9fSmrgAC_REQUIRE_AUX_FILE([missing])dnl
723e8b4ed9fSmrgif test x"${MISSING+set}" != xset; then
724e8b4ed9fSmrg  MISSING="\${SHELL} '$am_aux_dir/missing'"
725e8b4ed9fSmrgfi
726e8b4ed9fSmrg# Use eval to expand $SHELL
727e8b4ed9fSmrgif eval "$MISSING --is-lightweight"; then
728e8b4ed9fSmrg  am_missing_run="$MISSING "
729e8b4ed9fSmrgelse
730e8b4ed9fSmrg  am_missing_run=
731e8b4ed9fSmrg  AC_MSG_WARN(['missing' script is too old or missing])
732e8b4ed9fSmrgfi
7335592a31fSmrg])
7345592a31fSmrg
735e8b4ed9fSmrg# Helper functions for option handling.                     -*- Autoconf -*-
7365592a31fSmrg
737e8b4ed9fSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
738e8b4ed9fSmrg#
739e8b4ed9fSmrg# This file is free software; the Free Software Foundation
740e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
741e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
7425592a31fSmrg
743e8b4ed9fSmrg# _AM_MANGLE_OPTION(NAME)
744e8b4ed9fSmrg# -----------------------
745e8b4ed9fSmrgAC_DEFUN([_AM_MANGLE_OPTION],
746e8b4ed9fSmrg[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
7475592a31fSmrg
748e8b4ed9fSmrg# _AM_SET_OPTION(NAME)
749e8b4ed9fSmrg# --------------------
750e8b4ed9fSmrg# Set option NAME.  Presently that only means defining a flag for this option.
751e8b4ed9fSmrgAC_DEFUN([_AM_SET_OPTION],
752e8b4ed9fSmrg[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
7535592a31fSmrg
754e8b4ed9fSmrg# _AM_SET_OPTIONS(OPTIONS)
755e8b4ed9fSmrg# ------------------------
756e8b4ed9fSmrg# OPTIONS is a space-separated list of Automake options.
757e8b4ed9fSmrgAC_DEFUN([_AM_SET_OPTIONS],
758e8b4ed9fSmrg[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
7595592a31fSmrg
760e8b4ed9fSmrg# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
761e8b4ed9fSmrg# -------------------------------------------
762e8b4ed9fSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
763e8b4ed9fSmrgAC_DEFUN([_AM_IF_OPTION],
764e8b4ed9fSmrg[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
7655592a31fSmrg
766e8b4ed9fSmrg# Copyright (C) 1999-2021 Free Software Foundation, Inc.
767e8b4ed9fSmrg#
768e8b4ed9fSmrg# This file is free software; the Free Software Foundation
769e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
770e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
7715592a31fSmrg
772e8b4ed9fSmrg# _AM_PROG_CC_C_O
773e8b4ed9fSmrg# ---------------
774e8b4ed9fSmrg# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
775e8b4ed9fSmrg# to automatically call this.
776e8b4ed9fSmrgAC_DEFUN([_AM_PROG_CC_C_O],
777e8b4ed9fSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
778e8b4ed9fSmrgAC_REQUIRE_AUX_FILE([compile])dnl
779e8b4ed9fSmrgAC_LANG_PUSH([C])dnl
780e8b4ed9fSmrgAC_CACHE_CHECK(
781e8b4ed9fSmrg  [whether $CC understands -c and -o together],
782e8b4ed9fSmrg  [am_cv_prog_cc_c_o],
783e8b4ed9fSmrg  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
784e8b4ed9fSmrg  # Make sure it works both with $CC and with simple cc.
785e8b4ed9fSmrg  # Following AC_PROG_CC_C_O, we do the test twice because some
786e8b4ed9fSmrg  # compilers refuse to overwrite an existing .o file with -o,
787e8b4ed9fSmrg  # though they will create one.
788e8b4ed9fSmrg  am_cv_prog_cc_c_o=yes
789e8b4ed9fSmrg  for am_i in 1 2; do
790e8b4ed9fSmrg    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
791e8b4ed9fSmrg         && test -f conftest2.$ac_objext; then
792e8b4ed9fSmrg      : OK
793e8b4ed9fSmrg    else
794e8b4ed9fSmrg      am_cv_prog_cc_c_o=no
795e8b4ed9fSmrg      break
796e8b4ed9fSmrg    fi
797e8b4ed9fSmrg  done
798e8b4ed9fSmrg  rm -f core conftest*
799e8b4ed9fSmrg  unset am_i])
800e8b4ed9fSmrgif test "$am_cv_prog_cc_c_o" != yes; then
801e8b4ed9fSmrg   # Losing compiler, so override with the script.
802e8b4ed9fSmrg   # FIXME: It is wrong to rewrite CC.
803e8b4ed9fSmrg   # But if we don't then we get into trouble of one sort or another.
804e8b4ed9fSmrg   # A longer-term fix would be to have automake use am__CC in this case,
805e8b4ed9fSmrg   # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
806e8b4ed9fSmrg   CC="$am_aux_dir/compile $CC"
807e8b4ed9fSmrgfi
808e8b4ed9fSmrgAC_LANG_POP([C])])
8095592a31fSmrg
810e8b4ed9fSmrg# For backward compatibility.
811e8b4ed9fSmrgAC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
8125592a31fSmrg
813e8b4ed9fSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
814e8b4ed9fSmrg#
815e8b4ed9fSmrg# This file is free software; the Free Software Foundation
816e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
817e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
8185592a31fSmrg
819e8b4ed9fSmrg# AM_RUN_LOG(COMMAND)
820e8b4ed9fSmrg# -------------------
821e8b4ed9fSmrg# Run COMMAND, save the exit status in ac_status, and log it.
822e8b4ed9fSmrg# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
823e8b4ed9fSmrgAC_DEFUN([AM_RUN_LOG],
824e8b4ed9fSmrg[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
825e8b4ed9fSmrg   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
826e8b4ed9fSmrg   ac_status=$?
827e8b4ed9fSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
828e8b4ed9fSmrg   (exit $ac_status); }])
8295592a31fSmrg
830e8b4ed9fSmrg# Check to make sure that the build environment is sane.    -*- Autoconf -*-
831e8b4ed9fSmrg
832e8b4ed9fSmrg# Copyright (C) 1996-2021 Free Software Foundation, Inc.
8335592a31fSmrg#
834e8b4ed9fSmrg# This file is free software; the Free Software Foundation
835e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
836e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
8375592a31fSmrg
838e8b4ed9fSmrg# AM_SANITY_CHECK
839e8b4ed9fSmrg# ---------------
840e8b4ed9fSmrgAC_DEFUN([AM_SANITY_CHECK],
841e8b4ed9fSmrg[AC_MSG_CHECKING([whether build environment is sane])
842e8b4ed9fSmrg# Reject unsafe characters in $srcdir or the absolute working directory
843e8b4ed9fSmrg# name.  Accept space and tab only in the latter.
844e8b4ed9fSmrgam_lf='
845e8b4ed9fSmrg'
846e8b4ed9fSmrgcase `pwd` in
847e8b4ed9fSmrg  *[[\\\"\#\$\&\'\`$am_lf]]*)
848e8b4ed9fSmrg    AC_MSG_ERROR([unsafe absolute working directory name]);;
849e8b4ed9fSmrgesac
850e8b4ed9fSmrgcase $srcdir in
851e8b4ed9fSmrg  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
852e8b4ed9fSmrg    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
853e8b4ed9fSmrgesac
8545592a31fSmrg
855e8b4ed9fSmrg# Do 'set' in a subshell so we don't clobber the current shell's
856e8b4ed9fSmrg# arguments.  Must try -L first in case configure is actually a
857e8b4ed9fSmrg# symlink; some systems play weird games with the mod time of symlinks
858e8b4ed9fSmrg# (eg FreeBSD returns the mod time of the symlink's containing
859e8b4ed9fSmrg# directory).
860e8b4ed9fSmrgif (
861e8b4ed9fSmrg   am_has_slept=no
862e8b4ed9fSmrg   for am_try in 1 2; do
863e8b4ed9fSmrg     echo "timestamp, slept: $am_has_slept" > conftest.file
864e8b4ed9fSmrg     set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
865e8b4ed9fSmrg     if test "$[*]" = "X"; then
866e8b4ed9fSmrg	# -L didn't work.
867e8b4ed9fSmrg	set X `ls -t "$srcdir/configure" conftest.file`
868e8b4ed9fSmrg     fi
869e8b4ed9fSmrg     if test "$[*]" != "X $srcdir/configure conftest.file" \
870e8b4ed9fSmrg	&& test "$[*]" != "X conftest.file $srcdir/configure"; then
8715592a31fSmrg
872e8b4ed9fSmrg	# If neither matched, then we have a broken ls.  This can happen
873e8b4ed9fSmrg	# if, for instance, CONFIG_SHELL is bash and it inherits a
874e8b4ed9fSmrg	# broken ls alias from the environment.  This has actually
875e8b4ed9fSmrg	# happened.  Such a system could not be considered "sane".
876e8b4ed9fSmrg	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
877e8b4ed9fSmrg  alias in your environment])
878e8b4ed9fSmrg     fi
879e8b4ed9fSmrg     if test "$[2]" = conftest.file || test $am_try -eq 2; then
880e8b4ed9fSmrg       break
881e8b4ed9fSmrg     fi
882e8b4ed9fSmrg     # Just in case.
883e8b4ed9fSmrg     sleep 1
884e8b4ed9fSmrg     am_has_slept=yes
885e8b4ed9fSmrg   done
886e8b4ed9fSmrg   test "$[2]" = conftest.file
887e8b4ed9fSmrg   )
888e8b4ed9fSmrgthen
889e8b4ed9fSmrg   # Ok.
890e8b4ed9fSmrg   :
891e8b4ed9fSmrgelse
892e8b4ed9fSmrg   AC_MSG_ERROR([newly created file is older than distributed files!
893e8b4ed9fSmrgCheck your system clock])
894e8b4ed9fSmrgfi
895e8b4ed9fSmrgAC_MSG_RESULT([yes])
896e8b4ed9fSmrg# If we didn't sleep, we still need to ensure time stamps of config.status and
897e8b4ed9fSmrg# generated files are strictly newer.
898e8b4ed9fSmrgam_sleep_pid=
899e8b4ed9fSmrgif grep 'slept: no' conftest.file >/dev/null 2>&1; then
900e8b4ed9fSmrg  ( sleep 1 ) &
901e8b4ed9fSmrg  am_sleep_pid=$!
902e8b4ed9fSmrgfi
903e8b4ed9fSmrgAC_CONFIG_COMMANDS_PRE(
904e8b4ed9fSmrg  [AC_MSG_CHECKING([that generated files are newer than configure])
905e8b4ed9fSmrg   if test -n "$am_sleep_pid"; then
906e8b4ed9fSmrg     # Hide warnings about reused PIDs.
907e8b4ed9fSmrg     wait $am_sleep_pid 2>/dev/null
908e8b4ed9fSmrg   fi
909e8b4ed9fSmrg   AC_MSG_RESULT([done])])
910e8b4ed9fSmrgrm -f conftest.file
911e8b4ed9fSmrg])
9125592a31fSmrg
913e8b4ed9fSmrg# Copyright (C) 2009-2021 Free Software Foundation, Inc.
9145592a31fSmrg#
915e8b4ed9fSmrg# This file is free software; the Free Software Foundation
916e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
917e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
918e8b4ed9fSmrg
919e8b4ed9fSmrg# AM_SILENT_RULES([DEFAULT])
920e8b4ed9fSmrg# --------------------------
921e8b4ed9fSmrg# Enable less verbose build rules; with the default set to DEFAULT
922e8b4ed9fSmrg# ("yes" being less verbose, "no" or empty being verbose).
923e8b4ed9fSmrgAC_DEFUN([AM_SILENT_RULES],
924e8b4ed9fSmrg[AC_ARG_ENABLE([silent-rules], [dnl
925e8b4ed9fSmrgAS_HELP_STRING(
926e8b4ed9fSmrg  [--enable-silent-rules],
927e8b4ed9fSmrg  [less verbose build output (undo: "make V=1")])
928e8b4ed9fSmrgAS_HELP_STRING(
929e8b4ed9fSmrg  [--disable-silent-rules],
930e8b4ed9fSmrg  [verbose build output (undo: "make V=0")])dnl
931e8b4ed9fSmrg])
932e8b4ed9fSmrgcase $enable_silent_rules in @%:@ (((
933e8b4ed9fSmrg  yes) AM_DEFAULT_VERBOSITY=0;;
934e8b4ed9fSmrg   no) AM_DEFAULT_VERBOSITY=1;;
935e8b4ed9fSmrg    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
936e8b4ed9fSmrgesac
937e8b4ed9fSmrgdnl
938e8b4ed9fSmrgdnl A few 'make' implementations (e.g., NonStop OS and NextStep)
939e8b4ed9fSmrgdnl do not support nested variable expansions.
940e8b4ed9fSmrgdnl See automake bug#9928 and bug#10237.
941e8b4ed9fSmrgam_make=${MAKE-make}
942e8b4ed9fSmrgAC_CACHE_CHECK([whether $am_make supports nested variables],
943e8b4ed9fSmrg   [am_cv_make_support_nested_variables],
944e8b4ed9fSmrg   [if AS_ECHO([['TRUE=$(BAR$(V))
945e8b4ed9fSmrgBAR0=false
946e8b4ed9fSmrgBAR1=true
947e8b4ed9fSmrgV=1
948e8b4ed9fSmrgam__doit:
949e8b4ed9fSmrg	@$(TRUE)
950e8b4ed9fSmrg.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
951e8b4ed9fSmrg  am_cv_make_support_nested_variables=yes
952e8b4ed9fSmrgelse
953e8b4ed9fSmrg  am_cv_make_support_nested_variables=no
954e8b4ed9fSmrgfi])
955e8b4ed9fSmrgif test $am_cv_make_support_nested_variables = yes; then
956e8b4ed9fSmrg  dnl Using '$V' instead of '$(V)' breaks IRIX make.
957e8b4ed9fSmrg  AM_V='$(V)'
958e8b4ed9fSmrg  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
959e8b4ed9fSmrgelse
960e8b4ed9fSmrg  AM_V=$AM_DEFAULT_VERBOSITY
961e8b4ed9fSmrg  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
962e8b4ed9fSmrgfi
963e8b4ed9fSmrgAC_SUBST([AM_V])dnl
964e8b4ed9fSmrgAM_SUBST_NOTMAKE([AM_V])dnl
965e8b4ed9fSmrgAC_SUBST([AM_DEFAULT_V])dnl
966e8b4ed9fSmrgAM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
967e8b4ed9fSmrgAC_SUBST([AM_DEFAULT_VERBOSITY])dnl
968e8b4ed9fSmrgAM_BACKSLASH='\'
969e8b4ed9fSmrgAC_SUBST([AM_BACKSLASH])dnl
970e8b4ed9fSmrg_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
9715592a31fSmrg])
9725592a31fSmrg
973e8b4ed9fSmrg# Copyright (C) 2001-2021 Free Software Foundation, Inc.
974e8b4ed9fSmrg#
975e8b4ed9fSmrg# This file is free software; the Free Software Foundation
976e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
977e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
9785592a31fSmrg
979e8b4ed9fSmrg# AM_PROG_INSTALL_STRIP
980e8b4ed9fSmrg# ---------------------
981e8b4ed9fSmrg# One issue with vendor 'install' (even GNU) is that you can't
982e8b4ed9fSmrg# specify the program used to strip binaries.  This is especially
983e8b4ed9fSmrg# annoying in cross-compiling environments, where the build's strip
984e8b4ed9fSmrg# is unlikely to handle the host's binaries.
985e8b4ed9fSmrg# Fortunately install-sh will honor a STRIPPROG variable, so we
986e8b4ed9fSmrg# always use install-sh in "make install-strip", and initialize
987e8b4ed9fSmrg# STRIPPROG with the value of the STRIP variable (set by the user).
988e8b4ed9fSmrgAC_DEFUN([AM_PROG_INSTALL_STRIP],
989e8b4ed9fSmrg[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
990e8b4ed9fSmrg# Installed binaries are usually stripped using 'strip' when the user
991e8b4ed9fSmrg# run "make install-strip".  However 'strip' might not be the right
992e8b4ed9fSmrg# tool to use in cross-compilation environments, therefore Automake
993e8b4ed9fSmrg# will honor the 'STRIP' environment variable to overrule this program.
994e8b4ed9fSmrgdnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
995e8b4ed9fSmrgif test "$cross_compiling" != no; then
996e8b4ed9fSmrg  AC_CHECK_TOOL([STRIP], [strip], :)
997e8b4ed9fSmrgfi
998e8b4ed9fSmrgINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
999e8b4ed9fSmrgAC_SUBST([INSTALL_STRIP_PROGRAM])])
10005592a31fSmrg
1001e8b4ed9fSmrg# Copyright (C) 2006-2021 Free Software Foundation, Inc.
1002e8b4ed9fSmrg#
1003e8b4ed9fSmrg# This file is free software; the Free Software Foundation
1004e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
1005e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
10065592a31fSmrg
1007e8b4ed9fSmrg# _AM_SUBST_NOTMAKE(VARIABLE)
1008e8b4ed9fSmrg# ---------------------------
1009e8b4ed9fSmrg# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
1010e8b4ed9fSmrg# This macro is traced by Automake.
1011e8b4ed9fSmrgAC_DEFUN([_AM_SUBST_NOTMAKE])
101250f2e948Smrg
1013e8b4ed9fSmrg# AM_SUBST_NOTMAKE(VARIABLE)
1014e8b4ed9fSmrg# --------------------------
1015e8b4ed9fSmrg# Public sister of _AM_SUBST_NOTMAKE.
1016e8b4ed9fSmrgAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
101750f2e948Smrg
1018e8b4ed9fSmrg# Check how to create a tarball.                            -*- Autoconf -*-
10195592a31fSmrg
1020e8b4ed9fSmrg# Copyright (C) 2004-2021 Free Software Foundation, Inc.
1021e8b4ed9fSmrg#
1022e8b4ed9fSmrg# This file is free software; the Free Software Foundation
1023e8b4ed9fSmrg# gives unlimited permission to copy and/or distribute it,
1024e8b4ed9fSmrg# with or without modifications, as long as this notice is preserved.
10255592a31fSmrg
1026e8b4ed9fSmrg# _AM_PROG_TAR(FORMAT)
1027e8b4ed9fSmrg# --------------------
1028e8b4ed9fSmrg# Check how to create a tarball in format FORMAT.
1029e8b4ed9fSmrg# FORMAT should be one of 'v7', 'ustar', or 'pax'.
1030e8b4ed9fSmrg#
1031e8b4ed9fSmrg# Substitute a variable $(am__tar) that is a command
1032e8b4ed9fSmrg# writing to stdout a FORMAT-tarball containing the directory
1033e8b4ed9fSmrg# $tardir.
1034e8b4ed9fSmrg#     tardir=directory && $(am__tar) > result.tar
1035e8b4ed9fSmrg#
1036e8b4ed9fSmrg# Substitute a variable $(am__untar) that extract such
1037e8b4ed9fSmrg# a tarball read from stdin.
1038e8b4ed9fSmrg#     $(am__untar) < result.tar
1039e8b4ed9fSmrg#
1040e8b4ed9fSmrgAC_DEFUN([_AM_PROG_TAR],
1041e8b4ed9fSmrg[# Always define AMTAR for backward compatibility.  Yes, it's still used
1042e8b4ed9fSmrg# in the wild :-(  We should find a proper way to deprecate it ...
1043e8b4ed9fSmrgAC_SUBST([AMTAR], ['$${TAR-tar}'])
10445592a31fSmrg
1045e8b4ed9fSmrg# We'll loop over all known methods to create a tar archive until one works.
1046e8b4ed9fSmrg_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
10475592a31fSmrg
1048e8b4ed9fSmrgm4_if([$1], [v7],
1049e8b4ed9fSmrg  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
10505592a31fSmrg
1051e8b4ed9fSmrg  [m4_case([$1],
1052e8b4ed9fSmrg    [ustar],
1053e8b4ed9fSmrg     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
1054e8b4ed9fSmrg      # There is notably a 21 bits limit for the UID and the GID.  In fact,
1055e8b4ed9fSmrg      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
1056e8b4ed9fSmrg      # and bug#13588).
1057e8b4ed9fSmrg      am_max_uid=2097151 # 2^21 - 1
1058e8b4ed9fSmrg      am_max_gid=$am_max_uid
1059e8b4ed9fSmrg      # The $UID and $GID variables are not portable, so we need to resort
1060e8b4ed9fSmrg      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
1061e8b4ed9fSmrg      # below are definitely unexpected, so allow the users to see them
1062e8b4ed9fSmrg      # (that is, avoid stderr redirection).
1063e8b4ed9fSmrg      am_uid=`id -u || echo unknown`
1064e8b4ed9fSmrg      am_gid=`id -g || echo unknown`
1065e8b4ed9fSmrg      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
1066e8b4ed9fSmrg      if test $am_uid -le $am_max_uid; then
1067e8b4ed9fSmrg         AC_MSG_RESULT([yes])
1068e8b4ed9fSmrg      else
1069e8b4ed9fSmrg         AC_MSG_RESULT([no])
1070e8b4ed9fSmrg         _am_tools=none
1071e8b4ed9fSmrg      fi
1072e8b4ed9fSmrg      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
1073e8b4ed9fSmrg      if test $am_gid -le $am_max_gid; then
1074e8b4ed9fSmrg         AC_MSG_RESULT([yes])
1075e8b4ed9fSmrg      else
1076e8b4ed9fSmrg        AC_MSG_RESULT([no])
1077e8b4ed9fSmrg        _am_tools=none
1078e8b4ed9fSmrg      fi],
10795592a31fSmrg
1080e8b4ed9fSmrg  [pax],
1081e8b4ed9fSmrg    [],
10825592a31fSmrg
1083e8b4ed9fSmrg  [m4_fatal([Unknown tar format])])
1084b40a6198Smrg
1085e8b4ed9fSmrg  AC_MSG_CHECKING([how to create a $1 tar archive])
1086e8b4ed9fSmrg
1087e8b4ed9fSmrg  # Go ahead even if we have the value already cached.  We do so because we
1088e8b4ed9fSmrg  # need to set the values for the 'am__tar' and 'am__untar' variables.
1089e8b4ed9fSmrg  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
1090e8b4ed9fSmrg
1091e8b4ed9fSmrg  for _am_tool in $_am_tools; do
1092e8b4ed9fSmrg    case $_am_tool in
1093e8b4ed9fSmrg    gnutar)
1094e8b4ed9fSmrg      for _am_tar in tar gnutar gtar; do
1095e8b4ed9fSmrg        AM_RUN_LOG([$_am_tar --version]) && break
1096e8b4ed9fSmrg      done
1097e8b4ed9fSmrg      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
1098e8b4ed9fSmrg      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
1099e8b4ed9fSmrg      am__untar="$_am_tar -xf -"
11005592a31fSmrg      ;;
1101e8b4ed9fSmrg    plaintar)
1102e8b4ed9fSmrg      # Must skip GNU tar: if it does not support --format= it doesn't create
1103e8b4ed9fSmrg      # ustar tarball either.
1104e8b4ed9fSmrg      (tar --version) >/dev/null 2>&1 && continue
1105e8b4ed9fSmrg      am__tar='tar chf - "$$tardir"'
1106e8b4ed9fSmrg      am__tar_='tar chf - "$tardir"'
1107e8b4ed9fSmrg      am__untar='tar xf -'
11085592a31fSmrg      ;;
1109e8b4ed9fSmrg    pax)
1110e8b4ed9fSmrg      am__tar='pax -L -x $1 -w "$$tardir"'
1111e8b4ed9fSmrg      am__tar_='pax -L -x $1 -w "$tardir"'
1112e8b4ed9fSmrg      am__untar='pax -r'
11135592a31fSmrg      ;;
1114e8b4ed9fSmrg    cpio)
1115e8b4ed9fSmrg      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
1116e8b4ed9fSmrg      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
1117e8b4ed9fSmrg      am__untar='cpio -i -H $1 -d'
1118e8b4ed9fSmrg      ;;
1119e8b4ed9fSmrg    none)
1120e8b4ed9fSmrg      am__tar=false
1121e8b4ed9fSmrg      am__tar_=false
1122e8b4ed9fSmrg      am__untar=false
11235592a31fSmrg      ;;
11245592a31fSmrg    esac
11255592a31fSmrg
1126e8b4ed9fSmrg    # If the value was cached, stop now.  We just wanted to have am__tar
1127e8b4ed9fSmrg    # and am__untar set.
1128e8b4ed9fSmrg    test -n "${am_cv_prog_tar_$1}" && break
11295592a31fSmrg
1130e8b4ed9fSmrg    # tar/untar a dummy directory, and stop if the command works.
1131e8b4ed9fSmrg    rm -rf conftest.dir
1132e8b4ed9fSmrg    mkdir conftest.dir
1133e8b4ed9fSmrg    echo GrepMe > conftest.dir/file
1134e8b4ed9fSmrg    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
1135e8b4ed9fSmrg    rm -rf conftest.dir
1136e8b4ed9fSmrg    if test -s conftest.tar; then
1137e8b4ed9fSmrg      AM_RUN_LOG([$am__untar <conftest.tar])
1138e8b4ed9fSmrg      AM_RUN_LOG([cat conftest.dir/file])
1139e8b4ed9fSmrg      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
1140e8b4ed9fSmrg    fi
1141e8b4ed9fSmrg  done
1142e8b4ed9fSmrg  rm -rf conftest.dir
11435592a31fSmrg
1144e8b4ed9fSmrg  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
1145e8b4ed9fSmrg  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
11465592a31fSmrg
1147e8b4ed9fSmrgAC_SUBST([am__tar])
1148e8b4ed9fSmrgAC_SUBST([am__untar])
1149e8b4ed9fSmrg]) # _AM_PROG_TAR
11505592a31fSmrg
1151e8b4ed9fSmrgdnl Copyright 2005 Red Hat, Inc
1152e8b4ed9fSmrgdnl 
1153e8b4ed9fSmrgdnl Permission to use, copy, modify, distribute, and sell this software and its
1154e8b4ed9fSmrgdnl documentation for any purpose is hereby granted without fee, provided that
1155e8b4ed9fSmrgdnl the above copyright notice appear in all copies and that both that
1156e8b4ed9fSmrgdnl copyright notice and this permission notice appear in supporting
1157e8b4ed9fSmrgdnl documentation.
1158e8b4ed9fSmrgdnl 
1159e8b4ed9fSmrgdnl The above copyright notice and this permission notice shall be included
1160e8b4ed9fSmrgdnl in all copies or substantial portions of the Software.
1161e8b4ed9fSmrgdnl 
1162e8b4ed9fSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1163e8b4ed9fSmrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1164e8b4ed9fSmrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1165e8b4ed9fSmrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
1166e8b4ed9fSmrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
1167e8b4ed9fSmrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1168e8b4ed9fSmrgdnl OTHER DEALINGS IN THE SOFTWARE.
1169e8b4ed9fSmrgdnl 
1170e8b4ed9fSmrgdnl Except as contained in this notice, the name of the copyright holders shall
1171e8b4ed9fSmrgdnl not be used in advertising or otherwise to promote the sale, use or
1172e8b4ed9fSmrgdnl other dealings in this Software without prior written authorization
1173e8b4ed9fSmrgdnl from the copyright holders.
1174e8b4ed9fSmrgdnl 
11755592a31fSmrg
1176e8b4ed9fSmrg# XORG_DRIVER_CHECK_EXT(MACRO, PROTO)
1177e8b4ed9fSmrg# --------------------------
1178e8b4ed9fSmrg# Checks for the MACRO define in xorg-server.h (from the sdk).  If it
1179e8b4ed9fSmrg# is defined, then add the given PROTO to $REQUIRED_MODULES.
11805592a31fSmrg
1181e8b4ed9fSmrgAC_DEFUN([XORG_DRIVER_CHECK_EXT],[
1182e8b4ed9fSmrg	AC_REQUIRE([PKG_PROG_PKG_CONFIG])
1183e8b4ed9fSmrg	SAVE_CFLAGS="$CFLAGS"
1184e8b4ed9fSmrg	CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`"
1185e8b4ed9fSmrg	AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1186e8b4ed9fSmrg#include "xorg-server.h"
1187e8b4ed9fSmrg#if !defined $1
1188e8b4ed9fSmrg#error $1 not defined
1189e8b4ed9fSmrg#endif
1190e8b4ed9fSmrg		]])],
1191e8b4ed9fSmrg		[_EXT_CHECK=yes],
1192e8b4ed9fSmrg		[_EXT_CHECK=no])
1193e8b4ed9fSmrg	CFLAGS="$SAVE_CFLAGS"
1194e8b4ed9fSmrg	AC_MSG_CHECKING([if $1 is defined])
1195e8b4ed9fSmrg	AC_MSG_RESULT([$_EXT_CHECK])
1196e8b4ed9fSmrg	if test "$_EXT_CHECK" != no; then
1197e8b4ed9fSmrg		REQUIRED_MODULES="$REQUIRED_MODULES $2"
1198e8b4ed9fSmrg	fi
1199e8b4ed9fSmrg])
12005592a31fSmrg
1201e8b4ed9fSmrgdnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
1202e8b4ed9fSmrgdnl serial 11 (pkg-config-0.29)
1203e8b4ed9fSmrgdnl
1204e8b4ed9fSmrgdnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
1205e8b4ed9fSmrgdnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
1206e8b4ed9fSmrgdnl
1207e8b4ed9fSmrgdnl This program is free software; you can redistribute it and/or modify
1208e8b4ed9fSmrgdnl it under the terms of the GNU General Public License as published by
1209e8b4ed9fSmrgdnl the Free Software Foundation; either version 2 of the License, or
1210e8b4ed9fSmrgdnl (at your option) any later version.
1211e8b4ed9fSmrgdnl
1212e8b4ed9fSmrgdnl This program is distributed in the hope that it will be useful, but
1213e8b4ed9fSmrgdnl WITHOUT ANY WARRANTY; without even the implied warranty of
1214e8b4ed9fSmrgdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1215e8b4ed9fSmrgdnl General Public License for more details.
1216e8b4ed9fSmrgdnl
1217e8b4ed9fSmrgdnl You should have received a copy of the GNU General Public License
1218e8b4ed9fSmrgdnl along with this program; if not, write to the Free Software
1219e8b4ed9fSmrgdnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
1220e8b4ed9fSmrgdnl 02111-1307, USA.
1221e8b4ed9fSmrgdnl
1222e8b4ed9fSmrgdnl As a special exception to the GNU General Public License, if you
1223e8b4ed9fSmrgdnl distribute this file as part of a program that contains a
1224e8b4ed9fSmrgdnl configuration script generated by Autoconf, you may include it under
1225e8b4ed9fSmrgdnl the same distribution terms that you use for the rest of that
1226e8b4ed9fSmrgdnl program.
12275592a31fSmrg
1228e8b4ed9fSmrgdnl PKG_PREREQ(MIN-VERSION)
1229e8b4ed9fSmrgdnl -----------------------
1230e8b4ed9fSmrgdnl Since: 0.29
1231e8b4ed9fSmrgdnl
1232e8b4ed9fSmrgdnl Verify that the version of the pkg-config macros are at least
1233e8b4ed9fSmrgdnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
1234e8b4ed9fSmrgdnl installed version of pkg-config, this checks the developer's version
1235e8b4ed9fSmrgdnl of pkg.m4 when generating configure.
1236e8b4ed9fSmrgdnl
1237e8b4ed9fSmrgdnl To ensure that this macro is defined, also add:
1238e8b4ed9fSmrgdnl m4_ifndef([PKG_PREREQ],
1239e8b4ed9fSmrgdnl     [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
1240e8b4ed9fSmrgdnl
1241e8b4ed9fSmrgdnl See the "Since" comment for each macro you use to see what version
1242e8b4ed9fSmrgdnl of the macros you require.
1243e8b4ed9fSmrgm4_defun([PKG_PREREQ],
1244e8b4ed9fSmrg[m4_define([PKG_MACROS_VERSION], [0.29])
1245e8b4ed9fSmrgm4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
1246e8b4ed9fSmrg    [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
1247e8b4ed9fSmrg])dnl PKG_PREREQ
12485592a31fSmrg
1249e8b4ed9fSmrgdnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
1250e8b4ed9fSmrgdnl ----------------------------------
1251e8b4ed9fSmrgdnl Since: 0.16
1252e8b4ed9fSmrgdnl
1253e8b4ed9fSmrgdnl Search for the pkg-config tool and set the PKG_CONFIG variable to
1254e8b4ed9fSmrgdnl first found in the path. Checks that the version of pkg-config found
1255e8b4ed9fSmrgdnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
1256e8b4ed9fSmrgdnl used since that's the first version where most current features of
1257e8b4ed9fSmrgdnl pkg-config existed.
1258e8b4ed9fSmrgAC_DEFUN([PKG_PROG_PKG_CONFIG],
1259e8b4ed9fSmrg[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
1260e8b4ed9fSmrgm4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
1261e8b4ed9fSmrgm4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
1262e8b4ed9fSmrgAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
1263e8b4ed9fSmrgAC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
1264e8b4ed9fSmrgAC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
1265e8b4ed9fSmrg
1266e8b4ed9fSmrgif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
1267e8b4ed9fSmrg	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
12685592a31fSmrgfi
1269e8b4ed9fSmrgif test -n "$PKG_CONFIG"; then
1270e8b4ed9fSmrg	_pkg_min_version=m4_default([$1], [0.9.0])
1271e8b4ed9fSmrg	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
1272e8b4ed9fSmrg	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
1273e8b4ed9fSmrg		AC_MSG_RESULT([yes])
1274e8b4ed9fSmrg	else
1275e8b4ed9fSmrg		AC_MSG_RESULT([no])
1276e8b4ed9fSmrg		PKG_CONFIG=""
1277e8b4ed9fSmrg	fi
1278e8b4ed9fSmrgfi[]dnl
1279e8b4ed9fSmrg])dnl PKG_PROG_PKG_CONFIG
12805592a31fSmrg
1281e8b4ed9fSmrgdnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
1282e8b4ed9fSmrgdnl -------------------------------------------------------------------
1283e8b4ed9fSmrgdnl Since: 0.18
1284e8b4ed9fSmrgdnl
1285e8b4ed9fSmrgdnl Check to see whether a particular set of modules exists. Similar to
1286e8b4ed9fSmrgdnl PKG_CHECK_MODULES(), but does not set variables or print errors.
1287e8b4ed9fSmrgdnl
1288e8b4ed9fSmrgdnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
1289e8b4ed9fSmrgdnl only at the first occurence in configure.ac, so if the first place
1290e8b4ed9fSmrgdnl it's called might be skipped (such as if it is within an "if", you
1291e8b4ed9fSmrgdnl have to call PKG_CHECK_EXISTS manually
1292e8b4ed9fSmrgAC_DEFUN([PKG_CHECK_EXISTS],
1293e8b4ed9fSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1294e8b4ed9fSmrgif test -n "$PKG_CONFIG" && \
1295e8b4ed9fSmrg    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
1296e8b4ed9fSmrg  m4_default([$2], [:])
1297e8b4ed9fSmrgm4_ifvaln([$3], [else
1298e8b4ed9fSmrg  $3])dnl
1299e8b4ed9fSmrgfi])
13005592a31fSmrg
1301e8b4ed9fSmrgdnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
1302e8b4ed9fSmrgdnl ---------------------------------------------
1303e8b4ed9fSmrgdnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
1304e8b4ed9fSmrgdnl pkg_failed based on the result.
1305e8b4ed9fSmrgm4_define([_PKG_CONFIG],
1306e8b4ed9fSmrg[if test -n "$$1"; then
1307e8b4ed9fSmrg    pkg_cv_[]$1="$$1"
1308e8b4ed9fSmrg elif test -n "$PKG_CONFIG"; then
1309e8b4ed9fSmrg    PKG_CHECK_EXISTS([$3],
1310e8b4ed9fSmrg                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
1311e8b4ed9fSmrg		      test "x$?" != "x0" && pkg_failed=yes ],
1312e8b4ed9fSmrg		     [pkg_failed=yes])
1313e8b4ed9fSmrg else
1314e8b4ed9fSmrg    pkg_failed=untried
1315e8b4ed9fSmrgfi[]dnl
1316e8b4ed9fSmrg])dnl _PKG_CONFIG
13175592a31fSmrg
1318e8b4ed9fSmrgdnl _PKG_SHORT_ERRORS_SUPPORTED
1319e8b4ed9fSmrgdnl ---------------------------
1320e8b4ed9fSmrgdnl Internal check to see if pkg-config supports short errors.
1321e8b4ed9fSmrgAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
1322e8b4ed9fSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
1323e8b4ed9fSmrgif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
1324e8b4ed9fSmrg        _pkg_short_errors_supported=yes
1325e8b4ed9fSmrgelse
1326e8b4ed9fSmrg        _pkg_short_errors_supported=no
1327e8b4ed9fSmrgfi[]dnl
1328e8b4ed9fSmrg])dnl _PKG_SHORT_ERRORS_SUPPORTED
13295592a31fSmrg
13305592a31fSmrg
1331e8b4ed9fSmrgdnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
1332e8b4ed9fSmrgdnl   [ACTION-IF-NOT-FOUND])
1333e8b4ed9fSmrgdnl --------------------------------------------------------------
1334e8b4ed9fSmrgdnl Since: 0.4.0
1335e8b4ed9fSmrgdnl
1336e8b4ed9fSmrgdnl Note that if there is a possibility the first call to
1337e8b4ed9fSmrgdnl PKG_CHECK_MODULES might not happen, you should be sure to include an
1338e8b4ed9fSmrgdnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
1339e8b4ed9fSmrgAC_DEFUN([PKG_CHECK_MODULES],
1340e8b4ed9fSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1341e8b4ed9fSmrgAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
1342e8b4ed9fSmrgAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
13435592a31fSmrg
1344e8b4ed9fSmrgpkg_failed=no
1345e8b4ed9fSmrgAC_MSG_CHECKING([for $1])
13465592a31fSmrg
1347e8b4ed9fSmrg_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
1348e8b4ed9fSmrg_PKG_CONFIG([$1][_LIBS], [libs], [$2])
1349f2408745Smrg
1350e8b4ed9fSmrgm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
1351e8b4ed9fSmrgand $1[]_LIBS to avoid the need to call pkg-config.
1352e8b4ed9fSmrgSee the pkg-config man page for more details.])
1353f2408745Smrg
1354e8b4ed9fSmrgif test $pkg_failed = yes; then
1355e8b4ed9fSmrg   	AC_MSG_RESULT([no])
1356e8b4ed9fSmrg        _PKG_SHORT_ERRORS_SUPPORTED
1357e8b4ed9fSmrg        if test $_pkg_short_errors_supported = yes; then
1358e8b4ed9fSmrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
1359e8b4ed9fSmrg        else 
1360e8b4ed9fSmrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
1361e8b4ed9fSmrg        fi
1362e8b4ed9fSmrg	# Put the nasty error message in config.log where it belongs
1363e8b4ed9fSmrg	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
13645592a31fSmrg
1365e8b4ed9fSmrg	m4_default([$4], [AC_MSG_ERROR(
1366e8b4ed9fSmrg[Package requirements ($2) were not met:
1367f2408745Smrg
1368e8b4ed9fSmrg$$1_PKG_ERRORS
13695592a31fSmrg
1370e8b4ed9fSmrgConsider adjusting the PKG_CONFIG_PATH environment variable if you
1371e8b4ed9fSmrginstalled software in a non-standard prefix.
1372f2408745Smrg
1373e8b4ed9fSmrg_PKG_TEXT])[]dnl
1374e8b4ed9fSmrg        ])
1375e8b4ed9fSmrgelif test $pkg_failed = untried; then
1376e8b4ed9fSmrg     	AC_MSG_RESULT([no])
1377e8b4ed9fSmrg	m4_default([$4], [AC_MSG_FAILURE(
1378e8b4ed9fSmrg[The pkg-config script could not be found or is too old.  Make sure it
1379e8b4ed9fSmrgis in your PATH or set the PKG_CONFIG environment variable to the full
1380e8b4ed9fSmrgpath to pkg-config.
1381f2408745Smrg
1382e8b4ed9fSmrg_PKG_TEXT
1383f2408745Smrg
1384e8b4ed9fSmrgTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
1385e8b4ed9fSmrg        ])
1386e8b4ed9fSmrgelse
1387e8b4ed9fSmrg	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
1388e8b4ed9fSmrg	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
1389e8b4ed9fSmrg        AC_MSG_RESULT([yes])
1390e8b4ed9fSmrg	$3
1391e8b4ed9fSmrgfi[]dnl
1392e8b4ed9fSmrg])dnl PKG_CHECK_MODULES
13935592a31fSmrg
13945592a31fSmrg
1395e8b4ed9fSmrgdnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
1396e8b4ed9fSmrgdnl   [ACTION-IF-NOT-FOUND])
1397e8b4ed9fSmrgdnl ---------------------------------------------------------------------
1398e8b4ed9fSmrgdnl Since: 0.29
1399e8b4ed9fSmrgdnl
1400e8b4ed9fSmrgdnl Checks for existence of MODULES and gathers its build flags with
1401e8b4ed9fSmrgdnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
1402e8b4ed9fSmrgdnl and VARIABLE-PREFIX_LIBS from --libs.
1403e8b4ed9fSmrgdnl
1404e8b4ed9fSmrgdnl Note that if there is a possibility the first call to
1405e8b4ed9fSmrgdnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
1406e8b4ed9fSmrgdnl include an explicit call to PKG_PROG_PKG_CONFIG in your
1407e8b4ed9fSmrgdnl configure.ac.
1408e8b4ed9fSmrgAC_DEFUN([PKG_CHECK_MODULES_STATIC],
1409e8b4ed9fSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1410e8b4ed9fSmrg_save_PKG_CONFIG=$PKG_CONFIG
1411e8b4ed9fSmrgPKG_CONFIG="$PKG_CONFIG --static"
1412e8b4ed9fSmrgPKG_CHECK_MODULES($@)
1413e8b4ed9fSmrgPKG_CONFIG=$_save_PKG_CONFIG[]dnl
1414e8b4ed9fSmrg])dnl PKG_CHECK_MODULES_STATIC
14155592a31fSmrg
14165592a31fSmrg
1417e8b4ed9fSmrgdnl PKG_INSTALLDIR([DIRECTORY])
1418e8b4ed9fSmrgdnl -------------------------
1419e8b4ed9fSmrgdnl Since: 0.27
1420e8b4ed9fSmrgdnl
1421e8b4ed9fSmrgdnl Substitutes the variable pkgconfigdir as the location where a module
1422e8b4ed9fSmrgdnl should install pkg-config .pc files. By default the directory is
1423e8b4ed9fSmrgdnl $libdir/pkgconfig, but the default can be changed by passing
1424e8b4ed9fSmrgdnl DIRECTORY. The user can override through the --with-pkgconfigdir
1425e8b4ed9fSmrgdnl parameter.
1426e8b4ed9fSmrgAC_DEFUN([PKG_INSTALLDIR],
1427e8b4ed9fSmrg[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
1428e8b4ed9fSmrgm4_pushdef([pkg_description],
1429e8b4ed9fSmrg    [pkg-config installation directory @<:@]pkg_default[@:>@])
1430e8b4ed9fSmrgAC_ARG_WITH([pkgconfigdir],
1431e8b4ed9fSmrg    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
1432e8b4ed9fSmrg    [with_pkgconfigdir=]pkg_default)
1433e8b4ed9fSmrgAC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
1434e8b4ed9fSmrgm4_popdef([pkg_default])
1435e8b4ed9fSmrgm4_popdef([pkg_description])
1436e8b4ed9fSmrg])dnl PKG_INSTALLDIR
14375592a31fSmrg
14385592a31fSmrg
1439e8b4ed9fSmrgdnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
1440e8b4ed9fSmrgdnl --------------------------------
1441e8b4ed9fSmrgdnl Since: 0.27
1442e8b4ed9fSmrgdnl
1443e8b4ed9fSmrgdnl Substitutes the variable noarch_pkgconfigdir as the location where a
1444e8b4ed9fSmrgdnl module should install arch-independent pkg-config .pc files. By
1445e8b4ed9fSmrgdnl default the directory is $datadir/pkgconfig, but the default can be
1446e8b4ed9fSmrgdnl changed by passing DIRECTORY. The user can override through the
1447e8b4ed9fSmrgdnl --with-noarch-pkgconfigdir parameter.
1448e8b4ed9fSmrgAC_DEFUN([PKG_NOARCH_INSTALLDIR],
1449e8b4ed9fSmrg[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
1450e8b4ed9fSmrgm4_pushdef([pkg_description],
1451e8b4ed9fSmrg    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
1452e8b4ed9fSmrgAC_ARG_WITH([noarch-pkgconfigdir],
1453e8b4ed9fSmrg    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
1454e8b4ed9fSmrg    [with_noarch_pkgconfigdir=]pkg_default)
1455e8b4ed9fSmrgAC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
1456e8b4ed9fSmrgm4_popdef([pkg_default])
1457e8b4ed9fSmrgm4_popdef([pkg_description])
1458e8b4ed9fSmrg])dnl PKG_NOARCH_INSTALLDIR
14595592a31fSmrg
14605592a31fSmrg
1461e8b4ed9fSmrgdnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
1462e8b4ed9fSmrgdnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
1463e8b4ed9fSmrgdnl -------------------------------------------
1464e8b4ed9fSmrgdnl Since: 0.28
1465e8b4ed9fSmrgdnl
1466e8b4ed9fSmrgdnl Retrieves the value of the pkg-config variable for the given module.
1467e8b4ed9fSmrgAC_DEFUN([PKG_CHECK_VAR],
1468e8b4ed9fSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
1469e8b4ed9fSmrgAC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
14705592a31fSmrg
1471e8b4ed9fSmrg_PKG_CONFIG([$1], [variable="][$3]["], [$2])
1472e8b4ed9fSmrgAS_VAR_COPY([$1], [pkg_cv_][$1])
14735592a31fSmrg
1474e8b4ed9fSmrgAS_VAR_IF([$1], [""], [$5], [$4])dnl
1475e8b4ed9fSmrg])dnl PKG_CHECK_VAR
14765592a31fSmrg
1477e8b4ed9fSmrgdnl xorg-macros.m4.  Generated from xorg-macros.m4.in xorgversion.m4 by configure.
1478e8b4ed9fSmrgdnl
1479e8b4ed9fSmrgdnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
1480e8b4ed9fSmrgdnl
1481e8b4ed9fSmrgdnl Permission is hereby granted, free of charge, to any person obtaining a
1482e8b4ed9fSmrgdnl copy of this software and associated documentation files (the "Software"),
1483e8b4ed9fSmrgdnl to deal in the Software without restriction, including without limitation
1484e8b4ed9fSmrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
1485e8b4ed9fSmrgdnl and/or sell copies of the Software, and to permit persons to whom the
1486e8b4ed9fSmrgdnl Software is furnished to do so, subject to the following conditions:
1487e8b4ed9fSmrgdnl
1488e8b4ed9fSmrgdnl The above copyright notice and this permission notice (including the next
1489e8b4ed9fSmrgdnl paragraph) shall be included in all copies or substantial portions of the
1490e8b4ed9fSmrgdnl Software.
1491e8b4ed9fSmrgdnl
1492e8b4ed9fSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1493e8b4ed9fSmrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1494e8b4ed9fSmrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1495e8b4ed9fSmrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1496e8b4ed9fSmrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1497e8b4ed9fSmrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1498e8b4ed9fSmrgdnl DEALINGS IN THE SOFTWARE.
14995592a31fSmrg
1500e8b4ed9fSmrg# XORG_MACROS_VERSION(required-version)
1501e8b4ed9fSmrg# -------------------------------------
1502e8b4ed9fSmrg# Minimum version: 1.1.0
1503e8b4ed9fSmrg#
1504e8b4ed9fSmrg# If you're using a macro added in Version 1.1 or newer, include this in
1505e8b4ed9fSmrg# your configure.ac with the minimum required version, such as:
1506e8b4ed9fSmrg# XORG_MACROS_VERSION(1.1)
1507e8b4ed9fSmrg#
1508e8b4ed9fSmrg# To ensure that this macro is defined, also add:
1509e8b4ed9fSmrg# m4_ifndef([XORG_MACROS_VERSION],
1510e8b4ed9fSmrg#     [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
1511e8b4ed9fSmrg#
1512e8b4ed9fSmrg#
1513e8b4ed9fSmrg# See the "minimum version" comment for each macro you use to see what
1514e8b4ed9fSmrg# version you require.
1515e8b4ed9fSmrgm4_defun([XORG_MACROS_VERSION],[
1516e8b4ed9fSmrgm4_define([vers_have], [1.19.3])
1517e8b4ed9fSmrgm4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
1518e8b4ed9fSmrgm4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
1519e8b4ed9fSmrgm4_if(m4_cmp(maj_have, maj_needed), 0,,
1520e8b4ed9fSmrg    [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
1521e8b4ed9fSmrgm4_if(m4_version_compare(vers_have, [$1]), -1,
1522e8b4ed9fSmrg    [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
1523e8b4ed9fSmrgm4_undefine([vers_have])
1524e8b4ed9fSmrgm4_undefine([maj_have])
1525e8b4ed9fSmrgm4_undefine([maj_needed])
1526e8b4ed9fSmrg]) # XORG_MACROS_VERSION
15275592a31fSmrg
1528e8b4ed9fSmrg# XORG_PROG_RAWCPP()
15295592a31fSmrg# ------------------
1530e8b4ed9fSmrg# Minimum version: 1.0.0
1531e8b4ed9fSmrg#
1532e8b4ed9fSmrg# Find cpp program and necessary flags for use in pre-processing text files
1533e8b4ed9fSmrg# such as man pages and config files
1534e8b4ed9fSmrgAC_DEFUN([XORG_PROG_RAWCPP],[
1535e8b4ed9fSmrgAC_REQUIRE([AC_PROG_CPP])
1536e8b4ed9fSmrgAC_PATH_TOOL(RAWCPP, [cpp], [${CPP}],
1537e8b4ed9fSmrg   [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
15385592a31fSmrg
1539e8b4ed9fSmrg# Check for flag to avoid builtin definitions - assumes unix is predefined,
1540e8b4ed9fSmrg# which is not the best choice for supporting other OS'es, but covers most
1541e8b4ed9fSmrg# of the ones we need for now.
1542e8b4ed9fSmrgAC_MSG_CHECKING([if $RAWCPP requires -undef])
1543e8b4ed9fSmrgAC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp redefine unix ?]])])
1544e8b4ed9fSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1545e8b4ed9fSmrg	AC_MSG_RESULT([no])
1546e8b4ed9fSmrgelse
1547e8b4ed9fSmrg	if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1548e8b4ed9fSmrg		RAWCPPFLAGS=-undef
1549e8b4ed9fSmrg		AC_MSG_RESULT([yes])
1550e8b4ed9fSmrg	# under Cygwin unix is still defined even with -undef
1551e8b4ed9fSmrg	elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1552e8b4ed9fSmrg		RAWCPPFLAGS="-undef -ansi"
1553e8b4ed9fSmrg		AC_MSG_RESULT([yes, with -ansi])
1554e8b4ed9fSmrg	else
1555e8b4ed9fSmrg		AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef.  I don't know what to do.])
1556e8b4ed9fSmrg	fi
1557b40a6198Smrgfi
1558e8b4ed9fSmrgrm -f conftest.$ac_ext
1559b40a6198Smrg
1560e8b4ed9fSmrgAC_MSG_CHECKING([if $RAWCPP requires -traditional])
1561e8b4ed9fSmrgAC_LANG_CONFTEST([AC_LANG_SOURCE([[Does cpp preserve   "whitespace"?]])])
1562e8b4ed9fSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
1563e8b4ed9fSmrg	AC_MSG_RESULT([no])
1564e8b4ed9fSmrgelse
1565e8b4ed9fSmrg	if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
1566e8b4ed9fSmrg		TRADITIONALCPPFLAGS="-traditional"
1567e8b4ed9fSmrg		RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
1568e8b4ed9fSmrg		AC_MSG_RESULT([yes])
1569e8b4ed9fSmrg	else
1570e8b4ed9fSmrg		AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional.  I don't know what to do.])
1571e8b4ed9fSmrg	fi
1572e8b4ed9fSmrgfi
1573e8b4ed9fSmrgrm -f conftest.$ac_ext
1574e8b4ed9fSmrgAC_SUBST(RAWCPPFLAGS)
1575e8b4ed9fSmrgAC_SUBST(TRADITIONALCPPFLAGS)
1576e8b4ed9fSmrg]) # XORG_PROG_RAWCPP
1577b40a6198Smrg
1578e8b4ed9fSmrg# XORG_MANPAGE_SECTIONS()
15795592a31fSmrg# -----------------------
1580e8b4ed9fSmrg# Minimum version: 1.0.0
1581e8b4ed9fSmrg#
1582e8b4ed9fSmrg# Determine which sections man pages go in for the different man page types
1583e8b4ed9fSmrg# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
1584e8b4ed9fSmrg# Not sure if there's any better way than just hardcoding by OS name.
1585e8b4ed9fSmrg# Override default settings by setting environment variables
1586e8b4ed9fSmrg# Added MAN_SUBSTS in version 1.8
1587e8b4ed9fSmrg# Added AC_PROG_SED in version 1.8
15885592a31fSmrg
1589e8b4ed9fSmrgAC_DEFUN([XORG_MANPAGE_SECTIONS],[
1590e8b4ed9fSmrgAC_REQUIRE([AC_CANONICAL_HOST])
1591e8b4ed9fSmrgAC_REQUIRE([AC_PROG_SED])
15925592a31fSmrg
1593e8b4ed9fSmrgcase $host_os in
1594e8b4ed9fSmrg    solaris*)
1595e8b4ed9fSmrg        # Solaris 2.0 - 11.3 use SysV man page section numbers, so we
1596e8b4ed9fSmrg        # check for a man page file found in later versions that use
1597e8b4ed9fSmrg        # traditional section numbers instead
1598e8b4ed9fSmrg        AC_CHECK_FILE([/usr/share/man/man7/attributes.7],
1599e8b4ed9fSmrg                [SYSV_MAN_SECTIONS=false], [SYSV_MAN_SECTIONS=true])
1600e8b4ed9fSmrg        ;;
1601e8b4ed9fSmrg    *) SYSV_MAN_SECTIONS=false ;;
1602e8b4ed9fSmrgesac
16035592a31fSmrg
1604e8b4ed9fSmrgif test x$APP_MAN_SUFFIX = x    ; then
1605e8b4ed9fSmrg    APP_MAN_SUFFIX=1
1606e8b4ed9fSmrgfi
1607e8b4ed9fSmrgif test x$APP_MAN_DIR = x    ; then
1608e8b4ed9fSmrg    APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
1609e8b4ed9fSmrgfi
1610b40a6198Smrg
1611e8b4ed9fSmrgif test x$LIB_MAN_SUFFIX = x    ; then
1612e8b4ed9fSmrg    LIB_MAN_SUFFIX=3
1613e8b4ed9fSmrgfi
1614e8b4ed9fSmrgif test x$LIB_MAN_DIR = x    ; then
1615e8b4ed9fSmrg    LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
1616e8b4ed9fSmrgfi
16175592a31fSmrg
1618e8b4ed9fSmrgif test x$FILE_MAN_SUFFIX = x    ; then
1619e8b4ed9fSmrg    case $SYSV_MAN_SECTIONS in
1620e8b4ed9fSmrg	true)				FILE_MAN_SUFFIX=4  ;;
1621e8b4ed9fSmrg	*)				FILE_MAN_SUFFIX=5  ;;
1622e8b4ed9fSmrg    esac
1623e8b4ed9fSmrgfi
1624e8b4ed9fSmrgif test x$FILE_MAN_DIR = x    ; then
1625e8b4ed9fSmrg    FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
1626e8b4ed9fSmrgfi
16275592a31fSmrg
1628e8b4ed9fSmrgif test x$MISC_MAN_SUFFIX = x    ; then
1629e8b4ed9fSmrg    case $SYSV_MAN_SECTIONS in
1630e8b4ed9fSmrg	true)				MISC_MAN_SUFFIX=5  ;;
1631e8b4ed9fSmrg	*)				MISC_MAN_SUFFIX=7  ;;
1632e8b4ed9fSmrg    esac
1633e8b4ed9fSmrgfi
1634e8b4ed9fSmrgif test x$MISC_MAN_DIR = x    ; then
1635e8b4ed9fSmrg    MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
1636e8b4ed9fSmrgfi
16375592a31fSmrg
1638e8b4ed9fSmrgif test x$DRIVER_MAN_SUFFIX = x    ; then
1639e8b4ed9fSmrg    case $SYSV_MAN_SECTIONS in
1640e8b4ed9fSmrg	true)				DRIVER_MAN_SUFFIX=7  ;;
1641e8b4ed9fSmrg	*)				DRIVER_MAN_SUFFIX=4  ;;
1642e8b4ed9fSmrg    esac
1643e8b4ed9fSmrgfi
1644e8b4ed9fSmrgif test x$DRIVER_MAN_DIR = x    ; then
1645e8b4ed9fSmrg    DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
1646e8b4ed9fSmrgfi
164745bc899bSmrg
1648e8b4ed9fSmrgif test x$ADMIN_MAN_SUFFIX = x    ; then
1649e8b4ed9fSmrg    case $SYSV_MAN_SECTIONS in
1650e8b4ed9fSmrg	true)				ADMIN_MAN_SUFFIX=1m ;;
1651e8b4ed9fSmrg	*)				ADMIN_MAN_SUFFIX=8  ;;
1652e8b4ed9fSmrg    esac
1653e8b4ed9fSmrgfi
1654e8b4ed9fSmrgif test x$ADMIN_MAN_DIR = x    ; then
1655e8b4ed9fSmrg    ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
1656e8b4ed9fSmrgfi
16575592a31fSmrg
1658226fade8Smrg
1659e8b4ed9fSmrgAC_SUBST([APP_MAN_SUFFIX])
1660e8b4ed9fSmrgAC_SUBST([LIB_MAN_SUFFIX])
1661e8b4ed9fSmrgAC_SUBST([FILE_MAN_SUFFIX])
1662e8b4ed9fSmrgAC_SUBST([MISC_MAN_SUFFIX])
1663e8b4ed9fSmrgAC_SUBST([DRIVER_MAN_SUFFIX])
1664e8b4ed9fSmrgAC_SUBST([ADMIN_MAN_SUFFIX])
1665e8b4ed9fSmrgAC_SUBST([APP_MAN_DIR])
1666e8b4ed9fSmrgAC_SUBST([LIB_MAN_DIR])
1667e8b4ed9fSmrgAC_SUBST([FILE_MAN_DIR])
1668e8b4ed9fSmrgAC_SUBST([MISC_MAN_DIR])
1669e8b4ed9fSmrgAC_SUBST([DRIVER_MAN_DIR])
1670e8b4ed9fSmrgAC_SUBST([ADMIN_MAN_DIR])
1671226fade8Smrg
1672e8b4ed9fSmrgXORG_MAN_PAGE="X Version 11"
1673e8b4ed9fSmrgAC_SUBST([XORG_MAN_PAGE])
1674e8b4ed9fSmrgMAN_SUBSTS="\
1675e8b4ed9fSmrg	-e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
1676e8b4ed9fSmrg	-e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
1677e8b4ed9fSmrg	-e 's|__xservername__|Xorg|g' \
1678e8b4ed9fSmrg	-e 's|__xconfigfile__|xorg.conf|g' \
1679e8b4ed9fSmrg	-e 's|__projectroot__|\$(prefix)|g' \
1680e8b4ed9fSmrg	-e 's|__apploaddir__|\$(appdefaultdir)|g' \
1681e8b4ed9fSmrg	-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
1682e8b4ed9fSmrg	-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
1683e8b4ed9fSmrg	-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
1684e8b4ed9fSmrg	-e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
1685e8b4ed9fSmrg	-e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
1686e8b4ed9fSmrg	-e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
1687e8b4ed9fSmrgAC_SUBST([MAN_SUBSTS])
1688226fade8Smrg
1689e8b4ed9fSmrg]) # XORG_MANPAGE_SECTIONS
169045bc899bSmrg
1691e8b4ed9fSmrg# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION])
169250f2e948Smrg# ------------------------
1693e8b4ed9fSmrg# Minimum version: 1.7.0
1694e8b4ed9fSmrg#
1695e8b4ed9fSmrg# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent
1696e8b4ed9fSmrg# provided by xorg-sgml-doctools, if installed.
1697e8b4ed9fSmrgAC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[
1698e8b4ed9fSmrgAC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])])
1699e8b4ed9fSmrgXORG_SGML_PATH=
1700e8b4ed9fSmrgPKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])],
1701e8b4ed9fSmrg    [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`],
1702e8b4ed9fSmrg    [m4_ifval([$1],[:],
1703e8b4ed9fSmrg        [if test x"$cross_compiling" != x"yes" ; then
1704e8b4ed9fSmrg            AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent],
1705e8b4ed9fSmrg                          [XORG_SGML_PATH=$prefix/share/sgml])
1706e8b4ed9fSmrg         fi])
1707e8b4ed9fSmrg    ])
170845bc899bSmrg
1709e8b4ed9fSmrg# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
1710e8b4ed9fSmrg# the path and the name of the doc stylesheet
1711e8b4ed9fSmrgif test "x$XORG_SGML_PATH" != "x" ; then
1712e8b4ed9fSmrg   AC_MSG_RESULT([$XORG_SGML_PATH])
1713e8b4ed9fSmrg   STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
1714e8b4ed9fSmrg   XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
1715e8b4ed9fSmrgelse
1716e8b4ed9fSmrg   AC_MSG_RESULT([no])
1717e8b4ed9fSmrgfi
171845bc899bSmrg
1719e8b4ed9fSmrgAC_SUBST(XORG_SGML_PATH)
1720e8b4ed9fSmrgAC_SUBST(STYLESHEET_SRCDIR)
1721e8b4ed9fSmrgAC_SUBST(XSL_STYLESHEET)
1722e8b4ed9fSmrgAM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"])
1723e8b4ed9fSmrg]) # XORG_CHECK_SGML_DOCTOOLS
172450f2e948Smrg
1725e8b4ed9fSmrg# XORG_CHECK_LINUXDOC
1726e8b4ed9fSmrg# -------------------
1727e8b4ed9fSmrg# Minimum version: 1.0.0
1728e8b4ed9fSmrg#
1729e8b4ed9fSmrg# Defines the variable MAKE_TEXT if the necessary tools and
1730e8b4ed9fSmrg# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
1731e8b4ed9fSmrg# Whether or not the necessary tools and files are found can be checked
1732e8b4ed9fSmrg# with the AM_CONDITIONAL "BUILD_LINUXDOC"
1733e8b4ed9fSmrgAC_DEFUN([XORG_CHECK_LINUXDOC],[
1734e8b4ed9fSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
1735e8b4ed9fSmrgAC_REQUIRE([XORG_WITH_PS2PDF])
17361ac89addSmrg
1737e8b4ed9fSmrgAC_PATH_PROG(LINUXDOC, linuxdoc)
17385592a31fSmrg
1739e8b4ed9fSmrgAC_MSG_CHECKING([whether to build documentation])
17405592a31fSmrg
1741e8b4ed9fSmrgif test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then
1742e8b4ed9fSmrg   BUILDDOC=yes
1743b40a6198Smrgelse
1744e8b4ed9fSmrg   BUILDDOC=no
1745b40a6198Smrgfi
1746b40a6198Smrg
1747e8b4ed9fSmrgAM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
174845bc899bSmrg
1749e8b4ed9fSmrgAC_MSG_RESULT([$BUILDDOC])
1750226fade8Smrg
1751e8b4ed9fSmrgAC_MSG_CHECKING([whether to build pdf documentation])
1752b40a6198Smrg
1753e8b4ed9fSmrgif test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then
1754e8b4ed9fSmrg   BUILDPDFDOC=yes
17551ac89addSmrgelse
1756e8b4ed9fSmrg   BUILDPDFDOC=no
1757226fade8Smrgfi
17581ac89addSmrg
1759e8b4ed9fSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
17603a925b30Smrg
1761e8b4ed9fSmrgAC_MSG_RESULT([$BUILDPDFDOC])
17621ac89addSmrg
1763e8b4ed9fSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f"
1764e8b4ed9fSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
1765e8b4ed9fSmrgMAKE_PDF="$PS2PDF"
1766e8b4ed9fSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC  -B html --split=0"
176745bc899bSmrg
1768e8b4ed9fSmrgAC_SUBST(MAKE_TEXT)
1769e8b4ed9fSmrgAC_SUBST(MAKE_PS)
1770e8b4ed9fSmrgAC_SUBST(MAKE_PDF)
1771e8b4ed9fSmrgAC_SUBST(MAKE_HTML)
1772e8b4ed9fSmrg]) # XORG_CHECK_LINUXDOC
177345bc899bSmrg
1774e8b4ed9fSmrg# XORG_CHECK_DOCBOOK
1775e8b4ed9fSmrg# -------------------
1776e8b4ed9fSmrg# Minimum version: 1.0.0
1777e8b4ed9fSmrg#
1778e8b4ed9fSmrg# Checks for the ability to build output formats from SGML DocBook source.
1779e8b4ed9fSmrg# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
1780e8b4ed9fSmrg# indicates whether the necessary tools and files are found and, if set,
1781e8b4ed9fSmrg# $(MAKE_XXX) blah.sgml will produce blah.xxx.
1782e8b4ed9fSmrgAC_DEFUN([XORG_CHECK_DOCBOOK],[
1783e8b4ed9fSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
17841ac89addSmrg
1785e8b4ed9fSmrgBUILDTXTDOC=no
1786e8b4ed9fSmrgBUILDPDFDOC=no
1787e8b4ed9fSmrgBUILDPSDOC=no
1788e8b4ed9fSmrgBUILDHTMLDOC=no
1789b40a6198Smrg
1790e8b4ed9fSmrgAC_PATH_PROG(DOCBOOKPS, docbook2ps)
1791e8b4ed9fSmrgAC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
1792e8b4ed9fSmrgAC_PATH_PROG(DOCBOOKHTML, docbook2html)
1793e8b4ed9fSmrgAC_PATH_PROG(DOCBOOKTXT, docbook2txt)
1794b40a6198Smrg
1795e8b4ed9fSmrgAC_MSG_CHECKING([whether to build text documentation])
1796e8b4ed9fSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x &&
1797e8b4ed9fSmrg   test x$BUILD_TXTDOC != xno; then
1798e8b4ed9fSmrg	BUILDTXTDOC=yes
1799e8b4ed9fSmrgfi
1800e8b4ed9fSmrgAM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
1801e8b4ed9fSmrgAC_MSG_RESULT([$BUILDTXTDOC])
1802b40a6198Smrg
1803e8b4ed9fSmrgAC_MSG_CHECKING([whether to build PDF documentation])
1804e8b4ed9fSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x &&
1805e8b4ed9fSmrg   test x$BUILD_PDFDOC != xno; then
1806e8b4ed9fSmrg	BUILDPDFDOC=yes
1807e8b4ed9fSmrgfi
1808e8b4ed9fSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
1809e8b4ed9fSmrgAC_MSG_RESULT([$BUILDPDFDOC])
181050f2e948Smrg
1811e8b4ed9fSmrgAC_MSG_CHECKING([whether to build PostScript documentation])
1812e8b4ed9fSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x &&
1813e8b4ed9fSmrg   test x$BUILD_PSDOC != xno; then
1814e8b4ed9fSmrg	BUILDPSDOC=yes
1815e8b4ed9fSmrgfi
1816e8b4ed9fSmrgAM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
1817e8b4ed9fSmrgAC_MSG_RESULT([$BUILDPSDOC])
181845bc899bSmrg
1819e8b4ed9fSmrgAC_MSG_CHECKING([whether to build HTML documentation])
1820e8b4ed9fSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x &&
1821e8b4ed9fSmrg   test x$BUILD_HTMLDOC != xno; then
1822e8b4ed9fSmrg	BUILDHTMLDOC=yes
1823e8b4ed9fSmrgfi
1824e8b4ed9fSmrgAM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
1825e8b4ed9fSmrgAC_MSG_RESULT([$BUILDHTMLDOC])
1826f2408745Smrg
1827e8b4ed9fSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
1828e8b4ed9fSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
1829e8b4ed9fSmrgMAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
1830e8b4ed9fSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
183145bc899bSmrg
1832e8b4ed9fSmrgAC_SUBST(MAKE_TEXT)
1833e8b4ed9fSmrgAC_SUBST(MAKE_PS)
1834e8b4ed9fSmrgAC_SUBST(MAKE_PDF)
1835e8b4ed9fSmrgAC_SUBST(MAKE_HTML)
1836e8b4ed9fSmrg]) # XORG_CHECK_DOCBOOK
183745bc899bSmrg
1838e8b4ed9fSmrg# XORG_WITH_XMLTO([MIN-VERSION], [DEFAULT])
1839e8b4ed9fSmrg# ----------------
1840e8b4ed9fSmrg# Minimum version: 1.5.0
1841e8b4ed9fSmrg# Minimum version for optional DEFAULT argument: 1.11.0
1842e8b4ed9fSmrg#
1843e8b4ed9fSmrg# Documentation tools are not always available on all platforms and sometimes
1844e8b4ed9fSmrg# not at the appropriate level. This macro enables a module to test for the
1845e8b4ed9fSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
1846e8b4ed9fSmrg# the --with-xmlto option, it allows maximum flexibilty in making decisions
1847e8b4ed9fSmrg# as whether or not to use the xmlto package. When DEFAULT is not specified,
1848e8b4ed9fSmrg# --with-xmlto assumes 'auto'.
1849e8b4ed9fSmrg#
1850e8b4ed9fSmrg# Interface to module:
1851e8b4ed9fSmrg# HAVE_XMLTO: 	used in makefiles to conditionally generate documentation
1852e8b4ed9fSmrg# XMLTO:	returns the path of the xmlto program found
1853e8b4ed9fSmrg#		returns the path set by the user in the environment
1854e8b4ed9fSmrg# --with-xmlto:	'yes' user instructs the module to use xmlto
1855e8b4ed9fSmrg#		'no' user instructs the module not to use xmlto
1856e8b4ed9fSmrg#
1857e8b4ed9fSmrg# Added in version 1.10.0
1858e8b4ed9fSmrg# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation
1859e8b4ed9fSmrg#                  xmlto for text output requires either lynx, links, or w3m browsers
1860e8b4ed9fSmrg#
1861e8b4ed9fSmrg# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
1862e8b4ed9fSmrg#
1863e8b4ed9fSmrgAC_DEFUN([XORG_WITH_XMLTO],[
1864e8b4ed9fSmrgAC_ARG_VAR([XMLTO], [Path to xmlto command])
1865e8b4ed9fSmrgm4_define([_defopt], m4_default([$2], [auto]))
1866e8b4ed9fSmrgAC_ARG_WITH(xmlto,
1867e8b4ed9fSmrg	AS_HELP_STRING([--with-xmlto],
1868e8b4ed9fSmrg	   [Use xmlto to regenerate documentation (default: ]_defopt[)]),
1869e8b4ed9fSmrg	   [use_xmlto=$withval], [use_xmlto=]_defopt)
1870e8b4ed9fSmrgm4_undefine([_defopt])
18715592a31fSmrg
1872e8b4ed9fSmrgif test "x$use_xmlto" = x"auto"; then
1873e8b4ed9fSmrg   AC_PATH_PROG([XMLTO], [xmlto])
1874e8b4ed9fSmrg   if test "x$XMLTO" = "x"; then
1875e8b4ed9fSmrg        AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
1876e8b4ed9fSmrg	have_xmlto=no
1877e8b4ed9fSmrg   else
1878e8b4ed9fSmrg        have_xmlto=yes
1879e8b4ed9fSmrg   fi
1880e8b4ed9fSmrgelif test "x$use_xmlto" = x"yes" ; then
1881e8b4ed9fSmrg   AC_PATH_PROG([XMLTO], [xmlto])
1882e8b4ed9fSmrg   if test "x$XMLTO" = "x"; then
1883e8b4ed9fSmrg        AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH])
1884e8b4ed9fSmrg   fi
1885e8b4ed9fSmrg   have_xmlto=yes
1886e8b4ed9fSmrgelif test "x$use_xmlto" = x"no" ; then
1887e8b4ed9fSmrg   if test "x$XMLTO" != "x"; then
1888e8b4ed9fSmrg      AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
1889e8b4ed9fSmrg   fi
1890e8b4ed9fSmrg   have_xmlto=no
1891e8b4ed9fSmrgelse
1892e8b4ed9fSmrg   AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
1893e8b4ed9fSmrgfi
18945592a31fSmrg
1895e8b4ed9fSmrg# Test for a minimum version of xmlto, if provided.
1896e8b4ed9fSmrgm4_ifval([$1],
1897e8b4ed9fSmrg[if test "$have_xmlto" = yes; then
1898e8b4ed9fSmrg    # scrape the xmlto version
1899e8b4ed9fSmrg    AC_MSG_CHECKING([the xmlto version])
1900e8b4ed9fSmrg    xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
1901e8b4ed9fSmrg    AC_MSG_RESULT([$xmlto_version])
1902e8b4ed9fSmrg    AS_VERSION_COMPARE([$xmlto_version], [$1],
1903e8b4ed9fSmrg        [if test "x$use_xmlto" = xauto; then
1904e8b4ed9fSmrg            AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
1905e8b4ed9fSmrg            have_xmlto=no
1906e8b4ed9fSmrg        else
1907e8b4ed9fSmrg            AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
1908e8b4ed9fSmrg        fi])
1909e8b4ed9fSmrgfi])
1910b40a6198Smrg
1911e8b4ed9fSmrg# Test for the ability of xmlto to generate a text target
1912e8b4ed9fSmrg#
1913e8b4ed9fSmrg# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the
1914e8b4ed9fSmrg# following test for empty XML docbook files.
1915e8b4ed9fSmrg# For compatibility reasons use the following empty XML docbook file and if
1916e8b4ed9fSmrg# it fails try it again with a non-empty XML file.
1917e8b4ed9fSmrghave_xmlto_text=no
1918e8b4ed9fSmrgcat > conftest.xml << "EOF"
1919e8b4ed9fSmrgEOF
1920e8b4ed9fSmrgAS_IF([test "$have_xmlto" = yes],
1921e8b4ed9fSmrg      [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
1922e8b4ed9fSmrg             [have_xmlto_text=yes],
1923e8b4ed9fSmrg             [# Try it again with a non-empty XML file.
1924e8b4ed9fSmrg              cat > conftest.xml << "EOF"
1925e8b4ed9fSmrg<x></x>
1926e8b4ed9fSmrgEOF
1927e8b4ed9fSmrg              AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
1928e8b4ed9fSmrg                    [have_xmlto_text=yes],
1929e8b4ed9fSmrg                    [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])])
1930e8b4ed9fSmrgrm -f conftest.xml
1931e8b4ed9fSmrgAM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
1932e8b4ed9fSmrgAM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
1933e8b4ed9fSmrg]) # XORG_WITH_XMLTO
1934b40a6198Smrg
1935e8b4ed9fSmrg# XORG_WITH_XSLTPROC([MIN-VERSION], [DEFAULT])
1936e8b4ed9fSmrg# --------------------------------------------
1937e8b4ed9fSmrg# Minimum version: 1.12.0
1938e8b4ed9fSmrg# Minimum version for optional DEFAULT argument: 1.12.0
1939e8b4ed9fSmrg#
1940e8b4ed9fSmrg# XSLT (Extensible Stylesheet Language Transformations) is a declarative,
1941e8b4ed9fSmrg# XML-based language used for the transformation of XML documents.
1942e8b4ed9fSmrg# The xsltproc command line tool is for applying XSLT stylesheets to XML documents.
1943e8b4ed9fSmrg# It is used under the cover by xmlto to generate html files from DocBook/XML.
1944e8b4ed9fSmrg# The XSLT processor is often used as a standalone tool for transformations.
1945e8b4ed9fSmrg# It should not be assumed that this tool is used only to work with documnetation.
1946e8b4ed9fSmrg# When DEFAULT is not specified, --with-xsltproc assumes 'auto'.
1947e8b4ed9fSmrg#
1948e8b4ed9fSmrg# Interface to module:
1949e8b4ed9fSmrg# HAVE_XSLTPROC: used in makefiles to conditionally generate documentation
1950e8b4ed9fSmrg# XSLTPROC:	 returns the path of the xsltproc program found
1951e8b4ed9fSmrg#		 returns the path set by the user in the environment
1952e8b4ed9fSmrg# --with-xsltproc: 'yes' user instructs the module to use xsltproc
1953e8b4ed9fSmrg#		  'no' user instructs the module not to use xsltproc
1954e8b4ed9fSmrg# have_xsltproc: returns yes if xsltproc found in PATH or no
1955e8b4ed9fSmrg#
1956e8b4ed9fSmrg# If the user sets the value of XSLTPROC, AC_PATH_PROG skips testing the path.
1957e8b4ed9fSmrg#
1958e8b4ed9fSmrgAC_DEFUN([XORG_WITH_XSLTPROC],[
1959e8b4ed9fSmrgAC_ARG_VAR([XSLTPROC], [Path to xsltproc command])
1960e8b4ed9fSmrg# Preserves the interface, should it be implemented later
1961e8b4ed9fSmrgm4_ifval([$1], [m4_warn([syntax], [Checking for xsltproc MIN-VERSION is not implemented])])
1962e8b4ed9fSmrgm4_define([_defopt], m4_default([$2], [auto]))
1963e8b4ed9fSmrgAC_ARG_WITH(xsltproc,
1964e8b4ed9fSmrg	AS_HELP_STRING([--with-xsltproc],
1965e8b4ed9fSmrg	   [Use xsltproc for the transformation of XML documents (default: ]_defopt[)]),
1966e8b4ed9fSmrg	   [use_xsltproc=$withval], [use_xsltproc=]_defopt)
1967e8b4ed9fSmrgm4_undefine([_defopt])
1968e8b4ed9fSmrg
1969e8b4ed9fSmrgif test "x$use_xsltproc" = x"auto"; then
1970e8b4ed9fSmrg   AC_PATH_PROG([XSLTPROC], [xsltproc])
1971e8b4ed9fSmrg   if test "x$XSLTPROC" = "x"; then
1972e8b4ed9fSmrg        AC_MSG_WARN([xsltproc not found - cannot transform XML documents])
1973e8b4ed9fSmrg	have_xsltproc=no
1974e8b4ed9fSmrg   else
1975e8b4ed9fSmrg        have_xsltproc=yes
1976e8b4ed9fSmrg   fi
1977e8b4ed9fSmrgelif test "x$use_xsltproc" = x"yes" ; then
1978e8b4ed9fSmrg   AC_PATH_PROG([XSLTPROC], [xsltproc])
1979e8b4ed9fSmrg   if test "x$XSLTPROC" = "x"; then
1980e8b4ed9fSmrg        AC_MSG_ERROR([--with-xsltproc=yes specified but xsltproc not found in PATH])
1981e8b4ed9fSmrg   fi
1982e8b4ed9fSmrg   have_xsltproc=yes
1983e8b4ed9fSmrgelif test "x$use_xsltproc" = x"no" ; then
1984e8b4ed9fSmrg   if test "x$XSLTPROC" != "x"; then
1985e8b4ed9fSmrg      AC_MSG_WARN([ignoring XSLTPROC environment variable since --with-xsltproc=no was specified])
1986e8b4ed9fSmrg   fi
1987e8b4ed9fSmrg   have_xsltproc=no
1988b40a6198Smrgelse
1989e8b4ed9fSmrg   AC_MSG_ERROR([--with-xsltproc expects 'yes' or 'no'])
1990b40a6198Smrgfi
1991b40a6198Smrg
1992e8b4ed9fSmrgAM_CONDITIONAL([HAVE_XSLTPROC], [test "$have_xsltproc" = yes])
1993e8b4ed9fSmrg]) # XORG_WITH_XSLTPROC
1994b40a6198Smrg
1995e8b4ed9fSmrg# XORG_WITH_PERL([MIN-VERSION], [DEFAULT])
1996e8b4ed9fSmrg# ----------------------------------------
1997e8b4ed9fSmrg# Minimum version: 1.15.0
1998e8b4ed9fSmrg#
1999e8b4ed9fSmrg# PERL (Practical Extraction and Report Language) is a language optimized for
2000e8b4ed9fSmrg# scanning arbitrary text files, extracting information from those text files,
2001e8b4ed9fSmrg# and printing reports based on that information.
2002e8b4ed9fSmrg#
2003e8b4ed9fSmrg# When DEFAULT is not specified, --with-perl assumes 'auto'.
2004e8b4ed9fSmrg#
2005e8b4ed9fSmrg# Interface to module:
2006e8b4ed9fSmrg# HAVE_PERL: used in makefiles to conditionally scan text files
2007e8b4ed9fSmrg# PERL:	     returns the path of the perl program found
2008e8b4ed9fSmrg#	     returns the path set by the user in the environment
2009e8b4ed9fSmrg# --with-perl: 'yes' user instructs the module to use perl
2010e8b4ed9fSmrg#	       'no' user instructs the module not to use perl
2011e8b4ed9fSmrg# have_perl: returns yes if perl found in PATH or no
2012e8b4ed9fSmrg#
2013e8b4ed9fSmrg# If the user sets the value of PERL, AC_PATH_PROG skips testing the path.
2014e8b4ed9fSmrg#
2015e8b4ed9fSmrgAC_DEFUN([XORG_WITH_PERL],[
2016e8b4ed9fSmrgAC_ARG_VAR([PERL], [Path to perl command])
2017e8b4ed9fSmrg# Preserves the interface, should it be implemented later
2018e8b4ed9fSmrgm4_ifval([$1], [m4_warn([syntax], [Checking for perl MIN-VERSION is not implemented])])
2019e8b4ed9fSmrgm4_define([_defopt], m4_default([$2], [auto]))
2020e8b4ed9fSmrgAC_ARG_WITH(perl,
2021e8b4ed9fSmrg	AS_HELP_STRING([--with-perl],
2022e8b4ed9fSmrg	   [Use perl for extracting information from files (default: ]_defopt[)]),
2023e8b4ed9fSmrg	   [use_perl=$withval], [use_perl=]_defopt)
2024e8b4ed9fSmrgm4_undefine([_defopt])
20255592a31fSmrg
2026e8b4ed9fSmrgif test "x$use_perl" = x"auto"; then
2027e8b4ed9fSmrg   AC_PATH_PROG([PERL], [perl])
2028e8b4ed9fSmrg   if test "x$PERL" = "x"; then
2029e8b4ed9fSmrg        AC_MSG_WARN([perl not found - cannot extract information and report])
2030e8b4ed9fSmrg	have_perl=no
2031e8b4ed9fSmrg   else
2032e8b4ed9fSmrg        have_perl=yes
2033e8b4ed9fSmrg   fi
2034e8b4ed9fSmrgelif test "x$use_perl" = x"yes" ; then
2035e8b4ed9fSmrg   AC_PATH_PROG([PERL], [perl])
2036e8b4ed9fSmrg   if test "x$PERL" = "x"; then
2037e8b4ed9fSmrg        AC_MSG_ERROR([--with-perl=yes specified but perl not found in PATH])
2038e8b4ed9fSmrg   fi
2039e8b4ed9fSmrg   have_perl=yes
2040e8b4ed9fSmrgelif test "x$use_perl" = x"no" ; then
2041e8b4ed9fSmrg   if test "x$PERL" != "x"; then
2042e8b4ed9fSmrg      AC_MSG_WARN([ignoring PERL environment variable since --with-perl=no was specified])
2043e8b4ed9fSmrg   fi
2044e8b4ed9fSmrg   have_perl=no
2045e8b4ed9fSmrgelse
2046e8b4ed9fSmrg   AC_MSG_ERROR([--with-perl expects 'yes' or 'no'])
2047e8b4ed9fSmrgfi
204850f2e948Smrg
2049e8b4ed9fSmrgAM_CONDITIONAL([HAVE_PERL], [test "$have_perl" = yes])
2050e8b4ed9fSmrg]) # XORG_WITH_PERL
205145bc899bSmrg
2052e8b4ed9fSmrg# XORG_WITH_ASCIIDOC([MIN-VERSION], [DEFAULT])
2053e8b4ed9fSmrg# ----------------
2054e8b4ed9fSmrg# Minimum version: 1.5.0
2055e8b4ed9fSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2056e8b4ed9fSmrg#
2057e8b4ed9fSmrg# Documentation tools are not always available on all platforms and sometimes
2058e8b4ed9fSmrg# not at the appropriate level. This macro enables a module to test for the
2059e8b4ed9fSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2060e8b4ed9fSmrg# the --with-asciidoc option, it allows maximum flexibilty in making decisions
2061e8b4ed9fSmrg# as whether or not to use the asciidoc package. When DEFAULT is not specified,
2062e8b4ed9fSmrg# --with-asciidoc assumes 'auto'.
2063e8b4ed9fSmrg#
2064e8b4ed9fSmrg# Interface to module:
2065e8b4ed9fSmrg# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
2066e8b4ed9fSmrg# ASCIIDOC:	 returns the path of the asciidoc program found
2067e8b4ed9fSmrg#		 returns the path set by the user in the environment
2068e8b4ed9fSmrg# --with-asciidoc: 'yes' user instructs the module to use asciidoc
2069e8b4ed9fSmrg#		  'no' user instructs the module not to use asciidoc
2070e8b4ed9fSmrg#
2071e8b4ed9fSmrg# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path.
2072e8b4ed9fSmrg#
2073e8b4ed9fSmrgAC_DEFUN([XORG_WITH_ASCIIDOC],[
2074e8b4ed9fSmrgAC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
2075e8b4ed9fSmrgm4_define([_defopt], m4_default([$2], [auto]))
2076e8b4ed9fSmrgAC_ARG_WITH(asciidoc,
2077e8b4ed9fSmrg	AS_HELP_STRING([--with-asciidoc],
2078e8b4ed9fSmrg	   [Use asciidoc to regenerate documentation (default: ]_defopt[)]),
2079e8b4ed9fSmrg	   [use_asciidoc=$withval], [use_asciidoc=]_defopt)
2080e8b4ed9fSmrgm4_undefine([_defopt])
208145bc899bSmrg
2082e8b4ed9fSmrgif test "x$use_asciidoc" = x"auto"; then
2083e8b4ed9fSmrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
2084e8b4ed9fSmrg   if test "x$ASCIIDOC" = "x"; then
2085e8b4ed9fSmrg        AC_MSG_WARN([asciidoc not found - documentation targets will be skipped])
2086e8b4ed9fSmrg	have_asciidoc=no
2087e8b4ed9fSmrg   else
2088e8b4ed9fSmrg        have_asciidoc=yes
208950f2e948Smrg   fi
2090e8b4ed9fSmrgelif test "x$use_asciidoc" = x"yes" ; then
2091e8b4ed9fSmrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
2092e8b4ed9fSmrg   if test "x$ASCIIDOC" = "x"; then
2093e8b4ed9fSmrg        AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH])
2094e8b4ed9fSmrg   fi
2095e8b4ed9fSmrg   have_asciidoc=yes
2096e8b4ed9fSmrgelif test "x$use_asciidoc" = x"no" ; then
2097e8b4ed9fSmrg   if test "x$ASCIIDOC" != "x"; then
2098e8b4ed9fSmrg      AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified])
2099e8b4ed9fSmrg   fi
2100e8b4ed9fSmrg   have_asciidoc=no
210150f2e948Smrgelse
2102e8b4ed9fSmrg   AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no'])
210350f2e948Smrgfi
2104e8b4ed9fSmrgm4_ifval([$1],
2105e8b4ed9fSmrg[if test "$have_asciidoc" = yes; then
2106e8b4ed9fSmrg    # scrape the asciidoc version
2107e8b4ed9fSmrg    AC_MSG_CHECKING([the asciidoc version])
2108e8b4ed9fSmrg    asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2`
2109e8b4ed9fSmrg    AC_MSG_RESULT([$asciidoc_version])
2110e8b4ed9fSmrg    AS_VERSION_COMPARE([$asciidoc_version], [$1],
2111e8b4ed9fSmrg        [if test "x$use_asciidoc" = xauto; then
2112e8b4ed9fSmrg            AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed])
2113e8b4ed9fSmrg            have_asciidoc=no
2114e8b4ed9fSmrg        else
2115e8b4ed9fSmrg            AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed])
2116e8b4ed9fSmrg        fi])
2117e8b4ed9fSmrgfi])
2118e8b4ed9fSmrgAM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
2119e8b4ed9fSmrg]) # XORG_WITH_ASCIIDOC
212050f2e948Smrg
2121e8b4ed9fSmrg# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
2122e8b4ed9fSmrg# -------------------------------------------
2123e8b4ed9fSmrg# Minimum version: 1.5.0
2124e8b4ed9fSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2125e8b4ed9fSmrg# Minimum version for optional DOT checking: 1.18.0
2126e8b4ed9fSmrg#
2127e8b4ed9fSmrg# Documentation tools are not always available on all platforms and sometimes
2128e8b4ed9fSmrg# not at the appropriate level. This macro enables a module to test for the
2129e8b4ed9fSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2130e8b4ed9fSmrg# the --with-doxygen option, it allows maximum flexibilty in making decisions
2131e8b4ed9fSmrg# as whether or not to use the doxygen package. When DEFAULT is not specified,
2132e8b4ed9fSmrg# --with-doxygen assumes 'auto'.
2133e8b4ed9fSmrg#
2134e8b4ed9fSmrg# Interface to module:
2135e8b4ed9fSmrg# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
2136e8b4ed9fSmrg# DOXYGEN:	 returns the path of the doxygen program found
2137e8b4ed9fSmrg#		 returns the path set by the user in the environment
2138e8b4ed9fSmrg# --with-doxygen: 'yes' user instructs the module to use doxygen
2139e8b4ed9fSmrg#		  'no' user instructs the module not to use doxygen
2140e8b4ed9fSmrg#
2141e8b4ed9fSmrg# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path.
2142e8b4ed9fSmrg#
2143e8b4ed9fSmrgAC_DEFUN([XORG_WITH_DOXYGEN],[
2144e8b4ed9fSmrgAC_ARG_VAR([DOXYGEN], [Path to doxygen command])
2145e8b4ed9fSmrgAC_ARG_VAR([DOT], [Path to the dot graphics utility])
2146e8b4ed9fSmrgm4_define([_defopt], m4_default([$2], [auto]))
2147e8b4ed9fSmrgAC_ARG_WITH(doxygen,
2148e8b4ed9fSmrg	AS_HELP_STRING([--with-doxygen],
2149e8b4ed9fSmrg	   [Use doxygen to regenerate documentation (default: ]_defopt[)]),
2150e8b4ed9fSmrg	   [use_doxygen=$withval], [use_doxygen=]_defopt)
2151e8b4ed9fSmrgm4_undefine([_defopt])
21525592a31fSmrg
2153e8b4ed9fSmrgif test "x$use_doxygen" = x"auto"; then
2154e8b4ed9fSmrg   AC_PATH_PROG([DOXYGEN], [doxygen])
2155e8b4ed9fSmrg   if test "x$DOXYGEN" = "x"; then
2156e8b4ed9fSmrg        AC_MSG_WARN([doxygen not found - documentation targets will be skipped])
2157e8b4ed9fSmrg	have_doxygen=no
2158e8b4ed9fSmrg   else
2159e8b4ed9fSmrg        have_doxygen=yes
216050f2e948Smrg   fi
2161e8b4ed9fSmrgelif test "x$use_doxygen" = x"yes" ; then
2162e8b4ed9fSmrg   AC_PATH_PROG([DOXYGEN], [doxygen])
2163e8b4ed9fSmrg   if test "x$DOXYGEN" = "x"; then
2164e8b4ed9fSmrg        AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH])
2165e8b4ed9fSmrg   fi
2166e8b4ed9fSmrg   have_doxygen=yes
2167e8b4ed9fSmrgelif test "x$use_doxygen" = x"no" ; then
2168e8b4ed9fSmrg   if test "x$DOXYGEN" != "x"; then
2169e8b4ed9fSmrg      AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified])
2170e8b4ed9fSmrg   fi
2171e8b4ed9fSmrg   have_doxygen=no
217250f2e948Smrgelse
2173e8b4ed9fSmrg   AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no'])
217450f2e948Smrgfi
2175e8b4ed9fSmrgm4_ifval([$1],
2176e8b4ed9fSmrg[if test "$have_doxygen" = yes; then
2177e8b4ed9fSmrg    # scrape the doxygen version
2178e8b4ed9fSmrg    AC_MSG_CHECKING([the doxygen version])
2179e8b4ed9fSmrg    doxygen_version=`$DOXYGEN --version 2>/dev/null`
2180e8b4ed9fSmrg    AC_MSG_RESULT([$doxygen_version])
2181e8b4ed9fSmrg    AS_VERSION_COMPARE([$doxygen_version], [$1],
2182e8b4ed9fSmrg        [if test "x$use_doxygen" = xauto; then
2183e8b4ed9fSmrg            AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed])
2184e8b4ed9fSmrg            have_doxygen=no
2185e8b4ed9fSmrg        else
2186e8b4ed9fSmrg            AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
2187e8b4ed9fSmrg        fi])
2188e8b4ed9fSmrgfi])
218950f2e948Smrg
2190e8b4ed9fSmrgdnl Check for DOT if we have doxygen. The caller decides if it is mandatory
2191e8b4ed9fSmrgdnl HAVE_DOT is a variable that can be used in your doxygen.in config file:
2192e8b4ed9fSmrgdnl 	HAVE_DOT = @HAVE_DOT@
2193e8b4ed9fSmrgHAVE_DOT=no
2194e8b4ed9fSmrgif test "x$have_doxygen" = "xyes"; then
2195e8b4ed9fSmrg  AC_PATH_PROG([DOT], [dot])
2196e8b4ed9fSmrg    if test "x$DOT" != "x"; then
2197e8b4ed9fSmrg      HAVE_DOT=yes
2198e8b4ed9fSmrg    fi
2199e8b4ed9fSmrgfi
22005592a31fSmrg
2201e8b4ed9fSmrgAC_SUBST([HAVE_DOT])
2202e8b4ed9fSmrgAM_CONDITIONAL([HAVE_DOT], [test "$HAVE_DOT" = "yes"])
2203e8b4ed9fSmrgAM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
2204e8b4ed9fSmrg]) # XORG_WITH_DOXYGEN
220545bc899bSmrg
2206e8b4ed9fSmrg# XORG_WITH_GROFF([DEFAULT])
2207e8b4ed9fSmrg# ----------------
2208e8b4ed9fSmrg# Minimum version: 1.6.0
2209e8b4ed9fSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2210e8b4ed9fSmrg#
2211e8b4ed9fSmrg# Documentation tools are not always available on all platforms and sometimes
2212e8b4ed9fSmrg# not at the appropriate level. This macro enables a module to test for the
2213e8b4ed9fSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2214e8b4ed9fSmrg# the --with-groff option, it allows maximum flexibilty in making decisions
2215e8b4ed9fSmrg# as whether or not to use the groff package. When DEFAULT is not specified,
2216e8b4ed9fSmrg# --with-groff assumes 'auto'.
2217e8b4ed9fSmrg#
2218e8b4ed9fSmrg# Interface to module:
2219e8b4ed9fSmrg# HAVE_GROFF:	 used in makefiles to conditionally generate documentation
2220e8b4ed9fSmrg# HAVE_GROFF_MM: the memorandum macros (-mm) package
2221e8b4ed9fSmrg# HAVE_GROFF_MS: the -ms macros package
2222e8b4ed9fSmrg# GROFF:	 returns the path of the groff program found
2223e8b4ed9fSmrg#		 returns the path set by the user in the environment
2224e8b4ed9fSmrg# --with-groff:	 'yes' user instructs the module to use groff
2225e8b4ed9fSmrg#		 'no' user instructs the module not to use groff
2226e8b4ed9fSmrg#
2227e8b4ed9fSmrg# Added in version 1.9.0:
2228e8b4ed9fSmrg# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
2229e8b4ed9fSmrg#		   pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
2230e8b4ed9fSmrg#		   psselect from the psutils package.
2231e8b4ed9fSmrg#		   the ghostcript package. Refer to the grohtml man pages
2232e8b4ed9fSmrg#
2233e8b4ed9fSmrg# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
2234e8b4ed9fSmrg#
2235e8b4ed9fSmrg# OS and distros often splits groff in a basic and full package, the former
2236e8b4ed9fSmrg# having the groff program and the later having devices, fonts and macros
2237e8b4ed9fSmrg# Checking for the groff executable is not enough.
2238e8b4ed9fSmrg#
2239e8b4ed9fSmrg# If macros are missing, we cannot assume that groff is useless, so we don't
2240e8b4ed9fSmrg# unset HAVE_GROFF or GROFF env variables.
2241e8b4ed9fSmrg# HAVE_GROFF_?? can never be true while HAVE_GROFF is false.
2242e8b4ed9fSmrg#
2243e8b4ed9fSmrgAC_DEFUN([XORG_WITH_GROFF],[
2244e8b4ed9fSmrgAC_ARG_VAR([GROFF], [Path to groff command])
2245e8b4ed9fSmrgm4_define([_defopt], m4_default([$1], [auto]))
2246e8b4ed9fSmrgAC_ARG_WITH(groff,
2247e8b4ed9fSmrg	AS_HELP_STRING([--with-groff],
2248e8b4ed9fSmrg	   [Use groff to regenerate documentation (default: ]_defopt[)]),
2249e8b4ed9fSmrg	   [use_groff=$withval], [use_groff=]_defopt)
2250e8b4ed9fSmrgm4_undefine([_defopt])
225150f2e948Smrg
2252e8b4ed9fSmrgif test "x$use_groff" = x"auto"; then
2253e8b4ed9fSmrg   AC_PATH_PROG([GROFF], [groff])
2254e8b4ed9fSmrg   if test "x$GROFF" = "x"; then
2255e8b4ed9fSmrg        AC_MSG_WARN([groff not found - documentation targets will be skipped])
2256e8b4ed9fSmrg	have_groff=no
2257e8b4ed9fSmrg   else
2258e8b4ed9fSmrg        have_groff=yes
2259e8b4ed9fSmrg   fi
2260e8b4ed9fSmrgelif test "x$use_groff" = x"yes" ; then
2261e8b4ed9fSmrg   AC_PATH_PROG([GROFF], [groff])
2262e8b4ed9fSmrg   if test "x$GROFF" = "x"; then
2263e8b4ed9fSmrg        AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH])
2264e8b4ed9fSmrg   fi
2265e8b4ed9fSmrg   have_groff=yes
2266e8b4ed9fSmrgelif test "x$use_groff" = x"no" ; then
2267e8b4ed9fSmrg   if test "x$GROFF" != "x"; then
2268e8b4ed9fSmrg      AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified])
2269e8b4ed9fSmrg   fi
2270e8b4ed9fSmrg   have_groff=no
2271e8b4ed9fSmrgelse
2272e8b4ed9fSmrg   AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
2273e8b4ed9fSmrgfi
2274b40a6198Smrg
2275e8b4ed9fSmrg# We have groff, test for the presence of the macro packages
2276e8b4ed9fSmrgif test "x$have_groff" = x"yes"; then
2277e8b4ed9fSmrg    AC_MSG_CHECKING([for ${GROFF} -ms macros])
2278e8b4ed9fSmrg    if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then
2279e8b4ed9fSmrg        groff_ms_works=yes
228050f2e948Smrg    else
2281e8b4ed9fSmrg        groff_ms_works=no
228250f2e948Smrg    fi
2283e8b4ed9fSmrg    AC_MSG_RESULT([$groff_ms_works])
2284e8b4ed9fSmrg    AC_MSG_CHECKING([for ${GROFF} -mm macros])
2285e8b4ed9fSmrg    if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then
2286e8b4ed9fSmrg        groff_mm_works=yes
228750f2e948Smrg    else
2288e8b4ed9fSmrg        groff_mm_works=no
228950f2e948Smrg    fi
2290e8b4ed9fSmrg    AC_MSG_RESULT([$groff_mm_works])
229150f2e948Smrgfi
229245bc899bSmrg
2293e8b4ed9fSmrg# We have groff, test for HTML dependencies, one command per package
2294e8b4ed9fSmrgif test "x$have_groff" = x"yes"; then
2295e8b4ed9fSmrg   AC_PATH_PROGS(GS_PATH, [gs gswin32c])
2296e8b4ed9fSmrg   AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
2297e8b4ed9fSmrg   AC_PATH_PROG(PSSELECT_PATH, [psselect])
2298e8b4ed9fSmrg   if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then
2299e8b4ed9fSmrg      have_groff_html=yes
2300e8b4ed9fSmrg   else
2301e8b4ed9fSmrg      have_groff_html=no
2302e8b4ed9fSmrg      AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages])
2303e8b4ed9fSmrg   fi
2304e8b4ed9fSmrgfi
2305226fade8Smrg
2306e8b4ed9fSmrg# Set Automake conditionals for Makefiles
2307e8b4ed9fSmrgAM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes])
2308e8b4ed9fSmrgAM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes])
2309e8b4ed9fSmrgAM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
2310e8b4ed9fSmrgAM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
2311e8b4ed9fSmrg]) # XORG_WITH_GROFF
231245bc899bSmrg
2313e8b4ed9fSmrg# XORG_WITH_FOP([MIN-VERSION], [DEFAULT])
2314e8b4ed9fSmrg# ---------------------------------------
2315e8b4ed9fSmrg# Minimum version: 1.6.0
2316e8b4ed9fSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2317e8b4ed9fSmrg# Minimum version for optional MIN-VERSION argument: 1.15.0
2318e8b4ed9fSmrg#
2319e8b4ed9fSmrg# Documentation tools are not always available on all platforms and sometimes
2320e8b4ed9fSmrg# not at the appropriate level. This macro enables a module to test for the
2321e8b4ed9fSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2322e8b4ed9fSmrg# the --with-fop option, it allows maximum flexibilty in making decisions
2323e8b4ed9fSmrg# as whether or not to use the fop package. When DEFAULT is not specified,
2324e8b4ed9fSmrg# --with-fop assumes 'auto'.
2325e8b4ed9fSmrg#
2326e8b4ed9fSmrg# Interface to module:
2327e8b4ed9fSmrg# HAVE_FOP: 	used in makefiles to conditionally generate documentation
2328e8b4ed9fSmrg# FOP:	 	returns the path of the fop program found
2329e8b4ed9fSmrg#		returns the path set by the user in the environment
2330e8b4ed9fSmrg# --with-fop: 	'yes' user instructs the module to use fop
2331e8b4ed9fSmrg#		'no' user instructs the module not to use fop
2332e8b4ed9fSmrg#
2333e8b4ed9fSmrg# If the user sets the value of FOP, AC_PATH_PROG skips testing the path.
2334e8b4ed9fSmrg#
2335e8b4ed9fSmrgAC_DEFUN([XORG_WITH_FOP],[
2336e8b4ed9fSmrgAC_ARG_VAR([FOP], [Path to fop command])
2337e8b4ed9fSmrgm4_define([_defopt], m4_default([$2], [auto]))
2338e8b4ed9fSmrgAC_ARG_WITH(fop,
2339e8b4ed9fSmrg	AS_HELP_STRING([--with-fop],
2340e8b4ed9fSmrg	   [Use fop to regenerate documentation (default: ]_defopt[)]),
2341e8b4ed9fSmrg	   [use_fop=$withval], [use_fop=]_defopt)
2342e8b4ed9fSmrgm4_undefine([_defopt])
234345bc899bSmrg
2344e8b4ed9fSmrgif test "x$use_fop" = x"auto"; then
2345e8b4ed9fSmrg   AC_PATH_PROG([FOP], [fop])
2346e8b4ed9fSmrg   if test "x$FOP" = "x"; then
2347e8b4ed9fSmrg        AC_MSG_WARN([fop not found - documentation targets will be skipped])
2348e8b4ed9fSmrg	have_fop=no
2349e8b4ed9fSmrg   else
2350e8b4ed9fSmrg        have_fop=yes
2351e8b4ed9fSmrg   fi
2352e8b4ed9fSmrgelif test "x$use_fop" = x"yes" ; then
2353e8b4ed9fSmrg   AC_PATH_PROG([FOP], [fop])
2354e8b4ed9fSmrg   if test "x$FOP" = "x"; then
2355e8b4ed9fSmrg        AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH])
2356e8b4ed9fSmrg   fi
2357e8b4ed9fSmrg   have_fop=yes
2358e8b4ed9fSmrgelif test "x$use_fop" = x"no" ; then
2359e8b4ed9fSmrg   if test "x$FOP" != "x"; then
2360e8b4ed9fSmrg      AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified])
2361e8b4ed9fSmrg   fi
2362e8b4ed9fSmrg   have_fop=no
2363e8b4ed9fSmrgelse
2364e8b4ed9fSmrg   AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
2365e8b4ed9fSmrgfi
236645bc899bSmrg
2367e8b4ed9fSmrg# Test for a minimum version of fop, if provided.
2368e8b4ed9fSmrgm4_ifval([$1],
2369e8b4ed9fSmrg[if test "$have_fop" = yes; then
2370e8b4ed9fSmrg    # scrape the fop version
2371e8b4ed9fSmrg    AC_MSG_CHECKING([for fop minimum version])
2372e8b4ed9fSmrg    fop_version=`$FOP -version 2>/dev/null | cut -d' ' -f3`
2373e8b4ed9fSmrg    AC_MSG_RESULT([$fop_version])
2374e8b4ed9fSmrg    AS_VERSION_COMPARE([$fop_version], [$1],
2375e8b4ed9fSmrg        [if test "x$use_fop" = xauto; then
2376e8b4ed9fSmrg            AC_MSG_WARN([fop version $fop_version found, but $1 needed])
2377e8b4ed9fSmrg            have_fop=no
2378e8b4ed9fSmrg        else
2379e8b4ed9fSmrg            AC_MSG_ERROR([fop version $fop_version found, but $1 needed])
2380e8b4ed9fSmrg        fi])
2381e8b4ed9fSmrgfi])
2382e8b4ed9fSmrgAM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
2383e8b4ed9fSmrg]) # XORG_WITH_FOP
238445bc899bSmrg
2385e8b4ed9fSmrg# XORG_WITH_M4([MIN-VERSION])
2386e8b4ed9fSmrg# ---------------------------
2387e8b4ed9fSmrg# Minimum version: 1.19.0
2388e8b4ed9fSmrg#
2389e8b4ed9fSmrg# This macro attempts to locate an m4 macro processor which supports
2390e8b4ed9fSmrg# -I option and is only useful for modules relying on M4 in order to
2391e8b4ed9fSmrg# expand macros in source code files.
2392e8b4ed9fSmrg#
2393e8b4ed9fSmrg# Interface to module:
2394e8b4ed9fSmrg# M4:	 	returns the path of the m4 program found
2395e8b4ed9fSmrg#		returns the path set by the user in the environment
2396e8b4ed9fSmrg#
2397e8b4ed9fSmrgAC_DEFUN([XORG_WITH_M4], [
2398e8b4ed9fSmrgAC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4],
2399e8b4ed9fSmrg   [AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4],
2400e8b4ed9fSmrg       [[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \
2401e8b4ed9fSmrg         ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]],
2402e8b4ed9fSmrg   [AC_MSG_ERROR([could not find m4 that supports -I option])],
2403e8b4ed9fSmrg   [$PATH:/usr/gnu/bin])])
2404b40a6198Smrg
2405e8b4ed9fSmrgAC_SUBST([M4], [$ac_cv_path_M4])
2406e8b4ed9fSmrg]) # XORG_WITH_M4
240750f2e948Smrg
2408e8b4ed9fSmrg# XORG_WITH_PS2PDF([DEFAULT])
2409e8b4ed9fSmrg# ----------------
2410e8b4ed9fSmrg# Minimum version: 1.6.0
2411e8b4ed9fSmrg# Minimum version for optional DEFAULT argument: 1.11.0
2412e8b4ed9fSmrg#
2413e8b4ed9fSmrg# Documentation tools are not always available on all platforms and sometimes
2414e8b4ed9fSmrg# not at the appropriate level. This macro enables a module to test for the
2415e8b4ed9fSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
2416e8b4ed9fSmrg# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
2417e8b4ed9fSmrg# as whether or not to use the ps2pdf package. When DEFAULT is not specified,
2418e8b4ed9fSmrg# --with-ps2pdf assumes 'auto'.
2419e8b4ed9fSmrg#
2420e8b4ed9fSmrg# Interface to module:
2421e8b4ed9fSmrg# HAVE_PS2PDF: 	used in makefiles to conditionally generate documentation
2422e8b4ed9fSmrg# PS2PDF:	returns the path of the ps2pdf program found
2423e8b4ed9fSmrg#		returns the path set by the user in the environment
2424e8b4ed9fSmrg# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf
2425e8b4ed9fSmrg#		 'no' user instructs the module not to use ps2pdf
2426e8b4ed9fSmrg#
2427e8b4ed9fSmrg# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path.
2428e8b4ed9fSmrg#
2429e8b4ed9fSmrgAC_DEFUN([XORG_WITH_PS2PDF],[
2430e8b4ed9fSmrgAC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
2431e8b4ed9fSmrgm4_define([_defopt], m4_default([$1], [auto]))
2432e8b4ed9fSmrgAC_ARG_WITH(ps2pdf,
2433e8b4ed9fSmrg	AS_HELP_STRING([--with-ps2pdf],
2434e8b4ed9fSmrg	   [Use ps2pdf to regenerate documentation (default: ]_defopt[)]),
2435e8b4ed9fSmrg	   [use_ps2pdf=$withval], [use_ps2pdf=]_defopt)
2436e8b4ed9fSmrgm4_undefine([_defopt])
243745bc899bSmrg
2438e8b4ed9fSmrgif test "x$use_ps2pdf" = x"auto"; then
2439e8b4ed9fSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
2440e8b4ed9fSmrg   if test "x$PS2PDF" = "x"; then
2441e8b4ed9fSmrg        AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped])
2442e8b4ed9fSmrg	have_ps2pdf=no
2443e8b4ed9fSmrg   else
2444e8b4ed9fSmrg        have_ps2pdf=yes
2445e8b4ed9fSmrg   fi
2446e8b4ed9fSmrgelif test "x$use_ps2pdf" = x"yes" ; then
2447e8b4ed9fSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
2448e8b4ed9fSmrg   if test "x$PS2PDF" = "x"; then
2449e8b4ed9fSmrg        AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH])
2450e8b4ed9fSmrg   fi
2451e8b4ed9fSmrg   have_ps2pdf=yes
2452e8b4ed9fSmrgelif test "x$use_ps2pdf" = x"no" ; then
2453e8b4ed9fSmrg   if test "x$PS2PDF" != "x"; then
2454e8b4ed9fSmrg      AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified])
2455e8b4ed9fSmrg   fi
2456e8b4ed9fSmrg   have_ps2pdf=no
2457e8b4ed9fSmrgelse
2458e8b4ed9fSmrg   AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no'])
245945bc899bSmrgfi
2460e8b4ed9fSmrgAM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
2461e8b4ed9fSmrg]) # XORG_WITH_PS2PDF
246245bc899bSmrg
2463e8b4ed9fSmrg# XORG_ENABLE_DOCS (enable_docs=yes)
2464e8b4ed9fSmrg# ----------------
2465e8b4ed9fSmrg# Minimum version: 1.6.0
2466e8b4ed9fSmrg#
2467e8b4ed9fSmrg# Documentation tools are not always available on all platforms and sometimes
2468e8b4ed9fSmrg# not at the appropriate level. This macro enables a builder to skip all
2469e8b4ed9fSmrg# documentation targets except traditional man pages.
2470e8b4ed9fSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
2471e8b4ed9fSmrg# maximum flexibilty in controlling documentation building.
2472e8b4ed9fSmrg# Refer to:
2473e8b4ed9fSmrg# XORG_WITH_XMLTO         --with-xmlto
2474e8b4ed9fSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
2475e8b4ed9fSmrg# XORG_WITH_DOXYGEN       --with-doxygen
2476e8b4ed9fSmrg# XORG_WITH_FOP           --with-fop
2477e8b4ed9fSmrg# XORG_WITH_GROFF         --with-groff
2478e8b4ed9fSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
2479e8b4ed9fSmrg#
2480e8b4ed9fSmrg# Interface to module:
2481e8b4ed9fSmrg# ENABLE_DOCS: 	  used in makefiles to conditionally generate documentation
2482e8b4ed9fSmrg# --enable-docs: 'yes' user instructs the module to generate docs
2483e8b4ed9fSmrg#		 'no' user instructs the module not to generate docs
2484e8b4ed9fSmrg# parm1:	specify the default value, yes or no.
2485e8b4ed9fSmrg#
2486e8b4ed9fSmrgAC_DEFUN([XORG_ENABLE_DOCS],[
2487e8b4ed9fSmrgm4_define([docs_default], m4_default([$1], [yes]))
2488e8b4ed9fSmrgAC_ARG_ENABLE(docs,
2489e8b4ed9fSmrg	AS_HELP_STRING([--enable-docs],
2490e8b4ed9fSmrg	   [Enable building the documentation (default: ]docs_default[)]),
2491e8b4ed9fSmrg	   [build_docs=$enableval], [build_docs=]docs_default)
2492e8b4ed9fSmrgm4_undefine([docs_default])
2493e8b4ed9fSmrgAM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
2494e8b4ed9fSmrgAC_MSG_CHECKING([whether to build documentation])
2495e8b4ed9fSmrgAC_MSG_RESULT([$build_docs])
2496e8b4ed9fSmrg]) # XORG_ENABLE_DOCS
2497226fade8Smrg
2498e8b4ed9fSmrg# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes)
2499e8b4ed9fSmrg# ----------------
2500e8b4ed9fSmrg# Minimum version: 1.6.0
2501e8b4ed9fSmrg#
2502e8b4ed9fSmrg# This macro enables a builder to skip all developer documentation.
2503e8b4ed9fSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
2504e8b4ed9fSmrg# maximum flexibilty in controlling documentation building.
2505e8b4ed9fSmrg# Refer to:
2506e8b4ed9fSmrg# XORG_WITH_XMLTO         --with-xmlto
2507e8b4ed9fSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
2508e8b4ed9fSmrg# XORG_WITH_DOXYGEN       --with-doxygen
2509e8b4ed9fSmrg# XORG_WITH_FOP           --with-fop
2510e8b4ed9fSmrg# XORG_WITH_GROFF         --with-groff
2511e8b4ed9fSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
2512e8b4ed9fSmrg#
2513e8b4ed9fSmrg# Interface to module:
2514e8b4ed9fSmrg# ENABLE_DEVEL_DOCS:	used in makefiles to conditionally generate developer docs
2515e8b4ed9fSmrg# --enable-devel-docs:	'yes' user instructs the module to generate developer docs
2516e8b4ed9fSmrg#			'no' user instructs the module not to generate developer docs
2517e8b4ed9fSmrg# parm1:		specify the default value, yes or no.
2518e8b4ed9fSmrg#
2519e8b4ed9fSmrgAC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
2520e8b4ed9fSmrgm4_define([devel_default], m4_default([$1], [yes]))
2521e8b4ed9fSmrgAC_ARG_ENABLE(devel-docs,
2522e8b4ed9fSmrg	AS_HELP_STRING([--enable-devel-docs],
2523e8b4ed9fSmrg	   [Enable building the developer documentation (default: ]devel_default[)]),
2524e8b4ed9fSmrg	   [build_devel_docs=$enableval], [build_devel_docs=]devel_default)
2525e8b4ed9fSmrgm4_undefine([devel_default])
2526e8b4ed9fSmrgAM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
2527e8b4ed9fSmrgAC_MSG_CHECKING([whether to build developer documentation])
2528e8b4ed9fSmrgAC_MSG_RESULT([$build_devel_docs])
2529e8b4ed9fSmrg]) # XORG_ENABLE_DEVEL_DOCS
2530226fade8Smrg
2531e8b4ed9fSmrg# XORG_ENABLE_SPECS (enable_specs=yes)
2532e8b4ed9fSmrg# ----------------
2533e8b4ed9fSmrg# Minimum version: 1.6.0
2534e8b4ed9fSmrg#
2535e8b4ed9fSmrg# This macro enables a builder to skip all functional specification targets.
2536e8b4ed9fSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
2537e8b4ed9fSmrg# maximum flexibilty in controlling documentation building.
2538e8b4ed9fSmrg# Refer to:
2539e8b4ed9fSmrg# XORG_WITH_XMLTO         --with-xmlto
2540e8b4ed9fSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
2541e8b4ed9fSmrg# XORG_WITH_DOXYGEN       --with-doxygen
2542e8b4ed9fSmrg# XORG_WITH_FOP           --with-fop
2543e8b4ed9fSmrg# XORG_WITH_GROFF         --with-groff
2544e8b4ed9fSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
2545e8b4ed9fSmrg#
2546e8b4ed9fSmrg# Interface to module:
2547e8b4ed9fSmrg# ENABLE_SPECS:		used in makefiles to conditionally generate specs
2548e8b4ed9fSmrg# --enable-specs:	'yes' user instructs the module to generate specs
2549e8b4ed9fSmrg#			'no' user instructs the module not to generate specs
2550e8b4ed9fSmrg# parm1:		specify the default value, yes or no.
2551e8b4ed9fSmrg#
2552e8b4ed9fSmrgAC_DEFUN([XORG_ENABLE_SPECS],[
2553e8b4ed9fSmrgm4_define([spec_default], m4_default([$1], [yes]))
2554e8b4ed9fSmrgAC_ARG_ENABLE(specs,
2555e8b4ed9fSmrg	AS_HELP_STRING([--enable-specs],
2556e8b4ed9fSmrg	   [Enable building the specs (default: ]spec_default[)]),
2557e8b4ed9fSmrg	   [build_specs=$enableval], [build_specs=]spec_default)
2558e8b4ed9fSmrgm4_undefine([spec_default])
2559e8b4ed9fSmrgAM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
2560e8b4ed9fSmrgAC_MSG_CHECKING([whether to build functional specifications])
2561e8b4ed9fSmrgAC_MSG_RESULT([$build_specs])
2562e8b4ed9fSmrg]) # XORG_ENABLE_SPECS
2563226fade8Smrg
2564e8b4ed9fSmrg# XORG_ENABLE_UNIT_TESTS (enable_unit_tests=auto)
2565e8b4ed9fSmrg# ----------------------------------------------
2566e8b4ed9fSmrg# Minimum version: 1.13.0
2567e8b4ed9fSmrg#
2568e8b4ed9fSmrg# This macro enables a builder to enable/disable unit testing
2569e8b4ed9fSmrg# It makes no assumption about the test cases implementation
2570e8b4ed9fSmrg# Test cases may or may not use Automake "Support for test suites"
2571e8b4ed9fSmrg# They may or may not use the software utility library GLib
2572e8b4ed9fSmrg#
2573e8b4ed9fSmrg# When used in conjunction with XORG_WITH_GLIB, use both AM_CONDITIONAL
2574e8b4ed9fSmrg# ENABLE_UNIT_TESTS and HAVE_GLIB. Not all unit tests may use glib.
2575e8b4ed9fSmrg# The variable enable_unit_tests is used by other macros in this file.
2576e8b4ed9fSmrg#
2577e8b4ed9fSmrg# Interface to module:
2578e8b4ed9fSmrg# ENABLE_UNIT_TESTS:	used in makefiles to conditionally build tests
2579e8b4ed9fSmrg# enable_unit_tests:    used in configure.ac for additional configuration
2580e8b4ed9fSmrg# --enable-unit-tests:	'yes' user instructs the module to build tests
2581e8b4ed9fSmrg#			'no' user instructs the module not to build tests
2582e8b4ed9fSmrg# parm1:		specify the default value, yes or no.
2583e8b4ed9fSmrg#
2584e8b4ed9fSmrgAC_DEFUN([XORG_ENABLE_UNIT_TESTS],[
2585e8b4ed9fSmrgAC_BEFORE([$0], [XORG_WITH_GLIB])
2586e8b4ed9fSmrgAC_BEFORE([$0], [XORG_LD_WRAP])
2587e8b4ed9fSmrgAC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
2588e8b4ed9fSmrgm4_define([_defopt], m4_default([$1], [auto]))
2589e8b4ed9fSmrgAC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--enable-unit-tests],
2590e8b4ed9fSmrg	[Enable building unit test cases (default: ]_defopt[)]),
2591e8b4ed9fSmrg	[enable_unit_tests=$enableval], [enable_unit_tests=]_defopt)
2592e8b4ed9fSmrgm4_undefine([_defopt])
2593e8b4ed9fSmrgAM_CONDITIONAL(ENABLE_UNIT_TESTS, [test "x$enable_unit_tests" != xno])
2594e8b4ed9fSmrgAC_MSG_CHECKING([whether to build unit test cases])
2595e8b4ed9fSmrgAC_MSG_RESULT([$enable_unit_tests])
2596e8b4ed9fSmrg]) # XORG_ENABLE_UNIT_TESTS
2597226fade8Smrg
2598e8b4ed9fSmrg# XORG_ENABLE_INTEGRATION_TESTS (enable_unit_tests=auto)
2599e8b4ed9fSmrg# ------------------------------------------------------
2600e8b4ed9fSmrg# Minimum version: 1.17.0
2601e8b4ed9fSmrg#
2602e8b4ed9fSmrg# This macro enables a builder to enable/disable integration testing
2603e8b4ed9fSmrg# It makes no assumption about the test cases' implementation
2604e8b4ed9fSmrg# Test cases may or may not use Automake "Support for test suites"
2605e8b4ed9fSmrg#
2606e8b4ed9fSmrg# Please see XORG_ENABLE_UNIT_TESTS for unit test support. Unit test support
2607e8b4ed9fSmrg# usually requires less dependencies and may be built and run under less
2608e8b4ed9fSmrg# stringent environments than integration tests.
2609e8b4ed9fSmrg#
2610e8b4ed9fSmrg# Interface to module:
2611e8b4ed9fSmrg# ENABLE_INTEGRATION_TESTS:   used in makefiles to conditionally build tests
2612e8b4ed9fSmrg# enable_integration_tests:   used in configure.ac for additional configuration
2613e8b4ed9fSmrg# --enable-integration-tests: 'yes' user instructs the module to build tests
2614e8b4ed9fSmrg#                             'no' user instructs the module not to build tests
2615e8b4ed9fSmrg# parm1:                      specify the default value, yes or no.
2616e8b4ed9fSmrg#
2617e8b4ed9fSmrgAC_DEFUN([XORG_ENABLE_INTEGRATION_TESTS],[
2618e8b4ed9fSmrgAC_REQUIRE([XORG_MEMORY_CHECK_FLAGS])
2619e8b4ed9fSmrgm4_define([_defopt], m4_default([$1], [auto]))
2620e8b4ed9fSmrgAC_ARG_ENABLE(integration-tests, AS_HELP_STRING([--enable-integration-tests],
2621e8b4ed9fSmrg	[Enable building integration test cases (default: ]_defopt[)]),
2622e8b4ed9fSmrg	[enable_integration_tests=$enableval],
2623e8b4ed9fSmrg	[enable_integration_tests=]_defopt)
2624e8b4ed9fSmrgm4_undefine([_defopt])
2625e8b4ed9fSmrgAM_CONDITIONAL([ENABLE_INTEGRATION_TESTS],
2626e8b4ed9fSmrg	[test "x$enable_integration_tests" != xno])
2627e8b4ed9fSmrgAC_MSG_CHECKING([whether to build unit test cases])
2628e8b4ed9fSmrgAC_MSG_RESULT([$enable_integration_tests])
2629e8b4ed9fSmrg]) # XORG_ENABLE_INTEGRATION_TESTS
2630226fade8Smrg
2631e8b4ed9fSmrg# XORG_WITH_GLIB([MIN-VERSION], [DEFAULT])
2632e8b4ed9fSmrg# ----------------------------------------
2633e8b4ed9fSmrg# Minimum version: 1.13.0
2634e8b4ed9fSmrg#
2635e8b4ed9fSmrg# GLib is a library which provides advanced data structures and functions.
2636e8b4ed9fSmrg# This macro enables a module to test for the presence of Glib.
2637e8b4ed9fSmrg#
2638e8b4ed9fSmrg# When used with ENABLE_UNIT_TESTS, it is assumed GLib is used for unit testing.
2639e8b4ed9fSmrg# Otherwise the value of $enable_unit_tests is blank.
2640e8b4ed9fSmrg#
2641e8b4ed9fSmrg# Please see XORG_ENABLE_INTEGRATION_TESTS for integration test support. Unit
2642e8b4ed9fSmrg# test support usually requires less dependencies and may be built and run under
2643e8b4ed9fSmrg# less stringent environments than integration tests.
2644e8b4ed9fSmrg#
2645e8b4ed9fSmrg# Interface to module:
2646e8b4ed9fSmrg# HAVE_GLIB: used in makefiles to conditionally build targets
2647e8b4ed9fSmrg# with_glib: used in configure.ac to know if GLib has been found
2648e8b4ed9fSmrg# --with-glib:	'yes' user instructs the module to use glib
2649e8b4ed9fSmrg#		'no' user instructs the module not to use glib
2650e8b4ed9fSmrg#
2651e8b4ed9fSmrgAC_DEFUN([XORG_WITH_GLIB],[
2652e8b4ed9fSmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG])
2653e8b4ed9fSmrgm4_define([_defopt], m4_default([$2], [auto]))
2654e8b4ed9fSmrgAC_ARG_WITH(glib, AS_HELP_STRING([--with-glib],
2655e8b4ed9fSmrg	[Use GLib library for unit testing (default: ]_defopt[)]),
2656e8b4ed9fSmrg	[with_glib=$withval], [with_glib=]_defopt)
2657e8b4ed9fSmrgm4_undefine([_defopt])
2658f2408745Smrg
2659e8b4ed9fSmrghave_glib=no
2660e8b4ed9fSmrg# Do not probe GLib if user explicitly disabled unit testing
2661e8b4ed9fSmrgif test "x$enable_unit_tests" != x"no"; then
2662e8b4ed9fSmrg  # Do not probe GLib if user explicitly disabled it
2663e8b4ed9fSmrg  if test "x$with_glib" != x"no"; then
2664e8b4ed9fSmrg    m4_ifval(
2665e8b4ed9fSmrg      [$1],
2666e8b4ed9fSmrg      [PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $1], [have_glib=yes], [have_glib=no])],
2667e8b4ed9fSmrg      [PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])]
2668e8b4ed9fSmrg    )
2669e8b4ed9fSmrg  fi
2670e8b4ed9fSmrgfi
2671226fade8Smrg
2672e8b4ed9fSmrg# Not having GLib when unit testing has been explicitly requested is an error
2673e8b4ed9fSmrgif test "x$enable_unit_tests" = x"yes"; then
2674e8b4ed9fSmrg  if test "x$have_glib" = x"no"; then
2675e8b4ed9fSmrg    AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
267650f2e948Smrg  fi
2677e8b4ed9fSmrgfi
2678226fade8Smrg
2679e8b4ed9fSmrg# Having unit testing disabled when GLib has been explicitly requested is an error
2680e8b4ed9fSmrgif test "x$enable_unit_tests" = x"no"; then
2681e8b4ed9fSmrg  if test "x$with_glib" = x"yes"; then
2682e8b4ed9fSmrg    AC_MSG_ERROR([--enable-unit-tests=yes specified but glib-2.0 not found])
2683e8b4ed9fSmrg  fi
2684e8b4ed9fSmrgfi
2685226fade8Smrg
2686e8b4ed9fSmrg# Not having GLib when it has been explicitly requested is an error
2687e8b4ed9fSmrgif test "x$with_glib" = x"yes"; then
2688e8b4ed9fSmrg  if test "x$have_glib" = x"no"; then
2689e8b4ed9fSmrg    AC_MSG_ERROR([--with-glib=yes specified but glib-2.0 not found])
2690e8b4ed9fSmrg  fi
2691e8b4ed9fSmrgfi
2692226fade8Smrg
2693e8b4ed9fSmrgAM_CONDITIONAL([HAVE_GLIB], [test "$have_glib" = yes])
2694e8b4ed9fSmrg]) # XORG_WITH_GLIB
2695226fade8Smrg
2696e8b4ed9fSmrg# XORG_LD_WRAP([required|optional])
2697e8b4ed9fSmrg# ---------------------------------
2698e8b4ed9fSmrg# Minimum version: 1.13.0
2699e8b4ed9fSmrg#
2700e8b4ed9fSmrg# Check if linker supports -wrap, passed via compiler flags
2701e8b4ed9fSmrg#
2702e8b4ed9fSmrg# When used with ENABLE_UNIT_TESTS, it is assumed -wrap is used for unit testing.
2703e8b4ed9fSmrg# Otherwise the value of $enable_unit_tests is blank.
2704e8b4ed9fSmrg#
2705e8b4ed9fSmrg# Argument added in 1.16.0 - default is "required", to match existing behavior
2706e8b4ed9fSmrg# of returning an error if enable_unit_tests is yes, and ld -wrap is not
2707e8b4ed9fSmrg# available, an argument of "optional" allows use when some unit tests require
2708e8b4ed9fSmrg# ld -wrap and others do not.
2709e8b4ed9fSmrg#
2710e8b4ed9fSmrgAC_DEFUN([XORG_LD_WRAP],[
2711e8b4ed9fSmrgXORG_CHECK_LINKER_FLAGS([-Wl,-wrap,exit],[have_ld_wrap=yes],[have_ld_wrap=no],
2712e8b4ed9fSmrg    [AC_LANG_PROGRAM([#include <stdlib.h>
2713e8b4ed9fSmrg                      void __wrap_exit(int status) { return; }],
2714e8b4ed9fSmrg                     [exit(0);])])
2715e8b4ed9fSmrg# Not having ld wrap when unit testing has been explicitly requested is an error
2716e8b4ed9fSmrgif test "x$enable_unit_tests" = x"yes" -a "x$1" != "xoptional"; then
2717e8b4ed9fSmrg  if test "x$have_ld_wrap" = x"no"; then
2718e8b4ed9fSmrg    AC_MSG_ERROR([--enable-unit-tests=yes specified but ld -wrap support is not available])
2719e8b4ed9fSmrg  fi
2720e8b4ed9fSmrgfi
2721e8b4ed9fSmrgAM_CONDITIONAL([HAVE_LD_WRAP], [test "$have_ld_wrap" = yes])
2722e8b4ed9fSmrg#
2723e8b4ed9fSmrg]) # XORG_LD_WRAP
2724226fade8Smrg
2725e8b4ed9fSmrg# XORG_CHECK_LINKER_FLAGS
2726e8b4ed9fSmrg# -----------------------
2727e8b4ed9fSmrg# SYNOPSIS
2728e8b4ed9fSmrg#
2729e8b4ed9fSmrg#   XORG_CHECK_LINKER_FLAGS(FLAGS, [ACTION-SUCCESS], [ACTION-FAILURE], [PROGRAM-SOURCE])
2730e8b4ed9fSmrg#
2731e8b4ed9fSmrg# DESCRIPTION
2732e8b4ed9fSmrg#
2733e8b4ed9fSmrg#   Check whether the given linker FLAGS work with the current language's
2734e8b4ed9fSmrg#   linker, or whether they give an error.
2735e8b4ed9fSmrg#
2736e8b4ed9fSmrg#   ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
2737e8b4ed9fSmrg#   success/failure.
2738e8b4ed9fSmrg#
2739e8b4ed9fSmrg#   PROGRAM-SOURCE is the program source to link with, if needed
2740e8b4ed9fSmrg#
2741e8b4ed9fSmrg#   NOTE: Based on AX_CHECK_COMPILER_FLAGS.
2742e8b4ed9fSmrg#
2743e8b4ed9fSmrg# LICENSE
2744e8b4ed9fSmrg#
2745e8b4ed9fSmrg#   Copyright (c) 2009 Mike Frysinger <vapier@gentoo.org>
2746e8b4ed9fSmrg#   Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
2747e8b4ed9fSmrg#   Copyright (c) 2009 Matteo Frigo
2748e8b4ed9fSmrg#
2749e8b4ed9fSmrg#   This program is free software: you can redistribute it and/or modify it
2750e8b4ed9fSmrg#   under the terms of the GNU General Public License as published by the
2751e8b4ed9fSmrg#   Free Software Foundation, either version 3 of the License, or (at your
2752e8b4ed9fSmrg#   option) any later version.
2753e8b4ed9fSmrg#
2754e8b4ed9fSmrg#   This program is distributed in the hope that it will be useful, but
2755e8b4ed9fSmrg#   WITHOUT ANY WARRANTY; without even the implied warranty of
2756e8b4ed9fSmrg#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
2757e8b4ed9fSmrg#   Public License for more details.
2758e8b4ed9fSmrg#
2759e8b4ed9fSmrg#   You should have received a copy of the GNU General Public License along
2760e8b4ed9fSmrg#   with this program. If not, see <http://www.gnu.org/licenses/>.
2761e8b4ed9fSmrg#
2762e8b4ed9fSmrg#   As a special exception, the respective Autoconf Macro's copyright owner
2763e8b4ed9fSmrg#   gives unlimited permission to copy, distribute and modify the configure
2764e8b4ed9fSmrg#   scripts that are the output of Autoconf when processing the Macro. You
2765e8b4ed9fSmrg#   need not follow the terms of the GNU General Public License when using
2766e8b4ed9fSmrg#   or distributing such scripts, even though portions of the text of the
2767e8b4ed9fSmrg#   Macro appear in them. The GNU General Public License (GPL) does govern
2768e8b4ed9fSmrg#   all other use of the material that constitutes the Autoconf Macro.
2769e8b4ed9fSmrg#
2770e8b4ed9fSmrg#   This special exception to the GPL applies to versions of the Autoconf
2771e8b4ed9fSmrg#   Macro released by the Autoconf Archive. When you make and distribute a
2772e8b4ed9fSmrg#   modified version of the Autoconf Macro, you may extend this special
2773e8b4ed9fSmrg#   exception to the GPL to apply to your modified version as well.#
2774e8b4ed9fSmrgAC_DEFUN([XORG_CHECK_LINKER_FLAGS],
2775e8b4ed9fSmrg[AC_MSG_CHECKING([whether the linker accepts $1])
2776e8b4ed9fSmrgdnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname:
2777e8b4ed9fSmrgAS_LITERAL_IF([$1],
2778e8b4ed9fSmrg  [AC_CACHE_VAL(AS_TR_SH(xorg_cv_linker_flags_[$1]), [
2779e8b4ed9fSmrg      ax_save_FLAGS=$LDFLAGS
2780e8b4ed9fSmrg      LDFLAGS="$1"
2781e8b4ed9fSmrg      AC_LINK_IFELSE([m4_default([$4],[AC_LANG_PROGRAM()])],
2782e8b4ed9fSmrg        AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
2783e8b4ed9fSmrg        AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
2784e8b4ed9fSmrg      LDFLAGS=$ax_save_FLAGS])],
2785e8b4ed9fSmrg  [ax_save_FLAGS=$LDFLAGS
2786e8b4ed9fSmrg   LDFLAGS="$1"
2787e8b4ed9fSmrg   AC_LINK_IFELSE([AC_LANG_PROGRAM()],
2788e8b4ed9fSmrg     eval AS_TR_SH(xorg_cv_linker_flags_[$1])=yes,
2789e8b4ed9fSmrg     eval AS_TR_SH(xorg_cv_linker_flags_[$1])=no)
2790e8b4ed9fSmrg   LDFLAGS=$ax_save_FLAGS])
2791e8b4ed9fSmrgeval xorg_check_linker_flags=$AS_TR_SH(xorg_cv_linker_flags_[$1])
2792e8b4ed9fSmrgAC_MSG_RESULT($xorg_check_linker_flags)
2793e8b4ed9fSmrgif test "x$xorg_check_linker_flags" = xyes; then
2794e8b4ed9fSmrg	m4_default([$2], :)
2795e8b4ed9fSmrgelse
2796e8b4ed9fSmrg	m4_default([$3], :)
279750f2e948Smrgfi
2798e8b4ed9fSmrg]) # XORG_CHECK_LINKER_FLAGS
2799226fade8Smrg
2800e8b4ed9fSmrg# XORG_MEMORY_CHECK_FLAGS
2801e8b4ed9fSmrg# -----------------------
2802e8b4ed9fSmrg# Minimum version: 1.16.0
2803e8b4ed9fSmrg#
2804e8b4ed9fSmrg# This macro attempts to find appropriate memory checking functionality
2805e8b4ed9fSmrg# for various platforms which unit testing code may use to catch various
2806e8b4ed9fSmrg# forms of memory allocation and access errors in testing.
2807e8b4ed9fSmrg#
2808e8b4ed9fSmrg# Interface to module:
2809e8b4ed9fSmrg# XORG_MALLOC_DEBUG_ENV - environment variables to set to enable debugging
2810e8b4ed9fSmrg#                         Usually added to TESTS_ENVIRONMENT in Makefile.am
2811e8b4ed9fSmrg#
2812e8b4ed9fSmrg# If the user sets the value of XORG_MALLOC_DEBUG_ENV, it is used verbatim.
2813e8b4ed9fSmrg#
2814e8b4ed9fSmrgAC_DEFUN([XORG_MEMORY_CHECK_FLAGS],[
2815226fade8Smrg
2816e8b4ed9fSmrgAC_REQUIRE([AC_CANONICAL_HOST])
2817e8b4ed9fSmrgAC_ARG_VAR([XORG_MALLOC_DEBUG_ENV],
2818e8b4ed9fSmrg           [Environment variables to enable memory checking in tests])
28195592a31fSmrg
2820e8b4ed9fSmrg# Check for different types of support on different platforms
2821e8b4ed9fSmrgcase $host_os in
2822e8b4ed9fSmrg    solaris*)
2823e8b4ed9fSmrg        AC_CHECK_LIB([umem], [umem_alloc],
2824e8b4ed9fSmrg            [malloc_debug_env='LD_PRELOAD=libumem.so UMEM_DEBUG=default'])
2825e8b4ed9fSmrg        ;;
2826e8b4ed9fSmrg    *-gnu*) # GNU libc - Value is used as a single byte bit pattern,
2827e8b4ed9fSmrg        # both directly and inverted, so should not be 0 or 255.
2828e8b4ed9fSmrg        malloc_debug_env='MALLOC_PERTURB_=15'
2829e8b4ed9fSmrg        ;;
2830e8b4ed9fSmrg    darwin*)
2831e8b4ed9fSmrg        malloc_debug_env='MallocPreScribble=1 MallocScribble=1 DYLD_INSERT_LIBRARIES=/usr/lib/libgmalloc.dylib'
2832e8b4ed9fSmrg        ;;
2833e8b4ed9fSmrg    *bsd*)
2834e8b4ed9fSmrg        malloc_debug_env='MallocPreScribble=1 MallocScribble=1'
2835e8b4ed9fSmrg        ;;
2836e8b4ed9fSmrgesac
2837226fade8Smrg
2838e8b4ed9fSmrg# User supplied flags override default flags
2839e8b4ed9fSmrgif test "x$XORG_MALLOC_DEBUG_ENV" != "x"; then
2840e8b4ed9fSmrg    malloc_debug_env="$XORG_MALLOC_DEBUG_ENV"
2841e8b4ed9fSmrgfi
2842226fade8Smrg
2843e8b4ed9fSmrgAC_SUBST([XORG_MALLOC_DEBUG_ENV],[$malloc_debug_env])
2844e8b4ed9fSmrg]) # XORG_WITH_LINT
2845226fade8Smrg
2846e8b4ed9fSmrg# XORG_CHECK_MALLOC_ZERO
2847e8b4ed9fSmrg# ----------------------
2848e8b4ed9fSmrg# Minimum version: 1.0.0
2849e8b4ed9fSmrg#
2850e8b4ed9fSmrg# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
2851e8b4ed9fSmrg# malloc(0) returns NULL.  Packages should add one of these cflags to
2852e8b4ed9fSmrg# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
2853e8b4ed9fSmrgAC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
2854e8b4ed9fSmrgAC_ARG_ENABLE(malloc0returnsnull,
2855e8b4ed9fSmrg	AS_HELP_STRING([--enable-malloc0returnsnull],
2856e8b4ed9fSmrg		       [malloc(0) returns NULL (default: auto)]),
2857e8b4ed9fSmrg	[MALLOC_ZERO_RETURNS_NULL=$enableval],
2858e8b4ed9fSmrg	[MALLOC_ZERO_RETURNS_NULL=auto])
2859226fade8Smrg
2860e8b4ed9fSmrgAC_MSG_CHECKING([whether malloc(0) returns NULL])
2861e8b4ed9fSmrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
2862e8b4ed9fSmrgAC_CACHE_VAL([xorg_cv_malloc0_returns_null],
2863e8b4ed9fSmrg	[AC_RUN_IFELSE([AC_LANG_PROGRAM([
2864e8b4ed9fSmrg#include <stdlib.h>
2865e8b4ed9fSmrg],[
2866e8b4ed9fSmrg    char *m0, *r0, *c0, *p;
2867e8b4ed9fSmrg    m0 = malloc(0);
2868e8b4ed9fSmrg    p = malloc(10);
2869e8b4ed9fSmrg    r0 = realloc(p,0);
2870e8b4ed9fSmrg    c0 = calloc(0,10);
2871e8b4ed9fSmrg    exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
2872e8b4ed9fSmrg])],
2873e8b4ed9fSmrg		[xorg_cv_malloc0_returns_null=yes],
2874e8b4ed9fSmrg		[xorg_cv_malloc0_returns_null=no])])
2875e8b4ed9fSmrgMALLOC_ZERO_RETURNS_NULL=$xorg_cv_malloc0_returns_null
2876e8b4ed9fSmrgfi
2877e8b4ed9fSmrgAC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
2878e8b4ed9fSmrg
2879e8b4ed9fSmrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
2880e8b4ed9fSmrg	MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
2881e8b4ed9fSmrg	XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
2882e8b4ed9fSmrg	XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
288350f2e948Smrgelse
2884e8b4ed9fSmrg	MALLOC_ZERO_CFLAGS=""
2885e8b4ed9fSmrg	XMALLOC_ZERO_CFLAGS=""
2886e8b4ed9fSmrg	XTMALLOC_ZERO_CFLAGS=""
288750f2e948Smrgfi
2888226fade8Smrg
2889e8b4ed9fSmrgAC_SUBST([MALLOC_ZERO_CFLAGS])
2890e8b4ed9fSmrgAC_SUBST([XMALLOC_ZERO_CFLAGS])
2891e8b4ed9fSmrgAC_SUBST([XTMALLOC_ZERO_CFLAGS])
2892e8b4ed9fSmrg]) # XORG_CHECK_MALLOC_ZERO
2893226fade8Smrg
2894e8b4ed9fSmrg# XORG_WITH_LINT()
28955592a31fSmrg# ----------------
2896e8b4ed9fSmrg# Minimum version: 1.1.0
2897e8b4ed9fSmrg#
2898e8b4ed9fSmrg# This macro enables the use of a tool that flags some suspicious and
2899e8b4ed9fSmrg# non-portable constructs (likely to be bugs) in C language source code.
2900e8b4ed9fSmrg# It will attempt to locate the tool and use appropriate options.
2901e8b4ed9fSmrg# There are various lint type tools on different platforms.
2902e8b4ed9fSmrg#
2903e8b4ed9fSmrg# Interface to module:
2904e8b4ed9fSmrg# LINT:		returns the path to the tool found on the platform
2905e8b4ed9fSmrg#		or the value set to LINT on the configure cmd line
2906e8b4ed9fSmrg#		also an Automake conditional
2907e8b4ed9fSmrg# LINT_FLAGS:	an Automake variable with appropriate flags
2908e8b4ed9fSmrg#
2909e8b4ed9fSmrg# --with-lint:	'yes' user instructs the module to use lint
2910e8b4ed9fSmrg#		'no' user instructs the module not to use lint (default)
2911e8b4ed9fSmrg#
2912e8b4ed9fSmrg# If the user sets the value of LINT, AC_PATH_PROG skips testing the path.
2913e8b4ed9fSmrg# If the user sets the value of LINT_FLAGS, they are used verbatim.
2914e8b4ed9fSmrg#
2915e8b4ed9fSmrgAC_DEFUN([XORG_WITH_LINT],[
2916226fade8Smrg
2917e8b4ed9fSmrgAC_ARG_VAR([LINT], [Path to a lint-style command])
2918e8b4ed9fSmrgAC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command])
2919e8b4ed9fSmrgAC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
2920e8b4ed9fSmrg		[Use a lint-style source code checker (default: disabled)])],
2921e8b4ed9fSmrg		[use_lint=$withval], [use_lint=no])
2922226fade8Smrg
2923e8b4ed9fSmrg# Obtain platform specific info like program name and options
2924e8b4ed9fSmrg# The lint program on FreeBSD and NetBSD is different from the one on Solaris
2925e8b4ed9fSmrgcase $host_os in
2926e8b4ed9fSmrg  *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*)
2927e8b4ed9fSmrg	lint_name=splint
2928e8b4ed9fSmrg	lint_options="-badflag"
2929e8b4ed9fSmrg	;;
2930e8b4ed9fSmrg  *freebsd* | *netbsd*)
2931e8b4ed9fSmrg	lint_name=lint
2932e8b4ed9fSmrg	lint_options="-u -b"
2933e8b4ed9fSmrg	;;
2934e8b4ed9fSmrg  *solaris*)
2935e8b4ed9fSmrg	lint_name=lint
2936e8b4ed9fSmrg	lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
2937e8b4ed9fSmrg	;;
2938e8b4ed9fSmrgesac
293945bc899bSmrg
2940e8b4ed9fSmrg# Test for the presence of the program (either guessed by the code or spelled out by the user)
2941e8b4ed9fSmrgif test "x$use_lint" = x"yes" ; then
2942e8b4ed9fSmrg   AC_PATH_PROG([LINT], [$lint_name])
2943e8b4ed9fSmrg   if test "x$LINT" = "x"; then
2944e8b4ed9fSmrg        AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH])
2945e8b4ed9fSmrg   fi
2946e8b4ed9fSmrgelif test "x$use_lint" = x"no" ; then
2947e8b4ed9fSmrg   if test "x$LINT" != "x"; then
2948e8b4ed9fSmrg      AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified])
2949e8b4ed9fSmrg   fi
295050f2e948Smrgelse
2951e8b4ed9fSmrg   AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.])
295250f2e948Smrgfi
2953226fade8Smrg
2954e8b4ed9fSmrg# User supplied flags override default flags
2955e8b4ed9fSmrgif test "x$LINT_FLAGS" != "x"; then
2956e8b4ed9fSmrg   lint_options=$LINT_FLAGS
295750f2e948Smrgfi
2958226fade8Smrg
2959e8b4ed9fSmrgAC_SUBST([LINT_FLAGS],[$lint_options])
2960e8b4ed9fSmrgAM_CONDITIONAL(LINT, [test "x$LINT" != x])
2961226fade8Smrg
2962e8b4ed9fSmrg]) # XORG_WITH_LINT
296345bc899bSmrg
2964e8b4ed9fSmrg# XORG_LINT_LIBRARY(LIBNAME)
2965e8b4ed9fSmrg# --------------------------
2966e8b4ed9fSmrg# Minimum version: 1.1.0
2967e8b4ed9fSmrg#
2968e8b4ed9fSmrg# Sets up flags for building lint libraries for checking programs that call
2969e8b4ed9fSmrg# functions in the library.
2970e8b4ed9fSmrg#
2971e8b4ed9fSmrg# Interface to module:
2972e8b4ed9fSmrg# LINTLIB		- Automake variable with the name of lint library file to make
2973e8b4ed9fSmrg# MAKE_LINT_LIB		- Automake conditional
2974e8b4ed9fSmrg#
2975e8b4ed9fSmrg# --enable-lint-library:  - 'yes' user instructs the module to created a lint library
2976e8b4ed9fSmrg#			  - 'no' user instructs the module not to create a lint library (default)
297745bc899bSmrg
2978e8b4ed9fSmrgAC_DEFUN([XORG_LINT_LIBRARY],[
2979e8b4ed9fSmrgAC_REQUIRE([XORG_WITH_LINT])
2980e8b4ed9fSmrgAC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
2981e8b4ed9fSmrg	[Create lint library (default: disabled)])],
2982e8b4ed9fSmrg	[make_lint_lib=$enableval], [make_lint_lib=no])
2983f2408745Smrg
2984e8b4ed9fSmrgif test "x$make_lint_lib" = x"yes" ; then
2985e8b4ed9fSmrg   LINTLIB=llib-l$1.ln
2986e8b4ed9fSmrg   if test "x$LINT" = "x"; then
2987e8b4ed9fSmrg        AC_MSG_ERROR([Cannot make lint library without --with-lint])
2988e8b4ed9fSmrg   fi
2989e8b4ed9fSmrgelif test "x$make_lint_lib" != x"no" ; then
2990e8b4ed9fSmrg   AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.])
2991e8b4ed9fSmrgfi
2992f2408745Smrg
2993e8b4ed9fSmrgAC_SUBST(LINTLIB)
2994e8b4ed9fSmrgAM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
299545bc899bSmrg
2996e8b4ed9fSmrg]) # XORG_LINT_LIBRARY
299745bc899bSmrg
2998e8b4ed9fSmrg# XORG_COMPILER_BRAND
2999e8b4ed9fSmrg# -------------------
3000e8b4ed9fSmrg# Minimum version: 1.14.0
3001e8b4ed9fSmrg#
3002e8b4ed9fSmrg# Checks for various brands of compilers and sets flags as appropriate:
3003e8b4ed9fSmrg#   GNU gcc - relies on AC_PROG_CC (via AC_PROG_CC_C99) to set GCC to "yes"
3004e8b4ed9fSmrg#   GNU g++ - relies on AC_PROG_CXX to set GXX to "yes"
3005e8b4ed9fSmrg#   clang compiler - sets CLANGCC to "yes"
3006e8b4ed9fSmrg#   Intel compiler - sets INTELCC to "yes"
3007e8b4ed9fSmrg#   Sun/Oracle Solaris Studio cc - sets SUNCC to "yes"
3008e8b4ed9fSmrg#
3009e8b4ed9fSmrgAC_DEFUN([XORG_COMPILER_BRAND], [
3010e8b4ed9fSmrgAC_LANG_CASE(
3011e8b4ed9fSmrg	[C], [
3012e8b4ed9fSmrg		AC_REQUIRE([AC_PROG_CC_C99])
3013e8b4ed9fSmrg	],
3014e8b4ed9fSmrg	[C++], [
3015e8b4ed9fSmrg		AC_REQUIRE([AC_PROG_CXX])
3016e8b4ed9fSmrg	]
3017e8b4ed9fSmrg)
3018e8b4ed9fSmrgAC_CHECK_DECL([__clang__], [CLANGCC="yes"], [CLANGCC="no"])
3019e8b4ed9fSmrgAC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
3020e8b4ed9fSmrgAC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
3021e8b4ed9fSmrg]) # XORG_COMPILER_BRAND
3022f2408745Smrg
3023e8b4ed9fSmrg# XORG_TESTSET_CFLAG(<variable>, <flag>, [<alternative flag>, ...])
3024e8b4ed9fSmrg# ---------------
3025e8b4ed9fSmrg# Minimum version: 1.16.0
3026e8b4ed9fSmrg#
3027e8b4ed9fSmrg# Test if the compiler works when passed the given flag as a command line argument.
3028e8b4ed9fSmrg# If it succeeds, the flag is appeneded to the given variable.  If not, it tries the
3029e8b4ed9fSmrg# next flag in the list until there are no more options.
3030e8b4ed9fSmrg#
3031e8b4ed9fSmrg# Note that this does not guarantee that the compiler supports the flag as some
3032e8b4ed9fSmrg# compilers will simply ignore arguments that they do not understand, but we do
3033e8b4ed9fSmrg# attempt to weed out false positives by using -Werror=unknown-warning-option and
3034e8b4ed9fSmrg# -Werror=unused-command-line-argument
3035e8b4ed9fSmrg#
3036e8b4ed9fSmrgAC_DEFUN([XORG_TESTSET_CFLAG], [
3037e8b4ed9fSmrgm4_if([$#], 0, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
3038e8b4ed9fSmrgm4_if([$#], 1, [m4_fatal([XORG_TESTSET_CFLAG was given with an unsupported number of arguments])])
303945bc899bSmrg
3040e8b4ed9fSmrgAC_LANG_COMPILER_REQUIRE
304145bc899bSmrg
3042e8b4ed9fSmrgAC_LANG_CASE(
3043e8b4ed9fSmrg	[C], [
3044e8b4ed9fSmrg		AC_REQUIRE([AC_PROG_CC_C99])
3045e8b4ed9fSmrg		define([PREFIX], [C])
3046e8b4ed9fSmrg		define([CACHE_PREFIX], [cc])
3047e8b4ed9fSmrg		define([COMPILER], [$CC])
3048e8b4ed9fSmrg	],
3049e8b4ed9fSmrg	[C++], [
3050e8b4ed9fSmrg		define([PREFIX], [CXX])
3051e8b4ed9fSmrg		define([CACHE_PREFIX], [cxx])
3052e8b4ed9fSmrg		define([COMPILER], [$CXX])
3053e8b4ed9fSmrg	]
3054e8b4ed9fSmrg)
3055f2408745Smrg
3056e8b4ed9fSmrg[xorg_testset_save_]PREFIX[FLAGS]="$PREFIX[FLAGS]"
305745bc899bSmrg
3058e8b4ed9fSmrgif test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "x" ; then
3059e8b4ed9fSmrg	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
3060e8b4ed9fSmrg	AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unknown-warning-option],
3061e8b4ed9fSmrg			[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option],
3062e8b4ed9fSmrg			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
3063e8b4ed9fSmrg					  [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=yes],
3064e8b4ed9fSmrg					  [xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option=no]))
3065e8b4ed9fSmrg	[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]=$[xorg_cv_]CACHE_PREFIX[_flag_unknown_warning_option]
3066e8b4ed9fSmrg	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
3067e8b4ed9fSmrgfi
306845bc899bSmrg
3069e8b4ed9fSmrgif test "x$[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]" = "x" ; then
3070e8b4ed9fSmrg	if test "x$[xorg_testset_]CACHE_PREFIX[_unknown_warning_option]" = "xyes" ; then
3071e8b4ed9fSmrg		PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
3072e8b4ed9fSmrg	fi
3073e8b4ed9fSmrg	PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
3074e8b4ed9fSmrg	AC_CACHE_CHECK([if ]COMPILER[ supports -Werror=unused-command-line-argument],
3075e8b4ed9fSmrg			[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument],
3076e8b4ed9fSmrg			AC_COMPILE_IFELSE([AC_LANG_SOURCE([int i;])],
3077e8b4ed9fSmrg					  [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=yes],
3078e8b4ed9fSmrg					  [xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument=no]))
3079e8b4ed9fSmrg	[xorg_testset_]CACHE_PREFIX[_unused_command_line_argument]=$[xorg_cv_]CACHE_PREFIX[_flag_unused_command_line_argument]
3080e8b4ed9fSmrg	PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
3081e8b4ed9fSmrgfi
308245bc899bSmrg
3083e8b4ed9fSmrgfound="no"
3084e8b4ed9fSmrgm4_foreach([flag], m4_cdr($@), [
3085e8b4ed9fSmrg	if test $found = "no" ; then
3086e8b4ed9fSmrg		if test "x$xorg_testset_]CACHE_PREFIX[_unknown_warning_option" = "xyes" ; then
3087e8b4ed9fSmrg			PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
3088e8b4ed9fSmrg		fi
308945bc899bSmrg
3090e8b4ed9fSmrg		if test "x$xorg_testset_]CACHE_PREFIX[_unused_command_line_argument" = "xyes" ; then
3091e8b4ed9fSmrg			PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
3092e8b4ed9fSmrg		fi
309345bc899bSmrg
3094e8b4ed9fSmrg		PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag["
309545bc899bSmrg
3096e8b4ed9fSmrgdnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname
3097e8b4ed9fSmrg		AC_MSG_CHECKING([if ]COMPILER[ supports ]flag[])
3098e8b4ed9fSmrg		cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[])
3099e8b4ed9fSmrg		AC_CACHE_VAL($cacheid,
3100e8b4ed9fSmrg			     [AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])],
3101e8b4ed9fSmrg					     [eval $cacheid=yes],
3102e8b4ed9fSmrg					     [eval $cacheid=no])])
3103b40a6198Smrg
3104e8b4ed9fSmrg		PREFIX[FLAGS]="$[xorg_testset_save_]PREFIX[FLAGS]"
3105b40a6198Smrg
3106e8b4ed9fSmrg		eval supported=\$$cacheid
3107e8b4ed9fSmrg		AC_MSG_RESULT([$supported])
3108e8b4ed9fSmrg		if test "$supported" = "yes" ; then
3109e8b4ed9fSmrg			$1="$$1 ]flag["
3110e8b4ed9fSmrg			found="yes"
3111e8b4ed9fSmrg		fi
3112e8b4ed9fSmrg	fi
3113e8b4ed9fSmrg])
3114e8b4ed9fSmrg]) # XORG_TESTSET_CFLAG
3115b40a6198Smrg
3116e8b4ed9fSmrg# XORG_COMPILER_FLAGS
3117e8b4ed9fSmrg# ---------------
3118e8b4ed9fSmrg# Minimum version: 1.16.0
3119e8b4ed9fSmrg#
3120e8b4ed9fSmrg# Defines BASE_CFLAGS or BASE_CXXFLAGS to contain a set of command line
3121e8b4ed9fSmrg# arguments supported by the selected compiler which do NOT alter the generated
3122e8b4ed9fSmrg# code.  These arguments will cause the compiler to print various warnings
3123e8b4ed9fSmrg# during compilation AND turn a conservative set of warnings into errors.
3124e8b4ed9fSmrg#
3125e8b4ed9fSmrg# The set of flags supported by BASE_CFLAGS and BASE_CXXFLAGS will grow in
3126e8b4ed9fSmrg# future versions of util-macros as options are added to new compilers.
3127e8b4ed9fSmrg#
3128e8b4ed9fSmrgAC_DEFUN([XORG_COMPILER_FLAGS], [
3129e8b4ed9fSmrgAC_REQUIRE([XORG_COMPILER_BRAND])
313045bc899bSmrg
3131e8b4ed9fSmrgAC_ARG_ENABLE(selective-werror,
3132e8b4ed9fSmrg              AS_HELP_STRING([--disable-selective-werror],
3133e8b4ed9fSmrg                             [Turn off selective compiler errors. (default: enabled)]),
3134e8b4ed9fSmrg              [SELECTIVE_WERROR=$enableval],
3135e8b4ed9fSmrg              [SELECTIVE_WERROR=yes])
313645bc899bSmrg
3137e8b4ed9fSmrgAC_LANG_CASE(
3138e8b4ed9fSmrg        [C], [
3139e8b4ed9fSmrg                define([PREFIX], [C])
3140e8b4ed9fSmrg        ],
3141e8b4ed9fSmrg        [C++], [
3142e8b4ed9fSmrg                define([PREFIX], [CXX])
3143e8b4ed9fSmrg        ]
3144e8b4ed9fSmrg)
3145e8b4ed9fSmrg# -v is too short to test reliably with XORG_TESTSET_CFLAG
3146e8b4ed9fSmrgif test "x$SUNCC" = "xyes"; then
3147e8b4ed9fSmrg    [BASE_]PREFIX[FLAGS]="-v"
3148e8b4ed9fSmrgelse
3149e8b4ed9fSmrg    [BASE_]PREFIX[FLAGS]=""
3150e8b4ed9fSmrgfi
315150f2e948Smrg
3152e8b4ed9fSmrg# This chunk of warnings were those that existed in the legacy CWARNFLAGS
3153e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wall])
3154e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-arith])
3155e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-declarations])
3156e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wformat=2], [-Wformat])
315750f2e948Smrg
3158e8b4ed9fSmrgAC_LANG_CASE(
3159e8b4ed9fSmrg	[C], [
3160e8b4ed9fSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wstrict-prototypes])
3161e8b4ed9fSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes])
3162e8b4ed9fSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs])
3163e8b4ed9fSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast])
3164e8b4ed9fSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition], [-fd])
3165e8b4ed9fSmrg		XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement])
3166e8b4ed9fSmrg	]
3167e8b4ed9fSmrg)
316850f2e948Smrg
3169e8b4ed9fSmrg# This chunk adds additional warnings that could catch undesired effects.
3170e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
3171e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
3172e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow])
3173e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn])
3174e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute])
3175e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
3176e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
317750f2e948Smrg
3178e8b4ed9fSmrg# These are currently disabled because they are noisy.  They will be enabled
3179e8b4ed9fSmrg# in the future once the codebase is sufficiently modernized to silence
3180e8b4ed9fSmrg# them.  For now, I don't want them to drown out the other warnings.
3181e8b4ed9fSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
3182e8b4ed9fSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
3183e8b4ed9fSmrg# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
318445bc899bSmrg
3185e8b4ed9fSmrg# Turn some warnings into errors, so we don't accidently get successful builds
3186e8b4ed9fSmrg# when there are problems that should be fixed.
318745bc899bSmrg
3188e8b4ed9fSmrgif test "x$SELECTIVE_WERROR" = "xyes" ; then
3189e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=implicit], [-errwarn=E_NO_EXPLICIT_TYPE_GIVEN -errwarn=E_NO_IMPLICIT_DECL_ALLOWED])
3190e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=nonnull])
3191e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=init-self])
3192e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=main])
3193e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=missing-braces])
3194e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=sequence-point])
3195e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=return-type], [-errwarn=E_FUNC_HAS_NO_RETURN_STMT])
3196e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=trigraphs])
3197e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=array-bounds])
3198e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=write-strings])
3199e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=address])
3200e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=int-to-pointer-cast], [-errwarn=E_BAD_PTR_INT_COMBINATION])
3201e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Werror=pointer-to-int-cast]) # Also -errwarn=E_BAD_PTR_INT_COMBINATION
3202e8b4ed9fSmrgelse
3203e8b4ed9fSmrgAC_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])
3204e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wimplicit])
3205e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnonnull])
3206e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Winit-self])
3207e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmain])
3208e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-braces])
3209e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wsequence-point])
3210e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wreturn-type])
3211e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wtrigraphs])
3212e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Warray-bounds])
3213e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wwrite-strings])
3214e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Waddress])
3215e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wint-to-pointer-cast])
3216e8b4ed9fSmrgXORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wpointer-to-int-cast])
3217e8b4ed9fSmrgfi
321850f2e948Smrg
3219e8b4ed9fSmrgAC_SUBST([BASE_]PREFIX[FLAGS])
3220e8b4ed9fSmrg]) # XORG_COMPILER_FLAGS
322145bc899bSmrg
3222e8b4ed9fSmrg# XORG_CWARNFLAGS
3223e8b4ed9fSmrg# ---------------
3224e8b4ed9fSmrg# Minimum version: 1.2.0
3225e8b4ed9fSmrg# Deprecated since: 1.16.0 (Use XORG_COMPILER_FLAGS instead)
3226e8b4ed9fSmrg#
3227e8b4ed9fSmrg# Defines CWARNFLAGS to enable C compiler warnings.
3228e8b4ed9fSmrg#
3229e8b4ed9fSmrg# This function is deprecated because it defines -fno-strict-aliasing
3230e8b4ed9fSmrg# which alters the code generated by the compiler.  If -fno-strict-aliasing
3231e8b4ed9fSmrg# is needed, then it should be added explicitly in the module when
3232e8b4ed9fSmrg# it is updated to use BASE_CFLAGS.
3233e8b4ed9fSmrg#
3234e8b4ed9fSmrgAC_DEFUN([XORG_CWARNFLAGS], [
3235e8b4ed9fSmrgAC_REQUIRE([XORG_COMPILER_FLAGS])
3236e8b4ed9fSmrgAC_REQUIRE([XORG_COMPILER_BRAND])
3237e8b4ed9fSmrgAC_LANG_CASE(
3238e8b4ed9fSmrg	[C], [
3239e8b4ed9fSmrg		CWARNFLAGS="$BASE_CFLAGS"
3240e8b4ed9fSmrg		if  test "x$GCC" = xyes ; then
3241e8b4ed9fSmrg		    CWARNFLAGS="$CWARNFLAGS -fno-strict-aliasing"
3242e8b4ed9fSmrg		fi
3243e8b4ed9fSmrg		AC_SUBST(CWARNFLAGS)
3244e8b4ed9fSmrg	]
3245e8b4ed9fSmrg)
3246e8b4ed9fSmrg]) # XORG_CWARNFLAGS
3247f2408745Smrg
3248e8b4ed9fSmrg# XORG_STRICT_OPTION
3249e8b4ed9fSmrg# -----------------------
3250e8b4ed9fSmrg# Minimum version: 1.3.0
3251e8b4ed9fSmrg#
3252e8b4ed9fSmrg# Add configure option to enable strict compilation flags, such as treating
3253e8b4ed9fSmrg# warnings as fatal errors.
3254e8b4ed9fSmrg# If --enable-strict-compilation is passed to configure, adds strict flags to
3255e8b4ed9fSmrg# $BASE_CFLAGS or $BASE_CXXFLAGS and the deprecated $CWARNFLAGS.
3256e8b4ed9fSmrg#
3257e8b4ed9fSmrg# Starting in 1.14.0 also exports $STRICT_CFLAGS for use in other tests or
3258e8b4ed9fSmrg# when strict compilation is unconditionally desired.
3259e8b4ed9fSmrgAC_DEFUN([XORG_STRICT_OPTION], [
3260e8b4ed9fSmrgAC_REQUIRE([XORG_CWARNFLAGS])
3261e8b4ed9fSmrgAC_REQUIRE([XORG_COMPILER_FLAGS])
3262f2408745Smrg
3263e8b4ed9fSmrgAC_ARG_ENABLE(strict-compilation,
3264e8b4ed9fSmrg			  AS_HELP_STRING([--enable-strict-compilation],
3265e8b4ed9fSmrg			  [Enable all warnings from compiler and make them errors (default: disabled)]),
3266e8b4ed9fSmrg			  [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
3267f2408745Smrg
3268e8b4ed9fSmrgAC_LANG_CASE(
3269e8b4ed9fSmrg        [C], [
3270e8b4ed9fSmrg                define([PREFIX], [C])
3271e8b4ed9fSmrg        ],
3272e8b4ed9fSmrg        [C++], [
3273e8b4ed9fSmrg                define([PREFIX], [CXX])
3274e8b4ed9fSmrg        ]
3275e8b4ed9fSmrg)
3276b40a6198Smrg
3277e8b4ed9fSmrg[STRICT_]PREFIX[FLAGS]=""
3278e8b4ed9fSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-pedantic])
3279e8b4ed9fSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror], [-errwarn])
32805592a31fSmrg
3281e8b4ed9fSmrg# Earlier versions of gcc (eg: 4.2) support -Werror=attributes, but do not
3282e8b4ed9fSmrg# activate it with -Werror, so we add it here explicitly.
3283e8b4ed9fSmrgXORG_TESTSET_CFLAG([[STRICT_]PREFIX[FLAGS]], [-Werror=attributes])
32845592a31fSmrg
3285e8b4ed9fSmrgif test "x$STRICT_COMPILE" = "xyes"; then
3286e8b4ed9fSmrg    [BASE_]PREFIX[FLAGS]="$[BASE_]PREFIX[FLAGS] $[STRICT_]PREFIX[FLAGS]"
3287e8b4ed9fSmrg    AC_LANG_CASE([C], [CWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"])
3288e8b4ed9fSmrgfi
3289e8b4ed9fSmrgAC_SUBST([STRICT_]PREFIX[FLAGS])
3290e8b4ed9fSmrgAC_SUBST([BASE_]PREFIX[FLAGS])
3291e8b4ed9fSmrgAC_LANG_CASE([C], AC_SUBST([CWARNFLAGS]))
3292e8b4ed9fSmrg]) # XORG_STRICT_OPTION
329357ba8e8bSmrg
3294e8b4ed9fSmrg# XORG_DEFAULT_OPTIONS
3295e8b4ed9fSmrg# --------------------
3296e8b4ed9fSmrg# Minimum version: 1.3.0
3297e8b4ed9fSmrg#
3298e8b4ed9fSmrg# Defines default options for X.Org modules.
3299e8b4ed9fSmrg#
3300e8b4ed9fSmrgAC_DEFUN([XORG_DEFAULT_OPTIONS], [
3301e8b4ed9fSmrgAC_REQUIRE([AC_PROG_INSTALL])
3302e8b4ed9fSmrgXORG_COMPILER_FLAGS
3303e8b4ed9fSmrgXORG_CWARNFLAGS
3304e8b4ed9fSmrgXORG_STRICT_OPTION
3305e8b4ed9fSmrgXORG_RELEASE_VERSION
3306e8b4ed9fSmrgXORG_CHANGELOG
3307e8b4ed9fSmrgXORG_INSTALL
3308e8b4ed9fSmrgXORG_MANPAGE_SECTIONS
3309e8b4ed9fSmrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
3310e8b4ed9fSmrg    [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
3311e8b4ed9fSmrg]) # XORG_DEFAULT_OPTIONS
331250f2e948Smrg
3313e8b4ed9fSmrg# XORG_INSTALL()
3314e8b4ed9fSmrg# ----------------
3315e8b4ed9fSmrg# Minimum version: 1.4.0
3316e8b4ed9fSmrg#
3317e8b4ed9fSmrg# Defines the variable INSTALL_CMD as the command to copy
3318e8b4ed9fSmrg# INSTALL from $prefix/share/util-macros.
3319e8b4ed9fSmrg#
3320e8b4ed9fSmrgAC_DEFUN([XORG_INSTALL], [
3321e8b4ed9fSmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG])
3322e8b4ed9fSmrgmacros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
3323e8b4ed9fSmrgINSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
3324e8b4ed9fSmrgmv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
3325e8b4ed9fSmrg|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \
3326e8b4ed9fSmrgtouch \$(top_srcdir)/INSTALL; \
3327e8b4ed9fSmrgecho 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))"
3328e8b4ed9fSmrgAC_SUBST([INSTALL_CMD])
3329e8b4ed9fSmrg]) # XORG_INSTALL
3330e8b4ed9fSmrgdnl Copyright 2005 Red Hat, Inc
3331e8b4ed9fSmrgdnl
3332e8b4ed9fSmrgdnl Permission to use, copy, modify, distribute, and sell this software and its
3333e8b4ed9fSmrgdnl documentation for any purpose is hereby granted without fee, provided that
3334e8b4ed9fSmrgdnl the above copyright notice appear in all copies and that both that
3335e8b4ed9fSmrgdnl copyright notice and this permission notice appear in supporting
3336e8b4ed9fSmrgdnl documentation.
3337e8b4ed9fSmrgdnl
3338e8b4ed9fSmrgdnl The above copyright notice and this permission notice shall be included
3339e8b4ed9fSmrgdnl in all copies or substantial portions of the Software.
3340e8b4ed9fSmrgdnl
3341e8b4ed9fSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
3342e8b4ed9fSmrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
3343e8b4ed9fSmrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
3344e8b4ed9fSmrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
3345e8b4ed9fSmrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
3346e8b4ed9fSmrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
3347e8b4ed9fSmrgdnl OTHER DEALINGS IN THE SOFTWARE.
3348e8b4ed9fSmrgdnl
3349e8b4ed9fSmrgdnl Except as contained in this notice, the name of the copyright holders shall
3350e8b4ed9fSmrgdnl not be used in advertising or otherwise to promote the sale, use or
3351e8b4ed9fSmrgdnl other dealings in this Software without prior written authorization
3352e8b4ed9fSmrgdnl from the copyright holders.
3353e8b4ed9fSmrgdnl
335445bc899bSmrg
3355e8b4ed9fSmrg# XORG_RELEASE_VERSION
3356e8b4ed9fSmrg# --------------------
3357e8b4ed9fSmrg# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
335845bc899bSmrg
3359e8b4ed9fSmrgAC_DEFUN([XORG_RELEASE_VERSION],[
3360e8b4ed9fSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
3361e8b4ed9fSmrg		[`echo $PACKAGE_VERSION | cut -d . -f 1`],
3362e8b4ed9fSmrg		[Major version of this package])
3363e8b4ed9fSmrg	PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
3364e8b4ed9fSmrg	if test "x$PVM" = "x"; then
3365e8b4ed9fSmrg		PVM="0"
3366e8b4ed9fSmrg	fi
3367e8b4ed9fSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
3368e8b4ed9fSmrg		[$PVM],
3369e8b4ed9fSmrg		[Minor version of this package])
3370e8b4ed9fSmrg	PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
3371e8b4ed9fSmrg	if test "x$PVP" = "x"; then
3372e8b4ed9fSmrg		PVP="0"
3373e8b4ed9fSmrg	fi
3374e8b4ed9fSmrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
3375e8b4ed9fSmrg		[$PVP],
3376e8b4ed9fSmrg		[Patch version of this package])
3377e8b4ed9fSmrg])
337845bc899bSmrg
3379e8b4ed9fSmrg# XORG_CHANGELOG()
3380e8b4ed9fSmrg# ----------------
3381e8b4ed9fSmrg# Minimum version: 1.2.0
3382e8b4ed9fSmrg#
3383e8b4ed9fSmrg# Defines the variable CHANGELOG_CMD as the command to generate
3384e8b4ed9fSmrg# ChangeLog from git.
3385e8b4ed9fSmrg#
3386e8b4ed9fSmrg#
3387e8b4ed9fSmrgAC_DEFUN([XORG_CHANGELOG], [
3388e8b4ed9fSmrgCHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
3389e8b4ed9fSmrgmv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
3390e8b4ed9fSmrg|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
3391e8b4ed9fSmrgtouch \$(top_srcdir)/ChangeLog; \
3392e8b4ed9fSmrgecho 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
3393e8b4ed9fSmrgAC_SUBST([CHANGELOG_CMD])
3394e8b4ed9fSmrg]) # XORG_CHANGELOG
339545bc899bSmrg
3396e8b4ed9fSmrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
3397e8b4ed9fSmrg#
3398e8b4ed9fSmrg#   Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
3399e8b4ed9fSmrg#   Foundation, Inc.
3400e8b4ed9fSmrg#   Written by Gordon Matzigkeit, 1996
3401e8b4ed9fSmrg#
3402e8b4ed9fSmrg# This file is free software; the Free Software Foundation gives
3403e8b4ed9fSmrg# unlimited permission to copy and/or distribute it, with or without
3404e8b4ed9fSmrg# modifications, as long as this notice is preserved.
340545bc899bSmrg
3406e8b4ed9fSmrgm4_define([_LT_COPYING], [dnl
3407e8b4ed9fSmrg# Copyright (C) 2014 Free Software Foundation, Inc.
3408e8b4ed9fSmrg# This is free software; see the source for copying conditions.  There is NO
3409e8b4ed9fSmrg# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34101ac89addSmrg
3411e8b4ed9fSmrg# GNU Libtool is free software; you can redistribute it and/or modify
3412e8b4ed9fSmrg# it under the terms of the GNU General Public License as published by
3413e8b4ed9fSmrg# the Free Software Foundation; either version 2 of of the License, or
3414e8b4ed9fSmrg# (at your option) any later version.
3415e8b4ed9fSmrg#
3416e8b4ed9fSmrg# As a special exception to the GNU General Public License, if you
3417e8b4ed9fSmrg# distribute this file as part of a program or library that is built
3418e8b4ed9fSmrg# using GNU Libtool, you may include this file under the  same
3419e8b4ed9fSmrg# distribution terms that you use for the rest of that program.
3420e8b4ed9fSmrg#
3421e8b4ed9fSmrg# GNU Libtool is distributed in the hope that it will be useful, but
3422e8b4ed9fSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
3423e8b4ed9fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3424e8b4ed9fSmrg# GNU General Public License for more details.
3425e8b4ed9fSmrg#
3426e8b4ed9fSmrg# You should have received a copy of the GNU General Public License
3427e8b4ed9fSmrg# along with this program.  If not, see <http://www.gnu.org/licenses/>.
3428e8b4ed9fSmrg])
342945bc899bSmrg
3430e8b4ed9fSmrg# serial 59 LT_INIT
343145bc899bSmrg
343245bc899bSmrg
3433e8b4ed9fSmrg# LT_PREREQ(VERSION)
3434e8b4ed9fSmrg# ------------------
3435e8b4ed9fSmrg# Complain and exit if this libtool version is less that VERSION.
3436e8b4ed9fSmrgm4_defun([LT_PREREQ],
3437e8b4ed9fSmrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
3438e8b4ed9fSmrg       [m4_default([$3],
3439e8b4ed9fSmrg		   [m4_fatal([Libtool version $1 or higher is required],
3440e8b4ed9fSmrg		             63)])],
3441e8b4ed9fSmrg       [$2])])
344245bc899bSmrg
344345bc899bSmrg
3444e8b4ed9fSmrg# _LT_CHECK_BUILDDIR
3445e8b4ed9fSmrg# ------------------
3446e8b4ed9fSmrg# Complain if the absolute build directory name contains unusual characters
3447e8b4ed9fSmrgm4_defun([_LT_CHECK_BUILDDIR],
3448e8b4ed9fSmrg[case `pwd` in
3449e8b4ed9fSmrg  *\ * | *\	*)
3450e8b4ed9fSmrg    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
3451e8b4ed9fSmrgesac
3452e8b4ed9fSmrg])
345345bc899bSmrg
345445bc899bSmrg
3455e8b4ed9fSmrg# LT_INIT([OPTIONS])
3456e8b4ed9fSmrg# ------------------
3457e8b4ed9fSmrgAC_DEFUN([LT_INIT],
3458e8b4ed9fSmrg[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
3459e8b4ed9fSmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
3460e8b4ed9fSmrgAC_BEFORE([$0], [LT_LANG])dnl
3461e8b4ed9fSmrgAC_BEFORE([$0], [LT_OUTPUT])dnl
3462e8b4ed9fSmrgAC_BEFORE([$0], [LTDL_INIT])dnl
3463e8b4ed9fSmrgm4_require([_LT_CHECK_BUILDDIR])dnl
34645592a31fSmrg
3465e8b4ed9fSmrgdnl Autoconf doesn't catch unexpanded LT_ macros by default:
3466e8b4ed9fSmrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
3467e8b4ed9fSmrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
3468e8b4ed9fSmrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
3469e8b4ed9fSmrgdnl unless we require an AC_DEFUNed macro:
3470e8b4ed9fSmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl
3471e8b4ed9fSmrgAC_REQUIRE([LTSUGAR_VERSION])dnl
3472e8b4ed9fSmrgAC_REQUIRE([LTVERSION_VERSION])dnl
3473e8b4ed9fSmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl
3474e8b4ed9fSmrgm4_require([_LT_PROG_LTMAIN])dnl
3475226fade8Smrg
3476e8b4ed9fSmrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
3477226fade8Smrg
3478e8b4ed9fSmrgdnl Parse OPTIONS
3479e8b4ed9fSmrg_LT_SET_OPTIONS([$0], [$1])
348045bc899bSmrg
3481e8b4ed9fSmrg# This can be used to rebuild libtool when needed
3482e8b4ed9fSmrgLIBTOOL_DEPS=$ltmain
3483f2408745Smrg
3484e8b4ed9fSmrg# Always use our own libtool.
3485e8b4ed9fSmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool'
3486e8b4ed9fSmrgAC_SUBST(LIBTOOL)dnl
348745bc899bSmrg
3488e8b4ed9fSmrg_LT_SETUP
3489f2408745Smrg
3490e8b4ed9fSmrg# Only expand once:
3491e8b4ed9fSmrgm4_define([LT_INIT])
3492e8b4ed9fSmrg])# LT_INIT
3493f2408745Smrg
3494e8b4ed9fSmrg# Old names:
3495e8b4ed9fSmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
3496e8b4ed9fSmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
3497e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
3498e8b4ed9fSmrgdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
3499e8b4ed9fSmrgdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
3500f2408745Smrg
35015592a31fSmrg
3502e8b4ed9fSmrg# _LT_PREPARE_CC_BASENAME
3503e8b4ed9fSmrg# -----------------------
3504e8b4ed9fSmrgm4_defun([_LT_PREPARE_CC_BASENAME], [
3505e8b4ed9fSmrg# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
3506e8b4ed9fSmrgfunc_cc_basename ()
3507e8b4ed9fSmrg{
3508e8b4ed9fSmrg    for cc_temp in @S|@*""; do
3509e8b4ed9fSmrg      case $cc_temp in
3510e8b4ed9fSmrg        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
3511e8b4ed9fSmrg        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
3512e8b4ed9fSmrg        \-*) ;;
3513e8b4ed9fSmrg        *) break;;
3514e8b4ed9fSmrg      esac
3515e8b4ed9fSmrg    done
3516e8b4ed9fSmrg    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
3517e8b4ed9fSmrg}
3518e8b4ed9fSmrg])# _LT_PREPARE_CC_BASENAME
35195592a31fSmrg
352045bc899bSmrg
3521e8b4ed9fSmrg# _LT_CC_BASENAME(CC)
3522e8b4ed9fSmrg# -------------------
3523e8b4ed9fSmrg# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
3524e8b4ed9fSmrg# but that macro is also expanded into generated libtool script, which
3525e8b4ed9fSmrg# arranges for $SED and $ECHO to be set by different means.
3526e8b4ed9fSmrgm4_defun([_LT_CC_BASENAME],
3527e8b4ed9fSmrg[m4_require([_LT_PREPARE_CC_BASENAME])dnl
3528e8b4ed9fSmrgAC_REQUIRE([_LT_DECL_SED])dnl
3529e8b4ed9fSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
3530e8b4ed9fSmrgfunc_cc_basename $1
3531e8b4ed9fSmrgcc_basename=$func_cc_basename_result
3532e8b4ed9fSmrg])
353345bc899bSmrg
35345592a31fSmrg
3535e8b4ed9fSmrg# _LT_FILEUTILS_DEFAULTS
3536e8b4ed9fSmrg# ----------------------
3537e8b4ed9fSmrg# It is okay to use these file commands and assume they have been set
3538e8b4ed9fSmrg# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
3539e8b4ed9fSmrgm4_defun([_LT_FILEUTILS_DEFAULTS],
3540e8b4ed9fSmrg[: ${CP="cp -f"}
3541e8b4ed9fSmrg: ${MV="mv -f"}
3542e8b4ed9fSmrg: ${RM="rm -f"}
3543e8b4ed9fSmrg])# _LT_FILEUTILS_DEFAULTS
354445bc899bSmrg
354545bc899bSmrg
3546e8b4ed9fSmrg# _LT_SETUP
3547e8b4ed9fSmrg# ---------
3548e8b4ed9fSmrgm4_defun([_LT_SETUP],
3549e8b4ed9fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
35503a925b30SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
3551e8b4ed9fSmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
3552e8b4ed9fSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
35535592a31fSmrg
3554e8b4ed9fSmrg_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
3555e8b4ed9fSmrgdnl
3556e8b4ed9fSmrg_LT_DECL([], [host_alias], [0], [The host system])dnl
3557e8b4ed9fSmrg_LT_DECL([], [host], [0])dnl
3558e8b4ed9fSmrg_LT_DECL([], [host_os], [0])dnl
3559e8b4ed9fSmrgdnl
3560e8b4ed9fSmrg_LT_DECL([], [build_alias], [0], [The build system])dnl
3561e8b4ed9fSmrg_LT_DECL([], [build], [0])dnl
3562e8b4ed9fSmrg_LT_DECL([], [build_os], [0])dnl
3563e8b4ed9fSmrgdnl
3564e8b4ed9fSmrgAC_REQUIRE([AC_PROG_CC])dnl
3565e8b4ed9fSmrgAC_REQUIRE([LT_PATH_LD])dnl
3566e8b4ed9fSmrgAC_REQUIRE([LT_PATH_NM])dnl
3567e8b4ed9fSmrgdnl
3568e8b4ed9fSmrgAC_REQUIRE([AC_PROG_LN_S])dnl
3569e8b4ed9fSmrgtest -z "$LN_S" && LN_S="ln -s"
3570e8b4ed9fSmrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
3571e8b4ed9fSmrgdnl
3572e8b4ed9fSmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl
3573e8b4ed9fSmrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
3574e8b4ed9fSmrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
3575e8b4ed9fSmrgdnl
3576e8b4ed9fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
3577e8b4ed9fSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
3578e8b4ed9fSmrgm4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
3579e8b4ed9fSmrgm4_require([_LT_CMD_RELOAD])dnl
3580e8b4ed9fSmrgm4_require([_LT_DECL_FILECMD])dnl
3581e8b4ed9fSmrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl
3582e8b4ed9fSmrgm4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
3583e8b4ed9fSmrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl
3584e8b4ed9fSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
3585e8b4ed9fSmrgm4_require([_LT_WITH_SYSROOT])dnl
3586e8b4ed9fSmrgm4_require([_LT_CMD_TRUNCATE])dnl
35875592a31fSmrg
3588e8b4ed9fSmrg_LT_CONFIG_LIBTOOL_INIT([
3589e8b4ed9fSmrg# See if we are running on zsh, and set the options that allow our
3590e8b4ed9fSmrg# commands through without removal of \ escapes INIT.
3591e8b4ed9fSmrgif test -n "\${ZSH_VERSION+set}"; then
3592e8b4ed9fSmrg   setopt NO_GLOB_SUBST
3593226fade8Smrgfi
3594e8b4ed9fSmrg])
3595e8b4ed9fSmrgif test -n "${ZSH_VERSION+set}"; then
3596e8b4ed9fSmrg   setopt NO_GLOB_SUBST
3597226fade8Smrgfi
3598226fade8Smrg
3599e8b4ed9fSmrg_LT_CHECK_OBJDIR
36005592a31fSmrg
3601e8b4ed9fSmrgm4_require([_LT_TAG_COMPILER])dnl
36025592a31fSmrg
3603e8b4ed9fSmrgcase $host_os in
3604e8b4ed9fSmrgaix3*)
3605e8b4ed9fSmrg  # AIX sometimes has problems with the GCC collect2 program.  For some
3606e8b4ed9fSmrg  # reason, if we set the COLLECT_NAMES environment variable, the problems
3607e8b4ed9fSmrg  # vanish in a puff of smoke.
3608e8b4ed9fSmrg  if test set != "${COLLECT_NAMES+set}"; then
3609e8b4ed9fSmrg    COLLECT_NAMES=
3610e8b4ed9fSmrg    export COLLECT_NAMES
3611e8b4ed9fSmrg  fi
361250f2e948Smrg  ;;
3613e8b4ed9fSmrgesac
361445bc899bSmrg
3615e8b4ed9fSmrg# Global variables:
3616e8b4ed9fSmrgofile=libtool
3617e8b4ed9fSmrgcan_build_shared=yes
3618226fade8Smrg
3619e8b4ed9fSmrg# All known linkers require a '.a' archive for static linking (except MSVC and
3620e8b4ed9fSmrg# ICC, which need '.lib').
3621e8b4ed9fSmrglibext=a
3622f2408745Smrg
3623e8b4ed9fSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld
3624f2408745Smrg
3625e8b4ed9fSmrgold_CC=$CC
3626e8b4ed9fSmrgold_CFLAGS=$CFLAGS
3627f2408745Smrg
3628e8b4ed9fSmrg# Set sane defaults for various variables
3629e8b4ed9fSmrgtest -z "$CC" && CC=cc
3630e8b4ed9fSmrgtest -z "$LTCC" && LTCC=$CC
3631e8b4ed9fSmrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
3632e8b4ed9fSmrgtest -z "$LD" && LD=ld
3633e8b4ed9fSmrgtest -z "$ac_objext" && ac_objext=o
3634f2408745Smrg
3635e8b4ed9fSmrg_LT_CC_BASENAME([$compiler])
363645bc899bSmrg
3637e8b4ed9fSmrg# Only perform the check for file, if the check method requires it
3638e8b4ed9fSmrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file
3639e8b4ed9fSmrgcase $deplibs_check_method in
3640e8b4ed9fSmrgfile_magic*)
3641e8b4ed9fSmrg  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
3642e8b4ed9fSmrg    _LT_PATH_MAGIC
3643e8b4ed9fSmrg  fi
364450f2e948Smrg  ;;
3645e8b4ed9fSmrgesac
364645bc899bSmrg
3647e8b4ed9fSmrg# Use C for the default configuration in the libtool script
3648e8b4ed9fSmrgLT_SUPPORTED_TAG([CC])
3649e8b4ed9fSmrg_LT_LANG_C_CONFIG
3650e8b4ed9fSmrg_LT_LANG_DEFAULT_CONFIG
3651e8b4ed9fSmrg_LT_CONFIG_COMMANDS
3652e8b4ed9fSmrg])# _LT_SETUP
365345bc899bSmrg
365445bc899bSmrg
3655e8b4ed9fSmrg# _LT_PREPARE_SED_QUOTE_VARS
3656e8b4ed9fSmrg# --------------------------
3657e8b4ed9fSmrg# Define a few sed substitution that help us do robust quoting.
3658e8b4ed9fSmrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS],
3659e8b4ed9fSmrg[# Backslashify metacharacters that are still active within
3660e8b4ed9fSmrg# double-quoted strings.
3661e8b4ed9fSmrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
366245bc899bSmrg
3663e8b4ed9fSmrg# Same as above, but do not quote variable references.
3664e8b4ed9fSmrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
366545bc899bSmrg
3666e8b4ed9fSmrg# Sed substitution to delay expansion of an escaped shell variable in a
3667e8b4ed9fSmrg# double_quote_subst'ed string.
3668e8b4ed9fSmrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
36695592a31fSmrg
3670e8b4ed9fSmrg# Sed substitution to delay expansion of an escaped single quote.
3671e8b4ed9fSmrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
3672226fade8Smrg
3673e8b4ed9fSmrg# Sed substitution to avoid accidental globbing in evaled expressions
3674e8b4ed9fSmrgno_glob_subst='s/\*/\\\*/g'
3675e8b4ed9fSmrg])
3676226fade8Smrg
3677e8b4ed9fSmrg# _LT_PROG_LTMAIN
3678e8b4ed9fSmrg# ---------------
3679e8b4ed9fSmrg# Note that this code is called both from 'configure', and 'config.status'
3680e8b4ed9fSmrg# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
3681e8b4ed9fSmrg# 'config.status' has no value for ac_aux_dir unless we are using Automake,
3682e8b4ed9fSmrg# so we pass a copy along to make sure it has a sensible value anyway.
3683e8b4ed9fSmrgm4_defun([_LT_PROG_LTMAIN],
3684e8b4ed9fSmrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
3685e8b4ed9fSmrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
3686e8b4ed9fSmrgltmain=$ac_aux_dir/ltmain.sh
3687e8b4ed9fSmrg])# _LT_PROG_LTMAIN
3688b40a6198Smrg
3689226fade8Smrg
3690226fade8Smrg
3691e8b4ed9fSmrg# So that we can recreate a full libtool script including additional
3692e8b4ed9fSmrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
3693e8b4ed9fSmrg# in macros and then make a single call at the end using the 'libtool'
3694e8b4ed9fSmrg# label.
3695226fade8Smrg
3696226fade8Smrg
3697e8b4ed9fSmrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
3698e8b4ed9fSmrg# ----------------------------------------
3699e8b4ed9fSmrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
3700e8b4ed9fSmrgm4_define([_LT_CONFIG_LIBTOOL_INIT],
3701e8b4ed9fSmrg[m4_ifval([$1],
3702e8b4ed9fSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
3703e8b4ed9fSmrg                     [$1
3704e8b4ed9fSmrg])])])
3705226fade8Smrg
3706e8b4ed9fSmrg# Initialize.
3707e8b4ed9fSmrgm4_define([_LT_OUTPUT_LIBTOOL_INIT])
3708226fade8Smrg
3709226fade8Smrg
3710e8b4ed9fSmrg# _LT_CONFIG_LIBTOOL([COMMANDS])
3711e8b4ed9fSmrg# ------------------------------
3712e8b4ed9fSmrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
3713e8b4ed9fSmrgm4_define([_LT_CONFIG_LIBTOOL],
3714e8b4ed9fSmrg[m4_ifval([$1],
3715e8b4ed9fSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
3716e8b4ed9fSmrg                     [$1
3717e8b4ed9fSmrg])])])
3718226fade8Smrg
3719e8b4ed9fSmrg# Initialize.
3720e8b4ed9fSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
3721226fade8Smrg
3722226fade8Smrg
3723e8b4ed9fSmrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
3724e8b4ed9fSmrg# -----------------------------------------------------
3725e8b4ed9fSmrgm4_defun([_LT_CONFIG_SAVE_COMMANDS],
3726e8b4ed9fSmrg[_LT_CONFIG_LIBTOOL([$1])
3727e8b4ed9fSmrg_LT_CONFIG_LIBTOOL_INIT([$2])
3728e8b4ed9fSmrg])
372950f2e948Smrg
37305592a31fSmrg
3731e8b4ed9fSmrg# _LT_FORMAT_COMMENT([COMMENT])
3732e8b4ed9fSmrg# -----------------------------
3733e8b4ed9fSmrg# Add leading comment marks to the start of each line, and a trailing
3734e8b4ed9fSmrg# full-stop to the whole comment if one is not present already.
3735e8b4ed9fSmrgm4_define([_LT_FORMAT_COMMENT],
3736e8b4ed9fSmrg[m4_ifval([$1], [
3737e8b4ed9fSmrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
3738e8b4ed9fSmrg              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
3739e8b4ed9fSmrg)])
374045bc899bSmrg
3741e8b4ed9fSmrg
3742e8b4ed9fSmrg
3743e8b4ed9fSmrg
3744e8b4ed9fSmrg
3745e8b4ed9fSmrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
3746e8b4ed9fSmrg# -------------------------------------------------------------------
3747e8b4ed9fSmrg# CONFIGNAME is the name given to the value in the libtool script.
3748e8b4ed9fSmrg# VARNAME is the (base) name used in the configure script.
3749e8b4ed9fSmrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
3750e8b4ed9fSmrg# VARNAME.  Any other value will be used directly.
3751e8b4ed9fSmrgm4_define([_LT_DECL],
3752e8b4ed9fSmrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
3753e8b4ed9fSmrg    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
3754e8b4ed9fSmrg	[m4_ifval([$1], [$1], [$2])])
3755e8b4ed9fSmrg    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
3756e8b4ed9fSmrg    m4_ifval([$4],
3757e8b4ed9fSmrg	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
3758e8b4ed9fSmrg    lt_dict_add_subkey([lt_decl_dict], [$2],
3759e8b4ed9fSmrg	[tagged?], [m4_ifval([$5], [yes], [no])])])
3760226fade8Smrg])
3761b40a6198Smrg
3762b40a6198Smrg
3763e8b4ed9fSmrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
3764e8b4ed9fSmrg# --------------------------------------------------------
3765e8b4ed9fSmrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
37665592a31fSmrg
3767226fade8Smrg
3768e8b4ed9fSmrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
3769e8b4ed9fSmrg# ------------------------------------------------
3770e8b4ed9fSmrgm4_define([lt_decl_tag_varnames],
3771e8b4ed9fSmrg[_lt_decl_filter([tagged?], [yes], $@)])
377245bc899bSmrg
37735592a31fSmrg
3774e8b4ed9fSmrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
3775e8b4ed9fSmrg# ---------------------------------------------------------
3776e8b4ed9fSmrgm4_define([_lt_decl_filter],
3777e8b4ed9fSmrg[m4_case([$#],
3778e8b4ed9fSmrg  [0], [m4_fatal([$0: too few arguments: $#])],
3779e8b4ed9fSmrg  [1], [m4_fatal([$0: too few arguments: $#: $1])],
3780e8b4ed9fSmrg  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
3781e8b4ed9fSmrg  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
3782e8b4ed9fSmrg  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
3783e8b4ed9fSmrg])
378445bc899bSmrg
378545bc899bSmrg
3786e8b4ed9fSmrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
3787e8b4ed9fSmrg# --------------------------------------------------
3788e8b4ed9fSmrgm4_define([lt_decl_quote_varnames],
3789e8b4ed9fSmrg[_lt_decl_filter([value], [1], $@)])
37905592a31fSmrg
3791b40a6198Smrg
3792e8b4ed9fSmrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
3793e8b4ed9fSmrg# ---------------------------------------------------
3794e8b4ed9fSmrgm4_define([lt_decl_dquote_varnames],
3795e8b4ed9fSmrg[_lt_decl_filter([value], [2], $@)])
3796b40a6198Smrg
3797b40a6198Smrg
3798e8b4ed9fSmrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
3799e8b4ed9fSmrg# ---------------------------------------------------
3800e8b4ed9fSmrgm4_define([lt_decl_varnames_tagged],
3801e8b4ed9fSmrg[m4_assert([$# <= 2])dnl
3802e8b4ed9fSmrg_$0(m4_quote(m4_default([$1], [[, ]])),
3803e8b4ed9fSmrg    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
3804e8b4ed9fSmrg    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
3805e8b4ed9fSmrgm4_define([_lt_decl_varnames_tagged],
3806e8b4ed9fSmrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
3807b40a6198Smrg
3808b40a6198Smrg
3809e8b4ed9fSmrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
3810e8b4ed9fSmrg# ------------------------------------------------
3811e8b4ed9fSmrgm4_define([lt_decl_all_varnames],
3812e8b4ed9fSmrg[_$0(m4_quote(m4_default([$1], [[, ]])),
3813e8b4ed9fSmrg     m4_if([$2], [],
3814e8b4ed9fSmrg	   m4_quote(lt_decl_varnames),
3815e8b4ed9fSmrg	m4_quote(m4_shift($@))))[]dnl
3816e8b4ed9fSmrg])
3817e8b4ed9fSmrgm4_define([_lt_decl_all_varnames],
3818e8b4ed9fSmrg[lt_join($@, lt_decl_varnames_tagged([$1],
3819e8b4ed9fSmrg			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
3820e8b4ed9fSmrg])
3821f2408745Smrg
3822f2408745Smrg
3823e8b4ed9fSmrg# _LT_CONFIG_STATUS_DECLARE([VARNAME])
3824e8b4ed9fSmrg# ------------------------------------
3825e8b4ed9fSmrg# Quote a variable value, and forward it to 'config.status' so that its
3826e8b4ed9fSmrg# declaration there will have the same value as in 'configure'.  VARNAME
3827e8b4ed9fSmrg# must have a single quote delimited value for this to work.
3828e8b4ed9fSmrgm4_define([_LT_CONFIG_STATUS_DECLARE],
3829e8b4ed9fSmrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
383045bc899bSmrg
383145bc899bSmrg
3832e8b4ed9fSmrg# _LT_CONFIG_STATUS_DECLARATIONS
3833e8b4ed9fSmrg# ------------------------------
3834e8b4ed9fSmrg# We delimit libtool config variables with single quotes, so when
3835e8b4ed9fSmrg# we write them to config.status, we have to be sure to quote all
3836e8b4ed9fSmrg# embedded single quotes properly.  In configure, this macro expands
3837e8b4ed9fSmrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
3838e8b4ed9fSmrg#
3839e8b4ed9fSmrg#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
3840e8b4ed9fSmrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
3841e8b4ed9fSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
3842e8b4ed9fSmrg    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
384345bc899bSmrg
384445bc899bSmrg
3845e8b4ed9fSmrg# _LT_LIBTOOL_TAGS
3846e8b4ed9fSmrg# ----------------
3847e8b4ed9fSmrg# Output comment and list of tags supported by the script
3848e8b4ed9fSmrgm4_defun([_LT_LIBTOOL_TAGS],
3849e8b4ed9fSmrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
3850e8b4ed9fSmrgavailable_tags='_LT_TAGS'dnl
3851e8b4ed9fSmrg])
385245bc899bSmrg
385345bc899bSmrg
3854e8b4ed9fSmrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
3855e8b4ed9fSmrg# -----------------------------------
3856e8b4ed9fSmrg# Extract the dictionary values for VARNAME (optionally with TAG) and
3857e8b4ed9fSmrg# expand to a commented shell variable setting:
3858e8b4ed9fSmrg#
3859e8b4ed9fSmrg#    # Some comment about what VAR is for.
3860e8b4ed9fSmrg#    visible_name=$lt_internal_name
3861e8b4ed9fSmrgm4_define([_LT_LIBTOOL_DECLARE],
3862e8b4ed9fSmrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
3863e8b4ed9fSmrg					   [description])))[]dnl
3864e8b4ed9fSmrgm4_pushdef([_libtool_name],
3865e8b4ed9fSmrg    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
3866e8b4ed9fSmrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
3867e8b4ed9fSmrg    [0], [_libtool_name=[$]$1],
3868e8b4ed9fSmrg    [1], [_libtool_name=$lt_[]$1],
3869e8b4ed9fSmrg    [2], [_libtool_name=$lt_[]$1],
3870e8b4ed9fSmrg    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
3871e8b4ed9fSmrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
3872e8b4ed9fSmrg])
387345bc899bSmrg
387445bc899bSmrg
3875e8b4ed9fSmrg# _LT_LIBTOOL_CONFIG_VARS
3876e8b4ed9fSmrg# -----------------------
3877e8b4ed9fSmrg# Produce commented declarations of non-tagged libtool config variables
3878e8b4ed9fSmrg# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
3879e8b4ed9fSmrg# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
3880e8b4ed9fSmrg# section) are produced by _LT_LIBTOOL_TAG_VARS.
3881e8b4ed9fSmrgm4_defun([_LT_LIBTOOL_CONFIG_VARS],
3882e8b4ed9fSmrg[m4_foreach([_lt_var],
3883e8b4ed9fSmrg    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
3884e8b4ed9fSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
388545bc899bSmrg
388645bc899bSmrg
3887e8b4ed9fSmrg# _LT_LIBTOOL_TAG_VARS(TAG)
3888e8b4ed9fSmrg# -------------------------
3889e8b4ed9fSmrgm4_define([_LT_LIBTOOL_TAG_VARS],
3890e8b4ed9fSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
3891e8b4ed9fSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
389245bc899bSmrg
389345bc899bSmrg
3894e8b4ed9fSmrg# _LT_TAGVAR(VARNAME, [TAGNAME])
3895e8b4ed9fSmrg# ------------------------------
3896e8b4ed9fSmrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
389745bc899bSmrg
389845bc899bSmrg
3899e8b4ed9fSmrg# _LT_CONFIG_COMMANDS
3900e8b4ed9fSmrg# -------------------
3901e8b4ed9fSmrg# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
3902e8b4ed9fSmrg# variables for single and double quote escaping we saved from calls
3903e8b4ed9fSmrg# to _LT_DECL, we can put quote escaped variables declarations
3904e8b4ed9fSmrg# into 'config.status', and then the shell code to quote escape them in
3905e8b4ed9fSmrg# for loops in 'config.status'.  Finally, any additional code accumulated
3906e8b4ed9fSmrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
3907e8b4ed9fSmrgm4_defun([_LT_CONFIG_COMMANDS],
3908e8b4ed9fSmrg[AC_PROVIDE_IFELSE([LT_OUTPUT],
3909e8b4ed9fSmrg	dnl If the libtool generation code has been placed in $CONFIG_LT,
3910e8b4ed9fSmrg	dnl instead of duplicating it all over again into config.status,
3911e8b4ed9fSmrg	dnl then we will have config.status run $CONFIG_LT later, so it
3912e8b4ed9fSmrg	dnl needs to know what name is stored there:
3913e8b4ed9fSmrg        [AC_CONFIG_COMMANDS([libtool],
3914e8b4ed9fSmrg            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
3915e8b4ed9fSmrg    dnl If the libtool generation code is destined for config.status,
3916e8b4ed9fSmrg    dnl expand the accumulated commands and init code now:
3917e8b4ed9fSmrg    [AC_CONFIG_COMMANDS([libtool],
3918e8b4ed9fSmrg        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
3919e8b4ed9fSmrg])#_LT_CONFIG_COMMANDS
3920f2408745Smrg
392145bc899bSmrg
3922e8b4ed9fSmrg# Initialize.
3923e8b4ed9fSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
3924e8b4ed9fSmrg[
3925f2408745Smrg
3926e8b4ed9fSmrg# The HP-UX ksh and POSIX shell print the target directory to stdout
3927e8b4ed9fSmrg# if CDPATH is set.
3928e8b4ed9fSmrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
392945bc899bSmrg
3930e8b4ed9fSmrgsed_quote_subst='$sed_quote_subst'
3931e8b4ed9fSmrgdouble_quote_subst='$double_quote_subst'
3932e8b4ed9fSmrgdelay_variable_subst='$delay_variable_subst'
3933e8b4ed9fSmrg_LT_CONFIG_STATUS_DECLARATIONS
3934e8b4ed9fSmrgLTCC='$LTCC'
3935e8b4ed9fSmrgLTCFLAGS='$LTCFLAGS'
3936e8b4ed9fSmrgcompiler='$compiler_DEFAULT'
39373a925b30Smrg
3938e8b4ed9fSmrg# A function that is used when there is no print builtin or printf.
3939e8b4ed9fSmrgfunc_fallback_echo ()
3940e8b4ed9fSmrg{
3941e8b4ed9fSmrg  eval 'cat <<_LTECHO_EOF
3942e8b4ed9fSmrg\$[]1
3943e8b4ed9fSmrg_LTECHO_EOF'
3944e8b4ed9fSmrg}
39453a925b30Smrg
3946e8b4ed9fSmrg# Quote evaled strings.
3947e8b4ed9fSmrgfor var in lt_decl_all_varnames([[ \
3948e8b4ed9fSmrg]], lt_decl_quote_varnames); do
3949e8b4ed9fSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
3950e8b4ed9fSmrg    *[[\\\\\\\`\\"\\\$]]*)
3951e8b4ed9fSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
3952e8b4ed9fSmrg      ;;
3953e8b4ed9fSmrg    *)
3954e8b4ed9fSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
3955e8b4ed9fSmrg      ;;
3956e8b4ed9fSmrg    esac
3957e8b4ed9fSmrgdone
39583a925b30Smrg
3959e8b4ed9fSmrg# Double-quote double-evaled strings.
3960e8b4ed9fSmrgfor var in lt_decl_all_varnames([[ \
3961e8b4ed9fSmrg]], lt_decl_dquote_varnames); do
3962e8b4ed9fSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
3963e8b4ed9fSmrg    *[[\\\\\\\`\\"\\\$]]*)
3964e8b4ed9fSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
3965e8b4ed9fSmrg      ;;
3966e8b4ed9fSmrg    *)
3967e8b4ed9fSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
3968e8b4ed9fSmrg      ;;
3969e8b4ed9fSmrg    esac
3970e8b4ed9fSmrgdone
397145bc899bSmrg
3972e8b4ed9fSmrg_LT_OUTPUT_LIBTOOL_INIT
3973e8b4ed9fSmrg])
397445bc899bSmrg
3975e8b4ed9fSmrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
3976e8b4ed9fSmrg# ------------------------------------
3977e8b4ed9fSmrg# Generate a child script FILE with all initialization necessary to
3978e8b4ed9fSmrg# reuse the environment learned by the parent script, and make the
3979e8b4ed9fSmrg# file executable.  If COMMENT is supplied, it is inserted after the
3980e8b4ed9fSmrg# '#!' sequence but before initialization text begins.  After this
3981e8b4ed9fSmrg# macro, additional text can be appended to FILE to form the body of
3982e8b4ed9fSmrg# the child script.  The macro ends with non-zero status if the
3983e8b4ed9fSmrg# file could not be fully written (such as if the disk is full).
3984e8b4ed9fSmrgm4_ifdef([AS_INIT_GENERATED],
3985e8b4ed9fSmrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
3986e8b4ed9fSmrg[m4_defun([_LT_GENERATED_FILE_INIT],
3987e8b4ed9fSmrg[m4_require([AS_PREPARE])]dnl
3988e8b4ed9fSmrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
3989e8b4ed9fSmrg[lt_write_fail=0
3990e8b4ed9fSmrgcat >$1 <<_ASEOF || lt_write_fail=1
3991e8b4ed9fSmrg#! $SHELL
3992e8b4ed9fSmrg# Generated by $as_me.
3993e8b4ed9fSmrg$2
3994e8b4ed9fSmrgSHELL=\${CONFIG_SHELL-$SHELL}
3995e8b4ed9fSmrgexport SHELL
3996e8b4ed9fSmrg_ASEOF
3997e8b4ed9fSmrgcat >>$1 <<\_ASEOF || lt_write_fail=1
3998e8b4ed9fSmrgAS_SHELL_SANITIZE
3999e8b4ed9fSmrg_AS_PREPARE
4000e8b4ed9fSmrgexec AS_MESSAGE_FD>&1
4001e8b4ed9fSmrg_ASEOF
4002e8b4ed9fSmrgtest 0 = "$lt_write_fail" && chmod +x $1[]dnl
4003e8b4ed9fSmrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
40043a925b30Smrg
4005e8b4ed9fSmrg# LT_OUTPUT
4006e8b4ed9fSmrg# ---------
4007e8b4ed9fSmrg# This macro allows early generation of the libtool script (before
4008e8b4ed9fSmrg# AC_OUTPUT is called), incase it is used in configure for compilation
4009e8b4ed9fSmrg# tests.
4010e8b4ed9fSmrgAC_DEFUN([LT_OUTPUT],
4011e8b4ed9fSmrg[: ${CONFIG_LT=./config.lt}
4012e8b4ed9fSmrgAC_MSG_NOTICE([creating $CONFIG_LT])
4013e8b4ed9fSmrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
4014e8b4ed9fSmrg[# Run this file to recreate a libtool stub with the current configuration.])
40153a925b30Smrg
4016e8b4ed9fSmrgcat >>"$CONFIG_LT" <<\_LTEOF
4017e8b4ed9fSmrglt_cl_silent=false
4018e8b4ed9fSmrgexec AS_MESSAGE_LOG_FD>>config.log
4019e8b4ed9fSmrg{
4020e8b4ed9fSmrg  echo
4021e8b4ed9fSmrg  AS_BOX([Running $as_me.])
4022e8b4ed9fSmrg} >&AS_MESSAGE_LOG_FD
4023b40a6198Smrg
4024e8b4ed9fSmrglt_cl_help="\
4025e8b4ed9fSmrg'$as_me' creates a local libtool stub from the current configuration,
4026e8b4ed9fSmrgfor use in further configure time tests before the real libtool is
4027e8b4ed9fSmrggenerated.
40283a925b30Smrg
4029e8b4ed9fSmrgUsage: $[0] [[OPTIONS]]
40303a925b30Smrg
4031e8b4ed9fSmrg  -h, --help      print this help, then exit
4032e8b4ed9fSmrg  -V, --version   print version number, then exit
4033e8b4ed9fSmrg  -q, --quiet     do not print progress messages
4034e8b4ed9fSmrg  -d, --debug     don't remove temporary files
40353a925b30Smrg
4036e8b4ed9fSmrgReport bugs to <bug-libtool@gnu.org>."
40373a925b30Smrg
4038e8b4ed9fSmrglt_cl_version="\
4039e8b4ed9fSmrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
4040e8b4ed9fSmrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
4041e8b4ed9fSmrgconfigured by $[0], generated by m4_PACKAGE_STRING.
40423a925b30Smrg
4043e8b4ed9fSmrgCopyright (C) 2011 Free Software Foundation, Inc.
4044e8b4ed9fSmrgThis config.lt script is free software; the Free Software Foundation
4045e8b4ed9fSmrggives unlimited permision to copy, distribute and modify it."
404645bc899bSmrg
4047e8b4ed9fSmrgwhile test 0 != $[#]
4048e8b4ed9fSmrgdo
4049e8b4ed9fSmrg  case $[1] in
4050e8b4ed9fSmrg    --version | --v* | -V )
4051e8b4ed9fSmrg      echo "$lt_cl_version"; exit 0 ;;
4052e8b4ed9fSmrg    --help | --h* | -h )
4053e8b4ed9fSmrg      echo "$lt_cl_help"; exit 0 ;;
4054e8b4ed9fSmrg    --debug | --d* | -d )
4055e8b4ed9fSmrg      debug=: ;;
4056e8b4ed9fSmrg    --quiet | --q* | --silent | --s* | -q )
4057e8b4ed9fSmrg      lt_cl_silent=: ;;
4058e8b4ed9fSmrg
4059e8b4ed9fSmrg    -*) AC_MSG_ERROR([unrecognized option: $[1]
4060e8b4ed9fSmrgTry '$[0] --help' for more information.]) ;;
4061e8b4ed9fSmrg
4062e8b4ed9fSmrg    *) AC_MSG_ERROR([unrecognized argument: $[1]
4063e8b4ed9fSmrgTry '$[0] --help' for more information.]) ;;
4064e8b4ed9fSmrg  esac
4065e8b4ed9fSmrg  shift
40665592a31fSmrgdone
4067e8b4ed9fSmrg
4068e8b4ed9fSmrgif $lt_cl_silent; then
4069e8b4ed9fSmrg  exec AS_MESSAGE_FD>/dev/null
407050f2e948Smrgfi
4071e8b4ed9fSmrg_LTEOF
407245bc899bSmrg
4073e8b4ed9fSmrgcat >>"$CONFIG_LT" <<_LTEOF
4074e8b4ed9fSmrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
4075e8b4ed9fSmrg_LTEOF
4076e8b4ed9fSmrg
4077e8b4ed9fSmrgcat >>"$CONFIG_LT" <<\_LTEOF
4078e8b4ed9fSmrgAC_MSG_NOTICE([creating $ofile])
4079e8b4ed9fSmrg_LT_OUTPUT_LIBTOOL_COMMANDS
4080e8b4ed9fSmrgAS_EXIT(0)
4081e8b4ed9fSmrg_LTEOF
4082e8b4ed9fSmrgchmod +x "$CONFIG_LT"
4083e8b4ed9fSmrg
4084e8b4ed9fSmrg# configure is writing to config.log, but config.lt does its own redirection,
4085e8b4ed9fSmrg# appending to config.log, which fails on DOS, as config.log is still kept
4086e8b4ed9fSmrg# open by configure.  Here we exec the FD to /dev/null, effectively closing
4087e8b4ed9fSmrg# config.log, so it can be properly (re)opened and appended to by config.lt.
4088e8b4ed9fSmrglt_cl_success=:
4089e8b4ed9fSmrgtest yes = "$silent" &&
4090e8b4ed9fSmrg  lt_config_lt_args="$lt_config_lt_args --quiet"
4091e8b4ed9fSmrgexec AS_MESSAGE_LOG_FD>/dev/null
4092e8b4ed9fSmrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
4093e8b4ed9fSmrgexec AS_MESSAGE_LOG_FD>>config.log
4094e8b4ed9fSmrg$lt_cl_success || AS_EXIT(1)
4095e8b4ed9fSmrg])# LT_OUTPUT
4096e8b4ed9fSmrg
4097e8b4ed9fSmrg
4098e8b4ed9fSmrg# _LT_CONFIG(TAG)
4099e8b4ed9fSmrg# ---------------
4100e8b4ed9fSmrg# If TAG is the built-in tag, create an initial libtool script with a
4101e8b4ed9fSmrg# default configuration from the untagged config vars.  Otherwise add code
4102e8b4ed9fSmrg# to config.status for appending the configuration named by TAG from the
4103e8b4ed9fSmrg# matching tagged config vars.
4104e8b4ed9fSmrgm4_defun([_LT_CONFIG],
4105e8b4ed9fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4106e8b4ed9fSmrg_LT_CONFIG_SAVE_COMMANDS([
4107e8b4ed9fSmrg  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
4108e8b4ed9fSmrg  m4_if(_LT_TAG, [C], [
4109e8b4ed9fSmrg    # See if we are running on zsh, and set the options that allow our
4110e8b4ed9fSmrg    # commands through without removal of \ escapes.
4111e8b4ed9fSmrg    if test -n "${ZSH_VERSION+set}"; then
4112e8b4ed9fSmrg      setopt NO_GLOB_SUBST
4113e8b4ed9fSmrg    fi
4114e8b4ed9fSmrg
4115e8b4ed9fSmrg    cfgfile=${ofile}T
4116e8b4ed9fSmrg    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
4117e8b4ed9fSmrg    $RM "$cfgfile"
4118e8b4ed9fSmrg
4119e8b4ed9fSmrg    cat <<_LT_EOF >> "$cfgfile"
4120e8b4ed9fSmrg#! $SHELL
4121e8b4ed9fSmrg# Generated automatically by $as_me ($PACKAGE) $VERSION
4122e8b4ed9fSmrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
4123e8b4ed9fSmrg# NOTE: Changes made to this file will be lost: look at ltmain.sh.
4124e8b4ed9fSmrg
4125e8b4ed9fSmrg# Provide generalized library-building support services.
4126e8b4ed9fSmrg# Written by Gordon Matzigkeit, 1996
4127e8b4ed9fSmrg
4128e8b4ed9fSmrg_LT_COPYING
4129e8b4ed9fSmrg_LT_LIBTOOL_TAGS
4130e8b4ed9fSmrg
4131e8b4ed9fSmrg# Configured defaults for sys_lib_dlsearch_path munging.
4132e8b4ed9fSmrg: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
4133e8b4ed9fSmrg
4134e8b4ed9fSmrg# ### BEGIN LIBTOOL CONFIG
4135e8b4ed9fSmrg_LT_LIBTOOL_CONFIG_VARS
4136e8b4ed9fSmrg_LT_LIBTOOL_TAG_VARS
4137e8b4ed9fSmrg# ### END LIBTOOL CONFIG
4138e8b4ed9fSmrg
4139e8b4ed9fSmrg_LT_EOF
4140e8b4ed9fSmrg
4141e8b4ed9fSmrg    cat <<'_LT_EOF' >> "$cfgfile"
4142e8b4ed9fSmrg
4143e8b4ed9fSmrg# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
4144e8b4ed9fSmrg
4145e8b4ed9fSmrg_LT_PREPARE_MUNGE_PATH_LIST
4146e8b4ed9fSmrg_LT_PREPARE_CC_BASENAME
4147e8b4ed9fSmrg
4148e8b4ed9fSmrg# ### END FUNCTIONS SHARED WITH CONFIGURE
4149e8b4ed9fSmrg
4150e8b4ed9fSmrg_LT_EOF
4151e8b4ed9fSmrg
4152e8b4ed9fSmrg  case $host_os in
4153e8b4ed9fSmrg  aix3*)
4154e8b4ed9fSmrg    cat <<\_LT_EOF >> "$cfgfile"
4155e8b4ed9fSmrg# AIX sometimes has problems with the GCC collect2 program.  For some
4156e8b4ed9fSmrg# reason, if we set the COLLECT_NAMES environment variable, the problems
4157e8b4ed9fSmrg# vanish in a puff of smoke.
4158e8b4ed9fSmrgif test set != "${COLLECT_NAMES+set}"; then
4159e8b4ed9fSmrg  COLLECT_NAMES=
4160e8b4ed9fSmrg  export COLLECT_NAMES
4161b40a6198Smrgfi
4162e8b4ed9fSmrg_LT_EOF
4163e8b4ed9fSmrg    ;;
4164e8b4ed9fSmrg  esac
4165b40a6198Smrg
4166e8b4ed9fSmrg  _LT_PROG_LTMAIN
416745bc899bSmrg
4168e8b4ed9fSmrg  # We use sed instead of cat because bash on DJGPP gets confused if
4169e8b4ed9fSmrg  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
4170e8b4ed9fSmrg  # text mode, it properly converts lines to CR/LF.  This bash problem
4171e8b4ed9fSmrg  # is reportedly fixed, but why not run on old versions too?
4172e8b4ed9fSmrg  $SED '$q' "$ltmain" >> "$cfgfile" \
4173e8b4ed9fSmrg     || (rm -f "$cfgfile"; exit 1)
417445bc899bSmrg
4175e8b4ed9fSmrg   mv -f "$cfgfile" "$ofile" ||
4176e8b4ed9fSmrg    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
4177e8b4ed9fSmrg  chmod +x "$ofile"
4178e8b4ed9fSmrg],
4179e8b4ed9fSmrg[cat <<_LT_EOF >> "$ofile"
418045bc899bSmrg
4181e8b4ed9fSmrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
4182e8b4ed9fSmrgdnl in a comment (ie after a #).
4183e8b4ed9fSmrg# ### BEGIN LIBTOOL TAG CONFIG: $1
4184e8b4ed9fSmrg_LT_LIBTOOL_TAG_VARS(_LT_TAG)
4185e8b4ed9fSmrg# ### END LIBTOOL TAG CONFIG: $1
4186e8b4ed9fSmrg_LT_EOF
4187e8b4ed9fSmrg])dnl /m4_if
4188e8b4ed9fSmrg],
4189e8b4ed9fSmrg[m4_if([$1], [], [
4190e8b4ed9fSmrg    PACKAGE='$PACKAGE'
4191e8b4ed9fSmrg    VERSION='$VERSION'
4192e8b4ed9fSmrg    RM='$RM'
4193e8b4ed9fSmrg    ofile='$ofile'], [])
4194e8b4ed9fSmrg])dnl /_LT_CONFIG_SAVE_COMMANDS
4195e8b4ed9fSmrg])# _LT_CONFIG
41963a925b30Smrg
419745bc899bSmrg
4198e8b4ed9fSmrg# LT_SUPPORTED_TAG(TAG)
4199e8b4ed9fSmrg# ---------------------
4200e8b4ed9fSmrg# Trace this macro to discover what tags are supported by the libtool
4201e8b4ed9fSmrg# --tag option, using:
4202e8b4ed9fSmrg#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
4203e8b4ed9fSmrgAC_DEFUN([LT_SUPPORTED_TAG], [])
42043a925b30Smrg
42051ac89addSmrg
4206e8b4ed9fSmrg# C support is built-in for now
4207e8b4ed9fSmrgm4_define([_LT_LANG_C_enabled], [])
4208e8b4ed9fSmrgm4_define([_LT_TAGS], [])
42091ac89addSmrg
42101ac89addSmrg
4211e8b4ed9fSmrg# LT_LANG(LANG)
4212e8b4ed9fSmrg# -------------
4213e8b4ed9fSmrg# Enable libtool support for the given language if not already enabled.
4214e8b4ed9fSmrgAC_DEFUN([LT_LANG],
4215e8b4ed9fSmrg[AC_BEFORE([$0], [LT_OUTPUT])dnl
4216e8b4ed9fSmrgm4_case([$1],
4217e8b4ed9fSmrg  [C],			[_LT_LANG(C)],
4218e8b4ed9fSmrg  [C++],		[_LT_LANG(CXX)],
4219e8b4ed9fSmrg  [Go],			[_LT_LANG(GO)],
4220e8b4ed9fSmrg  [Java],		[_LT_LANG(GCJ)],
4221e8b4ed9fSmrg  [Fortran 77],		[_LT_LANG(F77)],
4222e8b4ed9fSmrg  [Fortran],		[_LT_LANG(FC)],
4223e8b4ed9fSmrg  [Windows Resource],	[_LT_LANG(RC)],
4224e8b4ed9fSmrg  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
4225e8b4ed9fSmrg    [_LT_LANG($1)],
4226e8b4ed9fSmrg    [m4_fatal([$0: unsupported language: "$1"])])])dnl
4227e8b4ed9fSmrg])# LT_LANG
42281ac89addSmrg
42291ac89addSmrg
4230e8b4ed9fSmrg# _LT_LANG(LANGNAME)
4231e8b4ed9fSmrg# ------------------
4232e8b4ed9fSmrgm4_defun([_LT_LANG],
4233e8b4ed9fSmrg[m4_ifdef([_LT_LANG_]$1[_enabled], [],
4234e8b4ed9fSmrg  [LT_SUPPORTED_TAG([$1])dnl
4235e8b4ed9fSmrg  m4_append([_LT_TAGS], [$1 ])dnl
4236e8b4ed9fSmrg  m4_define([_LT_LANG_]$1[_enabled], [])dnl
4237e8b4ed9fSmrg  _LT_LANG_$1_CONFIG($1)])dnl
4238e8b4ed9fSmrg])# _LT_LANG
42391ac89addSmrg
42401ac89addSmrg
4241e8b4ed9fSmrgm4_ifndef([AC_PROG_GO], [
4242e8b4ed9fSmrg# NOTE: This macro has been submitted for inclusion into   #
4243e8b4ed9fSmrg#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
4244e8b4ed9fSmrg#  a released version of Autoconf we should remove this    #
4245e8b4ed9fSmrg#  macro and use it instead.                               #
4246e8b4ed9fSmrgm4_defun([AC_PROG_GO],
4247e8b4ed9fSmrg[AC_LANG_PUSH(Go)dnl
4248e8b4ed9fSmrgAC_ARG_VAR([GOC],     [Go compiler command])dnl
4249e8b4ed9fSmrgAC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
4250e8b4ed9fSmrg_AC_ARG_VAR_LDFLAGS()dnl
4251e8b4ed9fSmrgAC_CHECK_TOOL(GOC, gccgo)
4252e8b4ed9fSmrgif test -z "$GOC"; then
4253e8b4ed9fSmrg  if test -n "$ac_tool_prefix"; then
4254e8b4ed9fSmrg    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
4255e8b4ed9fSmrg  fi
4256e8b4ed9fSmrgfi
4257e8b4ed9fSmrgif test -z "$GOC"; then
4258e8b4ed9fSmrg  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
4259e8b4ed9fSmrgfi
4260e8b4ed9fSmrg])#m4_defun
4261e8b4ed9fSmrg])#m4_ifndef
42621ac89addSmrg
42631ac89addSmrg
4264e8b4ed9fSmrg# _LT_LANG_DEFAULT_CONFIG
4265e8b4ed9fSmrg# -----------------------
4266e8b4ed9fSmrgm4_defun([_LT_LANG_DEFAULT_CONFIG],
4267e8b4ed9fSmrg[AC_PROVIDE_IFELSE([AC_PROG_CXX],
4268e8b4ed9fSmrg  [LT_LANG(CXX)],
4269e8b4ed9fSmrg  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
42701ac89addSmrg
4271e8b4ed9fSmrgAC_PROVIDE_IFELSE([AC_PROG_F77],
4272e8b4ed9fSmrg  [LT_LANG(F77)],
4273e8b4ed9fSmrg  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
42741ac89addSmrg
4275e8b4ed9fSmrgAC_PROVIDE_IFELSE([AC_PROG_FC],
4276e8b4ed9fSmrg  [LT_LANG(FC)],
4277e8b4ed9fSmrg  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
42781ac89addSmrg
4279e8b4ed9fSmrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
4280e8b4ed9fSmrgdnl pulling things in needlessly.
4281e8b4ed9fSmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ],
4282e8b4ed9fSmrg  [LT_LANG(GCJ)],
4283e8b4ed9fSmrg  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
4284e8b4ed9fSmrg    [LT_LANG(GCJ)],
4285e8b4ed9fSmrg    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
4286e8b4ed9fSmrg      [LT_LANG(GCJ)],
4287e8b4ed9fSmrg      [m4_ifdef([AC_PROG_GCJ],
4288e8b4ed9fSmrg	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
4289e8b4ed9fSmrg       m4_ifdef([A][M_PROG_GCJ],
4290e8b4ed9fSmrg	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
4291e8b4ed9fSmrg       m4_ifdef([LT_PROG_GCJ],
4292e8b4ed9fSmrg	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
42931ac89addSmrg
4294e8b4ed9fSmrgAC_PROVIDE_IFELSE([AC_PROG_GO],
4295e8b4ed9fSmrg  [LT_LANG(GO)],
4296e8b4ed9fSmrg  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
42971ac89addSmrg
4298e8b4ed9fSmrgAC_PROVIDE_IFELSE([LT_PROG_RC],
4299e8b4ed9fSmrg  [LT_LANG(RC)],
4300e8b4ed9fSmrg  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
4301e8b4ed9fSmrg])# _LT_LANG_DEFAULT_CONFIG
4302e8b4ed9fSmrg
4303e8b4ed9fSmrg# Obsolete macros:
4304e8b4ed9fSmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
4305e8b4ed9fSmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
4306e8b4ed9fSmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
4307e8b4ed9fSmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
4308e8b4ed9fSmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
4309e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
4310e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
4311e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_F77], [])
4312e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_FC], [])
4313e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
4314e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_RC], [])
43151ac89addSmrg
43161ac89addSmrg
4317e8b4ed9fSmrg# _LT_TAG_COMPILER
4318e8b4ed9fSmrg# ----------------
4319e8b4ed9fSmrgm4_defun([_LT_TAG_COMPILER],
4320e8b4ed9fSmrg[AC_REQUIRE([AC_PROG_CC])dnl
43215592a31fSmrg
4322e8b4ed9fSmrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
4323e8b4ed9fSmrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
4324e8b4ed9fSmrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
4325e8b4ed9fSmrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
43261ac89addSmrg
4327e8b4ed9fSmrg# If no C compiler was specified, use CC.
4328e8b4ed9fSmrgLTCC=${LTCC-"$CC"}
43291ac89addSmrg
4330e8b4ed9fSmrg# If no C compiler flags were specified, use CFLAGS.
4331e8b4ed9fSmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
43321ac89addSmrg
4333e8b4ed9fSmrg# Allow CC to be a program name with arguments.
4334e8b4ed9fSmrgcompiler=$CC
4335e8b4ed9fSmrg])# _LT_TAG_COMPILER
43361ac89addSmrg
43371ac89addSmrg
4338e8b4ed9fSmrg# _LT_COMPILER_BOILERPLATE
4339e8b4ed9fSmrg# ------------------------
4340e8b4ed9fSmrg# Check for compiler boilerplate output or warnings with
4341e8b4ed9fSmrg# the simple compiler test code.
4342e8b4ed9fSmrgm4_defun([_LT_COMPILER_BOILERPLATE],
4343e8b4ed9fSmrg[m4_require([_LT_DECL_SED])dnl
4344e8b4ed9fSmrgac_outfile=conftest.$ac_objext
4345e8b4ed9fSmrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext
4346e8b4ed9fSmrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
4347e8b4ed9fSmrg_lt_compiler_boilerplate=`cat conftest.err`
4348e8b4ed9fSmrg$RM conftest*
4349e8b4ed9fSmrg])# _LT_COMPILER_BOILERPLATE
43501ac89addSmrg
43511ac89addSmrg
4352e8b4ed9fSmrg# _LT_LINKER_BOILERPLATE
4353e8b4ed9fSmrg# ----------------------
4354e8b4ed9fSmrg# Check for linker boilerplate output or warnings with
4355e8b4ed9fSmrg# the simple link test code.
4356e8b4ed9fSmrgm4_defun([_LT_LINKER_BOILERPLATE],
4357e8b4ed9fSmrg[m4_require([_LT_DECL_SED])dnl
4358e8b4ed9fSmrgac_outfile=conftest.$ac_objext
4359e8b4ed9fSmrgecho "$lt_simple_link_test_code" >conftest.$ac_ext
4360e8b4ed9fSmrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
4361e8b4ed9fSmrg_lt_linker_boilerplate=`cat conftest.err`
4362e8b4ed9fSmrg$RM -r conftest*
4363e8b4ed9fSmrg])# _LT_LINKER_BOILERPLATE
43641ac89addSmrg
4365e8b4ed9fSmrg# _LT_REQUIRED_DARWIN_CHECKS
4366e8b4ed9fSmrg# -------------------------
4367e8b4ed9fSmrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
4368e8b4ed9fSmrg  case $host_os in
4369e8b4ed9fSmrg    rhapsody* | darwin*)
4370e8b4ed9fSmrg    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
4371e8b4ed9fSmrg    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
4372e8b4ed9fSmrg    AC_CHECK_TOOL([LIPO], [lipo], [:])
4373e8b4ed9fSmrg    AC_CHECK_TOOL([OTOOL], [otool], [:])
4374e8b4ed9fSmrg    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
4375e8b4ed9fSmrg    _LT_DECL([], [DSYMUTIL], [1],
4376e8b4ed9fSmrg      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
4377e8b4ed9fSmrg    _LT_DECL([], [NMEDIT], [1],
4378e8b4ed9fSmrg      [Tool to change global to local symbols on Mac OS X])
4379e8b4ed9fSmrg    _LT_DECL([], [LIPO], [1],
4380e8b4ed9fSmrg      [Tool to manipulate fat objects and archives on Mac OS X])
4381e8b4ed9fSmrg    _LT_DECL([], [OTOOL], [1],
4382e8b4ed9fSmrg      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
4383e8b4ed9fSmrg    _LT_DECL([], [OTOOL64], [1],
4384e8b4ed9fSmrg      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
438545bc899bSmrg
4386e8b4ed9fSmrg    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
4387e8b4ed9fSmrg      [lt_cv_apple_cc_single_mod=no
4388e8b4ed9fSmrg      if test -z "$LT_MULTI_MODULE"; then
4389e8b4ed9fSmrg	# By default we will add the -single_module flag. You can override
4390e8b4ed9fSmrg	# by either setting the environment variable LT_MULTI_MODULE
4391e8b4ed9fSmrg	# non-empty at configure time, or by adding -multi_module to the
4392e8b4ed9fSmrg	# link flags.
4393e8b4ed9fSmrg	rm -rf libconftest.dylib*
4394e8b4ed9fSmrg	echo "int foo(void){return 1;}" > conftest.c
4395e8b4ed9fSmrg	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
4396e8b4ed9fSmrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
4397e8b4ed9fSmrg	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
4398e8b4ed9fSmrg	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
4399e8b4ed9fSmrg        _lt_result=$?
4400e8b4ed9fSmrg	# If there is a non-empty error log, and "single_module"
4401e8b4ed9fSmrg	# appears in it, assume the flag caused a linker warning
4402e8b4ed9fSmrg        if test -s conftest.err && $GREP single_module conftest.err; then
4403e8b4ed9fSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
4404e8b4ed9fSmrg	# Otherwise, if the output was created with a 0 exit code from
4405e8b4ed9fSmrg	# the compiler, it worked.
4406e8b4ed9fSmrg	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
4407e8b4ed9fSmrg	  lt_cv_apple_cc_single_mod=yes
4408e8b4ed9fSmrg	else
4409e8b4ed9fSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
4410e8b4ed9fSmrg	fi
4411e8b4ed9fSmrg	rm -rf libconftest.dylib*
4412e8b4ed9fSmrg	rm -f conftest.*
4413e8b4ed9fSmrg      fi])
441445bc899bSmrg
4415e8b4ed9fSmrg    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
4416e8b4ed9fSmrg      [lt_cv_ld_exported_symbols_list],
4417e8b4ed9fSmrg      [lt_cv_ld_exported_symbols_list=no
4418e8b4ed9fSmrg      save_LDFLAGS=$LDFLAGS
4419e8b4ed9fSmrg      echo "_main" > conftest.sym
4420e8b4ed9fSmrg      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
4421e8b4ed9fSmrg      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
4422e8b4ed9fSmrg	[lt_cv_ld_exported_symbols_list=yes],
4423e8b4ed9fSmrg	[lt_cv_ld_exported_symbols_list=no])
4424e8b4ed9fSmrg	LDFLAGS=$save_LDFLAGS
4425e8b4ed9fSmrg    ])
442645bc899bSmrg
4427e8b4ed9fSmrg    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
4428e8b4ed9fSmrg      [lt_cv_ld_force_load=no
4429e8b4ed9fSmrg      cat > conftest.c << _LT_EOF
4430e8b4ed9fSmrgint forced_loaded() { return 2;}
4431e8b4ed9fSmrg_LT_EOF
4432e8b4ed9fSmrg      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
4433e8b4ed9fSmrg      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
4434e8b4ed9fSmrg      echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
4435e8b4ed9fSmrg      $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
4436e8b4ed9fSmrg      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
4437e8b4ed9fSmrg      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
4438e8b4ed9fSmrg      cat > conftest.c << _LT_EOF
4439e8b4ed9fSmrgint main() { return 0;}
4440e8b4ed9fSmrg_LT_EOF
4441e8b4ed9fSmrg      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
4442e8b4ed9fSmrg      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
4443e8b4ed9fSmrg      _lt_result=$?
4444e8b4ed9fSmrg      if test -s conftest.err && $GREP force_load conftest.err; then
4445e8b4ed9fSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
4446e8b4ed9fSmrg      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
4447e8b4ed9fSmrg	lt_cv_ld_force_load=yes
44485592a31fSmrg      else
4449e8b4ed9fSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
44505592a31fSmrg      fi
4451e8b4ed9fSmrg        rm -f conftest.err libconftest.a conftest conftest.c
4452e8b4ed9fSmrg        rm -rf conftest.dSYM
4453e8b4ed9fSmrg    ])
4454e8b4ed9fSmrg    case $host_os in
4455e8b4ed9fSmrg    rhapsody* | darwin1.[[012]])
4456e8b4ed9fSmrg      _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
4457e8b4ed9fSmrg    darwin1.*)
4458e8b4ed9fSmrg      _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
4459e8b4ed9fSmrg    darwin*)
4460e8b4ed9fSmrg      case $MACOSX_DEPLOYMENT_TARGET,$host in
4461e8b4ed9fSmrg        10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
4462e8b4ed9fSmrg          _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
4463e8b4ed9fSmrg        *)
4464e8b4ed9fSmrg          _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
4465e8b4ed9fSmrg      esac
4466e8b4ed9fSmrg    ;;
4467e8b4ed9fSmrg  esac
4468e8b4ed9fSmrg    if test yes = "$lt_cv_apple_cc_single_mod"; then
4469e8b4ed9fSmrg      _lt_dar_single_mod='$single_module'
4470e8b4ed9fSmrg    fi
4471e8b4ed9fSmrg    if test yes = "$lt_cv_ld_exported_symbols_list"; then
4472e8b4ed9fSmrg      _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
4473e8b4ed9fSmrg    else
4474e8b4ed9fSmrg      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
4475e8b4ed9fSmrg    fi
4476e8b4ed9fSmrg    if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
4477e8b4ed9fSmrg      _lt_dsymutil='~$DSYMUTIL $lib || :'
4478e8b4ed9fSmrg    else
4479e8b4ed9fSmrg      _lt_dsymutil=
4480e8b4ed9fSmrg    fi
4481e8b4ed9fSmrg    ;;
4482e8b4ed9fSmrg  esac
4483e8b4ed9fSmrg])
448445bc899bSmrg
448545bc899bSmrg
4486e8b4ed9fSmrg# _LT_DARWIN_LINKER_FEATURES([TAG])
4487e8b4ed9fSmrg# ---------------------------------
4488e8b4ed9fSmrg# Checks for linker and compiler features on darwin
4489e8b4ed9fSmrgm4_defun([_LT_DARWIN_LINKER_FEATURES],
4490e8b4ed9fSmrg[
4491e8b4ed9fSmrg  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
4492e8b4ed9fSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
4493e8b4ed9fSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
4494e8b4ed9fSmrg  _LT_TAGVAR(hardcode_automatic, $1)=yes
4495e8b4ed9fSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4496e8b4ed9fSmrg  if test yes = "$lt_cv_ld_force_load"; then
4497e8b4ed9fSmrg    _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\"`'
4498e8b4ed9fSmrg    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
4499e8b4ed9fSmrg                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
4500e8b4ed9fSmrg  else
4501e8b4ed9fSmrg    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
4502e8b4ed9fSmrg  fi
4503e8b4ed9fSmrg  _LT_TAGVAR(link_all_deplibs, $1)=yes
4504e8b4ed9fSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
4505e8b4ed9fSmrg  case $cc_basename in
4506e8b4ed9fSmrg     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
4507e8b4ed9fSmrg     *) _lt_dar_can_shared=$GCC ;;
4508e8b4ed9fSmrg  esac
4509e8b4ed9fSmrg  if test yes = "$_lt_dar_can_shared"; then
4510e8b4ed9fSmrg    output_verbose_link_cmd=func_echo_all
4511e8b4ed9fSmrg    _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"
4512e8b4ed9fSmrg    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
4513e8b4ed9fSmrg    _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"
4514e8b4ed9fSmrg    _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"
4515e8b4ed9fSmrg    m4_if([$1], [CXX],
4516e8b4ed9fSmrg[   if test yes != "$lt_cv_apple_cc_single_mod"; then
4517e8b4ed9fSmrg      _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"
4518e8b4ed9fSmrg      _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"
4519e8b4ed9fSmrg    fi
4520e8b4ed9fSmrg],[])
4521e8b4ed9fSmrg  else
4522e8b4ed9fSmrg  _LT_TAGVAR(ld_shlibs, $1)=no
4523e8b4ed9fSmrg  fi
4524e8b4ed9fSmrg])
452545bc899bSmrg
4526e8b4ed9fSmrg# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
4527e8b4ed9fSmrg# ----------------------------------
4528e8b4ed9fSmrg# Links a minimal program and checks the executable
4529e8b4ed9fSmrg# for the system default hardcoded library path. In most cases,
4530e8b4ed9fSmrg# this is /usr/lib:/lib, but when the MPI compilers are used
4531e8b4ed9fSmrg# the location of the communication and MPI libs are included too.
4532e8b4ed9fSmrg# If we don't find anything, use the default library path according
4533e8b4ed9fSmrg# to the aix ld manual.
4534e8b4ed9fSmrg# Store the results from the different compilers for each TAGNAME.
4535e8b4ed9fSmrg# Allow to override them for all tags through lt_cv_aix_libpath.
4536e8b4ed9fSmrgm4_defun([_LT_SYS_MODULE_PATH_AIX],
4537e8b4ed9fSmrg[m4_require([_LT_DECL_SED])dnl
4538e8b4ed9fSmrgif test set = "${lt_cv_aix_libpath+set}"; then
4539e8b4ed9fSmrg  aix_libpath=$lt_cv_aix_libpath
4540e8b4ed9fSmrgelse
4541e8b4ed9fSmrg  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
4542e8b4ed9fSmrg  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
4543e8b4ed9fSmrg  lt_aix_libpath_sed='[
4544e8b4ed9fSmrg      /Import File Strings/,/^$/ {
4545e8b4ed9fSmrg	  /^0/ {
4546e8b4ed9fSmrg	      s/^0  *\([^ ]*\) *$/\1/
4547e8b4ed9fSmrg	      p
4548e8b4ed9fSmrg	  }
4549e8b4ed9fSmrg      }]'
4550e8b4ed9fSmrg  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
4551e8b4ed9fSmrg  # Check for a 64-bit object if we didn't find anything.
4552e8b4ed9fSmrg  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
4553e8b4ed9fSmrg    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
4554e8b4ed9fSmrg  fi],[])
4555e8b4ed9fSmrg  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
4556e8b4ed9fSmrg    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
4557e8b4ed9fSmrg  fi
4558e8b4ed9fSmrg  ])
4559e8b4ed9fSmrg  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
4560e8b4ed9fSmrgfi
4561e8b4ed9fSmrg])# _LT_SYS_MODULE_PATH_AIX
456245bc899bSmrg
456345bc899bSmrg
4564e8b4ed9fSmrg# _LT_SHELL_INIT(ARG)
4565e8b4ed9fSmrg# -------------------
4566e8b4ed9fSmrgm4_define([_LT_SHELL_INIT],
4567e8b4ed9fSmrg[m4_divert_text([M4SH-INIT], [$1
4568e8b4ed9fSmrg])])# _LT_SHELL_INIT
45695592a31fSmrg
45701ac89addSmrg
4571f2408745Smrg
4572e8b4ed9fSmrg# _LT_PROG_ECHO_BACKSLASH
4573e8b4ed9fSmrg# -----------------------
4574e8b4ed9fSmrg# Find how we can fake an echo command that does not interpret backslash.
4575e8b4ed9fSmrg# In particular, with Autoconf 2.60 or later we add some code to the start
4576e8b4ed9fSmrg# of the generated configure script that will find a shell with a builtin
4577e8b4ed9fSmrg# printf (that we can use as an echo command).
4578e8b4ed9fSmrgm4_defun([_LT_PROG_ECHO_BACKSLASH],
4579e8b4ed9fSmrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
4580e8b4ed9fSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
4581e8b4ed9fSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
45821ac89addSmrg
4583e8b4ed9fSmrgAC_MSG_CHECKING([how to print strings])
4584e8b4ed9fSmrg# Test print first, because it will be a builtin if present.
4585e8b4ed9fSmrgif test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
4586e8b4ed9fSmrg   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
4587e8b4ed9fSmrg  ECHO='print -r --'
4588e8b4ed9fSmrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
4589e8b4ed9fSmrg  ECHO='printf %s\n'
4590e8b4ed9fSmrgelse
4591e8b4ed9fSmrg  # Use this function as a fallback that always works.
4592e8b4ed9fSmrg  func_fallback_echo ()
4593e8b4ed9fSmrg  {
4594e8b4ed9fSmrg    eval 'cat <<_LTECHO_EOF
4595e8b4ed9fSmrg$[]1
4596e8b4ed9fSmrg_LTECHO_EOF'
4597e8b4ed9fSmrg  }
4598e8b4ed9fSmrg  ECHO='func_fallback_echo'
4599e8b4ed9fSmrgfi
46001ac89addSmrg
4601e8b4ed9fSmrg# func_echo_all arg...
4602e8b4ed9fSmrg# Invoke $ECHO with all args, space-separated.
4603e8b4ed9fSmrgfunc_echo_all ()
4604e8b4ed9fSmrg{
4605e8b4ed9fSmrg    $ECHO "$*"
4606e8b4ed9fSmrg}
46071ac89addSmrg
4608e8b4ed9fSmrgcase $ECHO in
4609e8b4ed9fSmrg  printf*) AC_MSG_RESULT([printf]) ;;
4610e8b4ed9fSmrg  print*) AC_MSG_RESULT([print -r]) ;;
4611e8b4ed9fSmrg  *) AC_MSG_RESULT([cat]) ;;
4612e8b4ed9fSmrgesac
46131ac89addSmrg
4614e8b4ed9fSmrgm4_ifdef([_AS_DETECT_SUGGESTED],
4615e8b4ed9fSmrg[_AS_DETECT_SUGGESTED([
4616e8b4ed9fSmrg  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
4617e8b4ed9fSmrg    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
4618e8b4ed9fSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
4619e8b4ed9fSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
4620e8b4ed9fSmrg    PATH=/empty FPATH=/empty; export PATH FPATH
4621e8b4ed9fSmrg    test "X`printf %s $ECHO`" = "X$ECHO" \
4622e8b4ed9fSmrg      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
46231ac89addSmrg
4624e8b4ed9fSmrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
4625e8b4ed9fSmrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
4626e8b4ed9fSmrg])# _LT_PROG_ECHO_BACKSLASH
46271ac89addSmrg
46281ac89addSmrg
4629e8b4ed9fSmrg# _LT_WITH_SYSROOT
4630e8b4ed9fSmrg# ----------------
4631e8b4ed9fSmrgAC_DEFUN([_LT_WITH_SYSROOT],
4632e8b4ed9fSmrg[m4_require([_LT_DECL_SED])dnl
4633e8b4ed9fSmrgAC_MSG_CHECKING([for sysroot])
4634e8b4ed9fSmrgAC_ARG_WITH([sysroot],
4635e8b4ed9fSmrg[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
4636e8b4ed9fSmrg  [Search for dependent libraries within DIR (or the compiler's sysroot
4637e8b4ed9fSmrg   if not specified).])],
4638e8b4ed9fSmrg[], [with_sysroot=no])
4639e8b4ed9fSmrg
4640e8b4ed9fSmrgdnl lt_sysroot will always be passed unquoted.  We quote it here
4641e8b4ed9fSmrgdnl in case the user passed a directory name.
4642e8b4ed9fSmrglt_sysroot=
4643e8b4ed9fSmrgcase $with_sysroot in #(
4644e8b4ed9fSmrg yes)
4645e8b4ed9fSmrg   if test yes = "$GCC"; then
4646e8b4ed9fSmrg     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
4647e8b4ed9fSmrg   fi
4648e8b4ed9fSmrg   ;; #(
4649e8b4ed9fSmrg /*)
4650e8b4ed9fSmrg   lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
4651e8b4ed9fSmrg   ;; #(
4652e8b4ed9fSmrg no|'')
4653e8b4ed9fSmrg   ;; #(
4654e8b4ed9fSmrg *)
4655e8b4ed9fSmrg   AC_MSG_RESULT([$with_sysroot])
4656e8b4ed9fSmrg   AC_MSG_ERROR([The sysroot must be an absolute path.])
4657e8b4ed9fSmrg   ;;
4658e8b4ed9fSmrgesac
4659e8b4ed9fSmrg
4660e8b4ed9fSmrg AC_MSG_RESULT([${lt_sysroot:-no}])
4661e8b4ed9fSmrg_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
4662e8b4ed9fSmrg[dependent libraries, and where our libraries should be installed.])])
4663e8b4ed9fSmrg
4664e8b4ed9fSmrg# _LT_ENABLE_LOCK
4665e8b4ed9fSmrg# ---------------
4666e8b4ed9fSmrgm4_defun([_LT_ENABLE_LOCK],
4667e8b4ed9fSmrg[AC_ARG_ENABLE([libtool-lock],
4668e8b4ed9fSmrg  [AS_HELP_STRING([--disable-libtool-lock],
4669e8b4ed9fSmrg    [avoid locking (might break parallel builds)])])
4670e8b4ed9fSmrgtest no = "$enable_libtool_lock" || enable_libtool_lock=yes
46711ac89addSmrg
4672e8b4ed9fSmrg# Some flags need to be propagated to the compiler or linker for good
4673e8b4ed9fSmrg# libtool support.
4674e8b4ed9fSmrgcase $host in
4675e8b4ed9fSmrgia64-*-hpux*)
4676e8b4ed9fSmrg  # Find out what ABI is being produced by ac_compile, and set mode
4677e8b4ed9fSmrg  # options accordingly.
4678e8b4ed9fSmrg  echo 'int i;' > conftest.$ac_ext
4679e8b4ed9fSmrg  if AC_TRY_EVAL(ac_compile); then
4680e8b4ed9fSmrg    case `$FILECMD conftest.$ac_objext` in
4681e8b4ed9fSmrg      *ELF-32*)
4682e8b4ed9fSmrg	HPUX_IA64_MODE=32
4683e8b4ed9fSmrg	;;
4684e8b4ed9fSmrg      *ELF-64*)
4685e8b4ed9fSmrg	HPUX_IA64_MODE=64
4686e8b4ed9fSmrg	;;
4687e8b4ed9fSmrg    esac
4688e8b4ed9fSmrg  fi
4689e8b4ed9fSmrg  rm -rf conftest*
4690e8b4ed9fSmrg  ;;
4691e8b4ed9fSmrg*-*-irix6*)
4692e8b4ed9fSmrg  # Find out what ABI is being produced by ac_compile, and set linker
4693e8b4ed9fSmrg  # options accordingly.
4694e8b4ed9fSmrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
4695e8b4ed9fSmrg  if AC_TRY_EVAL(ac_compile); then
4696e8b4ed9fSmrg    if test yes = "$lt_cv_prog_gnu_ld"; then
4697e8b4ed9fSmrg      case `$FILECMD conftest.$ac_objext` in
4698e8b4ed9fSmrg	*32-bit*)
4699e8b4ed9fSmrg	  LD="${LD-ld} -melf32bsmip"
47005592a31fSmrg	  ;;
4701e8b4ed9fSmrg	*N32*)
4702e8b4ed9fSmrg	  LD="${LD-ld} -melf32bmipn32"
47035592a31fSmrg	  ;;
4704e8b4ed9fSmrg	*64-bit*)
4705e8b4ed9fSmrg	  LD="${LD-ld} -melf64bmip"
47065592a31fSmrg	;;
47075592a31fSmrg      esac
4708e8b4ed9fSmrg    else
4709e8b4ed9fSmrg      case `$FILECMD conftest.$ac_objext` in
4710e8b4ed9fSmrg	*32-bit*)
4711e8b4ed9fSmrg	  LD="${LD-ld} -32"
4712e8b4ed9fSmrg	  ;;
4713e8b4ed9fSmrg	*N32*)
4714e8b4ed9fSmrg	  LD="${LD-ld} -n32"
4715e8b4ed9fSmrg	  ;;
4716e8b4ed9fSmrg	*64-bit*)
4717e8b4ed9fSmrg	  LD="${LD-ld} -64"
4718e8b4ed9fSmrg	  ;;
4719e8b4ed9fSmrg      esac
4720e8b4ed9fSmrg    fi
4721e8b4ed9fSmrg  fi
4722e8b4ed9fSmrg  rm -rf conftest*
4723e8b4ed9fSmrg  ;;
47241ac89addSmrg
4725e8b4ed9fSmrgmips64*-*linux*)
4726e8b4ed9fSmrg  # Find out what ABI is being produced by ac_compile, and set linker
4727e8b4ed9fSmrg  # options accordingly.
4728e8b4ed9fSmrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
4729e8b4ed9fSmrg  if AC_TRY_EVAL(ac_compile); then
4730e8b4ed9fSmrg    emul=elf
4731e8b4ed9fSmrg    case `$FILECMD conftest.$ac_objext` in
4732e8b4ed9fSmrg      *32-bit*)
4733e8b4ed9fSmrg	emul="${emul}32"
47345592a31fSmrg	;;
4735e8b4ed9fSmrg      *64-bit*)
4736e8b4ed9fSmrg	emul="${emul}64"
47375592a31fSmrg	;;
4738e8b4ed9fSmrg    esac
4739e8b4ed9fSmrg    case `$FILECMD conftest.$ac_objext` in
4740e8b4ed9fSmrg      *MSB*)
4741e8b4ed9fSmrg	emul="${emul}btsmip"
4742e8b4ed9fSmrg	;;
4743e8b4ed9fSmrg      *LSB*)
4744e8b4ed9fSmrg	emul="${emul}ltsmip"
4745e8b4ed9fSmrg	;;
4746e8b4ed9fSmrg    esac
4747e8b4ed9fSmrg    case `$FILECMD conftest.$ac_objext` in
4748e8b4ed9fSmrg      *N32*)
4749e8b4ed9fSmrg	emul="${emul}n32"
4750e8b4ed9fSmrg	;;
4751e8b4ed9fSmrg    esac
4752e8b4ed9fSmrg    LD="${LD-ld} -m $emul"
4753e8b4ed9fSmrg  fi
4754e8b4ed9fSmrg  rm -rf conftest*
4755e8b4ed9fSmrg  ;;
47561ac89addSmrg
4757e8b4ed9fSmrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
4758e8b4ed9fSmrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
4759e8b4ed9fSmrg  # Find out what ABI is being produced by ac_compile, and set linker
4760e8b4ed9fSmrg  # options accordingly.  Note that the listed cases only cover the
4761e8b4ed9fSmrg  # situations where additional linker options are needed (such as when
4762e8b4ed9fSmrg  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
4763e8b4ed9fSmrg  # vice versa); the common cases where no linker options are needed do
4764e8b4ed9fSmrg  # not appear in the list.
4765e8b4ed9fSmrg  echo 'int i;' > conftest.$ac_ext
4766e8b4ed9fSmrg  if AC_TRY_EVAL(ac_compile); then
4767e8b4ed9fSmrg    case `$FILECMD conftest.o` in
4768e8b4ed9fSmrg      *32-bit*)
4769e8b4ed9fSmrg	case $host in
4770e8b4ed9fSmrg	  x86_64-*kfreebsd*-gnu)
4771e8b4ed9fSmrg	    LD="${LD-ld} -m elf_i386_fbsd"
4772e8b4ed9fSmrg	    ;;
4773e8b4ed9fSmrg	  x86_64-*linux*)
4774e8b4ed9fSmrg	    case `$FILECMD conftest.o` in
4775e8b4ed9fSmrg	      *x86-64*)
4776e8b4ed9fSmrg		LD="${LD-ld} -m elf32_x86_64"
4777e8b4ed9fSmrg		;;
4778e8b4ed9fSmrg	      *)
4779e8b4ed9fSmrg		LD="${LD-ld} -m elf_i386"
4780e8b4ed9fSmrg		;;
4781e8b4ed9fSmrg	    esac
4782e8b4ed9fSmrg	    ;;
4783e8b4ed9fSmrg	  powerpc64le-*linux*)
4784e8b4ed9fSmrg	    LD="${LD-ld} -m elf32lppclinux"
4785e8b4ed9fSmrg	    ;;
4786e8b4ed9fSmrg	  powerpc64-*linux*)
4787e8b4ed9fSmrg	    LD="${LD-ld} -m elf32ppclinux"
4788e8b4ed9fSmrg	    ;;
4789e8b4ed9fSmrg	  s390x-*linux*)
4790e8b4ed9fSmrg	    LD="${LD-ld} -m elf_s390"
4791e8b4ed9fSmrg	    ;;
4792e8b4ed9fSmrg	  sparc64-*linux*)
4793e8b4ed9fSmrg	    LD="${LD-ld} -m elf32_sparc"
4794e8b4ed9fSmrg	    ;;
4795e8b4ed9fSmrg	esac
4796e8b4ed9fSmrg	;;
4797e8b4ed9fSmrg      *64-bit*)
4798e8b4ed9fSmrg	case $host in
4799e8b4ed9fSmrg	  x86_64-*kfreebsd*-gnu)
4800e8b4ed9fSmrg	    LD="${LD-ld} -m elf_x86_64_fbsd"
4801e8b4ed9fSmrg	    ;;
4802e8b4ed9fSmrg	  x86_64-*linux*)
4803e8b4ed9fSmrg	    LD="${LD-ld} -m elf_x86_64"
4804e8b4ed9fSmrg	    ;;
4805e8b4ed9fSmrg	  powerpcle-*linux*)
4806e8b4ed9fSmrg	    LD="${LD-ld} -m elf64lppc"
4807e8b4ed9fSmrg	    ;;
4808e8b4ed9fSmrg	  powerpc-*linux*)
4809e8b4ed9fSmrg	    LD="${LD-ld} -m elf64ppc"
4810e8b4ed9fSmrg	    ;;
4811e8b4ed9fSmrg	  s390*-*linux*|s390*-*tpf*)
4812e8b4ed9fSmrg	    LD="${LD-ld} -m elf64_s390"
4813e8b4ed9fSmrg	    ;;
4814e8b4ed9fSmrg	  sparc*-*linux*)
4815e8b4ed9fSmrg	    LD="${LD-ld} -m elf64_sparc"
4816e8b4ed9fSmrg	    ;;
4817e8b4ed9fSmrg	esac
4818e8b4ed9fSmrg	;;
4819e8b4ed9fSmrg    esac
4820e8b4ed9fSmrg  fi
4821e8b4ed9fSmrg  rm -rf conftest*
4822e8b4ed9fSmrg  ;;
48231ac89addSmrg
4824e8b4ed9fSmrg*-*-sco3.2v5*)
4825e8b4ed9fSmrg  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
4826e8b4ed9fSmrg  SAVE_CFLAGS=$CFLAGS
4827e8b4ed9fSmrg  CFLAGS="$CFLAGS -belf"
4828e8b4ed9fSmrg  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
4829e8b4ed9fSmrg    [AC_LANG_PUSH(C)
4830e8b4ed9fSmrg     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
4831e8b4ed9fSmrg     AC_LANG_POP])
4832e8b4ed9fSmrg  if test yes != "$lt_cv_cc_needs_belf"; then
4833e8b4ed9fSmrg    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
4834e8b4ed9fSmrg    CFLAGS=$SAVE_CFLAGS
4835e8b4ed9fSmrg  fi
4836e8b4ed9fSmrg  ;;
4837e8b4ed9fSmrg*-*solaris*)
4838e8b4ed9fSmrg  # Find out what ABI is being produced by ac_compile, and set linker
4839e8b4ed9fSmrg  # options accordingly.
4840e8b4ed9fSmrg  echo 'int i;' > conftest.$ac_ext
4841e8b4ed9fSmrg  if AC_TRY_EVAL(ac_compile); then
4842e8b4ed9fSmrg    case `$FILECMD conftest.o` in
4843e8b4ed9fSmrg    *64-bit*)
4844e8b4ed9fSmrg      case $lt_cv_prog_gnu_ld in
4845e8b4ed9fSmrg      yes*)
4846e8b4ed9fSmrg        case $host in
4847e8b4ed9fSmrg        i?86-*-solaris*|x86_64-*-solaris*)
4848e8b4ed9fSmrg          LD="${LD-ld} -m elf_x86_64"
4849e8b4ed9fSmrg          ;;
4850e8b4ed9fSmrg        sparc*-*-solaris*)
4851e8b4ed9fSmrg          LD="${LD-ld} -m elf64_sparc"
4852e8b4ed9fSmrg          ;;
4853e8b4ed9fSmrg        esac
4854e8b4ed9fSmrg        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
4855e8b4ed9fSmrg        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
4856e8b4ed9fSmrg          LD=${LD-ld}_sol2
4857e8b4ed9fSmrg        fi
4858e8b4ed9fSmrg        ;;
4859e8b4ed9fSmrg      *)
4860e8b4ed9fSmrg	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
4861e8b4ed9fSmrg	  LD="${LD-ld} -64"
4862e8b4ed9fSmrg	fi
4863e8b4ed9fSmrg	;;
4864e8b4ed9fSmrg      esac
48655592a31fSmrg      ;;
4866e8b4ed9fSmrg    esac
4867e8b4ed9fSmrg  fi
4868e8b4ed9fSmrg  rm -rf conftest*
4869e8b4ed9fSmrg  ;;
4870e8b4ed9fSmrgesac
48711ac89addSmrg
4872e8b4ed9fSmrgneed_locks=$enable_libtool_lock
4873e8b4ed9fSmrg])# _LT_ENABLE_LOCK
48741ac89addSmrg
48751ac89addSmrg
4876e8b4ed9fSmrg# _LT_PROG_AR
4877e8b4ed9fSmrg# -----------
4878e8b4ed9fSmrgm4_defun([_LT_PROG_AR],
4879e8b4ed9fSmrg[AC_CHECK_TOOLS(AR, [ar], false)
4880e8b4ed9fSmrg: ${AR=ar}
4881e8b4ed9fSmrg_LT_DECL([], [AR], [1], [The archiver])
48821ac89addSmrg
4883e8b4ed9fSmrg# Use ARFLAGS variable as AR's operation code to sync the variable naming with
4884e8b4ed9fSmrg# Automake.  If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
4885e8b4ed9fSmrg# higher priority because thats what people were doing historically (setting
4886e8b4ed9fSmrg# ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
4887e8b4ed9fSmrg# variable obsoleted/removed.
48881ac89addSmrg
4889e8b4ed9fSmrgtest ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
4890e8b4ed9fSmrglt_ar_flags=$AR_FLAGS
4891e8b4ed9fSmrg_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
489250f2e948Smrg
4893e8b4ed9fSmrg# Make AR_FLAGS overridable by 'make ARFLAGS='.  Don't try to run-time override
4894e8b4ed9fSmrg# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
4895e8b4ed9fSmrg_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
4896e8b4ed9fSmrg         [Flags to create an archive])
489750f2e948Smrg
4898e8b4ed9fSmrgAC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
4899e8b4ed9fSmrg  [lt_cv_ar_at_file=no
4900e8b4ed9fSmrg   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
4901e8b4ed9fSmrg     [echo conftest.$ac_objext > conftest.lst
4902e8b4ed9fSmrg      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
4903e8b4ed9fSmrg      AC_TRY_EVAL([lt_ar_try])
4904e8b4ed9fSmrg      if test 0 -eq "$ac_status"; then
4905e8b4ed9fSmrg	# Ensure the archiver fails upon bogus file names.
4906e8b4ed9fSmrg	rm -f conftest.$ac_objext libconftest.a
4907e8b4ed9fSmrg	AC_TRY_EVAL([lt_ar_try])
4908e8b4ed9fSmrg	if test 0 -ne "$ac_status"; then
4909e8b4ed9fSmrg          lt_cv_ar_at_file=@
4910e8b4ed9fSmrg        fi
4911e8b4ed9fSmrg      fi
4912e8b4ed9fSmrg      rm -f conftest.* libconftest.a
4913e8b4ed9fSmrg     ])
4914e8b4ed9fSmrg  ])
491550f2e948Smrg
4916e8b4ed9fSmrgif test no = "$lt_cv_ar_at_file"; then
4917e8b4ed9fSmrg  archiver_list_spec=
4918e8b4ed9fSmrgelse
4919e8b4ed9fSmrg  archiver_list_spec=$lt_cv_ar_at_file
4920e8b4ed9fSmrgfi
4921e8b4ed9fSmrg_LT_DECL([], [archiver_list_spec], [1],
4922e8b4ed9fSmrg  [How to feed a file listing to the archiver])
4923e8b4ed9fSmrg])# _LT_PROG_AR
492450f2e948Smrg
492550f2e948Smrg
4926e8b4ed9fSmrg# _LT_CMD_OLD_ARCHIVE
4927e8b4ed9fSmrg# -------------------
4928e8b4ed9fSmrgm4_defun([_LT_CMD_OLD_ARCHIVE],
4929e8b4ed9fSmrg[_LT_PROG_AR
49301ac89addSmrg
4931e8b4ed9fSmrgAC_CHECK_TOOL(STRIP, strip, :)
4932e8b4ed9fSmrgtest -z "$STRIP" && STRIP=:
4933e8b4ed9fSmrg_LT_DECL([], [STRIP], [1], [A symbol stripping program])
4934b40a6198Smrg
4935e8b4ed9fSmrgAC_CHECK_TOOL(RANLIB, ranlib, :)
4936e8b4ed9fSmrgtest -z "$RANLIB" && RANLIB=:
4937e8b4ed9fSmrg_LT_DECL([], [RANLIB], [1],
4938e8b4ed9fSmrg    [Commands used to install an old-style archive])
49391ac89addSmrg
4940e8b4ed9fSmrg# Determine commands to create old-style static archives.
4941e8b4ed9fSmrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
4942e8b4ed9fSmrgold_postinstall_cmds='chmod 644 $oldlib'
4943e8b4ed9fSmrgold_postuninstall_cmds=
4944e8b4ed9fSmrg
4945e8b4ed9fSmrgif test -n "$RANLIB"; then
4946e8b4ed9fSmrg  case $host_os in
4947e8b4ed9fSmrg  bitrig* | openbsd*)
4948e8b4ed9fSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
4949e8b4ed9fSmrg    ;;
4950e8b4ed9fSmrg  *)
4951e8b4ed9fSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
4952e8b4ed9fSmrg    ;;
4953e8b4ed9fSmrg  esac
4954e8b4ed9fSmrg  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
4955e8b4ed9fSmrgfi
49565592a31fSmrg
4957e8b4ed9fSmrgcase $host_os in
4958e8b4ed9fSmrg  darwin*)
4959e8b4ed9fSmrg    lock_old_archive_extraction=yes ;;
4960e8b4ed9fSmrg  *)
4961e8b4ed9fSmrg    lock_old_archive_extraction=no ;;
4962e8b4ed9fSmrgesac
4963e8b4ed9fSmrg_LT_DECL([], [old_postinstall_cmds], [2])
4964e8b4ed9fSmrg_LT_DECL([], [old_postuninstall_cmds], [2])
4965e8b4ed9fSmrg_LT_TAGDECL([], [old_archive_cmds], [2],
4966e8b4ed9fSmrg    [Commands used to build an old-style archive])
4967e8b4ed9fSmrg_LT_DECL([], [lock_old_archive_extraction], [0],
4968e8b4ed9fSmrg    [Whether to use a lock for old archive extraction])
4969e8b4ed9fSmrg])# _LT_CMD_OLD_ARCHIVE
49705592a31fSmrg
49711ac89addSmrg
4972e8b4ed9fSmrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
4973e8b4ed9fSmrg#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
4974e8b4ed9fSmrg# ----------------------------------------------------------------
4975e8b4ed9fSmrg# Check whether the given compiler option works
4976e8b4ed9fSmrgAC_DEFUN([_LT_COMPILER_OPTION],
4977e8b4ed9fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4978e8b4ed9fSmrgm4_require([_LT_DECL_SED])dnl
4979e8b4ed9fSmrgAC_CACHE_CHECK([$1], [$2],
4980e8b4ed9fSmrg  [$2=no
4981e8b4ed9fSmrg   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
4982e8b4ed9fSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
4983e8b4ed9fSmrg   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
4984e8b4ed9fSmrg   # Insert the option either (1) after the last *FLAGS variable, or
4985e8b4ed9fSmrg   # (2) before a word containing "conftest.", or (3) at the end.
4986e8b4ed9fSmrg   # Note that $ac_compile itself does not contain backslashes and begins
4987e8b4ed9fSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
4988e8b4ed9fSmrg   # The option is referenced via a variable to avoid confusing sed.
4989e8b4ed9fSmrg   lt_compile=`echo "$ac_compile" | $SED \
4990e8b4ed9fSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
4991e8b4ed9fSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
4992e8b4ed9fSmrg   -e 's:$: $lt_compiler_flag:'`
4993e8b4ed9fSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
4994e8b4ed9fSmrg   (eval "$lt_compile" 2>conftest.err)
4995e8b4ed9fSmrg   ac_status=$?
4996e8b4ed9fSmrg   cat conftest.err >&AS_MESSAGE_LOG_FD
4997e8b4ed9fSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
4998e8b4ed9fSmrg   if (exit $ac_status) && test -s "$ac_outfile"; then
4999e8b4ed9fSmrg     # The compiler can only warn and ignore the option if not recognized
5000e8b4ed9fSmrg     # So say no if there are warnings other than the usual output.
5001e8b4ed9fSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
5002e8b4ed9fSmrg     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
5003e8b4ed9fSmrg     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
5004e8b4ed9fSmrg       $2=yes
5005e8b4ed9fSmrg     fi
5006e8b4ed9fSmrg   fi
5007e8b4ed9fSmrg   $RM conftest*
5008e8b4ed9fSmrg])
50091ac89addSmrg
5010e8b4ed9fSmrgif test yes = "[$]$2"; then
5011e8b4ed9fSmrg    m4_if([$5], , :, [$5])
5012e8b4ed9fSmrgelse
5013e8b4ed9fSmrg    m4_if([$6], , :, [$6])
5014e8b4ed9fSmrgfi
5015e8b4ed9fSmrg])# _LT_COMPILER_OPTION
50161ac89addSmrg
5017e8b4ed9fSmrg# Old name:
5018e8b4ed9fSmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
5019e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
5020e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
50211ac89addSmrg
50221ac89addSmrg
5023e8b4ed9fSmrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
5024e8b4ed9fSmrg#                  [ACTION-SUCCESS], [ACTION-FAILURE])
5025e8b4ed9fSmrg# ----------------------------------------------------
5026e8b4ed9fSmrg# Check whether the given linker option works
5027e8b4ed9fSmrgAC_DEFUN([_LT_LINKER_OPTION],
5028e8b4ed9fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5029e8b4ed9fSmrgm4_require([_LT_DECL_SED])dnl
5030e8b4ed9fSmrgAC_CACHE_CHECK([$1], [$2],
5031e8b4ed9fSmrg  [$2=no
5032e8b4ed9fSmrg   save_LDFLAGS=$LDFLAGS
5033e8b4ed9fSmrg   LDFLAGS="$LDFLAGS $3"
5034e8b4ed9fSmrg   echo "$lt_simple_link_test_code" > conftest.$ac_ext
5035e8b4ed9fSmrg   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
5036e8b4ed9fSmrg     # The linker can only warn and ignore the option if not recognized
5037e8b4ed9fSmrg     # So say no if there are warnings
5038e8b4ed9fSmrg     if test -s conftest.err; then
5039e8b4ed9fSmrg       # Append any errors to the config.log.
5040e8b4ed9fSmrg       cat conftest.err 1>&AS_MESSAGE_LOG_FD
5041e8b4ed9fSmrg       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
5042e8b4ed9fSmrg       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
5043e8b4ed9fSmrg       if diff conftest.exp conftest.er2 >/dev/null; then
5044e8b4ed9fSmrg         $2=yes
5045e8b4ed9fSmrg       fi
5046e8b4ed9fSmrg     else
5047e8b4ed9fSmrg       $2=yes
5048e8b4ed9fSmrg     fi
5049e8b4ed9fSmrg   fi
5050e8b4ed9fSmrg   $RM -r conftest*
5051e8b4ed9fSmrg   LDFLAGS=$save_LDFLAGS
5052e8b4ed9fSmrg])
50531ac89addSmrg
5054e8b4ed9fSmrgif test yes = "[$]$2"; then
5055e8b4ed9fSmrg    m4_if([$4], , :, [$4])
5056e8b4ed9fSmrgelse
5057e8b4ed9fSmrg    m4_if([$5], , :, [$5])
5058e8b4ed9fSmrgfi
5059e8b4ed9fSmrg])# _LT_LINKER_OPTION
50601ac89addSmrg
5061e8b4ed9fSmrg# Old name:
5062e8b4ed9fSmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
5063e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
5064e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
50655592a31fSmrg
50665592a31fSmrg
5067e8b4ed9fSmrg# LT_CMD_MAX_LEN
5068e8b4ed9fSmrg#---------------
5069e8b4ed9fSmrgAC_DEFUN([LT_CMD_MAX_LEN],
5070e8b4ed9fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
5071e8b4ed9fSmrg# find the maximum length of command line arguments
5072e8b4ed9fSmrgAC_MSG_CHECKING([the maximum length of command line arguments])
5073e8b4ed9fSmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
5074e8b4ed9fSmrg  i=0
5075e8b4ed9fSmrg  teststring=ABCD
50765592a31fSmrg
5077e8b4ed9fSmrg  case $build_os in
5078e8b4ed9fSmrg  msdosdjgpp*)
5079e8b4ed9fSmrg    # On DJGPP, this test can blow up pretty badly due to problems in libc
5080e8b4ed9fSmrg    # (any single argument exceeding 2000 bytes causes a buffer overrun
5081e8b4ed9fSmrg    # during glob expansion).  Even if it were fixed, the result of this
5082e8b4ed9fSmrg    # check would be larger than it should be.
5083e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
5084e8b4ed9fSmrg    ;;
5085e8b4ed9fSmrg
5086e8b4ed9fSmrg  gnu*)
5087e8b4ed9fSmrg    # Under GNU Hurd, this test is not required because there is
5088e8b4ed9fSmrg    # no limit to the length of command line arguments.
5089e8b4ed9fSmrg    # Libtool will interpret -1 as no limit whatsoever
5090e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=-1;
5091e8b4ed9fSmrg    ;;
5092e8b4ed9fSmrg
5093e8b4ed9fSmrg  cygwin* | mingw* | cegcc*)
5094e8b4ed9fSmrg    # On Win9x/ME, this test blows up -- it succeeds, but takes
5095e8b4ed9fSmrg    # about 5 minutes as the teststring grows exponentially.
5096e8b4ed9fSmrg    # Worse, since 9x/ME are not pre-emptively multitasking,
5097e8b4ed9fSmrg    # you end up with a "frozen" computer, even though with patience
5098e8b4ed9fSmrg    # the test eventually succeeds (with a max line length of 256k).
5099e8b4ed9fSmrg    # Instead, let's just punt: use the minimum linelength reported by
5100e8b4ed9fSmrg    # all of the supported platforms: 8192 (on NT/2K/XP).
5101e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=8192;
5102e8b4ed9fSmrg    ;;
5103e8b4ed9fSmrg
5104e8b4ed9fSmrg  mint*)
5105e8b4ed9fSmrg    # On MiNT this can take a long time and run out of memory.
5106e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=8192;
5107e8b4ed9fSmrg    ;;
5108e8b4ed9fSmrg
5109e8b4ed9fSmrg  amigaos*)
5110e8b4ed9fSmrg    # On AmigaOS with pdksh, this test takes hours, literally.
5111e8b4ed9fSmrg    # So we just punt and use a minimum line length of 8192.
5112e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=8192;
5113e8b4ed9fSmrg    ;;
5114e8b4ed9fSmrg
5115e8b4ed9fSmrg  bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
5116e8b4ed9fSmrg    # This has been around since 386BSD, at least.  Likely further.
5117e8b4ed9fSmrg    if test -x /sbin/sysctl; then
5118e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
5119e8b4ed9fSmrg    elif test -x /usr/sbin/sysctl; then
5120e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
5121e8b4ed9fSmrg    else
5122e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
51235592a31fSmrg    fi
5124e8b4ed9fSmrg    # And add a safety zone
5125e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5126e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
51275592a31fSmrg    ;;
51281ac89addSmrg
5129e8b4ed9fSmrg  interix*)
5130e8b4ed9fSmrg    # We know the value 262144 and hardcode it with a safety zone (like BSD)
5131e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=196608
5132e8b4ed9fSmrg    ;;
5133e8b4ed9fSmrg
5134e8b4ed9fSmrg  os2*)
5135e8b4ed9fSmrg    # The test takes a long time on OS/2.
5136e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=8192
5137e8b4ed9fSmrg    ;;
5138e8b4ed9fSmrg
5139e8b4ed9fSmrg  osf*)
5140e8b4ed9fSmrg    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
5141e8b4ed9fSmrg    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
5142e8b4ed9fSmrg    # nice to cause kernel panics so lets avoid the loop below.
5143e8b4ed9fSmrg    # First set a reasonable default.
5144e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=16384
5145e8b4ed9fSmrg    #
5146e8b4ed9fSmrg    if test -x /sbin/sysconfig; then
5147e8b4ed9fSmrg      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
5148e8b4ed9fSmrg        *1*) lt_cv_sys_max_cmd_len=-1 ;;
5149f2408745Smrg      esac
51505592a31fSmrg    fi
51515592a31fSmrg    ;;
5152e8b4ed9fSmrg  sco3.2v5*)
5153e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=102400
5154e8b4ed9fSmrg    ;;
5155e8b4ed9fSmrg  sysv5* | sco5v6* | sysv4.2uw2*)
5156e8b4ed9fSmrg    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
5157e8b4ed9fSmrg    if test -n "$kargmax"; then
5158e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[	 ]]//'`
5159e8b4ed9fSmrg    else
5160e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=32768
5161e8b4ed9fSmrg    fi
5162e8b4ed9fSmrg    ;;
5163e8b4ed9fSmrg  *)
5164e8b4ed9fSmrg    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
5165e8b4ed9fSmrg    if test -n "$lt_cv_sys_max_cmd_len" && \
5166e8b4ed9fSmrg       test undefined != "$lt_cv_sys_max_cmd_len"; then
5167e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
5168e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
5169e8b4ed9fSmrg    else
5170e8b4ed9fSmrg      # Make teststring a little bigger before we do anything with it.
5171e8b4ed9fSmrg      # a 1K string should be a reasonable start.
5172e8b4ed9fSmrg      for i in 1 2 3 4 5 6 7 8; do
5173e8b4ed9fSmrg        teststring=$teststring$teststring
5174e8b4ed9fSmrg      done
5175e8b4ed9fSmrg      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
5176e8b4ed9fSmrg      # If test is not a shell built-in, we'll probably end up computing a
5177e8b4ed9fSmrg      # maximum length that is only half of the actual maximum length, but
5178e8b4ed9fSmrg      # we can't tell.
5179e8b4ed9fSmrg      while { test X`env echo "$teststring$teststring" 2>/dev/null` \
5180e8b4ed9fSmrg	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
5181e8b4ed9fSmrg	      test 17 != "$i" # 1/2 MB should be enough
5182e8b4ed9fSmrg      do
5183e8b4ed9fSmrg        i=`expr $i + 1`
5184e8b4ed9fSmrg        teststring=$teststring$teststring
5185e8b4ed9fSmrg      done
5186e8b4ed9fSmrg      # Only check the string length outside the loop.
5187e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
5188e8b4ed9fSmrg      teststring=
5189e8b4ed9fSmrg      # Add a significant safety factor because C++ compilers can tack on
5190e8b4ed9fSmrg      # massive amounts of additional arguments before passing them to the
5191e8b4ed9fSmrg      # linker.  It appears as though 1/2 is a usable value.
5192e8b4ed9fSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
5193e8b4ed9fSmrg    fi
5194e8b4ed9fSmrg    ;;
51955592a31fSmrg  esac
5196e8b4ed9fSmrg])
5197e8b4ed9fSmrgif test -n "$lt_cv_sys_max_cmd_len"; then
5198e8b4ed9fSmrg  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
5199e8b4ed9fSmrgelse
5200e8b4ed9fSmrg  AC_MSG_RESULT(none)
5201e8b4ed9fSmrgfi
5202e8b4ed9fSmrgmax_cmd_len=$lt_cv_sys_max_cmd_len
5203e8b4ed9fSmrg_LT_DECL([], [max_cmd_len], [0],
5204e8b4ed9fSmrg    [What is the maximum length of a command?])
5205e8b4ed9fSmrg])# LT_CMD_MAX_LEN
52061ac89addSmrg
5207e8b4ed9fSmrg# Old name:
5208e8b4ed9fSmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
5209e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
5210e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
52111ac89addSmrg
521250f2e948Smrg
5213e8b4ed9fSmrg# _LT_HEADER_DLFCN
5214e8b4ed9fSmrg# ----------------
5215e8b4ed9fSmrgm4_defun([_LT_HEADER_DLFCN],
5216e8b4ed9fSmrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
5217e8b4ed9fSmrg])# _LT_HEADER_DLFCN
521850f2e948Smrg
52195592a31fSmrg
5220e8b4ed9fSmrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
5221e8b4ed9fSmrg#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
5222e8b4ed9fSmrg# ----------------------------------------------------------------
5223e8b4ed9fSmrgm4_defun([_LT_TRY_DLOPEN_SELF],
5224e8b4ed9fSmrg[m4_require([_LT_HEADER_DLFCN])dnl
5225e8b4ed9fSmrgif test yes = "$cross_compiling"; then :
5226e8b4ed9fSmrg  [$4]
5227e8b4ed9fSmrgelse
5228e8b4ed9fSmrg  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
5229e8b4ed9fSmrg  lt_status=$lt_dlunknown
5230e8b4ed9fSmrg  cat > conftest.$ac_ext <<_LT_EOF
5231e8b4ed9fSmrg[#line $LINENO "configure"
5232e8b4ed9fSmrg#include "confdefs.h"
52331ac89addSmrg
5234e8b4ed9fSmrg#if HAVE_DLFCN_H
5235e8b4ed9fSmrg#include <dlfcn.h>
5236e8b4ed9fSmrg#endif
52371ac89addSmrg
5238e8b4ed9fSmrg#include <stdio.h>
52395592a31fSmrg
5240e8b4ed9fSmrg#ifdef RTLD_GLOBAL
5241e8b4ed9fSmrg#  define LT_DLGLOBAL		RTLD_GLOBAL
5242e8b4ed9fSmrg#else
5243e8b4ed9fSmrg#  ifdef DL_GLOBAL
5244e8b4ed9fSmrg#    define LT_DLGLOBAL		DL_GLOBAL
5245e8b4ed9fSmrg#  else
5246e8b4ed9fSmrg#    define LT_DLGLOBAL		0
5247e8b4ed9fSmrg#  endif
5248e8b4ed9fSmrg#endif
52495592a31fSmrg
5250e8b4ed9fSmrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
5251e8b4ed9fSmrg   find out it does not work in some platform. */
5252e8b4ed9fSmrg#ifndef LT_DLLAZY_OR_NOW
5253e8b4ed9fSmrg#  ifdef RTLD_LAZY
5254e8b4ed9fSmrg#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
5255e8b4ed9fSmrg#  else
5256e8b4ed9fSmrg#    ifdef DL_LAZY
5257e8b4ed9fSmrg#      define LT_DLLAZY_OR_NOW		DL_LAZY
5258e8b4ed9fSmrg#    else
5259e8b4ed9fSmrg#      ifdef RTLD_NOW
5260e8b4ed9fSmrg#        define LT_DLLAZY_OR_NOW	RTLD_NOW
5261e8b4ed9fSmrg#      else
5262e8b4ed9fSmrg#        ifdef DL_NOW
5263e8b4ed9fSmrg#          define LT_DLLAZY_OR_NOW	DL_NOW
5264e8b4ed9fSmrg#        else
5265e8b4ed9fSmrg#          define LT_DLLAZY_OR_NOW	0
5266e8b4ed9fSmrg#        endif
5267e8b4ed9fSmrg#      endif
5268e8b4ed9fSmrg#    endif
5269e8b4ed9fSmrg#  endif
5270e8b4ed9fSmrg#endif
52715592a31fSmrg
5272e8b4ed9fSmrg/* When -fvisibility=hidden is used, assume the code has been annotated
5273e8b4ed9fSmrg   correspondingly for the symbols needed.  */
5274e8b4ed9fSmrg#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
5275e8b4ed9fSmrgint fnord () __attribute__((visibility("default")));
5276e8b4ed9fSmrg#endif
52775592a31fSmrg
5278e8b4ed9fSmrgint fnord () { return 42; }
5279e8b4ed9fSmrgint main ()
5280e8b4ed9fSmrg{
5281e8b4ed9fSmrg  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
5282e8b4ed9fSmrg  int status = $lt_dlunknown;
52835592a31fSmrg
5284e8b4ed9fSmrg  if (self)
5285e8b4ed9fSmrg    {
5286e8b4ed9fSmrg      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
5287e8b4ed9fSmrg      else
5288e8b4ed9fSmrg        {
5289e8b4ed9fSmrg	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
5290e8b4ed9fSmrg          else puts (dlerror ());
5291e8b4ed9fSmrg	}
5292e8b4ed9fSmrg      /* dlclose (self); */
5293e8b4ed9fSmrg    }
52945592a31fSmrg  else
5295e8b4ed9fSmrg    puts (dlerror ());
5296e8b4ed9fSmrg
5297e8b4ed9fSmrg  return status;
5298e8b4ed9fSmrg}]
5299e8b4ed9fSmrg_LT_EOF
5300e8b4ed9fSmrg  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
5301e8b4ed9fSmrg    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
5302e8b4ed9fSmrg    lt_status=$?
5303e8b4ed9fSmrg    case x$lt_status in
5304e8b4ed9fSmrg      x$lt_dlno_uscore) $1 ;;
5305e8b4ed9fSmrg      x$lt_dlneed_uscore) $2 ;;
5306e8b4ed9fSmrg      x$lt_dlunknown|x*) $3 ;;
5307e8b4ed9fSmrg    esac
5308e8b4ed9fSmrg  else :
5309e8b4ed9fSmrg    # compilation failed
5310e8b4ed9fSmrg    $3
53115592a31fSmrg  fi
5312e8b4ed9fSmrgfi
5313e8b4ed9fSmrgrm -fr conftest*
5314e8b4ed9fSmrg])# _LT_TRY_DLOPEN_SELF
53151ac89addSmrg
53161ac89addSmrg
5317e8b4ed9fSmrg# LT_SYS_DLOPEN_SELF
5318e8b4ed9fSmrg# ------------------
5319e8b4ed9fSmrgAC_DEFUN([LT_SYS_DLOPEN_SELF],
5320e8b4ed9fSmrg[m4_require([_LT_HEADER_DLFCN])dnl
5321e8b4ed9fSmrgif test yes != "$enable_dlopen"; then
5322e8b4ed9fSmrg  enable_dlopen=unknown
5323e8b4ed9fSmrg  enable_dlopen_self=unknown
5324e8b4ed9fSmrg  enable_dlopen_self_static=unknown
5325e8b4ed9fSmrgelse
5326e8b4ed9fSmrg  lt_cv_dlopen=no
5327e8b4ed9fSmrg  lt_cv_dlopen_libs=
5328e8b4ed9fSmrg
5329e8b4ed9fSmrg  case $host_os in
5330e8b4ed9fSmrg  beos*)
5331e8b4ed9fSmrg    lt_cv_dlopen=load_add_on
5332e8b4ed9fSmrg    lt_cv_dlopen_libs=
5333e8b4ed9fSmrg    lt_cv_dlopen_self=yes
5334e8b4ed9fSmrg    ;;
5335e8b4ed9fSmrg
5336e8b4ed9fSmrg  mingw* | pw32* | cegcc*)
5337e8b4ed9fSmrg    lt_cv_dlopen=LoadLibrary
5338e8b4ed9fSmrg    lt_cv_dlopen_libs=
5339e8b4ed9fSmrg    ;;
5340e8b4ed9fSmrg
5341e8b4ed9fSmrg  cygwin*)
5342e8b4ed9fSmrg    lt_cv_dlopen=dlopen
5343e8b4ed9fSmrg    lt_cv_dlopen_libs=
5344e8b4ed9fSmrg    ;;
5345e8b4ed9fSmrg
5346e8b4ed9fSmrg  darwin*)
5347e8b4ed9fSmrg    # if libdl is installed we need to link against it
5348e8b4ed9fSmrg    AC_CHECK_LIB([dl], [dlopen],
5349e8b4ed9fSmrg		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
5350e8b4ed9fSmrg    lt_cv_dlopen=dyld
5351e8b4ed9fSmrg    lt_cv_dlopen_libs=
5352e8b4ed9fSmrg    lt_cv_dlopen_self=yes
5353e8b4ed9fSmrg    ])
5354e8b4ed9fSmrg    ;;
535550f2e948Smrg
5356e8b4ed9fSmrg  tpf*)
5357e8b4ed9fSmrg    # Don't try to run any link tests for TPF.  We know it's impossible
5358e8b4ed9fSmrg    # because TPF is a cross-compiler, and we know how we open DSOs.
5359e8b4ed9fSmrg    lt_cv_dlopen=dlopen
5360e8b4ed9fSmrg    lt_cv_dlopen_libs=
5361e8b4ed9fSmrg    lt_cv_dlopen_self=no
5362e8b4ed9fSmrg    ;;
536350f2e948Smrg
5364e8b4ed9fSmrg  *)
5365e8b4ed9fSmrg    AC_CHECK_FUNC([shl_load],
5366e8b4ed9fSmrg	  [lt_cv_dlopen=shl_load],
5367e8b4ed9fSmrg      [AC_CHECK_LIB([dld], [shl_load],
5368e8b4ed9fSmrg	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
5369e8b4ed9fSmrg	[AC_CHECK_FUNC([dlopen],
5370e8b4ed9fSmrg	      [lt_cv_dlopen=dlopen],
5371e8b4ed9fSmrg	  [AC_CHECK_LIB([dl], [dlopen],
5372e8b4ed9fSmrg		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
5373e8b4ed9fSmrg	    [AC_CHECK_LIB([svld], [dlopen],
5374e8b4ed9fSmrg		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
5375e8b4ed9fSmrg	      [AC_CHECK_LIB([dld], [dld_link],
5376e8b4ed9fSmrg		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
5377e8b4ed9fSmrg	      ])
5378e8b4ed9fSmrg	    ])
5379e8b4ed9fSmrg	  ])
5380e8b4ed9fSmrg	])
5381e8b4ed9fSmrg      ])
5382e8b4ed9fSmrg    ;;
5383e8b4ed9fSmrg  esac
538450f2e948Smrg
5385e8b4ed9fSmrg  if test no = "$lt_cv_dlopen"; then
5386e8b4ed9fSmrg    enable_dlopen=no
5387e8b4ed9fSmrg  else
5388e8b4ed9fSmrg    enable_dlopen=yes
5389e8b4ed9fSmrg  fi
539050f2e948Smrg
5391e8b4ed9fSmrg  case $lt_cv_dlopen in
5392e8b4ed9fSmrg  dlopen)
5393e8b4ed9fSmrg    save_CPPFLAGS=$CPPFLAGS
5394e8b4ed9fSmrg    test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
539550f2e948Smrg
5396e8b4ed9fSmrg    save_LDFLAGS=$LDFLAGS
5397e8b4ed9fSmrg    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
53985592a31fSmrg
5399e8b4ed9fSmrg    save_LIBS=$LIBS
5400e8b4ed9fSmrg    LIBS="$lt_cv_dlopen_libs $LIBS"
540150f2e948Smrg
5402e8b4ed9fSmrg    AC_CACHE_CHECK([whether a program can dlopen itself],
5403e8b4ed9fSmrg	  lt_cv_dlopen_self, [dnl
5404e8b4ed9fSmrg	  _LT_TRY_DLOPEN_SELF(
5405e8b4ed9fSmrg	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
5406e8b4ed9fSmrg	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
5407e8b4ed9fSmrg    ])
540850f2e948Smrg
5409e8b4ed9fSmrg    if test yes = "$lt_cv_dlopen_self"; then
5410e8b4ed9fSmrg      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
5411e8b4ed9fSmrg      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
5412e8b4ed9fSmrg	  lt_cv_dlopen_self_static, [dnl
5413e8b4ed9fSmrg	  _LT_TRY_DLOPEN_SELF(
5414e8b4ed9fSmrg	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
5415e8b4ed9fSmrg	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
5416e8b4ed9fSmrg      ])
54175592a31fSmrg    fi
541850f2e948Smrg
5419e8b4ed9fSmrg    CPPFLAGS=$save_CPPFLAGS
5420e8b4ed9fSmrg    LDFLAGS=$save_LDFLAGS
5421e8b4ed9fSmrg    LIBS=$save_LIBS
5422e8b4ed9fSmrg    ;;
5423e8b4ed9fSmrg  esac
54245592a31fSmrg
5425e8b4ed9fSmrg  case $lt_cv_dlopen_self in
5426e8b4ed9fSmrg  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
5427e8b4ed9fSmrg  *) enable_dlopen_self=unknown ;;
5428e8b4ed9fSmrg  esac
542950f2e948Smrg
5430e8b4ed9fSmrg  case $lt_cv_dlopen_self_static in
5431e8b4ed9fSmrg  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
5432e8b4ed9fSmrg  *) enable_dlopen_self_static=unknown ;;
5433e8b4ed9fSmrg  esac
5434e8b4ed9fSmrgfi
5435e8b4ed9fSmrg_LT_DECL([dlopen_support], [enable_dlopen], [0],
5436e8b4ed9fSmrg	 [Whether dlopen is supported])
5437e8b4ed9fSmrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
5438e8b4ed9fSmrg	 [Whether dlopen of programs is supported])
5439e8b4ed9fSmrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
5440e8b4ed9fSmrg	 [Whether dlopen of statically linked programs is supported])
5441e8b4ed9fSmrg])# LT_SYS_DLOPEN_SELF
544250f2e948Smrg
5443e8b4ed9fSmrg# Old name:
5444e8b4ed9fSmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
5445e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
5446e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
54475592a31fSmrg
54485592a31fSmrg
5449e8b4ed9fSmrg# _LT_COMPILER_C_O([TAGNAME])
5450e8b4ed9fSmrg# ---------------------------
5451e8b4ed9fSmrg# Check to see if options -c and -o are simultaneously supported by compiler.
5452e8b4ed9fSmrg# This macro does not hard code the compiler like AC_PROG_CC_C_O.
5453e8b4ed9fSmrgm4_defun([_LT_COMPILER_C_O],
5454e8b4ed9fSmrg[m4_require([_LT_DECL_SED])dnl
5455e8b4ed9fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
5456e8b4ed9fSmrgm4_require([_LT_TAG_COMPILER])dnl
5457e8b4ed9fSmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
5458e8b4ed9fSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
5459e8b4ed9fSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
5460e8b4ed9fSmrg   $RM -r conftest 2>/dev/null
5461e8b4ed9fSmrg   mkdir conftest
5462e8b4ed9fSmrg   cd conftest
5463e8b4ed9fSmrg   mkdir out
5464e8b4ed9fSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
546550f2e948Smrg
5466e8b4ed9fSmrg   lt_compiler_flag="-o out/conftest2.$ac_objext"
5467e8b4ed9fSmrg   # Insert the option either (1) after the last *FLAGS variable, or
5468e8b4ed9fSmrg   # (2) before a word containing "conftest.", or (3) at the end.
5469e8b4ed9fSmrg   # Note that $ac_compile itself does not contain backslashes and begins
5470e8b4ed9fSmrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
5471e8b4ed9fSmrg   lt_compile=`echo "$ac_compile" | $SED \
5472e8b4ed9fSmrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
5473e8b4ed9fSmrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
5474e8b4ed9fSmrg   -e 's:$: $lt_compiler_flag:'`
5475e8b4ed9fSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
5476e8b4ed9fSmrg   (eval "$lt_compile" 2>out/conftest.err)
5477e8b4ed9fSmrg   ac_status=$?
5478e8b4ed9fSmrg   cat out/conftest.err >&AS_MESSAGE_LOG_FD
5479e8b4ed9fSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
5480e8b4ed9fSmrg   if (exit $ac_status) && test -s out/conftest2.$ac_objext
5481e8b4ed9fSmrg   then
5482e8b4ed9fSmrg     # The compiler can only warn and ignore the option if not recognized
5483e8b4ed9fSmrg     # So say no if there are warnings
5484e8b4ed9fSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
5485e8b4ed9fSmrg     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
5486e8b4ed9fSmrg     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
5487e8b4ed9fSmrg       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
5488e8b4ed9fSmrg     fi
5489e8b4ed9fSmrg   fi
5490e8b4ed9fSmrg   chmod u+w . 2>&AS_MESSAGE_LOG_FD
5491e8b4ed9fSmrg   $RM conftest*
5492e8b4ed9fSmrg   # SGI C++ compiler will create directory out/ii_files/ for
5493e8b4ed9fSmrg   # template instantiation
5494e8b4ed9fSmrg   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
5495e8b4ed9fSmrg   $RM out/* && rmdir out
5496e8b4ed9fSmrg   cd ..
5497e8b4ed9fSmrg   $RM -r conftest
5498e8b4ed9fSmrg   $RM conftest*
5499e8b4ed9fSmrg])
5500e8b4ed9fSmrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
5501e8b4ed9fSmrg	[Does compiler simultaneously support -c and -o options?])
5502e8b4ed9fSmrg])# _LT_COMPILER_C_O
55035592a31fSmrg
550450f2e948Smrg
5505e8b4ed9fSmrg# _LT_COMPILER_FILE_LOCKS([TAGNAME])
5506e8b4ed9fSmrg# ----------------------------------
5507e8b4ed9fSmrg# Check to see if we can do hard links to lock some files if needed
5508e8b4ed9fSmrgm4_defun([_LT_COMPILER_FILE_LOCKS],
5509e8b4ed9fSmrg[m4_require([_LT_ENABLE_LOCK])dnl
5510e8b4ed9fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
5511e8b4ed9fSmrg_LT_COMPILER_C_O([$1])
551250f2e948Smrg
5513e8b4ed9fSmrghard_links=nottested
5514e8b4ed9fSmrgif test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
5515e8b4ed9fSmrg  # do not overwrite the value of need_locks provided by the user
5516e8b4ed9fSmrg  AC_MSG_CHECKING([if we can lock with hard links])
5517e8b4ed9fSmrg  hard_links=yes
5518e8b4ed9fSmrg  $RM conftest*
5519e8b4ed9fSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
5520e8b4ed9fSmrg  touch conftest.a
5521e8b4ed9fSmrg  ln conftest.a conftest.b 2>&5 || hard_links=no
5522e8b4ed9fSmrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
5523e8b4ed9fSmrg  AC_MSG_RESULT([$hard_links])
5524e8b4ed9fSmrg  if test no = "$hard_links"; then
5525e8b4ed9fSmrg    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
5526e8b4ed9fSmrg    need_locks=warn
5527e8b4ed9fSmrg  fi
5528e8b4ed9fSmrgelse
5529e8b4ed9fSmrg  need_locks=no
5530e8b4ed9fSmrgfi
5531e8b4ed9fSmrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
5532e8b4ed9fSmrg])# _LT_COMPILER_FILE_LOCKS
553350f2e948Smrg
5534b40a6198Smrg
5535e8b4ed9fSmrg# _LT_CHECK_OBJDIR
5536e8b4ed9fSmrg# ----------------
5537e8b4ed9fSmrgm4_defun([_LT_CHECK_OBJDIR],
5538e8b4ed9fSmrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
5539e8b4ed9fSmrg[rm -f .libs 2>/dev/null
5540e8b4ed9fSmrgmkdir .libs 2>/dev/null
5541e8b4ed9fSmrgif test -d .libs; then
5542e8b4ed9fSmrg  lt_cv_objdir=.libs
5543e8b4ed9fSmrgelse
5544e8b4ed9fSmrg  # MS-DOS does not allow filenames that begin with a dot.
5545e8b4ed9fSmrg  lt_cv_objdir=_libs
5546e8b4ed9fSmrgfi
5547e8b4ed9fSmrgrmdir .libs 2>/dev/null])
5548e8b4ed9fSmrgobjdir=$lt_cv_objdir
5549e8b4ed9fSmrg_LT_DECL([], [objdir], [0],
5550e8b4ed9fSmrg         [The name of the directory that contains temporary libtool files])dnl
5551e8b4ed9fSmrgm4_pattern_allow([LT_OBJDIR])dnl
5552e8b4ed9fSmrgAC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
5553e8b4ed9fSmrg  [Define to the sub-directory where libtool stores uninstalled libraries.])
5554e8b4ed9fSmrg])# _LT_CHECK_OBJDIR
5555e8b4ed9fSmrg
5556e8b4ed9fSmrg
5557e8b4ed9fSmrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
5558e8b4ed9fSmrg# --------------------------------------
5559e8b4ed9fSmrg# Check hardcoding attributes.
5560e8b4ed9fSmrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
5561e8b4ed9fSmrg[AC_MSG_CHECKING([how to hardcode library paths into programs])
5562e8b4ed9fSmrg_LT_TAGVAR(hardcode_action, $1)=
5563e8b4ed9fSmrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
5564e8b4ed9fSmrg   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
5565e8b4ed9fSmrg   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
5566e8b4ed9fSmrg
5567e8b4ed9fSmrg  # We can hardcode non-existent directories.
5568e8b4ed9fSmrg  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
5569e8b4ed9fSmrg     # If the only mechanism to avoid hardcoding is shlibpath_var, we
5570e8b4ed9fSmrg     # have to relink, otherwise we might link with an installed library
5571e8b4ed9fSmrg     # when we should be linking with a yet-to-be-installed one
5572e8b4ed9fSmrg     ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
5573e8b4ed9fSmrg     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
5574e8b4ed9fSmrg    # Linking always hardcodes the temporary library directory.
5575e8b4ed9fSmrg    _LT_TAGVAR(hardcode_action, $1)=relink
5576e8b4ed9fSmrg  else
5577e8b4ed9fSmrg    # We can link without hardcoding, and we can hardcode nonexisting dirs.
5578e8b4ed9fSmrg    _LT_TAGVAR(hardcode_action, $1)=immediate
5579e8b4ed9fSmrg  fi
5580e8b4ed9fSmrgelse
5581e8b4ed9fSmrg  # We cannot hardcode anything, or else we can only hardcode existing
5582e8b4ed9fSmrg  # directories.
5583e8b4ed9fSmrg  _LT_TAGVAR(hardcode_action, $1)=unsupported
5584e8b4ed9fSmrgfi
5585e8b4ed9fSmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
558650f2e948Smrg
5587e8b4ed9fSmrgif test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
5588e8b4ed9fSmrg   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
5589e8b4ed9fSmrg  # Fast installation is not supported
5590e8b4ed9fSmrg  enable_fast_install=no
5591e8b4ed9fSmrgelif test yes = "$shlibpath_overrides_runpath" ||
5592e8b4ed9fSmrg     test no = "$enable_shared"; then
5593e8b4ed9fSmrg  # Fast installation is not necessary
5594e8b4ed9fSmrg  enable_fast_install=needless
5595e8b4ed9fSmrgfi
5596e8b4ed9fSmrg_LT_TAGDECL([], [hardcode_action], [0],
5597e8b4ed9fSmrg    [How to hardcode a shared library path into an executable])
5598e8b4ed9fSmrg])# _LT_LINKER_HARDCODE_LIBPATH
5599f2408745Smrg
560050f2e948Smrg
5601e8b4ed9fSmrg# _LT_CMD_STRIPLIB
5602e8b4ed9fSmrg# ----------------
5603e8b4ed9fSmrgm4_defun([_LT_CMD_STRIPLIB],
5604e8b4ed9fSmrg[m4_require([_LT_DECL_EGREP])
5605e8b4ed9fSmrgstriplib=
5606e8b4ed9fSmrgold_striplib=
5607e8b4ed9fSmrgAC_MSG_CHECKING([whether stripping libraries is possible])
5608e8b4ed9fSmrgif test -z "$STRIP"; then
5609e8b4ed9fSmrg  AC_MSG_RESULT([no])
5610e8b4ed9fSmrgelse
5611e8b4ed9fSmrg  if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
5612e8b4ed9fSmrg    old_striplib="$STRIP --strip-debug"
5613e8b4ed9fSmrg    striplib="$STRIP --strip-unneeded"
5614e8b4ed9fSmrg    AC_MSG_RESULT([yes])
5615e8b4ed9fSmrg  else
5616e8b4ed9fSmrg    case $host_os in
5617e8b4ed9fSmrg    darwin*)
5618e8b4ed9fSmrg      # FIXME - insert some real tests, host_os isn't really good enough
5619e8b4ed9fSmrg      striplib="$STRIP -x"
5620e8b4ed9fSmrg      old_striplib="$STRIP -S"
5621e8b4ed9fSmrg      AC_MSG_RESULT([yes])
5622e8b4ed9fSmrg      ;;
5623e8b4ed9fSmrg    freebsd*)
5624e8b4ed9fSmrg      if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
5625e8b4ed9fSmrg        old_striplib="$STRIP --strip-debug"
5626e8b4ed9fSmrg        striplib="$STRIP --strip-unneeded"
5627e8b4ed9fSmrg        AC_MSG_RESULT([yes])
5628e8b4ed9fSmrg      else
5629e8b4ed9fSmrg        AC_MSG_RESULT([no])
5630e8b4ed9fSmrg      fi
5631e8b4ed9fSmrg      ;;
5632e8b4ed9fSmrg    *)
5633e8b4ed9fSmrg      AC_MSG_RESULT([no])
5634e8b4ed9fSmrg      ;;
5635e8b4ed9fSmrg    esac
5636e8b4ed9fSmrg  fi
5637e8b4ed9fSmrgfi
5638e8b4ed9fSmrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
5639e8b4ed9fSmrg_LT_DECL([], [striplib], [1])
5640e8b4ed9fSmrg])# _LT_CMD_STRIPLIB
564150f2e948Smrg
56425592a31fSmrg
5643e8b4ed9fSmrg# _LT_PREPARE_MUNGE_PATH_LIST
5644e8b4ed9fSmrg# ---------------------------
5645e8b4ed9fSmrg# Make sure func_munge_path_list() is defined correctly.
5646e8b4ed9fSmrgm4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
5647e8b4ed9fSmrg[[# func_munge_path_list VARIABLE PATH
5648e8b4ed9fSmrg# -----------------------------------
5649e8b4ed9fSmrg# VARIABLE is name of variable containing _space_ separated list of
5650e8b4ed9fSmrg# directories to be munged by the contents of PATH, which is string
5651e8b4ed9fSmrg# having a format:
5652e8b4ed9fSmrg# "DIR[:DIR]:"
5653e8b4ed9fSmrg#       string "DIR[ DIR]" will be prepended to VARIABLE
5654e8b4ed9fSmrg# ":DIR[:DIR]"
5655e8b4ed9fSmrg#       string "DIR[ DIR]" will be appended to VARIABLE
5656e8b4ed9fSmrg# "DIRP[:DIRP]::[DIRA:]DIRA"
5657e8b4ed9fSmrg#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
5658e8b4ed9fSmrg#       "DIRA[ DIRA]" will be appended to VARIABLE
5659e8b4ed9fSmrg# "DIR[:DIR]"
5660e8b4ed9fSmrg#       VARIABLE will be replaced by "DIR[ DIR]"
5661e8b4ed9fSmrgfunc_munge_path_list ()
5662e8b4ed9fSmrg{
5663e8b4ed9fSmrg    case x@S|@2 in
5664e8b4ed9fSmrg    x)
56655592a31fSmrg        ;;
5666e8b4ed9fSmrg    *:)
5667e8b4ed9fSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
5668b40a6198Smrg        ;;
5669e8b4ed9fSmrg    x:*)
5670e8b4ed9fSmrg        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
5671e8b4ed9fSmrg        ;;
5672e8b4ed9fSmrg    *::*)
5673e8b4ed9fSmrg        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
5674e8b4ed9fSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
5675e8b4ed9fSmrg        ;;
5676e8b4ed9fSmrg    *)
5677e8b4ed9fSmrg        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
5678e8b4ed9fSmrg        ;;
5679e8b4ed9fSmrg    esac
5680e8b4ed9fSmrg}
5681e8b4ed9fSmrg]])# _LT_PREPARE_PATH_LIST
5682b40a6198Smrg
56835592a31fSmrg
5684e8b4ed9fSmrg# _LT_SYS_DYNAMIC_LINKER([TAG])
5685e8b4ed9fSmrg# -----------------------------
5686e8b4ed9fSmrg# PORTME Fill in your ld.so characteristics
5687e8b4ed9fSmrgm4_defun([_LT_SYS_DYNAMIC_LINKER],
5688e8b4ed9fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
5689e8b4ed9fSmrgm4_require([_LT_DECL_EGREP])dnl
5690e8b4ed9fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
5691e8b4ed9fSmrgm4_require([_LT_DECL_OBJDUMP])dnl
5692e8b4ed9fSmrgm4_require([_LT_DECL_SED])dnl
5693e8b4ed9fSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
5694e8b4ed9fSmrgm4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
5695e8b4ed9fSmrgAC_MSG_CHECKING([dynamic linker characteristics])
5696e8b4ed9fSmrgm4_if([$1],
5697e8b4ed9fSmrg	[], [
5698e8b4ed9fSmrgif test yes = "$GCC"; then
5699e8b4ed9fSmrg  case $host_os in
5700e8b4ed9fSmrg    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
5701e8b4ed9fSmrg    *) lt_awk_arg='/^libraries:/' ;;
5702e8b4ed9fSmrg  esac
5703e8b4ed9fSmrg  case $host_os in
5704e8b4ed9fSmrg    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
5705e8b4ed9fSmrg    *) lt_sed_strip_eq='s|=/|/|g' ;;
5706e8b4ed9fSmrg  esac
5707e8b4ed9fSmrg  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
5708e8b4ed9fSmrg  case $lt_search_path_spec in
5709e8b4ed9fSmrg  *\;*)
5710e8b4ed9fSmrg    # if the path contains ";" then we assume it to be the separator
5711e8b4ed9fSmrg    # otherwise default to the standard path separator (i.e. ":") - it is
5712e8b4ed9fSmrg    # assumed that no part of a normal pathname contains ";" but that should
5713e8b4ed9fSmrg    # okay in the real world where ";" in dirpaths is itself problematic.
5714e8b4ed9fSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
5715e8b4ed9fSmrg    ;;
5716e8b4ed9fSmrg  *)
5717e8b4ed9fSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
5718e8b4ed9fSmrg    ;;
5719e8b4ed9fSmrg  esac
5720e8b4ed9fSmrg  # Ok, now we have the path, separated by spaces, we can step through it
5721e8b4ed9fSmrg  # and add multilib dir if necessary...
5722e8b4ed9fSmrg  lt_tmp_lt_search_path_spec=
5723e8b4ed9fSmrg  lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
5724e8b4ed9fSmrg  # ...but if some path component already ends with the multilib dir we assume
5725e8b4ed9fSmrg  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
5726e8b4ed9fSmrg  case "$lt_multi_os_dir; $lt_search_path_spec " in
5727e8b4ed9fSmrg  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
5728e8b4ed9fSmrg    lt_multi_os_dir=
5729e8b4ed9fSmrg    ;;
5730e8b4ed9fSmrg  esac
5731e8b4ed9fSmrg  for lt_sys_path in $lt_search_path_spec; do
5732e8b4ed9fSmrg    if test -d "$lt_sys_path$lt_multi_os_dir"; then
5733e8b4ed9fSmrg      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
5734e8b4ed9fSmrg    elif test -n "$lt_multi_os_dir"; then
5735e8b4ed9fSmrg      test -d "$lt_sys_path" && \
5736e8b4ed9fSmrg	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
5737e8b4ed9fSmrg    fi
5738e8b4ed9fSmrg  done
5739e8b4ed9fSmrg  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
5740e8b4ed9fSmrgBEGIN {RS = " "; FS = "/|\n";} {
5741e8b4ed9fSmrg  lt_foo = "";
5742e8b4ed9fSmrg  lt_count = 0;
5743e8b4ed9fSmrg  for (lt_i = NF; lt_i > 0; lt_i--) {
5744e8b4ed9fSmrg    if ($lt_i != "" && $lt_i != ".") {
5745e8b4ed9fSmrg      if ($lt_i == "..") {
5746e8b4ed9fSmrg        lt_count++;
5747e8b4ed9fSmrg      } else {
5748e8b4ed9fSmrg        if (lt_count == 0) {
5749e8b4ed9fSmrg          lt_foo = "/" $lt_i lt_foo;
5750e8b4ed9fSmrg        } else {
5751e8b4ed9fSmrg          lt_count--;
5752e8b4ed9fSmrg        }
5753e8b4ed9fSmrg      }
5754e8b4ed9fSmrg    }
5755e8b4ed9fSmrg  }
5756e8b4ed9fSmrg  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
5757e8b4ed9fSmrg  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
5758e8b4ed9fSmrg}'`
5759e8b4ed9fSmrg  # AWK program above erroneously prepends '/' to C:/dos/paths
5760e8b4ed9fSmrg  # for these hosts.
5761e8b4ed9fSmrg  case $host_os in
5762e8b4ed9fSmrg    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
5763e8b4ed9fSmrg      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
5764e8b4ed9fSmrg  esac
5765e8b4ed9fSmrg  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
5766e8b4ed9fSmrgelse
5767e8b4ed9fSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
5768e8b4ed9fSmrgfi])
5769e8b4ed9fSmrglibrary_names_spec=
5770e8b4ed9fSmrglibname_spec='lib$name'
5771e8b4ed9fSmrgsoname_spec=
5772e8b4ed9fSmrgshrext_cmds=.so
5773e8b4ed9fSmrgpostinstall_cmds=
5774e8b4ed9fSmrgpostuninstall_cmds=
5775e8b4ed9fSmrgfinish_cmds=
5776e8b4ed9fSmrgfinish_eval=
5777e8b4ed9fSmrgshlibpath_var=
5778e8b4ed9fSmrgshlibpath_overrides_runpath=unknown
5779e8b4ed9fSmrgversion_type=none
5780e8b4ed9fSmrgdynamic_linker="$host_os ld.so"
5781e8b4ed9fSmrgsys_lib_dlsearch_path_spec="/lib /usr/lib"
5782e8b4ed9fSmrgneed_lib_prefix=unknown
5783e8b4ed9fSmrghardcode_into_libs=no
5784e8b4ed9fSmrg
5785e8b4ed9fSmrg# when you set need_version to no, make sure it does not cause -set_version
5786e8b4ed9fSmrg# flags to be left without arguments
5787e8b4ed9fSmrgneed_version=unknown
5788e8b4ed9fSmrg
5789e8b4ed9fSmrgAC_ARG_VAR([LT_SYS_LIBRARY_PATH],
5790e8b4ed9fSmrg[User-defined run-time library search path.])
5791e8b4ed9fSmrg
5792e8b4ed9fSmrgcase $host_os in
5793e8b4ed9fSmrgaix3*)
5794e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
5795e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
5796e8b4ed9fSmrg  shlibpath_var=LIBPATH
579750f2e948Smrg
5798e8b4ed9fSmrg  # AIX 3 has no versioning support, so we append a major version to the name.
5799e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
5800e8b4ed9fSmrg  ;;
58015592a31fSmrg
5802e8b4ed9fSmrgaix[[4-9]]*)
5803e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
5804e8b4ed9fSmrg  need_lib_prefix=no
5805e8b4ed9fSmrg  need_version=no
5806e8b4ed9fSmrg  hardcode_into_libs=yes
5807e8b4ed9fSmrg  if test ia64 = "$host_cpu"; then
5808e8b4ed9fSmrg    # AIX 5 supports IA64
5809e8b4ed9fSmrg    library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
5810e8b4ed9fSmrg    shlibpath_var=LD_LIBRARY_PATH
5811e8b4ed9fSmrg  else
5812e8b4ed9fSmrg    # With GCC up to 2.95.x, collect2 would create an import file
5813e8b4ed9fSmrg    # for dependence libraries.  The import file would start with
5814e8b4ed9fSmrg    # the line '#! .'.  This would cause the generated library to
5815e8b4ed9fSmrg    # depend on '.', always an invalid library.  This was fixed in
5816e8b4ed9fSmrg    # development snapshots of GCC prior to 3.0.
5817e8b4ed9fSmrg    case $host_os in
5818e8b4ed9fSmrg      aix4 | aix4.[[01]] | aix4.[[01]].*)
5819e8b4ed9fSmrg      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
5820e8b4ed9fSmrg	   echo ' yes '
5821e8b4ed9fSmrg	   echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
5822e8b4ed9fSmrg	:
5823e8b4ed9fSmrg      else
5824e8b4ed9fSmrg	can_build_shared=no
5825e8b4ed9fSmrg      fi
5826e8b4ed9fSmrg      ;;
5827e8b4ed9fSmrg    esac
5828e8b4ed9fSmrg    # Using Import Files as archive members, it is possible to support
5829e8b4ed9fSmrg    # filename-based versioning of shared library archives on AIX. While
5830e8b4ed9fSmrg    # this would work for both with and without runtime linking, it will
5831e8b4ed9fSmrg    # prevent static linking of such archives. So we do filename-based
5832e8b4ed9fSmrg    # shared library versioning with .so extension only, which is used
5833e8b4ed9fSmrg    # when both runtime linking and shared linking is enabled.
5834e8b4ed9fSmrg    # Unfortunately, runtime linking may impact performance, so we do
5835e8b4ed9fSmrg    # not want this to be the default eventually. Also, we use the
5836e8b4ed9fSmrg    # versioned .so libs for executables only if there is the -brtl
5837e8b4ed9fSmrg    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
5838e8b4ed9fSmrg    # To allow for filename-based versioning support, we need to create
5839e8b4ed9fSmrg    # libNAME.so.V as an archive file, containing:
5840e8b4ed9fSmrg    # *) an Import File, referring to the versioned filename of the
5841e8b4ed9fSmrg    #    archive as well as the shared archive member, telling the
5842e8b4ed9fSmrg    #    bitwidth (32 or 64) of that shared object, and providing the
5843e8b4ed9fSmrg    #    list of exported symbols of that shared object, eventually
5844e8b4ed9fSmrg    #    decorated with the 'weak' keyword
5845e8b4ed9fSmrg    # *) the shared object with the F_LOADONLY flag set, to really avoid
5846e8b4ed9fSmrg    #    it being seen by the linker.
5847e8b4ed9fSmrg    # At run time we better use the real file rather than another symlink,
5848e8b4ed9fSmrg    # but for link time we create the symlink libNAME.so -> libNAME.so.V
58495592a31fSmrg
5850e8b4ed9fSmrg    case $with_aix_soname,$aix_use_runtimelinking in
5851e8b4ed9fSmrg    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
5852e8b4ed9fSmrg    # soname into executable. Probably we can add versioning support to
5853e8b4ed9fSmrg    # collect2, so additional links can be useful in future.
5854e8b4ed9fSmrg    aix,yes) # traditional libtool
5855e8b4ed9fSmrg      dynamic_linker='AIX unversionable lib.so'
5856e8b4ed9fSmrg      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
5857e8b4ed9fSmrg      # instead of lib<name>.a to let people know that these are not
5858e8b4ed9fSmrg      # typical AIX shared libraries.
5859e8b4ed9fSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
5860e8b4ed9fSmrg      ;;
5861e8b4ed9fSmrg    aix,no) # traditional AIX only
5862e8b4ed9fSmrg      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
5863e8b4ed9fSmrg      # We preserve .a as extension for shared libraries through AIX4.2
5864e8b4ed9fSmrg      # and later when we are not doing run time linking.
5865e8b4ed9fSmrg      library_names_spec='$libname$release.a $libname.a'
5866e8b4ed9fSmrg      soname_spec='$libname$release$shared_ext$major'
5867e8b4ed9fSmrg      ;;
5868e8b4ed9fSmrg    svr4,*) # full svr4 only
5869e8b4ed9fSmrg      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
5870e8b4ed9fSmrg      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
5871e8b4ed9fSmrg      # We do not specify a path in Import Files, so LIBPATH fires.
5872e8b4ed9fSmrg      shlibpath_overrides_runpath=yes
5873e8b4ed9fSmrg      ;;
5874e8b4ed9fSmrg    *,yes) # both, prefer svr4
5875e8b4ed9fSmrg      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
5876e8b4ed9fSmrg      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
5877e8b4ed9fSmrg      # unpreferred sharedlib libNAME.a needs extra handling
5878e8b4ed9fSmrg      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"'
5879e8b4ed9fSmrg      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"'
5880e8b4ed9fSmrg      # We do not specify a path in Import Files, so LIBPATH fires.
5881e8b4ed9fSmrg      shlibpath_overrides_runpath=yes
5882e8b4ed9fSmrg      ;;
5883e8b4ed9fSmrg    *,no) # both, prefer aix
5884e8b4ed9fSmrg      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
5885e8b4ed9fSmrg      library_names_spec='$libname$release.a $libname.a'
5886e8b4ed9fSmrg      soname_spec='$libname$release$shared_ext$major'
5887e8b4ed9fSmrg      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
5888e8b4ed9fSmrg      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)'
5889e8b4ed9fSmrg      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"'
5890e8b4ed9fSmrg      ;;
5891e8b4ed9fSmrg    esac
5892e8b4ed9fSmrg    shlibpath_var=LIBPATH
5893e8b4ed9fSmrg  fi
5894e8b4ed9fSmrg  ;;
589550f2e948Smrg
5896e8b4ed9fSmrgamigaos*)
5897e8b4ed9fSmrg  case $host_cpu in
5898e8b4ed9fSmrg  powerpc)
5899e8b4ed9fSmrg    # Since July 2007 AmigaOS4 officially supports .so libraries.
5900e8b4ed9fSmrg    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
5901e8b4ed9fSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
5902e8b4ed9fSmrg    ;;
5903e8b4ed9fSmrg  m68k)
5904e8b4ed9fSmrg    library_names_spec='$libname.ixlibrary $libname.a'
5905e8b4ed9fSmrg    # Create ${libname}_ixlibrary.a entries in /sys/libs.
5906e8b4ed9fSmrg    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'
5907e8b4ed9fSmrg    ;;
5908e8b4ed9fSmrg  esac
5909e8b4ed9fSmrg  ;;
59105592a31fSmrg
5911e8b4ed9fSmrgbeos*)
5912e8b4ed9fSmrg  library_names_spec='$libname$shared_ext'
5913e8b4ed9fSmrg  dynamic_linker="$host_os ld.so"
5914e8b4ed9fSmrg  shlibpath_var=LIBRARY_PATH
5915e8b4ed9fSmrg  ;;
591650f2e948Smrg
5917e8b4ed9fSmrgbsdi[[45]]*)
5918e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
5919e8b4ed9fSmrg  need_version=no
5920e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
5921e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
5922e8b4ed9fSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
5923e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
5924e8b4ed9fSmrg  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
5925e8b4ed9fSmrg  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
5926e8b4ed9fSmrg  # the default ld.so.conf also contains /usr/contrib/lib and
5927e8b4ed9fSmrg  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
5928e8b4ed9fSmrg  # libtool to hard-code these into programs
5929e8b4ed9fSmrg  ;;
59305592a31fSmrg
5931e8b4ed9fSmrgcygwin* | mingw* | pw32* | cegcc*)
5932e8b4ed9fSmrg  version_type=windows
5933e8b4ed9fSmrg  shrext_cmds=.dll
5934e8b4ed9fSmrg  need_version=no
5935e8b4ed9fSmrg  need_lib_prefix=no
59365592a31fSmrg
5937e8b4ed9fSmrg  case $GCC,$cc_basename in
5938e8b4ed9fSmrg  yes,*)
5939e8b4ed9fSmrg    # gcc
5940e8b4ed9fSmrg    library_names_spec='$libname.dll.a'
5941e8b4ed9fSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
5942e8b4ed9fSmrg    postinstall_cmds='base_file=`basename \$file`~
5943e8b4ed9fSmrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
5944e8b4ed9fSmrg      dldir=$destdir/`dirname \$dlpath`~
5945e8b4ed9fSmrg      test -d \$dldir || mkdir -p \$dldir~
5946e8b4ed9fSmrg      $install_prog $dir/$dlname \$dldir/$dlname~
5947e8b4ed9fSmrg      chmod a+x \$dldir/$dlname~
5948e8b4ed9fSmrg      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
5949e8b4ed9fSmrg        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
5950e8b4ed9fSmrg      fi'
5951e8b4ed9fSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
5952e8b4ed9fSmrg      dlpath=$dir/\$dldll~
5953e8b4ed9fSmrg       $RM \$dlpath'
5954e8b4ed9fSmrg    shlibpath_overrides_runpath=yes
59555592a31fSmrg
5956e8b4ed9fSmrg    case $host_os in
5957e8b4ed9fSmrg    cygwin*)
5958e8b4ed9fSmrg      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
5959e8b4ed9fSmrg      soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
5960e8b4ed9fSmrgm4_if([$1], [],[
5961e8b4ed9fSmrg      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
5962e8b4ed9fSmrg      ;;
5963e8b4ed9fSmrg    mingw* | cegcc*)
5964e8b4ed9fSmrg      # MinGW DLLs use traditional 'lib' prefix
5965e8b4ed9fSmrg      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
5966e8b4ed9fSmrg      ;;
5967e8b4ed9fSmrg    pw32*)
5968e8b4ed9fSmrg      # pw32 DLLs use 'pw' prefix rather than 'lib'
5969e8b4ed9fSmrg      library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
5970e8b4ed9fSmrg      ;;
5971e8b4ed9fSmrg    esac
5972e8b4ed9fSmrg    dynamic_linker='Win32 ld.exe'
5973e8b4ed9fSmrg    ;;
597450f2e948Smrg
5975e8b4ed9fSmrg  *,cl* | *,icl*)
5976e8b4ed9fSmrg    # Native MSVC or ICC
5977e8b4ed9fSmrg    libname_spec='$name'
5978e8b4ed9fSmrg    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
5979e8b4ed9fSmrg    library_names_spec='$libname.dll.lib'
598050f2e948Smrg
5981e8b4ed9fSmrg    case $build_os in
5982e8b4ed9fSmrg    mingw*)
5983e8b4ed9fSmrg      sys_lib_search_path_spec=
5984e8b4ed9fSmrg      lt_save_ifs=$IFS
5985e8b4ed9fSmrg      IFS=';'
5986e8b4ed9fSmrg      for lt_path in $LIB
5987e8b4ed9fSmrg      do
5988e8b4ed9fSmrg        IFS=$lt_save_ifs
5989e8b4ed9fSmrg        # Let DOS variable expansion print the short 8.3 style file name.
5990e8b4ed9fSmrg        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
5991e8b4ed9fSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
5992e8b4ed9fSmrg      done
5993e8b4ed9fSmrg      IFS=$lt_save_ifs
5994e8b4ed9fSmrg      # Convert to MSYS style.
5995e8b4ed9fSmrg      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
5996e8b4ed9fSmrg      ;;
5997e8b4ed9fSmrg    cygwin*)
5998e8b4ed9fSmrg      # Convert to unix form, then to dos form, then back to unix form
5999e8b4ed9fSmrg      # but this time dos style (no spaces!) so that the unix form looks
6000e8b4ed9fSmrg      # like /cygdrive/c/PROGRA~1:/cygdr...
6001e8b4ed9fSmrg      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
6002e8b4ed9fSmrg      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
6003e8b4ed9fSmrg      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
6004e8b4ed9fSmrg      ;;
6005e8b4ed9fSmrg    *)
6006e8b4ed9fSmrg      sys_lib_search_path_spec=$LIB
6007e8b4ed9fSmrg      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
6008e8b4ed9fSmrg        # It is most probably a Windows format PATH.
6009e8b4ed9fSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
6010e8b4ed9fSmrg      else
6011e8b4ed9fSmrg        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
6012e8b4ed9fSmrg      fi
6013e8b4ed9fSmrg      # FIXME: find the short name or the path components, as spaces are
6014e8b4ed9fSmrg      # common. (e.g. "Program Files" -> "PROGRA~1")
6015e8b4ed9fSmrg      ;;
6016e8b4ed9fSmrg    esac
601750f2e948Smrg
6018e8b4ed9fSmrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
6019e8b4ed9fSmrg    postinstall_cmds='base_file=`basename \$file`~
6020e8b4ed9fSmrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
6021e8b4ed9fSmrg      dldir=$destdir/`dirname \$dlpath`~
6022e8b4ed9fSmrg      test -d \$dldir || mkdir -p \$dldir~
6023e8b4ed9fSmrg      $install_prog $dir/$dlname \$dldir/$dlname'
6024e8b4ed9fSmrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
6025e8b4ed9fSmrg      dlpath=$dir/\$dldll~
6026e8b4ed9fSmrg       $RM \$dlpath'
6027e8b4ed9fSmrg    shlibpath_overrides_runpath=yes
6028e8b4ed9fSmrg    dynamic_linker='Win32 link.exe'
6029e8b4ed9fSmrg    ;;
60305592a31fSmrg
6031e8b4ed9fSmrg  *)
6032e8b4ed9fSmrg    # Assume MSVC and ICC wrapper
6033e8b4ed9fSmrg    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
6034e8b4ed9fSmrg    dynamic_linker='Win32 ld.exe'
6035e8b4ed9fSmrg    ;;
6036e8b4ed9fSmrg  esac
6037e8b4ed9fSmrg  # FIXME: first we should search . and the directory the executable is in
6038e8b4ed9fSmrg  shlibpath_var=PATH
6039e8b4ed9fSmrg  ;;
60405592a31fSmrg
6041e8b4ed9fSmrgdarwin* | rhapsody*)
6042e8b4ed9fSmrg  dynamic_linker="$host_os dyld"
6043e8b4ed9fSmrg  version_type=darwin
6044e8b4ed9fSmrg  need_lib_prefix=no
6045e8b4ed9fSmrg  need_version=no
6046e8b4ed9fSmrg  library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
6047e8b4ed9fSmrg  soname_spec='$libname$release$major$shared_ext'
6048e8b4ed9fSmrg  shlibpath_overrides_runpath=yes
6049e8b4ed9fSmrg  shlibpath_var=DYLD_LIBRARY_PATH
6050e8b4ed9fSmrg  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
6051e8b4ed9fSmrgm4_if([$1], [],[
6052e8b4ed9fSmrg  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
6053e8b4ed9fSmrg  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
6054e8b4ed9fSmrg  ;;
605550f2e948Smrg
6056e8b4ed9fSmrgdgux*)
6057e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6058e8b4ed9fSmrg  need_lib_prefix=no
6059e8b4ed9fSmrg  need_version=no
6060e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6061e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6062e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6063e8b4ed9fSmrg  ;;
606450f2e948Smrg
6065e8b4ed9fSmrgfreebsd* | dragonfly* | midnightbsd*)
6066e8b4ed9fSmrg  # DragonFly does not have aout.  When/if they implement a new
6067e8b4ed9fSmrg  # versioning mechanism, adjust this.
6068e8b4ed9fSmrg  if test -x /usr/bin/objformat; then
6069e8b4ed9fSmrg    objformat=`/usr/bin/objformat`
6070e8b4ed9fSmrg  else
6071e8b4ed9fSmrg    case $host_os in
6072e8b4ed9fSmrg    freebsd[[23]].*) objformat=aout ;;
6073e8b4ed9fSmrg    *) objformat=elf ;;
6074e8b4ed9fSmrg    esac
6075e8b4ed9fSmrg  fi
6076e8b4ed9fSmrg  version_type=freebsd-$objformat
6077e8b4ed9fSmrg  case $version_type in
6078e8b4ed9fSmrg    freebsd-elf*)
6079e8b4ed9fSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6080e8b4ed9fSmrg      soname_spec='$libname$release$shared_ext$major'
6081e8b4ed9fSmrg      need_version=no
6082e8b4ed9fSmrg      need_lib_prefix=no
6083e8b4ed9fSmrg      ;;
6084e8b4ed9fSmrg    freebsd-*)
6085e8b4ed9fSmrg      library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
6086e8b4ed9fSmrg      need_version=yes
6087e8b4ed9fSmrg      ;;
6088e8b4ed9fSmrg  esac
6089e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6090e8b4ed9fSmrg  case $host_os in
6091e8b4ed9fSmrg  freebsd2.*)
6092e8b4ed9fSmrg    shlibpath_overrides_runpath=yes
6093e8b4ed9fSmrg    ;;
6094e8b4ed9fSmrg  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
6095e8b4ed9fSmrg    shlibpath_overrides_runpath=yes
6096e8b4ed9fSmrg    hardcode_into_libs=yes
6097e8b4ed9fSmrg    ;;
6098e8b4ed9fSmrg  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
6099e8b4ed9fSmrg  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
6100e8b4ed9fSmrg    shlibpath_overrides_runpath=no
6101e8b4ed9fSmrg    hardcode_into_libs=yes
6102e8b4ed9fSmrg    ;;
6103e8b4ed9fSmrg  *) # from 4.6 on, and DragonFly
6104e8b4ed9fSmrg    shlibpath_overrides_runpath=yes
6105e8b4ed9fSmrg    hardcode_into_libs=yes
6106e8b4ed9fSmrg    ;;
6107e8b4ed9fSmrg  esac
6108e8b4ed9fSmrg  ;;
610950f2e948Smrg
6110e8b4ed9fSmrghaiku*)
6111e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6112e8b4ed9fSmrg  need_lib_prefix=no
6113e8b4ed9fSmrg  need_version=no
6114e8b4ed9fSmrg  dynamic_linker="$host_os runtime_loader"
6115e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6116e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6117e8b4ed9fSmrg  shlibpath_var=LIBRARY_PATH
6118e8b4ed9fSmrg  shlibpath_overrides_runpath=no
6119e8b4ed9fSmrg  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
6120e8b4ed9fSmrg  hardcode_into_libs=yes
6121e8b4ed9fSmrg  ;;
612250f2e948Smrg
6123e8b4ed9fSmrghpux9* | hpux10* | hpux11*)
6124e8b4ed9fSmrg  # Give a soname corresponding to the major version so that dld.sl refuses to
6125e8b4ed9fSmrg  # link against other versions.
6126e8b4ed9fSmrg  version_type=sunos
6127e8b4ed9fSmrg  need_lib_prefix=no
6128e8b4ed9fSmrg  need_version=no
6129e8b4ed9fSmrg  case $host_cpu in
6130e8b4ed9fSmrg  ia64*)
6131e8b4ed9fSmrg    shrext_cmds='.so'
6132e8b4ed9fSmrg    hardcode_into_libs=yes
6133e8b4ed9fSmrg    dynamic_linker="$host_os dld.so"
6134e8b4ed9fSmrg    shlibpath_var=LD_LIBRARY_PATH
6135e8b4ed9fSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
6136e8b4ed9fSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6137e8b4ed9fSmrg    soname_spec='$libname$release$shared_ext$major'
6138e8b4ed9fSmrg    if test 32 = "$HPUX_IA64_MODE"; then
6139e8b4ed9fSmrg      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
6140e8b4ed9fSmrg      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
6141e8b4ed9fSmrg    else
6142e8b4ed9fSmrg      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
6143e8b4ed9fSmrg      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
6144e8b4ed9fSmrg    fi
6145e8b4ed9fSmrg    ;;
6146e8b4ed9fSmrg  hppa*64*)
6147e8b4ed9fSmrg    shrext_cmds='.sl'
6148e8b4ed9fSmrg    hardcode_into_libs=yes
6149e8b4ed9fSmrg    dynamic_linker="$host_os dld.sl"
6150e8b4ed9fSmrg    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
6151e8b4ed9fSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
6152e8b4ed9fSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6153e8b4ed9fSmrg    soname_spec='$libname$release$shared_ext$major'
6154e8b4ed9fSmrg    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
6155e8b4ed9fSmrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
6156e8b4ed9fSmrg    ;;
6157e8b4ed9fSmrg  *)
6158e8b4ed9fSmrg    shrext_cmds='.sl'
6159e8b4ed9fSmrg    dynamic_linker="$host_os dld.sl"
6160e8b4ed9fSmrg    shlibpath_var=SHLIB_PATH
6161e8b4ed9fSmrg    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
6162e8b4ed9fSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6163e8b4ed9fSmrg    soname_spec='$libname$release$shared_ext$major'
6164e8b4ed9fSmrg    ;;
6165e8b4ed9fSmrg  esac
6166e8b4ed9fSmrg  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
6167e8b4ed9fSmrg  postinstall_cmds='chmod 555 $lib'
6168e8b4ed9fSmrg  # or fails outright, so override atomically:
6169e8b4ed9fSmrg  install_override_mode=555
6170e8b4ed9fSmrg  ;;
617150f2e948Smrg
6172e8b4ed9fSmrginterix[[3-9]]*)
6173e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6174e8b4ed9fSmrg  need_lib_prefix=no
6175e8b4ed9fSmrg  need_version=no
6176e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6177e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6178e8b4ed9fSmrg  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
6179e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6180e8b4ed9fSmrg  shlibpath_overrides_runpath=no
6181e8b4ed9fSmrg  hardcode_into_libs=yes
6182e8b4ed9fSmrg  ;;
618350f2e948Smrg
6184e8b4ed9fSmrgirix5* | irix6* | nonstopux*)
6185e8b4ed9fSmrg  case $host_os in
6186e8b4ed9fSmrg    nonstopux*) version_type=nonstopux ;;
6187e8b4ed9fSmrg    *)
6188e8b4ed9fSmrg	if test yes = "$lt_cv_prog_gnu_ld"; then
6189e8b4ed9fSmrg		version_type=linux # correct to gnu/linux during the next big refactor
61905592a31fSmrg	else
6191e8b4ed9fSmrg		version_type=irix
6192e8b4ed9fSmrg	fi ;;
6193e8b4ed9fSmrg  esac
6194e8b4ed9fSmrg  need_lib_prefix=no
6195e8b4ed9fSmrg  need_version=no
6196e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6197e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
6198e8b4ed9fSmrg  case $host_os in
6199e8b4ed9fSmrg  irix5* | nonstopux*)
6200e8b4ed9fSmrg    libsuff= shlibsuff=
6201e8b4ed9fSmrg    ;;
6202e8b4ed9fSmrg  *)
6203e8b4ed9fSmrg    case $LD in # libtool.m4 will add one of these switches to LD
6204e8b4ed9fSmrg    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
6205e8b4ed9fSmrg      libsuff= shlibsuff= libmagic=32-bit;;
6206e8b4ed9fSmrg    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
6207e8b4ed9fSmrg      libsuff=32 shlibsuff=N32 libmagic=N32;;
6208e8b4ed9fSmrg    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
6209e8b4ed9fSmrg      libsuff=64 shlibsuff=64 libmagic=64-bit;;
6210e8b4ed9fSmrg    *) libsuff= shlibsuff= libmagic=never-match;;
6211e8b4ed9fSmrg    esac
6212e8b4ed9fSmrg    ;;
6213e8b4ed9fSmrg  esac
6214e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
6215e8b4ed9fSmrg  shlibpath_overrides_runpath=no
6216e8b4ed9fSmrg  sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
6217e8b4ed9fSmrg  sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
6218e8b4ed9fSmrg  hardcode_into_libs=yes
6219e8b4ed9fSmrg  ;;
62205592a31fSmrg
6221e8b4ed9fSmrg# No shared lib support for Linux oldld, aout, or coff.
6222e8b4ed9fSmrglinux*oldld* | linux*aout* | linux*coff*)
6223e8b4ed9fSmrg  dynamic_linker=no
6224e8b4ed9fSmrg  ;;
62255592a31fSmrg
6226e8b4ed9fSmrglinux*android*)
6227e8b4ed9fSmrg  version_type=none # Android doesn't support versioned libraries.
6228e8b4ed9fSmrg  need_lib_prefix=no
6229e8b4ed9fSmrg  need_version=no
6230e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext'
6231e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext'
6232e8b4ed9fSmrg  finish_cmds=
6233e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6234e8b4ed9fSmrg  shlibpath_overrides_runpath=yes
623550f2e948Smrg
6236e8b4ed9fSmrg  # This implies no fast_install, which is unacceptable.
6237e8b4ed9fSmrg  # Some rework will be needed to allow for fast_install
6238e8b4ed9fSmrg  # before this can be enabled.
6239e8b4ed9fSmrg  hardcode_into_libs=yes
624050f2e948Smrg
6241e8b4ed9fSmrg  dynamic_linker='Android linker'
6242e8b4ed9fSmrg  # Don't embed -rpath directories since the linker doesn't support them.
6243e8b4ed9fSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6244e8b4ed9fSmrg  ;;
62455592a31fSmrg
6246e8b4ed9fSmrg# This must be glibc/ELF.
6247e8b4ed9fSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6248e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6249e8b4ed9fSmrg  need_lib_prefix=no
6250e8b4ed9fSmrg  need_version=no
6251e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6252e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6253e8b4ed9fSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
6254e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6255e8b4ed9fSmrg  shlibpath_overrides_runpath=no
62565592a31fSmrg
6257e8b4ed9fSmrg  # Some binutils ld are patched to set DT_RUNPATH
6258e8b4ed9fSmrg  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
6259e8b4ed9fSmrg    [lt_cv_shlibpath_overrides_runpath=no
6260e8b4ed9fSmrg    save_LDFLAGS=$LDFLAGS
6261e8b4ed9fSmrg    save_libdir=$libdir
6262e8b4ed9fSmrg    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
6263e8b4ed9fSmrg	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
6264e8b4ed9fSmrg    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
6265e8b4ed9fSmrg      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
6266e8b4ed9fSmrg	 [lt_cv_shlibpath_overrides_runpath=yes])])
6267e8b4ed9fSmrg    LDFLAGS=$save_LDFLAGS
6268e8b4ed9fSmrg    libdir=$save_libdir
6269e8b4ed9fSmrg    ])
6270e8b4ed9fSmrg  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
62715592a31fSmrg
6272e8b4ed9fSmrg  # This implies no fast_install, which is unacceptable.
6273e8b4ed9fSmrg  # Some rework will be needed to allow for fast_install
6274e8b4ed9fSmrg  # before this can be enabled.
6275e8b4ed9fSmrg  hardcode_into_libs=yes
627650f2e948Smrg
6277e8b4ed9fSmrg  # Ideally, we could use ldconfig to report *all* directores which are
6278e8b4ed9fSmrg  # searched for libraries, however this is still not possible.  Aside from not
6279e8b4ed9fSmrg  # being certain /sbin/ldconfig is available, command
6280e8b4ed9fSmrg  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
6281e8b4ed9fSmrg  # even though it is searched at run-time.  Try to do the best guess by
6282e8b4ed9fSmrg  # appending ld.so.conf contents (and includes) to the search path.
6283e8b4ed9fSmrg  if test -f /etc/ld.so.conf; then
6284e8b4ed9fSmrg    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' ' '`
6285e8b4ed9fSmrg    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
6286e8b4ed9fSmrg  fi
628750f2e948Smrg
6288e8b4ed9fSmrg  # We used to test for /lib/ld.so.1 and disable shared libraries on
6289e8b4ed9fSmrg  # powerpc, because MkLinux only supported shared libraries with the
6290e8b4ed9fSmrg  # GNU dynamic linker.  Since this was broken with cross compilers,
6291e8b4ed9fSmrg  # most powerpc-linux boxes support dynamic linking these days and
6292e8b4ed9fSmrg  # people can always --disable-shared, the test was removed, and we
6293e8b4ed9fSmrg  # assume the GNU/Linux dynamic linker is in use.
6294e8b4ed9fSmrg  dynamic_linker='GNU/Linux ld.so'
6295e8b4ed9fSmrg  ;;
629650f2e948Smrg
6297e8b4ed9fSmrgnetbsd*)
6298e8b4ed9fSmrg  version_type=sunos
6299e8b4ed9fSmrg  need_lib_prefix=no
6300e8b4ed9fSmrg  need_version=no
6301e8b4ed9fSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6302e8b4ed9fSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
6303e8b4ed9fSmrg    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
6304e8b4ed9fSmrg    dynamic_linker='NetBSD (a.out) ld.so'
6305e8b4ed9fSmrg  else
6306e8b4ed9fSmrg    library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6307e8b4ed9fSmrg    soname_spec='$libname$release$shared_ext$major'
6308e8b4ed9fSmrg    dynamic_linker='NetBSD ld.elf_so'
6309e8b4ed9fSmrg  fi
6310e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6311e8b4ed9fSmrg  shlibpath_overrides_runpath=yes
6312e8b4ed9fSmrg  hardcode_into_libs=yes
6313e8b4ed9fSmrg  ;;
63145592a31fSmrg
6315e8b4ed9fSmrgnewsos6)
6316e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6317e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6318e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6319e8b4ed9fSmrg  shlibpath_overrides_runpath=yes
6320e8b4ed9fSmrg  ;;
632150f2e948Smrg
6322e8b4ed9fSmrg*nto* | *qnx*)
6323e8b4ed9fSmrg  version_type=qnx
6324e8b4ed9fSmrg  need_lib_prefix=no
6325e8b4ed9fSmrg  need_version=no
6326e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6327e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6328e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6329e8b4ed9fSmrg  shlibpath_overrides_runpath=no
6330e8b4ed9fSmrg  hardcode_into_libs=yes
6331e8b4ed9fSmrg  dynamic_linker='ldqnx.so'
6332e8b4ed9fSmrg  ;;
633350f2e948Smrg
6334e8b4ed9fSmrgopenbsd* | bitrig*)
6335e8b4ed9fSmrg  version_type=sunos
6336e8b4ed9fSmrg  sys_lib_dlsearch_path_spec=/usr/lib
6337e8b4ed9fSmrg  need_lib_prefix=no
6338e8b4ed9fSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
6339e8b4ed9fSmrg    need_version=no
6340e8b4ed9fSmrg  else
6341e8b4ed9fSmrg    need_version=yes
6342e8b4ed9fSmrg  fi
6343e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
6344e8b4ed9fSmrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
6345e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6346e8b4ed9fSmrg  shlibpath_overrides_runpath=yes
6347e8b4ed9fSmrg  ;;
634850f2e948Smrg
6349e8b4ed9fSmrgos2*)
6350e8b4ed9fSmrg  libname_spec='$name'
6351e8b4ed9fSmrg  version_type=windows
6352e8b4ed9fSmrg  shrext_cmds=.dll
6353e8b4ed9fSmrg  need_version=no
6354e8b4ed9fSmrg  need_lib_prefix=no
6355e8b4ed9fSmrg  # OS/2 can only load a DLL with a base name of 8 characters or less.
6356e8b4ed9fSmrg  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
6357e8b4ed9fSmrg    v=$($ECHO $release$versuffix | tr -d .-);
6358e8b4ed9fSmrg    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
6359e8b4ed9fSmrg    $ECHO $n$v`$shared_ext'
6360e8b4ed9fSmrg  library_names_spec='${libname}_dll.$libext'
6361e8b4ed9fSmrg  dynamic_linker='OS/2 ld.exe'
6362e8b4ed9fSmrg  shlibpath_var=BEGINLIBPATH
6363e8b4ed9fSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
6364e8b4ed9fSmrg  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
6365e8b4ed9fSmrg  postinstall_cmds='base_file=`basename \$file`~
6366e8b4ed9fSmrg    dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
6367e8b4ed9fSmrg    dldir=$destdir/`dirname \$dlpath`~
6368e8b4ed9fSmrg    test -d \$dldir || mkdir -p \$dldir~
6369e8b4ed9fSmrg    $install_prog $dir/$dlname \$dldir/$dlname~
6370e8b4ed9fSmrg    chmod a+x \$dldir/$dlname~
6371e8b4ed9fSmrg    if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
6372e8b4ed9fSmrg      eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
6373e8b4ed9fSmrg    fi'
6374e8b4ed9fSmrg  postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
6375e8b4ed9fSmrg    dlpath=$dir/\$dldll~
6376e8b4ed9fSmrg    $RM \$dlpath'
6377e8b4ed9fSmrg  ;;
63785592a31fSmrg
6379e8b4ed9fSmrgosf3* | osf4* | osf5*)
6380e8b4ed9fSmrg  version_type=osf
6381e8b4ed9fSmrg  need_lib_prefix=no
6382e8b4ed9fSmrg  need_version=no
6383e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6384e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6385e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6386e8b4ed9fSmrg  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
6387e8b4ed9fSmrg  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
6388e8b4ed9fSmrg  ;;
63895592a31fSmrg
6390e8b4ed9fSmrgrdos*)
6391e8b4ed9fSmrg  dynamic_linker=no
6392e8b4ed9fSmrg  ;;
63935592a31fSmrg
6394e8b4ed9fSmrgsolaris*)
6395e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6396e8b4ed9fSmrg  need_lib_prefix=no
6397e8b4ed9fSmrg  need_version=no
6398e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6399e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6400e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6401e8b4ed9fSmrg  shlibpath_overrides_runpath=yes
6402e8b4ed9fSmrg  hardcode_into_libs=yes
6403e8b4ed9fSmrg  # ldd complains unless libraries are executable
6404e8b4ed9fSmrg  postinstall_cmds='chmod +x $lib'
6405e8b4ed9fSmrg  ;;
640650f2e948Smrg
6407e8b4ed9fSmrgsunos4*)
6408e8b4ed9fSmrg  version_type=sunos
6409e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
6410e8b4ed9fSmrg  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
6411e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6412e8b4ed9fSmrg  shlibpath_overrides_runpath=yes
6413e8b4ed9fSmrg  if test yes = "$with_gnu_ld"; then
6414e8b4ed9fSmrg    need_lib_prefix=no
6415e8b4ed9fSmrg  fi
6416e8b4ed9fSmrg  need_version=yes
6417e8b4ed9fSmrg  ;;
641850f2e948Smrg
6419e8b4ed9fSmrgsysv4 | sysv4.3*)
6420e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6421e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6422e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6423e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6424e8b4ed9fSmrg  case $host_vendor in
6425e8b4ed9fSmrg    sni)
6426e8b4ed9fSmrg      shlibpath_overrides_runpath=no
6427e8b4ed9fSmrg      need_lib_prefix=no
6428e8b4ed9fSmrg      runpath_var=LD_RUN_PATH
6429e8b4ed9fSmrg      ;;
6430e8b4ed9fSmrg    siemens)
6431e8b4ed9fSmrg      need_lib_prefix=no
6432e8b4ed9fSmrg      ;;
6433e8b4ed9fSmrg    motorola)
6434e8b4ed9fSmrg      need_lib_prefix=no
6435e8b4ed9fSmrg      need_version=no
6436e8b4ed9fSmrg      shlibpath_overrides_runpath=no
6437e8b4ed9fSmrg      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
64385592a31fSmrg      ;;
6439e8b4ed9fSmrg  esac
6440e8b4ed9fSmrg  ;;
644150f2e948Smrg
6442e8b4ed9fSmrgsysv4*MP*)
6443e8b4ed9fSmrg  if test -d /usr/nec; then
6444e8b4ed9fSmrg    version_type=linux # correct to gnu/linux during the next big refactor
6445e8b4ed9fSmrg    library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
6446e8b4ed9fSmrg    soname_spec='$libname$shared_ext.$major'
6447e8b4ed9fSmrg    shlibpath_var=LD_LIBRARY_PATH
6448e8b4ed9fSmrg  fi
6449e8b4ed9fSmrg  ;;
645050f2e948Smrg
6451e8b4ed9fSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
6452e8b4ed9fSmrg  version_type=sco
6453e8b4ed9fSmrg  need_lib_prefix=no
6454e8b4ed9fSmrg  need_version=no
6455e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
6456e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6457e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6458e8b4ed9fSmrg  shlibpath_overrides_runpath=yes
6459e8b4ed9fSmrg  hardcode_into_libs=yes
6460e8b4ed9fSmrg  if test yes = "$with_gnu_ld"; then
6461e8b4ed9fSmrg    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
6462e8b4ed9fSmrg  else
6463e8b4ed9fSmrg    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
6464e8b4ed9fSmrg    case $host_os in
6465e8b4ed9fSmrg      sco3.2v5*)
6466e8b4ed9fSmrg        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
6467e8b4ed9fSmrg	;;
6468e8b4ed9fSmrg    esac
6469e8b4ed9fSmrg  fi
6470e8b4ed9fSmrg  sys_lib_dlsearch_path_spec='/usr/lib'
6471e8b4ed9fSmrg  ;;
647250f2e948Smrg
6473e8b4ed9fSmrgtpf*)
6474e8b4ed9fSmrg  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
6475e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6476e8b4ed9fSmrg  need_lib_prefix=no
6477e8b4ed9fSmrg  need_version=no
6478e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6479e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6480e8b4ed9fSmrg  shlibpath_overrides_runpath=no
6481e8b4ed9fSmrg  hardcode_into_libs=yes
6482e8b4ed9fSmrg  ;;
648350f2e948Smrg
6484e8b4ed9fSmrguts4*)
6485e8b4ed9fSmrg  version_type=linux # correct to gnu/linux during the next big refactor
6486e8b4ed9fSmrg  library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
6487e8b4ed9fSmrg  soname_spec='$libname$release$shared_ext$major'
6488e8b4ed9fSmrg  shlibpath_var=LD_LIBRARY_PATH
6489e8b4ed9fSmrg  ;;
64901ac89addSmrg
6491e8b4ed9fSmrg*)
6492e8b4ed9fSmrg  dynamic_linker=no
6493e8b4ed9fSmrg  ;;
6494e8b4ed9fSmrgesac
6495e8b4ed9fSmrgAC_MSG_RESULT([$dynamic_linker])
6496e8b4ed9fSmrgtest no = "$dynamic_linker" && can_build_shared=no
64971ac89addSmrg
6498e8b4ed9fSmrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
6499e8b4ed9fSmrgif test yes = "$GCC"; then
6500e8b4ed9fSmrg  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
6501e8b4ed9fSmrgfi
65025592a31fSmrg
6503e8b4ed9fSmrgif test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
6504e8b4ed9fSmrg  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
6505e8b4ed9fSmrgfi
65065592a31fSmrg
6507e8b4ed9fSmrgif test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
6508e8b4ed9fSmrg  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
6509e8b4ed9fSmrgfi
65105592a31fSmrg
6511e8b4ed9fSmrg# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
6512e8b4ed9fSmrgconfigure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
65135592a31fSmrg
6514e8b4ed9fSmrg# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
6515e8b4ed9fSmrgfunc_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
65161ac89addSmrg
6517e8b4ed9fSmrg# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
6518e8b4ed9fSmrgconfigure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
65191ac89addSmrg
6520e8b4ed9fSmrg_LT_DECL([], [variables_saved_for_relink], [1],
6521e8b4ed9fSmrg    [Variables whose values should be saved in libtool wrapper scripts and
6522e8b4ed9fSmrg    restored at link time])
6523e8b4ed9fSmrg_LT_DECL([], [need_lib_prefix], [0],
6524e8b4ed9fSmrg    [Do we need the "lib" prefix for modules?])
6525e8b4ed9fSmrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
6526e8b4ed9fSmrg_LT_DECL([], [version_type], [0], [Library versioning type])
6527e8b4ed9fSmrg_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
6528e8b4ed9fSmrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
6529e8b4ed9fSmrg_LT_DECL([], [shlibpath_overrides_runpath], [0],
6530e8b4ed9fSmrg    [Is shlibpath searched before the hard-coded library search path?])
6531e8b4ed9fSmrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
6532e8b4ed9fSmrg_LT_DECL([], [library_names_spec], [1],
6533e8b4ed9fSmrg    [[List of archive names.  First name is the real one, the rest are links.
6534e8b4ed9fSmrg    The last name is the one that the linker finds with -lNAME]])
6535e8b4ed9fSmrg_LT_DECL([], [soname_spec], [1],
6536e8b4ed9fSmrg    [[The coded name of the library, if different from the real name]])
6537e8b4ed9fSmrg_LT_DECL([], [install_override_mode], [1],
6538e8b4ed9fSmrg    [Permission mode override for installation of shared libraries])
6539e8b4ed9fSmrg_LT_DECL([], [postinstall_cmds], [2],
6540e8b4ed9fSmrg    [Command to use after installation of a shared archive])
6541e8b4ed9fSmrg_LT_DECL([], [postuninstall_cmds], [2],
6542e8b4ed9fSmrg    [Command to use after uninstallation of a shared archive])
6543e8b4ed9fSmrg_LT_DECL([], [finish_cmds], [2],
6544e8b4ed9fSmrg    [Commands used to finish a libtool library installation in a directory])
6545e8b4ed9fSmrg_LT_DECL([], [finish_eval], [1],
6546e8b4ed9fSmrg    [[As "finish_cmds", except a single script fragment to be evaled but
6547e8b4ed9fSmrg    not shown]])
6548e8b4ed9fSmrg_LT_DECL([], [hardcode_into_libs], [0],
6549e8b4ed9fSmrg    [Whether we should hardcode library paths into libraries])
6550e8b4ed9fSmrg_LT_DECL([], [sys_lib_search_path_spec], [2],
6551e8b4ed9fSmrg    [Compile-time system search path for libraries])
6552e8b4ed9fSmrg_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
6553e8b4ed9fSmrg    [Detected run-time system search path for libraries])
6554e8b4ed9fSmrg_LT_DECL([], [configure_time_lt_sys_library_path], [2],
6555e8b4ed9fSmrg    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
6556e8b4ed9fSmrg])# _LT_SYS_DYNAMIC_LINKER
65571ac89addSmrg
6558b40a6198Smrg
6559e8b4ed9fSmrg# _LT_PATH_TOOL_PREFIX(TOOL)
6560e8b4ed9fSmrg# --------------------------
6561e8b4ed9fSmrg# find a file program that can recognize shared library
6562e8b4ed9fSmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX],
6563e8b4ed9fSmrg[m4_require([_LT_DECL_EGREP])dnl
6564e8b4ed9fSmrgAC_MSG_CHECKING([for $1])
6565e8b4ed9fSmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
6566e8b4ed9fSmrg[case $MAGIC_CMD in
6567e8b4ed9fSmrg[[\\/*] |  ?:[\\/]*])
6568e8b4ed9fSmrg  lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
6569e8b4ed9fSmrg  ;;
6570e8b4ed9fSmrg*)
6571e8b4ed9fSmrg  lt_save_MAGIC_CMD=$MAGIC_CMD
6572e8b4ed9fSmrg  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
6573e8b4ed9fSmrgdnl $ac_dummy forces splitting on constant user-supplied paths.
6574e8b4ed9fSmrgdnl POSIX.2 word splitting is done only on the output of word expansions,
6575e8b4ed9fSmrgdnl not every word.  This closes a longstanding sh security hole.
6576e8b4ed9fSmrg  ac_dummy="m4_if([$2], , $PATH, [$2])"
6577e8b4ed9fSmrg  for ac_dir in $ac_dummy; do
6578e8b4ed9fSmrg    IFS=$lt_save_ifs
6579e8b4ed9fSmrg    test -z "$ac_dir" && ac_dir=.
6580e8b4ed9fSmrg    if test -f "$ac_dir/$1"; then
6581e8b4ed9fSmrg      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
6582e8b4ed9fSmrg      if test -n "$file_magic_test_file"; then
6583e8b4ed9fSmrg	case $deplibs_check_method in
6584e8b4ed9fSmrg	"file_magic "*)
6585e8b4ed9fSmrg	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
6586e8b4ed9fSmrg	  MAGIC_CMD=$lt_cv_path_MAGIC_CMD
6587e8b4ed9fSmrg	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
6588e8b4ed9fSmrg	    $EGREP "$file_magic_regex" > /dev/null; then
6589e8b4ed9fSmrg	    :
6590e8b4ed9fSmrg	  else
6591e8b4ed9fSmrg	    cat <<_LT_EOF 1>&2
6592f2408745Smrg
6593e8b4ed9fSmrg*** Warning: the command libtool uses to detect shared libraries,
6594e8b4ed9fSmrg*** $file_magic_cmd, produces output that libtool cannot recognize.
6595e8b4ed9fSmrg*** The result is that libtool may fail to recognize shared libraries
6596e8b4ed9fSmrg*** as such.  This will affect the creation of libtool libraries that
6597e8b4ed9fSmrg*** depend on shared libraries, but programs linked with such libtool
6598e8b4ed9fSmrg*** libraries will work regardless of this problem.  Nevertheless, you
6599e8b4ed9fSmrg*** may want to report the problem to your system manager and/or to
6600e8b4ed9fSmrg*** bug-libtool@gnu.org
66011ac89addSmrg
6602b40a6198Smrg_LT_EOF
6603e8b4ed9fSmrg	  fi ;;
6604e8b4ed9fSmrg	esac
6605e8b4ed9fSmrg      fi
6606e8b4ed9fSmrg      break
6607e8b4ed9fSmrg    fi
6608e8b4ed9fSmrg  done
6609e8b4ed9fSmrg  IFS=$lt_save_ifs
6610e8b4ed9fSmrg  MAGIC_CMD=$lt_save_MAGIC_CMD
6611e8b4ed9fSmrg  ;;
6612e8b4ed9fSmrgesac])
6613e8b4ed9fSmrgMAGIC_CMD=$lt_cv_path_MAGIC_CMD
6614e8b4ed9fSmrgif test -n "$MAGIC_CMD"; then
6615e8b4ed9fSmrg  AC_MSG_RESULT($MAGIC_CMD)
6616e8b4ed9fSmrgelse
6617e8b4ed9fSmrg  AC_MSG_RESULT(no)
6618e8b4ed9fSmrgfi
6619e8b4ed9fSmrg_LT_DECL([], [MAGIC_CMD], [0],
6620e8b4ed9fSmrg	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
6621e8b4ed9fSmrg])# _LT_PATH_TOOL_PREFIX
662245bc899bSmrg
6623e8b4ed9fSmrg# Old name:
6624e8b4ed9fSmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
6625e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
6626e8b4ed9fSmrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
662745bc899bSmrg
662850f2e948Smrg
6629e8b4ed9fSmrg# _LT_PATH_MAGIC
6630e8b4ed9fSmrg# --------------
6631e8b4ed9fSmrg# find a file program that can recognize a shared library
6632e8b4ed9fSmrgm4_defun([_LT_PATH_MAGIC],
6633e8b4ed9fSmrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
6634e8b4ed9fSmrgif test -z "$lt_cv_path_MAGIC_CMD"; then
6635e8b4ed9fSmrg  if test -n "$ac_tool_prefix"; then
6636e8b4ed9fSmrg    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
6637e8b4ed9fSmrg  else
6638e8b4ed9fSmrg    MAGIC_CMD=:
6639e8b4ed9fSmrg  fi
6640e8b4ed9fSmrgfi
6641e8b4ed9fSmrg])# _LT_PATH_MAGIC
664250f2e948Smrg
664350f2e948Smrg
6644e8b4ed9fSmrg# LT_PATH_LD
6645e8b4ed9fSmrg# ----------
6646e8b4ed9fSmrg# find the pathname to the GNU or non-GNU linker
6647e8b4ed9fSmrgAC_DEFUN([LT_PATH_LD],
6648e8b4ed9fSmrg[AC_REQUIRE([AC_PROG_CC])dnl
6649e8b4ed9fSmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl
6650e8b4ed9fSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
6651e8b4ed9fSmrgm4_require([_LT_DECL_SED])dnl
6652e8b4ed9fSmrgm4_require([_LT_DECL_EGREP])dnl
6653e8b4ed9fSmrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl
665450f2e948Smrg
6655e8b4ed9fSmrgAC_ARG_WITH([gnu-ld],
6656e8b4ed9fSmrg    [AS_HELP_STRING([--with-gnu-ld],
6657e8b4ed9fSmrg	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
6658e8b4ed9fSmrg    [test no = "$withval" || with_gnu_ld=yes],
6659e8b4ed9fSmrg    [with_gnu_ld=no])dnl
666050f2e948Smrg
6661e8b4ed9fSmrgac_prog=ld
6662e8b4ed9fSmrgif test yes = "$GCC"; then
6663e8b4ed9fSmrg  # Check if gcc -print-prog-name=ld gives a path.
6664e8b4ed9fSmrg  AC_MSG_CHECKING([for ld used by $CC])
6665e8b4ed9fSmrg  case $host in
6666e8b4ed9fSmrg  *-*-mingw*)
6667e8b4ed9fSmrg    # gcc leaves a trailing carriage return, which upsets mingw
6668e8b4ed9fSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
6669e8b4ed9fSmrg  *)
6670e8b4ed9fSmrg    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
6671e8b4ed9fSmrg  esac
6672e8b4ed9fSmrg  case $ac_prog in
6673e8b4ed9fSmrg    # Accept absolute paths.
6674e8b4ed9fSmrg    [[\\/]]* | ?:[[\\/]]*)
6675e8b4ed9fSmrg      re_direlt='/[[^/]][[^/]]*/\.\./'
6676e8b4ed9fSmrg      # Canonicalize the pathname of ld
6677e8b4ed9fSmrg      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
6678e8b4ed9fSmrg      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
6679e8b4ed9fSmrg	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
6680e8b4ed9fSmrg      done
6681e8b4ed9fSmrg      test -z "$LD" && LD=$ac_prog
6682e8b4ed9fSmrg      ;;
6683e8b4ed9fSmrg  "")
6684e8b4ed9fSmrg    # If it fails, then pretend we aren't using GCC.
6685e8b4ed9fSmrg    ac_prog=ld
6686e8b4ed9fSmrg    ;;
6687e8b4ed9fSmrg  *)
6688e8b4ed9fSmrg    # If it is relative, then search for the first ld in PATH.
6689e8b4ed9fSmrg    with_gnu_ld=unknown
6690e8b4ed9fSmrg    ;;
6691e8b4ed9fSmrg  esac
6692e8b4ed9fSmrgelif test yes = "$with_gnu_ld"; then
6693e8b4ed9fSmrg  AC_MSG_CHECKING([for GNU ld])
6694e8b4ed9fSmrgelse
6695e8b4ed9fSmrg  AC_MSG_CHECKING([for non-GNU ld])
6696e8b4ed9fSmrgfi
6697e8b4ed9fSmrgAC_CACHE_VAL(lt_cv_path_LD,
6698e8b4ed9fSmrg[if test -z "$LD"; then
6699e8b4ed9fSmrg  lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
6700e8b4ed9fSmrg  for ac_dir in $PATH; do
6701e8b4ed9fSmrg    IFS=$lt_save_ifs
6702e8b4ed9fSmrg    test -z "$ac_dir" && ac_dir=.
6703e8b4ed9fSmrg    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
6704e8b4ed9fSmrg      lt_cv_path_LD=$ac_dir/$ac_prog
6705e8b4ed9fSmrg      # Check to see if the program is GNU ld.  I'd rather use --version,
6706e8b4ed9fSmrg      # but apparently some variants of GNU ld only accept -v.
6707e8b4ed9fSmrg      # Break only if it was the GNU/non-GNU ld that we prefer.
6708e8b4ed9fSmrg      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
6709e8b4ed9fSmrg      *GNU* | *'with BFD'*)
6710e8b4ed9fSmrg	test no != "$with_gnu_ld" && break
6711e8b4ed9fSmrg	;;
6712e8b4ed9fSmrg      *)
6713e8b4ed9fSmrg	test yes != "$with_gnu_ld" && break
6714e8b4ed9fSmrg	;;
6715e8b4ed9fSmrg      esac
6716e8b4ed9fSmrg    fi
67175592a31fSmrg  done
6718e8b4ed9fSmrg  IFS=$lt_save_ifs
671950f2e948Smrgelse
6720e8b4ed9fSmrg  lt_cv_path_LD=$LD # Let the user override the test with a path.
6721e8b4ed9fSmrgfi])
6722e8b4ed9fSmrgLD=$lt_cv_path_LD
6723e8b4ed9fSmrgif test -n "$LD"; then
6724e8b4ed9fSmrg  AC_MSG_RESULT($LD)
6725e8b4ed9fSmrgelse
6726e8b4ed9fSmrg  AC_MSG_RESULT(no)
672750f2e948Smrgfi
6728e8b4ed9fSmrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
6729e8b4ed9fSmrg_LT_PATH_LD_GNU
6730e8b4ed9fSmrgAC_SUBST([LD])
673150f2e948Smrg
6732e8b4ed9fSmrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
6733e8b4ed9fSmrg])# LT_PATH_LD
673450f2e948Smrg
6735e8b4ed9fSmrg# Old names:
6736e8b4ed9fSmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
6737e8b4ed9fSmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
6738e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
6739e8b4ed9fSmrgdnl AC_DEFUN([AM_PROG_LD], [])
6740e8b4ed9fSmrgdnl AC_DEFUN([AC_PROG_LD], [])
6741e8b4ed9fSmrg
6742e8b4ed9fSmrg
6743e8b4ed9fSmrg# _LT_PATH_LD_GNU
6744e8b4ed9fSmrg#- --------------
6745e8b4ed9fSmrgm4_defun([_LT_PATH_LD_GNU],
6746e8b4ed9fSmrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
6747e8b4ed9fSmrg[# I'd rather use --version here, but apparently some GNU lds only accept -v.
6748e8b4ed9fSmrgcase `$LD -v 2>&1 </dev/null` in
6749e8b4ed9fSmrg*GNU* | *'with BFD'*)
6750e8b4ed9fSmrg  lt_cv_prog_gnu_ld=yes
67515592a31fSmrg  ;;
6752e8b4ed9fSmrg*)
6753e8b4ed9fSmrg  lt_cv_prog_gnu_ld=no
6754e8b4ed9fSmrg  ;;
6755e8b4ed9fSmrgesac])
6756e8b4ed9fSmrgwith_gnu_ld=$lt_cv_prog_gnu_ld
6757e8b4ed9fSmrg])# _LT_PATH_LD_GNU
675850f2e948Smrg
6759e8b4ed9fSmrg
6760e8b4ed9fSmrg# _LT_CMD_RELOAD
6761e8b4ed9fSmrg# --------------
6762e8b4ed9fSmrg# find reload flag for linker
6763e8b4ed9fSmrg#   -- PORTME Some linkers may need a different reload flag.
6764e8b4ed9fSmrgm4_defun([_LT_CMD_RELOAD],
6765e8b4ed9fSmrg[AC_CACHE_CHECK([for $LD option to reload object files],
6766e8b4ed9fSmrg  lt_cv_ld_reload_flag,
6767e8b4ed9fSmrg  [lt_cv_ld_reload_flag='-r'])
6768e8b4ed9fSmrgreload_flag=$lt_cv_ld_reload_flag
6769e8b4ed9fSmrgcase $reload_flag in
6770e8b4ed9fSmrg"" | " "*) ;;
6771e8b4ed9fSmrg*) reload_flag=" $reload_flag" ;;
67725592a31fSmrgesac
6773e8b4ed9fSmrgreload_cmds='$LD$reload_flag -o $output$reload_objs'
6774e8b4ed9fSmrgcase $host_os in
6775e8b4ed9fSmrg  cygwin* | mingw* | pw32* | cegcc*)
6776e8b4ed9fSmrg    if test yes != "$GCC"; then
6777e8b4ed9fSmrg      reload_cmds=false
6778e8b4ed9fSmrg    fi
6779e8b4ed9fSmrg    ;;
6780e8b4ed9fSmrg  darwin*)
6781e8b4ed9fSmrg    if test yes = "$GCC"; then
6782e8b4ed9fSmrg      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
6783e8b4ed9fSmrg    else
6784e8b4ed9fSmrg      reload_cmds='$LD$reload_flag -o $output$reload_objs'
6785e8b4ed9fSmrg    fi
6786e8b4ed9fSmrg    ;;
6787e8b4ed9fSmrgesac
6788e8b4ed9fSmrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
6789e8b4ed9fSmrg_LT_TAGDECL([], [reload_cmds], [2])dnl
6790e8b4ed9fSmrg])# _LT_CMD_RELOAD
67915592a31fSmrg
67925592a31fSmrg
6793e8b4ed9fSmrg# _LT_PATH_DD
6794e8b4ed9fSmrg# -----------
6795e8b4ed9fSmrg# find a working dd
6796e8b4ed9fSmrgm4_defun([_LT_PATH_DD],
6797e8b4ed9fSmrg[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
6798e8b4ed9fSmrg[printf 0123456789abcdef0123456789abcdef >conftest.i
6799e8b4ed9fSmrgcat conftest.i conftest.i >conftest2.i
6800e8b4ed9fSmrg: ${lt_DD:=$DD}
6801e8b4ed9fSmrgAC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
6802e8b4ed9fSmrg[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
6803e8b4ed9fSmrg  cmp -s conftest.i conftest.out \
6804e8b4ed9fSmrg  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
6805e8b4ed9fSmrgfi])
6806e8b4ed9fSmrgrm -f conftest.i conftest2.i conftest.out])
6807e8b4ed9fSmrg])# _LT_PATH_DD
6808e8b4ed9fSmrg
6809e8b4ed9fSmrg
6810e8b4ed9fSmrg# _LT_CMD_TRUNCATE
6811e8b4ed9fSmrg# ----------------
6812e8b4ed9fSmrg# find command to truncate a binary pipe
6813e8b4ed9fSmrgm4_defun([_LT_CMD_TRUNCATE],
6814e8b4ed9fSmrg[m4_require([_LT_PATH_DD])
6815e8b4ed9fSmrgAC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
6816e8b4ed9fSmrg[printf 0123456789abcdef0123456789abcdef >conftest.i
6817e8b4ed9fSmrgcat conftest.i conftest.i >conftest2.i
6818e8b4ed9fSmrglt_cv_truncate_bin=
6819e8b4ed9fSmrgif "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
6820e8b4ed9fSmrg  cmp -s conftest.i conftest.out \
6821e8b4ed9fSmrg  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
6822b40a6198Smrgfi
6823e8b4ed9fSmrgrm -f conftest.i conftest2.i conftest.out
6824e8b4ed9fSmrgtest -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
6825e8b4ed9fSmrg_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
6826e8b4ed9fSmrg  [Command to truncate a binary pipe])
6827e8b4ed9fSmrg])# _LT_CMD_TRUNCATE
682850f2e948Smrg
682950f2e948Smrg
6830e8b4ed9fSmrg# _LT_CHECK_MAGIC_METHOD
6831e8b4ed9fSmrg# ----------------------
6832e8b4ed9fSmrg# how to check for library dependencies
6833e8b4ed9fSmrg#  -- PORTME fill in with the dynamic library characteristics
6834e8b4ed9fSmrgm4_defun([_LT_CHECK_MAGIC_METHOD],
6835e8b4ed9fSmrg[m4_require([_LT_DECL_EGREP])
6836e8b4ed9fSmrgm4_require([_LT_DECL_OBJDUMP])
6837e8b4ed9fSmrgAC_CACHE_CHECK([how to recognize dependent libraries],
6838e8b4ed9fSmrglt_cv_deplibs_check_method,
6839e8b4ed9fSmrg[lt_cv_file_magic_cmd='$MAGIC_CMD'
6840e8b4ed9fSmrglt_cv_file_magic_test_file=
6841e8b4ed9fSmrglt_cv_deplibs_check_method='unknown'
6842e8b4ed9fSmrg# Need to set the preceding variable on all platforms that support
6843e8b4ed9fSmrg# interlibrary dependencies.
6844e8b4ed9fSmrg# 'none' -- dependencies not supported.
6845e8b4ed9fSmrg# 'unknown' -- same as none, but documents that we really don't know.
6846e8b4ed9fSmrg# 'pass_all' -- all dependencies passed with no checks.
6847e8b4ed9fSmrg# 'test_compile' -- check by making test program.
6848e8b4ed9fSmrg# 'file_magic [[regex]]' -- check by looking for files in library path
6849e8b4ed9fSmrg# that responds to the $file_magic_cmd with a given extended regex.
6850e8b4ed9fSmrg# If you have 'file' or equivalent on your system and you're not sure
6851e8b4ed9fSmrg# whether 'pass_all' will *always* work, you probably want this one.
685250f2e948Smrg
6853e8b4ed9fSmrgcase $host_os in
6854e8b4ed9fSmrgaix[[4-9]]*)
6855e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6856e8b4ed9fSmrg  ;;
68575592a31fSmrg
6858e8b4ed9fSmrgbeos*)
6859e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6860e8b4ed9fSmrg  ;;
686150f2e948Smrg
6862e8b4ed9fSmrgbsdi[[45]]*)
6863e8b4ed9fSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
6864e8b4ed9fSmrg  lt_cv_file_magic_cmd='$FILECMD -L'
6865e8b4ed9fSmrg  lt_cv_file_magic_test_file=/shlib/libc.so
6866e8b4ed9fSmrg  ;;
686750f2e948Smrg
6868e8b4ed9fSmrgcygwin*)
6869e8b4ed9fSmrg  # func_win32_libid is a shell function defined in ltmain.sh
6870e8b4ed9fSmrg  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
6871e8b4ed9fSmrg  lt_cv_file_magic_cmd='func_win32_libid'
6872e8b4ed9fSmrg  ;;
687350f2e948Smrg
6874e8b4ed9fSmrgmingw* | pw32*)
6875e8b4ed9fSmrg  # Base MSYS/MinGW do not provide the 'file' command needed by
6876e8b4ed9fSmrg  # func_win32_libid shell function, so use a weaker test based on 'objdump',
6877e8b4ed9fSmrg  # unless we find 'file', for example because we are cross-compiling.
6878e8b4ed9fSmrg  if ( file / ) >/dev/null 2>&1; then
6879e8b4ed9fSmrg    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
6880e8b4ed9fSmrg    lt_cv_file_magic_cmd='func_win32_libid'
6881e8b4ed9fSmrg  else
6882e8b4ed9fSmrg    # Keep this pattern in sync with the one in func_win32_libid.
6883e8b4ed9fSmrg    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
6884e8b4ed9fSmrg    lt_cv_file_magic_cmd='$OBJDUMP -f'
6885e8b4ed9fSmrg  fi
6886e8b4ed9fSmrg  ;;
688750f2e948Smrg
6888e8b4ed9fSmrgcegcc*)
6889e8b4ed9fSmrg  # use the weaker test based on 'objdump'. See mingw*.
6890e8b4ed9fSmrg  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
6891e8b4ed9fSmrg  lt_cv_file_magic_cmd='$OBJDUMP -f'
6892e8b4ed9fSmrg  ;;
689350f2e948Smrg
6894e8b4ed9fSmrgdarwin* | rhapsody*)
6895e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6896e8b4ed9fSmrg  ;;
689750f2e948Smrg
6898e8b4ed9fSmrgfreebsd* | dragonfly* | midnightbsd*)
6899e8b4ed9fSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
6900e8b4ed9fSmrg    case $host_cpu in
6901e8b4ed9fSmrg    i*86 )
6902e8b4ed9fSmrg      # Not sure whether the presence of OpenBSD here was a mistake.
6903e8b4ed9fSmrg      # Let's accept both of them until this is cleared up.
6904e8b4ed9fSmrg      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
6905e8b4ed9fSmrg      lt_cv_file_magic_cmd=$FILECMD
6906e8b4ed9fSmrg      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
6907e8b4ed9fSmrg      ;;
69085592a31fSmrg    esac
6909e8b4ed9fSmrg  else
6910e8b4ed9fSmrg    lt_cv_deplibs_check_method=pass_all
6911e8b4ed9fSmrg  fi
6912e8b4ed9fSmrg  ;;
69135592a31fSmrg
6914e8b4ed9fSmrghaiku*)
6915e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6916e8b4ed9fSmrg  ;;
69175592a31fSmrg
6918e8b4ed9fSmrghpux10.20* | hpux11*)
6919e8b4ed9fSmrg  lt_cv_file_magic_cmd=$FILECMD
6920e8b4ed9fSmrg  case $host_cpu in
6921e8b4ed9fSmrg  ia64*)
6922e8b4ed9fSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
6923e8b4ed9fSmrg    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
6924e8b4ed9fSmrg    ;;
6925e8b4ed9fSmrg  hppa*64*)
6926e8b4ed9fSmrg    [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]']
6927e8b4ed9fSmrg    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
6928e8b4ed9fSmrg    ;;
6929e8b4ed9fSmrg  *)
6930e8b4ed9fSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
6931e8b4ed9fSmrg    lt_cv_file_magic_test_file=/usr/lib/libc.sl
6932e8b4ed9fSmrg    ;;
6933e8b4ed9fSmrg  esac
6934e8b4ed9fSmrg  ;;
69355592a31fSmrg
6936e8b4ed9fSmrginterix[[3-9]]*)
6937e8b4ed9fSmrg  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
6938e8b4ed9fSmrg  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
6939e8b4ed9fSmrg  ;;
694050f2e948Smrg
6941e8b4ed9fSmrgirix5* | irix6* | nonstopux*)
6942e8b4ed9fSmrg  case $LD in
6943e8b4ed9fSmrg  *-32|*"-32 ") libmagic=32-bit;;
6944e8b4ed9fSmrg  *-n32|*"-n32 ") libmagic=N32;;
6945e8b4ed9fSmrg  *-64|*"-64 ") libmagic=64-bit;;
6946e8b4ed9fSmrg  *) libmagic=never-match;;
6947e8b4ed9fSmrg  esac
6948e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6949e8b4ed9fSmrg  ;;
695050f2e948Smrg
6951e8b4ed9fSmrg# This must be glibc/ELF.
6952e8b4ed9fSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
6953e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6954e8b4ed9fSmrg  ;;
695550f2e948Smrg
6956e8b4ed9fSmrgnetbsd*)
6957e8b4ed9fSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
6958e8b4ed9fSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
6959e8b4ed9fSmrg  else
6960e8b4ed9fSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
6961e8b4ed9fSmrg  fi
6962e8b4ed9fSmrg  ;;
6963b40a6198Smrg
6964e8b4ed9fSmrgnewos6*)
6965e8b4ed9fSmrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
6966e8b4ed9fSmrg  lt_cv_file_magic_cmd=$FILECMD
6967e8b4ed9fSmrg  lt_cv_file_magic_test_file=/usr/lib/libnls.so
6968e8b4ed9fSmrg  ;;
69695592a31fSmrg
6970e8b4ed9fSmrg*nto* | *qnx*)
6971e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6972e8b4ed9fSmrg  ;;
69735592a31fSmrg
6974e8b4ed9fSmrgopenbsd* | bitrig*)
6975e8b4ed9fSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
6976e8b4ed9fSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
6977e8b4ed9fSmrg  else
6978e8b4ed9fSmrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
6979e8b4ed9fSmrg  fi
6980e8b4ed9fSmrg  ;;
69815592a31fSmrg
6982e8b4ed9fSmrgosf3* | osf4* | osf5*)
6983e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6984e8b4ed9fSmrg  ;;
69855592a31fSmrg
6986e8b4ed9fSmrgrdos*)
6987e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6988e8b4ed9fSmrg  ;;
698950f2e948Smrg
6990e8b4ed9fSmrgsolaris*)
6991e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6992e8b4ed9fSmrg  ;;
699350f2e948Smrg
6994e8b4ed9fSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
6995e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
6996e8b4ed9fSmrg  ;;
699750f2e948Smrg
6998e8b4ed9fSmrgsysv4 | sysv4.3*)
6999e8b4ed9fSmrg  case $host_vendor in
7000e8b4ed9fSmrg  motorola)
7001e8b4ed9fSmrg    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]]'
7002e8b4ed9fSmrg    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
7003e8b4ed9fSmrg    ;;
7004e8b4ed9fSmrg  ncr)
7005e8b4ed9fSmrg    lt_cv_deplibs_check_method=pass_all
7006e8b4ed9fSmrg    ;;
7007e8b4ed9fSmrg  sequent)
7008e8b4ed9fSmrg    lt_cv_file_magic_cmd='/bin/file'
7009e8b4ed9fSmrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
7010e8b4ed9fSmrg    ;;
7011e8b4ed9fSmrg  sni)
7012e8b4ed9fSmrg    lt_cv_file_magic_cmd='/bin/file'
7013e8b4ed9fSmrg    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
7014e8b4ed9fSmrg    lt_cv_file_magic_test_file=/lib/libc.so
7015e8b4ed9fSmrg    ;;
7016e8b4ed9fSmrg  siemens)
7017e8b4ed9fSmrg    lt_cv_deplibs_check_method=pass_all
7018e8b4ed9fSmrg    ;;
7019e8b4ed9fSmrg  pc)
7020e8b4ed9fSmrg    lt_cv_deplibs_check_method=pass_all
7021e8b4ed9fSmrg    ;;
7022e8b4ed9fSmrg  esac
7023e8b4ed9fSmrg  ;;
702450f2e948Smrg
7025e8b4ed9fSmrgtpf*)
7026e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
7027e8b4ed9fSmrg  ;;
7028e8b4ed9fSmrgos2*)
7029e8b4ed9fSmrg  lt_cv_deplibs_check_method=pass_all
7030e8b4ed9fSmrg  ;;
7031e8b4ed9fSmrgesac
7032e8b4ed9fSmrg])
70335592a31fSmrg
7034e8b4ed9fSmrgfile_magic_glob=
7035e8b4ed9fSmrgwant_nocaseglob=no
7036e8b4ed9fSmrgif test "$build" = "$host"; then
7037e8b4ed9fSmrg  case $host_os in
7038e8b4ed9fSmrg  mingw* | pw32*)
7039e8b4ed9fSmrg    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
7040e8b4ed9fSmrg      want_nocaseglob=yes
7041e8b4ed9fSmrg    else
7042e8b4ed9fSmrg      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
7043e8b4ed9fSmrg    fi
7044e8b4ed9fSmrg    ;;
7045e8b4ed9fSmrg  esac
7046e8b4ed9fSmrgfi
704750f2e948Smrg
7048e8b4ed9fSmrgfile_magic_cmd=$lt_cv_file_magic_cmd
7049e8b4ed9fSmrgdeplibs_check_method=$lt_cv_deplibs_check_method
7050e8b4ed9fSmrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown
70515592a31fSmrg
7052e8b4ed9fSmrg_LT_DECL([], [deplibs_check_method], [1],
7053e8b4ed9fSmrg    [Method to check whether dependent libraries are shared objects])
7054e8b4ed9fSmrg_LT_DECL([], [file_magic_cmd], [1],
7055e8b4ed9fSmrg    [Command to use when deplibs_check_method = "file_magic"])
7056e8b4ed9fSmrg_LT_DECL([], [file_magic_glob], [1],
7057e8b4ed9fSmrg    [How to find potential files when deplibs_check_method = "file_magic"])
7058e8b4ed9fSmrg_LT_DECL([], [want_nocaseglob], [1],
7059e8b4ed9fSmrg    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
7060e8b4ed9fSmrg])# _LT_CHECK_MAGIC_METHOD
70615592a31fSmrg
7062e8b4ed9fSmrg
7063e8b4ed9fSmrg# LT_PATH_NM
7064e8b4ed9fSmrg# ----------
7065e8b4ed9fSmrg# find the pathname to a BSD- or MS-compatible name lister
7066e8b4ed9fSmrgAC_DEFUN([LT_PATH_NM],
7067e8b4ed9fSmrg[AC_REQUIRE([AC_PROG_CC])dnl
7068e8b4ed9fSmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
7069e8b4ed9fSmrg[if test -n "$NM"; then
7070e8b4ed9fSmrg  # Let the user override the test.
7071e8b4ed9fSmrg  lt_cv_path_NM=$NM
7072e8b4ed9fSmrgelse
7073e8b4ed9fSmrg  lt_nm_to_check=${ac_tool_prefix}nm
7074e8b4ed9fSmrg  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
7075e8b4ed9fSmrg    lt_nm_to_check="$lt_nm_to_check nm"
7076e8b4ed9fSmrg  fi
7077e8b4ed9fSmrg  for lt_tmp_nm in $lt_nm_to_check; do
7078e8b4ed9fSmrg    lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
7079e8b4ed9fSmrg    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
7080e8b4ed9fSmrg      IFS=$lt_save_ifs
7081e8b4ed9fSmrg      test -z "$ac_dir" && ac_dir=.
7082e8b4ed9fSmrg      tmp_nm=$ac_dir/$lt_tmp_nm
7083e8b4ed9fSmrg      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
7084e8b4ed9fSmrg	# Check to see if the nm accepts a BSD-compat flag.
7085e8b4ed9fSmrg	# Adding the 'sed 1q' prevents false positives on HP-UX, which says:
7086e8b4ed9fSmrg	#   nm: unknown option "B" ignored
7087e8b4ed9fSmrg	# Tru64's nm complains that /dev/null is an invalid object file
7088e8b4ed9fSmrg	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
7089e8b4ed9fSmrg	case $build_os in
7090e8b4ed9fSmrg	mingw*) lt_bad_file=conftest.nm/nofile ;;
7091e8b4ed9fSmrg	*) lt_bad_file=/dev/null ;;
7092e8b4ed9fSmrg	esac
7093e8b4ed9fSmrg	case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
7094e8b4ed9fSmrg	*$lt_bad_file* | *'Invalid file or object type'*)
7095e8b4ed9fSmrg	  lt_cv_path_NM="$tmp_nm -B"
7096e8b4ed9fSmrg	  break 2
7097e8b4ed9fSmrg	  ;;
7098e8b4ed9fSmrg	*)
7099e8b4ed9fSmrg	  case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
7100e8b4ed9fSmrg	  */dev/null*)
7101e8b4ed9fSmrg	    lt_cv_path_NM="$tmp_nm -p"
7102e8b4ed9fSmrg	    break 2
7103e8b4ed9fSmrg	    ;;
7104e8b4ed9fSmrg	  *)
7105e8b4ed9fSmrg	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
7106e8b4ed9fSmrg	    continue # so that we can try to find one that supports BSD flags
7107e8b4ed9fSmrg	    ;;
7108f2408745Smrg	  esac
7109e8b4ed9fSmrg	  ;;
7110e8b4ed9fSmrg	esac
7111e8b4ed9fSmrg      fi
7112e8b4ed9fSmrg    done
7113e8b4ed9fSmrg    IFS=$lt_save_ifs
7114e8b4ed9fSmrg  done
7115e8b4ed9fSmrg  : ${lt_cv_path_NM=no}
7116e8b4ed9fSmrgfi])
7117e8b4ed9fSmrgif test no != "$lt_cv_path_NM"; then
7118e8b4ed9fSmrg  NM=$lt_cv_path_NM
7119e8b4ed9fSmrgelse
7120e8b4ed9fSmrg  # Didn't find any BSD compatible name lister, look for dumpbin.
7121e8b4ed9fSmrg  if test -n "$DUMPBIN"; then :
7122e8b4ed9fSmrg    # Let the user override the test.
7123e8b4ed9fSmrg  else
7124e8b4ed9fSmrg    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
7125e8b4ed9fSmrg    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
7126e8b4ed9fSmrg    *COFF*)
7127e8b4ed9fSmrg      DUMPBIN="$DUMPBIN -symbols -headers"
7128e8b4ed9fSmrg      ;;
7129e8b4ed9fSmrg    *)
7130e8b4ed9fSmrg      DUMPBIN=:
7131e8b4ed9fSmrg      ;;
71323a925b30Smrg    esac
7133e8b4ed9fSmrg  fi
7134e8b4ed9fSmrg  AC_SUBST([DUMPBIN])
7135e8b4ed9fSmrg  if test : != "$DUMPBIN"; then
7136e8b4ed9fSmrg    NM=$DUMPBIN
7137e8b4ed9fSmrg  fi
7138e8b4ed9fSmrgfi
7139e8b4ed9fSmrgtest -z "$NM" && NM=nm
7140e8b4ed9fSmrgAC_SUBST([NM])
7141e8b4ed9fSmrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
71425592a31fSmrg
7143e8b4ed9fSmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
7144e8b4ed9fSmrg  [lt_cv_nm_interface="BSD nm"
7145e8b4ed9fSmrg  echo "int some_variable = 0;" > conftest.$ac_ext
7146e8b4ed9fSmrg  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
7147e8b4ed9fSmrg  (eval "$ac_compile" 2>conftest.err)
7148e8b4ed9fSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
7149e8b4ed9fSmrg  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
7150e8b4ed9fSmrg  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
7151e8b4ed9fSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
7152e8b4ed9fSmrg  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
7153e8b4ed9fSmrg  cat conftest.out >&AS_MESSAGE_LOG_FD
7154e8b4ed9fSmrg  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
7155e8b4ed9fSmrg    lt_cv_nm_interface="MS dumpbin"
7156e8b4ed9fSmrg  fi
7157e8b4ed9fSmrg  rm -f conftest*])
7158e8b4ed9fSmrg])# LT_PATH_NM
71595592a31fSmrg
7160e8b4ed9fSmrg# Old names:
7161e8b4ed9fSmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
7162e8b4ed9fSmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
7163e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
7164e8b4ed9fSmrgdnl AC_DEFUN([AM_PROG_NM], [])
7165e8b4ed9fSmrgdnl AC_DEFUN([AC_PROG_NM], [])
71665592a31fSmrg
7167e8b4ed9fSmrg# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
7168e8b4ed9fSmrg# --------------------------------
7169e8b4ed9fSmrg# how to determine the name of the shared library
7170e8b4ed9fSmrg# associated with a specific link library.
7171e8b4ed9fSmrg#  -- PORTME fill in with the dynamic library characteristics
7172e8b4ed9fSmrgm4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
7173e8b4ed9fSmrg[m4_require([_LT_DECL_EGREP])
7174e8b4ed9fSmrgm4_require([_LT_DECL_OBJDUMP])
7175e8b4ed9fSmrgm4_require([_LT_DECL_DLLTOOL])
7176e8b4ed9fSmrgAC_CACHE_CHECK([how to associate runtime and link libraries],
7177e8b4ed9fSmrglt_cv_sharedlib_from_linklib_cmd,
7178e8b4ed9fSmrg[lt_cv_sharedlib_from_linklib_cmd='unknown'
717950f2e948Smrg
7180e8b4ed9fSmrgcase $host_os in
7181e8b4ed9fSmrgcygwin* | mingw* | pw32* | cegcc*)
7182e8b4ed9fSmrg  # two different shell functions defined in ltmain.sh;
7183e8b4ed9fSmrg  # decide which one to use based on capabilities of $DLLTOOL
7184e8b4ed9fSmrg  case `$DLLTOOL --help 2>&1` in
7185e8b4ed9fSmrg  *--identify-strict*)
7186e8b4ed9fSmrg    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
7187e8b4ed9fSmrg    ;;
7188e8b4ed9fSmrg  *)
7189e8b4ed9fSmrg    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
7190e8b4ed9fSmrg    ;;
7191e8b4ed9fSmrg  esac
7192e8b4ed9fSmrg  ;;
7193e8b4ed9fSmrg*)
7194e8b4ed9fSmrg  # fallback: assume linklib IS sharedlib
7195e8b4ed9fSmrg  lt_cv_sharedlib_from_linklib_cmd=$ECHO
7196e8b4ed9fSmrg  ;;
7197e8b4ed9fSmrgesac
7198e8b4ed9fSmrg])
7199e8b4ed9fSmrgsharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
7200e8b4ed9fSmrgtest -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
720150f2e948Smrg
7202e8b4ed9fSmrg_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
7203e8b4ed9fSmrg    [Command to associate shared and link libraries])
7204e8b4ed9fSmrg])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
720550f2e948Smrg
720650f2e948Smrg
7207e8b4ed9fSmrg# _LT_PATH_MANIFEST_TOOL
7208e8b4ed9fSmrg# ----------------------
7209e8b4ed9fSmrg# locate the manifest tool
7210e8b4ed9fSmrgm4_defun([_LT_PATH_MANIFEST_TOOL],
7211e8b4ed9fSmrg[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
7212e8b4ed9fSmrgtest -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
7213e8b4ed9fSmrgAC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
7214e8b4ed9fSmrg  [lt_cv_path_mainfest_tool=no
7215e8b4ed9fSmrg  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
7216e8b4ed9fSmrg  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
7217e8b4ed9fSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
7218e8b4ed9fSmrg  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
7219e8b4ed9fSmrg    lt_cv_path_mainfest_tool=yes
7220e8b4ed9fSmrg  fi
7221e8b4ed9fSmrg  rm -f conftest*])
7222e8b4ed9fSmrgif test yes != "$lt_cv_path_mainfest_tool"; then
7223e8b4ed9fSmrg  MANIFEST_TOOL=:
7224e8b4ed9fSmrgfi
7225e8b4ed9fSmrg_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
7226e8b4ed9fSmrg])# _LT_PATH_MANIFEST_TOOL
722750f2e948Smrg
722850f2e948Smrg
7229e8b4ed9fSmrg# _LT_DLL_DEF_P([FILE])
7230e8b4ed9fSmrg# ---------------------
7231e8b4ed9fSmrg# True iff FILE is a Windows DLL '.def' file.
7232e8b4ed9fSmrg# Keep in sync with func_dll_def_p in the libtool script
7233e8b4ed9fSmrgAC_DEFUN([_LT_DLL_DEF_P],
7234e8b4ed9fSmrg[dnl
7235e8b4ed9fSmrg  test DEF = "`$SED -n dnl
7236e8b4ed9fSmrg    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
7237e8b4ed9fSmrg    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
7238e8b4ed9fSmrg    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
7239e8b4ed9fSmrg    -e q dnl                          Only consider the first "real" line
7240e8b4ed9fSmrg    $1`" dnl
7241e8b4ed9fSmrg])# _LT_DLL_DEF_P
724250f2e948Smrg
724350f2e948Smrg
7244e8b4ed9fSmrg# LT_LIB_M
7245e8b4ed9fSmrg# --------
7246e8b4ed9fSmrg# check for math library
7247e8b4ed9fSmrgAC_DEFUN([LT_LIB_M],
7248e8b4ed9fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7249e8b4ed9fSmrgLIBM=
7250e8b4ed9fSmrgcase $host in
7251e8b4ed9fSmrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
7252e8b4ed9fSmrg  # These system don't have libm, or don't need it
7253e8b4ed9fSmrg  ;;
7254e8b4ed9fSmrg*-ncr-sysv4.3*)
7255e8b4ed9fSmrg  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
7256e8b4ed9fSmrg  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
7257e8b4ed9fSmrg  ;;
7258e8b4ed9fSmrg*)
7259e8b4ed9fSmrg  AC_CHECK_LIB(m, cos, LIBM=-lm)
7260e8b4ed9fSmrg  ;;
7261e8b4ed9fSmrgesac
7262e8b4ed9fSmrgAC_SUBST([LIBM])
7263e8b4ed9fSmrg])# LT_LIB_M
726445bc899bSmrg
7265e8b4ed9fSmrg# Old name:
7266e8b4ed9fSmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
7267e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
7268e8b4ed9fSmrgdnl AC_DEFUN([AC_CHECK_LIBM], [])
726945bc899bSmrg
72705592a31fSmrg
7271e8b4ed9fSmrg# _LT_COMPILER_NO_RTTI([TAGNAME])
7272e8b4ed9fSmrg# -------------------------------
7273e8b4ed9fSmrgm4_defun([_LT_COMPILER_NO_RTTI],
7274e8b4ed9fSmrg[m4_require([_LT_TAG_COMPILER])dnl
72755592a31fSmrg
7276e8b4ed9fSmrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
72775592a31fSmrg
7278e8b4ed9fSmrgif test yes = "$GCC"; then
7279e8b4ed9fSmrg  case $cc_basename in
7280e8b4ed9fSmrg  nvcc*)
7281e8b4ed9fSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
7282e8b4ed9fSmrg  *)
7283e8b4ed9fSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
7284e8b4ed9fSmrg  esac
72855592a31fSmrg
7286e8b4ed9fSmrg  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
7287e8b4ed9fSmrg    lt_cv_prog_compiler_rtti_exceptions,
7288e8b4ed9fSmrg    [-fno-rtti -fno-exceptions], [],
7289e8b4ed9fSmrg    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
72905592a31fSmrgfi
7291e8b4ed9fSmrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
7292e8b4ed9fSmrg	[Compiler flag to turn off builtin functions])
7293e8b4ed9fSmrg])# _LT_COMPILER_NO_RTTI
72945592a31fSmrg
72955592a31fSmrg
7296e8b4ed9fSmrg# _LT_CMD_GLOBAL_SYMBOLS
7297e8b4ed9fSmrg# ----------------------
7298e8b4ed9fSmrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
7299e8b4ed9fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7300e8b4ed9fSmrgAC_REQUIRE([AC_PROG_CC])dnl
7301e8b4ed9fSmrgAC_REQUIRE([AC_PROG_AWK])dnl
7302e8b4ed9fSmrgAC_REQUIRE([LT_PATH_NM])dnl
7303e8b4ed9fSmrgAC_REQUIRE([LT_PATH_LD])dnl
7304e8b4ed9fSmrgm4_require([_LT_DECL_SED])dnl
7305e8b4ed9fSmrgm4_require([_LT_DECL_EGREP])dnl
7306e8b4ed9fSmrgm4_require([_LT_TAG_COMPILER])dnl
73075592a31fSmrg
7308e8b4ed9fSmrg# Check for command to grab the raw symbol name followed by C symbol from nm.
7309e8b4ed9fSmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object])
7310e8b4ed9fSmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
7311e8b4ed9fSmrg[
7312e8b4ed9fSmrg# These are sane defaults that work on at least a few old systems.
7313e8b4ed9fSmrg# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
73145592a31fSmrg
7315e8b4ed9fSmrg# Character class describing NM global symbol codes.
7316e8b4ed9fSmrgsymcode='[[BCDEGRST]]'
73175592a31fSmrg
7318e8b4ed9fSmrg# Regexp to match symbols that can be accessed directly from C.
7319e8b4ed9fSmrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
73205592a31fSmrg
7321e8b4ed9fSmrg# Define system-specific variables.
7322e8b4ed9fSmrgcase $host_os in
7323e8b4ed9fSmrgaix*)
7324e8b4ed9fSmrg  symcode='[[BCDT]]'
7325e8b4ed9fSmrg  ;;
7326e8b4ed9fSmrgcygwin* | mingw* | pw32* | cegcc*)
7327e8b4ed9fSmrg  symcode='[[ABCDGISTW]]'
7328e8b4ed9fSmrg  ;;
7329e8b4ed9fSmrghpux*)
7330e8b4ed9fSmrg  if test ia64 = "$host_cpu"; then
7331e8b4ed9fSmrg    symcode='[[ABCDEGRST]]'
7332e8b4ed9fSmrg  fi
7333e8b4ed9fSmrg  ;;
7334e8b4ed9fSmrgirix* | nonstopux*)
7335e8b4ed9fSmrg  symcode='[[BCDEGRST]]'
7336e8b4ed9fSmrg  ;;
7337e8b4ed9fSmrgosf*)
7338e8b4ed9fSmrg  symcode='[[BCDEGQRST]]'
7339e8b4ed9fSmrg  ;;
7340e8b4ed9fSmrgsolaris*)
7341e8b4ed9fSmrg  symcode='[[BDRT]]'
7342e8b4ed9fSmrg  ;;
7343e8b4ed9fSmrgsco3.2v5*)
7344e8b4ed9fSmrg  symcode='[[DT]]'
7345e8b4ed9fSmrg  ;;
7346e8b4ed9fSmrgsysv4.2uw2*)
7347e8b4ed9fSmrg  symcode='[[DT]]'
7348e8b4ed9fSmrg  ;;
7349e8b4ed9fSmrgsysv5* | sco5v6* | unixware* | OpenUNIX*)
7350e8b4ed9fSmrg  symcode='[[ABDT]]'
7351e8b4ed9fSmrg  ;;
7352e8b4ed9fSmrgsysv4)
7353e8b4ed9fSmrg  symcode='[[DFNSTU]]'
7354e8b4ed9fSmrg  ;;
7355e8b4ed9fSmrgesac
73565592a31fSmrg
7357e8b4ed9fSmrg# If we're using GNU nm, then use its standard symbol codes.
7358e8b4ed9fSmrgcase `$NM -V 2>&1` in
7359e8b4ed9fSmrg*GNU* | *'with BFD'*)
7360e8b4ed9fSmrg  symcode='[[ABCDGIRSTW]]' ;;
7361e8b4ed9fSmrgesac
73625592a31fSmrg
7363e8b4ed9fSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then
7364e8b4ed9fSmrg  # Gets list of data symbols to import.
7365e8b4ed9fSmrg  lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
7366e8b4ed9fSmrg  # Adjust the below global symbol transforms to fixup imported variables.
7367e8b4ed9fSmrg  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
7368e8b4ed9fSmrg  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
7369e8b4ed9fSmrg  lt_c_name_lib_hook="\
7370e8b4ed9fSmrg  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
7371e8b4ed9fSmrg  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
7372e8b4ed9fSmrgelse
7373e8b4ed9fSmrg  # Disable hooks by default.
7374e8b4ed9fSmrg  lt_cv_sys_global_symbol_to_import=
7375e8b4ed9fSmrg  lt_cdecl_hook=
7376e8b4ed9fSmrg  lt_c_name_hook=
7377e8b4ed9fSmrg  lt_c_name_lib_hook=
7378e8b4ed9fSmrgfi
73795592a31fSmrg
7380e8b4ed9fSmrg# Transform an extracted symbol line into a proper C declaration.
7381e8b4ed9fSmrg# Some systems (esp. on ia64) link data and code symbols differently,
7382e8b4ed9fSmrg# so use this general approach.
7383e8b4ed9fSmrglt_cv_sys_global_symbol_to_cdecl="$SED -n"\
7384e8b4ed9fSmrg$lt_cdecl_hook\
7385e8b4ed9fSmrg" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
7386e8b4ed9fSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
738745bc899bSmrg
7388e8b4ed9fSmrg# Transform an extracted symbol line into symbol name and symbol address
7389e8b4ed9fSmrglt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
7390e8b4ed9fSmrg$lt_c_name_hook\
7391e8b4ed9fSmrg" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
7392e8b4ed9fSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
7393b40a6198Smrg
7394e8b4ed9fSmrg# Transform an extracted symbol line into symbol name with lib prefix and
7395e8b4ed9fSmrg# symbol address.
7396e8b4ed9fSmrglt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
7397e8b4ed9fSmrg$lt_c_name_lib_hook\
7398e8b4ed9fSmrg" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
7399e8b4ed9fSmrg" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
7400e8b4ed9fSmrg" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/p'"
7401b40a6198Smrg
7402e8b4ed9fSmrg# Handle CRLF in mingw tool chain
7403e8b4ed9fSmrgopt_cr=
7404e8b4ed9fSmrgcase $build_os in
7405e8b4ed9fSmrgmingw*)
7406e8b4ed9fSmrg  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
7407e8b4ed9fSmrg  ;;
7408e8b4ed9fSmrgesac
740945bc899bSmrg
7410e8b4ed9fSmrg# Try without a prefix underscore, then with it.
7411e8b4ed9fSmrgfor ac_symprfx in "" "_"; do
7412b40a6198Smrg
7413e8b4ed9fSmrg  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
7414e8b4ed9fSmrg  symxfrm="\\1 $ac_symprfx\\2 \\2"
741545bc899bSmrg
7416e8b4ed9fSmrg  # Write the raw and C identifiers.
7417e8b4ed9fSmrg  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
7418e8b4ed9fSmrg    # Fake it for dumpbin and say T for any non-static function,
7419e8b4ed9fSmrg    # D for any global variable and I for any imported variable.
7420e8b4ed9fSmrg    # Also find C++ and __fastcall symbols from MSVC++ or ICC,
7421e8b4ed9fSmrg    # which start with @ or ?.
7422e8b4ed9fSmrg    lt_cv_sys_global_symbol_pipe="$AWK ['"\
7423e8b4ed9fSmrg"     {last_section=section; section=\$ 3};"\
7424e8b4ed9fSmrg"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
7425e8b4ed9fSmrg"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
7426e8b4ed9fSmrg"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
7427e8b4ed9fSmrg"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
7428e8b4ed9fSmrg"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
7429e8b4ed9fSmrg"     \$ 0!~/External *\|/{next};"\
7430e8b4ed9fSmrg"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
7431e8b4ed9fSmrg"     {if(hide[section]) next};"\
7432e8b4ed9fSmrg"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
7433e8b4ed9fSmrg"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
7434e8b4ed9fSmrg"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
7435e8b4ed9fSmrg"     s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
7436e8b4ed9fSmrg"     ' prfx=^$ac_symprfx]"
7437e8b4ed9fSmrg  else
7438e8b4ed9fSmrg    lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
7439e8b4ed9fSmrg  fi
7440e8b4ed9fSmrg  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
744145bc899bSmrg
7442e8b4ed9fSmrg  # Check to see that the pipe works correctly.
7443e8b4ed9fSmrg  pipe_works=no
744445bc899bSmrg
7445e8b4ed9fSmrg  rm -f conftest*
7446e8b4ed9fSmrg  cat > conftest.$ac_ext <<_LT_EOF
7447e8b4ed9fSmrg#ifdef __cplusplus
7448e8b4ed9fSmrgextern "C" {
7449e8b4ed9fSmrg#endif
7450e8b4ed9fSmrgchar nm_test_var;
7451e8b4ed9fSmrgvoid nm_test_func(void);
7452e8b4ed9fSmrgvoid nm_test_func(void){}
7453e8b4ed9fSmrg#ifdef __cplusplus
7454e8b4ed9fSmrg}
7455e8b4ed9fSmrg#endif
7456e8b4ed9fSmrgint main(){nm_test_var='a';nm_test_func();return(0);}
7457e8b4ed9fSmrg_LT_EOF
7458b40a6198Smrg
7459e8b4ed9fSmrg  if AC_TRY_EVAL(ac_compile); then
7460e8b4ed9fSmrg    # Now try to grab the symbols.
7461e8b4ed9fSmrg    nlist=conftest.nm
7462e8b4ed9fSmrg    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
7463e8b4ed9fSmrg      # Try sorting and uniquifying the output.
7464e8b4ed9fSmrg      if sort "$nlist" | uniq > "$nlist"T; then
7465e8b4ed9fSmrg	mv -f "$nlist"T "$nlist"
7466e8b4ed9fSmrg      else
7467e8b4ed9fSmrg	rm -f "$nlist"T
7468e8b4ed9fSmrg      fi
7469b40a6198Smrg
7470e8b4ed9fSmrg      # Make sure that we snagged all the symbols we need.
7471e8b4ed9fSmrg      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
7472e8b4ed9fSmrg	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
7473e8b4ed9fSmrg	  cat <<_LT_EOF > conftest.$ac_ext
7474e8b4ed9fSmrg/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
7475e8b4ed9fSmrg#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
7476e8b4ed9fSmrg/* DATA imports from DLLs on WIN32 can't be const, because runtime
7477e8b4ed9fSmrg   relocations are performed -- see ld's documentation on pseudo-relocs.  */
7478e8b4ed9fSmrg# define LT@&t@_DLSYM_CONST
7479e8b4ed9fSmrg#elif defined __osf__
7480e8b4ed9fSmrg/* This system does not cope well with relocations in const data.  */
7481e8b4ed9fSmrg# define LT@&t@_DLSYM_CONST
7482e8b4ed9fSmrg#else
7483e8b4ed9fSmrg# define LT@&t@_DLSYM_CONST const
7484e8b4ed9fSmrg#endif
7485b40a6198Smrg
7486e8b4ed9fSmrg#ifdef __cplusplus
7487e8b4ed9fSmrgextern "C" {
7488e8b4ed9fSmrg#endif
7489b40a6198Smrg
7490e8b4ed9fSmrg_LT_EOF
7491e8b4ed9fSmrg	  # Now generate the symbol file.
7492e8b4ed9fSmrg	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
7493b40a6198Smrg
7494e8b4ed9fSmrg	  cat <<_LT_EOF >> conftest.$ac_ext
7495b40a6198Smrg
7496e8b4ed9fSmrg/* The mapping between symbol names and symbols.  */
7497e8b4ed9fSmrgLT@&t@_DLSYM_CONST struct {
7498e8b4ed9fSmrg  const char *name;
7499e8b4ed9fSmrg  void       *address;
7500e8b4ed9fSmrg}
7501e8b4ed9fSmrglt__PROGRAM__LTX_preloaded_symbols[[]] =
7502e8b4ed9fSmrg{
7503e8b4ed9fSmrg  { "@PROGRAM@", (void *) 0 },
7504e8b4ed9fSmrg_LT_EOF
7505e8b4ed9fSmrg	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
7506e8b4ed9fSmrg	  cat <<\_LT_EOF >> conftest.$ac_ext
7507e8b4ed9fSmrg  {0, (void *) 0}
7508e8b4ed9fSmrg};
7509b40a6198Smrg
7510e8b4ed9fSmrg/* This works around a problem in FreeBSD linker */
7511e8b4ed9fSmrg#ifdef FREEBSD_WORKAROUND
7512e8b4ed9fSmrgstatic const void *lt_preloaded_setup() {
7513e8b4ed9fSmrg  return lt__PROGRAM__LTX_preloaded_symbols;
7514e8b4ed9fSmrg}
7515e8b4ed9fSmrg#endif
7516b40a6198Smrg
7517e8b4ed9fSmrg#ifdef __cplusplus
7518e8b4ed9fSmrg}
7519e8b4ed9fSmrg#endif
7520e8b4ed9fSmrg_LT_EOF
7521e8b4ed9fSmrg	  # Now try linking the two files.
7522e8b4ed9fSmrg	  mv conftest.$ac_objext conftstm.$ac_objext
7523e8b4ed9fSmrg	  lt_globsym_save_LIBS=$LIBS
7524e8b4ed9fSmrg	  lt_globsym_save_CFLAGS=$CFLAGS
7525e8b4ed9fSmrg	  LIBS=conftstm.$ac_objext
7526e8b4ed9fSmrg	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
7527e8b4ed9fSmrg	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
7528e8b4ed9fSmrg	    pipe_works=yes
7529e8b4ed9fSmrg	  fi
7530e8b4ed9fSmrg	  LIBS=$lt_globsym_save_LIBS
7531e8b4ed9fSmrg	  CFLAGS=$lt_globsym_save_CFLAGS
7532e8b4ed9fSmrg	else
7533e8b4ed9fSmrg	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
7534e8b4ed9fSmrg	fi
7535e8b4ed9fSmrg      else
7536e8b4ed9fSmrg	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
7537e8b4ed9fSmrg      fi
7538e8b4ed9fSmrg    else
7539e8b4ed9fSmrg      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
7540e8b4ed9fSmrg    fi
7541e8b4ed9fSmrg  else
7542e8b4ed9fSmrg    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
7543e8b4ed9fSmrg    cat conftest.$ac_ext >&5
7544e8b4ed9fSmrg  fi
7545e8b4ed9fSmrg  rm -rf conftest* conftst*
7546b40a6198Smrg
7547e8b4ed9fSmrg  # Do not use the global_symbol_pipe unless it works.
7548e8b4ed9fSmrg  if test yes = "$pipe_works"; then
7549e8b4ed9fSmrg    break
7550e8b4ed9fSmrg  else
7551e8b4ed9fSmrg    lt_cv_sys_global_symbol_pipe=
7552e8b4ed9fSmrg  fi
7553e8b4ed9fSmrgdone
7554e8b4ed9fSmrg])
7555e8b4ed9fSmrgif test -z "$lt_cv_sys_global_symbol_pipe"; then
7556e8b4ed9fSmrg  lt_cv_sys_global_symbol_to_cdecl=
7557e8b4ed9fSmrgfi
7558e8b4ed9fSmrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
7559e8b4ed9fSmrg  AC_MSG_RESULT(failed)
7560e8b4ed9fSmrgelse
7561e8b4ed9fSmrg  AC_MSG_RESULT(ok)
7562b40a6198Smrgfi
7563b40a6198Smrg
7564e8b4ed9fSmrg# Response file support.
7565e8b4ed9fSmrgif test "$lt_cv_nm_interface" = "MS dumpbin"; then
7566e8b4ed9fSmrg  nm_file_list_spec='@'
7567e8b4ed9fSmrgelif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
7568e8b4ed9fSmrg  nm_file_list_spec='@'
7569e8b4ed9fSmrgfi
7570b40a6198Smrg
7571e8b4ed9fSmrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
7572e8b4ed9fSmrg    [Take the output of nm and produce a listing of raw symbols and C names])
7573e8b4ed9fSmrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
7574e8b4ed9fSmrg    [Transform the output of nm in a proper C declaration])
7575e8b4ed9fSmrg_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
7576e8b4ed9fSmrg    [Transform the output of nm into a list of symbols to manually relocate])
7577e8b4ed9fSmrg_LT_DECL([global_symbol_to_c_name_address],
7578e8b4ed9fSmrg    [lt_cv_sys_global_symbol_to_c_name_address], [1],
7579e8b4ed9fSmrg    [Transform the output of nm in a C name address pair])
7580e8b4ed9fSmrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
7581e8b4ed9fSmrg    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
7582e8b4ed9fSmrg    [Transform the output of nm in a C name address pair when lib prefix is needed])
7583e8b4ed9fSmrg_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
7584e8b4ed9fSmrg    [The name lister interface])
7585e8b4ed9fSmrg_LT_DECL([], [nm_file_list_spec], [1],
7586e8b4ed9fSmrg    [Specify filename containing input files for $NM])
7587e8b4ed9fSmrg]) # _LT_CMD_GLOBAL_SYMBOLS
758845bc899bSmrg
758945bc899bSmrg
7590e8b4ed9fSmrg# _LT_COMPILER_PIC([TAGNAME])
7591e8b4ed9fSmrg# ---------------------------
7592e8b4ed9fSmrgm4_defun([_LT_COMPILER_PIC],
7593e8b4ed9fSmrg[m4_require([_LT_TAG_COMPILER])dnl
7594e8b4ed9fSmrg_LT_TAGVAR(lt_prog_compiler_wl, $1)=
7595e8b4ed9fSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=
7596e8b4ed9fSmrg_LT_TAGVAR(lt_prog_compiler_static, $1)=
759745bc899bSmrg
7598e8b4ed9fSmrgm4_if([$1], [CXX], [
7599e8b4ed9fSmrg  # C++ specific cases for pic, static, wl, etc.
7600e8b4ed9fSmrg  if test yes = "$GXX"; then
7601e8b4ed9fSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7602e8b4ed9fSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
7603b40a6198Smrg
7604e8b4ed9fSmrg    case $host_os in
7605e8b4ed9fSmrg    aix*)
7606e8b4ed9fSmrg      # All AIX code is PIC.
7607e8b4ed9fSmrg      if test ia64 = "$host_cpu"; then
7608e8b4ed9fSmrg	# AIX 5 now supports IA64 processor
7609e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7610e8b4ed9fSmrg      fi
7611e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7612e8b4ed9fSmrg      ;;
7613b40a6198Smrg
7614e8b4ed9fSmrg    amigaos*)
7615e8b4ed9fSmrg      case $host_cpu in
7616e8b4ed9fSmrg      powerpc)
7617e8b4ed9fSmrg            # see comment about AmigaOS4 .so support
7618e8b4ed9fSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7619e8b4ed9fSmrg        ;;
7620e8b4ed9fSmrg      m68k)
7621e8b4ed9fSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
7622e8b4ed9fSmrg            # adding the '-m68020' flag to GCC prevents building anything better,
7623e8b4ed9fSmrg            # like '-m68040'.
7624e8b4ed9fSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
7625e8b4ed9fSmrg        ;;
7626e8b4ed9fSmrg      esac
7627e8b4ed9fSmrg      ;;
76281ac89addSmrg
7629e8b4ed9fSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
7630e8b4ed9fSmrg      # PIC is the default for these OSes.
7631e8b4ed9fSmrg      ;;
7632e8b4ed9fSmrg    mingw* | cygwin* | os2* | pw32* | cegcc*)
7633e8b4ed9fSmrg      # This hack is so that the source file can tell whether it is being
7634e8b4ed9fSmrg      # built for inclusion in a dll (and should export symbols for example).
7635e8b4ed9fSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
7636e8b4ed9fSmrg      # (--disable-auto-import) libraries
7637e8b4ed9fSmrg      m4_if([$1], [GCJ], [],
7638e8b4ed9fSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
7639e8b4ed9fSmrg      case $host_os in
7640e8b4ed9fSmrg      os2*)
7641e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
7642e8b4ed9fSmrg	;;
7643e8b4ed9fSmrg      esac
7644e8b4ed9fSmrg      ;;
7645e8b4ed9fSmrg    darwin* | rhapsody*)
7646e8b4ed9fSmrg      # PIC is the default on this platform
7647e8b4ed9fSmrg      # Common symbols not allowed in MH_DYLIB files
7648e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
7649e8b4ed9fSmrg      ;;
7650e8b4ed9fSmrg    *djgpp*)
7651e8b4ed9fSmrg      # DJGPP does not support shared libraries at all
7652e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
7653e8b4ed9fSmrg      ;;
7654e8b4ed9fSmrg    haiku*)
7655e8b4ed9fSmrg      # PIC is the default for Haiku.
7656e8b4ed9fSmrg      # The "-static" flag exists, but is broken.
7657e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
7658e8b4ed9fSmrg      ;;
7659e8b4ed9fSmrg    interix[[3-9]]*)
7660e8b4ed9fSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
7661e8b4ed9fSmrg      # Instead, we relocate shared libraries at runtime.
7662e8b4ed9fSmrg      ;;
7663e8b4ed9fSmrg    sysv4*MP*)
7664e8b4ed9fSmrg      if test -d /usr/nec; then
7665e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
7666e8b4ed9fSmrg      fi
7667e8b4ed9fSmrg      ;;
7668e8b4ed9fSmrg    hpux*)
7669e8b4ed9fSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
7670e8b4ed9fSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
7671e8b4ed9fSmrg      # sets the default TLS model and affects inlining.
7672e8b4ed9fSmrg      case $host_cpu in
7673e8b4ed9fSmrg      hppa*64*)
7674e8b4ed9fSmrg	;;
7675e8b4ed9fSmrg      *)
7676e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7677e8b4ed9fSmrg	;;
7678e8b4ed9fSmrg      esac
7679e8b4ed9fSmrg      ;;
7680e8b4ed9fSmrg    *qnx* | *nto*)
7681e8b4ed9fSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
7682e8b4ed9fSmrg      # it will coredump.
7683e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
7684e8b4ed9fSmrg      ;;
7685e8b4ed9fSmrg    *)
7686e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7687e8b4ed9fSmrg      ;;
7688e8b4ed9fSmrg    esac
7689e8b4ed9fSmrg  else
7690e8b4ed9fSmrg    case $host_os in
7691e8b4ed9fSmrg      aix[[4-9]]*)
7692e8b4ed9fSmrg	# All AIX code is PIC.
7693e8b4ed9fSmrg	if test ia64 = "$host_cpu"; then
7694e8b4ed9fSmrg	  # AIX 5 now supports IA64 processor
7695e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7696e8b4ed9fSmrg	else
7697e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
7698e8b4ed9fSmrg	fi
7699e8b4ed9fSmrg	;;
7700e8b4ed9fSmrg      chorus*)
7701e8b4ed9fSmrg	case $cc_basename in
7702e8b4ed9fSmrg	cxch68*)
7703e8b4ed9fSmrg	  # Green Hills C++ Compiler
7704e8b4ed9fSmrg	  # _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"
7705e8b4ed9fSmrg	  ;;
7706e8b4ed9fSmrg	esac
7707e8b4ed9fSmrg	;;
7708e8b4ed9fSmrg      mingw* | cygwin* | os2* | pw32* | cegcc*)
7709e8b4ed9fSmrg	# This hack is so that the source file can tell whether it is being
7710e8b4ed9fSmrg	# built for inclusion in a dll (and should export symbols for example).
7711e8b4ed9fSmrg	m4_if([$1], [GCJ], [],
7712e8b4ed9fSmrg	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
7713e8b4ed9fSmrg	;;
7714e8b4ed9fSmrg      dgux*)
7715e8b4ed9fSmrg	case $cc_basename in
7716e8b4ed9fSmrg	  ec++*)
7717e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7718e8b4ed9fSmrg	    ;;
7719e8b4ed9fSmrg	  ghcx*)
7720e8b4ed9fSmrg	    # Green Hills C++ Compiler
7721e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
7722e8b4ed9fSmrg	    ;;
7723e8b4ed9fSmrg	  *)
7724e8b4ed9fSmrg	    ;;
7725e8b4ed9fSmrg	esac
7726e8b4ed9fSmrg	;;
7727e8b4ed9fSmrg      freebsd* | dragonfly* | midnightbsd*)
7728e8b4ed9fSmrg	# FreeBSD uses GNU C++
7729e8b4ed9fSmrg	;;
7730e8b4ed9fSmrg      hpux9* | hpux10* | hpux11*)
7731e8b4ed9fSmrg	case $cc_basename in
7732e8b4ed9fSmrg	  CC*)
7733e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7734e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
7735e8b4ed9fSmrg	    if test ia64 != "$host_cpu"; then
7736e8b4ed9fSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
7737e8b4ed9fSmrg	    fi
7738e8b4ed9fSmrg	    ;;
7739e8b4ed9fSmrg	  aCC*)
7740e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7741e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
7742e8b4ed9fSmrg	    case $host_cpu in
7743e8b4ed9fSmrg	    hppa*64*|ia64*)
7744e8b4ed9fSmrg	      # +Z the default
7745e8b4ed9fSmrg	      ;;
7746e8b4ed9fSmrg	    *)
7747e8b4ed9fSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
7748e8b4ed9fSmrg	      ;;
7749e8b4ed9fSmrg	    esac
7750e8b4ed9fSmrg	    ;;
7751e8b4ed9fSmrg	  *)
7752e8b4ed9fSmrg	    ;;
7753e8b4ed9fSmrg	esac
7754e8b4ed9fSmrg	;;
7755e8b4ed9fSmrg      interix*)
7756e8b4ed9fSmrg	# This is c89, which is MS Visual C++ (no shared libs)
7757e8b4ed9fSmrg	# Anyone wants to do a port?
7758e8b4ed9fSmrg	;;
7759e8b4ed9fSmrg      irix5* | irix6* | nonstopux*)
7760e8b4ed9fSmrg	case $cc_basename in
7761e8b4ed9fSmrg	  CC*)
7762e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7763e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
7764e8b4ed9fSmrg	    # CC pic flag -KPIC is the default.
7765e8b4ed9fSmrg	    ;;
7766e8b4ed9fSmrg	  *)
7767e8b4ed9fSmrg	    ;;
7768e8b4ed9fSmrg	esac
7769e8b4ed9fSmrg	;;
7770e8b4ed9fSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
7771e8b4ed9fSmrg	case $cc_basename in
7772e8b4ed9fSmrg	  KCC*)
7773e8b4ed9fSmrg	    # KAI C++ Compiler
7774e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
7775e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7776e8b4ed9fSmrg	    ;;
7777e8b4ed9fSmrg	  ecpc* )
7778e8b4ed9fSmrg	    # old Intel C++ for x86_64, which still supported -KPIC.
7779e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7780e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7781e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
7782e8b4ed9fSmrg	    ;;
7783e8b4ed9fSmrg	  icpc* )
7784e8b4ed9fSmrg	    # Intel C++, used to be incompatible with GCC.
7785e8b4ed9fSmrg	    # ICC 10 doesn't accept -KPIC any more.
7786e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7787e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7788e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
7789e8b4ed9fSmrg	    ;;
7790e8b4ed9fSmrg	  pgCC* | pgcpp*)
7791e8b4ed9fSmrg	    # Portland Group C++ compiler
7792e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7793e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
7794e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7795e8b4ed9fSmrg	    ;;
7796e8b4ed9fSmrg	  cxx*)
7797e8b4ed9fSmrg	    # Compaq C++
7798e8b4ed9fSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
7799e8b4ed9fSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
7800e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
7801e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
7802e8b4ed9fSmrg	    ;;
7803e8b4ed9fSmrg	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
7804e8b4ed9fSmrg	    # IBM XL 8.0, 9.0 on PPC and BlueGene
7805e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7806e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
7807e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
7808e8b4ed9fSmrg	    ;;
7809e8b4ed9fSmrg	  *)
7810e8b4ed9fSmrg	    case `$CC -V 2>&1 | $SED 5q` in
7811e8b4ed9fSmrg	    *Sun\ C*)
7812e8b4ed9fSmrg	      # Sun C++ 5.9
7813e8b4ed9fSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7814e8b4ed9fSmrg	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7815e8b4ed9fSmrg	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
7816e8b4ed9fSmrg	      ;;
7817e8b4ed9fSmrg	    esac
7818e8b4ed9fSmrg	    ;;
7819e8b4ed9fSmrg	esac
7820e8b4ed9fSmrg	;;
7821e8b4ed9fSmrg      lynxos*)
7822e8b4ed9fSmrg	;;
7823e8b4ed9fSmrg      m88k*)
7824e8b4ed9fSmrg	;;
7825e8b4ed9fSmrg      mvs*)
7826e8b4ed9fSmrg	case $cc_basename in
7827e8b4ed9fSmrg	  cxx*)
7828e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
7829e8b4ed9fSmrg	    ;;
7830e8b4ed9fSmrg	  *)
7831e8b4ed9fSmrg	    ;;
7832e8b4ed9fSmrg	esac
7833e8b4ed9fSmrg	;;
7834e8b4ed9fSmrg      netbsd*)
7835e8b4ed9fSmrg	;;
7836e8b4ed9fSmrg      *qnx* | *nto*)
7837e8b4ed9fSmrg        # QNX uses GNU C++, but need to define -shared option too, otherwise
7838e8b4ed9fSmrg        # it will coredump.
7839e8b4ed9fSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
7840e8b4ed9fSmrg        ;;
7841e8b4ed9fSmrg      osf3* | osf4* | osf5*)
7842e8b4ed9fSmrg	case $cc_basename in
7843e8b4ed9fSmrg	  KCC*)
7844e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
7845e8b4ed9fSmrg	    ;;
7846e8b4ed9fSmrg	  RCC*)
7847e8b4ed9fSmrg	    # Rational C++ 2.4.1
7848e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
7849e8b4ed9fSmrg	    ;;
7850e8b4ed9fSmrg	  cxx*)
7851e8b4ed9fSmrg	    # Digital/Compaq C++
7852e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7853e8b4ed9fSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
7854e8b4ed9fSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
7855e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
7856e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
7857e8b4ed9fSmrg	    ;;
7858e8b4ed9fSmrg	  *)
7859e8b4ed9fSmrg	    ;;
7860e8b4ed9fSmrg	esac
7861e8b4ed9fSmrg	;;
7862e8b4ed9fSmrg      psos*)
7863e8b4ed9fSmrg	;;
7864e8b4ed9fSmrg      solaris*)
7865e8b4ed9fSmrg	case $cc_basename in
7866e8b4ed9fSmrg	  CC* | sunCC*)
7867e8b4ed9fSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
7868e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7869e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7870e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
7871e8b4ed9fSmrg	    ;;
7872e8b4ed9fSmrg	  gcx*)
7873e8b4ed9fSmrg	    # Green Hills C++ Compiler
7874e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
7875e8b4ed9fSmrg	    ;;
7876e8b4ed9fSmrg	  *)
7877e8b4ed9fSmrg	    ;;
7878e8b4ed9fSmrg	esac
7879e8b4ed9fSmrg	;;
7880e8b4ed9fSmrg      sunos4*)
7881e8b4ed9fSmrg	case $cc_basename in
7882e8b4ed9fSmrg	  CC*)
7883e8b4ed9fSmrg	    # Sun C++ 4.x
7884e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
7885e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7886e8b4ed9fSmrg	    ;;
7887e8b4ed9fSmrg	  lcc*)
7888e8b4ed9fSmrg	    # Lucid
7889e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
7890e8b4ed9fSmrg	    ;;
7891e8b4ed9fSmrg	  *)
7892e8b4ed9fSmrg	    ;;
7893e8b4ed9fSmrg	esac
7894e8b4ed9fSmrg	;;
7895e8b4ed9fSmrg      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
7896e8b4ed9fSmrg	case $cc_basename in
7897e8b4ed9fSmrg	  CC*)
7898e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7899e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7900e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7901e8b4ed9fSmrg	    ;;
7902e8b4ed9fSmrg	esac
7903e8b4ed9fSmrg	;;
7904e8b4ed9fSmrg      tandem*)
7905e8b4ed9fSmrg	case $cc_basename in
7906e8b4ed9fSmrg	  NCC*)
7907e8b4ed9fSmrg	    # NonStop-UX NCC 3.20
7908e8b4ed9fSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
7909e8b4ed9fSmrg	    ;;
7910e8b4ed9fSmrg	  *)
7911e8b4ed9fSmrg	    ;;
7912e8b4ed9fSmrg	esac
7913e8b4ed9fSmrg	;;
7914e8b4ed9fSmrg      vxworks*)
7915e8b4ed9fSmrg	;;
7916e8b4ed9fSmrg      *)
7917e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
7918e8b4ed9fSmrg	;;
7919e8b4ed9fSmrg    esac
7920e8b4ed9fSmrg  fi
7921e8b4ed9fSmrg],
7922e8b4ed9fSmrg[
7923e8b4ed9fSmrg  if test yes = "$GCC"; then
7924e8b4ed9fSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
7925e8b4ed9fSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
79261ac89addSmrg
7927e8b4ed9fSmrg    case $host_os in
7928e8b4ed9fSmrg      aix*)
7929e8b4ed9fSmrg      # All AIX code is PIC.
7930e8b4ed9fSmrg      if test ia64 = "$host_cpu"; then
7931e8b4ed9fSmrg	# AIX 5 now supports IA64 processor
7932e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
7933e8b4ed9fSmrg      fi
7934e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7935e8b4ed9fSmrg      ;;
79361ac89addSmrg
7937e8b4ed9fSmrg    amigaos*)
7938e8b4ed9fSmrg      case $host_cpu in
7939e8b4ed9fSmrg      powerpc)
7940e8b4ed9fSmrg            # see comment about AmigaOS4 .so support
7941e8b4ed9fSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7942e8b4ed9fSmrg        ;;
7943e8b4ed9fSmrg      m68k)
7944e8b4ed9fSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
7945e8b4ed9fSmrg            # adding the '-m68020' flag to GCC prevents building anything better,
7946e8b4ed9fSmrg            # like '-m68040'.
7947e8b4ed9fSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
7948e8b4ed9fSmrg        ;;
7949e8b4ed9fSmrg      esac
7950e8b4ed9fSmrg      ;;
7951226fade8Smrg
7952e8b4ed9fSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
7953e8b4ed9fSmrg      # PIC is the default for these OSes.
7954e8b4ed9fSmrg      ;;
795550f2e948Smrg
7956e8b4ed9fSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
7957e8b4ed9fSmrg      # This hack is so that the source file can tell whether it is being
7958e8b4ed9fSmrg      # built for inclusion in a dll (and should export symbols for example).
7959e8b4ed9fSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
7960e8b4ed9fSmrg      # (--disable-auto-import) libraries
7961e8b4ed9fSmrg      m4_if([$1], [GCJ], [],
7962e8b4ed9fSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
7963e8b4ed9fSmrg      case $host_os in
7964e8b4ed9fSmrg      os2*)
7965e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
7966e8b4ed9fSmrg	;;
7967e8b4ed9fSmrg      esac
7968e8b4ed9fSmrg      ;;
796950f2e948Smrg
7970e8b4ed9fSmrg    darwin* | rhapsody*)
7971e8b4ed9fSmrg      # PIC is the default on this platform
7972e8b4ed9fSmrg      # Common symbols not allowed in MH_DYLIB files
7973e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
7974e8b4ed9fSmrg      ;;
797550f2e948Smrg
7976e8b4ed9fSmrg    haiku*)
7977e8b4ed9fSmrg      # PIC is the default for Haiku.
7978e8b4ed9fSmrg      # The "-static" flag exists, but is broken.
7979e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
7980e8b4ed9fSmrg      ;;
79815592a31fSmrg
7982e8b4ed9fSmrg    hpux*)
7983e8b4ed9fSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
7984e8b4ed9fSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
7985e8b4ed9fSmrg      # sets the default TLS model and affects inlining.
7986e8b4ed9fSmrg      case $host_cpu in
7987e8b4ed9fSmrg      hppa*64*)
7988e8b4ed9fSmrg	# +Z the default
7989e8b4ed9fSmrg	;;
7990e8b4ed9fSmrg      *)
7991e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
7992e8b4ed9fSmrg	;;
7993e8b4ed9fSmrg      esac
7994e8b4ed9fSmrg      ;;
79955592a31fSmrg
7996e8b4ed9fSmrg    interix[[3-9]]*)
7997e8b4ed9fSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
7998e8b4ed9fSmrg      # Instead, we relocate shared libraries at runtime.
7999e8b4ed9fSmrg      ;;
80001ac89addSmrg
8001e8b4ed9fSmrg    msdosdjgpp*)
8002e8b4ed9fSmrg      # Just because we use GCC doesn't mean we suddenly get shared libraries
8003e8b4ed9fSmrg      # on systems that don't support them.
8004e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
8005e8b4ed9fSmrg      enable_shared=no
8006e8b4ed9fSmrg      ;;
80075592a31fSmrg
8008e8b4ed9fSmrg    *nto* | *qnx*)
8009e8b4ed9fSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
8010e8b4ed9fSmrg      # it will coredump.
8011e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
8012e8b4ed9fSmrg      ;;
80135592a31fSmrg
8014e8b4ed9fSmrg    sysv4*MP*)
8015e8b4ed9fSmrg      if test -d /usr/nec; then
8016e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
8017e8b4ed9fSmrg      fi
8018e8b4ed9fSmrg      ;;
80195592a31fSmrg
8020e8b4ed9fSmrg    *)
8021e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
8022e8b4ed9fSmrg      ;;
8023e8b4ed9fSmrg    esac
802450f2e948Smrg
8025e8b4ed9fSmrg    case $cc_basename in
8026e8b4ed9fSmrg    nvcc*) # Cuda Compiler Driver 2.2
8027e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
8028e8b4ed9fSmrg      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
8029e8b4ed9fSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
8030e8b4ed9fSmrg      fi
8031e8b4ed9fSmrg      ;;
8032e8b4ed9fSmrg    esac
8033e8b4ed9fSmrg  else
8034e8b4ed9fSmrg    # PORTME Check for flag to pass linker flags through the system compiler.
8035e8b4ed9fSmrg    case $host_os in
8036e8b4ed9fSmrg    aix*)
8037e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8038e8b4ed9fSmrg      if test ia64 = "$host_cpu"; then
8039e8b4ed9fSmrg	# AIX 5 now supports IA64 processor
8040e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8041e8b4ed9fSmrg      else
8042e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
8043e8b4ed9fSmrg      fi
8044e8b4ed9fSmrg      ;;
804550f2e948Smrg
8046e8b4ed9fSmrg    darwin* | rhapsody*)
8047e8b4ed9fSmrg      # PIC is the default on this platform
8048e8b4ed9fSmrg      # Common symbols not allowed in MH_DYLIB files
8049e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
8050e8b4ed9fSmrg      case $cc_basename in
8051e8b4ed9fSmrg      nagfor*)
8052e8b4ed9fSmrg        # NAG Fortran compiler
8053e8b4ed9fSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
8054e8b4ed9fSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
8055e8b4ed9fSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8056b40a6198Smrg        ;;
8057e8b4ed9fSmrg      esac
8058e8b4ed9fSmrg      ;;
8059e8b4ed9fSmrg
8060e8b4ed9fSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
8061e8b4ed9fSmrg      # This hack is so that the source file can tell whether it is being
8062e8b4ed9fSmrg      # built for inclusion in a dll (and should export symbols for example).
8063e8b4ed9fSmrg      m4_if([$1], [GCJ], [],
8064e8b4ed9fSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
8065e8b4ed9fSmrg      case $host_os in
8066e8b4ed9fSmrg      os2*)
8067e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
8068e8b4ed9fSmrg	;;
8069e8b4ed9fSmrg      esac
8070e8b4ed9fSmrg      ;;
8071e8b4ed9fSmrg
8072e8b4ed9fSmrg    hpux9* | hpux10* | hpux11*)
8073e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8074e8b4ed9fSmrg      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
8075e8b4ed9fSmrg      # not for PA HP-UX.
8076e8b4ed9fSmrg      case $host_cpu in
8077e8b4ed9fSmrg      hppa*64*|ia64*)
8078e8b4ed9fSmrg	# +Z the default
8079e8b4ed9fSmrg	;;
8080e8b4ed9fSmrg      *)
8081e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
8082e8b4ed9fSmrg	;;
8083e8b4ed9fSmrg      esac
8084e8b4ed9fSmrg      # Is there a better lt_prog_compiler_static that works with the bundled CC?
8085e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
8086e8b4ed9fSmrg      ;;
8087e8b4ed9fSmrg
8088e8b4ed9fSmrg    irix5* | irix6* | nonstopux*)
8089e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8090e8b4ed9fSmrg      # PIC (with -KPIC) is the default.
8091e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
8092e8b4ed9fSmrg      ;;
8093e8b4ed9fSmrg
8094e8b4ed9fSmrg    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
8095e8b4ed9fSmrg      case $cc_basename in
8096e8b4ed9fSmrg      # old Intel for x86_64, which still supported -KPIC.
8097e8b4ed9fSmrg      ecc*)
8098e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8099e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8100e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
8101b40a6198Smrg        ;;
8102e8b4ed9fSmrg      # icc used to be incompatible with GCC.
8103e8b4ed9fSmrg      # ICC 10 doesn't accept -KPIC any more.
8104e8b4ed9fSmrg      icc* | ifort*)
8105e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8106e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
8107e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
8108b40a6198Smrg        ;;
8109e8b4ed9fSmrg      # Lahey Fortran 8.1.
8110e8b4ed9fSmrg      lf95*)
8111e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8112e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
8113e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
8114e8b4ed9fSmrg	;;
8115e8b4ed9fSmrg      nagfor*)
8116e8b4ed9fSmrg	# NAG Fortran compiler
8117e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
8118e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
8119e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8120e8b4ed9fSmrg	;;
8121e8b4ed9fSmrg      tcc*)
8122e8b4ed9fSmrg	# Fabrice Bellard et al's Tiny C Compiler
8123e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8124e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
8125e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
8126e8b4ed9fSmrg	;;
8127e8b4ed9fSmrg      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
8128e8b4ed9fSmrg        # Portland Group compilers (*not* the Pentium gcc compiler,
8129e8b4ed9fSmrg	# which looks to be a dead project)
8130e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8131e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
8132e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8133b40a6198Smrg        ;;
8134e8b4ed9fSmrg      ccc*)
8135e8b4ed9fSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8136e8b4ed9fSmrg        # All Alpha code is PIC.
8137e8b4ed9fSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
8138b40a6198Smrg        ;;
8139e8b4ed9fSmrg      xl* | bgxl* | bgf* | mpixl*)
8140e8b4ed9fSmrg	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
8141e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8142e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
8143e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
8144e8b4ed9fSmrg	;;
8145e8b4ed9fSmrg      *)
8146e8b4ed9fSmrg	case `$CC -V 2>&1 | $SED 5q` in
8147e8b4ed9fSmrg	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
8148e8b4ed9fSmrg	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
8149e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8150e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8151e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
8152e8b4ed9fSmrg	  ;;
8153e8b4ed9fSmrg	*Sun\ F* | *Sun*Fortran*)
8154e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8155e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8156e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
8157e8b4ed9fSmrg	  ;;
8158e8b4ed9fSmrg	*Sun\ C*)
8159e8b4ed9fSmrg	  # Sun C 5.9
8160e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8161e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8162e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8163e8b4ed9fSmrg	  ;;
8164e8b4ed9fSmrg        *Intel*\ [[CF]]*Compiler*)
8165e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8166e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
8167e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
8168e8b4ed9fSmrg	  ;;
8169e8b4ed9fSmrg	*Portland\ Group*)
8170e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8171e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
8172e8b4ed9fSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8173e8b4ed9fSmrg	  ;;
8174e8b4ed9fSmrg	esac
8175e8b4ed9fSmrg	;;
8176e8b4ed9fSmrg      esac
8177e8b4ed9fSmrg      ;;
817845bc899bSmrg
8179e8b4ed9fSmrg    newsos6)
8180e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8181e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8182e8b4ed9fSmrg      ;;
818345bc899bSmrg
8184e8b4ed9fSmrg    *nto* | *qnx*)
8185e8b4ed9fSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
8186e8b4ed9fSmrg      # it will coredump.
8187e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
8188e8b4ed9fSmrg      ;;
818945bc899bSmrg
8190e8b4ed9fSmrg    osf3* | osf4* | osf5*)
8191e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8192e8b4ed9fSmrg      # All OSF/1 code is PIC.
8193e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
8194e8b4ed9fSmrg      ;;
819545bc899bSmrg
8196e8b4ed9fSmrg    rdos*)
8197e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
8198e8b4ed9fSmrg      ;;
819945bc899bSmrg
8200e8b4ed9fSmrg    solaris*)
8201e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8202e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8203e8b4ed9fSmrg      case $cc_basename in
8204e8b4ed9fSmrg      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
8205e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
8206e8b4ed9fSmrg      *)
8207e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
8208e8b4ed9fSmrg      esac
8209e8b4ed9fSmrg      ;;
821045bc899bSmrg
8211e8b4ed9fSmrg    sunos4*)
8212e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
8213e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
8214e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8215e8b4ed9fSmrg      ;;
82161ac89addSmrg
8217e8b4ed9fSmrg    sysv4 | sysv4.2uw2* | sysv4.3*)
8218e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8219e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8220e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8221e8b4ed9fSmrg      ;;
82221ac89addSmrg
8223e8b4ed9fSmrg    sysv4*MP*)
8224e8b4ed9fSmrg      if test -d /usr/nec; then
8225e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
8226e8b4ed9fSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8227e8b4ed9fSmrg      fi
8228e8b4ed9fSmrg      ;;
82291ac89addSmrg
8230e8b4ed9fSmrg    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
8231e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8232e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
8233e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8234e8b4ed9fSmrg      ;;
82355592a31fSmrg
8236e8b4ed9fSmrg    unicos*)
8237e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
8238e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
8239e8b4ed9fSmrg      ;;
82405592a31fSmrg
8241e8b4ed9fSmrg    uts4*)
8242e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
8243e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
8244e8b4ed9fSmrg      ;;
8245e8b4ed9fSmrg
8246e8b4ed9fSmrg    *)
8247e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
8248e8b4ed9fSmrg      ;;
8249e8b4ed9fSmrg    esac
8250e8b4ed9fSmrg  fi
82515592a31fSmrg])
8252e8b4ed9fSmrgcase $host_os in
8253e8b4ed9fSmrg  # For platforms that do not support PIC, -DPIC is meaningless:
8254e8b4ed9fSmrg  *djgpp*)
8255e8b4ed9fSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
8256e8b4ed9fSmrg    ;;
8257e8b4ed9fSmrg  *)
8258e8b4ed9fSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
8259e8b4ed9fSmrg    ;;
8260e8b4ed9fSmrgesac
826145bc899bSmrg
8262e8b4ed9fSmrgAC_CACHE_CHECK([for $compiler option to produce PIC],
8263e8b4ed9fSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
8264e8b4ed9fSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
8265e8b4ed9fSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
826645bc899bSmrg
8267e8b4ed9fSmrg#
8268e8b4ed9fSmrg# Check to make sure the PIC flag actually works.
8269e8b4ed9fSmrg#
8270e8b4ed9fSmrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
8271e8b4ed9fSmrg  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
8272e8b4ed9fSmrg    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
8273e8b4ed9fSmrg    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
8274e8b4ed9fSmrg    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
8275e8b4ed9fSmrg     "" | " "*) ;;
8276e8b4ed9fSmrg     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
8277e8b4ed9fSmrg     esac],
8278e8b4ed9fSmrg    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
8279e8b4ed9fSmrg     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
8280e8b4ed9fSmrgfi
8281e8b4ed9fSmrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
8282e8b4ed9fSmrg	[Additional compiler flags for building library objects])
8283e8b4ed9fSmrg
8284e8b4ed9fSmrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
8285e8b4ed9fSmrg	[How to pass a linker flag through the compiler])
8286e8b4ed9fSmrg#
8287e8b4ed9fSmrg# Check to make sure the static flag actually works.
8288e8b4ed9fSmrg#
8289e8b4ed9fSmrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
8290e8b4ed9fSmrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
8291e8b4ed9fSmrg  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
8292e8b4ed9fSmrg  $lt_tmp_static_flag,
8293e8b4ed9fSmrg  [],
8294e8b4ed9fSmrg  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
8295e8b4ed9fSmrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
8296e8b4ed9fSmrg	[Compiler flag to prevent dynamic linking])
8297e8b4ed9fSmrg])# _LT_COMPILER_PIC
82985592a31fSmrg
829945bc899bSmrg
8300e8b4ed9fSmrg# _LT_LINKER_SHLIBS([TAGNAME])
8301e8b4ed9fSmrg# ----------------------------
8302e8b4ed9fSmrg# See if the linker supports building shared libraries.
8303e8b4ed9fSmrgm4_defun([_LT_LINKER_SHLIBS],
8304e8b4ed9fSmrg[AC_REQUIRE([LT_PATH_LD])dnl
8305e8b4ed9fSmrgAC_REQUIRE([LT_PATH_NM])dnl
8306e8b4ed9fSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl
8307e8b4ed9fSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
8308e8b4ed9fSmrgm4_require([_LT_DECL_EGREP])dnl
8309e8b4ed9fSmrgm4_require([_LT_DECL_SED])dnl
8310e8b4ed9fSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
8311e8b4ed9fSmrgm4_require([_LT_TAG_COMPILER])dnl
8312e8b4ed9fSmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
8313e8b4ed9fSmrgm4_if([$1], [CXX], [
8314e8b4ed9fSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
8315e8b4ed9fSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
8316e8b4ed9fSmrg  case $host_os in
8317e8b4ed9fSmrg  aix[[4-9]]*)
8318e8b4ed9fSmrg    # If we're using GNU nm, then we don't want the "-C" option.
8319e8b4ed9fSmrg    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
8320e8b4ed9fSmrg    # Without the "-l" option, or with the "-B" option, AIX nm treats
8321e8b4ed9fSmrg    # weak defined symbols like other global defined symbols, whereas
8322e8b4ed9fSmrg    # GNU nm marks them as "W".
8323e8b4ed9fSmrg    # While the 'weak' keyword is ignored in the Export File, we need
8324e8b4ed9fSmrg    # it in the Import File for the 'aix-soname' feature, so we have
8325e8b4ed9fSmrg    # to replace the "-B" option with "-P" for AIX nm.
8326e8b4ed9fSmrg    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
8327e8b4ed9fSmrg      _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'
8328e8b4ed9fSmrg    else
8329e8b4ed9fSmrg      _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'
8330e8b4ed9fSmrg    fi
8331e8b4ed9fSmrg    ;;
8332e8b4ed9fSmrg  pw32*)
8333e8b4ed9fSmrg    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
8334e8b4ed9fSmrg    ;;
8335e8b4ed9fSmrg  cygwin* | mingw* | cegcc*)
8336e8b4ed9fSmrg    case $cc_basename in
8337e8b4ed9fSmrg    cl* | icl*)
8338e8b4ed9fSmrg      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
8339e8b4ed9fSmrg      ;;
8340e8b4ed9fSmrg    *)
8341e8b4ed9fSmrg      _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'
8342e8b4ed9fSmrg      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
8343e8b4ed9fSmrg      ;;
8344e8b4ed9fSmrg    esac
8345e8b4ed9fSmrg    ;;
8346e8b4ed9fSmrg  *)
8347e8b4ed9fSmrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
8348e8b4ed9fSmrg    ;;
8349e8b4ed9fSmrg  esac
8350e8b4ed9fSmrg], [
8351e8b4ed9fSmrg  runpath_var=
8352e8b4ed9fSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=
8353e8b4ed9fSmrg  _LT_TAGVAR(always_export_symbols, $1)=no
8354e8b4ed9fSmrg  _LT_TAGVAR(archive_cmds, $1)=
8355e8b4ed9fSmrg  _LT_TAGVAR(archive_expsym_cmds, $1)=
8356e8b4ed9fSmrg  _LT_TAGVAR(compiler_needs_object, $1)=no
8357e8b4ed9fSmrg  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
8358e8b4ed9fSmrg  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
8359e8b4ed9fSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
8360e8b4ed9fSmrg  _LT_TAGVAR(hardcode_automatic, $1)=no
8361e8b4ed9fSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
8362e8b4ed9fSmrg  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
8363e8b4ed9fSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
8364e8b4ed9fSmrg  _LT_TAGVAR(hardcode_libdir_separator, $1)=
8365e8b4ed9fSmrg  _LT_TAGVAR(hardcode_minus_L, $1)=no
8366e8b4ed9fSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
8367e8b4ed9fSmrg  _LT_TAGVAR(inherit_rpath, $1)=no
8368e8b4ed9fSmrg  _LT_TAGVAR(link_all_deplibs, $1)=unknown
8369e8b4ed9fSmrg  _LT_TAGVAR(module_cmds, $1)=
8370e8b4ed9fSmrg  _LT_TAGVAR(module_expsym_cmds, $1)=
8371e8b4ed9fSmrg  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
8372e8b4ed9fSmrg  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
8373e8b4ed9fSmrg  _LT_TAGVAR(thread_safe_flag_spec, $1)=
8374e8b4ed9fSmrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=
8375e8b4ed9fSmrg  # include_expsyms should be a list of space-separated symbols to be *always*
8376e8b4ed9fSmrg  # included in the symbol list
8377e8b4ed9fSmrg  _LT_TAGVAR(include_expsyms, $1)=
8378e8b4ed9fSmrg  # exclude_expsyms can be an extended regexp of symbols to exclude
8379e8b4ed9fSmrg  # it will be wrapped by ' (' and ')$', so one must not match beginning or
8380e8b4ed9fSmrg  # end of line.  Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
8381e8b4ed9fSmrg  # as well as any symbol that contains 'd'.
8382e8b4ed9fSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
8383e8b4ed9fSmrg  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
8384e8b4ed9fSmrg  # platforms (ab)use it in PIC code, but their linkers get confused if
8385e8b4ed9fSmrg  # the symbol is explicitly referenced.  Since portable code cannot
8386e8b4ed9fSmrg  # rely on this symbol name, it's probably fine to never include it in
8387e8b4ed9fSmrg  # preloaded symbol tables.
8388e8b4ed9fSmrg  # Exclude shared library initialization/finalization symbols.
8389e8b4ed9fSmrgdnl Note also adjust exclude_expsyms for C++ above.
8390e8b4ed9fSmrg  extract_expsyms_cmds=
839145bc899bSmrg
8392e8b4ed9fSmrg  case $host_os in
8393e8b4ed9fSmrg  cygwin* | mingw* | pw32* | cegcc*)
8394e8b4ed9fSmrg    # FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
8395e8b4ed9fSmrg    # When not using gcc, we currently assume that we are using
8396e8b4ed9fSmrg    # Microsoft Visual C++ or Intel C++ Compiler.
8397e8b4ed9fSmrg    if test yes != "$GCC"; then
8398e8b4ed9fSmrg      with_gnu_ld=no
8399e8b4ed9fSmrg    fi
8400e8b4ed9fSmrg    ;;
8401e8b4ed9fSmrg  interix*)
8402e8b4ed9fSmrg    # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
8403e8b4ed9fSmrg    with_gnu_ld=yes
8404e8b4ed9fSmrg    ;;
8405e8b4ed9fSmrg  openbsd* | bitrig*)
8406e8b4ed9fSmrg    with_gnu_ld=no
8407e8b4ed9fSmrg    ;;
8408e8b4ed9fSmrg  esac
840945bc899bSmrg
8410e8b4ed9fSmrg  _LT_TAGVAR(ld_shlibs, $1)=yes
841145bc899bSmrg
8412e8b4ed9fSmrg  # On some targets, GNU ld is compatible enough with the native linker
8413e8b4ed9fSmrg  # that we're better off using the native interface for both.
8414e8b4ed9fSmrg  lt_use_gnu_ld_interface=no
8415e8b4ed9fSmrg  if test yes = "$with_gnu_ld"; then
8416e8b4ed9fSmrg    case $host_os in
8417e8b4ed9fSmrg      aix*)
8418e8b4ed9fSmrg	# The AIX port of GNU ld has always aspired to compatibility
8419e8b4ed9fSmrg	# with the native linker.  However, as the warning in the GNU ld
8420e8b4ed9fSmrg	# block says, versions before 2.19.5* couldn't really create working
8421e8b4ed9fSmrg	# shared libraries, regardless of the interface used.
8422e8b4ed9fSmrg	case `$LD -v 2>&1` in
8423e8b4ed9fSmrg	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
8424e8b4ed9fSmrg	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
8425e8b4ed9fSmrg	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
8426e8b4ed9fSmrg	  *)
8427e8b4ed9fSmrg	    lt_use_gnu_ld_interface=yes
8428e8b4ed9fSmrg	    ;;
8429e8b4ed9fSmrg	esac
8430e8b4ed9fSmrg	;;
8431e8b4ed9fSmrg      *)
8432e8b4ed9fSmrg	lt_use_gnu_ld_interface=yes
8433e8b4ed9fSmrg	;;
8434e8b4ed9fSmrg    esac
8435e8b4ed9fSmrg  fi
843650f2e948Smrg
8437e8b4ed9fSmrg  if test yes = "$lt_use_gnu_ld_interface"; then
8438e8b4ed9fSmrg    # If archive_cmds runs LD, not CC, wlarc should be empty
8439e8b4ed9fSmrg    wlarc='$wl'
844050f2e948Smrg
8441e8b4ed9fSmrg    # Set some defaults for GNU ld with shared library support. These
8442e8b4ed9fSmrg    # are reset later if shared libraries are not supported. Putting them
8443e8b4ed9fSmrg    # here allows them to be overridden if necessary.
8444e8b4ed9fSmrg    runpath_var=LD_RUN_PATH
8445e8b4ed9fSmrg    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
8446e8b4ed9fSmrg    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
8447e8b4ed9fSmrg    # ancient GNU ld didn't support --whole-archive et. al.
8448e8b4ed9fSmrg    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
8449e8b4ed9fSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
8450e8b4ed9fSmrg    else
8451e8b4ed9fSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
8452e8b4ed9fSmrg    fi
8453e8b4ed9fSmrg    supports_anon_versioning=no
8454e8b4ed9fSmrg    case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
8455e8b4ed9fSmrg      *GNU\ gold*) supports_anon_versioning=yes ;;
8456e8b4ed9fSmrg      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
8457e8b4ed9fSmrg      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
8458e8b4ed9fSmrg      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
8459e8b4ed9fSmrg      *\ 2.11.*) ;; # other 2.11 versions
8460e8b4ed9fSmrg      *) supports_anon_versioning=yes ;;
8461e8b4ed9fSmrg    esac
846250f2e948Smrg
8463e8b4ed9fSmrg    # See if GNU ld supports shared libraries.
8464e8b4ed9fSmrg    case $host_os in
8465e8b4ed9fSmrg    aix[[3-9]]*)
8466e8b4ed9fSmrg      # On AIX/PPC, the GNU linker is very broken
8467e8b4ed9fSmrg      if test ia64 != "$host_cpu"; then
8468e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8469e8b4ed9fSmrg	cat <<_LT_EOF 1>&2
84705592a31fSmrg
8471e8b4ed9fSmrg*** Warning: the GNU linker, at least up to release 2.19, is reported
8472e8b4ed9fSmrg*** to be unable to reliably create shared libraries on AIX.
8473e8b4ed9fSmrg*** Therefore, libtool is disabling shared libraries support.  If you
8474e8b4ed9fSmrg*** really care for shared libraries, you may want to install binutils
8475e8b4ed9fSmrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
8476e8b4ed9fSmrg*** You will then need to restart the configuration process.
84775592a31fSmrg
8478e8b4ed9fSmrg_LT_EOF
8479e8b4ed9fSmrg      fi
8480e8b4ed9fSmrg      ;;
84815592a31fSmrg
8482e8b4ed9fSmrg    amigaos*)
8483e8b4ed9fSmrg      case $host_cpu in
8484e8b4ed9fSmrg      powerpc)
8485e8b4ed9fSmrg            # see comment about AmigaOS4 .so support
8486e8b4ed9fSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8487e8b4ed9fSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
8488e8b4ed9fSmrg        ;;
8489e8b4ed9fSmrg      m68k)
8490e8b4ed9fSmrg            _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)'
8491e8b4ed9fSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8492e8b4ed9fSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
8493e8b4ed9fSmrg        ;;
8494e8b4ed9fSmrg      esac
8495e8b4ed9fSmrg      ;;
84965592a31fSmrg
8497e8b4ed9fSmrg    beos*)
8498e8b4ed9fSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8499e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8500e8b4ed9fSmrg	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
8501e8b4ed9fSmrg	# support --undefined.  This deserves some investigation.  FIXME
8502e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8503e8b4ed9fSmrg      else
8504e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8505e8b4ed9fSmrg      fi
8506e8b4ed9fSmrg      ;;
85075592a31fSmrg
8508e8b4ed9fSmrg    cygwin* | mingw* | pw32* | cegcc*)
8509e8b4ed9fSmrg      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
8510e8b4ed9fSmrg      # as there is no search path for DLLs.
8511e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8512e8b4ed9fSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
8513e8b4ed9fSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8514e8b4ed9fSmrg      _LT_TAGVAR(always_export_symbols, $1)=no
8515e8b4ed9fSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
8516e8b4ed9fSmrg      _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'
8517e8b4ed9fSmrg      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
851845bc899bSmrg
8519e8b4ed9fSmrg      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
8520e8b4ed9fSmrg        _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'
8521e8b4ed9fSmrg	# If the export-symbols file already is a .def file, use it as
8522e8b4ed9fSmrg	# is; otherwise, prepend EXPORTS...
8523e8b4ed9fSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
8524e8b4ed9fSmrg          cp $export_symbols $output_objdir/$soname.def;
8525e8b4ed9fSmrg        else
8526e8b4ed9fSmrg          echo EXPORTS > $output_objdir/$soname.def;
8527e8b4ed9fSmrg          cat $export_symbols >> $output_objdir/$soname.def;
8528e8b4ed9fSmrg        fi~
8529e8b4ed9fSmrg        $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
8530e8b4ed9fSmrg      else
8531e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8532e8b4ed9fSmrg      fi
8533e8b4ed9fSmrg      ;;
853445bc899bSmrg
8535e8b4ed9fSmrg    haiku*)
8536e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8537e8b4ed9fSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
8538e8b4ed9fSmrg      ;;
853945bc899bSmrg
8540e8b4ed9fSmrg    os2*)
8541e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8542e8b4ed9fSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
8543e8b4ed9fSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8544e8b4ed9fSmrg      shrext_cmds=.dll
8545e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
8546e8b4ed9fSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
8547e8b4ed9fSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
8548e8b4ed9fSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
8549e8b4ed9fSmrg	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
8550e8b4ed9fSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
8551e8b4ed9fSmrg	emximp -o $lib $output_objdir/$libname.def'
8552e8b4ed9fSmrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
8553e8b4ed9fSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
8554e8b4ed9fSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
8555e8b4ed9fSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
8556e8b4ed9fSmrg	prefix_cmds="$SED"~
8557e8b4ed9fSmrg	if test EXPORTS = "`$SED 1q $export_symbols`"; then
8558e8b4ed9fSmrg	  prefix_cmds="$prefix_cmds -e 1d";
8559e8b4ed9fSmrg	fi~
8560e8b4ed9fSmrg	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
8561e8b4ed9fSmrg	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
8562e8b4ed9fSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
8563e8b4ed9fSmrg	emximp -o $lib $output_objdir/$libname.def'
8564e8b4ed9fSmrg      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
8565e8b4ed9fSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
8566e8b4ed9fSmrg      _LT_TAGVAR(file_list_spec, $1)='@'
8567e8b4ed9fSmrg      ;;
856845bc899bSmrg
8569e8b4ed9fSmrg    interix[[3-9]]*)
8570e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=no
8571e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8572e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
8573e8b4ed9fSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
8574e8b4ed9fSmrg      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
8575e8b4ed9fSmrg      # Instead, shared libraries are loaded at an image base (0x10000000 by
8576e8b4ed9fSmrg      # default) and relocated if they conflict, which is a slow very memory
8577e8b4ed9fSmrg      # consuming and fragmenting process.  To avoid this, we pick a random,
8578e8b4ed9fSmrg      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
8579e8b4ed9fSmrg      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
8580e8b4ed9fSmrg      _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'
8581e8b4ed9fSmrg      _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'
8582e8b4ed9fSmrg      ;;
858345bc899bSmrg
8584e8b4ed9fSmrg    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
8585e8b4ed9fSmrg      tmp_diet=no
8586e8b4ed9fSmrg      if test linux-dietlibc = "$host_os"; then
8587e8b4ed9fSmrg	case $cc_basename in
8588e8b4ed9fSmrg	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
8589e8b4ed9fSmrg	esac
8590e8b4ed9fSmrg      fi
8591e8b4ed9fSmrg      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
8592e8b4ed9fSmrg	 && test no = "$tmp_diet"
8593e8b4ed9fSmrg      then
8594e8b4ed9fSmrg	tmp_addflag=' $pic_flag'
8595e8b4ed9fSmrg	tmp_sharedflag='-shared'
8596e8b4ed9fSmrg	case $cc_basename,$host_cpu in
8597e8b4ed9fSmrg        pgcc*)				# Portland Group C compiler
8598e8b4ed9fSmrg	  _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'
8599e8b4ed9fSmrg	  tmp_addflag=' $pic_flag'
8600e8b4ed9fSmrg	  ;;
8601e8b4ed9fSmrg	pgf77* | pgf90* | pgf95* | pgfortran*)
8602e8b4ed9fSmrg					# Portland Group f77 and f90 compilers
8603e8b4ed9fSmrg	  _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'
8604e8b4ed9fSmrg	  tmp_addflag=' $pic_flag -Mnomain' ;;
8605e8b4ed9fSmrg	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
8606e8b4ed9fSmrg	  tmp_addflag=' -i_dynamic' ;;
8607e8b4ed9fSmrg	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
8608e8b4ed9fSmrg	  tmp_addflag=' -i_dynamic -nofor_main' ;;
8609e8b4ed9fSmrg	ifc* | ifort*)			# Intel Fortran compiler
8610e8b4ed9fSmrg	  tmp_addflag=' -nofor_main' ;;
8611e8b4ed9fSmrg	lf95*)				# Lahey Fortran 8.1
8612e8b4ed9fSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
8613e8b4ed9fSmrg	  tmp_sharedflag='--shared' ;;
8614e8b4ed9fSmrg        nagfor*)                        # NAGFOR 5.3
8615e8b4ed9fSmrg          tmp_sharedflag='-Wl,-shared' ;;
8616e8b4ed9fSmrg	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
8617e8b4ed9fSmrg	  tmp_sharedflag='-qmkshrobj'
8618e8b4ed9fSmrg	  tmp_addflag= ;;
8619e8b4ed9fSmrg	nvcc*)	# Cuda Compiler Driver 2.2
8620e8b4ed9fSmrg	  _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'
8621e8b4ed9fSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
8622e8b4ed9fSmrg	  ;;
8623e8b4ed9fSmrg	esac
8624e8b4ed9fSmrg	case `$CC -V 2>&1 | $SED 5q` in
8625e8b4ed9fSmrg	*Sun\ C*)			# Sun C 5.9
8626e8b4ed9fSmrg	  _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'
8627e8b4ed9fSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
8628e8b4ed9fSmrg	  tmp_sharedflag='-G' ;;
8629e8b4ed9fSmrg	*Sun\ F*)			# Sun Fortran 8.3
8630e8b4ed9fSmrg	  tmp_sharedflag='-G' ;;
8631e8b4ed9fSmrg	esac
8632e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
863345bc899bSmrg
8634e8b4ed9fSmrg        if test yes = "$supports_anon_versioning"; then
8635e8b4ed9fSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
8636e8b4ed9fSmrg            cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
8637e8b4ed9fSmrg            echo "local: *; };" >> $output_objdir/$libname.ver~
8638e8b4ed9fSmrg            $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
8639e8b4ed9fSmrg        fi
864045bc899bSmrg
8641e8b4ed9fSmrg	case $cc_basename in
8642e8b4ed9fSmrg	tcc*)
8643e8b4ed9fSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
8644e8b4ed9fSmrg	  ;;
8645e8b4ed9fSmrg	xlf* | bgf* | bgxlf* | mpixlf*)
8646e8b4ed9fSmrg	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
8647e8b4ed9fSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
8648e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
8649e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
8650e8b4ed9fSmrg	  if test yes = "$supports_anon_versioning"; then
8651e8b4ed9fSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
8652e8b4ed9fSmrg              cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
8653e8b4ed9fSmrg              echo "local: *; };" >> $output_objdir/$libname.ver~
8654e8b4ed9fSmrg              $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
8655e8b4ed9fSmrg	  fi
8656e8b4ed9fSmrg	  ;;
8657e8b4ed9fSmrg	esac
8658e8b4ed9fSmrg      else
8659e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
8660e8b4ed9fSmrg      fi
8661226fade8Smrg      ;;
866245bc899bSmrg
8663e8b4ed9fSmrg    netbsd*)
8664e8b4ed9fSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
8665e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
8666e8b4ed9fSmrg	wlarc=
8667e8b4ed9fSmrg      else
8668e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8669e8b4ed9fSmrg	_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'
8670e8b4ed9fSmrg      fi
8671e8b4ed9fSmrg      ;;
867245bc899bSmrg
8673e8b4ed9fSmrg    solaris*)
8674e8b4ed9fSmrg      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
8675e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8676e8b4ed9fSmrg	cat <<_LT_EOF 1>&2
867745bc899bSmrg
8678e8b4ed9fSmrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably
8679e8b4ed9fSmrg*** create shared libraries on Solaris systems.  Therefore, libtool
8680e8b4ed9fSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
8681e8b4ed9fSmrg*** binutils to release 2.9.1 or newer.  Another option is to modify
8682e8b4ed9fSmrg*** your PATH or compiler configuration so that the native linker is
8683e8b4ed9fSmrg*** used, and then restart.
868445bc899bSmrg
8685e8b4ed9fSmrg_LT_EOF
8686e8b4ed9fSmrg      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8687e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8688e8b4ed9fSmrg	_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'
8689e8b4ed9fSmrg      else
8690e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8691e8b4ed9fSmrg      fi
8692e8b4ed9fSmrg      ;;
869345bc899bSmrg
8694e8b4ed9fSmrg    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
8695e8b4ed9fSmrg      case `$LD -v 2>&1` in
8696e8b4ed9fSmrg        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
8697e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8698e8b4ed9fSmrg	cat <<_LT_EOF 1>&2
869945bc899bSmrg
8700e8b4ed9fSmrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
8701e8b4ed9fSmrg*** reliably create shared libraries on SCO systems.  Therefore, libtool
8702e8b4ed9fSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
8703e8b4ed9fSmrg*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
8704e8b4ed9fSmrg*** your PATH or compiler configuration so that the native linker is
8705e8b4ed9fSmrg*** used, and then restart.
870645bc899bSmrg
8707e8b4ed9fSmrg_LT_EOF
8708e8b4ed9fSmrg	;;
8709e8b4ed9fSmrg	*)
8710e8b4ed9fSmrg	  # For security reasons, it is highly recommended that you always
8711e8b4ed9fSmrg	  # use absolute paths for naming shared libraries, and exclude the
8712e8b4ed9fSmrg	  # DT_RUNPATH tag from executables and libraries.  But doing so
8713e8b4ed9fSmrg	  # requires that you compile everything twice, which is a pain.
8714e8b4ed9fSmrg	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8715e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
8716e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8717e8b4ed9fSmrg	    _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'
8718e8b4ed9fSmrg	  else
8719e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8720e8b4ed9fSmrg	  fi
8721e8b4ed9fSmrg	;;
8722e8b4ed9fSmrg      esac
8723e8b4ed9fSmrg      ;;
872445bc899bSmrg
8725e8b4ed9fSmrg    sunos4*)
8726e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
8727e8b4ed9fSmrg      wlarc=
8728e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
8729e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8730e8b4ed9fSmrg      ;;
873145bc899bSmrg
87325592a31fSmrg    *)
8733e8b4ed9fSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8734e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8735e8b4ed9fSmrg	_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'
8736e8b4ed9fSmrg      else
8737e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8738e8b4ed9fSmrg      fi
8739226fade8Smrg      ;;
8740e8b4ed9fSmrg    esac
874145bc899bSmrg
8742e8b4ed9fSmrg    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
8743e8b4ed9fSmrg      runpath_var=
8744e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
8745e8b4ed9fSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
8746e8b4ed9fSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
8747e8b4ed9fSmrg    fi
8748e8b4ed9fSmrg  else
8749e8b4ed9fSmrg    # PORTME fill in a description of your system's linker (not GNU ld)
8750e8b4ed9fSmrg    case $host_os in
8751e8b4ed9fSmrg    aix3*)
8752e8b4ed9fSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8753e8b4ed9fSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
8754e8b4ed9fSmrg      _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'
8755e8b4ed9fSmrg      # Note: this linker hardcodes the directories in LIBPATH if there
8756e8b4ed9fSmrg      # are no directories specified by -L.
8757e8b4ed9fSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
8758e8b4ed9fSmrg      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
8759e8b4ed9fSmrg	# Neither direct hardcoding nor static linking is supported with a
8760e8b4ed9fSmrg	# broken collect2.
8761e8b4ed9fSmrg	_LT_TAGVAR(hardcode_direct, $1)=unsupported
8762e8b4ed9fSmrg      fi
8763e8b4ed9fSmrg      ;;
876445bc899bSmrg
8765e8b4ed9fSmrg    aix[[4-9]]*)
8766e8b4ed9fSmrg      if test ia64 = "$host_cpu"; then
8767e8b4ed9fSmrg	# On IA64, the linker does run time linking by default, so we don't
8768e8b4ed9fSmrg	# have to do anything special.
8769e8b4ed9fSmrg	aix_use_runtimelinking=no
8770e8b4ed9fSmrg	exp_sym_flag='-Bexport'
8771e8b4ed9fSmrg	no_entry_flag=
8772e8b4ed9fSmrg      else
8773e8b4ed9fSmrg	# If we're using GNU nm, then we don't want the "-C" option.
8774e8b4ed9fSmrg	# -C means demangle to GNU nm, but means don't demangle to AIX nm.
8775e8b4ed9fSmrg	# Without the "-l" option, or with the "-B" option, AIX nm treats
8776e8b4ed9fSmrg	# weak defined symbols like other global defined symbols, whereas
8777e8b4ed9fSmrg	# GNU nm marks them as "W".
8778e8b4ed9fSmrg	# While the 'weak' keyword is ignored in the Export File, we need
8779e8b4ed9fSmrg	# it in the Import File for the 'aix-soname' feature, so we have
8780e8b4ed9fSmrg	# to replace the "-B" option with "-P" for AIX nm.
8781e8b4ed9fSmrg	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
8782e8b4ed9fSmrg	  _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'
8783e8b4ed9fSmrg	else
8784e8b4ed9fSmrg	  _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'
8785e8b4ed9fSmrg	fi
8786e8b4ed9fSmrg	aix_use_runtimelinking=no
878745bc899bSmrg
8788e8b4ed9fSmrg	# Test if we are trying to use run time linking or normal
8789e8b4ed9fSmrg	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
8790e8b4ed9fSmrg	# have runtime linking enabled, and use it for executables.
8791e8b4ed9fSmrg	# For shared libraries, we enable/disable runtime linking
8792e8b4ed9fSmrg	# depending on the kind of the shared library created -
8793e8b4ed9fSmrg	# when "with_aix_soname,aix_use_runtimelinking" is:
8794e8b4ed9fSmrg	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
8795e8b4ed9fSmrg	# "aix,yes"  lib.so          shared, rtl:yes, for executables
8796e8b4ed9fSmrg	#            lib.a           static archive
8797e8b4ed9fSmrg	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
8798e8b4ed9fSmrg	#            lib.a(lib.so.V) shared, rtl:no,  for executables
8799e8b4ed9fSmrg	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
8800e8b4ed9fSmrg	#            lib.a(lib.so.V) shared, rtl:no
8801e8b4ed9fSmrg	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
8802e8b4ed9fSmrg	#            lib.a           static archive
8803e8b4ed9fSmrg	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
8804e8b4ed9fSmrg	  for ld_flag in $LDFLAGS; do
8805e8b4ed9fSmrg	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
8806e8b4ed9fSmrg	    aix_use_runtimelinking=yes
8807e8b4ed9fSmrg	    break
8808e8b4ed9fSmrg	  fi
8809e8b4ed9fSmrg	  done
8810e8b4ed9fSmrg	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
8811e8b4ed9fSmrg	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
8812e8b4ed9fSmrg	    # so we don't have lib.a shared libs to link our executables.
8813e8b4ed9fSmrg	    # We have to force runtime linking in this case.
8814e8b4ed9fSmrg	    aix_use_runtimelinking=yes
8815e8b4ed9fSmrg	    LDFLAGS="$LDFLAGS -Wl,-brtl"
8816e8b4ed9fSmrg	  fi
8817e8b4ed9fSmrg	  ;;
8818e8b4ed9fSmrg	esac
881945bc899bSmrg
8820e8b4ed9fSmrg	exp_sym_flag='-bexport'
8821e8b4ed9fSmrg	no_entry_flag='-bnoentry'
8822e8b4ed9fSmrg      fi
882345bc899bSmrg
8824e8b4ed9fSmrg      # When large executables or shared objects are built, AIX ld can
8825e8b4ed9fSmrg      # have problems creating the table of contents.  If linking a library
8826e8b4ed9fSmrg      # or program results in "error TOC overflow" add -mminimal-toc to
8827e8b4ed9fSmrg      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
8828e8b4ed9fSmrg      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
882945bc899bSmrg
8830e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)=''
8831e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
8832e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
8833e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
8834e8b4ed9fSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
8835e8b4ed9fSmrg      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
8836e8b4ed9fSmrg      case $with_aix_soname,$aix_use_runtimelinking in
8837e8b4ed9fSmrg      aix,*) ;; # traditional, no import file
8838e8b4ed9fSmrg      svr4,* | *,yes) # use import file
8839e8b4ed9fSmrg	# The Import File defines what to hardcode.
8840e8b4ed9fSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
8841e8b4ed9fSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
8842e8b4ed9fSmrg	;;
8843e8b4ed9fSmrg      esac
884445bc899bSmrg
8845e8b4ed9fSmrg      if test yes = "$GCC"; then
8846e8b4ed9fSmrg	case $host_os in aix4.[[012]]|aix4.[[012]].*)
8847e8b4ed9fSmrg	# We only want to do this on AIX 4.2 and lower, the check
8848e8b4ed9fSmrg	# below for broken collect2 doesn't work under 4.3+
8849e8b4ed9fSmrg	  collect2name=`$CC -print-prog-name=collect2`
8850e8b4ed9fSmrg	  if test -f "$collect2name" &&
8851e8b4ed9fSmrg	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
8852e8b4ed9fSmrg	  then
8853e8b4ed9fSmrg	  # We have reworked collect2
8854e8b4ed9fSmrg	  :
8855e8b4ed9fSmrg	  else
8856e8b4ed9fSmrg	  # We have old collect2
8857e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
8858e8b4ed9fSmrg	  # It fails to find uninstalled libraries when the uninstalled
8859e8b4ed9fSmrg	  # path is not listed in the libpath.  Setting hardcode_minus_L
8860e8b4ed9fSmrg	  # to unsupported forces relinking
8861e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
8862e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8863e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
8864e8b4ed9fSmrg	  fi
8865e8b4ed9fSmrg	  ;;
8866e8b4ed9fSmrg	esac
8867e8b4ed9fSmrg	shared_flag='-shared'
8868e8b4ed9fSmrg	if test yes = "$aix_use_runtimelinking"; then
8869e8b4ed9fSmrg	  shared_flag="$shared_flag "'$wl-G'
8870e8b4ed9fSmrg	fi
8871e8b4ed9fSmrg	# Need to ensure runtime linking is disabled for the traditional
8872e8b4ed9fSmrg	# shared library, or the linker may eventually find shared libraries
8873e8b4ed9fSmrg	# /with/ Import File - we do not want to mix them.
8874e8b4ed9fSmrg	shared_flag_aix='-shared'
8875e8b4ed9fSmrg	shared_flag_svr4='-shared $wl-G'
8876e8b4ed9fSmrg      else
8877e8b4ed9fSmrg	# not using gcc
8878e8b4ed9fSmrg	if test ia64 = "$host_cpu"; then
8879e8b4ed9fSmrg	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
8880e8b4ed9fSmrg	# chokes on -Wl,-G. The following line is correct:
8881e8b4ed9fSmrg	  shared_flag='-G'
8882e8b4ed9fSmrg	else
8883e8b4ed9fSmrg	  if test yes = "$aix_use_runtimelinking"; then
8884e8b4ed9fSmrg	    shared_flag='$wl-G'
8885e8b4ed9fSmrg	  else
8886e8b4ed9fSmrg	    shared_flag='$wl-bM:SRE'
8887e8b4ed9fSmrg	  fi
8888e8b4ed9fSmrg	  shared_flag_aix='$wl-bM:SRE'
8889e8b4ed9fSmrg	  shared_flag_svr4='$wl-G'
8890e8b4ed9fSmrg	fi
8891e8b4ed9fSmrg      fi
889245bc899bSmrg
8893e8b4ed9fSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
8894e8b4ed9fSmrg      # It seems that -bexpall does not export symbols beginning with
8895e8b4ed9fSmrg      # underscore (_), so it is better to generate a list of symbols to export.
8896e8b4ed9fSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
8897e8b4ed9fSmrg      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
8898e8b4ed9fSmrg	# Warning - without using the other runtime loading flags (-brtl),
8899e8b4ed9fSmrg	# -berok will link without error, but may produce a broken library.
8900e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
8901e8b4ed9fSmrg        # Determine the default libpath from the value encoded in an
8902e8b4ed9fSmrg        # empty executable.
8903e8b4ed9fSmrg        _LT_SYS_MODULE_PATH_AIX([$1])
8904e8b4ed9fSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
8905e8b4ed9fSmrg        _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
8906e8b4ed9fSmrg      else
8907e8b4ed9fSmrg	if test ia64 = "$host_cpu"; then
8908e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
8909e8b4ed9fSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
8910e8b4ed9fSmrg	  _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"
8911e8b4ed9fSmrg	else
8912e8b4ed9fSmrg	 # Determine the default libpath from the value encoded in an
8913e8b4ed9fSmrg	 # empty executable.
8914e8b4ed9fSmrg	 _LT_SYS_MODULE_PATH_AIX([$1])
8915e8b4ed9fSmrg	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
8916e8b4ed9fSmrg	  # Warning - without using the other run time loading flags,
8917e8b4ed9fSmrg	  # -berok will link without error, but may produce a broken library.
8918e8b4ed9fSmrg	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
8919e8b4ed9fSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
8920e8b4ed9fSmrg	  if test yes = "$with_gnu_ld"; then
8921e8b4ed9fSmrg	    # We only use this code for GNU lds that support --whole-archive.
8922e8b4ed9fSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
8923e8b4ed9fSmrg	  else
8924e8b4ed9fSmrg	    # Exported symbols can be pulled into shared objects from archives
8925e8b4ed9fSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
8926e8b4ed9fSmrg	  fi
8927e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
8928e8b4ed9fSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
8929e8b4ed9fSmrg	  # -brtl affects multiple linker settings, -berok does not and is overridden later
8930e8b4ed9fSmrg	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
8931e8b4ed9fSmrg	  if test svr4 != "$with_aix_soname"; then
8932e8b4ed9fSmrg	    # This is similar to how AIX traditionally builds its shared libraries.
8933e8b4ed9fSmrg	    _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'
8934e8b4ed9fSmrg	  fi
8935e8b4ed9fSmrg	  if test aix != "$with_aix_soname"; then
8936e8b4ed9fSmrg	    _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'
8937e8b4ed9fSmrg	  else
8938e8b4ed9fSmrg	    # used by -dlpreopen to get the symbols
8939e8b4ed9fSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
8940e8b4ed9fSmrg	  fi
8941e8b4ed9fSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
894250f2e948Smrg	fi
8943e8b4ed9fSmrg      fi
8944226fade8Smrg      ;;
89451ac89addSmrg
8946e8b4ed9fSmrg    amigaos*)
8947e8b4ed9fSmrg      case $host_cpu in
8948e8b4ed9fSmrg      powerpc)
8949e8b4ed9fSmrg            # see comment about AmigaOS4 .so support
8950e8b4ed9fSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
8951e8b4ed9fSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
8952e8b4ed9fSmrg        ;;
8953e8b4ed9fSmrg      m68k)
8954e8b4ed9fSmrg            _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)'
8955e8b4ed9fSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8956e8b4ed9fSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
8957e8b4ed9fSmrg        ;;
8958e8b4ed9fSmrg      esac
8959e8b4ed9fSmrg      ;;
896050f2e948Smrg
8961e8b4ed9fSmrg    bsdi[[45]]*)
8962e8b4ed9fSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
8963f2408745Smrg      ;;
8964e8b4ed9fSmrg
8965e8b4ed9fSmrg    cygwin* | mingw* | pw32* | cegcc*)
8966e8b4ed9fSmrg      # When not using gcc, we currently assume that we are using
8967e8b4ed9fSmrg      # Microsoft Visual C++ or Intel C++ Compiler.
8968e8b4ed9fSmrg      # hardcode_libdir_flag_spec is actually meaningless, as there is
8969e8b4ed9fSmrg      # no search path for DLLs.
8970e8b4ed9fSmrg      case $cc_basename in
8971e8b4ed9fSmrg      cl* | icl*)
8972e8b4ed9fSmrg	# Native MSVC or ICC
8973e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
8974e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8975e8b4ed9fSmrg	_LT_TAGVAR(always_export_symbols, $1)=yes
8976e8b4ed9fSmrg	_LT_TAGVAR(file_list_spec, $1)='@'
8977e8b4ed9fSmrg	# Tell ltmain to make .lib files, not .a files.
8978e8b4ed9fSmrg	libext=lib
8979e8b4ed9fSmrg	# Tell ltmain to make .dll files, not .so files.
8980e8b4ed9fSmrg	shrext_cmds=.dll
8981e8b4ed9fSmrg	# FIXME: Setting linknames here is a bad hack.
8982e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
8983e8b4ed9fSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
8984e8b4ed9fSmrg            cp "$export_symbols" "$output_objdir/$soname.def";
8985e8b4ed9fSmrg            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
8986e8b4ed9fSmrg          else
8987e8b4ed9fSmrg            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
8988e8b4ed9fSmrg          fi~
8989e8b4ed9fSmrg          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
8990e8b4ed9fSmrg          linknames='
8991e8b4ed9fSmrg	# The linker will not automatically build a static lib if we build a DLL.
8992e8b4ed9fSmrg	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
8993e8b4ed9fSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
8994e8b4ed9fSmrg	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
8995e8b4ed9fSmrg	_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'
8996e8b4ed9fSmrg	# Don't use ranlib
8997e8b4ed9fSmrg	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
8998e8b4ed9fSmrg	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
8999e8b4ed9fSmrg          lt_tool_outputfile="@TOOL_OUTPUT@"~
9000e8b4ed9fSmrg          case $lt_outputfile in
9001e8b4ed9fSmrg            *.exe|*.EXE) ;;
9002e8b4ed9fSmrg            *)
9003e8b4ed9fSmrg              lt_outputfile=$lt_outputfile.exe
9004e8b4ed9fSmrg              lt_tool_outputfile=$lt_tool_outputfile.exe
9005e8b4ed9fSmrg              ;;
9006e8b4ed9fSmrg          esac~
9007e8b4ed9fSmrg          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
9008e8b4ed9fSmrg            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
9009e8b4ed9fSmrg            $RM "$lt_outputfile.manifest";
9010e8b4ed9fSmrg          fi'
9011e8b4ed9fSmrg	;;
9012e8b4ed9fSmrg      *)
9013e8b4ed9fSmrg	# Assume MSVC and ICC wrapper
9014e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
9015e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
9016e8b4ed9fSmrg	# Tell ltmain to make .lib files, not .a files.
9017e8b4ed9fSmrg	libext=lib
9018e8b4ed9fSmrg	# Tell ltmain to make .dll files, not .so files.
9019e8b4ed9fSmrg	shrext_cmds=.dll
9020e8b4ed9fSmrg	# FIXME: Setting linknames here is a bad hack.
9021e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
9022e8b4ed9fSmrg	# The linker will automatically build a .lib file if we build a DLL.
9023e8b4ed9fSmrg	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
9024e8b4ed9fSmrg	# FIXME: Should let the user specify the lib program.
9025e8b4ed9fSmrg	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
9026e8b4ed9fSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
9027e8b4ed9fSmrg	;;
9028e8b4ed9fSmrg      esac
9029f2408745Smrg      ;;
9030f2408745Smrg
9031e8b4ed9fSmrg    darwin* | rhapsody*)
9032e8b4ed9fSmrg      _LT_DARWIN_LINKER_FEATURES($1)
9033e8b4ed9fSmrg      ;;
9034f2408745Smrg
9035e8b4ed9fSmrg    dgux*)
9036e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9037e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9038e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9039e8b4ed9fSmrg      ;;
9040f2408745Smrg
9041e8b4ed9fSmrg    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
9042e8b4ed9fSmrg    # support.  Future versions do this automatically, but an explicit c++rt0.o
9043e8b4ed9fSmrg    # does not break anything, and helps significantly (at the cost of a little
9044e8b4ed9fSmrg    # extra space).
9045e8b4ed9fSmrg    freebsd2.2*)
9046e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
9047e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
9048e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9049e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9050e8b4ed9fSmrg      ;;
9051f2408745Smrg
9052e8b4ed9fSmrg    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
9053e8b4ed9fSmrg    freebsd2.*)
9054e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
9055e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9056e8b4ed9fSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
9057e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9058b40a6198Smrg      ;;
90591ac89addSmrg
9060e8b4ed9fSmrg    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
9061e8b4ed9fSmrg    freebsd* | dragonfly* | midnightbsd*)
9062e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9063e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
9064e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9065e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9066e8b4ed9fSmrg      ;;
90671ac89addSmrg
9068e8b4ed9fSmrg    hpux9*)
9069e8b4ed9fSmrg      if test yes = "$GCC"; then
9070e8b4ed9fSmrg	_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'
9071e8b4ed9fSmrg      else
9072e8b4ed9fSmrg	_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'
9073e8b4ed9fSmrg      fi
9074e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
9075e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9076e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
907750f2e948Smrg
9078e8b4ed9fSmrg      # hardcode_minus_L: Not really in the search PATH,
9079e8b4ed9fSmrg      # but as the default location of the library.
9080e8b4ed9fSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
9081e8b4ed9fSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
9082e8b4ed9fSmrg      ;;
908350f2e948Smrg
9084e8b4ed9fSmrg    hpux10*)
9085e8b4ed9fSmrg      if test yes,no = "$GCC,$with_gnu_ld"; then
9086e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
9087e8b4ed9fSmrg      else
9088e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
9089e8b4ed9fSmrg      fi
9090e8b4ed9fSmrg      if test no = "$with_gnu_ld"; then
9091e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
9092e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
9093e8b4ed9fSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
9094e8b4ed9fSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
9095e8b4ed9fSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
9096e8b4ed9fSmrg	# hardcode_minus_L: Not really in the search PATH,
9097e8b4ed9fSmrg	# but as the default location of the library.
9098e8b4ed9fSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
9099e8b4ed9fSmrg      fi
9100e8b4ed9fSmrg      ;;
910150f2e948Smrg
9102e8b4ed9fSmrg    hpux11*)
9103e8b4ed9fSmrg      if test yes,no = "$GCC,$with_gnu_ld"; then
9104e8b4ed9fSmrg	case $host_cpu in
9105e8b4ed9fSmrg	hppa*64*)
9106e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
9107e8b4ed9fSmrg	  ;;
9108e8b4ed9fSmrg	ia64*)
9109e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
9110e8b4ed9fSmrg	  ;;
9111e8b4ed9fSmrg	*)
9112e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
9113e8b4ed9fSmrg	  ;;
9114e8b4ed9fSmrg	esac
9115e8b4ed9fSmrg      else
9116e8b4ed9fSmrg	case $host_cpu in
9117e8b4ed9fSmrg	hppa*64*)
9118e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
9119e8b4ed9fSmrg	  ;;
9120e8b4ed9fSmrg	ia64*)
9121e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
9122e8b4ed9fSmrg	  ;;
9123e8b4ed9fSmrg	*)
9124e8b4ed9fSmrg	m4_if($1, [], [
9125e8b4ed9fSmrg	  # Older versions of the 11.00 compiler do not understand -b yet
9126e8b4ed9fSmrg	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
9127e8b4ed9fSmrg	  _LT_LINKER_OPTION([if $CC understands -b],
9128e8b4ed9fSmrg	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
9129e8b4ed9fSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
9130e8b4ed9fSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
9131e8b4ed9fSmrg	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
9132e8b4ed9fSmrg	  ;;
9133e8b4ed9fSmrg	esac
9134e8b4ed9fSmrg      fi
9135e8b4ed9fSmrg      if test no = "$with_gnu_ld"; then
9136e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
9137e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
913850f2e948Smrg
9139e8b4ed9fSmrg	case $host_cpu in
9140e8b4ed9fSmrg	hppa*64*|ia64*)
9141e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
9142e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9143e8b4ed9fSmrg	  ;;
9144e8b4ed9fSmrg	*)
9145e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
9146e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
9147e8b4ed9fSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
914850f2e948Smrg
9149e8b4ed9fSmrg	  # hardcode_minus_L: Not really in the search PATH,
9150e8b4ed9fSmrg	  # but as the default location of the library.
9151e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
9152e8b4ed9fSmrg	  ;;
9153e8b4ed9fSmrg	esac
9154e8b4ed9fSmrg      fi
9155e8b4ed9fSmrg      ;;
915650f2e948Smrg
9157e8b4ed9fSmrg    irix5* | irix6* | nonstopux*)
9158e8b4ed9fSmrg      if test yes = "$GCC"; then
9159e8b4ed9fSmrg	_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'
9160e8b4ed9fSmrg	# Try to use the -exported_symbol ld option, if it does not
9161e8b4ed9fSmrg	# work, assume that -exports_file does not work either and
9162e8b4ed9fSmrg	# implicitly export all symbols.
9163e8b4ed9fSmrg	# This should be the same for all languages, so no per-tag cache variable.
9164e8b4ed9fSmrg	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
9165e8b4ed9fSmrg	  [lt_cv_irix_exported_symbol],
9166e8b4ed9fSmrg	  [save_LDFLAGS=$LDFLAGS
9167e8b4ed9fSmrg	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
9168e8b4ed9fSmrg	   AC_LINK_IFELSE(
9169e8b4ed9fSmrg	     [AC_LANG_SOURCE(
9170e8b4ed9fSmrg	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
9171e8b4ed9fSmrg			      [C++], [[int foo (void) { return 0; }]],
9172e8b4ed9fSmrg			      [Fortran 77], [[
9173e8b4ed9fSmrg      subroutine foo
9174e8b4ed9fSmrg      end]],
9175e8b4ed9fSmrg			      [Fortran], [[
9176e8b4ed9fSmrg      subroutine foo
9177e8b4ed9fSmrg      end]])])],
9178e8b4ed9fSmrg	      [lt_cv_irix_exported_symbol=yes],
9179e8b4ed9fSmrg	      [lt_cv_irix_exported_symbol=no])
9180e8b4ed9fSmrg           LDFLAGS=$save_LDFLAGS])
9181e8b4ed9fSmrg	if test yes = "$lt_cv_irix_exported_symbol"; then
9182e8b4ed9fSmrg          _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'
9183e8b4ed9fSmrg	fi
9184e8b4ed9fSmrg      else
9185e8b4ed9fSmrg	_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'
9186e8b4ed9fSmrg	_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'
9187e8b4ed9fSmrg      fi
9188e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
9189e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9190e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9191e8b4ed9fSmrg      _LT_TAGVAR(inherit_rpath, $1)=yes
9192e8b4ed9fSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
9193e8b4ed9fSmrg      ;;
91945592a31fSmrg
9195e8b4ed9fSmrg    linux*)
9196e8b4ed9fSmrg      case $cc_basename in
9197e8b4ed9fSmrg      tcc*)
9198e8b4ed9fSmrg	# Fabrice Bellard et al's Tiny C Compiler
9199e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
9200e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9201e8b4ed9fSmrg	;;
9202e8b4ed9fSmrg      esac
9203e8b4ed9fSmrg      ;;
92045592a31fSmrg
9205e8b4ed9fSmrg    netbsd*)
9206e8b4ed9fSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
9207e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
9208e8b4ed9fSmrg      else
9209e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
9210e8b4ed9fSmrg      fi
9211e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
9212e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9213e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9214e8b4ed9fSmrg      ;;
92155592a31fSmrg
9216e8b4ed9fSmrg    newsos6)
9217e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9218e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9219e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9220e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9221e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9222e8b4ed9fSmrg      ;;
92235592a31fSmrg
9224e8b4ed9fSmrg    *nto* | *qnx*)
9225e8b4ed9fSmrg      ;;
92265592a31fSmrg
9227e8b4ed9fSmrg    openbsd* | bitrig*)
9228e8b4ed9fSmrg      if test -f /usr/libexec/ld.so; then
9229e8b4ed9fSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
9230e8b4ed9fSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9231e8b4ed9fSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
9232e8b4ed9fSmrg	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
9233e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9234e8b4ed9fSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
9235e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
9236e8b4ed9fSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
9237e8b4ed9fSmrg	else
9238e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
9239e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
9240e8b4ed9fSmrg	fi
9241e8b4ed9fSmrg      else
9242e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
9243e8b4ed9fSmrg      fi
9244e8b4ed9fSmrg      ;;
92455592a31fSmrg
9246e8b4ed9fSmrg    os2*)
9247e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9248e8b4ed9fSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
9249e8b4ed9fSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
9250e8b4ed9fSmrg      shrext_cmds=.dll
9251e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
9252e8b4ed9fSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
9253e8b4ed9fSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
9254e8b4ed9fSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
9255e8b4ed9fSmrg	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
9256e8b4ed9fSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
9257e8b4ed9fSmrg	emximp -o $lib $output_objdir/$libname.def'
9258e8b4ed9fSmrg      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
9259e8b4ed9fSmrg	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
9260e8b4ed9fSmrg	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
9261e8b4ed9fSmrg	$ECHO EXPORTS >> $output_objdir/$libname.def~
9262e8b4ed9fSmrg	prefix_cmds="$SED"~
9263e8b4ed9fSmrg	if test EXPORTS = "`$SED 1q $export_symbols`"; then
9264e8b4ed9fSmrg	  prefix_cmds="$prefix_cmds -e 1d";
9265e8b4ed9fSmrg	fi~
9266e8b4ed9fSmrg	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
9267e8b4ed9fSmrg	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
9268e8b4ed9fSmrg	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
9269e8b4ed9fSmrg	emximp -o $lib $output_objdir/$libname.def'
9270e8b4ed9fSmrg      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
9271e8b4ed9fSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
9272e8b4ed9fSmrg      _LT_TAGVAR(file_list_spec, $1)='@'
9273e8b4ed9fSmrg      ;;
92745592a31fSmrg
9275e8b4ed9fSmrg    osf3*)
9276e8b4ed9fSmrg      if test yes = "$GCC"; then
9277e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
9278e8b4ed9fSmrg	_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'
9279e8b4ed9fSmrg      else
9280e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
9281e8b4ed9fSmrg	_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'
9282e8b4ed9fSmrg      fi
9283e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
9284e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9285e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9286e8b4ed9fSmrg      ;;
92875592a31fSmrg
9288e8b4ed9fSmrg    osf4* | osf5*)	# as osf3* with the addition of -msym flag
9289e8b4ed9fSmrg      if test yes = "$GCC"; then
9290e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
9291e8b4ed9fSmrg	_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'
9292e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9293e8b4ed9fSmrg      else
9294e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
9295e8b4ed9fSmrg	_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'
9296e8b4ed9fSmrg	_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~
9297e8b4ed9fSmrg          $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'
92985592a31fSmrg
9299e8b4ed9fSmrg	# Both c and cxx compiler support -rpath directly
9300e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
9301e8b4ed9fSmrg      fi
9302e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
9303e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
9304e8b4ed9fSmrg      ;;
93055592a31fSmrg
9306e8b4ed9fSmrg    solaris*)
9307e8b4ed9fSmrg      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
9308e8b4ed9fSmrg      if test yes = "$GCC"; then
9309e8b4ed9fSmrg	wlarc='$wl'
9310e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
9311e8b4ed9fSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9312e8b4ed9fSmrg          $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'
9313e8b4ed9fSmrg      else
9314e8b4ed9fSmrg	case `$CC -V 2>&1` in
9315e8b4ed9fSmrg	*"Compilers 5.0"*)
9316e8b4ed9fSmrg	  wlarc=''
9317e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
9318e8b4ed9fSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9319e8b4ed9fSmrg            $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
9320e8b4ed9fSmrg	  ;;
9321e8b4ed9fSmrg	*)
9322e8b4ed9fSmrg	  wlarc='$wl'
9323e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
9324e8b4ed9fSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
9325e8b4ed9fSmrg            $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
9326e8b4ed9fSmrg	  ;;
9327e8b4ed9fSmrg	esac
9328e8b4ed9fSmrg      fi
9329e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
9330e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9331e8b4ed9fSmrg      case $host_os in
9332e8b4ed9fSmrg      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
9333e8b4ed9fSmrg      *)
9334e8b4ed9fSmrg	# The compiler driver will combine and reorder linker options,
9335e8b4ed9fSmrg	# but understands '-z linker_flag'.  GCC discards it without '$wl',
9336e8b4ed9fSmrg	# but is careful enough not to reorder.
9337e8b4ed9fSmrg	# Supported since Solaris 2.6 (maybe 2.5.1?)
9338e8b4ed9fSmrg	if test yes = "$GCC"; then
9339e8b4ed9fSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
9340e8b4ed9fSmrg	else
9341e8b4ed9fSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
9342e8b4ed9fSmrg	fi
9343e8b4ed9fSmrg	;;
9344e8b4ed9fSmrg      esac
9345e8b4ed9fSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
9346e8b4ed9fSmrg      ;;
93475592a31fSmrg
9348e8b4ed9fSmrg    sunos4*)
9349e8b4ed9fSmrg      if test sequent = "$host_vendor"; then
9350e8b4ed9fSmrg	# Use $CC to link under sequent, because it throws in some extra .o
9351e8b4ed9fSmrg	# files that make .init and .fini sections work.
9352e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
9353e8b4ed9fSmrg      else
9354e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
9355e8b4ed9fSmrg      fi
9356e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9357e8b4ed9fSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
9358e8b4ed9fSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
9359e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9360e8b4ed9fSmrg      ;;
93615592a31fSmrg
9362e8b4ed9fSmrg    sysv4)
9363e8b4ed9fSmrg      case $host_vendor in
9364e8b4ed9fSmrg	sni)
9365e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9366e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
9367e8b4ed9fSmrg	;;
9368e8b4ed9fSmrg	siemens)
9369e8b4ed9fSmrg	  ## LD is ld it makes a PLAMLIB
9370e8b4ed9fSmrg	  ## CC just makes a GrossModule.
9371e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
9372e8b4ed9fSmrg	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
9373e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
9374e8b4ed9fSmrg        ;;
9375e8b4ed9fSmrg	motorola)
9376e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9377e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
9378e8b4ed9fSmrg	;;
9379e8b4ed9fSmrg      esac
9380e8b4ed9fSmrg      runpath_var='LD_RUN_PATH'
9381e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9382e8b4ed9fSmrg      ;;
93835592a31fSmrg
9384e8b4ed9fSmrg    sysv4.3*)
9385e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9386e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9387e8b4ed9fSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
9388e8b4ed9fSmrg      ;;
93895592a31fSmrg
9390e8b4ed9fSmrg    sysv4*MP*)
9391e8b4ed9fSmrg      if test -d /usr/nec; then
9392e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9393e8b4ed9fSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9394e8b4ed9fSmrg	runpath_var=LD_RUN_PATH
9395e8b4ed9fSmrg	hardcode_runpath_var=yes
9396e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
9397e8b4ed9fSmrg      fi
9398e8b4ed9fSmrg      ;;
93995592a31fSmrg
9400e8b4ed9fSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
9401e8b4ed9fSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
9402e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
9403e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9404e8b4ed9fSmrg      runpath_var='LD_RUN_PATH'
940545bc899bSmrg
9406e8b4ed9fSmrg      if test yes = "$GCC"; then
9407e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9408e8b4ed9fSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9409e8b4ed9fSmrg      else
9410e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9411e8b4ed9fSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9412e8b4ed9fSmrg      fi
9413e8b4ed9fSmrg      ;;
941445bc899bSmrg
9415e8b4ed9fSmrg    sysv5* | sco3.2v5* | sco5v6*)
9416e8b4ed9fSmrg      # Note: We CANNOT use -z defs as we might desire, because we do not
9417e8b4ed9fSmrg      # link with -lc, and that would cause any symbols used from libc to
9418e8b4ed9fSmrg      # always be unresolved, which means just about no library would
9419e8b4ed9fSmrg      # ever link correctly.  If we're not using GNU ld we use -z text
9420e8b4ed9fSmrg      # though, which does catch some bad symbols but isn't as heavy-handed
9421e8b4ed9fSmrg      # as -z defs.
9422e8b4ed9fSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
9423e8b4ed9fSmrg      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
9424e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
9425e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9426e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
9427e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
9428e8b4ed9fSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
9429e8b4ed9fSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
9430e8b4ed9fSmrg      runpath_var='LD_RUN_PATH'
943145bc899bSmrg
9432e8b4ed9fSmrg      if test yes = "$GCC"; then
9433e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9434e8b4ed9fSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9435e8b4ed9fSmrg      else
9436e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9437e8b4ed9fSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
9438e8b4ed9fSmrg      fi
9439e8b4ed9fSmrg      ;;
944045bc899bSmrg
9441e8b4ed9fSmrg    uts4*)
9442e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
9443e8b4ed9fSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9444e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
9445e8b4ed9fSmrg      ;;
944645bc899bSmrg
9447e8b4ed9fSmrg    *)
9448e8b4ed9fSmrg      _LT_TAGVAR(ld_shlibs, $1)=no
9449e8b4ed9fSmrg      ;;
9450e8b4ed9fSmrg    esac
94511ac89addSmrg
9452e8b4ed9fSmrg    if test sni = "$host_vendor"; then
9453e8b4ed9fSmrg      case $host in
9454e8b4ed9fSmrg      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
9455e8b4ed9fSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
9456e8b4ed9fSmrg	;;
9457e8b4ed9fSmrg      esac
9458e8b4ed9fSmrg    fi
9459e8b4ed9fSmrg  fi
9460e8b4ed9fSmrg])
9461e8b4ed9fSmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
9462e8b4ed9fSmrgtest no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
946345bc899bSmrg
9464e8b4ed9fSmrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
94655592a31fSmrg
9466e8b4ed9fSmrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
9467e8b4ed9fSmrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
9468e8b4ed9fSmrg_LT_DECL([], [extract_expsyms_cmds], [2],
9469e8b4ed9fSmrg    [The commands to extract the exported symbol list from a shared archive])
947050f2e948Smrg
94715592a31fSmrg#
9472e8b4ed9fSmrg# Do we need to explicitly link libc?
94735592a31fSmrg#
9474e8b4ed9fSmrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
9475e8b4ed9fSmrgx|xyes)
9476e8b4ed9fSmrg  # Assume -lc should be added
9477e8b4ed9fSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
947850f2e948Smrg
9479e8b4ed9fSmrg  if test yes,yes = "$GCC,$enable_shared"; then
9480e8b4ed9fSmrg    case $_LT_TAGVAR(archive_cmds, $1) in
9481e8b4ed9fSmrg    *'~'*)
9482e8b4ed9fSmrg      # FIXME: we may have to deal with multi-command sequences.
9483e8b4ed9fSmrg      ;;
9484e8b4ed9fSmrg    '$CC '*)
9485e8b4ed9fSmrg      # Test whether the compiler implicitly links with -lc since on some
9486e8b4ed9fSmrg      # systems, -lgcc has to come before -lc. If gcc already passes -lc
9487e8b4ed9fSmrg      # to ld, don't add -lc before -lgcc.
9488e8b4ed9fSmrg      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
9489e8b4ed9fSmrg	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
9490e8b4ed9fSmrg	[$RM conftest*
9491e8b4ed9fSmrg	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
949250f2e948Smrg
9493e8b4ed9fSmrg	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
9494e8b4ed9fSmrg	  soname=conftest
9495e8b4ed9fSmrg	  lib=conftest
9496e8b4ed9fSmrg	  libobjs=conftest.$ac_objext
9497e8b4ed9fSmrg	  deplibs=
9498e8b4ed9fSmrg	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
9499e8b4ed9fSmrg	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
9500e8b4ed9fSmrg	  compiler_flags=-v
9501e8b4ed9fSmrg	  linker_flags=-v
9502e8b4ed9fSmrg	  verstring=
9503e8b4ed9fSmrg	  output_objdir=.
9504e8b4ed9fSmrg	  libname=conftest
9505e8b4ed9fSmrg	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
9506e8b4ed9fSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=
9507e8b4ed9fSmrg	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
9508e8b4ed9fSmrg	  then
9509e8b4ed9fSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
9510e8b4ed9fSmrg	  else
9511e8b4ed9fSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
9512e8b4ed9fSmrg	  fi
9513e8b4ed9fSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
9514e8b4ed9fSmrg	else
9515e8b4ed9fSmrg	  cat conftest.err 1>&5
9516e8b4ed9fSmrg	fi
9517e8b4ed9fSmrg	$RM conftest*
9518e8b4ed9fSmrg	])
9519e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
9520e8b4ed9fSmrg      ;;
9521e8b4ed9fSmrg    esac
9522e8b4ed9fSmrg  fi
9523e8b4ed9fSmrg  ;;
9524e8b4ed9fSmrgesac
9525e8b4ed9fSmrg
9526e8b4ed9fSmrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
9527e8b4ed9fSmrg    [Whether or not to add -lc for building shared libraries])
9528e8b4ed9fSmrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
9529e8b4ed9fSmrg    [enable_shared_with_static_runtimes], [0],
9530e8b4ed9fSmrg    [Whether or not to disallow shared libs when runtime libs are static])
9531e8b4ed9fSmrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
9532e8b4ed9fSmrg    [Compiler flag to allow reflexive dlopens])
9533e8b4ed9fSmrg_LT_TAGDECL([], [whole_archive_flag_spec], [1],
9534e8b4ed9fSmrg    [Compiler flag to generate shared objects directly from archives])
9535e8b4ed9fSmrg_LT_TAGDECL([], [compiler_needs_object], [1],
9536e8b4ed9fSmrg    [Whether the compiler copes with passing no objects directly])
9537e8b4ed9fSmrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
9538e8b4ed9fSmrg    [Create an old-style archive from a shared archive])
9539e8b4ed9fSmrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
9540e8b4ed9fSmrg    [Create a temporary old-style archive to link instead of a shared archive])
9541e8b4ed9fSmrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
9542e8b4ed9fSmrg_LT_TAGDECL([], [archive_expsym_cmds], [2])
9543e8b4ed9fSmrg_LT_TAGDECL([], [module_cmds], [2],
9544e8b4ed9fSmrg    [Commands used to build a loadable module if different from building
9545e8b4ed9fSmrg    a shared archive.])
9546e8b4ed9fSmrg_LT_TAGDECL([], [module_expsym_cmds], [2])
9547e8b4ed9fSmrg_LT_TAGDECL([], [with_gnu_ld], [1],
9548e8b4ed9fSmrg    [Whether we are building with GNU ld or not])
9549e8b4ed9fSmrg_LT_TAGDECL([], [allow_undefined_flag], [1],
9550e8b4ed9fSmrg    [Flag that allows shared libraries with undefined symbols to be built])
9551e8b4ed9fSmrg_LT_TAGDECL([], [no_undefined_flag], [1],
9552e8b4ed9fSmrg    [Flag that enforces no undefined symbols])
9553e8b4ed9fSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
9554e8b4ed9fSmrg    [Flag to hardcode $libdir into a binary during linking.
9555e8b4ed9fSmrg    This must work even if $libdir does not exist])
9556e8b4ed9fSmrg_LT_TAGDECL([], [hardcode_libdir_separator], [1],
9557e8b4ed9fSmrg    [Whether we need a single "-rpath" flag with a separated argument])
9558e8b4ed9fSmrg_LT_TAGDECL([], [hardcode_direct], [0],
9559e8b4ed9fSmrg    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
9560e8b4ed9fSmrg    DIR into the resulting binary])
9561e8b4ed9fSmrg_LT_TAGDECL([], [hardcode_direct_absolute], [0],
9562e8b4ed9fSmrg    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
9563e8b4ed9fSmrg    DIR into the resulting binary and the resulting library dependency is
9564e8b4ed9fSmrg    "absolute", i.e impossible to change by setting $shlibpath_var if the
9565e8b4ed9fSmrg    library is relocated])
9566e8b4ed9fSmrg_LT_TAGDECL([], [hardcode_minus_L], [0],
9567e8b4ed9fSmrg    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
9568e8b4ed9fSmrg    into the resulting binary])
9569e8b4ed9fSmrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
9570e8b4ed9fSmrg    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
9571e8b4ed9fSmrg    into the resulting binary])
9572e8b4ed9fSmrg_LT_TAGDECL([], [hardcode_automatic], [0],
9573e8b4ed9fSmrg    [Set to "yes" if building a shared library automatically hardcodes DIR
9574e8b4ed9fSmrg    into the library and all subsequent libraries and executables linked
9575e8b4ed9fSmrg    against it])
9576e8b4ed9fSmrg_LT_TAGDECL([], [inherit_rpath], [0],
9577e8b4ed9fSmrg    [Set to yes if linker adds runtime paths of dependent libraries
9578e8b4ed9fSmrg    to runtime path list])
9579e8b4ed9fSmrg_LT_TAGDECL([], [link_all_deplibs], [0],
9580e8b4ed9fSmrg    [Whether libtool must link a program against all its dependency libraries])
9581e8b4ed9fSmrg_LT_TAGDECL([], [always_export_symbols], [0],
9582e8b4ed9fSmrg    [Set to "yes" if exported symbols are required])
9583e8b4ed9fSmrg_LT_TAGDECL([], [export_symbols_cmds], [2],
9584e8b4ed9fSmrg    [The commands to list exported symbols])
9585e8b4ed9fSmrg_LT_TAGDECL([], [exclude_expsyms], [1],
9586e8b4ed9fSmrg    [Symbols that should not be listed in the preloaded symbols])
9587e8b4ed9fSmrg_LT_TAGDECL([], [include_expsyms], [1],
9588e8b4ed9fSmrg    [Symbols that must always be exported])
9589e8b4ed9fSmrg_LT_TAGDECL([], [prelink_cmds], [2],
9590e8b4ed9fSmrg    [Commands necessary for linking programs (against libraries) with templates])
9591e8b4ed9fSmrg_LT_TAGDECL([], [postlink_cmds], [2],
9592e8b4ed9fSmrg    [Commands necessary for finishing linking programs])
9593e8b4ed9fSmrg_LT_TAGDECL([], [file_list_spec], [1],
9594e8b4ed9fSmrg    [Specify filename containing input files])
9595e8b4ed9fSmrgdnl FIXME: Not yet implemented
9596e8b4ed9fSmrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
9597e8b4ed9fSmrgdnl    [Compiler flag to generate thread safe objects])
9598e8b4ed9fSmrg])# _LT_LINKER_SHLIBS
959950f2e948Smrg
960050f2e948Smrg
9601e8b4ed9fSmrg# _LT_LANG_C_CONFIG([TAG])
9602e8b4ed9fSmrg# ------------------------
9603e8b4ed9fSmrg# Ensure that the configuration variables for a C compiler are suitably
9604e8b4ed9fSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
9605e8b4ed9fSmrg# the compiler configuration to 'libtool'.
9606e8b4ed9fSmrgm4_defun([_LT_LANG_C_CONFIG],
9607e8b4ed9fSmrg[m4_require([_LT_DECL_EGREP])dnl
9608e8b4ed9fSmrglt_save_CC=$CC
9609e8b4ed9fSmrgAC_LANG_PUSH(C)
961050f2e948Smrg
9611e8b4ed9fSmrg# Source file extension for C test sources.
9612e8b4ed9fSmrgac_ext=c
9613e8b4ed9fSmrg
9614e8b4ed9fSmrg# Object file extension for compiled C test sources.
9615e8b4ed9fSmrgobjext=o
9616e8b4ed9fSmrg_LT_TAGVAR(objext, $1)=$objext
9617e8b4ed9fSmrg
9618e8b4ed9fSmrg# Code to be used in simple compile tests
9619e8b4ed9fSmrglt_simple_compile_test_code="int some_variable = 0;"
9620e8b4ed9fSmrg
9621e8b4ed9fSmrg# Code to be used in simple link tests
9622e8b4ed9fSmrglt_simple_link_test_code='int main(){return(0);}'
96235592a31fSmrg
9624e8b4ed9fSmrg_LT_TAG_COMPILER
9625e8b4ed9fSmrg# Save the default compiler, since it gets overwritten when the other
9626e8b4ed9fSmrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
9627e8b4ed9fSmrgcompiler_DEFAULT=$CC
96285592a31fSmrg
9629e8b4ed9fSmrg# save warnings/boilerplate of simple test code
9630e8b4ed9fSmrg_LT_COMPILER_BOILERPLATE
9631e8b4ed9fSmrg_LT_LINKER_BOILERPLATE
96325592a31fSmrg
9633e8b4ed9fSmrgif test -n "$compiler"; then
9634e8b4ed9fSmrg  _LT_COMPILER_NO_RTTI($1)
9635e8b4ed9fSmrg  _LT_COMPILER_PIC($1)
9636e8b4ed9fSmrg  _LT_COMPILER_C_O($1)
9637e8b4ed9fSmrg  _LT_COMPILER_FILE_LOCKS($1)
9638e8b4ed9fSmrg  _LT_LINKER_SHLIBS($1)
9639e8b4ed9fSmrg  _LT_SYS_DYNAMIC_LINKER($1)
9640e8b4ed9fSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
9641e8b4ed9fSmrg  LT_SYS_DLOPEN_SELF
9642e8b4ed9fSmrg  _LT_CMD_STRIPLIB
96435592a31fSmrg
9644e8b4ed9fSmrg  # Report what library types will actually be built
9645e8b4ed9fSmrg  AC_MSG_CHECKING([if libtool supports shared libraries])
9646e8b4ed9fSmrg  AC_MSG_RESULT([$can_build_shared])
96475592a31fSmrg
9648e8b4ed9fSmrg  AC_MSG_CHECKING([whether to build shared libraries])
9649e8b4ed9fSmrg  test no = "$can_build_shared" && enable_shared=no
965045bc899bSmrg
9651e8b4ed9fSmrg  # On AIX, shared libraries and static libraries use the same namespace, and
9652e8b4ed9fSmrg  # are all built from PIC.
9653e8b4ed9fSmrg  case $host_os in
9654e8b4ed9fSmrg  aix3*)
9655e8b4ed9fSmrg    test yes = "$enable_shared" && enable_static=no
9656e8b4ed9fSmrg    if test -n "$RANLIB"; then
9657e8b4ed9fSmrg      archive_cmds="$archive_cmds~\$RANLIB \$lib"
9658e8b4ed9fSmrg      postinstall_cmds='$RANLIB $lib'
9659e8b4ed9fSmrg    fi
9660e8b4ed9fSmrg    ;;
9661f2408745Smrg
9662e8b4ed9fSmrg  aix[[4-9]]*)
9663e8b4ed9fSmrg    if test ia64 != "$host_cpu"; then
9664e8b4ed9fSmrg      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
9665e8b4ed9fSmrg      yes,aix,yes) ;;			# shared object as lib.so file only
9666e8b4ed9fSmrg      yes,svr4,*) ;;			# shared object as lib.so archive member only
9667e8b4ed9fSmrg      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
9668e8b4ed9fSmrg      esac
9669e8b4ed9fSmrg    fi
9670e8b4ed9fSmrg    ;;
9671e8b4ed9fSmrg  esac
9672e8b4ed9fSmrg  AC_MSG_RESULT([$enable_shared])
9673f2408745Smrg
9674e8b4ed9fSmrg  AC_MSG_CHECKING([whether to build static libraries])
9675e8b4ed9fSmrg  # Make sure either enable_shared or enable_static is yes.
9676e8b4ed9fSmrg  test yes = "$enable_shared" || enable_static=yes
9677e8b4ed9fSmrg  AC_MSG_RESULT([$enable_static])
9678b40a6198Smrg
9679e8b4ed9fSmrg  _LT_CONFIG($1)
968045bc899bSmrgfi
9681e8b4ed9fSmrgAC_LANG_POP
9682e8b4ed9fSmrgCC=$lt_save_CC
9683e8b4ed9fSmrg])# _LT_LANG_C_CONFIG
968445bc899bSmrg
968545bc899bSmrg
9686e8b4ed9fSmrg# _LT_LANG_CXX_CONFIG([TAG])
9687e8b4ed9fSmrg# --------------------------
9688e8b4ed9fSmrg# Ensure that the configuration variables for a C++ compiler are suitably
9689e8b4ed9fSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
9690e8b4ed9fSmrg# the compiler configuration to 'libtool'.
9691e8b4ed9fSmrgm4_defun([_LT_LANG_CXX_CONFIG],
9692e8b4ed9fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
9693e8b4ed9fSmrgm4_require([_LT_DECL_EGREP])dnl
9694e8b4ed9fSmrgm4_require([_LT_PATH_MANIFEST_TOOL])dnl
9695e8b4ed9fSmrgif test -n "$CXX" && ( test no != "$CXX" &&
9696e8b4ed9fSmrg    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
9697e8b4ed9fSmrg    (test g++ != "$CXX"))); then
9698e8b4ed9fSmrg  AC_PROG_CXXCPP
969945bc899bSmrgelse
9700e8b4ed9fSmrg  _lt_caught_CXX_error=yes
9701e8b4ed9fSmrgfi
970245bc899bSmrg
9703e8b4ed9fSmrgAC_LANG_PUSH(C++)
9704e8b4ed9fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
9705e8b4ed9fSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
9706e8b4ed9fSmrg_LT_TAGVAR(always_export_symbols, $1)=no
9707e8b4ed9fSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
9708e8b4ed9fSmrg_LT_TAGVAR(compiler_needs_object, $1)=no
9709e8b4ed9fSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
9710e8b4ed9fSmrg_LT_TAGVAR(hardcode_direct, $1)=no
9711e8b4ed9fSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
9712e8b4ed9fSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
9713e8b4ed9fSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
9714e8b4ed9fSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
9715e8b4ed9fSmrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
9716e8b4ed9fSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
9717e8b4ed9fSmrg_LT_TAGVAR(inherit_rpath, $1)=no
9718e8b4ed9fSmrg_LT_TAGVAR(module_cmds, $1)=
9719e8b4ed9fSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
9720e8b4ed9fSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
9721e8b4ed9fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
9722e8b4ed9fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
9723e8b4ed9fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
9724e8b4ed9fSmrg_LT_TAGVAR(no_undefined_flag, $1)=
9725e8b4ed9fSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
9726e8b4ed9fSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
972745bc899bSmrg
9728e8b4ed9fSmrg# Source file extension for C++ test sources.
9729e8b4ed9fSmrgac_ext=cpp
973045bc899bSmrg
9731e8b4ed9fSmrg# Object file extension for compiled C++ test sources.
9732e8b4ed9fSmrgobjext=o
9733e8b4ed9fSmrg_LT_TAGVAR(objext, $1)=$objext
973445bc899bSmrg
9735e8b4ed9fSmrg# No sense in running all these tests if we already determined that
9736e8b4ed9fSmrg# the CXX compiler isn't working.  Some variables (like enable_shared)
9737e8b4ed9fSmrg# are currently assumed to apply to all compilers on this platform,
9738e8b4ed9fSmrg# and will be corrupted by setting them based on a non-working compiler.
9739e8b4ed9fSmrgif test yes != "$_lt_caught_CXX_error"; then
9740e8b4ed9fSmrg  # Code to be used in simple compile tests
9741e8b4ed9fSmrg  lt_simple_compile_test_code="int some_variable = 0;"
974245bc899bSmrg
9743e8b4ed9fSmrg  # Code to be used in simple link tests
9744e8b4ed9fSmrg  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
974545bc899bSmrg
9746e8b4ed9fSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
9747e8b4ed9fSmrg  _LT_TAG_COMPILER
974845bc899bSmrg
9749e8b4ed9fSmrg  # save warnings/boilerplate of simple test code
9750e8b4ed9fSmrg  _LT_COMPILER_BOILERPLATE
9751e8b4ed9fSmrg  _LT_LINKER_BOILERPLATE
975245bc899bSmrg
9753e8b4ed9fSmrg  # Allow CC to be a program name with arguments.
9754e8b4ed9fSmrg  lt_save_CC=$CC
9755e8b4ed9fSmrg  lt_save_CFLAGS=$CFLAGS
9756e8b4ed9fSmrg  lt_save_LD=$LD
9757e8b4ed9fSmrg  lt_save_GCC=$GCC
9758e8b4ed9fSmrg  GCC=$GXX
9759e8b4ed9fSmrg  lt_save_with_gnu_ld=$with_gnu_ld
9760e8b4ed9fSmrg  lt_save_path_LD=$lt_cv_path_LD
9761e8b4ed9fSmrg  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
9762e8b4ed9fSmrg    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
9763e8b4ed9fSmrg  else
9764e8b4ed9fSmrg    $as_unset lt_cv_prog_gnu_ld
9765e8b4ed9fSmrg  fi
9766e8b4ed9fSmrg  if test -n "${lt_cv_path_LDCXX+set}"; then
9767e8b4ed9fSmrg    lt_cv_path_LD=$lt_cv_path_LDCXX
9768e8b4ed9fSmrg  else
9769e8b4ed9fSmrg    $as_unset lt_cv_path_LD
9770e8b4ed9fSmrg  fi
9771e8b4ed9fSmrg  test -z "${LDCXX+set}" || LD=$LDCXX
9772e8b4ed9fSmrg  CC=${CXX-"c++"}
9773e8b4ed9fSmrg  CFLAGS=$CXXFLAGS
9774e8b4ed9fSmrg  compiler=$CC
9775e8b4ed9fSmrg  _LT_TAGVAR(compiler, $1)=$CC
9776e8b4ed9fSmrg  _LT_CC_BASENAME([$compiler])
977745bc899bSmrg
9778e8b4ed9fSmrg  if test -n "$compiler"; then
9779e8b4ed9fSmrg    # We don't want -fno-exception when compiling C++ code, so set the
9780e8b4ed9fSmrg    # no_builtin_flag separately
9781e8b4ed9fSmrg    if test yes = "$GXX"; then
9782e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
9783e8b4ed9fSmrg    else
9784e8b4ed9fSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
9785e8b4ed9fSmrg    fi
978645bc899bSmrg
9787e8b4ed9fSmrg    if test yes = "$GXX"; then
9788e8b4ed9fSmrg      # Set up default GNU C++ configuration
978945bc899bSmrg
9790e8b4ed9fSmrg      LT_PATH_LD
979145bc899bSmrg
9792e8b4ed9fSmrg      # Check if GNU C++ uses GNU ld as the underlying linker, since the
9793e8b4ed9fSmrg      # archiving commands below assume that GNU ld is being used.
9794e8b4ed9fSmrg      if test yes = "$with_gnu_ld"; then
9795e8b4ed9fSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
9796e8b4ed9fSmrg        _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'
979745bc899bSmrg
9798e8b4ed9fSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
9799e8b4ed9fSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
980057ba8e8bSmrg
9801e8b4ed9fSmrg        # If archive_cmds runs LD, not CC, wlarc should be empty
9802e8b4ed9fSmrg        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
9803e8b4ed9fSmrg        #     investigate it a little bit more. (MM)
9804e8b4ed9fSmrg        wlarc='$wl'
9805f2408745Smrg
9806e8b4ed9fSmrg        # ancient GNU ld didn't support --whole-archive et. al.
9807e8b4ed9fSmrg        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
9808e8b4ed9fSmrg	  $GREP 'no-whole-archive' > /dev/null; then
9809e8b4ed9fSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
9810e8b4ed9fSmrg        else
9811e8b4ed9fSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=
9812e8b4ed9fSmrg        fi
9813e8b4ed9fSmrg      else
9814e8b4ed9fSmrg        with_gnu_ld=no
9815e8b4ed9fSmrg        wlarc=
9816f2408745Smrg
9817e8b4ed9fSmrg        # A generic and very simple default shared library creation
9818e8b4ed9fSmrg        # command for GNU C++ for the case where it uses the native
9819e8b4ed9fSmrg        # linker, instead of GNU ld.  If possible, this setting should
9820e8b4ed9fSmrg        # overridden to take advantage of the native linker features on
9821e8b4ed9fSmrg        # the platform it is being used on.
9822e8b4ed9fSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
9823e8b4ed9fSmrg      fi
982457ba8e8bSmrg
9825e8b4ed9fSmrg      # Commands to make compiler produce verbose output that lists
9826e8b4ed9fSmrg      # what "hidden" libraries, object files and flags are used when
9827e8b4ed9fSmrg      # linking a shared library.
9828e8b4ed9fSmrg      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
982957ba8e8bSmrg
9830e8b4ed9fSmrg    else
9831e8b4ed9fSmrg      GXX=no
9832e8b4ed9fSmrg      with_gnu_ld=no
9833e8b4ed9fSmrg      wlarc=
9834e8b4ed9fSmrg    fi
9835e8b4ed9fSmrg
9836e8b4ed9fSmrg    # PORTME: fill in a description of your system's C++ link characteristics
9837e8b4ed9fSmrg    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
9838e8b4ed9fSmrg    _LT_TAGVAR(ld_shlibs, $1)=yes
9839e8b4ed9fSmrg    case $host_os in
9840e8b4ed9fSmrg      aix3*)
9841e8b4ed9fSmrg        # FIXME: insert proper C++ library support
9842e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
9843e8b4ed9fSmrg        ;;
9844e8b4ed9fSmrg      aix[[4-9]]*)
9845e8b4ed9fSmrg        if test ia64 = "$host_cpu"; then
9846e8b4ed9fSmrg          # On IA64, the linker does run time linking by default, so we don't
9847e8b4ed9fSmrg          # have to do anything special.
9848e8b4ed9fSmrg          aix_use_runtimelinking=no
9849e8b4ed9fSmrg          exp_sym_flag='-Bexport'
9850e8b4ed9fSmrg          no_entry_flag=
9851e8b4ed9fSmrg        else
9852e8b4ed9fSmrg          aix_use_runtimelinking=no
985357ba8e8bSmrg
9854e8b4ed9fSmrg          # Test if we are trying to use run time linking or normal
9855e8b4ed9fSmrg          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
9856e8b4ed9fSmrg          # have runtime linking enabled, and use it for executables.
9857e8b4ed9fSmrg          # For shared libraries, we enable/disable runtime linking
9858e8b4ed9fSmrg          # depending on the kind of the shared library created -
9859e8b4ed9fSmrg          # when "with_aix_soname,aix_use_runtimelinking" is:
9860e8b4ed9fSmrg          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
9861e8b4ed9fSmrg          # "aix,yes"  lib.so          shared, rtl:yes, for executables
9862e8b4ed9fSmrg          #            lib.a           static archive
9863e8b4ed9fSmrg          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
9864e8b4ed9fSmrg          #            lib.a(lib.so.V) shared, rtl:no,  for executables
9865e8b4ed9fSmrg          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
9866e8b4ed9fSmrg          #            lib.a(lib.so.V) shared, rtl:no
9867e8b4ed9fSmrg          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
9868e8b4ed9fSmrg          #            lib.a           static archive
9869e8b4ed9fSmrg          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
9870e8b4ed9fSmrg	    for ld_flag in $LDFLAGS; do
9871e8b4ed9fSmrg	      case $ld_flag in
9872e8b4ed9fSmrg	      *-brtl*)
9873e8b4ed9fSmrg	        aix_use_runtimelinking=yes
9874e8b4ed9fSmrg	        break
9875e8b4ed9fSmrg	        ;;
9876e8b4ed9fSmrg	      esac
9877e8b4ed9fSmrg	    done
9878e8b4ed9fSmrg	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
9879e8b4ed9fSmrg	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
9880e8b4ed9fSmrg	      # so we don't have lib.a shared libs to link our executables.
9881e8b4ed9fSmrg	      # We have to force runtime linking in this case.
9882e8b4ed9fSmrg	      aix_use_runtimelinking=yes
9883e8b4ed9fSmrg	      LDFLAGS="$LDFLAGS -Wl,-brtl"
9884e8b4ed9fSmrg	    fi
9885e8b4ed9fSmrg	    ;;
9886e8b4ed9fSmrg          esac
988757ba8e8bSmrg
9888e8b4ed9fSmrg          exp_sym_flag='-bexport'
9889e8b4ed9fSmrg          no_entry_flag='-bnoentry'
9890e8b4ed9fSmrg        fi
989157ba8e8bSmrg
9892e8b4ed9fSmrg        # When large executables or shared objects are built, AIX ld can
9893e8b4ed9fSmrg        # have problems creating the table of contents.  If linking a library
9894e8b4ed9fSmrg        # or program results in "error TOC overflow" add -mminimal-toc to
9895e8b4ed9fSmrg        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
9896e8b4ed9fSmrg        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
989757ba8e8bSmrg
9898e8b4ed9fSmrg        _LT_TAGVAR(archive_cmds, $1)=''
9899e8b4ed9fSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
9900e8b4ed9fSmrg        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
9901e8b4ed9fSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
9902e8b4ed9fSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
9903e8b4ed9fSmrg        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
9904e8b4ed9fSmrg        case $with_aix_soname,$aix_use_runtimelinking in
9905e8b4ed9fSmrg        aix,*) ;;	# no import file
9906e8b4ed9fSmrg        svr4,* | *,yes) # use import file
9907e8b4ed9fSmrg          # The Import File defines what to hardcode.
9908e8b4ed9fSmrg          _LT_TAGVAR(hardcode_direct, $1)=no
9909e8b4ed9fSmrg          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
9910e8b4ed9fSmrg          ;;
9911e8b4ed9fSmrg        esac
9912f2408745Smrg
9913e8b4ed9fSmrg        if test yes = "$GXX"; then
9914e8b4ed9fSmrg          case $host_os in aix4.[[012]]|aix4.[[012]].*)
9915e8b4ed9fSmrg          # We only want to do this on AIX 4.2 and lower, the check
9916e8b4ed9fSmrg          # below for broken collect2 doesn't work under 4.3+
9917e8b4ed9fSmrg	  collect2name=`$CC -print-prog-name=collect2`
9918e8b4ed9fSmrg	  if test -f "$collect2name" &&
9919e8b4ed9fSmrg	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
9920e8b4ed9fSmrg	  then
9921e8b4ed9fSmrg	    # We have reworked collect2
9922e8b4ed9fSmrg	    :
9923e8b4ed9fSmrg	  else
9924e8b4ed9fSmrg	    # We have old collect2
9925e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
9926e8b4ed9fSmrg	    # It fails to find uninstalled libraries when the uninstalled
9927e8b4ed9fSmrg	    # path is not listed in the libpath.  Setting hardcode_minus_L
9928e8b4ed9fSmrg	    # to unsupported forces relinking
9929e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
9930e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
9931e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
9932e8b4ed9fSmrg	  fi
9933e8b4ed9fSmrg          esac
9934e8b4ed9fSmrg          shared_flag='-shared'
9935e8b4ed9fSmrg	  if test yes = "$aix_use_runtimelinking"; then
9936e8b4ed9fSmrg	    shared_flag=$shared_flag' $wl-G'
9937e8b4ed9fSmrg	  fi
9938e8b4ed9fSmrg	  # Need to ensure runtime linking is disabled for the traditional
9939e8b4ed9fSmrg	  # shared library, or the linker may eventually find shared libraries
9940e8b4ed9fSmrg	  # /with/ Import File - we do not want to mix them.
9941e8b4ed9fSmrg	  shared_flag_aix='-shared'
9942e8b4ed9fSmrg	  shared_flag_svr4='-shared $wl-G'
9943e8b4ed9fSmrg        else
9944e8b4ed9fSmrg          # not using gcc
9945e8b4ed9fSmrg          if test ia64 = "$host_cpu"; then
9946e8b4ed9fSmrg	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
9947e8b4ed9fSmrg	  # chokes on -Wl,-G. The following line is correct:
9948e8b4ed9fSmrg	  shared_flag='-G'
9949e8b4ed9fSmrg          else
9950e8b4ed9fSmrg	    if test yes = "$aix_use_runtimelinking"; then
9951e8b4ed9fSmrg	      shared_flag='$wl-G'
9952e8b4ed9fSmrg	    else
9953e8b4ed9fSmrg	      shared_flag='$wl-bM:SRE'
9954e8b4ed9fSmrg	    fi
9955e8b4ed9fSmrg	    shared_flag_aix='$wl-bM:SRE'
9956e8b4ed9fSmrg	    shared_flag_svr4='$wl-G'
9957e8b4ed9fSmrg          fi
9958e8b4ed9fSmrg        fi
9959f2408745Smrg
9960e8b4ed9fSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
9961e8b4ed9fSmrg        # It seems that -bexpall does not export symbols beginning with
9962e8b4ed9fSmrg        # underscore (_), so it is better to generate a list of symbols to
9963e8b4ed9fSmrg	# export.
9964e8b4ed9fSmrg        _LT_TAGVAR(always_export_symbols, $1)=yes
9965e8b4ed9fSmrg	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
9966e8b4ed9fSmrg          # Warning - without using the other runtime loading flags (-brtl),
9967e8b4ed9fSmrg          # -berok will link without error, but may produce a broken library.
9968e8b4ed9fSmrg          # The "-G" linker flag allows undefined symbols.
9969e8b4ed9fSmrg          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
9970e8b4ed9fSmrg          # Determine the default libpath from the value encoded in an empty
9971e8b4ed9fSmrg          # executable.
9972e8b4ed9fSmrg          _LT_SYS_MODULE_PATH_AIX([$1])
9973e8b4ed9fSmrg          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
9974f2408745Smrg
9975e8b4ed9fSmrg          _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
9976e8b4ed9fSmrg        else
9977e8b4ed9fSmrg          if test ia64 = "$host_cpu"; then
9978e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
9979e8b4ed9fSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
9980e8b4ed9fSmrg	    _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"
9981e8b4ed9fSmrg          else
9982e8b4ed9fSmrg	    # Determine the default libpath from the value encoded in an
9983e8b4ed9fSmrg	    # empty executable.
9984e8b4ed9fSmrg	    _LT_SYS_MODULE_PATH_AIX([$1])
9985e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
9986e8b4ed9fSmrg	    # Warning - without using the other run time loading flags,
9987e8b4ed9fSmrg	    # -berok will link without error, but may produce a broken library.
9988e8b4ed9fSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
9989e8b4ed9fSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
9990e8b4ed9fSmrg	    if test yes = "$with_gnu_ld"; then
9991e8b4ed9fSmrg	      # We only use this code for GNU lds that support --whole-archive.
9992e8b4ed9fSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
9993e8b4ed9fSmrg	    else
9994e8b4ed9fSmrg	      # Exported symbols can be pulled into shared objects from archives
9995e8b4ed9fSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
9996e8b4ed9fSmrg	    fi
9997e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
9998e8b4ed9fSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
9999e8b4ed9fSmrg	    # -brtl affects multiple linker settings, -berok does not and is overridden later
10000e8b4ed9fSmrg	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
10001e8b4ed9fSmrg	    if test svr4 != "$with_aix_soname"; then
10002e8b4ed9fSmrg	      # This is similar to how AIX traditionally builds its shared
10003e8b4ed9fSmrg	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
10004e8b4ed9fSmrg	      _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'
10005e8b4ed9fSmrg	    fi
10006e8b4ed9fSmrg	    if test aix != "$with_aix_soname"; then
10007e8b4ed9fSmrg	      _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'
10008e8b4ed9fSmrg	    else
10009e8b4ed9fSmrg	      # used by -dlpreopen to get the symbols
10010e8b4ed9fSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
10011e8b4ed9fSmrg	    fi
10012e8b4ed9fSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
10013e8b4ed9fSmrg          fi
10014e8b4ed9fSmrg        fi
10015e8b4ed9fSmrg        ;;
10016f2408745Smrg
10017e8b4ed9fSmrg      beos*)
10018e8b4ed9fSmrg	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
10019e8b4ed9fSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
10020e8b4ed9fSmrg	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
10021e8b4ed9fSmrg	  # support --undefined.  This deserves some investigation.  FIXME
10022e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10023e8b4ed9fSmrg	else
10024e8b4ed9fSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
10025e8b4ed9fSmrg	fi
10026e8b4ed9fSmrg	;;
10027f2408745Smrg
10028e8b4ed9fSmrg      chorus*)
10029e8b4ed9fSmrg        case $cc_basename in
10030e8b4ed9fSmrg          *)
10031e8b4ed9fSmrg	  # FIXME: insert proper C++ library support
10032e8b4ed9fSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
10033e8b4ed9fSmrg	  ;;
10034e8b4ed9fSmrg        esac
10035e8b4ed9fSmrg        ;;
10036f2408745Smrg
10037e8b4ed9fSmrg      cygwin* | mingw* | pw32* | cegcc*)
10038e8b4ed9fSmrg	case $GXX,$cc_basename in
10039e8b4ed9fSmrg	,cl* | no,cl* | ,icl* | no,icl*)
10040e8b4ed9fSmrg	  # Native MSVC or ICC
10041e8b4ed9fSmrg	  # hardcode_libdir_flag_spec is actually meaningless, as there is
10042e8b4ed9fSmrg	  # no search path for DLLs.
10043e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
10044e8b4ed9fSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
10045e8b4ed9fSmrg	  _LT_TAGVAR(always_export_symbols, $1)=yes
10046e8b4ed9fSmrg	  _LT_TAGVAR(file_list_spec, $1)='@'
10047e8b4ed9fSmrg	  # Tell ltmain to make .lib files, not .a files.
10048e8b4ed9fSmrg	  libext=lib
10049e8b4ed9fSmrg	  # Tell ltmain to make .dll files, not .so files.
10050e8b4ed9fSmrg	  shrext_cmds=.dll
10051e8b4ed9fSmrg	  # FIXME: Setting linknames here is a bad hack.
10052e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
10053e8b4ed9fSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
10054e8b4ed9fSmrg              cp "$export_symbols" "$output_objdir/$soname.def";
10055e8b4ed9fSmrg              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
10056e8b4ed9fSmrg            else
10057e8b4ed9fSmrg              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
10058e8b4ed9fSmrg            fi~
10059e8b4ed9fSmrg            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
10060e8b4ed9fSmrg            linknames='
10061e8b4ed9fSmrg	  # The linker will not automatically build a static lib if we build a DLL.
10062e8b4ed9fSmrg	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
10063e8b4ed9fSmrg	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
10064e8b4ed9fSmrg	  # Don't use ranlib
10065e8b4ed9fSmrg	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
10066e8b4ed9fSmrg	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
10067e8b4ed9fSmrg            lt_tool_outputfile="@TOOL_OUTPUT@"~
10068e8b4ed9fSmrg            case $lt_outputfile in
10069e8b4ed9fSmrg              *.exe|*.EXE) ;;
10070e8b4ed9fSmrg              *)
10071e8b4ed9fSmrg                lt_outputfile=$lt_outputfile.exe
10072e8b4ed9fSmrg                lt_tool_outputfile=$lt_tool_outputfile.exe
10073e8b4ed9fSmrg                ;;
10074e8b4ed9fSmrg            esac~
10075e8b4ed9fSmrg            func_to_tool_file "$lt_outputfile"~
10076e8b4ed9fSmrg            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
10077e8b4ed9fSmrg              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
10078e8b4ed9fSmrg              $RM "$lt_outputfile.manifest";
10079e8b4ed9fSmrg            fi'
10080e8b4ed9fSmrg	  ;;
10081e8b4ed9fSmrg	*)
10082e8b4ed9fSmrg	  # g++
10083e8b4ed9fSmrg	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
10084e8b4ed9fSmrg	  # as there is no search path for DLLs.
10085e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
10086e8b4ed9fSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
10087e8b4ed9fSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
10088e8b4ed9fSmrg	  _LT_TAGVAR(always_export_symbols, $1)=no
10089e8b4ed9fSmrg	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
10090f2408745Smrg
10091e8b4ed9fSmrg	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
10092e8b4ed9fSmrg	    _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'
10093e8b4ed9fSmrg	    # If the export-symbols file already is a .def file, use it as
10094e8b4ed9fSmrg	    # is; otherwise, prepend EXPORTS...
10095e8b4ed9fSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
10096e8b4ed9fSmrg              cp $export_symbols $output_objdir/$soname.def;
10097e8b4ed9fSmrg            else
10098e8b4ed9fSmrg              echo EXPORTS > $output_objdir/$soname.def;
10099e8b4ed9fSmrg              cat $export_symbols >> $output_objdir/$soname.def;
10100e8b4ed9fSmrg            fi~
10101e8b4ed9fSmrg            $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'
10102e8b4ed9fSmrg	  else
10103e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10104e8b4ed9fSmrg	  fi
10105e8b4ed9fSmrg	  ;;
10106e8b4ed9fSmrg	esac
10107e8b4ed9fSmrg	;;
10108e8b4ed9fSmrg      darwin* | rhapsody*)
10109e8b4ed9fSmrg        _LT_DARWIN_LINKER_FEATURES($1)
10110e8b4ed9fSmrg	;;
10111f2408745Smrg
10112e8b4ed9fSmrg      os2*)
10113e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
10114e8b4ed9fSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
10115e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
10116e8b4ed9fSmrg	shrext_cmds=.dll
10117e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
10118e8b4ed9fSmrg	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
10119e8b4ed9fSmrg	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
10120e8b4ed9fSmrg	  $ECHO EXPORTS >> $output_objdir/$libname.def~
10121e8b4ed9fSmrg	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
10122e8b4ed9fSmrg	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
10123e8b4ed9fSmrg	  emximp -o $lib $output_objdir/$libname.def'
10124e8b4ed9fSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
10125e8b4ed9fSmrg	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
10126e8b4ed9fSmrg	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
10127e8b4ed9fSmrg	  $ECHO EXPORTS >> $output_objdir/$libname.def~
10128e8b4ed9fSmrg	  prefix_cmds="$SED"~
10129e8b4ed9fSmrg	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
10130e8b4ed9fSmrg	    prefix_cmds="$prefix_cmds -e 1d";
10131e8b4ed9fSmrg	  fi~
10132e8b4ed9fSmrg	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
10133e8b4ed9fSmrg	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
10134e8b4ed9fSmrg	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
10135e8b4ed9fSmrg	  emximp -o $lib $output_objdir/$libname.def'
10136e8b4ed9fSmrg	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
10137e8b4ed9fSmrg	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
10138e8b4ed9fSmrg	_LT_TAGVAR(file_list_spec, $1)='@'
10139e8b4ed9fSmrg	;;
10140f2408745Smrg
10141e8b4ed9fSmrg      dgux*)
10142e8b4ed9fSmrg        case $cc_basename in
10143e8b4ed9fSmrg          ec++*)
10144e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10145e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10146e8b4ed9fSmrg	    ;;
10147e8b4ed9fSmrg          ghcx*)
10148e8b4ed9fSmrg	    # Green Hills C++ Compiler
10149e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10150e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10151e8b4ed9fSmrg	    ;;
10152e8b4ed9fSmrg          *)
10153e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10154e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10155e8b4ed9fSmrg	    ;;
10156e8b4ed9fSmrg        esac
10157e8b4ed9fSmrg        ;;
10158f2408745Smrg
10159e8b4ed9fSmrg      freebsd2.*)
10160e8b4ed9fSmrg        # C++ shared libraries reported to be fairly broken before
10161e8b4ed9fSmrg	# switch to ELF
10162e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10163e8b4ed9fSmrg        ;;
10164f2408745Smrg
10165e8b4ed9fSmrg      freebsd-elf*)
10166e8b4ed9fSmrg        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
10167e8b4ed9fSmrg        ;;
10168f2408745Smrg
10169e8b4ed9fSmrg      freebsd* | dragonfly* | midnightbsd*)
10170e8b4ed9fSmrg        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
10171e8b4ed9fSmrg        # conventions
10172e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
10173e8b4ed9fSmrg        ;;
1017457ba8e8bSmrg
10175e8b4ed9fSmrg      haiku*)
10176e8b4ed9fSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10177e8b4ed9fSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
10178e8b4ed9fSmrg        ;;
1017945bc899bSmrg
10180e8b4ed9fSmrg      hpux9*)
10181e8b4ed9fSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
10182e8b4ed9fSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
10183e8b4ed9fSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
10184e8b4ed9fSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
10185e8b4ed9fSmrg        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
10186e8b4ed9fSmrg				             # but as the default
10187e8b4ed9fSmrg				             # location of the library.
1018845bc899bSmrg
10189e8b4ed9fSmrg        case $cc_basename in
10190e8b4ed9fSmrg          CC*)
10191e8b4ed9fSmrg            # FIXME: insert proper C++ library support
10192e8b4ed9fSmrg            _LT_TAGVAR(ld_shlibs, $1)=no
10193e8b4ed9fSmrg            ;;
10194e8b4ed9fSmrg          aCC*)
10195e8b4ed9fSmrg            _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'
10196e8b4ed9fSmrg            # Commands to make compiler produce verbose output that lists
10197e8b4ed9fSmrg            # what "hidden" libraries, object files and flags are used when
10198e8b4ed9fSmrg            # linking a shared library.
10199e8b4ed9fSmrg            #
10200e8b4ed9fSmrg            # There doesn't appear to be a way to prevent this compiler from
10201e8b4ed9fSmrg            # explicitly linking system object files so we need to strip them
10202e8b4ed9fSmrg            # from the output so that they don't get included in the library
10203e8b4ed9fSmrg            # dependencies.
10204e8b4ed9fSmrg            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"'
10205e8b4ed9fSmrg            ;;
10206e8b4ed9fSmrg          *)
10207e8b4ed9fSmrg            if test yes = "$GXX"; then
10208e8b4ed9fSmrg              _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'
10209e8b4ed9fSmrg            else
10210e8b4ed9fSmrg              # FIXME: insert proper C++ library support
10211e8b4ed9fSmrg              _LT_TAGVAR(ld_shlibs, $1)=no
10212e8b4ed9fSmrg            fi
10213e8b4ed9fSmrg            ;;
10214e8b4ed9fSmrg        esac
10215e8b4ed9fSmrg        ;;
1021645bc899bSmrg
10217e8b4ed9fSmrg      hpux10*|hpux11*)
10218e8b4ed9fSmrg        if test no = "$with_gnu_ld"; then
10219e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
10220e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
1022145bc899bSmrg
10222e8b4ed9fSmrg          case $host_cpu in
10223e8b4ed9fSmrg            hppa*64*|ia64*)
10224e8b4ed9fSmrg              ;;
10225e8b4ed9fSmrg            *)
10226e8b4ed9fSmrg	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
10227e8b4ed9fSmrg              ;;
10228e8b4ed9fSmrg          esac
10229e8b4ed9fSmrg        fi
10230e8b4ed9fSmrg        case $host_cpu in
10231e8b4ed9fSmrg          hppa*64*|ia64*)
10232e8b4ed9fSmrg            _LT_TAGVAR(hardcode_direct, $1)=no
10233e8b4ed9fSmrg            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10234e8b4ed9fSmrg            ;;
10235e8b4ed9fSmrg          *)
10236e8b4ed9fSmrg            _LT_TAGVAR(hardcode_direct, $1)=yes
10237e8b4ed9fSmrg            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
10238e8b4ed9fSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
10239e8b4ed9fSmrg					         # but as the default
10240e8b4ed9fSmrg					         # location of the library.
10241e8b4ed9fSmrg            ;;
10242e8b4ed9fSmrg        esac
1024345bc899bSmrg
10244e8b4ed9fSmrg        case $cc_basename in
10245e8b4ed9fSmrg          CC*)
10246e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10247e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10248e8b4ed9fSmrg	    ;;
10249e8b4ed9fSmrg          aCC*)
10250e8b4ed9fSmrg	    case $host_cpu in
10251e8b4ed9fSmrg	      hppa*64*)
10252e8b4ed9fSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10253e8b4ed9fSmrg	        ;;
10254e8b4ed9fSmrg	      ia64*)
10255e8b4ed9fSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10256e8b4ed9fSmrg	        ;;
10257e8b4ed9fSmrg	      *)
10258e8b4ed9fSmrg	        _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'
10259e8b4ed9fSmrg	        ;;
10260e8b4ed9fSmrg	    esac
10261e8b4ed9fSmrg	    # Commands to make compiler produce verbose output that lists
10262e8b4ed9fSmrg	    # what "hidden" libraries, object files and flags are used when
10263e8b4ed9fSmrg	    # linking a shared library.
10264e8b4ed9fSmrg	    #
10265e8b4ed9fSmrg	    # There doesn't appear to be a way to prevent this compiler from
10266e8b4ed9fSmrg	    # explicitly linking system object files so we need to strip them
10267e8b4ed9fSmrg	    # from the output so that they don't get included in the library
10268e8b4ed9fSmrg	    # dependencies.
10269e8b4ed9fSmrg	    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"'
10270e8b4ed9fSmrg	    ;;
10271e8b4ed9fSmrg          *)
10272e8b4ed9fSmrg	    if test yes = "$GXX"; then
10273e8b4ed9fSmrg	      if test no = "$with_gnu_ld"; then
10274e8b4ed9fSmrg	        case $host_cpu in
10275e8b4ed9fSmrg	          hppa*64*)
10276e8b4ed9fSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10277e8b4ed9fSmrg	            ;;
10278e8b4ed9fSmrg	          ia64*)
10279e8b4ed9fSmrg	            _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'
10280e8b4ed9fSmrg	            ;;
10281e8b4ed9fSmrg	          *)
10282e8b4ed9fSmrg	            _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'
10283e8b4ed9fSmrg	            ;;
10284e8b4ed9fSmrg	        esac
10285e8b4ed9fSmrg	      fi
10286e8b4ed9fSmrg	    else
10287e8b4ed9fSmrg	      # FIXME: insert proper C++ library support
10288e8b4ed9fSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
10289e8b4ed9fSmrg	    fi
10290e8b4ed9fSmrg	    ;;
10291e8b4ed9fSmrg        esac
10292e8b4ed9fSmrg        ;;
1029345bc899bSmrg
10294e8b4ed9fSmrg      interix[[3-9]]*)
10295e8b4ed9fSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
10296e8b4ed9fSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10297e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10298e8b4ed9fSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
10299e8b4ed9fSmrg	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
10300e8b4ed9fSmrg	# Instead, shared libraries are loaded at an image base (0x10000000 by
10301e8b4ed9fSmrg	# default) and relocated if they conflict, which is a slow very memory
10302e8b4ed9fSmrg	# consuming and fragmenting process.  To avoid this, we pick a random,
10303e8b4ed9fSmrg	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
10304e8b4ed9fSmrg	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
10305e8b4ed9fSmrg	_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'
10306e8b4ed9fSmrg	_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'
10307e8b4ed9fSmrg	;;
10308e8b4ed9fSmrg      irix5* | irix6*)
10309e8b4ed9fSmrg        case $cc_basename in
10310e8b4ed9fSmrg          CC*)
10311e8b4ed9fSmrg	    # SGI C++
10312e8b4ed9fSmrg	    _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'
1031345bc899bSmrg
10314e8b4ed9fSmrg	    # Archives containing C++ object files must be created using
10315e8b4ed9fSmrg	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
10316e8b4ed9fSmrg	    # necessary to make sure instantiated templates are included
10317e8b4ed9fSmrg	    # in the archive.
10318e8b4ed9fSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
10319e8b4ed9fSmrg	    ;;
10320e8b4ed9fSmrg          *)
10321e8b4ed9fSmrg	    if test yes = "$GXX"; then
10322e8b4ed9fSmrg	      if test no = "$with_gnu_ld"; then
10323e8b4ed9fSmrg	        _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'
10324e8b4ed9fSmrg	      else
10325e8b4ed9fSmrg	        _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'
10326e8b4ed9fSmrg	      fi
10327e8b4ed9fSmrg	    fi
10328e8b4ed9fSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
10329e8b4ed9fSmrg	    ;;
10330e8b4ed9fSmrg        esac
10331e8b4ed9fSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
10332e8b4ed9fSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
10333e8b4ed9fSmrg        _LT_TAGVAR(inherit_rpath, $1)=yes
10334a0c41156Smrg        ;;
10335a0c41156Smrg
10336e8b4ed9fSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
10337e8b4ed9fSmrg        case $cc_basename in
10338e8b4ed9fSmrg          KCC*)
10339e8b4ed9fSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
1034045bc899bSmrg
10341e8b4ed9fSmrg	    # KCC will only create a shared library if the output file
10342e8b4ed9fSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
10343e8b4ed9fSmrg	    # to its proper name (with version) after linking.
10344e8b4ed9fSmrg	    _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'
10345e8b4ed9fSmrg	    _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'
10346e8b4ed9fSmrg	    # Commands to make compiler produce verbose output that lists
10347e8b4ed9fSmrg	    # what "hidden" libraries, object files and flags are used when
10348e8b4ed9fSmrg	    # linking a shared library.
10349e8b4ed9fSmrg	    #
10350e8b4ed9fSmrg	    # There doesn't appear to be a way to prevent this compiler from
10351e8b4ed9fSmrg	    # explicitly linking system object files so we need to strip them
10352e8b4ed9fSmrg	    # from the output so that they don't get included in the library
10353e8b4ed9fSmrg	    # dependencies.
10354e8b4ed9fSmrg	    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"'
1035545bc899bSmrg
10356e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10357e8b4ed9fSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
1035845bc899bSmrg
10359e8b4ed9fSmrg	    # Archives containing C++ object files must be created using
10360e8b4ed9fSmrg	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
10361e8b4ed9fSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
10362e8b4ed9fSmrg	    ;;
10363e8b4ed9fSmrg	  icpc* | ecpc* )
10364e8b4ed9fSmrg	    # Intel C++
10365e8b4ed9fSmrg	    with_gnu_ld=yes
10366e8b4ed9fSmrg	    # version 8.0 and above of icpc choke on multiply defined symbols
10367e8b4ed9fSmrg	    # if we add $predep_objects and $postdep_objects, however 7.1 and
10368e8b4ed9fSmrg	    # earlier do not add the objects themselves.
10369e8b4ed9fSmrg	    case `$CC -V 2>&1` in
10370e8b4ed9fSmrg	      *"Version 7."*)
10371e8b4ed9fSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
10372e8b4ed9fSmrg		_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'
10373e8b4ed9fSmrg		;;
10374e8b4ed9fSmrg	      *)  # Version 8.0 or newer
10375e8b4ed9fSmrg	        tmp_idyn=
10376e8b4ed9fSmrg	        case $host_cpu in
10377e8b4ed9fSmrg		  ia64*) tmp_idyn=' -i_dynamic';;
10378e8b4ed9fSmrg		esac
10379e8b4ed9fSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10380e8b4ed9fSmrg		_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'
10381e8b4ed9fSmrg		;;
10382e8b4ed9fSmrg	    esac
10383e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
10384e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10385e8b4ed9fSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
10386e8b4ed9fSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
10387e8b4ed9fSmrg	    ;;
10388e8b4ed9fSmrg          pgCC* | pgcpp*)
10389e8b4ed9fSmrg            # Portland Group C++ compiler
10390e8b4ed9fSmrg	    case `$CC -V` in
10391e8b4ed9fSmrg	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
10392e8b4ed9fSmrg	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
10393e8b4ed9fSmrg               rm -rf $tpldir~
10394e8b4ed9fSmrg               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
10395e8b4ed9fSmrg               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
10396e8b4ed9fSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
10397e8b4ed9fSmrg                rm -rf $tpldir~
10398e8b4ed9fSmrg                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
10399e8b4ed9fSmrg                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
10400e8b4ed9fSmrg                $RANLIB $oldlib'
10401e8b4ed9fSmrg	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
10402e8b4ed9fSmrg                rm -rf $tpldir~
10403e8b4ed9fSmrg                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
10404e8b4ed9fSmrg                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
10405e8b4ed9fSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
10406e8b4ed9fSmrg                rm -rf $tpldir~
10407e8b4ed9fSmrg                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
10408e8b4ed9fSmrg                $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'
10409e8b4ed9fSmrg	      ;;
10410e8b4ed9fSmrg	    *) # Version 6 and above use weak symbols
10411e8b4ed9fSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
10412e8b4ed9fSmrg	      _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'
10413e8b4ed9fSmrg	      ;;
10414e8b4ed9fSmrg	    esac
1041545bc899bSmrg
10416e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
10417e8b4ed9fSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
10418e8b4ed9fSmrg	    _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'
10419e8b4ed9fSmrg            ;;
10420e8b4ed9fSmrg	  cxx*)
10421e8b4ed9fSmrg	    # Compaq C++
10422e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
10423e8b4ed9fSmrg	    _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'
1042445bc899bSmrg
10425e8b4ed9fSmrg	    runpath_var=LD_RUN_PATH
10426e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
10427e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
1042845bc899bSmrg
10429e8b4ed9fSmrg	    # Commands to make compiler produce verbose output that lists
10430e8b4ed9fSmrg	    # what "hidden" libraries, object files and flags are used when
10431e8b4ed9fSmrg	    # linking a shared library.
10432e8b4ed9fSmrg	    #
10433e8b4ed9fSmrg	    # There doesn't appear to be a way to prevent this compiler from
10434e8b4ed9fSmrg	    # explicitly linking system object files so we need to strip them
10435e8b4ed9fSmrg	    # from the output so that they don't get included in the library
10436e8b4ed9fSmrg	    # dependencies.
10437e8b4ed9fSmrg	    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'
10438e8b4ed9fSmrg	    ;;
10439e8b4ed9fSmrg	  xl* | mpixl* | bgxl*)
10440e8b4ed9fSmrg	    # IBM XL 8.0 on PPC, with GNU ld
10441e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
10442e8b4ed9fSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
10443e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
10444e8b4ed9fSmrg	    if test yes = "$supports_anon_versioning"; then
10445e8b4ed9fSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
10446e8b4ed9fSmrg                cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
10447e8b4ed9fSmrg                echo "local: *; };" >> $output_objdir/$libname.ver~
10448e8b4ed9fSmrg                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
10449e8b4ed9fSmrg	    fi
10450e8b4ed9fSmrg	    ;;
10451e8b4ed9fSmrg	  *)
10452e8b4ed9fSmrg	    case `$CC -V 2>&1 | $SED 5q` in
10453e8b4ed9fSmrg	    *Sun\ C*)
10454e8b4ed9fSmrg	      # Sun C++ 5.9
10455e8b4ed9fSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
10456e8b4ed9fSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10457e8b4ed9fSmrg	      _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'
10458e8b4ed9fSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
10459e8b4ed9fSmrg	      _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'
10460e8b4ed9fSmrg	      _LT_TAGVAR(compiler_needs_object, $1)=yes
1046145bc899bSmrg
10462e8b4ed9fSmrg	      # Not sure whether something based on
10463e8b4ed9fSmrg	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
10464e8b4ed9fSmrg	      # would be better.
10465e8b4ed9fSmrg	      output_verbose_link_cmd='func_echo_all'
10466b40a6198Smrg
10467e8b4ed9fSmrg	      # Archives containing C++ object files must be created using
10468e8b4ed9fSmrg	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
10469e8b4ed9fSmrg	      # necessary to make sure instantiated templates are included
10470e8b4ed9fSmrg	      # in the archive.
10471e8b4ed9fSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
10472e8b4ed9fSmrg	      ;;
10473e8b4ed9fSmrg	    esac
10474e8b4ed9fSmrg	    ;;
10475e8b4ed9fSmrg	esac
10476e8b4ed9fSmrg	;;
10477b40a6198Smrg
10478e8b4ed9fSmrg      lynxos*)
10479e8b4ed9fSmrg        # FIXME: insert proper C++ library support
10480e8b4ed9fSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
10481e8b4ed9fSmrg	;;
1048245bc899bSmrg
10483e8b4ed9fSmrg      m88k*)
10484e8b4ed9fSmrg        # FIXME: insert proper C++ library support
10485e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10486e8b4ed9fSmrg	;;
10487b40a6198Smrg
10488e8b4ed9fSmrg      mvs*)
10489e8b4ed9fSmrg        case $cc_basename in
10490e8b4ed9fSmrg          cxx*)
10491e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10492e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10493e8b4ed9fSmrg	    ;;
10494e8b4ed9fSmrg	  *)
10495e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10496e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10497e8b4ed9fSmrg	    ;;
10498e8b4ed9fSmrg	esac
10499e8b4ed9fSmrg	;;
10500b40a6198Smrg
10501e8b4ed9fSmrg      netbsd*)
10502e8b4ed9fSmrg        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
10503e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
10504e8b4ed9fSmrg	  wlarc=
10505e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
10506e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
10507e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10508e8b4ed9fSmrg	fi
10509e8b4ed9fSmrg	# Workaround some broken pre-1.5 toolchains
10510e8b4ed9fSmrg	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
10511e8b4ed9fSmrg	;;
10512b40a6198Smrg
10513e8b4ed9fSmrg      *nto* | *qnx*)
10514e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
10515e8b4ed9fSmrg	;;
1051645bc899bSmrg
10517e8b4ed9fSmrg      openbsd* | bitrig*)
10518e8b4ed9fSmrg	if test -f /usr/libexec/ld.so; then
10519e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
10520e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10521e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
10522e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
10523e8b4ed9fSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10524e8b4ed9fSmrg	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
10525e8b4ed9fSmrg	    _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'
10526e8b4ed9fSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
10527e8b4ed9fSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
10528e8b4ed9fSmrg	  fi
10529e8b4ed9fSmrg	  output_verbose_link_cmd=func_echo_all
10530e8b4ed9fSmrg	else
10531e8b4ed9fSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
10532e8b4ed9fSmrg	fi
10533e8b4ed9fSmrg	;;
1053445bc899bSmrg
10535e8b4ed9fSmrg      osf3* | osf4* | osf5*)
10536e8b4ed9fSmrg        case $cc_basename in
10537e8b4ed9fSmrg          KCC*)
10538e8b4ed9fSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
1053945bc899bSmrg
10540e8b4ed9fSmrg	    # KCC will only create a shared library if the output file
10541e8b4ed9fSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
10542e8b4ed9fSmrg	    # to its proper name (with version) after linking.
10543e8b4ed9fSmrg	    _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'
1054445bc899bSmrg
10545e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
10546e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
1054745bc899bSmrg
10548e8b4ed9fSmrg	    # Archives containing C++ object files must be created using
10549e8b4ed9fSmrg	    # the KAI C++ compiler.
10550e8b4ed9fSmrg	    case $host in
10551e8b4ed9fSmrg	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
10552e8b4ed9fSmrg	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
10553e8b4ed9fSmrg	    esac
10554e8b4ed9fSmrg	    ;;
10555e8b4ed9fSmrg          RCC*)
10556e8b4ed9fSmrg	    # Rational C++ 2.4.1
10557e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10558e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10559e8b4ed9fSmrg	    ;;
10560e8b4ed9fSmrg          cxx*)
10561e8b4ed9fSmrg	    case $host in
10562e8b4ed9fSmrg	      osf3*)
10563e8b4ed9fSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
10564e8b4ed9fSmrg	        _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'
10565e8b4ed9fSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
10566e8b4ed9fSmrg		;;
10567e8b4ed9fSmrg	      *)
10568e8b4ed9fSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
10569e8b4ed9fSmrg	        _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'
10570e8b4ed9fSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
10571e8b4ed9fSmrg                  echo "-hidden">> $lib.exp~
10572e8b4ed9fSmrg                  $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~
10573e8b4ed9fSmrg                  $RM $lib.exp'
10574e8b4ed9fSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
10575e8b4ed9fSmrg		;;
10576e8b4ed9fSmrg	    esac
1057745bc899bSmrg
10578e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
1057945bc899bSmrg
10580e8b4ed9fSmrg	    # Commands to make compiler produce verbose output that lists
10581e8b4ed9fSmrg	    # what "hidden" libraries, object files and flags are used when
10582e8b4ed9fSmrg	    # linking a shared library.
10583e8b4ed9fSmrg	    #
10584e8b4ed9fSmrg	    # There doesn't appear to be a way to prevent this compiler from
10585e8b4ed9fSmrg	    # explicitly linking system object files so we need to strip them
10586e8b4ed9fSmrg	    # from the output so that they don't get included in the library
10587e8b4ed9fSmrg	    # dependencies.
10588e8b4ed9fSmrg	    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"'
10589e8b4ed9fSmrg	    ;;
10590e8b4ed9fSmrg	  *)
10591e8b4ed9fSmrg	    if test yes,no = "$GXX,$with_gnu_ld"; then
10592e8b4ed9fSmrg	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
10593e8b4ed9fSmrg	      case $host in
10594e8b4ed9fSmrg	        osf3*)
10595e8b4ed9fSmrg	          _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'
10596e8b4ed9fSmrg		  ;;
10597e8b4ed9fSmrg	        *)
10598e8b4ed9fSmrg	          _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'
10599e8b4ed9fSmrg		  ;;
10600e8b4ed9fSmrg	      esac
1060145bc899bSmrg
10602e8b4ed9fSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
10603e8b4ed9fSmrg	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
1060445bc899bSmrg
10605e8b4ed9fSmrg	      # Commands to make compiler produce verbose output that lists
10606e8b4ed9fSmrg	      # what "hidden" libraries, object files and flags are used when
10607e8b4ed9fSmrg	      # linking a shared library.
10608e8b4ed9fSmrg	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
1060945bc899bSmrg
10610e8b4ed9fSmrg	    else
10611e8b4ed9fSmrg	      # FIXME: insert proper C++ library support
10612e8b4ed9fSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
10613e8b4ed9fSmrg	    fi
10614e8b4ed9fSmrg	    ;;
10615e8b4ed9fSmrg        esac
10616e8b4ed9fSmrg        ;;
1061745bc899bSmrg
10618e8b4ed9fSmrg      psos*)
10619e8b4ed9fSmrg        # FIXME: insert proper C++ library support
10620e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10621e8b4ed9fSmrg        ;;
1062245bc899bSmrg
10623e8b4ed9fSmrg      sunos4*)
10624e8b4ed9fSmrg        case $cc_basename in
10625e8b4ed9fSmrg          CC*)
10626e8b4ed9fSmrg	    # Sun C++ 4.x
10627e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10628e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10629e8b4ed9fSmrg	    ;;
10630e8b4ed9fSmrg          lcc*)
10631e8b4ed9fSmrg	    # Lucid
10632e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10633e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10634e8b4ed9fSmrg	    ;;
10635e8b4ed9fSmrg          *)
10636e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10637e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10638e8b4ed9fSmrg	    ;;
10639e8b4ed9fSmrg        esac
10640e8b4ed9fSmrg        ;;
10641e8b4ed9fSmrg
10642e8b4ed9fSmrg      solaris*)
10643e8b4ed9fSmrg        case $cc_basename in
10644e8b4ed9fSmrg          CC* | sunCC*)
10645e8b4ed9fSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
10646e8b4ed9fSmrg            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
10647e8b4ed9fSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
10648e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
10649e8b4ed9fSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10650e8b4ed9fSmrg              $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'
10651b40a6198Smrg
10652e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
10653e8b4ed9fSmrg	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10654e8b4ed9fSmrg	    case $host_os in
10655e8b4ed9fSmrg	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
10656e8b4ed9fSmrg	      *)
10657e8b4ed9fSmrg		# The compiler driver will combine and reorder linker options,
10658e8b4ed9fSmrg		# but understands '-z linker_flag'.
10659e8b4ed9fSmrg	        # Supported since Solaris 2.6 (maybe 2.5.1?)
10660e8b4ed9fSmrg		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
10661e8b4ed9fSmrg	        ;;
10662e8b4ed9fSmrg	    esac
10663e8b4ed9fSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
1066450f2e948Smrg
10665e8b4ed9fSmrg	    output_verbose_link_cmd='func_echo_all'
1066650f2e948Smrg
10667e8b4ed9fSmrg	    # Archives containing C++ object files must be created using
10668e8b4ed9fSmrg	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
10669e8b4ed9fSmrg	    # necessary to make sure instantiated templates are included
10670e8b4ed9fSmrg	    # in the archive.
10671e8b4ed9fSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
10672e8b4ed9fSmrg	    ;;
10673e8b4ed9fSmrg          gcx*)
10674e8b4ed9fSmrg	    # Green Hills C++ Compiler
10675e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
1067650f2e948Smrg
10677e8b4ed9fSmrg	    # The C++ compiler must be used to create the archive.
10678e8b4ed9fSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
10679e8b4ed9fSmrg	    ;;
10680e8b4ed9fSmrg          *)
10681e8b4ed9fSmrg	    # GNU C++ compiler with Solaris linker
10682e8b4ed9fSmrg	    if test yes,no = "$GXX,$with_gnu_ld"; then
10683e8b4ed9fSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
10684e8b4ed9fSmrg	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
10685e8b4ed9fSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
10686e8b4ed9fSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10687e8b4ed9fSmrg                  $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'
1068850f2e948Smrg
10689e8b4ed9fSmrg	        # Commands to make compiler produce verbose output that lists
10690e8b4ed9fSmrg	        # what "hidden" libraries, object files and flags are used when
10691e8b4ed9fSmrg	        # linking a shared library.
10692e8b4ed9fSmrg	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
10693e8b4ed9fSmrg	      else
10694e8b4ed9fSmrg	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
10695e8b4ed9fSmrg	        # platform.
10696e8b4ed9fSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
10697e8b4ed9fSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
10698e8b4ed9fSmrg                  $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'
1069950f2e948Smrg
10700e8b4ed9fSmrg	        # Commands to make compiler produce verbose output that lists
10701e8b4ed9fSmrg	        # what "hidden" libraries, object files and flags are used when
10702e8b4ed9fSmrg	        # linking a shared library.
10703e8b4ed9fSmrg	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
10704e8b4ed9fSmrg	      fi
1070550f2e948Smrg
10706e8b4ed9fSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
10707e8b4ed9fSmrg	      case $host_os in
10708e8b4ed9fSmrg		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
10709e8b4ed9fSmrg		*)
10710e8b4ed9fSmrg		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
10711e8b4ed9fSmrg		  ;;
10712e8b4ed9fSmrg	      esac
10713e8b4ed9fSmrg	    fi
10714e8b4ed9fSmrg	    ;;
10715e8b4ed9fSmrg        esac
10716e8b4ed9fSmrg        ;;
1071750f2e948Smrg
10718e8b4ed9fSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
10719e8b4ed9fSmrg      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
10720e8b4ed9fSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
10721e8b4ed9fSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10722e8b4ed9fSmrg      runpath_var='LD_RUN_PATH'
1072350f2e948Smrg
10724e8b4ed9fSmrg      case $cc_basename in
10725e8b4ed9fSmrg        CC*)
10726e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10727e8b4ed9fSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10728e8b4ed9fSmrg	  ;;
10729e8b4ed9fSmrg	*)
10730e8b4ed9fSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10731e8b4ed9fSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10732e8b4ed9fSmrg	  ;;
10733e8b4ed9fSmrg      esac
10734e8b4ed9fSmrg      ;;
10735b40a6198Smrg
10736e8b4ed9fSmrg      sysv5* | sco3.2v5* | sco5v6*)
10737e8b4ed9fSmrg	# Note: We CANNOT use -z defs as we might desire, because we do not
10738e8b4ed9fSmrg	# link with -lc, and that would cause any symbols used from libc to
10739e8b4ed9fSmrg	# always be unresolved, which means just about no library would
10740e8b4ed9fSmrg	# ever link correctly.  If we're not using GNU ld we use -z text
10741e8b4ed9fSmrg	# though, which does catch some bad symbols but isn't as heavy-handed
10742e8b4ed9fSmrg	# as -z defs.
10743e8b4ed9fSmrg	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
10744e8b4ed9fSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
10745e8b4ed9fSmrg	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
10746e8b4ed9fSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
10747e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
10748e8b4ed9fSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
10749e8b4ed9fSmrg	_LT_TAGVAR(link_all_deplibs, $1)=yes
10750e8b4ed9fSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
10751e8b4ed9fSmrg	runpath_var='LD_RUN_PATH'
10752b40a6198Smrg
10753e8b4ed9fSmrg	case $cc_basename in
10754e8b4ed9fSmrg          CC*)
10755e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10756e8b4ed9fSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10757e8b4ed9fSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
10758e8b4ed9fSmrg              '"$_LT_TAGVAR(old_archive_cmds, $1)"
10759e8b4ed9fSmrg	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
10760e8b4ed9fSmrg              '"$_LT_TAGVAR(reload_cmds, $1)"
10761e8b4ed9fSmrg	    ;;
10762e8b4ed9fSmrg	  *)
10763e8b4ed9fSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10764e8b4ed9fSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
10765e8b4ed9fSmrg	    ;;
10766e8b4ed9fSmrg	esac
10767e8b4ed9fSmrg      ;;
10768b40a6198Smrg
10769e8b4ed9fSmrg      tandem*)
10770e8b4ed9fSmrg        case $cc_basename in
10771e8b4ed9fSmrg          NCC*)
10772e8b4ed9fSmrg	    # NonStop-UX NCC 3.20
10773e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10774e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10775e8b4ed9fSmrg	    ;;
10776e8b4ed9fSmrg          *)
10777e8b4ed9fSmrg	    # FIXME: insert proper C++ library support
10778e8b4ed9fSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
10779e8b4ed9fSmrg	    ;;
10780e8b4ed9fSmrg        esac
10781e8b4ed9fSmrg        ;;
10782b40a6198Smrg
10783e8b4ed9fSmrg      vxworks*)
10784e8b4ed9fSmrg        # FIXME: insert proper C++ library support
10785e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10786e8b4ed9fSmrg        ;;
10787b40a6198Smrg
10788e8b4ed9fSmrg      *)
10789e8b4ed9fSmrg        # FIXME: insert proper C++ library support
10790e8b4ed9fSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
10791e8b4ed9fSmrg        ;;
10792e8b4ed9fSmrg    esac
10793b40a6198Smrg
10794e8b4ed9fSmrg    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
10795e8b4ed9fSmrg    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
10796b40a6198Smrg
10797e8b4ed9fSmrg    _LT_TAGVAR(GCC, $1)=$GXX
10798e8b4ed9fSmrg    _LT_TAGVAR(LD, $1)=$LD
10799b40a6198Smrg
10800e8b4ed9fSmrg    ## CAVEAT EMPTOR:
10801e8b4ed9fSmrg    ## There is no encapsulation within the following macros, do not change
10802e8b4ed9fSmrg    ## the running order or otherwise move them around unless you know exactly
10803e8b4ed9fSmrg    ## what you are doing...
10804e8b4ed9fSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
10805e8b4ed9fSmrg    _LT_COMPILER_PIC($1)
10806e8b4ed9fSmrg    _LT_COMPILER_C_O($1)
10807e8b4ed9fSmrg    _LT_COMPILER_FILE_LOCKS($1)
10808e8b4ed9fSmrg    _LT_LINKER_SHLIBS($1)
10809e8b4ed9fSmrg    _LT_SYS_DYNAMIC_LINKER($1)
10810e8b4ed9fSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
10811b40a6198Smrg
10812e8b4ed9fSmrg    _LT_CONFIG($1)
10813e8b4ed9fSmrg  fi # test -n "$compiler"
10814b40a6198Smrg
10815e8b4ed9fSmrg  CC=$lt_save_CC
10816e8b4ed9fSmrg  CFLAGS=$lt_save_CFLAGS
10817e8b4ed9fSmrg  LDCXX=$LD
10818e8b4ed9fSmrg  LD=$lt_save_LD
10819e8b4ed9fSmrg  GCC=$lt_save_GCC
10820e8b4ed9fSmrg  with_gnu_ld=$lt_save_with_gnu_ld
10821e8b4ed9fSmrg  lt_cv_path_LDCXX=$lt_cv_path_LD
10822e8b4ed9fSmrg  lt_cv_path_LD=$lt_save_path_LD
10823e8b4ed9fSmrg  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
10824e8b4ed9fSmrg  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
10825e8b4ed9fSmrgfi # test yes != "$_lt_caught_CXX_error"
10826b40a6198Smrg
10827e8b4ed9fSmrgAC_LANG_POP
10828e8b4ed9fSmrg])# _LT_LANG_CXX_CONFIG
10829b40a6198Smrg
10830e8b4ed9fSmrg
10831e8b4ed9fSmrg# _LT_FUNC_STRIPNAME_CNF
10832e8b4ed9fSmrg# ----------------------
10833e8b4ed9fSmrg# func_stripname_cnf prefix suffix name
10834e8b4ed9fSmrg# strip PREFIX and SUFFIX off of NAME.
10835e8b4ed9fSmrg# PREFIX and SUFFIX must not contain globbing or regex special
10836e8b4ed9fSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading
10837e8b4ed9fSmrg# dot (in which case that matches only a dot).
10838b40a6198Smrg#
10839e8b4ed9fSmrg# This function is identical to the (non-XSI) version of func_stripname,
10840e8b4ed9fSmrg# except this one can be used by m4 code that may be executed by configure,
10841e8b4ed9fSmrg# rather than the libtool script.
10842e8b4ed9fSmrgm4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
10843e8b4ed9fSmrgAC_REQUIRE([_LT_DECL_SED])
10844e8b4ed9fSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
10845e8b4ed9fSmrgfunc_stripname_cnf ()
10846e8b4ed9fSmrg{
10847e8b4ed9fSmrg  case @S|@2 in
10848e8b4ed9fSmrg  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
10849e8b4ed9fSmrg  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
10850e8b4ed9fSmrg  esac
10851e8b4ed9fSmrg} # func_stripname_cnf
10852e8b4ed9fSmrg])# _LT_FUNC_STRIPNAME_CNF
10853b40a6198Smrg
1085457ba8e8bSmrg
10855e8b4ed9fSmrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
10856e8b4ed9fSmrg# ---------------------------------
10857e8b4ed9fSmrg# Figure out "hidden" library dependencies from verbose
10858e8b4ed9fSmrg# compiler output when linking a shared library.
10859e8b4ed9fSmrg# Parse the compiler output and extract the necessary
10860e8b4ed9fSmrg# objects, libraries and library flags.
10861e8b4ed9fSmrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
10862e8b4ed9fSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
10863e8b4ed9fSmrgAC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
10864e8b4ed9fSmrg# Dependencies to place before and after the object being linked:
10865e8b4ed9fSmrg_LT_TAGVAR(predep_objects, $1)=
10866e8b4ed9fSmrg_LT_TAGVAR(postdep_objects, $1)=
10867e8b4ed9fSmrg_LT_TAGVAR(predeps, $1)=
10868e8b4ed9fSmrg_LT_TAGVAR(postdeps, $1)=
10869e8b4ed9fSmrg_LT_TAGVAR(compiler_lib_search_path, $1)=
1087057ba8e8bSmrg
10871e8b4ed9fSmrgdnl we can't use the lt_simple_compile_test_code here,
10872e8b4ed9fSmrgdnl because it contains code intended for an executable,
10873e8b4ed9fSmrgdnl not a library.  It's possible we should let each
10874e8b4ed9fSmrgdnl tag define a new lt_????_link_test_code variable,
10875e8b4ed9fSmrgdnl but it's only used here...
10876e8b4ed9fSmrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
10877e8b4ed9fSmrgint a;
10878e8b4ed9fSmrgvoid foo (void) { a = 0; }
10879e8b4ed9fSmrg_LT_EOF
10880e8b4ed9fSmrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
10881e8b4ed9fSmrgclass Foo
10882e8b4ed9fSmrg{
10883e8b4ed9fSmrgpublic:
10884e8b4ed9fSmrg  Foo (void) { a = 0; }
10885e8b4ed9fSmrgprivate:
10886e8b4ed9fSmrg  int a;
10887e8b4ed9fSmrg};
10888e8b4ed9fSmrg_LT_EOF
10889e8b4ed9fSmrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
10890e8b4ed9fSmrg      subroutine foo
10891e8b4ed9fSmrg      implicit none
10892e8b4ed9fSmrg      integer*4 a
10893e8b4ed9fSmrg      a=0
10894e8b4ed9fSmrg      return
10895e8b4ed9fSmrg      end
10896e8b4ed9fSmrg_LT_EOF
10897e8b4ed9fSmrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
10898e8b4ed9fSmrg      subroutine foo
10899e8b4ed9fSmrg      implicit none
10900e8b4ed9fSmrg      integer a
10901e8b4ed9fSmrg      a=0
10902e8b4ed9fSmrg      return
10903e8b4ed9fSmrg      end
10904e8b4ed9fSmrg_LT_EOF
10905e8b4ed9fSmrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
10906e8b4ed9fSmrgpublic class foo {
10907e8b4ed9fSmrg  private int a;
10908e8b4ed9fSmrg  public void bar (void) {
10909e8b4ed9fSmrg    a = 0;
10910e8b4ed9fSmrg  }
10911e8b4ed9fSmrg};
10912e8b4ed9fSmrg_LT_EOF
10913e8b4ed9fSmrg], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
10914e8b4ed9fSmrgpackage foo
10915e8b4ed9fSmrgfunc foo() {
10916e8b4ed9fSmrg}
10917e8b4ed9fSmrg_LT_EOF
10918e8b4ed9fSmrg])
10919b40a6198Smrg
10920e8b4ed9fSmrg_lt_libdeps_save_CFLAGS=$CFLAGS
10921e8b4ed9fSmrgcase "$CC $CFLAGS " in #(
10922e8b4ed9fSmrg*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
10923e8b4ed9fSmrg*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
10924e8b4ed9fSmrg*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
10925e8b4ed9fSmrgesac
10926b40a6198Smrg
10927e8b4ed9fSmrgdnl Parse the compiler output and extract the necessary
10928e8b4ed9fSmrgdnl objects, libraries and library flags.
10929e8b4ed9fSmrgif AC_TRY_EVAL(ac_compile); then
10930e8b4ed9fSmrg  # Parse the compiler output and extract the necessary
10931e8b4ed9fSmrg  # objects, libraries and library flags.
10932e8b4ed9fSmrg
10933e8b4ed9fSmrg  # Sentinel used to keep track of whether or not we are before
10934e8b4ed9fSmrg  # the conftest object file.
10935e8b4ed9fSmrg  pre_test_object_deps_done=no
10936e8b4ed9fSmrg
10937e8b4ed9fSmrg  for p in `eval "$output_verbose_link_cmd"`; do
10938e8b4ed9fSmrg    case $prev$p in
10939e8b4ed9fSmrg
10940e8b4ed9fSmrg    -L* | -R* | -l*)
10941e8b4ed9fSmrg       # Some compilers place space between "-{L,R}" and the path.
10942e8b4ed9fSmrg       # Remove the space.
10943e8b4ed9fSmrg       if test x-L = "$p" ||
10944e8b4ed9fSmrg          test x-R = "$p"; then
10945e8b4ed9fSmrg	 prev=$p
10946e8b4ed9fSmrg	 continue
10947e8b4ed9fSmrg       fi
10948e8b4ed9fSmrg
10949e8b4ed9fSmrg       # Expand the sysroot to ease extracting the directories later.
10950e8b4ed9fSmrg       if test -z "$prev"; then
10951e8b4ed9fSmrg         case $p in
10952e8b4ed9fSmrg         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
10953e8b4ed9fSmrg         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
10954e8b4ed9fSmrg         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
10955e8b4ed9fSmrg         esac
10956e8b4ed9fSmrg       fi
10957e8b4ed9fSmrg       case $p in
10958e8b4ed9fSmrg       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
10959e8b4ed9fSmrg       esac
10960e8b4ed9fSmrg       if test no = "$pre_test_object_deps_done"; then
10961e8b4ed9fSmrg	 case $prev in
10962e8b4ed9fSmrg	 -L | -R)
10963e8b4ed9fSmrg	   # Internal compiler library paths should come after those
10964e8b4ed9fSmrg	   # provided the user.  The postdeps already come after the
10965e8b4ed9fSmrg	   # user supplied libs so there is no need to process them.
10966e8b4ed9fSmrg	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
10967e8b4ed9fSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
10968e8b4ed9fSmrg	   else
10969e8b4ed9fSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
10970e8b4ed9fSmrg	   fi
10971e8b4ed9fSmrg	   ;;
10972e8b4ed9fSmrg	 # The "-l" case would never come before the object being
10973e8b4ed9fSmrg	 # linked, so don't bother handling this case.
10974e8b4ed9fSmrg	 esac
10975e8b4ed9fSmrg       else
10976e8b4ed9fSmrg	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
10977e8b4ed9fSmrg	   _LT_TAGVAR(postdeps, $1)=$prev$p
10978e8b4ed9fSmrg	 else
10979e8b4ed9fSmrg	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
10980e8b4ed9fSmrg	 fi
10981e8b4ed9fSmrg       fi
10982e8b4ed9fSmrg       prev=
10983e8b4ed9fSmrg       ;;
10984b40a6198Smrg
10985e8b4ed9fSmrg    *.lto.$objext) ;; # Ignore GCC LTO objects
10986e8b4ed9fSmrg    *.$objext)
10987e8b4ed9fSmrg       # This assumes that the test object file only shows up
10988e8b4ed9fSmrg       # once in the compiler output.
10989e8b4ed9fSmrg       if test "$p" = "conftest.$objext"; then
10990e8b4ed9fSmrg	 pre_test_object_deps_done=yes
10991e8b4ed9fSmrg	 continue
10992e8b4ed9fSmrg       fi
10993b40a6198Smrg
10994e8b4ed9fSmrg       if test no = "$pre_test_object_deps_done"; then
10995e8b4ed9fSmrg	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
10996e8b4ed9fSmrg	   _LT_TAGVAR(predep_objects, $1)=$p
10997e8b4ed9fSmrg	 else
10998e8b4ed9fSmrg	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
10999e8b4ed9fSmrg	 fi
11000e8b4ed9fSmrg       else
11001e8b4ed9fSmrg	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
11002e8b4ed9fSmrg	   _LT_TAGVAR(postdep_objects, $1)=$p
11003e8b4ed9fSmrg	 else
11004e8b4ed9fSmrg	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
11005e8b4ed9fSmrg	 fi
11006e8b4ed9fSmrg       fi
11007e8b4ed9fSmrg       ;;
11008b40a6198Smrg
11009e8b4ed9fSmrg    *) ;; # Ignore the rest.
11010b40a6198Smrg
11011e8b4ed9fSmrg    esac
11012e8b4ed9fSmrg  done
11013b40a6198Smrg
11014e8b4ed9fSmrg  # Clean up.
11015e8b4ed9fSmrg  rm -f a.out a.exe
11016b40a6198Smrgelse
11017e8b4ed9fSmrg  echo "libtool.m4: error: problem compiling $1 test program"
11018b40a6198Smrgfi
11019b40a6198Smrg
11020e8b4ed9fSmrg$RM -f confest.$objext
11021e8b4ed9fSmrgCFLAGS=$_lt_libdeps_save_CFLAGS
11022b40a6198Smrg
11023e8b4ed9fSmrg# PORTME: override above test on systems where it is broken
11024e8b4ed9fSmrgm4_if([$1], [CXX],
11025e8b4ed9fSmrg[case $host_os in
11026e8b4ed9fSmrginterix[[3-9]]*)
11027e8b4ed9fSmrg  # Interix 3.5 installs completely hosed .la files for C++, so rather than
11028e8b4ed9fSmrg  # hack all around it, let's just trust "g++" to DTRT.
11029e8b4ed9fSmrg  _LT_TAGVAR(predep_objects,$1)=
11030e8b4ed9fSmrg  _LT_TAGVAR(postdep_objects,$1)=
11031e8b4ed9fSmrg  _LT_TAGVAR(postdeps,$1)=
11032e8b4ed9fSmrg  ;;
11033e8b4ed9fSmrgesac
11034e8b4ed9fSmrg])
1103557ba8e8bSmrg
11036e8b4ed9fSmrgcase " $_LT_TAGVAR(postdeps, $1) " in
11037e8b4ed9fSmrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
11038e8b4ed9fSmrgesac
11039e8b4ed9fSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
11040e8b4ed9fSmrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
11041e8b4ed9fSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
11042e8b4ed9fSmrgfi
11043e8b4ed9fSmrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
11044e8b4ed9fSmrg    [The directories searched by this compiler when creating a shared library])
11045e8b4ed9fSmrg_LT_TAGDECL([], [predep_objects], [1],
11046e8b4ed9fSmrg    [Dependencies to place before and after the objects being linked to
11047e8b4ed9fSmrg    create a shared library])
11048e8b4ed9fSmrg_LT_TAGDECL([], [postdep_objects], [1])
11049e8b4ed9fSmrg_LT_TAGDECL([], [predeps], [1])
11050e8b4ed9fSmrg_LT_TAGDECL([], [postdeps], [1])
11051e8b4ed9fSmrg_LT_TAGDECL([], [compiler_lib_search_path], [1],
11052e8b4ed9fSmrg    [The library search path used internally by the compiler when linking
11053e8b4ed9fSmrg    a shared library])
11054e8b4ed9fSmrg])# _LT_SYS_HIDDEN_LIBDEPS
1105557ba8e8bSmrg
11056b40a6198Smrg
11057e8b4ed9fSmrg# _LT_LANG_F77_CONFIG([TAG])
11058e8b4ed9fSmrg# --------------------------
11059e8b4ed9fSmrg# Ensure that the configuration variables for a Fortran 77 compiler are
11060e8b4ed9fSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
11061e8b4ed9fSmrg# to write the compiler configuration to 'libtool'.
11062e8b4ed9fSmrgm4_defun([_LT_LANG_F77_CONFIG],
11063e8b4ed9fSmrg[AC_LANG_PUSH(Fortran 77)
11064e8b4ed9fSmrgif test -z "$F77" || test no = "$F77"; then
11065e8b4ed9fSmrg  _lt_disable_F77=yes
11066e8b4ed9fSmrgfi
11067e8b4ed9fSmrg
11068e8b4ed9fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
11069e8b4ed9fSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
11070e8b4ed9fSmrg_LT_TAGVAR(always_export_symbols, $1)=no
11071e8b4ed9fSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
11072e8b4ed9fSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
11073e8b4ed9fSmrg_LT_TAGVAR(hardcode_direct, $1)=no
11074e8b4ed9fSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
11075e8b4ed9fSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
11076e8b4ed9fSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
11077e8b4ed9fSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
11078e8b4ed9fSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
11079e8b4ed9fSmrg_LT_TAGVAR(inherit_rpath, $1)=no
11080e8b4ed9fSmrg_LT_TAGVAR(module_cmds, $1)=
11081e8b4ed9fSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
11082e8b4ed9fSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
11083e8b4ed9fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
11084e8b4ed9fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
11085e8b4ed9fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
11086e8b4ed9fSmrg_LT_TAGVAR(no_undefined_flag, $1)=
11087e8b4ed9fSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
11088e8b4ed9fSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
11089e8b4ed9fSmrg
11090e8b4ed9fSmrg# Source file extension for f77 test sources.
11091e8b4ed9fSmrgac_ext=f
11092b40a6198Smrg
11093e8b4ed9fSmrg# Object file extension for compiled f77 test sources.
11094e8b4ed9fSmrgobjext=o
11095e8b4ed9fSmrg_LT_TAGVAR(objext, $1)=$objext
11096b40a6198Smrg
11097e8b4ed9fSmrg# No sense in running all these tests if we already determined that
11098e8b4ed9fSmrg# the F77 compiler isn't working.  Some variables (like enable_shared)
11099e8b4ed9fSmrg# are currently assumed to apply to all compilers on this platform,
11100e8b4ed9fSmrg# and will be corrupted by setting them based on a non-working compiler.
11101e8b4ed9fSmrgif test yes != "$_lt_disable_F77"; then
11102e8b4ed9fSmrg  # Code to be used in simple compile tests
11103e8b4ed9fSmrg  lt_simple_compile_test_code="\
11104e8b4ed9fSmrg      subroutine t
11105e8b4ed9fSmrg      return
11106e8b4ed9fSmrg      end
11107e8b4ed9fSmrg"
11108b40a6198Smrg
11109e8b4ed9fSmrg  # Code to be used in simple link tests
11110e8b4ed9fSmrg  lt_simple_link_test_code="\
11111e8b4ed9fSmrg      program t
11112e8b4ed9fSmrg      end
11113e8b4ed9fSmrg"
11114b40a6198Smrg
11115e8b4ed9fSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
11116e8b4ed9fSmrg  _LT_TAG_COMPILER
11117b40a6198Smrg
11118e8b4ed9fSmrg  # save warnings/boilerplate of simple test code
11119e8b4ed9fSmrg  _LT_COMPILER_BOILERPLATE
11120e8b4ed9fSmrg  _LT_LINKER_BOILERPLATE
11121e8b4ed9fSmrg
11122e8b4ed9fSmrg  # Allow CC to be a program name with arguments.
11123e8b4ed9fSmrg  lt_save_CC=$CC
11124e8b4ed9fSmrg  lt_save_GCC=$GCC
11125e8b4ed9fSmrg  lt_save_CFLAGS=$CFLAGS
11126e8b4ed9fSmrg  CC=${F77-"f77"}
11127e8b4ed9fSmrg  CFLAGS=$FFLAGS
11128e8b4ed9fSmrg  compiler=$CC
11129e8b4ed9fSmrg  _LT_TAGVAR(compiler, $1)=$CC
11130e8b4ed9fSmrg  _LT_CC_BASENAME([$compiler])
11131e8b4ed9fSmrg  GCC=$G77
11132e8b4ed9fSmrg  if test -n "$compiler"; then
11133e8b4ed9fSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
11134e8b4ed9fSmrg    AC_MSG_RESULT([$can_build_shared])
11135e8b4ed9fSmrg
11136e8b4ed9fSmrg    AC_MSG_CHECKING([whether to build shared libraries])
11137e8b4ed9fSmrg    test no = "$can_build_shared" && enable_shared=no
11138e8b4ed9fSmrg
11139e8b4ed9fSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
11140e8b4ed9fSmrg    # are all built from PIC.
11141e8b4ed9fSmrg    case $host_os in
11142e8b4ed9fSmrg      aix3*)
11143e8b4ed9fSmrg        test yes = "$enable_shared" && enable_static=no
11144e8b4ed9fSmrg        if test -n "$RANLIB"; then
11145e8b4ed9fSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
11146e8b4ed9fSmrg          postinstall_cmds='$RANLIB $lib'
11147e8b4ed9fSmrg        fi
11148e8b4ed9fSmrg        ;;
11149e8b4ed9fSmrg      aix[[4-9]]*)
11150e8b4ed9fSmrg	if test ia64 != "$host_cpu"; then
11151e8b4ed9fSmrg	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
11152e8b4ed9fSmrg	  yes,aix,yes) ;;		# shared object as lib.so file only
11153e8b4ed9fSmrg	  yes,svr4,*) ;;		# shared object as lib.so archive member only
11154e8b4ed9fSmrg	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
11155e8b4ed9fSmrg	  esac
11156e8b4ed9fSmrg	fi
11157e8b4ed9fSmrg        ;;
11158e8b4ed9fSmrg    esac
11159e8b4ed9fSmrg    AC_MSG_RESULT([$enable_shared])
11160e8b4ed9fSmrg
11161e8b4ed9fSmrg    AC_MSG_CHECKING([whether to build static libraries])
11162e8b4ed9fSmrg    # Make sure either enable_shared or enable_static is yes.
11163e8b4ed9fSmrg    test yes = "$enable_shared" || enable_static=yes
11164e8b4ed9fSmrg    AC_MSG_RESULT([$enable_static])
11165b40a6198Smrg
11166e8b4ed9fSmrg    _LT_TAGVAR(GCC, $1)=$G77
11167e8b4ed9fSmrg    _LT_TAGVAR(LD, $1)=$LD
11168b40a6198Smrg
11169e8b4ed9fSmrg    ## CAVEAT EMPTOR:
11170e8b4ed9fSmrg    ## There is no encapsulation within the following macros, do not change
11171e8b4ed9fSmrg    ## the running order or otherwise move them around unless you know exactly
11172e8b4ed9fSmrg    ## what you are doing...
11173e8b4ed9fSmrg    _LT_COMPILER_PIC($1)
11174e8b4ed9fSmrg    _LT_COMPILER_C_O($1)
11175e8b4ed9fSmrg    _LT_COMPILER_FILE_LOCKS($1)
11176e8b4ed9fSmrg    _LT_LINKER_SHLIBS($1)
11177e8b4ed9fSmrg    _LT_SYS_DYNAMIC_LINKER($1)
11178e8b4ed9fSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
11179b40a6198Smrg
11180e8b4ed9fSmrg    _LT_CONFIG($1)
11181e8b4ed9fSmrg  fi # test -n "$compiler"
11182b40a6198Smrg
11183e8b4ed9fSmrg  GCC=$lt_save_GCC
11184e8b4ed9fSmrg  CC=$lt_save_CC
11185e8b4ed9fSmrg  CFLAGS=$lt_save_CFLAGS
11186e8b4ed9fSmrgfi # test yes != "$_lt_disable_F77"
11187b40a6198Smrg
11188e8b4ed9fSmrgAC_LANG_POP
11189e8b4ed9fSmrg])# _LT_LANG_F77_CONFIG
11190b40a6198Smrg
11191b40a6198Smrg
11192e8b4ed9fSmrg# _LT_LANG_FC_CONFIG([TAG])
11193e8b4ed9fSmrg# -------------------------
11194e8b4ed9fSmrg# Ensure that the configuration variables for a Fortran compiler are
11195e8b4ed9fSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
11196e8b4ed9fSmrg# to write the compiler configuration to 'libtool'.
11197e8b4ed9fSmrgm4_defun([_LT_LANG_FC_CONFIG],
11198e8b4ed9fSmrg[AC_LANG_PUSH(Fortran)
11199b40a6198Smrg
11200e8b4ed9fSmrgif test -z "$FC" || test no = "$FC"; then
11201e8b4ed9fSmrg  _lt_disable_FC=yes
11202b40a6198Smrgfi
11203b40a6198Smrg
11204e8b4ed9fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
11205e8b4ed9fSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
11206e8b4ed9fSmrg_LT_TAGVAR(always_export_symbols, $1)=no
11207e8b4ed9fSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
11208e8b4ed9fSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
11209e8b4ed9fSmrg_LT_TAGVAR(hardcode_direct, $1)=no
11210e8b4ed9fSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
11211e8b4ed9fSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
11212e8b4ed9fSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
11213e8b4ed9fSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
11214e8b4ed9fSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
11215e8b4ed9fSmrg_LT_TAGVAR(inherit_rpath, $1)=no
11216e8b4ed9fSmrg_LT_TAGVAR(module_cmds, $1)=
11217e8b4ed9fSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
11218e8b4ed9fSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
11219e8b4ed9fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
11220e8b4ed9fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
11221e8b4ed9fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
11222e8b4ed9fSmrg_LT_TAGVAR(no_undefined_flag, $1)=
11223e8b4ed9fSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
11224e8b4ed9fSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
11225e8b4ed9fSmrg
11226e8b4ed9fSmrg# Source file extension for fc test sources.
11227e8b4ed9fSmrgac_ext=${ac_fc_srcext-f}
11228e8b4ed9fSmrg
11229e8b4ed9fSmrg# Object file extension for compiled fc test sources.
11230e8b4ed9fSmrgobjext=o
11231e8b4ed9fSmrg_LT_TAGVAR(objext, $1)=$objext
11232e8b4ed9fSmrg
11233e8b4ed9fSmrg# No sense in running all these tests if we already determined that
11234e8b4ed9fSmrg# the FC compiler isn't working.  Some variables (like enable_shared)
11235e8b4ed9fSmrg# are currently assumed to apply to all compilers on this platform,
11236e8b4ed9fSmrg# and will be corrupted by setting them based on a non-working compiler.
11237e8b4ed9fSmrgif test yes != "$_lt_disable_FC"; then
11238e8b4ed9fSmrg  # Code to be used in simple compile tests
11239e8b4ed9fSmrg  lt_simple_compile_test_code="\
11240e8b4ed9fSmrg      subroutine t
11241e8b4ed9fSmrg      return
11242e8b4ed9fSmrg      end
11243e8b4ed9fSmrg"
11244e8b4ed9fSmrg
11245e8b4ed9fSmrg  # Code to be used in simple link tests
11246e8b4ed9fSmrg  lt_simple_link_test_code="\
11247e8b4ed9fSmrg      program t
11248e8b4ed9fSmrg      end
11249e8b4ed9fSmrg"
11250e8b4ed9fSmrg
11251e8b4ed9fSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
11252e8b4ed9fSmrg  _LT_TAG_COMPILER
11253e8b4ed9fSmrg
11254e8b4ed9fSmrg  # save warnings/boilerplate of simple test code
11255e8b4ed9fSmrg  _LT_COMPILER_BOILERPLATE
11256e8b4ed9fSmrg  _LT_LINKER_BOILERPLATE
11257e8b4ed9fSmrg
11258e8b4ed9fSmrg  # Allow CC to be a program name with arguments.
11259e8b4ed9fSmrg  lt_save_CC=$CC
11260e8b4ed9fSmrg  lt_save_GCC=$GCC
11261e8b4ed9fSmrg  lt_save_CFLAGS=$CFLAGS
11262e8b4ed9fSmrg  CC=${FC-"f95"}
11263e8b4ed9fSmrg  CFLAGS=$FCFLAGS
11264e8b4ed9fSmrg  compiler=$CC
11265e8b4ed9fSmrg  GCC=$ac_cv_fc_compiler_gnu
11266e8b4ed9fSmrg
11267e8b4ed9fSmrg  _LT_TAGVAR(compiler, $1)=$CC
11268e8b4ed9fSmrg  _LT_CC_BASENAME([$compiler])
11269e8b4ed9fSmrg
11270e8b4ed9fSmrg  if test -n "$compiler"; then
11271e8b4ed9fSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
11272e8b4ed9fSmrg    AC_MSG_RESULT([$can_build_shared])
11273b40a6198Smrg
11274e8b4ed9fSmrg    AC_MSG_CHECKING([whether to build shared libraries])
11275e8b4ed9fSmrg    test no = "$can_build_shared" && enable_shared=no
11276b40a6198Smrg
11277e8b4ed9fSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
11278e8b4ed9fSmrg    # are all built from PIC.
11279e8b4ed9fSmrg    case $host_os in
11280e8b4ed9fSmrg      aix3*)
11281e8b4ed9fSmrg        test yes = "$enable_shared" && enable_static=no
11282e8b4ed9fSmrg        if test -n "$RANLIB"; then
11283e8b4ed9fSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
11284e8b4ed9fSmrg          postinstall_cmds='$RANLIB $lib'
11285e8b4ed9fSmrg        fi
11286b40a6198Smrg        ;;
11287e8b4ed9fSmrg      aix[[4-9]]*)
11288e8b4ed9fSmrg	if test ia64 != "$host_cpu"; then
11289e8b4ed9fSmrg	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
11290e8b4ed9fSmrg	  yes,aix,yes) ;;		# shared object as lib.so file only
11291e8b4ed9fSmrg	  yes,svr4,*) ;;		# shared object as lib.so archive member only
11292e8b4ed9fSmrg	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
11293e8b4ed9fSmrg	  esac
11294e8b4ed9fSmrg	fi
11295b40a6198Smrg        ;;
11296e8b4ed9fSmrg    esac
11297e8b4ed9fSmrg    AC_MSG_RESULT([$enable_shared])
11298b40a6198Smrg
11299e8b4ed9fSmrg    AC_MSG_CHECKING([whether to build static libraries])
11300e8b4ed9fSmrg    # Make sure either enable_shared or enable_static is yes.
11301e8b4ed9fSmrg    test yes = "$enable_shared" || enable_static=yes
11302e8b4ed9fSmrg    AC_MSG_RESULT([$enable_static])
11303b40a6198Smrg
11304e8b4ed9fSmrg    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
11305e8b4ed9fSmrg    _LT_TAGVAR(LD, $1)=$LD
11306b40a6198Smrg
11307e8b4ed9fSmrg    ## CAVEAT EMPTOR:
11308e8b4ed9fSmrg    ## There is no encapsulation within the following macros, do not change
11309e8b4ed9fSmrg    ## the running order or otherwise move them around unless you know exactly
11310e8b4ed9fSmrg    ## what you are doing...
11311e8b4ed9fSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
11312e8b4ed9fSmrg    _LT_COMPILER_PIC($1)
11313e8b4ed9fSmrg    _LT_COMPILER_C_O($1)
11314e8b4ed9fSmrg    _LT_COMPILER_FILE_LOCKS($1)
11315e8b4ed9fSmrg    _LT_LINKER_SHLIBS($1)
11316e8b4ed9fSmrg    _LT_SYS_DYNAMIC_LINKER($1)
11317e8b4ed9fSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
1131845bc899bSmrg
11319e8b4ed9fSmrg    _LT_CONFIG($1)
11320e8b4ed9fSmrg  fi # test -n "$compiler"
1132145bc899bSmrg
11322e8b4ed9fSmrg  GCC=$lt_save_GCC
11323e8b4ed9fSmrg  CC=$lt_save_CC
11324e8b4ed9fSmrg  CFLAGS=$lt_save_CFLAGS
11325e8b4ed9fSmrgfi # test yes != "$_lt_disable_FC"
1132645bc899bSmrg
11327e8b4ed9fSmrgAC_LANG_POP
11328e8b4ed9fSmrg])# _LT_LANG_FC_CONFIG
1132945bc899bSmrg
1133045bc899bSmrg
11331e8b4ed9fSmrg# _LT_LANG_GCJ_CONFIG([TAG])
11332e8b4ed9fSmrg# --------------------------
11333e8b4ed9fSmrg# Ensure that the configuration variables for the GNU Java Compiler compiler
11334e8b4ed9fSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
11335e8b4ed9fSmrg# to write the compiler configuration to 'libtool'.
11336e8b4ed9fSmrgm4_defun([_LT_LANG_GCJ_CONFIG],
11337e8b4ed9fSmrg[AC_REQUIRE([LT_PROG_GCJ])dnl
11338e8b4ed9fSmrgAC_LANG_SAVE
11339b40a6198Smrg
11340e8b4ed9fSmrg# Source file extension for Java test sources.
11341e8b4ed9fSmrgac_ext=java
11342b40a6198Smrg
11343e8b4ed9fSmrg# Object file extension for compiled Java test sources.
11344e8b4ed9fSmrgobjext=o
11345e8b4ed9fSmrg_LT_TAGVAR(objext, $1)=$objext
11346b40a6198Smrg
11347e8b4ed9fSmrg# Code to be used in simple compile tests
11348e8b4ed9fSmrglt_simple_compile_test_code="class foo {}"
1134945bc899bSmrg
11350e8b4ed9fSmrg# Code to be used in simple link tests
11351e8b4ed9fSmrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
1135245bc899bSmrg
11353e8b4ed9fSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
11354e8b4ed9fSmrg_LT_TAG_COMPILER
1135545bc899bSmrg
11356e8b4ed9fSmrg# save warnings/boilerplate of simple test code
11357e8b4ed9fSmrg_LT_COMPILER_BOILERPLATE
11358e8b4ed9fSmrg_LT_LINKER_BOILERPLATE
1135945bc899bSmrg
11360e8b4ed9fSmrg# Allow CC to be a program name with arguments.
11361e8b4ed9fSmrglt_save_CC=$CC
11362e8b4ed9fSmrglt_save_CFLAGS=$CFLAGS
11363e8b4ed9fSmrglt_save_GCC=$GCC
11364e8b4ed9fSmrgGCC=yes
11365e8b4ed9fSmrgCC=${GCJ-"gcj"}
11366e8b4ed9fSmrgCFLAGS=$GCJFLAGS
11367e8b4ed9fSmrgcompiler=$CC
11368e8b4ed9fSmrg_LT_TAGVAR(compiler, $1)=$CC
11369e8b4ed9fSmrg_LT_TAGVAR(LD, $1)=$LD
11370e8b4ed9fSmrg_LT_CC_BASENAME([$compiler])
11371e8b4ed9fSmrg
11372e8b4ed9fSmrg# GCJ did not exist at the time GCC didn't implicitly link libc in.
11373e8b4ed9fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
11374e8b4ed9fSmrg
11375e8b4ed9fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
11376e8b4ed9fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
11377e8b4ed9fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
11378e8b4ed9fSmrg
11379e8b4ed9fSmrgif test -n "$compiler"; then
11380e8b4ed9fSmrg  _LT_COMPILER_NO_RTTI($1)
11381e8b4ed9fSmrg  _LT_COMPILER_PIC($1)
11382e8b4ed9fSmrg  _LT_COMPILER_C_O($1)
11383e8b4ed9fSmrg  _LT_COMPILER_FILE_LOCKS($1)
11384e8b4ed9fSmrg  _LT_LINKER_SHLIBS($1)
11385e8b4ed9fSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
11386b40a6198Smrg
11387e8b4ed9fSmrg  _LT_CONFIG($1)
1138845bc899bSmrgfi
11389b40a6198Smrg
11390e8b4ed9fSmrgAC_LANG_RESTORE
1139145bc899bSmrg
11392e8b4ed9fSmrgGCC=$lt_save_GCC
11393e8b4ed9fSmrgCC=$lt_save_CC
11394e8b4ed9fSmrgCFLAGS=$lt_save_CFLAGS
11395e8b4ed9fSmrg])# _LT_LANG_GCJ_CONFIG
1139645bc899bSmrg
11397b40a6198Smrg
11398e8b4ed9fSmrg# _LT_LANG_GO_CONFIG([TAG])
11399e8b4ed9fSmrg# --------------------------
11400e8b4ed9fSmrg# Ensure that the configuration variables for the GNU Go compiler
11401e8b4ed9fSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
11402e8b4ed9fSmrg# to write the compiler configuration to 'libtool'.
11403e8b4ed9fSmrgm4_defun([_LT_LANG_GO_CONFIG],
11404e8b4ed9fSmrg[AC_REQUIRE([LT_PROG_GO])dnl
11405e8b4ed9fSmrgAC_LANG_SAVE
11406b40a6198Smrg
11407e8b4ed9fSmrg# Source file extension for Go test sources.
11408e8b4ed9fSmrgac_ext=go
11409b40a6198Smrg
11410e8b4ed9fSmrg# Object file extension for compiled Go test sources.
11411e8b4ed9fSmrgobjext=o
11412e8b4ed9fSmrg_LT_TAGVAR(objext, $1)=$objext
11413b40a6198Smrg
11414e8b4ed9fSmrg# Code to be used in simple compile tests
11415e8b4ed9fSmrglt_simple_compile_test_code="package main; func main() { }"
11416b40a6198Smrg
11417e8b4ed9fSmrg# Code to be used in simple link tests
11418e8b4ed9fSmrglt_simple_link_test_code='package main; func main() { }'
11419b40a6198Smrg
11420e8b4ed9fSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
11421e8b4ed9fSmrg_LT_TAG_COMPILER
11422b40a6198Smrg
11423e8b4ed9fSmrg# save warnings/boilerplate of simple test code
11424e8b4ed9fSmrg_LT_COMPILER_BOILERPLATE
11425e8b4ed9fSmrg_LT_LINKER_BOILERPLATE
11426b40a6198Smrg
11427e8b4ed9fSmrg# Allow CC to be a program name with arguments.
11428e8b4ed9fSmrglt_save_CC=$CC
11429e8b4ed9fSmrglt_save_CFLAGS=$CFLAGS
11430e8b4ed9fSmrglt_save_GCC=$GCC
11431e8b4ed9fSmrgGCC=yes
11432e8b4ed9fSmrgCC=${GOC-"gccgo"}
11433e8b4ed9fSmrgCFLAGS=$GOFLAGS
11434e8b4ed9fSmrgcompiler=$CC
11435e8b4ed9fSmrg_LT_TAGVAR(compiler, $1)=$CC
11436e8b4ed9fSmrg_LT_TAGVAR(LD, $1)=$LD
11437e8b4ed9fSmrg_LT_CC_BASENAME([$compiler])
11438b40a6198Smrg
11439e8b4ed9fSmrg# Go did not exist at the time GCC didn't implicitly link libc in.
11440e8b4ed9fSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
11441b40a6198Smrg
11442e8b4ed9fSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
11443e8b4ed9fSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
11444e8b4ed9fSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
11445b40a6198Smrg
11446e8b4ed9fSmrgif test -n "$compiler"; then
11447e8b4ed9fSmrg  _LT_COMPILER_NO_RTTI($1)
11448e8b4ed9fSmrg  _LT_COMPILER_PIC($1)
11449e8b4ed9fSmrg  _LT_COMPILER_C_O($1)
11450e8b4ed9fSmrg  _LT_COMPILER_FILE_LOCKS($1)
11451e8b4ed9fSmrg  _LT_LINKER_SHLIBS($1)
11452e8b4ed9fSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
11453b40a6198Smrg
11454e8b4ed9fSmrg  _LT_CONFIG($1)
11455e8b4ed9fSmrgfi
11456b40a6198Smrg
11457e8b4ed9fSmrgAC_LANG_RESTORE
11458b40a6198Smrg
11459e8b4ed9fSmrgGCC=$lt_save_GCC
11460e8b4ed9fSmrgCC=$lt_save_CC
11461e8b4ed9fSmrgCFLAGS=$lt_save_CFLAGS
11462e8b4ed9fSmrg])# _LT_LANG_GO_CONFIG
11463b40a6198Smrg
11464b40a6198Smrg
11465e8b4ed9fSmrg# _LT_LANG_RC_CONFIG([TAG])
11466e8b4ed9fSmrg# -------------------------
11467e8b4ed9fSmrg# Ensure that the configuration variables for the Windows resource compiler
11468e8b4ed9fSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
11469e8b4ed9fSmrg# to write the compiler configuration to 'libtool'.
11470e8b4ed9fSmrgm4_defun([_LT_LANG_RC_CONFIG],
11471e8b4ed9fSmrg[AC_REQUIRE([LT_PROG_RC])dnl
11472e8b4ed9fSmrgAC_LANG_SAVE
11473b40a6198Smrg
11474e8b4ed9fSmrg# Source file extension for RC test sources.
11475e8b4ed9fSmrgac_ext=rc
11476b40a6198Smrg
11477e8b4ed9fSmrg# Object file extension for compiled RC test sources.
11478e8b4ed9fSmrgobjext=o
11479e8b4ed9fSmrg_LT_TAGVAR(objext, $1)=$objext
11480e8b4ed9fSmrg
11481e8b4ed9fSmrg# Code to be used in simple compile tests
11482e8b4ed9fSmrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
11483e8b4ed9fSmrg
11484e8b4ed9fSmrg# Code to be used in simple link tests
11485e8b4ed9fSmrglt_simple_link_test_code=$lt_simple_compile_test_code
11486e8b4ed9fSmrg
11487e8b4ed9fSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
11488e8b4ed9fSmrg_LT_TAG_COMPILER
11489b40a6198Smrg
11490e8b4ed9fSmrg# save warnings/boilerplate of simple test code
11491e8b4ed9fSmrg_LT_COMPILER_BOILERPLATE
11492e8b4ed9fSmrg_LT_LINKER_BOILERPLATE
11493b40a6198Smrg
11494e8b4ed9fSmrg# Allow CC to be a program name with arguments.
11495e8b4ed9fSmrglt_save_CC=$CC
11496e8b4ed9fSmrglt_save_CFLAGS=$CFLAGS
11497e8b4ed9fSmrglt_save_GCC=$GCC
11498e8b4ed9fSmrgGCC=
11499e8b4ed9fSmrgCC=${RC-"windres"}
11500e8b4ed9fSmrgCFLAGS=
11501e8b4ed9fSmrgcompiler=$CC
11502e8b4ed9fSmrg_LT_TAGVAR(compiler, $1)=$CC
11503e8b4ed9fSmrg_LT_CC_BASENAME([$compiler])
11504e8b4ed9fSmrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
11505b40a6198Smrg
11506e8b4ed9fSmrgif test -n "$compiler"; then
11507e8b4ed9fSmrg  :
11508e8b4ed9fSmrg  _LT_CONFIG($1)
11509b40a6198Smrgfi
11510b40a6198Smrg
11511e8b4ed9fSmrgGCC=$lt_save_GCC
11512e8b4ed9fSmrgAC_LANG_RESTORE
11513e8b4ed9fSmrgCC=$lt_save_CC
11514e8b4ed9fSmrgCFLAGS=$lt_save_CFLAGS
11515e8b4ed9fSmrg])# _LT_LANG_RC_CONFIG
11516b40a6198Smrg
115175592a31fSmrg
11518e8b4ed9fSmrg# LT_PROG_GCJ
11519e8b4ed9fSmrg# -----------
11520e8b4ed9fSmrgAC_DEFUN([LT_PROG_GCJ],
11521e8b4ed9fSmrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
11522e8b4ed9fSmrg  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
11523e8b4ed9fSmrg    [AC_CHECK_TOOL(GCJ, gcj,)
11524e8b4ed9fSmrg      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
11525e8b4ed9fSmrg      AC_SUBST(GCJFLAGS)])])[]dnl
11526e8b4ed9fSmrg])
115275592a31fSmrg
11528e8b4ed9fSmrg# Old name:
11529e8b4ed9fSmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
11530e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
11531e8b4ed9fSmrgdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
11532b40a6198Smrg
11533b40a6198Smrg
11534e8b4ed9fSmrg# LT_PROG_GO
11535e8b4ed9fSmrg# ----------
11536e8b4ed9fSmrgAC_DEFUN([LT_PROG_GO],
11537e8b4ed9fSmrg[AC_CHECK_TOOL(GOC, gccgo,)
11538e8b4ed9fSmrg])
11539b40a6198Smrg
11540b40a6198Smrg
11541e8b4ed9fSmrg# LT_PROG_RC
11542e8b4ed9fSmrg# ----------
11543e8b4ed9fSmrgAC_DEFUN([LT_PROG_RC],
11544e8b4ed9fSmrg[AC_CHECK_TOOL(RC, windres,)
11545e8b4ed9fSmrg])
115465592a31fSmrg
11547e8b4ed9fSmrg# Old name:
11548e8b4ed9fSmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
11549e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
11550e8b4ed9fSmrgdnl AC_DEFUN([LT_AC_PROG_RC], [])
115515592a31fSmrg
1155250f2e948Smrg
11553e8b4ed9fSmrg# _LT_DECL_EGREP
11554e8b4ed9fSmrg# --------------
11555e8b4ed9fSmrg# If we don't have a new enough Autoconf to choose the best grep
11556e8b4ed9fSmrg# available, choose the one first in the user's PATH.
11557e8b4ed9fSmrgm4_defun([_LT_DECL_EGREP],
11558e8b4ed9fSmrg[AC_REQUIRE([AC_PROG_EGREP])dnl
11559e8b4ed9fSmrgAC_REQUIRE([AC_PROG_FGREP])dnl
11560e8b4ed9fSmrgtest -z "$GREP" && GREP=grep
11561e8b4ed9fSmrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
11562e8b4ed9fSmrg_LT_DECL([], [EGREP], [1], [An ERE matcher])
11563e8b4ed9fSmrg_LT_DECL([], [FGREP], [1], [A literal string matcher])
11564e8b4ed9fSmrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
11565e8b4ed9fSmrgAC_SUBST([GREP])
11566e8b4ed9fSmrg])
11567c97b1c41Smrg
11568e8b4ed9fSmrg
11569e8b4ed9fSmrg# _LT_DECL_OBJDUMP
11570e8b4ed9fSmrg# --------------
11571e8b4ed9fSmrg# If we don't have a new enough Autoconf to choose the best objdump
11572e8b4ed9fSmrg# available, choose the one first in the user's PATH.
11573e8b4ed9fSmrgm4_defun([_LT_DECL_OBJDUMP],
11574e8b4ed9fSmrg[AC_CHECK_TOOL(OBJDUMP, objdump, false)
11575e8b4ed9fSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
11576e8b4ed9fSmrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
11577e8b4ed9fSmrgAC_SUBST([OBJDUMP])
1157850f2e948Smrg])
1157950f2e948Smrg
11580e8b4ed9fSmrg# _LT_DECL_DLLTOOL
1158150f2e948Smrg# ----------------
11582e8b4ed9fSmrg# Ensure DLLTOOL variable is set.
11583e8b4ed9fSmrgm4_defun([_LT_DECL_DLLTOOL],
11584e8b4ed9fSmrg[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
11585e8b4ed9fSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
11586e8b4ed9fSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
11587e8b4ed9fSmrgAC_SUBST([DLLTOOL])
11588e8b4ed9fSmrg])
115895592a31fSmrg
11590e8b4ed9fSmrg# _LT_DECL_FILECMD
11591e8b4ed9fSmrg# ----------------
11592e8b4ed9fSmrg# Check for a file(cmd) program that can be used to detect file type and magic
11593e8b4ed9fSmrgm4_defun([_LT_DECL_FILECMD],
11594e8b4ed9fSmrg[AC_CHECK_TOOL([FILECMD], [file], [:])
11595e8b4ed9fSmrg_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
11596e8b4ed9fSmrg])# _LD_DECL_FILECMD
115975592a31fSmrg
11598e8b4ed9fSmrg# _LT_DECL_SED
11599e8b4ed9fSmrg# ------------
11600e8b4ed9fSmrg# Check for a fully-functional sed program, that truncates
11601e8b4ed9fSmrg# as few characters as possible.  Prefer GNU sed if found.
11602e8b4ed9fSmrgm4_defun([_LT_DECL_SED],
11603e8b4ed9fSmrg[AC_PROG_SED
11604e8b4ed9fSmrgtest -z "$SED" && SED=sed
11605e8b4ed9fSmrgXsed="$SED -e 1s/^X//"
11606e8b4ed9fSmrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
11607e8b4ed9fSmrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
11608e8b4ed9fSmrg    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
11609e8b4ed9fSmrg])# _LT_DECL_SED
116105592a31fSmrg
11611e8b4ed9fSmrgm4_ifndef([AC_PROG_SED], [
11612e8b4ed9fSmrg# NOTE: This macro has been submitted for inclusion into   #
11613e8b4ed9fSmrg#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
11614e8b4ed9fSmrg#  a released version of Autoconf we should remove this    #
11615e8b4ed9fSmrg#  macro and use it instead.                               #
1161645bc899bSmrg
11617e8b4ed9fSmrgm4_defun([AC_PROG_SED],
11618e8b4ed9fSmrg[AC_MSG_CHECKING([for a sed that does not truncate output])
11619e8b4ed9fSmrgAC_CACHE_VAL(lt_cv_path_SED,
11620e8b4ed9fSmrg[# Loop through the user's path and test for sed and gsed.
11621e8b4ed9fSmrg# Then use that list of sed's as ones to test for truncation.
11622e8b4ed9fSmrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11623e8b4ed9fSmrgfor as_dir in $PATH
11624e8b4ed9fSmrgdo
11625e8b4ed9fSmrg  IFS=$as_save_IFS
11626e8b4ed9fSmrg  test -z "$as_dir" && as_dir=.
11627e8b4ed9fSmrg  for lt_ac_prog in sed gsed; do
11628e8b4ed9fSmrg    for ac_exec_ext in '' $ac_executable_extensions; do
11629e8b4ed9fSmrg      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
11630e8b4ed9fSmrg        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
11631e8b4ed9fSmrg      fi
11632e8b4ed9fSmrg    done
11633e8b4ed9fSmrg  done
11634e8b4ed9fSmrgdone
11635e8b4ed9fSmrgIFS=$as_save_IFS
11636e8b4ed9fSmrglt_ac_max=0
11637e8b4ed9fSmrglt_ac_count=0
11638e8b4ed9fSmrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris
11639e8b4ed9fSmrg# along with /bin/sed that truncates output.
11640e8b4ed9fSmrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
11641e8b4ed9fSmrg  test ! -f "$lt_ac_sed" && continue
11642e8b4ed9fSmrg  cat /dev/null > conftest.in
11643e8b4ed9fSmrg  lt_ac_count=0
11644e8b4ed9fSmrg  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
11645e8b4ed9fSmrg  # Check for GNU sed and select it if it is found.
11646e8b4ed9fSmrg  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
11647e8b4ed9fSmrg    lt_cv_path_SED=$lt_ac_sed
11648e8b4ed9fSmrg    break
11649e8b4ed9fSmrg  fi
11650e8b4ed9fSmrg  while true; do
11651e8b4ed9fSmrg    cat conftest.in conftest.in >conftest.tmp
11652e8b4ed9fSmrg    mv conftest.tmp conftest.in
11653e8b4ed9fSmrg    cp conftest.in conftest.nl
11654e8b4ed9fSmrg    echo >>conftest.nl
11655e8b4ed9fSmrg    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
11656e8b4ed9fSmrg    cmp -s conftest.out conftest.nl || break
11657e8b4ed9fSmrg    # 10000 chars as input seems more than enough
11658e8b4ed9fSmrg    test 10 -lt "$lt_ac_count" && break
11659e8b4ed9fSmrg    lt_ac_count=`expr $lt_ac_count + 1`
11660e8b4ed9fSmrg    if test "$lt_ac_count" -gt "$lt_ac_max"; then
11661e8b4ed9fSmrg      lt_ac_max=$lt_ac_count
11662e8b4ed9fSmrg      lt_cv_path_SED=$lt_ac_sed
11663e8b4ed9fSmrg    fi
11664e8b4ed9fSmrg  done
11665e8b4ed9fSmrgdone
1166650f2e948Smrg])
11667e8b4ed9fSmrgSED=$lt_cv_path_SED
11668e8b4ed9fSmrgAC_SUBST([SED])
11669e8b4ed9fSmrgAC_MSG_RESULT([$SED])
11670e8b4ed9fSmrg])#AC_PROG_SED
11671e8b4ed9fSmrg])#m4_ifndef
1167250f2e948Smrg
11673e8b4ed9fSmrg# Old name:
11674e8b4ed9fSmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
11675e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
11676e8b4ed9fSmrgdnl AC_DEFUN([LT_AC_PROG_SED], [])
1167745bc899bSmrg
1167845bc899bSmrg
11679e8b4ed9fSmrg# _LT_CHECK_SHELL_FEATURES
11680e8b4ed9fSmrg# ------------------------
11681e8b4ed9fSmrg# Find out whether the shell is Bourne or XSI compatible,
11682e8b4ed9fSmrg# or has some other useful features.
11683e8b4ed9fSmrgm4_defun([_LT_CHECK_SHELL_FEATURES],
11684e8b4ed9fSmrg[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
11685e8b4ed9fSmrg  lt_unset=unset
11686e8b4ed9fSmrgelse
11687e8b4ed9fSmrg  lt_unset=false
11688e8b4ed9fSmrgfi
11689e8b4ed9fSmrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
1169045bc899bSmrg
11691e8b4ed9fSmrg# test EBCDIC or ASCII
11692e8b4ed9fSmrgcase `echo X|tr X '\101'` in
11693e8b4ed9fSmrg A) # ASCII based system
11694e8b4ed9fSmrg    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
11695e8b4ed9fSmrg  lt_SP2NL='tr \040 \012'
11696e8b4ed9fSmrg  lt_NL2SP='tr \015\012 \040\040'
11697e8b4ed9fSmrg  ;;
11698e8b4ed9fSmrg *) # EBCDIC based system
11699e8b4ed9fSmrg  lt_SP2NL='tr \100 \n'
11700e8b4ed9fSmrg  lt_NL2SP='tr \r\n \100\100'
11701e8b4ed9fSmrg  ;;
11702e8b4ed9fSmrgesac
11703e8b4ed9fSmrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
11704e8b4ed9fSmrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
11705e8b4ed9fSmrg])# _LT_CHECK_SHELL_FEATURES
1170645bc899bSmrg
1170745bc899bSmrg
11708e8b4ed9fSmrg# _LT_PATH_CONVERSION_FUNCTIONS
11709e8b4ed9fSmrg# -----------------------------
11710e8b4ed9fSmrg# Determine what file name conversion functions should be used by
11711e8b4ed9fSmrg# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
11712e8b4ed9fSmrg# for certain cross-compile configurations and native mingw.
11713e8b4ed9fSmrgm4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
11714e8b4ed9fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
11715e8b4ed9fSmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
11716e8b4ed9fSmrgAC_MSG_CHECKING([how to convert $build file names to $host format])
11717e8b4ed9fSmrgAC_CACHE_VAL(lt_cv_to_host_file_cmd,
11718e8b4ed9fSmrg[case $host in
11719e8b4ed9fSmrg  *-*-mingw* )
11720e8b4ed9fSmrg    case $build in
11721e8b4ed9fSmrg      *-*-mingw* ) # actually msys
11722e8b4ed9fSmrg        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
11723e8b4ed9fSmrg        ;;
11724e8b4ed9fSmrg      *-*-cygwin* )
11725e8b4ed9fSmrg        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
11726e8b4ed9fSmrg        ;;
11727e8b4ed9fSmrg      * ) # otherwise, assume *nix
11728e8b4ed9fSmrg        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
11729e8b4ed9fSmrg        ;;
11730e8b4ed9fSmrg    esac
11731e8b4ed9fSmrg    ;;
11732e8b4ed9fSmrg  *-*-cygwin* )
11733e8b4ed9fSmrg    case $build in
11734e8b4ed9fSmrg      *-*-mingw* ) # actually msys
11735e8b4ed9fSmrg        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
11736e8b4ed9fSmrg        ;;
11737e8b4ed9fSmrg      *-*-cygwin* )
11738e8b4ed9fSmrg        lt_cv_to_host_file_cmd=func_convert_file_noop
11739e8b4ed9fSmrg        ;;
11740e8b4ed9fSmrg      * ) # otherwise, assume *nix
11741e8b4ed9fSmrg        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
11742e8b4ed9fSmrg        ;;
11743e8b4ed9fSmrg    esac
11744e8b4ed9fSmrg    ;;
11745e8b4ed9fSmrg  * ) # unhandled hosts (and "normal" native builds)
11746e8b4ed9fSmrg    lt_cv_to_host_file_cmd=func_convert_file_noop
11747e8b4ed9fSmrg    ;;
11748e8b4ed9fSmrgesac
1174945bc899bSmrg])
11750e8b4ed9fSmrgto_host_file_cmd=$lt_cv_to_host_file_cmd
11751e8b4ed9fSmrgAC_MSG_RESULT([$lt_cv_to_host_file_cmd])
11752e8b4ed9fSmrg_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
11753e8b4ed9fSmrg         [0], [convert $build file names to $host format])dnl
1175445bc899bSmrg
11755e8b4ed9fSmrgAC_MSG_CHECKING([how to convert $build file names to toolchain format])
11756e8b4ed9fSmrgAC_CACHE_VAL(lt_cv_to_tool_file_cmd,
11757e8b4ed9fSmrg[#assume ordinary cross tools, or native build.
11758e8b4ed9fSmrglt_cv_to_tool_file_cmd=func_convert_file_noop
11759e8b4ed9fSmrgcase $host in
11760e8b4ed9fSmrg  *-*-mingw* )
11761e8b4ed9fSmrg    case $build in
11762e8b4ed9fSmrg      *-*-mingw* ) # actually msys
11763e8b4ed9fSmrg        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
11764e8b4ed9fSmrg        ;;
11765e8b4ed9fSmrg    esac
11766e8b4ed9fSmrg    ;;
11767e8b4ed9fSmrgesac
11768e8b4ed9fSmrg])
11769e8b4ed9fSmrgto_tool_file_cmd=$lt_cv_to_tool_file_cmd
11770e8b4ed9fSmrgAC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
11771e8b4ed9fSmrg_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
11772e8b4ed9fSmrg         [0], [convert $build files to toolchain format])dnl
11773e8b4ed9fSmrg])# _LT_PATH_CONVERSION_FUNCTIONS
1177445bc899bSmrg
11775e8b4ed9fSmrg# Helper functions for option handling.                    -*- Autoconf -*-
1177645bc899bSmrg#
11777e8b4ed9fSmrg#   Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
11778e8b4ed9fSmrg#   Software Foundation, Inc.
11779e8b4ed9fSmrg#   Written by Gary V. Vaughan, 2004
1178045bc899bSmrg#
11781e8b4ed9fSmrg# This file is free software; the Free Software Foundation gives
11782e8b4ed9fSmrg# unlimited permission to copy and/or distribute it, with or without
11783e8b4ed9fSmrg# modifications, as long as this notice is preserved.
1178445bc899bSmrg
11785e8b4ed9fSmrg# serial 8 ltoptions.m4
1178645bc899bSmrg
11787e8b4ed9fSmrg# This is to help aclocal find these macros, as it can't see m4_define.
11788e8b4ed9fSmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
1178945bc899bSmrg
1179045bc899bSmrg
11791e8b4ed9fSmrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
11792e8b4ed9fSmrg# ------------------------------------------
11793e8b4ed9fSmrgm4_define([_LT_MANGLE_OPTION],
11794e8b4ed9fSmrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
1179545bc899bSmrg
1179645bc899bSmrg
11797e8b4ed9fSmrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
11798e8b4ed9fSmrg# ---------------------------------------
11799e8b4ed9fSmrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
11800e8b4ed9fSmrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
11801e8b4ed9fSmrg# saved as a flag.
11802e8b4ed9fSmrgm4_define([_LT_SET_OPTION],
11803e8b4ed9fSmrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
11804e8b4ed9fSmrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
11805e8b4ed9fSmrg        _LT_MANGLE_DEFUN([$1], [$2]),
11806e8b4ed9fSmrg    [m4_warning([Unknown $1 option '$2'])])[]dnl
11807e8b4ed9fSmrg])
1180845bc899bSmrg
118093a925b30Smrg
11810e8b4ed9fSmrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
11811e8b4ed9fSmrg# ------------------------------------------------------------
11812e8b4ed9fSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
11813e8b4ed9fSmrgm4_define([_LT_IF_OPTION],
11814e8b4ed9fSmrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
1181545bc899bSmrg
1181645bc899bSmrg
11817e8b4ed9fSmrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
11818e8b4ed9fSmrg# -------------------------------------------------------
11819e8b4ed9fSmrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
11820e8b4ed9fSmrg# are set.
11821e8b4ed9fSmrgm4_define([_LT_UNLESS_OPTIONS],
11822e8b4ed9fSmrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
11823e8b4ed9fSmrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
11824e8b4ed9fSmrg		      [m4_define([$0_found])])])[]dnl
11825e8b4ed9fSmrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
11826e8b4ed9fSmrg])[]dnl
1182745bc899bSmrg])
1182845bc899bSmrg
1182945bc899bSmrg
11830e8b4ed9fSmrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
11831e8b4ed9fSmrg# ----------------------------------------
11832e8b4ed9fSmrg# OPTION-LIST is a space-separated list of Libtool options associated
11833e8b4ed9fSmrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
11834e8b4ed9fSmrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
11835e8b4ed9fSmrg# the unknown option and exit.
11836e8b4ed9fSmrgm4_defun([_LT_SET_OPTIONS],
11837e8b4ed9fSmrg[# Set options
11838e8b4ed9fSmrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
11839e8b4ed9fSmrg    [_LT_SET_OPTION([$1], _LT_Option)])
1184045bc899bSmrg
11841e8b4ed9fSmrgm4_if([$1],[LT_INIT],[
11842e8b4ed9fSmrg  dnl
11843e8b4ed9fSmrg  dnl Simply set some default values (i.e off) if boolean options were not
11844e8b4ed9fSmrg  dnl specified:
11845e8b4ed9fSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
11846e8b4ed9fSmrg  ])
11847e8b4ed9fSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
11848e8b4ed9fSmrg  ])
11849e8b4ed9fSmrg  dnl
11850e8b4ed9fSmrg  dnl If no reference was made to various pairs of opposing options, then
11851e8b4ed9fSmrg  dnl we run the default mode handler for the pair.  For example, if neither
11852e8b4ed9fSmrg  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
11853e8b4ed9fSmrg  dnl archives by default:
11854e8b4ed9fSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
11855e8b4ed9fSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
11856e8b4ed9fSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
11857e8b4ed9fSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
11858e8b4ed9fSmrg		   [_LT_ENABLE_FAST_INSTALL])
11859e8b4ed9fSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
11860e8b4ed9fSmrg		   [_LT_WITH_AIX_SONAME([aix])])
11861e8b4ed9fSmrg  ])
11862e8b4ed9fSmrg])# _LT_SET_OPTIONS
1186345bc899bSmrg
11864e8b4ed9fSmrg
11865e8b4ed9fSmrg
11866e8b4ed9fSmrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
11867e8b4ed9fSmrg# -----------------------------------------
11868e8b4ed9fSmrgm4_define([_LT_MANGLE_DEFUN],
11869e8b4ed9fSmrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
11870e8b4ed9fSmrg
11871e8b4ed9fSmrg
11872e8b4ed9fSmrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
11873e8b4ed9fSmrg# -----------------------------------------------
11874e8b4ed9fSmrgm4_define([LT_OPTION_DEFINE],
11875e8b4ed9fSmrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
11876e8b4ed9fSmrg])# LT_OPTION_DEFINE
11877e8b4ed9fSmrg
11878e8b4ed9fSmrg
11879e8b4ed9fSmrg# dlopen
11880e8b4ed9fSmrg# ------
11881e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
1188245bc899bSmrg])
1188345bc899bSmrg
11884e8b4ed9fSmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
11885e8b4ed9fSmrg[_LT_SET_OPTION([LT_INIT], [dlopen])
11886e8b4ed9fSmrgAC_DIAGNOSE([obsolete],
11887e8b4ed9fSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
11888e8b4ed9fSmrgput the 'dlopen' option into LT_INIT's first parameter.])
11889e8b4ed9fSmrg])
1189045bc899bSmrg
11891e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
11892e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
1189345bc899bSmrg
1189445bc899bSmrg
11895e8b4ed9fSmrg# win32-dll
11896e8b4ed9fSmrg# ---------
11897e8b4ed9fSmrg# Declare package support for building win32 dll's.
11898e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
11899e8b4ed9fSmrg[enable_win32_dll=yes
1190045bc899bSmrg
11901e8b4ed9fSmrgcase $host in
11902e8b4ed9fSmrg*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
11903e8b4ed9fSmrg  AC_CHECK_TOOL(AS, as, false)
11904e8b4ed9fSmrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
11905e8b4ed9fSmrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
11906e8b4ed9fSmrg  ;;
11907e8b4ed9fSmrgesac
1190845bc899bSmrg
11909e8b4ed9fSmrgtest -z "$AS" && AS=as
11910e8b4ed9fSmrg_LT_DECL([], [AS],      [1], [Assembler program])dnl
1191145bc899bSmrg
11912e8b4ed9fSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
11913e8b4ed9fSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
1191445bc899bSmrg
11915e8b4ed9fSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
11916e8b4ed9fSmrg_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
11917e8b4ed9fSmrg])# win32-dll
1191845bc899bSmrg
11919e8b4ed9fSmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
11920e8b4ed9fSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
11921e8b4ed9fSmrg_LT_SET_OPTION([LT_INIT], [win32-dll])
11922e8b4ed9fSmrgAC_DIAGNOSE([obsolete],
11923e8b4ed9fSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
11924e8b4ed9fSmrgput the 'win32-dll' option into LT_INIT's first parameter.])
1192557ba8e8bSmrg])
1192657ba8e8bSmrg
11927e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
11928e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
1192945bc899bSmrg
1193045bc899bSmrg
11931e8b4ed9fSmrg# _LT_ENABLE_SHARED([DEFAULT])
11932e8b4ed9fSmrg# ----------------------------
11933e8b4ed9fSmrg# implement the --enable-shared flag, and supports the 'shared' and
11934e8b4ed9fSmrg# 'disable-shared' LT_INIT options.
11935e8b4ed9fSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
11936e8b4ed9fSmrgm4_define([_LT_ENABLE_SHARED],
11937e8b4ed9fSmrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
11938e8b4ed9fSmrgAC_ARG_ENABLE([shared],
11939e8b4ed9fSmrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
11940e8b4ed9fSmrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
11941e8b4ed9fSmrg    [p=${PACKAGE-default}
11942e8b4ed9fSmrg    case $enableval in
11943e8b4ed9fSmrg    yes) enable_shared=yes ;;
11944e8b4ed9fSmrg    no) enable_shared=no ;;
11945e8b4ed9fSmrg    *)
11946e8b4ed9fSmrg      enable_shared=no
11947e8b4ed9fSmrg      # Look at the argument we got.  We use all the common list separators.
11948e8b4ed9fSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
11949e8b4ed9fSmrg      for pkg in $enableval; do
11950e8b4ed9fSmrg	IFS=$lt_save_ifs
11951e8b4ed9fSmrg	if test "X$pkg" = "X$p"; then
11952e8b4ed9fSmrg	  enable_shared=yes
11953e8b4ed9fSmrg	fi
11954e8b4ed9fSmrg      done
11955e8b4ed9fSmrg      IFS=$lt_save_ifs
11956e8b4ed9fSmrg      ;;
11957e8b4ed9fSmrg    esac],
11958e8b4ed9fSmrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
11959e8b4ed9fSmrg
11960e8b4ed9fSmrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
11961e8b4ed9fSmrg	[Whether or not to build shared libraries])
11962e8b4ed9fSmrg])# _LT_ENABLE_SHARED
1196345bc899bSmrg
11964e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
11965e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
1196645bc899bSmrg
11967e8b4ed9fSmrg# Old names:
11968e8b4ed9fSmrgAC_DEFUN([AC_ENABLE_SHARED],
11969e8b4ed9fSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
1197045bc899bSmrg])
1197157ba8e8bSmrg
11972e8b4ed9fSmrgAC_DEFUN([AC_DISABLE_SHARED],
11973e8b4ed9fSmrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
11974e8b4ed9fSmrg])
1197557ba8e8bSmrg
11976e8b4ed9fSmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
11977e8b4ed9fSmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
1197857ba8e8bSmrg
11979e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
11980e8b4ed9fSmrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
11981e8b4ed9fSmrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
1198257ba8e8bSmrg
1198357ba8e8bSmrg
1198457ba8e8bSmrg
11985e8b4ed9fSmrg# _LT_ENABLE_STATIC([DEFAULT])
11986e8b4ed9fSmrg# ----------------------------
11987e8b4ed9fSmrg# implement the --enable-static flag, and support the 'static' and
11988e8b4ed9fSmrg# 'disable-static' LT_INIT options.
11989e8b4ed9fSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
11990e8b4ed9fSmrgm4_define([_LT_ENABLE_STATIC],
11991e8b4ed9fSmrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
11992e8b4ed9fSmrgAC_ARG_ENABLE([static],
11993e8b4ed9fSmrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
11994e8b4ed9fSmrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
11995e8b4ed9fSmrg    [p=${PACKAGE-default}
11996e8b4ed9fSmrg    case $enableval in
11997e8b4ed9fSmrg    yes) enable_static=yes ;;
11998e8b4ed9fSmrg    no) enable_static=no ;;
11999e8b4ed9fSmrg    *)
12000e8b4ed9fSmrg     enable_static=no
12001e8b4ed9fSmrg      # Look at the argument we got.  We use all the common list separators.
12002e8b4ed9fSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
12003e8b4ed9fSmrg      for pkg in $enableval; do
12004e8b4ed9fSmrg	IFS=$lt_save_ifs
12005e8b4ed9fSmrg	if test "X$pkg" = "X$p"; then
12006e8b4ed9fSmrg	  enable_static=yes
12007e8b4ed9fSmrg	fi
12008e8b4ed9fSmrg      done
12009e8b4ed9fSmrg      IFS=$lt_save_ifs
12010e8b4ed9fSmrg      ;;
12011e8b4ed9fSmrg    esac],
12012e8b4ed9fSmrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
1201357ba8e8bSmrg
12014e8b4ed9fSmrg    _LT_DECL([build_old_libs], [enable_static], [0],
12015e8b4ed9fSmrg	[Whether or not to build static libraries])
12016e8b4ed9fSmrg])# _LT_ENABLE_STATIC
1201745bc899bSmrg
12018e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
12019e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
120203a925b30Smrg
12021e8b4ed9fSmrg# Old names:
12022e8b4ed9fSmrgAC_DEFUN([AC_ENABLE_STATIC],
12023e8b4ed9fSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
12024e8b4ed9fSmrg])
1202545bc899bSmrg
12026e8b4ed9fSmrgAC_DEFUN([AC_DISABLE_STATIC],
12027e8b4ed9fSmrg[_LT_SET_OPTION([LT_INIT], [disable-static])
12028e8b4ed9fSmrg])
1202945bc899bSmrg
12030e8b4ed9fSmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
12031e8b4ed9fSmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
1203245bc899bSmrg
12033e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
12034e8b4ed9fSmrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
12035e8b4ed9fSmrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
1203645bc899bSmrg
1203745bc899bSmrg
1203845bc899bSmrg
12039e8b4ed9fSmrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
12040e8b4ed9fSmrg# ----------------------------------
12041e8b4ed9fSmrg# implement the --enable-fast-install flag, and support the 'fast-install'
12042e8b4ed9fSmrg# and 'disable-fast-install' LT_INIT options.
12043e8b4ed9fSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
12044e8b4ed9fSmrgm4_define([_LT_ENABLE_FAST_INSTALL],
12045e8b4ed9fSmrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
12046e8b4ed9fSmrgAC_ARG_ENABLE([fast-install],
12047e8b4ed9fSmrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
12048e8b4ed9fSmrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
12049e8b4ed9fSmrg    [p=${PACKAGE-default}
12050e8b4ed9fSmrg    case $enableval in
12051e8b4ed9fSmrg    yes) enable_fast_install=yes ;;
12052e8b4ed9fSmrg    no) enable_fast_install=no ;;
12053e8b4ed9fSmrg    *)
12054e8b4ed9fSmrg      enable_fast_install=no
12055e8b4ed9fSmrg      # Look at the argument we got.  We use all the common list separators.
12056e8b4ed9fSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
12057e8b4ed9fSmrg      for pkg in $enableval; do
12058e8b4ed9fSmrg	IFS=$lt_save_ifs
12059e8b4ed9fSmrg	if test "X$pkg" = "X$p"; then
12060e8b4ed9fSmrg	  enable_fast_install=yes
12061e8b4ed9fSmrg	fi
12062e8b4ed9fSmrg      done
12063e8b4ed9fSmrg      IFS=$lt_save_ifs
12064e8b4ed9fSmrg      ;;
12065e8b4ed9fSmrg    esac],
12066e8b4ed9fSmrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
12067e8b4ed9fSmrg
12068e8b4ed9fSmrg_LT_DECL([fast_install], [enable_fast_install], [0],
12069e8b4ed9fSmrg	 [Whether or not to optimize for fast installation])dnl
12070e8b4ed9fSmrg])# _LT_ENABLE_FAST_INSTALL
1207145bc899bSmrg
12072e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
12073e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
1207445bc899bSmrg
12075e8b4ed9fSmrg# Old names:
12076e8b4ed9fSmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
12077e8b4ed9fSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
12078e8b4ed9fSmrgAC_DIAGNOSE([obsolete],
12079e8b4ed9fSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
12080e8b4ed9fSmrgthe 'fast-install' option into LT_INIT's first parameter.])
12081e8b4ed9fSmrg])
1208245bc899bSmrg
12083e8b4ed9fSmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
12084e8b4ed9fSmrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
12085e8b4ed9fSmrgAC_DIAGNOSE([obsolete],
12086e8b4ed9fSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
12087e8b4ed9fSmrgthe 'disable-fast-install' option into LT_INIT's first parameter.])
12088e8b4ed9fSmrg])
1208945bc899bSmrg
12090e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
12091e8b4ed9fSmrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
12092e8b4ed9fSmrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
1209345bc899bSmrg
1209445bc899bSmrg
12095e8b4ed9fSmrg# _LT_WITH_AIX_SONAME([DEFAULT])
12096e8b4ed9fSmrg# ----------------------------------
12097e8b4ed9fSmrg# implement the --with-aix-soname flag, and support the `aix-soname=aix'
12098e8b4ed9fSmrg# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
12099e8b4ed9fSmrg# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
12100e8b4ed9fSmrgm4_define([_LT_WITH_AIX_SONAME],
12101e8b4ed9fSmrg[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
12102e8b4ed9fSmrgshared_archive_member_spec=
12103e8b4ed9fSmrgcase $host,$enable_shared in
12104e8b4ed9fSmrgpower*-*-aix[[5-9]]*,yes)
12105e8b4ed9fSmrg  AC_MSG_CHECKING([which variant of shared library versioning to provide])
12106e8b4ed9fSmrg  AC_ARG_WITH([aix-soname],
12107e8b4ed9fSmrg    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
12108e8b4ed9fSmrg      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
12109e8b4ed9fSmrg    [case $withval in
12110e8b4ed9fSmrg    aix|svr4|both)
12111e8b4ed9fSmrg      ;;
12112e8b4ed9fSmrg    *)
12113e8b4ed9fSmrg      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
12114e8b4ed9fSmrg      ;;
12115e8b4ed9fSmrg    esac
12116e8b4ed9fSmrg    lt_cv_with_aix_soname=$with_aix_soname],
12117e8b4ed9fSmrg    [AC_CACHE_VAL([lt_cv_with_aix_soname],
12118e8b4ed9fSmrg      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
12119e8b4ed9fSmrg    with_aix_soname=$lt_cv_with_aix_soname])
12120e8b4ed9fSmrg  AC_MSG_RESULT([$with_aix_soname])
12121e8b4ed9fSmrg  if test aix != "$with_aix_soname"; then
12122e8b4ed9fSmrg    # For the AIX way of multilib, we name the shared archive member
12123e8b4ed9fSmrg    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
12124e8b4ed9fSmrg    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
12125e8b4ed9fSmrg    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
12126e8b4ed9fSmrg    # the AIX toolchain works better with OBJECT_MODE set (default 32).
12127e8b4ed9fSmrg    if test 64 = "${OBJECT_MODE-32}"; then
12128e8b4ed9fSmrg      shared_archive_member_spec=shr_64
12129e8b4ed9fSmrg    else
12130e8b4ed9fSmrg      shared_archive_member_spec=shr
12131e8b4ed9fSmrg    fi
12132e8b4ed9fSmrg  fi
12133e8b4ed9fSmrg  ;;
12134e8b4ed9fSmrg*)
12135e8b4ed9fSmrg  with_aix_soname=aix
12136e8b4ed9fSmrg  ;;
12137e8b4ed9fSmrgesac
1213845bc899bSmrg
12139e8b4ed9fSmrg_LT_DECL([], [shared_archive_member_spec], [0],
12140e8b4ed9fSmrg    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
12141e8b4ed9fSmrg])# _LT_WITH_AIX_SONAME
1214245bc899bSmrg
12143e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
12144e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
12145e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
1214645bc899bSmrg
1214745bc899bSmrg
12148e8b4ed9fSmrg# _LT_WITH_PIC([MODE])
12149b40a6198Smrg# --------------------
12150e8b4ed9fSmrg# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
12151e8b4ed9fSmrg# LT_INIT options.
12152e8b4ed9fSmrg# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
12153e8b4ed9fSmrgm4_define([_LT_WITH_PIC],
12154e8b4ed9fSmrg[AC_ARG_WITH([pic],
12155e8b4ed9fSmrg    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
12156e8b4ed9fSmrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
12157e8b4ed9fSmrg    [lt_p=${PACKAGE-default}
12158e8b4ed9fSmrg    case $withval in
12159e8b4ed9fSmrg    yes|no) pic_mode=$withval ;;
12160e8b4ed9fSmrg    *)
12161e8b4ed9fSmrg      pic_mode=default
12162e8b4ed9fSmrg      # Look at the argument we got.  We use all the common list separators.
12163e8b4ed9fSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
12164e8b4ed9fSmrg      for lt_pkg in $withval; do
12165e8b4ed9fSmrg	IFS=$lt_save_ifs
12166e8b4ed9fSmrg	if test "X$lt_pkg" = "X$lt_p"; then
12167e8b4ed9fSmrg	  pic_mode=yes
12168e8b4ed9fSmrg	fi
12169e8b4ed9fSmrg      done
12170e8b4ed9fSmrg      IFS=$lt_save_ifs
12171e8b4ed9fSmrg      ;;
12172e8b4ed9fSmrg    esac],
12173e8b4ed9fSmrg    [pic_mode=m4_default([$1], [default])])
1217445bc899bSmrg
12175e8b4ed9fSmrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
12176e8b4ed9fSmrg])# _LT_WITH_PIC
1217745bc899bSmrg
12178e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
12179e8b4ed9fSmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
1218045bc899bSmrg
12181e8b4ed9fSmrg# Old name:
12182e8b4ed9fSmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
12183e8b4ed9fSmrg[_LT_SET_OPTION([LT_INIT], [pic-only])
12184e8b4ed9fSmrgAC_DIAGNOSE([obsolete],
12185e8b4ed9fSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
12186e8b4ed9fSmrgput the 'pic-only' option into LT_INIT's first parameter.])
12187e8b4ed9fSmrg])
1218857ba8e8bSmrg
12189e8b4ed9fSmrgdnl aclocal-1.4 backwards compatibility:
12190e8b4ed9fSmrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
1219157ba8e8bSmrg
1219257ba8e8bSmrg
12193e8b4ed9fSmrgm4_define([_LTDL_MODE], [])
12194e8b4ed9fSmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
12195e8b4ed9fSmrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
12196e8b4ed9fSmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
12197e8b4ed9fSmrg		 [m4_define([_LTDL_MODE], [recursive])])
12198e8b4ed9fSmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
12199e8b4ed9fSmrg		 [m4_define([_LTDL_MODE], [subproject])])
12200e8b4ed9fSmrg
12201e8b4ed9fSmrgm4_define([_LTDL_TYPE], [])
12202e8b4ed9fSmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
12203e8b4ed9fSmrg		 [m4_define([_LTDL_TYPE], [installable])])
12204e8b4ed9fSmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
12205e8b4ed9fSmrg		 [m4_define([_LTDL_TYPE], [convenience])])
12206e8b4ed9fSmrg
12207e8b4ed9fSmrg# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
1220857ba8e8bSmrg#
12209e8b4ed9fSmrg# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software
12210e8b4ed9fSmrg# Foundation, Inc.
12211e8b4ed9fSmrg# Written by Gary V. Vaughan, 2004
12212e8b4ed9fSmrg#
12213e8b4ed9fSmrg# This file is free software; the Free Software Foundation gives
12214e8b4ed9fSmrg# unlimited permission to copy and/or distribute it, with or without
12215e8b4ed9fSmrg# modifications, as long as this notice is preserved.
1221657ba8e8bSmrg
12217e8b4ed9fSmrg# serial 6 ltsugar.m4
1221857ba8e8bSmrg
12219e8b4ed9fSmrg# This is to help aclocal find these macros, as it can't see m4_define.
12220e8b4ed9fSmrgAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
1222145bc899bSmrg
1222245bc899bSmrg
12223e8b4ed9fSmrg# lt_join(SEP, ARG1, [ARG2...])
12224e8b4ed9fSmrg# -----------------------------
12225e8b4ed9fSmrg# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
12226e8b4ed9fSmrg# associated separator.
12227e8b4ed9fSmrg# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
12228e8b4ed9fSmrg# versions in m4sugar had bugs.
12229e8b4ed9fSmrgm4_define([lt_join],
12230e8b4ed9fSmrg[m4_if([$#], [1], [],
12231e8b4ed9fSmrg       [$#], [2], [[$2]],
12232e8b4ed9fSmrg       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
12233e8b4ed9fSmrgm4_define([_lt_join],
12234e8b4ed9fSmrg[m4_if([$#$2], [2], [],
12235e8b4ed9fSmrg       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
122363a925b30Smrg
12237c97b1c41Smrg
12238e8b4ed9fSmrg# lt_car(LIST)
12239e8b4ed9fSmrg# lt_cdr(LIST)
12240e8b4ed9fSmrg# ------------
12241e8b4ed9fSmrg# Manipulate m4 lists.
12242e8b4ed9fSmrg# These macros are necessary as long as will still need to support
12243e8b4ed9fSmrg# Autoconf-2.59, which quotes differently.
12244e8b4ed9fSmrgm4_define([lt_car], [[$1]])
12245e8b4ed9fSmrgm4_define([lt_cdr],
12246e8b4ed9fSmrg[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
12247e8b4ed9fSmrg       [$#], 1, [],
12248e8b4ed9fSmrg       [m4_dquote(m4_shift($@))])])
12249e8b4ed9fSmrgm4_define([lt_unquote], $1)
12250e8b4ed9fSmrg
1225145bc899bSmrg
12252e8b4ed9fSmrg# lt_append(MACRO-NAME, STRING, [SEPARATOR])
12253e8b4ed9fSmrg# ------------------------------------------
12254e8b4ed9fSmrg# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
12255e8b4ed9fSmrg# Note that neither SEPARATOR nor STRING are expanded; they are appended
12256e8b4ed9fSmrg# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
12257e8b4ed9fSmrg# No SEPARATOR is output if MACRO-NAME was previously undefined (different
12258e8b4ed9fSmrg# than defined and empty).
122595592a31fSmrg#
12260e8b4ed9fSmrg# This macro is needed until we can rely on Autoconf 2.62, since earlier
12261e8b4ed9fSmrg# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
12262e8b4ed9fSmrgm4_define([lt_append],
12263e8b4ed9fSmrg[m4_define([$1],
12264e8b4ed9fSmrg	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
122655592a31fSmrg
122665592a31fSmrg
1226745bc899bSmrg
12268e8b4ed9fSmrg# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
12269e8b4ed9fSmrg# ----------------------------------------------------------
12270e8b4ed9fSmrg# Produce a SEP delimited list of all paired combinations of elements of
12271e8b4ed9fSmrg# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
12272e8b4ed9fSmrg# has the form PREFIXmINFIXSUFFIXn.
12273e8b4ed9fSmrg# Needed until we can rely on m4_combine added in Autoconf 2.62.
12274e8b4ed9fSmrgm4_define([lt_combine],
12275e8b4ed9fSmrg[m4_if(m4_eval([$# > 3]), [1],
12276e8b4ed9fSmrg       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
12277e8b4ed9fSmrg[[m4_foreach([_Lt_prefix], [$2],
12278e8b4ed9fSmrg	     [m4_foreach([_Lt_suffix],
12279e8b4ed9fSmrg		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
12280e8b4ed9fSmrg	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
12281e8b4ed9fSmrg
12282e8b4ed9fSmrg
12283e8b4ed9fSmrg# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
12284e8b4ed9fSmrg# -----------------------------------------------------------------------
12285e8b4ed9fSmrg# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
12286e8b4ed9fSmrg# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
12287e8b4ed9fSmrgm4_define([lt_if_append_uniq],
12288e8b4ed9fSmrg[m4_ifdef([$1],
12289e8b4ed9fSmrg	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
12290e8b4ed9fSmrg		 [lt_append([$1], [$2], [$3])$4],
12291e8b4ed9fSmrg		 [$5])],
12292e8b4ed9fSmrg	  [lt_append([$1], [$2], [$3])$4])])
12293e8b4ed9fSmrg
12294e8b4ed9fSmrg
12295e8b4ed9fSmrg# lt_dict_add(DICT, KEY, VALUE)
12296e8b4ed9fSmrg# -----------------------------
12297e8b4ed9fSmrgm4_define([lt_dict_add],
12298e8b4ed9fSmrg[m4_define([$1($2)], [$3])])
1229945bc899bSmrg
1230050f2e948Smrg
12301e8b4ed9fSmrg# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
12302e8b4ed9fSmrg# --------------------------------------------
12303e8b4ed9fSmrgm4_define([lt_dict_add_subkey],
12304e8b4ed9fSmrg[m4_define([$1($2:$3)], [$4])])
1230550f2e948Smrg
123063a925b30Smrg
12307e8b4ed9fSmrg# lt_dict_fetch(DICT, KEY, [SUBKEY])
12308e8b4ed9fSmrg# ----------------------------------
12309e8b4ed9fSmrgm4_define([lt_dict_fetch],
12310e8b4ed9fSmrg[m4_ifval([$3],
12311e8b4ed9fSmrg	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
12312e8b4ed9fSmrg    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
1231345bc899bSmrg
1231445bc899bSmrg
12315e8b4ed9fSmrg# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
12316e8b4ed9fSmrg# -----------------------------------------------------------------
12317e8b4ed9fSmrgm4_define([lt_if_dict_fetch],
12318e8b4ed9fSmrg[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
12319e8b4ed9fSmrg	[$5],
12320e8b4ed9fSmrg    [$6])])
12321c97b1c41Smrg
1232245bc899bSmrg
12323e8b4ed9fSmrg# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
12324e8b4ed9fSmrg# --------------------------------------------------------------
12325e8b4ed9fSmrgm4_define([lt_dict_filter],
12326e8b4ed9fSmrg[m4_if([$5], [], [],
12327e8b4ed9fSmrg  [lt_join(m4_quote(m4_default([$4], [[, ]])),
12328e8b4ed9fSmrg           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
12329e8b4ed9fSmrg		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
12330e8b4ed9fSmrg])
12331c97b1c41Smrg
12332e8b4ed9fSmrg# ltversion.m4 -- version numbers			-*- Autoconf -*-
12333e8b4ed9fSmrg#
12334e8b4ed9fSmrg#   Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
12335e8b4ed9fSmrg#   Inc.
12336e8b4ed9fSmrg#   Written by Scott James Remnant, 2004
12337e8b4ed9fSmrg#
12338e8b4ed9fSmrg# This file is free software; the Free Software Foundation gives
12339e8b4ed9fSmrg# unlimited permission to copy and/or distribute it, with or without
12340e8b4ed9fSmrg# modifications, as long as this notice is preserved.
1234145bc899bSmrg
12342e8b4ed9fSmrg# @configure_input@
12343c97b1c41Smrg
12344e8b4ed9fSmrg# serial 4245 ltversion.m4
12345e8b4ed9fSmrg# This file is part of GNU Libtool
12346c97b1c41Smrg
12347e8b4ed9fSmrgm4_define([LT_PACKAGE_VERSION], [2.4.7])
12348e8b4ed9fSmrgm4_define([LT_PACKAGE_REVISION], [2.4.7])
12349c97b1c41Smrg
12350e8b4ed9fSmrgAC_DEFUN([LTVERSION_VERSION],
12351e8b4ed9fSmrg[macro_version='2.4.7'
12352e8b4ed9fSmrgmacro_revision='2.4.7'
12353e8b4ed9fSmrg_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
12354e8b4ed9fSmrg_LT_DECL(, macro_revision, 0)
12355e8b4ed9fSmrg])
12356c97b1c41Smrg
12357e8b4ed9fSmrg# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
12358e8b4ed9fSmrg#
12359e8b4ed9fSmrg#   Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
12360e8b4ed9fSmrg#   Software Foundation, Inc.
12361e8b4ed9fSmrg#   Written by Scott James Remnant, 2004.
12362e8b4ed9fSmrg#
12363e8b4ed9fSmrg# This file is free software; the Free Software Foundation gives
12364e8b4ed9fSmrg# unlimited permission to copy and/or distribute it, with or without
12365e8b4ed9fSmrg# modifications, as long as this notice is preserved.
12366c97b1c41Smrg
12367e8b4ed9fSmrg# serial 5 lt~obsolete.m4
12368c97b1c41Smrg
12369e8b4ed9fSmrg# These exist entirely to fool aclocal when bootstrapping libtool.
12370e8b4ed9fSmrg#
12371e8b4ed9fSmrg# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
12372e8b4ed9fSmrg# which have later been changed to m4_define as they aren't part of the
12373e8b4ed9fSmrg# exported API, or moved to Autoconf or Automake where they belong.
12374e8b4ed9fSmrg#
12375e8b4ed9fSmrg# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
12376e8b4ed9fSmrg# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
12377e8b4ed9fSmrg# using a macro with the same name in our local m4/libtool.m4 it'll
12378e8b4ed9fSmrg# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
12379e8b4ed9fSmrg# and doesn't know about Autoconf macros at all.)
12380e8b4ed9fSmrg#
12381e8b4ed9fSmrg# So we provide this file, which has a silly filename so it's always
12382e8b4ed9fSmrg# included after everything else.  This provides aclocal with the
12383e8b4ed9fSmrg# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
12384e8b4ed9fSmrg# because those macros already exist, or will be overwritten later.
12385e8b4ed9fSmrg# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
12386e8b4ed9fSmrg#
12387e8b4ed9fSmrg# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
12388e8b4ed9fSmrg# Yes, that means every name once taken will need to remain here until
12389e8b4ed9fSmrg# we give up compatibility with versions before 1.7, at which point
12390e8b4ed9fSmrg# we need to keep only those names which we still refer to.
1239145bc899bSmrg
12392e8b4ed9fSmrg# This is to help aclocal find these macros, as it can't see m4_define.
12393e8b4ed9fSmrgAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
12394c97b1c41Smrg
12395e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
12396e8b4ed9fSmrgm4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
12397e8b4ed9fSmrgm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
12398e8b4ed9fSmrgm4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
12399e8b4ed9fSmrgm4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
12400e8b4ed9fSmrgm4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
12401e8b4ed9fSmrgm4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
12402e8b4ed9fSmrgm4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
12403e8b4ed9fSmrgm4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
12404e8b4ed9fSmrgm4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
12405e8b4ed9fSmrgm4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
12406e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
12407e8b4ed9fSmrgm4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
12408e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
12409e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
12410e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
12411e8b4ed9fSmrgm4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
12412e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
12413e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
12414e8b4ed9fSmrgm4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
12415e8b4ed9fSmrgm4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
12416e8b4ed9fSmrgm4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
12417e8b4ed9fSmrgm4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
12418e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
12419e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
12420e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
12421e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
12422e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
12423e8b4ed9fSmrgm4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
12424e8b4ed9fSmrgm4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
12425e8b4ed9fSmrgm4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
12426e8b4ed9fSmrgm4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
12427e8b4ed9fSmrgm4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
12428e8b4ed9fSmrgm4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
12429e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
12430e8b4ed9fSmrgm4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
12431e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
12432e8b4ed9fSmrgm4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
12433e8b4ed9fSmrgm4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
12434e8b4ed9fSmrgm4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
12435e8b4ed9fSmrgm4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
12436e8b4ed9fSmrgm4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
12437e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
12438e8b4ed9fSmrgm4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
12439e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
12440e8b4ed9fSmrgm4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
12441e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
12442e8b4ed9fSmrgm4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
12443e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
12444e8b4ed9fSmrgm4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
12445e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
12446e8b4ed9fSmrgm4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
12447e8b4ed9fSmrgm4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
12448e8b4ed9fSmrgm4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
12449e8b4ed9fSmrgm4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
12450e8b4ed9fSmrgm4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
12451e8b4ed9fSmrgm4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
12452e8b4ed9fSmrgm4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
12453e8b4ed9fSmrgm4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
12454e8b4ed9fSmrgm4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
12455e8b4ed9fSmrgm4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
1245645bc899bSmrg
12457