aclocal.m4 revision 549e21da
1549e21daSmrg# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
2ba6a1819Smrg
3ba6a1819Smrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
4549e21daSmrg# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
5ba6a1819Smrg# This file is free software; the Free Software Foundation
6ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
7ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
8ba6a1819Smrg
9ba6a1819Smrg# This program is distributed in the hope that it will be useful,
10ba6a1819Smrg# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11ba6a1819Smrg# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12ba6a1819Smrg# PARTICULAR PURPOSE.
13ba6a1819Smrg
14549e21daSmrgm4_ifndef([AC_AUTOCONF_VERSION],
15549e21daSmrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16549e21daSmrgm4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
17549e21daSmrg[m4_warning([this file was generated for autoconf 2.68.
18549e21daSmrgYou have another version of autoconf.  It may work, but is not guaranteed to.
19549e21daSmrgIf you have problems, you may need to regenerate the build system entirely.
20549e21daSmrgTo do so, use the procedure documented by the package, typically `autoreconf'.])])
21ba6a1819Smrg
22549e21daSmrg# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
23549e21daSmrg#
24549e21daSmrg# This file is free software; the Free Software Foundation
25549e21daSmrg# gives unlimited permission to copy and/or distribute it,
26549e21daSmrg# with or without modifications, as long as this notice is preserved.
272d8abe4fSmrg
28549e21daSmrg# AM_AUTOMAKE_VERSION(VERSION)
29549e21daSmrg# ----------------------------
30549e21daSmrg# Automake X.Y traces this macro to ensure aclocal.m4 has been
31549e21daSmrg# generated from the m4 files accompanying Automake X.Y.
32549e21daSmrg# (This private macro should not be called outside this file.)
33549e21daSmrgAC_DEFUN([AM_AUTOMAKE_VERSION],
34549e21daSmrg[am__api_version='1.11'
35549e21daSmrgdnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
36549e21daSmrgdnl require some minimum version.  Point them to the right macro.
37549e21daSmrgm4_if([$1], [1.11.1], [],
38549e21daSmrg      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
39549e21daSmrg])
40549e21daSmrg
41549e21daSmrg# _AM_AUTOCONF_VERSION(VERSION)
42549e21daSmrg# -----------------------------
43549e21daSmrg# aclocal traces this macro to find the Autoconf version.
44549e21daSmrg# This is a private macro too.  Using m4_define simplifies
45549e21daSmrg# the logic in aclocal, which can simply ignore this definition.
46549e21daSmrgm4_define([_AM_AUTOCONF_VERSION], [])
47549e21daSmrg
48549e21daSmrg# AM_SET_CURRENT_AUTOMAKE_VERSION
49549e21daSmrg# -------------------------------
50549e21daSmrg# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
51549e21daSmrg# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
52549e21daSmrgAC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
53549e21daSmrg[AM_AUTOMAKE_VERSION([1.11.1])dnl
54549e21daSmrgm4_ifndef([AC_AUTOCONF_VERSION],
55549e21daSmrg  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
56549e21daSmrg_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
57549e21daSmrg
58549e21daSmrg# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
59549e21daSmrg
60549e21daSmrg# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
612d8abe4fSmrg#
62549e21daSmrg# This file is free software; the Free Software Foundation
63549e21daSmrg# gives unlimited permission to copy and/or distribute it,
64549e21daSmrg# with or without modifications, as long as this notice is preserved.
65549e21daSmrg
66549e21daSmrg# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
67549e21daSmrg# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
68549e21daSmrg# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
69549e21daSmrg#
70549e21daSmrg# Of course, Automake must honor this variable whenever it calls a
71549e21daSmrg# tool from the auxiliary directory.  The problem is that $srcdir (and
72549e21daSmrg# therefore $ac_aux_dir as well) can be either absolute or relative,
73549e21daSmrg# depending on how configure is run.  This is pretty annoying, since
74549e21daSmrg# it makes $ac_aux_dir quite unusable in subdirectories: in the top
75549e21daSmrg# source directory, any form will work fine, but in subdirectories a
76549e21daSmrg# relative path needs to be adjusted first.
772d8abe4fSmrg#
78549e21daSmrg# $ac_aux_dir/missing
79549e21daSmrg#    fails when called from a subdirectory if $ac_aux_dir is relative
80549e21daSmrg# $top_srcdir/$ac_aux_dir/missing
81549e21daSmrg#    fails if $ac_aux_dir is absolute,
82549e21daSmrg#    fails when called from a subdirectory in a VPATH build with
83549e21daSmrg#          a relative $ac_aux_dir
842d8abe4fSmrg#
85549e21daSmrg# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
86549e21daSmrg# are both prefixed by $srcdir.  In an in-source build this is usually
87549e21daSmrg# harmless because $srcdir is `.', but things will broke when you
88549e21daSmrg# start a VPATH build or use an absolute $srcdir.
892d8abe4fSmrg#
90549e21daSmrg# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
91549e21daSmrg# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
92549e21daSmrg#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
93549e21daSmrg# and then we would define $MISSING as
94549e21daSmrg#   MISSING="\${SHELL} $am_aux_dir/missing"
95549e21daSmrg# This will work as long as MISSING is not called from configure, because
96549e21daSmrg# unfortunately $(top_srcdir) has no meaning in configure.
97549e21daSmrg# However there are other variables, like CC, which are often used in
98549e21daSmrg# configure, and could therefore not use this "fixed" $ac_aux_dir.
992d8abe4fSmrg#
100549e21daSmrg# Another solution, used here, is to always expand $ac_aux_dir to an
101549e21daSmrg# absolute PATH.  The drawback is that using absolute paths prevent a
102549e21daSmrg# configured tree to be moved without reconfiguration.
1032d8abe4fSmrg
104549e21daSmrgAC_DEFUN([AM_AUX_DIR_EXPAND],
105549e21daSmrg[dnl Rely on autoconf to set up CDPATH properly.
106549e21daSmrgAC_PREREQ([2.50])dnl
107549e21daSmrg# expand $ac_aux_dir to an absolute path
108549e21daSmrgam_aux_dir=`cd $ac_aux_dir && pwd`
109549e21daSmrg])
1102d8abe4fSmrg
111549e21daSmrg# AM_CONDITIONAL                                            -*- Autoconf -*-
1122d8abe4fSmrg
113549e21daSmrg# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
114549e21daSmrg# Free Software Foundation, Inc.
1152d8abe4fSmrg#
116549e21daSmrg# This file is free software; the Free Software Foundation
117549e21daSmrg# gives unlimited permission to copy and/or distribute it,
118549e21daSmrg# with or without modifications, as long as this notice is preserved.
1192d8abe4fSmrg
120549e21daSmrg# serial 9
1212d8abe4fSmrg
122549e21daSmrg# AM_CONDITIONAL(NAME, SHELL-CONDITION)
123549e21daSmrg# -------------------------------------
124549e21daSmrg# Define a conditional.
125549e21daSmrgAC_DEFUN([AM_CONDITIONAL],
126549e21daSmrg[AC_PREREQ(2.52)dnl
127549e21daSmrg ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
128549e21daSmrg	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
129549e21daSmrgAC_SUBST([$1_TRUE])dnl
130549e21daSmrgAC_SUBST([$1_FALSE])dnl
131549e21daSmrg_AM_SUBST_NOTMAKE([$1_TRUE])dnl
132549e21daSmrg_AM_SUBST_NOTMAKE([$1_FALSE])dnl
133549e21daSmrgm4_define([_AM_COND_VALUE_$1], [$2])dnl
134549e21daSmrgif $2; then
135549e21daSmrg  $1_TRUE=
136549e21daSmrg  $1_FALSE='#'
137549e21daSmrgelse
138549e21daSmrg  $1_TRUE='#'
139549e21daSmrg  $1_FALSE=
1402d8abe4fSmrgfi
141549e21daSmrgAC_CONFIG_COMMANDS_PRE(
142549e21daSmrg[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
143549e21daSmrg  AC_MSG_ERROR([[conditional "$1" was never defined.
144549e21daSmrgUsually this means the macro was only invoked conditionally.]])
145549e21daSmrgfi])])
1462d8abe4fSmrg
147549e21daSmrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
148549e21daSmrg# Free Software Foundation, Inc.
149549e21daSmrg#
150549e21daSmrg# This file is free software; the Free Software Foundation
151549e21daSmrg# gives unlimited permission to copy and/or distribute it,
152549e21daSmrg# with or without modifications, as long as this notice is preserved.
1532d8abe4fSmrg
154549e21daSmrg# serial 10
1552d8abe4fSmrg
156549e21daSmrg# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
157549e21daSmrg# written in clear, in which case automake, when reading aclocal.m4,
158549e21daSmrg# will think it sees a *use*, and therefore will trigger all it's
159549e21daSmrg# C support machinery.  Also note that it means that autoscan, seeing
160549e21daSmrg# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
1612d8abe4fSmrg
1622d8abe4fSmrg
163549e21daSmrg# _AM_DEPENDENCIES(NAME)
164549e21daSmrg# ----------------------
165549e21daSmrg# See how the compiler implements dependency checking.
166549e21daSmrg# NAME is "CC", "CXX", "GCJ", or "OBJC".
167549e21daSmrg# We try a few techniques and use that to set a single cache variable.
168549e21daSmrg#
169549e21daSmrg# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
170549e21daSmrg# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
171549e21daSmrg# dependency, and given that the user is not expected to run this macro,
172549e21daSmrg# just rely on AC_PROG_CC.
173549e21daSmrgAC_DEFUN([_AM_DEPENDENCIES],
174549e21daSmrg[AC_REQUIRE([AM_SET_DEPDIR])dnl
175549e21daSmrgAC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
176549e21daSmrgAC_REQUIRE([AM_MAKE_INCLUDE])dnl
177549e21daSmrgAC_REQUIRE([AM_DEP_TRACK])dnl
1782d8abe4fSmrg
179549e21daSmrgifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
180549e21daSmrg       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
181549e21daSmrg       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
182549e21daSmrg       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
183549e21daSmrg       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
184549e21daSmrg                   [depcc="$$1"   am_compiler_list=])
1852d8abe4fSmrg
186549e21daSmrgAC_CACHE_CHECK([dependency style of $depcc],
187549e21daSmrg               [am_cv_$1_dependencies_compiler_type],
188549e21daSmrg[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
189549e21daSmrg  # We make a subdir and do the tests there.  Otherwise we can end up
190549e21daSmrg  # making bogus files that we don't know about and never remove.  For
191549e21daSmrg  # instance it was reported that on HP-UX the gcc test will end up
192549e21daSmrg  # making a dummy file named `D' -- because `-MD' means `put the output
193549e21daSmrg  # in D'.
194549e21daSmrg  mkdir conftest.dir
195549e21daSmrg  # Copy depcomp to subdir because otherwise we won't find it if we're
196549e21daSmrg  # using a relative directory.
197549e21daSmrg  cp "$am_depcomp" conftest.dir
198549e21daSmrg  cd conftest.dir
199549e21daSmrg  # We will build objects and dependencies in a subdirectory because
200549e21daSmrg  # it helps to detect inapplicable dependency modes.  For instance
201549e21daSmrg  # both Tru64's cc and ICC support -MD to output dependencies as a
202549e21daSmrg  # side effect of compilation, but ICC will put the dependencies in
203549e21daSmrg  # the current directory while Tru64 will put them in the object
204549e21daSmrg  # directory.
205549e21daSmrg  mkdir sub
2062d8abe4fSmrg
207549e21daSmrg  am_cv_$1_dependencies_compiler_type=none
208549e21daSmrg  if test "$am_compiler_list" = ""; then
209549e21daSmrg     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
210549e21daSmrg  fi
211549e21daSmrg  am__universal=false
212549e21daSmrg  m4_case([$1], [CC],
213549e21daSmrg    [case " $depcc " in #(
214549e21daSmrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
215549e21daSmrg     esac],
216549e21daSmrg    [CXX],
217549e21daSmrg    [case " $depcc " in #(
218549e21daSmrg     *\ -arch\ *\ -arch\ *) am__universal=true ;;
219549e21daSmrg     esac])
2202d8abe4fSmrg
221549e21daSmrg  for depmode in $am_compiler_list; do
222549e21daSmrg    # Setup a source with many dependencies, because some compilers
223549e21daSmrg    # like to wrap large dependency lists on column 80 (with \), and
224549e21daSmrg    # we should not choose a depcomp mode which is confused by this.
225549e21daSmrg    #
226549e21daSmrg    # We need to recreate these files for each test, as the compiler may
227549e21daSmrg    # overwrite some of them when testing with obscure command lines.
228549e21daSmrg    # This happens at least with the AIX C compiler.
229549e21daSmrg    : > sub/conftest.c
230549e21daSmrg    for i in 1 2 3 4 5 6; do
231549e21daSmrg      echo '#include "conftst'$i'.h"' >> sub/conftest.c
232549e21daSmrg      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
233549e21daSmrg      # Solaris 8's {/usr,}/bin/sh.
234549e21daSmrg      touch sub/conftst$i.h
235549e21daSmrg    done
236549e21daSmrg    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
2372d8abe4fSmrg
238549e21daSmrg    # We check with `-c' and `-o' for the sake of the "dashmstdout"
239549e21daSmrg    # mode.  It turns out that the SunPro C++ compiler does not properly
240549e21daSmrg    # handle `-M -o', and we need to detect this.  Also, some Intel
241549e21daSmrg    # versions had trouble with output in subdirs
242549e21daSmrg    am__obj=sub/conftest.${OBJEXT-o}
243549e21daSmrg    am__minus_obj="-o $am__obj"
244549e21daSmrg    case $depmode in
245549e21daSmrg    gcc)
246549e21daSmrg      # This depmode causes a compiler race in universal mode.
247549e21daSmrg      test "$am__universal" = false || continue
248549e21daSmrg      ;;
249549e21daSmrg    nosideeffect)
250549e21daSmrg      # after this tag, mechanisms are not by side-effect, so they'll
251549e21daSmrg      # only be used when explicitly requested
252549e21daSmrg      if test "x$enable_dependency_tracking" = xyes; then
253549e21daSmrg	continue
254549e21daSmrg      else
255549e21daSmrg	break
256549e21daSmrg      fi
257549e21daSmrg      ;;
258549e21daSmrg    msvisualcpp | msvcmsys)
259549e21daSmrg      # This compiler won't grok `-c -o', but also, the minuso test has
260549e21daSmrg      # not run yet.  These depmodes are late enough in the game, and
261549e21daSmrg      # so weak that their functioning should not be impacted.
262549e21daSmrg      am__obj=conftest.${OBJEXT-o}
263549e21daSmrg      am__minus_obj=
264549e21daSmrg      ;;
265549e21daSmrg    none) break ;;
266549e21daSmrg    esac
267549e21daSmrg    if depmode=$depmode \
268549e21daSmrg       source=sub/conftest.c object=$am__obj \
269549e21daSmrg       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
270549e21daSmrg       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
271549e21daSmrg         >/dev/null 2>conftest.err &&
272549e21daSmrg       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
273549e21daSmrg       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
274549e21daSmrg       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
275549e21daSmrg       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
276549e21daSmrg      # icc doesn't choke on unknown options, it will just issue warnings
277549e21daSmrg      # or remarks (even with -Werror).  So we grep stderr for any message
278549e21daSmrg      # that says an option was ignored or not supported.
279549e21daSmrg      # When given -MP, icc 7.0 and 7.1 complain thusly:
280549e21daSmrg      #   icc: Command line warning: ignoring option '-M'; no argument required
281549e21daSmrg      # The diagnosis changed in icc 8.0:
282549e21daSmrg      #   icc: Command line remark: option '-MP' not supported
283549e21daSmrg      if (grep 'ignoring option' conftest.err ||
284549e21daSmrg          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
285549e21daSmrg        am_cv_$1_dependencies_compiler_type=$depmode
286549e21daSmrg        break
287549e21daSmrg      fi
288549e21daSmrg    fi
289549e21daSmrg  done
2902d8abe4fSmrg
291549e21daSmrg  cd ..
292549e21daSmrg  rm -rf conftest.dir
2932d8abe4fSmrgelse
294549e21daSmrg  am_cv_$1_dependencies_compiler_type=none
2952d8abe4fSmrgfi
296549e21daSmrg])
297549e21daSmrgAC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
298549e21daSmrgAM_CONDITIONAL([am__fastdep$1], [
299549e21daSmrg  test "x$enable_dependency_tracking" != xno \
300549e21daSmrg  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
301549e21daSmrg])
3022d8abe4fSmrg
3032d8abe4fSmrg
304549e21daSmrg# AM_SET_DEPDIR
305549e21daSmrg# -------------
306549e21daSmrg# Choose a directory name for dependency files.
307549e21daSmrg# This macro is AC_REQUIREd in _AM_DEPENDENCIES
308549e21daSmrgAC_DEFUN([AM_SET_DEPDIR],
309549e21daSmrg[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
310549e21daSmrgAC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
311549e21daSmrg])
3122d8abe4fSmrg
3132d8abe4fSmrg
314549e21daSmrg# AM_DEP_TRACK
315549e21daSmrg# ------------
316549e21daSmrgAC_DEFUN([AM_DEP_TRACK],
317549e21daSmrg[AC_ARG_ENABLE(dependency-tracking,
318549e21daSmrg[  --disable-dependency-tracking  speeds up one-time build
319549e21daSmrg  --enable-dependency-tracking   do not reject slow dependency extractors])
320549e21daSmrgif test "x$enable_dependency_tracking" != xno; then
321549e21daSmrg  am_depcomp="$ac_aux_dir/depcomp"
322549e21daSmrg  AMDEPBACKSLASH='\'
3232d8abe4fSmrgfi
324549e21daSmrgAM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
325549e21daSmrgAC_SUBST([AMDEPBACKSLASH])dnl
326549e21daSmrg_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
327549e21daSmrg])
3282d8abe4fSmrg
329549e21daSmrg# Generate code to set up dependency tracking.              -*- Autoconf -*-
3302d8abe4fSmrg
331549e21daSmrg# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
332549e21daSmrg# Free Software Foundation, Inc.
3332d8abe4fSmrg#
334549e21daSmrg# This file is free software; the Free Software Foundation
335549e21daSmrg# gives unlimited permission to copy and/or distribute it,
336549e21daSmrg# with or without modifications, as long as this notice is preserved.
3372d8abe4fSmrg
338549e21daSmrg#serial 5
3392d8abe4fSmrg
340549e21daSmrg# _AM_OUTPUT_DEPENDENCY_COMMANDS
341549e21daSmrg# ------------------------------
342549e21daSmrgAC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
343549e21daSmrg[{
344549e21daSmrg  # Autoconf 2.62 quotes --file arguments for eval, but not when files
345549e21daSmrg  # are listed without --file.  Let's play safe and only enable the eval
346549e21daSmrg  # if we detect the quoting.
347549e21daSmrg  case $CONFIG_FILES in
348549e21daSmrg  *\'*) eval set x "$CONFIG_FILES" ;;
349549e21daSmrg  *)   set x $CONFIG_FILES ;;
350549e21daSmrg  esac
351549e21daSmrg  shift
352549e21daSmrg  for mf
353549e21daSmrg  do
354549e21daSmrg    # Strip MF so we end up with the name of the file.
355549e21daSmrg    mf=`echo "$mf" | sed -e 's/:.*$//'`
356549e21daSmrg    # Check whether this is an Automake generated Makefile or not.
357549e21daSmrg    # We used to match only the files named `Makefile.in', but
358549e21daSmrg    # some people rename them; so instead we look at the file content.
359549e21daSmrg    # Grep'ing the first line is not enough: some people post-process
360549e21daSmrg    # each Makefile.in and add a new line on top of each file to say so.
361549e21daSmrg    # Grep'ing the whole file is not good either: AIX grep has a line
362549e21daSmrg    # limit of 2048, but all sed's we know have understand at least 4000.
363549e21daSmrg    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
364549e21daSmrg      dirpart=`AS_DIRNAME("$mf")`
365549e21daSmrg    else
366549e21daSmrg      continue
367549e21daSmrg    fi
368549e21daSmrg    # Extract the definition of DEPDIR, am__include, and am__quote
369549e21daSmrg    # from the Makefile without running `make'.
370549e21daSmrg    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
371549e21daSmrg    test -z "$DEPDIR" && continue
372549e21daSmrg    am__include=`sed -n 's/^am__include = //p' < "$mf"`
373549e21daSmrg    test -z "am__include" && continue
374549e21daSmrg    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
375549e21daSmrg    # When using ansi2knr, U may be empty or an underscore; expand it
376549e21daSmrg    U=`sed -n 's/^U = //p' < "$mf"`
377549e21daSmrg    # Find all dependency output files, they are included files with
378549e21daSmrg    # $(DEPDIR) in their names.  We invoke sed twice because it is the
379549e21daSmrg    # simplest approach to changing $(DEPDIR) to its actual value in the
380549e21daSmrg    # expansion.
381549e21daSmrg    for file in `sed -n "
382549e21daSmrg      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
383549e21daSmrg	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
384549e21daSmrg      # Make sure the directory exists.
385549e21daSmrg      test -f "$dirpart/$file" && continue
386549e21daSmrg      fdir=`AS_DIRNAME(["$file"])`
387549e21daSmrg      AS_MKDIR_P([$dirpart/$fdir])
388549e21daSmrg      # echo "creating $dirpart/$file"
389549e21daSmrg      echo '# dummy' > "$dirpart/$file"
390549e21daSmrg    done
391549e21daSmrg  done
392549e21daSmrg}
393549e21daSmrg])# _AM_OUTPUT_DEPENDENCY_COMMANDS
3942d8abe4fSmrg
3952d8abe4fSmrg
396549e21daSmrg# AM_OUTPUT_DEPENDENCY_COMMANDS
397549e21daSmrg# -----------------------------
398549e21daSmrg# This macro should only be invoked once -- use via AC_REQUIRE.
399549e21daSmrg#
400549e21daSmrg# This code is only required when automatic dependency tracking
401549e21daSmrg# is enabled.  FIXME.  This creates each `.P' file that we will
402549e21daSmrg# need in order to bootstrap the dependency handling code.
403549e21daSmrgAC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
404549e21daSmrg[AC_CONFIG_COMMANDS([depfiles],
405549e21daSmrg     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
406549e21daSmrg     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
407549e21daSmrg])
4082d8abe4fSmrg
409549e21daSmrg# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
410549e21daSmrg# Free Software Foundation, Inc.
411549e21daSmrg#
412549e21daSmrg# This file is free software; the Free Software Foundation
413549e21daSmrg# gives unlimited permission to copy and/or distribute it,
414549e21daSmrg# with or without modifications, as long as this notice is preserved.
4152d8abe4fSmrg
416549e21daSmrg# serial 8
4172d8abe4fSmrg
418549e21daSmrg# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
419549e21daSmrgAU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
4202d8abe4fSmrg
421549e21daSmrg# Do all the work for Automake.                             -*- Autoconf -*-
4222d8abe4fSmrg
423549e21daSmrg# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
424549e21daSmrg# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
4252d8abe4fSmrg#
426549e21daSmrg# This file is free software; the Free Software Foundation
427549e21daSmrg# gives unlimited permission to copy and/or distribute it,
428549e21daSmrg# with or without modifications, as long as this notice is preserved.
4292d8abe4fSmrg
430549e21daSmrg# serial 16
431549e21daSmrg
432549e21daSmrg# This macro actually does too much.  Some checks are only needed if
433549e21daSmrg# your package does certain things.  But this isn't really a big deal.
434549e21daSmrg
435549e21daSmrg# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
436549e21daSmrg# AM_INIT_AUTOMAKE([OPTIONS])
437549e21daSmrg# -----------------------------------------------
438549e21daSmrg# The call with PACKAGE and VERSION arguments is the old style
439549e21daSmrg# call (pre autoconf-2.50), which is being phased out.  PACKAGE
440549e21daSmrg# and VERSION should now be passed to AC_INIT and removed from
441549e21daSmrg# the call to AM_INIT_AUTOMAKE.
442549e21daSmrg# We support both call styles for the transition.  After
443549e21daSmrg# the next Automake release, Autoconf can make the AC_INIT
444549e21daSmrg# arguments mandatory, and then we can depend on a new Autoconf
445549e21daSmrg# release and drop the old call support.
446549e21daSmrgAC_DEFUN([AM_INIT_AUTOMAKE],
447549e21daSmrg[AC_PREREQ([2.62])dnl
448549e21daSmrgdnl Autoconf wants to disallow AM_ names.  We explicitly allow
449549e21daSmrgdnl the ones we care about.
450549e21daSmrgm4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
451549e21daSmrgAC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
452549e21daSmrgAC_REQUIRE([AC_PROG_INSTALL])dnl
453549e21daSmrgif test "`cd $srcdir && pwd`" != "`pwd`"; then
454549e21daSmrg  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
455549e21daSmrg  # is not polluted with repeated "-I."
456549e21daSmrg  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
457549e21daSmrg  # test to see if srcdir already configured
458549e21daSmrg  if test -f $srcdir/config.status; then
459549e21daSmrg    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
460549e21daSmrg  fi
4612d8abe4fSmrgfi
4622d8abe4fSmrg
463549e21daSmrg# test whether we have cygpath
464549e21daSmrgif test -z "$CYGPATH_W"; then
465549e21daSmrg  if (cygpath --version) >/dev/null 2>/dev/null; then
466549e21daSmrg    CYGPATH_W='cygpath -w'
467549e21daSmrg  else
468549e21daSmrg    CYGPATH_W=echo
469549e21daSmrg  fi
4702d8abe4fSmrgfi
471549e21daSmrgAC_SUBST([CYGPATH_W])
4722d8abe4fSmrg
473549e21daSmrg# Define the identity of the package.
474549e21daSmrgdnl Distinguish between old-style and new-style calls.
475549e21daSmrgm4_ifval([$2],
476549e21daSmrg[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
477549e21daSmrg AC_SUBST([PACKAGE], [$1])dnl
478549e21daSmrg AC_SUBST([VERSION], [$2])],
479549e21daSmrg[_AM_SET_OPTIONS([$1])dnl
480549e21daSmrgdnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
481549e21daSmrgm4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
482549e21daSmrg  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
483549e21daSmrg AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
484549e21daSmrg AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
4852d8abe4fSmrg
486549e21daSmrg_AM_IF_OPTION([no-define],,
487549e21daSmrg[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
488549e21daSmrg AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
4892d8abe4fSmrg
490549e21daSmrg# Some tools Automake needs.
491549e21daSmrgAC_REQUIRE([AM_SANITY_CHECK])dnl
492549e21daSmrgAC_REQUIRE([AC_ARG_PROGRAM])dnl
493549e21daSmrgAM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
494549e21daSmrgAM_MISSING_PROG(AUTOCONF, autoconf)
495549e21daSmrgAM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
496549e21daSmrgAM_MISSING_PROG(AUTOHEADER, autoheader)
497549e21daSmrgAM_MISSING_PROG(MAKEINFO, makeinfo)
498549e21daSmrgAC_REQUIRE([AM_PROG_INSTALL_SH])dnl
499549e21daSmrgAC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
500549e21daSmrgAC_REQUIRE([AM_PROG_MKDIR_P])dnl
501549e21daSmrg# We need awk for the "check" target.  The system "awk" is bad on
502549e21daSmrg# some platforms.
503549e21daSmrgAC_REQUIRE([AC_PROG_AWK])dnl
504549e21daSmrgAC_REQUIRE([AC_PROG_MAKE_SET])dnl
505549e21daSmrgAC_REQUIRE([AM_SET_LEADING_DOT])dnl
506549e21daSmrg_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
507549e21daSmrg	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
508549e21daSmrg			     [_AM_PROG_TAR([v7])])])
509549e21daSmrg_AM_IF_OPTION([no-dependencies],,
510549e21daSmrg[AC_PROVIDE_IFELSE([AC_PROG_CC],
511549e21daSmrg		  [_AM_DEPENDENCIES(CC)],
512549e21daSmrg		  [define([AC_PROG_CC],
513549e21daSmrg			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
514549e21daSmrgAC_PROVIDE_IFELSE([AC_PROG_CXX],
515549e21daSmrg		  [_AM_DEPENDENCIES(CXX)],
516549e21daSmrg		  [define([AC_PROG_CXX],
517549e21daSmrg			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
518549e21daSmrgAC_PROVIDE_IFELSE([AC_PROG_OBJC],
519549e21daSmrg		  [_AM_DEPENDENCIES(OBJC)],
520549e21daSmrg		  [define([AC_PROG_OBJC],
521549e21daSmrg			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
522549e21daSmrg])
523549e21daSmrg_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
524549e21daSmrgdnl The `parallel-tests' driver may need to know about EXEEXT, so add the
525549e21daSmrgdnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
526549e21daSmrgdnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
527549e21daSmrgAC_CONFIG_COMMANDS_PRE(dnl
528549e21daSmrg[m4_provide_if([_AM_COMPILER_EXEEXT],
529549e21daSmrg  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
530549e21daSmrg])
5312d8abe4fSmrg
532549e21daSmrgdnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
533549e21daSmrgdnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
534549e21daSmrgdnl mangled by Autoconf and run in a shell conditional statement.
535549e21daSmrgm4_define([_AC_COMPILER_EXEEXT],
536549e21daSmrgm4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
5372d8abe4fSmrg
5382d8abe4fSmrg
539549e21daSmrg# When config.status generates a header, we must update the stamp-h file.
540549e21daSmrg# This file resides in the same directory as the config header
541549e21daSmrg# that is generated.  The stamp files are numbered to have different names.
542549e21daSmrg
543549e21daSmrg# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
544549e21daSmrg# loop where config.status creates the headers, so we can generate
545549e21daSmrg# our stamp files there.
546549e21daSmrgAC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
547549e21daSmrg[# Compute $1's index in $config_headers.
548549e21daSmrg_am_arg=$1
549549e21daSmrg_am_stamp_count=1
550549e21daSmrgfor _am_header in $config_headers :; do
551549e21daSmrg  case $_am_header in
552549e21daSmrg    $_am_arg | $_am_arg:* )
553549e21daSmrg      break ;;
554549e21daSmrg    * )
555549e21daSmrg      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
556549e21daSmrg  esac
557549e21daSmrgdone
558549e21daSmrgecho "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
559549e21daSmrg
560549e21daSmrg# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
5612d8abe4fSmrg#
562549e21daSmrg# This file is free software; the Free Software Foundation
563549e21daSmrg# gives unlimited permission to copy and/or distribute it,
564549e21daSmrg# with or without modifications, as long as this notice is preserved.
5652d8abe4fSmrg
566549e21daSmrg# AM_PROG_INSTALL_SH
567549e21daSmrg# ------------------
568549e21daSmrg# Define $install_sh.
569549e21daSmrgAC_DEFUN([AM_PROG_INSTALL_SH],
570549e21daSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
571549e21daSmrgif test x"${install_sh}" != xset; then
572549e21daSmrg  case $am_aux_dir in
573549e21daSmrg  *\ * | *\	*)
574549e21daSmrg    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
575549e21daSmrg  *)
576549e21daSmrg    install_sh="\${SHELL} $am_aux_dir/install-sh"
577549e21daSmrg  esac
5782d8abe4fSmrgfi
579549e21daSmrgAC_SUBST(install_sh)])
5802d8abe4fSmrg
581549e21daSmrg# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
5822d8abe4fSmrg#
583549e21daSmrg# This file is free software; the Free Software Foundation
584549e21daSmrg# gives unlimited permission to copy and/or distribute it,
585549e21daSmrg# with or without modifications, as long as this notice is preserved.
586549e21daSmrg
587549e21daSmrg# serial 2
588549e21daSmrg
589549e21daSmrg# Check whether the underlying file-system supports filenames
590549e21daSmrg# with a leading dot.  For instance MS-DOS doesn't.
591549e21daSmrgAC_DEFUN([AM_SET_LEADING_DOT],
592549e21daSmrg[rm -rf .tst 2>/dev/null
593549e21daSmrgmkdir .tst 2>/dev/null
594549e21daSmrgif test -d .tst; then
595549e21daSmrg  am__leading_dot=.
5962d8abe4fSmrgelse
597549e21daSmrg  am__leading_dot=_
5982d8abe4fSmrgfi
599549e21daSmrgrmdir .tst 2>/dev/null
600549e21daSmrgAC_SUBST([am__leading_dot])])
6012d8abe4fSmrg
602549e21daSmrg# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
603549e21daSmrg# From Jim Meyering
6042d8abe4fSmrg
605549e21daSmrg# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
606549e21daSmrg# Free Software Foundation, Inc.
607ba6a1819Smrg#
608ba6a1819Smrg# This file is free software; the Free Software Foundation
609ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
610ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
611ba6a1819Smrg
612549e21daSmrg# serial 5
613ba6a1819Smrg
614549e21daSmrg# AM_MAINTAINER_MODE([DEFAULT-MODE])
615549e21daSmrg# ----------------------------------
616549e21daSmrg# Control maintainer-specific portions of Makefiles.
617549e21daSmrg# Default is to disable them, unless `enable' is passed literally.
618549e21daSmrg# For symmetry, `disable' may be passed as well.  Anyway, the user
619549e21daSmrg# can override the default with the --enable/--disable switch.
620549e21daSmrgAC_DEFUN([AM_MAINTAINER_MODE],
621549e21daSmrg[m4_case(m4_default([$1], [disable]),
622549e21daSmrg       [enable], [m4_define([am_maintainer_other], [disable])],
623549e21daSmrg       [disable], [m4_define([am_maintainer_other], [enable])],
624549e21daSmrg       [m4_define([am_maintainer_other], [enable])
625549e21daSmrg        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
626549e21daSmrgAC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
627549e21daSmrg  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
628549e21daSmrg  AC_ARG_ENABLE([maintainer-mode],
629549e21daSmrg[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
630549e21daSmrg			  (and sometimes confusing) to the casual installer],
631549e21daSmrg      [USE_MAINTAINER_MODE=$enableval],
632549e21daSmrg      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
633549e21daSmrg  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
634549e21daSmrg  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
635549e21daSmrg  MAINT=$MAINTAINER_MODE_TRUE
636549e21daSmrg  AC_SUBST([MAINT])dnl
637549e21daSmrg]
638549e21daSmrg)
639ba6a1819Smrg
640549e21daSmrgAU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
641ba6a1819Smrg
642549e21daSmrg# Check to see how 'make' treats includes.	            -*- Autoconf -*-
643ba6a1819Smrg
644549e21daSmrg# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
645ba6a1819Smrg#
646ba6a1819Smrg# This file is free software; the Free Software Foundation
647ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
648ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
649ba6a1819Smrg
650549e21daSmrg# serial 4
651ba6a1819Smrg
652549e21daSmrg# AM_MAKE_INCLUDE()
653549e21daSmrg# -----------------
654549e21daSmrg# Check to see how make treats includes.
655549e21daSmrgAC_DEFUN([AM_MAKE_INCLUDE],
656549e21daSmrg[am_make=${MAKE-make}
657549e21daSmrgcat > confinc << 'END'
658549e21daSmrgam__doit:
659549e21daSmrg	@echo this is the am__doit target
660549e21daSmrg.PHONY: am__doit
661549e21daSmrgEND
662549e21daSmrg# If we don't find an include directive, just comment out the code.
663549e21daSmrgAC_MSG_CHECKING([for style of include used by $am_make])
664549e21daSmrgam__include="#"
665549e21daSmrgam__quote=
666549e21daSmrg_am_result=none
667549e21daSmrg# First try GNU make style include.
668549e21daSmrgecho "include confinc" > confmf
669549e21daSmrg# Ignore all kinds of additional output from `make'.
670549e21daSmrgcase `$am_make -s -f confmf 2> /dev/null` in #(
671549e21daSmrg*the\ am__doit\ target*)
672549e21daSmrg  am__include=include
673549e21daSmrg  am__quote=
674549e21daSmrg  _am_result=GNU
675549e21daSmrg  ;;
676549e21daSmrgesac
677549e21daSmrg# Now try BSD make style include.
678549e21daSmrgif test "$am__include" = "#"; then
679549e21daSmrg   echo '.include "confinc"' > confmf
680549e21daSmrg   case `$am_make -s -f confmf 2> /dev/null` in #(
681549e21daSmrg   *the\ am__doit\ target*)
682549e21daSmrg     am__include=.include
683549e21daSmrg     am__quote="\""
684549e21daSmrg     _am_result=BSD
685549e21daSmrg     ;;
686549e21daSmrg   esac
687549e21daSmrgfi
688549e21daSmrgAC_SUBST([am__include])
689549e21daSmrgAC_SUBST([am__quote])
690549e21daSmrgAC_MSG_RESULT([$_am_result])
691549e21daSmrgrm -f confinc confmf
692ba6a1819Smrg])
693ba6a1819Smrg
694549e21daSmrg# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
695ba6a1819Smrg
696549e21daSmrg# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
697ba6a1819Smrg# Free Software Foundation, Inc.
698ba6a1819Smrg#
699ba6a1819Smrg# This file is free software; the Free Software Foundation
700ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
701ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
702ba6a1819Smrg
703549e21daSmrg# serial 6
704ba6a1819Smrg
705549e21daSmrg# AM_MISSING_PROG(NAME, PROGRAM)
706549e21daSmrg# ------------------------------
707549e21daSmrgAC_DEFUN([AM_MISSING_PROG],
708549e21daSmrg[AC_REQUIRE([AM_MISSING_HAS_RUN])
709549e21daSmrg$1=${$1-"${am_missing_run}$2"}
710549e21daSmrgAC_SUBST($1)])
711549e21daSmrg
712549e21daSmrg
713549e21daSmrg# AM_MISSING_HAS_RUN
714549e21daSmrg# ------------------
715549e21daSmrg# Define MISSING if not defined so far and test if it supports --run.
716549e21daSmrg# If it does, set am_missing_run to use it, otherwise, to nothing.
717549e21daSmrgAC_DEFUN([AM_MISSING_HAS_RUN],
718549e21daSmrg[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
719549e21daSmrgAC_REQUIRE_AUX_FILE([missing])dnl
720549e21daSmrgif test x"${MISSING+set}" != xset; then
721549e21daSmrg  case $am_aux_dir in
722549e21daSmrg  *\ * | *\	*)
723549e21daSmrg    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
724549e21daSmrg  *)
725549e21daSmrg    MISSING="\${SHELL} $am_aux_dir/missing" ;;
726549e21daSmrg  esac
727549e21daSmrgfi
728549e21daSmrg# Use eval to expand $SHELL
729549e21daSmrgif eval "$MISSING --run true"; then
730549e21daSmrg  am_missing_run="$MISSING --run "
731ba6a1819Smrgelse
732549e21daSmrg  am_missing_run=
733549e21daSmrg  AC_MSG_WARN([`missing' script is too old or missing])
734ba6a1819Smrgfi
735549e21daSmrg])
736ba6a1819Smrg
737549e21daSmrg# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
738ba6a1819Smrg#
739ba6a1819Smrg# This file is free software; the Free Software Foundation
740ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
741ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
742ba6a1819Smrg
743549e21daSmrg# AM_PROG_MKDIR_P
744549e21daSmrg# ---------------
745549e21daSmrg# Check for `mkdir -p'.
746549e21daSmrgAC_DEFUN([AM_PROG_MKDIR_P],
747549e21daSmrg[AC_PREREQ([2.60])dnl
748549e21daSmrgAC_REQUIRE([AC_PROG_MKDIR_P])dnl
749549e21daSmrgdnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
750549e21daSmrgdnl while keeping a definition of mkdir_p for backward compatibility.
751549e21daSmrgdnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
752549e21daSmrgdnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
753549e21daSmrgdnl Makefile.ins that do not define MKDIR_P, so we do our own
754549e21daSmrgdnl adjustment using top_builddir (which is defined more often than
755549e21daSmrgdnl MKDIR_P).
756549e21daSmrgAC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
757549e21daSmrgcase $mkdir_p in
758549e21daSmrg  [[\\/$]]* | ?:[[\\/]]*) ;;
759549e21daSmrg  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
760549e21daSmrgesac
761549e21daSmrg])
762ba6a1819Smrg
763549e21daSmrg# Helper functions for option handling.                     -*- Autoconf -*-
764ba6a1819Smrg
765549e21daSmrg# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
766ba6a1819Smrg#
767549e21daSmrg# This file is free software; the Free Software Foundation
768549e21daSmrg# gives unlimited permission to copy and/or distribute it,
769549e21daSmrg# with or without modifications, as long as this notice is preserved.
770ba6a1819Smrg
771549e21daSmrg# serial 4
772ba6a1819Smrg
773549e21daSmrg# _AM_MANGLE_OPTION(NAME)
774549e21daSmrg# -----------------------
775549e21daSmrgAC_DEFUN([_AM_MANGLE_OPTION],
776549e21daSmrg[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
777ba6a1819Smrg
778549e21daSmrg# _AM_SET_OPTION(NAME)
779549e21daSmrg# ------------------------------
780549e21daSmrg# Set option NAME.  Presently that only means defining a flag for this option.
781549e21daSmrgAC_DEFUN([_AM_SET_OPTION],
782549e21daSmrg[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
783ba6a1819Smrg
784549e21daSmrg# _AM_SET_OPTIONS(OPTIONS)
785549e21daSmrg# ----------------------------------
786549e21daSmrg# OPTIONS is a space-separated list of Automake options.
787549e21daSmrgAC_DEFUN([_AM_SET_OPTIONS],
788549e21daSmrg[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
789ba6a1819Smrg
790549e21daSmrg# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
791549e21daSmrg# -------------------------------------------
792549e21daSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
793549e21daSmrgAC_DEFUN([_AM_IF_OPTION],
794549e21daSmrg[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
795ba6a1819Smrg
796549e21daSmrg# Check to make sure that the build environment is sane.    -*- Autoconf -*-
797ba6a1819Smrg
798549e21daSmrg# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
799ba6a1819Smrg# Free Software Foundation, Inc.
800ba6a1819Smrg#
801ba6a1819Smrg# This file is free software; the Free Software Foundation
802ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
803ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
804ba6a1819Smrg
805549e21daSmrg# serial 5
806ba6a1819Smrg
807549e21daSmrg# AM_SANITY_CHECK
808549e21daSmrg# ---------------
809549e21daSmrgAC_DEFUN([AM_SANITY_CHECK],
810549e21daSmrg[AC_MSG_CHECKING([whether build environment is sane])
811549e21daSmrg# Just in case
812549e21daSmrgsleep 1
813549e21daSmrgecho timestamp > conftest.file
814549e21daSmrg# Reject unsafe characters in $srcdir or the absolute working directory
815549e21daSmrg# name.  Accept space and tab only in the latter.
816549e21daSmrgam_lf='
817549e21daSmrg'
818549e21daSmrgcase `pwd` in
819549e21daSmrg  *[[\\\"\#\$\&\'\`$am_lf]]*)
820549e21daSmrg    AC_MSG_ERROR([unsafe absolute working directory name]);;
821549e21daSmrgesac
822549e21daSmrgcase $srcdir in
823549e21daSmrg  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
824549e21daSmrg    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
825549e21daSmrgesac
826ba6a1819Smrg
827549e21daSmrg# Do `set' in a subshell so we don't clobber the current shell's
828549e21daSmrg# arguments.  Must try -L first in case configure is actually a
829549e21daSmrg# symlink; some systems play weird games with the mod time of symlinks
830549e21daSmrg# (eg FreeBSD returns the mod time of the symlink's containing
831549e21daSmrg# directory).
832549e21daSmrgif (
833549e21daSmrg   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
834549e21daSmrg   if test "$[*]" = "X"; then
835549e21daSmrg      # -L didn't work.
836549e21daSmrg      set X `ls -t "$srcdir/configure" conftest.file`
837549e21daSmrg   fi
838549e21daSmrg   rm -f conftest.file
839549e21daSmrg   if test "$[*]" != "X $srcdir/configure conftest.file" \
840549e21daSmrg      && test "$[*]" != "X conftest.file $srcdir/configure"; then
841ba6a1819Smrg
842549e21daSmrg      # If neither matched, then we have a broken ls.  This can happen
843549e21daSmrg      # if, for instance, CONFIG_SHELL is bash and it inherits a
844549e21daSmrg      # broken ls alias from the environment.  This has actually
845549e21daSmrg      # happened.  Such a system could not be considered "sane".
846549e21daSmrg      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
847549e21daSmrgalias in your environment])
848549e21daSmrg   fi
849ba6a1819Smrg
850549e21daSmrg   test "$[2]" = conftest.file
851549e21daSmrg   )
852549e21daSmrgthen
853549e21daSmrg   # Ok.
854549e21daSmrg   :
855549e21daSmrgelse
856549e21daSmrg   AC_MSG_ERROR([newly created file is older than distributed files!
857549e21daSmrgCheck your system clock])
858549e21daSmrgfi
859549e21daSmrgAC_MSG_RESULT(yes)])
860549e21daSmrg
861549e21daSmrg# Copyright (C) 2009  Free Software Foundation, Inc.
862ba6a1819Smrg#
863ba6a1819Smrg# This file is free software; the Free Software Foundation
864ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
865ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
866ba6a1819Smrg
867549e21daSmrg# serial 1
868ba6a1819Smrg
869549e21daSmrg# AM_SILENT_RULES([DEFAULT])
870549e21daSmrg# --------------------------
871549e21daSmrg# Enable less verbose build rules; with the default set to DEFAULT
872549e21daSmrg# (`yes' being less verbose, `no' or empty being verbose).
873549e21daSmrgAC_DEFUN([AM_SILENT_RULES],
874549e21daSmrg[AC_ARG_ENABLE([silent-rules],
875549e21daSmrg[  --enable-silent-rules          less verbose build output (undo: `make V=1')
876549e21daSmrg  --disable-silent-rules         verbose build output (undo: `make V=0')])
877549e21daSmrgcase $enable_silent_rules in
878549e21daSmrgyes) AM_DEFAULT_VERBOSITY=0;;
879549e21daSmrgno)  AM_DEFAULT_VERBOSITY=1;;
880549e21daSmrg*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
881549e21daSmrgesac
882549e21daSmrgAC_SUBST([AM_DEFAULT_VERBOSITY])dnl
883549e21daSmrgAM_BACKSLASH='\'
884549e21daSmrgAC_SUBST([AM_BACKSLASH])dnl
885549e21daSmrg_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
886549e21daSmrg])
887ba6a1819Smrg
888549e21daSmrg# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
889ba6a1819Smrg#
890ba6a1819Smrg# This file is free software; the Free Software Foundation
891ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
892ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
893ba6a1819Smrg
894549e21daSmrg# AM_PROG_INSTALL_STRIP
895549e21daSmrg# ---------------------
896549e21daSmrg# One issue with vendor `install' (even GNU) is that you can't
897549e21daSmrg# specify the program used to strip binaries.  This is especially
898549e21daSmrg# annoying in cross-compiling environments, where the build's strip
899549e21daSmrg# is unlikely to handle the host's binaries.
900549e21daSmrg# Fortunately install-sh will honor a STRIPPROG variable, so we
901549e21daSmrg# always use install-sh in `make install-strip', and initialize
902549e21daSmrg# STRIPPROG with the value of the STRIP variable (set by the user).
903549e21daSmrgAC_DEFUN([AM_PROG_INSTALL_STRIP],
904549e21daSmrg[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
905549e21daSmrg# Installed binaries are usually stripped using `strip' when the user
906549e21daSmrg# run `make install-strip'.  However `strip' might not be the right
907549e21daSmrg# tool to use in cross-compilation environments, therefore Automake
908549e21daSmrg# will honor the `STRIP' environment variable to overrule this program.
909549e21daSmrgdnl Don't test for $cross_compiling = yes, because it might be `maybe'.
910549e21daSmrgif test "$cross_compiling" != no; then
911549e21daSmrg  AC_CHECK_TOOL([STRIP], [strip], :)
912ba6a1819Smrgfi
913549e21daSmrgINSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
914549e21daSmrgAC_SUBST([INSTALL_STRIP_PROGRAM])])
915ba6a1819Smrg
916549e21daSmrg# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
917549e21daSmrg#
918549e21daSmrg# This file is free software; the Free Software Foundation
919549e21daSmrg# gives unlimited permission to copy and/or distribute it,
920549e21daSmrg# with or without modifications, as long as this notice is preserved.
921ba6a1819Smrg
922549e21daSmrg# serial 2
923ba6a1819Smrg
924549e21daSmrg# _AM_SUBST_NOTMAKE(VARIABLE)
925549e21daSmrg# ---------------------------
926549e21daSmrg# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
927549e21daSmrg# This macro is traced by Automake.
928549e21daSmrgAC_DEFUN([_AM_SUBST_NOTMAKE])
929ba6a1819Smrg
930549e21daSmrg# AM_SUBST_NOTMAKE(VARIABLE)
931549e21daSmrg# ---------------------------
932549e21daSmrg# Public sister of _AM_SUBST_NOTMAKE.
933549e21daSmrgAC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
934ba6a1819Smrg
935549e21daSmrg# Check how to create a tarball.                            -*- Autoconf -*-
936ba6a1819Smrg
937549e21daSmrg# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
938ba6a1819Smrg#
939ba6a1819Smrg# This file is free software; the Free Software Foundation
940ba6a1819Smrg# gives unlimited permission to copy and/or distribute it,
941ba6a1819Smrg# with or without modifications, as long as this notice is preserved.
942ba6a1819Smrg
943549e21daSmrg# serial 2
944ba6a1819Smrg
945549e21daSmrg# _AM_PROG_TAR(FORMAT)
946549e21daSmrg# --------------------
947549e21daSmrg# Check how to create a tarball in format FORMAT.
948549e21daSmrg# FORMAT should be one of `v7', `ustar', or `pax'.
949ba6a1819Smrg#
950549e21daSmrg# Substitute a variable $(am__tar) that is a command
951549e21daSmrg# writing to stdout a FORMAT-tarball containing the directory
952549e21daSmrg# $tardir.
953549e21daSmrg#     tardir=directory && $(am__tar) > result.tar
954549e21daSmrg#
955549e21daSmrg# Substitute a variable $(am__untar) that extract such
956549e21daSmrg# a tarball read from stdin.
957549e21daSmrg#     $(am__untar) < result.tar
958549e21daSmrgAC_DEFUN([_AM_PROG_TAR],
959549e21daSmrg[# Always define AMTAR for backward compatibility.
960549e21daSmrgAM_MISSING_PROG([AMTAR], [tar])
961549e21daSmrgm4_if([$1], [v7],
962549e21daSmrg     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
963549e21daSmrg     [m4_case([$1], [ustar],, [pax],,
964549e21daSmrg              [m4_fatal([Unknown tar format])])
965549e21daSmrgAC_MSG_CHECKING([how to create a $1 tar archive])
966549e21daSmrg# Loop over all known methods to create a tar archive until one works.
967549e21daSmrg_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
968549e21daSmrg_am_tools=${am_cv_prog_tar_$1-$_am_tools}
969549e21daSmrg# Do not fold the above two line into one, because Tru64 sh and
970549e21daSmrg# Solaris sh will not grok spaces in the rhs of `-'.
971549e21daSmrgfor _am_tool in $_am_tools
972549e21daSmrgdo
973549e21daSmrg  case $_am_tool in
974549e21daSmrg  gnutar)
975549e21daSmrg    for _am_tar in tar gnutar gtar;
976549e21daSmrg    do
977549e21daSmrg      AM_RUN_LOG([$_am_tar --version]) && break
978549e21daSmrg    done
979549e21daSmrg    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
980549e21daSmrg    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
981549e21daSmrg    am__untar="$_am_tar -xf -"
982549e21daSmrg    ;;
983549e21daSmrg  plaintar)
984549e21daSmrg    # Must skip GNU tar: if it does not support --format= it doesn't create
985549e21daSmrg    # ustar tarball either.
986549e21daSmrg    (tar --version) >/dev/null 2>&1 && continue
987549e21daSmrg    am__tar='tar chf - "$$tardir"'
988549e21daSmrg    am__tar_='tar chf - "$tardir"'
989549e21daSmrg    am__untar='tar xf -'
990549e21daSmrg    ;;
991549e21daSmrg  pax)
992549e21daSmrg    am__tar='pax -L -x $1 -w "$$tardir"'
993549e21daSmrg    am__tar_='pax -L -x $1 -w "$tardir"'
994549e21daSmrg    am__untar='pax -r'
995549e21daSmrg    ;;
996549e21daSmrg  cpio)
997549e21daSmrg    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
998549e21daSmrg    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
999549e21daSmrg    am__untar='cpio -i -H $1 -d'
1000549e21daSmrg    ;;
1001549e21daSmrg  none)
1002549e21daSmrg    am__tar=false
1003549e21daSmrg    am__tar_=false
1004549e21daSmrg    am__untar=false
1005549e21daSmrg    ;;
1006549e21daSmrg  esac
1007ba6a1819Smrg
1008549e21daSmrg  # If the value was cached, stop now.  We just wanted to have am__tar
1009549e21daSmrg  # and am__untar set.
1010549e21daSmrg  test -n "${am_cv_prog_tar_$1}" && break
1011ba6a1819Smrg
1012549e21daSmrg  # tar/untar a dummy directory, and stop if the command works
1013549e21daSmrg  rm -rf conftest.dir
1014549e21daSmrg  mkdir conftest.dir
1015549e21daSmrg  echo GrepMe > conftest.dir/file
1016549e21daSmrg  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
1017549e21daSmrg  rm -rf conftest.dir
1018549e21daSmrg  if test -s conftest.tar; then
1019549e21daSmrg    AM_RUN_LOG([$am__untar <conftest.tar])
1020549e21daSmrg    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
1021549e21daSmrg  fi
1022549e21daSmrgdone
1023549e21daSmrgrm -rf conftest.dir
1024ba6a1819Smrg
1025549e21daSmrgAC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
1026549e21daSmrgAC_MSG_RESULT([$am_cv_prog_tar_$1])])
1027549e21daSmrgAC_SUBST([am__tar])
1028549e21daSmrgAC_SUBST([am__untar])
1029549e21daSmrg]) # _AM_PROG_TAR
1030ba6a1819Smrg
1031549e21daSmrgdnl xorg-macros.m4.  Generated from xorg-macros.m4.in xorgversion.m4 by configure.
1032549e21daSmrgdnl
1033549e21daSmrgdnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
1034549e21daSmrgdnl 
1035549e21daSmrgdnl Permission is hereby granted, free of charge, to any person obtaining a
1036549e21daSmrgdnl copy of this software and associated documentation files (the "Software"),
1037549e21daSmrgdnl to deal in the Software without restriction, including without limitation
1038549e21daSmrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
1039549e21daSmrgdnl and/or sell copies of the Software, and to permit persons to whom the
1040549e21daSmrgdnl Software is furnished to do so, subject to the following conditions:
1041549e21daSmrgdnl
1042549e21daSmrgdnl The above copyright notice and this permission notice (including the next
1043549e21daSmrgdnl paragraph) shall be included in all copies or substantial portions of the
1044549e21daSmrgdnl Software.
1045549e21daSmrgdnl
1046549e21daSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1047549e21daSmrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1048549e21daSmrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
1049549e21daSmrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1050549e21daSmrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1051549e21daSmrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
1052549e21daSmrgdnl DEALINGS IN THE SOFTWARE.
1053ba6a1819Smrg
1054549e21daSmrg# XORG_MACROS_VERSION(required-version)
1055549e21daSmrg# -------------------------------------
1056549e21daSmrg# Minimum version: 1.1.0
1057549e21daSmrg#
1058549e21daSmrg# If you're using a macro added in Version 1.1 or newer, include this in
1059549e21daSmrg# your configure.ac with the minimum required version, such as:
1060549e21daSmrg# XORG_MACROS_VERSION(1.1)
1061549e21daSmrg#
1062549e21daSmrg# To ensure that this macro is defined, also add:
1063549e21daSmrg# m4_ifndef([XORG_MACROS_VERSION],
1064549e21daSmrg#     [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
1065549e21daSmrg#
1066549e21daSmrg#
1067549e21daSmrg# See the "minimum version" comment for each macro you use to see what 
1068549e21daSmrg# version you require.
1069549e21daSmrgm4_defun([XORG_MACROS_VERSION],[
1070549e21daSmrgm4_define([vers_have], [1.10.1])
1071549e21daSmrgm4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
1072549e21daSmrgm4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
1073549e21daSmrgm4_if(m4_cmp(maj_have, maj_needed), 0,,
1074549e21daSmrg    [m4_fatal([xorg-macros major version ]maj_needed[ is required but ]vers_have[ found])])
1075549e21daSmrgm4_if(m4_version_compare(vers_have, [$1]), -1,
1076549e21daSmrg    [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ found])])
1077549e21daSmrgm4_undefine([vers_have])
1078549e21daSmrgm4_undefine([maj_have])
1079549e21daSmrgm4_undefine([maj_needed])
1080549e21daSmrg]) # XORG_MACROS_VERSION
1081ba6a1819Smrg
1082549e21daSmrg# XORG_PROG_RAWCPP()
1083549e21daSmrg# ------------------
1084549e21daSmrg# Minimum version: 1.0.0
1085549e21daSmrg#
1086549e21daSmrg# Find cpp program and necessary flags for use in pre-processing text files
1087549e21daSmrg# such as man pages and config files
1088549e21daSmrgAC_DEFUN([XORG_PROG_RAWCPP],[
1089549e21daSmrgAC_REQUIRE([AC_PROG_CPP])
1090549e21daSmrgAC_PATH_PROGS(RAWCPP, [cpp], [${CPP}], 
1091549e21daSmrg   [$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
1092ba6a1819Smrg
1093549e21daSmrg# Check for flag to avoid builtin definitions - assumes unix is predefined,
1094549e21daSmrg# which is not the best choice for supporting other OS'es, but covers most
1095549e21daSmrg# of the ones we need for now.
1096549e21daSmrgAC_MSG_CHECKING([if $RAWCPP requires -undef])
1097549e21daSmrgAC_LANG_CONFTEST([Does cpp redefine unix ?])
1098549e21daSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1099549e21daSmrg	AC_MSG_RESULT([no])
1100549e21daSmrgelse
1101549e21daSmrg	if test `${RAWCPP} -undef < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1102549e21daSmrg		RAWCPPFLAGS=-undef
1103549e21daSmrg		AC_MSG_RESULT([yes])
1104549e21daSmrg	# under Cygwin unix is still defined even with -undef
1105549e21daSmrg	elif test `${RAWCPP} -undef -ansi < conftest.$ac_ext | grep -c 'unix'` -eq 1 ; then
1106549e21daSmrg		RAWCPPFLAGS="-undef -ansi"
1107549e21daSmrg		AC_MSG_RESULT([yes, with -ansi])
1108549e21daSmrg	else
1109549e21daSmrg		AC_MSG_ERROR([${RAWCPP} defines unix with or without -undef.  I don't know what to do.])
1110549e21daSmrg	fi
1111549e21daSmrgfi
1112549e21daSmrgrm -f conftest.$ac_ext
1113ba6a1819Smrg
1114549e21daSmrgAC_MSG_CHECKING([if $RAWCPP requires -traditional])
1115549e21daSmrgAC_LANG_CONFTEST([Does cpp preserve   "whitespace"?])
1116549e21daSmrgif test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
1117549e21daSmrg	AC_MSG_RESULT([no])
1118549e21daSmrgelse
1119549e21daSmrg	if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve   \"'` -eq 1 ; then
1120549e21daSmrg		RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
1121549e21daSmrg		AC_MSG_RESULT([yes])
1122549e21daSmrg	else
1123549e21daSmrg		AC_MSG_ERROR([${RAWCPP} does not preserve whitespace with or without -traditional.  I don't know what to do.])
1124549e21daSmrg	fi
1125549e21daSmrgfi
1126549e21daSmrgrm -f conftest.$ac_ext
1127549e21daSmrgAC_SUBST(RAWCPPFLAGS)
1128549e21daSmrg]) # XORG_PROG_RAWCPP
1129ba6a1819Smrg
1130549e21daSmrg# XORG_MANPAGE_SECTIONS()
1131549e21daSmrg# -----------------------
1132549e21daSmrg# Minimum version: 1.0.0
1133ba6a1819Smrg#
1134549e21daSmrg# Determine which sections man pages go in for the different man page types
1135549e21daSmrg# on this OS - replaces *ManSuffix settings in old Imake *.cf per-os files.
1136549e21daSmrg# Not sure if there's any better way than just hardcoding by OS name.
1137549e21daSmrg# Override default settings by setting environment variables
1138549e21daSmrg# Added MAN_SUBSTS in version 1.8
1139549e21daSmrg# Added AC_PROG_SED in version 1.8
1140ba6a1819Smrg
1141549e21daSmrgAC_DEFUN([XORG_MANPAGE_SECTIONS],[
1142549e21daSmrgAC_REQUIRE([AC_CANONICAL_HOST])
1143549e21daSmrgAC_REQUIRE([AC_PROG_SED])
1144ba6a1819Smrg
1145549e21daSmrgif test x$APP_MAN_SUFFIX = x    ; then
1146549e21daSmrg    APP_MAN_SUFFIX=1
1147ba6a1819Smrgfi
1148549e21daSmrgif test x$APP_MAN_DIR = x    ; then
1149549e21daSmrg    APP_MAN_DIR='$(mandir)/man$(APP_MAN_SUFFIX)'
1150ba6a1819Smrgfi
1151ba6a1819Smrg
1152549e21daSmrgif test x$LIB_MAN_SUFFIX = x    ; then
1153549e21daSmrg    LIB_MAN_SUFFIX=3
1154549e21daSmrgfi
1155549e21daSmrgif test x$LIB_MAN_DIR = x    ; then
1156549e21daSmrg    LIB_MAN_DIR='$(mandir)/man$(LIB_MAN_SUFFIX)'
1157549e21daSmrgfi
1158ba6a1819Smrg
1159549e21daSmrgif test x$FILE_MAN_SUFFIX = x    ; then
1160549e21daSmrg    case $host_os in
1161549e21daSmrg	solaris*)	FILE_MAN_SUFFIX=4  ;;
1162549e21daSmrg	*)		FILE_MAN_SUFFIX=5  ;;
1163549e21daSmrg    esac
1164549e21daSmrgfi
1165549e21daSmrgif test x$FILE_MAN_DIR = x    ; then
1166549e21daSmrg    FILE_MAN_DIR='$(mandir)/man$(FILE_MAN_SUFFIX)'
1167549e21daSmrgfi
1168ba6a1819Smrg
1169549e21daSmrgif test x$MISC_MAN_SUFFIX = x    ; then
1170549e21daSmrg    case $host_os in
1171549e21daSmrg	solaris*)	MISC_MAN_SUFFIX=5  ;;
1172549e21daSmrg	*)		MISC_MAN_SUFFIX=7  ;;
1173549e21daSmrg    esac
1174549e21daSmrgfi
1175549e21daSmrgif test x$MISC_MAN_DIR = x    ; then
1176549e21daSmrg    MISC_MAN_DIR='$(mandir)/man$(MISC_MAN_SUFFIX)'
1177549e21daSmrgfi
1178ba6a1819Smrg
1179549e21daSmrgif test x$DRIVER_MAN_SUFFIX = x    ; then
1180549e21daSmrg    case $host_os in
1181549e21daSmrg	solaris*)	DRIVER_MAN_SUFFIX=7  ;;
1182549e21daSmrg	*)		DRIVER_MAN_SUFFIX=4  ;;
1183549e21daSmrg    esac
1184549e21daSmrgfi
1185549e21daSmrgif test x$DRIVER_MAN_DIR = x    ; then
1186549e21daSmrg    DRIVER_MAN_DIR='$(mandir)/man$(DRIVER_MAN_SUFFIX)'
1187549e21daSmrgfi
1188ba6a1819Smrg
1189549e21daSmrgif test x$ADMIN_MAN_SUFFIX = x    ; then
1190549e21daSmrg    case $host_os in
1191549e21daSmrg	solaris*)	ADMIN_MAN_SUFFIX=1m ;;
1192549e21daSmrg	*)		ADMIN_MAN_SUFFIX=8  ;;
1193549e21daSmrg    esac
1194549e21daSmrgfi
1195549e21daSmrgif test x$ADMIN_MAN_DIR = x    ; then
1196549e21daSmrg    ADMIN_MAN_DIR='$(mandir)/man$(ADMIN_MAN_SUFFIX)'
1197ba6a1819Smrgfi
1198ba6a1819Smrg
1199ba6a1819Smrg
1200549e21daSmrgAC_SUBST([APP_MAN_SUFFIX])
1201549e21daSmrgAC_SUBST([LIB_MAN_SUFFIX])
1202549e21daSmrgAC_SUBST([FILE_MAN_SUFFIX])
1203549e21daSmrgAC_SUBST([MISC_MAN_SUFFIX])
1204549e21daSmrgAC_SUBST([DRIVER_MAN_SUFFIX])
1205549e21daSmrgAC_SUBST([ADMIN_MAN_SUFFIX])
1206549e21daSmrgAC_SUBST([APP_MAN_DIR])
1207549e21daSmrgAC_SUBST([LIB_MAN_DIR])
1208549e21daSmrgAC_SUBST([FILE_MAN_DIR])
1209549e21daSmrgAC_SUBST([MISC_MAN_DIR])
1210549e21daSmrgAC_SUBST([DRIVER_MAN_DIR])
1211549e21daSmrgAC_SUBST([ADMIN_MAN_DIR])
1212ba6a1819Smrg
1213549e21daSmrgXORG_MAN_PAGE="X Version 11"
1214549e21daSmrgAC_SUBST([XORG_MAN_PAGE])
1215549e21daSmrgMAN_SUBSTS="\
1216549e21daSmrg	-e 's|__vendorversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
1217549e21daSmrg	-e 's|__xorgversion__|\"\$(PACKAGE_STRING)\" \"\$(XORG_MAN_PAGE)\"|' \
1218549e21daSmrg	-e 's|__xservername__|Xorg|g' \
1219549e21daSmrg	-e 's|__xconfigfile__|xorg.conf|g' \
1220549e21daSmrg	-e 's|__projectroot__|\$(prefix)|g' \
1221549e21daSmrg	-e 's|__apploaddir__|\$(appdefaultdir)|g' \
1222549e21daSmrg	-e 's|__appmansuffix__|\$(APP_MAN_SUFFIX)|g' \
1223549e21daSmrg	-e 's|__drivermansuffix__|\$(DRIVER_MAN_SUFFIX)|g' \
1224549e21daSmrg	-e 's|__adminmansuffix__|\$(ADMIN_MAN_SUFFIX)|g' \
1225549e21daSmrg	-e 's|__libmansuffix__|\$(LIB_MAN_SUFFIX)|g' \
1226549e21daSmrg	-e 's|__miscmansuffix__|\$(MISC_MAN_SUFFIX)|g' \
1227549e21daSmrg	-e 's|__filemansuffix__|\$(FILE_MAN_SUFFIX)|g'"
1228549e21daSmrgAC_SUBST([MAN_SUBSTS])
1229ba6a1819Smrg
1230549e21daSmrg]) # XORG_MANPAGE_SECTIONS
1231ba6a1819Smrg
1232549e21daSmrg# XORG_CHECK_SGML_DOCTOOLS([MIN-VERSION])
1233549e21daSmrg# ------------------------
1234549e21daSmrg# Minimum version: 1.7.0
1235549e21daSmrg#
1236549e21daSmrg# Defines the variable XORG_SGML_PATH containing the location of X11/defs.ent
1237549e21daSmrg# provided by xorg-sgml-doctools, if installed.
1238549e21daSmrgAC_DEFUN([XORG_CHECK_SGML_DOCTOOLS],[
1239549e21daSmrgAC_MSG_CHECKING([for X.Org SGML entities m4_ifval([$1],[>= $1])])
1240549e21daSmrgXORG_SGML_PATH=
1241549e21daSmrgPKG_CHECK_EXISTS([xorg-sgml-doctools m4_ifval([$1],[>= $1])],
1242549e21daSmrg    [XORG_SGML_PATH=`$PKG_CONFIG --variable=sgmlrootdir xorg-sgml-doctools`],
1243549e21daSmrg    [m4_ifval([$1],[:],
1244549e21daSmrg        [if test x"$cross_compiling" != x"yes" ; then
1245549e21daSmrg            AC_CHECK_FILE([$prefix/share/sgml/X11/defs.ent],
1246549e21daSmrg                          [XORG_SGML_PATH=$prefix/share/sgml])
1247549e21daSmrg         fi])
1248549e21daSmrg    ])
1249ba6a1819Smrg
1250549e21daSmrg# Define variables STYLESHEET_SRCDIR and XSL_STYLESHEET containing
1251549e21daSmrg# the path and the name of the doc stylesheet
1252549e21daSmrgif test "x$XORG_SGML_PATH" != "x" ; then
1253549e21daSmrg   AC_MSG_RESULT([$XORG_SGML_PATH])
1254549e21daSmrg   STYLESHEET_SRCDIR=$XORG_SGML_PATH/X11
1255549e21daSmrg   XSL_STYLESHEET=$STYLESHEET_SRCDIR/xorg.xsl
1256549e21daSmrgelse
1257549e21daSmrg   AC_MSG_RESULT([no])
1258549e21daSmrgfi
1259ba6a1819Smrg
1260549e21daSmrgAC_SUBST(XORG_SGML_PATH)
1261549e21daSmrgAC_SUBST(STYLESHEET_SRCDIR)
1262549e21daSmrgAC_SUBST(XSL_STYLESHEET)
1263549e21daSmrgAM_CONDITIONAL([HAVE_STYLESHEETS], [test "x$XSL_STYLESHEET" != "x"])
1264549e21daSmrg]) # XORG_CHECK_SGML_DOCTOOLS
1265ba6a1819Smrg
1266549e21daSmrg# XORG_CHECK_LINUXDOC
1267549e21daSmrg# -------------------
1268549e21daSmrg# Minimum version: 1.0.0
1269549e21daSmrg#
1270549e21daSmrg# Defines the variable MAKE_TEXT if the necessary tools and
1271549e21daSmrg# files are found. $(MAKE_TEXT) blah.sgml will then produce blah.txt.
1272549e21daSmrg# Whether or not the necessary tools and files are found can be checked
1273549e21daSmrg# with the AM_CONDITIONAL "BUILD_LINUXDOC"
1274549e21daSmrgAC_DEFUN([XORG_CHECK_LINUXDOC],[
1275549e21daSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
1276549e21daSmrgAC_REQUIRE([XORG_WITH_PS2PDF])
1277ba6a1819Smrg
1278549e21daSmrgAC_PATH_PROG(LINUXDOC, linuxdoc)
1279ba6a1819Smrg
1280549e21daSmrgAC_MSG_CHECKING([whether to build documentation])
1281ba6a1819Smrg
1282549e21daSmrgif test x$XORG_SGML_PATH != x && test x$LINUXDOC != x ; then
1283549e21daSmrg   BUILDDOC=yes
1284549e21daSmrgelse
1285549e21daSmrg   BUILDDOC=no
1286549e21daSmrgfi
1287ba6a1819Smrg
1288549e21daSmrgAM_CONDITIONAL(BUILD_LINUXDOC, [test x$BUILDDOC = xyes])
1289ba6a1819Smrg
1290549e21daSmrgAC_MSG_RESULT([$BUILDDOC])
1291ba6a1819Smrg
1292549e21daSmrgAC_MSG_CHECKING([whether to build pdf documentation])
1293ba6a1819Smrg
1294549e21daSmrgif test x$have_ps2pdf != xno && test x$BUILD_PDFDOC != xno; then
1295549e21daSmrg   BUILDPDFDOC=yes
1296ba6a1819Smrgelse
1297549e21daSmrg   BUILDPDFDOC=no
1298ba6a1819Smrgfi
1299ba6a1819Smrg
1300549e21daSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
1301ba6a1819Smrg
1302549e21daSmrgAC_MSG_RESULT([$BUILDPDFDOC])
1303ba6a1819Smrg
1304549e21daSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH GROFF_NO_SGR=y $LINUXDOC -B txt -f"
1305549e21daSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC -B latex --papersize=letter --output=ps"
1306549e21daSmrgMAKE_PDF="$PS2PDF"
1307549e21daSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $LINUXDOC  -B html --split=0"
1308ba6a1819Smrg
1309549e21daSmrgAC_SUBST(MAKE_TEXT)
1310549e21daSmrgAC_SUBST(MAKE_PS)
1311549e21daSmrgAC_SUBST(MAKE_PDF)
1312549e21daSmrgAC_SUBST(MAKE_HTML)
1313549e21daSmrg]) # XORG_CHECK_LINUXDOC
1314ba6a1819Smrg
1315549e21daSmrg# XORG_CHECK_DOCBOOK
1316549e21daSmrg# -------------------
1317549e21daSmrg# Minimum version: 1.0.0
1318ba6a1819Smrg#
1319549e21daSmrg# Checks for the ability to build output formats from SGML DocBook source.
1320549e21daSmrg# For XXX in {TXT, PDF, PS, HTML}, the AM_CONDITIONAL "BUILD_XXXDOC"
1321549e21daSmrg# indicates whether the necessary tools and files are found and, if set,
1322549e21daSmrg# $(MAKE_XXX) blah.sgml will produce blah.xxx.
1323549e21daSmrgAC_DEFUN([XORG_CHECK_DOCBOOK],[
1324549e21daSmrgAC_REQUIRE([XORG_CHECK_SGML_DOCTOOLS])
1325ba6a1819Smrg
1326549e21daSmrgBUILDTXTDOC=no
1327549e21daSmrgBUILDPDFDOC=no
1328549e21daSmrgBUILDPSDOC=no
1329549e21daSmrgBUILDHTMLDOC=no
1330ba6a1819Smrg
1331549e21daSmrgAC_PATH_PROG(DOCBOOKPS, docbook2ps)
1332549e21daSmrgAC_PATH_PROG(DOCBOOKPDF, docbook2pdf)
1333549e21daSmrgAC_PATH_PROG(DOCBOOKHTML, docbook2html)
1334549e21daSmrgAC_PATH_PROG(DOCBOOKTXT, docbook2txt)
1335ba6a1819Smrg
1336549e21daSmrgAC_MSG_CHECKING([whether to build text documentation])
1337549e21daSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKTXT != x &&
1338549e21daSmrg   test x$BUILD_TXTDOC != xno; then
1339549e21daSmrg	BUILDTXTDOC=yes
1340549e21daSmrgfi
1341549e21daSmrgAM_CONDITIONAL(BUILD_TXTDOC, [test x$BUILDTXTDOC = xyes])
1342549e21daSmrgAC_MSG_RESULT([$BUILDTXTDOC])
1343ba6a1819Smrg
1344549e21daSmrgAC_MSG_CHECKING([whether to build PDF documentation])
1345549e21daSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPDF != x &&
1346549e21daSmrg   test x$BUILD_PDFDOC != xno; then
1347549e21daSmrg	BUILDPDFDOC=yes
1348549e21daSmrgfi
1349549e21daSmrgAM_CONDITIONAL(BUILD_PDFDOC, [test x$BUILDPDFDOC = xyes])
1350549e21daSmrgAC_MSG_RESULT([$BUILDPDFDOC])
1351ba6a1819Smrg
1352549e21daSmrgAC_MSG_CHECKING([whether to build PostScript documentation])
1353549e21daSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKPS != x &&
1354549e21daSmrg   test x$BUILD_PSDOC != xno; then
1355549e21daSmrg	BUILDPSDOC=yes
1356549e21daSmrgfi
1357549e21daSmrgAM_CONDITIONAL(BUILD_PSDOC, [test x$BUILDPSDOC = xyes])
1358549e21daSmrgAC_MSG_RESULT([$BUILDPSDOC])
1359ba6a1819Smrg
1360549e21daSmrgAC_MSG_CHECKING([whether to build HTML documentation])
1361549e21daSmrgif test x$XORG_SGML_PATH != x && test x$DOCBOOKHTML != x &&
1362549e21daSmrg   test x$BUILD_HTMLDOC != xno; then
1363549e21daSmrg	BUILDHTMLDOC=yes
1364549e21daSmrgfi
1365549e21daSmrgAM_CONDITIONAL(BUILD_HTMLDOC, [test x$BUILDHTMLDOC = xyes])
1366549e21daSmrgAC_MSG_RESULT([$BUILDHTMLDOC])
1367549e21daSmrg
1368549e21daSmrgMAKE_TEXT="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKTXT"
1369549e21daSmrgMAKE_PS="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPS"
1370549e21daSmrgMAKE_PDF="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKPDF"
1371549e21daSmrgMAKE_HTML="SGML_SEARCH_PATH=$XORG_SGML_PATH $DOCBOOKHTML"
1372549e21daSmrg
1373549e21daSmrgAC_SUBST(MAKE_TEXT)
1374549e21daSmrgAC_SUBST(MAKE_PS)
1375549e21daSmrgAC_SUBST(MAKE_PDF)
1376549e21daSmrgAC_SUBST(MAKE_HTML)
1377549e21daSmrg]) # XORG_CHECK_DOCBOOK
1378549e21daSmrg
1379549e21daSmrg# XORG_WITH_XMLTO([MIN-VERSION])
1380549e21daSmrg# ----------------
1381549e21daSmrg# Minimum version: 1.5.0
1382ba6a1819Smrg#
1383549e21daSmrg# Documentation tools are not always available on all platforms and sometimes
1384549e21daSmrg# not at the appropriate level. This macro enables a module to test for the
1385549e21daSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
1386549e21daSmrg# the --with-xmlto option, it allows maximum flexibilty in making decisions
1387549e21daSmrg# as whether or not to use the xmlto package.
1388ba6a1819Smrg#
1389549e21daSmrg# Interface to module:
1390549e21daSmrg# HAVE_XMLTO: 	used in makefiles to conditionally generate documentation
1391549e21daSmrg# XMLTO:	returns the path of the xmlto program found
1392549e21daSmrg#		returns the path set by the user in the environment
1393549e21daSmrg# --with-xmlto:	'yes' user instructs the module to use xmlto
1394549e21daSmrg#		'no' user instructs the module not to use xmlto
1395ba6a1819Smrg#
1396549e21daSmrg# Added in version 1.10.0
1397549e21daSmrg# HAVE_XMLTO_TEXT: used in makefiles to conditionally generate text documentation
1398549e21daSmrg#                  xmlto for text output requires either lynx, links, or w3m browsers
1399ba6a1819Smrg#
1400549e21daSmrg# If the user sets the value of XMLTO, AC_PATH_PROG skips testing the path.
1401ba6a1819Smrg#
1402549e21daSmrgAC_DEFUN([XORG_WITH_XMLTO],[
1403549e21daSmrgAC_ARG_VAR([XMLTO], [Path to xmlto command])
1404549e21daSmrgAC_ARG_WITH(xmlto,
1405549e21daSmrg	AS_HELP_STRING([--with-xmlto],
1406549e21daSmrg	   [Use xmlto to regenerate documentation (default: yes, if installed)]),
1407549e21daSmrg	   [use_xmlto=$withval], [use_xmlto=auto])
1408549e21daSmrg
1409549e21daSmrgif test "x$use_xmlto" = x"auto"; then
1410549e21daSmrg   AC_PATH_PROG([XMLTO], [xmlto])
1411549e21daSmrg   if test "x$XMLTO" = "x"; then
1412549e21daSmrg        AC_MSG_WARN([xmlto not found - documentation targets will be skipped])
1413549e21daSmrg	have_xmlto=no
1414549e21daSmrg   else
1415549e21daSmrg        have_xmlto=yes
1416549e21daSmrg   fi
1417549e21daSmrgelif test "x$use_xmlto" = x"yes" ; then
1418549e21daSmrg   AC_PATH_PROG([XMLTO], [xmlto])
1419549e21daSmrg   if test "x$XMLTO" = "x"; then
1420549e21daSmrg        AC_MSG_ERROR([--with-xmlto=yes specified but xmlto not found in PATH])
1421549e21daSmrg   fi
1422549e21daSmrg   have_xmlto=yes
1423549e21daSmrgelif test "x$use_xmlto" = x"no" ; then
1424549e21daSmrg   if test "x$XMLTO" != "x"; then
1425549e21daSmrg      AC_MSG_WARN([ignoring XMLTO environment variable since --with-xmlto=no was specified])
1426549e21daSmrg   fi
1427549e21daSmrg   have_xmlto=no
1428ba6a1819Smrgelse
1429549e21daSmrg   AC_MSG_ERROR([--with-xmlto expects 'yes' or 'no'])
1430ba6a1819Smrgfi
1431ba6a1819Smrg
1432549e21daSmrg# Test for a minimum version of xmlto, if provided.
1433549e21daSmrgm4_ifval([$1],
1434549e21daSmrg[if test "$have_xmlto" = yes; then
1435549e21daSmrg    # scrape the xmlto version
1436549e21daSmrg    AC_MSG_CHECKING([the xmlto version])
1437549e21daSmrg    xmlto_version=`$XMLTO --version 2>/dev/null | cut -d' ' -f3`
1438549e21daSmrg    AC_MSG_RESULT([$xmlto_version])
1439549e21daSmrg    AS_VERSION_COMPARE([$xmlto_version], [$1],
1440549e21daSmrg        [if test "x$use_xmlto" = xauto; then
1441549e21daSmrg            AC_MSG_WARN([xmlto version $xmlto_version found, but $1 needed])
1442549e21daSmrg            have_xmlto=no
1443549e21daSmrg        else
1444549e21daSmrg            AC_MSG_ERROR([xmlto version $xmlto_version found, but $1 needed])
1445549e21daSmrg        fi])
1446549e21daSmrgfi])
1447549e21daSmrg
1448549e21daSmrg# Test for the ability of xmlto to generate a text target
1449549e21daSmrghave_xmlto_text=no
1450549e21daSmrgcat > conftest.xml << "EOF"
1451549e21daSmrgEOF
1452549e21daSmrgAS_IF([test "$have_xmlto" = yes],
1453549e21daSmrg      [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
1454549e21daSmrg             [have_xmlto_text=yes],
1455549e21daSmrg             [AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])
1456549e21daSmrgrm -f conftest.xml
1457549e21daSmrgAM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
1458549e21daSmrgAM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
1459549e21daSmrg]) # XORG_WITH_XMLTO
1460549e21daSmrg
1461549e21daSmrg# XORG_WITH_ASCIIDOC([MIN-VERSION])
1462549e21daSmrg# ----------------
1463549e21daSmrg# Minimum version: 1.5.0
1464549e21daSmrg#
1465549e21daSmrg# Documentation tools are not always available on all platforms and sometimes
1466549e21daSmrg# not at the appropriate level. This macro enables a module to test for the
1467549e21daSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
1468549e21daSmrg# the --with-asciidoc option, it allows maximum flexibilty in making decisions
1469549e21daSmrg# as whether or not to use the asciidoc package.
1470549e21daSmrg#
1471549e21daSmrg# Interface to module:
1472549e21daSmrg# HAVE_ASCIIDOC: used in makefiles to conditionally generate documentation
1473549e21daSmrg# ASCIIDOC:	 returns the path of the asciidoc program found
1474549e21daSmrg#		 returns the path set by the user in the environment
1475549e21daSmrg# --with-asciidoc: 'yes' user instructs the module to use asciidoc
1476549e21daSmrg#		  'no' user instructs the module not to use asciidoc
1477549e21daSmrg#
1478549e21daSmrg# If the user sets the value of ASCIIDOC, AC_PATH_PROG skips testing the path.
1479549e21daSmrg#
1480549e21daSmrgAC_DEFUN([XORG_WITH_ASCIIDOC],[
1481549e21daSmrgAC_ARG_VAR([ASCIIDOC], [Path to asciidoc command])
1482549e21daSmrgAC_ARG_WITH(asciidoc,
1483549e21daSmrg	AS_HELP_STRING([--with-asciidoc],
1484549e21daSmrg	   [Use asciidoc to regenerate documentation (default: yes, if installed)]),
1485549e21daSmrg	   [use_asciidoc=$withval], [use_asciidoc=auto])
1486549e21daSmrg
1487549e21daSmrgif test "x$use_asciidoc" = x"auto"; then
1488549e21daSmrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
1489549e21daSmrg   if test "x$ASCIIDOC" = "x"; then
1490549e21daSmrg        AC_MSG_WARN([asciidoc not found - documentation targets will be skipped])
1491549e21daSmrg	have_asciidoc=no
1492549e21daSmrg   else
1493549e21daSmrg        have_asciidoc=yes
1494549e21daSmrg   fi
1495549e21daSmrgelif test "x$use_asciidoc" = x"yes" ; then
1496549e21daSmrg   AC_PATH_PROG([ASCIIDOC], [asciidoc])
1497549e21daSmrg   if test "x$ASCIIDOC" = "x"; then
1498549e21daSmrg        AC_MSG_ERROR([--with-asciidoc=yes specified but asciidoc not found in PATH])
1499549e21daSmrg   fi
1500549e21daSmrg   have_asciidoc=yes
1501549e21daSmrgelif test "x$use_asciidoc" = x"no" ; then
1502549e21daSmrg   if test "x$ASCIIDOC" != "x"; then
1503549e21daSmrg      AC_MSG_WARN([ignoring ASCIIDOC environment variable since --with-asciidoc=no was specified])
1504549e21daSmrg   fi
1505549e21daSmrg   have_asciidoc=no
1506ba6a1819Smrgelse
1507549e21daSmrg   AC_MSG_ERROR([--with-asciidoc expects 'yes' or 'no'])
1508ba6a1819Smrgfi
1509549e21daSmrgm4_ifval([$1],
1510549e21daSmrg[if test "$have_asciidoc" = yes; then
1511549e21daSmrg    # scrape the asciidoc version
1512549e21daSmrg    AC_MSG_CHECKING([the asciidoc version])
1513549e21daSmrg    asciidoc_version=`$ASCIIDOC --version 2>/dev/null | cut -d' ' -f2`
1514549e21daSmrg    AC_MSG_RESULT([$asciidoc_version])
1515549e21daSmrg    AS_VERSION_COMPARE([$asciidoc_version], [$1],
1516549e21daSmrg        [if test "x$use_asciidoc" = xauto; then
1517549e21daSmrg            AC_MSG_WARN([asciidoc version $asciidoc_version found, but $1 needed])
1518549e21daSmrg            have_asciidoc=no
1519549e21daSmrg        else
1520549e21daSmrg            AC_MSG_ERROR([asciidoc version $asciidoc_version found, but $1 needed])
1521549e21daSmrg        fi])
1522549e21daSmrgfi])
1523549e21daSmrgAM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
1524549e21daSmrg]) # XORG_WITH_ASCIIDOC
1525ba6a1819Smrg
1526549e21daSmrg# XORG_WITH_DOXYGEN([MIN-VERSION])
1527549e21daSmrg# --------------------------------
1528549e21daSmrg# Minimum version: 1.5.0
1529ba6a1819Smrg#
1530549e21daSmrg# Documentation tools are not always available on all platforms and sometimes
1531549e21daSmrg# not at the appropriate level. This macro enables a module to test for the
1532549e21daSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
1533549e21daSmrg# the --with-doxygen option, it allows maximum flexibilty in making decisions
1534549e21daSmrg# as whether or not to use the doxygen package.
1535549e21daSmrg#
1536549e21daSmrg# Interface to module:
1537549e21daSmrg# HAVE_DOXYGEN: used in makefiles to conditionally generate documentation
1538549e21daSmrg# DOXYGEN:	 returns the path of the doxygen program found
1539549e21daSmrg#		 returns the path set by the user in the environment
1540549e21daSmrg# --with-doxygen: 'yes' user instructs the module to use doxygen
1541549e21daSmrg#		  'no' user instructs the module not to use doxygen
1542549e21daSmrg#
1543549e21daSmrg# If the user sets the value of DOXYGEN, AC_PATH_PROG skips testing the path.
1544549e21daSmrg#
1545549e21daSmrgAC_DEFUN([XORG_WITH_DOXYGEN],[
1546549e21daSmrgAC_ARG_VAR([DOXYGEN], [Path to doxygen command])
1547549e21daSmrgAC_ARG_WITH(doxygen,
1548549e21daSmrg	AS_HELP_STRING([--with-doxygen],
1549549e21daSmrg	   [Use doxygen to regenerate documentation (default: yes, if installed)]),
1550549e21daSmrg	   [use_doxygen=$withval], [use_doxygen=auto])
1551549e21daSmrg
1552549e21daSmrgif test "x$use_doxygen" = x"auto"; then
1553549e21daSmrg   AC_PATH_PROG([DOXYGEN], [doxygen])
1554549e21daSmrg   if test "x$DOXYGEN" = "x"; then
1555549e21daSmrg        AC_MSG_WARN([doxygen not found - documentation targets will be skipped])
1556549e21daSmrg	have_doxygen=no
1557549e21daSmrg   else
1558549e21daSmrg        have_doxygen=yes
1559549e21daSmrg   fi
1560549e21daSmrgelif test "x$use_doxygen" = x"yes" ; then
1561549e21daSmrg   AC_PATH_PROG([DOXYGEN], [doxygen])
1562549e21daSmrg   if test "x$DOXYGEN" = "x"; then
1563549e21daSmrg        AC_MSG_ERROR([--with-doxygen=yes specified but doxygen not found in PATH])
1564549e21daSmrg   fi
1565549e21daSmrg   have_doxygen=yes
1566549e21daSmrgelif test "x$use_doxygen" = x"no" ; then
1567549e21daSmrg   if test "x$DOXYGEN" != "x"; then
1568549e21daSmrg      AC_MSG_WARN([ignoring DOXYGEN environment variable since --with-doxygen=no was specified])
1569549e21daSmrg   fi
1570549e21daSmrg   have_doxygen=no
1571549e21daSmrgelse
1572549e21daSmrg   AC_MSG_ERROR([--with-doxygen expects 'yes' or 'no'])
1573549e21daSmrgfi
1574549e21daSmrgm4_ifval([$1],
1575549e21daSmrg[if test "$have_doxygen" = yes; then
1576549e21daSmrg    # scrape the doxygen version
1577549e21daSmrg    AC_MSG_CHECKING([the doxygen version])
1578549e21daSmrg    doxygen_version=`$DOXYGEN --version 2>/dev/null`
1579549e21daSmrg    AC_MSG_RESULT([$doxygen_version])
1580549e21daSmrg    AS_VERSION_COMPARE([$doxygen_version], [$1],
1581549e21daSmrg        [if test "x$use_doxygen" = xauto; then
1582549e21daSmrg            AC_MSG_WARN([doxygen version $doxygen_version found, but $1 needed])
1583549e21daSmrg            have_doxygen=no
1584549e21daSmrg        else
1585549e21daSmrg            AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
1586549e21daSmrg        fi])
1587549e21daSmrgfi])
1588549e21daSmrgAM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
1589549e21daSmrg]) # XORG_WITH_DOXYGEN
1590ba6a1819Smrg
1591549e21daSmrg# XORG_WITH_GROFF
1592549e21daSmrg# ----------------
1593549e21daSmrg# Minimum version: 1.6.0
1594549e21daSmrg#
1595549e21daSmrg# Documentation tools are not always available on all platforms and sometimes
1596549e21daSmrg# not at the appropriate level. This macro enables a module to test for the
1597549e21daSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
1598549e21daSmrg# the --with-groff option, it allows maximum flexibilty in making decisions
1599549e21daSmrg# as whether or not to use the groff package.
1600549e21daSmrg#
1601549e21daSmrg# Interface to module:
1602549e21daSmrg# HAVE_GROFF:	 used in makefiles to conditionally generate documentation
1603549e21daSmrg# HAVE_GROFF_MM: the memorandum macros (-mm) package
1604549e21daSmrg# HAVE_GROFF_MS: the -ms macros package
1605549e21daSmrg# GROFF:	 returns the path of the groff program found
1606549e21daSmrg#		 returns the path set by the user in the environment
1607549e21daSmrg# --with-groff:	 'yes' user instructs the module to use groff
1608549e21daSmrg#		 'no' user instructs the module not to use groff
1609549e21daSmrg#
1610549e21daSmrg# Added in version 1.9.0:
1611549e21daSmrg# HAVE_GROFF_HTML: groff has dependencies to output HTML format:
1612549e21daSmrg#		   pnmcut pnmcrop pnmtopng pnmtops from the netpbm package.
1613549e21daSmrg#		   psselect from the psutils package.
1614549e21daSmrg#		   the ghostcript package. Refer to the grohtml man pages
1615549e21daSmrg#
1616549e21daSmrg# If the user sets the value of GROFF, AC_PATH_PROG skips testing the path.
1617549e21daSmrg#
1618549e21daSmrg# OS and distros often splits groff in a basic and full package, the former
1619549e21daSmrg# having the groff program and the later having devices, fonts and macros
1620549e21daSmrg# Checking for the groff executable is not enough.
1621549e21daSmrg#
1622549e21daSmrg# If macros are missing, we cannot assume that groff is useless, so we don't
1623549e21daSmrg# unset HAVE_GROFF or GROFF env variables.
1624549e21daSmrg# HAVE_GROFF_?? can never be true while HAVE_GROFF is false.
1625549e21daSmrg#
1626549e21daSmrgAC_DEFUN([XORG_WITH_GROFF],[
1627549e21daSmrgAC_ARG_VAR([GROFF], [Path to groff command])
1628549e21daSmrgAC_ARG_WITH(groff,
1629549e21daSmrg	AS_HELP_STRING([--with-groff],
1630549e21daSmrg	   [Use groff to regenerate documentation (default: yes, if installed)]),
1631549e21daSmrg	   [use_groff=$withval], [use_groff=auto])
1632549e21daSmrg
1633549e21daSmrgif test "x$use_groff" = x"auto"; then
1634549e21daSmrg   AC_PATH_PROG([GROFF], [groff])
1635549e21daSmrg   if test "x$GROFF" = "x"; then
1636549e21daSmrg        AC_MSG_WARN([groff not found - documentation targets will be skipped])
1637549e21daSmrg	have_groff=no
1638549e21daSmrg   else
1639549e21daSmrg        have_groff=yes
1640549e21daSmrg   fi
1641549e21daSmrgelif test "x$use_groff" = x"yes" ; then
1642549e21daSmrg   AC_PATH_PROG([GROFF], [groff])
1643549e21daSmrg   if test "x$GROFF" = "x"; then
1644549e21daSmrg        AC_MSG_ERROR([--with-groff=yes specified but groff not found in PATH])
1645549e21daSmrg   fi
1646549e21daSmrg   have_groff=yes
1647549e21daSmrgelif test "x$use_groff" = x"no" ; then
1648549e21daSmrg   if test "x$GROFF" != "x"; then
1649549e21daSmrg      AC_MSG_WARN([ignoring GROFF environment variable since --with-groff=no was specified])
1650549e21daSmrg   fi
1651549e21daSmrg   have_groff=no
1652549e21daSmrgelse
1653549e21daSmrg   AC_MSG_ERROR([--with-groff expects 'yes' or 'no'])
1654ba6a1819Smrgfi
1655549e21daSmrg
1656549e21daSmrg# We have groff, test for the presence of the macro packages
1657549e21daSmrgif test "x$have_groff" = x"yes"; then
1658549e21daSmrg    AC_MSG_CHECKING([for ${GROFF} -ms macros])
1659549e21daSmrg    if ${GROFF} -ms -I. /dev/null >/dev/null 2>&1 ; then
1660549e21daSmrg        groff_ms_works=yes
1661549e21daSmrg    else
1662549e21daSmrg        groff_ms_works=no
1663549e21daSmrg    fi
1664549e21daSmrg    AC_MSG_RESULT([$groff_ms_works])
1665549e21daSmrg    AC_MSG_CHECKING([for ${GROFF} -mm macros])
1666549e21daSmrg    if ${GROFF} -mm -I. /dev/null >/dev/null 2>&1 ; then
1667549e21daSmrg        groff_mm_works=yes
1668549e21daSmrg    else
1669549e21daSmrg        groff_mm_works=no
1670549e21daSmrg    fi
1671549e21daSmrg    AC_MSG_RESULT([$groff_mm_works])
1672ba6a1819Smrgfi
1673ba6a1819Smrg
1674549e21daSmrg# We have groff, test for HTML dependencies, one command per package
1675549e21daSmrgif test "x$have_groff" = x"yes"; then
1676549e21daSmrg   AC_PATH_PROGS(GS_PATH, [gs gswin32c])
1677549e21daSmrg   AC_PATH_PROG(PNMTOPNG_PATH, [pnmtopng])
1678549e21daSmrg   AC_PATH_PROG(PSSELECT_PATH, [psselect])
1679549e21daSmrg   if test "x$GS_PATH" != "x" -a "x$PNMTOPNG_PATH" != "x" -a "x$PSSELECT_PATH" != "x"; then
1680549e21daSmrg      have_groff_html=yes
1681549e21daSmrg   else
1682549e21daSmrg      have_groff_html=no
1683549e21daSmrg      AC_MSG_WARN([grohtml dependencies not found - HTML Documentation skipped. Refer to grohtml man pages])
1684549e21daSmrg   fi
1685ba6a1819Smrgfi
1686ba6a1819Smrg
1687549e21daSmrg# Set Automake conditionals for Makefiles
1688549e21daSmrgAM_CONDITIONAL([HAVE_GROFF], [test "$have_groff" = yes])
1689549e21daSmrgAM_CONDITIONAL([HAVE_GROFF_MS], [test "$groff_ms_works" = yes])
1690549e21daSmrgAM_CONDITIONAL([HAVE_GROFF_MM], [test "$groff_mm_works" = yes])
1691549e21daSmrgAM_CONDITIONAL([HAVE_GROFF_HTML], [test "$have_groff_html" = yes])
1692549e21daSmrg]) # XORG_WITH_GROFF
1693ba6a1819Smrg
1694549e21daSmrg# XORG_WITH_FOP
1695549e21daSmrg# ----------------
1696549e21daSmrg# Minimum version: 1.6.0
1697ba6a1819Smrg#
1698549e21daSmrg# Documentation tools are not always available on all platforms and sometimes
1699549e21daSmrg# not at the appropriate level. This macro enables a module to test for the
1700549e21daSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
1701549e21daSmrg# the --with-fop option, it allows maximum flexibilty in making decisions
1702549e21daSmrg# as whether or not to use the fop package.
1703549e21daSmrg#
1704549e21daSmrg# Interface to module:
1705549e21daSmrg# HAVE_FOP: 	used in makefiles to conditionally generate documentation
1706549e21daSmrg# FOP:	 	returns the path of the fop program found
1707549e21daSmrg#		returns the path set by the user in the environment
1708549e21daSmrg# --with-fop: 	'yes' user instructs the module to use fop
1709549e21daSmrg#		'no' user instructs the module not to use fop
1710549e21daSmrg#
1711549e21daSmrg# If the user sets the value of FOP, AC_PATH_PROG skips testing the path.
1712549e21daSmrg#
1713549e21daSmrgAC_DEFUN([XORG_WITH_FOP],[
1714549e21daSmrgAC_ARG_VAR([FOP], [Path to fop command])
1715549e21daSmrgAC_ARG_WITH(fop,
1716549e21daSmrg	AS_HELP_STRING([--with-fop],
1717549e21daSmrg	   [Use fop to regenerate documentation (default: yes, if installed)]),
1718549e21daSmrg	   [use_fop=$withval], [use_fop=auto])
1719549e21daSmrg
1720549e21daSmrgif test "x$use_fop" = x"auto"; then
1721549e21daSmrg   AC_PATH_PROG([FOP], [fop])
1722549e21daSmrg   if test "x$FOP" = "x"; then
1723549e21daSmrg        AC_MSG_WARN([fop not found - documentation targets will be skipped])
1724549e21daSmrg	have_fop=no
1725549e21daSmrg   else
1726549e21daSmrg        have_fop=yes
1727549e21daSmrg   fi
1728549e21daSmrgelif test "x$use_fop" = x"yes" ; then
1729549e21daSmrg   AC_PATH_PROG([FOP], [fop])
1730549e21daSmrg   if test "x$FOP" = "x"; then
1731549e21daSmrg        AC_MSG_ERROR([--with-fop=yes specified but fop not found in PATH])
1732549e21daSmrg   fi
1733549e21daSmrg   have_fop=yes
1734549e21daSmrgelif test "x$use_fop" = x"no" ; then
1735549e21daSmrg   if test "x$FOP" != "x"; then
1736549e21daSmrg      AC_MSG_WARN([ignoring FOP environment variable since --with-fop=no was specified])
1737549e21daSmrg   fi
1738549e21daSmrg   have_fop=no
1739ba6a1819Smrgelse
1740549e21daSmrg   AC_MSG_ERROR([--with-fop expects 'yes' or 'no'])
1741ba6a1819Smrgfi
1742549e21daSmrgAM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
1743549e21daSmrg]) # XORG_WITH_FOP
1744ba6a1819Smrg
1745549e21daSmrg# XORG_WITH_PS2PDF
1746549e21daSmrg# ----------------
1747549e21daSmrg# Minimum version: 1.6.0
1748549e21daSmrg#
1749549e21daSmrg# Documentation tools are not always available on all platforms and sometimes
1750549e21daSmrg# not at the appropriate level. This macro enables a module to test for the
1751549e21daSmrg# presence of the tool and obtain it's path in separate variables. Coupled with
1752549e21daSmrg# the --with-ps2pdf option, it allows maximum flexibilty in making decisions
1753549e21daSmrg# as whether or not to use the ps2pdf package.
1754549e21daSmrg#
1755549e21daSmrg# Interface to module:
1756549e21daSmrg# HAVE_PS2PDF: 	used in makefiles to conditionally generate documentation
1757549e21daSmrg# PS2PDF:	returns the path of the ps2pdf program found
1758549e21daSmrg#		returns the path set by the user in the environment
1759549e21daSmrg# --with-ps2pdf: 'yes' user instructs the module to use ps2pdf
1760549e21daSmrg#		 'no' user instructs the module not to use ps2pdf
1761549e21daSmrg#
1762549e21daSmrg# If the user sets the value of PS2PDF, AC_PATH_PROG skips testing the path.
1763549e21daSmrg#
1764549e21daSmrgAC_DEFUN([XORG_WITH_PS2PDF],[
1765549e21daSmrgAC_ARG_VAR([PS2PDF], [Path to ps2pdf command])
1766549e21daSmrgAC_ARG_WITH(ps2pdf,
1767549e21daSmrg	AS_HELP_STRING([--with-ps2pdf],
1768549e21daSmrg	   [Use ps2pdf to regenerate documentation (default: yes, if installed)]),
1769549e21daSmrg	   [use_ps2pdf=$withval], [use_ps2pdf=auto])
1770549e21daSmrg
1771549e21daSmrgif test "x$use_ps2pdf" = x"auto"; then
1772549e21daSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
1773549e21daSmrg   if test "x$PS2PDF" = "x"; then
1774549e21daSmrg        AC_MSG_WARN([ps2pdf not found - documentation targets will be skipped])
1775549e21daSmrg	have_ps2pdf=no
1776549e21daSmrg   else
1777549e21daSmrg        have_ps2pdf=yes
1778549e21daSmrg   fi
1779549e21daSmrgelif test "x$use_ps2pdf" = x"yes" ; then
1780549e21daSmrg   AC_PATH_PROG([PS2PDF], [ps2pdf])
1781549e21daSmrg   if test "x$PS2PDF" = "x"; then
1782549e21daSmrg        AC_MSG_ERROR([--with-ps2pdf=yes specified but ps2pdf not found in PATH])
1783549e21daSmrg   fi
1784549e21daSmrg   have_ps2pdf=yes
1785549e21daSmrgelif test "x$use_ps2pdf" = x"no" ; then
1786549e21daSmrg   if test "x$PS2PDF" != "x"; then
1787549e21daSmrg      AC_MSG_WARN([ignoring PS2PDF environment variable since --with-ps2pdf=no was specified])
1788549e21daSmrg   fi
1789549e21daSmrg   have_ps2pdf=no
1790ba6a1819Smrgelse
1791549e21daSmrg   AC_MSG_ERROR([--with-ps2pdf expects 'yes' or 'no'])
1792ba6a1819Smrgfi
1793549e21daSmrgAM_CONDITIONAL([HAVE_PS2PDF], [test "$have_ps2pdf" = yes])
1794549e21daSmrg]) # XORG_WITH_PS2PDF
1795ba6a1819Smrg
1796549e21daSmrg# XORG_ENABLE_DOCS (enable_docs=yes)
1797549e21daSmrg# ----------------
1798549e21daSmrg# Minimum version: 1.6.0
1799ba6a1819Smrg#
1800549e21daSmrg# Documentation tools are not always available on all platforms and sometimes
1801549e21daSmrg# not at the appropriate level. This macro enables a builder to skip all
1802549e21daSmrg# documentation targets except traditional man pages.
1803549e21daSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
1804549e21daSmrg# maximum flexibilty in controlling documentation building.
1805549e21daSmrg# Refer to:
1806549e21daSmrg# XORG_WITH_XMLTO         --with-xmlto
1807549e21daSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
1808549e21daSmrg# XORG_WITH_DOXYGEN       --with-doxygen
1809549e21daSmrg# XORG_WITH_FOP           --with-fop
1810549e21daSmrg# XORG_WITH_GROFF         --with-groff
1811549e21daSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
1812549e21daSmrg#
1813549e21daSmrg# Interface to module:
1814549e21daSmrg# ENABLE_DOCS: 	  used in makefiles to conditionally generate documentation
1815549e21daSmrg# --enable-docs: 'yes' user instructs the module to generate docs
1816549e21daSmrg#		 'no' user instructs the module not to generate docs
1817549e21daSmrg# parm1:	specify the default value, yes or no.
1818549e21daSmrg#
1819549e21daSmrgAC_DEFUN([XORG_ENABLE_DOCS],[
1820549e21daSmrgdefault=$1
1821549e21daSmrgif test "x$default" = x ; then
1822549e21daSmrg  default="yes"
1823ba6a1819Smrgfi
1824549e21daSmrgAC_ARG_ENABLE(docs,
1825549e21daSmrg	AS_HELP_STRING([--enable-docs],
1826549e21daSmrg	   [Enable building the documentation (default: yes)]),
1827549e21daSmrg	   [build_docs=$enableval], [build_docs=$default])
1828549e21daSmrgAM_CONDITIONAL(ENABLE_DOCS, [test x$build_docs = xyes])
1829549e21daSmrgAC_MSG_CHECKING([whether to build documentation])
1830549e21daSmrgAC_MSG_RESULT([$build_docs])
1831549e21daSmrg]) # XORG_ENABLE_DOCS
1832549e21daSmrg
1833549e21daSmrg# XORG_ENABLE_DEVEL_DOCS (enable_devel_docs=yes)
1834549e21daSmrg# ----------------
1835549e21daSmrg# Minimum version: 1.6.0
1836549e21daSmrg#
1837549e21daSmrg# This macro enables a builder to skip all developer documentation.
1838549e21daSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
1839549e21daSmrg# maximum flexibilty in controlling documentation building.
1840549e21daSmrg# Refer to:
1841549e21daSmrg# XORG_WITH_XMLTO         --with-xmlto
1842549e21daSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
1843549e21daSmrg# XORG_WITH_DOXYGEN       --with-doxygen
1844549e21daSmrg# XORG_WITH_FOP           --with-fop
1845549e21daSmrg# XORG_WITH_GROFF         --with-groff
1846549e21daSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
1847549e21daSmrg#
1848549e21daSmrg# Interface to module:
1849549e21daSmrg# ENABLE_DEVEL_DOCS:	used in makefiles to conditionally generate developer docs
1850549e21daSmrg# --enable-devel-docs:	'yes' user instructs the module to generate developer docs
1851549e21daSmrg#			'no' user instructs the module not to generate developer docs
1852549e21daSmrg# parm1:		specify the default value, yes or no.
1853549e21daSmrg#
1854549e21daSmrgAC_DEFUN([XORG_ENABLE_DEVEL_DOCS],[
1855549e21daSmrgdevel_default=$1
1856549e21daSmrgif test "x$devel_default" = x ; then
1857549e21daSmrg  devel_default="yes"
1858ba6a1819Smrgfi
1859549e21daSmrgAC_ARG_ENABLE(devel-docs,
1860549e21daSmrg	AS_HELP_STRING([--enable-devel-docs],
1861549e21daSmrg	   [Enable building the developer documentation (default: yes)]),
1862549e21daSmrg	   [build_devel_docs=$enableval], [build_devel_docs=$devel_default])
1863549e21daSmrgAM_CONDITIONAL(ENABLE_DEVEL_DOCS, [test x$build_devel_docs = xyes])
1864549e21daSmrgAC_MSG_CHECKING([whether to build developer documentation])
1865549e21daSmrgAC_MSG_RESULT([$build_devel_docs])
1866549e21daSmrg]) # XORG_ENABLE_DEVEL_DOCS
1867549e21daSmrg
1868549e21daSmrg# XORG_ENABLE_SPECS (enable_specs=yes)
1869549e21daSmrg# ----------------
1870549e21daSmrg# Minimum version: 1.6.0
1871549e21daSmrg#
1872549e21daSmrg# This macro enables a builder to skip all functional specification targets.
1873549e21daSmrg# Combined with the specific tool checking macros XORG_WITH_*, it provides
1874549e21daSmrg# maximum flexibilty in controlling documentation building.
1875549e21daSmrg# Refer to:
1876549e21daSmrg# XORG_WITH_XMLTO         --with-xmlto
1877549e21daSmrg# XORG_WITH_ASCIIDOC      --with-asciidoc
1878549e21daSmrg# XORG_WITH_DOXYGEN       --with-doxygen
1879549e21daSmrg# XORG_WITH_FOP           --with-fop
1880549e21daSmrg# XORG_WITH_GROFF         --with-groff
1881549e21daSmrg# XORG_WITH_PS2PDF        --with-ps2pdf
1882549e21daSmrg#
1883549e21daSmrg# Interface to module:
1884549e21daSmrg# ENABLE_SPECS:		used in makefiles to conditionally generate specs
1885549e21daSmrg# --enable-specs:	'yes' user instructs the module to generate specs
1886549e21daSmrg#			'no' user instructs the module not to generate specs
1887549e21daSmrg# parm1:		specify the default value, yes or no.
1888549e21daSmrg#
1889549e21daSmrgAC_DEFUN([XORG_ENABLE_SPECS],[
1890549e21daSmrgspec_default=$1
1891549e21daSmrgif test "x$spec_default" = x ; then
1892549e21daSmrg  spec_default="yes"
1893ba6a1819Smrgfi
1894549e21daSmrgAC_ARG_ENABLE(specs,
1895549e21daSmrg	AS_HELP_STRING([--enable-specs],
1896549e21daSmrg	   [Enable building the specs (default: yes)]),
1897549e21daSmrg	   [build_specs=$enableval], [build_specs=$spec_default])
1898549e21daSmrgAM_CONDITIONAL(ENABLE_SPECS, [test x$build_specs = xyes])
1899549e21daSmrgAC_MSG_CHECKING([whether to build functional specifications])
1900549e21daSmrgAC_MSG_RESULT([$build_specs])
1901549e21daSmrg]) # XORG_ENABLE_SPECS
1902ba6a1819Smrg
1903ba6a1819Smrg# XORG_CHECK_MALLOC_ZERO
1904ba6a1819Smrg# ----------------------
1905ba6a1819Smrg# Minimum version: 1.0.0
1906ba6a1819Smrg#
1907ba6a1819Smrg# Defines {MALLOC,XMALLOC,XTMALLOC}_ZERO_CFLAGS appropriately if
1908ba6a1819Smrg# malloc(0) returns NULL.  Packages should add one of these cflags to
1909ba6a1819Smrg# their AM_CFLAGS (or other appropriate *_CFLAGS) to use them.
1910ba6a1819SmrgAC_DEFUN([XORG_CHECK_MALLOC_ZERO],[
1911ba6a1819SmrgAC_ARG_ENABLE(malloc0returnsnull,
1912549e21daSmrg	AS_HELP_STRING([--enable-malloc0returnsnull],
1913ba6a1819Smrg		       [malloc(0) returns NULL (default: auto)]),
1914ba6a1819Smrg	[MALLOC_ZERO_RETURNS_NULL=$enableval],
1915ba6a1819Smrg	[MALLOC_ZERO_RETURNS_NULL=auto])
1916ba6a1819Smrg
1917ba6a1819SmrgAC_MSG_CHECKING([whether malloc(0) returns NULL])
1918ba6a1819Smrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
1919ba6a1819Smrg	AC_RUN_IFELSE([
1920ba6a1819Smrgchar *malloc();
1921ba6a1819Smrgchar *realloc();
1922ba6a1819Smrgchar *calloc();
1923ba6a1819Smrgmain() {
1924ba6a1819Smrg    char *m0, *r0, *c0, *p;
1925ba6a1819Smrg    m0 = malloc(0);
1926ba6a1819Smrg    p = malloc(10);
1927ba6a1819Smrg    r0 = realloc(p,0);
1928ba6a1819Smrg    c0 = calloc(0);
1929ba6a1819Smrg    exit(m0 == 0 || r0 == 0 || c0 == 0 ? 0 : 1);
1930ba6a1819Smrg}],
1931ba6a1819Smrg		[MALLOC_ZERO_RETURNS_NULL=yes],
1932549e21daSmrg		[MALLOC_ZERO_RETURNS_NULL=no],
1933549e21daSmrg		[MALLOC_ZERO_RETURNS_NULL=yes])
1934ba6a1819Smrgfi
1935ba6a1819SmrgAC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
1936ba6a1819Smrg
1937ba6a1819Smrgif test "x$MALLOC_ZERO_RETURNS_NULL" = xyes; then
1938ba6a1819Smrg	MALLOC_ZERO_CFLAGS="-DMALLOC_0_RETURNS_NULL"
1939ba6a1819Smrg	XMALLOC_ZERO_CFLAGS=$MALLOC_ZERO_CFLAGS
1940ba6a1819Smrg	XTMALLOC_ZERO_CFLAGS="$MALLOC_ZERO_CFLAGS -DXTMALLOC_BC"
1941ba6a1819Smrgelse
1942ba6a1819Smrg	MALLOC_ZERO_CFLAGS=""
1943ba6a1819Smrg	XMALLOC_ZERO_CFLAGS=""
1944ba6a1819Smrg	XTMALLOC_ZERO_CFLAGS=""
1945ba6a1819Smrgfi
1946ba6a1819Smrg
1947ba6a1819SmrgAC_SUBST([MALLOC_ZERO_CFLAGS])
1948ba6a1819SmrgAC_SUBST([XMALLOC_ZERO_CFLAGS])
1949ba6a1819SmrgAC_SUBST([XTMALLOC_ZERO_CFLAGS])
1950ba6a1819Smrg]) # XORG_CHECK_MALLOC_ZERO
1951ba6a1819Smrg
1952ba6a1819Smrg# XORG_WITH_LINT()
1953ba6a1819Smrg# ----------------
1954ba6a1819Smrg# Minimum version: 1.1.0
1955ba6a1819Smrg#
1956549e21daSmrg# This macro enables the use of a tool that flags some suspicious and
1957549e21daSmrg# non-portable constructs (likely to be bugs) in C language source code.
1958549e21daSmrg# It will attempt to locate the tool and use appropriate options.
1959549e21daSmrg# There are various lint type tools on different platforms.
1960549e21daSmrg#
1961549e21daSmrg# Interface to module:
1962549e21daSmrg# LINT:		returns the path to the tool found on the platform
1963549e21daSmrg#		or the value set to LINT on the configure cmd line
1964549e21daSmrg#		also an Automake conditional
1965549e21daSmrg# LINT_FLAGS:	an Automake variable with appropriate flags
1966549e21daSmrg#
1967549e21daSmrg# --with-lint:	'yes' user instructs the module to use lint
1968549e21daSmrg#		'no' user instructs the module not to use lint (default)
1969549e21daSmrg#
1970549e21daSmrg# If the user sets the value of LINT, AC_PATH_PROG skips testing the path.
1971549e21daSmrg# If the user sets the value of LINT_FLAGS, they are used verbatim.
1972ba6a1819Smrg#
1973ba6a1819SmrgAC_DEFUN([XORG_WITH_LINT],[
1974ba6a1819Smrg
1975549e21daSmrgAC_ARG_VAR([LINT], [Path to a lint-style command])
1976549e21daSmrgAC_ARG_VAR([LINT_FLAGS], [Flags for the lint-style command])
1977549e21daSmrgAC_ARG_WITH(lint, [AS_HELP_STRING([--with-lint],
1978ba6a1819Smrg		[Use a lint-style source code checker (default: disabled)])],
1979ba6a1819Smrg		[use_lint=$withval], [use_lint=no])
1980549e21daSmrg
1981549e21daSmrg# Obtain platform specific info like program name and options
1982549e21daSmrg# The lint program on FreeBSD and NetBSD is different from the one on Solaris
1983549e21daSmrgcase $host_os in
1984549e21daSmrg  *linux* | *openbsd* | kfreebsd*-gnu | darwin* | cygwin*)
1985549e21daSmrg	lint_name=splint
1986549e21daSmrg	lint_options="-badflag"
1987549e21daSmrg	;;
1988549e21daSmrg  *freebsd* | *netbsd*)
1989549e21daSmrg	lint_name=lint
1990549e21daSmrg	lint_options="-u -b"
1991549e21daSmrg	;;
1992549e21daSmrg  *solaris*)
1993549e21daSmrg	lint_name=lint
1994549e21daSmrg	lint_options="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
1995549e21daSmrg	;;
1996549e21daSmrgesac
1997549e21daSmrg
1998549e21daSmrg# Test for the presence of the program (either guessed by the code or spelled out by the user)
1999549e21daSmrgif test "x$use_lint" = x"yes" ; then
2000549e21daSmrg   AC_PATH_PROG([LINT], [$lint_name])
2001549e21daSmrg   if test "x$LINT" = "x"; then
2002549e21daSmrg        AC_MSG_ERROR([--with-lint=yes specified but lint-style tool not found in PATH])
2003549e21daSmrg   fi
2004549e21daSmrgelif test "x$use_lint" = x"no" ; then
2005549e21daSmrg   if test "x$LINT" != "x"; then
2006549e21daSmrg      AC_MSG_WARN([ignoring LINT environment variable since --with-lint=no was specified])
2007549e21daSmrg   fi
2008ba6a1819Smrgelse
2009549e21daSmrg   AC_MSG_ERROR([--with-lint expects 'yes' or 'no'. Use LINT variable to specify path.])
2010ba6a1819Smrgfi
2011549e21daSmrg
2012549e21daSmrg# User supplied flags override default flags
2013549e21daSmrgif test "x$LINT_FLAGS" != "x"; then
2014549e21daSmrg   lint_options=$LINT_FLAGS
2015ba6a1819Smrgfi
2016ba6a1819Smrg
2017549e21daSmrgAC_SUBST([LINT_FLAGS],[$lint_options])
2018549e21daSmrgAM_CONDITIONAL(LINT, [test "x$LINT" != x])
2019ba6a1819Smrg
2020ba6a1819Smrg]) # XORG_WITH_LINT
2021ba6a1819Smrg
2022ba6a1819Smrg# XORG_LINT_LIBRARY(LIBNAME)
2023ba6a1819Smrg# --------------------------
2024ba6a1819Smrg# Minimum version: 1.1.0
2025ba6a1819Smrg#
2026ba6a1819Smrg# Sets up flags for building lint libraries for checking programs that call
2027ba6a1819Smrg# functions in the library.
2028ba6a1819Smrg#
2029549e21daSmrg# Interface to module:
2030549e21daSmrg# LINTLIB		- Automake variable with the name of lint library file to make
2031549e21daSmrg# MAKE_LINT_LIB		- Automake conditional
2032549e21daSmrg#
2033549e21daSmrg# --enable-lint-library:  - 'yes' user instructs the module to created a lint library
2034549e21daSmrg#			  - 'no' user instructs the module not to create a lint library (default)
2035ba6a1819Smrg
2036ba6a1819SmrgAC_DEFUN([XORG_LINT_LIBRARY],[
2037ba6a1819SmrgAC_REQUIRE([XORG_WITH_LINT])
2038549e21daSmrgAC_ARG_ENABLE(lint-library, [AS_HELP_STRING([--enable-lint-library],
2039ba6a1819Smrg	[Create lint library (default: disabled)])],
2040ba6a1819Smrg	[make_lint_lib=$enableval], [make_lint_lib=no])
2041549e21daSmrg
2042549e21daSmrgif test "x$make_lint_lib" = x"yes" ; then
2043549e21daSmrg   LINTLIB=llib-l$1.ln
2044549e21daSmrg   if test "x$LINT" = "x"; then
2045549e21daSmrg        AC_MSG_ERROR([Cannot make lint library without --with-lint])
2046549e21daSmrg   fi
2047549e21daSmrgelif test "x$make_lint_lib" != x"no" ; then
2048549e21daSmrg   AC_MSG_ERROR([--enable-lint-library expects 'yes' or 'no'.])
2049ba6a1819Smrgfi
2050549e21daSmrg
2051ba6a1819SmrgAC_SUBST(LINTLIB)
2052ba6a1819SmrgAM_CONDITIONAL(MAKE_LINT_LIB, [test x$make_lint_lib != xno])
2053ba6a1819Smrg
2054ba6a1819Smrg]) # XORG_LINT_LIBRARY
2055ba6a1819Smrg
20562d8abe4fSmrg# XORG_CWARNFLAGS
20572d8abe4fSmrg# ---------------
20582d8abe4fSmrg# Minimum version: 1.2.0
20592d8abe4fSmrg#
20602d8abe4fSmrg# Defines CWARNFLAGS to enable C compiler warnings.
20612d8abe4fSmrg#
20622d8abe4fSmrgAC_DEFUN([XORG_CWARNFLAGS], [
2063549e21daSmrgAC_REQUIRE([AC_PROG_CC_C99])
20642d8abe4fSmrgif  test "x$GCC" = xyes ; then
20652d8abe4fSmrg    CWARNFLAGS="-Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \
20662d8abe4fSmrg-Wmissing-declarations -Wnested-externs -fno-strict-aliasing \
2067549e21daSmrg-Wbad-function-cast -Wformat=2"
20682d8abe4fSmrg    case `$CC -dumpversion` in
20692d8abe4fSmrg    3.4.* | 4.*)
20702d8abe4fSmrg	CWARNFLAGS="$CWARNFLAGS -Wold-style-definition -Wdeclaration-after-statement"
20712d8abe4fSmrg	;;
20722d8abe4fSmrg    esac
20732d8abe4fSmrgelse
20742d8abe4fSmrg    AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
20752d8abe4fSmrg    if test "x$SUNCC" = "xyes"; then
20762d8abe4fSmrg	CWARNFLAGS="-v"
20772d8abe4fSmrg    fi
20782d8abe4fSmrgfi
20792d8abe4fSmrgAC_SUBST(CWARNFLAGS)
20802d8abe4fSmrg]) # XORG_CWARNFLAGS
2081549e21daSmrg
2082549e21daSmrg# XORG_STRICT_OPTION
2083549e21daSmrg# -----------------------
2084549e21daSmrg# Minimum version: 1.3.0
2085549e21daSmrg#
2086549e21daSmrg# Add configure option to enable strict compilation
2087549e21daSmrgAC_DEFUN([XORG_STRICT_OPTION], [
2088549e21daSmrg# If the module's configure.ac calls AC_PROG_CC later on, CC gets set to C89
2089549e21daSmrgAC_REQUIRE([AC_PROG_CC_C99])
2090549e21daSmrgAC_REQUIRE([XORG_CWARNFLAGS])
2091549e21daSmrg
2092549e21daSmrgAC_ARG_ENABLE(strict-compilation,
2093549e21daSmrg			  AS_HELP_STRING([--enable-strict-compilation],
2094549e21daSmrg			  [Enable all warnings from compiler and make them errors (default: disabled)]),
2095549e21daSmrg			  [STRICT_COMPILE=$enableval], [STRICT_COMPILE=no])
2096549e21daSmrgif test "x$STRICT_COMPILE" = "xyes"; then
2097549e21daSmrg	AC_CHECK_DECL([__SUNPRO_C], [SUNCC="yes"], [SUNCC="no"])
2098549e21daSmrg	AC_CHECK_DECL([__INTEL_COMPILER], [INTELCC="yes"], [INTELCC="no"])
2099549e21daSmrg	if test "x$GCC" = xyes ; then
2100549e21daSmrg		STRICT_CFLAGS="-pedantic -Werror"
2101549e21daSmrg	elif test "x$SUNCC" = "xyes"; then
2102549e21daSmrg		STRICT_CFLAGS="-errwarn"
2103549e21daSmrg    elif test "x$INTELCC" = "xyes"; then
2104549e21daSmrg		STRICT_CFLAGS="-Werror"
2105549e21daSmrg	fi
2106549e21daSmrgfi
2107549e21daSmrgCWARNFLAGS="$CWARNFLAGS $STRICT_CFLAGS"
2108549e21daSmrgAC_SUBST([CWARNFLAGS])
2109549e21daSmrg]) # XORG_STRICT_OPTION
2110549e21daSmrg
2111549e21daSmrg# XORG_DEFAULT_OPTIONS
2112549e21daSmrg# --------------------
2113549e21daSmrg# Minimum version: 1.3.0
2114549e21daSmrg#
2115549e21daSmrg# Defines default options for X.Org modules.
2116549e21daSmrg#
2117549e21daSmrgAC_DEFUN([XORG_DEFAULT_OPTIONS], [
2118549e21daSmrgAC_REQUIRE([AC_PROG_INSTALL])
2119549e21daSmrgXORG_CWARNFLAGS
2120549e21daSmrgXORG_STRICT_OPTION
2121549e21daSmrgXORG_RELEASE_VERSION
2122549e21daSmrgXORG_CHANGELOG
2123549e21daSmrgXORG_INSTALL
2124549e21daSmrgXORG_MANPAGE_SECTIONS
2125549e21daSmrgm4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
2126549e21daSmrg    [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
2127549e21daSmrg]) # XORG_DEFAULT_OPTIONS
2128549e21daSmrg
2129549e21daSmrg# XORG_INSTALL()
2130549e21daSmrg# ----------------
2131549e21daSmrg# Minimum version: 1.4.0
2132549e21daSmrg#
2133549e21daSmrg# Defines the variable INSTALL_CMD as the command to copy
2134549e21daSmrg# INSTALL from $prefix/share/util-macros.
2135549e21daSmrg#
2136549e21daSmrgAC_DEFUN([XORG_INSTALL], [
2137549e21daSmrgAC_REQUIRE([PKG_PROG_PKG_CONFIG])
2138549e21daSmrgmacros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
2139549e21daSmrgINSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
2140549e21daSmrgmv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
2141549e21daSmrg|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
2142549e21daSmrgecho 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)"
2143549e21daSmrgAC_SUBST([INSTALL_CMD])
2144549e21daSmrg]) # XORG_INSTALL
2145ba6a1819Smrgdnl Copyright 2005 Red Hat, Inc
2146ba6a1819Smrgdnl
2147ba6a1819Smrgdnl Permission to use, copy, modify, distribute, and sell this software and its
2148ba6a1819Smrgdnl documentation for any purpose is hereby granted without fee, provided that
2149ba6a1819Smrgdnl the above copyright notice appear in all copies and that both that
2150ba6a1819Smrgdnl copyright notice and this permission notice appear in supporting
2151ba6a1819Smrgdnl documentation.
2152ba6a1819Smrgdnl
2153ba6a1819Smrgdnl The above copyright notice and this permission notice shall be included
2154ba6a1819Smrgdnl in all copies or substantial portions of the Software.
2155ba6a1819Smrgdnl
2156ba6a1819Smrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
2157ba6a1819Smrgdnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
2158ba6a1819Smrgdnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
2159ba6a1819Smrgdnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
2160ba6a1819Smrgdnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
2161ba6a1819Smrgdnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
2162ba6a1819Smrgdnl OTHER DEALINGS IN THE SOFTWARE.
2163ba6a1819Smrgdnl
2164ba6a1819Smrgdnl Except as contained in this notice, the name of the copyright holders shall
2165ba6a1819Smrgdnl not be used in advertising or otherwise to promote the sale, use or
2166ba6a1819Smrgdnl other dealings in this Software without prior written authorization
2167ba6a1819Smrgdnl from the copyright holders.
2168ba6a1819Smrgdnl
2169ba6a1819Smrg
2170ba6a1819Smrg# XORG_RELEASE_VERSION
2171ba6a1819Smrg# --------------------
2172549e21daSmrg# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
2173ba6a1819Smrg 
2174ba6a1819SmrgAC_DEFUN([XORG_RELEASE_VERSION],[
2175ba6a1819Smrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
2176ba6a1819Smrg		[`echo $PACKAGE_VERSION | cut -d . -f 1`],
2177ba6a1819Smrg		[Major version of this package])
2178ba6a1819Smrg	PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
2179ba6a1819Smrg	if test "x$PVM" = "x"; then
2180ba6a1819Smrg		PVM="0"
2181ba6a1819Smrg	fi
2182ba6a1819Smrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
2183ba6a1819Smrg		[$PVM],
2184ba6a1819Smrg		[Minor version of this package])
2185ba6a1819Smrg	PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
2186ba6a1819Smrg	if test "x$PVP" = "x"; then
2187ba6a1819Smrg		PVP="0"
2188ba6a1819Smrg	fi
2189ba6a1819Smrg	AC_DEFINE_UNQUOTED([PACKAGE_VERSION_PATCHLEVEL],
2190ba6a1819Smrg		[$PVP],
2191ba6a1819Smrg		[Patch version of this package])
2192ba6a1819Smrg])
2193ba6a1819Smrg
21942d8abe4fSmrg# XORG_CHANGELOG()
21952d8abe4fSmrg# ----------------
21962d8abe4fSmrg# Minimum version: 1.2.0
21972d8abe4fSmrg#
21982d8abe4fSmrg# Defines the variable CHANGELOG_CMD as the command to generate
21992d8abe4fSmrg# ChangeLog from git.
22002d8abe4fSmrg#
22012d8abe4fSmrg#
22022d8abe4fSmrgAC_DEFUN([XORG_CHANGELOG], [
2203549e21daSmrgCHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \
2204549e21daSmrgmv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
2205549e21daSmrg|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \
22062d8abe4fSmrgecho 'git directory not found: installing possibly empty changelog.' >&2)"
22072d8abe4fSmrgAC_SUBST([CHANGELOG_CMD])
22082d8abe4fSmrg]) # XORG_CHANGELOG
22092d8abe4fSmrg
2210ba6a1819Smrgdnl $XdotOrg: lib/xtrans/xtrans.m4,v 1.6 2005/07/26 18:59:11 alanc Exp $
2211ba6a1819Smrgdnl
2212ba6a1819Smrgdnl Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
2213549e21daSmrgdnl
2214549e21daSmrgdnl Permission is hereby granted, free of charge, to any person obtaining a
2215549e21daSmrgdnl copy of this software and associated documentation files (the "Software"),
2216549e21daSmrgdnl to deal in the Software without restriction, including without limitation
2217549e21daSmrgdnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
2218549e21daSmrgdnl and/or sell copies of the Software, and to permit persons to whom the
2219549e21daSmrgdnl Software is furnished to do so, subject to the following conditions:
2220549e21daSmrgdnl
2221549e21daSmrgdnl The above copyright notice and this permission notice (including the next
2222549e21daSmrgdnl paragraph) shall be included in all copies or substantial portions of the
2223549e21daSmrgdnl Software.
2224549e21daSmrgdnl
2225549e21daSmrgdnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2226549e21daSmrgdnl IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2227549e21daSmrgdnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
2228549e21daSmrgdnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2229549e21daSmrgdnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2230549e21daSmrgdnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2231549e21daSmrgdnl DEALINGS IN THE SOFTWARE.
2232ba6a1819Smrgdnl 
2233ba6a1819Smrg
2234ba6a1819Smrg# XTRANS_TCP_FLAGS()
2235ba6a1819Smrg# ------------------
2236ba6a1819Smrg# Find needed libraries for TCP sockets, and check for IPv6 support
2237ba6a1819SmrgAC_DEFUN([XTRANS_TCP_FLAGS],[
2238ba6a1819Smrg # SVR4 hides these in libraries other than libc
2239ba6a1819Smrg AC_SEARCH_LIBS(socket, [socket])
2240ba6a1819Smrg AC_SEARCH_LIBS(gethostbyname, [nsl])
2241549e21daSmrg if test "$ac_cv_search_socket$ac_cv_search_gethostbyname" = "nono"; then
2242549e21daSmrg   AC_HAVE_LIBRARY([ws2_32])
2243549e21daSmrg fi
2244ba6a1819Smrg
2245ba6a1819Smrg # Needs to come after above checks for libsocket & libnsl for SVR4 systems
2246ba6a1819Smrg AC_ARG_ENABLE(ipv6, 
22472d8abe4fSmrg	AC_HELP_STRING([--enable-ipv6],[Enable IPv6 support]),
2248ba6a1819Smrg	[IPV6CONN=$enableval], 
2249ba6a1819Smrg	[AC_CHECK_FUNC(getaddrinfo,[IPV6CONN=yes],[IPV6CONN=no])])
2250ba6a1819Smrg AC_MSG_CHECKING([if IPv6 support should be built])
2251ba6a1819Smrg if test "$IPV6CONN" = "yes"; then
2252ba6a1819Smrg	AC_DEFINE(IPv6,1,[Support IPv6 for TCP connections])
2253ba6a1819Smrg fi
2254ba6a1819Smrg AC_MSG_RESULT($IPV6CONN)
2255ba6a1819Smrg
2256ba6a1819Smrg # 4.3BSD-Reno added a new member to struct sockaddr_in
2257ba6a1819Smrg AC_CHECK_MEMBER([struct sockaddr_in.sin_len], 
2258ba6a1819Smrg	AC_DEFINE([BSD44SOCKETS],1,
2259ba6a1819Smrg 	    [Define to 1 if `struct sockaddr_in' has a `sin_len' member]), [], [
2260ba6a1819Smrg#include <sys/types.h>
2261ba6a1819Smrg#include <sys/socket.h>
2262ba6a1819Smrg#include <netinet/in.h>
2263ba6a1819Smrg ])
2264ba6a1819Smrg
2265ba6a1819Smrg # POSIX.1g changed the type of pointer passed to getsockname/getpeername/etc.
2266ba6a1819Smrg AC_CHECK_TYPES([socklen_t], [], [], [
2267ba6a1819SmrgAC_INCLUDES_DEFAULT
2268ba6a1819Smrg#include <sys/socket.h>])
2269ba6a1819Smrg 
2270ba6a1819Smrg]) # XTRANS_TCP_FLAGS
2271ba6a1819Smrg
2272ba6a1819Smrg# XTRANS_CONNECTION_FLAGS()
2273ba6a1819Smrg# -------------------------
2274ba6a1819Smrg# Standard checks for which Xtrans transports to use by the Xorg packages
2275ba6a1819Smrg# that use Xtrans functions
2276ba6a1819SmrgAC_DEFUN([XTRANS_CONNECTION_FLAGS],[
2277ba6a1819Smrg AC_REQUIRE([AC_CANONICAL_HOST])
2278ba6a1819Smrg AC_REQUIRE([AC_TYPE_SIGNAL])
2279ba6a1819Smrg [case $host_os in
2280ba6a1819Smrg	mingw*)	unixdef="no"   ;;
2281ba6a1819Smrg	*)	unixdef="yes"  ;;
2282ba6a1819Smrg esac]
2283ba6a1819Smrg AC_ARG_ENABLE(unix-transport,
2284ba6a1819Smrg	AC_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]),
2285ba6a1819Smrg	[UNIXCONN=$enableval], [UNIXCONN=$unixdef])
2286ba6a1819Smrg AC_MSG_CHECKING([if Xtrans should support UNIX socket connections])
2287ba6a1819Smrg if test "$UNIXCONN" = "yes"; then
2288ba6a1819Smrg	AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections])
2289ba6a1819Smrg fi
2290ba6a1819Smrg AC_MSG_RESULT($UNIXCONN)
2291ba6a1819Smrg AC_ARG_ENABLE(tcp-transport, 
2292ba6a1819Smrg	AC_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]),
2293ba6a1819Smrg	[TCPCONN=$enableval], [TCPCONN=yes])
2294ba6a1819Smrg AC_MSG_CHECKING([if Xtrans should support TCP socket connections])
2295ba6a1819Smrg AC_MSG_RESULT($TCPCONN)
2296ba6a1819Smrg if test "$TCPCONN" = "yes"; then
2297ba6a1819Smrg	AC_DEFINE(TCPCONN,1,[Support TCP socket connections])
2298ba6a1819Smrg	XTRANS_TCP_FLAGS
2299ba6a1819Smrg fi
2300ba6a1819Smrg [case $host_os in
2301ba6a1819Smrg	solaris*|sco*|sysv4*)	localdef="yes" ;;
2302ba6a1819Smrg	*)			localdef="no"  ;;
2303ba6a1819Smrg esac]
2304ba6a1819Smrg AC_ARG_ENABLE(local-transport,
2305ba6a1819Smrg	AC_HELP_STRING([--enable-local-transport],[Enable os-specific local transport]),
2306ba6a1819Smrg	[LOCALCONN=$enableval], [LOCALCONN=$localdef])
2307ba6a1819Smrg AC_MSG_CHECKING([if Xtrans should support os-specific local connections])
2308ba6a1819Smrg AC_MSG_RESULT($LOCALCONN)
2309ba6a1819Smrg if test "$LOCALCONN" = "yes"; then
2310ba6a1819Smrg	AC_DEFINE(LOCALCONN,1,[Support os-specific local connections])
2311ba6a1819Smrg fi
2312ba6a1819Smrg 
2313ba6a1819Smrg]) # XTRANS_CONNECTION_FLAGS
2314ba6a1819Smrg
2315ba6a1819Smrg
2316ba6a1819Smrg# XTRANS_SECURE_RPC_FLAGS()
2317ba6a1819Smrg# -------------------------
2318ba6a1819Smrg# Check for Secure RPC functions - must come after XTRANS_TCP_FLAGS
2319ba6a1819Smrg# so that any necessary networking libraries are already found
2320ba6a1819SmrgAC_DEFUN([XTRANS_SECURE_RPC_FLAGS],
2321ba6a1819Smrg[AC_REQUIRE([XTRANS_TCP_FLAGS])
2322ba6a1819Smrg AC_ARG_ENABLE(secure-rpc, 
2323ba6a1819Smrg	AC_HELP_STRING([--enable-secure-rpc],[Enable Secure RPC]),
2324ba6a1819Smrg        [SECURE_RPC=$enableval], [SECURE_RPC="try"])
2325ba6a1819Smrg
2326ba6a1819Smrg if test "x$SECURE_RPC" = "xyes" -o "x$SECURE_RPC" = "xtry" ; then
2327ba6a1819Smrg	FOUND_SECURE_RPC="no"
2328ba6a1819Smrg	AC_CHECK_FUNCS([authdes_seccreate authdes_create],
2329ba6a1819Smrg			[FOUND_SECURE_RPC="yes"])
2330ba6a1819Smrg	if test "x$FOUND_SECURE_RPC" = "xno" ; then
2331ba6a1819Smrg		if test "x$SECURE_RPC" = "xyes" ; then
2332ba6a1819Smrg	AC_MSG_ERROR([Secure RPC requested, but required functions not found])
2333ba6a1819Smrg		fi	
2334ba6a1819Smrg		SECURE_RPC="no"
2335ba6a1819Smrg	else
2336ba6a1819Smrg		dnl FreeBSD keeps getsecretkey in librpcsvc
2337ba6a1819Smrg		AC_SEARCH_LIBS(getsecretkey, [rpcsvc])
2338ba6a1819Smrg		SECURE_RPC="yes"
2339ba6a1819Smrg	fi
2340ba6a1819Smrg fi
2341ba6a1819Smrg AC_MSG_CHECKING([if Secure RPC authentication ("SUN-DES-1") should be supported])
2342ba6a1819Smrg if test "x$SECURE_RPC" = "xyes" ; then
2343ba6a1819Smrg	AC_DEFINE(SECURE_RPC, 1, [Support Secure RPC ("SUN-DES-1") authentication for X11 clients])
2344ba6a1819Smrg fi
2345ba6a1819Smrg AC_MSG_RESULT($SECURE_RPC)
2346ba6a1819Smrg]) # XTRANS_SECURE_RPC_FLAGS
2347ba6a1819Smrg
2348ba6a1819Smrg
2349549e21daSmrg# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
2350549e21daSmrg# 
2351549e21daSmrg# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
2352549e21daSmrg#
2353549e21daSmrg# This program is free software; you can redistribute it and/or modify
2354549e21daSmrg# it under the terms of the GNU General Public License as published by
2355549e21daSmrg# the Free Software Foundation; either version 2 of the License, or
2356549e21daSmrg# (at your option) any later version.
2357549e21daSmrg#
2358549e21daSmrg# This program is distributed in the hope that it will be useful, but
2359549e21daSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
2360549e21daSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
2361549e21daSmrg# General Public License for more details.
2362549e21daSmrg#
2363549e21daSmrg# You should have received a copy of the GNU General Public License
2364549e21daSmrg# along with this program; if not, write to the Free Software
2365549e21daSmrg# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2366549e21daSmrg#
2367549e21daSmrg# As a special exception to the GNU General Public License, if you
2368549e21daSmrg# distribute this file as part of a program that contains a
2369549e21daSmrg# configuration script generated by Autoconf, you may include it under
2370549e21daSmrg# the same distribution terms that you use for the rest of that program.
2371549e21daSmrg
2372549e21daSmrg# PKG_PROG_PKG_CONFIG([MIN-VERSION])
2373549e21daSmrg# ----------------------------------
2374549e21daSmrgAC_DEFUN([PKG_PROG_PKG_CONFIG],
2375549e21daSmrg[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
2376549e21daSmrgm4_pattern_allow([^PKG_CONFIG(_PATH)?$])
2377549e21daSmrgAC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
2378549e21daSmrgif test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
2379549e21daSmrg	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
2380549e21daSmrgfi
2381549e21daSmrgif test -n "$PKG_CONFIG"; then
2382549e21daSmrg	_pkg_min_version=m4_default([$1], [0.9.0])
2383549e21daSmrg	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
2384549e21daSmrg	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
2385549e21daSmrg		AC_MSG_RESULT([yes])
2386549e21daSmrg	else
2387549e21daSmrg		AC_MSG_RESULT([no])
2388549e21daSmrg		PKG_CONFIG=""
2389549e21daSmrg	fi
2390549e21daSmrg		
2391549e21daSmrgfi[]dnl
2392549e21daSmrg])# PKG_PROG_PKG_CONFIG
2393549e21daSmrg
2394549e21daSmrg# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
2395549e21daSmrg#
2396549e21daSmrg# Check to see whether a particular set of modules exists.  Similar
2397549e21daSmrg# to PKG_CHECK_MODULES(), but does not set variables or print errors.
2398549e21daSmrg#
2399549e21daSmrg#
2400549e21daSmrg# Similar to PKG_CHECK_MODULES, make sure that the first instance of
2401549e21daSmrg# this or PKG_CHECK_MODULES is called, or make sure to call
2402549e21daSmrg# PKG_CHECK_EXISTS manually
2403549e21daSmrg# --------------------------------------------------------------
2404549e21daSmrgAC_DEFUN([PKG_CHECK_EXISTS],
2405549e21daSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
2406549e21daSmrgif test -n "$PKG_CONFIG" && \
2407549e21daSmrg    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
2408549e21daSmrg  m4_ifval([$2], [$2], [:])
2409549e21daSmrgm4_ifvaln([$3], [else
2410549e21daSmrg  $3])dnl
2411549e21daSmrgfi])
2412549e21daSmrg
2413549e21daSmrg
2414549e21daSmrg# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
2415549e21daSmrg# ---------------------------------------------
2416549e21daSmrgm4_define([_PKG_CONFIG],
2417549e21daSmrg[if test -n "$$1"; then
2418549e21daSmrg    pkg_cv_[]$1="$$1"
2419549e21daSmrg elif test -n "$PKG_CONFIG"; then
2420549e21daSmrg    PKG_CHECK_EXISTS([$3],
2421549e21daSmrg                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
2422549e21daSmrg		     [pkg_failed=yes])
2423549e21daSmrg else
2424549e21daSmrg    pkg_failed=untried
2425549e21daSmrgfi[]dnl
2426549e21daSmrg])# _PKG_CONFIG
2427549e21daSmrg
2428549e21daSmrg# _PKG_SHORT_ERRORS_SUPPORTED
2429549e21daSmrg# -----------------------------
2430549e21daSmrgAC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
2431549e21daSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
2432549e21daSmrgif $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
2433549e21daSmrg        _pkg_short_errors_supported=yes
2434549e21daSmrgelse
2435549e21daSmrg        _pkg_short_errors_supported=no
2436549e21daSmrgfi[]dnl
2437549e21daSmrg])# _PKG_SHORT_ERRORS_SUPPORTED
2438549e21daSmrg
2439549e21daSmrg
2440549e21daSmrg# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
2441549e21daSmrg# [ACTION-IF-NOT-FOUND])
2442549e21daSmrg#
2443549e21daSmrg#
2444549e21daSmrg# Note that if there is a possibility the first call to
2445549e21daSmrg# PKG_CHECK_MODULES might not happen, you should be sure to include an
2446549e21daSmrg# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
2447549e21daSmrg#
2448549e21daSmrg#
2449549e21daSmrg# --------------------------------------------------------------
2450549e21daSmrgAC_DEFUN([PKG_CHECK_MODULES],
2451549e21daSmrg[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
2452549e21daSmrgAC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
2453549e21daSmrgAC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
2454549e21daSmrg
2455549e21daSmrgpkg_failed=no
2456549e21daSmrgAC_MSG_CHECKING([for $1])
2457549e21daSmrg
2458549e21daSmrg_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
2459549e21daSmrg_PKG_CONFIG([$1][_LIBS], [libs], [$2])
2460549e21daSmrg
2461549e21daSmrgm4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
2462549e21daSmrgand $1[]_LIBS to avoid the need to call pkg-config.
2463549e21daSmrgSee the pkg-config man page for more details.])
2464549e21daSmrg
2465549e21daSmrgif test $pkg_failed = yes; then
2466549e21daSmrg        _PKG_SHORT_ERRORS_SUPPORTED
2467549e21daSmrg        if test $_pkg_short_errors_supported = yes; then
2468549e21daSmrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
2469549e21daSmrg        else 
2470549e21daSmrg	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
2471549e21daSmrg        fi
2472549e21daSmrg	# Put the nasty error message in config.log where it belongs
2473549e21daSmrg	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
2474549e21daSmrg
2475549e21daSmrg	ifelse([$4], , [AC_MSG_ERROR(dnl
2476549e21daSmrg[Package requirements ($2) were not met:
2477549e21daSmrg
2478549e21daSmrg$$1_PKG_ERRORS
2479549e21daSmrg
2480549e21daSmrgConsider adjusting the PKG_CONFIG_PATH environment variable if you
2481549e21daSmrginstalled software in a non-standard prefix.
2482549e21daSmrg
2483549e21daSmrg_PKG_TEXT
2484549e21daSmrg])],
2485549e21daSmrg		[AC_MSG_RESULT([no])
2486549e21daSmrg                $4])
2487549e21daSmrgelif test $pkg_failed = untried; then
2488549e21daSmrg	ifelse([$4], , [AC_MSG_FAILURE(dnl
2489549e21daSmrg[The pkg-config script could not be found or is too old.  Make sure it
2490549e21daSmrgis in your PATH or set the PKG_CONFIG environment variable to the full
2491549e21daSmrgpath to pkg-config.
2492549e21daSmrg
2493549e21daSmrg_PKG_TEXT
2494549e21daSmrg
2495549e21daSmrgTo get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
2496549e21daSmrg		[$4])
2497549e21daSmrgelse
2498549e21daSmrg	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
2499549e21daSmrg	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
2500549e21daSmrg        AC_MSG_RESULT([yes])
2501549e21daSmrg	ifelse([$3], , :, [$3])
2502549e21daSmrgfi[]dnl
2503549e21daSmrg])# PKG_CHECK_MODULES
2504549e21daSmrg
2505549e21daSmrg# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
2506549e21daSmrg#
2507549e21daSmrg#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
2508549e21daSmrg#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
2509549e21daSmrg#                 Inc.
2510549e21daSmrg#   Written by Gordon Matzigkeit, 1996
2511549e21daSmrg#
2512549e21daSmrg# This file is free software; the Free Software Foundation gives
2513549e21daSmrg# unlimited permission to copy and/or distribute it, with or without
2514549e21daSmrg# modifications, as long as this notice is preserved.
2515549e21daSmrg
2516549e21daSmrgm4_define([_LT_COPYING], [dnl
2517549e21daSmrg#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
2518549e21daSmrg#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
2519549e21daSmrg#                 Inc.
2520549e21daSmrg#   Written by Gordon Matzigkeit, 1996
2521549e21daSmrg#
2522549e21daSmrg#   This file is part of GNU Libtool.
2523549e21daSmrg#
2524549e21daSmrg# GNU Libtool is free software; you can redistribute it and/or
2525549e21daSmrg# modify it under the terms of the GNU General Public License as
2526549e21daSmrg# published by the Free Software Foundation; either version 2 of
2527549e21daSmrg# the License, or (at your option) any later version.
2528549e21daSmrg#
2529549e21daSmrg# As a special exception to the GNU General Public License,
2530549e21daSmrg# if you distribute this file as part of a program or library that
2531549e21daSmrg# is built using GNU Libtool, you may include this file under the
2532549e21daSmrg# same distribution terms that you use for the rest of that program.
2533549e21daSmrg#
2534549e21daSmrg# GNU Libtool is distributed in the hope that it will be useful,
2535549e21daSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2536549e21daSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2537549e21daSmrg# GNU General Public License for more details.
2538549e21daSmrg#
2539549e21daSmrg# You should have received a copy of the GNU General Public License
2540549e21daSmrg# along with GNU Libtool; see the file COPYING.  If not, a copy
2541549e21daSmrg# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
2542549e21daSmrg# obtained by writing to the Free Software Foundation, Inc.,
2543549e21daSmrg# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
2544549e21daSmrg])
2545549e21daSmrg
2546549e21daSmrg# serial 57 LT_INIT
2547549e21daSmrg
2548549e21daSmrg
2549549e21daSmrg# LT_PREREQ(VERSION)
2550549e21daSmrg# ------------------
2551549e21daSmrg# Complain and exit if this libtool version is less that VERSION.
2552549e21daSmrgm4_defun([LT_PREREQ],
2553549e21daSmrg[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
2554549e21daSmrg       [m4_default([$3],
2555549e21daSmrg		   [m4_fatal([Libtool version $1 or higher is required],
2556549e21daSmrg		             63)])],
2557549e21daSmrg       [$2])])
2558549e21daSmrg
2559549e21daSmrg
2560549e21daSmrg# _LT_CHECK_BUILDDIR
2561549e21daSmrg# ------------------
2562549e21daSmrg# Complain if the absolute build directory name contains unusual characters
2563549e21daSmrgm4_defun([_LT_CHECK_BUILDDIR],
2564549e21daSmrg[case `pwd` in
2565549e21daSmrg  *\ * | *\	*)
2566549e21daSmrg    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
2567549e21daSmrgesac
2568549e21daSmrg])
2569549e21daSmrg
2570549e21daSmrg
2571549e21daSmrg# LT_INIT([OPTIONS])
2572549e21daSmrg# ------------------
2573549e21daSmrgAC_DEFUN([LT_INIT],
2574549e21daSmrg[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
2575549e21daSmrgAC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
2576549e21daSmrgAC_BEFORE([$0], [LT_LANG])dnl
2577549e21daSmrgAC_BEFORE([$0], [LT_OUTPUT])dnl
2578549e21daSmrgAC_BEFORE([$0], [LTDL_INIT])dnl
2579549e21daSmrgm4_require([_LT_CHECK_BUILDDIR])dnl
2580549e21daSmrg
2581549e21daSmrgdnl Autoconf doesn't catch unexpanded LT_ macros by default:
2582549e21daSmrgm4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
2583549e21daSmrgm4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
2584549e21daSmrgdnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
2585549e21daSmrgdnl unless we require an AC_DEFUNed macro:
2586549e21daSmrgAC_REQUIRE([LTOPTIONS_VERSION])dnl
2587549e21daSmrgAC_REQUIRE([LTSUGAR_VERSION])dnl
2588549e21daSmrgAC_REQUIRE([LTVERSION_VERSION])dnl
2589549e21daSmrgAC_REQUIRE([LTOBSOLETE_VERSION])dnl
2590549e21daSmrgm4_require([_LT_PROG_LTMAIN])dnl
2591549e21daSmrg
2592549e21daSmrg_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
2593549e21daSmrg
2594549e21daSmrgdnl Parse OPTIONS
2595549e21daSmrg_LT_SET_OPTIONS([$0], [$1])
2596549e21daSmrg
2597549e21daSmrg# This can be used to rebuild libtool when needed
2598549e21daSmrgLIBTOOL_DEPS="$ltmain"
2599549e21daSmrg
2600549e21daSmrg# Always use our own libtool.
2601549e21daSmrgLIBTOOL='$(SHELL) $(top_builddir)/libtool'
2602ba6a1819SmrgAC_SUBST(LIBTOOL)dnl
2603ba6a1819Smrg
2604549e21daSmrg_LT_SETUP
2605ba6a1819Smrg
2606549e21daSmrg# Only expand once:
2607549e21daSmrgm4_define([LT_INIT])
2608549e21daSmrg])# LT_INIT
2609ba6a1819Smrg
2610549e21daSmrg# Old names:
2611549e21daSmrgAU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
2612549e21daSmrgAU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
2613549e21daSmrgdnl aclocal-1.4 backwards compatibility:
2614549e21daSmrgdnl AC_DEFUN([AC_PROG_LIBTOOL], [])
2615549e21daSmrgdnl AC_DEFUN([AM_PROG_LIBTOOL], [])
2616549e21daSmrg
2617549e21daSmrg
2618549e21daSmrg# _LT_CC_BASENAME(CC)
2619549e21daSmrg# -------------------
2620549e21daSmrg# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
2621549e21daSmrgm4_defun([_LT_CC_BASENAME],
2622549e21daSmrg[for cc_temp in $1""; do
2623549e21daSmrg  case $cc_temp in
2624549e21daSmrg    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
2625549e21daSmrg    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
2626549e21daSmrg    \-*) ;;
2627549e21daSmrg    *) break;;
2628549e21daSmrg  esac
2629549e21daSmrgdone
2630549e21daSmrgcc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
2631549e21daSmrg])
2632549e21daSmrg
2633549e21daSmrg
2634549e21daSmrg# _LT_FILEUTILS_DEFAULTS
2635549e21daSmrg# ----------------------
2636549e21daSmrg# It is okay to use these file commands and assume they have been set
2637549e21daSmrg# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
2638549e21daSmrgm4_defun([_LT_FILEUTILS_DEFAULTS],
2639549e21daSmrg[: ${CP="cp -f"}
2640549e21daSmrg: ${MV="mv -f"}
2641549e21daSmrg: ${RM="rm -f"}
2642549e21daSmrg])# _LT_FILEUTILS_DEFAULTS
2643549e21daSmrg
2644549e21daSmrg
2645549e21daSmrg# _LT_SETUP
2646549e21daSmrg# ---------
2647549e21daSmrgm4_defun([_LT_SETUP],
2648549e21daSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2649ba6a1819SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
2650549e21daSmrgAC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
2651549e21daSmrgAC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
2652ba6a1819Smrg
2653549e21daSmrg_LT_DECL([], [host_alias], [0], [The host system])dnl
2654549e21daSmrg_LT_DECL([], [host], [0])dnl
2655549e21daSmrg_LT_DECL([], [host_os], [0])dnl
2656549e21daSmrgdnl
2657549e21daSmrg_LT_DECL([], [build_alias], [0], [The build system])dnl
2658549e21daSmrg_LT_DECL([], [build], [0])dnl
2659549e21daSmrg_LT_DECL([], [build_os], [0])dnl
2660549e21daSmrgdnl
2661549e21daSmrgAC_REQUIRE([AC_PROG_CC])dnl
2662549e21daSmrgAC_REQUIRE([LT_PATH_LD])dnl
2663549e21daSmrgAC_REQUIRE([LT_PATH_NM])dnl
2664549e21daSmrgdnl
2665ba6a1819SmrgAC_REQUIRE([AC_PROG_LN_S])dnl
2666549e21daSmrgtest -z "$LN_S" && LN_S="ln -s"
2667549e21daSmrg_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
2668ba6a1819Smrgdnl
2669549e21daSmrgAC_REQUIRE([LT_CMD_MAX_LEN])dnl
2670549e21daSmrg_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
2671549e21daSmrg_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
2672549e21daSmrgdnl
2673549e21daSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
2674549e21daSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
2675549e21daSmrgm4_require([_LT_CMD_RELOAD])dnl
2676549e21daSmrgm4_require([_LT_CHECK_MAGIC_METHOD])dnl
2677549e21daSmrgm4_require([_LT_CMD_OLD_ARCHIVE])dnl
2678549e21daSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
2679549e21daSmrg
2680549e21daSmrg_LT_CONFIG_LIBTOOL_INIT([
2681549e21daSmrg# See if we are running on zsh, and set the options which allow our
2682549e21daSmrg# commands through without removal of \ escapes INIT.
2683549e21daSmrgif test -n "\${ZSH_VERSION+set}" ; then
2684549e21daSmrg   setopt NO_GLOB_SUBST
2685549e21daSmrgfi
2686549e21daSmrg])
2687549e21daSmrgif test -n "${ZSH_VERSION+set}" ; then
2688549e21daSmrg   setopt NO_GLOB_SUBST
2689549e21daSmrgfi
2690ba6a1819Smrg
2691549e21daSmrg_LT_CHECK_OBJDIR
2692ba6a1819Smrg
2693549e21daSmrgm4_require([_LT_TAG_COMPILER])dnl
2694ba6a1819Smrg
2695ba6a1819Smrgcase $host_os in
2696ba6a1819Smrgaix3*)
2697ba6a1819Smrg  # AIX sometimes has problems with the GCC collect2 program.  For some
2698ba6a1819Smrg  # reason, if we set the COLLECT_NAMES environment variable, the problems
2699ba6a1819Smrg  # vanish in a puff of smoke.
2700ba6a1819Smrg  if test "X${COLLECT_NAMES+set}" != Xset; then
2701ba6a1819Smrg    COLLECT_NAMES=
2702ba6a1819Smrg    export COLLECT_NAMES
2703ba6a1819Smrg  fi
2704ba6a1819Smrg  ;;
2705ba6a1819Smrgesac
2706ba6a1819Smrg
2707ba6a1819Smrg# Global variables:
2708549e21daSmrgofile=libtool
2709ba6a1819Smrgcan_build_shared=yes
2710ba6a1819Smrg
2711ba6a1819Smrg# All known linkers require a `.a' archive for static linking (except MSVC,
2712ba6a1819Smrg# which needs '.lib').
2713ba6a1819Smrglibext=a
2714ba6a1819Smrg
2715549e21daSmrgwith_gnu_ld="$lt_cv_prog_gnu_ld"
2716ba6a1819Smrg
2717ba6a1819Smrgold_CC="$CC"
2718ba6a1819Smrgold_CFLAGS="$CFLAGS"
2719ba6a1819Smrg
2720ba6a1819Smrg# Set sane defaults for various variables
2721ba6a1819Smrgtest -z "$CC" && CC=cc
2722ba6a1819Smrgtest -z "$LTCC" && LTCC=$CC
2723ba6a1819Smrgtest -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
2724ba6a1819Smrgtest -z "$LD" && LD=ld
2725ba6a1819Smrgtest -z "$ac_objext" && ac_objext=o
2726ba6a1819Smrg
2727ba6a1819Smrg_LT_CC_BASENAME([$compiler])
2728ba6a1819Smrg
2729ba6a1819Smrg# Only perform the check for file, if the check method requires it
2730549e21daSmrgtest -z "$MAGIC_CMD" && MAGIC_CMD=file
2731ba6a1819Smrgcase $deplibs_check_method in
2732ba6a1819Smrgfile_magic*)
2733ba6a1819Smrg  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
2734549e21daSmrg    _LT_PATH_MAGIC
2735ba6a1819Smrg  fi
2736ba6a1819Smrg  ;;
2737ba6a1819Smrgesac
2738ba6a1819Smrg
2739549e21daSmrg# Use C for the default configuration in the libtool script
2740549e21daSmrgLT_SUPPORTED_TAG([CC])
2741549e21daSmrg_LT_LANG_C_CONFIG
2742549e21daSmrg_LT_LANG_DEFAULT_CONFIG
2743549e21daSmrg_LT_CONFIG_COMMANDS
2744549e21daSmrg])# _LT_SETUP
2745ba6a1819Smrg
2746ba6a1819Smrg
2747549e21daSmrg# _LT_PREPARE_SED_QUOTE_VARS
2748549e21daSmrg# --------------------------
2749549e21daSmrg# Define a few sed substitution that help us do robust quoting.
2750549e21daSmrgm4_defun([_LT_PREPARE_SED_QUOTE_VARS],
2751549e21daSmrg[# Backslashify metacharacters that are still active within
2752549e21daSmrg# double-quoted strings.
2753549e21daSmrgsed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
2754ba6a1819Smrg
2755549e21daSmrg# Same as above, but do not quote variable references.
2756549e21daSmrgdouble_quote_subst='s/\([["`\\]]\)/\\\1/g'
2757ba6a1819Smrg
2758549e21daSmrg# Sed substitution to delay expansion of an escaped shell variable in a
2759549e21daSmrg# double_quote_subst'ed string.
2760549e21daSmrgdelay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
2761ba6a1819Smrg
2762549e21daSmrg# Sed substitution to delay expansion of an escaped single quote.
2763549e21daSmrgdelay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
2764ba6a1819Smrg
2765549e21daSmrg# Sed substitution to avoid accidental globbing in evaled expressions
2766549e21daSmrgno_glob_subst='s/\*/\\\*/g'
2767549e21daSmrg])
2768ba6a1819Smrg
2769549e21daSmrg# _LT_PROG_LTMAIN
2770549e21daSmrg# ---------------
2771549e21daSmrg# Note that this code is called both from `configure', and `config.status'
2772549e21daSmrg# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
2773549e21daSmrg# `config.status' has no value for ac_aux_dir unless we are using Automake,
2774549e21daSmrg# so we pass a copy along to make sure it has a sensible value anyway.
2775549e21daSmrgm4_defun([_LT_PROG_LTMAIN],
2776549e21daSmrg[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
2777549e21daSmrg_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
2778549e21daSmrgltmain="$ac_aux_dir/ltmain.sh"
2779549e21daSmrg])# _LT_PROG_LTMAIN
2780ba6a1819Smrg
2781ba6a1819Smrg
2782ba6a1819Smrg
2783549e21daSmrg# So that we can recreate a full libtool script including additional
2784549e21daSmrg# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
2785549e21daSmrg# in macros and then make a single call at the end using the `libtool'
2786549e21daSmrg# label.
2787549e21daSmrg
2788549e21daSmrg
2789549e21daSmrg# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
2790549e21daSmrg# ----------------------------------------
2791549e21daSmrg# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
2792549e21daSmrgm4_define([_LT_CONFIG_LIBTOOL_INIT],
2793549e21daSmrg[m4_ifval([$1],
2794549e21daSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
2795549e21daSmrg                     [$1
2796549e21daSmrg])])])
2797549e21daSmrg
2798549e21daSmrg# Initialize.
2799549e21daSmrgm4_define([_LT_OUTPUT_LIBTOOL_INIT])
2800549e21daSmrg
2801549e21daSmrg
2802549e21daSmrg# _LT_CONFIG_LIBTOOL([COMMANDS])
2803549e21daSmrg# ------------------------------
2804549e21daSmrg# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
2805549e21daSmrgm4_define([_LT_CONFIG_LIBTOOL],
2806549e21daSmrg[m4_ifval([$1],
2807549e21daSmrg          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
2808549e21daSmrg                     [$1
2809549e21daSmrg])])])
2810549e21daSmrg
2811549e21daSmrg# Initialize.
2812549e21daSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
2813549e21daSmrg
2814549e21daSmrg
2815549e21daSmrg# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
2816549e21daSmrg# -----------------------------------------------------
2817549e21daSmrgm4_defun([_LT_CONFIG_SAVE_COMMANDS],
2818549e21daSmrg[_LT_CONFIG_LIBTOOL([$1])
2819549e21daSmrg_LT_CONFIG_LIBTOOL_INIT([$2])
2820549e21daSmrg])
2821549e21daSmrg
2822549e21daSmrg
2823549e21daSmrg# _LT_FORMAT_COMMENT([COMMENT])
2824549e21daSmrg# -----------------------------
2825549e21daSmrg# Add leading comment marks to the start of each line, and a trailing
2826549e21daSmrg# full-stop to the whole comment if one is not present already.
2827549e21daSmrgm4_define([_LT_FORMAT_COMMENT],
2828549e21daSmrg[m4_ifval([$1], [
2829549e21daSmrgm4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
2830549e21daSmrg              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
2831549e21daSmrg)])
2832549e21daSmrg
2833549e21daSmrg
2834549e21daSmrg
2835549e21daSmrg
2836549e21daSmrg
2837549e21daSmrg# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
2838549e21daSmrg# -------------------------------------------------------------------
2839549e21daSmrg# CONFIGNAME is the name given to the value in the libtool script.
2840549e21daSmrg# VARNAME is the (base) name used in the configure script.
2841549e21daSmrg# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
2842549e21daSmrg# VARNAME.  Any other value will be used directly.
2843549e21daSmrgm4_define([_LT_DECL],
2844549e21daSmrg[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
2845549e21daSmrg    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
2846549e21daSmrg	[m4_ifval([$1], [$1], [$2])])
2847549e21daSmrg    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
2848549e21daSmrg    m4_ifval([$4],
2849549e21daSmrg	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
2850549e21daSmrg    lt_dict_add_subkey([lt_decl_dict], [$2],
2851549e21daSmrg	[tagged?], [m4_ifval([$5], [yes], [no])])])
2852549e21daSmrg])
2853549e21daSmrg
2854549e21daSmrg
2855549e21daSmrg# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
2856549e21daSmrg# --------------------------------------------------------
2857549e21daSmrgm4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
2858549e21daSmrg
2859549e21daSmrg
2860549e21daSmrg# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
2861549e21daSmrg# ------------------------------------------------
2862549e21daSmrgm4_define([lt_decl_tag_varnames],
2863549e21daSmrg[_lt_decl_filter([tagged?], [yes], $@)])
2864549e21daSmrg
2865549e21daSmrg
2866549e21daSmrg# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
2867549e21daSmrg# ---------------------------------------------------------
2868549e21daSmrgm4_define([_lt_decl_filter],
2869549e21daSmrg[m4_case([$#],
2870549e21daSmrg  [0], [m4_fatal([$0: too few arguments: $#])],
2871549e21daSmrg  [1], [m4_fatal([$0: too few arguments: $#: $1])],
2872549e21daSmrg  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
2873549e21daSmrg  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
2874549e21daSmrg  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
2875549e21daSmrg])
2876549e21daSmrg
2877549e21daSmrg
2878549e21daSmrg# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
2879549e21daSmrg# --------------------------------------------------
2880549e21daSmrgm4_define([lt_decl_quote_varnames],
2881549e21daSmrg[_lt_decl_filter([value], [1], $@)])
2882549e21daSmrg
2883549e21daSmrg
2884549e21daSmrg# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
2885549e21daSmrg# ---------------------------------------------------
2886549e21daSmrgm4_define([lt_decl_dquote_varnames],
2887549e21daSmrg[_lt_decl_filter([value], [2], $@)])
2888549e21daSmrg
2889549e21daSmrg
2890549e21daSmrg# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
2891549e21daSmrg# ---------------------------------------------------
2892549e21daSmrgm4_define([lt_decl_varnames_tagged],
2893549e21daSmrg[m4_assert([$# <= 2])dnl
2894549e21daSmrg_$0(m4_quote(m4_default([$1], [[, ]])),
2895549e21daSmrg    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
2896549e21daSmrg    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
2897549e21daSmrgm4_define([_lt_decl_varnames_tagged],
2898549e21daSmrg[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
2899549e21daSmrg
2900549e21daSmrg
2901549e21daSmrg# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
2902549e21daSmrg# ------------------------------------------------
2903549e21daSmrgm4_define([lt_decl_all_varnames],
2904549e21daSmrg[_$0(m4_quote(m4_default([$1], [[, ]])),
2905549e21daSmrg     m4_if([$2], [],
2906549e21daSmrg	   m4_quote(lt_decl_varnames),
2907549e21daSmrg	m4_quote(m4_shift($@))))[]dnl
2908549e21daSmrg])
2909549e21daSmrgm4_define([_lt_decl_all_varnames],
2910549e21daSmrg[lt_join($@, lt_decl_varnames_tagged([$1],
2911549e21daSmrg			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
2912549e21daSmrg])
2913549e21daSmrg
2914549e21daSmrg
2915549e21daSmrg# _LT_CONFIG_STATUS_DECLARE([VARNAME])
2916549e21daSmrg# ------------------------------------
2917549e21daSmrg# Quote a variable value, and forward it to `config.status' so that its
2918549e21daSmrg# declaration there will have the same value as in `configure'.  VARNAME
2919549e21daSmrg# must have a single quote delimited value for this to work.
2920549e21daSmrgm4_define([_LT_CONFIG_STATUS_DECLARE],
2921549e21daSmrg[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
2922549e21daSmrg
2923549e21daSmrg
2924549e21daSmrg# _LT_CONFIG_STATUS_DECLARATIONS
2925549e21daSmrg# ------------------------------
2926549e21daSmrg# We delimit libtool config variables with single quotes, so when
2927549e21daSmrg# we write them to config.status, we have to be sure to quote all
2928549e21daSmrg# embedded single quotes properly.  In configure, this macro expands
2929549e21daSmrg# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
2930549e21daSmrg#
2931549e21daSmrg#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
2932549e21daSmrgm4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
2933549e21daSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
2934549e21daSmrg    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
2935549e21daSmrg
2936549e21daSmrg
2937549e21daSmrg# _LT_LIBTOOL_TAGS
2938549e21daSmrg# ----------------
2939549e21daSmrg# Output comment and list of tags supported by the script
2940549e21daSmrgm4_defun([_LT_LIBTOOL_TAGS],
2941549e21daSmrg[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
2942549e21daSmrgavailable_tags="_LT_TAGS"dnl
2943549e21daSmrg])
2944549e21daSmrg
2945549e21daSmrg
2946549e21daSmrg# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
2947549e21daSmrg# -----------------------------------
2948549e21daSmrg# Extract the dictionary values for VARNAME (optionally with TAG) and
2949549e21daSmrg# expand to a commented shell variable setting:
2950549e21daSmrg#
2951549e21daSmrg#    # Some comment about what VAR is for.
2952549e21daSmrg#    visible_name=$lt_internal_name
2953549e21daSmrgm4_define([_LT_LIBTOOL_DECLARE],
2954549e21daSmrg[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
2955549e21daSmrg					   [description])))[]dnl
2956549e21daSmrgm4_pushdef([_libtool_name],
2957549e21daSmrg    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
2958549e21daSmrgm4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
2959549e21daSmrg    [0], [_libtool_name=[$]$1],
2960549e21daSmrg    [1], [_libtool_name=$lt_[]$1],
2961549e21daSmrg    [2], [_libtool_name=$lt_[]$1],
2962549e21daSmrg    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
2963549e21daSmrgm4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
2964549e21daSmrg])
2965549e21daSmrg
2966549e21daSmrg
2967549e21daSmrg# _LT_LIBTOOL_CONFIG_VARS
2968549e21daSmrg# -----------------------
2969549e21daSmrg# Produce commented declarations of non-tagged libtool config variables
2970549e21daSmrg# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
2971549e21daSmrg# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
2972549e21daSmrg# section) are produced by _LT_LIBTOOL_TAG_VARS.
2973549e21daSmrgm4_defun([_LT_LIBTOOL_CONFIG_VARS],
2974549e21daSmrg[m4_foreach([_lt_var],
2975549e21daSmrg    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
2976549e21daSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
2977549e21daSmrg
2978549e21daSmrg
2979549e21daSmrg# _LT_LIBTOOL_TAG_VARS(TAG)
2980549e21daSmrg# -------------------------
2981549e21daSmrgm4_define([_LT_LIBTOOL_TAG_VARS],
2982549e21daSmrg[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
2983549e21daSmrg    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
2984549e21daSmrg
2985549e21daSmrg
2986549e21daSmrg# _LT_TAGVAR(VARNAME, [TAGNAME])
2987549e21daSmrg# ------------------------------
2988549e21daSmrgm4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
2989549e21daSmrg
2990549e21daSmrg
2991549e21daSmrg# _LT_CONFIG_COMMANDS
2992549e21daSmrg# -------------------
2993549e21daSmrg# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
2994549e21daSmrg# variables for single and double quote escaping we saved from calls
2995549e21daSmrg# to _LT_DECL, we can put quote escaped variables declarations
2996549e21daSmrg# into `config.status', and then the shell code to quote escape them in
2997549e21daSmrg# for loops in `config.status'.  Finally, any additional code accumulated
2998549e21daSmrg# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
2999549e21daSmrgm4_defun([_LT_CONFIG_COMMANDS],
3000549e21daSmrg[AC_PROVIDE_IFELSE([LT_OUTPUT],
3001549e21daSmrg	dnl If the libtool generation code has been placed in $CONFIG_LT,
3002549e21daSmrg	dnl instead of duplicating it all over again into config.status,
3003549e21daSmrg	dnl then we will have config.status run $CONFIG_LT later, so it
3004549e21daSmrg	dnl needs to know what name is stored there:
3005549e21daSmrg        [AC_CONFIG_COMMANDS([libtool],
3006549e21daSmrg            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
3007549e21daSmrg    dnl If the libtool generation code is destined for config.status,
3008549e21daSmrg    dnl expand the accumulated commands and init code now:
3009549e21daSmrg    [AC_CONFIG_COMMANDS([libtool],
3010549e21daSmrg        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
3011549e21daSmrg])#_LT_CONFIG_COMMANDS
3012549e21daSmrg
3013549e21daSmrg
3014549e21daSmrg# Initialize.
3015549e21daSmrgm4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
3016549e21daSmrg[
3017549e21daSmrg
3018549e21daSmrg# The HP-UX ksh and POSIX shell print the target directory to stdout
3019549e21daSmrg# if CDPATH is set.
3020549e21daSmrg(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
3021549e21daSmrg
3022549e21daSmrgsed_quote_subst='$sed_quote_subst'
3023549e21daSmrgdouble_quote_subst='$double_quote_subst'
3024549e21daSmrgdelay_variable_subst='$delay_variable_subst'
3025549e21daSmrg_LT_CONFIG_STATUS_DECLARATIONS
3026549e21daSmrgLTCC='$LTCC'
3027549e21daSmrgLTCFLAGS='$LTCFLAGS'
3028549e21daSmrgcompiler='$compiler_DEFAULT'
3029549e21daSmrg
3030549e21daSmrg# A function that is used when there is no print builtin or printf.
3031549e21daSmrgfunc_fallback_echo ()
3032549e21daSmrg{
3033549e21daSmrg  eval 'cat <<_LTECHO_EOF
3034549e21daSmrg\$[]1
3035549e21daSmrg_LTECHO_EOF'
3036549e21daSmrg}
3037549e21daSmrg
3038549e21daSmrg# Quote evaled strings.
3039549e21daSmrgfor var in lt_decl_all_varnames([[ \
3040549e21daSmrg]], lt_decl_quote_varnames); do
3041549e21daSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
3042549e21daSmrg    *[[\\\\\\\`\\"\\\$]]*)
3043549e21daSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
3044549e21daSmrg      ;;
3045549e21daSmrg    *)
3046549e21daSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
3047549e21daSmrg      ;;
3048549e21daSmrg    esac
3049ba6a1819Smrgdone
3050549e21daSmrg
3051549e21daSmrg# Double-quote double-evaled strings.
3052549e21daSmrgfor var in lt_decl_all_varnames([[ \
3053549e21daSmrg]], lt_decl_dquote_varnames); do
3054549e21daSmrg    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
3055549e21daSmrg    *[[\\\\\\\`\\"\\\$]]*)
3056549e21daSmrg      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
3057549e21daSmrg      ;;
3058549e21daSmrg    *)
3059549e21daSmrg      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
3060549e21daSmrg      ;;
3061549e21daSmrg    esac
3062549e21daSmrgdone
3063549e21daSmrg
3064549e21daSmrg_LT_OUTPUT_LIBTOOL_INIT
3065ba6a1819Smrg])
3066ba6a1819Smrg
3067549e21daSmrg# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
3068549e21daSmrg# ------------------------------------
3069549e21daSmrg# Generate a child script FILE with all initialization necessary to
3070549e21daSmrg# reuse the environment learned by the parent script, and make the
3071549e21daSmrg# file executable.  If COMMENT is supplied, it is inserted after the
3072549e21daSmrg# `#!' sequence but before initialization text begins.  After this
3073549e21daSmrg# macro, additional text can be appended to FILE to form the body of
3074549e21daSmrg# the child script.  The macro ends with non-zero status if the
3075549e21daSmrg# file could not be fully written (such as if the disk is full).
3076549e21daSmrgm4_ifdef([AS_INIT_GENERATED],
3077549e21daSmrg[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
3078549e21daSmrg[m4_defun([_LT_GENERATED_FILE_INIT],
3079549e21daSmrg[m4_require([AS_PREPARE])]dnl
3080549e21daSmrg[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
3081549e21daSmrg[lt_write_fail=0
3082549e21daSmrgcat >$1 <<_ASEOF || lt_write_fail=1
3083549e21daSmrg#! $SHELL
3084549e21daSmrg# Generated by $as_me.
3085549e21daSmrg$2
3086549e21daSmrgSHELL=\${CONFIG_SHELL-$SHELL}
3087549e21daSmrgexport SHELL
3088549e21daSmrg_ASEOF
3089549e21daSmrgcat >>$1 <<\_ASEOF || lt_write_fail=1
3090549e21daSmrgAS_SHELL_SANITIZE
3091549e21daSmrg_AS_PREPARE
3092549e21daSmrgexec AS_MESSAGE_FD>&1
3093549e21daSmrg_ASEOF
3094549e21daSmrgtest $lt_write_fail = 0 && chmod +x $1[]dnl
3095549e21daSmrgm4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
3096549e21daSmrg
3097549e21daSmrg# LT_OUTPUT
3098549e21daSmrg# ---------
3099549e21daSmrg# This macro allows early generation of the libtool script (before
3100549e21daSmrg# AC_OUTPUT is called), incase it is used in configure for compilation
3101549e21daSmrg# tests.
3102549e21daSmrgAC_DEFUN([LT_OUTPUT],
3103549e21daSmrg[: ${CONFIG_LT=./config.lt}
3104549e21daSmrgAC_MSG_NOTICE([creating $CONFIG_LT])
3105549e21daSmrg_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
3106549e21daSmrg[# Run this file to recreate a libtool stub with the current configuration.])
3107549e21daSmrg
3108549e21daSmrgcat >>"$CONFIG_LT" <<\_LTEOF
3109549e21daSmrglt_cl_silent=false
3110549e21daSmrgexec AS_MESSAGE_LOG_FD>>config.log
3111549e21daSmrg{
3112549e21daSmrg  echo
3113549e21daSmrg  AS_BOX([Running $as_me.])
3114549e21daSmrg} >&AS_MESSAGE_LOG_FD
3115549e21daSmrg
3116549e21daSmrglt_cl_help="\
3117549e21daSmrg\`$as_me' creates a local libtool stub from the current configuration,
3118549e21daSmrgfor use in further configure time tests before the real libtool is
3119549e21daSmrggenerated.
3120549e21daSmrg
3121549e21daSmrgUsage: $[0] [[OPTIONS]]
3122549e21daSmrg
3123549e21daSmrg  -h, --help      print this help, then exit
3124549e21daSmrg  -V, --version   print version number, then exit
3125549e21daSmrg  -q, --quiet     do not print progress messages
3126549e21daSmrg  -d, --debug     don't remove temporary files
3127549e21daSmrg
3128549e21daSmrgReport bugs to <bug-libtool@gnu.org>."
3129549e21daSmrg
3130549e21daSmrglt_cl_version="\
3131549e21daSmrgm4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
3132549e21daSmrgm4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
3133549e21daSmrgconfigured by $[0], generated by m4_PACKAGE_STRING.
3134549e21daSmrg
3135549e21daSmrgCopyright (C) 2010 Free Software Foundation, Inc.
3136549e21daSmrgThis config.lt script is free software; the Free Software Foundation
3137549e21daSmrggives unlimited permision to copy, distribute and modify it."
3138549e21daSmrg
3139549e21daSmrgwhile test $[#] != 0
3140549e21daSmrgdo
3141549e21daSmrg  case $[1] in
3142549e21daSmrg    --version | --v* | -V )
3143549e21daSmrg      echo "$lt_cl_version"; exit 0 ;;
3144549e21daSmrg    --help | --h* | -h )
3145549e21daSmrg      echo "$lt_cl_help"; exit 0 ;;
3146549e21daSmrg    --debug | --d* | -d )
3147549e21daSmrg      debug=: ;;
3148549e21daSmrg    --quiet | --q* | --silent | --s* | -q )
3149549e21daSmrg      lt_cl_silent=: ;;
3150549e21daSmrg
3151549e21daSmrg    -*) AC_MSG_ERROR([unrecognized option: $[1]
3152549e21daSmrgTry \`$[0] --help' for more information.]) ;;
3153549e21daSmrg
3154549e21daSmrg    *) AC_MSG_ERROR([unrecognized argument: $[1]
3155549e21daSmrgTry \`$[0] --help' for more information.]) ;;
3156549e21daSmrg  esac
3157549e21daSmrg  shift
3158549e21daSmrgdone
3159549e21daSmrg
3160549e21daSmrgif $lt_cl_silent; then
3161549e21daSmrg  exec AS_MESSAGE_FD>/dev/null
3162549e21daSmrgfi
3163549e21daSmrg_LTEOF
3164549e21daSmrg
3165549e21daSmrgcat >>"$CONFIG_LT" <<_LTEOF
3166549e21daSmrg_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
3167549e21daSmrg_LTEOF
3168549e21daSmrg
3169549e21daSmrgcat >>"$CONFIG_LT" <<\_LTEOF
3170549e21daSmrgAC_MSG_NOTICE([creating $ofile])
3171549e21daSmrg_LT_OUTPUT_LIBTOOL_COMMANDS
3172549e21daSmrgAS_EXIT(0)
3173549e21daSmrg_LTEOF
3174549e21daSmrgchmod +x "$CONFIG_LT"
3175549e21daSmrg
3176549e21daSmrg# configure is writing to config.log, but config.lt does its own redirection,
3177549e21daSmrg# appending to config.log, which fails on DOS, as config.log is still kept
3178549e21daSmrg# open by configure.  Here we exec the FD to /dev/null, effectively closing
3179549e21daSmrg# config.log, so it can be properly (re)opened and appended to by config.lt.
3180549e21daSmrglt_cl_success=:
3181549e21daSmrgtest "$silent" = yes &&
3182549e21daSmrg  lt_config_lt_args="$lt_config_lt_args --quiet"
3183549e21daSmrgexec AS_MESSAGE_LOG_FD>/dev/null
3184549e21daSmrg$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
3185549e21daSmrgexec AS_MESSAGE_LOG_FD>>config.log
3186549e21daSmrg$lt_cl_success || AS_EXIT(1)
3187549e21daSmrg])# LT_OUTPUT
3188549e21daSmrg
3189549e21daSmrg
3190549e21daSmrg# _LT_CONFIG(TAG)
3191549e21daSmrg# ---------------
3192549e21daSmrg# If TAG is the built-in tag, create an initial libtool script with a
3193549e21daSmrg# default configuration from the untagged config vars.  Otherwise add code
3194549e21daSmrg# to config.status for appending the configuration named by TAG from the
3195549e21daSmrg# matching tagged config vars.
3196549e21daSmrgm4_defun([_LT_CONFIG],
3197549e21daSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
3198549e21daSmrg_LT_CONFIG_SAVE_COMMANDS([
3199549e21daSmrg  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
3200549e21daSmrg  m4_if(_LT_TAG, [C], [
3201549e21daSmrg    # See if we are running on zsh, and set the options which allow our
3202549e21daSmrg    # commands through without removal of \ escapes.
3203549e21daSmrg    if test -n "${ZSH_VERSION+set}" ; then
3204549e21daSmrg      setopt NO_GLOB_SUBST
3205549e21daSmrg    fi
3206549e21daSmrg
3207549e21daSmrg    cfgfile="${ofile}T"
3208549e21daSmrg    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
3209549e21daSmrg    $RM "$cfgfile"
3210549e21daSmrg
3211549e21daSmrg    cat <<_LT_EOF >> "$cfgfile"
3212549e21daSmrg#! $SHELL
3213549e21daSmrg
3214549e21daSmrg# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
3215549e21daSmrg# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
3216549e21daSmrg# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
3217549e21daSmrg# NOTE: Changes made to this file will be lost: look at ltmain.sh.
3218549e21daSmrg#
3219549e21daSmrg_LT_COPYING
3220549e21daSmrg_LT_LIBTOOL_TAGS
3221549e21daSmrg
3222549e21daSmrg# ### BEGIN LIBTOOL CONFIG
3223549e21daSmrg_LT_LIBTOOL_CONFIG_VARS
3224549e21daSmrg_LT_LIBTOOL_TAG_VARS
3225549e21daSmrg# ### END LIBTOOL CONFIG
3226549e21daSmrg
3227549e21daSmrg_LT_EOF
3228549e21daSmrg
3229549e21daSmrg  case $host_os in
3230549e21daSmrg  aix3*)
3231549e21daSmrg    cat <<\_LT_EOF >> "$cfgfile"
3232549e21daSmrg# AIX sometimes has problems with the GCC collect2 program.  For some
3233549e21daSmrg# reason, if we set the COLLECT_NAMES environment variable, the problems
3234549e21daSmrg# vanish in a puff of smoke.
3235549e21daSmrgif test "X${COLLECT_NAMES+set}" != Xset; then
3236549e21daSmrg  COLLECT_NAMES=
3237549e21daSmrg  export COLLECT_NAMES
3238549e21daSmrgfi
3239549e21daSmrg_LT_EOF
3240549e21daSmrg    ;;
3241549e21daSmrg  esac
3242549e21daSmrg
3243549e21daSmrg  _LT_PROG_LTMAIN
3244549e21daSmrg
3245549e21daSmrg  # We use sed instead of cat because bash on DJGPP gets confused if
3246549e21daSmrg  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
3247549e21daSmrg  # text mode, it properly converts lines to CR/LF.  This bash problem
3248549e21daSmrg  # is reportedly fixed, but why not run on old versions too?
3249549e21daSmrg  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
3250549e21daSmrg    || (rm -f "$cfgfile"; exit 1)
3251549e21daSmrg
3252549e21daSmrg  _LT_PROG_XSI_SHELLFNS
3253549e21daSmrg
3254549e21daSmrg  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
3255549e21daSmrg    || (rm -f "$cfgfile"; exit 1)
3256549e21daSmrg
3257549e21daSmrg  mv -f "$cfgfile" "$ofile" ||
3258549e21daSmrg    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
3259549e21daSmrg  chmod +x "$ofile"
3260549e21daSmrg],
3261549e21daSmrg[cat <<_LT_EOF >> "$ofile"
3262549e21daSmrg
3263549e21daSmrgdnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
3264549e21daSmrgdnl in a comment (ie after a #).
3265549e21daSmrg# ### BEGIN LIBTOOL TAG CONFIG: $1
3266549e21daSmrg_LT_LIBTOOL_TAG_VARS(_LT_TAG)
3267549e21daSmrg# ### END LIBTOOL TAG CONFIG: $1
3268549e21daSmrg_LT_EOF
3269549e21daSmrg])dnl /m4_if
3270549e21daSmrg],
3271549e21daSmrg[m4_if([$1], [], [
3272549e21daSmrg    PACKAGE='$PACKAGE'
3273549e21daSmrg    VERSION='$VERSION'
3274549e21daSmrg    TIMESTAMP='$TIMESTAMP'
3275549e21daSmrg    RM='$RM'
3276549e21daSmrg    ofile='$ofile'], [])
3277549e21daSmrg])dnl /_LT_CONFIG_SAVE_COMMANDS
3278549e21daSmrg])# _LT_CONFIG
3279549e21daSmrg
3280549e21daSmrg
3281549e21daSmrg# LT_SUPPORTED_TAG(TAG)
3282549e21daSmrg# ---------------------
3283549e21daSmrg# Trace this macro to discover what tags are supported by the libtool
3284549e21daSmrg# --tag option, using:
3285549e21daSmrg#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
3286549e21daSmrgAC_DEFUN([LT_SUPPORTED_TAG], [])
3287549e21daSmrg
3288549e21daSmrg
3289549e21daSmrg# C support is built-in for now
3290549e21daSmrgm4_define([_LT_LANG_C_enabled], [])
3291549e21daSmrgm4_define([_LT_TAGS], [])
3292549e21daSmrg
3293549e21daSmrg
3294549e21daSmrg# LT_LANG(LANG)
3295549e21daSmrg# -------------
3296549e21daSmrg# Enable libtool support for the given language if not already enabled.
3297549e21daSmrgAC_DEFUN([LT_LANG],
3298549e21daSmrg[AC_BEFORE([$0], [LT_OUTPUT])dnl
3299549e21daSmrgm4_case([$1],
3300549e21daSmrg  [C],			[_LT_LANG(C)],
3301549e21daSmrg  [C++],		[_LT_LANG(CXX)],
3302549e21daSmrg  [Java],		[_LT_LANG(GCJ)],
3303549e21daSmrg  [Fortran 77],		[_LT_LANG(F77)],
3304549e21daSmrg  [Fortran],		[_LT_LANG(FC)],
3305549e21daSmrg  [Windows Resource],	[_LT_LANG(RC)],
3306549e21daSmrg  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
3307549e21daSmrg    [_LT_LANG($1)],
3308549e21daSmrg    [m4_fatal([$0: unsupported language: "$1"])])])dnl
3309549e21daSmrg])# LT_LANG
3310549e21daSmrg
3311549e21daSmrg
3312549e21daSmrg# _LT_LANG(LANGNAME)
3313549e21daSmrg# ------------------
3314549e21daSmrgm4_defun([_LT_LANG],
3315549e21daSmrg[m4_ifdef([_LT_LANG_]$1[_enabled], [],
3316549e21daSmrg  [LT_SUPPORTED_TAG([$1])dnl
3317549e21daSmrg  m4_append([_LT_TAGS], [$1 ])dnl
3318549e21daSmrg  m4_define([_LT_LANG_]$1[_enabled], [])dnl
3319549e21daSmrg  _LT_LANG_$1_CONFIG($1)])dnl
3320549e21daSmrg])# _LT_LANG
3321549e21daSmrg
3322549e21daSmrg
3323549e21daSmrg# _LT_LANG_DEFAULT_CONFIG
3324549e21daSmrg# -----------------------
3325549e21daSmrgm4_defun([_LT_LANG_DEFAULT_CONFIG],
3326549e21daSmrg[AC_PROVIDE_IFELSE([AC_PROG_CXX],
3327549e21daSmrg  [LT_LANG(CXX)],
3328549e21daSmrg  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
3329549e21daSmrg
3330549e21daSmrgAC_PROVIDE_IFELSE([AC_PROG_F77],
3331549e21daSmrg  [LT_LANG(F77)],
3332549e21daSmrg  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
3333549e21daSmrg
3334549e21daSmrgAC_PROVIDE_IFELSE([AC_PROG_FC],
3335549e21daSmrg  [LT_LANG(FC)],
3336549e21daSmrg  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
3337549e21daSmrg
3338549e21daSmrgdnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
3339549e21daSmrgdnl pulling things in needlessly.
3340549e21daSmrgAC_PROVIDE_IFELSE([AC_PROG_GCJ],
3341549e21daSmrg  [LT_LANG(GCJ)],
3342549e21daSmrg  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
3343549e21daSmrg    [LT_LANG(GCJ)],
3344549e21daSmrg    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
3345549e21daSmrg      [LT_LANG(GCJ)],
3346549e21daSmrg      [m4_ifdef([AC_PROG_GCJ],
3347549e21daSmrg	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
3348549e21daSmrg       m4_ifdef([A][M_PROG_GCJ],
3349549e21daSmrg	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
3350549e21daSmrg       m4_ifdef([LT_PROG_GCJ],
3351549e21daSmrg	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
3352549e21daSmrg
3353549e21daSmrgAC_PROVIDE_IFELSE([LT_PROG_RC],
3354549e21daSmrg  [LT_LANG(RC)],
3355549e21daSmrg  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
3356549e21daSmrg])# _LT_LANG_DEFAULT_CONFIG
3357549e21daSmrg
3358549e21daSmrg# Obsolete macros:
3359549e21daSmrgAU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
3360549e21daSmrgAU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
3361549e21daSmrgAU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
3362549e21daSmrgAU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
3363549e21daSmrgAU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
3364549e21daSmrgdnl aclocal-1.4 backwards compatibility:
3365549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_CXX], [])
3366549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_F77], [])
3367549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_FC], [])
3368549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
3369549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_RC], [])
3370549e21daSmrg
3371549e21daSmrg
3372549e21daSmrg# _LT_TAG_COMPILER
3373549e21daSmrg# ----------------
3374549e21daSmrgm4_defun([_LT_TAG_COMPILER],
3375549e21daSmrg[AC_REQUIRE([AC_PROG_CC])dnl
3376549e21daSmrg
3377549e21daSmrg_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
3378549e21daSmrg_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
3379549e21daSmrg_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
3380549e21daSmrg_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
3381549e21daSmrg
3382549e21daSmrg# If no C compiler was specified, use CC.
3383549e21daSmrgLTCC=${LTCC-"$CC"}
3384549e21daSmrg
3385549e21daSmrg# If no C compiler flags were specified, use CFLAGS.
3386549e21daSmrgLTCFLAGS=${LTCFLAGS-"$CFLAGS"}
3387549e21daSmrg
3388549e21daSmrg# Allow CC to be a program name with arguments.
3389549e21daSmrgcompiler=$CC
3390549e21daSmrg])# _LT_TAG_COMPILER
3391549e21daSmrg
3392ba6a1819Smrg
3393ba6a1819Smrg# _LT_COMPILER_BOILERPLATE
3394ba6a1819Smrg# ------------------------
3395ba6a1819Smrg# Check for compiler boilerplate output or warnings with
3396ba6a1819Smrg# the simple compiler test code.
3397549e21daSmrgm4_defun([_LT_COMPILER_BOILERPLATE],
3398549e21daSmrg[m4_require([_LT_DECL_SED])dnl
3399549e21daSmrgac_outfile=conftest.$ac_objext
3400549e21daSmrgecho "$lt_simple_compile_test_code" >conftest.$ac_ext
3401ba6a1819Smrgeval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
3402ba6a1819Smrg_lt_compiler_boilerplate=`cat conftest.err`
3403549e21daSmrg$RM conftest*
3404ba6a1819Smrg])# _LT_COMPILER_BOILERPLATE
3405ba6a1819Smrg
3406ba6a1819Smrg
3407ba6a1819Smrg# _LT_LINKER_BOILERPLATE
3408ba6a1819Smrg# ----------------------
3409ba6a1819Smrg# Check for linker boilerplate output or warnings with
3410ba6a1819Smrg# the simple link test code.
3411549e21daSmrgm4_defun([_LT_LINKER_BOILERPLATE],
3412549e21daSmrg[m4_require([_LT_DECL_SED])dnl
3413549e21daSmrgac_outfile=conftest.$ac_objext
3414549e21daSmrgecho "$lt_simple_link_test_code" >conftest.$ac_ext
3415ba6a1819Smrgeval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
3416ba6a1819Smrg_lt_linker_boilerplate=`cat conftest.err`
3417549e21daSmrg$RM -r conftest*
3418ba6a1819Smrg])# _LT_LINKER_BOILERPLATE
3419ba6a1819Smrg
3420549e21daSmrg# _LT_REQUIRED_DARWIN_CHECKS
3421549e21daSmrg# -------------------------
3422549e21daSmrgm4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
3423549e21daSmrg  case $host_os in
3424549e21daSmrg    rhapsody* | darwin*)
3425549e21daSmrg    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
3426549e21daSmrg    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
3427549e21daSmrg    AC_CHECK_TOOL([LIPO], [lipo], [:])
3428549e21daSmrg    AC_CHECK_TOOL([OTOOL], [otool], [:])
3429549e21daSmrg    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
3430549e21daSmrg    _LT_DECL([], [DSYMUTIL], [1],
3431549e21daSmrg      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
3432549e21daSmrg    _LT_DECL([], [NMEDIT], [1],
3433549e21daSmrg      [Tool to change global to local symbols on Mac OS X])
3434549e21daSmrg    _LT_DECL([], [LIPO], [1],
3435549e21daSmrg      [Tool to manipulate fat objects and archives on Mac OS X])
3436549e21daSmrg    _LT_DECL([], [OTOOL], [1],
3437549e21daSmrg      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
3438549e21daSmrg    _LT_DECL([], [OTOOL64], [1],
3439549e21daSmrg      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
3440549e21daSmrg
3441549e21daSmrg    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
3442549e21daSmrg      [lt_cv_apple_cc_single_mod=no
3443549e21daSmrg      if test -z "${LT_MULTI_MODULE}"; then
3444549e21daSmrg	# By default we will add the -single_module flag. You can override
3445549e21daSmrg	# by either setting the environment variable LT_MULTI_MODULE
3446549e21daSmrg	# non-empty at configure time, or by adding -multi_module to the
3447549e21daSmrg	# link flags.
3448549e21daSmrg	rm -rf libconftest.dylib*
3449549e21daSmrg	echo "int foo(void){return 1;}" > conftest.c
3450549e21daSmrg	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
3451549e21daSmrg-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
3452549e21daSmrg	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
3453549e21daSmrg	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
3454549e21daSmrg        _lt_result=$?
3455549e21daSmrg	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
3456549e21daSmrg	  lt_cv_apple_cc_single_mod=yes
3457549e21daSmrg	else
3458549e21daSmrg	  cat conftest.err >&AS_MESSAGE_LOG_FD
3459549e21daSmrg	fi
3460549e21daSmrg	rm -rf libconftest.dylib*
3461549e21daSmrg	rm -f conftest.*
3462549e21daSmrg      fi])
3463549e21daSmrg    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
3464549e21daSmrg      [lt_cv_ld_exported_symbols_list],
3465549e21daSmrg      [lt_cv_ld_exported_symbols_list=no
3466549e21daSmrg      save_LDFLAGS=$LDFLAGS
3467549e21daSmrg      echo "_main" > conftest.sym
3468549e21daSmrg      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
3469549e21daSmrg      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
3470549e21daSmrg	[lt_cv_ld_exported_symbols_list=yes],
3471549e21daSmrg	[lt_cv_ld_exported_symbols_list=no])
3472549e21daSmrg	LDFLAGS="$save_LDFLAGS"
3473549e21daSmrg    ])
3474549e21daSmrg    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
3475549e21daSmrg      [lt_cv_ld_force_load=no
3476549e21daSmrg      cat > conftest.c << _LT_EOF
3477549e21daSmrgint forced_loaded() { return 2;}
3478549e21daSmrg_LT_EOF
3479549e21daSmrg      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
3480549e21daSmrg      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
3481549e21daSmrg      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
3482549e21daSmrg      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
3483549e21daSmrg      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
3484549e21daSmrg      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
3485549e21daSmrg      cat > conftest.c << _LT_EOF
3486549e21daSmrgint main() { return 0;}
3487549e21daSmrg_LT_EOF
3488549e21daSmrg      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
3489549e21daSmrg      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
3490549e21daSmrg      _lt_result=$?
3491549e21daSmrg      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
3492549e21daSmrg	lt_cv_ld_force_load=yes
3493549e21daSmrg      else
3494549e21daSmrg	cat conftest.err >&AS_MESSAGE_LOG_FD
3495549e21daSmrg      fi
3496549e21daSmrg        rm -f conftest.err libconftest.a conftest conftest.c
3497549e21daSmrg        rm -rf conftest.dSYM
3498549e21daSmrg    ])
3499549e21daSmrg    case $host_os in
3500549e21daSmrg    rhapsody* | darwin1.[[012]])
3501549e21daSmrg      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
3502549e21daSmrg    darwin1.*)
3503549e21daSmrg      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
3504549e21daSmrg    darwin*) # darwin 5.x on
3505549e21daSmrg      # if running on 10.5 or later, the deployment target defaults
3506549e21daSmrg      # to the OS version, if on x86, and 10.4, the deployment
3507549e21daSmrg      # target defaults to 10.4. Don't you love it?
3508549e21daSmrg      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
3509549e21daSmrg	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
3510549e21daSmrg	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
3511549e21daSmrg	10.[[012]]*)
3512549e21daSmrg	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
3513549e21daSmrg	10.*)
3514549e21daSmrg	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
3515549e21daSmrg      esac
3516549e21daSmrg    ;;
3517549e21daSmrg  esac
3518549e21daSmrg    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
3519549e21daSmrg      _lt_dar_single_mod='$single_module'
3520549e21daSmrg    fi
3521549e21daSmrg    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
3522549e21daSmrg      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
3523549e21daSmrg    else
3524549e21daSmrg      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
3525549e21daSmrg    fi
3526549e21daSmrg    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
3527549e21daSmrg      _lt_dsymutil='~$DSYMUTIL $lib || :'
3528549e21daSmrg    else
3529549e21daSmrg      _lt_dsymutil=
3530549e21daSmrg    fi
3531549e21daSmrg    ;;
3532549e21daSmrg  esac
3533549e21daSmrg])
3534549e21daSmrg
3535ba6a1819Smrg
3536549e21daSmrg# _LT_DARWIN_LINKER_FEATURES
3537549e21daSmrg# --------------------------
3538549e21daSmrg# Checks for linker and compiler features on darwin
3539549e21daSmrgm4_defun([_LT_DARWIN_LINKER_FEATURES],
3540549e21daSmrg[
3541549e21daSmrg  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
3542549e21daSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
3543549e21daSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
3544549e21daSmrg  _LT_TAGVAR(hardcode_automatic, $1)=yes
3545549e21daSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
3546549e21daSmrg  if test "$lt_cv_ld_force_load" = "yes"; then
3547549e21daSmrg    _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\"`'
3548549e21daSmrg  else
3549549e21daSmrg    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
3550549e21daSmrg  fi
3551549e21daSmrg  _LT_TAGVAR(link_all_deplibs, $1)=yes
3552549e21daSmrg  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
3553549e21daSmrg  case $cc_basename in
3554549e21daSmrg     ifort*) _lt_dar_can_shared=yes ;;
3555549e21daSmrg     *) _lt_dar_can_shared=$GCC ;;
3556549e21daSmrg  esac
3557549e21daSmrg  if test "$_lt_dar_can_shared" = "yes"; then
3558549e21daSmrg    output_verbose_link_cmd=func_echo_all
3559549e21daSmrg    _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}"
3560549e21daSmrg    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
3561549e21daSmrg    _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}"
3562549e21daSmrg    _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}"
3563549e21daSmrg    m4_if([$1], [CXX],
3564549e21daSmrg[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
3565549e21daSmrg      _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}"
3566549e21daSmrg      _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}"
3567549e21daSmrg    fi
3568549e21daSmrg],[])
3569549e21daSmrg  else
3570549e21daSmrg  _LT_TAGVAR(ld_shlibs, $1)=no
3571549e21daSmrg  fi
3572549e21daSmrg])
3573549e21daSmrg
3574549e21daSmrg# _LT_SYS_MODULE_PATH_AIX
3575549e21daSmrg# -----------------------
3576ba6a1819Smrg# Links a minimal program and checks the executable
3577ba6a1819Smrg# for the system default hardcoded library path. In most cases,
3578ba6a1819Smrg# this is /usr/lib:/lib, but when the MPI compilers are used
3579ba6a1819Smrg# the location of the communication and MPI libs are included too.
3580ba6a1819Smrg# If we don't find anything, use the default library path according
3581ba6a1819Smrg# to the aix ld manual.
3582549e21daSmrgm4_defun([_LT_SYS_MODULE_PATH_AIX],
3583549e21daSmrg[m4_require([_LT_DECL_SED])dnl
3584549e21daSmrgAC_LINK_IFELSE(AC_LANG_PROGRAM,[
3585549e21daSmrglt_aix_libpath_sed='
3586549e21daSmrg    /Import File Strings/,/^$/ {
3587549e21daSmrg	/^0/ {
3588549e21daSmrg	    s/^0  *\(.*\)$/\1/
3589549e21daSmrg	    p
3590549e21daSmrg	}
3591549e21daSmrg    }'
3592549e21daSmrgaix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
3593ba6a1819Smrg# Check for a 64-bit object if we didn't find anything.
3594549e21daSmrgif test -z "$aix_libpath"; then
3595549e21daSmrg  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
3596549e21daSmrgfi],[])
3597ba6a1819Smrgif test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
3598549e21daSmrg])# _LT_SYS_MODULE_PATH_AIX
3599ba6a1819Smrg
3600ba6a1819Smrg
3601549e21daSmrg# _LT_SHELL_INIT(ARG)
3602549e21daSmrg# -------------------
3603549e21daSmrgm4_define([_LT_SHELL_INIT],
3604549e21daSmrg[m4_divert_text([M4SH-INIT], [$1
3605549e21daSmrg])])# _LT_SHELL_INIT
3606ba6a1819Smrg
3607ba6a1819Smrg
3608ba6a1819Smrg
3609549e21daSmrg# _LT_PROG_ECHO_BACKSLASH
3610549e21daSmrg# -----------------------
3611549e21daSmrg# Find how we can fake an echo command that does not interpret backslash.
3612549e21daSmrg# In particular, with Autoconf 2.60 or later we add some code to the start
3613549e21daSmrg# of the generated configure script which will find a shell with a builtin
3614549e21daSmrg# printf (which we can use as an echo command).
3615549e21daSmrgm4_defun([_LT_PROG_ECHO_BACKSLASH],
3616549e21daSmrg[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
3617549e21daSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
3618549e21daSmrgECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
3619549e21daSmrg
3620549e21daSmrgAC_MSG_CHECKING([how to print strings])
3621549e21daSmrg# Test print first, because it will be a builtin if present.
3622549e21daSmrgif test "X`print -r -- -n 2>/dev/null`" = X-n && \
3623549e21daSmrg   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
3624549e21daSmrg  ECHO='print -r --'
3625549e21daSmrgelif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
3626549e21daSmrg  ECHO='printf %s\n'
3627ba6a1819Smrgelse
3628549e21daSmrg  # Use this function as a fallback that always works.
3629549e21daSmrg  func_fallback_echo ()
3630549e21daSmrg  {
3631549e21daSmrg    eval 'cat <<_LTECHO_EOF
3632549e21daSmrg$[]1
3633549e21daSmrg_LTECHO_EOF'
3634549e21daSmrg  }
3635549e21daSmrg  ECHO='func_fallback_echo'
3636ba6a1819Smrgfi
3637ba6a1819Smrg
3638549e21daSmrg# func_echo_all arg...
3639549e21daSmrg# Invoke $ECHO with all args, space-separated.
3640549e21daSmrgfunc_echo_all ()
3641549e21daSmrg{
3642549e21daSmrg    $ECHO "$*" 
3643549e21daSmrg}
3644ba6a1819Smrg
3645549e21daSmrgcase "$ECHO" in
3646549e21daSmrg  printf*) AC_MSG_RESULT([printf]) ;;
3647549e21daSmrg  print*) AC_MSG_RESULT([print -r]) ;;
3648549e21daSmrg  *) AC_MSG_RESULT([cat]) ;;
3649549e21daSmrgesac
3650ba6a1819Smrg
3651549e21daSmrgm4_ifdef([_AS_DETECT_SUGGESTED],
3652549e21daSmrg[_AS_DETECT_SUGGESTED([
3653549e21daSmrg  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
3654549e21daSmrg    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
3655549e21daSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
3656549e21daSmrg    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
3657549e21daSmrg    PATH=/empty FPATH=/empty; export PATH FPATH
3658549e21daSmrg    test "X`printf %s $ECHO`" = "X$ECHO" \
3659549e21daSmrg      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
3660ba6a1819Smrg
3661549e21daSmrg_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
3662549e21daSmrg_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
3663549e21daSmrg])# _LT_PROG_ECHO_BACKSLASH
3664ba6a1819Smrg
3665ba6a1819Smrg
3666549e21daSmrg# _LT_ENABLE_LOCK
3667549e21daSmrg# ---------------
3668549e21daSmrgm4_defun([_LT_ENABLE_LOCK],
3669ba6a1819Smrg[AC_ARG_ENABLE([libtool-lock],
3670549e21daSmrg  [AS_HELP_STRING([--disable-libtool-lock],
3671549e21daSmrg    [avoid locking (might break parallel builds)])])
3672ba6a1819Smrgtest "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
3673ba6a1819Smrg
3674ba6a1819Smrg# Some flags need to be propagated to the compiler or linker for good
3675ba6a1819Smrg# libtool support.
3676ba6a1819Smrgcase $host in
3677ba6a1819Smrgia64-*-hpux*)
3678ba6a1819Smrg  # Find out which ABI we are using.
3679ba6a1819Smrg  echo 'int i;' > conftest.$ac_ext
3680ba6a1819Smrg  if AC_TRY_EVAL(ac_compile); then
3681ba6a1819Smrg    case `/usr/bin/file conftest.$ac_objext` in
3682549e21daSmrg      *ELF-32*)
3683549e21daSmrg	HPUX_IA64_MODE="32"
3684549e21daSmrg	;;
3685549e21daSmrg      *ELF-64*)
3686549e21daSmrg	HPUX_IA64_MODE="64"
3687549e21daSmrg	;;
3688ba6a1819Smrg    esac
3689ba6a1819Smrg  fi
3690ba6a1819Smrg  rm -rf conftest*
3691ba6a1819Smrg  ;;
3692ba6a1819Smrg*-*-irix6*)
3693ba6a1819Smrg  # Find out which ABI we are using.
3694549e21daSmrg  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
3695ba6a1819Smrg  if AC_TRY_EVAL(ac_compile); then
3696549e21daSmrg    if test "$lt_cv_prog_gnu_ld" = yes; then
3697549e21daSmrg      case `/usr/bin/file conftest.$ac_objext` in
3698549e21daSmrg	*32-bit*)
3699549e21daSmrg	  LD="${LD-ld} -melf32bsmip"
3700549e21daSmrg	  ;;
3701549e21daSmrg	*N32*)
3702549e21daSmrg	  LD="${LD-ld} -melf32bmipn32"
3703549e21daSmrg	  ;;
3704549e21daSmrg	*64-bit*)
3705549e21daSmrg	  LD="${LD-ld} -melf64bmip"
3706549e21daSmrg	;;
3707549e21daSmrg      esac
3708549e21daSmrg    else
3709549e21daSmrg      case `/usr/bin/file conftest.$ac_objext` in
3710549e21daSmrg	*32-bit*)
3711549e21daSmrg	  LD="${LD-ld} -32"
3712549e21daSmrg	  ;;
3713549e21daSmrg	*N32*)
3714549e21daSmrg	  LD="${LD-ld} -n32"
3715549e21daSmrg	  ;;
3716549e21daSmrg	*64-bit*)
3717549e21daSmrg	  LD="${LD-ld} -64"
3718549e21daSmrg	  ;;
3719549e21daSmrg      esac
3720549e21daSmrg    fi
3721ba6a1819Smrg  fi
3722ba6a1819Smrg  rm -rf conftest*
3723ba6a1819Smrg  ;;
3724ba6a1819Smrg
3725549e21daSmrgx86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
3726549e21daSmrgs390*-*linux*|s390*-*tpf*|sparc*-*linux*)
3727ba6a1819Smrg  # Find out which ABI we are using.
3728ba6a1819Smrg  echo 'int i;' > conftest.$ac_ext
3729ba6a1819Smrg  if AC_TRY_EVAL(ac_compile); then
3730ba6a1819Smrg    case `/usr/bin/file conftest.o` in
3731549e21daSmrg      *32-bit*)
3732549e21daSmrg	case $host in
3733549e21daSmrg	  x86_64-*kfreebsd*-gnu)
3734549e21daSmrg	    LD="${LD-ld} -m elf_i386_fbsd"
3735549e21daSmrg	    ;;
3736549e21daSmrg	  x86_64-*linux*)
3737549e21daSmrg	    LD="${LD-ld} -m elf_i386"
3738549e21daSmrg	    ;;
3739549e21daSmrg	  ppc64-*linux*|powerpc64-*linux*)
3740549e21daSmrg	    LD="${LD-ld} -m elf32ppclinux"
3741549e21daSmrg	    ;;
3742549e21daSmrg	  s390x-*linux*)
3743549e21daSmrg	    LD="${LD-ld} -m elf_s390"
3744549e21daSmrg	    ;;
3745549e21daSmrg	  sparc64-*linux*)
3746549e21daSmrg	    LD="${LD-ld} -m elf32_sparc"
3747549e21daSmrg	    ;;
3748549e21daSmrg	esac
3749549e21daSmrg	;;
3750549e21daSmrg      *64-bit*)
3751549e21daSmrg	case $host in
3752549e21daSmrg	  x86_64-*kfreebsd*-gnu)
3753549e21daSmrg	    LD="${LD-ld} -m elf_x86_64_fbsd"
3754549e21daSmrg	    ;;
3755549e21daSmrg	  x86_64-*linux*)
3756549e21daSmrg	    LD="${LD-ld} -m elf_x86_64"
3757549e21daSmrg	    ;;
3758549e21daSmrg	  ppc*-*linux*|powerpc*-*linux*)
3759549e21daSmrg	    LD="${LD-ld} -m elf64ppc"
3760549e21daSmrg	    ;;
3761549e21daSmrg	  s390*-*linux*|s390*-*tpf*)
3762549e21daSmrg	    LD="${LD-ld} -m elf64_s390"
3763549e21daSmrg	    ;;
3764549e21daSmrg	  sparc*-*linux*)
3765549e21daSmrg	    LD="${LD-ld} -m elf64_sparc"
3766549e21daSmrg	    ;;
3767549e21daSmrg	esac
3768549e21daSmrg	;;
3769ba6a1819Smrg    esac
3770ba6a1819Smrg  fi
3771ba6a1819Smrg  rm -rf conftest*
3772ba6a1819Smrg  ;;
3773ba6a1819Smrg
3774ba6a1819Smrg*-*-sco3.2v5*)
3775ba6a1819Smrg  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
3776ba6a1819Smrg  SAVE_CFLAGS="$CFLAGS"
3777ba6a1819Smrg  CFLAGS="$CFLAGS -belf"
3778ba6a1819Smrg  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
3779ba6a1819Smrg    [AC_LANG_PUSH(C)
3780549e21daSmrg     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
3781ba6a1819Smrg     AC_LANG_POP])
3782ba6a1819Smrg  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
3783ba6a1819Smrg    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
3784ba6a1819Smrg    CFLAGS="$SAVE_CFLAGS"
3785ba6a1819Smrg  fi
3786ba6a1819Smrg  ;;
3787ba6a1819Smrgsparc*-*solaris*)
3788ba6a1819Smrg  # Find out which ABI we are using.
3789ba6a1819Smrg  echo 'int i;' > conftest.$ac_ext
3790ba6a1819Smrg  if AC_TRY_EVAL(ac_compile); then
3791ba6a1819Smrg    case `/usr/bin/file conftest.o` in
3792ba6a1819Smrg    *64-bit*)
3793ba6a1819Smrg      case $lt_cv_prog_gnu_ld in
3794ba6a1819Smrg      yes*) LD="${LD-ld} -m elf64_sparc" ;;
3795549e21daSmrg      *)
3796549e21daSmrg	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
3797549e21daSmrg	  LD="${LD-ld} -64"
3798549e21daSmrg	fi
3799549e21daSmrg	;;
3800ba6a1819Smrg      esac
3801ba6a1819Smrg      ;;
3802ba6a1819Smrg    esac
3803ba6a1819Smrg  fi
3804ba6a1819Smrg  rm -rf conftest*
3805ba6a1819Smrg  ;;
3806ba6a1819Smrgesac
3807ba6a1819Smrg
3808ba6a1819Smrgneed_locks="$enable_libtool_lock"
3809549e21daSmrg])# _LT_ENABLE_LOCK
3810549e21daSmrg
3811549e21daSmrg
3812549e21daSmrg# _LT_CMD_OLD_ARCHIVE
3813549e21daSmrg# -------------------
3814549e21daSmrgm4_defun([_LT_CMD_OLD_ARCHIVE],
3815549e21daSmrg[AC_CHECK_TOOL(AR, ar, false)
3816549e21daSmrgtest -z "$AR" && AR=ar
3817549e21daSmrgtest -z "$AR_FLAGS" && AR_FLAGS=cru
3818549e21daSmrg_LT_DECL([], [AR], [1], [The archiver])
3819549e21daSmrg_LT_DECL([], [AR_FLAGS], [1])
3820549e21daSmrg
3821549e21daSmrgAC_CHECK_TOOL(STRIP, strip, :)
3822549e21daSmrgtest -z "$STRIP" && STRIP=:
3823549e21daSmrg_LT_DECL([], [STRIP], [1], [A symbol stripping program])
3824549e21daSmrg
3825549e21daSmrgAC_CHECK_TOOL(RANLIB, ranlib, :)
3826549e21daSmrgtest -z "$RANLIB" && RANLIB=:
3827549e21daSmrg_LT_DECL([], [RANLIB], [1],
3828549e21daSmrg    [Commands used to install an old-style archive])
3829549e21daSmrg
3830549e21daSmrg# Determine commands to create old-style static archives.
3831549e21daSmrgold_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
3832549e21daSmrgold_postinstall_cmds='chmod 644 $oldlib'
3833549e21daSmrgold_postuninstall_cmds=
3834549e21daSmrg
3835549e21daSmrgif test -n "$RANLIB"; then
3836549e21daSmrg  case $host_os in
3837549e21daSmrg  openbsd*)
3838549e21daSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
3839549e21daSmrg    ;;
3840549e21daSmrg  *)
3841549e21daSmrg    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
3842549e21daSmrg    ;;
3843549e21daSmrg  esac
3844549e21daSmrg  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
3845549e21daSmrgfi
3846ba6a1819Smrg
3847549e21daSmrgcase $host_os in
3848549e21daSmrg  darwin*)
3849549e21daSmrg    lock_old_archive_extraction=yes ;;
3850549e21daSmrg  *)
3851549e21daSmrg    lock_old_archive_extraction=no ;;
3852549e21daSmrgesac
3853549e21daSmrg_LT_DECL([], [old_postinstall_cmds], [2])
3854549e21daSmrg_LT_DECL([], [old_postuninstall_cmds], [2])
3855549e21daSmrg_LT_TAGDECL([], [old_archive_cmds], [2],
3856549e21daSmrg    [Commands used to build an old-style archive])
3857549e21daSmrg_LT_DECL([], [lock_old_archive_extraction], [0],
3858549e21daSmrg    [Whether to use a lock for old archive extraction])
3859549e21daSmrg])# _LT_CMD_OLD_ARCHIVE
3860ba6a1819Smrg
3861ba6a1819Smrg
3862549e21daSmrg# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
3863ba6a1819Smrg#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
3864ba6a1819Smrg# ----------------------------------------------------------------
3865ba6a1819Smrg# Check whether the given compiler option works
3866549e21daSmrgAC_DEFUN([_LT_COMPILER_OPTION],
3867549e21daSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
3868549e21daSmrgm4_require([_LT_DECL_SED])dnl
3869ba6a1819SmrgAC_CACHE_CHECK([$1], [$2],
3870ba6a1819Smrg  [$2=no
3871549e21daSmrg   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
3872549e21daSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
3873ba6a1819Smrg   lt_compiler_flag="$3"
3874ba6a1819Smrg   # Insert the option either (1) after the last *FLAGS variable, or
3875ba6a1819Smrg   # (2) before a word containing "conftest.", or (3) at the end.
3876ba6a1819Smrg   # Note that $ac_compile itself does not contain backslashes and begins
3877ba6a1819Smrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
3878ba6a1819Smrg   # The option is referenced via a variable to avoid confusing sed.
3879ba6a1819Smrg   lt_compile=`echo "$ac_compile" | $SED \
3880ba6a1819Smrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
3881ba6a1819Smrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
3882ba6a1819Smrg   -e 's:$: $lt_compiler_flag:'`
3883549e21daSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
3884ba6a1819Smrg   (eval "$lt_compile" 2>conftest.err)
3885ba6a1819Smrg   ac_status=$?
3886ba6a1819Smrg   cat conftest.err >&AS_MESSAGE_LOG_FD
3887549e21daSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
3888ba6a1819Smrg   if (exit $ac_status) && test -s "$ac_outfile"; then
3889ba6a1819Smrg     # The compiler can only warn and ignore the option if not recognized
3890ba6a1819Smrg     # So say no if there are warnings other than the usual output.
3891549e21daSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
3892ba6a1819Smrg     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
3893ba6a1819Smrg     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
3894ba6a1819Smrg       $2=yes
3895ba6a1819Smrg     fi
3896ba6a1819Smrg   fi
3897549e21daSmrg   $RM conftest*
3898ba6a1819Smrg])
3899ba6a1819Smrg
3900ba6a1819Smrgif test x"[$]$2" = xyes; then
3901549e21daSmrg    m4_if([$5], , :, [$5])
3902ba6a1819Smrgelse
3903549e21daSmrg    m4_if([$6], , :, [$6])
3904ba6a1819Smrgfi
3905549e21daSmrg])# _LT_COMPILER_OPTION
3906ba6a1819Smrg
3907549e21daSmrg# Old name:
3908549e21daSmrgAU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
3909549e21daSmrgdnl aclocal-1.4 backwards compatibility:
3910549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
3911ba6a1819Smrg
3912549e21daSmrg
3913549e21daSmrg# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
3914549e21daSmrg#                  [ACTION-SUCCESS], [ACTION-FAILURE])
3915549e21daSmrg# ----------------------------------------------------
3916549e21daSmrg# Check whether the given linker option works
3917549e21daSmrgAC_DEFUN([_LT_LINKER_OPTION],
3918549e21daSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
3919549e21daSmrgm4_require([_LT_DECL_SED])dnl
3920549e21daSmrgAC_CACHE_CHECK([$1], [$2],
3921ba6a1819Smrg  [$2=no
3922ba6a1819Smrg   save_LDFLAGS="$LDFLAGS"
3923ba6a1819Smrg   LDFLAGS="$LDFLAGS $3"
3924549e21daSmrg   echo "$lt_simple_link_test_code" > conftest.$ac_ext
3925ba6a1819Smrg   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
3926ba6a1819Smrg     # The linker can only warn and ignore the option if not recognized
3927ba6a1819Smrg     # So say no if there are warnings
3928ba6a1819Smrg     if test -s conftest.err; then
3929ba6a1819Smrg       # Append any errors to the config.log.
3930ba6a1819Smrg       cat conftest.err 1>&AS_MESSAGE_LOG_FD
3931549e21daSmrg       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
3932ba6a1819Smrg       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
3933ba6a1819Smrg       if diff conftest.exp conftest.er2 >/dev/null; then
3934ba6a1819Smrg         $2=yes
3935ba6a1819Smrg       fi
3936ba6a1819Smrg     else
3937ba6a1819Smrg       $2=yes
3938ba6a1819Smrg     fi
3939ba6a1819Smrg   fi
3940549e21daSmrg   $RM -r conftest*
3941ba6a1819Smrg   LDFLAGS="$save_LDFLAGS"
3942ba6a1819Smrg])
3943ba6a1819Smrg
3944ba6a1819Smrgif test x"[$]$2" = xyes; then
3945549e21daSmrg    m4_if([$4], , :, [$4])
3946ba6a1819Smrgelse
3947549e21daSmrg    m4_if([$5], , :, [$5])
3948ba6a1819Smrgfi
3949549e21daSmrg])# _LT_LINKER_OPTION
3950ba6a1819Smrg
3951549e21daSmrg# Old name:
3952549e21daSmrgAU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
3953549e21daSmrgdnl aclocal-1.4 backwards compatibility:
3954549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
3955ba6a1819Smrg
3956549e21daSmrg
3957549e21daSmrg# LT_CMD_MAX_LEN
3958549e21daSmrg#---------------
3959549e21daSmrgAC_DEFUN([LT_CMD_MAX_LEN],
3960549e21daSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3961549e21daSmrg# find the maximum length of command line arguments
3962ba6a1819SmrgAC_MSG_CHECKING([the maximum length of command line arguments])
3963ba6a1819SmrgAC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
3964ba6a1819Smrg  i=0
3965ba6a1819Smrg  teststring="ABCD"
3966ba6a1819Smrg
3967ba6a1819Smrg  case $build_os in
3968ba6a1819Smrg  msdosdjgpp*)
3969ba6a1819Smrg    # On DJGPP, this test can blow up pretty badly due to problems in libc
3970ba6a1819Smrg    # (any single argument exceeding 2000 bytes causes a buffer overrun
3971ba6a1819Smrg    # during glob expansion).  Even if it were fixed, the result of this
3972ba6a1819Smrg    # check would be larger than it should be.
3973ba6a1819Smrg    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
3974ba6a1819Smrg    ;;
3975ba6a1819Smrg
3976ba6a1819Smrg  gnu*)
3977ba6a1819Smrg    # Under GNU Hurd, this test is not required because there is
3978ba6a1819Smrg    # no limit to the length of command line arguments.
3979ba6a1819Smrg    # Libtool will interpret -1 as no limit whatsoever
3980ba6a1819Smrg    lt_cv_sys_max_cmd_len=-1;
3981ba6a1819Smrg    ;;
3982ba6a1819Smrg
3983549e21daSmrg  cygwin* | mingw* | cegcc*)
3984ba6a1819Smrg    # On Win9x/ME, this test blows up -- it succeeds, but takes
3985ba6a1819Smrg    # about 5 minutes as the teststring grows exponentially.
3986ba6a1819Smrg    # Worse, since 9x/ME are not pre-emptively multitasking,
3987ba6a1819Smrg    # you end up with a "frozen" computer, even though with patience
3988ba6a1819Smrg    # the test eventually succeeds (with a max line length of 256k).
3989ba6a1819Smrg    # Instead, let's just punt: use the minimum linelength reported by
3990ba6a1819Smrg    # all of the supported platforms: 8192 (on NT/2K/XP).
3991ba6a1819Smrg    lt_cv_sys_max_cmd_len=8192;
3992ba6a1819Smrg    ;;
3993ba6a1819Smrg
3994549e21daSmrg  mint*)
3995549e21daSmrg    # On MiNT this can take a long time and run out of memory.
3996549e21daSmrg    lt_cv_sys_max_cmd_len=8192;
3997549e21daSmrg    ;;
3998549e21daSmrg
3999ba6a1819Smrg  amigaos*)
4000ba6a1819Smrg    # On AmigaOS with pdksh, this test takes hours, literally.
4001ba6a1819Smrg    # So we just punt and use a minimum line length of 8192.
4002ba6a1819Smrg    lt_cv_sys_max_cmd_len=8192;
4003ba6a1819Smrg    ;;
4004ba6a1819Smrg
4005ba6a1819Smrg  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
4006ba6a1819Smrg    # This has been around since 386BSD, at least.  Likely further.
4007ba6a1819Smrg    if test -x /sbin/sysctl; then
4008ba6a1819Smrg      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
4009ba6a1819Smrg    elif test -x /usr/sbin/sysctl; then
4010ba6a1819Smrg      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
4011ba6a1819Smrg    else
4012ba6a1819Smrg      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
4013ba6a1819Smrg    fi
4014ba6a1819Smrg    # And add a safety zone
4015ba6a1819Smrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
4016ba6a1819Smrg    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
4017ba6a1819Smrg    ;;
4018ba6a1819Smrg
4019ba6a1819Smrg  interix*)
4020ba6a1819Smrg    # We know the value 262144 and hardcode it with a safety zone (like BSD)
4021ba6a1819Smrg    lt_cv_sys_max_cmd_len=196608
4022ba6a1819Smrg    ;;
4023ba6a1819Smrg
4024ba6a1819Smrg  osf*)
4025ba6a1819Smrg    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
4026ba6a1819Smrg    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
4027ba6a1819Smrg    # nice to cause kernel panics so lets avoid the loop below.
4028ba6a1819Smrg    # First set a reasonable default.
4029ba6a1819Smrg    lt_cv_sys_max_cmd_len=16384
4030ba6a1819Smrg    #
4031ba6a1819Smrg    if test -x /sbin/sysconfig; then
4032ba6a1819Smrg      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
4033ba6a1819Smrg        *1*) lt_cv_sys_max_cmd_len=-1 ;;
4034ba6a1819Smrg      esac
4035ba6a1819Smrg    fi
4036ba6a1819Smrg    ;;
4037ba6a1819Smrg  sco3.2v5*)
4038ba6a1819Smrg    lt_cv_sys_max_cmd_len=102400
4039ba6a1819Smrg    ;;
4040ba6a1819Smrg  sysv5* | sco5v6* | sysv4.2uw2*)
4041ba6a1819Smrg    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
4042ba6a1819Smrg    if test -n "$kargmax"; then
4043549e21daSmrg      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
4044ba6a1819Smrg    else
4045ba6a1819Smrg      lt_cv_sys_max_cmd_len=32768
4046ba6a1819Smrg    fi
4047ba6a1819Smrg    ;;
4048ba6a1819Smrg  *)
4049549e21daSmrg    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
4050549e21daSmrg    if test -n "$lt_cv_sys_max_cmd_len"; then
4051549e21daSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
4052549e21daSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
4053549e21daSmrg    else
4054549e21daSmrg      # Make teststring a little bigger before we do anything with it.
4055549e21daSmrg      # a 1K string should be a reasonable start.
4056549e21daSmrg      for i in 1 2 3 4 5 6 7 8 ; do
4057549e21daSmrg        teststring=$teststring$teststring
4058549e21daSmrg      done
4059549e21daSmrg      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
4060549e21daSmrg      # If test is not a shell built-in, we'll probably end up computing a
4061549e21daSmrg      # maximum length that is only half of the actual maximum length, but
4062549e21daSmrg      # we can't tell.
4063549e21daSmrg      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
4064549e21daSmrg	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
4065549e21daSmrg	      test $i != 17 # 1/2 MB should be enough
4066549e21daSmrg      do
4067549e21daSmrg        i=`expr $i + 1`
4068549e21daSmrg        teststring=$teststring$teststring
4069549e21daSmrg      done
4070549e21daSmrg      # Only check the string length outside the loop.
4071549e21daSmrg      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
4072549e21daSmrg      teststring=
4073549e21daSmrg      # Add a significant safety factor because C++ compilers can tack on
4074549e21daSmrg      # massive amounts of additional arguments before passing them to the
4075549e21daSmrg      # linker.  It appears as though 1/2 is a usable value.
4076549e21daSmrg      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
4077549e21daSmrg    fi
4078ba6a1819Smrg    ;;
4079ba6a1819Smrg  esac
4080ba6a1819Smrg])
4081ba6a1819Smrgif test -n $lt_cv_sys_max_cmd_len ; then
4082ba6a1819Smrg  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
4083ba6a1819Smrgelse
4084ba6a1819Smrg  AC_MSG_RESULT(none)
4085ba6a1819Smrgfi
4086549e21daSmrgmax_cmd_len=$lt_cv_sys_max_cmd_len
4087549e21daSmrg_LT_DECL([], [max_cmd_len], [0],
4088549e21daSmrg    [What is the maximum length of a command?])
4089549e21daSmrg])# LT_CMD_MAX_LEN
4090ba6a1819Smrg
4091549e21daSmrg# Old name:
4092549e21daSmrgAU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
4093549e21daSmrgdnl aclocal-1.4 backwards compatibility:
4094549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
4095ba6a1819Smrg
4096549e21daSmrg
4097549e21daSmrg# _LT_HEADER_DLFCN
4098549e21daSmrg# ----------------
4099549e21daSmrgm4_defun([_LT_HEADER_DLFCN],
4100549e21daSmrg[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
4101549e21daSmrg])# _LT_HEADER_DLFCN
4102ba6a1819Smrg
4103ba6a1819Smrg
4104549e21daSmrg# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
4105549e21daSmrg#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
4106549e21daSmrg# ----------------------------------------------------------------
4107549e21daSmrgm4_defun([_LT_TRY_DLOPEN_SELF],
4108549e21daSmrg[m4_require([_LT_HEADER_DLFCN])dnl
4109ba6a1819Smrgif test "$cross_compiling" = yes; then :
4110ba6a1819Smrg  [$4]
4111ba6a1819Smrgelse
4112ba6a1819Smrg  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
4113ba6a1819Smrg  lt_status=$lt_dlunknown
4114549e21daSmrg  cat > conftest.$ac_ext <<_LT_EOF
4115549e21daSmrg[#line $LINENO "configure"
4116ba6a1819Smrg#include "confdefs.h"
4117ba6a1819Smrg
4118ba6a1819Smrg#if HAVE_DLFCN_H
4119ba6a1819Smrg#include <dlfcn.h>
4120ba6a1819Smrg#endif
4121ba6a1819Smrg
4122ba6a1819Smrg#include <stdio.h>
4123ba6a1819Smrg
4124ba6a1819Smrg#ifdef RTLD_GLOBAL
4125ba6a1819Smrg#  define LT_DLGLOBAL		RTLD_GLOBAL
4126ba6a1819Smrg#else
4127ba6a1819Smrg#  ifdef DL_GLOBAL
4128ba6a1819Smrg#    define LT_DLGLOBAL		DL_GLOBAL
4129ba6a1819Smrg#  else
4130ba6a1819Smrg#    define LT_DLGLOBAL		0
4131ba6a1819Smrg#  endif
4132ba6a1819Smrg#endif
4133ba6a1819Smrg
4134ba6a1819Smrg/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
4135ba6a1819Smrg   find out it does not work in some platform. */
4136ba6a1819Smrg#ifndef LT_DLLAZY_OR_NOW
4137ba6a1819Smrg#  ifdef RTLD_LAZY
4138ba6a1819Smrg#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
4139ba6a1819Smrg#  else
4140ba6a1819Smrg#    ifdef DL_LAZY
4141ba6a1819Smrg#      define LT_DLLAZY_OR_NOW		DL_LAZY
4142ba6a1819Smrg#    else
4143ba6a1819Smrg#      ifdef RTLD_NOW
4144ba6a1819Smrg#        define LT_DLLAZY_OR_NOW	RTLD_NOW
4145ba6a1819Smrg#      else
4146ba6a1819Smrg#        ifdef DL_NOW
4147ba6a1819Smrg#          define LT_DLLAZY_OR_NOW	DL_NOW
4148ba6a1819Smrg#        else
4149ba6a1819Smrg#          define LT_DLLAZY_OR_NOW	0
4150ba6a1819Smrg#        endif
4151ba6a1819Smrg#      endif
4152ba6a1819Smrg#    endif
4153ba6a1819Smrg#  endif
4154ba6a1819Smrg#endif
4155ba6a1819Smrg
4156549e21daSmrg/* When -fvisbility=hidden is used, assume the code has been annotated
4157549e21daSmrg   correspondingly for the symbols needed.  */
4158549e21daSmrg#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
4159549e21daSmrgvoid fnord () __attribute__((visibility("default")));
4160ba6a1819Smrg#endif
4161ba6a1819Smrg
4162549e21daSmrgvoid fnord () { int i=42; }
4163ba6a1819Smrgint main ()
4164ba6a1819Smrg{
4165ba6a1819Smrg  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
4166ba6a1819Smrg  int status = $lt_dlunknown;
4167ba6a1819Smrg
4168ba6a1819Smrg  if (self)
4169ba6a1819Smrg    {
4170ba6a1819Smrg      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
4171549e21daSmrg      else
4172549e21daSmrg        {
4173549e21daSmrg	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
4174549e21daSmrg          else puts (dlerror ());
4175549e21daSmrg	}
4176ba6a1819Smrg      /* dlclose (self); */
4177ba6a1819Smrg    }
4178ba6a1819Smrg  else
4179ba6a1819Smrg    puts (dlerror ());
4180ba6a1819Smrg
4181549e21daSmrg  return status;
4182ba6a1819Smrg}]
4183549e21daSmrg_LT_EOF
4184ba6a1819Smrg  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
4185ba6a1819Smrg    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
4186ba6a1819Smrg    lt_status=$?
4187ba6a1819Smrg    case x$lt_status in
4188ba6a1819Smrg      x$lt_dlno_uscore) $1 ;;
4189ba6a1819Smrg      x$lt_dlneed_uscore) $2 ;;
4190ba6a1819Smrg      x$lt_dlunknown|x*) $3 ;;
4191ba6a1819Smrg    esac
4192ba6a1819Smrg  else :
4193ba6a1819Smrg    # compilation failed
4194ba6a1819Smrg    $3
4195ba6a1819Smrg  fi
4196ba6a1819Smrgfi
4197ba6a1819Smrgrm -fr conftest*
4198549e21daSmrg])# _LT_TRY_DLOPEN_SELF
4199ba6a1819Smrg
4200ba6a1819Smrg
4201549e21daSmrg# LT_SYS_DLOPEN_SELF
4202549e21daSmrg# ------------------
4203549e21daSmrgAC_DEFUN([LT_SYS_DLOPEN_SELF],
4204549e21daSmrg[m4_require([_LT_HEADER_DLFCN])dnl
4205ba6a1819Smrgif test "x$enable_dlopen" != xyes; then
4206ba6a1819Smrg  enable_dlopen=unknown
4207ba6a1819Smrg  enable_dlopen_self=unknown
4208ba6a1819Smrg  enable_dlopen_self_static=unknown
4209ba6a1819Smrgelse
4210ba6a1819Smrg  lt_cv_dlopen=no
4211ba6a1819Smrg  lt_cv_dlopen_libs=
4212ba6a1819Smrg
4213ba6a1819Smrg  case $host_os in
4214ba6a1819Smrg  beos*)
4215ba6a1819Smrg    lt_cv_dlopen="load_add_on"
4216ba6a1819Smrg    lt_cv_dlopen_libs=
4217ba6a1819Smrg    lt_cv_dlopen_self=yes
4218ba6a1819Smrg    ;;
4219ba6a1819Smrg
4220549e21daSmrg  mingw* | pw32* | cegcc*)
4221ba6a1819Smrg    lt_cv_dlopen="LoadLibrary"
4222ba6a1819Smrg    lt_cv_dlopen_libs=
4223549e21daSmrg    ;;
4224ba6a1819Smrg
4225ba6a1819Smrg  cygwin*)
4226ba6a1819Smrg    lt_cv_dlopen="dlopen"
4227ba6a1819Smrg    lt_cv_dlopen_libs=
4228549e21daSmrg    ;;
4229ba6a1819Smrg
4230ba6a1819Smrg  darwin*)
4231ba6a1819Smrg  # if libdl is installed we need to link against it
4232ba6a1819Smrg    AC_CHECK_LIB([dl], [dlopen],
4233ba6a1819Smrg		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
4234ba6a1819Smrg    lt_cv_dlopen="dyld"
4235ba6a1819Smrg    lt_cv_dlopen_libs=
4236ba6a1819Smrg    lt_cv_dlopen_self=yes
4237ba6a1819Smrg    ])
4238549e21daSmrg    ;;
4239ba6a1819Smrg
4240ba6a1819Smrg  *)
4241ba6a1819Smrg    AC_CHECK_FUNC([shl_load],
4242ba6a1819Smrg	  [lt_cv_dlopen="shl_load"],
4243ba6a1819Smrg      [AC_CHECK_LIB([dld], [shl_load],
4244549e21daSmrg	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
4245ba6a1819Smrg	[AC_CHECK_FUNC([dlopen],
4246ba6a1819Smrg	      [lt_cv_dlopen="dlopen"],
4247ba6a1819Smrg	  [AC_CHECK_LIB([dl], [dlopen],
4248ba6a1819Smrg		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
4249ba6a1819Smrg	    [AC_CHECK_LIB([svld], [dlopen],
4250ba6a1819Smrg		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
4251ba6a1819Smrg	      [AC_CHECK_LIB([dld], [dld_link],
4252549e21daSmrg		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
4253ba6a1819Smrg	      ])
4254ba6a1819Smrg	    ])
4255ba6a1819Smrg	  ])
4256ba6a1819Smrg	])
4257ba6a1819Smrg      ])
4258ba6a1819Smrg    ;;
4259ba6a1819Smrg  esac
4260ba6a1819Smrg
4261ba6a1819Smrg  if test "x$lt_cv_dlopen" != xno; then
4262ba6a1819Smrg    enable_dlopen=yes
4263ba6a1819Smrg  else
4264ba6a1819Smrg    enable_dlopen=no
4265ba6a1819Smrg  fi
4266ba6a1819Smrg
4267ba6a1819Smrg  case $lt_cv_dlopen in
4268ba6a1819Smrg  dlopen)
4269ba6a1819Smrg    save_CPPFLAGS="$CPPFLAGS"
4270ba6a1819Smrg    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
4271ba6a1819Smrg
4272ba6a1819Smrg    save_LDFLAGS="$LDFLAGS"
4273ba6a1819Smrg    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
4274ba6a1819Smrg
4275ba6a1819Smrg    save_LIBS="$LIBS"
4276ba6a1819Smrg    LIBS="$lt_cv_dlopen_libs $LIBS"
4277ba6a1819Smrg
4278ba6a1819Smrg    AC_CACHE_CHECK([whether a program can dlopen itself],
4279ba6a1819Smrg	  lt_cv_dlopen_self, [dnl
4280549e21daSmrg	  _LT_TRY_DLOPEN_SELF(
4281ba6a1819Smrg	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
4282ba6a1819Smrg	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
4283ba6a1819Smrg    ])
4284ba6a1819Smrg
4285ba6a1819Smrg    if test "x$lt_cv_dlopen_self" = xyes; then
4286ba6a1819Smrg      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
4287ba6a1819Smrg      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
4288549e21daSmrg	  lt_cv_dlopen_self_static, [dnl
4289549e21daSmrg	  _LT_TRY_DLOPEN_SELF(
4290ba6a1819Smrg	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
4291ba6a1819Smrg	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
4292ba6a1819Smrg      ])
4293ba6a1819Smrg    fi
4294ba6a1819Smrg
4295ba6a1819Smrg    CPPFLAGS="$save_CPPFLAGS"
4296ba6a1819Smrg    LDFLAGS="$save_LDFLAGS"
4297ba6a1819Smrg    LIBS="$save_LIBS"
4298ba6a1819Smrg    ;;
4299ba6a1819Smrg  esac
4300ba6a1819Smrg
4301ba6a1819Smrg  case $lt_cv_dlopen_self in
4302ba6a1819Smrg  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
4303ba6a1819Smrg  *) enable_dlopen_self=unknown ;;
4304ba6a1819Smrg  esac
4305ba6a1819Smrg
4306ba6a1819Smrg  case $lt_cv_dlopen_self_static in
4307ba6a1819Smrg  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
4308ba6a1819Smrg  *) enable_dlopen_self_static=unknown ;;
4309ba6a1819Smrg  esac
4310ba6a1819Smrgfi
4311549e21daSmrg_LT_DECL([dlopen_support], [enable_dlopen], [0],
4312549e21daSmrg	 [Whether dlopen is supported])
4313549e21daSmrg_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
4314549e21daSmrg	 [Whether dlopen of programs is supported])
4315549e21daSmrg_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
4316549e21daSmrg	 [Whether dlopen of statically linked programs is supported])
4317549e21daSmrg])# LT_SYS_DLOPEN_SELF
4318ba6a1819Smrg
4319549e21daSmrg# Old name:
4320549e21daSmrgAU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
4321549e21daSmrgdnl aclocal-1.4 backwards compatibility:
4322549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
4323ba6a1819Smrg
4324549e21daSmrg
4325549e21daSmrg# _LT_COMPILER_C_O([TAGNAME])
4326549e21daSmrg# ---------------------------
4327549e21daSmrg# Check to see if options -c and -o are simultaneously supported by compiler.
4328549e21daSmrg# This macro does not hard code the compiler like AC_PROG_CC_C_O.
4329549e21daSmrgm4_defun([_LT_COMPILER_C_O],
4330549e21daSmrg[m4_require([_LT_DECL_SED])dnl
4331549e21daSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
4332549e21daSmrgm4_require([_LT_TAG_COMPILER])dnl
4333ba6a1819SmrgAC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
4334549e21daSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
4335549e21daSmrg  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
4336549e21daSmrg   $RM -r conftest 2>/dev/null
4337ba6a1819Smrg   mkdir conftest
4338ba6a1819Smrg   cd conftest
4339ba6a1819Smrg   mkdir out
4340549e21daSmrg   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
4341ba6a1819Smrg
4342ba6a1819Smrg   lt_compiler_flag="-o out/conftest2.$ac_objext"
4343ba6a1819Smrg   # Insert the option either (1) after the last *FLAGS variable, or
4344ba6a1819Smrg   # (2) before a word containing "conftest.", or (3) at the end.
4345ba6a1819Smrg   # Note that $ac_compile itself does not contain backslashes and begins
4346ba6a1819Smrg   # with a dollar sign (not a hyphen), so the echo should work correctly.
4347ba6a1819Smrg   lt_compile=`echo "$ac_compile" | $SED \
4348ba6a1819Smrg   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
4349ba6a1819Smrg   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
4350ba6a1819Smrg   -e 's:$: $lt_compiler_flag:'`
4351549e21daSmrg   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
4352ba6a1819Smrg   (eval "$lt_compile" 2>out/conftest.err)
4353ba6a1819Smrg   ac_status=$?
4354ba6a1819Smrg   cat out/conftest.err >&AS_MESSAGE_LOG_FD
4355549e21daSmrg   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
4356ba6a1819Smrg   if (exit $ac_status) && test -s out/conftest2.$ac_objext
4357ba6a1819Smrg   then
4358ba6a1819Smrg     # The compiler can only warn and ignore the option if not recognized
4359ba6a1819Smrg     # So say no if there are warnings
4360549e21daSmrg     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
4361ba6a1819Smrg     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
4362ba6a1819Smrg     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
4363549e21daSmrg       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
4364ba6a1819Smrg     fi
4365ba6a1819Smrg   fi
4366ba6a1819Smrg   chmod u+w . 2>&AS_MESSAGE_LOG_FD
4367549e21daSmrg   $RM conftest*
4368ba6a1819Smrg   # SGI C++ compiler will create directory out/ii_files/ for
4369ba6a1819Smrg   # template instantiation
4370549e21daSmrg   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
4371549e21daSmrg   $RM out/* && rmdir out
4372ba6a1819Smrg   cd ..
4373549e21daSmrg   $RM -r conftest
4374549e21daSmrg   $RM conftest*
4375ba6a1819Smrg])
4376549e21daSmrg_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
4377549e21daSmrg	[Does compiler simultaneously support -c and -o options?])
4378549e21daSmrg])# _LT_COMPILER_C_O
4379ba6a1819Smrg
4380ba6a1819Smrg
4381549e21daSmrg# _LT_COMPILER_FILE_LOCKS([TAGNAME])
4382549e21daSmrg# ----------------------------------
4383ba6a1819Smrg# Check to see if we can do hard links to lock some files if needed
4384549e21daSmrgm4_defun([_LT_COMPILER_FILE_LOCKS],
4385549e21daSmrg[m4_require([_LT_ENABLE_LOCK])dnl
4386549e21daSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
4387549e21daSmrg_LT_COMPILER_C_O([$1])
4388ba6a1819Smrg
4389ba6a1819Smrghard_links="nottested"
4390549e21daSmrgif test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
4391ba6a1819Smrg  # do not overwrite the value of need_locks provided by the user
4392ba6a1819Smrg  AC_MSG_CHECKING([if we can lock with hard links])
4393ba6a1819Smrg  hard_links=yes
4394549e21daSmrg  $RM conftest*
4395ba6a1819Smrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
4396ba6a1819Smrg  touch conftest.a
4397ba6a1819Smrg  ln conftest.a conftest.b 2>&5 || hard_links=no
4398ba6a1819Smrg  ln conftest.a conftest.b 2>/dev/null && hard_links=no
4399ba6a1819Smrg  AC_MSG_RESULT([$hard_links])
4400ba6a1819Smrg  if test "$hard_links" = no; then
4401ba6a1819Smrg    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
4402ba6a1819Smrg    need_locks=warn
4403ba6a1819Smrg  fi
4404ba6a1819Smrgelse
4405ba6a1819Smrg  need_locks=no
4406ba6a1819Smrgfi
4407549e21daSmrg_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
4408549e21daSmrg])# _LT_COMPILER_FILE_LOCKS
4409ba6a1819Smrg
4410ba6a1819Smrg
4411549e21daSmrg# _LT_CHECK_OBJDIR
4412549e21daSmrg# ----------------
4413549e21daSmrgm4_defun([_LT_CHECK_OBJDIR],
4414ba6a1819Smrg[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
4415ba6a1819Smrg[rm -f .libs 2>/dev/null
4416ba6a1819Smrgmkdir .libs 2>/dev/null
4417ba6a1819Smrgif test -d .libs; then
4418ba6a1819Smrg  lt_cv_objdir=.libs
4419ba6a1819Smrgelse
4420ba6a1819Smrg  # MS-DOS does not allow filenames that begin with a dot.
4421ba6a1819Smrg  lt_cv_objdir=_libs
4422ba6a1819Smrgfi
4423ba6a1819Smrgrmdir .libs 2>/dev/null])
4424ba6a1819Smrgobjdir=$lt_cv_objdir
4425549e21daSmrg_LT_DECL([], [objdir], [0],
4426549e21daSmrg         [The name of the directory that contains temporary libtool files])dnl
4427549e21daSmrgm4_pattern_allow([LT_OBJDIR])dnl
4428549e21daSmrgAC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
4429549e21daSmrg  [Define to the sub-directory in which libtool stores uninstalled libraries.])
4430549e21daSmrg])# _LT_CHECK_OBJDIR
4431ba6a1819Smrg
4432ba6a1819Smrg
4433549e21daSmrg# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
4434549e21daSmrg# --------------------------------------
4435ba6a1819Smrg# Check hardcoding attributes.
4436549e21daSmrgm4_defun([_LT_LINKER_HARDCODE_LIBPATH],
4437ba6a1819Smrg[AC_MSG_CHECKING([how to hardcode library paths into programs])
4438549e21daSmrg_LT_TAGVAR(hardcode_action, $1)=
4439549e21daSmrgif test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
4440549e21daSmrg   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
4441549e21daSmrg   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
4442ba6a1819Smrg
4443549e21daSmrg  # We can hardcode non-existent directories.
4444549e21daSmrg  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
4445ba6a1819Smrg     # If the only mechanism to avoid hardcoding is shlibpath_var, we
4446ba6a1819Smrg     # have to relink, otherwise we might link with an installed library
4447ba6a1819Smrg     # when we should be linking with a yet-to-be-installed one
4448549e21daSmrg     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
4449549e21daSmrg     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
4450ba6a1819Smrg    # Linking always hardcodes the temporary library directory.
4451549e21daSmrg    _LT_TAGVAR(hardcode_action, $1)=relink
4452ba6a1819Smrg  else
4453ba6a1819Smrg    # We can link without hardcoding, and we can hardcode nonexisting dirs.
4454549e21daSmrg    _LT_TAGVAR(hardcode_action, $1)=immediate
4455ba6a1819Smrg  fi
4456ba6a1819Smrgelse
4457ba6a1819Smrg  # We cannot hardcode anything, or else we can only hardcode existing
4458ba6a1819Smrg  # directories.
4459549e21daSmrg  _LT_TAGVAR(hardcode_action, $1)=unsupported
4460ba6a1819Smrgfi
4461549e21daSmrgAC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
4462ba6a1819Smrg
4463549e21daSmrgif test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
4464549e21daSmrg   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
4465ba6a1819Smrg  # Fast installation is not supported
4466ba6a1819Smrg  enable_fast_install=no
4467ba6a1819Smrgelif test "$shlibpath_overrides_runpath" = yes ||
4468ba6a1819Smrg     test "$enable_shared" = no; then
4469ba6a1819Smrg  # Fast installation is not necessary
4470ba6a1819Smrg  enable_fast_install=needless
4471ba6a1819Smrgfi
4472549e21daSmrg_LT_TAGDECL([], [hardcode_action], [0],
4473549e21daSmrg    [How to hardcode a shared library path into an executable])
4474549e21daSmrg])# _LT_LINKER_HARDCODE_LIBPATH
4475ba6a1819Smrg
4476ba6a1819Smrg
4477549e21daSmrg# _LT_CMD_STRIPLIB
4478549e21daSmrg# ----------------
4479549e21daSmrgm4_defun([_LT_CMD_STRIPLIB],
4480549e21daSmrg[m4_require([_LT_DECL_EGREP])
4481549e21daSmrgstriplib=
4482ba6a1819Smrgold_striplib=
4483ba6a1819SmrgAC_MSG_CHECKING([whether stripping libraries is possible])
4484549e21daSmrgif test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
4485ba6a1819Smrg  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
4486ba6a1819Smrg  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
4487ba6a1819Smrg  AC_MSG_RESULT([yes])
4488ba6a1819Smrgelse
4489ba6a1819Smrg# FIXME - insert some real tests, host_os isn't really good enough
4490ba6a1819Smrg  case $host_os in
4491549e21daSmrg  darwin*)
4492549e21daSmrg    if test -n "$STRIP" ; then
4493549e21daSmrg      striplib="$STRIP -x"
4494549e21daSmrg      old_striplib="$STRIP -S"
4495549e21daSmrg      AC_MSG_RESULT([yes])
4496549e21daSmrg    else
4497549e21daSmrg      AC_MSG_RESULT([no])
4498549e21daSmrg    fi
4499549e21daSmrg    ;;
4500549e21daSmrg  *)
4501549e21daSmrg    AC_MSG_RESULT([no])
4502ba6a1819Smrg    ;;
4503ba6a1819Smrg  esac
4504ba6a1819Smrgfi
4505549e21daSmrg_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
4506549e21daSmrg_LT_DECL([], [striplib], [1])
4507549e21daSmrg])# _LT_CMD_STRIPLIB
4508ba6a1819Smrg
4509ba6a1819Smrg
4510549e21daSmrg# _LT_SYS_DYNAMIC_LINKER([TAG])
4511ba6a1819Smrg# -----------------------------
4512ba6a1819Smrg# PORTME Fill in your ld.so characteristics
4513549e21daSmrgm4_defun([_LT_SYS_DYNAMIC_LINKER],
4514549e21daSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
4515549e21daSmrgm4_require([_LT_DECL_EGREP])dnl
4516549e21daSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
4517549e21daSmrgm4_require([_LT_DECL_OBJDUMP])dnl
4518549e21daSmrgm4_require([_LT_DECL_SED])dnl
4519549e21daSmrgm4_require([_LT_CHECK_SHELL_FEATURES])dnl
4520549e21daSmrgAC_MSG_CHECKING([dynamic linker characteristics])
4521549e21daSmrgm4_if([$1],
4522549e21daSmrg	[], [
4523549e21daSmrgif test "$GCC" = yes; then
4524549e21daSmrg  case $host_os in
4525549e21daSmrg    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
4526549e21daSmrg    *) lt_awk_arg="/^libraries:/" ;;
4527549e21daSmrg  esac
4528549e21daSmrg  case $host_os in
4529549e21daSmrg    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
4530549e21daSmrg    *) lt_sed_strip_eq="s,=/,/,g" ;;
4531549e21daSmrg  esac
4532549e21daSmrg  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
4533549e21daSmrg  case $lt_search_path_spec in
4534549e21daSmrg  *\;*)
4535549e21daSmrg    # if the path contains ";" then we assume it to be the separator
4536549e21daSmrg    # otherwise default to the standard path separator (i.e. ":") - it is
4537549e21daSmrg    # assumed that no part of a normal pathname contains ";" but that should
4538549e21daSmrg    # okay in the real world where ";" in dirpaths is itself problematic.
4539549e21daSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
4540549e21daSmrg    ;;
4541549e21daSmrg  *)
4542549e21daSmrg    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
4543549e21daSmrg    ;;
4544549e21daSmrg  esac
4545549e21daSmrg  # Ok, now we have the path, separated by spaces, we can step through it
4546549e21daSmrg  # and add multilib dir if necessary.
4547549e21daSmrg  lt_tmp_lt_search_path_spec=
4548549e21daSmrg  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
4549549e21daSmrg  for lt_sys_path in $lt_search_path_spec; do
4550549e21daSmrg    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
4551549e21daSmrg      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
4552549e21daSmrg    else
4553549e21daSmrg      test -d "$lt_sys_path" && \
4554549e21daSmrg	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
4555549e21daSmrg    fi
4556549e21daSmrg  done
4557549e21daSmrg  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
4558549e21daSmrgBEGIN {RS=" "; FS="/|\n";} {
4559549e21daSmrg  lt_foo="";
4560549e21daSmrg  lt_count=0;
4561549e21daSmrg  for (lt_i = NF; lt_i > 0; lt_i--) {
4562549e21daSmrg    if ($lt_i != "" && $lt_i != ".") {
4563549e21daSmrg      if ($lt_i == "..") {
4564549e21daSmrg        lt_count++;
4565549e21daSmrg      } else {
4566549e21daSmrg        if (lt_count == 0) {
4567549e21daSmrg          lt_foo="/" $lt_i lt_foo;
4568549e21daSmrg        } else {
4569549e21daSmrg          lt_count--;
4570549e21daSmrg        }
4571549e21daSmrg      }
4572549e21daSmrg    }
4573549e21daSmrg  }
4574549e21daSmrg  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
4575549e21daSmrg  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
4576549e21daSmrg}'`
4577549e21daSmrg  # AWK program above erroneously prepends '/' to C:/dos/paths
4578549e21daSmrg  # for these hosts.
4579549e21daSmrg  case $host_os in
4580549e21daSmrg    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
4581549e21daSmrg      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
4582549e21daSmrg  esac
4583549e21daSmrg  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
4584549e21daSmrgelse
4585549e21daSmrg  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
4586549e21daSmrgfi])
4587ba6a1819Smrglibrary_names_spec=
4588ba6a1819Smrglibname_spec='lib$name'
4589ba6a1819Smrgsoname_spec=
4590ba6a1819Smrgshrext_cmds=".so"
4591ba6a1819Smrgpostinstall_cmds=
4592ba6a1819Smrgpostuninstall_cmds=
4593ba6a1819Smrgfinish_cmds=
4594ba6a1819Smrgfinish_eval=
4595ba6a1819Smrgshlibpath_var=
4596ba6a1819Smrgshlibpath_overrides_runpath=unknown
4597ba6a1819Smrgversion_type=none
4598ba6a1819Smrgdynamic_linker="$host_os ld.so"
4599ba6a1819Smrgsys_lib_dlsearch_path_spec="/lib /usr/lib"
4600ba6a1819Smrgneed_lib_prefix=unknown
4601ba6a1819Smrghardcode_into_libs=no
4602ba6a1819Smrg
4603ba6a1819Smrg# when you set need_version to no, make sure it does not cause -set_version
4604ba6a1819Smrg# flags to be left without arguments
4605ba6a1819Smrgneed_version=unknown
4606ba6a1819Smrg
4607ba6a1819Smrgcase $host_os in
4608ba6a1819Smrgaix3*)
4609ba6a1819Smrg  version_type=linux
4610ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
4611ba6a1819Smrg  shlibpath_var=LIBPATH
4612ba6a1819Smrg
4613ba6a1819Smrg  # AIX 3 has no versioning support, so we append a major version to the name.
4614ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
4615ba6a1819Smrg  ;;
4616ba6a1819Smrg
4617549e21daSmrgaix[[4-9]]*)
4618ba6a1819Smrg  version_type=linux
4619ba6a1819Smrg  need_lib_prefix=no
4620ba6a1819Smrg  need_version=no
4621ba6a1819Smrg  hardcode_into_libs=yes
4622ba6a1819Smrg  if test "$host_cpu" = ia64; then
4623ba6a1819Smrg    # AIX 5 supports IA64
4624ba6a1819Smrg    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
4625ba6a1819Smrg    shlibpath_var=LD_LIBRARY_PATH
4626ba6a1819Smrg  else
4627ba6a1819Smrg    # With GCC up to 2.95.x, collect2 would create an import file
4628ba6a1819Smrg    # for dependence libraries.  The import file would start with
4629ba6a1819Smrg    # the line `#! .'.  This would cause the generated library to
4630ba6a1819Smrg    # depend on `.', always an invalid library.  This was fixed in
4631ba6a1819Smrg    # development snapshots of GCC prior to 3.0.
4632ba6a1819Smrg    case $host_os in
4633ba6a1819Smrg      aix4 | aix4.[[01]] | aix4.[[01]].*)
4634ba6a1819Smrg      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
4635ba6a1819Smrg	   echo ' yes '
4636549e21daSmrg	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
4637ba6a1819Smrg	:
4638ba6a1819Smrg      else
4639ba6a1819Smrg	can_build_shared=no
4640ba6a1819Smrg      fi
4641ba6a1819Smrg      ;;
4642ba6a1819Smrg    esac
4643ba6a1819Smrg    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
4644ba6a1819Smrg    # soname into executable. Probably we can add versioning support to
4645ba6a1819Smrg    # collect2, so additional links can be useful in future.
4646ba6a1819Smrg    if test "$aix_use_runtimelinking" = yes; then
4647ba6a1819Smrg      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
4648ba6a1819Smrg      # instead of lib<name>.a to let people know that these are not
4649ba6a1819Smrg      # typical AIX shared libraries.
4650ba6a1819Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
4651ba6a1819Smrg    else
4652ba6a1819Smrg      # We preserve .a as extension for shared libraries through AIX4.2
4653ba6a1819Smrg      # and later when we are not doing run time linking.
4654ba6a1819Smrg      library_names_spec='${libname}${release}.a $libname.a'
4655ba6a1819Smrg      soname_spec='${libname}${release}${shared_ext}$major'
4656ba6a1819Smrg    fi
4657ba6a1819Smrg    shlibpath_var=LIBPATH
4658ba6a1819Smrg  fi
4659ba6a1819Smrg  ;;
4660ba6a1819Smrg
4661ba6a1819Smrgamigaos*)
4662549e21daSmrg  case $host_cpu in
4663549e21daSmrg  powerpc)
4664549e21daSmrg    # Since July 2007 AmigaOS4 officially supports .so libraries.
4665549e21daSmrg    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
4666549e21daSmrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
4667549e21daSmrg    ;;
4668549e21daSmrg  m68k)
4669549e21daSmrg    library_names_spec='$libname.ixlibrary $libname.a'
4670549e21daSmrg    # Create ${libname}_ixlibrary.a entries in /sys/libs.
4671549e21daSmrg    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
4672549e21daSmrg    ;;
4673549e21daSmrg  esac
4674ba6a1819Smrg  ;;
4675ba6a1819Smrg
4676ba6a1819Smrgbeos*)
4677ba6a1819Smrg  library_names_spec='${libname}${shared_ext}'
4678ba6a1819Smrg  dynamic_linker="$host_os ld.so"
4679ba6a1819Smrg  shlibpath_var=LIBRARY_PATH
4680ba6a1819Smrg  ;;
4681ba6a1819Smrg
4682ba6a1819Smrgbsdi[[45]]*)
4683ba6a1819Smrg  version_type=linux
4684ba6a1819Smrg  need_version=no
4685ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
4686ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
4687ba6a1819Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
4688ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
4689ba6a1819Smrg  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
4690ba6a1819Smrg  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
4691ba6a1819Smrg  # the default ld.so.conf also contains /usr/contrib/lib and
4692ba6a1819Smrg  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
4693ba6a1819Smrg  # libtool to hard-code these into programs
4694ba6a1819Smrg  ;;
4695ba6a1819Smrg
4696549e21daSmrgcygwin* | mingw* | pw32* | cegcc*)
4697ba6a1819Smrg  version_type=windows
4698ba6a1819Smrg  shrext_cmds=".dll"
4699ba6a1819Smrg  need_version=no
4700ba6a1819Smrg  need_lib_prefix=no
4701ba6a1819Smrg
4702ba6a1819Smrg  case $GCC,$host_os in
4703549e21daSmrg  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
4704ba6a1819Smrg    library_names_spec='$libname.dll.a'
4705ba6a1819Smrg    # DLL is installed to $(libdir)/../bin by postinstall_cmds
4706ba6a1819Smrg    postinstall_cmds='base_file=`basename \${file}`~
4707549e21daSmrg      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
4708ba6a1819Smrg      dldir=$destdir/`dirname \$dlpath`~
4709ba6a1819Smrg      test -d \$dldir || mkdir -p \$dldir~
4710ba6a1819Smrg      $install_prog $dir/$dlname \$dldir/$dlname~
4711549e21daSmrg      chmod a+x \$dldir/$dlname~
4712549e21daSmrg      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
4713549e21daSmrg        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
4714549e21daSmrg      fi'
4715ba6a1819Smrg    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
4716ba6a1819Smrg      dlpath=$dir/\$dldll~
4717549e21daSmrg       $RM \$dlpath'
4718ba6a1819Smrg    shlibpath_overrides_runpath=yes
4719ba6a1819Smrg
4720ba6a1819Smrg    case $host_os in
4721ba6a1819Smrg    cygwin*)
4722ba6a1819Smrg      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
4723ba6a1819Smrg      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
4724549e21daSmrgm4_if([$1], [],[
4725549e21daSmrg      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
4726ba6a1819Smrg      ;;
4727549e21daSmrg    mingw* | cegcc*)
4728ba6a1819Smrg      # MinGW DLLs use traditional 'lib' prefix
4729ba6a1819Smrg      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
4730ba6a1819Smrg      ;;
4731ba6a1819Smrg    pw32*)
4732ba6a1819Smrg      # pw32 DLLs use 'pw' prefix rather than 'lib'
4733ba6a1819Smrg      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
4734ba6a1819Smrg      ;;
4735ba6a1819Smrg    esac
4736ba6a1819Smrg    ;;
4737ba6a1819Smrg
4738ba6a1819Smrg  *)
4739ba6a1819Smrg    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
4740ba6a1819Smrg    ;;
4741ba6a1819Smrg  esac
4742ba6a1819Smrg  dynamic_linker='Win32 ld.exe'
4743ba6a1819Smrg  # FIXME: first we should search . and the directory the executable is in
4744ba6a1819Smrg  shlibpath_var=PATH
4745ba6a1819Smrg  ;;
4746ba6a1819Smrg
4747ba6a1819Smrgdarwin* | rhapsody*)
4748ba6a1819Smrg  dynamic_linker="$host_os dyld"
4749ba6a1819Smrg  version_type=darwin
4750ba6a1819Smrg  need_lib_prefix=no
4751ba6a1819Smrg  need_version=no
4752549e21daSmrg  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
4753ba6a1819Smrg  soname_spec='${libname}${release}${major}$shared_ext'
4754ba6a1819Smrg  shlibpath_overrides_runpath=yes
4755ba6a1819Smrg  shlibpath_var=DYLD_LIBRARY_PATH
4756ba6a1819Smrg  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
4757549e21daSmrgm4_if([$1], [],[
4758549e21daSmrg  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
4759ba6a1819Smrg  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
4760ba6a1819Smrg  ;;
4761ba6a1819Smrg
4762ba6a1819Smrgdgux*)
4763ba6a1819Smrg  version_type=linux
4764ba6a1819Smrg  need_lib_prefix=no
4765ba6a1819Smrg  need_version=no
4766ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
4767ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
4768ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
4769ba6a1819Smrg  ;;
4770ba6a1819Smrg
4771ba6a1819Smrgfreebsd1*)
4772ba6a1819Smrg  dynamic_linker=no
4773ba6a1819Smrg  ;;
4774ba6a1819Smrg
4775ba6a1819Smrgfreebsd* | dragonfly*)
4776ba6a1819Smrg  # DragonFly does not have aout.  When/if they implement a new
4777ba6a1819Smrg  # versioning mechanism, adjust this.
4778ba6a1819Smrg  if test -x /usr/bin/objformat; then
4779ba6a1819Smrg    objformat=`/usr/bin/objformat`
4780ba6a1819Smrg  else
4781ba6a1819Smrg    case $host_os in
4782ba6a1819Smrg    freebsd[[123]]*) objformat=aout ;;
4783ba6a1819Smrg    *) objformat=elf ;;
4784ba6a1819Smrg    esac
4785ba6a1819Smrg  fi
4786ba6a1819Smrg  version_type=freebsd-$objformat
4787ba6a1819Smrg  case $version_type in
4788ba6a1819Smrg    freebsd-elf*)
4789ba6a1819Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
4790ba6a1819Smrg      need_version=no
4791ba6a1819Smrg      need_lib_prefix=no
4792ba6a1819Smrg      ;;
4793ba6a1819Smrg    freebsd-*)
4794ba6a1819Smrg      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
4795ba6a1819Smrg      need_version=yes
4796ba6a1819Smrg      ;;
4797ba6a1819Smrg  esac
4798ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
4799ba6a1819Smrg  case $host_os in
4800ba6a1819Smrg  freebsd2*)
4801ba6a1819Smrg    shlibpath_overrides_runpath=yes
4802ba6a1819Smrg    ;;
4803ba6a1819Smrg  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
4804ba6a1819Smrg    shlibpath_overrides_runpath=yes
4805ba6a1819Smrg    hardcode_into_libs=yes
4806ba6a1819Smrg    ;;
4807ba6a1819Smrg  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
4808ba6a1819Smrg  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
4809ba6a1819Smrg    shlibpath_overrides_runpath=no
4810ba6a1819Smrg    hardcode_into_libs=yes
4811ba6a1819Smrg    ;;
4812549e21daSmrg  *) # from 4.6 on, and DragonFly
4813ba6a1819Smrg    shlibpath_overrides_runpath=yes
4814ba6a1819Smrg    hardcode_into_libs=yes
4815ba6a1819Smrg    ;;
4816ba6a1819Smrg  esac
4817ba6a1819Smrg  ;;
4818ba6a1819Smrg
4819ba6a1819Smrggnu*)
4820ba6a1819Smrg  version_type=linux
4821ba6a1819Smrg  need_lib_prefix=no
4822ba6a1819Smrg  need_version=no
4823ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
4824ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
4825ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
4826ba6a1819Smrg  hardcode_into_libs=yes
4827ba6a1819Smrg  ;;
4828ba6a1819Smrg
4829549e21daSmrghaiku*)
4830549e21daSmrg  version_type=linux
4831549e21daSmrg  need_lib_prefix=no
4832549e21daSmrg  need_version=no
4833549e21daSmrg  dynamic_linker="$host_os runtime_loader"
4834549e21daSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
4835549e21daSmrg  soname_spec='${libname}${release}${shared_ext}$major'
4836549e21daSmrg  shlibpath_var=LIBRARY_PATH
4837549e21daSmrg  shlibpath_overrides_runpath=yes
4838549e21daSmrg  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
4839549e21daSmrg  hardcode_into_libs=yes
4840549e21daSmrg  ;;
4841549e21daSmrg
4842ba6a1819Smrghpux9* | hpux10* | hpux11*)
4843ba6a1819Smrg  # Give a soname corresponding to the major version so that dld.sl refuses to
4844ba6a1819Smrg  # link against other versions.
4845ba6a1819Smrg  version_type=sunos
4846ba6a1819Smrg  need_lib_prefix=no
4847ba6a1819Smrg  need_version=no
4848ba6a1819Smrg  case $host_cpu in
4849ba6a1819Smrg  ia64*)
4850ba6a1819Smrg    shrext_cmds='.so'
4851ba6a1819Smrg    hardcode_into_libs=yes
4852ba6a1819Smrg    dynamic_linker="$host_os dld.so"
4853ba6a1819Smrg    shlibpath_var=LD_LIBRARY_PATH
4854ba6a1819Smrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
4855ba6a1819Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
4856ba6a1819Smrg    soname_spec='${libname}${release}${shared_ext}$major'
4857ba6a1819Smrg    if test "X$HPUX_IA64_MODE" = X32; then
4858ba6a1819Smrg      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
4859ba6a1819Smrg    else
4860ba6a1819Smrg      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
4861ba6a1819Smrg    fi
4862ba6a1819Smrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
4863ba6a1819Smrg    ;;
4864549e21daSmrg  hppa*64*)
4865549e21daSmrg    shrext_cmds='.sl'
4866549e21daSmrg    hardcode_into_libs=yes
4867549e21daSmrg    dynamic_linker="$host_os dld.sl"
4868549e21daSmrg    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
4869549e21daSmrg    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
4870549e21daSmrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
4871549e21daSmrg    soname_spec='${libname}${release}${shared_ext}$major'
4872549e21daSmrg    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
4873549e21daSmrg    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
4874549e21daSmrg    ;;
4875549e21daSmrg  *)
4876ba6a1819Smrg    shrext_cmds='.sl'
4877ba6a1819Smrg    dynamic_linker="$host_os dld.sl"
4878ba6a1819Smrg    shlibpath_var=SHLIB_PATH
4879ba6a1819Smrg    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
4880ba6a1819Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
4881ba6a1819Smrg    soname_spec='${libname}${release}${shared_ext}$major'
4882ba6a1819Smrg    ;;
4883ba6a1819Smrg  esac
4884549e21daSmrg  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
4885ba6a1819Smrg  postinstall_cmds='chmod 555 $lib'
4886549e21daSmrg  # or fails outright, so override atomically:
4887549e21daSmrg  install_override_mode=555
4888ba6a1819Smrg  ;;
4889ba6a1819Smrg
4890549e21daSmrginterix[[3-9]]*)
4891ba6a1819Smrg  version_type=linux
4892ba6a1819Smrg  need_lib_prefix=no
4893ba6a1819Smrg  need_version=no
4894ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
4895ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
4896ba6a1819Smrg  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
4897ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
4898ba6a1819Smrg  shlibpath_overrides_runpath=no
4899ba6a1819Smrg  hardcode_into_libs=yes
4900ba6a1819Smrg  ;;
4901ba6a1819Smrg
4902ba6a1819Smrgirix5* | irix6* | nonstopux*)
4903ba6a1819Smrg  case $host_os in
4904ba6a1819Smrg    nonstopux*) version_type=nonstopux ;;
4905ba6a1819Smrg    *)
4906ba6a1819Smrg	if test "$lt_cv_prog_gnu_ld" = yes; then
4907ba6a1819Smrg		version_type=linux
4908ba6a1819Smrg	else
4909ba6a1819Smrg		version_type=irix
4910ba6a1819Smrg	fi ;;
4911ba6a1819Smrg  esac
4912ba6a1819Smrg  need_lib_prefix=no
4913ba6a1819Smrg  need_version=no
4914ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
4915ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
4916ba6a1819Smrg  case $host_os in
4917ba6a1819Smrg  irix5* | nonstopux*)
4918ba6a1819Smrg    libsuff= shlibsuff=
4919ba6a1819Smrg    ;;
4920ba6a1819Smrg  *)
4921ba6a1819Smrg    case $LD in # libtool.m4 will add one of these switches to LD
4922ba6a1819Smrg    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
4923ba6a1819Smrg      libsuff= shlibsuff= libmagic=32-bit;;
4924ba6a1819Smrg    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
4925ba6a1819Smrg      libsuff=32 shlibsuff=N32 libmagic=N32;;
4926ba6a1819Smrg    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
4927ba6a1819Smrg      libsuff=64 shlibsuff=64 libmagic=64-bit;;
4928ba6a1819Smrg    *) libsuff= shlibsuff= libmagic=never-match;;
4929ba6a1819Smrg    esac
4930ba6a1819Smrg    ;;
4931ba6a1819Smrg  esac
4932ba6a1819Smrg  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
4933ba6a1819Smrg  shlibpath_overrides_runpath=no
4934ba6a1819Smrg  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
4935ba6a1819Smrg  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
4936ba6a1819Smrg  hardcode_into_libs=yes
4937ba6a1819Smrg  ;;
4938ba6a1819Smrg
4939ba6a1819Smrg# No shared lib support for Linux oldld, aout, or coff.
4940ba6a1819Smrglinux*oldld* | linux*aout* | linux*coff*)
4941ba6a1819Smrg  dynamic_linker=no
4942ba6a1819Smrg  ;;
4943ba6a1819Smrg
4944ba6a1819Smrg# This must be Linux ELF.
4945549e21daSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu)
4946ba6a1819Smrg  version_type=linux
4947ba6a1819Smrg  need_lib_prefix=no
4948ba6a1819Smrg  need_version=no
4949ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
4950ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
4951ba6a1819Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
4952ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
4953ba6a1819Smrg  shlibpath_overrides_runpath=no
4954549e21daSmrg
4955549e21daSmrg  # Some binutils ld are patched to set DT_RUNPATH
4956549e21daSmrg  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
4957549e21daSmrg    [lt_cv_shlibpath_overrides_runpath=no
4958549e21daSmrg    save_LDFLAGS=$LDFLAGS
4959549e21daSmrg    save_libdir=$libdir
4960549e21daSmrg    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
4961549e21daSmrg	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
4962549e21daSmrg    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
4963549e21daSmrg      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
4964549e21daSmrg	 [lt_cv_shlibpath_overrides_runpath=yes])])
4965549e21daSmrg    LDFLAGS=$save_LDFLAGS
4966549e21daSmrg    libdir=$save_libdir
4967549e21daSmrg    ])
4968549e21daSmrg  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
4969549e21daSmrg
4970ba6a1819Smrg  # This implies no fast_install, which is unacceptable.
4971ba6a1819Smrg  # Some rework will be needed to allow for fast_install
4972ba6a1819Smrg  # before this can be enabled.
4973ba6a1819Smrg  hardcode_into_libs=yes
4974ba6a1819Smrg
4975ba6a1819Smrg  # Append ld.so.conf contents to the search path
4976ba6a1819Smrg  if test -f /etc/ld.so.conf; then
4977549e21daSmrg    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' ' '`
4978ba6a1819Smrg    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
4979ba6a1819Smrg  fi
4980ba6a1819Smrg
4981ba6a1819Smrg  # We used to test for /lib/ld.so.1 and disable shared libraries on
4982ba6a1819Smrg  # powerpc, because MkLinux only supported shared libraries with the
4983ba6a1819Smrg  # GNU dynamic linker.  Since this was broken with cross compilers,
4984ba6a1819Smrg  # most powerpc-linux boxes support dynamic linking these days and
4985ba6a1819Smrg  # people can always --disable-shared, the test was removed, and we
4986ba6a1819Smrg  # assume the GNU/Linux dynamic linker is in use.
4987ba6a1819Smrg  dynamic_linker='GNU/Linux ld.so'
4988ba6a1819Smrg  ;;
4989ba6a1819Smrg
4990ba6a1819Smrgnetbsd*)
4991ba6a1819Smrg  version_type=sunos
4992ba6a1819Smrg  need_lib_prefix=no
4993ba6a1819Smrg  need_version=no
4994549e21daSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4995ba6a1819Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
4996ba6a1819Smrg    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
4997ba6a1819Smrg    dynamic_linker='NetBSD (a.out) ld.so'
4998ba6a1819Smrg  else
4999ba6a1819Smrg    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
5000ba6a1819Smrg    soname_spec='${libname}${release}${shared_ext}$major'
5001ba6a1819Smrg    dynamic_linker='NetBSD ld.elf_so'
5002ba6a1819Smrg  fi
5003ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5004ba6a1819Smrg  shlibpath_overrides_runpath=yes
5005ba6a1819Smrg  hardcode_into_libs=yes
5006ba6a1819Smrg  ;;
5007ba6a1819Smrg
5008ba6a1819Smrgnewsos6)
5009ba6a1819Smrg  version_type=linux
5010ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
5011ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5012ba6a1819Smrg  shlibpath_overrides_runpath=yes
5013ba6a1819Smrg  ;;
5014ba6a1819Smrg
5015549e21daSmrg*nto* | *qnx*)
5016549e21daSmrg  version_type=qnx
5017ba6a1819Smrg  need_lib_prefix=no
5018ba6a1819Smrg  need_version=no
5019ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
5020ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
5021ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5022549e21daSmrg  shlibpath_overrides_runpath=no
5023549e21daSmrg  hardcode_into_libs=yes
5024549e21daSmrg  dynamic_linker='ldqnx.so'
5025ba6a1819Smrg  ;;
5026ba6a1819Smrg
5027ba6a1819Smrgopenbsd*)
5028ba6a1819Smrg  version_type=sunos
5029ba6a1819Smrg  sys_lib_dlsearch_path_spec="/usr/lib"
5030ba6a1819Smrg  need_lib_prefix=no
5031ba6a1819Smrg  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
5032ba6a1819Smrg  case $host_os in
5033549e21daSmrg    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
5034549e21daSmrg    *)				need_version=no  ;;
5035ba6a1819Smrg  esac
5036ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
5037ba6a1819Smrg  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
5038ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5039549e21daSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5040ba6a1819Smrg    case $host_os in
5041ba6a1819Smrg      openbsd2.[[89]] | openbsd2.[[89]].*)
5042ba6a1819Smrg	shlibpath_overrides_runpath=no
5043ba6a1819Smrg	;;
5044ba6a1819Smrg      *)
5045ba6a1819Smrg	shlibpath_overrides_runpath=yes
5046ba6a1819Smrg	;;
5047ba6a1819Smrg      esac
5048ba6a1819Smrg  else
5049ba6a1819Smrg    shlibpath_overrides_runpath=yes
5050ba6a1819Smrg  fi
5051ba6a1819Smrg  ;;
5052ba6a1819Smrg
5053ba6a1819Smrgos2*)
5054ba6a1819Smrg  libname_spec='$name'
5055ba6a1819Smrg  shrext_cmds=".dll"
5056ba6a1819Smrg  need_lib_prefix=no
5057ba6a1819Smrg  library_names_spec='$libname${shared_ext} $libname.a'
5058ba6a1819Smrg  dynamic_linker='OS/2 ld.exe'
5059ba6a1819Smrg  shlibpath_var=LIBPATH
5060ba6a1819Smrg  ;;
5061ba6a1819Smrg
5062ba6a1819Smrgosf3* | osf4* | osf5*)
5063ba6a1819Smrg  version_type=osf
5064ba6a1819Smrg  need_lib_prefix=no
5065ba6a1819Smrg  need_version=no
5066ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
5067ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
5068ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5069ba6a1819Smrg  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
5070ba6a1819Smrg  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
5071ba6a1819Smrg  ;;
5072ba6a1819Smrg
5073549e21daSmrgrdos*)
5074549e21daSmrg  dynamic_linker=no
5075549e21daSmrg  ;;
5076549e21daSmrg
5077ba6a1819Smrgsolaris*)
5078ba6a1819Smrg  version_type=linux
5079ba6a1819Smrg  need_lib_prefix=no
5080ba6a1819Smrg  need_version=no
5081ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
5082ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
5083ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5084ba6a1819Smrg  shlibpath_overrides_runpath=yes
5085ba6a1819Smrg  hardcode_into_libs=yes
5086ba6a1819Smrg  # ldd complains unless libraries are executable
5087ba6a1819Smrg  postinstall_cmds='chmod +x $lib'
5088ba6a1819Smrg  ;;
5089ba6a1819Smrg
5090ba6a1819Smrgsunos4*)
5091ba6a1819Smrg  version_type=sunos
5092ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
5093ba6a1819Smrg  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
5094ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5095ba6a1819Smrg  shlibpath_overrides_runpath=yes
5096ba6a1819Smrg  if test "$with_gnu_ld" = yes; then
5097ba6a1819Smrg    need_lib_prefix=no
5098ba6a1819Smrg  fi
5099ba6a1819Smrg  need_version=yes
5100ba6a1819Smrg  ;;
5101ba6a1819Smrg
5102ba6a1819Smrgsysv4 | sysv4.3*)
5103ba6a1819Smrg  version_type=linux
5104ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
5105ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
5106ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5107ba6a1819Smrg  case $host_vendor in
5108ba6a1819Smrg    sni)
5109ba6a1819Smrg      shlibpath_overrides_runpath=no
5110ba6a1819Smrg      need_lib_prefix=no
5111ba6a1819Smrg      runpath_var=LD_RUN_PATH
5112ba6a1819Smrg      ;;
5113ba6a1819Smrg    siemens)
5114ba6a1819Smrg      need_lib_prefix=no
5115ba6a1819Smrg      ;;
5116ba6a1819Smrg    motorola)
5117ba6a1819Smrg      need_lib_prefix=no
5118ba6a1819Smrg      need_version=no
5119ba6a1819Smrg      shlibpath_overrides_runpath=no
5120ba6a1819Smrg      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
5121ba6a1819Smrg      ;;
5122ba6a1819Smrg  esac
5123ba6a1819Smrg  ;;
5124ba6a1819Smrg
5125ba6a1819Smrgsysv4*MP*)
5126ba6a1819Smrg  if test -d /usr/nec ;then
5127ba6a1819Smrg    version_type=linux
5128ba6a1819Smrg    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
5129ba6a1819Smrg    soname_spec='$libname${shared_ext}.$major'
5130ba6a1819Smrg    shlibpath_var=LD_LIBRARY_PATH
5131ba6a1819Smrg  fi
5132ba6a1819Smrg  ;;
5133ba6a1819Smrg
5134ba6a1819Smrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
5135ba6a1819Smrg  version_type=freebsd-elf
5136ba6a1819Smrg  need_lib_prefix=no
5137ba6a1819Smrg  need_version=no
5138ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
5139ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
5140ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5141549e21daSmrg  shlibpath_overrides_runpath=yes
5142ba6a1819Smrg  hardcode_into_libs=yes
5143ba6a1819Smrg  if test "$with_gnu_ld" = yes; then
5144ba6a1819Smrg    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
5145ba6a1819Smrg  else
5146ba6a1819Smrg    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
5147ba6a1819Smrg    case $host_os in
5148ba6a1819Smrg      sco3.2v5*)
5149ba6a1819Smrg        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
5150ba6a1819Smrg	;;
5151ba6a1819Smrg    esac
5152ba6a1819Smrg  fi
5153ba6a1819Smrg  sys_lib_dlsearch_path_spec='/usr/lib'
5154ba6a1819Smrg  ;;
5155ba6a1819Smrg
5156549e21daSmrgtpf*)
5157549e21daSmrg  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
5158549e21daSmrg  version_type=linux
5159549e21daSmrg  need_lib_prefix=no
5160549e21daSmrg  need_version=no
5161549e21daSmrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
5162549e21daSmrg  shlibpath_var=LD_LIBRARY_PATH
5163549e21daSmrg  shlibpath_overrides_runpath=no
5164549e21daSmrg  hardcode_into_libs=yes
5165549e21daSmrg  ;;
5166549e21daSmrg
5167ba6a1819Smrguts4*)
5168ba6a1819Smrg  version_type=linux
5169ba6a1819Smrg  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
5170ba6a1819Smrg  soname_spec='${libname}${release}${shared_ext}$major'
5171ba6a1819Smrg  shlibpath_var=LD_LIBRARY_PATH
5172ba6a1819Smrg  ;;
5173ba6a1819Smrg
5174ba6a1819Smrg*)
5175ba6a1819Smrg  dynamic_linker=no
5176ba6a1819Smrg  ;;
5177ba6a1819Smrgesac
5178ba6a1819SmrgAC_MSG_RESULT([$dynamic_linker])
5179ba6a1819Smrgtest "$dynamic_linker" = no && can_build_shared=no
5180ba6a1819Smrg
5181ba6a1819Smrgvariables_saved_for_relink="PATH $shlibpath_var $runpath_var"
5182ba6a1819Smrgif test "$GCC" = yes; then
5183ba6a1819Smrg  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
5184ba6a1819Smrgfi
5185ba6a1819Smrg
5186549e21daSmrgif test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
5187549e21daSmrg  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
5188549e21daSmrgfi
5189549e21daSmrgif test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
5190549e21daSmrg  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
5191549e21daSmrgfi
5192ba6a1819Smrg
5193549e21daSmrg_LT_DECL([], [variables_saved_for_relink], [1],
5194549e21daSmrg    [Variables whose values should be saved in libtool wrapper scripts and
5195549e21daSmrg    restored at link time])
5196549e21daSmrg_LT_DECL([], [need_lib_prefix], [0],
5197549e21daSmrg    [Do we need the "lib" prefix for modules?])
5198549e21daSmrg_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
5199549e21daSmrg_LT_DECL([], [version_type], [0], [Library versioning type])
5200549e21daSmrg_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
5201549e21daSmrg_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
5202549e21daSmrg_LT_DECL([], [shlibpath_overrides_runpath], [0],
5203549e21daSmrg    [Is shlibpath searched before the hard-coded library search path?])
5204549e21daSmrg_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
5205549e21daSmrg_LT_DECL([], [library_names_spec], [1],
5206549e21daSmrg    [[List of archive names.  First name is the real one, the rest are links.
5207549e21daSmrg    The last name is the one that the linker finds with -lNAME]])
5208549e21daSmrg_LT_DECL([], [soname_spec], [1],
5209549e21daSmrg    [[The coded name of the library, if different from the real name]])
5210549e21daSmrg_LT_DECL([], [install_override_mode], [1],
5211549e21daSmrg    [Permission mode override for installation of shared libraries])
5212549e21daSmrg_LT_DECL([], [postinstall_cmds], [2],
5213549e21daSmrg    [Command to use after installation of a shared archive])
5214549e21daSmrg_LT_DECL([], [postuninstall_cmds], [2],
5215549e21daSmrg    [Command to use after uninstallation of a shared archive])
5216549e21daSmrg_LT_DECL([], [finish_cmds], [2],
5217549e21daSmrg    [Commands used to finish a libtool library installation in a directory])
5218549e21daSmrg_LT_DECL([], [finish_eval], [1],
5219549e21daSmrg    [[As "finish_cmds", except a single script fragment to be evaled but
5220549e21daSmrg    not shown]])
5221549e21daSmrg_LT_DECL([], [hardcode_into_libs], [0],
5222549e21daSmrg    [Whether we should hardcode library paths into libraries])
5223549e21daSmrg_LT_DECL([], [sys_lib_search_path_spec], [2],
5224549e21daSmrg    [Compile-time system search path for libraries])
5225549e21daSmrg_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
5226549e21daSmrg    [Run-time system search path for libraries])
5227549e21daSmrg])# _LT_SYS_DYNAMIC_LINKER
5228549e21daSmrg
5229549e21daSmrg
5230549e21daSmrg# _LT_PATH_TOOL_PREFIX(TOOL)
5231ba6a1819Smrg# --------------------------
5232549e21daSmrg# find a file program which can recognize shared library
5233549e21daSmrgAC_DEFUN([_LT_PATH_TOOL_PREFIX],
5234549e21daSmrg[m4_require([_LT_DECL_EGREP])dnl
5235ba6a1819SmrgAC_MSG_CHECKING([for $1])
5236ba6a1819SmrgAC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
5237ba6a1819Smrg[case $MAGIC_CMD in
5238ba6a1819Smrg[[\\/*] |  ?:[\\/]*])
5239ba6a1819Smrg  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
5240ba6a1819Smrg  ;;
5241ba6a1819Smrg*)
5242ba6a1819Smrg  lt_save_MAGIC_CMD="$MAGIC_CMD"
5243ba6a1819Smrg  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
5244ba6a1819Smrgdnl $ac_dummy forces splitting on constant user-supplied paths.
5245ba6a1819Smrgdnl POSIX.2 word splitting is done only on the output of word expansions,
5246ba6a1819Smrgdnl not every word.  This closes a longstanding sh security hole.
5247549e21daSmrg  ac_dummy="m4_if([$2], , $PATH, [$2])"
5248ba6a1819Smrg  for ac_dir in $ac_dummy; do
5249ba6a1819Smrg    IFS="$lt_save_ifs"
5250ba6a1819Smrg    test -z "$ac_dir" && ac_dir=.
5251ba6a1819Smrg    if test -f $ac_dir/$1; then
5252ba6a1819Smrg      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
5253ba6a1819Smrg      if test -n "$file_magic_test_file"; then
5254ba6a1819Smrg	case $deplibs_check_method in
5255ba6a1819Smrg	"file_magic "*)
5256ba6a1819Smrg	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
5257ba6a1819Smrg	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
5258ba6a1819Smrg	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
5259ba6a1819Smrg	    $EGREP "$file_magic_regex" > /dev/null; then
5260ba6a1819Smrg	    :
5261ba6a1819Smrg	  else
5262549e21daSmrg	    cat <<_LT_EOF 1>&2
5263ba6a1819Smrg
5264ba6a1819Smrg*** Warning: the command libtool uses to detect shared libraries,
5265ba6a1819Smrg*** $file_magic_cmd, produces output that libtool cannot recognize.
5266ba6a1819Smrg*** The result is that libtool may fail to recognize shared libraries
5267ba6a1819Smrg*** as such.  This will affect the creation of libtool libraries that
5268ba6a1819Smrg*** depend on shared libraries, but programs linked with such libtool
5269ba6a1819Smrg*** libraries will work regardless of this problem.  Nevertheless, you
5270ba6a1819Smrg*** may want to report the problem to your system manager and/or to
5271ba6a1819Smrg*** bug-libtool@gnu.org
5272ba6a1819Smrg
5273549e21daSmrg_LT_EOF
5274ba6a1819Smrg	  fi ;;
5275ba6a1819Smrg	esac
5276ba6a1819Smrg      fi
5277ba6a1819Smrg      break
5278ba6a1819Smrg    fi
5279ba6a1819Smrg  done
5280ba6a1819Smrg  IFS="$lt_save_ifs"
5281ba6a1819Smrg  MAGIC_CMD="$lt_save_MAGIC_CMD"
5282ba6a1819Smrg  ;;
5283ba6a1819Smrgesac])
5284ba6a1819SmrgMAGIC_CMD="$lt_cv_path_MAGIC_CMD"
5285ba6a1819Smrgif test -n "$MAGIC_CMD"; then
5286ba6a1819Smrg  AC_MSG_RESULT($MAGIC_CMD)
5287ba6a1819Smrgelse
5288ba6a1819Smrg  AC_MSG_RESULT(no)
5289ba6a1819Smrgfi
5290549e21daSmrg_LT_DECL([], [MAGIC_CMD], [0],
5291549e21daSmrg	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
5292549e21daSmrg])# _LT_PATH_TOOL_PREFIX
5293ba6a1819Smrg
5294549e21daSmrg# Old name:
5295549e21daSmrgAU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
5296549e21daSmrgdnl aclocal-1.4 backwards compatibility:
5297549e21daSmrgdnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
5298ba6a1819Smrg
5299549e21daSmrg
5300549e21daSmrg# _LT_PATH_MAGIC
5301549e21daSmrg# --------------
5302549e21daSmrg# find a file program which can recognize a shared library
5303549e21daSmrgm4_defun([_LT_PATH_MAGIC],
5304549e21daSmrg[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
5305ba6a1819Smrgif test -z "$lt_cv_path_MAGIC_CMD"; then
5306ba6a1819Smrg  if test -n "$ac_tool_prefix"; then
5307549e21daSmrg    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
5308ba6a1819Smrg  else
5309ba6a1819Smrg    MAGIC_CMD=:
5310ba6a1819Smrg  fi
5311ba6a1819Smrgfi
5312549e21daSmrg])# _LT_PATH_MAGIC
5313ba6a1819Smrg
5314ba6a1819Smrg
5315549e21daSmrg# LT_PATH_LD
5316ba6a1819Smrg# ----------
5317ba6a1819Smrg# find the pathname to the GNU or non-GNU linker
5318549e21daSmrgAC_DEFUN([LT_PATH_LD],
5319549e21daSmrg[AC_REQUIRE([AC_PROG_CC])dnl
5320ba6a1819SmrgAC_REQUIRE([AC_CANONICAL_HOST])dnl
5321ba6a1819SmrgAC_REQUIRE([AC_CANONICAL_BUILD])dnl
5322549e21daSmrgm4_require([_LT_DECL_SED])dnl
5323549e21daSmrgm4_require([_LT_DECL_EGREP])dnl
5324549e21daSmrgm4_require([_LT_PROG_ECHO_BACKSLASH])dnl
5325549e21daSmrg
5326549e21daSmrgAC_ARG_WITH([gnu-ld],
5327549e21daSmrg    [AS_HELP_STRING([--with-gnu-ld],
5328549e21daSmrg	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
5329549e21daSmrg    [test "$withval" = no || with_gnu_ld=yes],
5330549e21daSmrg    [with_gnu_ld=no])dnl
5331549e21daSmrg
5332ba6a1819Smrgac_prog=ld
5333ba6a1819Smrgif test "$GCC" = yes; then
5334ba6a1819Smrg  # Check if gcc -print-prog-name=ld gives a path.
5335ba6a1819Smrg  AC_MSG_CHECKING([for ld used by $CC])
5336ba6a1819Smrg  case $host in
5337ba6a1819Smrg  *-*-mingw*)
5338ba6a1819Smrg    # gcc leaves a trailing carriage return which upsets mingw
5339ba6a1819Smrg    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
5340ba6a1819Smrg  *)
5341ba6a1819Smrg    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
5342ba6a1819Smrg  esac
5343ba6a1819Smrg  case $ac_prog in
5344ba6a1819Smrg    # Accept absolute paths.
5345ba6a1819Smrg    [[\\/]]* | ?:[[\\/]]*)
5346ba6a1819Smrg      re_direlt='/[[^/]][[^/]]*/\.\./'
5347ba6a1819Smrg      # Canonicalize the pathname of ld
5348549e21daSmrg      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
5349549e21daSmrg      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
5350549e21daSmrg	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
5351ba6a1819Smrg      done
5352ba6a1819Smrg      test -z "$LD" && LD="$ac_prog"
5353ba6a1819Smrg      ;;
5354ba6a1819Smrg  "")
5355ba6a1819Smrg    # If it fails, then pretend we aren't using GCC.
5356ba6a1819Smrg    ac_prog=ld
5357ba6a1819Smrg    ;;
5358ba6a1819Smrg  *)
5359ba6a1819Smrg    # If it is relative, then search for the first ld in PATH.
5360ba6a1819Smrg    with_gnu_ld=unknown
5361ba6a1819Smrg    ;;
5362ba6a1819Smrg  esac
5363ba6a1819Smrgelif test "$with_gnu_ld" = yes; then
5364ba6a1819Smrg  AC_MSG_CHECKING([for GNU ld])
5365ba6a1819Smrgelse
5366ba6a1819Smrg  AC_MSG_CHECKING([for non-GNU ld])
5367ba6a1819Smrgfi
5368ba6a1819SmrgAC_CACHE_VAL(lt_cv_path_LD,
5369ba6a1819Smrg[if test -z "$LD"; then
5370ba6a1819Smrg  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
5371ba6a1819Smrg  for ac_dir in $PATH; do
5372ba6a1819Smrg    IFS="$lt_save_ifs"
5373ba6a1819Smrg    test -z "$ac_dir" && ac_dir=.
5374ba6a1819Smrg    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
5375ba6a1819Smrg      lt_cv_path_LD="$ac_dir/$ac_prog"
5376ba6a1819Smrg      # Check to see if the program is GNU ld.  I'd rather use --version,
5377ba6a1819Smrg      # but apparently some variants of GNU ld only accept -v.
5378ba6a1819Smrg      # Break only if it was the GNU/non-GNU ld that we prefer.
5379ba6a1819Smrg      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
5380ba6a1819Smrg      *GNU* | *'with BFD'*)
5381ba6a1819Smrg	test "$with_gnu_ld" != no && break
5382ba6a1819Smrg	;;
5383ba6a1819Smrg      *)
5384ba6a1819Smrg	test "$with_gnu_ld" != yes && break
5385ba6a1819Smrg	;;
5386ba6a1819Smrg      esac
5387ba6a1819Smrg    fi
5388ba6a1819Smrg  done
5389ba6a1819Smrg  IFS="$lt_save_ifs"
5390ba6a1819Smrgelse
5391ba6a1819Smrg  lt_cv_path_LD="$LD" # Let the user override the test with a path.
5392ba6a1819Smrgfi])
5393ba6a1819SmrgLD="$lt_cv_path_LD"
5394ba6a1819Smrgif test -n "$LD"; then
5395ba6a1819Smrg  AC_MSG_RESULT($LD)
5396ba6a1819Smrgelse
5397ba6a1819Smrg  AC_MSG_RESULT(no)
5398ba6a1819Smrgfi
5399ba6a1819Smrgtest -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
5400549e21daSmrg_LT_PATH_LD_GNU
5401549e21daSmrgAC_SUBST([LD])
5402ba6a1819Smrg
5403549e21daSmrg_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
5404549e21daSmrg])# LT_PATH_LD
5405ba6a1819Smrg
5406549e21daSmrg# Old names:
5407549e21daSmrgAU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
5408549e21daSmrgAU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
5409549e21daSmrgdnl aclocal-1.4 backwards compatibility:
5410549e21daSmrgdnl AC_DEFUN([AM_PROG_LD], [])
5411549e21daSmrgdnl AC_DEFUN([AC_PROG_LD], [])
5412549e21daSmrg
5413549e21daSmrg
5414549e21daSmrg# _LT_PATH_LD_GNU
5415549e21daSmrg#- --------------
5416549e21daSmrgm4_defun([_LT_PATH_LD_GNU],
5417549e21daSmrg[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
5418ba6a1819Smrg[# I'd rather use --version here, but apparently some GNU lds only accept -v.
5419ba6a1819Smrgcase `$LD -v 2>&1 </dev/null` in
5420ba6a1819Smrg*GNU* | *'with BFD'*)
5421ba6a1819Smrg  lt_cv_prog_gnu_ld=yes
5422ba6a1819Smrg  ;;
5423ba6a1819Smrg*)
5424ba6a1819Smrg  lt_cv_prog_gnu_ld=no
5425ba6a1819Smrg  ;;
5426ba6a1819Smrgesac])
5427ba6a1819Smrgwith_gnu_ld=$lt_cv_prog_gnu_ld
5428549e21daSmrg])# _LT_PATH_LD_GNU
5429ba6a1819Smrg
5430ba6a1819Smrg
5431549e21daSmrg# _LT_CMD_RELOAD
5432549e21daSmrg# --------------
5433ba6a1819Smrg# find reload flag for linker
5434ba6a1819Smrg#   -- PORTME Some linkers may need a different reload flag.
5435549e21daSmrgm4_defun([_LT_CMD_RELOAD],
5436ba6a1819Smrg[AC_CACHE_CHECK([for $LD option to reload object files],
5437ba6a1819Smrg  lt_cv_ld_reload_flag,
5438ba6a1819Smrg  [lt_cv_ld_reload_flag='-r'])
5439ba6a1819Smrgreload_flag=$lt_cv_ld_reload_flag
5440ba6a1819Smrgcase $reload_flag in
5441ba6a1819Smrg"" | " "*) ;;
5442ba6a1819Smrg*) reload_flag=" $reload_flag" ;;
5443ba6a1819Smrgesac
5444ba6a1819Smrgreload_cmds='$LD$reload_flag -o $output$reload_objs'
5445ba6a1819Smrgcase $host_os in
5446ba6a1819Smrg  darwin*)
5447ba6a1819Smrg    if test "$GCC" = yes; then
5448ba6a1819Smrg      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
5449ba6a1819Smrg    else
5450ba6a1819Smrg      reload_cmds='$LD$reload_flag -o $output$reload_objs'
5451ba6a1819Smrg    fi
5452ba6a1819Smrg    ;;
5453ba6a1819Smrgesac
5454549e21daSmrg_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
5455549e21daSmrg_LT_TAGDECL([], [reload_cmds], [2])dnl
5456549e21daSmrg])# _LT_CMD_RELOAD
5457ba6a1819Smrg
5458ba6a1819Smrg
5459549e21daSmrg# _LT_CHECK_MAGIC_METHOD
5460549e21daSmrg# ----------------------
5461ba6a1819Smrg# how to check for library dependencies
5462ba6a1819Smrg#  -- PORTME fill in with the dynamic library characteristics
5463549e21daSmrgm4_defun([_LT_CHECK_MAGIC_METHOD],
5464549e21daSmrg[m4_require([_LT_DECL_EGREP])
5465549e21daSmrgm4_require([_LT_DECL_OBJDUMP])
5466549e21daSmrgAC_CACHE_CHECK([how to recognize dependent libraries],
5467ba6a1819Smrglt_cv_deplibs_check_method,
5468ba6a1819Smrg[lt_cv_file_magic_cmd='$MAGIC_CMD'
5469ba6a1819Smrglt_cv_file_magic_test_file=
5470ba6a1819Smrglt_cv_deplibs_check_method='unknown'
5471ba6a1819Smrg# Need to set the preceding variable on all platforms that support
5472ba6a1819Smrg# interlibrary dependencies.
5473ba6a1819Smrg# 'none' -- dependencies not supported.
5474ba6a1819Smrg# `unknown' -- same as none, but documents that we really don't know.
5475ba6a1819Smrg# 'pass_all' -- all dependencies passed with no checks.
5476ba6a1819Smrg# 'test_compile' -- check by making test program.
5477ba6a1819Smrg# 'file_magic [[regex]]' -- check by looking for files in library path
5478ba6a1819Smrg# which responds to the $file_magic_cmd with a given extended regex.
5479ba6a1819Smrg# If you have `file' or equivalent on your system and you're not sure
5480ba6a1819Smrg# whether `pass_all' will *always* work, you probably want this one.
5481ba6a1819Smrg
5482ba6a1819Smrgcase $host_os in
5483549e21daSmrgaix[[4-9]]*)
5484ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5485ba6a1819Smrg  ;;
5486ba6a1819Smrg
5487ba6a1819Smrgbeos*)
5488ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5489ba6a1819Smrg  ;;
5490ba6a1819Smrg
5491ba6a1819Smrgbsdi[[45]]*)
5492ba6a1819Smrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
5493ba6a1819Smrg  lt_cv_file_magic_cmd='/usr/bin/file -L'
5494ba6a1819Smrg  lt_cv_file_magic_test_file=/shlib/libc.so
5495ba6a1819Smrg  ;;
5496ba6a1819Smrg
5497ba6a1819Smrgcygwin*)
5498ba6a1819Smrg  # func_win32_libid is a shell function defined in ltmain.sh
5499ba6a1819Smrg  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
5500ba6a1819Smrg  lt_cv_file_magic_cmd='func_win32_libid'
5501ba6a1819Smrg  ;;
5502ba6a1819Smrg
5503ba6a1819Smrgmingw* | pw32*)
5504ba6a1819Smrg  # Base MSYS/MinGW do not provide the 'file' command needed by
5505549e21daSmrg  # func_win32_libid shell function, so use a weaker test based on 'objdump',
5506549e21daSmrg  # unless we find 'file', for example because we are cross-compiling.
5507549e21daSmrg  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
5508549e21daSmrg  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
5509549e21daSmrg    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
5510549e21daSmrg    lt_cv_file_magic_cmd='func_win32_libid'
5511549e21daSmrg  else
5512549e21daSmrg    # Keep this pattern in sync with the one in func_win32_libid.
5513549e21daSmrg    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
5514549e21daSmrg    lt_cv_file_magic_cmd='$OBJDUMP -f'
5515549e21daSmrg  fi
5516549e21daSmrg  ;;
5517549e21daSmrg
5518549e21daSmrgcegcc*)
5519549e21daSmrg  # use the weaker test based on 'objdump'. See mingw*.
5520549e21daSmrg  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
5521ba6a1819Smrg  lt_cv_file_magic_cmd='$OBJDUMP -f'
5522ba6a1819Smrg  ;;
5523ba6a1819Smrg
5524ba6a1819Smrgdarwin* | rhapsody*)
5525ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5526ba6a1819Smrg  ;;
5527ba6a1819Smrg
5528549e21daSmrgfreebsd* | dragonfly*)
5529549e21daSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
5530ba6a1819Smrg    case $host_cpu in
5531ba6a1819Smrg    i*86 )
5532ba6a1819Smrg      # Not sure whether the presence of OpenBSD here was a mistake.
5533ba6a1819Smrg      # Let's accept both of them until this is cleared up.
5534ba6a1819Smrg      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
5535ba6a1819Smrg      lt_cv_file_magic_cmd=/usr/bin/file
5536ba6a1819Smrg      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
5537ba6a1819Smrg      ;;
5538ba6a1819Smrg    esac
5539ba6a1819Smrg  else
5540ba6a1819Smrg    lt_cv_deplibs_check_method=pass_all
5541ba6a1819Smrg  fi
5542ba6a1819Smrg  ;;
5543ba6a1819Smrg
5544ba6a1819Smrggnu*)
5545ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5546ba6a1819Smrg  ;;
5547ba6a1819Smrg
5548549e21daSmrghaiku*)
5549549e21daSmrg  lt_cv_deplibs_check_method=pass_all
5550549e21daSmrg  ;;
5551549e21daSmrg
5552ba6a1819Smrghpux10.20* | hpux11*)
5553ba6a1819Smrg  lt_cv_file_magic_cmd=/usr/bin/file
5554ba6a1819Smrg  case $host_cpu in
5555ba6a1819Smrg  ia64*)
5556ba6a1819Smrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
5557ba6a1819Smrg    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
5558ba6a1819Smrg    ;;
5559ba6a1819Smrg  hppa*64*)
5560549e21daSmrg    [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]']
5561ba6a1819Smrg    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
5562ba6a1819Smrg    ;;
5563ba6a1819Smrg  *)
5564549e21daSmrg    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
5565ba6a1819Smrg    lt_cv_file_magic_test_file=/usr/lib/libc.sl
5566ba6a1819Smrg    ;;
5567ba6a1819Smrg  esac
5568ba6a1819Smrg  ;;
5569ba6a1819Smrg
5570549e21daSmrginterix[[3-9]]*)
5571ba6a1819Smrg  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
5572ba6a1819Smrg  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
5573ba6a1819Smrg  ;;
5574ba6a1819Smrg
5575ba6a1819Smrgirix5* | irix6* | nonstopux*)
5576ba6a1819Smrg  case $LD in
5577ba6a1819Smrg  *-32|*"-32 ") libmagic=32-bit;;
5578ba6a1819Smrg  *-n32|*"-n32 ") libmagic=N32;;
5579ba6a1819Smrg  *-64|*"-64 ") libmagic=64-bit;;
5580ba6a1819Smrg  *) libmagic=never-match;;
5581ba6a1819Smrg  esac
5582ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5583ba6a1819Smrg  ;;
5584ba6a1819Smrg
5585ba6a1819Smrg# This must be Linux ELF.
5586549e21daSmrglinux* | k*bsd*-gnu | kopensolaris*-gnu)
5587ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5588ba6a1819Smrg  ;;
5589ba6a1819Smrg
5590ba6a1819Smrgnetbsd*)
5591549e21daSmrg  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
5592ba6a1819Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
5593ba6a1819Smrg  else
5594ba6a1819Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
5595ba6a1819Smrg  fi
5596ba6a1819Smrg  ;;
5597ba6a1819Smrg
5598ba6a1819Smrgnewos6*)
5599ba6a1819Smrg  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
5600ba6a1819Smrg  lt_cv_file_magic_cmd=/usr/bin/file
5601ba6a1819Smrg  lt_cv_file_magic_test_file=/usr/lib/libnls.so
5602ba6a1819Smrg  ;;
5603ba6a1819Smrg
5604549e21daSmrg*nto* | *qnx*)
5605549e21daSmrg  lt_cv_deplibs_check_method=pass_all
5606ba6a1819Smrg  ;;
5607ba6a1819Smrg
5608ba6a1819Smrgopenbsd*)
5609549e21daSmrg  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5610ba6a1819Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
5611ba6a1819Smrg  else
5612ba6a1819Smrg    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
5613ba6a1819Smrg  fi
5614ba6a1819Smrg  ;;
5615ba6a1819Smrg
5616ba6a1819Smrgosf3* | osf4* | osf5*)
5617ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5618ba6a1819Smrg  ;;
5619ba6a1819Smrg
5620549e21daSmrgrdos*)
5621549e21daSmrg  lt_cv_deplibs_check_method=pass_all
5622549e21daSmrg  ;;
5623549e21daSmrg
5624ba6a1819Smrgsolaris*)
5625ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5626ba6a1819Smrg  ;;
5627ba6a1819Smrg
5628549e21daSmrgsysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
5629549e21daSmrg  lt_cv_deplibs_check_method=pass_all
5630549e21daSmrg  ;;
5631549e21daSmrg
5632ba6a1819Smrgsysv4 | sysv4.3*)
5633ba6a1819Smrg  case $host_vendor in
5634ba6a1819Smrg  motorola)
5635ba6a1819Smrg    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]]'
5636ba6a1819Smrg    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
5637ba6a1819Smrg    ;;
5638ba6a1819Smrg  ncr)
5639ba6a1819Smrg    lt_cv_deplibs_check_method=pass_all
5640ba6a1819Smrg    ;;
5641ba6a1819Smrg  sequent)
5642ba6a1819Smrg    lt_cv_file_magic_cmd='/bin/file'
5643ba6a1819Smrg    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
5644ba6a1819Smrg    ;;
5645ba6a1819Smrg  sni)
5646ba6a1819Smrg    lt_cv_file_magic_cmd='/bin/file'
5647ba6a1819Smrg    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
5648ba6a1819Smrg    lt_cv_file_magic_test_file=/lib/libc.so
5649ba6a1819Smrg    ;;
5650ba6a1819Smrg  siemens)
5651ba6a1819Smrg    lt_cv_deplibs_check_method=pass_all
5652ba6a1819Smrg    ;;
5653ba6a1819Smrg  pc)
5654ba6a1819Smrg    lt_cv_deplibs_check_method=pass_all
5655ba6a1819Smrg    ;;
5656ba6a1819Smrg  esac
5657ba6a1819Smrg  ;;
5658ba6a1819Smrg
5659549e21daSmrgtpf*)
5660ba6a1819Smrg  lt_cv_deplibs_check_method=pass_all
5661ba6a1819Smrg  ;;
5662ba6a1819Smrgesac
5663ba6a1819Smrg])
5664ba6a1819Smrgfile_magic_cmd=$lt_cv_file_magic_cmd
5665ba6a1819Smrgdeplibs_check_method=$lt_cv_deplibs_check_method
5666ba6a1819Smrgtest -z "$deplibs_check_method" && deplibs_check_method=unknown
5667549e21daSmrg
5668549e21daSmrg_LT_DECL([], [deplibs_check_method], [1],
5669549e21daSmrg    [Method to check whether dependent libraries are shared objects])
5670549e21daSmrg_LT_DECL([], [file_magic_cmd], [1],
5671549e21daSmrg    [Command to use when deplibs_check_method == "file_magic"])
5672549e21daSmrg])# _LT_CHECK_MAGIC_METHOD
5673ba6a1819Smrg
5674ba6a1819Smrg
5675549e21daSmrg# LT_PATH_NM
5676ba6a1819Smrg# ----------
5677549e21daSmrg# find the pathname to a BSD- or MS-compatible name lister
5678549e21daSmrgAC_DEFUN([LT_PATH_NM],
5679549e21daSmrg[AC_REQUIRE([AC_PROG_CC])dnl
5680549e21daSmrgAC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
5681ba6a1819Smrg[if test -n "$NM"; then
5682ba6a1819Smrg  # Let the user override the test.
5683ba6a1819Smrg  lt_cv_path_NM="$NM"
5684ba6a1819Smrgelse
5685ba6a1819Smrg  lt_nm_to_check="${ac_tool_prefix}nm"
5686549e21daSmrg  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
5687ba6a1819Smrg    lt_nm_to_check="$lt_nm_to_check nm"
5688ba6a1819Smrg  fi
5689ba6a1819Smrg  for lt_tmp_nm in $lt_nm_to_check; do
5690ba6a1819Smrg    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
5691ba6a1819Smrg    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
5692ba6a1819Smrg      IFS="$lt_save_ifs"
5693ba6a1819Smrg      test -z "$ac_dir" && ac_dir=.
5694ba6a1819Smrg      tmp_nm="$ac_dir/$lt_tmp_nm"
5695ba6a1819Smrg      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
5696ba6a1819Smrg	# Check to see if the nm accepts a BSD-compat flag.
5697ba6a1819Smrg	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
5698ba6a1819Smrg	#   nm: unknown option "B" ignored
5699ba6a1819Smrg	# Tru64's nm complains that /dev/null is an invalid object file
5700ba6a1819Smrg	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
5701ba6a1819Smrg	*/dev/null* | *'Invalid file or object type'*)
5702ba6a1819Smrg	  lt_cv_path_NM="$tmp_nm -B"
5703ba6a1819Smrg	  break
5704ba6a1819Smrg	  ;;
5705ba6a1819Smrg	*)
5706ba6a1819Smrg	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
5707ba6a1819Smrg	  */dev/null*)
5708ba6a1819Smrg	    lt_cv_path_NM="$tmp_nm -p"
5709ba6a1819Smrg	    break
5710ba6a1819Smrg	    ;;
5711ba6a1819Smrg	  *)
5712ba6a1819Smrg	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
5713ba6a1819Smrg	    continue # so that we can try to find one that supports BSD flags
5714ba6a1819Smrg	    ;;
5715ba6a1819Smrg	  esac
5716ba6a1819Smrg	  ;;
5717ba6a1819Smrg	esac
5718ba6a1819Smrg      fi
5719ba6a1819Smrg    done
5720ba6a1819Smrg    IFS="$lt_save_ifs"
5721ba6a1819Smrg  done
5722549e21daSmrg  : ${lt_cv_path_NM=no}
5723ba6a1819Smrgfi])
5724549e21daSmrgif test "$lt_cv_path_NM" != "no"; then
5725549e21daSmrg  NM="$lt_cv_path_NM"
5726549e21daSmrgelse
5727549e21daSmrg  # Didn't find any BSD compatible name lister, look for dumpbin.
5728549e21daSmrg  if test -n "$DUMPBIN"; then :
5729549e21daSmrg    # Let the user override the test.
5730549e21daSmrg  else
5731549e21daSmrg    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
5732549e21daSmrg    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
5733549e21daSmrg    *COFF*)
5734549e21daSmrg      DUMPBIN="$DUMPBIN -symbols"
5735549e21daSmrg      ;;
5736549e21daSmrg    *)
5737549e21daSmrg      DUMPBIN=:
5738549e21daSmrg      ;;
5739549e21daSmrg    esac
5740549e21daSmrg  fi
5741549e21daSmrg  AC_SUBST([DUMPBIN])
5742549e21daSmrg  if test "$DUMPBIN" != ":"; then
5743549e21daSmrg    NM="$DUMPBIN"
5744549e21daSmrg  fi
5745549e21daSmrgfi
5746549e21daSmrgtest -z "$NM" && NM=nm
5747549e21daSmrgAC_SUBST([NM])
5748549e21daSmrg_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
5749549e21daSmrg
5750549e21daSmrgAC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
5751549e21daSmrg  [lt_cv_nm_interface="BSD nm"
5752549e21daSmrg  echo "int some_variable = 0;" > conftest.$ac_ext
5753549e21daSmrg  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
5754549e21daSmrg  (eval "$ac_compile" 2>conftest.err)
5755549e21daSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
5756549e21daSmrg  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
5757549e21daSmrg  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
5758549e21daSmrg  cat conftest.err >&AS_MESSAGE_LOG_FD
5759549e21daSmrg  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
5760549e21daSmrg  cat conftest.out >&AS_MESSAGE_LOG_FD
5761549e21daSmrg  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
5762549e21daSmrg    lt_cv_nm_interface="MS dumpbin"
5763549e21daSmrg  fi
5764549e21daSmrg  rm -f conftest*])
5765549e21daSmrg])# LT_PATH_NM
5766ba6a1819Smrg
5767549e21daSmrg# Old names:
5768549e21daSmrgAU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
5769549e21daSmrgAU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
5770549e21daSmrgdnl aclocal-1.4 backwards compatibility:
5771549e21daSmrgdnl AC_DEFUN([AM_PROG_NM], [])
5772549e21daSmrgdnl AC_DEFUN([AC_PROG_NM], [])
5773ba6a1819Smrg
5774549e21daSmrg
5775549e21daSmrg# LT_LIB_M
5776549e21daSmrg# --------
5777ba6a1819Smrg# check for math library
5778549e21daSmrgAC_DEFUN([LT_LIB_M],
5779ba6a1819Smrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
5780ba6a1819SmrgLIBM=
5781ba6a1819Smrgcase $host in
5782549e21daSmrg*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
5783ba6a1819Smrg  # These system don't have libm, or don't need it
5784ba6a1819Smrg  ;;
5785ba6a1819Smrg*-ncr-sysv4.3*)
5786ba6a1819Smrg  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
5787ba6a1819Smrg  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
5788ba6a1819Smrg  ;;
5789ba6a1819Smrg*)
5790ba6a1819Smrg  AC_CHECK_LIB(m, cos, LIBM="-lm")
5791ba6a1819Smrg  ;;
5792ba6a1819Smrgesac
5793549e21daSmrgAC_SUBST([LIBM])
5794549e21daSmrg])# LT_LIB_M
5795ba6a1819Smrg
5796549e21daSmrg# Old name:
5797549e21daSmrgAU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
5798549e21daSmrgdnl aclocal-1.4 backwards compatibility:
5799549e21daSmrgdnl AC_DEFUN([AC_CHECK_LIBM], [])
5800ba6a1819Smrg
5801ba6a1819Smrg
5802549e21daSmrg# _LT_COMPILER_NO_RTTI([TAGNAME])
5803549e21daSmrg# -------------------------------
5804549e21daSmrgm4_defun([_LT_COMPILER_NO_RTTI],
5805549e21daSmrg[m4_require([_LT_TAG_COMPILER])dnl
5806ba6a1819Smrg
5807549e21daSmrg_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5808ba6a1819Smrg
5809549e21daSmrgif test "$GCC" = yes; then
5810549e21daSmrg  case $cc_basename in
5811549e21daSmrg  nvcc*)
5812549e21daSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
5813549e21daSmrg  *)
5814549e21daSmrg    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
5815549e21daSmrg  esac
5816ba6a1819Smrg
5817549e21daSmrg  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
5818549e21daSmrg    lt_cv_prog_compiler_rtti_exceptions,
5819549e21daSmrg    [-fno-rtti -fno-exceptions], [],
5820549e21daSmrg    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
5821549e21daSmrgfi
5822549e21daSmrg_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
5823549e21daSmrg	[Compiler flag to turn off builtin functions])
5824549e21daSmrg])# _LT_COMPILER_NO_RTTI
5825ba6a1819Smrg
5826ba6a1819Smrg
5827549e21daSmrg# _LT_CMD_GLOBAL_SYMBOLS
5828549e21daSmrg# ----------------------
5829549e21daSmrgm4_defun([_LT_CMD_GLOBAL_SYMBOLS],
5830549e21daSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
5831549e21daSmrgAC_REQUIRE([AC_PROG_CC])dnl
5832549e21daSmrgAC_REQUIRE([AC_PROG_AWK])dnl
5833549e21daSmrgAC_REQUIRE([LT_PATH_NM])dnl
5834549e21daSmrgAC_REQUIRE([LT_PATH_LD])dnl
5835549e21daSmrgm4_require([_LT_DECL_SED])dnl
5836549e21daSmrgm4_require([_LT_DECL_EGREP])dnl
5837549e21daSmrgm4_require([_LT_TAG_COMPILER])dnl
5838ba6a1819Smrg
5839549e21daSmrg# Check for command to grab the raw symbol name followed by C symbol from nm.
5840549e21daSmrgAC_MSG_CHECKING([command to parse $NM output from $compiler object])
5841549e21daSmrgAC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
5842ba6a1819Smrg[
5843549e21daSmrg# These are sane defaults that work on at least a few old systems.
5844549e21daSmrg# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
5845ba6a1819Smrg
5846549e21daSmrg# Character class describing NM global symbol codes.
5847549e21daSmrgsymcode='[[BCDEGRST]]'
5848ba6a1819Smrg
5849549e21daSmrg# Regexp to match symbols that can be accessed directly from C.
5850549e21daSmrgsympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
5851ba6a1819Smrg
5852549e21daSmrg# Define system-specific variables.
5853549e21daSmrgcase $host_os in
5854549e21daSmrgaix*)
5855549e21daSmrg  symcode='[[BCDT]]'
5856549e21daSmrg  ;;
5857549e21daSmrgcygwin* | mingw* | pw32* | cegcc*)
5858549e21daSmrg  symcode='[[ABCDGISTW]]'
5859549e21daSmrg  ;;
5860549e21daSmrghpux*)
5861549e21daSmrg  if test "$host_cpu" = ia64; then
5862549e21daSmrg    symcode='[[ABCDEGRST]]'
5863549e21daSmrg  fi
5864549e21daSmrg  ;;
5865549e21daSmrgirix* | nonstopux*)
5866549e21daSmrg  symcode='[[BCDEGRST]]'
5867549e21daSmrg  ;;
5868549e21daSmrgosf*)
5869549e21daSmrg  symcode='[[BCDEGQRST]]'
5870549e21daSmrg  ;;
5871549e21daSmrgsolaris*)
5872549e21daSmrg  symcode='[[BDRT]]'
5873549e21daSmrg  ;;
5874549e21daSmrgsco3.2v5*)
5875549e21daSmrg  symcode='[[DT]]'
5876549e21daSmrg  ;;
5877549e21daSmrgsysv4.2uw2*)
5878549e21daSmrg  symcode='[[DT]]'
5879549e21daSmrg  ;;
5880549e21daSmrgsysv5* | sco5v6* | unixware* | OpenUNIX*)
5881549e21daSmrg  symcode='[[ABDT]]'
5882549e21daSmrg  ;;
5883549e21daSmrgsysv4)
5884549e21daSmrg  symcode='[[DFNSTU]]'
5885549e21daSmrg  ;;
5886549e21daSmrgesac
5887ba6a1819Smrg
5888549e21daSmrg# If we're using GNU nm, then use its standard symbol codes.
5889549e21daSmrgcase `$NM -V 2>&1` in
5890549e21daSmrg*GNU* | *'with BFD'*)
5891549e21daSmrg  symcode='[[ABCDGIRSTW]]' ;;
5892549e21daSmrgesac
5893ba6a1819Smrg
5894549e21daSmrg# Transform an extracted symbol line into a proper C declaration.
5895549e21daSmrg# Some systems (esp. on ia64) link data and code symbols differently,
5896549e21daSmrg# so use this general approach.
5897549e21daSmrglt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
5898ba6a1819Smrg
5899549e21daSmrg# Transform an extracted symbol line into symbol name and symbol address
5900549e21daSmrglt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
5901549e21daSmrglt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
5902ba6a1819Smrg
5903549e21daSmrg# Handle CRLF in mingw tool chain
5904549e21daSmrgopt_cr=
5905549e21daSmrgcase $build_os in
5906549e21daSmrgmingw*)
5907549e21daSmrg  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
5908ba6a1819Smrg  ;;
5909ba6a1819Smrgesac
5910ba6a1819Smrg
5911549e21daSmrg# Try without a prefix underscore, then with it.
5912549e21daSmrgfor ac_symprfx in "" "_"; do
5913ba6a1819Smrg
5914549e21daSmrg  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
5915549e21daSmrg  symxfrm="\\1 $ac_symprfx\\2 \\2"
5916ba6a1819Smrg
5917549e21daSmrg  # Write the raw and C identifiers.
5918549e21daSmrg  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
5919549e21daSmrg    # Fake it for dumpbin and say T for any non-static function
5920549e21daSmrg    # and D for any global variable.
5921549e21daSmrg    # Also find C++ and __fastcall symbols from MSVC++,
5922549e21daSmrg    # which start with @ or ?.
5923549e21daSmrg    lt_cv_sys_global_symbol_pipe="$AWK ['"\
5924549e21daSmrg"     {last_section=section; section=\$ 3};"\
5925549e21daSmrg"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
5926549e21daSmrg"     \$ 0!~/External *\|/{next};"\
5927549e21daSmrg"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
5928549e21daSmrg"     {if(hide[section]) next};"\
5929549e21daSmrg"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
5930549e21daSmrg"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
5931549e21daSmrg"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
5932549e21daSmrg"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
5933549e21daSmrg"     ' prfx=^$ac_symprfx]"
5934549e21daSmrg  else
5935549e21daSmrg    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
5936549e21daSmrg  fi
5937ba6a1819Smrg
5938549e21daSmrg  # Check to see that the pipe works correctly.
5939549e21daSmrg  pipe_works=no
5940ba6a1819Smrg
5941549e21daSmrg  rm -f conftest*
5942549e21daSmrg  cat > conftest.$ac_ext <<_LT_EOF
5943549e21daSmrg#ifdef __cplusplus
5944549e21daSmrgextern "C" {
5945549e21daSmrg#endif
5946549e21daSmrgchar nm_test_var;
5947549e21daSmrgvoid nm_test_func(void);
5948549e21daSmrgvoid nm_test_func(void){}
5949549e21daSmrg#ifdef __cplusplus
5950549e21daSmrg}
5951549e21daSmrg#endif
5952549e21daSmrgint main(){nm_test_var='a';nm_test_func();return(0);}
5953549e21daSmrg_LT_EOF
5954ba6a1819Smrg
5955549e21daSmrg  if AC_TRY_EVAL(ac_compile); then
5956549e21daSmrg    # Now try to grab the symbols.
5957549e21daSmrg    nlist=conftest.nm
5958549e21daSmrg    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
5959549e21daSmrg      # Try sorting and uniquifying the output.
5960549e21daSmrg      if sort "$nlist" | uniq > "$nlist"T; then
5961549e21daSmrg	mv -f "$nlist"T "$nlist"
5962549e21daSmrg      else
5963549e21daSmrg	rm -f "$nlist"T
5964549e21daSmrg      fi
5965ba6a1819Smrg
5966549e21daSmrg      # Make sure that we snagged all the symbols we need.
5967549e21daSmrg      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
5968549e21daSmrg	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
5969549e21daSmrg	  cat <<_LT_EOF > conftest.$ac_ext
5970549e21daSmrg#ifdef __cplusplus
5971549e21daSmrgextern "C" {
5972549e21daSmrg#endif
5973ba6a1819Smrg
5974549e21daSmrg_LT_EOF
5975549e21daSmrg	  # Now generate the symbol file.
5976549e21daSmrg	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
5977ba6a1819Smrg
5978549e21daSmrg	  cat <<_LT_EOF >> conftest.$ac_ext
5979ba6a1819Smrg
5980549e21daSmrg/* The mapping between symbol names and symbols.  */
5981549e21daSmrgconst struct {
5982549e21daSmrg  const char *name;
5983549e21daSmrg  void       *address;
5984549e21daSmrg}
5985549e21daSmrglt__PROGRAM__LTX_preloaded_symbols[[]] =
5986549e21daSmrg{
5987549e21daSmrg  { "@PROGRAM@", (void *) 0 },
5988549e21daSmrg_LT_EOF
5989549e21daSmrg	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
5990549e21daSmrg	  cat <<\_LT_EOF >> conftest.$ac_ext
5991549e21daSmrg  {0, (void *) 0}
5992549e21daSmrg};
5993ba6a1819Smrg
5994549e21daSmrg/* This works around a problem in FreeBSD linker */
5995549e21daSmrg#ifdef FREEBSD_WORKAROUND
5996549e21daSmrgstatic const void *lt_preloaded_setup() {
5997549e21daSmrg  return lt__PROGRAM__LTX_preloaded_symbols;
5998549e21daSmrg}
5999549e21daSmrg#endif
6000ba6a1819Smrg
6001549e21daSmrg#ifdef __cplusplus
6002549e21daSmrg}
6003549e21daSmrg#endif
6004549e21daSmrg_LT_EOF
6005549e21daSmrg	  # Now try linking the two files.
6006549e21daSmrg	  mv conftest.$ac_objext conftstm.$ac_objext
6007549e21daSmrg	  lt_save_LIBS="$LIBS"
6008549e21daSmrg	  lt_save_CFLAGS="$CFLAGS"
6009549e21daSmrg	  LIBS="conftstm.$ac_objext"
6010549e21daSmrg	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
6011549e21daSmrg	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
6012549e21daSmrg	    pipe_works=yes
6013549e21daSmrg	  fi
6014549e21daSmrg	  LIBS="$lt_save_LIBS"
6015549e21daSmrg	  CFLAGS="$lt_save_CFLAGS"
6016549e21daSmrg	else
6017549e21daSmrg	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
6018549e21daSmrg	fi
6019549e21daSmrg      else
6020549e21daSmrg	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
6021549e21daSmrg      fi
6022ba6a1819Smrg    else
6023549e21daSmrg      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
6024ba6a1819Smrg    fi
6025ba6a1819Smrg  else
6026549e21daSmrg    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
6027549e21daSmrg    cat conftest.$ac_ext >&5
6028ba6a1819Smrg  fi
6029549e21daSmrg  rm -rf conftest* conftst*
6030ba6a1819Smrg
6031549e21daSmrg  # Do not use the global_symbol_pipe unless it works.
6032549e21daSmrg  if test "$pipe_works" = yes; then
6033549e21daSmrg    break
6034549e21daSmrg  else
6035549e21daSmrg    lt_cv_sys_global_symbol_pipe=
6036549e21daSmrg  fi
6037549e21daSmrgdone
6038549e21daSmrg])
6039549e21daSmrgif test -z "$lt_cv_sys_global_symbol_pipe"; then
6040549e21daSmrg  lt_cv_sys_global_symbol_to_cdecl=
6041549e21daSmrgfi
6042549e21daSmrgif test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
6043549e21daSmrg  AC_MSG_RESULT(failed)
6044ba6a1819Smrgelse
6045549e21daSmrg  AC_MSG_RESULT(ok)
6046ba6a1819Smrgfi
6047ba6a1819Smrg
6048549e21daSmrg_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
6049549e21daSmrg    [Take the output of nm and produce a listing of raw symbols and C names])
6050549e21daSmrg_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
6051549e21daSmrg    [Transform the output of nm in a proper C declaration])
6052549e21daSmrg_LT_DECL([global_symbol_to_c_name_address],
6053549e21daSmrg    [lt_cv_sys_global_symbol_to_c_name_address], [1],
6054549e21daSmrg    [Transform the output of nm in a C name address pair])
6055549e21daSmrg_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
6056549e21daSmrg    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
6057549e21daSmrg    [Transform the output of nm in a C name address pair when lib prefix is needed])
6058549e21daSmrg]) # _LT_CMD_GLOBAL_SYMBOLS
6059ba6a1819Smrg
6060ba6a1819Smrg
6061549e21daSmrg# _LT_COMPILER_PIC([TAGNAME])
6062549e21daSmrg# ---------------------------
6063549e21daSmrgm4_defun([_LT_COMPILER_PIC],
6064549e21daSmrg[m4_require([_LT_TAG_COMPILER])dnl
6065549e21daSmrg_LT_TAGVAR(lt_prog_compiler_wl, $1)=
6066549e21daSmrg_LT_TAGVAR(lt_prog_compiler_pic, $1)=
6067549e21daSmrg_LT_TAGVAR(lt_prog_compiler_static, $1)=
6068ba6a1819Smrg
6069549e21daSmrgAC_MSG_CHECKING([for $compiler option to produce PIC])
6070549e21daSmrgm4_if([$1], [CXX], [
6071549e21daSmrg  # C++ specific cases for pic, static, wl, etc.
6072549e21daSmrg  if test "$GXX" = yes; then
6073549e21daSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6074549e21daSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
6075ba6a1819Smrg
6076549e21daSmrg    case $host_os in
6077549e21daSmrg    aix*)
6078549e21daSmrg      # All AIX code is PIC.
6079ba6a1819Smrg      if test "$host_cpu" = ia64; then
6080549e21daSmrg	# AIX 5 now supports IA64 processor
6081549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6082ba6a1819Smrg      fi
6083ba6a1819Smrg      ;;
6084ba6a1819Smrg
6085549e21daSmrg    amigaos*)
6086ba6a1819Smrg      case $host_cpu in
6087549e21daSmrg      powerpc)
6088549e21daSmrg            # see comment about AmigaOS4 .so support
6089549e21daSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6090ba6a1819Smrg        ;;
6091549e21daSmrg      m68k)
6092549e21daSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
6093549e21daSmrg            # adding the `-m68020' flag to GCC prevents building anything better,
6094549e21daSmrg            # like `-m68040'.
6095549e21daSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
6096ba6a1819Smrg        ;;
6097ba6a1819Smrg      esac
6098ba6a1819Smrg      ;;
6099ba6a1819Smrg
6100549e21daSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
6101549e21daSmrg      # PIC is the default for these OSes.
6102549e21daSmrg      ;;
6103549e21daSmrg    mingw* | cygwin* | os2* | pw32* | cegcc*)
6104549e21daSmrg      # This hack is so that the source file can tell whether it is being
6105549e21daSmrg      # built for inclusion in a dll (and should export symbols for example).
6106549e21daSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
6107549e21daSmrg      # (--disable-auto-import) libraries
6108549e21daSmrg      m4_if([$1], [GCJ], [],
6109549e21daSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
6110549e21daSmrg      ;;
6111549e21daSmrg    darwin* | rhapsody*)
6112549e21daSmrg      # PIC is the default on this platform
6113549e21daSmrg      # Common symbols not allowed in MH_DYLIB files
6114549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
6115549e21daSmrg      ;;
6116549e21daSmrg    *djgpp*)
6117549e21daSmrg      # DJGPP does not support shared libraries at all
6118549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
6119549e21daSmrg      ;;
6120549e21daSmrg    haiku*)
6121549e21daSmrg      # PIC is the default for Haiku.
6122549e21daSmrg      # The "-static" flag exists, but is broken.
6123549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
6124549e21daSmrg      ;;
6125549e21daSmrg    interix[[3-9]]*)
6126549e21daSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
6127549e21daSmrg      # Instead, we relocate shared libraries at runtime.
6128549e21daSmrg      ;;
6129549e21daSmrg    sysv4*MP*)
6130549e21daSmrg      if test -d /usr/nec; then
6131549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
6132549e21daSmrg      fi
6133549e21daSmrg      ;;
6134549e21daSmrg    hpux*)
6135549e21daSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
6136549e21daSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
6137549e21daSmrg      # sets the default TLS model and affects inlining.
6138549e21daSmrg      case $host_cpu in
6139549e21daSmrg      hppa*64*)
6140ba6a1819Smrg	;;
6141549e21daSmrg      *)
6142549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6143549e21daSmrg	;;
6144549e21daSmrg      esac
6145549e21daSmrg      ;;
6146549e21daSmrg    *qnx* | *nto*)
6147549e21daSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
6148549e21daSmrg      # it will coredump.
6149549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
6150549e21daSmrg      ;;
6151549e21daSmrg    *)
6152549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6153549e21daSmrg      ;;
6154549e21daSmrg    esac
6155549e21daSmrg  else
6156549e21daSmrg    case $host_os in
6157549e21daSmrg      aix[[4-9]]*)
6158549e21daSmrg	# All AIX code is PIC.
6159549e21daSmrg	if test "$host_cpu" = ia64; then
6160549e21daSmrg	  # AIX 5 now supports IA64 processor
6161549e21daSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6162549e21daSmrg	else
6163549e21daSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
6164549e21daSmrg	fi
6165549e21daSmrg	;;
6166549e21daSmrg      chorus*)
6167549e21daSmrg	case $cc_basename in
6168549e21daSmrg	cxch68*)
6169549e21daSmrg	  # Green Hills C++ Compiler
6170549e21daSmrg	  # _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"
6171ba6a1819Smrg	  ;;
6172ba6a1819Smrg	esac
6173ba6a1819Smrg	;;
6174549e21daSmrg      dgux*)
6175549e21daSmrg	case $cc_basename in
6176549e21daSmrg	  ec++*)
6177549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6178549e21daSmrg	    ;;
6179549e21daSmrg	  ghcx*)
6180549e21daSmrg	    # Green Hills C++ Compiler
6181549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6182549e21daSmrg	    ;;
6183549e21daSmrg	  *)
6184549e21daSmrg	    ;;
6185549e21daSmrg	esac
6186549e21daSmrg	;;
6187549e21daSmrg      freebsd* | dragonfly*)
6188549e21daSmrg	# FreeBSD uses GNU C++
6189549e21daSmrg	;;
6190549e21daSmrg      hpux9* | hpux10* | hpux11*)
6191549e21daSmrg	case $cc_basename in
6192549e21daSmrg	  CC*)
6193549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6194549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6195549e21daSmrg	    if test "$host_cpu" != ia64; then
6196549e21daSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6197549e21daSmrg	    fi
6198549e21daSmrg	    ;;
6199549e21daSmrg	  aCC*)
6200549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6201549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6202ba6a1819Smrg	    case $host_cpu in
6203549e21daSmrg	    hppa*64*|ia64*)
6204549e21daSmrg	      # +Z the default
6205ba6a1819Smrg	      ;;
6206ba6a1819Smrg	    *)
6207549e21daSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6208ba6a1819Smrg	      ;;
6209ba6a1819Smrg	    esac
6210549e21daSmrg	    ;;
6211549e21daSmrg	  *)
6212549e21daSmrg	    ;;
6213549e21daSmrg	esac
6214ba6a1819Smrg	;;
6215549e21daSmrg      interix*)
6216549e21daSmrg	# This is c89, which is MS Visual C++ (no shared libs)
6217549e21daSmrg	# Anyone wants to do a port?
6218ba6a1819Smrg	;;
6219549e21daSmrg      irix5* | irix6* | nonstopux*)
6220549e21daSmrg	case $cc_basename in
6221549e21daSmrg	  CC*)
6222549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6223549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6224549e21daSmrg	    # CC pic flag -KPIC is the default.
6225549e21daSmrg	    ;;
6226549e21daSmrg	  *)
6227549e21daSmrg	    ;;
6228549e21daSmrg	esac
6229ba6a1819Smrg	;;
6230549e21daSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu)
6231549e21daSmrg	case $cc_basename in
6232549e21daSmrg	  KCC*)
6233549e21daSmrg	    # KAI C++ Compiler
6234549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
6235549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6236549e21daSmrg	    ;;
6237549e21daSmrg	  ecpc* )
6238549e21daSmrg	    # old Intel C++ for x86_64 which still supported -KPIC.
6239549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6240549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6241549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
6242549e21daSmrg	    ;;
6243549e21daSmrg	  icpc* )
6244549e21daSmrg	    # Intel C++, used to be incompatible with GCC.
6245549e21daSmrg	    # ICC 10 doesn't accept -KPIC any more.
6246549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6247549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6248549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
6249549e21daSmrg	    ;;
6250549e21daSmrg	  pgCC* | pgcpp*)
6251549e21daSmrg	    # Portland Group C++ compiler
6252549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6253549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
6254549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6255549e21daSmrg	    ;;
6256549e21daSmrg	  cxx*)
6257549e21daSmrg	    # Compaq C++
6258549e21daSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
6259549e21daSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
6260549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
6261549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6262549e21daSmrg	    ;;
6263549e21daSmrg	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
6264549e21daSmrg	    # IBM XL 8.0, 9.0 on PPC and BlueGene
6265549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6266549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
6267549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
6268549e21daSmrg	    ;;
6269549e21daSmrg	  *)
6270549e21daSmrg	    case `$CC -V 2>&1 | sed 5q` in
6271549e21daSmrg	    *Sun\ C*)
6272549e21daSmrg	      # Sun C++ 5.9
6273549e21daSmrg	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6274549e21daSmrg	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6275549e21daSmrg	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
6276549e21daSmrg	      ;;
6277549e21daSmrg	    esac
6278549e21daSmrg	    ;;
6279549e21daSmrg	esac
6280ba6a1819Smrg	;;
6281549e21daSmrg      lynxos*)
6282549e21daSmrg	;;
6283549e21daSmrg      m88k*)
6284549e21daSmrg	;;
6285549e21daSmrg      mvs*)
6286549e21daSmrg	case $cc_basename in
6287549e21daSmrg	  cxx*)
6288549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
6289549e21daSmrg	    ;;
6290549e21daSmrg	  *)
6291549e21daSmrg	    ;;
6292ba6a1819Smrg	esac
6293ba6a1819Smrg	;;
6294549e21daSmrg      netbsd*)
6295549e21daSmrg	;;
6296549e21daSmrg      *qnx* | *nto*)
6297549e21daSmrg        # QNX uses GNU C++, but need to define -shared option too, otherwise
6298549e21daSmrg        # it will coredump.
6299549e21daSmrg        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
6300ba6a1819Smrg        ;;
6301549e21daSmrg      osf3* | osf4* | osf5*)
6302549e21daSmrg	case $cc_basename in
6303549e21daSmrg	  KCC*)
6304549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
6305549e21daSmrg	    ;;
6306549e21daSmrg	  RCC*)
6307549e21daSmrg	    # Rational C++ 2.4.1
6308549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6309549e21daSmrg	    ;;
6310549e21daSmrg	  cxx*)
6311549e21daSmrg	    # Digital/Compaq C++
6312549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6313549e21daSmrg	    # Make sure the PIC flag is empty.  It appears that all Alpha
6314549e21daSmrg	    # Linux and Compaq Tru64 Unix objects are PIC.
6315549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
6316549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6317549e21daSmrg	    ;;
6318549e21daSmrg	  *)
6319549e21daSmrg	    ;;
6320549e21daSmrg	esac
6321ba6a1819Smrg	;;
6322549e21daSmrg      psos*)
6323ba6a1819Smrg	;;
6324549e21daSmrg      solaris*)
6325549e21daSmrg	case $cc_basename in
6326549e21daSmrg	  CC* | sunCC*)
6327549e21daSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
6328549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6329549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6330549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
6331549e21daSmrg	    ;;
6332549e21daSmrg	  gcx*)
6333549e21daSmrg	    # Green Hills C++ Compiler
6334549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
6335549e21daSmrg	    ;;
6336549e21daSmrg	  *)
6337549e21daSmrg	    ;;
6338549e21daSmrg	esac
6339ba6a1819Smrg	;;
6340549e21daSmrg      sunos4*)
6341549e21daSmrg	case $cc_basename in
6342549e21daSmrg	  CC*)
6343549e21daSmrg	    # Sun C++ 4.x
6344549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6345549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6346549e21daSmrg	    ;;
6347549e21daSmrg	  lcc*)
6348549e21daSmrg	    # Lucid
6349549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6350549e21daSmrg	    ;;
6351549e21daSmrg	  *)
6352549e21daSmrg	    ;;
6353549e21daSmrg	esac
6354549e21daSmrg	;;
6355549e21daSmrg      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
6356549e21daSmrg	case $cc_basename in
6357549e21daSmrg	  CC*)
6358549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6359549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6360549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6361549e21daSmrg	    ;;
6362549e21daSmrg	esac
6363ba6a1819Smrg	;;
6364549e21daSmrg      tandem*)
6365549e21daSmrg	case $cc_basename in
6366549e21daSmrg	  NCC*)
6367549e21daSmrg	    # NonStop-UX NCC 3.20
6368549e21daSmrg	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6369549e21daSmrg	    ;;
6370549e21daSmrg	  *)
6371549e21daSmrg	    ;;
6372549e21daSmrg	esac
6373ba6a1819Smrg	;;
6374549e21daSmrg      vxworks*)
6375ba6a1819Smrg	;;
6376ba6a1819Smrg      *)
6377549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6378ba6a1819Smrg	;;
6379ba6a1819Smrg    esac
6380549e21daSmrg  fi
6381549e21daSmrg],
6382549e21daSmrg[
6383549e21daSmrg  if test "$GCC" = yes; then
6384549e21daSmrg    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6385549e21daSmrg    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
6386549e21daSmrg
6387549e21daSmrg    case $host_os in
6388549e21daSmrg      aix*)
6389549e21daSmrg      # All AIX code is PIC.
6390549e21daSmrg      if test "$host_cpu" = ia64; then
6391549e21daSmrg	# AIX 5 now supports IA64 processor
6392549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6393549e21daSmrg      fi
6394549e21daSmrg      ;;
6395ba6a1819Smrg
6396549e21daSmrg    amigaos*)
6397549e21daSmrg      case $host_cpu in
6398549e21daSmrg      powerpc)
6399549e21daSmrg            # see comment about AmigaOS4 .so support
6400549e21daSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6401549e21daSmrg        ;;
6402549e21daSmrg      m68k)
6403549e21daSmrg            # FIXME: we need at least 68020 code to build shared libraries, but
6404549e21daSmrg            # adding the `-m68020' flag to GCC prevents building anything better,
6405549e21daSmrg            # like `-m68040'.
6406549e21daSmrg            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
6407549e21daSmrg        ;;
6408549e21daSmrg      esac
6409549e21daSmrg      ;;
6410ba6a1819Smrg
6411549e21daSmrg    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
6412549e21daSmrg      # PIC is the default for these OSes.
6413549e21daSmrg      ;;
6414ba6a1819Smrg
6415549e21daSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
6416549e21daSmrg      # This hack is so that the source file can tell whether it is being
6417549e21daSmrg      # built for inclusion in a dll (and should export symbols for example).
6418549e21daSmrg      # Although the cygwin gcc ignores -fPIC, still need this for old-style
6419549e21daSmrg      # (--disable-auto-import) libraries
6420549e21daSmrg      m4_if([$1], [GCJ], [],
6421549e21daSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
6422549e21daSmrg      ;;
6423ba6a1819Smrg
6424549e21daSmrg    darwin* | rhapsody*)
6425549e21daSmrg      # PIC is the default on this platform
6426549e21daSmrg      # Common symbols not allowed in MH_DYLIB files
6427549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
6428549e21daSmrg      ;;
6429ba6a1819Smrg
6430549e21daSmrg    haiku*)
6431549e21daSmrg      # PIC is the default for Haiku.
6432549e21daSmrg      # The "-static" flag exists, but is broken.
6433549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)=
6434549e21daSmrg      ;;
6435ba6a1819Smrg
6436549e21daSmrg    hpux*)
6437549e21daSmrg      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
6438549e21daSmrg      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
6439549e21daSmrg      # sets the default TLS model and affects inlining.
6440549e21daSmrg      case $host_cpu in
6441549e21daSmrg      hppa*64*)
6442549e21daSmrg	# +Z the default
6443ba6a1819Smrg	;;
6444ba6a1819Smrg      *)
6445549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6446ba6a1819Smrg	;;
6447549e21daSmrg      esac
6448549e21daSmrg      ;;
6449ba6a1819Smrg
6450549e21daSmrg    interix[[3-9]]*)
6451549e21daSmrg      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
6452549e21daSmrg      # Instead, we relocate shared libraries at runtime.
6453549e21daSmrg      ;;
6454ba6a1819Smrg
6455549e21daSmrg    msdosdjgpp*)
6456549e21daSmrg      # Just because we use GCC doesn't mean we suddenly get shared libraries
6457549e21daSmrg      # on systems that don't support them.
6458549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6459549e21daSmrg      enable_shared=no
6460549e21daSmrg      ;;
6461ba6a1819Smrg
6462549e21daSmrg    *nto* | *qnx*)
6463549e21daSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
6464549e21daSmrg      # it will coredump.
6465549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
6466549e21daSmrg      ;;
6467ba6a1819Smrg
6468549e21daSmrg    sysv4*MP*)
6469549e21daSmrg      if test -d /usr/nec; then
6470549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
6471549e21daSmrg      fi
6472549e21daSmrg      ;;
6473ba6a1819Smrg
6474549e21daSmrg    *)
6475549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6476549e21daSmrg      ;;
6477ba6a1819Smrg    esac
6478ba6a1819Smrg
6479ba6a1819Smrg    case $cc_basename in
6480549e21daSmrg    nvcc*) # Cuda Compiler Driver 2.2
6481549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
6482549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
6483549e21daSmrg      ;;
6484ba6a1819Smrg    esac
6485549e21daSmrg  else
6486549e21daSmrg    # PORTME Check for flag to pass linker flags through the system compiler.
6487549e21daSmrg    case $host_os in
6488549e21daSmrg    aix*)
6489549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6490549e21daSmrg      if test "$host_cpu" = ia64; then
6491549e21daSmrg	# AIX 5 now supports IA64 processor
6492549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6493549e21daSmrg      else
6494549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
6495549e21daSmrg      fi
6496549e21daSmrg      ;;
6497ba6a1819Smrg
6498549e21daSmrg    mingw* | cygwin* | pw32* | os2* | cegcc*)
6499549e21daSmrg      # This hack is so that the source file can tell whether it is being
6500549e21daSmrg      # built for inclusion in a dll (and should export symbols for example).
6501549e21daSmrg      m4_if([$1], [GCJ], [],
6502549e21daSmrg	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
6503549e21daSmrg      ;;
6504549e21daSmrg
6505549e21daSmrg    hpux9* | hpux10* | hpux11*)
6506549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6507549e21daSmrg      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
6508549e21daSmrg      # not for PA HP-UX.
6509549e21daSmrg      case $host_cpu in
6510549e21daSmrg      hppa*64*|ia64*)
6511549e21daSmrg	# +Z the default
6512ba6a1819Smrg	;;
6513ba6a1819Smrg      *)
6514549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
6515ba6a1819Smrg	;;
6516549e21daSmrg      esac
6517549e21daSmrg      # Is there a better lt_prog_compiler_static that works with the bundled CC?
6518549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
6519549e21daSmrg      ;;
6520549e21daSmrg
6521549e21daSmrg    irix5* | irix6* | nonstopux*)
6522549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6523549e21daSmrg      # PIC (with -KPIC) is the default.
6524549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6525549e21daSmrg      ;;
6526549e21daSmrg
6527549e21daSmrg    linux* | k*bsd*-gnu | kopensolaris*-gnu)
6528549e21daSmrg      case $cc_basename in
6529549e21daSmrg      # old Intel for x86_64 which still supported -KPIC.
6530549e21daSmrg      ecc*)
6531549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6532549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6533549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
6534549e21daSmrg        ;;
6535549e21daSmrg      # icc used to be incompatible with GCC.
6536549e21daSmrg      # ICC 10 doesn't accept -KPIC any more.
6537549e21daSmrg      icc* | ifort*)
6538549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6539549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
6540549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
6541549e21daSmrg        ;;
6542549e21daSmrg      # Lahey Fortran 8.1.
6543549e21daSmrg      lf95*)
6544549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6545549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
6546549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
6547549e21daSmrg	;;
6548549e21daSmrg      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
6549549e21daSmrg        # Portland Group compilers (*not* the Pentium gcc compiler,
6550549e21daSmrg	# which looks to be a dead project)
6551549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6552549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
6553549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6554549e21daSmrg        ;;
6555549e21daSmrg      ccc*)
6556549e21daSmrg        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6557549e21daSmrg        # All Alpha code is PIC.
6558549e21daSmrg        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6559549e21daSmrg        ;;
6560549e21daSmrg      xl* | bgxl* | bgf* | mpixl*)
6561549e21daSmrg	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
6562549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6563549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
6564549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
6565ba6a1819Smrg	;;
6566ba6a1819Smrg      *)
6567549e21daSmrg	case `$CC -V 2>&1 | sed 5q` in
6568549e21daSmrg	*Sun\ F* | *Sun*Fortran*)
6569549e21daSmrg	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
6570549e21daSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6571549e21daSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6572549e21daSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
6573549e21daSmrg	  ;;
6574549e21daSmrg	*Sun\ C*)
6575549e21daSmrg	  # Sun C 5.9
6576549e21daSmrg	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6577549e21daSmrg	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6578549e21daSmrg	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6579549e21daSmrg	  ;;
6580549e21daSmrg	esac
6581ba6a1819Smrg	;;
6582549e21daSmrg      esac
6583549e21daSmrg      ;;
6584ba6a1819Smrg
6585549e21daSmrg    newsos6)
6586549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6587549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6588549e21daSmrg      ;;
6589ba6a1819Smrg
6590549e21daSmrg    *nto* | *qnx*)
6591549e21daSmrg      # QNX uses GNU C++, but need to define -shared option too, otherwise
6592549e21daSmrg      # it will coredump.
6593549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
6594549e21daSmrg      ;;
6595ba6a1819Smrg
6596549e21daSmrg    osf3* | osf4* | osf5*)
6597549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6598549e21daSmrg      # All OSF/1 code is PIC.
6599549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6600549e21daSmrg      ;;
6601ba6a1819Smrg
6602549e21daSmrg    rdos*)
6603549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
6604549e21daSmrg      ;;
6605ba6a1819Smrg
6606549e21daSmrg    solaris*)
6607549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6608549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6609549e21daSmrg      case $cc_basename in
6610549e21daSmrg      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
6611549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
6612549e21daSmrg      *)
6613549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
6614549e21daSmrg      esac
6615549e21daSmrg      ;;
6616ba6a1819Smrg
6617549e21daSmrg    sunos4*)
6618549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
6619549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
6620549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6621549e21daSmrg      ;;
6622ba6a1819Smrg
6623549e21daSmrg    sysv4 | sysv4.2uw2* | sysv4.3*)
6624549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6625549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6626549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6627549e21daSmrg      ;;
6628ba6a1819Smrg
6629549e21daSmrg    sysv4*MP*)
6630549e21daSmrg      if test -d /usr/nec ;then
6631549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
6632549e21daSmrg	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6633549e21daSmrg      fi
6634549e21daSmrg      ;;
6635ba6a1819Smrg
6636549e21daSmrg    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
6637549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6638549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
6639549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6640549e21daSmrg      ;;
6641ba6a1819Smrg
6642549e21daSmrg    unicos*)
6643549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
6644549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6645549e21daSmrg      ;;
6646ba6a1819Smrg
6647549e21daSmrg    uts4*)
6648549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
6649549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
6650549e21daSmrg      ;;
6651ba6a1819Smrg
6652549e21daSmrg    *)
6653549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
6654549e21daSmrg      ;;
6655ba6a1819Smrg    esac
6656549e21daSmrg  fi
6657549e21daSmrg])
6658549e21daSmrgcase $host_os in
6659549e21daSmrg  # For platforms which do not support PIC, -DPIC is meaningless:
6660549e21daSmrg  *djgpp*)
6661549e21daSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
6662549e21daSmrg    ;;
6663549e21daSmrg  *)
6664549e21daSmrg    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
6665549e21daSmrg    ;;
6666549e21daSmrgesac
6667549e21daSmrgAC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
6668549e21daSmrg_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
6669549e21daSmrg	[How to pass a linker flag through the compiler])
6670ba6a1819Smrg
6671549e21daSmrg#
6672549e21daSmrg# Check to make sure the PIC flag actually works.
6673549e21daSmrg#
6674549e21daSmrgif test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
6675549e21daSmrg  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
6676549e21daSmrg    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
6677549e21daSmrg    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
6678549e21daSmrg    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
6679549e21daSmrg     "" | " "*) ;;
6680549e21daSmrg     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
6681549e21daSmrg     esac],
6682549e21daSmrg    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
6683549e21daSmrg     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
6684ba6a1819Smrgfi
6685549e21daSmrg_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
6686549e21daSmrg	[Additional compiler flags for building library objects])
6687ba6a1819Smrg
6688549e21daSmrg#
6689549e21daSmrg# Check to make sure the static flag actually works.
6690549e21daSmrg#
6691549e21daSmrgwl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
6692549e21daSmrg_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
6693549e21daSmrg  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
6694549e21daSmrg  $lt_tmp_static_flag,
6695549e21daSmrg  [],
6696549e21daSmrg  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
6697549e21daSmrg_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
6698549e21daSmrg	[Compiler flag to prevent dynamic linking])
6699549e21daSmrg])# _LT_COMPILER_PIC
6700ba6a1819Smrg
6701ba6a1819Smrg
6702549e21daSmrg# _LT_LINKER_SHLIBS([TAGNAME])
6703549e21daSmrg# ----------------------------
6704549e21daSmrg# See if the linker supports building shared libraries.
6705549e21daSmrgm4_defun([_LT_LINKER_SHLIBS],
6706549e21daSmrg[AC_REQUIRE([LT_PATH_LD])dnl
6707549e21daSmrgAC_REQUIRE([LT_PATH_NM])dnl
6708549e21daSmrgm4_require([_LT_FILEUTILS_DEFAULTS])dnl
6709549e21daSmrgm4_require([_LT_DECL_EGREP])dnl
6710549e21daSmrgm4_require([_LT_DECL_SED])dnl
6711549e21daSmrgm4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
6712549e21daSmrgm4_require([_LT_TAG_COMPILER])dnl
6713549e21daSmrgAC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6714549e21daSmrgm4_if([$1], [CXX], [
6715549e21daSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6716549e21daSmrg  case $host_os in
6717549e21daSmrg  aix[[4-9]]*)
6718549e21daSmrg    # If we're using GNU nm, then we don't want the "-C" option.
6719549e21daSmrg    # -C means demangle to AIX nm, but means don't demangle with GNU nm
6720549e21daSmrg    # Also, AIX nm treats weak defined symbols like other global defined
6721549e21daSmrg    # symbols, whereas GNU nm marks them as "W".
6722549e21daSmrg    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
6723549e21daSmrg      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
6724549e21daSmrg    else
6725549e21daSmrg      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
6726549e21daSmrg    fi
6727549e21daSmrg    ;;
6728549e21daSmrg  pw32*)
6729549e21daSmrg    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
6730ba6a1819Smrg  ;;
6731549e21daSmrg  cygwin* | mingw* | cegcc*)
6732549e21daSmrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
6733ba6a1819Smrg  ;;
6734549e21daSmrg  *)
6735549e21daSmrg    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6736549e21daSmrg  ;;
6737549e21daSmrg  esac
6738549e21daSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
6739549e21daSmrg], [
6740549e21daSmrg  runpath_var=
6741549e21daSmrg  _LT_TAGVAR(allow_undefined_flag, $1)=
6742549e21daSmrg  _LT_TAGVAR(always_export_symbols, $1)=no
6743549e21daSmrg  _LT_TAGVAR(archive_cmds, $1)=
6744549e21daSmrg  _LT_TAGVAR(archive_expsym_cmds, $1)=
6745549e21daSmrg  _LT_TAGVAR(compiler_needs_object, $1)=no
6746549e21daSmrg  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6747549e21daSmrg  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
6748549e21daSmrg  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
6749549e21daSmrg  _LT_TAGVAR(hardcode_automatic, $1)=no
6750549e21daSmrg  _LT_TAGVAR(hardcode_direct, $1)=no
6751549e21daSmrg  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
6752549e21daSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6753549e21daSmrg  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6754549e21daSmrg  _LT_TAGVAR(hardcode_libdir_separator, $1)=
6755549e21daSmrg  _LT_TAGVAR(hardcode_minus_L, $1)=no
6756549e21daSmrg  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
6757549e21daSmrg  _LT_TAGVAR(inherit_rpath, $1)=no
6758549e21daSmrg  _LT_TAGVAR(link_all_deplibs, $1)=unknown
6759549e21daSmrg  _LT_TAGVAR(module_cmds, $1)=
6760549e21daSmrg  _LT_TAGVAR(module_expsym_cmds, $1)=
6761549e21daSmrg  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
6762549e21daSmrg  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
6763549e21daSmrg  _LT_TAGVAR(thread_safe_flag_spec, $1)=
6764549e21daSmrg  _LT_TAGVAR(whole_archive_flag_spec, $1)=
6765549e21daSmrg  # include_expsyms should be a list of space-separated symbols to be *always*
6766549e21daSmrg  # included in the symbol list
6767549e21daSmrg  _LT_TAGVAR(include_expsyms, $1)=
6768549e21daSmrg  # exclude_expsyms can be an extended regexp of symbols to exclude
6769549e21daSmrg  # it will be wrapped by ` (' and `)$', so one must not match beginning or
6770549e21daSmrg  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
6771549e21daSmrg  # as well as any symbol that contains `d'.
6772549e21daSmrg  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
6773549e21daSmrg  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
6774549e21daSmrg  # platforms (ab)use it in PIC code, but their linkers get confused if
6775549e21daSmrg  # the symbol is explicitly referenced.  Since portable code cannot
6776549e21daSmrg  # rely on this symbol name, it's probably fine to never include it in
6777549e21daSmrg  # preloaded symbol tables.
6778549e21daSmrg  # Exclude shared library initialization/finalization symbols.
6779549e21daSmrgdnl Note also adjust exclude_expsyms for C++ above.
6780549e21daSmrg  extract_expsyms_cmds=
6781ba6a1819Smrg
6782549e21daSmrg  case $host_os in
6783549e21daSmrg  cygwin* | mingw* | pw32* | cegcc*)
6784549e21daSmrg    # FIXME: the MSVC++ port hasn't been tested in a loooong time
6785549e21daSmrg    # When not using gcc, we currently assume that we are using
6786549e21daSmrg    # Microsoft Visual C++.
6787549e21daSmrg    if test "$GCC" != yes; then
6788549e21daSmrg      with_gnu_ld=no
6789549e21daSmrg    fi
6790549e21daSmrg    ;;
6791549e21daSmrg  interix*)
6792549e21daSmrg    # we just hope/assume this is gcc and not c89 (= MSVC++)
6793549e21daSmrg    with_gnu_ld=yes
6794549e21daSmrg    ;;
6795549e21daSmrg  openbsd*)
6796549e21daSmrg    with_gnu_ld=no
6797549e21daSmrg    ;;
6798549e21daSmrg  esac
6799ba6a1819Smrg
6800549e21daSmrg  _LT_TAGVAR(ld_shlibs, $1)=yes
6801ba6a1819Smrg
6802549e21daSmrg  # On some targets, GNU ld is compatible enough with the native linker
6803549e21daSmrg  # that we're better off using the native interface for both.
6804549e21daSmrg  lt_use_gnu_ld_interface=no
6805549e21daSmrg  if test "$with_gnu_ld" = yes; then
6806549e21daSmrg    case $host_os in
6807549e21daSmrg      aix*)
6808549e21daSmrg	# The AIX port of GNU ld has always aspired to compatibility
6809549e21daSmrg	# with the native linker.  However, as the warning in the GNU ld
6810549e21daSmrg	# block says, versions before 2.19.5* couldn't really create working
6811549e21daSmrg	# shared libraries, regardless of the interface used.
6812549e21daSmrg	case `$LD -v 2>&1` in
6813549e21daSmrg	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
6814549e21daSmrg	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
6815549e21daSmrg	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
6816549e21daSmrg	  *)
6817549e21daSmrg	    lt_use_gnu_ld_interface=yes
6818549e21daSmrg	    ;;
6819549e21daSmrg	esac
6820549e21daSmrg	;;
6821549e21daSmrg      *)
6822549e21daSmrg	lt_use_gnu_ld_interface=yes
6823549e21daSmrg	;;
6824549e21daSmrg    esac
6825549e21daSmrg  fi
6826ba6a1819Smrg
6827549e21daSmrg  if test "$lt_use_gnu_ld_interface" = yes; then
6828549e21daSmrg    # If archive_cmds runs LD, not CC, wlarc should be empty
6829549e21daSmrg    wlarc='${wl}'
6830ba6a1819Smrg
6831549e21daSmrg    # Set some defaults for GNU ld with shared library support. These
6832549e21daSmrg    # are reset later if shared libraries are not supported. Putting them
6833549e21daSmrg    # here allows them to be overridden if necessary.
6834549e21daSmrg    runpath_var=LD_RUN_PATH
6835549e21daSmrg    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6836549e21daSmrg    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6837549e21daSmrg    # ancient GNU ld didn't support --whole-archive et. al.
6838549e21daSmrg    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
6839549e21daSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6840549e21daSmrg    else
6841549e21daSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
6842549e21daSmrg    fi
6843549e21daSmrg    supports_anon_versioning=no
6844549e21daSmrg    case `$LD -v 2>&1` in
6845549e21daSmrg      *GNU\ gold*) supports_anon_versioning=yes ;;
6846549e21daSmrg      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
6847549e21daSmrg      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
6848549e21daSmrg      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
6849549e21daSmrg      *\ 2.11.*) ;; # other 2.11 versions
6850549e21daSmrg      *) supports_anon_versioning=yes ;;
6851549e21daSmrg    esac
6852ba6a1819Smrg
6853549e21daSmrg    # See if GNU ld supports shared libraries.
6854549e21daSmrg    case $host_os in
6855549e21daSmrg    aix[[3-9]]*)
6856549e21daSmrg      # On AIX/PPC, the GNU linker is very broken
6857549e21daSmrg      if test "$host_cpu" != ia64; then
6858549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
6859549e21daSmrg	cat <<_LT_EOF 1>&2
6860ba6a1819Smrg
6861549e21daSmrg*** Warning: the GNU linker, at least up to release 2.19, is reported
6862549e21daSmrg*** to be unable to reliably create shared libraries on AIX.
6863549e21daSmrg*** Therefore, libtool is disabling shared libraries support.  If you
6864549e21daSmrg*** really care for shared libraries, you may want to install binutils
6865549e21daSmrg*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
6866549e21daSmrg*** You will then need to restart the configuration process.
6867ba6a1819Smrg
6868549e21daSmrg_LT_EOF
6869549e21daSmrg      fi
6870549e21daSmrg      ;;
6871ba6a1819Smrg
6872549e21daSmrg    amigaos*)
6873549e21daSmrg      case $host_cpu in
6874549e21daSmrg      powerpc)
6875549e21daSmrg            # see comment about AmigaOS4 .so support
6876549e21daSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6877549e21daSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
6878549e21daSmrg        ;;
6879549e21daSmrg      m68k)
6880549e21daSmrg            _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)'
6881549e21daSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6882549e21daSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
6883549e21daSmrg        ;;
6884549e21daSmrg      esac
6885549e21daSmrg      ;;
6886ba6a1819Smrg
6887549e21daSmrg    beos*)
6888549e21daSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6889549e21daSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6890549e21daSmrg	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6891549e21daSmrg	# support --undefined.  This deserves some investigation.  FIXME
6892549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6893549e21daSmrg      else
6894549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
6895549e21daSmrg      fi
6896549e21daSmrg      ;;
6897ba6a1819Smrg
6898549e21daSmrg    cygwin* | mingw* | pw32* | cegcc*)
6899549e21daSmrg      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6900549e21daSmrg      # as there is no search path for DLLs.
6901549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6902549e21daSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
6903549e21daSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6904549e21daSmrg      _LT_TAGVAR(always_export_symbols, $1)=no
6905549e21daSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6906549e21daSmrg      _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'
6907549e21daSmrg
6908549e21daSmrg      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6909549e21daSmrg        _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'
6910549e21daSmrg	# If the export-symbols file already is a .def file (1st line
6911549e21daSmrg	# is EXPORTS), use it as is; otherwise, prepend...
6912549e21daSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
6913549e21daSmrg	  cp $export_symbols $output_objdir/$soname.def;
6914549e21daSmrg	else
6915549e21daSmrg	  echo EXPORTS > $output_objdir/$soname.def;
6916549e21daSmrg	  cat $export_symbols >> $output_objdir/$soname.def;
6917549e21daSmrg	fi~
6918549e21daSmrg	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6919549e21daSmrg      else
6920549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
6921549e21daSmrg      fi
6922549e21daSmrg      ;;
6923ba6a1819Smrg
6924549e21daSmrg    haiku*)
6925549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6926549e21daSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
6927549e21daSmrg      ;;
6928ba6a1819Smrg
6929549e21daSmrg    interix[[3-9]]*)
6930549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=no
6931549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6932549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6933549e21daSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6934549e21daSmrg      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6935549e21daSmrg      # Instead, shared libraries are loaded at an image base (0x10000000 by
6936549e21daSmrg      # default) and relocated if they conflict, which is a slow very memory
6937549e21daSmrg      # consuming and fragmenting process.  To avoid this, we pick a random,
6938549e21daSmrg      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6939549e21daSmrg      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
6940549e21daSmrg      _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'
6941549e21daSmrg      _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'
6942549e21daSmrg      ;;
6943ba6a1819Smrg
6944549e21daSmrg    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
6945549e21daSmrg      tmp_diet=no
6946549e21daSmrg      if test "$host_os" = linux-dietlibc; then
6947549e21daSmrg	case $cc_basename in
6948549e21daSmrg	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
6949549e21daSmrg	esac
6950549e21daSmrg      fi
6951549e21daSmrg      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
6952549e21daSmrg	 && test "$tmp_diet" = no
6953549e21daSmrg      then
6954549e21daSmrg	tmp_addflag=
6955549e21daSmrg	tmp_sharedflag='-shared'
6956549e21daSmrg	case $cc_basename,$host_cpu in
6957549e21daSmrg        pgcc*)				# Portland Group C compiler
6958549e21daSmrg	  _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'
6959549e21daSmrg	  tmp_addflag=' $pic_flag'
6960549e21daSmrg	  ;;
6961549e21daSmrg	pgf77* | pgf90* | pgf95* | pgfortran*)
6962549e21daSmrg					# Portland Group f77 and f90 compilers
6963549e21daSmrg	  _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'
6964549e21daSmrg	  tmp_addflag=' $pic_flag -Mnomain' ;;
6965549e21daSmrg	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
6966549e21daSmrg	  tmp_addflag=' -i_dynamic' ;;
6967549e21daSmrg	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
6968549e21daSmrg	  tmp_addflag=' -i_dynamic -nofor_main' ;;
6969549e21daSmrg	ifc* | ifort*)			# Intel Fortran compiler
6970549e21daSmrg	  tmp_addflag=' -nofor_main' ;;
6971549e21daSmrg	lf95*)				# Lahey Fortran 8.1
6972549e21daSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
6973549e21daSmrg	  tmp_sharedflag='--shared' ;;
6974549e21daSmrg	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
6975549e21daSmrg	  tmp_sharedflag='-qmkshrobj'
6976549e21daSmrg	  tmp_addflag= ;;
6977549e21daSmrg	nvcc*)	# Cuda Compiler Driver 2.2
6978549e21daSmrg	  _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'
6979549e21daSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
6980549e21daSmrg	  ;;
6981549e21daSmrg	esac
6982549e21daSmrg	case `$CC -V 2>&1 | sed 5q` in
6983549e21daSmrg	*Sun\ C*)			# Sun C 5.9
6984549e21daSmrg	  _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'
6985549e21daSmrg	  _LT_TAGVAR(compiler_needs_object, $1)=yes
6986549e21daSmrg	  tmp_sharedflag='-G' ;;
6987549e21daSmrg	*Sun\ F*)			# Sun Fortran 8.3
6988549e21daSmrg	  tmp_sharedflag='-G' ;;
6989549e21daSmrg	esac
6990549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6991ba6a1819Smrg
6992549e21daSmrg        if test "x$supports_anon_versioning" = xyes; then
6993549e21daSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6994549e21daSmrg	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6995549e21daSmrg	    echo "local: *; };" >> $output_objdir/$libname.ver~
6996549e21daSmrg	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6997549e21daSmrg        fi
6998ba6a1819Smrg
6999549e21daSmrg	case $cc_basename in
7000549e21daSmrg	xlf* | bgf* | bgxlf* | mpixlf*)
7001549e21daSmrg	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
7002549e21daSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
7003549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7004549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
7005549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
7006549e21daSmrg	  if test "x$supports_anon_versioning" = xyes; then
7007549e21daSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
7008549e21daSmrg	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
7009549e21daSmrg	      echo "local: *; };" >> $output_objdir/$libname.ver~
7010549e21daSmrg	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
7011549e21daSmrg	  fi
7012549e21daSmrg	  ;;
7013549e21daSmrg	esac
7014549e21daSmrg      else
7015549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
7016549e21daSmrg      fi
7017549e21daSmrg      ;;
7018ba6a1819Smrg
7019549e21daSmrg    netbsd*)
7020549e21daSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7021549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
7022549e21daSmrg	wlarc=
7023549e21daSmrg      else
7024549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
7025549e21daSmrg	_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'
7026549e21daSmrg      fi
7027549e21daSmrg      ;;
7028ba6a1819Smrg
7029549e21daSmrg    solaris*)
7030549e21daSmrg      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
7031549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
7032549e21daSmrg	cat <<_LT_EOF 1>&2
7033ba6a1819Smrg
7034549e21daSmrg*** Warning: The releases 2.8.* of the GNU linker cannot reliably
7035549e21daSmrg*** create shared libraries on Solaris systems.  Therefore, libtool
7036549e21daSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
7037549e21daSmrg*** binutils to release 2.9.1 or newer.  Another option is to modify
7038549e21daSmrg*** your PATH or compiler configuration so that the native linker is
7039549e21daSmrg*** used, and then restart.
7040ba6a1819Smrg
7041549e21daSmrg_LT_EOF
7042549e21daSmrg      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
7043549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
7044549e21daSmrg	_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'
7045549e21daSmrg      else
7046549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
7047549e21daSmrg      fi
7048549e21daSmrg      ;;
7049ba6a1819Smrg
7050549e21daSmrg    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
7051549e21daSmrg      case `$LD -v 2>&1` in
7052549e21daSmrg        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
7053549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
7054549e21daSmrg	cat <<_LT_EOF 1>&2
7055ba6a1819Smrg
7056549e21daSmrg*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
7057549e21daSmrg*** reliably create shared libraries on SCO systems.  Therefore, libtool
7058549e21daSmrg*** is disabling shared libraries support.  We urge you to upgrade GNU
7059549e21daSmrg*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
7060549e21daSmrg*** your PATH or compiler configuration so that the native linker is
7061549e21daSmrg*** used, and then restart.
7062ba6a1819Smrg
7063549e21daSmrg_LT_EOF
7064549e21daSmrg	;;
7065549e21daSmrg	*)
7066549e21daSmrg	  # For security reasons, it is highly recommended that you always
7067549e21daSmrg	  # use absolute paths for naming shared libraries, and exclude the
7068549e21daSmrg	  # DT_RUNPATH tag from executables and libraries.  But doing so
7069549e21daSmrg	  # requires that you compile everything twice, which is a pain.
7070549e21daSmrg	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
7071549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7072549e21daSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
7073549e21daSmrg	    _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'
7074549e21daSmrg	  else
7075549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
7076549e21daSmrg	  fi
7077549e21daSmrg	;;
7078549e21daSmrg      esac
7079549e21daSmrg      ;;
7080ba6a1819Smrg
7081549e21daSmrg    sunos4*)
7082549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
7083549e21daSmrg      wlarc=
7084549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7085549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7086549e21daSmrg      ;;
7087ba6a1819Smrg
7088549e21daSmrg    *)
7089549e21daSmrg      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
7090549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
7091549e21daSmrg	_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'
7092549e21daSmrg      else
7093549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
7094549e21daSmrg      fi
7095549e21daSmrg      ;;
7096549e21daSmrg    esac
7097ba6a1819Smrg
7098549e21daSmrg    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
7099549e21daSmrg      runpath_var=
7100549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7101549e21daSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7102549e21daSmrg      _LT_TAGVAR(whole_archive_flag_spec, $1)=
7103549e21daSmrg    fi
7104549e21daSmrg  else
7105549e21daSmrg    # PORTME fill in a description of your system's linker (not GNU ld)
7106549e21daSmrg    case $host_os in
7107549e21daSmrg    aix3*)
7108549e21daSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
7109549e21daSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
7110549e21daSmrg      _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'
7111549e21daSmrg      # Note: this linker hardcodes the directories in LIBPATH if there
7112549e21daSmrg      # are no directories specified by -L.
7113549e21daSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
7114549e21daSmrg      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
7115549e21daSmrg	# Neither direct hardcoding nor static linking is supported with a
7116549e21daSmrg	# broken collect2.
7117549e21daSmrg	_LT_TAGVAR(hardcode_direct, $1)=unsupported
7118549e21daSmrg      fi
7119549e21daSmrg      ;;
7120ba6a1819Smrg
7121549e21daSmrg    aix[[4-9]]*)
7122549e21daSmrg      if test "$host_cpu" = ia64; then
7123549e21daSmrg	# On IA64, the linker does run time linking by default, so we don't
7124549e21daSmrg	# have to do anything special.
7125549e21daSmrg	aix_use_runtimelinking=no
7126549e21daSmrg	exp_sym_flag='-Bexport'
7127549e21daSmrg	no_entry_flag=""
7128549e21daSmrg      else
7129549e21daSmrg	# If we're using GNU nm, then we don't want the "-C" option.
7130549e21daSmrg	# -C means demangle to AIX nm, but means don't demangle with GNU nm
7131549e21daSmrg	# Also, AIX nm treats weak defined symbols like other global
7132549e21daSmrg	# defined symbols, whereas GNU nm marks them as "W".
7133549e21daSmrg	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
7134549e21daSmrg	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
7135549e21daSmrg	else
7136549e21daSmrg	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
7137549e21daSmrg	fi
7138549e21daSmrg	aix_use_runtimelinking=no
7139ba6a1819Smrg
7140549e21daSmrg	# Test if we are trying to use run time linking or normal
7141549e21daSmrg	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
7142549e21daSmrg	# need to do runtime linking.
7143549e21daSmrg	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
7144549e21daSmrg	  for ld_flag in $LDFLAGS; do
7145549e21daSmrg	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
7146549e21daSmrg	    aix_use_runtimelinking=yes
7147549e21daSmrg	    break
7148549e21daSmrg	  fi
7149549e21daSmrg	  done
7150549e21daSmrg	  ;;
7151549e21daSmrg	esac
7152ba6a1819Smrg
7153549e21daSmrg	exp_sym_flag='-bexport'
7154549e21daSmrg	no_entry_flag='-bnoentry'
7155549e21daSmrg      fi
7156ba6a1819Smrg
7157549e21daSmrg      # When large executables or shared objects are built, AIX ld can
7158549e21daSmrg      # have problems creating the table of contents.  If linking a library
7159549e21daSmrg      # or program results in "error TOC overflow" add -mminimal-toc to
7160549e21daSmrg      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
7161549e21daSmrg      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
7162ba6a1819Smrg
7163549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)=''
7164549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7165549e21daSmrg      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7166549e21daSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7167549e21daSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
7168549e21daSmrg      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
7169ba6a1819Smrg
7170549e21daSmrg      if test "$GCC" = yes; then
7171549e21daSmrg	case $host_os in aix4.[[012]]|aix4.[[012]].*)
7172549e21daSmrg	# We only want to do this on AIX 4.2 and lower, the check
7173549e21daSmrg	# below for broken collect2 doesn't work under 4.3+
7174549e21daSmrg	  collect2name=`${CC} -print-prog-name=collect2`
7175549e21daSmrg	  if test -f "$collect2name" &&
7176549e21daSmrg	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
7177549e21daSmrg	  then
7178549e21daSmrg	  # We have reworked collect2
7179549e21daSmrg	  :
7180549e21daSmrg	  else
7181549e21daSmrg	  # We have old collect2
7182549e21daSmrg	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
7183549e21daSmrg	  # It fails to find uninstalled libraries when the uninstalled
7184549e21daSmrg	  # path is not listed in the libpath.  Setting hardcode_minus_L
7185549e21daSmrg	  # to unsupported forces relinking
7186549e21daSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
7187549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7188549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
7189549e21daSmrg	  fi
7190549e21daSmrg	  ;;
7191549e21daSmrg	esac
7192549e21daSmrg	shared_flag='-shared'
7193549e21daSmrg	if test "$aix_use_runtimelinking" = yes; then
7194549e21daSmrg	  shared_flag="$shared_flag "'${wl}-G'
7195549e21daSmrg	fi
7196549e21daSmrg      else
7197549e21daSmrg	# not using gcc
7198549e21daSmrg	if test "$host_cpu" = ia64; then
7199549e21daSmrg	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
7200549e21daSmrg	# chokes on -Wl,-G. The following line is correct:
7201549e21daSmrg	  shared_flag='-G'
7202549e21daSmrg	else
7203549e21daSmrg	  if test "$aix_use_runtimelinking" = yes; then
7204549e21daSmrg	    shared_flag='${wl}-G'
7205549e21daSmrg	  else
7206549e21daSmrg	    shared_flag='${wl}-bM:SRE'
7207549e21daSmrg	  fi
7208549e21daSmrg	fi
7209549e21daSmrg      fi
7210ba6a1819Smrg
7211549e21daSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
7212549e21daSmrg      # It seems that -bexpall does not export symbols beginning with
7213549e21daSmrg      # underscore (_), so it is better to generate a list of symbols to export.
7214549e21daSmrg      _LT_TAGVAR(always_export_symbols, $1)=yes
7215549e21daSmrg      if test "$aix_use_runtimelinking" = yes; then
7216549e21daSmrg	# Warning - without using the other runtime loading flags (-brtl),
7217549e21daSmrg	# -berok will link without error, but may produce a broken library.
7218549e21daSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
7219549e21daSmrg        # Determine the default libpath from the value encoded in an
7220549e21daSmrg        # empty executable.
7221549e21daSmrg        _LT_SYS_MODULE_PATH_AIX
7222549e21daSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
7223549e21daSmrg        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
7224549e21daSmrg      else
7225549e21daSmrg	if test "$host_cpu" = ia64; then
7226549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
7227549e21daSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
7228549e21daSmrg	  _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"
7229549e21daSmrg	else
7230549e21daSmrg	 # Determine the default libpath from the value encoded in an
7231549e21daSmrg	 # empty executable.
7232549e21daSmrg	 _LT_SYS_MODULE_PATH_AIX
7233549e21daSmrg	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
7234549e21daSmrg	  # Warning - without using the other run time loading flags,
7235549e21daSmrg	  # -berok will link without error, but may produce a broken library.
7236549e21daSmrg	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
7237549e21daSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
7238549e21daSmrg	  if test "$with_gnu_ld" = yes; then
7239549e21daSmrg	    # We only use this code for GNU lds that support --whole-archive.
7240549e21daSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
7241549e21daSmrg	  else
7242549e21daSmrg	    # Exported symbols can be pulled into shared objects from archives
7243549e21daSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
7244549e21daSmrg	  fi
7245549e21daSmrg	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
7246549e21daSmrg	  # This is similar to how AIX traditionally builds its shared libraries.
7247549e21daSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
7248549e21daSmrg	fi
7249549e21daSmrg      fi
7250549e21daSmrg      ;;
7251ba6a1819Smrg
7252549e21daSmrg    amigaos*)
7253549e21daSmrg      case $host_cpu in
7254549e21daSmrg      powerpc)
7255549e21daSmrg            # see comment about AmigaOS4 .so support
7256549e21daSmrg            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
7257549e21daSmrg            _LT_TAGVAR(archive_expsym_cmds, $1)=''
7258549e21daSmrg        ;;
7259549e21daSmrg      m68k)
7260549e21daSmrg            _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)'
7261549e21daSmrg            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7262549e21daSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes
7263549e21daSmrg        ;;
7264549e21daSmrg      esac
7265549e21daSmrg      ;;
7266ba6a1819Smrg
7267549e21daSmrg    bsdi[[45]]*)
7268549e21daSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
7269549e21daSmrg      ;;
7270ba6a1819Smrg
7271549e21daSmrg    cygwin* | mingw* | pw32* | cegcc*)
7272549e21daSmrg      # When not using gcc, we currently assume that we are using
7273549e21daSmrg      # Microsoft Visual C++.
7274549e21daSmrg      # hardcode_libdir_flag_spec is actually meaningless, as there is
7275549e21daSmrg      # no search path for DLLs.
7276549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
7277549e21daSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
7278549e21daSmrg      # Tell ltmain to make .lib files, not .a files.
7279549e21daSmrg      libext=lib
7280549e21daSmrg      # Tell ltmain to make .dll files, not .so files.
7281549e21daSmrg      shrext_cmds=".dll"
7282549e21daSmrg      # FIXME: Setting linknames here is a bad hack.
7283549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
7284549e21daSmrg      # The linker will automatically build a .lib file if we build a DLL.
7285549e21daSmrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
7286549e21daSmrg      # FIXME: Should let the user specify the lib program.
7287549e21daSmrg      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
7288549e21daSmrg      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
7289549e21daSmrg      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
7290549e21daSmrg      ;;
7291ba6a1819Smrg
7292549e21daSmrg    darwin* | rhapsody*)
7293549e21daSmrg      _LT_DARWIN_LINKER_FEATURES($1)
7294549e21daSmrg      ;;
7295ba6a1819Smrg
7296549e21daSmrg    dgux*)
7297549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7298549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7299549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7300549e21daSmrg      ;;
7301ba6a1819Smrg
7302549e21daSmrg    freebsd1*)
7303549e21daSmrg      _LT_TAGVAR(ld_shlibs, $1)=no
7304549e21daSmrg      ;;
7305ba6a1819Smrg
7306549e21daSmrg    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
7307549e21daSmrg    # support.  Future versions do this automatically, but an explicit c++rt0.o
7308549e21daSmrg    # does not break anything, and helps significantly (at the cost of a little
7309549e21daSmrg    # extra space).
7310549e21daSmrg    freebsd2.2*)
7311549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
7312549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7313549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7314549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7315549e21daSmrg      ;;
7316ba6a1819Smrg
7317549e21daSmrg    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
7318549e21daSmrg    freebsd2*)
7319549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
7320549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7321549e21daSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
7322549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7323549e21daSmrg      ;;
7324ba6a1819Smrg
7325549e21daSmrg    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
7326549e21daSmrg    freebsd* | dragonfly*)
7327549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
7328549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7329549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7330549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7331549e21daSmrg      ;;
7332ba6a1819Smrg
7333549e21daSmrg    hpux9*)
7334549e21daSmrg      if test "$GCC" = yes; then
7335549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
7336549e21daSmrg      else
7337549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
7338549e21daSmrg      fi
7339549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7340549e21daSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7341549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7342ba6a1819Smrg
7343549e21daSmrg      # hardcode_minus_L: Not really in the search PATH,
7344549e21daSmrg      # but as the default location of the library.
7345549e21daSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
7346549e21daSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7347549e21daSmrg      ;;
7348ba6a1819Smrg
7349549e21daSmrg    hpux10*)
7350549e21daSmrg      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
7351549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
7352549e21daSmrg      else
7353549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
7354549e21daSmrg      fi
7355549e21daSmrg      if test "$with_gnu_ld" = no; then
7356549e21daSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7357549e21daSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
7358549e21daSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
7359549e21daSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
7360549e21daSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7361549e21daSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7362549e21daSmrg	# hardcode_minus_L: Not really in the search PATH,
7363549e21daSmrg	# but as the default location of the library.
7364549e21daSmrg	_LT_TAGVAR(hardcode_minus_L, $1)=yes
7365549e21daSmrg      fi
7366549e21daSmrg      ;;
7367ba6a1819Smrg
7368549e21daSmrg    hpux11*)
7369549e21daSmrg      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
7370549e21daSmrg	case $host_cpu in
7371549e21daSmrg	hppa*64*)
7372549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7373549e21daSmrg	  ;;
7374549e21daSmrg	ia64*)
7375549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
7376549e21daSmrg	  ;;
7377549e21daSmrg	*)
7378549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
7379549e21daSmrg	  ;;
7380549e21daSmrg	esac
7381549e21daSmrg      else
7382549e21daSmrg	case $host_cpu in
7383549e21daSmrg	hppa*64*)
7384549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7385549e21daSmrg	  ;;
7386549e21daSmrg	ia64*)
7387549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
7388549e21daSmrg	  ;;
7389549e21daSmrg	*)
7390549e21daSmrg	m4_if($1, [], [
7391549e21daSmrg	  # Older versions of the 11.00 compiler do not understand -b yet
7392549e21daSmrg	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
7393549e21daSmrg	  _LT_LINKER_OPTION([if $CC understands -b],
7394549e21daSmrg	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
7395549e21daSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
7396549e21daSmrg	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
7397549e21daSmrg	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
7398549e21daSmrg	  ;;
7399549e21daSmrg	esac
7400549e21daSmrg      fi
7401549e21daSmrg      if test "$with_gnu_ld" = no; then
7402549e21daSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
7403549e21daSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
7404ba6a1819Smrg
7405549e21daSmrg	case $host_cpu in
7406549e21daSmrg	hppa*64*|ia64*)
7407549e21daSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
7408549e21daSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7409549e21daSmrg	  ;;
7410549e21daSmrg	*)
7411549e21daSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
7412549e21daSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7413549e21daSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7414ba6a1819Smrg
7415549e21daSmrg	  # hardcode_minus_L: Not really in the search PATH,
7416549e21daSmrg	  # but as the default location of the library.
7417549e21daSmrg	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
7418549e21daSmrg	  ;;
7419549e21daSmrg	esac
7420549e21daSmrg      fi
7421549e21daSmrg      ;;
7422ba6a1819Smrg
7423549e21daSmrg    irix5* | irix6* | nonstopux*)
7424549e21daSmrg      if test "$GCC" = yes; then
7425549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $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'
7426549e21daSmrg	# Try to use the -exported_symbol ld option, if it does not
7427549e21daSmrg	# work, assume that -exports_file does not work either and
7428549e21daSmrg	# implicitly export all symbols.
7429549e21daSmrg        save_LDFLAGS="$LDFLAGS"
7430549e21daSmrg        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
7431549e21daSmrg        AC_LINK_IFELSE(int foo(void) {},
7432549e21daSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $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'
7433549e21daSmrg        )
7434549e21daSmrg        LDFLAGS="$save_LDFLAGS"
7435549e21daSmrg      else
7436549e21daSmrg	_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'
7437549e21daSmrg	_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'
7438549e21daSmrg      fi
7439549e21daSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
7440549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7441549e21daSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7442549e21daSmrg      _LT_TAGVAR(inherit_rpath, $1)=yes
7443549e21daSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
7444549e21daSmrg      ;;
7445ba6a1819Smrg
7446549e21daSmrg    netbsd*)
7447549e21daSmrg      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
7448549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
7449549e21daSmrg      else
7450549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
7451549e21daSmrg      fi
7452549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7453549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7454549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7455549e21daSmrg      ;;
7456ba6a1819Smrg
7457549e21daSmrg    newsos6)
7458549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7459549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7460549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7461549e21daSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7462549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7463549e21daSmrg      ;;
7464ba6a1819Smrg
7465549e21daSmrg    *nto* | *qnx*)
7466549e21daSmrg      ;;
7467ba6a1819Smrg
7468549e21daSmrg    openbsd*)
7469549e21daSmrg      if test -f /usr/libexec/ld.so; then
7470549e21daSmrg	_LT_TAGVAR(hardcode_direct, $1)=yes
7471549e21daSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7472549e21daSmrg	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
7473549e21daSmrg	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
7474549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
7475549e21daSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
7476549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
7477549e21daSmrg	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
7478549e21daSmrg	else
7479549e21daSmrg	  case $host_os in
7480549e21daSmrg	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
7481549e21daSmrg	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
7482549e21daSmrg	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7483549e21daSmrg	     ;;
7484549e21daSmrg	   *)
7485549e21daSmrg	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
7486549e21daSmrg	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
7487549e21daSmrg	     ;;
7488549e21daSmrg	  esac
7489549e21daSmrg	fi
7490549e21daSmrg      else
7491549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
7492549e21daSmrg      fi
7493549e21daSmrg      ;;
7494ba6a1819Smrg
7495549e21daSmrg    os2*)
7496549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7497549e21daSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
7498549e21daSmrg      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
7499549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
7500549e21daSmrg      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
7501549e21daSmrg      ;;
7502ba6a1819Smrg
7503549e21daSmrg    osf3*)
7504549e21daSmrg      if test "$GCC" = yes; then
7505549e21daSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
7506549e21daSmrg	_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'
7507549e21daSmrg      else
7508549e21daSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7509549e21daSmrg	_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'
7510549e21daSmrg      fi
7511549e21daSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
7512549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7513549e21daSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7514549e21daSmrg      ;;
7515ba6a1819Smrg
7516549e21daSmrg    osf4* | osf5*)	# as osf3* with the addition of -msym flag
7517549e21daSmrg      if test "$GCC" = yes; then
7518549e21daSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
7519549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_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'
7520549e21daSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
7521549e21daSmrg      else
7522549e21daSmrg	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
7523549e21daSmrg	_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'
7524549e21daSmrg	_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~
7525549e21daSmrg	$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'
7526ba6a1819Smrg
7527549e21daSmrg	# Both c and cxx compiler support -rpath directly
7528549e21daSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
7529549e21daSmrg      fi
7530549e21daSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
7531549e21daSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
7532549e21daSmrg      ;;
7533ba6a1819Smrg
7534549e21daSmrg    solaris*)
7535549e21daSmrg      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
7536549e21daSmrg      if test "$GCC" = yes; then
7537549e21daSmrg	wlarc='${wl}'
7538549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
7539549e21daSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7540549e21daSmrg	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
7541549e21daSmrg      else
7542549e21daSmrg	case `$CC -V 2>&1` in
7543549e21daSmrg	*"Compilers 5.0"*)
7544549e21daSmrg	  wlarc=''
7545549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
7546549e21daSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7547549e21daSmrg	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
7548549e21daSmrg	  ;;
7549549e21daSmrg	*)
7550549e21daSmrg	  wlarc='${wl}'
7551549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
7552549e21daSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
7553549e21daSmrg	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
7554549e21daSmrg	  ;;
7555549e21daSmrg	esac
7556549e21daSmrg      fi
7557549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
7558549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7559549e21daSmrg      case $host_os in
7560549e21daSmrg      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
7561549e21daSmrg      *)
7562549e21daSmrg	# The compiler driver will combine and reorder linker options,
7563549e21daSmrg	# but understands `-z linker_flag'.  GCC discards it without `$wl',
7564549e21daSmrg	# but is careful enough not to reorder.
7565549e21daSmrg	# Supported since Solaris 2.6 (maybe 2.5.1?)
7566549e21daSmrg	if test "$GCC" = yes; then
7567549e21daSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
7568549e21daSmrg	else
7569549e21daSmrg	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
7570549e21daSmrg	fi
7571549e21daSmrg	;;
7572549e21daSmrg      esac
7573549e21daSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
7574549e21daSmrg      ;;
7575ba6a1819Smrg
7576549e21daSmrg    sunos4*)
7577549e21daSmrg      if test "x$host_vendor" = xsequent; then
7578549e21daSmrg	# Use $CC to link under sequent, because it throws in some extra .o
7579549e21daSmrg	# files that make .init and .fini sections work.
7580549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
7581549e21daSmrg      else
7582549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
7583549e21daSmrg      fi
7584549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7585549e21daSmrg      _LT_TAGVAR(hardcode_direct, $1)=yes
7586549e21daSmrg      _LT_TAGVAR(hardcode_minus_L, $1)=yes
7587549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7588549e21daSmrg      ;;
7589ba6a1819Smrg
7590549e21daSmrg    sysv4)
7591549e21daSmrg      case $host_vendor in
7592549e21daSmrg	sni)
7593549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7594549e21daSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
7595549e21daSmrg	;;
7596549e21daSmrg	siemens)
7597549e21daSmrg	  ## LD is ld it makes a PLAMLIB
7598549e21daSmrg	  ## CC just makes a GrossModule.
7599549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
7600549e21daSmrg	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
7601549e21daSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no
7602549e21daSmrg        ;;
7603549e21daSmrg	motorola)
7604549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7605549e21daSmrg	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
7606549e21daSmrg	;;
7607549e21daSmrg      esac
7608549e21daSmrg      runpath_var='LD_RUN_PATH'
7609549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7610549e21daSmrg      ;;
7611ba6a1819Smrg
7612549e21daSmrg    sysv4.3*)
7613549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7614549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7615549e21daSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
7616549e21daSmrg      ;;
7617ba6a1819Smrg
7618549e21daSmrg    sysv4*MP*)
7619549e21daSmrg      if test -d /usr/nec; then
7620549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7621549e21daSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7622549e21daSmrg	runpath_var=LD_RUN_PATH
7623549e21daSmrg	hardcode_runpath_var=yes
7624549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=yes
7625549e21daSmrg      fi
7626549e21daSmrg      ;;
7627ba6a1819Smrg
7628549e21daSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
7629549e21daSmrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7630549e21daSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7631549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7632549e21daSmrg      runpath_var='LD_RUN_PATH'
7633ba6a1819Smrg
7634549e21daSmrg      if test "$GCC" = yes; then
7635549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7636549e21daSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7637549e21daSmrg      else
7638549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7639549e21daSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7640549e21daSmrg      fi
7641549e21daSmrg      ;;
7642ba6a1819Smrg
7643549e21daSmrg    sysv5* | sco3.2v5* | sco5v6*)
7644549e21daSmrg      # Note: We can NOT use -z defs as we might desire, because we do not
7645549e21daSmrg      # link with -lc, and that would cause any symbols used from libc to
7646549e21daSmrg      # always be unresolved, which means just about no library would
7647549e21daSmrg      # ever link correctly.  If we're not using GNU ld we use -z text
7648549e21daSmrg      # though, which does catch some bad symbols but isn't as heavy-handed
7649549e21daSmrg      # as -z defs.
7650549e21daSmrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
7651549e21daSmrg      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
7652549e21daSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7653549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7654549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
7655549e21daSmrg      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
7656549e21daSmrg      _LT_TAGVAR(link_all_deplibs, $1)=yes
7657549e21daSmrg      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
7658549e21daSmrg      runpath_var='LD_RUN_PATH'
7659ba6a1819Smrg
7660549e21daSmrg      if test "$GCC" = yes; then
7661549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7662549e21daSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7663549e21daSmrg      else
7664549e21daSmrg	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7665549e21daSmrg	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
7666549e21daSmrg      fi
7667549e21daSmrg      ;;
7668ba6a1819Smrg
7669549e21daSmrg    uts4*)
7670549e21daSmrg      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
7671549e21daSmrg      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
7672549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
7673549e21daSmrg      ;;
7674ba6a1819Smrg
7675549e21daSmrg    *)
7676549e21daSmrg      _LT_TAGVAR(ld_shlibs, $1)=no
7677549e21daSmrg      ;;
7678549e21daSmrg    esac
7679ba6a1819Smrg
7680549e21daSmrg    if test x$host_vendor = xsni; then
7681549e21daSmrg      case $host in
7682549e21daSmrg      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
7683549e21daSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
7684549e21daSmrg	;;
7685549e21daSmrg      esac
7686549e21daSmrg    fi
7687549e21daSmrg  fi
7688549e21daSmrg])
7689549e21daSmrgAC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
7690549e21daSmrgtest "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
7691ba6a1819Smrg
7692549e21daSmrg_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
7693ba6a1819Smrg
7694549e21daSmrg_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
7695549e21daSmrg_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
7696549e21daSmrg_LT_DECL([], [extract_expsyms_cmds], [2],
7697549e21daSmrg    [The commands to extract the exported symbol list from a shared archive])
7698ba6a1819Smrg
7699549e21daSmrg#
7700549e21daSmrg# Do we need to explicitly link libc?
7701549e21daSmrg#
7702549e21daSmrgcase "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
7703549e21daSmrgx|xyes)
7704549e21daSmrg  # Assume -lc should be added
7705549e21daSmrg  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
7706ba6a1819Smrg
7707549e21daSmrg  if test "$enable_shared" = yes && test "$GCC" = yes; then
7708549e21daSmrg    case $_LT_TAGVAR(archive_cmds, $1) in
7709549e21daSmrg    *'~'*)
7710549e21daSmrg      # FIXME: we may have to deal with multi-command sequences.
7711549e21daSmrg      ;;
7712549e21daSmrg    '$CC '*)
7713549e21daSmrg      # Test whether the compiler implicitly links with -lc since on some
7714549e21daSmrg      # systems, -lgcc has to come before -lc. If gcc already passes -lc
7715549e21daSmrg      # to ld, don't add -lc before -lgcc.
7716549e21daSmrg      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
7717549e21daSmrg	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
7718549e21daSmrg	[$RM conftest*
7719549e21daSmrg	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
7720549e21daSmrg
7721549e21daSmrg	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
7722549e21daSmrg	  soname=conftest
7723549e21daSmrg	  lib=conftest
7724549e21daSmrg	  libobjs=conftest.$ac_objext
7725549e21daSmrg	  deplibs=
7726549e21daSmrg	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
7727549e21daSmrg	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
7728549e21daSmrg	  compiler_flags=-v
7729549e21daSmrg	  linker_flags=-v
7730549e21daSmrg	  verstring=
7731549e21daSmrg	  output_objdir=.
7732549e21daSmrg	  libname=conftest
7733549e21daSmrg	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
7734549e21daSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=
7735549e21daSmrg	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
7736549e21daSmrg	  then
7737549e21daSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7738549e21daSmrg	  else
7739549e21daSmrg	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
7740549e21daSmrg	  fi
7741549e21daSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
7742549e21daSmrg	else
7743549e21daSmrg	  cat conftest.err 1>&5
7744549e21daSmrg	fi
7745549e21daSmrg	$RM conftest*
7746549e21daSmrg	])
7747549e21daSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
7748549e21daSmrg      ;;
7749549e21daSmrg    esac
7750549e21daSmrg  fi
7751549e21daSmrg  ;;
7752549e21daSmrgesac
7753ba6a1819Smrg
7754549e21daSmrg_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
7755549e21daSmrg    [Whether or not to add -lc for building shared libraries])
7756549e21daSmrg_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
7757549e21daSmrg    [enable_shared_with_static_runtimes], [0],
7758549e21daSmrg    [Whether or not to disallow shared libs when runtime libs are static])
7759549e21daSmrg_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
7760549e21daSmrg    [Compiler flag to allow reflexive dlopens])
7761549e21daSmrg_LT_TAGDECL([], [whole_archive_flag_spec], [1],
7762549e21daSmrg    [Compiler flag to generate shared objects directly from archives])
7763549e21daSmrg_LT_TAGDECL([], [compiler_needs_object], [1],
7764549e21daSmrg    [Whether the compiler copes with passing no objects directly])
7765549e21daSmrg_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
7766549e21daSmrg    [Create an old-style archive from a shared archive])
7767549e21daSmrg_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
7768549e21daSmrg    [Create a temporary old-style archive to link instead of a shared archive])
7769549e21daSmrg_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
7770549e21daSmrg_LT_TAGDECL([], [archive_expsym_cmds], [2])
7771549e21daSmrg_LT_TAGDECL([], [module_cmds], [2],
7772549e21daSmrg    [Commands used to build a loadable module if different from building
7773549e21daSmrg    a shared archive.])
7774549e21daSmrg_LT_TAGDECL([], [module_expsym_cmds], [2])
7775549e21daSmrg_LT_TAGDECL([], [with_gnu_ld], [1],
7776549e21daSmrg    [Whether we are building with GNU ld or not])
7777549e21daSmrg_LT_TAGDECL([], [allow_undefined_flag], [1],
7778549e21daSmrg    [Flag that allows shared libraries with undefined symbols to be built])
7779549e21daSmrg_LT_TAGDECL([], [no_undefined_flag], [1],
7780549e21daSmrg    [Flag that enforces no undefined symbols])
7781549e21daSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
7782549e21daSmrg    [Flag to hardcode $libdir into a binary during linking.
7783549e21daSmrg    This must work even if $libdir does not exist])
7784549e21daSmrg_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
7785549e21daSmrg    [[If ld is used when linking, flag to hardcode $libdir into a binary
7786549e21daSmrg    during linking.  This must work even if $libdir does not exist]])
7787549e21daSmrg_LT_TAGDECL([], [hardcode_libdir_separator], [1],
7788549e21daSmrg    [Whether we need a single "-rpath" flag with a separated argument])
7789549e21daSmrg_LT_TAGDECL([], [hardcode_direct], [0],
7790549e21daSmrg    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
7791549e21daSmrg    DIR into the resulting binary])
7792549e21daSmrg_LT_TAGDECL([], [hardcode_direct_absolute], [0],
7793549e21daSmrg    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
7794549e21daSmrg    DIR into the resulting binary and the resulting library dependency is
7795549e21daSmrg    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
7796549e21daSmrg    library is relocated])
7797549e21daSmrg_LT_TAGDECL([], [hardcode_minus_L], [0],
7798549e21daSmrg    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
7799549e21daSmrg    into the resulting binary])
7800549e21daSmrg_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
7801549e21daSmrg    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
7802549e21daSmrg    into the resulting binary])
7803549e21daSmrg_LT_TAGDECL([], [hardcode_automatic], [0],
7804549e21daSmrg    [Set to "yes" if building a shared library automatically hardcodes DIR
7805549e21daSmrg    into the library and all subsequent libraries and executables linked
7806549e21daSmrg    against it])
7807549e21daSmrg_LT_TAGDECL([], [inherit_rpath], [0],
7808549e21daSmrg    [Set to yes if linker adds runtime paths of dependent libraries
7809549e21daSmrg    to runtime path list])
7810549e21daSmrg_LT_TAGDECL([], [link_all_deplibs], [0],
7811549e21daSmrg    [Whether libtool must link a program against all its dependency libraries])
7812549e21daSmrg_LT_TAGDECL([], [fix_srcfile_path], [1],
7813549e21daSmrg    [Fix the shell variable $srcfile for the compiler])
7814549e21daSmrg_LT_TAGDECL([], [always_export_symbols], [0],
7815549e21daSmrg    [Set to "yes" if exported symbols are required])
7816549e21daSmrg_LT_TAGDECL([], [export_symbols_cmds], [2],
7817549e21daSmrg    [The commands to list exported symbols])
7818549e21daSmrg_LT_TAGDECL([], [exclude_expsyms], [1],
7819549e21daSmrg    [Symbols that should not be listed in the preloaded symbols])
7820549e21daSmrg_LT_TAGDECL([], [include_expsyms], [1],
7821549e21daSmrg    [Symbols that must always be exported])
7822549e21daSmrg_LT_TAGDECL([], [prelink_cmds], [2],
7823549e21daSmrg    [Commands necessary for linking programs (against libraries) with templates])
7824549e21daSmrg_LT_TAGDECL([], [file_list_spec], [1],
7825549e21daSmrg    [Specify filename containing input files])
7826549e21daSmrgdnl FIXME: Not yet implemented
7827549e21daSmrgdnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
7828549e21daSmrgdnl    [Compiler flag to generate thread safe objects])
7829549e21daSmrg])# _LT_LINKER_SHLIBS
7830549e21daSmrg
7831549e21daSmrg
7832549e21daSmrg# _LT_LANG_C_CONFIG([TAG])
7833549e21daSmrg# ------------------------
7834549e21daSmrg# Ensure that the configuration variables for a C compiler are suitably
7835549e21daSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
7836549e21daSmrg# the compiler configuration to `libtool'.
7837549e21daSmrgm4_defun([_LT_LANG_C_CONFIG],
7838549e21daSmrg[m4_require([_LT_DECL_EGREP])dnl
7839549e21daSmrglt_save_CC="$CC"
7840549e21daSmrgAC_LANG_PUSH(C)
7841ba6a1819Smrg
7842549e21daSmrg# Source file extension for C test sources.
7843549e21daSmrgac_ext=c
7844ba6a1819Smrg
7845549e21daSmrg# Object file extension for compiled C test sources.
7846549e21daSmrgobjext=o
7847549e21daSmrg_LT_TAGVAR(objext, $1)=$objext
7848ba6a1819Smrg
7849549e21daSmrg# Code to be used in simple compile tests
7850549e21daSmrglt_simple_compile_test_code="int some_variable = 0;"
7851ba6a1819Smrg
7852549e21daSmrg# Code to be used in simple link tests
7853549e21daSmrglt_simple_link_test_code='int main(){return(0);}'
7854ba6a1819Smrg
7855549e21daSmrg_LT_TAG_COMPILER
7856549e21daSmrg# Save the default compiler, since it gets overwritten when the other
7857549e21daSmrg# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
7858549e21daSmrgcompiler_DEFAULT=$CC
7859ba6a1819Smrg
7860549e21daSmrg# save warnings/boilerplate of simple test code
7861549e21daSmrg_LT_COMPILER_BOILERPLATE
7862549e21daSmrg_LT_LINKER_BOILERPLATE
7863ba6a1819Smrg
7864549e21daSmrgif test -n "$compiler"; then
7865549e21daSmrg  _LT_COMPILER_NO_RTTI($1)
7866549e21daSmrg  _LT_COMPILER_PIC($1)
7867549e21daSmrg  _LT_COMPILER_C_O($1)
7868549e21daSmrg  _LT_COMPILER_FILE_LOCKS($1)
7869549e21daSmrg  _LT_LINKER_SHLIBS($1)
7870549e21daSmrg  _LT_SYS_DYNAMIC_LINKER($1)
7871549e21daSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
7872549e21daSmrg  LT_SYS_DLOPEN_SELF
7873549e21daSmrg  _LT_CMD_STRIPLIB
7874549e21daSmrg
7875549e21daSmrg  # Report which library types will actually be built
7876549e21daSmrg  AC_MSG_CHECKING([if libtool supports shared libraries])
7877549e21daSmrg  AC_MSG_RESULT([$can_build_shared])
7878549e21daSmrg
7879549e21daSmrg  AC_MSG_CHECKING([whether to build shared libraries])
7880549e21daSmrg  test "$can_build_shared" = "no" && enable_shared=no
7881549e21daSmrg
7882549e21daSmrg  # On AIX, shared libraries and static libraries use the same namespace, and
7883549e21daSmrg  # are all built from PIC.
7884549e21daSmrg  case $host_os in
7885549e21daSmrg  aix3*)
7886549e21daSmrg    test "$enable_shared" = yes && enable_static=no
7887549e21daSmrg    if test -n "$RANLIB"; then
7888549e21daSmrg      archive_cmds="$archive_cmds~\$RANLIB \$lib"
7889549e21daSmrg      postinstall_cmds='$RANLIB $lib'
7890549e21daSmrg    fi
7891549e21daSmrg    ;;
7892ba6a1819Smrg
7893549e21daSmrg  aix[[4-9]]*)
7894549e21daSmrg    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7895549e21daSmrg      test "$enable_shared" = yes && enable_static=no
7896549e21daSmrg    fi
7897549e21daSmrg    ;;
7898549e21daSmrg  esac
7899549e21daSmrg  AC_MSG_RESULT([$enable_shared])
7900ba6a1819Smrg
7901549e21daSmrg  AC_MSG_CHECKING([whether to build static libraries])
7902549e21daSmrg  # Make sure either enable_shared or enable_static is yes.
7903549e21daSmrg  test "$enable_shared" = yes || enable_static=yes
7904549e21daSmrg  AC_MSG_RESULT([$enable_static])
7905ba6a1819Smrg
7906549e21daSmrg  _LT_CONFIG($1)
7907549e21daSmrgfi
7908549e21daSmrgAC_LANG_POP
7909549e21daSmrgCC="$lt_save_CC"
7910549e21daSmrg])# _LT_LANG_C_CONFIG
7911ba6a1819Smrg
7912ba6a1819Smrg
7913549e21daSmrg# _LT_LANG_CXX_CONFIG([TAG])
7914549e21daSmrg# --------------------------
7915549e21daSmrg# Ensure that the configuration variables for a C++ compiler are suitably
7916549e21daSmrg# defined.  These variables are subsequently used by _LT_CONFIG to write
7917549e21daSmrg# the compiler configuration to `libtool'.
7918549e21daSmrgm4_defun([_LT_LANG_CXX_CONFIG],
7919549e21daSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
7920549e21daSmrgm4_require([_LT_DECL_EGREP])dnl
7921549e21daSmrgif test -n "$CXX" && ( test "X$CXX" != "Xno" &&
7922549e21daSmrg    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
7923549e21daSmrg    (test "X$CXX" != "Xg++"))) ; then
7924549e21daSmrg  AC_PROG_CXXCPP
7925549e21daSmrgelse
7926549e21daSmrg  _lt_caught_CXX_error=yes
7927549e21daSmrgfi
7928ba6a1819Smrg
7929549e21daSmrgAC_LANG_PUSH(C++)
7930549e21daSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
7931549e21daSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
7932549e21daSmrg_LT_TAGVAR(always_export_symbols, $1)=no
7933549e21daSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
7934549e21daSmrg_LT_TAGVAR(compiler_needs_object, $1)=no
7935549e21daSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
7936549e21daSmrg_LT_TAGVAR(hardcode_direct, $1)=no
7937549e21daSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
7938549e21daSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7939549e21daSmrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
7940549e21daSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
7941549e21daSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
7942549e21daSmrg_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
7943549e21daSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
7944549e21daSmrg_LT_TAGVAR(inherit_rpath, $1)=no
7945549e21daSmrg_LT_TAGVAR(module_cmds, $1)=
7946549e21daSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
7947549e21daSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
7948549e21daSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7949549e21daSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
7950549e21daSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7951549e21daSmrg_LT_TAGVAR(no_undefined_flag, $1)=
7952549e21daSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
7953549e21daSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7954ba6a1819Smrg
7955549e21daSmrg# Source file extension for C++ test sources.
7956549e21daSmrgac_ext=cpp
7957ba6a1819Smrg
7958549e21daSmrg# Object file extension for compiled C++ test sources.
7959549e21daSmrgobjext=o
7960549e21daSmrg_LT_TAGVAR(objext, $1)=$objext
7961549e21daSmrg
7962549e21daSmrg# No sense in running all these tests if we already determined that
7963549e21daSmrg# the CXX compiler isn't working.  Some variables (like enable_shared)
7964549e21daSmrg# are currently assumed to apply to all compilers on this platform,
7965549e21daSmrg# and will be corrupted by setting them based on a non-working compiler.
7966549e21daSmrgif test "$_lt_caught_CXX_error" != yes; then
7967549e21daSmrg  # Code to be used in simple compile tests
7968549e21daSmrg  lt_simple_compile_test_code="int some_variable = 0;"
7969549e21daSmrg
7970549e21daSmrg  # Code to be used in simple link tests
7971549e21daSmrg  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
7972549e21daSmrg
7973549e21daSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7974549e21daSmrg  _LT_TAG_COMPILER
7975549e21daSmrg
7976549e21daSmrg  # save warnings/boilerplate of simple test code
7977549e21daSmrg  _LT_COMPILER_BOILERPLATE
7978549e21daSmrg  _LT_LINKER_BOILERPLATE
7979549e21daSmrg
7980549e21daSmrg  # Allow CC to be a program name with arguments.
7981549e21daSmrg  lt_save_CC=$CC
7982549e21daSmrg  lt_save_LD=$LD
7983549e21daSmrg  lt_save_GCC=$GCC
7984549e21daSmrg  GCC=$GXX
7985549e21daSmrg  lt_save_with_gnu_ld=$with_gnu_ld
7986549e21daSmrg  lt_save_path_LD=$lt_cv_path_LD
7987549e21daSmrg  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
7988549e21daSmrg    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
7989549e21daSmrg  else
7990549e21daSmrg    $as_unset lt_cv_prog_gnu_ld
7991549e21daSmrg  fi
7992549e21daSmrg  if test -n "${lt_cv_path_LDCXX+set}"; then
7993549e21daSmrg    lt_cv_path_LD=$lt_cv_path_LDCXX
7994549e21daSmrg  else
7995549e21daSmrg    $as_unset lt_cv_path_LD
7996549e21daSmrg  fi
7997549e21daSmrg  test -z "${LDCXX+set}" || LD=$LDCXX
7998549e21daSmrg  CC=${CXX-"c++"}
7999549e21daSmrg  compiler=$CC
8000549e21daSmrg  _LT_TAGVAR(compiler, $1)=$CC
8001549e21daSmrg  _LT_CC_BASENAME([$compiler])
8002ba6a1819Smrg
8003549e21daSmrg  if test -n "$compiler"; then
8004549e21daSmrg    # We don't want -fno-exception when compiling C++ code, so set the
8005549e21daSmrg    # no_builtin_flag separately
8006549e21daSmrg    if test "$GXX" = yes; then
8007549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
8008549e21daSmrg    else
8009549e21daSmrg      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
8010549e21daSmrg    fi
8011ba6a1819Smrg
8012549e21daSmrg    if test "$GXX" = yes; then
8013549e21daSmrg      # Set up default GNU C++ configuration
8014ba6a1819Smrg
8015549e21daSmrg      LT_PATH_LD
8016ba6a1819Smrg
8017549e21daSmrg      # Check if GNU C++ uses GNU ld as the underlying linker, since the
8018549e21daSmrg      # archiving commands below assume that GNU ld is being used.
8019549e21daSmrg      if test "$with_gnu_ld" = yes; then
8020549e21daSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
8021549e21daSmrg        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
8022ba6a1819Smrg
8023549e21daSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
8024549e21daSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
8025ba6a1819Smrg
8026549e21daSmrg        # If archive_cmds runs LD, not CC, wlarc should be empty
8027549e21daSmrg        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
8028549e21daSmrg        #     investigate it a little bit more. (MM)
8029549e21daSmrg        wlarc='${wl}'
8030ba6a1819Smrg
8031549e21daSmrg        # ancient GNU ld didn't support --whole-archive et. al.
8032549e21daSmrg        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
8033549e21daSmrg	  $GREP 'no-whole-archive' > /dev/null; then
8034549e21daSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
8035549e21daSmrg        else
8036549e21daSmrg          _LT_TAGVAR(whole_archive_flag_spec, $1)=
8037549e21daSmrg        fi
8038549e21daSmrg      else
8039549e21daSmrg        with_gnu_ld=no
8040549e21daSmrg        wlarc=
8041549e21daSmrg
8042549e21daSmrg        # A generic and very simple default shared library creation
8043549e21daSmrg        # command for GNU C++ for the case where it uses the native
8044549e21daSmrg        # linker, instead of GNU ld.  If possible, this setting should
8045549e21daSmrg        # overridden to take advantage of the native linker features on
8046549e21daSmrg        # the platform it is being used on.
8047549e21daSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
8048549e21daSmrg      fi
8049ba6a1819Smrg
8050549e21daSmrg      # Commands to make compiler produce verbose output that lists
8051549e21daSmrg      # what "hidden" libraries, object files and flags are used when
8052549e21daSmrg      # linking a shared library.
8053549e21daSmrg      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
8054ba6a1819Smrg
8055549e21daSmrg    else
8056549e21daSmrg      GXX=no
8057549e21daSmrg      with_gnu_ld=no
8058549e21daSmrg      wlarc=
8059549e21daSmrg    fi
8060ba6a1819Smrg
8061549e21daSmrg    # PORTME: fill in a description of your system's C++ link characteristics
8062549e21daSmrg    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
8063549e21daSmrg    _LT_TAGVAR(ld_shlibs, $1)=yes
8064549e21daSmrg    case $host_os in
8065549e21daSmrg      aix3*)
8066549e21daSmrg        # FIXME: insert proper C++ library support
8067549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
8068549e21daSmrg        ;;
8069549e21daSmrg      aix[[4-9]]*)
8070549e21daSmrg        if test "$host_cpu" = ia64; then
8071549e21daSmrg          # On IA64, the linker does run time linking by default, so we don't
8072549e21daSmrg          # have to do anything special.
8073549e21daSmrg          aix_use_runtimelinking=no
8074549e21daSmrg          exp_sym_flag='-Bexport'
8075549e21daSmrg          no_entry_flag=""
8076549e21daSmrg        else
8077549e21daSmrg          aix_use_runtimelinking=no
8078549e21daSmrg
8079549e21daSmrg          # Test if we are trying to use run time linking or normal
8080549e21daSmrg          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
8081549e21daSmrg          # need to do runtime linking.
8082549e21daSmrg          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
8083549e21daSmrg	    for ld_flag in $LDFLAGS; do
8084549e21daSmrg	      case $ld_flag in
8085549e21daSmrg	      *-brtl*)
8086549e21daSmrg	        aix_use_runtimelinking=yes
8087549e21daSmrg	        break
8088549e21daSmrg	        ;;
8089549e21daSmrg	      esac
8090549e21daSmrg	    done
8091549e21daSmrg	    ;;
8092549e21daSmrg          esac
8093ba6a1819Smrg
8094549e21daSmrg          exp_sym_flag='-bexport'
8095549e21daSmrg          no_entry_flag='-bnoentry'
8096549e21daSmrg        fi
8097ba6a1819Smrg
8098549e21daSmrg        # When large executables or shared objects are built, AIX ld can
8099549e21daSmrg        # have problems creating the table of contents.  If linking a library
8100549e21daSmrg        # or program results in "error TOC overflow" add -mminimal-toc to
8101549e21daSmrg        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
8102549e21daSmrg        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
8103549e21daSmrg
8104549e21daSmrg        _LT_TAGVAR(archive_cmds, $1)=''
8105549e21daSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
8106549e21daSmrg        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
8107549e21daSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
8108549e21daSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
8109549e21daSmrg        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
8110549e21daSmrg
8111549e21daSmrg        if test "$GXX" = yes; then
8112549e21daSmrg          case $host_os in aix4.[[012]]|aix4.[[012]].*)
8113549e21daSmrg          # We only want to do this on AIX 4.2 and lower, the check
8114549e21daSmrg          # below for broken collect2 doesn't work under 4.3+
8115549e21daSmrg	  collect2name=`${CC} -print-prog-name=collect2`
8116549e21daSmrg	  if test -f "$collect2name" &&
8117549e21daSmrg	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
8118549e21daSmrg	  then
8119549e21daSmrg	    # We have reworked collect2
8120549e21daSmrg	    :
8121549e21daSmrg	  else
8122549e21daSmrg	    # We have old collect2
8123549e21daSmrg	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
8124549e21daSmrg	    # It fails to find uninstalled libraries when the uninstalled
8125549e21daSmrg	    # path is not listed in the libpath.  Setting hardcode_minus_L
8126549e21daSmrg	    # to unsupported forces relinking
8127549e21daSmrg	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
8128549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8129549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
8130549e21daSmrg	  fi
8131549e21daSmrg          esac
8132549e21daSmrg          shared_flag='-shared'
8133549e21daSmrg	  if test "$aix_use_runtimelinking" = yes; then
8134549e21daSmrg	    shared_flag="$shared_flag "'${wl}-G'
8135549e21daSmrg	  fi
8136549e21daSmrg        else
8137549e21daSmrg          # not using gcc
8138549e21daSmrg          if test "$host_cpu" = ia64; then
8139549e21daSmrg	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
8140549e21daSmrg	  # chokes on -Wl,-G. The following line is correct:
8141549e21daSmrg	  shared_flag='-G'
8142549e21daSmrg          else
8143549e21daSmrg	    if test "$aix_use_runtimelinking" = yes; then
8144549e21daSmrg	      shared_flag='${wl}-G'
8145549e21daSmrg	    else
8146549e21daSmrg	      shared_flag='${wl}-bM:SRE'
8147549e21daSmrg	    fi
8148549e21daSmrg          fi
8149549e21daSmrg        fi
8150ba6a1819Smrg
8151549e21daSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
8152549e21daSmrg        # It seems that -bexpall does not export symbols beginning with
8153549e21daSmrg        # underscore (_), so it is better to generate a list of symbols to
8154549e21daSmrg	# export.
8155549e21daSmrg        _LT_TAGVAR(always_export_symbols, $1)=yes
8156549e21daSmrg        if test "$aix_use_runtimelinking" = yes; then
8157549e21daSmrg          # Warning - without using the other runtime loading flags (-brtl),
8158549e21daSmrg          # -berok will link without error, but may produce a broken library.
8159549e21daSmrg          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
8160549e21daSmrg          # Determine the default libpath from the value encoded in an empty
8161549e21daSmrg          # executable.
8162549e21daSmrg          _LT_SYS_MODULE_PATH_AIX
8163549e21daSmrg          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
8164549e21daSmrg
8165549e21daSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
8166549e21daSmrg        else
8167549e21daSmrg          if test "$host_cpu" = ia64; then
8168549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
8169549e21daSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
8170549e21daSmrg	    _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"
8171549e21daSmrg          else
8172549e21daSmrg	    # Determine the default libpath from the value encoded in an
8173549e21daSmrg	    # empty executable.
8174549e21daSmrg	    _LT_SYS_MODULE_PATH_AIX
8175549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
8176549e21daSmrg	    # Warning - without using the other run time loading flags,
8177549e21daSmrg	    # -berok will link without error, but may produce a broken library.
8178549e21daSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
8179549e21daSmrg	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
8180549e21daSmrg	    if test "$with_gnu_ld" = yes; then
8181549e21daSmrg	      # We only use this code for GNU lds that support --whole-archive.
8182549e21daSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
8183549e21daSmrg	    else
8184549e21daSmrg	      # Exported symbols can be pulled into shared objects from archives
8185549e21daSmrg	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
8186549e21daSmrg	    fi
8187549e21daSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
8188549e21daSmrg	    # This is similar to how AIX traditionally builds its shared
8189549e21daSmrg	    # libraries.
8190549e21daSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
8191549e21daSmrg          fi
8192549e21daSmrg        fi
8193549e21daSmrg        ;;
8194ba6a1819Smrg
8195549e21daSmrg      beos*)
8196549e21daSmrg	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
8197549e21daSmrg	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8198549e21daSmrg	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
8199549e21daSmrg	  # support --undefined.  This deserves some investigation.  FIXME
8200549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
8201549e21daSmrg	else
8202549e21daSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
8203549e21daSmrg	fi
8204549e21daSmrg	;;
8205ba6a1819Smrg
8206549e21daSmrg      chorus*)
8207549e21daSmrg        case $cc_basename in
8208549e21daSmrg          *)
8209549e21daSmrg	  # FIXME: insert proper C++ library support
8210549e21daSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
8211549e21daSmrg	  ;;
8212549e21daSmrg        esac
8213549e21daSmrg        ;;
8214ba6a1819Smrg
8215549e21daSmrg      cygwin* | mingw* | pw32* | cegcc*)
8216549e21daSmrg        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
8217549e21daSmrg        # as there is no search path for DLLs.
8218549e21daSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
8219549e21daSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
8220549e21daSmrg        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
8221549e21daSmrg        _LT_TAGVAR(always_export_symbols, $1)=no
8222549e21daSmrg        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
8223549e21daSmrg
8224549e21daSmrg        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
8225549e21daSmrg          _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'
8226549e21daSmrg          # If the export-symbols file already is a .def file (1st line
8227549e21daSmrg          # is EXPORTS), use it as is; otherwise, prepend...
8228549e21daSmrg          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
8229549e21daSmrg	    cp $export_symbols $output_objdir/$soname.def;
8230549e21daSmrg          else
8231549e21daSmrg	    echo EXPORTS > $output_objdir/$soname.def;
8232549e21daSmrg	    cat $export_symbols >> $output_objdir/$soname.def;
8233549e21daSmrg          fi~
8234549e21daSmrg          $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'
8235549e21daSmrg        else
8236549e21daSmrg          _LT_TAGVAR(ld_shlibs, $1)=no
8237549e21daSmrg        fi
8238549e21daSmrg        ;;
8239549e21daSmrg      darwin* | rhapsody*)
8240549e21daSmrg        _LT_DARWIN_LINKER_FEATURES($1)
8241549e21daSmrg	;;
8242ba6a1819Smrg
8243549e21daSmrg      dgux*)
8244549e21daSmrg        case $cc_basename in
8245549e21daSmrg          ec++*)
8246549e21daSmrg	    # FIXME: insert proper C++ library support
8247549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8248549e21daSmrg	    ;;
8249549e21daSmrg          ghcx*)
8250549e21daSmrg	    # Green Hills C++ Compiler
8251549e21daSmrg	    # FIXME: insert proper C++ library support
8252549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8253549e21daSmrg	    ;;
8254549e21daSmrg          *)
8255549e21daSmrg	    # FIXME: insert proper C++ library support
8256549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8257549e21daSmrg	    ;;
8258549e21daSmrg        esac
8259549e21daSmrg        ;;
8260ba6a1819Smrg
8261549e21daSmrg      freebsd[[12]]*)
8262549e21daSmrg        # C++ shared libraries reported to be fairly broken before
8263549e21daSmrg	# switch to ELF
8264549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
8265549e21daSmrg        ;;
8266ba6a1819Smrg
8267549e21daSmrg      freebsd-elf*)
8268549e21daSmrg        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8269549e21daSmrg        ;;
8270ba6a1819Smrg
8271549e21daSmrg      freebsd* | dragonfly*)
8272549e21daSmrg        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
8273549e21daSmrg        # conventions
8274549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
8275549e21daSmrg        ;;
8276ba6a1819Smrg
8277549e21daSmrg      gnu*)
8278549e21daSmrg        ;;
8279ba6a1819Smrg
8280549e21daSmrg      haiku*)
8281549e21daSmrg        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
8282549e21daSmrg        _LT_TAGVAR(link_all_deplibs, $1)=yes
8283549e21daSmrg        ;;
8284ba6a1819Smrg
8285549e21daSmrg      hpux9*)
8286549e21daSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
8287549e21daSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
8288549e21daSmrg        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
8289549e21daSmrg        _LT_TAGVAR(hardcode_direct, $1)=yes
8290549e21daSmrg        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
8291549e21daSmrg				             # but as the default
8292549e21daSmrg				             # location of the library.
8293549e21daSmrg
8294549e21daSmrg        case $cc_basename in
8295549e21daSmrg          CC*)
8296549e21daSmrg            # FIXME: insert proper C++ library support
8297549e21daSmrg            _LT_TAGVAR(ld_shlibs, $1)=no
8298549e21daSmrg            ;;
8299549e21daSmrg          aCC*)
8300549e21daSmrg            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
8301549e21daSmrg            # Commands to make compiler produce verbose output that lists
8302549e21daSmrg            # what "hidden" libraries, object files and flags are used when
8303549e21daSmrg            # linking a shared library.
8304549e21daSmrg            #
8305549e21daSmrg            # There doesn't appear to be a way to prevent this compiler from
8306549e21daSmrg            # explicitly linking system object files so we need to strip them
8307549e21daSmrg            # from the output so that they don't get included in the library
8308549e21daSmrg            # dependencies.
8309549e21daSmrg            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"'
8310549e21daSmrg            ;;
8311549e21daSmrg          *)
8312549e21daSmrg            if test "$GXX" = yes; then
8313549e21daSmrg              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
8314549e21daSmrg            else
8315549e21daSmrg              # FIXME: insert proper C++ library support
8316549e21daSmrg              _LT_TAGVAR(ld_shlibs, $1)=no
8317549e21daSmrg            fi
8318549e21daSmrg            ;;
8319549e21daSmrg        esac
8320549e21daSmrg        ;;
8321ba6a1819Smrg
8322549e21daSmrg      hpux10*|hpux11*)
8323549e21daSmrg        if test $with_gnu_ld = no; then
8324549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
8325549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
8326549e21daSmrg
8327549e21daSmrg          case $host_cpu in
8328549e21daSmrg            hppa*64*|ia64*)
8329549e21daSmrg              ;;
8330549e21daSmrg            *)
8331549e21daSmrg	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
8332549e21daSmrg              ;;
8333549e21daSmrg          esac
8334549e21daSmrg        fi
8335549e21daSmrg        case $host_cpu in
8336549e21daSmrg          hppa*64*|ia64*)
8337549e21daSmrg            _LT_TAGVAR(hardcode_direct, $1)=no
8338549e21daSmrg            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8339549e21daSmrg            ;;
8340549e21daSmrg          *)
8341549e21daSmrg            _LT_TAGVAR(hardcode_direct, $1)=yes
8342549e21daSmrg            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
8343549e21daSmrg            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
8344549e21daSmrg					         # but as the default
8345549e21daSmrg					         # location of the library.
8346549e21daSmrg            ;;
8347549e21daSmrg        esac
8348ba6a1819Smrg
8349549e21daSmrg        case $cc_basename in
8350549e21daSmrg          CC*)
8351549e21daSmrg	    # FIXME: insert proper C++ library support
8352549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8353549e21daSmrg	    ;;
8354549e21daSmrg          aCC*)
8355549e21daSmrg	    case $host_cpu in
8356549e21daSmrg	      hppa*64*)
8357549e21daSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
8358549e21daSmrg	        ;;
8359549e21daSmrg	      ia64*)
8360549e21daSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
8361549e21daSmrg	        ;;
8362549e21daSmrg	      *)
8363549e21daSmrg	        _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'
8364549e21daSmrg	        ;;
8365549e21daSmrg	    esac
8366549e21daSmrg	    # Commands to make compiler produce verbose output that lists
8367549e21daSmrg	    # what "hidden" libraries, object files and flags are used when
8368549e21daSmrg	    # linking a shared library.
8369549e21daSmrg	    #
8370549e21daSmrg	    # There doesn't appear to be a way to prevent this compiler from
8371549e21daSmrg	    # explicitly linking system object files so we need to strip them
8372549e21daSmrg	    # from the output so that they don't get included in the library
8373549e21daSmrg	    # dependencies.
8374549e21daSmrg	    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"'
8375549e21daSmrg	    ;;
8376549e21daSmrg          *)
8377549e21daSmrg	    if test "$GXX" = yes; then
8378549e21daSmrg	      if test $with_gnu_ld = no; then
8379549e21daSmrg	        case $host_cpu in
8380549e21daSmrg	          hppa*64*)
8381549e21daSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
8382549e21daSmrg	            ;;
8383549e21daSmrg	          ia64*)
8384549e21daSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
8385549e21daSmrg	            ;;
8386549e21daSmrg	          *)
8387549e21daSmrg	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
8388549e21daSmrg	            ;;
8389549e21daSmrg	        esac
8390549e21daSmrg	      fi
8391549e21daSmrg	    else
8392549e21daSmrg	      # FIXME: insert proper C++ library support
8393549e21daSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
8394549e21daSmrg	    fi
8395549e21daSmrg	    ;;
8396549e21daSmrg        esac
8397549e21daSmrg        ;;
8398ba6a1819Smrg
8399549e21daSmrg      interix[[3-9]]*)
8400549e21daSmrg	_LT_TAGVAR(hardcode_direct, $1)=no
8401549e21daSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8402549e21daSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
8403549e21daSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
8404549e21daSmrg	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
8405549e21daSmrg	# Instead, shared libraries are loaded at an image base (0x10000000 by
8406549e21daSmrg	# default) and relocated if they conflict, which is a slow very memory
8407549e21daSmrg	# consuming and fragmenting process.  To avoid this, we pick a random,
8408549e21daSmrg	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
8409549e21daSmrg	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
8410549e21daSmrg	_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'
8411549e21daSmrg	_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'
8412549e21daSmrg	;;
8413549e21daSmrg      irix5* | irix6*)
8414549e21daSmrg        case $cc_basename in
8415549e21daSmrg          CC*)
8416549e21daSmrg	    # SGI C++
8417549e21daSmrg	    _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'
8418549e21daSmrg
8419549e21daSmrg	    # Archives containing C++ object files must be created using
8420549e21daSmrg	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
8421549e21daSmrg	    # necessary to make sure instantiated templates are included
8422549e21daSmrg	    # in the archive.
8423549e21daSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
8424549e21daSmrg	    ;;
8425549e21daSmrg          *)
8426549e21daSmrg	    if test "$GXX" = yes; then
8427549e21daSmrg	      if test "$with_gnu_ld" = no; then
8428549e21daSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -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'
8429549e21daSmrg	      else
8430549e21daSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -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'
8431549e21daSmrg	      fi
8432549e21daSmrg	    fi
8433549e21daSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
8434549e21daSmrg	    ;;
8435549e21daSmrg        esac
8436549e21daSmrg        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
8437549e21daSmrg        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
8438549e21daSmrg        _LT_TAGVAR(inherit_rpath, $1)=yes
8439549e21daSmrg        ;;
8440ba6a1819Smrg
8441549e21daSmrg      linux* | k*bsd*-gnu | kopensolaris*-gnu)
8442549e21daSmrg        case $cc_basename in
8443549e21daSmrg          KCC*)
8444549e21daSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
8445ba6a1819Smrg
8446549e21daSmrg	    # KCC will only create a shared library if the output file
8447549e21daSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
8448549e21daSmrg	    # to its proper name (with version) after linking.
8449549e21daSmrg	    _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'
8450549e21daSmrg	    _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'
8451549e21daSmrg	    # Commands to make compiler produce verbose output that lists
8452549e21daSmrg	    # what "hidden" libraries, object files and flags are used when
8453549e21daSmrg	    # linking a shared library.
8454549e21daSmrg	    #
8455549e21daSmrg	    # There doesn't appear to be a way to prevent this compiler from
8456549e21daSmrg	    # explicitly linking system object files so we need to strip them
8457549e21daSmrg	    # from the output so that they don't get included in the library
8458549e21daSmrg	    # dependencies.
8459549e21daSmrg	    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"'
8460549e21daSmrg
8461549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
8462549e21daSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
8463549e21daSmrg
8464549e21daSmrg	    # Archives containing C++ object files must be created using
8465549e21daSmrg	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
8466549e21daSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
8467549e21daSmrg	    ;;
8468549e21daSmrg	  icpc* | ecpc* )
8469549e21daSmrg	    # Intel C++
8470549e21daSmrg	    with_gnu_ld=yes
8471549e21daSmrg	    # version 8.0 and above of icpc choke on multiply defined symbols
8472549e21daSmrg	    # if we add $predep_objects and $postdep_objects, however 7.1 and
8473549e21daSmrg	    # earlier do not add the objects themselves.
8474549e21daSmrg	    case `$CC -V 2>&1` in
8475549e21daSmrg	      *"Version 7."*)
8476549e21daSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
8477549e21daSmrg		_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'
8478549e21daSmrg		;;
8479549e21daSmrg	      *)  # Version 8.0 or newer
8480549e21daSmrg	        tmp_idyn=
8481549e21daSmrg	        case $host_cpu in
8482549e21daSmrg		  ia64*) tmp_idyn=' -i_dynamic';;
8483549e21daSmrg		esac
8484549e21daSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
8485549e21daSmrg		_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'
8486549e21daSmrg		;;
8487549e21daSmrg	    esac
8488549e21daSmrg	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8489549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
8490549e21daSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
8491549e21daSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
8492549e21daSmrg	    ;;
8493549e21daSmrg          pgCC* | pgcpp*)
8494549e21daSmrg            # Portland Group C++ compiler
8495549e21daSmrg	    case `$CC -V` in
8496549e21daSmrg	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
8497549e21daSmrg	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
8498549e21daSmrg		rm -rf $tpldir~
8499549e21daSmrg		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
8500549e21daSmrg		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
8501549e21daSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
8502549e21daSmrg		rm -rf $tpldir~
8503549e21daSmrg		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
8504549e21daSmrg		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
8505549e21daSmrg		$RANLIB $oldlib'
8506549e21daSmrg	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
8507549e21daSmrg		rm -rf $tpldir~
8508549e21daSmrg		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
8509549e21daSmrg		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
8510549e21daSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
8511549e21daSmrg		rm -rf $tpldir~
8512549e21daSmrg		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
8513549e21daSmrg		$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'
8514549e21daSmrg	      ;;
8515549e21daSmrg	    *) # Version 6 and above use weak symbols
8516549e21daSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
8517549e21daSmrg	      _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'
8518549e21daSmrg	      ;;
8519549e21daSmrg	    esac
8520ba6a1819Smrg
8521549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
8522549e21daSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
8523549e21daSmrg	    _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'
8524549e21daSmrg            ;;
8525549e21daSmrg	  cxx*)
8526549e21daSmrg	    # Compaq C++
8527549e21daSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
8528549e21daSmrg	    _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'
8529ba6a1819Smrg
8530549e21daSmrg	    runpath_var=LD_RUN_PATH
8531549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
8532549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
8533ba6a1819Smrg
8534549e21daSmrg	    # Commands to make compiler produce verbose output that lists
8535549e21daSmrg	    # what "hidden" libraries, object files and flags are used when
8536549e21daSmrg	    # linking a shared library.
8537549e21daSmrg	    #
8538549e21daSmrg	    # There doesn't appear to be a way to prevent this compiler from
8539549e21daSmrg	    # explicitly linking system object files so we need to strip them
8540549e21daSmrg	    # from the output so that they don't get included in the library
8541549e21daSmrg	    # dependencies.
8542549e21daSmrg	    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'
8543549e21daSmrg	    ;;
8544549e21daSmrg	  xl* | mpixl* | bgxl*)
8545549e21daSmrg	    # IBM XL 8.0 on PPC, with GNU ld
8546549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
8547549e21daSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
8548549e21daSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
8549549e21daSmrg	    if test "x$supports_anon_versioning" = xyes; then
8550549e21daSmrg	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
8551549e21daSmrg		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
8552549e21daSmrg		echo "local: *; };" >> $output_objdir/$libname.ver~
8553549e21daSmrg		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
8554549e21daSmrg	    fi
8555549e21daSmrg	    ;;
8556549e21daSmrg	  *)
8557549e21daSmrg	    case `$CC -V 2>&1 | sed 5q` in
8558549e21daSmrg	    *Sun\ C*)
8559549e21daSmrg	      # Sun C++ 5.9
8560549e21daSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
8561549e21daSmrg	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
8562549e21daSmrg	      _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'
8563549e21daSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
8564549e21daSmrg	      _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'
8565549e21daSmrg	      _LT_TAGVAR(compiler_needs_object, $1)=yes
8566549e21daSmrg
8567549e21daSmrg	      # Not sure whether something based on
8568549e21daSmrg	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
8569549e21daSmrg	      # would be better.
8570549e21daSmrg	      output_verbose_link_cmd='func_echo_all'
8571549e21daSmrg
8572549e21daSmrg	      # Archives containing C++ object files must be created using
8573549e21daSmrg	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
8574549e21daSmrg	      # necessary to make sure instantiated templates are included
8575549e21daSmrg	      # in the archive.
8576549e21daSmrg	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
8577549e21daSmrg	      ;;
8578549e21daSmrg	    esac
8579549e21daSmrg	    ;;
8580549e21daSmrg	esac
8581549e21daSmrg	;;
8582ba6a1819Smrg
8583549e21daSmrg      lynxos*)
8584549e21daSmrg        # FIXME: insert proper C++ library support
8585549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8586549e21daSmrg	;;
8587ba6a1819Smrg
8588549e21daSmrg      m88k*)
8589549e21daSmrg        # FIXME: insert proper C++ library support
8590549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
8591549e21daSmrg	;;
8592ba6a1819Smrg
8593549e21daSmrg      mvs*)
8594549e21daSmrg        case $cc_basename in
8595549e21daSmrg          cxx*)
8596549e21daSmrg	    # FIXME: insert proper C++ library support
8597549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8598549e21daSmrg	    ;;
8599549e21daSmrg	  *)
8600549e21daSmrg	    # FIXME: insert proper C++ library support
8601549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8602549e21daSmrg	    ;;
8603549e21daSmrg	esac
8604549e21daSmrg	;;
8605ba6a1819Smrg
8606549e21daSmrg      netbsd*)
8607549e21daSmrg        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
8608549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
8609549e21daSmrg	  wlarc=
8610549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
8611549e21daSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
8612549e21daSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8613549e21daSmrg	fi
8614549e21daSmrg	# Workaround some broken pre-1.5 toolchains
8615549e21daSmrg	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
8616549e21daSmrg	;;
8617ba6a1819Smrg
8618549e21daSmrg      *nto* | *qnx*)
8619549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=yes
8620549e21daSmrg	;;
8621ba6a1819Smrg
8622549e21daSmrg      openbsd2*)
8623549e21daSmrg        # C++ shared libraries are fairly broken
8624549e21daSmrg	_LT_TAGVAR(ld_shlibs, $1)=no
8625549e21daSmrg	;;
8626ba6a1819Smrg
8627549e21daSmrg      openbsd*)
8628549e21daSmrg	if test -f /usr/libexec/ld.so; then
8629549e21daSmrg	  _LT_TAGVAR(hardcode_direct, $1)=yes
8630549e21daSmrg	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8631549e21daSmrg	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
8632549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
8633549e21daSmrg	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
8634549e21daSmrg	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
8635549e21daSmrg	    _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'
8636549e21daSmrg	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
8637549e21daSmrg	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
8638549e21daSmrg	  fi
8639549e21daSmrg	  output_verbose_link_cmd=func_echo_all
8640549e21daSmrg	else
8641549e21daSmrg	  _LT_TAGVAR(ld_shlibs, $1)=no
8642549e21daSmrg	fi
8643549e21daSmrg	;;
8644ba6a1819Smrg
8645549e21daSmrg      osf3* | osf4* | osf5*)
8646549e21daSmrg        case $cc_basename in
8647549e21daSmrg          KCC*)
8648549e21daSmrg	    # Kuck and Associates, Inc. (KAI) C++ Compiler
8649549e21daSmrg
8650549e21daSmrg	    # KCC will only create a shared library if the output file
8651549e21daSmrg	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
8652549e21daSmrg	    # to its proper name (with version) after linking.
8653549e21daSmrg	    _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'
8654549e21daSmrg
8655549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
8656549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
8657549e21daSmrg
8658549e21daSmrg	    # Archives containing C++ object files must be created using
8659549e21daSmrg	    # the KAI C++ compiler.
8660549e21daSmrg	    case $host in
8661549e21daSmrg	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
8662549e21daSmrg	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
8663549e21daSmrg	    esac
8664549e21daSmrg	    ;;
8665549e21daSmrg          RCC*)
8666549e21daSmrg	    # Rational C++ 2.4.1
8667549e21daSmrg	    # FIXME: insert proper C++ library support
8668549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8669549e21daSmrg	    ;;
8670549e21daSmrg          cxx*)
8671549e21daSmrg	    case $host in
8672549e21daSmrg	      osf3*)
8673549e21daSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
8674549e21daSmrg	        _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'
8675549e21daSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
8676549e21daSmrg		;;
8677549e21daSmrg	      *)
8678549e21daSmrg	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
8679549e21daSmrg	        _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'
8680549e21daSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
8681549e21daSmrg	          echo "-hidden">> $lib.exp~
8682549e21daSmrg	          $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~
8683549e21daSmrg	          $RM $lib.exp'
8684549e21daSmrg	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
8685549e21daSmrg		;;
8686549e21daSmrg	    esac
8687ba6a1819Smrg
8688549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
8689ba6a1819Smrg
8690549e21daSmrg	    # Commands to make compiler produce verbose output that lists
8691549e21daSmrg	    # what "hidden" libraries, object files and flags are used when
8692549e21daSmrg	    # linking a shared library.
8693549e21daSmrg	    #
8694549e21daSmrg	    # There doesn't appear to be a way to prevent this compiler from
8695549e21daSmrg	    # explicitly linking system object files so we need to strip them
8696549e21daSmrg	    # from the output so that they don't get included in the library
8697549e21daSmrg	    # dependencies.
8698549e21daSmrg	    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"'
8699549e21daSmrg	    ;;
8700549e21daSmrg	  *)
8701549e21daSmrg	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
8702549e21daSmrg	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
8703549e21daSmrg	      case $host in
8704549e21daSmrg	        osf3*)
8705549e21daSmrg	          _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'
8706549e21daSmrg		  ;;
8707549e21daSmrg	        *)
8708549e21daSmrg	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
8709549e21daSmrg		  ;;
8710549e21daSmrg	      esac
8711549e21daSmrg
8712549e21daSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
8713549e21daSmrg	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
8714549e21daSmrg
8715549e21daSmrg	      # Commands to make compiler produce verbose output that lists
8716549e21daSmrg	      # what "hidden" libraries, object files and flags are used when
8717549e21daSmrg	      # linking a shared library.
8718549e21daSmrg	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
8719549e21daSmrg
8720549e21daSmrg	    else
8721549e21daSmrg	      # FIXME: insert proper C++ library support
8722549e21daSmrg	      _LT_TAGVAR(ld_shlibs, $1)=no
8723549e21daSmrg	    fi
8724549e21daSmrg	    ;;
8725549e21daSmrg        esac
8726549e21daSmrg        ;;
8727ba6a1819Smrg
8728549e21daSmrg      psos*)
8729549e21daSmrg        # FIXME: insert proper C++ library support
8730549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
8731549e21daSmrg        ;;
8732ba6a1819Smrg
8733549e21daSmrg      sunos4*)
8734549e21daSmrg        case $cc_basename in
8735549e21daSmrg          CC*)
8736549e21daSmrg	    # Sun C++ 4.x
8737549e21daSmrg	    # FIXME: insert proper C++ library support
8738549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8739549e21daSmrg	    ;;
8740549e21daSmrg          lcc*)
8741549e21daSmrg	    # Lucid
8742549e21daSmrg	    # FIXME: insert proper C++ library support
8743549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8744549e21daSmrg	    ;;
8745549e21daSmrg          *)
8746549e21daSmrg	    # FIXME: insert proper C++ library support
8747549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8748549e21daSmrg	    ;;
8749549e21daSmrg        esac
8750549e21daSmrg        ;;
8751ba6a1819Smrg
8752549e21daSmrg      solaris*)
8753549e21daSmrg        case $cc_basename in
8754549e21daSmrg          CC* | sunCC*)
8755549e21daSmrg	    # Sun C++ 4.2, 5.x and Centerline C++
8756549e21daSmrg            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
8757549e21daSmrg	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
8758549e21daSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
8759549e21daSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
8760549e21daSmrg	      $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'
8761549e21daSmrg
8762549e21daSmrg	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
8763549e21daSmrg	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8764549e21daSmrg	    case $host_os in
8765549e21daSmrg	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
8766549e21daSmrg	      *)
8767549e21daSmrg		# The compiler driver will combine and reorder linker options,
8768549e21daSmrg		# but understands `-z linker_flag'.
8769549e21daSmrg	        # Supported since Solaris 2.6 (maybe 2.5.1?)
8770549e21daSmrg		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
8771549e21daSmrg	        ;;
8772549e21daSmrg	    esac
8773549e21daSmrg	    _LT_TAGVAR(link_all_deplibs, $1)=yes
8774ba6a1819Smrg
8775549e21daSmrg	    output_verbose_link_cmd='func_echo_all'
8776ba6a1819Smrg
8777549e21daSmrg	    # Archives containing C++ object files must be created using
8778549e21daSmrg	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
8779549e21daSmrg	    # necessary to make sure instantiated templates are included
8780549e21daSmrg	    # in the archive.
8781549e21daSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
8782549e21daSmrg	    ;;
8783549e21daSmrg          gcx*)
8784549e21daSmrg	    # Green Hills C++ Compiler
8785549e21daSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
8786ba6a1819Smrg
8787549e21daSmrg	    # The C++ compiler must be used to create the archive.
8788549e21daSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
8789549e21daSmrg	    ;;
8790549e21daSmrg          *)
8791549e21daSmrg	    # GNU C++ compiler with Solaris linker
8792549e21daSmrg	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
8793549e21daSmrg	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
8794549e21daSmrg	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
8795549e21daSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
8796549e21daSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
8797549e21daSmrg		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
8798549e21daSmrg
8799549e21daSmrg	        # Commands to make compiler produce verbose output that lists
8800549e21daSmrg	        # what "hidden" libraries, object files and flags are used when
8801549e21daSmrg	        # linking a shared library.
8802549e21daSmrg	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
8803549e21daSmrg	      else
8804549e21daSmrg	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
8805549e21daSmrg	        # platform.
8806549e21daSmrg	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
8807549e21daSmrg	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
8808549e21daSmrg		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
8809549e21daSmrg
8810549e21daSmrg	        # Commands to make compiler produce verbose output that lists
8811549e21daSmrg	        # what "hidden" libraries, object files and flags are used when
8812549e21daSmrg	        # linking a shared library.
8813549e21daSmrg	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
8814549e21daSmrg	      fi
8815549e21daSmrg
8816549e21daSmrg	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
8817549e21daSmrg	      case $host_os in
8818549e21daSmrg		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
8819549e21daSmrg		*)
8820549e21daSmrg		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
8821549e21daSmrg		  ;;
8822549e21daSmrg	      esac
8823549e21daSmrg	    fi
8824549e21daSmrg	    ;;
8825549e21daSmrg        esac
8826549e21daSmrg        ;;
8827ba6a1819Smrg
8828549e21daSmrg    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
8829549e21daSmrg      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
8830549e21daSmrg      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
8831549e21daSmrg      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8832549e21daSmrg      runpath_var='LD_RUN_PATH'
8833ba6a1819Smrg
8834549e21daSmrg      case $cc_basename in
8835549e21daSmrg        CC*)
8836549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
8837549e21daSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
8838549e21daSmrg	  ;;
8839549e21daSmrg	*)
8840549e21daSmrg	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
8841549e21daSmrg	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
8842549e21daSmrg	  ;;
8843549e21daSmrg      esac
8844549e21daSmrg      ;;
8845ba6a1819Smrg
8846549e21daSmrg      sysv5* | sco3.2v5* | sco5v6*)
8847549e21daSmrg	# Note: We can NOT use -z defs as we might desire, because we do not
8848549e21daSmrg	# link with -lc, and that would cause any symbols used from libc to
8849549e21daSmrg	# always be unresolved, which means just about no library would
8850549e21daSmrg	# ever link correctly.  If we're not using GNU ld we use -z text
8851549e21daSmrg	# though, which does catch some bad symbols but isn't as heavy-handed
8852549e21daSmrg	# as -z defs.
8853549e21daSmrg	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
8854549e21daSmrg	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
8855549e21daSmrg	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
8856549e21daSmrg	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
8857549e21daSmrg	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
8858549e21daSmrg	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
8859549e21daSmrg	_LT_TAGVAR(link_all_deplibs, $1)=yes
8860549e21daSmrg	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
8861549e21daSmrg	runpath_var='LD_RUN_PATH'
8862ba6a1819Smrg
8863549e21daSmrg	case $cc_basename in
8864549e21daSmrg          CC*)
8865549e21daSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
8866549e21daSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
8867549e21daSmrg	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
8868549e21daSmrg	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
8869549e21daSmrg	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
8870549e21daSmrg	      '"$_LT_TAGVAR(reload_cmds, $1)"
8871549e21daSmrg	    ;;
8872549e21daSmrg	  *)
8873549e21daSmrg	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
8874549e21daSmrg	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
8875549e21daSmrg	    ;;
8876549e21daSmrg	esac
8877549e21daSmrg      ;;
8878ba6a1819Smrg
8879549e21daSmrg      tandem*)
8880549e21daSmrg        case $cc_basename in
8881549e21daSmrg          NCC*)
8882549e21daSmrg	    # NonStop-UX NCC 3.20
8883549e21daSmrg	    # FIXME: insert proper C++ library support
8884549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8885549e21daSmrg	    ;;
8886549e21daSmrg          *)
8887549e21daSmrg	    # FIXME: insert proper C++ library support
8888549e21daSmrg	    _LT_TAGVAR(ld_shlibs, $1)=no
8889549e21daSmrg	    ;;
8890549e21daSmrg        esac
8891549e21daSmrg        ;;
8892ba6a1819Smrg
8893549e21daSmrg      vxworks*)
8894549e21daSmrg        # FIXME: insert proper C++ library support
8895549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
8896549e21daSmrg        ;;
8897ba6a1819Smrg
8898549e21daSmrg      *)
8899549e21daSmrg        # FIXME: insert proper C++ library support
8900549e21daSmrg        _LT_TAGVAR(ld_shlibs, $1)=no
8901549e21daSmrg        ;;
8902549e21daSmrg    esac
8903ba6a1819Smrg
8904549e21daSmrg    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
8905549e21daSmrg    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
8906549e21daSmrg
8907549e21daSmrg    _LT_TAGVAR(GCC, $1)="$GXX"
8908549e21daSmrg    _LT_TAGVAR(LD, $1)="$LD"
8909549e21daSmrg
8910549e21daSmrg    ## CAVEAT EMPTOR:
8911549e21daSmrg    ## There is no encapsulation within the following macros, do not change
8912549e21daSmrg    ## the running order or otherwise move them around unless you know exactly
8913549e21daSmrg    ## what you are doing...
8914549e21daSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
8915549e21daSmrg    _LT_COMPILER_PIC($1)
8916549e21daSmrg    _LT_COMPILER_C_O($1)
8917549e21daSmrg    _LT_COMPILER_FILE_LOCKS($1)
8918549e21daSmrg    _LT_LINKER_SHLIBS($1)
8919549e21daSmrg    _LT_SYS_DYNAMIC_LINKER($1)
8920549e21daSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
8921549e21daSmrg
8922549e21daSmrg    _LT_CONFIG($1)
8923549e21daSmrg  fi # test -n "$compiler"
8924549e21daSmrg
8925549e21daSmrg  CC=$lt_save_CC
8926549e21daSmrg  LDCXX=$LD
8927549e21daSmrg  LD=$lt_save_LD
8928549e21daSmrg  GCC=$lt_save_GCC
8929549e21daSmrg  with_gnu_ld=$lt_save_with_gnu_ld
8930549e21daSmrg  lt_cv_path_LDCXX=$lt_cv_path_LD
8931549e21daSmrg  lt_cv_path_LD=$lt_save_path_LD
8932549e21daSmrg  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
8933549e21daSmrg  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
8934549e21daSmrgfi # test "$_lt_caught_CXX_error" != yes
8935ba6a1819Smrg
8936549e21daSmrgAC_LANG_POP
8937549e21daSmrg])# _LT_LANG_CXX_CONFIG
8938ba6a1819Smrg
8939ba6a1819Smrg
8940549e21daSmrg# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
8941549e21daSmrg# ---------------------------------
8942549e21daSmrg# Figure out "hidden" library dependencies from verbose
8943549e21daSmrg# compiler output when linking a shared library.
8944549e21daSmrg# Parse the compiler output and extract the necessary
8945549e21daSmrg# objects, libraries and library flags.
8946549e21daSmrgm4_defun([_LT_SYS_HIDDEN_LIBDEPS],
8947549e21daSmrg[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
8948549e21daSmrg# Dependencies to place before and after the object being linked:
8949549e21daSmrg_LT_TAGVAR(predep_objects, $1)=
8950549e21daSmrg_LT_TAGVAR(postdep_objects, $1)=
8951549e21daSmrg_LT_TAGVAR(predeps, $1)=
8952549e21daSmrg_LT_TAGVAR(postdeps, $1)=
8953549e21daSmrg_LT_TAGVAR(compiler_lib_search_path, $1)=
8954ba6a1819Smrg
8955549e21daSmrgdnl we can't use the lt_simple_compile_test_code here,
8956549e21daSmrgdnl because it contains code intended for an executable,
8957549e21daSmrgdnl not a library.  It's possible we should let each
8958549e21daSmrgdnl tag define a new lt_????_link_test_code variable,
8959549e21daSmrgdnl but it's only used here...
8960549e21daSmrgm4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
8961549e21daSmrgint a;
8962549e21daSmrgvoid foo (void) { a = 0; }
8963549e21daSmrg_LT_EOF
8964549e21daSmrg], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
8965549e21daSmrgclass Foo
8966549e21daSmrg{
8967549e21daSmrgpublic:
8968549e21daSmrg  Foo (void) { a = 0; }
8969549e21daSmrgprivate:
8970549e21daSmrg  int a;
8971549e21daSmrg};
8972549e21daSmrg_LT_EOF
8973549e21daSmrg], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
8974549e21daSmrg      subroutine foo
8975549e21daSmrg      implicit none
8976549e21daSmrg      integer*4 a
8977549e21daSmrg      a=0
8978549e21daSmrg      return
8979549e21daSmrg      end
8980549e21daSmrg_LT_EOF
8981549e21daSmrg], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
8982549e21daSmrg      subroutine foo
8983549e21daSmrg      implicit none
8984549e21daSmrg      integer a
8985549e21daSmrg      a=0
8986549e21daSmrg      return
8987549e21daSmrg      end
8988549e21daSmrg_LT_EOF
8989549e21daSmrg], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
8990549e21daSmrgpublic class foo {
8991549e21daSmrg  private int a;
8992549e21daSmrg  public void bar (void) {
8993549e21daSmrg    a = 0;
8994549e21daSmrg  }
8995549e21daSmrg};
8996549e21daSmrg_LT_EOF
8997549e21daSmrg])
8998549e21daSmrgdnl Parse the compiler output and extract the necessary
8999549e21daSmrgdnl objects, libraries and library flags.
9000549e21daSmrgif AC_TRY_EVAL(ac_compile); then
9001549e21daSmrg  # Parse the compiler output and extract the necessary
9002549e21daSmrg  # objects, libraries and library flags.
9003ba6a1819Smrg
9004549e21daSmrg  # Sentinel used to keep track of whether or not we are before
9005549e21daSmrg  # the conftest object file.
9006549e21daSmrg  pre_test_object_deps_done=no
9007ba6a1819Smrg
9008549e21daSmrg  for p in `eval "$output_verbose_link_cmd"`; do
9009549e21daSmrg    case $p in
9010ba6a1819Smrg
9011549e21daSmrg    -L* | -R* | -l*)
9012549e21daSmrg       # Some compilers place space between "-{L,R}" and the path.
9013549e21daSmrg       # Remove the space.
9014549e21daSmrg       if test $p = "-L" ||
9015549e21daSmrg          test $p = "-R"; then
9016549e21daSmrg	 prev=$p
9017549e21daSmrg	 continue
9018549e21daSmrg       else
9019549e21daSmrg	 prev=
9020549e21daSmrg       fi
9021ba6a1819Smrg
9022549e21daSmrg       if test "$pre_test_object_deps_done" = no; then
9023549e21daSmrg	 case $p in
9024549e21daSmrg	 -L* | -R*)
9025549e21daSmrg	   # Internal compiler library paths should come after those
9026549e21daSmrg	   # provided the user.  The postdeps already come after the
9027549e21daSmrg	   # user supplied libs so there is no need to process them.
9028549e21daSmrg	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
9029549e21daSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
9030549e21daSmrg	   else
9031549e21daSmrg	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
9032549e21daSmrg	   fi
9033549e21daSmrg	   ;;
9034549e21daSmrg	 # The "-l" case would never come before the object being
9035549e21daSmrg	 # linked, so don't bother handling this case.
9036549e21daSmrg	 esac
9037549e21daSmrg       else
9038549e21daSmrg	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
9039549e21daSmrg	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
9040549e21daSmrg	 else
9041549e21daSmrg	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
9042549e21daSmrg	 fi
9043549e21daSmrg       fi
9044549e21daSmrg       ;;
9045ba6a1819Smrg
9046549e21daSmrg    *.$objext)
9047549e21daSmrg       # This assumes that the test object file only shows up
9048549e21daSmrg       # once in the compiler output.
9049549e21daSmrg       if test "$p" = "conftest.$objext"; then
9050549e21daSmrg	 pre_test_object_deps_done=yes
9051549e21daSmrg	 continue
9052549e21daSmrg       fi
9053ba6a1819Smrg
9054549e21daSmrg       if test "$pre_test_object_deps_done" = no; then
9055549e21daSmrg	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
9056549e21daSmrg	   _LT_TAGVAR(predep_objects, $1)="$p"
9057549e21daSmrg	 else
9058549e21daSmrg	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
9059549e21daSmrg	 fi
9060549e21daSmrg       else
9061549e21daSmrg	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
9062549e21daSmrg	   _LT_TAGVAR(postdep_objects, $1)="$p"
9063549e21daSmrg	 else
9064549e21daSmrg	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
9065549e21daSmrg	 fi
9066549e21daSmrg       fi
9067549e21daSmrg       ;;
9068ba6a1819Smrg
9069549e21daSmrg    *) ;; # Ignore the rest.
9070ba6a1819Smrg
9071549e21daSmrg    esac
9072549e21daSmrg  done
9073ba6a1819Smrg
9074549e21daSmrg  # Clean up.
9075549e21daSmrg  rm -f a.out a.exe
9076549e21daSmrgelse
9077549e21daSmrg  echo "libtool.m4: error: problem compiling $1 test program"
9078549e21daSmrgfi
9079ba6a1819Smrg
9080549e21daSmrg$RM -f confest.$objext
9081ba6a1819Smrg
9082549e21daSmrg# PORTME: override above test on systems where it is broken
9083549e21daSmrgm4_if([$1], [CXX],
9084549e21daSmrg[case $host_os in
9085549e21daSmrginterix[[3-9]]*)
9086549e21daSmrg  # Interix 3.5 installs completely hosed .la files for C++, so rather than
9087549e21daSmrg  # hack all around it, let's just trust "g++" to DTRT.
9088549e21daSmrg  _LT_TAGVAR(predep_objects,$1)=
9089549e21daSmrg  _LT_TAGVAR(postdep_objects,$1)=
9090549e21daSmrg  _LT_TAGVAR(postdeps,$1)=
9091549e21daSmrg  ;;
9092549e21daSmrg
9093549e21daSmrglinux*)
9094549e21daSmrg  case `$CC -V 2>&1 | sed 5q` in
9095549e21daSmrg  *Sun\ C*)
9096549e21daSmrg    # Sun C++ 5.9
9097549e21daSmrg
9098549e21daSmrg    # The more standards-conforming stlport4 library is
9099549e21daSmrg    # incompatible with the Cstd library. Avoid specifying
9100549e21daSmrg    # it if it's in CXXFLAGS. Ignore libCrun as
9101549e21daSmrg    # -library=stlport4 depends on it.
9102549e21daSmrg    case " $CXX $CXXFLAGS " in
9103549e21daSmrg    *" -library=stlport4 "*)
9104549e21daSmrg      solaris_use_stlport4=yes
9105549e21daSmrg      ;;
9106549e21daSmrg    esac
9107549e21daSmrg
9108549e21daSmrg    if test "$solaris_use_stlport4" != yes; then
9109549e21daSmrg      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
9110ba6a1819Smrg    fi
9111549e21daSmrg    ;;
9112549e21daSmrg  esac
9113549e21daSmrg  ;;
9114ba6a1819Smrg
9115549e21daSmrgsolaris*)
9116549e21daSmrg  case $cc_basename in
9117549e21daSmrg  CC* | sunCC*)
9118549e21daSmrg    # The more standards-conforming stlport4 library is
9119549e21daSmrg    # incompatible with the Cstd library. Avoid specifying
9120549e21daSmrg    # it if it's in CXXFLAGS. Ignore libCrun as
9121549e21daSmrg    # -library=stlport4 depends on it.
9122549e21daSmrg    case " $CXX $CXXFLAGS " in
9123549e21daSmrg    *" -library=stlport4 "*)
9124549e21daSmrg      solaris_use_stlport4=yes
9125549e21daSmrg      ;;
9126549e21daSmrg    esac
9127549e21daSmrg
9128549e21daSmrg    # Adding this requires a known-good setup of shared libraries for
9129549e21daSmrg    # Sun compiler versions before 5.6, else PIC objects from an old
9130549e21daSmrg    # archive will be linked into the output, leading to subtle bugs.
9131549e21daSmrg    if test "$solaris_use_stlport4" != yes; then
9132549e21daSmrg      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
9133549e21daSmrg    fi
9134549e21daSmrg    ;;
9135549e21daSmrg  esac
9136549e21daSmrg  ;;
9137549e21daSmrgesac
9138ba6a1819Smrg])
9139549e21daSmrg
9140549e21daSmrgcase " $_LT_TAGVAR(postdeps, $1) " in
9141549e21daSmrg*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
9142549e21daSmrgesac
9143549e21daSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=
9144549e21daSmrgif test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
9145549e21daSmrg _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
9146ba6a1819Smrgfi
9147549e21daSmrg_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
9148549e21daSmrg    [The directories searched by this compiler when creating a shared library])
9149549e21daSmrg_LT_TAGDECL([], [predep_objects], [1],
9150549e21daSmrg    [Dependencies to place before and after the objects being linked to
9151549e21daSmrg    create a shared library])
9152549e21daSmrg_LT_TAGDECL([], [postdep_objects], [1])
9153549e21daSmrg_LT_TAGDECL([], [predeps], [1])
9154549e21daSmrg_LT_TAGDECL([], [postdeps], [1])
9155549e21daSmrg_LT_TAGDECL([], [compiler_lib_search_path], [1],
9156549e21daSmrg    [The library search path used internally by the compiler when linking
9157549e21daSmrg    a shared library])
9158549e21daSmrg])# _LT_SYS_HIDDEN_LIBDEPS
9159549e21daSmrg
9160549e21daSmrg
9161549e21daSmrg# _LT_LANG_F77_CONFIG([TAG])
9162549e21daSmrg# --------------------------
9163549e21daSmrg# Ensure that the configuration variables for a Fortran 77 compiler are
9164549e21daSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
9165549e21daSmrg# to write the compiler configuration to `libtool'.
9166549e21daSmrgm4_defun([_LT_LANG_F77_CONFIG],
9167549e21daSmrg[AC_LANG_PUSH(Fortran 77)
9168549e21daSmrgif test -z "$F77" || test "X$F77" = "Xno"; then
9169549e21daSmrg  _lt_disable_F77=yes
9170ba6a1819Smrgfi
9171ba6a1819Smrg
9172549e21daSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
9173549e21daSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
9174549e21daSmrg_LT_TAGVAR(always_export_symbols, $1)=no
9175549e21daSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
9176549e21daSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
9177549e21daSmrg_LT_TAGVAR(hardcode_direct, $1)=no
9178549e21daSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
9179549e21daSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
9180549e21daSmrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
9181549e21daSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
9182549e21daSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
9183549e21daSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
9184549e21daSmrg_LT_TAGVAR(inherit_rpath, $1)=no
9185549e21daSmrg_LT_TAGVAR(module_cmds, $1)=
9186549e21daSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
9187549e21daSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
9188549e21daSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
9189549e21daSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
9190549e21daSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
9191549e21daSmrg_LT_TAGVAR(no_undefined_flag, $1)=
9192549e21daSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
9193549e21daSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
9194ba6a1819Smrg
9195549e21daSmrg# Source file extension for f77 test sources.
9196549e21daSmrgac_ext=f
9197ba6a1819Smrg
9198549e21daSmrg# Object file extension for compiled f77 test sources.
9199549e21daSmrgobjext=o
9200549e21daSmrg_LT_TAGVAR(objext, $1)=$objext
9201549e21daSmrg
9202549e21daSmrg# No sense in running all these tests if we already determined that
9203549e21daSmrg# the F77 compiler isn't working.  Some variables (like enable_shared)
9204549e21daSmrg# are currently assumed to apply to all compilers on this platform,
9205549e21daSmrg# and will be corrupted by setting them based on a non-working compiler.
9206549e21daSmrgif test "$_lt_disable_F77" != yes; then
9207549e21daSmrg  # Code to be used in simple compile tests
9208549e21daSmrg  lt_simple_compile_test_code="\
9209549e21daSmrg      subroutine t
9210549e21daSmrg      return
9211549e21daSmrg      end
9212549e21daSmrg"
9213549e21daSmrg
9214549e21daSmrg  # Code to be used in simple link tests
9215549e21daSmrg  lt_simple_link_test_code="\
9216549e21daSmrg      program t
9217549e21daSmrg      end
9218549e21daSmrg"
9219549e21daSmrg
9220549e21daSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
9221549e21daSmrg  _LT_TAG_COMPILER
9222549e21daSmrg
9223549e21daSmrg  # save warnings/boilerplate of simple test code
9224549e21daSmrg  _LT_COMPILER_BOILERPLATE
9225549e21daSmrg  _LT_LINKER_BOILERPLATE
9226549e21daSmrg
9227549e21daSmrg  # Allow CC to be a program name with arguments.
9228549e21daSmrg  lt_save_CC="$CC"
9229549e21daSmrg  lt_save_GCC=$GCC
9230549e21daSmrg  CC=${F77-"f77"}
9231549e21daSmrg  compiler=$CC
9232549e21daSmrg  _LT_TAGVAR(compiler, $1)=$CC
9233549e21daSmrg  _LT_CC_BASENAME([$compiler])
9234549e21daSmrg  GCC=$G77
9235549e21daSmrg  if test -n "$compiler"; then
9236549e21daSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
9237549e21daSmrg    AC_MSG_RESULT([$can_build_shared])
9238ba6a1819Smrg
9239549e21daSmrg    AC_MSG_CHECKING([whether to build shared libraries])
9240549e21daSmrg    test "$can_build_shared" = "no" && enable_shared=no
9241549e21daSmrg
9242549e21daSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
9243549e21daSmrg    # are all built from PIC.
9244ba6a1819Smrg    case $host_os in
9245549e21daSmrg      aix3*)
9246549e21daSmrg        test "$enable_shared" = yes && enable_static=no
9247549e21daSmrg        if test -n "$RANLIB"; then
9248549e21daSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
9249549e21daSmrg          postinstall_cmds='$RANLIB $lib'
9250549e21daSmrg        fi
9251549e21daSmrg        ;;
9252549e21daSmrg      aix[[4-9]]*)
9253549e21daSmrg	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
9254549e21daSmrg	  test "$enable_shared" = yes && enable_static=no
9255549e21daSmrg	fi
9256549e21daSmrg        ;;
9257ba6a1819Smrg    esac
9258549e21daSmrg    AC_MSG_RESULT([$enable_shared])
9259549e21daSmrg
9260549e21daSmrg    AC_MSG_CHECKING([whether to build static libraries])
9261549e21daSmrg    # Make sure either enable_shared or enable_static is yes.
9262549e21daSmrg    test "$enable_shared" = yes || enable_static=yes
9263549e21daSmrg    AC_MSG_RESULT([$enable_static])
9264549e21daSmrg
9265549e21daSmrg    _LT_TAGVAR(GCC, $1)="$G77"
9266549e21daSmrg    _LT_TAGVAR(LD, $1)="$LD"
9267549e21daSmrg
9268549e21daSmrg    ## CAVEAT EMPTOR:
9269549e21daSmrg    ## There is no encapsulation within the following macros, do not change
9270549e21daSmrg    ## the running order or otherwise move them around unless you know exactly
9271549e21daSmrg    ## what you are doing...
9272549e21daSmrg    _LT_COMPILER_PIC($1)
9273549e21daSmrg    _LT_COMPILER_C_O($1)
9274549e21daSmrg    _LT_COMPILER_FILE_LOCKS($1)
9275549e21daSmrg    _LT_LINKER_SHLIBS($1)
9276549e21daSmrg    _LT_SYS_DYNAMIC_LINKER($1)
9277549e21daSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
9278549e21daSmrg
9279549e21daSmrg    _LT_CONFIG($1)
9280549e21daSmrg  fi # test -n "$compiler"
9281549e21daSmrg
9282549e21daSmrg  GCC=$lt_save_GCC
9283549e21daSmrg  CC="$lt_save_CC"
9284549e21daSmrgfi # test "$_lt_disable_F77" != yes
9285549e21daSmrg
9286549e21daSmrgAC_LANG_POP
9287549e21daSmrg])# _LT_LANG_F77_CONFIG
9288549e21daSmrg
9289549e21daSmrg
9290549e21daSmrg# _LT_LANG_FC_CONFIG([TAG])
9291549e21daSmrg# -------------------------
9292549e21daSmrg# Ensure that the configuration variables for a Fortran compiler are
9293549e21daSmrg# suitably defined.  These variables are subsequently used by _LT_CONFIG
9294549e21daSmrg# to write the compiler configuration to `libtool'.
9295549e21daSmrgm4_defun([_LT_LANG_FC_CONFIG],
9296549e21daSmrg[AC_LANG_PUSH(Fortran)
9297549e21daSmrg
9298549e21daSmrgif test -z "$FC" || test "X$FC" = "Xno"; then
9299549e21daSmrg  _lt_disable_FC=yes
9300549e21daSmrgfi
9301549e21daSmrg
9302549e21daSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
9303549e21daSmrg_LT_TAGVAR(allow_undefined_flag, $1)=
9304549e21daSmrg_LT_TAGVAR(always_export_symbols, $1)=no
9305549e21daSmrg_LT_TAGVAR(archive_expsym_cmds, $1)=
9306549e21daSmrg_LT_TAGVAR(export_dynamic_flag_spec, $1)=
9307549e21daSmrg_LT_TAGVAR(hardcode_direct, $1)=no
9308549e21daSmrg_LT_TAGVAR(hardcode_direct_absolute, $1)=no
9309549e21daSmrg_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
9310549e21daSmrg_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
9311549e21daSmrg_LT_TAGVAR(hardcode_libdir_separator, $1)=
9312549e21daSmrg_LT_TAGVAR(hardcode_minus_L, $1)=no
9313549e21daSmrg_LT_TAGVAR(hardcode_automatic, $1)=no
9314549e21daSmrg_LT_TAGVAR(inherit_rpath, $1)=no
9315549e21daSmrg_LT_TAGVAR(module_cmds, $1)=
9316549e21daSmrg_LT_TAGVAR(module_expsym_cmds, $1)=
9317549e21daSmrg_LT_TAGVAR(link_all_deplibs, $1)=unknown
9318549e21daSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
9319549e21daSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
9320549e21daSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
9321549e21daSmrg_LT_TAGVAR(no_undefined_flag, $1)=
9322549e21daSmrg_LT_TAGVAR(whole_archive_flag_spec, $1)=
9323549e21daSmrg_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
9324549e21daSmrg
9325549e21daSmrg# Source file extension for fc test sources.
9326549e21daSmrgac_ext=${ac_fc_srcext-f}
9327549e21daSmrg
9328549e21daSmrg# Object file extension for compiled fc test sources.
9329549e21daSmrgobjext=o
9330549e21daSmrg_LT_TAGVAR(objext, $1)=$objext
9331549e21daSmrg
9332549e21daSmrg# No sense in running all these tests if we already determined that
9333549e21daSmrg# the FC compiler isn't working.  Some variables (like enable_shared)
9334549e21daSmrg# are currently assumed to apply to all compilers on this platform,
9335549e21daSmrg# and will be corrupted by setting them based on a non-working compiler.
9336549e21daSmrgif test "$_lt_disable_FC" != yes; then
9337549e21daSmrg  # Code to be used in simple compile tests
9338549e21daSmrg  lt_simple_compile_test_code="\
9339549e21daSmrg      subroutine t
9340549e21daSmrg      return
9341549e21daSmrg      end
9342549e21daSmrg"
9343549e21daSmrg
9344549e21daSmrg  # Code to be used in simple link tests
9345549e21daSmrg  lt_simple_link_test_code="\
9346549e21daSmrg      program t
9347549e21daSmrg      end
9348549e21daSmrg"
9349549e21daSmrg
9350549e21daSmrg  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
9351549e21daSmrg  _LT_TAG_COMPILER
9352549e21daSmrg
9353549e21daSmrg  # save warnings/boilerplate of simple test code
9354549e21daSmrg  _LT_COMPILER_BOILERPLATE
9355549e21daSmrg  _LT_LINKER_BOILERPLATE
9356549e21daSmrg
9357549e21daSmrg  # Allow CC to be a program name with arguments.
9358549e21daSmrg  lt_save_CC="$CC"
9359549e21daSmrg  lt_save_GCC=$GCC
9360549e21daSmrg  CC=${FC-"f95"}
9361549e21daSmrg  compiler=$CC
9362549e21daSmrg  GCC=$ac_cv_fc_compiler_gnu
9363549e21daSmrg
9364549e21daSmrg  _LT_TAGVAR(compiler, $1)=$CC
9365549e21daSmrg  _LT_CC_BASENAME([$compiler])
9366549e21daSmrg
9367549e21daSmrg  if test -n "$compiler"; then
9368549e21daSmrg    AC_MSG_CHECKING([if libtool supports shared libraries])
9369549e21daSmrg    AC_MSG_RESULT([$can_build_shared])
9370549e21daSmrg
9371549e21daSmrg    AC_MSG_CHECKING([whether to build shared libraries])
9372549e21daSmrg    test "$can_build_shared" = "no" && enable_shared=no
9373549e21daSmrg
9374549e21daSmrg    # On AIX, shared libraries and static libraries use the same namespace, and
9375549e21daSmrg    # are all built from PIC.
9376ba6a1819Smrg    case $host_os in
9377549e21daSmrg      aix3*)
9378549e21daSmrg        test "$enable_shared" = yes && enable_static=no
9379549e21daSmrg        if test -n "$RANLIB"; then
9380549e21daSmrg          archive_cmds="$archive_cmds~\$RANLIB \$lib"
9381549e21daSmrg          postinstall_cmds='$RANLIB $lib'
9382549e21daSmrg        fi
9383549e21daSmrg        ;;
9384549e21daSmrg      aix[[4-9]]*)
9385549e21daSmrg	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
9386549e21daSmrg	  test "$enable_shared" = yes && enable_static=no
9387ba6a1819Smrg	fi
9388549e21daSmrg        ;;
9389549e21daSmrg    esac
9390549e21daSmrg    AC_MSG_RESULT([$enable_shared])
9391549e21daSmrg
9392549e21daSmrg    AC_MSG_CHECKING([whether to build static libraries])
9393549e21daSmrg    # Make sure either enable_shared or enable_static is yes.
9394549e21daSmrg    test "$enable_shared" = yes || enable_static=yes
9395549e21daSmrg    AC_MSG_RESULT([$enable_static])
9396549e21daSmrg
9397549e21daSmrg    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
9398549e21daSmrg    _LT_TAGVAR(LD, $1)="$LD"
9399549e21daSmrg
9400549e21daSmrg    ## CAVEAT EMPTOR:
9401549e21daSmrg    ## There is no encapsulation within the following macros, do not change
9402549e21daSmrg    ## the running order or otherwise move them around unless you know exactly
9403549e21daSmrg    ## what you are doing...
9404549e21daSmrg    _LT_SYS_HIDDEN_LIBDEPS($1)
9405549e21daSmrg    _LT_COMPILER_PIC($1)
9406549e21daSmrg    _LT_COMPILER_C_O($1)
9407549e21daSmrg    _LT_COMPILER_FILE_LOCKS($1)
9408549e21daSmrg    _LT_LINKER_SHLIBS($1)
9409549e21daSmrg    _LT_SYS_DYNAMIC_LINKER($1)
9410549e21daSmrg    _LT_LINKER_HARDCODE_LIBPATH($1)
9411549e21daSmrg
9412549e21daSmrg    _LT_CONFIG($1)
9413549e21daSmrg  fi # test -n "$compiler"
9414549e21daSmrg
9415549e21daSmrg  GCC=$lt_save_GCC
9416549e21daSmrg  CC="$lt_save_CC"
9417549e21daSmrgfi # test "$_lt_disable_FC" != yes
9418ba6a1819Smrg
9419549e21daSmrgAC_LANG_POP
9420549e21daSmrg])# _LT_LANG_FC_CONFIG
9421ba6a1819Smrg
9422ba6a1819Smrg
9423549e21daSmrg# _LT_LANG_GCJ_CONFIG([TAG])
9424549e21daSmrg# --------------------------
9425549e21daSmrg# Ensure that the configuration variables for the GNU Java Compiler compiler
9426549e21daSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
9427549e21daSmrg# to write the compiler configuration to `libtool'.
9428549e21daSmrgm4_defun([_LT_LANG_GCJ_CONFIG],
9429549e21daSmrg[AC_REQUIRE([LT_PROG_GCJ])dnl
9430549e21daSmrgAC_LANG_SAVE
9431ba6a1819Smrg
9432549e21daSmrg# Source file extension for Java test sources.
9433549e21daSmrgac_ext=java
9434ba6a1819Smrg
9435549e21daSmrg# Object file extension for compiled Java test sources.
9436549e21daSmrgobjext=o
9437549e21daSmrg_LT_TAGVAR(objext, $1)=$objext
9438ba6a1819Smrg
9439549e21daSmrg# Code to be used in simple compile tests
9440549e21daSmrglt_simple_compile_test_code="class foo {}"
9441ba6a1819Smrg
9442549e21daSmrg# Code to be used in simple link tests
9443549e21daSmrglt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
9444ba6a1819Smrg
9445549e21daSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
9446549e21daSmrg_LT_TAG_COMPILER
9447ba6a1819Smrg
9448549e21daSmrg# save warnings/boilerplate of simple test code
9449549e21daSmrg_LT_COMPILER_BOILERPLATE
9450549e21daSmrg_LT_LINKER_BOILERPLATE
9451ba6a1819Smrg
9452549e21daSmrg# Allow CC to be a program name with arguments.
9453549e21daSmrglt_save_CC="$CC"
9454549e21daSmrglt_save_GCC=$GCC
9455549e21daSmrgGCC=yes
9456549e21daSmrgCC=${GCJ-"gcj"}
9457549e21daSmrgcompiler=$CC
9458549e21daSmrg_LT_TAGVAR(compiler, $1)=$CC
9459549e21daSmrg_LT_TAGVAR(LD, $1)="$LD"
9460549e21daSmrg_LT_CC_BASENAME([$compiler])
9461ba6a1819Smrg
9462549e21daSmrg# GCJ did not exist at the time GCC didn't implicitly link libc in.
9463549e21daSmrg_LT_TAGVAR(archive_cmds_need_lc, $1)=no
9464ba6a1819Smrg
9465549e21daSmrg_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
9466549e21daSmrg_LT_TAGVAR(reload_flag, $1)=$reload_flag
9467549e21daSmrg_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
9468ba6a1819Smrg
9469549e21daSmrgif test -n "$compiler"; then
9470549e21daSmrg  _LT_COMPILER_NO_RTTI($1)
9471549e21daSmrg  _LT_COMPILER_PIC($1)
9472549e21daSmrg  _LT_COMPILER_C_O($1)
9473549e21daSmrg  _LT_COMPILER_FILE_LOCKS($1)
9474549e21daSmrg  _LT_LINKER_SHLIBS($1)
9475549e21daSmrg  _LT_LINKER_HARDCODE_LIBPATH($1)
9476ba6a1819Smrg
9477549e21daSmrg  _LT_CONFIG($1)
9478549e21daSmrgfi
9479ba6a1819Smrg
9480549e21daSmrgAC_LANG_RESTORE
9481ba6a1819Smrg
9482549e21daSmrgGCC=$lt_save_GCC
9483549e21daSmrgCC="$lt_save_CC"
9484549e21daSmrg])# _LT_LANG_GCJ_CONFIG
9485ba6a1819Smrg
9486ba6a1819Smrg
9487549e21daSmrg# _LT_LANG_RC_CONFIG([TAG])
9488549e21daSmrg# -------------------------
9489549e21daSmrg# Ensure that the configuration variables for the Windows resource compiler
9490549e21daSmrg# are suitably defined.  These variables are subsequently used by _LT_CONFIG
9491549e21daSmrg# to write the compiler configuration to `libtool'.
9492549e21daSmrgm4_defun([_LT_LANG_RC_CONFIG],
9493549e21daSmrg[AC_REQUIRE([LT_PROG_RC])dnl
9494549e21daSmrgAC_LANG_SAVE
9495ba6a1819Smrg
9496549e21daSmrg# Source file extension for RC test sources.
9497549e21daSmrgac_ext=rc
9498ba6a1819Smrg
9499549e21daSmrg# Object file extension for compiled RC test sources.
9500549e21daSmrgobjext=o
9501549e21daSmrg_LT_TAGVAR(objext, $1)=$objext
9502ba6a1819Smrg
9503549e21daSmrg# Code to be used in simple compile tests
9504549e21daSmrglt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
9505ba6a1819Smrg
9506549e21daSmrg# Code to be used in simple link tests
9507549e21daSmrglt_simple_link_test_code="$lt_simple_compile_test_code"
9508ba6a1819Smrg
9509549e21daSmrg# ltmain only uses $CC for tagged configurations so make sure $CC is set.
9510549e21daSmrg_LT_TAG_COMPILER
9511ba6a1819Smrg
9512549e21daSmrg# save warnings/boilerplate of simple test code
9513549e21daSmrg_LT_COMPILER_BOILERPLATE
9514549e21daSmrg_LT_LINKER_BOILERPLATE
9515ba6a1819Smrg
9516549e21daSmrg# Allow CC to be a program name with arguments.
9517549e21daSmrglt_save_CC="$CC"
9518549e21daSmrglt_save_GCC=$GCC
9519549e21daSmrgGCC=
9520549e21daSmrgCC=${RC-"windres"}
9521549e21daSmrgcompiler=$CC
9522549e21daSmrg_LT_TAGVAR(compiler, $1)=$CC
9523549e21daSmrg_LT_CC_BASENAME([$compiler])
9524549e21daSmrg_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
9525549e21daSmrg
9526549e21daSmrgif test -n "$compiler"; then
9527549e21daSmrg  :
9528549e21daSmrg  _LT_CONFIG($1)
9529ba6a1819Smrgfi
9530ba6a1819Smrg
9531549e21daSmrgGCC=$lt_save_GCC
9532549e21daSmrgAC_LANG_RESTORE
9533549e21daSmrgCC="$lt_save_CC"
9534549e21daSmrg])# _LT_LANG_RC_CONFIG
9535549e21daSmrg
9536549e21daSmrg
9537549e21daSmrg# LT_PROG_GCJ
9538549e21daSmrg# -----------
9539549e21daSmrgAC_DEFUN([LT_PROG_GCJ],
9540549e21daSmrg[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
9541549e21daSmrg  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
9542549e21daSmrg    [AC_CHECK_TOOL(GCJ, gcj,)
9543549e21daSmrg      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
9544549e21daSmrg      AC_SUBST(GCJFLAGS)])])[]dnl
9545549e21daSmrg])
9546549e21daSmrg
9547549e21daSmrg# Old name:
9548549e21daSmrgAU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
9549549e21daSmrgdnl aclocal-1.4 backwards compatibility:
9550549e21daSmrgdnl AC_DEFUN([LT_AC_PROG_GCJ], [])
9551549e21daSmrg
9552549e21daSmrg
9553549e21daSmrg# LT_PROG_RC
9554549e21daSmrg# ----------
9555549e21daSmrgAC_DEFUN([LT_PROG_RC],
9556549e21daSmrg[AC_CHECK_TOOL(RC, windres,)
9557549e21daSmrg])
9558549e21daSmrg
9559549e21daSmrg# Old name:
9560549e21daSmrgAU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
9561549e21daSmrgdnl aclocal-1.4 backwards compatibility:
9562549e21daSmrgdnl AC_DEFUN([LT_AC_PROG_RC], [])
9563549e21daSmrg
9564549e21daSmrg
9565549e21daSmrg# _LT_DECL_EGREP
9566549e21daSmrg# --------------
9567549e21daSmrg# If we don't have a new enough Autoconf to choose the best grep
9568549e21daSmrg# available, choose the one first in the user's PATH.
9569549e21daSmrgm4_defun([_LT_DECL_EGREP],
9570549e21daSmrg[AC_REQUIRE([AC_PROG_EGREP])dnl
9571549e21daSmrgAC_REQUIRE([AC_PROG_FGREP])dnl
9572549e21daSmrgtest -z "$GREP" && GREP=grep
9573549e21daSmrg_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
9574549e21daSmrg_LT_DECL([], [EGREP], [1], [An ERE matcher])
9575549e21daSmrg_LT_DECL([], [FGREP], [1], [A literal string matcher])
9576549e21daSmrgdnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
9577549e21daSmrgAC_SUBST([GREP])
9578549e21daSmrg])
9579549e21daSmrg
9580549e21daSmrg
9581549e21daSmrg# _LT_DECL_OBJDUMP
9582549e21daSmrg# --------------
9583549e21daSmrg# If we don't have a new enough Autoconf to choose the best objdump
9584549e21daSmrg# available, choose the one first in the user's PATH.
9585549e21daSmrgm4_defun([_LT_DECL_OBJDUMP],
9586549e21daSmrg[AC_CHECK_TOOL(OBJDUMP, objdump, false)
9587549e21daSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
9588549e21daSmrg_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
9589549e21daSmrgAC_SUBST([OBJDUMP])
9590549e21daSmrg])
9591549e21daSmrg
9592549e21daSmrg
9593549e21daSmrg# _LT_DECL_SED
9594549e21daSmrg# ------------
9595549e21daSmrg# Check for a fully-functional sed program, that truncates
9596549e21daSmrg# as few characters as possible.  Prefer GNU sed if found.
9597549e21daSmrgm4_defun([_LT_DECL_SED],
9598549e21daSmrg[AC_PROG_SED
9599549e21daSmrgtest -z "$SED" && SED=sed
9600549e21daSmrgXsed="$SED -e 1s/^X//"
9601549e21daSmrg_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
9602549e21daSmrg_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
9603549e21daSmrg    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
9604549e21daSmrg])# _LT_DECL_SED
9605549e21daSmrg
9606549e21daSmrgm4_ifndef([AC_PROG_SED], [
9607549e21daSmrg# NOTE: This macro has been submitted for inclusion into   #
9608549e21daSmrg#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
9609549e21daSmrg#  a released version of Autoconf we should remove this    #
9610549e21daSmrg#  macro and use it instead.                               #
9611549e21daSmrg
9612549e21daSmrgm4_defun([AC_PROG_SED],
9613549e21daSmrg[AC_MSG_CHECKING([for a sed that does not truncate output])
9614549e21daSmrgAC_CACHE_VAL(lt_cv_path_SED,
9615549e21daSmrg[# Loop through the user's path and test for sed and gsed.
9616549e21daSmrg# Then use that list of sed's as ones to test for truncation.
9617549e21daSmrgas_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9618549e21daSmrgfor as_dir in $PATH
9619549e21daSmrgdo
9620549e21daSmrg  IFS=$as_save_IFS
9621549e21daSmrg  test -z "$as_dir" && as_dir=.
9622549e21daSmrg  for lt_ac_prog in sed gsed; do
9623549e21daSmrg    for ac_exec_ext in '' $ac_executable_extensions; do
9624549e21daSmrg      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
9625549e21daSmrg        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
9626549e21daSmrg      fi
9627549e21daSmrg    done
9628549e21daSmrg  done
9629549e21daSmrgdone
9630549e21daSmrgIFS=$as_save_IFS
9631549e21daSmrglt_ac_max=0
9632549e21daSmrglt_ac_count=0
9633549e21daSmrg# Add /usr/xpg4/bin/sed as it is typically found on Solaris
9634549e21daSmrg# along with /bin/sed that truncates output.
9635549e21daSmrgfor lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
9636549e21daSmrg  test ! -f $lt_ac_sed && continue
9637549e21daSmrg  cat /dev/null > conftest.in
9638549e21daSmrg  lt_ac_count=0
9639549e21daSmrg  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
9640549e21daSmrg  # Check for GNU sed and select it if it is found.
9641549e21daSmrg  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
9642549e21daSmrg    lt_cv_path_SED=$lt_ac_sed
9643549e21daSmrg    break
9644549e21daSmrg  fi
9645549e21daSmrg  while true; do
9646549e21daSmrg    cat conftest.in conftest.in >conftest.tmp
9647549e21daSmrg    mv conftest.tmp conftest.in
9648549e21daSmrg    cp conftest.in conftest.nl
9649549e21daSmrg    echo >>conftest.nl
9650549e21daSmrg    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
9651549e21daSmrg    cmp -s conftest.out conftest.nl || break
9652549e21daSmrg    # 10000 chars as input seems more than enough
9653549e21daSmrg    test $lt_ac_count -gt 10 && break
9654549e21daSmrg    lt_ac_count=`expr $lt_ac_count + 1`
9655549e21daSmrg    if test $lt_ac_count -gt $lt_ac_max; then
9656549e21daSmrg      lt_ac_max=$lt_ac_count
9657549e21daSmrg      lt_cv_path_SED=$lt_ac_sed
9658549e21daSmrg    fi
9659549e21daSmrg  done
9660549e21daSmrgdone
9661ba6a1819Smrg])
9662549e21daSmrgSED=$lt_cv_path_SED
9663549e21daSmrgAC_SUBST([SED])
9664549e21daSmrgAC_MSG_RESULT([$SED])
9665549e21daSmrg])#AC_PROG_SED
9666549e21daSmrg])#m4_ifndef
9667ba6a1819Smrg
9668549e21daSmrg# Old name:
9669549e21daSmrgAU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
9670549e21daSmrgdnl aclocal-1.4 backwards compatibility:
9671549e21daSmrgdnl AC_DEFUN([LT_AC_PROG_SED], [])
9672ba6a1819Smrg
9673549e21daSmrg
9674549e21daSmrg# _LT_CHECK_SHELL_FEATURES
9675549e21daSmrg# ------------------------
9676549e21daSmrg# Find out whether the shell is Bourne or XSI compatible,
9677549e21daSmrg# or has some other useful features.
9678549e21daSmrgm4_defun([_LT_CHECK_SHELL_FEATURES],
9679549e21daSmrg[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
9680549e21daSmrg# Try some XSI features
9681549e21daSmrgxsi_shell=no
9682549e21daSmrg( _lt_dummy="a/b/c"
9683549e21daSmrg  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
9684549e21daSmrg      = c,a/b,, \
9685549e21daSmrg    && eval 'test $(( 1 + 1 )) -eq 2 \
9686549e21daSmrg    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
9687549e21daSmrg  && xsi_shell=yes
9688549e21daSmrgAC_MSG_RESULT([$xsi_shell])
9689549e21daSmrg_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
9690549e21daSmrg
9691549e21daSmrgAC_MSG_CHECKING([whether the shell understands "+="])
9692549e21daSmrglt_shell_append=no
9693549e21daSmrg( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
9694549e21daSmrg    >/dev/null 2>&1 \
9695549e21daSmrg  && lt_shell_append=yes
9696549e21daSmrgAC_MSG_RESULT([$lt_shell_append])
9697549e21daSmrg_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
9698549e21daSmrg
9699549e21daSmrgif ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
9700549e21daSmrg  lt_unset=unset
9701549e21daSmrgelse
9702549e21daSmrg  lt_unset=false
9703549e21daSmrgfi
9704549e21daSmrg_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
9705549e21daSmrg
9706549e21daSmrg# test EBCDIC or ASCII
9707549e21daSmrgcase `echo X|tr X '\101'` in
9708549e21daSmrg A) # ASCII based system
9709549e21daSmrg    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
9710549e21daSmrg  lt_SP2NL='tr \040 \012'
9711549e21daSmrg  lt_NL2SP='tr \015\012 \040\040'
9712ba6a1819Smrg  ;;
9713549e21daSmrg *) # EBCDIC based system
9714549e21daSmrg  lt_SP2NL='tr \100 \n'
9715549e21daSmrg  lt_NL2SP='tr \r\n \100\100'
9716ba6a1819Smrg  ;;
9717549e21daSmrgesac
9718549e21daSmrg_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
9719549e21daSmrg_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
9720549e21daSmrg])# _LT_CHECK_SHELL_FEATURES
9721549e21daSmrg
9722549e21daSmrg
9723549e21daSmrg# _LT_PROG_XSI_SHELLFNS
9724549e21daSmrg# ---------------------
9725549e21daSmrg# Bourne and XSI compatible variants of some useful shell functions.
9726549e21daSmrgm4_defun([_LT_PROG_XSI_SHELLFNS],
9727549e21daSmrg[case $xsi_shell in
9728549e21daSmrg  yes)
9729549e21daSmrg    cat << \_LT_EOF >> "$cfgfile"
9730549e21daSmrg
9731549e21daSmrg# func_dirname file append nondir_replacement
9732549e21daSmrg# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
9733549e21daSmrg# otherwise set result to NONDIR_REPLACEMENT.
9734549e21daSmrgfunc_dirname ()
9735549e21daSmrg{
9736549e21daSmrg  case ${1} in
9737549e21daSmrg    */*) func_dirname_result="${1%/*}${2}" ;;
9738549e21daSmrg    *  ) func_dirname_result="${3}" ;;
9739ba6a1819Smrg  esac
9740549e21daSmrg}
9741549e21daSmrg
9742549e21daSmrg# func_basename file
9743549e21daSmrgfunc_basename ()
9744549e21daSmrg{
9745549e21daSmrg  func_basename_result="${1##*/}"
9746549e21daSmrg}
9747549e21daSmrg
9748549e21daSmrg# func_dirname_and_basename file append nondir_replacement
9749549e21daSmrg# perform func_basename and func_dirname in a single function
9750549e21daSmrg# call:
9751549e21daSmrg#   dirname:  Compute the dirname of FILE.  If nonempty,
9752549e21daSmrg#             add APPEND to the result, otherwise set result
9753549e21daSmrg#             to NONDIR_REPLACEMENT.
9754549e21daSmrg#             value returned in "$func_dirname_result"
9755549e21daSmrg#   basename: Compute filename of FILE.
9756549e21daSmrg#             value retuned in "$func_basename_result"
9757549e21daSmrg# Implementation must be kept synchronized with func_dirname
9758549e21daSmrg# and func_basename. For efficiency, we do not delegate to
9759549e21daSmrg# those functions but instead duplicate the functionality here.
9760549e21daSmrgfunc_dirname_and_basename ()
9761549e21daSmrg{
9762549e21daSmrg  case ${1} in
9763549e21daSmrg    */*) func_dirname_result="${1%/*}${2}" ;;
9764549e21daSmrg    *  ) func_dirname_result="${3}" ;;
9765ba6a1819Smrg  esac
9766549e21daSmrg  func_basename_result="${1##*/}"
9767549e21daSmrg}
9768ba6a1819Smrg
9769549e21daSmrg# func_stripname prefix suffix name
9770549e21daSmrg# strip PREFIX and SUFFIX off of NAME.
9771549e21daSmrg# PREFIX and SUFFIX must not contain globbing or regex special
9772549e21daSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading
9773549e21daSmrg# dot (in which case that matches only a dot).
9774549e21daSmrgfunc_stripname ()
9775549e21daSmrg{
9776549e21daSmrg  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
9777549e21daSmrg  # positional parameters, so assign one to ordinary parameter first.
9778549e21daSmrg  func_stripname_result=${3}
9779549e21daSmrg  func_stripname_result=${func_stripname_result#"${1}"}
9780549e21daSmrg  func_stripname_result=${func_stripname_result%"${2}"}
9781549e21daSmrg}
9782ba6a1819Smrg
9783549e21daSmrg# func_opt_split
9784549e21daSmrgfunc_opt_split ()
9785549e21daSmrg{
9786549e21daSmrg  func_opt_split_opt=${1%%=*}
9787549e21daSmrg  func_opt_split_arg=${1#*=}
9788549e21daSmrg}
9789ba6a1819Smrg
9790549e21daSmrg# func_lo2o object
9791549e21daSmrgfunc_lo2o ()
9792549e21daSmrg{
9793549e21daSmrg  case ${1} in
9794549e21daSmrg    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
9795549e21daSmrg    *)    func_lo2o_result=${1} ;;
9796549e21daSmrg  esac
9797549e21daSmrg}
9798ba6a1819Smrg
9799549e21daSmrg# func_xform libobj-or-source
9800549e21daSmrgfunc_xform ()
9801549e21daSmrg{
9802549e21daSmrg  func_xform_result=${1%.*}.lo
9803549e21daSmrg}
9804ba6a1819Smrg
9805549e21daSmrg# func_arith arithmetic-term...
9806549e21daSmrgfunc_arith ()
9807549e21daSmrg{
9808549e21daSmrg  func_arith_result=$(( $[*] ))
9809549e21daSmrg}
9810ba6a1819Smrg
9811549e21daSmrg# func_len string
9812549e21daSmrg# STRING may not start with a hyphen.
9813549e21daSmrgfunc_len ()
9814549e21daSmrg{
9815549e21daSmrg  func_len_result=${#1}
9816549e21daSmrg}
9817ba6a1819Smrg
9818549e21daSmrg_LT_EOF
9819549e21daSmrg    ;;
9820549e21daSmrg  *) # Bourne compatible functions.
9821549e21daSmrg    cat << \_LT_EOF >> "$cfgfile"
9822ba6a1819Smrg
9823549e21daSmrg# func_dirname file append nondir_replacement
9824549e21daSmrg# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
9825549e21daSmrg# otherwise set result to NONDIR_REPLACEMENT.
9826549e21daSmrgfunc_dirname ()
9827549e21daSmrg{
9828549e21daSmrg  # Extract subdirectory from the argument.
9829549e21daSmrg  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
9830549e21daSmrg  if test "X$func_dirname_result" = "X${1}"; then
9831549e21daSmrg    func_dirname_result="${3}"
9832549e21daSmrg  else
9833549e21daSmrg    func_dirname_result="$func_dirname_result${2}"
9834549e21daSmrg  fi
9835549e21daSmrg}
9836ba6a1819Smrg
9837549e21daSmrg# func_basename file
9838549e21daSmrgfunc_basename ()
9839549e21daSmrg{
9840549e21daSmrg  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
9841549e21daSmrg}
9842ba6a1819Smrg
9843549e21daSmrgdnl func_dirname_and_basename
9844549e21daSmrgdnl A portable version of this function is already defined in general.m4sh
9845549e21daSmrgdnl so there is no need for it here.
9846549e21daSmrg
9847549e21daSmrg# func_stripname prefix suffix name
9848549e21daSmrg# strip PREFIX and SUFFIX off of NAME.
9849549e21daSmrg# PREFIX and SUFFIX must not contain globbing or regex special
9850549e21daSmrg# characters, hashes, percent signs, but SUFFIX may contain a leading
9851549e21daSmrg# dot (in which case that matches only a dot).
9852549e21daSmrg# func_strip_suffix prefix name
9853549e21daSmrgfunc_stripname ()
9854549e21daSmrg{
9855549e21daSmrg  case ${2} in
9856549e21daSmrg    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
9857549e21daSmrg    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
9858549e21daSmrg  esac
9859549e21daSmrg}
9860ba6a1819Smrg
9861549e21daSmrg# sed scripts:
9862549e21daSmrgmy_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
9863549e21daSmrgmy_sed_long_arg='1s/^-[[^=]]*=//'
9864ba6a1819Smrg
9865549e21daSmrg# func_opt_split
9866549e21daSmrgfunc_opt_split ()
9867549e21daSmrg{
9868549e21daSmrg  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
9869549e21daSmrg  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
9870549e21daSmrg}
9871ba6a1819Smrg
9872549e21daSmrg# func_lo2o object
9873549e21daSmrgfunc_lo2o ()
9874549e21daSmrg{
9875549e21daSmrg  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
9876549e21daSmrg}
9877ba6a1819Smrg
9878549e21daSmrg# func_xform libobj-or-source
9879549e21daSmrgfunc_xform ()
9880549e21daSmrg{
9881549e21daSmrg  func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
9882549e21daSmrg}
9883ba6a1819Smrg
9884549e21daSmrg# func_arith arithmetic-term...
9885549e21daSmrgfunc_arith ()
9886549e21daSmrg{
9887549e21daSmrg  func_arith_result=`expr "$[@]"`
9888549e21daSmrg}
9889ba6a1819Smrg
9890549e21daSmrg# func_len string
9891549e21daSmrg# STRING may not start with a hyphen.
9892549e21daSmrgfunc_len ()
9893549e21daSmrg{
9894549e21daSmrg  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
9895549e21daSmrg}
9896ba6a1819Smrg
9897549e21daSmrg_LT_EOF
9898549e21daSmrgesac
9899549e21daSmrg
9900549e21daSmrgcase $lt_shell_append in
9901549e21daSmrg  yes)
9902549e21daSmrg    cat << \_LT_EOF >> "$cfgfile"
9903ba6a1819Smrg
9904549e21daSmrg# func_append var value
9905549e21daSmrg# Append VALUE to the end of shell variable VAR.
9906549e21daSmrgfunc_append ()
9907549e21daSmrg{
9908549e21daSmrg  eval "$[1]+=\$[2]"
9909549e21daSmrg}
9910ba6a1819Smrg_LT_EOF
9911549e21daSmrg    ;;
9912549e21daSmrg  *)
9913549e21daSmrg    cat << \_LT_EOF >> "$cfgfile"
9914ba6a1819Smrg
9915549e21daSmrg# func_append var value
9916549e21daSmrg# Append VALUE to the end of shell variable VAR.
9917549e21daSmrgfunc_append ()
9918549e21daSmrg{
9919549e21daSmrg  eval "$[1]=\$$[1]\$[2]"
9920549e21daSmrg}
9921ba6a1819Smrg
9922549e21daSmrg_LT_EOF
9923549e21daSmrg    ;;
9924549e21daSmrg  esac
9925549e21daSmrg])
9926ba6a1819Smrg
9927549e21daSmrg# Helper functions for option handling.                    -*- Autoconf -*-
9928549e21daSmrg#
9929549e21daSmrg#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
9930549e21daSmrg#   Inc.
9931549e21daSmrg#   Written by Gary V. Vaughan, 2004
9932549e21daSmrg#
9933549e21daSmrg# This file is free software; the Free Software Foundation gives
9934549e21daSmrg# unlimited permission to copy and/or distribute it, with or without
9935549e21daSmrg# modifications, as long as this notice is preserved.
9936ba6a1819Smrg
9937549e21daSmrg# serial 7 ltoptions.m4
9938ba6a1819Smrg
9939549e21daSmrg# This is to help aclocal find these macros, as it can't see m4_define.
9940549e21daSmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
9941ba6a1819Smrg
9942ba6a1819Smrg
9943549e21daSmrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
9944549e21daSmrg# ------------------------------------------
9945549e21daSmrgm4_define([_LT_MANGLE_OPTION],
9946549e21daSmrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
9947549e21daSmrg
9948ba6a1819Smrg
9949549e21daSmrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
9950549e21daSmrg# ---------------------------------------
9951549e21daSmrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
9952549e21daSmrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
9953549e21daSmrg# saved as a flag.
9954549e21daSmrgm4_define([_LT_SET_OPTION],
9955549e21daSmrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
9956549e21daSmrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
9957549e21daSmrg        _LT_MANGLE_DEFUN([$1], [$2]),
9958549e21daSmrg    [m4_warning([Unknown $1 option `$2'])])[]dnl
9959549e21daSmrg])
9960ba6a1819Smrg
9961ba6a1819Smrg
9962549e21daSmrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
9963549e21daSmrg# ------------------------------------------------------------
9964549e21daSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
9965549e21daSmrgm4_define([_LT_IF_OPTION],
9966549e21daSmrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
9967549e21daSmrg
9968549e21daSmrg
9969549e21daSmrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
9970549e21daSmrg# -------------------------------------------------------
9971549e21daSmrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
9972549e21daSmrg# are set.
9973549e21daSmrgm4_define([_LT_UNLESS_OPTIONS],
9974549e21daSmrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
9975549e21daSmrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
9976549e21daSmrg		      [m4_define([$0_found])])])[]dnl
9977549e21daSmrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
9978549e21daSmrg])[]dnl
9979549e21daSmrg])
9980ba6a1819Smrg
9981ba6a1819Smrg
9982549e21daSmrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
9983549e21daSmrg# ----------------------------------------
9984549e21daSmrg# OPTION-LIST is a space-separated list of Libtool options associated
9985549e21daSmrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
9986549e21daSmrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
9987549e21daSmrg# the unknown option and exit.
9988549e21daSmrgm4_defun([_LT_SET_OPTIONS],
9989549e21daSmrg[# Set options
9990549e21daSmrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
9991549e21daSmrg    [_LT_SET_OPTION([$1], _LT_Option)])
9992549e21daSmrg
9993549e21daSmrgm4_if([$1],[LT_INIT],[
9994549e21daSmrg  dnl
9995549e21daSmrg  dnl Simply set some default values (i.e off) if boolean options were not
9996549e21daSmrg  dnl specified:
9997549e21daSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
9998549e21daSmrg  ])
9999549e21daSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
10000549e21daSmrg  ])
10001549e21daSmrg  dnl
10002549e21daSmrg  dnl If no reference was made to various pairs of opposing options, then
10003549e21daSmrg  dnl we run the default mode handler for the pair.  For example, if neither
10004549e21daSmrg  dnl `shared' nor `disable-shared' was passed, we enable building of shared
10005549e21daSmrg  dnl archives by default:
10006549e21daSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
10007549e21daSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
10008549e21daSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
10009549e21daSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
10010549e21daSmrg  		   [_LT_ENABLE_FAST_INSTALL])
10011549e21daSmrg  ])
10012549e21daSmrg])# _LT_SET_OPTIONS
10013ba6a1819Smrg
10014ba6a1819Smrg
10015ba6a1819Smrg
10016549e21daSmrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
10017549e21daSmrg# -----------------------------------------
10018549e21daSmrgm4_define([_LT_MANGLE_DEFUN],
10019549e21daSmrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
10020ba6a1819Smrg
10021ba6a1819Smrg
10022549e21daSmrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
10023549e21daSmrg# -----------------------------------------------
10024549e21daSmrgm4_define([LT_OPTION_DEFINE],
10025549e21daSmrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
10026549e21daSmrg])# LT_OPTION_DEFINE
10027ba6a1819Smrg
10028ba6a1819Smrg
10029549e21daSmrg# dlopen
10030549e21daSmrg# ------
10031549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
10032549e21daSmrg])
10033ba6a1819Smrg
10034549e21daSmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
10035549e21daSmrg[_LT_SET_OPTION([LT_INIT], [dlopen])
10036549e21daSmrgAC_DIAGNOSE([obsolete],
10037549e21daSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
10038549e21daSmrgput the `dlopen' option into LT_INIT's first parameter.])
10039549e21daSmrg])
10040ba6a1819Smrg
10041549e21daSmrgdnl aclocal-1.4 backwards compatibility:
10042549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
10043ba6a1819Smrg
10044ba6a1819Smrg
10045549e21daSmrg# win32-dll
10046549e21daSmrg# ---------
10047549e21daSmrg# Declare package support for building win32 dll's.
10048549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
10049549e21daSmrg[enable_win32_dll=yes
10050ba6a1819Smrg
10051549e21daSmrgcase $host in
10052549e21daSmrg*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
10053549e21daSmrg  AC_CHECK_TOOL(AS, as, false)
10054549e21daSmrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
10055549e21daSmrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
10056549e21daSmrg  ;;
10057549e21daSmrgesac
10058ba6a1819Smrg
10059549e21daSmrgtest -z "$AS" && AS=as
10060549e21daSmrg_LT_DECL([], [AS],      [1], [Assembler program])dnl
10061ba6a1819Smrg
10062549e21daSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
10063549e21daSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
10064ba6a1819Smrg
10065549e21daSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
10066549e21daSmrg_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
10067549e21daSmrg])# win32-dll
10068ba6a1819Smrg
10069549e21daSmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
10070549e21daSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
10071549e21daSmrg_LT_SET_OPTION([LT_INIT], [win32-dll])
10072549e21daSmrgAC_DIAGNOSE([obsolete],
10073549e21daSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
10074549e21daSmrgput the `win32-dll' option into LT_INIT's first parameter.])
10075549e21daSmrg])
10076ba6a1819Smrg
10077549e21daSmrgdnl aclocal-1.4 backwards compatibility:
10078549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
10079ba6a1819Smrg
10080ba6a1819Smrg
10081549e21daSmrg# _LT_ENABLE_SHARED([DEFAULT])
10082549e21daSmrg# ----------------------------
10083549e21daSmrg# implement the --enable-shared flag, and supports the `shared' and
10084549e21daSmrg# `disable-shared' LT_INIT options.
10085549e21daSmrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
10086549e21daSmrgm4_define([_LT_ENABLE_SHARED],
10087549e21daSmrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
10088549e21daSmrgAC_ARG_ENABLE([shared],
10089549e21daSmrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
10090549e21daSmrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
10091549e21daSmrg    [p=${PACKAGE-default}
10092549e21daSmrg    case $enableval in
10093549e21daSmrg    yes) enable_shared=yes ;;
10094549e21daSmrg    no) enable_shared=no ;;
10095549e21daSmrg    *)
10096549e21daSmrg      enable_shared=no
10097549e21daSmrg      # Look at the argument we got.  We use all the common list separators.
10098549e21daSmrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
10099549e21daSmrg      for pkg in $enableval; do
10100549e21daSmrg	IFS="$lt_save_ifs"
10101549e21daSmrg	if test "X$pkg" = "X$p"; then
10102549e21daSmrg	  enable_shared=yes
10103549e21daSmrg	fi
10104549e21daSmrg      done
10105549e21daSmrg      IFS="$lt_save_ifs"
10106ba6a1819Smrg      ;;
10107549e21daSmrg    esac],
10108549e21daSmrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
10109ba6a1819Smrg
10110549e21daSmrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
10111549e21daSmrg	[Whether or not to build shared libraries])
10112549e21daSmrg])# _LT_ENABLE_SHARED
10113ba6a1819Smrg
10114549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
10115549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
10116ba6a1819Smrg
10117549e21daSmrg# Old names:
10118549e21daSmrgAC_DEFUN([AC_ENABLE_SHARED],
10119549e21daSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
10120549e21daSmrg])
10121ba6a1819Smrg
10122549e21daSmrgAC_DEFUN([AC_DISABLE_SHARED],
10123549e21daSmrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
10124549e21daSmrg])
10125ba6a1819Smrg
10126549e21daSmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
10127549e21daSmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
10128ba6a1819Smrg
10129549e21daSmrgdnl aclocal-1.4 backwards compatibility:
10130549e21daSmrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
10131549e21daSmrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
10132ba6a1819Smrg
10133ba6a1819Smrg
10134ba6a1819Smrg
10135549e21daSmrg# _LT_ENABLE_STATIC([DEFAULT])
10136549e21daSmrg# ----------------------------
10137549e21daSmrg# implement the --enable-static flag, and support the `static' and
10138549e21daSmrg# `disable-static' LT_INIT options.
10139549e21daSmrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
10140549e21daSmrgm4_define([_LT_ENABLE_STATIC],
10141549e21daSmrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
10142549e21daSmrgAC_ARG_ENABLE([static],
10143549e21daSmrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
10144549e21daSmrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
10145549e21daSmrg    [p=${PACKAGE-default}
10146549e21daSmrg    case $enableval in
10147549e21daSmrg    yes) enable_static=yes ;;
10148549e21daSmrg    no) enable_static=no ;;
10149549e21daSmrg    *)
10150549e21daSmrg     enable_static=no
10151549e21daSmrg      # Look at the argument we got.  We use all the common list separators.
10152549e21daSmrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
10153549e21daSmrg      for pkg in $enableval; do
10154549e21daSmrg	IFS="$lt_save_ifs"
10155549e21daSmrg	if test "X$pkg" = "X$p"; then
10156549e21daSmrg	  enable_static=yes
10157549e21daSmrg	fi
10158549e21daSmrg      done
10159549e21daSmrg      IFS="$lt_save_ifs"
10160ba6a1819Smrg      ;;
10161549e21daSmrg    esac],
10162549e21daSmrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
10163549e21daSmrg
10164549e21daSmrg    _LT_DECL([build_old_libs], [enable_static], [0],
10165549e21daSmrg	[Whether or not to build static libraries])
10166549e21daSmrg])# _LT_ENABLE_STATIC
10167ba6a1819Smrg
10168549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
10169549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
10170ba6a1819Smrg
10171549e21daSmrg# Old names:
10172549e21daSmrgAC_DEFUN([AC_ENABLE_STATIC],
10173549e21daSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
10174549e21daSmrg])
10175ba6a1819Smrg
10176549e21daSmrgAC_DEFUN([AC_DISABLE_STATIC],
10177549e21daSmrg[_LT_SET_OPTION([LT_INIT], [disable-static])
10178549e21daSmrg])
10179ba6a1819Smrg
10180549e21daSmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
10181549e21daSmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
10182549e21daSmrg
10183549e21daSmrgdnl aclocal-1.4 backwards compatibility:
10184549e21daSmrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
10185549e21daSmrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
10186ba6a1819Smrg
10187ba6a1819Smrg
10188549e21daSmrg
10189549e21daSmrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
10190549e21daSmrg# ----------------------------------
10191549e21daSmrg# implement the --enable-fast-install flag, and support the `fast-install'
10192549e21daSmrg# and `disable-fast-install' LT_INIT options.
10193549e21daSmrg# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
10194549e21daSmrgm4_define([_LT_ENABLE_FAST_INSTALL],
10195549e21daSmrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
10196549e21daSmrgAC_ARG_ENABLE([fast-install],
10197549e21daSmrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
10198549e21daSmrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
10199549e21daSmrg    [p=${PACKAGE-default}
10200549e21daSmrg    case $enableval in
10201549e21daSmrg    yes) enable_fast_install=yes ;;
10202549e21daSmrg    no) enable_fast_install=no ;;
10203ba6a1819Smrg    *)
10204549e21daSmrg      enable_fast_install=no
10205549e21daSmrg      # Look at the argument we got.  We use all the common list separators.
10206549e21daSmrg      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
10207549e21daSmrg      for pkg in $enableval; do
10208549e21daSmrg	IFS="$lt_save_ifs"
10209549e21daSmrg	if test "X$pkg" = "X$p"; then
10210549e21daSmrg	  enable_fast_install=yes
10211549e21daSmrg	fi
10212549e21daSmrg      done
10213549e21daSmrg      IFS="$lt_save_ifs"
10214ba6a1819Smrg      ;;
10215549e21daSmrg    esac],
10216549e21daSmrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
10217549e21daSmrg
10218549e21daSmrg_LT_DECL([fast_install], [enable_fast_install], [0],
10219549e21daSmrg	 [Whether or not to optimize for fast installation])dnl
10220549e21daSmrg])# _LT_ENABLE_FAST_INSTALL
10221549e21daSmrg
10222549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
10223549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
10224549e21daSmrg
10225549e21daSmrg# Old names:
10226549e21daSmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
10227549e21daSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
10228549e21daSmrgAC_DIAGNOSE([obsolete],
10229549e21daSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
10230549e21daSmrgthe `fast-install' option into LT_INIT's first parameter.])
10231ba6a1819Smrg])
10232ba6a1819Smrg
10233549e21daSmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
10234549e21daSmrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
10235549e21daSmrgAC_DIAGNOSE([obsolete],
10236549e21daSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
10237549e21daSmrgthe `disable-fast-install' option into LT_INIT's first parameter.])
10238549e21daSmrg])
10239ba6a1819Smrg
10240549e21daSmrgdnl aclocal-1.4 backwards compatibility:
10241549e21daSmrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
10242549e21daSmrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
10243ba6a1819Smrg
10244ba6a1819Smrg
10245549e21daSmrg# _LT_WITH_PIC([MODE])
10246549e21daSmrg# --------------------
10247549e21daSmrg# implement the --with-pic flag, and support the `pic-only' and `no-pic'
10248549e21daSmrg# LT_INIT options.
10249549e21daSmrg# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
10250549e21daSmrgm4_define([_LT_WITH_PIC],
10251549e21daSmrg[AC_ARG_WITH([pic],
10252549e21daSmrg    [AS_HELP_STRING([--with-pic],
10253549e21daSmrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
10254549e21daSmrg    [pic_mode="$withval"],
10255549e21daSmrg    [pic_mode=default])
10256ba6a1819Smrg
10257549e21daSmrgtest -z "$pic_mode" && pic_mode=m4_default([$1], [default])
10258ba6a1819Smrg
10259549e21daSmrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
10260549e21daSmrg])# _LT_WITH_PIC
10261ba6a1819Smrg
10262549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
10263549e21daSmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
10264ba6a1819Smrg
10265549e21daSmrg# Old name:
10266549e21daSmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
10267549e21daSmrg[_LT_SET_OPTION([LT_INIT], [pic-only])
10268549e21daSmrgAC_DIAGNOSE([obsolete],
10269549e21daSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
10270549e21daSmrgput the `pic-only' option into LT_INIT's first parameter.])
10271ba6a1819Smrg])
10272ba6a1819Smrg
10273549e21daSmrgdnl aclocal-1.4 backwards compatibility:
10274549e21daSmrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
10275ba6a1819Smrg
10276ba6a1819Smrg
10277549e21daSmrgm4_define([_LTDL_MODE], [])
10278549e21daSmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
10279549e21daSmrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
10280549e21daSmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
10281549e21daSmrg		 [m4_define([_LTDL_MODE], [recursive])])
10282549e21daSmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
10283549e21daSmrg		 [m4_define([_LTDL_MODE], [subproject])])
10284549e21daSmrg
10285549e21daSmrgm4_define([_LTDL_TYPE], [])
10286549e21daSmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
10287549e21daSmrg		 [m4_define([_LTDL_TYPE], [installable])])
10288549e21daSmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
10289549e21daSmrg		 [m4_define([_LTDL_TYPE], [convenience])])
10290549e21daSmrg
10291549e21daSmrg# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
10292ba6a1819Smrg#
10293549e21daSmrg# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
10294549e21daSmrg# Written by Gary V. Vaughan, 2004
10295ba6a1819Smrg#
10296549e21daSmrg# This file is free software; the Free Software Foundation gives
10297549e21daSmrg# unlimited permission to copy and/or distribute it, with or without
10298549e21daSmrg# modifications, as long as this notice is preserved.
10299549e21daSmrg
10300549e21daSmrg# serial 6 ltsugar.m4
10301549e21daSmrg
10302549e21daSmrg# This is to help aclocal find these macros, as it can't see m4_define.
10303549e21daSmrgAC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
10304549e21daSmrg
10305549e21daSmrg
10306549e21daSmrg# lt_join(SEP, ARG1, [ARG2...])
10307549e21daSmrg# -----------------------------
10308549e21daSmrg# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
10309549e21daSmrg# associated separator.
10310549e21daSmrg# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
10311549e21daSmrg# versions in m4sugar had bugs.
10312549e21daSmrgm4_define([lt_join],
10313549e21daSmrg[m4_if([$#], [1], [],
10314549e21daSmrg       [$#], [2], [[$2]],
10315549e21daSmrg       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
10316549e21daSmrgm4_define([_lt_join],
10317549e21daSmrg[m4_if([$#$2], [2], [],
10318549e21daSmrg       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
10319549e21daSmrg
10320549e21daSmrg
10321549e21daSmrg# lt_car(LIST)
10322549e21daSmrg# lt_cdr(LIST)
10323549e21daSmrg# ------------
10324549e21daSmrg# Manipulate m4 lists.
10325549e21daSmrg# These macros are necessary as long as will still need to support
10326549e21daSmrg# Autoconf-2.59 which quotes differently.
10327549e21daSmrgm4_define([lt_car], [[$1]])
10328549e21daSmrgm4_define([lt_cdr],
10329549e21daSmrg[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
10330549e21daSmrg       [$#], 1, [],
10331549e21daSmrg       [m4_dquote(m4_shift($@))])])
10332549e21daSmrgm4_define([lt_unquote], $1)
10333549e21daSmrg
10334549e21daSmrg
10335549e21daSmrg# lt_append(MACRO-NAME, STRING, [SEPARATOR])
10336549e21daSmrg# ------------------------------------------
10337549e21daSmrg# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
10338549e21daSmrg# Note that neither SEPARATOR nor STRING are expanded; they are appended
10339549e21daSmrg# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
10340549e21daSmrg# No SEPARATOR is output if MACRO-NAME was previously undefined (different
10341549e21daSmrg# than defined and empty).
10342ba6a1819Smrg#
10343549e21daSmrg# This macro is needed until we can rely on Autoconf 2.62, since earlier
10344549e21daSmrg# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
10345549e21daSmrgm4_define([lt_append],
10346549e21daSmrg[m4_define([$1],
10347549e21daSmrg	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
10348549e21daSmrg
10349549e21daSmrg
10350549e21daSmrg
10351549e21daSmrg# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
10352549e21daSmrg# ----------------------------------------------------------
10353549e21daSmrg# Produce a SEP delimited list of all paired combinations of elements of
10354549e21daSmrg# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
10355549e21daSmrg# has the form PREFIXmINFIXSUFFIXn.
10356549e21daSmrg# Needed until we can rely on m4_combine added in Autoconf 2.62.
10357549e21daSmrgm4_define([lt_combine],
10358549e21daSmrg[m4_if(m4_eval([$# > 3]), [1],
10359549e21daSmrg       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
10360549e21daSmrg[[m4_foreach([_Lt_prefix], [$2],
10361549e21daSmrg	     [m4_foreach([_Lt_suffix],
10362549e21daSmrg		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
10363549e21daSmrg	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
10364549e21daSmrg
10365549e21daSmrg
10366549e21daSmrg# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
10367549e21daSmrg# -----------------------------------------------------------------------
10368549e21daSmrg# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
10369549e21daSmrg# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
10370549e21daSmrgm4_define([lt_if_append_uniq],
10371549e21daSmrg[m4_ifdef([$1],
10372549e21daSmrg	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
10373549e21daSmrg		 [lt_append([$1], [$2], [$3])$4],
10374549e21daSmrg		 [$5])],
10375549e21daSmrg	  [lt_append([$1], [$2], [$3])$4])])
10376549e21daSmrg
10377549e21daSmrg
10378549e21daSmrg# lt_dict_add(DICT, KEY, VALUE)
10379549e21daSmrg# -----------------------------
10380549e21daSmrgm4_define([lt_dict_add],
10381549e21daSmrg[m4_define([$1($2)], [$3])])
10382ba6a1819Smrg
10383549e21daSmrg
10384549e21daSmrg# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
10385549e21daSmrg# --------------------------------------------
10386549e21daSmrgm4_define([lt_dict_add_subkey],
10387549e21daSmrg[m4_define([$1($2:$3)], [$4])])
10388549e21daSmrg
10389549e21daSmrg
10390549e21daSmrg# lt_dict_fetch(DICT, KEY, [SUBKEY])
10391ba6a1819Smrg# ----------------------------------
10392549e21daSmrgm4_define([lt_dict_fetch],
10393549e21daSmrg[m4_ifval([$3],
10394549e21daSmrg	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
10395549e21daSmrg    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
10396ba6a1819Smrg
10397ba6a1819Smrg
10398549e21daSmrg# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
10399549e21daSmrg# -----------------------------------------------------------------
10400549e21daSmrgm4_define([lt_if_dict_fetch],
10401549e21daSmrg[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
10402549e21daSmrg	[$5],
10403549e21daSmrg    [$6])])
10404ba6a1819Smrg
10405ba6a1819Smrg
10406549e21daSmrg# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
10407549e21daSmrg# --------------------------------------------------------------
10408549e21daSmrgm4_define([lt_dict_filter],
10409549e21daSmrg[m4_if([$5], [], [],
10410549e21daSmrg  [lt_join(m4_quote(m4_default([$4], [[, ]])),
10411549e21daSmrg           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
10412549e21daSmrg		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
10413549e21daSmrg])
10414549e21daSmrg
10415549e21daSmrg# ltversion.m4 -- version numbers			-*- Autoconf -*-
10416ba6a1819Smrg#
10417549e21daSmrg#   Copyright (C) 2004 Free Software Foundation, Inc.
10418549e21daSmrg#   Written by Scott James Remnant, 2004
10419ba6a1819Smrg#
10420549e21daSmrg# This file is free software; the Free Software Foundation gives
10421549e21daSmrg# unlimited permission to copy and/or distribute it, with or without
10422549e21daSmrg# modifications, as long as this notice is preserved.
10423ba6a1819Smrg
10424549e21daSmrg# Generated from ltversion.in.
10425ba6a1819Smrg
10426549e21daSmrg# serial 3175 ltversion.m4
10427549e21daSmrg# This file is part of GNU Libtool
10428ba6a1819Smrg
10429549e21daSmrgm4_define([LT_PACKAGE_VERSION], [2.2.10])
10430549e21daSmrgm4_define([LT_PACKAGE_REVISION], [1.3175])
10431ba6a1819Smrg
10432549e21daSmrgAC_DEFUN([LTVERSION_VERSION],
10433549e21daSmrg[macro_version='2.2.10'
10434549e21daSmrgmacro_revision='1.3175'
10435549e21daSmrg_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
10436549e21daSmrg_LT_DECL(, macro_revision, 0)
10437549e21daSmrg])
10438ba6a1819Smrg
10439549e21daSmrg# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
10440549e21daSmrg#
10441549e21daSmrg#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
10442549e21daSmrg#   Written by Scott James Remnant, 2004.
10443549e21daSmrg#
10444549e21daSmrg# This file is free software; the Free Software Foundation gives
10445549e21daSmrg# unlimited permission to copy and/or distribute it, with or without
10446549e21daSmrg# modifications, as long as this notice is preserved.
10447ba6a1819Smrg
10448549e21daSmrg# serial 5 lt~obsolete.m4
10449ba6a1819Smrg
10450549e21daSmrg# These exist entirely to fool aclocal when bootstrapping libtool.
10451549e21daSmrg#
10452549e21daSmrg# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
10453549e21daSmrg# which have later been changed to m4_define as they aren't part of the
10454549e21daSmrg# exported API, or moved to Autoconf or Automake where they belong.
10455549e21daSmrg#
10456549e21daSmrg# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
10457549e21daSmrg# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
10458549e21daSmrg# using a macro with the same name in our local m4/libtool.m4 it'll
10459549e21daSmrg# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
10460549e21daSmrg# and doesn't know about Autoconf macros at all.)
10461549e21daSmrg#
10462549e21daSmrg# So we provide this file, which has a silly filename so it's always
10463549e21daSmrg# included after everything else.  This provides aclocal with the
10464549e21daSmrg# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
10465549e21daSmrg# because those macros already exist, or will be overwritten later.
10466549e21daSmrg# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
10467549e21daSmrg#
10468549e21daSmrg# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
10469549e21daSmrg# Yes, that means every name once taken will need to remain here until
10470549e21daSmrg# we give up compatibility with versions before 1.7, at which point
10471549e21daSmrg# we need to keep only those names which we still refer to.
10472549e21daSmrg
10473549e21daSmrg# This is to help aclocal find these macros, as it can't see m4_define.
10474549e21daSmrgAC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
10475549e21daSmrg
10476549e21daSmrgm4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
10477549e21daSmrgm4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
10478549e21daSmrgm4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
10479549e21daSmrgm4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
10480549e21daSmrgm4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
10481549e21daSmrgm4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
10482549e21daSmrgm4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
10483549e21daSmrgm4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
10484549e21daSmrgm4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
10485549e21daSmrgm4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
10486549e21daSmrgm4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
10487549e21daSmrgm4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
10488549e21daSmrgm4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
10489549e21daSmrgm4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
10490549e21daSmrgm4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
10491549e21daSmrgm4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
10492549e21daSmrgm4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
10493549e21daSmrgm4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
10494549e21daSmrgm4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
10495549e21daSmrgm4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
10496549e21daSmrgm4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
10497549e21daSmrgm4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
10498549e21daSmrgm4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
10499549e21daSmrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
10500549e21daSmrgm4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
10501549e21daSmrgm4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
10502549e21daSmrgm4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
10503549e21daSmrgm4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
10504549e21daSmrgm4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
10505549e21daSmrgm4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
10506549e21daSmrgm4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
10507549e21daSmrgm4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
10508549e21daSmrgm4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
10509549e21daSmrgm4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
10510549e21daSmrgm4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
10511549e21daSmrgm4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
10512549e21daSmrgm4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
10513549e21daSmrgm4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
10514549e21daSmrgm4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
10515549e21daSmrgm4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
10516549e21daSmrgm4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
10517549e21daSmrgm4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
10518549e21daSmrgm4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
10519549e21daSmrgm4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
10520549e21daSmrgm4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
10521549e21daSmrgm4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
10522549e21daSmrgm4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
10523549e21daSmrgm4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
10524549e21daSmrgm4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
10525549e21daSmrgm4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
10526549e21daSmrgm4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
10527549e21daSmrgm4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
10528549e21daSmrgm4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
10529549e21daSmrgm4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
10530549e21daSmrgm4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
10531549e21daSmrgm4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
10532549e21daSmrgm4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
10533549e21daSmrgm4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
10534549e21daSmrgm4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
10535549e21daSmrgm4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
10536549e21daSmrgm4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
10537ba6a1819Smrg
10538